Ë
    ÷Q(hKÑ  ã                   ó<  — d 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 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Zddl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dl m!Z!m"Z"m#Z# dZ$dZ% G d„ d«      Z& eed¬«      Zd„ Z'ejP                  jS                  ddddidddfddddœdddfdddidddfddddœdddfdddid d!dfdd"ddœd d!dfd#dd#id$d%d&fd'dd'id(d)dfd'd*d+id(d)dfd,dd,id!d-dfd,d*d.id!d-dfd/dd/id0d$dfg«      ejP                  jS                  d1d2d3g«      ejP                  jS                  d4dd5g«      d6„ «       «       «       Z*ejP                  jS                  ddddidddfddddœdddfdddidddfddddœdddfdddid d!dfdd"ddœd d!dfd#dd#id$d%d&fd'dd'id(d)dfd'd*d+id(d)dfd,dd,id!d-dfd,d*d.id!d-dfg«      ejP                  jS                  d1d2d3g«      d7„ «       «       Z+ejP                  jS                  dg d8¢«      d9„ «       Z,ejP                  jS                  d1d2d3g«      d:„ «       Z-ejP                  jS                  d1d2d3g«      d;„ «       Z.ejP                  jS                  d1d2d3g«      ejP                  jS                  d<d=d=d>gg«      d?„ «       «       Z/ejP                  jS                  dg d@¢«      ejP                  jS                  d1d2d3g«      dA„ «       «       Z0ejP                  jS                  dg dB¢«      ejP                  jS                  d1d2d3g«      dC„ «       «       Z1dD„ Z2 ejf                  dE¬F«      dG„ «       Z4 ejf                  dE¬F«      dH„ «       Z5ejP                  jS                  dIg dJ¢«      ejP                  jS                  d4dd5g«      dK„ «       «       Z6ejP                  jS                  dLd1dMidNfdOdMidPfg«      dQ„ «       Z7ejP                  jS                  dRddSdTœdSdSdTœd5d3dTœd5dSdTœg«      dU„ «       Z8ejP                  js                  dV«      ejP                  jS                  dLd1d3idWfdOdidXfd3ddYœdXfg«      dZ„ «       «       Z:ejP                  js                  dV«      ejP                  jS                  d[d\d]g«      d^„ «       «       Z;d_„ Z<ejP                  jS                  d4dd5g«      d`„ «       Z=ejP                  jS                  d4dd5g«      da„ «       Z>ejP                  jS                  d4dd5g«      ejP                  jS                  d1d2d3g«      db„ «       «       Z?ejP                  jS                  d4dd5g«      ejP                  jS                  dcdddiddeddfœg«      dg„ «       «       Z@ejP                  jS                  d4dd5g«      ejP                  jS                  dhddd*deieAdifdddjdkgdlœeAdmfd/d/d5dnœeAdofdddpddqœeAdrfdddpd5dqœeAdrfdddsdlœeBdtfdddsdkgdlœeBdtfg«      ejP                  jS                  d1d2d3g«      du„ «       «       «       ZCejP                  jS                  dvdwddxdfœeAdyfdwdzd{œeAd|fdwdzdxdfœeAd}fi eAd~fg«      d„ «       ZDejP                  jS                  d4dd5g«      d€„ «       ZEejP                  jS                  d4dd5g«      d�„ «       ZFejP                  jS                  d4dd5g«      d‚„ «       ZGdƒ„ ZHejP                  jS                  d4dd5g«      d„„ «       ZIejP                  jS                  d…dd5g«      d†„ «       ZJd‡„ ZKdˆ„ ZLejP                  jS                  d4dd5g«      d‰„ «       ZMejP                  jS                  dŠg d‹¢«      dŒ„ «       ZNd�„ ZOejP                  jS                  d4dd5g«      ejP                  jS                  d1dŽ«      d�„ «       «       ZPd�„ ZQd‘„ ZRd’„ ZSy)“zTest the openml loader.é    N)Úpartial)Ú	resources)ÚBytesIO)Ú	HTTPError)Úconfig_context)Úfetch_openml)Ú_OPENML_PREFIXÚ_get_local_pathÚ_open_openml_urlÚ_retry_with_clean_cache)ÚBunch)Úcheck_pandas_support)ÚSkipTestÚassert_allcloseÚassert_array_equalz"sklearn.datasets.tests.data.openmlTc                   ó8   — e Zd Zd„ Zd	d„Zd„ Zd„ Zd„ Zd„ Zd„ Z	y)
Ú_MockHTTPResponsec                 ó    — || _         || _        y ©N)ÚdataÚis_gzip)Úselfr   r   s      ú`/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/sklearn/datasets/tests/test_openml.pyÚ__init__z_MockHTTPResponse.__init__'   s   € ØˆŒ	Øˆ�ó    c                 ó8   — | j                   j                  |«      S r   )r   Úread)r   Úamts     r   r   z_MockHTTPResponse.read+   s   € Ø�y‰y�~‰~˜cÓ"Ð"r   c                 ó8   — | j                   j                  «        y r   )r   Úclose©r   s    r   r    z_MockHTTPResponse.close.   s   € Ø�	‰	�‰Õr   c                 ó&   — | j                   rddiS i S )NzContent-EncodingÚgzip©r   r!   s    r   Úinfoz_MockHTTPResponse.info1   s   € Ø�<Š<Ø&¨Ð/Ð/Øˆ	r   c                 ó,   — t        | j                  «      S r   )Úiterr   r!   s    r   Ú__iter__z_MockHTTPResponse.__iter__6   s   € Ü�D—I‘I‹Ðr   c                 ó   — | S r   © r!   s    r   Ú	__enter__z_MockHTTPResponse.__enter__9   s   € Øˆr   c                  ó   — y)NFr*   )r   Úexc_typeÚexc_valÚexc_tbs       r   Ú__exit__z_MockHTTPResponse.__exit__<   s   € Ør   N)éÿÿÿÿ)
Ú__name__Ú
__module__Ú__qualname__r   r   r    r%   r(   r+   r0   r*   r   r   r   r   &   s%   „ òó#òòò
òór   r   )Ú	data_homec                 ó<  ‡‡‡‡‡‡‡	‡
‡‡‡‡‡‡— dŠdŠdŠdŠdŠt         j                  Št        dz   d|› �z   Š
ˆfd„Šˆˆ
ˆˆfd	„Š	ˆ	ˆfd
„Šˆ	ˆfd„Šˆ	ˆfd„Šˆˆ
ˆˆfd„Šˆˆˆˆˆˆˆˆfd„}t        r,| j	                  t
        j                  j                  d|«       y y )Nz(https://api.openml.org/api/v1/json/data/z1https://api.openml.org/api/v1/json/data/features/zhttps://api.openml.org/data/v1/z-https://api.openml.org/api/v1/json/data/list/z.gzú.Úid_c                 óº  •— t        j                  dd| t        d«      d  «      |z   ‰z   }|j                  dd«      j                  dd«      j                  dd	«      j                  d
d«      j                  dd«      j                  dd«      j                  dd«      j                  dd«      j                  dd«      j                  dd«      j                  dd«      S )Nz\Wú-zhttps://api.openml.org/z-json-data-listz-jdlz-json-data-featuresz-jdfz-json-data-qualitiesz-jdqz
-json-dataz-jdz
-data_namez-dnz	-downloadz-dlz-limitz-lz-data_versionz-dvz-statusz-sz-deactivatedz-dactz-activez-act)ÚreÚsubÚlenÚreplace)ÚurlÚsuffixÚoutputÚpath_suffixs      €r   Ú
_file_namez4_monkey_patch_webbased_functions.<locals>._file_nameU   sÆ   ø€ ä�F‰F�5˜#˜s¤3Ð'@Ó#AÐ#CÐDÓEØñàñð 	ð �N‰NÐ,¨fÓ5ß‰WÐ*¨FÓ3ß‰WÐ+¨VÓ4ß‰W�\ 5Ó)ß‰W�\ 5Ó)ß‰W�[ %Ó(ß‰W�X˜tÓ$ß‰W�_ eÓ,ß‰W�Y Ó%ß‰W�^ WÓ-ß‰W�Y Ó'ð	
r   c                 óz  •— | j                  |«      sJ ‚ ‰	| |«      }t        j                  ‰
«      |z  }|j                  d«      5 }|r0‰r.t	        |j                  «       «      }t        |d«      cd d d «       S  ‰|d«      }t	        |j                  «       «      }t        |d«      cd d d «       S # 1 sw Y   y xY w)NÚrbTF)Ú
startswithr   ÚfilesÚopenr   r   r   )r?   Úhas_gzip_headerÚexpected_prefixr@   Údata_file_nameÚdata_file_pathÚfÚfpÚdecompressed_frC   Údata_moduleÚgzip_responseÚread_fns            €€€€r   Ú_mock_urlopen_sharedz>_monkey_patch_webbased_functions.<locals>._mock_urlopen_sharedk   s­   ø€ Ø�~‰~˜oÔ.Ð.Ð.á# C¨Ó0ˆÜ"Ÿ™¨Ó5¸ÑFˆà× Ñ  Ó&ð 	4¨!Ù¡=Ü˜QŸV™V›XÓ&�Ü(¨¨TÓ2÷	4ñ 	4ñ
 ")¨¨DÓ!1�Ü˜^×0Ñ0Ó2Ó3�Ü(¨¨UÓ3÷	4÷ 	4ò 	4ús   Á)B1Á:-B1Â1B:c                 ó   •—  ‰| |‰d¬«      S ©Nú.json©r?   rI   rJ   r@   r*   )r?   rI   rS   Úurl_prefix_data_descriptions     €€r   Ú_mock_urlopen_data_descriptionzH_monkey_patch_webbased_functions.<locals>._mock_urlopen_data_descriptionz   s   ø€ Ù#ØØ+Ø7Øô	
ð 	
r   c                 ó   •—  ‰| |‰d¬«      S rU   r*   )r?   rI   rS   Úurl_prefix_data_featuress     €€r   Ú_mock_urlopen_data_featureszE_monkey_patch_webbased_functions.<locals>._mock_urlopen_data_features‚   ó   ø€ Ù#ØØ+Ø4Øô	
ð 	
r   c                 ó   •—  ‰| |‰d¬«      S )Nz.arffrW   r*   )r?   rI   rS   Úurl_prefix_download_datas     €€r   Ú_mock_urlopen_download_datazE_monkey_patch_webbased_functions.<locals>._mock_urlopen_download_dataŠ   r]   r   c                 ót  •— | j                  ‰«      sJ ‚ ‰	| d«      }t        j                  ‰
«      |z  }|j                  d«      5 } ‰|d«      }|j	                  «       j                  d«      }t        j                  |«      }d d d «       dv rt        d ddd t        «       ¬«      ‚|j                  d«      5 }|r.t        |j	                  «       «      }t        |d«      cd d d «       S  ‰|d«      }t        |j	                  «       «      }t        |d	«      cd d d «       S # 1 sw Y   ŒžxY w# 1 sw Y   y xY w)
NrV   rE   zutf-8Úerroréœ  úSimulated mock error©r?   ÚcodeÚmsgÚhdrsrN   TF)rF   r   rG   rH   r   ÚdecodeÚjsonÚloadsr   r   r   )r?   rI   rK   rL   rM   rO   Ú	decoded_sÚ	json_datarN   rC   rP   rR   Úurl_prefix_data_lists            €€€€r   Ú_mock_urlopen_data_listzA_monkey_patch_webbased_functions.<locals>._mock_urlopen_data_list’   s2  ø€ Ø�~‰~Ð2Ô3Ð3Ð3á# C¨Ó1ˆÜ"Ÿ™¨Ó5¸ÑFˆð × Ñ  Ó&ð 	.¨!Ù$ Q¨Ó-ˆNØ&×+Ñ+Ó-×4Ñ4°WÓ=ˆIÜŸ
™
 9Ó-ˆI÷	.ð �iÑÜØ˜sÐ(>ÀTÌgËiôð ð × Ñ  Ó&ð 	4¨!ÙÜ˜QŸV™V›XÓ&�Ü(¨¨TÓ2÷	4ñ 	4ñ
 ")¨¨DÓ!1�Ü˜^×0Ñ0Ó2Ó3�Ü(¨¨UÓ3÷	4ñ 	4÷	.ð 	.ú÷	4ð 	4ús   Á>D"Â:'D.Ã+-D.Ä"D+Ä.D7c                 ó8  •— | j                  «       }| j                  d«      dk(  }|j                  ‰«      r	 ‰||«      S |j                  ‰
«      r	 ‰||«      S |j                  ‰«      r	 ‰||«      S |j                  ‰	«      r	 ‰||«      S t        d|z  «      ‚)NzAccept-encodingr#   zUnknown mocking URL pattern: %s)Úget_full_urlÚ
get_headerrF   Ú
ValueError)ÚrequestÚargsÚkwargsr?   rI   rY   r\   ro   r`   rX   r[   rn   r_   s        €€€€€€€€r   Ú_mock_urlopenz7_monkey_patch_webbased_functions.<locals>._mock_urlopen«   s    ø€ Ø×"Ñ"Ó$ˆØ!×,Ñ,Ð->Ó?À6ÑIˆØ�>‰>Ð.Ô/Ù*¨3°Ó@Ð@Ø�^‰^Ð4Ô5Ù.¨s°OÓDÐDØ�^‰^Ð4Ô5Ù.¨s°OÓDÐDØ�^‰^Ð7Ô8Ù1°#°ÓGÐGäÐ>ÀÑDÓEÐEr   Úurlopen)r#   rH   ÚOPENML_TEST_DATA_MODULEÚtest_offlineÚsetattrÚsklearnÚdatasetsÚ_openml)ÚcontextÚdata_idrQ   rw   rC   rY   r\   ro   r`   rS   rP   rB   rR   rX   r[   rn   r_   s     ` @@@@@@@@@@@@@r   Ú _monkey_patch_webbased_functionsr�   G   s’   ÿý€ ð #MÐØRÐØ@ÐØJÐà€KÜ�i‰i€Gä)¨CÑ/°C¸°y°/ÑA€Kô
÷,4õ
õ
õ
÷4÷2Fó Fõ Ø�‰œ×(Ñ(×0Ñ0°)¸]ÕKð r   z9data_id, dataset_params, n_samples, n_features, n_targetsé=   r€   é–   é   é   Úiris)ÚnameÚversioné   é   é&   Úannealé1  éÑ   é   Úcpué�ž  é   éH   é   é_  é
   é   r‡   zadult-censusé   éM   ÚMiceProteinéñŸ  i  Úparserú	liac-arffÚpandasrQ   Fc                 óè  — t        j                  d«      }t        | ||¬«       t        d	dd|dœ|¤Ž}	t	        |	j
                  d   «      |k(  sJ ‚t        |	t        «      sJ ‚t        |	j                  |j                  «      sJ ‚|	j                  j                  |||z   fk(  sJ ‚t        |	j                  |j                  «      sJ ‚|	j                  j                  ||fk(  sJ ‚|dk(  r>t        |	j                  |j                  «      sJ ‚|	j                  j                  |fk(  sAJ ‚t        |	j                  |j                  «      sJ ‚|	j                  j                  ||fk(  sJ ‚|	j                  �J ‚y)
zŒCheck the behaviour of `fetch_openml` with `as_frame=True`.

    Fetch by ID and/or name (depending if the file was previously cached).
    rž   ©rQ   TF©Úas_frameÚcacherœ   Úidr…   Nr*   )ÚpytestÚimportorskipr�   r   ÚintÚdetailsÚ
isinstancer   ÚframeÚ	DataFrameÚshaper   ÚtargetÚSeriesÚ
categories)
Úmonkeypatchr€   Údataset_paramsÚ	n_samplesÚ
n_featuresÚ	n_targetsrœ   rQ   ÚpdÚbunchs
             r   Útest_fetch_openml_as_frame_truer·   Â   s`  € ôP 
×	Ñ	˜XÓ	&€Bä$ [°'ÈÕWÜð ØØØñð ñ	€Eô ˆu�}‰}˜TÑ"Ó# wÒ.Ð.Ð.Ü�eœUÔ#Ð#Ð#ä�e—k‘k 2§<¡<Ô0Ð0Ð0Ø�;‰;×Ñ ¨J¸Ñ,BÐ CÒCÐCÐCä�e—j‘j "§,¡,Ô/Ð/Ð/Ø�:‰:×Ñ 	¨:Ð6Ò6Ð6Ð6à�A‚~Ü˜%Ÿ,™,¨¯	©	Ô2Ð2Ð2Ø�|‰|×!Ñ! i \Ò1Ð1Ð1ä˜%Ÿ,™,¨¯©Ô5Ð5Ð5Ø�|‰|×!Ñ! i°Ð%;Ò;Ð;Ð;à×ÑÐ#Ð#Ñ#r   c                 óh  — t        j                  d«       t        | |d¬«       t        d	dd|dœ|¤Ž}t	        |j
                  d   «      |k(  sJ ‚t        |t        «      sJ ‚|j                  �J ‚t        |j                  t        j                  «      sJ ‚|j                  j                  ||fk(  sJ ‚t        |j                  t        j                  «      sJ ‚|dk(  r|j                  j                  |fk(  sJ ‚|j                  j                  ||fk(  sJ ‚t        |j                  t        «      sJ ‚y)
znCheck the behaviour of `fetch_openml` with `as_frame=False`.

    Fetch both by ID and/or name + version.
    rž   Tr    Fr¡   r¤   Nr…   r*   )r¥   r¦   r�   r   r§   r¨   r©   r   rª   r   ÚnpÚndarrayr¬   r­   r¯   Údict)r°   r€   r±   r²   r³   r´   rœ   r¶   s           r   Ú test_fetch_openml_as_frame_falser¼     s   € ôH ×Ñ˜Ô!ä$ [°'ÈÕNÜð ØØØñð ñ	€Eô ˆu�}‰}˜TÑ"Ó# wÒ.Ð.Ð.Ü�eœUÔ#Ð#Ð#à�;‰;ÐÐÐä�e—j‘j¤"§*¡*Ô-Ð-Ð-Ø�:‰:×Ñ 	¨:Ð6Ò6Ð6Ð6ä�e—l‘l¤B§J¡JÔ/Ð/Ð/Ø�A‚~Ø�|‰|×!Ñ! i \Ò1Ð1Ð1à�|‰|×!Ñ! i°Ð%;Ò;Ð;Ð;ä�e×&Ñ&¬Ô-Ð-Ñ-r   )r‚   r•   r›   c                 ó  ‡
‡‡— t        j                  d«      Št        | |d¬«       t        |ddd¬«      }t        |ddd¬«      }|j                  |j                  c}Š
ˆ
ˆfd„}|j                  |«      }‰j                  j                  |‰
«       |j                  |j                  c}Š‰j                  j                  ‰|j                     ‰
«       ˆˆfd„}|j                  |«      }	‰j                  j                  |	‰«       y	)
z:Check the consistency of the LIAC-ARFF and pandas parsers.rž   Tr    Fr�   ©r€   r¢   r£   rœ   c                 ó¦   •— ‰| j                      }‰j                  j                  j                  |«      r| j	                  |j
                  «      S | S r   )r‡   ÚapiÚtypesÚis_numeric_dtypeÚastypeÚdtype)ÚseriesÚpandas_seriesÚdata_pandasrµ   s     €€r   Úconvert_numerical_dtypeszFtest_fetch_openml_consistency_parser.<locals>.convert_numerical_dtypes]  sA   ø€ Ø# F§K¡KÑ0ˆØ�6‰6�<‰<×(Ñ(¨Ô7Ø—=‘= ×!4Ñ!4Ó5Ð5àˆMr   c                 óD  •— ‰| j                      }‰j                  j                  j                  |«      r| j	                  |j
                  «      S t        |j
                  ‰j                  «      r/| j                  j                  |j                  j                  «      S | S r   )r‡   rÀ   rÁ   rÂ   rÃ   rÄ   r©   ÚCategoricalDtypeÚcatÚrename_categoriesr¯   )rÅ   rÆ   Úframe_pandasrµ   s     €€r   Ú(convert_numerical_and_categorical_dtypeszVtest_fetch_openml_consistency_parser.<locals>.convert_numerical_and_categorical_dtypesq  sz   ø€ Ø$ V§[¡[Ñ1ˆØ�6‰6�<‰<×(Ñ(¨Ô7Ø—=‘= ×!4Ñ!4Ó5Ð5Ü˜×+Ñ+¨R×-@Ñ-@ÔAð —:‘:×/Ñ/°×0AÑ0A×0LÑ0LÓMÐMàˆMr   N)
r¥   r¦   r�   r   r   ÚapplyÚtestingÚassert_frame_equalrª   Úfeature_names)r°   r€   Ú
bunch_liacÚbunch_pandasÚ	data_liacrÈ   Údata_liac_with_fixed_dtypesÚ
frame_liacrÎ   Úframe_liac_with_fixed_dtypesrÇ   rÍ   rµ   s             @@@r   Ú$test_fetch_openml_consistency_parserrÙ   E  s   ú€ ô 
×	Ñ	˜XÓ	&€Bä$ [°'ÈÕNÜØØØØô	€Jô  ØØØØô	€Lð (Ÿ_™_¨l×.?Ñ.?Ð€Iˆ{õð #,§/¡/Ð2JÓ"KÐØ‡J�J×!Ñ!Ð"=¸{ÔKð  *×/Ñ/°×1CÑ1CÐ€J�ð ‡J�J×!Ñ! ,¨|×/IÑ/IÑ"JÈKÔXõð $.×#3Ñ#3Ø0ó$Ð ð ‡J�J×!Ñ!Ð">ÀÕMr   c                 ó
  — t        j                  d«       d}t        | |d¬«       t        |dd|¬«      }t        |dd|¬«      }t	        |j
                  |j
                  «       t        |j                  |j                  «       y)z^Check the equivalence of the dataset when using `as_frame=False` and
    `as_frame=True`.
    rž   r‚   Tr    Fr¾   N)r¥   r¦   r�   r   r   r   r   r­   )r°   rœ   r€   Úbunch_as_frame_trueÚbunch_as_frame_falses        r   Ú-test_fetch_openml_equivalence_array_dataframerÝ   …  s…   € ô
 ×Ñ˜Ô!à€GÜ$ [°'ÈÕNÜ&ØØØØô	Ðô (ØØØØô	Ðô Ð(×-Ñ-Ð/B×/GÑ/GÔHÜÐ+×2Ñ2Ð4G×4NÑ4NÕOr   c                 ó,  — t        j                  d«      }|j                  j                  j                  }d}d}d}d} |g d¢«      }t
        j                  gdz  }	g d¢}
d	}t        | |d
«       t        |d
d|¬«      }|j                  }|j                  }|j                  }t        ||j                  «      sJ ‚t        j                  |j                  |	k(  «      sJ ‚|j                   |k(  sJ ‚t        j                  |j"                  |
k(  «      sJ ‚t        j                  |j$                  |
k(  «      sJ ‚|j&                  |gk(  sJ ‚t        ||j(                  «      sJ ‚|j*                  |k(  sJ ‚|j                   |k(  sJ ‚|j,                  |k(  sJ ‚|j.                  j0                  sJ ‚t        ||j                  «      sJ ‚|j                   |k(  sJ ‚t        j                  |j                  |	|gz   k(  «      sJ ‚|j.                  j0                  sJ ‚y)z>Check fetching on a numerical only dataset with string labels.rž   r‚   ©rƒ   r„   )rƒ   )rƒ   é   )zIris-setosazIris-versicolorzIris-virginicar„   )ÚsepallengthÚ
sepalwidthÚpetallengthÚ
petalwidthÚclassTFr¾   N)r¥   r¦   rÀ   rÁ   rÊ   r¹   Úfloat64r�   r   r   r­   rª   r©   r«   ÚallÚdtypesr¬   ÚcolumnsrÒ   Útarget_namesr®   rÄ   r‡   ÚindexÚ	is_unique)r°   rœ   rµ   rÊ   r€   Ú
data_shapeÚtarget_shapeÚframe_shapeÚtarget_dtypeÚdata_dtypesÚ
data_namesÚtarget_namer¶   r   r­   rª   s                   r   Útest_fetch_openml_iris_pandasrô      së  € ô 
×	Ñ	˜XÓ	&€BØ—v‘v—|‘|×4Ñ4ÐØ€GØ€JØ€LØ€Ká#Ú<ó€Lô —:‘:�, Ñ"€KÚK€JØ€Kä$ [°'¸4Ô@äØØØØô	€Eð �:‰:€DØ�\‰\€FØ�K‰K€Eä�d˜BŸL™LÔ)Ð)Ð)Ü�6‰6�$—+‘+ Ñ,Ô-Ð-Ð-Ø�:‰:˜Ò#Ð#Ð#Ü�6‰6�$—,‘, *Ñ,Ô-Ð-Ð-Ü�6‰6�%×%Ñ%¨Ñ3Ô4Ð4Ð4Ø×Ñ + Ò.Ð.Ð.ä�f˜bŸi™iÔ(Ð(Ð(Ø�<‰<˜<Ò'Ð'Ð'Ø�<‰<˜<Ò'Ð'Ð'Ø�;‰;˜+Ò%Ð%Ð%Ø�<‰<×!Ò!Ð!Ð!ä�e˜RŸ\™\Ô*Ð*Ð*Ø�;‰;˜+Ò%Ð%Ð%Ü�6‰6�%—,‘, +°°Ñ">Ñ>Ô?Ð?Ð?Ø�;‰;× Ò Ð Ñ r   Útarget_columnrä   rã   c                 ó,  — t        j                  d«      }d}t        | |d«       t        |dd||¬«      }t        |dd|¬«      }|j                  j                  |j                  |j                  «       t        |t        «      r[|j                  j                  |j                  j                  |j                  |«      «       |j                  j                  dk(  sJ ‚y	|j                  j                  |k(  sJ ‚|j                  j                  dk(  sJ ‚y	)
z@Check that we can force the target to not be the default target.rž   r‚   TF)r€   r¢   r£   rõ   rœ   r¾   )rƒ   é   rß   N)r¥   r¦   r�   r   rÐ   rÑ   rª   r©   ÚlistÚassert_index_equalr­   ré   ÚIndexr   r¬   r‡   )r°   rœ   rõ   rµ   r€   Úbunch_forcing_targetÚbunch_defaults          r   Ú!test_fetch_openml_forcing_targetsrý   Ð  s   € ô 
×	Ñ	˜XÓ	&€Bà€GÜ$ [°'¸4Ô@Ü'ØØØØ#ØôÐô !ØØØØô	€Mð ‡J�J×!Ñ!Ð"6×"<Ñ"<¸m×>QÑ>QÔRÜ�-¤Ô&Ø
�
‰
×%Ñ%Ø ×'Ñ'×/Ñ/°·±¸-Ó1Hô	
ð $×(Ñ(×.Ñ.°(Ò:Ð:Ñ:à#×*Ñ*×/Ñ/°=Ò@Ð@Ð@Ø#×(Ñ(×.Ñ.°(Ò:Ð:Ñ:r   )r‚   r‰   r�   r‘   r•   c                 ó¢  — t        j                  d«      }t        | |d¬«       t        |ddd|¬«      }t        |ddd|¬«      \  }}|j                  j                  |j                  |«       t        ||j                  «      r'|j                  j                  |j                  |«       y|j                  j                  |j                  |«       y)z>Check the behaviour of `return_X_y=True` when `as_frame=True`.rž   Tr    F©r€   r¢   r£   Ú
return_X_yrœ   N)r¥   r¦   r�   r   rÐ   rÑ   r   r©   r®   Úassert_series_equalr­   )r°   r€   rœ   rµ   r¶   ÚXÚys          r   Ú.test_fetch_openml_equivalence_frame_return_X_yr  ñ  s°   € ô 
×	Ñ	˜XÓ	&€Bä$ [°'ÈÕNÜØØØØØô€Eô ØØØØØô�D€A€qð ‡J�J×!Ñ! %§*¡*¨aÔ0Ü�!�R—Y‘YÔØ
�
‰
×&Ñ& u§|¡|°QÕ7à
�
‰
×%Ñ% e§l¡l°AÕ6r   )r‚   r�   r‘   r•   c                 óè   — t        j                  d«       t        | |d¬«       t        |ddd|¬«      }t        |ddd|¬«      \  }}t	        |j
                  |«       t	        |j                  |«       y)z?Check the behaviour of `return_X_y=True` when `as_frame=False`.rž   Tr    Frÿ   N)r¥   r¦   r�   r   r   r   r­   )r°   r€   rœ   r¶   r  r  s         r   Ú.test_fetch_openml_equivalence_array_return_X_yr    st   € ô ×Ñ˜Ô!ä$ [°'ÈÕNÜØØØØØô€Eô ØØØØØô�D€A€qô �u—z‘z 1Ô%Ü�u—|‘| QÕ'r   c                 ó  — t        j                  d«       d}t        | |d¬«       d}t        ||dd¬«      }t        ||dd¬«      }|j                  j
                  j                  dk(  sJ ‚|j                  j
                  d	k(  sJ ‚y
)z9Check the difference between liac-arff and pandas parser.rž   r•   Tr    Fr�   r¾   rM   ÚON)r¥   r¦   r�   r   r   rÄ   Úkind)r°   r€   r¢   Úbunch_liac_arffrÔ   s        r   Ú$test_fetch_openml_difference_parsersr  (  s’   € ä
×Ñ˜Ô!à€GÜ$ [°'ÈÕNð €HÜ"ØØØØô	€Oô  ØØØØô	€Lð ×Ñ×%Ñ%×*Ñ*¨cÒ1Ð1Ð1Ø×Ñ×"Ñ" cÒ)Ð)Ñ)r   Úmodule)Úscopec                  ó2   — g d¢g d¢g d¢g d¢g d¢g d¢g d¢dœS )	z+Returns the columns names for each dataset.)rá   râ   rã   rä   rå   )'Úfamilyzproduct-typeÚsteelÚcarbonÚhardnessÚtemper_rollingÚ	conditionÚformabilityÚstrengthú
non-ageingúsurface-finishzsurface-qualityÚenamelabilityÚbcÚbfÚbtúbw%2FmeÚblÚmÚchromÚphosÚcbondÚmarviÚexptlÚferroÚcorrúblue%2Fbright%2Fvarn%2FcleanÚlustreÚjurofmÚsÚpr¬   ÚthickÚwidthr=   ÚoilÚboreÚpackingrå   )ÚvendorÚMYCTÚMMINÚMMAXÚCACHÚCHMINÚCHMAXrå   )NÚ Mean_Acc1298_Mean_Mem40_CentroidÚMean_Acc1298_Mean_Mem40_RolloffÚMean_Acc1298_Mean_Mem40_FluxÚMean_Acc1298_Mean_Mem40_MFCC_0ÚMean_Acc1298_Mean_Mem40_MFCC_1ÚMean_Acc1298_Mean_Mem40_MFCC_2ÚMean_Acc1298_Mean_Mem40_MFCC_3ÚMean_Acc1298_Mean_Mem40_MFCC_4ÚMean_Acc1298_Mean_Mem40_MFCC_5ÚMean_Acc1298_Mean_Mem40_MFCC_6ÚMean_Acc1298_Mean_Mem40_MFCC_7ÚMean_Acc1298_Mean_Mem40_MFCC_8ÚMean_Acc1298_Mean_Mem40_MFCC_9ÚMean_Acc1298_Mean_Mem40_MFCC_10ÚMean_Acc1298_Mean_Mem40_MFCC_11ÚMean_Acc1298_Mean_Mem40_MFCC_12ÚMean_Acc1298_Std_Mem40_CentroidÚMean_Acc1298_Std_Mem40_RolloffÚMean_Acc1298_Std_Mem40_FluxÚMean_Acc1298_Std_Mem40_MFCC_0ÚMean_Acc1298_Std_Mem40_MFCC_1ÚMean_Acc1298_Std_Mem40_MFCC_2ÚMean_Acc1298_Std_Mem40_MFCC_3ÚMean_Acc1298_Std_Mem40_MFCC_4ÚMean_Acc1298_Std_Mem40_MFCC_5ÚMean_Acc1298_Std_Mem40_MFCC_6ÚMean_Acc1298_Std_Mem40_MFCC_7ÚMean_Acc1298_Std_Mem40_MFCC_8ÚMean_Acc1298_Std_Mem40_MFCC_9ÚMean_Acc1298_Std_Mem40_MFCC_10ÚMean_Acc1298_Std_Mem40_MFCC_11ÚMean_Acc1298_Std_Mem40_MFCC_12ÚStd_Acc1298_Mean_Mem40_CentroidÚStd_Acc1298_Mean_Mem40_RolloffÚStd_Acc1298_Mean_Mem40_FluxÚStd_Acc1298_Mean_Mem40_MFCC_0ÚStd_Acc1298_Mean_Mem40_MFCC_1ÚStd_Acc1298_Mean_Mem40_MFCC_2ÚStd_Acc1298_Mean_Mem40_MFCC_3ÚStd_Acc1298_Mean_Mem40_MFCC_4ÚStd_Acc1298_Mean_Mem40_MFCC_5ÚStd_Acc1298_Mean_Mem40_MFCC_6ÚStd_Acc1298_Mean_Mem40_MFCC_7ÚStd_Acc1298_Mean_Mem40_MFCC_8ÚStd_Acc1298_Mean_Mem40_MFCC_9ÚStd_Acc1298_Mean_Mem40_MFCC_10ÚStd_Acc1298_Mean_Mem40_MFCC_11ÚStd_Acc1298_Mean_Mem40_MFCC_12ÚStd_Acc1298_Std_Mem40_CentroidÚStd_Acc1298_Std_Mem40_RolloffÚStd_Acc1298_Std_Mem40_FluxÚStd_Acc1298_Std_Mem40_MFCC_0ÚStd_Acc1298_Std_Mem40_MFCC_1ÚStd_Acc1298_Std_Mem40_MFCC_2ÚStd_Acc1298_Std_Mem40_MFCC_3ÚStd_Acc1298_Std_Mem40_MFCC_4ÚStd_Acc1298_Std_Mem40_MFCC_5ÚStd_Acc1298_Std_Mem40_MFCC_6ÚStd_Acc1298_Std_Mem40_MFCC_7ÚStd_Acc1298_Std_Mem40_MFCC_8ÚStd_Acc1298_Std_Mem40_MFCC_9ÚStd_Acc1298_Std_Mem40_MFCC_10ÚStd_Acc1298_Std_Mem40_MFCC_11ÚStd_Acc1298_Std_Mem40_MFCC_12ÚBH_LowPeakAmpÚBH_LowPeakBPMÚBH_HighPeakAmpÚBH_HighPeakBPMÚBH_HighLowRatioÚBHSUM1ÚBHSUM2ÚBHSUM3zamazed.suprisedzhappy.pleasedzrelaxing.calmzquiet.stillz
sad.lonelyzangry.aggresive)ÚageÚ	workclasszfnlwgt:z
education:zeducation-num:zmarital-status:zoccupation:zrelationship:zrace:zsex:zcapital-gain:zcapital-loss:zhours-per-week:znative-country:rå   )NÚDYRK1A_NÚITSN1_NÚBDNF_NÚNR1_NÚNR2A_NÚpAKT_NÚpBRAF_NÚ	pCAMKII_NÚpCREB_NÚpELK_NÚpERK_NÚpJNK_NÚPKCA_NÚpMEK_NÚpNR1_NÚpNR2A_NÚpNR2B_NÚpPKCAB_NÚpRSK_NÚAKT_NÚBRAF_NÚCAMKII_NÚCREB_NÚELK_NÚERK_NÚGSK3B_NÚJNK_NÚMEK_NÚTRKA_NÚRSK_NÚAPP_NÚ
Bcatenin_NÚSOD1_NÚMTOR_NÚP38_NÚpMTOR_NÚDSCR1_NÚAMPKA_NÚNR2B_NÚpNUMB_NÚRAPTOR_NÚTIAM1_NÚpP70S6_NÚNUMB_NÚP70S6_NÚpGSK3B_NÚpPKCG_NÚCDK5_NÚS6_NÚADARB1_NÚAcetylH3K9_NÚRRP1_NÚBAX_NÚARC_NÚERBB4_NÚnNOS_NÚTau_NÚGFAP_NÚGluR3_NÚGluR4_NÚIL1B_NÚP3525_NÚpCASP9_NÚPSD95_NÚSNCA_NÚUbiquitin_NÚpGSK3B_Tyr216_NÚSHH_NÚBAD_NÚBCL2_NÚpS6_NÚpCFOS_NÚSYP_NÚ	H3AcK18_NÚEGR1_NÚH3MeK4_NÚCaNA_Nrå   )ÚpclassÚsurvivedr‡   Úsexr€  ÚsibspÚparchÚticketÚfareÚcabinÚembarkedÚboatÚbodyú	home.dest©r‚   r‰   r�   r‘   r•   r˜   r›   r*   r*   r   r   Údatasets_column_namesrÜ  G  s9   € ò Pò(
òR SòO
ò`
ò"O
ò`
ñ{mð mr   c                  óª   — i i dd“dd“dd“dd“d	d
“dd“dd“dd“dd
“dd“dd“dd“dd“dd“dd“dd
“dd“ddddddddd
ddœ
¥i i i ddiddddddd d!œd"œS )#Nr  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*  r+  r.  r0  rÇ  r�   i  r…   iö  i7  i¤  i4  )r€  rÕ  rÖ  r×  rØ  rÙ  rÚ  rÛ  r*   r*   r   r   Údatasets_missing_valuesrà  :  s0  € ð ð
Ø�bð
à˜að
ð ˜ð
ð ˜1ð	
ð
 ˜"ð
ð ˜bð
ð ˜Rð
ð �"ð
ð �"ð
ð �"ð
ð �qð
ð �!ð
ð �ð
ð �Rð
ð �Bð
ð  �Rð!
ð" �Rð#
ð$ ØØØ,.ØØØØØØò7
ð: ØØØ˜!ˆ}àØØØØØØñ
ñG,ð ,r   zJdata_id, parser, expected_n_categories, expected_n_floats, expected_n_ints))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…   r   r�   )r‘   r�   r”   r“   r   )r‘   rž   r”   éE   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›   rž   r÷   r÷   r÷   c	           	      ó8  — t        j                  d«      }	|	j                  j                  j                  }
t        | ||¬«       t        |dd|¬«      }|j                  }t        |j                  D �cg c]  }t        ||
«      sŒ|‘Œ c}«      }t        |j                  D �cg c]  }|j                  dk(  sŒ|‘Œ c}«      }t        |j                  D �cg c]  }|j                  dk(  sŒ|‘Œ c}«      }||k(  sJ ‚||k(  sJ ‚||k(  sJ ‚|j                  j                  «       ||   k(  sJ ‚|j                  «       j                  «       j!                  «       }|j#                  «       D ]!  \  }}||   j%                  |d«      }||k(  rŒ!J ‚ y	c c}w c c}w c c}w )
zYCheck that `fetch_openml` infer the right number of categories, integers, and
    floats.rž   r    TFr¾   rM   Úir   N)r¥   r¦   rÀ   rÁ   rÊ   r�   r   rª   r=   rè   r©   r	  ré   ÚtolistÚisnaÚsumÚto_dictÚitemsÚget)r°   r€   rœ   Úexpected_n_categoriesÚexpected_n_floatsÚexpected_n_intsrQ   rÜ  rà  rµ   rÊ   r¶   rª   rÄ   Ún_categoriesÚn_floatsÚn_intsÚframe_feature_to_n_nanr‡   Ú	n_missingÚexpected_missings                        r   Ú!test_fetch_openml_types_inferencerô  k  s€  € ôP 
×	Ñ	˜XÓ	&€BØ—v‘v—|‘|×4Ñ4Ðä$ [°'ÈÕWäØØØØô	€Eð �K‰K€EäØ!ŸL™LÖP�5¬J°uÐ>NÕ,OŠÒPó€Lô  u§|¡|ÖI˜e°u·z±zÀSÓ7H’EÒIÓJ€HÜ U§\¡\ÖG˜E°U·Z±ZÀ3Ó5F’%ÒGÓH€FàÐ0Ò0Ð0Ð0ØÐ(Ò(Ð(Ð(Ø�_Ò$Ð$Ð$à�=‰=×ÑÓ!Ð%:¸7Ñ%CÒCÐCÐCà"ŸZ™Z›\×-Ñ-Ó/×7Ñ7Ó9ÐØ1×7Ñ7Ó9ò -‰ˆˆiØ2°7Ñ;×?Ñ?ÀÀaÓHÐØÐ,Ó,Ð,Ð,ñ-ùò 	QùâIùÚGs$   Á2FÂFÂ"FÂ7FÃFÃ*Fzparams, err_msgÚunknownz:The 'parser' parameter of fetch_openml must be a str amongr¢   z<The 'as_frame' parameter of fetch_openml must be an instancec                 óœ   — d}t        | |d«       t        j                  t        |¬«      5  t	        dd|i|¤Ž d d d «       y # 1 sw Y   y xY w)Nr•   T©Úmatchr€   r*   )r�   r¥   Úraisesrs   r   ©r°   ÚparamsÚerr_msgr€   s       r   Ú&test_fetch_openml_validation_parameterrý  ¶  sH   € ð €GÜ$ [°'¸4Ô@Ü	�‰”z¨Ô	1ñ 0ÜÑ/˜WÐ/¨Ò/÷0÷ 0ñ 0ús   «AÁArû  Úauto)r¢   rœ   c                 óì   — d}	 t        d«       t        d«      ‚# t        $ rP t        | |d«       d}t	        j
                  t        |¬«      5  t        d	d|i|¤Ž ddd«       Y y# 1 sw Y   Y yxY ww xY w)
z=Check that we raise the proper errors when we require pandas.r•   Ú!test_fetch_openml_requires_pandasz.This test requires pandas to not be installed.Tz:requires pandas to be installed. Alternatively, explicitlyr÷  r€   Nr*   )r   r   ÚImportErrorr�   r¥   rù  r   )r°   rû  r€   rü  s       r   Ú'test_fetch_openml_requires_pandas_errorr  Ê  s{   € ð €GðIÜÐ@ÔAô ÐGÓHÐHøô ò 4Ü(¨°g¸tÔDØNˆÜ�]‰]œ;¨gÔ6ñ 	4ÜÑ3 Ð3¨FÒ3÷	4÷ 	4ó 	4úð4ús'   „ š3A3ÁA%ÁA3Á%A/	Á*A3Á/A3z2ignore:Version 1 of dataset Australian is inactivez:Sparse ARFF datasets cannot be loaded with parser='pandas'z9Sparse ARFF datasets cannot be loaded with as_frame=True.)rœ   r¢   c                 óÈ   — t        j                  d«       d}t        | |d«       t        j                  t        |¬«      5  t        d|ddœ|¤Ž ddd«       y# 1 sw Y   yxY w)	ztCheck that we raise the expected error for sparse ARFF datasets and
    a wrong set of incompatible parameters.
    rž   é$  Tr÷  F)r€   r£   Nr*   )r¥   r¦   r�   rù  rs   r   rú  s       r   Ú#test_fetch_openml_sparse_arff_errorr  á  sc   € ô, ×Ñ˜Ô!Ø€Gä$ [°'¸4Ô@Ü	�‰”z¨Ô	1ñ 
Üð 	
ØØñ	
ð ò	
÷
÷ 
ñ 
ús   Á AÁA!zdata_id, data_type)r‚   Ú	dataframe)r  Úsparsec                 óê   — t        j                  d«      }t        | |d«       t        |dd¬«      }|dk(  r|j                  nt
        j                  j                  }t        |j                  |«      sJ ‚y)z&Check the auto mode of `fetch_openml`.rž   Trþ  F)r€   r¢   r£   r  N)
r¥   r¦   r�   r   r«   Úscipyr  Ú
csr_matrixr©   r   )r°   r€   Ú	data_typerµ   r   Úklasss         r   Útest_fetch_openml_auto_moder    s^   € ô 
×	Ñ	˜XÓ	&€Bä$ [°'¸4Ô@Ü °&ÀÔF€DØ%¨Ò4ˆB�LŠL¼%¿,¹,×:QÑ:Q€EÜ�d—i‘i Ô'Ð'Ñ'r   c                 ó  — t        j                  d«       d}t        | |d«       d}t        j                  t        |¬«      5  t        d¬«      5  t        |ddd	¬
«       ddd«       ddd«       y# 1 sw Y   ŒxY w# 1 sw Y   yxY w)z[Check that we raise a warning regarding the working memory when using
    LIAC-ARFF parser.rž   r•   Tz*Could not adhere to working_memory config.r÷  g�íµ ÷Æ°>)Úworking_memoryFr�   r¾   N)r¥   r¦   r�   ÚwarnsÚUserWarningr   r   )r°   r€   rg   s      r   Ú:test_convert_arff_data_dataframe_warning_low_memory_pandasr    s�   € ô ×Ñ˜Ô!à€GÜ$ [°'¸4Ô@à
6€CÜ	�‰”k¨Ô	-ñ Ü¨4Ô0ñ 	ÜØØØØ"õ	÷	÷ð ÷	ð 	ú÷ð ús$   ÁA<ÁA0ÁA<Á0A9	Á5A<Á<Bc                 óÎ   — d}d}t        | ||«       t        j                  d«      }t        j                  t
        |¬«      5  t        |ddd¬«       ddd«       y# 1 sw Y   yxY w)	z\Check that a warning is raised when multiple versions exist and no version is
    requested.r‚   r†   a;  Multiple active versions of the dataset matching the name iris exist. Versions may be fundamentally different, returning version 1. Available versions:
- version 1, status: active
  url: https://www.openml.org/search?type=data&id=61
- version 3, status: active
  url: https://www.openml.org/search?type=data&id=969
r÷  Fr�   )r‡   r¢   r£   rœ   N)r�   r;   Úescaper¥   r  r  r   )r°   rQ   r€   Ú	data_namerg   s        r   Ú,test_fetch_openml_iris_warn_multiple_versionr  (  sg   € ð €GØ€Iä$ [°'¸=ÔIä
�)‰)ð	Bó€Cô 
�‰”k¨Ô	-ñ 
ÜØØØØõ		
÷
÷ 
ñ 
ús   ÁAÁA$c                 ó¤   — d}d}d}d}t        | ||«       t        ||ddd¬«      }|j                  j                  ||fk(  sJ ‚|j                  �J ‚y)z/Check that we can get a dataset without target.r‚   Nrƒ   rà   Fr�   ©r€   rõ   r£   r¢   rœ   )r�   r   r   r¬   r­   )r°   rQ   r€   rõ   Úexpected_observationsÚexpected_featuresr   s          r   Útest_fetch_openml_no_targetr  C  sn   € ð €GØ€MØÐØÐä$ [°'¸=ÔIÜØØ#ØØØô€Dð �9‰9�?‰?Ð4Ð6GÐHÒHÐHÐHØ�;‰;ÐÐÑr   c                 ó(  — t        j                  d«       d}t        | ||¬«       t        |dd|¬«      }|j                  j
                  d   }|j                  d   j                  «       j                  «       sJ ‚t        |j                  g d¢«       y	)
zRcheck that missing values in categories are compatible with pandas
    categoricalrž   iY¦  r    FT©r€   r£   r¢   rœ   rÑ  )ÚFEMALEÚMALEÚ_N)
r¥   r¦   r�   r   r   rè   ræ  Úanyr   r¯   )r°   rQ   rœ   r€   ÚpenguinsÚ	cat_dtypes         r   Útest_missing_values_pandasr$  W  s„   € ô
 ×Ñ˜Ô!à€GÜ$ [°'ÈÕWÜØØØØô	€Hð —‘×$Ñ$ UÑ+€Ià�=‰=˜Ñ×$Ñ$Ó&×*Ñ*Ô,Ð,Ð,Ü�y×+Ñ+Ò-DÕEr   r±   éãž  Úglass2)r€   r‡   rˆ   c                 ó  — d}t        | ||«       d}t        j                  t        |¬«      5  t	        dddddœ|¤Ž}ddd«       j
                  j                  dk(  sJ ‚|j                  d	   d
k(  sJ ‚y# 1 sw Y   Œ9xY w)z;Check that we raise a warning when the dataset is inactive.r%  z(Version 1 of dataset glass2 is inactive,r÷  Fr�   )r£   r¢   rœ   N)é£   rÞ  r¤   Ú40675r*   )r�   r¥   r  r  r   r   r¬   r¨   )r°   rQ   r±   r€   rg   r&  s         r   Útest_fetch_openml_inactiver*  m  sŒ   € ð €GÜ$ [°'¸=ÔIØ
4€CÜ	�‰”k¨Ô	-ñ 
Üð 
Ø %°ñ
Ø?Mñ
ˆ÷
ð �;‰;×Ñ Ò(Ð(Ð(Ø�>‰>˜$Ñ 7Ò*Ð*Ñ*÷
ð 
ús   ­A5Á5A>z"data_id, params, err_type, err_msgzNo active dataset glass2 foundrâ   rå   )r€   rõ   z1Can only handle homogeneous multi-target datasets)r€   r¢   zOSTRING attributes are not supported for array representation. Try as_frame=Truer  )r€   rõ   r¢   zTarget column 'family'Ú	undefinedz(Could not find target_column='undefined'c                 óê   — t        | ||«       |j                  dd«      s|dk(  rt        j                  d«       t        j                  ||¬«      5  t        dd|dœ|¤Ž d d d «       y # 1 sw Y   y xY w)Nr¢   Trž   r÷  F)r£   rœ   r*   )r�   rê  r¥   r¦   rù  r   )r°   rQ   r€   rû  Úerr_typerü  rœ   s          r   Útest_fetch_openml_errorr.  ‚  si   € ôd % [°'¸=ÔIØ‡z�z�*˜dÔ# v°Ò'9Ü×Ñ˜HÔ%Ü	�‰�x wÔ	/ñ ;ÜÐ:˜5¨Ñ:°6Ò:÷;÷ ;ñ ;ús   ÁA)Á)A2zparams, err_type, err_msgr1   rˆ   zCThe 'version' parameter of fetch_openml must be an int in the rangeÚnAmE)r€   r‡   zCThe 'data_id' parameter of fetch_openml must be an int in the rangez6The 'version' parameter of fetch_openml must be an intzFNeither name nor data_id are provided. Please provide name or data_id.c                 ór   — t        j                  ||¬«      5  t        di | ¤Ž d d d «       y # 1 sw Y   y xY w)Nr÷  r*   )r¥   rù  r   )rû  r-  rü  s      r   Ú)test_fetch_openml_raises_illegal_argumentr1  »  s2   € ô4 
�‰�x wÔ	/ñ ÜÑ�vÒ÷÷ ñ ús   ˜-­6c                 óÊ  — d}d}d}t        | ||«       d}|j                  |«      }t        j                  t        |¬«      5  t        ||ddd¬«       d d d «       d	}|j                  |«      }t        j                  t        |¬«      5  t        ||ddd¬«       d d d «       d}|j                  |«      }t        j                  t        |¬«      5  t        ||d
gddd¬«       d d d «       d	}|j                  |«      }t        j                  t        |¬«      5  t        ||d
gddd¬«       d d d «       y # 1 sw Y   ŒãxY w# 1 sw Y   Œ¨xY w# 1 sw Y   ŒkxY w# 1 sw Y   y xY w)Nr˜   z.target_column='{}' has flag is_row_identifier.z&target_column='{}' has flag is_ignore.ÚMouseIDr÷  Fr�   r  ÚGenotyperå   )r�   Úformatr¥   r  r  r   )r°   rQ   r€   Úexpected_row_id_msgÚexpected_ignore_msgÚ
target_colrg   s          r   Útest_warn_ignore_attributer9  Ù  sp  € à€GØJÐØBÐÜ$ [°'¸=ÔIà€JØ
×
$Ñ
$ ZÓ
0€CÜ	�‰”k¨Ô	-ñ 
ÜØØ$ØØØõ	
÷
ð €JØ
×
$Ñ
$ ZÓ
0€CÜ	�‰”k¨Ô	-ñ 
ÜØØ$ØØØõ	
÷
ð €JØ
×
$Ñ
$ ZÓ
0€CÜ	�‰”k¨Ô	-ñ 
ÜØØ% wÐ/ØØØõ	
÷
ð €JØ
×
$Ñ
$ ZÓ
0€CÜ	�‰”k¨Ô	-ñ 
ÜØØ% wÐ/ØØØõ	
÷
ð 
÷?
ð 
ú÷
ð 
ú÷
ð 
ú÷
ð 
ús0   ÁD5Â	EÃEÄEÄ5D>ÅE
ÅEÅE"c                 ó¤   — d}t        | ||«       d}t        j                  t        |¬«      5  t	        |ddd¬«       d d d «       y # 1 sw Y   y xY w)Nr…   zJOpenML registered a problem with the dataset. It might be unusable. Error:r÷  Fr�   r  ©r�   r¥   r  r  r   ©r°   rQ   r€   rg   s       r   Útest_dataset_with_openml_errorr=    sM   € à€GÜ$ [°'¸=ÔIØ
V€CÜ	�‰”k¨Ô	-ñ WÜ˜W¨E¸EÈ+ÕV÷W÷ Wñ Wúó   ­AÁAc                 ó¤   — d}t        | ||«       d}t        j                  t        |¬«      5  t	        |ddd¬«       d d d «       y # 1 sw Y   y xY w)Nr÷   zFOpenML raised a warning on the dataset. It might be unusable. Warning:r÷  Fr�   r  r;  r<  s       r   Ú test_dataset_with_openml_warningr@    sM   € à€GÜ$ [°'¸=ÔIØ
R€CÜ	�‰”k¨Ô	-ñ WÜ˜W¨E¸EÈ+ÕV÷W÷ Wñ Wúr>  c                 óh  — t        j                  d«       d}t        | |d¬«       |ddddœ}t        di |¤Ž}t        di |¤dddii¤Ž}t	        d	„ |j
                  d
   j                  j                  D «       «      sJ ‚t        d„ |j
                  d
   j                  j                  D «       «      rJ ‚y)zACheck that we can overwrite the default parameters of `read_csv`.rž   é6  F©r€   rQ   Tr¾   Úread_csv_kwargsÚskipinitialspacec              3   ó>   K  — | ]  }|j                  d «      –— Œ y­w©ú N©rF   ©Ú.0rË   s     r   ú	<genexpr>zFtest_fetch_openml_overwrite_default_params_read_csv.<locals>.<genexpr>0  s   è ø€ ò Ø #ˆ�‰�s×ñùó   ‚rå   c              3   ó>   K  — | ]  }|j                  d «      –— Œ y­wrG  rI  rJ  s     r   rL  zFtest_fetch_openml_overwrite_default_params_read_csv.<locals>.<genexpr>3  s!   è ø€ ò àð 	�‰�s×ñùrM  Nr*   )	r¥   r¦   r�   r   rç   rª   rË   r¯   r!  )r°   r€   Úcommon_paramsÚadult_without_spacesÚadult_with_spacess        r   Ú3test_fetch_openml_overwrite_default_params_read_csvrR    sÜ   € ä
×Ñ˜Ô!Ø€GÜ$ [¸'ÐQVÕWð ØØØñ	€Mô (Ñ8¨-Ñ8ÐÜ$ñ Ø
ñØ*<¸eÐ)DòÐô ñ Ø'8×'>Ñ'>¸wÑ'G×'KÑ'K×'VÑ'Vôô ð ð ô ñ à'×-Ñ-¨gÑ6×:Ñ:×EÑEôô ð ð ð r   c                 óŒ  — d}t        | ||«       t        j                  j                  j                  j                  |«      }t        |j                  d«      «      }t        ||«      }t        ||«      }t        j                  j                  |«      sJ ‚t        ||«      }|j                  «       |j                  «       k(  sJ ‚y )Nr‚   Úscikit_learn_data)r�   r|   r}   r~   Ú
_DATA_FILEr5  ÚstrÚmkdirr   r
   ÚosÚpathÚisfiler   )	r°   rQ   Útmpdirr€   Úopenml_pathÚcache_directoryÚ	response1ÚlocationÚ	response2s	            r   Útest_open_openml_url_cachera  =  sŸ   € à€Gä$ [°'¸=ÔIÜ×"Ñ"×*Ñ*×5Ñ5×<Ñ<¸WÓE€KÜ˜&Ÿ,™,Ð':Ó;Ó<€Oä  ¨oÓ>€Iä˜{¨OÓ<€HÜ�7‰7�>‰>˜(Ô#Ð#Ð#ä  ¨oÓ>€IØ�>‰>Ó˜yŸ~™~Ó/Ò/Ð/Ñ/r   Úwrite_to_diskc                 óÚ  ‡‡— d}t         j                  j                  j                  j	                  |«      }t        |j                  d«      «      }t        ||«      Šˆˆfd„}| j                  t         j                  j                  d|«       t        j                  t        d¬«      5  t        ||«       d d d «       t        j                  j                  ‰«      rJ ‚y # 1 sw Y   Œ+xY w)Nr‚   rT  c                 ó¬   •— ‰r1t        ‰d«      5 }|j                  d«       d d d «       t        d«      ‚t        d«      ‚# 1 sw Y   t        d«      ‚xY w)NÚwÚ úInvalid request)rH   Úwriters   )rt   ru   rv   rM   r_  rb  s       €€r   rw   z>test_open_openml_url_unlinks_local_path.<locals>._mock_urlopenU  sP   ø€ ÙÜ�h Ó$ð ¨Ø—‘˜”÷äÐ*Ó+Ð+ŒjÐ*Ó+Ð+÷äÐ*Ó+Ð+ús   �A Á Arx   rg  r÷  )r|   r}   r~   rU  r5  rV  rW  r
   r{   r¥   rù  rs   r   rX  rY  Úexists)r°   r[  rb  r€   r\  r]  rw   r_  s     `    @r   Ú'test_open_openml_url_unlinks_local_pathrj  N  s¸   ù€ à€GÜ×"Ñ"×*Ñ*×5Ñ5×<Ñ<¸WÓE€KÜ˜&Ÿ,™,Ð':Ó;Ó<€OÜ˜{¨OÓ<€Hõ,ð ×Ñœ×(Ñ(×0Ñ0°)¸]ÔKä	�‰”zÐ):Ô	;ñ 7Ü˜ oÔ6÷7ô �w‰w�~‰~˜hÔ'Ð'Ð'Ð'÷7ð 7ús   Â*C!Ã!C*c                 ó,  ‡— d}t         j                  j                  j                  j	                  |«      }t        | j                  d«      «      }t        ||«      Št        j                  t        j                  j                  ‰«      «       t        ‰d«      5 }|j                  d«       d d d «       t        ||«      ˆfd„«       }d}t        j                   t"        |¬«      5   |«       }d d d «       dk(  sJ ‚y # 1 sw Y   ŒRxY w# 1 sw Y   ŒxY w)	Nr‚   rT  re  rf  c                  óZ   •— t         j                  j                  ‰ «      rt        d«      ‚y)NzFile exist!r…   )rX  rY  ri  Ú	Exception)r_  s   €r   Ú
