Ë
    ÜÍ:jöF  ã                   ó
  — 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mZ d dlmZ d dlmZ d d	lmZ d d
lmZmZmZmZmZmZmZmZm Z m!Z! d dl"m#Z# d dl$m%Z%m&Z&m'Z'm(Z( 	 d dl)Z)dZ*	 d dl,m-Z-  e'ej^                  «       e'e«      k  r e+dej^                  › de› d�«      ‚d„ Z0eeeeeeeee e!dœ
Z1e0e1d<   ejd                  jg                   ejh                  dd«      dk7  d¬«      Z5 ejl                   ejn                  ejp                  e5¬«      ejr                  g¬«      d„ «       Z:d„ Z; e;e«      Z< e;e«      Z= e;e«      Z> e;e«      Z? e;e«      Z@ e;e«      ZA e;e«      ZB e;e«      ZC e;e «      ZD e;e!«      ZE ejl                  e0«      ZFd„ ZG ejl                  d ¬!«      d"„ «       ZHd#„ ZId$„ ZJd%„ ZKd&„ ZLd'„ ZMejl                  d(„ «       ZNe-�de-_O        yy# e+$ r dZ*Y �Œyw xY w# e.$ r dZ-Y �Œ€w xY w))é    N)Úsuppress)Úwraps)Úenviron)ÚSkipTest)ÚDoctestItem)Úface)Úthreadpool_limits)ÚPYTEST_MIN_VERSION)
Úfetch_20newsgroupsÚfetch_20newsgroups_vectorizedÚfetch_california_housingÚfetch_covtypeÚfetch_kddcup99Úfetch_lfw_pairsÚfetch_lfw_peopleÚfetch_olivetti_facesÚ
fetch_rcv1Úfetch_species_distributions)Úget_pytest_filterwarning_lines)Ú	_IS_32BITÚnp_base_versionÚparse_versionÚ
sp_versionTF)Ú	dt_configz/Your version of pytest is too old. Got version z, you should have pytest >= z installed.c                  ó    — t        j                  dd«      dk(  } | st        d«      ‚	 dd l}t        d¬«      S # t        $ r t        d«      ‚w xY w)	NÚSKLEARN_SKIP_NETWORK_TESTSÚ1Ú0ú1test is enabled when SKLEARN_SKIP_NETWORK_TESTS=0r   z#test requires pooch to be installedT)Úgray)r   Úgetr   ÚpoochÚImportErrorr   )Úrun_network_testsr"   s     úe/home/mcse/projects/srt_converter/srt-converter-venv/lib/python3.12/site-packages/sklearn/conftest.pyÚraccoon_face_or_skipr&   <   sY   € äŸ™Ð$@À#ÓFÈ#ÑMÐÙÜÐJÓKÐKð>Ûô �TŒ?Ðøô ò >ÜÐ<Ó=Ð=ð>ús	   ¨8 ¸A)
Úfetch_20newsgroups_fxtÚ!fetch_20newsgroups_vectorized_fxtÚfetch_california_housing_fxtÚfetch_covtype_fxtÚfetch_kddcup99_fxtÚfetch_lfw_pairs_fxtÚfetch_lfw_people_fxtÚfetch_olivetti_faces_fxtÚfetch_rcv1_fxtÚfetch_species_distributions_fxtÚraccoon_face_fxtÚSKLEARN_RUN_FLOAT32_TESTSr   r   z:Set SKLEARN_RUN_FLOAT32_TESTS=1 to run float32 dtype tests©Úreason)Úmarks)Úparamsc              #   ó(   K  — | j                   –— y ­w©N)Úparam)Úrequests    r%   Úglobal_dtyper;   _   s   è ø€ à
�-‰-Óùs   ‚c                 ó’   ‡ ‡‡— t        j                  dd«      dk(  Št        ‰ «      ˆˆ fd„«       Št        j                  ˆfd„«      S )zAFetch dataset (download if missing and requested by environment).r   r   r   c                  ó”   •— ‰|d<   	  ‰| i |¤ŽS # t         $ r.}t        |«      dk7  r‚ t        j                  d«       Y d }~y d }~ww xY w)NÚdownload_if_missingz1Data not found and `download_if_missing` is Falser   )ÚOSErrorÚstrÚpytestÚskip)ÚargsÚkwargsÚer>   Úfs      €€r%   Úwrappedz_fetch_fixture.<locals>.wrappedh   sV   ø€ à(;ˆÐ$Ñ%ð	MÙ�dÐ%˜fÑ%Ð%øÜò 	MÜ�1‹vÐLÒLØÜ�K‰KÐK×LÑLûð	Mús   ˆ �	A™$AÁAc                  ó   •— ‰ S r8   © )rG   s   €r%   ú<lambda>z _fetch_fixture.<locals>.<lambda>r   s   ø€  '€ ó    )r   r!   r   rA   Úfixture)rF   r>   rG   s   `@@r%   Ú_fetch_fixturerM   d   sC   ú€ ä!Ÿ+™+Ð&BÀCÓHÈCÑOÐä
ˆ1ƒXôMó ðMô �>‰>›/Ó*Ð*rK   c                 ó  — t        j                  dd«      dk(  }t        j                  j	                  d¬«      }t        t        «      }t        «       }|D ]–  }t        |t        «      rAd|j                  v r3|j                  j                  d«      d   }|› d	�}t        |g«      |z  }	n't        |d
«      sŒat        |j                  «      }
|
|z  }	|	sŒ~|r||	z  }Œ†|j                  |«       Œ˜ t        j                  dd«      }|dk(  r.|r,|D ]'  }t        t        «      5  t        |   «        ddd«       Œ) |D ]g  }|j                  j!                  d«      sŒt#        j$                  «       dk(  sŒ7t        j                  j'                  d¬«      }|j                  |«       Œi d}	 ddl}t,        rd}d}n#t.        j"                  j1                  d«      rd}d}t2        t5        d«      k  rd}d}t6        t5        d«      k  rd}d}|D ]$  }t        |t        «      sŒi |j8                  _        Œ& |rYt        j                  j	                  ¬«      }|D ]4  }t        |t        «      sŒ|j                  dk7  sŒ$|j                  |«       Œ6 	 ddl}d}|sHt        j                  j	                  d¬«      }|D ]"  }|j                  dv sŒ|j                  |«       Œ$ yy# 1 sw Y   �Œ×xY w# t*        $ r d}d}Y �ŒMw xY w# t*        $ r d}Y Œyw xY w)z…Called after collect is completed.

    Parameters
    ----------
    config : pytest config
    items : list of collected items
    r   r   r   r   r3   Úfetch_ú.éÿÿÿÿÚ_fxtÚfixturenamesÚPYTEST_XDIST_WORKERÚgw0NÚGradientBoostingClassifierÚaarch64zKknow failure. See https://github.com/scikit-learn/scikit-learn/issues/17797Fr   Tz*matplotlib is required to run the doctestsz;doctest are only run when the default numpy int is 64 bits.Úwin32z\doctests are not run for Windows because numpy arrays repr is inconsistent across platforms.Ú2z6Due to NEP 51 numpy scalar repr has changed in numpy 2z1.14z2Scipy sparse matrix repr has changed in scipy 1.14zsklearn._config.config_contextzpillow (or PIL) not installed!)z/sklearn.feature_extraction.image.PatchExtractorz3sklearn.feature_extraction.image.extract_patches_2d)r   r!   rA   ÚmarkrB   ÚsetÚdataset_fetchersÚ
