
    .Ph                        d dl Z d dlZd dlZd dlZd dlZd dlZd dlmZ d dlm	Z	m
Z
 i Zd Zd Z G d d          Z e e e            j                  e            e eej                  e           d Z e eej                  e            e eej                  e           d	 Zd
 Z eej        e           ej        dk    rddlmZ nddlmZ 	 d dlm Z  dZ!n# e"$ r dZ!Y nw xY wej#        $                    de!          Z%da&da'ddZ(d Z)d Z* e(             ddZ+ddZ,g dZ-ej        dk    rd dl.m/Z/ e-dgz  Z-dS dS )    N)util)loadsHIGHEST_PROTOCOLc                     |t           | <   d S N)_dispatch_table)type_reduce_functions     g/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/joblib/externals/loky/backend/reduction.pyregisterr      s    ,OE    c                 x    | j         t          | j        | j        j        ffS t          | j         | j        j        ffS r   )__self__getattr	__class____func____name__ms    r   _reduce_methodr   $   s8    zaj&9:::QZ%8999r   c                   *    e Zd Zd Zed             ZdS )_Cc                     d S r    )selfs    r   fz_C.f,   s    r   c                     d S r   r   )clss    r   hz_C.h/   s    r   N)r   
__module____qualname__r   classmethodr   r   r   r   r   r   +   s>             [  r   r   c                 ,    t           | j        | j        ffS r   )r   __objclass__r   r   s    r   _reduce_method_descriptorr%   8   s    Q^QZ000r   c                 <    t           | j        | j        | j        pi ffS r   )_rebuild_partialfuncargskeywords)ps    r   _reduce_partialr,   A   s    afafaj.>B???r   c                 ,    t          j        | g|R i |S r   )	functoolspartial)r(   r)   r*   s      r   r'   r'   E   s#    T5D555H555r   win32   )_mk_inheritable)_win_reduction)cloudpickler4   pickleLOKY_PICKLERc                    | t           } d | dv rd} | t          k    rd S | dk    rddlm ns	 ddlm}  ||           }|j        nY# t          t          f$ rE}d|  d}|j	        d         |z   f|j	        dd          z   |_	        |j	        d         |_
        |d }~ww xY wt          j        d	| r| nd d
            G fdd          }|a| ad S )N) Nr4   r   )CloudPickler)import_modulez4
This error occurred while setting loky_pickler to 'zQ', as required by the env variable LOKY_PICKLER or the function set_loky_pickler.r1   zUsing 'z' for serialization.c                   0    e Zd Z Zd Zdef fd	Zd ZdS )-set_loky_pickler.<locals>.CustomizablePicklerc                     | j                                         D ]E}t          |dd           }t          |t          j                  r|                    | |            nF|| _        d S )Ndispatch_table)_loky_pickler_clsmror   
isinstancetypesMemberDescriptorType__set__r>   )r   r>   ancestor_classdt_attributes       r   _set_dispatch_tablezAset_loky_pickler.<locals>.CustomizablePickler._set_dispatch_table   sy    "&"8"<"<">">  &~7GNNlE,FGG  !((~>>>E  #1Dr   Nc                                         | ||           |i }t          | d          rt          | j                  }nt          j                                        }|                    t                     |                     |           |	                                D ]\  }}| 
                    ||           d S )N)protocolr>   )__init__hasattrdictr>   copyregcopyupdater   rG   itemsr   )r   writerreducersrI   loky_dttypereduce_funcloky_pickler_clss          r   rJ   z6set_loky_pickler.<locals>.CustomizablePickler.__init__   s    %%dFX%FFFt-.. 8 t233 "05577 NN?+++ $$W--- &.^^%5%5 1 1!kdK00001 1r   c                     || j         |<   dS )z@Attach a reducer function to a given type in the dispatch table.N)r>   )r   rT   rU   s      r   r   z6set_loky_pickler.<locals>.CustomizablePickler.register   s    (3D%%%r   )r   r    r!   r?   rG   r   rJ   r   )rV   s   r   CustomizablePicklerr<      s_        ,	1 	1 	1* -1;K 	1 	1 	1 	1 	1 	14	4 	4 	4 	4 	4r   rX   )ENV_LOKY_PICKLER_loky_pickler_namejoblib.externals.cloudpickler9   	importlibr:   PicklerImportErrorAttributeErrorr)   msgr   debug_LokyPickler)loky_picklerr:   module_picklee
extra_inforX   rV   s         @r   set_loky_picklerrg   ^   s    ' z!!$)))}$$QQQQQQQ	//////)M,77M,4^, 	 	 	A!A A A 
 fQi*,.;AFF1IAEG	 	J	,A,,M 	 	 	  
44 44 44 44 44 44 44. 44 44 44l 'L%s   A BA BBc                      t           S r   )rZ   r   r   r   get_loky_pickler_nameri      s    r   c                      t           S r   )rb   r   r   r   get_loky_picklerrk      s    r   c                 P    t          |||                              |            dS )z1Replacement for pickle.dump() using _LokyPickler.rR   rI   N)rb   dump)objfilerR   rI   s       r   rn   rn      s-     8<<<AA#FFFFFr   c                 v    t          j                    }t          | |||           |                                S )Nrm   )ioBytesIOrn   	getbuffer)ro   rR   rI   bufs       r   dumpsrv      s4     *,,CcHx8888==??r   )rn   rv   r   r   rg   )	duplicaterw   r   )NN)0rM   rr   r.   rB   sysosmultiprocessingr   r5   r   r   r   r   r   r   rT   r   r   r%   listappendint__add__r,   r'   r/   platform_posix_reductionr2   r8   r3   joblib.externalsr4   DEFAULT_ENVr^   environgetrY   rb   rZ   rg   ri   rk   rn   rv   __all__multiprocessing.reductionrw   r   r   r   <module>r      s    				      



 				             * * * * * * * *
 - - -: : :        	bbddf~ & & & bd^ $ $ $1 1 1 	dk		5 6 6 6 ck		5 6 6 6@ @ @6 6 6 		O , , ,<71111111      ,,,,,,KK   KKK :>>.+>>  ]& ]& ]& ]&@  
       G G G G    E
D
D<7333333}GGG s   C( (C21C2