§
    §éUg~U  ã                   ó  — d dl Z d dlmZ d dlm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mZ d dlmZ d dlmZmZ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mZ  ej         d¦  «         !                    d¦  «        Z"d„ Z#ej$         %                    dddd ej&        d¦  «        dfg d¢dfg d¢dfdd e'dd¦  «        df e'd d¦  «        df ej(        g d¢ej)        ¬¦  «        df ej(        g d¢ej*        ¬¦  «        df ej(        g d¢ej+        ¬¦  «        dfddgdfd ej(        ddg¦  «        dfdg d¢dfd  e'd!d"¦  «        df ej(        g d¢¦  «        df ej(        g d¢e,¬¦  «        dfg¦  «        d#„ ¦   «         Z-d$„ Z.d%„ Z/eej$         %                    d& e¦   «         ¦  «        d'„ ¦   «         ¦   «         Z0ej$         %                    d(g d)¢¦  «        ej$         %                    d*g d+¢¦  «        d,„ ¦   «         ¦   «         Z1ej$         %                    d(g d-¢¦  «        ej$         %                    d*g d+¢¦  «        d.„ ¦   «         ¦   «         Z2ej$         %                    d(g d/¢¦  «        ej$         %                    d*g d+¢¦  «        ej$         %                    d0d1dgd2d3gg¦  «        d4„ ¦   «         ¦   «         ¦   «         Z3ej$         %                    d5ddg¦  «        ej$         %                    d6ddg¦  «        ej$         %                    d(g d/¢¦  «        ej$         %                    d*d7d8g¦  «        ej$         %                    d9d g d:¢g d;¢gfd1dd<gd=d>gd?dggfg¦  «        d@„ ¦   «         ¦   «         ¦   «         ¦   «         ¦   «         Z4ej$         %                    d(g d-¢¦  «        ej$         %                    d*g dA¢¦  «        dB„ ¦   «         ¦   «         Z5ej$         %                    d(g d/¢¦  «        ej$         %                    d*g dA¢¦  «        ej$         %                    dCd g d:¢g d;¢gfd1dd<gd=d>gd?dggfg¦  «        dD„ ¦   «         ¦   «         ¦   «         Z6ej$         %                    dEg dF¢¦  «        dG„ ¦   «         Z7ej$         %                    d(g d-¢¦  «        dH„ ¦   «         Z8ej$         %                    dEg dI¢¦  «        ej$         %                    d0dd3g¦  «        dJ„ ¦   «         ¦   «         Z9ej$         %                    d(g dK¢¦  «        dL„ ¦   «         Z:dM„ Z;ej$         %                    dNdd<g¦  «        dO„ ¦   «         Z<ej$         %                    dPg dQ¢¦  «        dR„ ¦   «         Z=dS„ Z>dT„ Z?ej$         %                    d0d d d1g e'd d¦  «         ej(        d d1g¦  «        g¦  «        dU„ ¦   «         Z@ej$         %                    d(g dV¢¦  «        dW„ ¦   «         ZAej$         %                    dXdYdZ e,¦   «         d[fg¦  «        d\„ ¦   «         ZBej$         %                    d]d^gd_gd^d_gd^d`gd_d`gg¦  «        da„ ¦   «         ZCdb„ ZDdc„ ZEdd„ ZFde„ ZGdf„ ZHej$         %                    dge¦  «        dh„ ¦   «         ZIdi„ ZJej$         %                    dje¦  «        dk„ ¦   «         ZKdS )lé    N)Úcopy)ÚSkipTest)Úparse)Ú_safe_indexingÚresampleÚshuffle)Ú)yield_namespace_device_dtype_combinations)Ú_determine_key_typeÚ_get_column_indicesÚ_safe_assign)ÚMockDataFrame)Ú_array_api_for_testsÚ_convert_containerÚassert_allclose_dense_sparseÚassert_array_equalÚ'skip_if_array_api_compat_not_configured)ÚCSC_CONTAINERSÚCSR_CONTAINERSé	   )é   r   c                  óP  — t          j        dd¬¦  «        } |                      g d¢g d¢g d¢dœd¬	¦  «        }d
dlm} dgddgg d¢dgdgg}|D ]&}t          ||d¬¦  «        } |||         |¦  «         Œ'g d¢ddgfg d¢dgfg}|D ]-\  }}t          ||d¬¦  «        } ||dd…|f         |¦  «         Œ.d
dgddgfdgdgfg}	|	D ]-\  }
}t          ||
d¬¦  «        } ||dd…|f         |¦  «         Œ.d
dgddgddgg}|D ]&}t          ||d
¬¦  «        } |||         |¦  «         Œ'dS )z,Check _safe_indexing for polars as expected.Úpolarsz0.18.2©Ú
minversion)é   é   r   é   )r   é   é   é   )r   r   r   é
   ©ÚaÚbÚcÚrow)Úorientr   )Úassert_frame_equalr$   r#   )r$   r#   r%   r%   r   ©Úaxis©TFT)FFTNr   r   )ÚpytestÚimportorskipÚ	DataFrameÚpolars.testingr(   r   )ÚplÚdfr(   Ústr_keysÚkeyÚoutÚ	bool_keysÚbool_keyÚstr_keyÚint_keysÚint_keyÚaxis_0_keyss               ú`/var/www/surfInsights/venv3-11/lib/python3.11/site-packages/sklearn/utils/tests/test_indexing.pyÚtest_polars_indexingr<      sò  € å	Ô	˜X°(Ð	;Ñ	;Ô	;€BØ	�ŠØˆlˆl   °M°M°MÐBÐBÈ5ð 
ñ 
ô 
€Bð 2Ð1Ð1Ð1Ð1Ð1à�˜˜S�z ? ? ?°S°E¸C¸5ÐA€Hàð )ð )ˆÝ˜R ¨1Ð-Ñ-Ô-ˆØÐ˜2˜cœ7 CÑ(Ô(Ð(Ð(à%Ð%Ð%¨¨S zÐ2Ð5IÐ5IÐ5IÈCÈ5Ð4QÐR€Ià&ð 0ð 0Ñˆ�'Ý˜R °Ð2Ñ2Ô2ˆØÐ˜2˜a˜a˜a ˜jœ>¨3Ñ/Ô/Ð/Ð/à�Q�˜#˜s˜Ð$¨ s¨S¨E lÐ3€Hà$ð 0ð 0Ñˆ�Ý˜R ¨qÐ1Ñ1Ô1ˆØÐ˜2˜a˜a˜a ˜jœ>¨3Ñ/Ô/Ð/Ð/à�q�6˜A˜q˜6 A q 6Ð*€KØð )ð )ˆÝ˜R ¨1Ð-Ñ-Ô-ˆØÐ˜2˜cœ7 CÑ(Ô(Ð(Ð(ð)ð )ó    z
key, dtype)r   Úint)Ú0Ústr)TÚboolTrA   ©r   r   r   r>   ©r?   Ú1Ú2r@   )rB   r>   )rC   r@   r   ©ÚdtypeF))TFrA   )Úcol_0r@   ©rH   Úcol_1Úcol_2)rI   r@   ÚbeginÚendc                 ó0   — t          | ¦  «        |k    sJ ‚d S ©N)r
   )r3   rG   s     r;   Útest_determine_key_typerP   @   s#   € õ8 ˜sÑ#Ô# uÒ,Ð,Ð,Ð,Ð,Ð,r=   c                  óŒ   — t          j        t          d¬¦  «        5  t          d¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NúNo valid specification of the©Úmatchç      ð?)r,   ÚraisesÚ