isinstancer   ÚnameÚsplitÚhasattrrS   Ú
add_markerr   r   ÚendswithÚplatformÚmachineÚxfailÚ
matplotlibr#   r   ÚsysÚ
startswithr   r   r   ÚdtestÚglobsÚPIL)ÚconfigÚitemsr$   Úskip_networkÚdataset_features_setÚdatasets_to_downloadÚitemÚfetcher_function_nameÚdataset_fetchers_keyÚdataset_to_fetchÚitem_fixturesÚ	worker_idr^   ÚmarkerÚskip_doctestsrf   r4   Úskip_markerrk   Úpillow_installeds                       r%   Úpytest_collection_modifyitemsr{   ƒ   s/  € ô  Ÿ™Ð$@À#ÓFÈ#ÑMÐÜ—;‘;×#Ñ#ØBð $ó €Lô Ô/Ó0ÐÜ›5Ðàò *ˆÜ�dœKÔ(¨X¸¿¹Ñ-BØ$(§I¡I§O¡O°CÓ$8¸Ñ$<Ð!Ø&;Ð%<¸DÐ#AÐ Ü"Ð$8Ð#9Ó:Ð=QÑQÑÜ˜˜~Ô.Øä × 1Ñ 1Ó2ˆMØ,Ð/CÑCÐáØáØ Ð$4Ñ4Ñ ð �O‰O˜LÕ)ð%*ô. —‘Ð1°5Ó9€IØ�EÒÑ/Ø(ò 	)ˆDÜœ(Ó#ñ )Ü  Ñ&Ô(÷)ð )ð	)ð ò $ˆð �I‰I×ÑÐ;Õ<Ü× Ñ Ó" iÓ/ä—[‘[×&Ñ&ðPð 'ó ˆFð �O‰O˜FÕ#ð$ð €Mð>Ûõ
 ØNˆØ‰Ü	�‰×	 Ñ	  Ô	)ð5ð 	ð ˆäœ sÓ+Ò+ð JˆØˆä”M &Ó)Ò)ØEˆØˆð
 ò "ˆÜ�dœKÕ(Ø!ˆD�J‰JÕð"ñ Ü—k‘k×&Ñ&¨fÐ&Ó5ˆàò 	1ˆDÜ˜$¤Õ,ð
 —9‘9Ð @Ó@Ø—O‘O KÕ0ð	1ð!ÛàÐñ Ü—k‘k×&Ñ&Ð.NÐ&ÓOˆØò 	-ˆDØ�y‰yð ò ð —‘ Õ,ñ	-ð ÷M)ñ )ûô( ò >ØˆØ=‹ð>ûô^ ò !Ø Òð!ús0   ÄKÆ&K' Ê	K; ËK$	Ë'K8Ë7K8Ë;L	ÌL	Úfunction)Úscopec               #   ó‚   K  — t        j                  d«      } | j                  d«       | –— | j                  d«       y­w)a/  Setup and teardown fixture for matplotlib.

    This fixture checks if we can import matplotlib. If not, the tests will be
    skipped. Otherwise, we close the figures before and after running the
    functions.

    Returns
    -------
    pyplot : module
        The ``matplotlib.pyplot`` module.
    zmatplotlib.pyplotÚallN)rA   ÚimportorskipÚclose)Úpyplots    r%   r‚   r‚   ÿ   s6   è ø€ ô × Ñ Ð!4Ó5€FØ
