§
    rŠtjbv  ã            	       ó¾  — d dl Z d dlZd dlZd dlZd dlmZmZ d dlm	Z	 d dl
mZ d dlmZ d dlmZmZmZmZmZ d dlmZ d dlmZmZmZmZ d d	lmZ d d
lmZ d„ Zej          !                    d ej"        g d¢ej#        ¬¦  «        gdf ej"        ddej$        gej%        ¬¦  «        gdf ej"        g d¢e&¬¦  «        gdfdg¦  «        ej          !                    dddg¦  «        ej          !                    dddg¦  «        d„ ¦   «         ¦   «         ¦   «         Z'ej          !                    d ej"        g d¢ej#        ¬¦  «        gdf ej"        g d¢e&¬¦  «        gddgfg¦  «        ej          !                    d ej"        g d ¢¦  «         ej"        g d!¢¦  «        g¦  «        ej          !                    dddg¦  «        d"„ ¦   «         ¦   «         ¦   «         Z(ej          !                    d# ej"        d gd$z  d%gd$z  z   d&gz   gej#        ¬¦  «        j)        g d¢gf ej"        d'gd$z  d(gd$z  z   d)gz   ge&¬¦  «        j)        g d*¢gfg¦  «        ej          !                    dd+dg¦  «        d,„ ¦   «         ¦   «         Z*ej          !                    d-g d.¢d/f ej"        g d0¢g d ¢g¦  «        j)        d1fg¦  «        d2„ ¦   «         Z+d3„ Z,ej          !                    d4d%d5gd$z  d6d7gfg d ¢d8z  d%d5gz   g d9¢fg d:¢d8z  d;d<gz   g d=¢fg¦  «        d>„ ¦   «         Z-ej          !                    d?d@dAg¦  «        ej          !                    dddg¦  «        ej          !                    dg dB¢¦  «        dC„ ¦   «         ¦   «         ¦   «         Z.ej          !                    dD ej"        dEgdFz  ¦  «        dEf ej"        d gdFz  ¦  «        d f ej"        dGgdFz  e&¬¦  «        d fgg dH¢¬I¦  «        ej          !                    dg dJ¢¦  «        dK„ ¦   «         ¦   «         Z/dL„ Z0dM„ Z1ej          !                    dg dN¢¦  «        dO„ ¦   «         Z2ej          !                    ddPdg¦  «        dQ„ ¦   «         Z3dR„ Z4dS„ Z5dT„ Z6dS )Ué    N)Úassert_allcloseÚassert_array_equal)Úmake_regression)ÚRandomForestRegressor)ÚRidge)ÚKFoldÚShuffleSplitÚStratifiedKFoldÚcross_val_scoreÚtrain_test_split)Úmake_pipeline)ÚKBinsDiscretizerÚLabelBinarizerÚLabelEncoderÚTargetEncoder)Úparse_version)Útype_of_targetc                 ó<  — t          j        |t           j        ¬¦  «        }t          j        |¦  «        }|dk    r‘t          j        |¦  «        }t          |¦  «        D ]k}|| |k             }|j        d         }	|	dk    r|||<   Œ't          j        |¦  «        }
|
|z  }|	|	|z   z  }|t          j        |¦  «        z  d|z
  |z  z   ||<   Œl|S t          |¦  «        D ]@}|| |k             }t          j        |¦  «        ||z  z   }|j        d         |z   }||z  ||<   ŒA|S )z0Simple Python implementation of target encoding.©ÚdtypeÚautor   é   )ÚnpÚzerosÚfloat64ÚmeanÚvarÚrangeÚshapeÚsum)Ú	X_ordinalÚ	y_numericÚn_categoriesÚsmoothÚcur_encodingsÚy_meanÚ
y_varianceÚcÚy_subsetÚn_iÚy_subset_varianceÚmÚlambda_Úcurrent_sumÚcurrent_cnts                  úm/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/sklearn/preprocessing/tests/test_target_encoder.pyÚ_encode_targetr1      sG  € å”H˜\µ´Ð<Ñ<Ô<€MÝŒW�YÑÔ€Fà�ÒÐÝ”V˜IÑ&Ô&ˆ
Ý�|Ñ$Ô$ð 	Tð 	TˆAØ  ¨a¢Ô0ˆHØ”. Ô#ˆCà�aŠxˆxØ#)�˜aÑ Øå "¤ xÑ 0Ô 0ÐØ! JÑ.ˆAØ˜S 1™W‘oˆGà&­¬°Ñ):Ô):Ñ:¸aÀ'¹kÈVÑ=SÑSˆM˜!ÑÐØÐå�|Ñ$Ô$ð 	9ð 	9ˆAØ  ¨a¢Ô0ˆHÝœ& Ñ*Ô*¨V°f©_Ñ<ˆKØ"œ.¨Ô+¨fÑ4ˆKØ*¨[Ñ8ˆM˜!ÑÐØÐó    zcategories, unknown_value©r   r   é   r   é   ç      ð?ç      @ç      @)ÚcatÚdogÚsnakeÚbear)r   é   r$   ç      @r   Útarget_typeÚbinaryÚ
continuousc                 óº  — d}t          j        dgdz  dgdz  z   dgdz  z   gt           j        ¬¦  «        j        }t          j        g d	¢gt           j        ¬¦  «        j        }|j        d         }| d
k    r|}	|}
n| d         |         }	| d         |         }
t          j        |
|ggf¦  «        }
t           j                             |¦  «        }d}|dk    r>|                     dd|¬¦  «        }t          j        ddgt          ¬¦  «        }||         }n"|dk    sJ ‚| 
                    dd|¬¦  «        }|}|                     |¦  «        }||         }|	|         }	||         }||         }|dk    rt          ||d¬¦  «        }nt          ||d¬¦  «        }t          j        |t           j        ¬¦  «        }|                     ||¦  «        D ]>\  }}||df         ||         }}t#          ||||¦  «        }|||df                  ||df<   Œ?t%          || |¬¦  «        }|                     |	|¦  «        }|j        |k    sJ ‚t+          ||¦  «         t-          |j        ¦  «        dk    sJ ‚|dk    rt1          |j        |¦  «         n	|j        �J ‚t          j        |¦  «        }t#          |dd…df         |||¦  «        }t+          |j        d         |¦  «         |j        t9          j        |¦  «        k    sJ ‚t          j        |t          j        |g¦  «        f¦  «                             dd¦  «        }|                     |
¦  «        }t+          ||¦  «         dS )zíCheck encoding for binary and continuous targets.

    Compare the values returned by `TargetEncoder.fit_transform` against the
    expected encodings for cv splits from a naive reference Python
    implementation in _encode_target.
    r=   r   é   r   é   r4   é(   r   r3   r   r@   ©ÚlowÚhighÚsizer9   r:   rA   éöÿÿÿT©Ún_splitsÚrandom_stateÚshuffle)r$   Ú
