
    Ng*                        d Z ddlZddlZej        d         dk    ZerefZdZn	efZddl	mZ ddl
mZ i Zda ej                    Zd Zd	 Zd
 Zd Zd Z G d d          Z G d de          Z G d d          Zd ZdS )zThis module implements a post import hook mechanism styled after what is
described in PEP-369. Note that it doesn't cope with modules being reloaded.

    N   )	find_spec   )ObjectProxyFc                       fd}|S )Nc                                          d          \  }}|                     d          }t          |           t          j        |         }|D ]}t	          ||          } ||           S )N:.)split
__import__sysmodulesgetattr)modulemodule_namefunctionattrscallbackattrnames         J/var/www/html/ai-engine/env/lib/python3.11/site-packages/wrapt/importer.pyimport_hookz4_create_import_hook_from_string.<locals>.import_hook&   sr     $

3Xs##;;{+ 	/ 	/Dx..HHx     )r   r   s   ` r   _create_import_hook_from_stringr   %   s$              r   c                    t          | t                    rt          |           } t          5  t          s.dat
          j                            dt                                 t
          j	        
                    |d           }|.t                              |g                               |            d d d            n# 1 swxY w Y   | | |           d S d S )NTr   )
isinstancestring_typesr   _post_import_hooks_lock_post_import_hooks_initr   	meta_pathinsertImportHookFinderr   get_post_import_hooks
setdefaultappend)hookr   r   s      r   register_post_import_hookr)   0   s    $%% 5.t44	  A A ' 	8&*#M  $4$6$6777
 t,,>))$33::4@@@!A A A A A A A A A A A A A A A. V s   BB>>CCc                       fd}|S )Nc                     t          j                   t          j        j                 }j        D ]}t          ||          } ||           S N)r   r   r   r   r   r   )r   r   r   
entrypoints      r   r   z8_create_import_hook_from_entrypoint.<locals>.import_hookT   sV    :)***;z56$ 	/ 	/Dx..HHxr   r   )r-   r   s   ` r   #_create_import_hook_from_entrypointr.   S   s$              r   c                     	 dd l }n# t          $ r Y d S w xY w|                    |           D ]&}t          |          }t	          ||j                   'd S )Nr   )group)pkg_resourcesImportErroriter_entry_pointsr.   r)   r   )r0   r1   r-   r   s       r   discover_post_import_hooksr4   \   s        $55E5BB = =
6zBB!(JO<<<<= =s    
c                     t          | dd           }t          5  t                              |d          }d d d            n# 1 swxY w Y   |D ]} ||            d S )N__name__r   )r   r   r%   pop)r   r   hooksr(   s       r   notify_module_loadedr9   k   s    6:t,,D	  1 1"&&tR001 1 1 1 1 1 1 1 1 1 1 1 1 1 1   V s   AAAc                       e Zd Zd ZdS )_ImportHookLoaderc                 H    t           j        |         }t          |           |S r,   )r   r   r9   selffullnamer   s      r   load_modulez_ImportHookLoader.load_module   s!    X&V$$$r   N)r6   
__module____qualname__r@   r   r   r   r;   r;   }   s#            r   r;   c                   6     e Zd Z fdZd Zd Zd Zd Z xZS )_ImportHookChainedLoaderc                 ^   t          t          |                               |           t          |d          r|                     d| j                   t          |d          r|                     d| j                   t          |d          r|                     d| j                   d S d S )Nr@   create_moduleexec_module)superrD   __init__hasattr__self_setattr___self_load_module_self_create_module_self_exec_module)r>   loader	__class__s     r   rI   z!_ImportHookChainedLoader.__init__   s    &--66v>>>6=)) 	G


t/E
F
F
F6?++ 	K


1I
J
J
J6=)) 	G


t/E
F
F
F
F
F	G 	Gr   c                     G d d          }t          |d|          d | fv r	 | j        |_        n# t          $ r Y nw xY wt          |dd           +t          |j        dd           | u r| j        |j        _        d S d S d S )Nc                       e Zd ZdS )<_ImportHookChainedLoader._self_set_loader.<locals>.UNDEFINEDN)r6   rA   rB   r   r   r   	UNDEFINEDrS      s          r   rT   
__loader____spec__rO   )r   __wrapped__rU   AttributeErrorrV   rO   )r>   r   rT   s      r   _self_set_loaderz)_ImportHookChainedLoader._self_set_loader   s     	6<33d|CC$($4!!!    FJ--9FOXt<<DD%)%5FO""" :9DDs   1 
>>c                     | j                             |          }|                     |           t          |           |S r,   )rW   r@   rY   r9   r=   s      r   rL   z*_ImportHookChainedLoader._self_load_module   s?    !--h77f%%%V$$$r   c                 6    | j                             |          S r,   )rW   rF   )r>   specs     r   rM   z,_ImportHookChainedLoader._self_create_module   s    --d333r   c                     |                      |           | j                            |           t          |           d S r,   )rY   rW   rG   r9   )r>   r   s     r   rN   z*_ImportHookChainedLoader._self_exec_module   sA    f%%%$$V,,,V$$$$$r   )	r6   rA   rB   rI   rY   rL   rM   rN   __classcell__)rP   s   @r   rD   rD      sy        G G G G G6 6 60  4 4 4% % % % % % %r   rD   c                   $    e Zd Zd ZddZddZdS )r#   c                     i | _         d S r,   )in_progress)r>   s    r   rI   zImportHookFinder.__init__   s    r   Nc                    t           5  |t          vr	 d d d            d S 	 d d d            n# 1 swxY w Y   || j        v rd S d| j        |<   	 t          s%t	          |           t                      | j        |= S t          t          |          dd           }|r,t          |t                    st          |          | j        |= S | j        |= d S # | j        |= w xY wNTrO   )	r   r%   ra   r   r   r;   r   r   rD   )r>   r?   pathrO   s       r   find_modulezImportHookFinder.find_module   sh   
 % 	 	111	 	 	 	 	 	 	 	1	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 t'''4%)"	+ < 8$$$(**"  ** !8!4!4hEE <*V5M"N"N <3F;;  ** *** *****s   -11#C :AC 
Cc                 `   t           5  |t          vr	 d d d            d S 	 d d d            n# 1 swxY w Y   || j        v rd S d| j        |<   	 t          |          }t	          |dd           }|r)t          |t                    st          |          |_        || j        |= S # | j        |= w xY wrc   )r   r%   ra   r   r   r   rD   rO   )r>   r?   rd   targetr\   rO   s         r   r   zImportHookFinder.find_spec   s3    % 	 	111	 	 	 	 	 	 	 	1	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 t'''4%)"	+ X&&DT8T22F ?j1IJJ ?6v>>  ** *****s   -11AB# #
B-r,   )NN)r6   rA   rB   rI   re   r   r   r   r   r#   r#      sL          4+ 4+ 4+ 4+l(+ (+ (+ (+ (+ (+r   r#   c                       fd}|S )Nc                 (    t          |            | S r,   )r)   )r(   r   s    r   registerzwhen_imported.<locals>.register$  s    !$---r   r   )r   rj   s   ` r   when_importedrk   #  s#         Or   )__doc__r   	threadingversion_infoPY2
basestringr   r   strimportlib.util	__wrapt__r   r%   r    RLockr   r   r)   r.   r4   r9   r;   rD   r#   rk   r   r   r   <module>ru      s   
 


    	qQ );LII4L(((((( " " " " " "   ))/++ 	 	 	  F  = = =  $       4% 4% 4% 4% 4%{ 4% 4% 4%lc+ c+ c+ c+ c+ c+ c+ c+P    r   