§
    dŠtjb$  ã                   ót  — d Z ddlZddlmZmZmZmZmZ ddlm	Z	 ddl
mZ ddlmZmZmZ dd„Zd„ Zdd	„Zdd„Zd„ Zd„ Zd„ Zddœd„Z ed¬¦  «        d„ ¦   «         Z G d„ de¦  «        Z edeg dgd
ddœfedgdgddifedgdgddifedgddd
igddifeddgdgi feg ddd
igdd
dœfedgddd
dœgddifeg ddd
igdd
ifeg dgddifg	¦  «        d „ ¦   «         Zd!„ Z edeg dgd
dg i d"œfeg d#gd
ddd$gi d"œfeg d%d&digd
d'g d&did"œfed(gd)d&digd
dd&did*œfg¦  «        d+„ ¦   «         Zeg dddigd
ddœfeg dddigd
ddd,œfgZ edeg d-d&digd
dgd&did.œfeg d/gdd$gi d.œfgez   ¦  «        d0„ ¦   «         Zd1„ Z  ed2ed3fed4fed5fg¦  «        d6„ ¦   «         Z!d7„ Z"d8„ Z#d9„ Z$d:d;d<œd=„Z%d>e&d?e&d@dfdA„Z'dB„ Z(dC„ Z) edDe*dEedFdGgfe*dHedFgdGgfe*dIeg gfg¦  «        dJ„ ¦   «         Z+dK„ Z,dL„ Z- edMe e. e/dN¦  «        ¦  «        gi dOfeg dP¢ddQidRfg¦  «        dS„ ¦   «         Z0dT„ Z1edU„ ¦   «         Z2dV„ Z3dW„ Z4dX„ Z5dS )Yz
Test the func_inspect module.
é    N)Ú_clean_win_charsÚfilter_argsÚformat_signatureÚget_func_codeÚget_func_name)ÚMemory)Ú
with_numpy)ÚfixtureÚparametrizeÚraisesc                 ó   — d S ©N© ©ÚxÚys     ú[/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/joblib/test/test_func_inspect.pyÚfr      ó   € Ø€Dó    c                 ó   — d S r   r   ©r   s    r   Úgr      r   r   c                 ó   — d S r   r   )r   r   ÚargsÚkwargss       r   Úhr   !   r   r   é   c                 ó   — d S r   r   r   s    r   Úir    %   r   r   c                 ó   — d S r   r   )r   r   r   s      r   Újr"   )   r   r   c                  ó   — d S r   r   )r   r   s     r   Úkr$   -   r   r   c                ó   — d S r   r   r   s     r   Úm1r&   1   r   r   é   )Úzc                ó   — d S r   r   ©r   r   r(   s      r   Úm2r+   5   r   r   Úmodule)Úscopec                 óx   — |                       d¦  «        }t          |j        ¦  «        }|j        d„ ¦   «         }|S )NÚjoblib_test_func_inspectc                 ó   — | S r   r   r   s    r   Úcached_func_innerz&cached_func.<locals>.cached_func_innerA   s   € àˆr   )Úmktempr   ÚstrpathÚcache)Útmpdir_factoryÚcachedirÚmemr1   s       r   Úcached_funcr8   9   sK   € ð
 ×$Ò$Ð%?Ñ@Ô@€HÝ