_load_dataz/test_retry_with_clean_cache.<locals>._load_datam  s#   ø€ ô �7‰7�>‰>˜(Ô#Ü˜MÓ*Ð*Ør   z!Invalid cache, redownloading filer÷  r…   )r|   r}   r~   rU  r5  rV  rW  r
   rX  ÚmakedirsrY  ÚdirnamerH   rh  r   r¥   r  ÚRuntimeWarning)	r[  r€   r\  r]  rM   rn  Úwarn_msgÚresultr_  s	           @r   Útest_retry_with_clean_cachert  c  sç   ø€ Ø€GÜ×"Ñ"×*Ñ*×5Ñ5×<Ñ<¸WÓE€KÜ˜&Ÿ,™,Ð':Ó;Ó<€OÜ˜{¨OÓ<€HÜ‡K�K”—‘—‘ Ó)Ô*ä	ˆh˜Ó	ð  Ø	�‰�Œ÷ô ˜[¨/Ó:óó ;ðð 3€HÜ	�‰”n¨HÔ	5ñ Ù“ˆ÷à�QŠ;Ð‰;÷ð ú÷ð ús   ÂC>Ã&D
Ã>DÄ
Dc                 ó8  — d}t         j                  j                  j                  j	                  |«      }t        | j                  d«      «      }t        ||«      d„ «       }d}t        j                  t        |¬«      5   |«        d d d «       y # 1 sw Y   y xY w)Nr‚   rT  c                  ó2   — t        d ddd t        «       ¬«      ‚)Nrc   rd   re   ©r   r   r*   r   r   rn  z:test_retry_with_clean_cache_http_error.<locals>._load_data  s   € äØ˜3Ð$:ÀÌ'Ë)ô
ð 	
r   rd   r÷  )r|   r}   r~   rU  r5  rV  rW  r   r¥   rù  r   )r[  r€   r\  r]  rn  Ú	error_msgs         r   Ú&test_retry_with_clean_cache_http_errorry  z  s…   € Ø€GÜ×"Ñ"×*Ñ*×5Ñ5×<Ñ<¸WÓE€KÜ˜&Ÿ,™,Ð':Ó;Ó<€Oä˜[¨/Ó:ñ
ó ;ð
ð
 '€IÜ	�‰”y¨	Ô	2ñ ÙŒ÷÷ ñ ús   Á?BÂBc                 ó‚  — d„ }d}t        |j                  d«      «      }t        | ||«       t        |d|ddd¬«      \  }}| j	                  t
        j                  j                  d|«       t        |d|ddd¬«      \  }}	t        j                  j                  ||«       t        j                  j                  ||	«       y )	Nc                 ó:   — t        d| j                  «       z  «      ‚)NzhThis mechanism intends to test correct cachehandling. As such, urlopen should never be accessed. URL: %s)rs   rq   ©rt   ru   rv   s      r   Ú_mock_urlopen_raisez4test_fetch_openml_cache.<locals>._mock_urlopen_raiseŒ  s%   € Üð à")×"6Ñ"6Ó"8ñ9ó