‡L�L�ÔØ
‚LØ
‡L�L�Õùs   ‚=?c                  ó~  ‡	— dd l Š	d„ } | ‰	j                  j                  _        | ‰	j                  j                  _        | ‰	j                  j                  _         G ˆ	fd„d«      } G d„ d|‰	j                  j
                  «      } G d„ d|‰	j                  j                  «      } G d	„ d
|‰	j                  j                  «      } G d„ d|‰	j                  j                  «      } G d„ d|‰	j                  j                  «      } G d„ d|‰	j                  j                  «      } G d„ d|‰	j                  j                  «      }|x‰	j                  _        ‰	j                  j                  _        |x‰	j                  _        ‰	j                  j                  _        |x‰	j                  _        ‰	j                  j                  _        |x‰	j                  _        ‰	j                  j                  _        |x‰	j                  _	        ‰	j                  j                   _	        |x‰	j                  _
        ‰	j                  j"                  _
        |x‰	j                  _        ‰	j                  j$                  _        |‰	j                  j                  _        |‰	j                  j                  _        |‰	j                  j                  _        |‰	j                  j                  _        |‰	j                  j                  _        |‰	j                  j&                  _        |‰	j                  j&                  _        |‰	j                  j&                  _        |‰	j                  j&                  _        |‰	j                  j&                  _        |‰	j                  j&                  _	        |‰	j                  j&                  _
        y )Nr   c                  ó   — t        d«      ‚)Nz7Old spmatrix function called. Use e.g. block or random.©Ú