�Ô!Ñ
"Ô
"€Cà„Yðð ñ „Yðð Ðr   c                   ó   — e Zd Zd„ ZdS )ÚKlassc                 ó   — |S r   r   )Úselfr   s     r   r   zKlass.fI   s   € Øˆr   N)Ú__name__Ú
__module__Ú__qualname__r   r   r   r   r:   r:   H   s#   € € € € € ðð ð ð ð r   r:   zfunc,args,filtered_args©r   r   r   r   )r   r   é   )rA   c                 ó,   — t          | g|¢R Ž |k    sJ ‚d S r   ©r   ©Úfuncr   Úfiltered_argss      r   Útest_filter_argsrG   Q   s+   € õ �tÐ#˜dÐ#Ð#Ð# }Ò4Ð4Ð4Ð4Ð4Ð4r   c                  ó`   — t          ¦   «         } t          | j        g d¦  «        d| dœk    sJ ‚d S )Nr@   r   )r   r<   ©r:   r   r   )Úobjs    r   Útest_filter_args_methodrK   c   s8   € Ý
‰'Œ'€CÝ�s”u˜b $Ñ'Ô'°¸CÐ+@Ð+@Ò@Ð@Ð@Ð@Ð@Ð@r   )r   r   Ú*ú**)r   rA   r'   é   rN   )r   é   ÚeerO   rL   )r   rA   rO   ©r   r   rM   c                 ó,   — t          | g|¢R Ž |k    sJ ‚d S r   rC   rD   s      r   Útest_filter_varargsrS   h   s+   € õ �tÐ#˜dÐ#Ð#Ð# }Ò4Ð4Ð4Ð4Ð4Ð4r   r*   ©r   rA   ©rL   rM   ©r'   rN   c                 ó,   — t          | g|¢R Ž |k    sJ ‚d S r   rC   rD   s      r   Útest_filter_kwargsrX   {   s+   € õ �tÐ#˜dÐ#Ð#Ð# }Ò4Ð4Ð4Ð4Ð4Ð4r   c                  óò   — t          t          g dddi¦  «        ddddidœk    sJ ‚t          j        t          d¦  «        } t          | g d¦  «        dgi dœk    sJ ‚t          | dgd¦  «        dgi dœk    sJ ‚d S )	NrT   rP   rA   r   rQ   r@   rU   r   )r   r"   Ú	functoolsÚpartialr   ©Úffs    r   Útest_filter_args_2r^   ‡   sœ   € Ý•q˜"˜f t¨Q iÑ0Ô0¸!À!ÈDÐRSÈ9Ð4UÐ4UÒUÐUÐUÐUå	Ô	�1˜aÑ	 Ô	 €Bå�r˜2˜tÑ$Ô$¨q¨c¸Ð(<Ð(<Ò<Ð<Ð<Ð<Ý�r˜C˜5 $Ñ'Ô'°!°¸BÐ+?Ð+?Ò?Ð?Ð?Ð?Ð?Ð?r   zfunc,funcnamer   r   r8   c                 ó<   — t          | ¦  «        d         |k    sJ ‚d S )Nr   ©r   )rE   Úfuncnames     r   Útest_func_namerb   �   s(   € õ ˜ÑÔ˜qÔ! XÒ-Ð-Ð-Ð-Ð-Ð-r   c                 ó<   — t          | ¦  «        d         dk    sJ ‚d S )Nr   r1   r`   )r8   s    r   Útest_func_name_on_inner_funcrd   —   s)   € õ ˜Ñ%Ô% aÔ(Ð,?Ò?Ð?Ð?Ð?Ð?Ð?r   c                  óf   — d„ } d„ } | ¦   «         \  }} |¦   «         \  }}||k    sJ ‚||k    sJ ‚d S )Nc                  ó&   — d„ } t          | ¦  «        S )Nc                  ó   — d S r   r   r   r   r   Ú
inner_funczEtest_func_name_collision_on_inner_func.<locals>.f.<locals>.inner_func¢   ó   € ØˆFr   r`   ©rh   s    r   r   z1test_func_name_collision_on_inner_func.<locals>.f¡   ó!   € ð	ð 	ð 	õ ˜ZÑ(Ô(Ð(r   c                  ó&   — d„ } t          | ¦  «        S )Nc                  ó   — d S r   r   r   r   r   rh   zEtest_func_name_collision_on_inner_func.<locals>.g.<locals>.inner_func¨   ri   r   r`   rj   s    r   r   z1test_func_name_collision_on_inner_func.<locals>.g§   rk   r   r   )r   r   r,   ÚnameÚother_moduleÚ
other_names         r   Ú&test_func_name_collision_on_inner_funcrq   ž   si   € ð)ð )ð )ð)ð )ð )ð �1‘3”3�L€FˆDØ ˜q™sœsÑ€L�*à�:ÒÐÐÐØ�\Ò!Ð!Ð!Ð!Ð!Ð!r   c                  óâ  — t          dj        ¦  «        d         dk    sJ ‚t          dj        ¦  «        dd …         dk    sJ ‚d„ } t          | d¬¦  «        d         d	k    sJ ‚t          | ¦  «        d         t                               d
d¦  «        k    sJ ‚d| _        t          | d¬¦  «        d         d	k    sJ ‚t          | ¦  «        d         t                               d
d¦  «        k    sJ ‚d S )NÚaéÿÿÿÿÚlowerr   )Nrt   c                 ó   — | S r   r   r   s    r   ú<lambda>z*test_func_inspect_errors.<locals>.<lambda>¸   s   € �1€ r   F)Úwin_charactersz<lambda>z.pycz.pyÚ__main__)r   ru   r   Ú__file__Úreplacer>   r\   s    r   Útest_func_inspect_errorsr|   ´   sü   € å˜œÑ#Ô# BÔ'¨7Ò2Ð2Ð2Ð2Ý˜œÑ#Ô# A B BÔ'¨:Ò5Ð5Ð5Ð5Ø	ˆ€BÝ˜¨EÐ2Ñ2Ô2°2Ô6¸*ÒDÐDÐDÐDÝ˜ÑÔ˜QÔ¥8×#3Ò#3°F¸EÑ#BÔ#BÒBÐBÐBÐBà€B„MÝ˜¨EÐ2Ñ2Ô2°2Ô6¸*ÒDÐDÐDÐDÝ˜ÑÔ˜QÔ¥8×#3Ò#3°F¸EÑ#BÔ#BÒBÐBÐBÐBÐBÐBr   Úkw1Úkw2©r}   r~   c                ó   — d S r   r   ©rs   Úbr}   r~   s       r   Úfunc_with_kwonly_argsrƒ   Á   r   r   rs   r‚   Úreturnc                 ó   — d S r   r   ©rs   r‚   s     r   Úfunc_with_signaturer‡   Å   r   r   c                  óŒ  — t          t          g ddddœ¦  «        dddddœk    sJ ‚t          t          ¦  «        5 } t          t          g dd	di¦  «         d d d ¦  «         n# 1 swxY w Y   |                      d
¦  «         t          t          dd	gddddœ¦  «        dddœk    sJ ‚t          t
          dgd¦  «        ddik    sJ ‚d S )NrT   r'   rN   r   r   rA   r�   )r   rA   r'   r~   z?Keyword-only parameter 'kw1' was passed as positional parameterr‚   )rs   r}   rs   )r   rƒ   r   Ú