ValueErrorr
   © r=   r;   Útest_determine_key_type_errorrY   _   sŠ   € Ý	Œ•zÐ)HÐ	IÑ	IÔ	Ið !ð !Ý˜CÑ Ô Ð ð!ð !ð !ñ !ô !ð !ð !ð !ð !ð !ð !ð !øøøð !ð !ð !ð !ð !ð !s   œ9¹=Á =c                  ó®   — t          j        t          d¬¦  «        5  t          t	          ddd¦  «        d¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NzOnly array-like or scalar arerS   r   r   r   F)Úaccept_slice)r,   rV   Ú	TypeErrorr
   ÚslicerX   r=   r;   Ú#test_determine_key_type_slice_errorr^   d   s­   € Ý	Œ•yÐ(GÐ	HÑ	HÔ	Hð @ð @Ý�E ! Q¨™NœN¸Ð?Ñ?Ô?Ð?ð@ð @ð @ñ @ô @ð @ð @ð @ð @ð @ð @ð @øøøð @ð @ð @ð @ð @ð @s   œ!A
Á
AÁAz#array_namespace, device, dtype_namec                 ó  — t          | |¦  «        }t          j        d¬¦  «        5  |                     g d¢¦  «        }t	          |¦  «        dk    sJ ‚|                     g d¢¦  «        }t	          |¦  «        dk    sJ ‚	 |                     g d¢¦  «        }n# t
          $ r d }Y nw xY w|�Bt          j        t          d¬	¦  «        5  t	          |¦  «         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 )
NT)Úarray_api_dispatch©r   r   r   r>   r+   rA   )y      ð?      ð?y       @       @y      @      @rR   rS   )	r   ÚsklearnÚconfig_contextÚasarrayr
   r\   r,   rV   rW   )Úarray_namespaceÚdeviceÚ
dtype_nameÚxpÚint_array_keyÚbool_array_keyÚcomplex_array_keys          r;   Ú!test_determine_key_type_array_apirl   i   s´  € õ
 
˜o¨vÑ	6Ô	6€Bå	Ô	°4Ð	8Ñ	8Ô	8ð 7ð 7ØŸ
š
 9 9 9Ñ-Ô-ˆÝ" =Ñ1Ô1°UÒ:Ð:Ð:Ð:àŸšÐ$7Ð$7Ð$7Ñ8Ô8ˆÝ" >Ñ2Ô2°fÒ<Ð<Ð<Ð<ð	%Ø "§
¢
Ð+CÐ+CÐ+CÑ DÔ DÐÐøÝð 	%ð 	%ð 	%à $ÐÐÐð	%øøøð Ð(Ý”�zÐ1PÐQÑQÔQð 7ð 7Ý#Ð$5Ñ6Ô6Ð6ð7ð 7ð 7ñ 7ô 7ð 7ð 7ð 7ð 7ð 7ð 7øøøð 7ð 7ð 7ð 7ð7ð 7ð 7ñ 7ô 7ð 7ð 7ð 7ð 7ð 7ð 7ð 7øøøð 7ð 7ð 7ð 7ð 7ð 7sZ   ¦AC;Â BÂC;ÂB'Â$C;Â&B'Â' C;ÃC#ÃC;Ã#C'	Ã'C;Ã*C'	Ã+C;Ã;C?ÄC?Ú
array_type)ÚlistÚarrayÚsparseÚ	dataframer   Úindices_type)rn   Útuplero   Úseriesr]   c                 ó.  — ddg}|dk    r+t          |d         t          ¦  «        r|dxx         dz  cc<   t          g d¢g d¢g d¢g| ¦  «        }t          ||¦  «        }t          ||d¬¦  «        }t	          |t          g d¢g d¢g| ¦  «        ¦  «         d S )	Nr   r   r]   ra   ©r   r   r   ©é   r    r   r   r)   ©Ú
isinstancer>   r   r   r   ©rm   rr   Úindicesro   Úsubsets        r;   Ú&test_safe_indexing_2d_container_axis_0r~   ‚   s¾   € ð
 �!ˆf€GØ�wÒÐ¥:¨g°a¬j½#Ñ#>Ô#>ÐØ�ˆ
ˆ
Œ
�a‰ˆ
ˆ
‰
Ý 	 	 	¨9¨9¨9°i°i°iÐ@À*ÑMÔM€EÝ  ¨,Ñ7Ô7€GÝ˜E 7°Ð3Ñ3Ô3€FÝ ØÕ" I I I¨y¨y¨yÐ#9¸:ÑFÔFñô ð ð ð r=   )rn   ro   rt   Úpolars_seriesc                 ó  — ddg}|dk    r+t          |d         t          ¦  «        r|dxx         dz  cc<   t          g d¢| ¦  «        }t          ||¦  «        }t          ||d¬¦  «        }t	          |t          ddg| ¦  «        ¦  «         d S )Nr   r   r]   ©	r   r   r   r   r   r   rx   r    r   r   r)   r   ry   r{   s        r;   Útest_safe_indexing_1d_containerr‚   ’   sž   € ð �!ˆf€GØ�wÒÐ¥:¨g°a¬j½#Ñ#>Ô#>ÐØ�ˆ
ˆ
Œ
�a‰ˆ
ˆ
‰
ÝÐ:Ð:Ð:¸JÑGÔG€EÝ  ¨,Ñ7Ô7€GÝ˜E 7°Ð3Ñ3Ô3€FÝ  Õ);¸QÀ¸FÀJÑ)OÔ)OÑPÔPÐPÐPÐPr=   )ro   rp   rq   r   r|   r   rJ   rK   c           	      ó&  — t          |¦  «        }|dk    r+t          |d         t          ¦  «        r|dxx         dz  cc<   g d¢}t          g d¢g d¢g d¢g| |¦  «        }t          ||¦  «        }t          |d         t          ¦  «        rN| dvrJd	}t          j        t          |¬
¦  «        5  t          ||d¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S t          ||d¬¦  «        }t          |t          ddgddgddgg| ¦  «        ¦  «         d S )Nr]   r   rI   ra   rv   rw   r   ©rq   r   úESpecifying the columns using strings is only supported for dataframesrS   r)   r   r   r   r   r    r   )
r   rz   r>   r   r@   r,   rV   rW   r   r   )rm   rr   r|   Úindices_convertedÚcolumns_namero   Úerr_msgr}   s           r;   Ú&test_safe_indexing_2d_container_axis_1r‰   ž   s¡  € õ ˜W™œÐØ�wÒÐ¥:¨g°a¬j½#Ñ#>Ô#>ÐØ˜!ÐÐÔ Ñ!ÐÐÑà.Ð.Ð.€LÝØ	ˆˆ�I�I�I˜y˜y˜yÐ)¨:°|ñô €Eõ +Ð+<¸lÑKÔKÐå�'˜!”*�cÑ"Ô"ð 

 zÐ9PÐ'PÐ'PàSð 	õ Œ]�:¨WÐ5Ñ5Ô5ð 	=ð 	=Ý˜5Ð"3¸!Ð<Ñ<Ô<Ð<ð	=ð 	=ð 	=ñ 	=ô 	=ð 	=ð 	=ð 	=ð 	=ð 	=ð 	=ð 	=øøøð 	=ð 	=ð 	=ð 	=ð 	=ð 	=õ   Ð'8¸qÐAÑAÔAˆÝ$ØÕ&¨¨A¨°°A°¸¸A¸Ð'?ÀÑLÔLñ	