categoriesÚcvNéÿÿÿÿ) r   ÚarrayÚint64ÚTr   ÚconcatenateÚrandomÚRandomStateÚrandintÚobjectÚuniformÚpermutationr
   r   Ú
empty_liker   Úsplitr1   r   Úfit_transformÚtarget_type_r   ÚlenÚ
encodings_r   Úclasses_r   Útarget_mean_ÚpytestÚapproxÚreshapeÚ	transform)rO   Úunknown_valueÚglobal_random_seedr$   r?   r#   ÚX_train_int_arrayÚX_test_int_arrayÚ	n_samplesÚX_trainÚX_testÚdata_rngrL   r"   Útarget_namesÚy_trainÚshuffled_idxrP   Úexpected_X_fit_transformÚ	train_idxÚtest_idxÚX_Úy_r%   Útarget_encoderÚX_fit_transformr&   Úexpected_encodingsÚexpected_X_test_transformÚX_test_transforms                                 r0   Útest_encodingr}   ;   s×  € ð& €LÝœ 1 #¨¡(¨a¨S°2©XÑ"5¸¸¸b¹Ñ"@Ð!AÍÌÐRÑRÔRÔTÐÝ”x    µ2´8Ð<Ñ<Ô<Ô>ÐØ!Ô'¨Ô*€Ià�VÒÐØ#ˆØ!ˆˆà˜Q”-Ð 1Ô2ˆØ˜A”Ð/Ô0ˆåŒ^˜V } oÐ%6Ð7Ñ8Ô8€FåŒy×$Ò$Ð%7Ñ8Ô8€HØ€HØ�hÒÐØ×$Ò$¨°¸Ð$ÑCÔCˆ	Ý”x ¨ µfÐ=Ñ=Ô=ˆØ˜yÔ)ˆˆð ˜lÒ*Ð*Ð*Ð*Ø×$Ò$¨°2¸IÐ$ÑFÔFˆ	Øˆà×'Ò'¨	Ñ2Ô2€LØ)¨,Ô7ÐØ�lÔ#€GØ�lÔ#€GØ˜,Ô'€Ið �hÒÐÝØÐ,>Èð
ñ 
ô 
ˆˆõ ˜HÐ3EÈtÐTÑTÔTˆõ  "œ}Ð->ÅbÄjÐQÑQÔQÐà!ŸxšxÐ(9¸7ÑCÔCð 
ð 
Ñˆ	�8Ø" 9¨a <Ô0°)¸IÔ2FˆBˆÝ& r¨2¨|¸VÑDÔDˆØ0=Ø˜h¨˜kÔ*ô1
Ð  ¨1 Ñ-Ð-õ #ØØØðñ ô €Nð %×2Ò2°7¸GÑDÔD€OàÔ&¨+Ò5Ð5Ð5Ð5Ý�OÐ%=Ñ>Ô>Ð>Ýˆ~Ô(Ñ)Ô)¨QÒ.Ð.Ð.Ð.Ø�hÒÐÝ˜>Ô2°LÑAÔAÐAÐAàÔ&Ð.Ð.Ð.õ ŒW�YÑÔ€FÝ'Ø˜!˜!˜!˜Q˜$Ô ¨L¸&ñô Ðõ �NÔ-¨aÔ0Ð2DÑEÔEÐEØÔ&­&¬-¸Ñ*?Ô*?Ò?Ð?Ð?Ð?õ !#¤Ø	�RœX v hÑ/Ô/Ð0ñ!ô !ç‚gˆb�!�n„nð ð &×/Ò/°Ñ7Ô7ÐÝÐ$Ð&?Ñ@Ô@Ð@Ð@Ð@r2   zcategories, unknown_valuesÚrabbitÚtarget_labels)r   r4   r=   )ÚaÚbr(   c           
      óˆ	  — t           j                             | ¦  «        }d}d}t          j        |                     dd|¬¦  «        ¦  «        }t          j        |                     dd|¬¦  «        ¦  «        }	|d         |         }
|d         |	         }t          j        |
|f¦  «        }t          j        ||	f¦  «        }ddgg d¢g}d}t          j        |                     d||¬¦  «        ¦  «        }||         }t          ¦   «                              |¦  «        }d}t          || d¬	¦  «        }t          j	        |j
        d         |j
        d         |z  ft           j        ¬
¦  «        }t          |¦  «        D ]�\  }}t          |¦  «        D ]x}|                     ||¦  «        D ]_\  }}|dd…|f         }|||f         ||         }}t          ||t!          |¦  «        |¦  «        }|||z  z   }||||f                  |||f<   Œ`ŒyŒŽt#          ||¬¦  «        } |                      ||¦  «        }!| j        dk    sJ ‚t'          |!|¦  «         g }"t          |¦  «        D ]a\  }}t          |¦  «        D ]L}|dd…|f         }t          |dd…|f         |t!          |¦  «        |¦  «        }|"                     |¦  «         ŒMŒbt!          | j        ¦  «        ||z  k    sJ ‚t          ||z  ¦  «        D ]#}#t'          | j        |#         |"|#         ¦  «         Œ$t-          | j        |¦  «         t          j        ddgddgddgg¦  «        }$|dk    r|$}%nyt          j        |$dd…dd…f         t2          ¬
¦  «        }%t          |$j
        d         ¦  «        D ]!}&|d         |$dd…|&f                  |%dd…|&f<   Œ"t          j        |%|f¦  «        }%t          j        |d¬¦  «        }'t          j	        |$j
        d         |$j
        d         |z  ft           j        ¬
¦  «        }(|$j
        d         })g d¢}t          |)dz
  ¦  «        D ]2}*t          |"¦  «        D ] \  }#}+|+|$|*||#         f                  |(|*|#f<   Œ!Œ3g d¢},t          ||z  ¦  «        D ]}#|'|,|#                  |(|)dz
  |#f<   Œ|                      |%¦  «        }-t'          |-|(¦  «         dS )z&Check encoding for multiclass targets.éP   r4   r   rF   r=   r   r3   TrK   r   N©r$   rP   Ú
multiclassr5   é   r   rQ   ©Úaxis)r   r   r   r   r   r   )r   r   r4   r   r   r4   )r   rV   rW   rR   rX   Úcolumn_stackr   r^   r
   Úemptyr   r   Ú	enumerater   r]   r1   r`   r   r_   r   Úappendra   r   rb   r\   rY   Úvstackr   rg   ).ri   rO   Úunknown_valuesr   r$   Úrngrl   Ú