ValueErrorÚmatchr‡   )Úexcinfos    r   Útest_filter_args_edge_casesrŒ   É   sS  € ÝÕ,¨b°&À!ÈAÐ:NÐ:NÑOÔOØØØØð	Tð Tò ð ð ð õ 
•
Ñ	Ô	ð F˜wÝÕ)¨2¨y¸5À!¸*ÑEÔEÐEðFð Fð Fñ Fô Fð Fð Fð Fð Fð Fð Føøøð Fð Fð Fð Fà‡M‚MÐSÑTÔTÐTåÝ  U˜|¨V¸QÀqÐ5IÐ5Iñô à˜Ð	Ð	òð ð ð õ Õ*¨S¨E°6Ñ:Ô:¸sÀA¸hÒFÐFÐFÐFÐFÐFs   ºA Á A$Á'A$c                  óž   — t          ¦   «         } t          ¦   «         }t          | j        g d¦  «        t          |j        g d¦  «        k    sJ ‚dS )z�Make sure that calling the same method on two different instances
    of the same class does resolv to different signatures.
    r@   NrI   r†   s     r   Útest_bound_methodsrŽ   Þ   sI   € õ 	‰Œ€AÝ‰Œ€AÝ�q”s˜B Ñ%Ô%­°Q´S¸"¸dÑ)CÔ)CÒCÐCÐCÐCÐCÐCr   zexception,regex,func,argsz1ignore_lst must be a list of parameters to ignoreÚbarr   z-Ignore list: argument \'(.*)\' is not definedzWrong number of argumentsc                 ó˜   — t          | ¦  «        5 }t          |g|¢R Ž  ddd¦  «         n# 1 swxY w Y   |                     |¦  «         dS )z\Make sure that filter_args returns decent error messages, for the
    sake of the user.
    N)r   r   rŠ   )Ú	exceptionÚregexrE   r   r‹   s        r   Útest_filter_args_error_msgr“   ç   s’   € õ, 