ð 	
r   r‚   rT  TFr�   )r€   r£   r5   r   r¢   rœ   rx   )rV  rW  r�   r   r{   r|   r}   r~   r¹   rÐ   r   )
r°   rQ   r[  r}  r€   r]  Ú	X_fetchedÚ	y_fetchedÚX_cachedÚy_cacheds
             r   Útest_fetch_openml_cacher‚  Š  s»   € ò
ð €GÜ˜&Ÿ,™,Ð':Ó;Ó<€OÜ$ [°'¸=ÔIÜ'ØØØ!ØØØôÑ€Iˆyð ×Ñœ×(Ñ(×0Ñ0°)Ð=PÔQä%ØØØ!ØØØôÑ€Hˆhô ‡J�J×!Ñ! )¨XÔ6Ü‡J�J×!Ñ! )¨XÕ6r   zas_frame, parser))Tr�   )Fr�   )Trž   )Frž   c                 óp  ‡‡— |s|dk(  rt        j                  d«       d}t        | |d«       t        dz   d|› �z   }d}t	        j
                  |«      |z  }|dz  Š|j                  d«      5 }	t        j                  |	d«      }
t        |
j                  «       «      }d	|t        |«      d
z
  <   ddd«       t        j                  ‰d«      5 }|j                  «       ddd«       t        j                  j                  j                   Šˆˆfd„}| j#                  t        j                  j                  d|«       t        j$                  t&        «      5 }t        j                  j)                  |d||¬«       ddd«       j+                  d«      sJ ‚y# 1 sw Y   ŒçxY w# 1 sw Y   ŒÃxY w# 1 sw Y   Œ5xY w)z/Check that the checksum is working as expected.rž   r‰   Tr7   r8   zdata-v1-dl-1666876.arff.gzztest_invalid_checksum.arffrE   é%   r…   NÚwbc                 óä   •— | j                  «       }|j                  d«      r;t        ‰d«      5 }|j                  «       }d d d «       t	        t        «      d¬«      S  ‰| «      S # 1 sw Y   Œ'xY w)Nzdata/v1/download/1666876rE   Tr$   )rq   ÚendswithrH   r   r   r   )rt   ru   rv   r?   rM   Úcorrupted_dataÚcorrupt_copy_pathÚmocked_openml_urls         €€r   Úswap_file_mockz9test_fetch_openml_verify_checksum.<locals>.swap_file_mockÐ  sh   ø€ Ø×"Ñ"Ó$ˆØ�<‰<Ð2Ô3ÜÐ'¨Ó.ð *°!Ø!"§¡£�÷*ä$¤W¨^Ó%<ÀdÔKÐKá$ WÓ-Ð-÷	*ð *ús   ¯A&Á&A/rx   Fr  Ú1666876)r¥   r¦   r�   ry   r   rG   rH   r#   Ú	bytearrayr   r=   ÚGzipFilerh  r|   r}   r~   rx   r{   rù  rs   r   rø  )r°   r¢   r£   r[  rœ   r€   Úoriginal_data_moduleÚoriginal_data_file_nameÚoriginal_data_pathÚ	orig_fileÚ	orig_gzipr   Úmodified_gzipr‹  Úexcr‰  rŠ  s                  @@r   Ú!test_fetch_openml_verify_checksumr–  ­  s–  ù€ ñ �6˜XÒ%Ü×Ñ˜HÔ%à€GÜ$ [°'¸4Ô@ô 3°SÑ8¸SÀÀ	¸?ÑJÐØ:ÐÜ"Ÿ™Ð)=Ó>ÐAXÑXÐØÐ!=Ñ=ÐØ	×	 Ñ	  Ó	&ð !¨)Ü—I‘I˜i¨Ó.ˆ	Ü˜Ÿ™Ó)Ó*ˆØ ˆŒS�‹Y˜‰]Ñ÷!ô
 