n_featuresÚ
feat_1_intÚ
feat_2_intÚfeat_1Úfeat_2rm   ÚX_train_intÚcategories_Ú	n_classesÚy_train_intrq   Úy_train_encrL   rP   rs   Úf_idxÚcatsÚc_idxrt   ru   Úy_classrv   rw   Úcurrent_encodingÚexp_idxrx   ry   rz   ÚiÚ
X_test_intrn   Ú
column_idxr&   r{   Ún_rowsÚrow_idxÚencÚmean_idxr|   s.                                                 r0   Útest_encoding_multiclassr§   ¥   s�  € õ Œ)×
Ò
Ð 2Ñ
3Ô
3€Cà€IØ€JÝ”˜#Ÿ+š+¨!°!¸)˜+ÑDÔDÑEÔE€JÝ”˜#Ÿ+š+¨!°!¸)˜+ÑDÔDÑEÔE€JØ˜Œ]˜:Ô&€FØ˜Œ]˜:Ô&€FÝŒo˜v vÐ.Ñ/Ô/€GÝ”/ :¨zÐ":Ñ;Ô;€KØ�q�6˜9˜9˜9Ð%€Kà€IÝ”(˜3Ÿ;š;¨1°9À9˜;ÑMÔMÑNÔN€KØ˜KÔ(€GÝ Ñ"Ô"×0Ò0°Ñ9Ô9€Kà€HÝ	ØÐ(:ÀDð
ñ 
ô 
€Bõ
  "œxØ	Ô	˜1Ô	˜{Ô0°Ô3°iÑ?Ð@ÝŒjð ñ  ô  Ðõ ! Ñ-Ô-ð ð ‰ˆˆtÝ˜9Ñ%Ô%ð 	ð 	ˆEØ')§x¢x°¸Ñ'AÔ'Að 
ð 
Ñ#�	˜8Ø% a a a¨ hÔ/�Ø$ Y°Ð%5Ô6¸À	Ô8J�B�Ý#1°"°b½#¸d¹)¼)ÀVÑ#LÔ#LÐ ð   5¨9Ñ#4Ñ5�Ø>NØ ¨% Ô0ô?Ð(¨°7Ð):Ñ;Ð;ð
ð	õ #ØØðñ ô €Nð %×2Ò2°7¸GÑDÔD€OàÔ&¨,Ò6Ð6Ð6Ð6Ý�OÐ%=Ñ>Ô>Ð>ð ÐÝ  Ñ-Ô-ð 8ð 8‰ˆˆtÝ˜9Ñ%Ô%ð 	8ð 	8ˆEØ! ! ! ! U (Ô+ˆGÝ-Ø˜A˜A˜A˜u˜HÔ% wµ°D±	´	¸6ñ ô  Ðð ×%Ò%Ð&6Ñ7Ô7Ð7Ð7ð	8õ ˆ~Ô(Ñ)Ô)¨Z¸)Ñ-CÒCÐCÐCÐCÝ�: 	Ñ)Ñ*Ô*ð Mð MˆÝ˜Ô1°!Ô4Ð6HÈÔ6KÑLÔLÐLÐLÝ�~Ô.°Ñ>Ô>Ð>õ ”˜A˜q˜6 A q 6¨A¨q¨6Ð2Ñ3Ô3€JØ˜ÒÐØˆˆå”˜z¨#¨2¨#¨q¨q¨q¨&Ô1½Ð@Ñ@Ô@ˆÝ 
Ô 0°Ô 3Ñ4Ô4ð 	Oð 	OˆJØ$.¨q¤M°*¸S¸b¸SÀ*¸_Ô2MÔ$NˆF�1�1�1�j�=Ñ!Ð!å”˜F NÐ3Ñ4Ô4ˆåŒW�[ qÐ)Ñ)Ô)€FÝ "¤Ø	Ô	˜!Ô	˜jÔ.¨qÔ1°IÑ=Ð>ÝŒjð!ñ !ô !Ðð Ô˜aÔ €FØÐÐ€Eå˜ !™Ñ$Ô$ð Wð WˆÝÐ 2Ñ3Ô3ð 	Wð 	W‰FˆAˆsØ47¸
À7ÈEÐRSÌHÐCTÔ8UÔ4VÐ% g¨q jÑ1Ð1ð	Wð "Ð!Ð!€HÝ�9˜zÑ)Ñ*Ô*ð Gð GˆØ39¸(À1¼+Ô3FÐ! &¨1¡*¨a -Ñ0Ð0à%×/Ò/°Ñ7Ô7ÐÝÐ$Ð&?Ñ@Ô@Ð@Ð@Ð@r2   zX, categoriesé
   r   r=   r9   r:   r;   )r:   r9   Úcowç      @c                 ó  — t           j                             d¦  «        }|                     dd| j        d         ¬¦  «        }t          ||d¬¦  «                             | |¦  «        }|                     ¦   «         }|                     | dd…         ¦  «        }|d         t          j
        |¦  «        k    sJ ‚t          |j        ¦  «        d	k    sJ ‚|j        d         d         t          j
        |¦  «        k    sJ ‚dS )