�	Ñ	Ô	ð !˜gÝ�DÐ ˜4Ð Ð Ð Ð ð!ð !ð !ñ !ô !ð !ð !ð !ð !ð !ð !øøøð !ð !ð !ð !à‡M‚M�%ÑÔÐÐÐs   �*ª.±.c                  óP   — ddi} t          t          g g | ¦  «         | ddik    sJ ‚dS )z®None-regression test against 0.12.0 changes.

    https://github.com/joblib/joblib/pull/75

    Make sure filter args doesn't mutate the kwargs dict that gets passed in.
    r   r   N)r   r   )r   s    r   Ú#test_filter_args_no_kwargs_mutationr•     s<   € ð �1ˆX€FÝ•�2�r˜6Ñ"Ô"Ð"Ø�c˜1�XÒÐÐÐÐÐr   c                  ó>   — d} t          | ¦  «        }dD ]}||vsJ ‚Œ	d S )NzC:\foo\bar\main.py)ú\ú:ú<ú>ú!)r   )ÚstringÚmangled_stringÚchars      r   Útest_clean_win_charsrŸ     sA   € Ø"€FÝ% fÑ-Ô-€NØ*ð *ð *ˆØ˜>Ð)Ð)Ð)Ð)Ð)ð*ð *r   zfunc,args,kwargs,sgn_expectedé   zg([0, 1, 2, 3, 4]))r   rA   rV   Tzk(1, 2, (3, 4), y=True)c                 ó<   — t          | g|¢R i |¤Ž\  }}||k    sJ ‚d S r   )r   )rE   r   r   Úsgn_expectedÚpathÚ