�‰Ð(¨$Ó	/ð "°=Ø×Ñ˜DÔ!÷"ô  ×(Ñ(×0Ñ0×8Ñ8Ðõ.ð ×Ñœ×(Ñ(×0Ñ0°)¸^ÔLô 
�‰”zÓ	"ð 
 cÜ×Ñ×%Ñ%Ø 5°8ÀFð 	&ô 	
÷
ð
 �9‰9�YÔÐÑ÷=!ð !ú÷
"ð "ú÷(
ð 
ús%   Á-AFÃF Å$F,ÆFÆ F)Æ,F5c                 óž  — d„ }| j                  t        j                  j                  d|«       d}t	        j
                  t        t        j                  dt        |z   › d�«      ¬«      5 }t	        j                  t        d¬«      5  t        |d d¬	«       d d d «       t        |«      d
k(  sJ ‚	 d d d «       y # 1 sw Y   Œ#xY w# 1 sw Y   y xY w)Nc                 ó2   — t        d ddd t        «       ¬«      ‚)Ni”  úSimulated network errorre   rw  r|  s      r   Ú_mock_urlopen_network_errorzPtest_open_openml_url_retry_on_network_error.<locals>._mock_urlopen_network_errorå  s   € ÜØ˜3Ð$=ÀDÌWËYô
ð 	
r   rx   zinvalid-urlz+A network error occurred while downloading z. Retrying...r÷  r™  r   )Údelayr÷   )r{   r|   r}   r~   r¥   r  r  r;   r  r	   rù  r   r   r=   )r°   rš  Úinvalid_openml_urlÚrecords       r   Ú+test_open_openml_url_retry_on_network_errorrž  ä  sÍ   € ò
ð
 ×ÑÜ×Ñ× Ñ  )Ð-Hôð 'Ðä	�‰ÜÜ�i‰iðÜÐ!3Ñ3Ð4°MðCó