zHCustom categories with unknown categories that are not in training data.r   rJ   rC   rF   )rO   r$   rM   rQ   N)r   r   r   )r   rV   rW   rZ   r   r   Úfitr   rg   rd   re   r`   ra   )ÚXrO   r$   r�   Úyr¥   r&   ÚX_transs           r0   Útest_custom_categoriesr°     së   € õ$ Œ)×
Ò
 Ñ
"Ô
"€CØ�Š˜ "¨1¬7°1¬:ˆÑ6Ô6€AÝ
 :°fÈ1Ð
MÑ
MÔ
M×
QÒ
QÐRSÐUVÑ
WÔ
W€Cð �VŠV‰XŒX€FØ�mŠm˜A˜b˜c˜cœFÑ#Ô#€GØ�4Œ=�FœM¨&Ñ1Ô1Ò1Ð1Ð1Ð1åˆsŒ~ÑÔ !Ò#Ð#Ð#Ð#àŒ>˜!Ô˜RÔ ¥F¤M°&Ñ$9Ô$9Ò9Ð9Ð9Ð9Ð9Ð9r2   zy, msg)r   r4   r   r   z'Found input variables with inconsistent)r   r4   r   z7Target type was inferred to be 'multiclass-multioutput'c                 óî   — t          j        g d¢g¦  «        j        }t          ¦   «         }t	          j        t          |¬¦  «        5  |                     || ¦  «         ddd¦  «         dS # 1 swxY w Y   dS )zCheck invalidate input.)r   r   r   ©ÚmatchN)r   rR   rT   r   rd   ÚraisesÚ
ValueErrorr^   )r®   Úmsgr­   r¥   s       r0   Útest_errorsr·   7  s´   € õ 	Œ�)�)�)�ÑÔÔ€Aå
‰/Œ/€CÝ	Œ•z¨Ð	-Ñ	-Ô	-ð  ð  Ø×Ò˜!˜QÑÔÐð ð  ð  ñ  ô  ð  ð  ð  ð  ð  ð  ð  øøøð  ð  ð  ð  ð  ð  s   ÁA*Á*A.Á1A.c                  óÂ  — t          j        g d¢g¦  «        j        } t          j        g d¢¦  «        }t          d¬¦  «        }t	          j        t          t          j        d¦  «        ¬¦  «        5  | 	                    | |¦  «         ddd¦  «         n# 1 swxY w Y   |j
        dk    sJ ‚t          dd	¬
¦  «        }| 	                    | |¦  «         |j
        d	k    sJ ‚dS )z@Check inferred and specified `target_type` on regression target.)r   r   r   r   r   r   )r6   ç       @r7   r¹   r7   rª   r4   ©rP   zQThe least populated class in y has only 1 members, which is less than n_splits=2.r²   Nr…   rA   )rP   r?   )r   rR   rT   r   rd   ÚwarnsÚUserWarningÚreÚescaper^   r_   )r­   r®   r¥   s      r0   Útest_use_regression_targetr¿   J  s7  € å
ŒÐ$Ð$Ð$Ð%Ñ&Ô&Ô(€AÝ
ŒÐ/Ð/Ð/Ñ0Ô0€Aå
˜1Ð
Ñ
Ô
€CÝ	ŒÝÝŒiðñ
ô 
ð
ñ 
ô 
ð  ð  ð 	×Ò˜!˜QÑÔÐð ð  ð  ñ  ô  ð  ð  ð  ð  ð  ð  øøøð  ð  ð  ð  ð Ô˜|Ò+Ð+Ð+Ð+å
˜1¨,Ð
7Ñ
7Ô
7€CØ×Ò�a˜ÑÔÐØÔ˜|Ò+Ð+Ð+Ð+Ð+Ð+s   Á0BÂBÂBzy, feature_namesr4   ÚAÚBé   )ÚA_1ÚA_2ÚA_3ÚB_1ÚB_2ÚB_3)Úy1Úy2Úy3rÉ   rÊ   )ÚA_y1ÚA_y2ÚA_y3ÚB_y1ÚB_y2ÚB_y3c                 ó`  — t          j        d¦  «        }|                     ddgdz  ddgdz  dœ¦  «        }t          ddd	¬
¦  «        }t	          |d¬¦  «        }|                     d¬¦  «         t	          |d¬¦  «        }|                     d¬¦  «         |                     || ¦  «        }|                     || ¦  «        }t          |                     ¦   «         |¦  «         t          | 
                    ¦   «         |¦  «         t          | 
                    ¦   «         |j        ¦  «         dS )z*Check TargetEncoder works with set_output.Úpandasr€   r�   r¨   r   r4   )rÀ   rÁ   r   TrK   r7   ©rP   r$   Údefault)rg   N)rd   ÚimportorskipÚ	DataFramer
   r   Ú
set_outputr^   r   Úto_numpyr   Úget_feature_names_outÚcolumns)	r®   Úfeature_namesÚpdÚX_dfrP   Úenc_defaultÚ
enc_pandasÚ	X_defaultÚX_pandass	            r0   Ú!test_feature_names_out_set_outputrã   _  s*  € õ 
Ô	˜XÑ	&Ô	&€Bà�<Š<˜s C˜j¨2™o°Q¸°F¸R±KÐ@Ð@ÑAÔA€Då	 !°!¸TÐ	BÑ	BÔ	B€BÝ 2¨cÐ2Ñ2Ô2€KØ×Ò YÐÑ/Ô/Ð/Ý "¨SÐ1Ñ1Ô1€JØ×Ò HÐÑ-Ô-Ð-à×)Ò)¨$°Ñ2Ô2€IØ×'Ò'¨¨aÑ0Ô0€Hå�H×%Ò%Ñ'Ô'¨Ñ3Ô3Ð3Ý�z×7Ò7Ñ9Ô9¸=ÑIÔIÐIÝ�z×7Ò7Ñ9Ô9¸8Ô;KÑLÔLÐLÐLÐLr2   Ú	to_pandasTF)úbinary-intsú
binary-strrA   c                 óœ  — t          j        ddgddgddgddgddgddgddgddggt           j        ¬¦  «        }|dk    rJt          j        g d¢¦  «        }t          ¦   «                              |¦  «        }t          ddd¬¦  «        }n†|d	k    rJt          j        g d
¢¦  «        }t          ¦   «                              |¦  «        }t          ddd¬¦  «        }n6t          j        g d¢t           j        ¬¦  «        }|}t          ddd¬¦  «        }t          j        |¦  «        }g d¢ddgg}t          j        ddgddgddggt           j        ¬¦  «        }	| r†t          j
        d¦  «        }