ValueError)rC   Úkwdss     r%   Úflag_this_callz;munge_scipy_to_check_spmatrix_usage.<locals>.flag_this_call  s   € ÜÐRÓSÐSrK   c                   ó�   •‡ — e Zd Zˆ ˆfd„Zˆ ˆfd„Zˆ ˆfd„Zd„ Zed„ «       Zed„ «       Z	d„ Z
d„ Zd	„ Zd
„ Zd„ Zd„ Zd„ Zd„ Zˆ xZS )ú>munge_scipy_to_check_spmatrix_usage.<locals>._strict_mul_mixinc                 ó‚   •— ‰j                   j                  j                  |«      st        d«      ‚t        ‰| �  |«      S ©Nz"Operator * used here! Change to @?)ÚsparseÚ_sputilsÚisscalarliker†   ÚsuperÚ__mul__©ÚselfÚotherÚ	__class__Úscipys     €€r%   r‘   zFmunge_scipy_to_check_spmatrix_usage.<locals>._strict_mul_mixin.__mul__  s6   ø€ Ø—<‘<×(Ñ(×5Ñ5°eÔ<Ü Ð!EÓFÐFÜ‘7‘? 5Ó)Ð)rK   c                 ó‚   •— ‰j                   j                  j                  |«      st        d«      ‚t        ‰| �  |«      S rŒ   )r�   rŽ   r�   r†   r�   Ú__rmul__r’   s     €€r%   r˜   zGmunge_scipy_to_check_spmatrix_usage.<locals>._strict_mul_mixin.__rmul__"  ó7   ø€ Ø—<‘<×(Ñ(×5Ñ5°eÔ<Ü Ð!EÓFÐFÜ‘7Ñ# EÓ*Ð*rK   c                 ó‚   •— ‰j                   j                  j                  |«      st        d«      ‚t        ‰| �  |«      S rŒ   )r�   rŽ   r�   r†   r�   Ú__imul__r’   s     €€r%   r›   zGmunge_scipy_to_check_spmatrix_usage.<locals>._strict_mul_mixin.__imul__'  r™   rK   c                 ó   — t        d«      ‚)Nz6spmatrix ** used here! Use sparse.linalg.matrix_power?r…   )r“   rC   rD   s      r%   Ú__pow__zFmunge_scipy_to_check_spmatrix_usage.<locals>._strict_mul_mixin.__pow__,  s   € ÜÐUÓVÐVrK   c                 ó   — t        d«      ‚)Nz2spmatrix A property is not allowed! Use .toarray()©Ú	TypeError©r“   s    r%   ÚAz@munge_scipy_to_check_spmatrix_usage.<locals>._strict_mul_mixin.A/  s   € äÐPÓQÐQrK   c                 ó   — t        d«      ‚)Nz6spmatrix H property is not allowed! Use .conjugate().TrŸ   r¡   s    r%   ÚHz@munge_scipy_to_check_spmatrix_usage.<locals>._strict_mul_mixin.H3  s   € äÐTÓUÐUrK   c                 ó   — t        d«      ‚)Nz0spmatrix asfptype is not allowed! rewrite neededrŸ   r¡   s    r%   ÚasfptypezGmunge_scipy_to_check_spmatrix_usage.<locals>._strict_mul_mixin.asfptype7  s   € ÜÐNÓOÐOrK   c                 ó   — t        d«      ‚)Nz-spmatrix get_shape is not allowed! Use .shaperŸ   r¡   s    r%   Ú	get_shapezHmunge_scipy_to_check_spmatrix_usage.<locals>._strict_mul_mixin.get_shape:  ó   € ÜÐKÓLÐLrK   c                 ó   — t        d«      ‚)Nz-spmatrix getformat is not allowed! Use .shaperŸ   r¡   s    r%   Ú	getformatzHmunge_scipy_to_check_spmatrix_usage.<locals>._strict_mul_mixin.getformat=  r©   rK   c                 ó   — t        d«      ‚)Nz/spmatrix getmaxprint is not allowed! Use .shaperŸ   r¡   s    r%   ÚgetmaxprintzJmunge_scipy_to_check_spmatrix_usage.<locals>._strict_mul_mixin.getmaxprint@  s   € ÜÐMÓNÐNrK   c                 ó   — t        d«      ‚)Nz*spmatrix getnnz is not allowed! Use .shaperŸ   r¡   s    r%   ÚgetnnzzEmunge_scipy_to_check_spmatrix_usage.<locals>._strict_mul_mixin.getnnzC  ó   € ÜÐHÓIÐIrK   c                 ó   — t        d«      ‚)Nz(spmatrix getH is not allowed! Use .shaperŸ   r¡   s    r%   ÚgetHzCmunge_scipy_to_check_spmatrix_usage.<locals>._strict_mul_mixin.getHF  s   € ÜÐFÓGÐGrK   c                 ó   — t        d«      ‚)Nz*spmatrix getrow is not allowed! Use .shaperŸ   r¡   s    r%   ÚgetrowzEmunge_scipy_to_check_spmatrix_usage.<locals>._strict_mul_mixin.getrowI  r°   rK   c                 ó   — t        d«      ‚)Nz*spmatrix getcol is not allowed! Use .shaperŸ   r¡   s    r%   ÚgetcolzEmunge_scipy_to_check_spmatrix_usage.<locals>._strict_mul_mixin.getcolL  r°   rK   )Ú__name__Ú
__module__Ú__qualname__r‘   r˜   r›   r�   Úpropertyr¢   r¤   r¦   r¨   r«   r­   r¯   r²   r´   r¶   Ú__classcell__)r•   r–   s   @€r%   Ú_strict_mul_mixinrŠ     st   ù„ õ	*õ
	+õ
	+ò
	Wð 
ñ	Ró 
ð	Rð 
ñ	Vó 
ð	Vò	Pò	Mò	Mò	Oò	Jò	Hò	Jö	JrK   r¼   c                   ó   — e Zd Zy)ú?munge_scipy_to_check_spmatrix_usage.<locals>._strict_coo_matrixN©r·   r¸   r¹   rI   rK   r%   Ú_strict_coo_matrixr¾   O  ó   „ ØrK   rÀ   c                   ó   — e Zd Zy)ú?munge_scipy_to_check_spmatrix_usage.<locals>._strict_bsr_matrixNr¿   rI   rK   r%   Ú_strict_bsr_matrixrÃ   R  rÁ   rK   rÄ   c                   ó   — e Zd Zy)ú?munge_scipy_to_check_spmatrix_usage.<locals>._strict_csr_matrixNr¿   rI   rK   r%   Ú_strict_csr_matrixrÆ   U  rÁ   rK   rÇ   c                   ó   — e Zd Zy)ú?munge_scipy_to_check_spmatrix_usage.<locals>._strict_csc_matrixNr¿   rI   rK   r%   Ú_strict_csc_matrixrÉ   X  rÁ   rK   rÊ   c                   ó   — e Zd Zy)ú?munge_scipy_to_check_spmatrix_usage.<locals>._strict_dok_matrixNr¿   rI   rK   r%   Ú_strict_dok_matrixrÌ   [  rÁ   rK   rÍ   c                   ó   — e Zd Zy)ú?munge_scipy_to_check_spmatrix_usage.<locals>._strict_lil_matrixNr¿   rI   rK   r%   Ú_strict_lil_matrixrÏ   ^  rÁ   rK   rÐ   c                   ó   — e Zd Zy)ú?munge_scipy_to_check_spmatrix_usage.<locals>._strict_dia_matrixNr¿   rI   rK   r%   Ú_strict_dia_matrixrÒ   a  rÁ   rK   rÓ   )r–   r�   Ú
_constructÚbmatÚrandÚ
coo_matrixÚ
bsr_matrixÚ
csr_matrixÚ
csc_matrixÚ
dok_matrixÚ
lil_matrixÚ
dia_matrixÚ_cooÚ_bsrÚ_csrÚ_cscÚ_dokÚ_lilÚ_diaÚ_matrix)
rˆ   r¼   rÀ   rÄ   rÇ   rÊ   rÍ   rÐ   rÓ   r–   s
            @r%   Ú#munge_scipy_to_check_spmatrix_usageræ     s­  ø€ ÛòTð $2€E‡L�L×ÑÔ Ø#1€E‡L�L×ÑÔ Ø#1€E‡L�L×ÑÔ ÷1Jó 1JôfÐ.°·±×0GÑ0Gô ôÐ.°·±×0GÑ0Gô ôÐ.°·±×0GÑ0Gô ôÐ.°·±×0GÑ0Gô ôÐ.°·±×0GÑ0Gô ôÐ.°·±×0GÑ0Gô ôÐ.°·±×0GÑ0Gô ð >PÐO€E‡L�LÔ˜eŸl™l×/Ñ/Ô:Ø=OÐO€E‡L�LÔ˜eŸl™l×/Ñ/Ô:Ø=OÐO€E‡L�LÔ˜eŸl™l×/Ñ/Ô:Ø=OÐO€E‡L�LÔ˜eŸl™l×/Ñ/Ô:Ø=OÐO€E‡L�LÔ˜eŸl™l×/Ñ/Ô:Ø=OÐO€E‡L�LÔ˜eŸl™l×/Ñ/Ô:Ø=OÐO€E‡L�LÔ˜eŸl™l×/Ñ/Ô:à);€E‡L�L×ÑÔ&Ø);€E‡L�L×ÑÔ&Ø);€E‡L�L×ÑÔ&Ø);€E‡L�L×ÑÔ&Ø);€E‡L�L×ÑÔ&à&8€E‡L�L×ÑÔ#Ø&8€E‡L�L×ÑÔ#Ø&8€E‡L�L×ÑÔ#Ø&8€E‡L�L×ÑÔ#Ø&8€E‡L�L×ÑÔ#Ø&8€E‡L�L×ÑÔ#Ø&8€E‡L�L×ÑÕ#rK   c                 óª  — t        t        d«      «      }t        j                  d«      }dg}|€|}n�|dk(  r|}nyd|v r?|j	                  d«      \  }}t        t        t        |«      t        |«      dz   «      «      }nt        |«      g}t        |«      dk  st        |«      d	kD  rt        d