ô
ð 	 ð 
Ü�]‰]œ9Ð,EÔFñ 	@ÜÐ/°¸QÕ?÷	@ä�6‹{˜aÒÐÑ÷	 ð 	 ÷	@ð 	@ú÷	 ð 	 ús$   Á*CÂB7ÂCÂ7C 	Â<CÃC)r�   rž   c                 óÞ   — |dk(  rt        j                  d«       d}t        | ||«       t        j                  j                  |dd|¬«      }|€J ‚|d   j                  dk(  sJ ‚d|d	   vsJ ‚y)
z‰Check that we can load the "zoo" dataset.
    Non-regression test for:
    https://github.com/scikit-learn/scikit-learn/issues/14340
    rž   é>   Fr  Nr   )ée   é   ÚanimalrÒ   )r¥   r¦   r�   r|   r}   r   r¬   )r°   rQ   rœ   r€   Údatasets        r   Ú&test_fetch_openml_with_ignored_featurer¥     sŠ   € ð �ÒÜ×Ñ˜HÔ%Ø€GÜ$ [°'¸=ÔIä×Ñ×+Ñ+Ø˜u¨u¸Vð ,ó €Gð ÐÐÐð �6‰?× Ñ  IÒ-Ð-Ð-Ø˜7 ?Ñ3Ñ3Ð3Ñ3r   c                 óF  — t        j                  d«      }d}t        | |d¬«       dd|dœ}t        dddi|¤Ž}t        dddi|¤Ž}|j                  j                  |j                  |j                  «       |j                  j                  j                  d	«      j                  «       rJ ‚|j                  j                  j                  d	«      j                  «       rJ ‚t        ddd
dœ|¤Ž}t        ddd
dœ|¤Ž}|j                  j                  |j                  d   |j                  d   «       |j                  d   j                  j                  d	«      j                  «       rJ ‚|j                  d   j                  j                  d	«      j                  «       rJ ‚y)z§Check that we strip the single quotes when used as a string delimiter.

    Non-regression test for:
    https://github.com/scikit-learn/scikit-learn/issues/23381
    rž   r˜   FrC  T©r¢   r£   r€   rœ   r�   ú'r­  )rœ   rõ   rå   Nr*   )r¥   r¦   r�   r   rÐ   r  r­   rV  rF   r!  r‡  rª   )r°   rµ   r€   rO  Úmice_pandasÚmice_liac_arffs         r   Útest_fetch_openml_strip_quotesr«    sŠ  € ô 