ô 	
ð 	
ð 	
ð 	
s   Â+CÃCÃCÚarray_read_onlyÚindices_read_onlyro   rt   zaxis, expected_arrayrv   rw   r   r   r   r    c                 ól  — t          j        g d¢g d¢g d¢g¦  «        }| r|                     d¬¦  «         t          ||¦  «        }t          j        ddg¦  «        }|r|                     d¬¦  «         t          ||¦  «        }t	          |||¬¦  «        }t          |t          ||¦  «        ¦  «         d S )	Nra   rv   rw   F)Úwriter   r   r)   )Únpro   Úsetflagsr   r   r   )	rŠ   r‹   rm   rr   r*   Úexpected_arrayro   r|   r}   s	            r;   Ú&test_safe_indexing_2d_read_only_axis_1r‘   »   sÇ   € õ ŒH�i�i�i   ¨I¨I¨IÐ6Ñ7Ô7€EØð $Ø�Š˜UˆÑ#Ô#Ð#Ý˜u jÑ1Ô1€EÝŒh˜˜1�vÑÔ€GØð &Ø×Ò˜uÐÑ%Ô%Ð%Ý  ¨,Ñ7Ô7€GÝ˜E 7°Ð6Ñ6Ô6€FÝ  Õ);¸NÈJÑ)WÔ)WÑXÔXÐXÐXÐXr=   )rn   rs   ro   rt   c                 óÐ   — dgdgdz  z   dgdz  z   }t          g d¢| ¦  «        }t          ||¦  «        }t          ||d¬¦  «        }t          |t          ddg| ¦  «        ¦  «         d S )	NFTr   r   r�   r   r)   r   ©r   r   r   r{   s        r;   Ú$test_safe_indexing_1d_container_maskr”   Ñ   s   € ð ˆg˜˜ ™
Ñ" e W¨q¡[Ñ0€GÝÐ:Ð:Ð:¸JÑGÔG€EÝ  ¨,Ñ7Ô7€GÝ˜E 7°Ð3Ñ3Ô3€FÝ  Õ);¸QÀ¸FÀJÑ)OÔ)OÑPÔPÐPÐPÐPr=   zaxis, expected_subsetc                 óÊ   — g d¢}t          g d¢g d¢g d¢g| |¦  «        }g d¢}t          ||¦  «        }t          |||¬¦  «        }t          |t          || ¦  «        ¦  «         d S )NrI   ra   rv   rw   )FTTr)   r“   )rm   rr   r*   Úexpected_subsetr‡   ro   r|   r}   s           r;   Útest_safe_indexing_2d_maskr—   Û   s”   € ð /Ð.Ð.€LÝØ	ˆˆ�I�I�I˜y˜y˜yÐ)¨:°|ñô €Eð "Ð!Ð!€GÝ  ¨,Ñ7Ô7€Gå˜E 7°Ð6Ñ6Ô6€FÝ ØÕ" ?°JÑ?Ô?ñô ð ð ð r=   z array_type, expected_output_type))rn   rn   ©ro   ro   ©rp   rp   ©rq   rt   ©r   r   c                 ó¤   — t          g d¢g d¢g d¢g| ¦  «        }d}t          ||d¬¦  «        }t          g d¢|¦  «        }t          ||¦  «         d S )Nra   rv   rw   r   r   r)   r“   )rm   Úexpected_output_typero   r|   r}   r�   s         r;   Ú#test_safe_indexing_2d_scalar_axis_0rž   ï   si   € õ  	 	 	¨9¨9¨9°i°i°iÐ@À*ÑMÔM€EØ€GÝ˜E 7°Ð3Ñ3Ô3€FÝ'¨	¨	¨	Ð3GÑHÔH€NÝ  ¨Ñ8Ô8Ð8Ð8Ð8r=   c                 ób   — t          g d¢| ¦  «        }d}t          ||d¬¦  «        }|dk    sJ ‚d S )Nr�   r   r   r)   r   )r   r   )rm   ro   r|   r}   s       r;   Útest_safe_indexing_1d_scalarr      sB   € åÐ:Ð:Ð:¸JÑGÔG€EØ€GÝ˜E 7°Ð3Ñ3Ô3€FØ�QŠ;ˆ;ˆ;ˆ;ˆ;ˆ;r=   )r˜   r™   rš   r›   c                 ó�  — g d¢}t          g d¢g d¢g d¢g| |¦  «        }t          |t          ¦  «        rN| dvrJd}t          j        t
          |¬¦  «        5  t          ||d¬	¦  «         d d d ¦  «         d S # 1 swxY w Y   d S t          ||d¬	¦  «        }g d
