
    [cG                         d dl Z d dlZd dlZd dlmZ d dlmZ  G d d          Z e            Ze j	        
                    e           e                    e j        d                    dS )    N)import_module)
ModuleSpecc                   @    e Zd ZdZd Zd Zd
dZd Zd
dZd Z	d	 Z
dS )	TlzLoaderz< Finds and loads ``tlz`` modules when added to sys.meta_pathc                 *    t           j        h| _        d S N)toolzpipealways_from_toolz)selfs    .lib/python3.11/site-packages/tlz/_build_tlz.py__init__zTlzLoader.__init__
   s    J"
    c                 N   i }|                     d          \  }}}	 d                    d||g          }t          |          |d<   n# t          $ r Y nw xY w	 d                    d||g          }t          |          |d<   n# t          $ r Y nw xY w|st          |          |S )N. cytoolzr	   )	partitionjoinr   ImportError)r   fullnamervpackagedot
submodulesmodule_names          r   _load_toolzzTlzLoader._load_toolz   s    #+#5#5c#:#: j	''9c:">??K)+66ByMM 	 	 	D		''7C"<==K'44BwKK 	 	 	D	 	(h'''	s#   *A 
AA*B 
BBNc                 H    |                     d          \  }}}|dk    r| S d S Nr   tlz)r   )r   r   pathr   r   r   s         r   find_modulezTlzLoader.find_module    s8    #+#5#5c#:#: je 	K	 	r   c                     |t           j        v rt           j        |         S t          ||           }|                     |          }|t           j        |<   |                     |           |S r   )sysmodulesr   create_moduleexec_module)r   r   specmodules       r   load_modulezTlzLoader.load_module%   se    s{" 	);x(((D))##D)) &H   r   c                 d    |                     d          \  }}}|dk    rt          ||           S d S r   )r   r   )r   r   r!   targetr   r   r   s          r   	find_speczTlzLoader.find_spec.   sC    #+#5#5c#:#: je 	.h---	. 	.r   c                 4    t          j        |j                  S r   )types
ModuleTypename)r   r(   s     r   r&   zTlzLoader.create_module3   s    	***r   c                    |                      |j                  }|                    d          p|d         }|                    d          p|d         }|j                            t          j        |j        |j                             |j        }|6|                    d          \  }}}d	                    d||g          |_        |j
        s|j
        |_
        	 |j        |_        n# t          $ r Y nw xY w|j                                        D ]\  }}	|j                            |          }
	 t          |
           n# t          $ r d }
Y nw xY w|
| j        v r|
|j        |<   Vt#          |	t$          j                  r_|	j        |j        k    rO|	j                            d          \  }}}d	                    d||g          }t)          |          }||j        |<   d S )Nr   r	   r   r   r    )r   __name__get__dict__updater	   merge__package__r   r   __doc____file__AttributeErroritemshash	TypeErrorr   
isinstancer/   r0   r   )r   r)   
toolz_modsfast_modslow_modr   r   r   kvtvr   	submodules                r   r'   zTlzLoader.exec_module6   s   %%fo66
>>),,C
70C>>'**Cj.Cu{8+<foNNOOO& 	C'.'8'8'='=$GS*!#%j)A!B!BF~ 	.%-FN	&/FOO 	 	 	D	 %++-- 	/ 	/DAq"&&q))BR   T++ 	/%'""1e.///MX%66/ ,-:+?+?+D+D(j gguc:&>??)+66	%."	/ 	/s$   C, ,
C98C95EEEr   )r3   
__module____qualname__r9   r   r   r"   r*   r-   r&   r'    r   r   r   r      s        FF
 
 

  "   
  . . . .
+ + +!/ !/ !/ !/ !/r   r   r    )r$   r/   r	   	importlibr   importlib.machineryr   r   
tlz_loader	meta_pathappendr'   r%   rI   r   r   <module>rO      s    



   # # # # # # * * * * * *O/ O/ O/ O/ O/ O/ O/ O/d Y[[
   Z       
  s{5) * * * * *r   