|
                     |dd…df         t          j        ddgt          ¬¦  «        |dd…df                  dœ¦  «        }|
                     |	dd…df         g d¢dœ¦  «        }	n|}t          j        |t           j        ¬¦  «        }t          |¦  «        D ]g\  }}|                     ||¦  «        D ]K\  }}|||f         ||         }}t#          ||t%          |¦  «        |¦  «        }||||f                  |||f<   ŒLŒhg }t          |¦  «        D ]C\  }}t#          |dd…|f         |t%          |¦  «        |¦  «        }|                     |¦  «         ŒDt          j        |d         d         |d         d         g||d         d         g|d         d         |ggt           j        ¬¦  «        }t)          ||¬¦  «        }|                     ||¦  «        }t+          ||¦  «         t%          |j        ¦  «        dk    sJ ‚t/          d¦  «        D ]#}t+          |j        |         ||         ¦  «         Œ$|                     |	¦  «        }t+          ||¦  «         dS )z,Check target encoder with multiple features.r   r   r4   r   ræ   )r€   r�   r€   r€   r�   r�   r€   r�   T)rM   rN   rå   )r=   r5   r=   r=   r=   r5   r5   r5   )r7   gffffff@g333333@g      @gffffff@g      @çš™™™™™$@g333333@r3   r=   r¨   rÓ   Nr9   r:   )Úfeat0Úfeat1)r:   r9   r;   r„   )r   rR   rS   r   r^   r
   Úfloat32r   r   rd   rÖ   r×   rY   r\   r   r‹   r]   r1   r`   rŒ   r   r   ra   r   rg   )rä   r$   r?   r!   rq   Ú	y_integerrP   r&   rO   rn   rÝ   rm   rs   rš   r›   rt   ru   rv   rw   rž   rz   r{   r¥   ry   r    r|   s                             r0   Útest_multiple_features_quickrí   ~  sV  € õ
 ”Ø
ˆQˆ�!�Q�˜!˜Q˜ ! Q ¨!¨Q¨°!°Q°¸!¸Q¸À!ÀQÀÐHÕPRÔPXðñ ô €Ið �lÒ"Ð"Ý”(ÐCÐCÐCÑDÔDˆÝ ‘N”N×0Ò0°Ñ9Ô9ˆ	Ý˜Q¨Q¸Ð=Ñ=Ô=ˆˆØ	˜Ò	%Ð	%Ý”(Ð3Ð3Ð3Ñ4Ô4ˆÝ ‘N”N×0Ò0°Ñ9Ô9ˆ	Ý˜Q¨Q¸Ð=Ñ=Ô=ˆˆå”(ÐDÐDÐDÍBÌJÐWÑWÔWˆØˆ	Ý�1 1¨dÐ3Ñ3Ô3ˆÝŒW�YÑÔ€FØ�)�)˜a ˜VÐ$€JåŒXà�ˆFØ�ˆFØ�ˆGð	
õ
 Œhðñ ô €Fð ð ÝÔ  Ñ*Ô*ˆà—,’,à" 1 1 1 a 4œÝœ 5¨% .½Ð?Ñ?Ô?À	È!È!È!ÈQÈ$ÄÔPðð ñ
ô 
ˆð —’¨¨q¨q¨q°!¨t¬Ð?VÐ?VÐ?VÐWÐWÑXÔXˆˆàˆõ  "œ}¨Y½b¼jÐIÑIÔIÐÝ  Ñ,Ô,ð ð ‰ˆˆtØ#%§8¢8¨I°yÑ#AÔ#Að 	ð 	ÑˆI�xØ˜y¨%Ð/Ô0°)¸IÔ2F�ˆBÝ-¨b°"µc¸$±i´iÀÑHÔHÐØ8HØ˜( E˜/Ô*ô9Ð$ X¨u _Ñ5Ð5ð	ð ÐÝ  Ñ,Ô,ð 4ð 4‰ˆˆtÝ)Ø�a�a�a˜�hÔ ­C°©I¬I°vñ
ô 
Ðð 	×!Ò!Ð"2Ñ3Ô3Ð3Ð3å "¤à Ô" 1Ô%Ð'9¸!Ô'<¸QÔ'?Ð@ØÐ'¨Ô*¨1Ô-Ð.Ø Ô" 1Ô% vÐ.ð	
õ
 Œjð!ñ !ô !Ðõ ˜v¨"Ð
-Ñ
-Ô
-€CØ×'Ò'¨°Ñ9Ô9€OÝ�OÐ%=Ñ>Ô>Ð>åˆsŒ~ÑÔ !Ò#Ð#Ð#Ð#Ý�1‰XŒXð Bð BˆÝ˜œ qÔ)Ð+=¸aÔ+@ÑAÔAÐAÐAà—}’} VÑ,Ô,ÐÝÐ$Ð&?Ñ@Ô@Ð@Ð@Ð@r2   z	y, y_meang333333@rC   r€   )rA   r@   zbinary-string)Úids)r   rª   ç        c                 ó¤  — t          j        dgdz  g¦  «        j        }|j        d         }t	          | ¦  «        dk    rt          ddd¬¦  «        }nt          ddd¬¦  «        }t          ||¬¦  «        }|                     || ¦  «        }t          |t          j
        |gg|d¬	¦  «        ¦  «         |j        d         d         t          j        |¦  «        k    sJ ‚|j        t          j        |¦  «        k    sJ ‚t          j        dgdgg¦  «        }|                     |¦  «        }	t          |	t          j
        |ggdd¬	¦  «        ¦  «         d
S )z5Check edge case where feature and target is constant.r   rC   r   rA   r4   TrK   rÔ   r‡   N)r   rR   rT   r   r   r   r
   r   r^   r   Úrepeatra   rd   re   rc   rg   )
r®   r&   r$   r­   rl   rP   r¥   r¯   rn   ÚX_test_transs
             r0   Ú test_constant_target_and_featureró   Ó  sJ  € õ 	Œ�1�#˜‘(�ÑÔÔ€AØ”˜”
€Iå�aÑÔ˜LÒ(Ð(Ý˜A¨A°tÐ<Ñ<Ô<ˆˆå a°aÀÐFÑFÔFˆÝ
˜2 fÐ
-Ñ
-Ô
-€CØ×Ò  1Ñ%Ô%€GÝ�G�RœY¨¨ z°9À1ÐEÑEÔEÑFÔFÐFØŒ>˜!Ô˜QÔ¥6¤=°Ñ#8Ô#8Ò8Ð8Ð8Ð8ØÔ�vœ}¨VÑ4Ô4Ò4Ð4Ð4Ð4åŒX˜�s˜Q˜C�jÑ!Ô!€FØ—=’= Ñ(Ô(€LÝ�L¥"¤)¨f¨X¨J¸ÀÐ"BÑ"BÔ"BÑCÔCÐCÐCÐCr2   c                 ó6  — d}d}t           j                             | ¦  «        }|                     |¬¦  «        }|                     d||¬¦  «                             dd¦  «        }|                     ¦   «         }||         }||         }t          t          d| d¬	¦  «        ¬
¦  «        }| 	                    ||¦  «        }t          t          dd¬¦  «        ¬
¦  «        }| 	                    ||¦  «        }	t          dd| ¬¦  «        }
t          d| ¬¦  «        }t          |
|||¬
¦  «                             ¦   «         dk     sJ ‚t          |
|||¬
¦  «                             ¦   «         dk     sJ ‚t          |
|	||¬
¦  «                             ¦   «         dk    sJ ‚d S )NrD   i¸  ©rI   r   rQ   r   r4   TrK   rº   F©rL   rN   r¨   rC   )Ún_estimatorsÚmin_samples_leafrM   é2   ©rL   rM   çš™™™™™¹?ç      à?)r   rV   rW   ÚnormalrX   rf   Úargsortr   r   r^   r   r	   r   r   )ri   Úcardinalityrl   r�   rq   rm   Úy_sorted_indicesrx   ÚX_encoded_train_shuffledÚX_encoded_train_no_shuffledÚ	regressorrP   s               r0   ÚFtest_fit_transform_not_associated_with_y_if_ordinal_categorical_is_notr  ñ  sÕ  € ð €KØ€IÝ
Œ)×
Ò
Ð 2Ñ
3Ô
3€CØ�jŠj˜iˆjÑ(Ô(€GØ�kŠk˜!˜[¨yˆkÑ9Ô9×AÒAÀ"ÀaÑHÔH€Gð —’Ñ(Ô(ÐØÐ&Ô'€GØÐ&Ô'€Gå"Ý˜!Ð*<ÀdÐKÑKÔKðñ ô €Nð  .×;Ò;¸GÀWÑMÔMÐå"¥e°QÀÐ&FÑ&FÔ&FÐGÑGÔG€NØ"0×">Ò">¸wÈÑ"PÔ"PÐõ &Ø¨"Ð;Mðñ ô €Iõ 
˜rÐ0BÐ	CÑ	CÔ	C€BÝ˜9 g¨w¸2Ð>Ñ>Ô>×CÒCÑEÔEÈÒKÐKÐKÐKå˜	Ð#;¸WÈÐLÑLÔL×QÒQÑSÔSØ
ò	ð 	ð 	ð 	õ 	˜	Ð#>ÀÈBÐOÑOÔO×TÒTÑVÔVØ
ò	ð 	ð 	ð 	ð 	ð 	r2   c                  ó–  — t          j        g d¢g¦  «        j        } t          j        g d¢¦  «        }t          dt	          dd¬¦  «        ¬¦  «        }|                     | |¦  «        }t          |d         t          j        |d	d
…         ¦  «        ¦  «         t          |d         t          j        |d
d	…         ¦  «        ¦  «         d
S )zECheck edge case with zero smoothing and cv does not contain category.)
r   r   r   r   r   r   r   r   r   r   )
gÍÌÌÌÌÌ @g333333@g333333ó?gÍÌÌÌÌÌ@r6   g      "@rè   gffffff,@gš™™™™™*@g      .@rï   r4   Frö   r„   r   r†   NrQ   )r   rR   rT   r   r   r^   r   r   )r­   r®   r¥   r¯   s       r0   Útest_smooth_zeror  !  sº   € å
ŒÐ0Ð0Ð0Ð1Ñ2Ô2Ô4€AÝ
ŒÐGÐGÐGÑHÔH€Aå
˜s¥u°aÀÐ'GÑ'GÔ'GÐ
HÑ
HÔ
H€CØ×Ò  1Ñ%Ô%€Gõ �G˜A”J¥¤¨¨!¨"¨"¬¡¤Ñ/Ô/Ð/õ �G˜B”K¥¤¨¨2¨A¨2¬¡¤Ñ0Ô0Ð0Ð0Ð0r2   )rï   g     @�@r   c                 ó   — t           j                             |¦  «        }|                     d¬¦  «        }d}t	          |dd¬¦  «                             |                     dd¦  «        ¦  «        }t          |||¬	¦  «        \  }}}}	|                     |¦  «        }
|
| 	                    t           j
        ¦  «                 }|
| 	                    t           j
        ¦  «                 }t          | t          d
d|¬¦  «        ¬¦  «        }|                     ||¦  «        }|                     |¦  «        }|                     ||¦  «        }|                     |¦  «        }t          ||¦  «         t          ||¦  «         d S )Niè  rõ   rD   Úaveraged_inverted_cdfÚordinal)Ún_binsÚquantile_methodÚencoderQ   r   ©rM   r4   T)rL   rN   rM   r„   )r   rV   rW   rý   r   r^   rf   r   r[   ÚastypeÚint32r   r   rg   r   )r$   ri   r�   r®   r#   r­   rm   rn   rq   Úy_testÚpermutated_labelsÚX_train_permutedÚX_test_permutedrx   ÚX_train_encodedÚX_test_encodedÚX_train_permuted_encodedÚX_test_permuted_encodeds                     r0   Ú3test_invariance_of_encoding_under_label_permutationr  2  s�  € õ
 Œ)×
Ò
Ð 2Ñ
3Ô
3€Cð 	�
Š
˜ˆ
ÑÔ€AØ€LÝØÐ-DÈYð	ñ 	ô 	ç‚m�A—I’I˜b !Ñ$Ô$Ñ%Ô%ð õ (8Ø	ˆ1Ð-ð(ñ (ô (Ñ$€GˆV�W˜fð Ÿš¨Ñ5Ô5ÐØ(¨¯ª½¼Ñ)AÔ)AÔBÐØ'¨¯ªµb´hÑ(?Ô(?Ô@€Oå"ØÝ˜! TÐ8JÐKÑKÔKðñ ô €Nð %×2Ò2°7¸GÑDÔD€OØ#×-Ò-¨fÑ5Ô5€Nà-×;Ò;Ð<LÈgÑVÔVÐØ,×6Ò6°ÑGÔGÐå�OÐ%=Ñ>Ô>Ð>Ý�NÐ$;Ñ<Ô<Ð<Ð<Ð<r2   rï   c                 óø  — t          ddd¬¦  «        }d}t          j                             |¦  «        }|                     |¦  «        }d|                     |¦  «        z  }d}t          |dd	|¬
¦  «                             ||z                        dd¦  «        ¦  «        }|                     |¦  «        }	|	| 	                    t          j
        ¦  «                 }|                     |¦  «        }
|                     t          d|z  ¦  «        |d¬¦  «                             dd¦  «        }t          j        ||
|gd¬¦  «        }t          ||d¬¦  «        \  }}}}|                     ||¦  «        }|                     ||¦  «        dk     sJ ‚|                     ||¦  «        dk     sJ ‚t#          d|¬¦  «        }t%          t'          | |¬¦  «        |¦  «                             ||¦  «        }|d         j        }|                     ||¦  «        dk    s
J |¦   «         ‚|                     ||¦  «        dk    s
J |¦   «         ‚|d         t+          j        dd¬¦  «        k    sJ ‚t          j        |dd …         ¦  «        dk                          ¦   «         sJ ‚t'          | |¬¦  «                             ||¦  «        }|                     |¦  «        }|                     |¦  «        }|                     ||¦  «        }|j        }|                     ||¦  «        dk    s
J |¦   «         ‚|                     ||¦  «        dk     s
J |¦   «         ‚t/          |d         ¦  «        t/          |d         ¦  «        k     sJ ‚d S )Ng�íµ ÷Æ°>ÚlsqrF)ÚalphaÚsolverÚfit_interceptiPÃ  gš™™™™™é?éd   r	  rZ   )r
  r  ÚstrategyrM   rQ   r   gÍÌÌÌÌÌì?T)rI   Úreplacer‡   r   r  rû   )rN   rM   r„   rü   g{®Gáz„?)Úabsgš™™™™™É?gffffffæ?r4   )r   r   rV   rW   Úrandnr   r^   rf   r[   r  r  ÚchoiceÚintrU   r   r¬   Úscorer   r   r   Úcoef_rd   re   r!  Úallrg   )r$   ri   Úlinear_regressionrl   r�   r®   Únoiser#   ÚX_informativer  Ú
X_shuffledÚX_near_unique_categoriesr­   rm   rn   rq   r  Ú	raw_modelrP   Úmodel_with_cvÚcoefrx   ÚX_enc_no_cv_trainÚX_enc_no_cv_testÚmodel_no_cvs                            r0   Ú*test_target_encoding_for_linear_regressionr3  Y  s­  € õ  D°ÀuÐMÑMÔMÐð €IÝ
Œ)×
Ò
Ð 2Ñ
3Ô
3€CØ�	Š	�)ÑÔ€Að
 �#—)’)˜IÑ&Ô&Ñ&€EØ€LÝ$ØØØØð	ñ ô ÷
 ‚m�Q˜‘Y×'Ò'¨¨AÑ.Ô.Ñ/Ô/ð ð Ÿš¨Ñ5Ô5ÐØ% m×&:Ò&:½2¼8Ñ&DÔ&DÔE€Mð —’ Ñ/Ô/€Jð  #ŸzšzÝˆC�)‰OÑÔ 9°dð  *ñ  ô  ç‚gˆb�!�n„nð õ
 	ŒØ	˜
Ð$<Ð=Øð	ñ 	ô 	€Aõ (8¸¸1È1Ð'MÑ'MÔ'MÑ$€GˆV�W˜fð
 "×%Ò% g¨wÑ7Ô7€IØ�?Š?˜7 GÑ,Ô,¨sÒ2Ð2Ð2Ð2Ø�?Š?˜6 6Ñ*Ô*¨SÒ0Ð0Ð0Ð0õ 
�t¨#Ð	.Ñ	.Ô	.€BÝ!Ý˜V¨Ð+Ñ+Ô+Ð->ñô ç	‚cˆ'�7ÑÔð ð ˜ÔÔ"€DØ×Ò˜w¨Ñ0Ô0°3Ò6Ð6Ð6¸Ñ6Ô6Ð6Ø×Ò˜v vÑ.Ô.°Ò4Ð4Ð4°dÑ4Ô4Ð4ð �Œ7•f”m A¨4Ð0Ñ0Ô0Ò0Ð0Ð0Ð0ÝŒF�4˜˜˜”8ÑÔ˜sÒ"×'Ò'Ñ)Ô)Ð)Ð)Ð)õ #¨&°RÐ8Ñ8Ô8×<Ò<¸WÀgÑNÔN€NØ&×0Ò0°Ñ9Ô9ÐØ%×/Ò/°Ñ7Ô7ÐØ#×'Ò'Ð(9¸7ÑCÔC€Kð Ô€DØ×ÒÐ.°Ñ8Ô8¸3Ò>Ð>Ð>ÀÑ>Ô>Ð>Ø×ÒÐ-¨vÑ6Ô6¸Ò<Ð<Ð<¸dÑ<Ô<Ð<õ
 ˆt�AŒw‰<Œ<�#˜d 1œg™,œ,Ò&Ð&Ð&Ð&Ð&Ð&r2   c                  ó¤  — t          j        dd¬¦  «        } t          | j        ¦  «        t          d¦  «        k    rO|                      g d¢g d¢dœ¦  «        }t          d¬	¦  «                             |d
g         |d         ¦  «         dS t          j        ¦   «         5  d}t          j	        d|t          ¬¦  «         |                      dd¦  «        5  |                      g d¢g d¢dœ¦  «        }t          d¬	¦  «                             |d
g         |d         ¦  «         ddd¦  «         n# 1 swxY w Y   ddd¦  «         dS # 1 swxY w Y   dS )z¸
    Test target-encoder cython code when y is read-only.

    The numpy array underlying df["y"] is read-only when copy-on-write is enabled.
    Non-regression test for gh-27879.
    rÓ   z2.0)Ú
minversionz4.0)r€   r�   r�   )rª   r>   r8   )Úxr®   rA   )r?   r6  r®   zU.*Copy-on-Write can no longer be disabled.*This option will be removed in pandas 4\.0Úignore)ÚmessageÚcategoryzmode.copy_on_writeTN)rd   rÖ   r   Ú__version__r×   r   r¬   ÚwarningsÚcatch_warningsÚfilterwarningsÚDeprecationWarningÚoption_context)rÝ   ÚdfÚexpected_messages      r0   Útest_pandas_copy_on_writerB  Ë  s  € õ 
Ô	˜X°%Ð	8Ñ	8Ô	8€Bõ
 �R”^Ñ$Ô$­°eÑ(<Ô(<Ò<Ð<Ø�\Š\   °o°o°oÐFÐFÑGÔGˆÝ ,Ð/Ñ/Ô/×3Ò3°B¸°u´I¸rÀ#¼wÑGÔGÐGÐGÐGåÔ$Ñ&Ô&ð 	Pð 	Pð.ð õ Ô#ØØ(Ý+ðñ ô ð ð
 ×"Ò"Ð#7¸Ñ>Ô>ð Pð PØ—\’\¨¨¨¸o¸o¸oÐ"NÐ"NÑOÔO�Ý¨,Ð7Ñ7Ô7×;Ò;¸BÀ¸u¼IÀrÈ#ÄwÑOÔOÐOðPð Pð Pñ Pô Pð Pð Pð Pð Pð Pð Pøøøð Pð Pð Pð Pð	Pð 	Pð 	Pñ 	Pô 	Pð 	Pð 	Pð 	Pð 	Pð 	Pð 	Pð 	Pøøøð 	Pð 	Pð 	Pð 	Pð 	Pð 	Ps7   Â5EÃAD-Ä!EÄ-D1	Ä1EÄ4D1	Ä5EÅE	ÅE	c                 óÂ  — t          ddd¬¦  «        \  }}t          ¦   «                              ||¦  «        }t          |¬¦  «        }|                     ||¦  «         t          d| ¬¦  «                             ||¦  «        }t          |¬¦  «        }d}t          j        t          |¬	¦  «        5  |                     ||¦  «         d
d
d
¦  «         d
S # 1 swxY w Y   d
S )zJ
    Test that `TargetEncoder` raises if `cv` has overlapping splits.
    r  r=   r   ©rl   r�   rM   rº   r†   rú   zFValidation indices from `cv` must cover each sample index exactly oncer²   N)	r   r   r]   r   r^   r	   rd   r´   rµ   )ri   r­   r®   Únon_overlapping_iterableÚencoderÚoverlapping_iterabler¶   s          r0   Ú%test_target_encoder_raises_cv_overlaprH  ê  s,  € õ  S°QÀQÐGÑGÔG�D€A€qå$™wœwŸ}š}¨Q°Ñ2Ô2ÐÝÐ7Ð8Ñ8Ô8€GØ×Ò˜!˜QÑÔÐå'ØÐ!3ðñ ô ç‚eˆAˆq�k„kð õ Ð3Ð4Ñ4Ô4€GØ
R€CÝ	Œ•z¨Ð	-Ñ	-Ô	-ð $ð $Ø×Ò˜a Ñ#Ô#Ð#ð$ð $ð $ñ $ô $ð $ð $ð $ð $ð $ð $ð $øøøð $ð $ð $ð $ð $ð $s   Â0CÃCÃCc                  óš  — t          ddd¬¦  «        \  } }d}t          j        t          |¬¦  «        5  t	          d¬¦  «        }|                     | |¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          |¬¦  «        5  t	          d¬	¦  «        }|                     | |¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )
Nr  r=   r   rD  zG`TargetEncoder.shuffle` and `TargetEncoder.random_state` are deprecatedr²   F)rN   r  )r   rd   r»   ÚFutureWarningr   r^   )r­   r®   r¶   rF  s       r0   Ú3test_target_encoder_shuffle_random_state_deprecatedrK  þ  sP  € Ý S°QÀQÐGÑGÔG�D€A€qØ
S€CÝ	Œ•m¨3Ð	/Ñ	/Ô	/ð $ð $Ý¨Ð.Ñ.Ô.ˆØ×Ò˜a Ñ#Ô#Ð#ð$ð $ð $ñ $ô $ð $ð $ð $ð $ð $ð $øøøð $ð $ð $ð $õ 
Œ•m¨3Ð	/Ñ	/Ô	/ð $ð $Ý¨QÐ/Ñ/Ô/ˆØ×Ò˜a Ñ#Ô#Ð#ð$ð $ð $ñ $ô $ð $ð $ð $ð $ð $ð $ð $øøøð $ð $ð $ð $ð $ð $s#   ³'A&Á&A*Á-A*Â'C Ã CÃC)7r½   r;  Únumpyr   rd   Únumpy.testingr   r   Úsklearn.datasetsr   Úsklearn.ensembler   Úsklearn.linear_modelr   Úsklearn.model_selectionr   r	   r
   r   r   Úsklearn.pipeliner   Úsklearn.preprocessingr   r   r   r   Úsklearn.utils.fixesr   Úsklearn.utils.multiclassr   r1   ÚmarkÚparametrizerR   rS   Únanr   rY   r}   r§   rT   r°   r·   r¿   rã   rí   ró   r  r  r  r3  rB  rH  rK  © r2   r0   ú<module>rZ     s2  ðØ 	€	€	€	Ø €€€à Ð Ð Ð Ø €€€Ø =Ð =Ð =Ð =Ð =Ð =Ð =Ð =à ,Ð ,Ð ,Ð ,Ð ,Ð ,Ø 2Ð 2Ð 2Ð 2Ð 2Ð 2Ø &Ð &Ð &Ð &Ð &Ð &ðð ð ð ð ð ð ð ð ð ð ð ð ð ð +Ð *Ð *Ð *Ð *Ð *ðð ð ð ð ð ð ð ð ð ð ð ð .Ð -Ð -Ð -Ð -Ð -Ø 3Ð 3Ð 3Ð 3Ð 3Ð 3ðð ð ð< „×ÒØà
ˆ"Œ(�9�9�9 B¤HÐ
-Ñ
-Ô
-Ð	.°Ð2Ø
ˆ"Œ(�C˜˜bœfÐ%¨R¬ZÐ
8Ñ
8Ô
8Ð	9¸3Ð?Ø
ˆ"Œ(Ð*Ð*Ð*°&Ð
9Ñ
9Ô
9Ð	:¸FÐCØð	ñô ð „×Ò˜ C¨ =Ñ1Ô1Ø„×Ò˜¨°<Ð(@ÑAÔAð\Að \Añ BÔAñ 2Ô1ñô ð\Að~ „×ÒØ à
ˆ"Œ(�9�9�9 B¤HÐ
-Ñ
-Ô
-Ð	.°Ð7Ø
ˆ"Œ(Ð*Ð*Ð*°&Ð
9Ñ
9Ô
9Ð	:¸VÀXÐ<NÐOðñô ð „×ÒØ�h�b”h˜y˜y˜yÑ)Ô)¨8¨2¬8°O°O°OÑ+DÔ+DÐEñô ð „×Ò˜ C¨ =Ñ1Ô1ðdAð dAñ 2Ô1ñô ñô ðdAðN „×ÒØð ˆBŒH�q�c˜B‘h !  r¡Ñ)¨Q¨CÑ/Ð0¸¼ÐAÑAÔAÔCØˆYˆYˆKð	
ð
 ˆBŒHØ�˜2‘  ¨"¡Ñ,°¨yÑ8Ð9Àðñ ô äØ"Ð"Ð"Ð#ð		
ðñô ð „×Ò˜ C¨ =Ñ1Ô1ð:ð :ñ 2Ô1ñô ð :ð  „×ÒØà	ˆˆÐ@ÐAàˆBŒH�i�i�i   Ð+Ñ,Ô,Ô.ØEð	
ðñ	ô 	ð ð  ñ	ô 	ð ð,ð ,ð ,ð* „×ÒØà
ˆQˆ�"‰�s˜C�jÐ!Ø	ˆˆ�Q‰˜!˜Q˜Ñ	Ð!KÐ!KÐ!KÐLàÐÐ Ñ" d¨D \Ñ1Ø<Ð<Ð<ð	
ðñ
ô 
ðMð Mñ
ô 
ðMð( „×Ò˜ t¨U mÑ4Ô4Ø„×Ò˜ C¨ =Ñ1Ô1Ø„×Ò˜Ð(SÐ(SÐ(SÑTÔTðOAð OAñ UÔTñ 2Ô1ñ 5Ô4ðOAðd „×ÒØà	ˆŒ�3�%˜"‘*Ñ	Ô	˜sÐ#Ø	ˆŒ�1�#˜‘(Ñ	Ô	˜QÐØ	ˆŒ�3�%˜"‘* FÐ	+Ñ	+Ô	+¨QÐ/ðð
 	2Ð1Ð1ð ñ ô ð „×Ò˜Ð#5Ð#5Ð#5Ñ6Ô6ðDð Dñ 7Ô6ñô ðDð(-ð -ð -ð`1ð 1ð 1ð" „×Ò˜Ð#5Ð#5Ð#5Ñ6Ô6ð#=ð #=ñ 7Ô6ð#=ðL „×Ò˜ C¨ =Ñ1Ô1ðn'ð n'ñ 2Ô1ðn'ðbPð Pð Pð>$ð $ð $ð($ð $ð $ð $ð $r2   