¢}|dk    rdgdgdgg}t          ||¦  «        }t          ||¦  «         d S )NrI   ra   rv   rw   r„   r…   rS   r   r)   )r   r   r   rp   r   r   r   )r   rz   r@   r,   rV   rW   r   r   )	rm   r�   r|   r‡   ro   rˆ   r}   Úexpected_outputr�   s	            r;   Ú#test_safe_indexing_2d_scalar_axis_1r£   	  sP  € ð /Ð.Ð.€LÝØ	ˆˆ�I�I�I˜y˜y˜yÐ)¨:°|ñô €Eõ �'�3ÑÔð = JÐ6MÐ$MÐ$MàSð 	õ Œ]�:¨WÐ5Ñ5Ô5ð 	3ð 	3Ý˜5 '°Ð2Ñ2Ô2Ð2ð	3ð 	3ð 	3ñ 	3ô 	3ð 	3ð 	3ð 	3ð 	3ð 	3ð 	3ð 	3øøøð 	3ð 	3ð 	3ð 	3ð 	3ð 	3õ    w°QÐ7Ñ7Ô7ˆØ#˜)˜)ˆØ 8Ò+Ð+à !˜s Q C¨!¨˜oˆOÝ+¨OÐ=QÑRÔRˆÝ$ V¨^Ñ<Ô<Ð<Ð<Ð<s   ÁA5Á5A9Á<A9)rn   ro   rp   c                 ó|   — t          g d¢g d¢g d¢g| ¦  «        }t          |d d¬¦  «        }t          ||¦  «         d S )Nra   rv   rw   r   r)   r“   )rm   ÚXÚX_subsets      r;   Útest_safe_indexing_None_axis_0r§   )  sN   € å˜I˜I˜I y y y°)°)°)Ð<¸jÑIÔI€AÝ˜a ¨AÐ.Ñ.Ô.€HÝ  ¨1Ñ-Ô-Ð-Ð-Ð-r=   c                  óô   — t          j        d¦  «        } d}|                      t          ¦  «        }t          j        t
          |¬¦  «        5  t          |dgd¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NÚpandasz&No valid specification of the columns.rS   rU   r   r)   )r,   r-   r.   ÚX_toyrV   rW   r   )Úpdrˆ   r¥   s      r;   Ú0test_safe_indexing_pandas_no_matching_cols_errorr¬   0  s¸   € Ý	Ô	˜XÑ	&Ô	&€BØ6€GØ