|› �«      ‚d| j                  v r| j                  d|«       yy)aï  Parametrization of global_random_seed fixture

    based on the SKLEARN_TESTS_GLOBAL_RANDOM_SEED environment variable.

    The goal of this fixture is to prevent tests that use it to be sensitive
    to a specific seed value while still being deterministic by default.

    See the documentation for the SKLEARN_TESTS_GLOBAL_RANDOM_SEED
    variable for instructions on how to use this fixture.

    https://scikit-learn.org/dev/computing/parallelism.html#sklearn-tests-global-random-seed

    éd   Ú SKLEARN_TESTS_GLOBAL_RANDOM_SEEDé*   Nr   ú-é   r   éc   zxThe value(s) of the environment variable SKLEARN_TESTS_GLOBAL_RANDOM_SEED must be in the range [0, 99] (or 'all'), got: Úglobal_random_seed)ÚlistÚranger   r!   r_   ÚintÚminÚmaxr†   rS   Úparametrize)ÚmetafuncÚRANDOM_SEED_RANGEÚrandom_seed_varÚdefault_random_seedsÚrandom_seedsÚstartÚstops          r%   Úpytest_generate_testsrü   {  sä   € ô$ œU 3›ZÓ(ÐÜ—k‘kÐ"DÓE€Oà˜4ÐàÐØ+‰Ø	˜EÒ	!Ø(‰à�/Ñ!Ø)×/Ñ/°Ó4‰KˆE�4Ü¤¤c¨%£j´#°d³)¸a±-Ó @ÓA‰Lä Ó0Ð1ˆLäˆ|Ó˜qÒ ¤C¨Ó$5¸Ò$:Üð$à$3Ð#4ð6óð ð ˜x×4Ñ4Ñ4Ø×ÑÐ1°<Õ@ð 5rK   c                 ó^   — t         s| j                  dd«       | j                  dddd¬«       y )NÚthread_unsafe_fixtureszlist of stuffz--check_spmatrixÚ
store_trueFz,raise for spmatrix usage that breaks sparray)ÚactionÚdefaultÚhelp)ÚPARALLEL_RUN_AVAILABLEÚaddiniÚ	addoption)ÚparserÚpluginmanagers     r%   Úpytest_addoptionr  ¨  s3   € Ý!Ø�‰Ð.°Ô@Ø
×ÑØØØØ;ð	 õ rK   c                 óŽ   — d| j                   v r7| j                  j                  j                  rt	        j
                  d«       y y y )NÚno_check_spmatrixz9skip due to check_spmatrix scipy patch breaking this test)Úkeywordsrl   ÚoptionÚcheck_spmatrixrA   rB   )rq   s    r%   Úpytest_runtest_setupr  ³  s6   € Ø˜dŸm™mÑ+°·±×0BÑ0B×0QÒ0QÜ�‰ÐOÕPð 1RÐ+rK   c                 óB  — 	 dd l }|j                  d«       t        j                  d¬«      }t        j                  d«      }|�t        |t        |«      z  d«      }t        |«       t        j                  dd«      dk7  r!t        «       D ]  }| j                  d	|«       Œ | j                  j                  r