sgn_results         r   Útest_format_signaturer¥     s=   € õ (¨Ð>¨tÐ>Ð>Ð>°vÐ>Ð>Ñ€Dˆ*Ø˜Ò%Ð%Ð%Ð%Ð%Ð%r   c                  óú  ‡— d} d}d| z  Št          t          ‰¦  «        \  }}t          |¦  «        |k     sJ ‚d}ˆfd„t          |¦  «        D ¦   «         }t          t          g|¢R Ž \  }}t          |¦  «        ||z  k     sJ ‚d„ t	          |¦  «        D ¦   «         }t          t          fi |¤Ž\  }}t          |¦  «        ||z  k     sJ ‚t          t          g|¢R i |¤Ž\  }}t          |¦  «        |dz  |z  k     sJ ‚d S )NiÜ  iÆ  rs   r    c                 ó   •— g | ]}‰‘ŒS r   r   )Ú.0Ú_Úargs     €r   ú
<listcomp>z8test_format_signature_long_arguments.<locals>.<listcomp>.  s   ø€ Ð(Ð(Ð(�AˆCÐ(Ð(Ð(r   c                 ó4   — i | ]\  }}t          |¦  «        |“ŒS r   )Ústr)r¨   r    rª   s      r   ú
<dictcomp>z8test_format_signature_long_arguments.<locals>.<dictcomp>2  s$   € Ð8Ð8Ð8™f˜a �c�!‰fŒf�cÐ8Ð8Ð8r   rA   )r   r   ÚlenÚrangeÚ	enumerate)Úshortening_thresholdÚshortening_targetr©   Ú	signatureÚnb_argsr   r   rª   s          @r   Ú$test_format_signature_long_argumentsr¶   "  s9  ø€ ØÐð !Ðà
Ð$Ñ
$€CÝ#¥A sÑ+Ô+�L€A€yÝˆy‰>Œ>Ð-Ò-Ð-Ð-Ð-à€GØ(Ð(Ð(Ð(�˜w™œÐ(Ñ(Ô(€DÝ#¥AÐ-¨Ð-Ð-Ð-�L€A€yÝˆy‰>Œ>Ð-°Ñ7Ò7Ð7Ð7Ð7à8Ð8­	°$©¬Ð8Ñ8Ô8€FÝ#¥AÐ0Ð0¨Ð0Ð0�L€A€yÝˆy‰>Œ>Ð-°Ñ7Ò7Ð7Ð7Ð7å#¥AÐ7¨Ð7Ð7Ð7°Ð7Ð7�L€A€yÝˆy‰>Œ>Ð-°Ñ1°GÑ;Ò;Ð;Ð;Ð;Ð;Ð;r   c                  ó   — dS )z0Test the format signature formatting with numpy.Nr   r   r   r   Útest_format_signature_numpyr¸   :  s   € € € r   c                  ó`   — ddl m}  t          | ¦  «        \  }}}|dk    sJ ‚d|v sJ ‚d|v sJ ‚d S )Nr   ©Úbig5_fr    zdef big5_f():Ú"test_func_inspect_special_encoding©Ú.joblib.test.test_func_inspect_special_encodingr»   r   )r»   Ú	func_codeÚsource_fileÚ
first_lines       r   Útest_special_source_encodingrÂ   ?  s]   € ØEÐEÐEÐEÐEÐEå)6°vÑ)>Ô)>Ñ&€Iˆ{˜JØ˜Š?ˆ?ˆ?ˆ?Ø˜iÐ'Ð'Ð'Ð'Ø/°;Ð>Ð>Ð>Ð>Ð>Ð>r   c                  ó8   — ddl m}  t          | ¦  «        d         S )Nr   rº   r½   rº   s    r   Ú	_get_coderÄ   H  s'   € ØEÐEÐEÐEÐEÐEå˜Ñ Ô  Ô#Ð#r   c                  ó¸   ‡— ddl m} mŠ   | d¬¦  «        ˆfd„t          d¦  «        D ¦   «         ¦  «        }t	          t          |¦  «        ¦  «        dk    sJ ‚d S )Nr   )ÚParallelÚdelayedrA   )Ún_jobsc              3   óH   •K  — | ]}  ‰t           ¦  «        ¦   «         V — Œd S r   )rÄ   )r¨   r©   rÇ   s     €r   ú	<genexpr>z-test_func_code_consistency.<locals>.<genexpr>Q  s6   øè è € ÐFÐF¸Ð1˜w˜w¥yÑ1Ô1Ñ3Ô3ÐFÐFÐFÐFÐFÐFr   r    r   )Újoblib.parallelrÆ   rÇ   r°   r¯   Úset)rÆ   ÚcodesrÇ   s     @r   Útest_func_code_consistencyrÎ   N  su   ø€ Ø1Ð1Ð1Ð1Ð1Ð1Ð1Ð1àˆHˆH˜AÐÑÔÐFÐFÐFÐF½UÀ1¹X¼XÐFÑFÔFÑFÔF€EÝ�s�5‰zŒz‰?Œ?˜aÒÐÐÐÐÐr   )6Ú__doc__rZ   Újoblib.func_inspectr   r   r   r   r   Újoblib.memoryr   Újoblib.test.commonr	   Újoblib.testingr
   r   r   r   r   r   r    r"   r$   r&   r+   r8   Úobjectr:   rG   rK   rS   Útest_filter_kwargs_extra_paramsrX   r^   rb   rd   rq   r|   rƒ   Úintr‡   rŒ   rŽ   r‰   r“   r•   rŸ   Úlistr°   r¥   r¶   r¸   rÂ   rÄ   rÎ   r   r   r   ú<module>rØ      sg  ððð ð Ð Ð Ð ðð ð ð ð ð ð ð ð ð ð ð ð ð ð !Ð  Ð  Ð  Ð  Ð  Ø )Ð )Ð )Ð )Ð )Ð )Ø 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7ð
	ð 	ð 	ð 	ð	ð 	ð 	ð	ð 	ð 	ð 	ð	ð 	ð 	ð 	ð	ð 	ð 	ð	ð 	ð 	ð	ð 	ð 	ð ð 	ð 	ð 	ð 	ð 	ð 	€ˆxÐÑÔðð ñ Ôððð ð ð ð ˆFñ ô ð ð €Øà	