�Š•UÑÔ€AÝ	Œ•z¨Ð	1Ñ	1Ô	1ð )ð )Ý�q˜3˜% aÐ(Ñ(Ô(Ð(ð)ð )ð )ñ )ô )ð )ð )ð )ð )ð )ð )ð )øøøð )ð )ð )ð )ð )ð )s   ÁA-Á-A1Á4A1r*   c                 ó    — t          j        t          d¬¦  «        5  t          t          ddg| ¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nz'axis' should be either 0rS   r   r   r)   )r,   rV   rW   r   rª   r)   s    r;   Útest_safe_indexing_error_axisr®   8  s•   € å	Œ•zÐ)DÐ	EÑ	EÔ	Eð 1ð 1Ý•u˜q !˜f¨4Ð0Ñ0Ô0Ð0ð1ð 1ð 1ñ 1ô 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1øøøð 1ð 1ð 1ð 1ð 1ð 1s   œAÁAÁ
AÚX_constructor)ro   rt   r   c                 óÈ  — t          t          d¦  «        ¦  «        }| dk    rt          j        |¦  «        } n`| dk    r*t	          j        d¦  «        }|                     |¦  «        } n0| dk    r*t	          j        d¦  «        }|                     |¬¦  «        } d}t	          j        t          |¬	¦  «        5  t          | d
dgd¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr   ro   rt   r©   r   r   )Úvaluesz='X' should be a 2D NumPy array, 2D sparse matrix or dataframerS   r   r   r)   )
rn   ÚrangerŽ   rd   r,   r-   ÚSeriesrV   rW   r   )r¯   r¥   r«   r0   rˆ   s        r;   Ú!test_safe_indexing_1d_array_errorr´   >  s   € õ 	�U�1‰XŒX‰Œ€AØ˜ÒÐÝœ
 1™œˆˆØ	˜(Ò	"Ð	"ÝÔ  Ñ*Ô*ˆØŸ	š	 !™œˆˆØ	˜/Ò	)Ð	)ÝÔ  Ñ*Ô*ˆØŸ	š	¨˜	Ñ+Ô+ˆàM€GÝ	Œ•z¨Ð	1Ñ	1Ô	1ð 6ð 6Ý�} q¨! f°1Ð5Ñ5Ô5Ð5ð6ð 6ð 6ñ 6ô 6ð 6ð 6ð 6ð 6ð 6ð 6ð 6øøøð 6ð 6ð 6ð 6ð 6ð 6s   Â5CÃCÃCc                  ó´   — ddg} g d¢g d¢g d¢g}d}t          j        t          |¬¦  «        5  t          || d¬	¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )
NrJ   rK   ra   rv   rw   z.String indexing is not supported with 'axis=0'rS   r   r)   ©r,   rV   rW   r   )r|   ro   rˆ   s      r;   Ú4test_safe_indexing_container_axis_0_unsupported_typer·   Q  s·   € Ø˜Ð €GØˆYˆY˜	˜	˜	 9 9 9Ð-€EØ>€GÝ	Œ•z¨Ð	1Ñ	1Ô	1ð /ð /Ý�u˜g¨AÐ.Ñ.Ô.Ð.ð/ð /ð /ñ /ô /ð /ð /ð /ð /ð /ð /ð /øøøð /ð /ð /ð /ð /ð /s   ­AÁAÁAc                  óB  — t          j        d¦  «        } t          | j        ¦  «        }t          |j        ¦  «        }|t          d¦  «        k    rt          d¦  «        ‚|                      g d¢g d¢dœ¦  «        }t          |ddgd¬	¦  «        }t          | j	        d
¦  «        r| j	        j
        }n| j        j        j
        }t          j        ¦   «         5  t          j        d|¦  «         d|j        d<   d d d ¦  «         n# 1 swxY w Y   |j        d         dk    sJ ‚d S )Nr©   Ú3z;SettingWithCopyWarning has been removed in pandas 3.0.0.devra   )r   r   r   )r#   r$   r   r   r)   ÚSettingWithCopyWarningÚerrorr!   )r   r   )r,   r-   Úparse_versionÚ__version__Úbase_versionr   r.   r   ÚhasattrÚerrorsrº   ÚcoreÚcommonÚwarningsÚcatch_warningsÚsimplefilterÚiloc)r«   Ú
pd_versionÚpd_base_versionr¥   r}   rº   s         r;   Ú4test_safe_indexing_pandas_no_settingwithcopy_warningrÉ   Y  sd  € õ 
Ô	˜XÑ	&Ô	&€Bå˜rœ~Ñ.Ô.€JÝ# JÔ$;Ñ<Ô<€Oà�-¨Ñ,Ô,Ò,Ð,ÝÐTÑUÔUÐUà
�Š˜9˜9˜9¨9¨9¨9Ð5Ð5Ñ6Ô6€AÝ˜A  1˜v¨AÐ.Ñ.Ô.€FÝˆrŒyÐ2Ñ3Ô3ð GØ!#¤Ô!AÐÐð "$¤¤Ô!FÐÝ	Ô	 Ñ	"Ô	"ð ð ÝÔ˜gÐ'=Ñ>Ô>Ð>ØˆŒ�DÑðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð Œ6�$Œ<˜1ÒÐÐÐÐÐs   Ã DÄDÄDc                 ó¬   — ddgddgddgg}d}t          j        t          |¬¦  «        5  t          || d¬	¦  «         d
d
d
¦  «         d
S # 1 swxY w Y   d
S )z@Check that we raise a ValueError when axis=1 with input as list.r   r   r   r   rx   r    z!axis=1 is not supported for listsrS   r)   Nr¶   )r|   r¥   rˆ   s      r;   Ú*test_safe_indexing_list_axis_1_unsupportedrË   r  s¯   € ð ˆQˆ�!�Q�˜!˜Q˜Ð €AØ1€GÝ	Œ•z¨Ð	1Ñ	1Ô	1ð +ð +Ý�q˜'¨Ð*Ñ*Ô*Ð*ð+ð +ð +ñ +ô +ð +ð +ð +ð +ð +ð +ð +øøøð +ð +ð +ð +ð +ð +s   ©A	Á	AÁA)ro   rp   rq   c                 ó(  — t           j                             d¦  «        }|                     dd¦  «        }ddg}|                     t	          |¦  «        |j        d         ¦  «        }t          || ¦  «        }t          |||¬¦  «         t          ||d¬¦  «        }t          |t          || ¦  «        ¦  «         ddg}|                     |j        d         t	          |¦  «        ¦  «        }t          || ¦  «        }t          |||¬¦  «         t          ||d¬¦  «        }t          |t          || ¦  «        ¦  «         d	\  }} |j        |j        Ž }t          || ¦  «        }t          |||¬¦  «         t          |t          || ¦  «        ¦  «         d
S )z,Check that `_safe_assign` works as expected.r   r!   r   r   r   )Úrow_indexerr)   )Úcolumn_indexer)NNN)
rŽ   ÚrandomÚRandomStateÚrandnÚlenÚshaper   r   r   r   )rm   ÚrngÚX_arrayrÍ   r±   r¥   Úassigned_portionrÎ   s           r;   Útest_safe_assignr×   {  s›  € õ Œ)×
Ò
 Ñ
"Ô
"€CØ�iŠi˜˜AÑÔ€Gà�a�&€KØ�YŠY•s˜;Ñ'Ô'¨¬°qÔ)9Ñ:Ô:€FÝ˜7 JÑ/Ô/€AÝ��F¨Ð4Ñ4Ô4Ð4å% a¨¸1Ð=Ñ=Ô=ÐÝ ØÕ,¨V°ZÑ@Ô@ñô ð ð ˜�V€NØ�YŠY�w”} QÔ'­¨^Ñ)<Ô)<Ñ=Ô=€FÝ˜7 JÑ/Ô/€AÝ��F¨>Ð:Ñ:Ô:Ð:å% a¨¸aÐ@Ñ@Ô@ÐÝ ØÕ,¨V°ZÑ@Ô@ñô ð ð #-Ñ€K�ØˆSŒY˜œÐ €FÝ˜7 JÑ/Ô/€AÝ��F¨>Ð:Ñ:Ô:Ð:å  Õ$6°v¸zÑ$JÔ$JÑKÔKÐKÐKÐKr=   zkey, err_msg)r!   z all features must be in \[0, 2\])Úwhateverú/A given column is not a column of the dataframez%No valid specification of the columnsc                 óò   — t          j        d¦  «        }|                     t          g d¢¬¦  «        }t          j        t
          |¬¦  «        5  t          || ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr©   rI   ©ÚcolumnsrS   )r,   r-   r.   rª   rV   rW   r   )r3   rˆ   r«   ÚX_dfs       r;   Útest_get_column_indices_errorrÞ   �  s¹   € õ 
Ô	˜XÑ	&Ô	&€BØ�<Š<�Ð'BÐ'BÐ'Bˆ<ÑCÔC€Då	Œ•z¨Ð	1Ñ	1Ô	1ð 'ð 'Ý˜D #Ñ&Ô&Ð&ð'ð 'ð 'ñ 'ô 'ð 'ð 'ð 'ð 'ð 'ð 'ð 'øøøð 'ð 'ð 'ð 'ð 'ð 's   ÁA,Á,A0Á3A0r3   Úcol1Úcol2Úcol3c                 óz  — t          j        d¦  «        }t          j        dt          ¬¦  «        }g d¢}|                     ||¬¦  «        }d                     | ¦  «        }t          j        t          ¦  «        5 }t          || ¦  «         d d d ¦  «         n# 1 swxY w Y   t          |j        ¦  «        |k    sJ ‚d S )Nr©   )r   r   rF   )rß   rß   rà   rá   rà   rÛ   z1Selected columns, {}, are not unique in dataframe)r,   r-   rŽ   Úzerosr>   r.   ÚformatrV   rW   r   r@   Úvalue)r3   r«   ÚtoyrÜ   r¥   rˆ   Úexc_infos          r;   Ú6test_get_column_indices_pandas_nonunique_columns_errorrè   ­  sî   € õ 
Ô	˜XÑ	&Ô	&€BÝ
Œ(�6¥Ð
%Ñ
%Ô
%€CØ6Ð6Ð6€GØ
�Š�S 'ˆÑ*Ô*€AàA×HÒHÈÑMÔM€GÝ	Œ•zÑ	"Ô	"ð $ hÝ˜A˜sÑ#Ô#Ð#ð$ð $ð $ñ $ô $ð $ð $ð $ð $ð $ð $øøøð $ð $ð $ð $åˆxŒ~ÑÔ 'Ò)Ð)Ð)Ð)Ð)Ð)s   Á9BÂBÂBc            
      ó  — t          j        dd¬¦  «        } |                      g d¢g d¢gg d¢¬¦  «        } G d„ d	¦  «        } ||¦  «        }t          d
d¦  «        d
dgft          dd¦  «        dd
gft          d
d¦  «        d
gfddgd
dgft          dd¦  «        dd
gft          dd¦  «        g d¢ft          dd¦  «        dgfddgddgfg g fg	}|D ]\  }}t	          ||¦  «        |k    sJ ‚Œd}t          j        t          |¬¦  «        5  t	          |dg¦  «         ddd¦  «         n# 1 swxY w Y   d}t          j        t          |¬¦  «        5  t	          |t          ddd¦  «        ¦  «         ddd¦  «         dS # 1 swxY w Y   dS )z=Check _get_column_indices for edge cases with the interchanger©   z1.5r   ra   rv   r"   rÛ   c                   ó   — e Zd Zd„ Zd„ ZdS )ú:test_get_column_indices_interchange.<locals>.MockDataFramec                 ó   — || _         d S rO   )Ú_df)Úselfr1   s     r;   Ú__init__zCtest_get_column_indices_interchange.<locals>.MockDataFrame.__init__Å  s   € ØˆDŒHˆHˆHr=   c                 ó,   — t          | j        |¦  «        S rO   )Úgetattrrí   )rî   Únames     r;   Ú__getattr__zFtest_get_column_indices_interchange.<locals>.MockDataFrame.__getattr__È  s   € Ý˜4œ8 TÑ*Ô*Ð*r=   N)Ú__name__Ú
__module__Ú__qualname__rï   ró   rX   r=   r;   r   rë   Ä  s2   € € € € € ð	ð 	ð 	ð	+ð 	+ð 	+ð 	+ð 	+r=   r   r   Nr   r   r$   r%   r#   rB   rÙ   rS   Únot_a_columnzkey.step must be 1 or None)r,   r-   r.   r]   r   rV   rW   ÚNotImplementedError)r«   r1   r   Ú	df_mockedÚkey_resultsr3   ÚresultÚmsgs           r;   Ú#test_get_column_indices_interchangerý   ¼  sp  € å	Ô	˜X°%Ð	8Ñ	8Ô	8€Bà	�Š�y�y�y ) ) )Ð,°o°o°oˆÑ	FÔ	F€Bð+ð +ð +ð +ð +ñ +ô +ð +ð �˜bÑ!Ô!€Iõ 
ˆq�$‰Œ˜!˜Q˜Ð Ý	ˆt�Q‰Œ˜!˜Q˜Ð Ý	ˆq�!‰Œ�q�cÐØ
ˆsˆ�a˜�VÐÝ	ˆs�C‰Œ˜1˜a˜&Ð!Ý	ˆs�DÑ	Ô	˜9˜9˜9Ð%Ý	ˆt�SÑ	Ô	˜A˜3ÐØ
ˆsˆ�a˜�VÐØ	ˆRˆð
€Kð #ð =ð =‰ˆˆVÝ" 9¨cÑ2Ô2°fÒ<Ð<Ð<Ð<Ð<à
;€CÝ	Œ•z¨Ð	-Ñ	-Ô	-ð 9ð 9Ý˜I¨Ð'7Ñ8Ô8Ð8ð9ð 9ð 9ñ 9ô 9ð 9ð 9ð 9ð 9ð 9ð 9øøøð 9ð 9ð 9ð 9ð '€CÝ	ŒÕ*°#Ð	6Ñ	6Ô	6ð <ð <Ý˜I¥u¨S°$¸Ñ':Ô':Ñ;Ô;Ð;ð<ð <ð <ñ <ô <ð <ð <ð <ð <ð <ð <ð <øøøð <ð <ð <ð <ð <ð <s$   ÄD*Ä*D.Ä1D.Å E?Å?FÆFc                  óŠ  — t          ¦   «         �J ‚t          j        t          ¦  «        5  t          dgddg¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          ¦  «        5  t          ddgddgdd¬¦  «         d d d ¦  «         n# 1 swxY w Y   t	          t          ddgd¬¦  «        ¦  «        dk    sJ ‚d S )	Nr   r   Fr   )ÚreplaceÚ	n_samplesr   r   )r   )r   r,   rV   rW   rÒ   rX   r=   r;   Útest_resampler  ä  sE  € å‰:Œ:ÐÐÐõ 
Œ•zÑ	"Ô	"ð ð Ý�!��q˜!�fÑÔÐðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð å	Œ•zÑ	"Ô	"ð =ð =Ý�!�Q�˜!˜Q˜¨¸!Ð<Ñ<Ô<Ð<ð=ð =ð =ñ =ô =ð =ð =ð =ð =ð =ð =øøøð =ð =ð =ð =õ �x˜˜A˜¨!Ð,Ñ,Ô,Ñ-Ô-°Ò2Ð2Ð2Ð2Ð2Ð2s#   ªA
Á
AÁAÁ.BÂBÂBc                  ó¤  — t           j                             d¦  «        } d}d}|                      |df¬¦  «        }|                      d||¬¦  «        }t          ||ddd ¬¦  «        \  }}t          j        |dk    ¦  «        sJ ‚t          ||dd|¬¦  «        \  }}t          j        |dk    ¦  «        rJ ‚t          j        |¦  «        dk    sJ ‚d S )	Nr   éd   gÍÌÌÌÌÌì?r   ©Úsizer!   ©r   Úrandom_stateÚstratifyr   )rŽ   rÏ   rÐ   ÚnormalÚbinomialr   ÚallÚsum)rÔ   r   Úpr¥   ÚyÚ_Úy_not_stratifiedÚy_stratifieds           r;   Útest_resample_stratifiedr  ò  sâ   € å
Œ)×
Ò
 Ñ
"Ô
"€CØ€IØ€AØ�
Š
˜ A˜ˆ
Ñ'Ô'€AØ�Š�Q˜ 	ˆÑ*Ô*€Aå" 1 a°2ÀAÐPTÐUÑUÔUÑ€AÐÝŒ6Ð" aÒ'Ñ(Ô(Ð(Ð(Ð(å˜q !¨rÀÈAÐNÑNÔN�O€A€|ÝŒv�l aÒ'Ñ(Ô(Ð(Ð(Ð(ÝŒ6�,ÑÔ 1Ò$Ð$Ð$Ð$Ð$Ð$r=   c                  ó<  — t           j                             d¦  «        } d}|                      |df¬¦  «        }|                      dd|¬¦  «        }t          ||dd| |¬¦  «        \  }}t          ||d	d| |¬¦  «        \  }}t          j        |¦  «        j        d         dk     sJ ‚t          j        |¦  «        j        d         dk    sJ ‚t          ||dd
| |¬¦  «        \  }}|j        d         d
k    sJ ‚t          j        |¦  «        j        d         dk    sJ ‚d S )Nr   r  r   r  r   Té2   )rÿ   r   r  r  Fiè  )rŽ   rÏ   rÐ   r	  Úrandintr   ÚuniquerÓ   )rÔ   r   r¥   r  Ú	X_replacer  ÚX_no_replaces          r;   Ú test_resample_stratified_replacer    sH  € å
Œ)×
Ò
 Ñ
"Ô
"€CØ€IØ�
Š
˜ A˜ˆ
Ñ'Ô'€AØ�Š�A�q˜yˆÑ)Ô)€AåØ	ˆ1�d b°sÀQðñ ô �L€Iˆqõ Ø	ˆ1�e r¸Àaðñ ô �O€L�!õ Œ9�YÑÔÔ% aÔ(¨2Ò-Ð-Ð-Ð-ÝŒ9�\Ñ"Ô"Ô(¨Ô+¨rÒ1Ð1Ð1Ð1õ Ø	ˆ1�d d¸Àqðñ ô �L€Iˆqð Œ?˜1Ô Ò%Ð%Ð%Ð%ÝŒ9�YÑÔÔ% aÔ(¨CÒ/Ð/Ð/Ð/Ð/Ð/r=   c                  óô   — t           j                             d¦  «        } d}|                      |df¬¦  «        }|                      dd|df¬¦  «        }t          ||d| |¬¦  «        \  }}|j        dk    sJ ‚d S )Nr   r  r   r  r   r  r  )rŽ   rÏ   rÐ   r	  r  r   Úndim)rÔ   r   r¥   r  s       r;   Útest_resample_stratify_2dyr    s}   € å
Œ)×
Ò
 Ñ
"Ô
"€CØ€IØ�
Š
˜ A˜ˆ
Ñ'Ô'€AØ�Š�A�q 	¨1˜~ˆÑ.Ô.€AÝ�A�q B°SÀ1ÐEÑEÔE�D€A€qØŒ6�QŠ;ˆ;ˆ;ˆ;ˆ;ˆ;r=   Úcsr_containerc                 ó|  — t           j                             d¦  «        }d}|                     |df¬¦  «        }|                     dd|¬¦  «        } | |                     dd¦  «        ¦  «        }t          j        t          d¬¦  «        5  t          ||d	||¬
¦  «        \  }}d d d ¦  «         d S # 1 swxY w Y   d S )Nr   r  r   r  éÿÿÿÿr   zSparse data was passedrS   r  r  )
rŽ   rÏ   rÐ   r	  r  Úreshaper,   rV   r\   r   )r  rÔ   r   r¥   r  r  s         r;   Ú#test_resample_stratify_sparse_errorr!  %  s  € õ Œ)×
Ò
 Ñ
"Ô
"€CØ€IØ�
Š
˜ A˜ˆ
Ñ'Ô'€AØ�Š�A�q˜yˆÑ)Ô)€AØˆ}˜QŸYšY r¨1Ñ-Ô-Ñ.Ô.€HÝ	Œ•yÐ(@Ð	AÑ	AÔ	Að Qð QÝ˜˜1¨¸ÀxÐPÑPÔP‰ˆˆ1ðQð Qð Qñ Qô Qð Qð Qð Qð Qð Qð Qð Qøøøð Qð Qð Qð Qð Qð Qs   ÂB1Â1B5Â8B5c                  óÚ   — d„ } t          j        ddgddggddgdd	ggg¦  «        }t           | |¦  «        ¦  «        }t          |¦  «         t           | |¦  «        ¦  «        |k    sJ ‚d S )
Nc                 ó4   — t          d„ | D ¦   «         ¦  «        S )Nc              3   óH   K  — | ]}t          d „ |D ¦   «         ¦  «        V — ŒdS )c              3   ó4   K  — | ]}t          |¦  «        V — Œd S rO   ©rs   )Ú.0ÚCs     r;   ú	<genexpr>zPtest_shuffle_on_ndim_equals_three.<locals>.to_tuple.<locals>.<genexpr>.<genexpr>3  s(   è è € Ð/Ð/¨�5 ™8œ8Ð/Ð/Ð/Ð/Ð/Ð/r=   Nr&  )r'  ÚBs     r;   r)  zFtest_shuffle_on_ndim_equals_three.<locals>.to_tuple.<locals>.<genexpr>3  s9   è è € Ð;Ð;°A•UÐ/Ð/¨QÐ/Ñ/Ô/Ñ/Ô/Ð;Ð;Ð;Ð;Ð;Ð;r=   r&  )ÚAs    r;   Úto_tuplez3test_shuffle_on_ndim_equals_three.<locals>.to_tuple2  s   € ÝÐ;Ð;¸Ð;Ñ;Ô;Ñ;Ô;Ð;r=   r   r   r   r   r   r   rx   r    )rŽ   ro   Úsetr   )r,  r+  ÚSs      r;   Ú!test_shuffle_on_ndim_equals_threer/  1  sˆ   € ð<ð <ð <õ 	Œ�A�q�6˜A˜q˜6Ð" a¨ V¨a°¨VÐ$4Ð5Ñ6Ô6€AÝˆHˆH�Q‰KŒKÑÔ€AÝˆA�J„J€JÝˆxˆx˜‰{Œ{ÑÔ˜qÒ Ð Ð Ð Ð Ð r=   Úcsc_containerc           	      ó4  — g d¢}t          j        g d¢t          ¬¦  «        }g d¢}t          t          j        ddgddgdd	ggt          ¬¦  «        ¦  «        } | t          j        d
¦  «                             dd	¦  «        ¦  «        }t          |||||d¬¦  «        \  }}}}	}
|g d¢k    sJ ‚t          |¦  «        t          k    sJ ‚t          |g d¢¦  «         |j
        t          k    sJ ‚|g d¢k    sJ ‚t          |¦  «        t          k    sJ ‚t          |	t          j        dd	gddgddggt          ¬¦  «        ¦  «         t          |	¦  «        t          k    sJ ‚t          |
                     ¦   «         t          j        ddgd	dgddgg¦  «        ¦  «         d S )Nr"   rF   ra   r#   r   r$   r   r%   r   r   r   )r  )r%   r$   r#   )r   r   r   r   r   )rŽ   ro   Úobjectr   Úaranger   r   Útypern   r   rG   Útoarray)r0  r#   r$   r%   ÚdÚeÚa_sÚb_sÚc_sÚd_sÚe_ss              r;   Ú"test_shuffle_dont_convert_to_arrayr=  ;  s¬  € ð 	ˆˆ€AÝ
Œ���­Ð/Ñ/Ô/€AØˆ	ˆ	€AÝ•b”h  a ¨3°¨(°S¸!°HÐ=ÅVÐLÑLÔLÑMÔM€AØˆ•b”i ‘l”l×*Ò*¨1¨aÑ0Ô0Ñ1Ô1€AÝ% a¨¨A¨q°!À!ÐDÑDÔDÑ€Cˆˆc�3˜à�/�/�/Ò!Ð!Ð!Ð!Ý�‰9Œ9�ÒÐÐÐå�s˜O˜O˜OÑ,Ô,Ð,ØŒ9�ÒÐÐÐà�)�)�)ÒÐÐÐÝ�‰9Œ9�ÒÐÐÐå�s�BœH s¨A h°°a°¸3À¸(Ð%CÍ6ÐRÑRÔRÑSÔSÐSÝ�‰9Œ9�Ò%Ð%Ð%Ð%å�s—{’{‘}”}¥b¤h°°A°¸¸A¸ÀÀAÀÐ/GÑ&HÔ&HÑIÔIÐIÐIÐIr=   )LrÃ   r   Úunittestr   ÚnumpyrŽ   r,   rb   Ú$sklearn.externals._packaging.versionr   r¼   Úsklearn.utilsr   r   r   Úsklearn.utils._array_apir	   Úsklearn.utils._indexingr
   r   r   Úsklearn.utils._mockingr   Úsklearn.utils._testingr   r   r   r   r   Úsklearn.utils.fixesr   r   r3  r   rª   r<   ÚmarkÚparametrizeÚbool_r]   ro   Úint32Úint64Úuint8r2  rP   rY   r^   rl   r~   r‚   r‰   r‘   r”   r—   rž   r    r£   r§   r¬   r®   r´   r·   rÉ   rË   r×   rÞ   rè   rý   r  r  r  r  r!  r/  r=  rX   r=   r;   ú<module>rM     s:
  ðØ €€€Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð à Ð Ð Ð Ø €€€à €€€Ø GÐ GÐ GÐ GÐ GÐ GØ ;Ð ;Ð ;Ð ;Ð ;Ð ;Ð ;Ð ;Ð ;Ð ;Ø NÐ NÐ NÐ NÐ NÐ Nðð ð ð ð ð ð ð ð ð ð
 1Ð 0Ð 0Ð 0Ð 0Ð 0ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ?Ð >Ð >Ð >Ð >Ð >Ð >Ð >ð 	ˆŒ	�!‰Œ×Ò˜VÑ$Ô$€ð)ð )ð )ðB „×ÒØàØØØ	ˆŒ�$‰Œ˜Ð Ø	ˆˆ�EÐØ	ˆˆ˜%Ð ØØ Ø	ˆˆt�TÑ	Ô	˜DÐ!Ø	ˆˆq�!‰Œ�eÐØ	ˆŒ�)�)�) 2¤8Ð	,Ñ	,Ô	,¨eÐ4Ø	ˆŒ�)�)�) 2¤8Ð	,Ñ	,Ô	,¨eÐ4Ø	ˆŒ�)�)�) 2¤8Ð	,Ñ	,Ô	,¨eÐ4Ø
�ˆ˜ÐØØ	ˆŒ�4˜�-Ñ	 Ô	  &Ð)ØØ	$Ð	$Ð	$ eÐ,Ø,Ø	ˆˆw˜Ñ	Ô	 Ð&Ø	ˆŒÐ-Ð-Ð-Ñ	.Ô	.°Ð6Ø	ˆŒÐ-Ð-Ð-°VÐ	<Ñ	<Ô	<¸eÐDð-ñô ð6-ð -ñ7ô ð6-ð!ð !ð !ð
@ð @ð @ð
 )Ø„×ÒØ)Ð+TÐ+TÑ+VÔ+Vñô ð7ð 7ñô ñ )Ô(ð7ð* „×ÒØÐDÐDÐDñô ð „×Ò˜Ð)VÐ)VÐ)VÑWÔWð	ð 	ñ XÔWñô ð	ð „×Ò˜Ð'SÐ'SÐ'SÑTÔTØ„×Ò˜Ð)VÐ)VÐ)VÑWÔWðQð Qñ XÔWñ UÔTðQð „×Ò˜Ð'QÐ'QÐ'QÑRÔRØ„×Ò˜Ð)VÐ)VÐ)VÑWÔWØ„×Ò˜ a¨ V¨g°wÐ-?Ð$@ÑAÔAð
ð 
ñ BÔAñ XÔWñ SÔRð
ð4 „×ÒÐ*¨T°5¨MÑ:Ô:Ø„×ÒÐ,¨t°U¨mÑ<Ô<Ø„×Ò˜Ð'QÐ'QÐ'QÑRÔRØ„×Ò˜¨'°8Ð)<Ñ=Ô=Ø„×ÒØ˜a ) ) )¨Y¨Y¨YÐ!7Ð8¸1ÀÀ1¸vÈÈ1ÀvÐPQÐSTÈvÐ>VÐ:WÐXñô ðYð Yñô ñ >Ô=ñ SÔRñ =Ô<ñ ;Ô:ðYð „×Ò˜Ð'SÐ'SÐ'SÑTÔTØ„×Ò˜Ð)MÐ)MÐ)MÑNÔNðQð Qñ OÔNñ UÔTðQð „×Ò˜Ð'QÐ'QÐ'QÑRÔRØ„×Ò˜Ð)MÐ)MÐ)MÑNÔNØ„×ÒØØˆ)ˆ)ˆ)�Y�Y�YÐ	Ð  1¨¨1 v°°1¨v¸¸1°vÐ&>Ð"?Ð@ñô ðð ñ	ô ñ OÔNñ SÔRðð „×ÒØ&ðð ð ñ	ô 	ð9ð 9ñ	ô 	ð9ð „×Ò˜Ð'SÐ'SÐ'SÑTÔTðð ñ UÔTðð „×ÒØ&ðð ð ñô ð „×Ò˜ Q¨ LÑ1Ô1ð=ð =ñ 2Ô1ñô ð=ð, „×Ò˜Ð'BÐ'BÐ'BÑCÔCð.ð .ñ DÔCð.ð)ð )ð )ð „×Ò˜ $¨ Ñ+Ô+ð1ð 1ñ ,Ô+ð1ð
 „×Ò˜Ð*NÐ*NÐ*NÑOÔOð6ð 6ñ PÔOð6ð$/ð /ð /ðð ð ð2 „×Ò˜ Q¨¨A¨°°°a¸±´¸X¸R¼XÀqÈ!ÀfÑ=MÔ=MÐ$NÑOÔOð+ð +ñ PÔOð+ð „×Ò˜Ð'GÐ'GÐ'GÑHÔHðLð Lñ IÔHðLðB „×ÒØà1ØGØ	ˆ‰ŒÐ:Ð;ðñô ð'ð 'ñô ð'ð „×ÒØ	ˆVˆH�v�h ¨Ð 0°6¸6Ð2BÀVÈVÐDTÐUñô ð	*ð 	*ñô ð	*ð%<ð %<ð %<ðP3ð 3ð 3ð%ð %ð %ð 0ð 0ð 0ð2ð ð ð „×Ò˜¨.Ñ9Ô9ðQð Qñ :Ô9ðQð!ð !ð !ð „×Ò˜¨.Ñ9Ô9ðJð Jñ :Ô9ðJð Jð Jr=   