t        «        t        sI| j                  d
d«       | j                  d
d«       | j                  d
d«       | j                  d
d«       y y # t        $ r Y �Œw xY w)Nr   ÚaggT)Úonly_physical_coresÚPYTEST_XDIST_WORKER_COUNTrì   ÚSKLEARN_WARNINGS_AS_ERRORSr   ÚfilterwarningsÚmarkerszOparallel_threads(n): run the given test function in parallel using `n` threads.z8thread_unsafe: mark the test function as single-threadedzCiterations(n): run the given test function `n` times in each thread)rf   Úuser#   ÚjoblibÚ	cpu_countr   r!   ró   rñ   r	   r   Úaddinivalue_liner  r  ræ   r  )rl   rf   Úallowed_parallelismÚxdist_worker_countÚlines        r%   Úpytest_configurer  ¸  s(  € ðÛà�‰�uÔô !×*Ñ*¸tÔDÐÜ Ÿ™Ð%@ÓAÐØÐ%ô "Ð"5¼Ð=OÓ9PÑ"PÐRSÓTÐÜÐ)Ô*ä‡{�{Ð/°Ó5¸Ò<ô 3Ó4ò 	<ˆDØ×#Ñ#Ð$4°dÕ;ð	<ð ‡}�}×#Ò#ô 	,Ô-å!Ø×ÑØð!ô	
ð
 	×ÑØØFô	