×	Ñ	˜XÓ	&€BØ€GÜ$ [¸'ÐQVÕWà!%°À'ÑJ€MÜÑ@ hÐ@°-Ñ@€KÜ!ÑF¨ÐF¸ÑF€NØ‡J�J×"Ñ" ;×#5Ñ#5°~×7LÑ7LÔMØ×!Ñ!×%Ñ%×0Ñ0°Ó5×9Ñ9Ô;Ð;Ð;Ø×!Ñ!×%Ñ%×.Ñ.¨sÓ3×7Ñ7Ô9Ð9Ð9ô ÐX h¸hÑXÈ-ÑX€KÜ!ð Ø¨(ñØ6Cñ€Nð ‡J�J×"Ñ"Ø×Ñ˜'Ñ" N×$8Ñ$8¸Ñ$Aôð × Ñ  Ñ)×-Ñ-×8Ñ8¸Ó=×AÑAÔCÐCÐCØ× Ñ  Ñ)×-Ñ-×6Ñ6°sÓ;×?Ñ?ÔAÐAÐAÐAr   c                 óú   — t        j                  d«      }d}t        | |d¬«       dd|dœ}t        dddi|¤Ž}t        dddi|¤Ž}|j                  j                  |j                  d	   |j                  d	   «       y
)z�Check that we can strip leading whitespace in pandas parser.

    Non-regression test for:
    https://github.com/scikit-learn/scikit-learn/issues/25311
    rž   rB  FrC  Tr§  rœ   r�   rå   Nr*   )r¥   r¦   r�   r   rÐ   r  rª   ©r°   rµ   r€   rO  Úadult_pandasÚadult_liac_arffs         r   Ú$test_fetch_openml_leading_whitespacer°  3  sƒ   € ô 