ˆR�ˆJ˜a aÐ(Ð(Ð)Ø	
ˆcˆU�DˆM˜C ˜8Ð$Ø	
ˆcˆU�DˆM˜C ˜8Ð$Ø	
ˆcˆU�D˜3 ˜(Ð# c¨1 XÐ.Ø	
ˆc�3ˆZ˜Ð Ð#Ø	
ˆR�˜˜Q�xÐ ¨°Ð"2Ð"2Ð3Ø	
ˆcˆU�B˜a aÐ(Ð(Ð)¨C°¨8Ð4Ø	
ˆR��c˜1�XÐ  a Ð)Ø	
ˆR�ˆJ˜˜a˜Ð!ð
ñô ð5ð 5ñô ð5ðAð Að Að
 €Øà	
ˆR�ˆJ˜a a¨b¸Ð;Ð;Ð<Ø	
ˆR�Ð a¨a°q¸!°fÀBÐ GÐ GÐHØ	
ˆR�˜4 ˜)Ð$¨A°B¸RÈÈaÀyÐ&QÐ&QÐRØ	
ˆcˆU�J  q 	Ð*°!¸!ÀDÈ!À9Ð,MÐ,MÐNð	ñô ð5ð 5ñô ð5ð
 ˆ"ˆd�S˜!�HÐ	 Q¨QÐ/Ð/Ð0Øˆ"ˆd�S˜!�HÐ	 Q¨Q°QÐ7Ð7Ð8ð#Ð ð €Øà	
ˆR�˜$ ˜Ð#¨A¨q¨6¸$À¸Ð%CÐ%CÐDØ	
ˆR�ˆL  A ¨bÐ1Ð1Ð2ðð &ñ	&ñô ð5ð 5ñô ð5ð@ð @ð @ð €ˆ_  3˜x¨!¨S¨°KÀÐ3OÐPÑQÔQð.ð .ñ RÔQð.ð@ð @ð @ð"ð "ð "ð,
Cð 
Cð 
Cð (-°%ð 	ð 	ð 	ð 	ð 	ð	˜3ð 	 3ð 	¨4ð 	ð 	ð 	ð 	ðGð Gð Gð*Dð Dð Dð €Øð Ø?ØØ�GÐð		
ð Ø<ØØˆW�gÐð		
ð 
Ð0°!°b°TÐ:ðñô ð$ð ñ%ô ð$ð	ð 	ð 	ð*ð *ð *ð €Ø#à	
ˆTˆT�%�%˜‘(”(‰^Œ^Ð˜bÐ"6Ð7Ø	
ˆNˆNˆN˜S $˜KÐ)BÐCðñô ð&ð &ñô ð&ð<ð <ð <ð0 ð;ð ;ñ „ð;ð?ð ?ð ?ð$ð $ð $ð ð  ð  ð  ð  r   