ð 	×ÑØØQô	
ð 	×ÑØØQõ	
ð "øô5 ò Úðús   ‚D Ä	DÄDc                 ó^   ‡— t         j                  Šˆfd„}| j                  t         d|«       y)z!Pretend pandas was not installed.c                 ó:   •— | dk(  r
t        «       ‚ ‰| g|¢­i |¤ŽS )NÚpandas)r#   )r^   rC   rD   Úimport_origs      €r%   Úmocked_importz,hide_available_pandas.<locals>.mocked_importñ  s(   ø€ Ø�8ÒÜ“-ÐÙ˜4Ð1 $Ò1¨&Ñ1Ð1rK   Ú
__import__N)Úbuiltinsr#  Úsetattr)Úmonkeypatchr"  r!  s     @r%   Úhide_available_pandasr'  ì  s)   ø€ ô ×%Ñ%€Kô2ð
 ×Ñœ ,°Õ>rK   )Pr$  rc   rg   Ú
contextlibr   Ú	functoolsr   Úosr   Úunittestr   r  ÚnumpyÚnprA   Ú_pytest.doctestr   Úscipy.datasetsr   Úthreadpoolctlr	   Úsklearn._min_dependenciesr
   Úsklearn.datasetsr   r   r   r   r   r   r   r   r   r   Úsklearn.utils._testingr   Úsklearn.utils.fixesr   r   r   r   Úpytest_run_parallelr  r#   Úscipy_doctest.conftestr   ÚModuleNotFoundErrorÚ__version__r&   r\   rZ   Úskipifr!   Ú_SKIP32_MARKrL   r9   Úfloat32Úfloat64r;   rM   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r{   r‚   ræ   rü   r  r  r  r'  Ústrict_checkrI   rK   r%   ú<module>r>     s‚  ðó Û Û 
Ý Ý Ý Ý ã Û Û Ý 'Ý Ý +å 8÷÷ ÷ õ B÷ó ð#Ûà!Ðð
Ý0ñ �×#Ñ#Ó$¡}Ð5GÓ'HÒHÙ
Ø
9¸&×:LÑ:LÐ9Mð N"Ø"4Ð!5°[ð	Bóð ò
ð 1Ø)FØ$<Ø&Ø(Ø*Ø,Ø 4Ø Ø'BñÐ ð (<Ð Ð#Ñ $à�{‰{×!Ñ!Ø€G‡K�KÐ+¨SÓ1°SÑ8ØGð "ó €ð €‡�˜˜Ÿ™ R§Z¡Z°|ÔDÀbÇjÁjÐQÔRñó Sðò+ñ$ (Ð(:Ó;Ð Ù$2Ð3PÓ$QÐ !Ù-Ð.FÓGÐ Ù" =Ó1Ð Ù# NÓ3Ð Ù$ _Ó5Ð Ù%Ð&6Ó7Ð Ù)Ð*>Ó?Ð Ù 
Ó+€Ù"0Ð1LÓ"MÐ Ø!�6—>‘>Ð"6Ó7Ð òy-ðx €‡��jÔ!ñó "ðò$f9òR*AòZòQò
1
ðh ‡�ñ	?ó ð	?ð Ðà!€IÕð øð[ ò #Ø"Óð#ûð ò ØƒIðús$   Á4G) Á;G7 Ç)G4Ç3G4Ç7HÈH