×	Ñ	˜XÓ	&€BØ€GÜ$ [¸'ÐQVÕWà!%°À'ÑJ€MÜÑA xÐA°=ÑA€LÜ"ÑG¨+ÐG¸ÑG€OØ‡J�J×"Ñ"Ø×Ñ˜7Ñ# _×%:Ñ%:¸7Ñ%Cõr   c                 óî   — t        j                  d«      }d}t        | |d¬«       dd|dœ}t        d
ddi|¤Ž}t        d
ddi|¤Ž}|j                  j                  |j                  |j                  «       y	)z¡Check that we can handle escapechar and single/double quotechar.

    Non-regression test for:
    https://github.com/scikit-learn/scikit-learn/issues/25478
    rž   iZ¤  FrC  Tr§  rœ   r�   Nr*   )r¥   r¦   r�   r   rÐ   rÑ   rª   r­  s         r   Ú&test_fetch_openml_quotechar_escapecharr²  E  sv   € ô 
×	Ñ	˜XÓ	&€BØ€GÜ$ [¸'ÐQVÕWà!%°À'ÑJ€MÜÑA xÐA°=ÑA€LÜ"ÑG¨+ÐG¸ÑG€OØ‡J�J×!Ñ! ,×"4Ñ"4°o×6KÑ6KÕLr   )TÚ__doc__r#   rj   rX  r;   Ú	functoolsr   Ú	importlibr   Úior   Úurllib.errorr   Únumpyr¹   r¥   Úscipy.sparser	  r|   r   Úsklearn.datasetsr   Úfetch_openml_origÚsklearn.datasets._openmlr	   r
   r   r   Úsklearn.utilsr   Ú$sklearn.utils._optional_dependenciesr   Úsklearn.utils._testingr   r   r   ry   rz   r   r�   ÚmarkÚparametrizer·   r¼   rÙ   rÝ   rô   rý   r  r  r  ÚfixturerÜ  rà  rô  rý  r  Úfilterwarningsr  r  r  r  r  r$  r*  rs   ÚKeyErrorr.  r1  r9  r=  r@  rR  ra  rj  rt  ry  r‚  r–  rž  r¥  r«  r°  r²  r*   r   r   ú<module>rÅ     sS
  ðÙ ã Û Û 	Û 	Ý Ý Ý Ý "ã Û Û ã Ý "Ý >÷ó õ  Ý E÷ñ ð ?Ð à€÷ñ ñ< Ð(°DÔ9€òtLðv ‡�×ÑØ?ð 
ˆi˜ˆ_˜c 1 aÐ(Ø	�f¨Ñ+¨S°!°QÐ7à	
ˆY˜ˆN˜B  AÐ&Ø	
�X¨!Ñ,¨b°"°aÐ8à	ˆy˜#Ð  Q¨Ð*Ø	�u¨Ñ+¨S°!°QÐ7à	�˜EÐ" B¨¨AÐ.à	�	˜4Ð  " b¨!Ð,Ø	�˜Ð'¨¨R°Ð3à	�˜EÐ" A r¨1Ð-Ø	�˜Ð'¨¨B°Ð2à	�˜EÐ" D¨"¨aÐ0ð'óð0 ‡�×Ñ˜ K°Ð#:Ó;Ø‡�×Ñ˜¨4°¨-Ó8ñ($ó 9ó <ó1ð4($ðV ‡�×ÑØ?ð 
ˆi˜ˆ_˜c 1 aÐ(Ø	�f¨Ñ+¨S°!°QÐ7à	
ˆY˜ˆN˜B  AÐ&Ø	
�X¨!Ñ,¨b°"°aÐ8à	ˆy˜#Ð  Q¨Ð*Ø	�u¨Ñ+¨S°!°QÐ7à	�˜EÐ" B¨¨AÐ.à	�	˜4Ð  " b¨!Ð,Ø	�˜Ð'¨¨R°Ð3à	�˜EÐ" A r¨1Ð-Ø	�˜Ð'¨¨B°Ð2ð#óð, ‡�×Ñ˜ K°Ð#:Ó;ñ$.ó <ó-ð.$.ðN ‡�×Ñ˜Ò$5Ó6ñ<Nó 7ð<Nð~ ‡�×Ñ˜ K°Ð#:Ó;ñPó <ðPð4 ‡�×Ñ˜ K°Ð#:Ó;ñ,!ó <ð,!ð^ ‡�×Ñ˜ K°Ð#:Ó;Ø‡�×Ñ˜¨<¸,ÈÐ9VÐ*WÓXñ;ó Yó <ð;ð> ‡�×Ñ˜Ò$=Ó>Ø‡�×Ñ˜ K°Ð#:Ó;ñ7ó <ó ?ð7ð6 ‡�×Ñ˜Ò$:Ó;Ø‡�×Ñ˜ K°Ð#:Ó;ñ(ó <ó <ð(ò0*ð> €‡��hÔñoó  ðoðd €‡��hÔñ-ó  ð-ð` ‡�×ÑØPòóð4 ‡�×Ñ˜¨4°¨-Ó8ñ)-ó 9ó5ð6)-ð` ‡�×ÑØð �yÐ!ØHð	
ð
 ˜Ð#ØJð	
ð	óñ0óð0ð ‡�×ÑØà VÑ,Ø vÑ.Ø hÑ/Ø fÑ-ð	óñIóðIð ‡�×ÑÐPÓQØ‡�×ÑØð �xÐ ØHð	
ð
 ˜ÐØGð	
ð
  ¨TÑ2ØGð	
ðóñ"
ó#ó Rð$
ð  ‡�×ÑÐPÓQØ‡�×ÑØàØðóñ(óó Rð(òð& ‡�×Ñ˜¨4°¨-Ó8ñ
ó 9ð
ð4 ‡�×Ñ˜¨4°¨-Ó8ñó 9ðð& ‡�×Ñ˜¨4°¨-Ó8Ø‡�×Ñ˜ K°Ð#:Ó;ñFó <ó 9ðFð( ‡�×Ñ˜¨4°¨-Ó8Ø‡�×ÑØà	�EÐØ (°qÑ9ðóñ
+óó 9ð
+ð ‡�×Ñ˜¨4°¨-Ó8Ø‡�×ÑØ(à	�˜Ð" JÐ0PÐQàØ¨l¸GÐ-DÑEØØ?ð		
ð Ø¨5Ñ1Øð!ð	
ð Ø¨HÀ$ÑGØØ$ð		
ð Ø¨HÀ%ÑHØØ$ð		
ð Ø¨[Ñ9ØØ6ð		
ð Ø¨k¸7Ð-CÑDØØ6ð		
ðG)ó,ðZ ‡�×Ñ˜ K°Ð#:Ó;ñ;ó <ó[,ó 9ð^;ð ‡�×ÑØð  D°YÑ?ØØQð	
ð  FÑ+ØØQð	
ð  F°yÑAØØDð	
ð ØØTð	
ð!óñ2ó3ð2ð
 ‡�×Ñ˜¨4°¨-Ó8ñ.
ó 9ð.
ðb ‡�×Ñ˜¨4°¨-Ó8ñWó 9ðWð ‡�×Ñ˜¨4°¨-Ó8ñWó 9ðWòð@ ‡�×Ñ˜¨4°¨-Ó8ñ0ó 9ð0ð  ‡�×Ñ˜¨4°¨-Ó8ñ(ó 9ð(ò(ò.ð  ‡�×Ñ˜¨4°¨-Ó8ñ7ó 9ð7ðD ‡�×ÑØòóñ+ óð+ ò\ ð8 ‡�×Ñ˜¨4°¨-Ó8Ø‡�×Ñ˜Ð#:Ó;ñ4ó <ó 9ð4ò(Bò:ó$Mr   