§
    fŠtj1Ä  ã                   ól  — d dl Zd dlmZmZmZmZ d dl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mZmZmZmZmZmZmZmZmZmZ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, d dl-m.Z.m/Z/m0Z0m1Z1 d dl2m3c m4Z5 d dl6m7Z7 d	d
l8m9Z9  G d„ d¦  «        Z:	 d dl;Z; e;j<        d¦  «         d dl=m>Z? dZ@n# eA$ r dZ@Y nw xY wejB        jC        ZC e/e¦  «         G d„ d¦  «        ¦   «         ZD e/e¦  «         G d„ d¦  «        ¦   «         ZE e/e¦  «         G d„ d¦  «        ¦   «         ZF e/ee¦  «         G d„ d¦  «        ¦   «         ZG e/e¦  «         G d„ d¦  «        ¦   «         ZH e/e¦  «         G d„ d¦  «        ¦   «         ZI e/e¦  «         G d„ d¦  «        ¦   «         ZJ e/e¦  «         G d„ d¦  «        ¦   «         ZK e/e¦  «         G d „ d!¦  «        ¦   «         ZL e/e¦  «         G d"„ d#¦  «        ¦   «         ZM G d$„ d%¦  «        ZN e/e e¦  «         G d&„ d'¦  «        ¦   «         ZO e/e¦  «         G d(„ d)¦  «        ¦   «         ZP e/e¦  «         G d*„ d+¦  «        ¦   «         ZQ e/e¦  «         G d,„ d-¦  «        ¦   «         ZR e/e¦  «         G d.„ d/¦  «        ¦   «         ZS e/e¦  «         G d0„ d1¦  «        ¦   «         ZT e/e!¦  «         G d2„ d3¦  «        ¦   «         ZUd4„ ZVd5efd6„ZW e/e¦  «        d7„ ¦   «         ZX e/e#¦  «        d8„ ¦   «         ZY e/e$¦  «        d9„ ¦   «         ZZ eCdd:¬;¦  «        d<„ ¦   «         Z[dS )=é    N)Úassert_allcloseÚassert_equalÚassert_array_equalÚassert_)Úraises)ÚClusterWarningÚlinkageÚfrom_mlab_linkageÚto_mlab_linkageÚnum_obs_linkageÚinconsistentÚcophenetÚfclusterdataÚfclusterÚis_isomorphicÚsingleÚwardÚleadersÚ
correspondÚis_monotonicÚmaxdistsÚmaxinconstsÚmaxRstatÚis_valid_linkageÚis_valid_imÚto_treeÚleaves_listÚ
dendrogramÚset_link_color_paletteÚcut_treeÚoptimal_leaf_orderingÚ_order_cluster_treeÚ
_hierarchyÚ_EUCLIDEAN_METHODSÚ_LINKAGE_METHODS)ÚHeap)Úpdist)Úeager_warnsÚmake_xp_test_caseÚxp_assert_closeÚxp_assert_equal©ÚLocké   )Úhierarchy_test_datac                   ó   — e Zd ZeZeZdS )ÚeagerN)Ú__name__Ú
__module__Ú__qualname__r   r   © ó    ú`/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/scipy/cluster/tests/test_hierarchy.pyr1   r1   9   s   € € € € € ð €KØ'ÐÐÐr6   r1   ÚAggTFc                   óª  — e Zd Z edd¬¦  «        d„ ¦   «         Zd„ Zd„ Zd„ Zd„ Zd	„ Z	d
„ Z
d„ Zej                             ddg d¢g d¢gfdg d¢g d¢gfdg d¢g d¢gfdg d¢g d¢gfdg d¢g d¢gfdg d¢g d¢gfdg d¢g d¢gfg¦  «        d„ ¦   «         Zd„ Zej                             de¦  «        d„ ¦   «         Zd„ Z edd¬¦  «        d„ ¦   «         ZdS ) ÚTestLinkageú	jax.numpyú$Can't raise inside jax.pure_callback©Úreasonc                 ó€   — |                      |j        gdgdz  z   ¦  «        }t          t          t          |¦  «         d S )Nç        é   )ÚasarrayÚnanÚassert_raisesÚ
ValueErrorr	   ©ÚselfÚxpÚys      r7   Ú3test_linkage_non_finite_elements_in_distance_matrixz?TestLinkage.test_linkage_non_finite_elements_in_distance_matrixR   s<   € ð �JŠJ˜œ�x 3 %¨¡'Ñ)Ñ*Ô*ˆÝ•j¥'¨1Ñ-Ô-Ð-Ð-Ð-r6   c                 óf   — |                      d¦  «        }t          t          t          |¦  «         d S )N©r   )ÚzerosrD   rE   r	   rF   s      r7   Ú"test_linkage_empty_distance_matrixz.TestLinkage.test_linkage_empty_distance_matrixY   s)   € à�HŠH�T‰NŒNˆÝ•j¥'¨1Ñ-Ô-Ð-Ð-Ð-r6   c                 ó<   — dD ]}|                       ||¦  «         Œd S )N)r   ÚcompleteÚaverageÚweighted)Úcheck_linkage_tdist©rG   rH   Úmethods      r7   Útest_linkage_tdistzTestLinkage.test_linkage_tdist^   s4   € ØCð 	1ð 	1ˆFØ×$Ò$ V¨RÑ0Ô0Ð0Ð0ð	1ð 	1r6   c                 óÚ   — t          |                     t          j        ¦  «        |¦  «        }t	          t          d|z   ¦  «        }t          ||                     |¦  «        d¬¦  «         d S )NÚlinkage_ytdist_ç»½×Ùß|Û=©Úatol©r	   rB   r/   ÚytdistÚgetattrr*   )rG   rU   rH   ÚZÚ	expectedZs        r7   rS   zTestLinkage.check_linkage_tdistb   s^   € å�B—J’JÕ2Ô9Ñ:Ô:¸FÑCÔCˆÝÕ/Ð1BÀVÑ1KÑLÔLˆ	Ý˜˜2Ÿ:š: iÑ0Ô0°uÐ=Ñ=Ô=Ð=Ð=Ð=r6   c                 ó<   — dD ]}|                       ||¦  «         Œd S )N)ÚcentroidÚmedianr   )Úcheck_linkage_qrT   s      r7   Útest_linkage_XzTestLinkage.test_linkage_Xh   s4   € Ø4ð 	-ð 	-ˆFØ× Ò  ¨Ñ,Ô,Ð,Ð,ð	-ð 	-r6   c                 ó¤  — t          |                     t          j        ¦  «        |¦  «        }t	          t          d|z   ¦  «        }t          ||                     |¦  «        d¬¦  «         |                     t          j        ¦  «        }t          |d¬¦  «        }t          ||¦  «        }t          ||                     |¦  «        d¬¦  «         d S )NÚ
linkage_X_ç�íµ ÷Æ°>rZ   Ú	euclidean)Úmetric)r	   rB   r/   ÚXr^   r*   r'   )rG   rU   rH   r_   r`   rk   rI   s          r7   rd   zTestLinkage.check_linkage_ql   s´   € å�B—J’JÕ2Ô4Ñ5Ô5°vÑ>Ô>ˆÝÕ/°ÀÑ1FÑGÔGˆ	Ý˜˜2Ÿ:š: iÑ0Ô0°uÐ=Ñ=Ô=Ð=à�JŠJÕ*Ô,Ñ-Ô-ˆÝ�!˜KÐ(Ñ(Ô(ˆÝ�A�vÑÔˆÝ˜˜2Ÿ:š: iÑ0Ô0°uÐ=Ñ=Ô=Ð=Ð=Ð=r6   c                 ó‚  — t           j                             d¦  «        }d}|                     |d¦  «        }t	          |¦  «        }t          j        ¦   «         D ]d\  }}t          j        |||¦  «        }t          | 	                    |¦  «        |¦  «        }	t          |	| 	                    |¦  «        dd¬¦  «         Œed S )Nr   é   é   g›+¡†›„=çVçž¯Ò<)Úrtolr[   )ÚnpÚrandomÚRandomStateÚrandr'   r%   Úitemsr#   r	   rB   r*   )
rG   rH   ÚrngÚnrk   ÚdrU   ÚcodeÚ	Z_trivialr_   s
             r7   Útest_compare_with_trivialz%TestLinkage.test_compare_with_trivialw   sµ   € ÝŒi×#Ò# AÑ&Ô&ˆØˆØ�HŠH�Q˜‰NŒNˆÝ�!‰HŒHˆå,Ô2Ñ4Ô4ð 	Nð 	N‰LˆF�DÝ"Ô*¨1¨a°Ñ6Ô6ˆIÝ˜Ÿ
š
 1™œ vÑ.Ô.ˆAÝ˜A˜rŸzšz¨)Ñ4Ô4¸5ÀuÐMÑMÔMÐMÐMð	Nð 	Nr6   c                 óÖ   — t          |                     t          j        ¦  «        d¬¦  «        }t	          t          d¦  «        }t          ||                     |¦  «        d¬¦  «         d S )NT)Úoptimal_orderingÚlinkage_ytdist_single_olorY   rZ   r\   )rG   rH   r_   r`   s       r7   Útest_optimal_leaf_orderingz&TestLinkage.test_optimal_leaf_ordering‚   s\   € Ý�B—J’JÕ2Ô9Ñ:Ô:ÈTÐRÑRÔRˆÝÕ/Ð1LÑMÔMˆ	Ý˜˜2Ÿ:š: iÑ0Ô0°uÐ=Ñ=Ô=Ð=Ð=Ð=r6   zmethod,expectr   )r   r.   çß'Üež ö?rn   )rn   é   r€   r�   rP   )rn   r�   gß'Üež @r�   rQ   )rn   r�   gçeÌvø @r�   rR   rb   rc   r   )rn   r�   g€©Ž˜@r�   c                 óÀ   — |                      ddgddgddgg¦  «        }t          ||¬¦  «        }|                      ||j        ¬¦  «        }t          ||d¬¦  «         d S )Néÿÿÿÿr   r.   ©rU   ©Údtyperh   rZ   )rB   r	   Úfloat64r*   )rG   rU   ÚexpectrH   rk   r_   s         r7   Útest_linkage_tieszTestLinkage.test_linkage_ties‡   sl   € ð" �JŠJ˜˜R˜ 1 a &¨1¨a¨&Ð1Ñ2Ô2ˆÝ�A˜fÐ%Ñ%Ô%ˆØ—’˜F¨"¬*�Ñ5Ô5ˆÝ˜˜6¨Ð.Ñ.Ô.Ð.Ð.Ð.r6   c                 ó¸   — |                      ddgddgg¦  «        }t          t          |¬¦  «        5  t          |¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr   r.   ©rH   )rB   r(   r   r	   ©rG   rH   rk   s      r7   Ú<test_unsupported_uncondensed_distance_matrix_linkage_warningzHTestLinkage.test_unsupported_uncondensed_distance_matrix_linkage_warning�   s¢   € Ø�JŠJ˜˜A˜  A Ð'Ñ(Ô(ˆÝ�¨BÐ/Ñ/Ô/ð 	ð 	Ý�A‰JŒJˆJð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	s   ²AÁAÁArU   c                 óÄ   — |                      ddgddgg¦  «        }t          j        t          ¦  «        5  t	          ||d¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr.   Ú	cityblock©rU   rj   ©rB   Úpytestr   rE   r	   )rG   rU   rH   rk   s       r7   Ú"test_euclidean_linkage_value_errorz.TestLinkage.test_euclidean_linkage_value_error¢   s©   € à�JŠJ˜˜A˜  A Ð'Ñ(Ô(ˆÝŒ]�:Ñ&Ô&ð 	:ð 	:Ý�A˜f¨[Ð9Ñ9Ô9Ð9ð	:ð 	:ð 	:ñ 	:ô 	:ð 	:ð 	:ð 	:ð 	:ð 	:ð 	:ð 	:øøøð 	:ð 	:ð 	:ð 	:ð 	:ð 	:s   µAÁAÁAc                 óÌ   — t          |                     dg¦  «        dd¬¦  «        }t          |                     ddgddgg¦  «        dd¬¦  «        }t          ||d¬¦  «         d S )Nr.   r   ri   r�   r   ro   ©rp   )r	   rB   r*   )rG   rH   ÚZ1ÚZ2s       r7   Útest_2x2_linkagezTestLinkage.test_2x2_linkage¨   sj   € Ý�R—Z’Z  ‘_”_¨X¸kÐJÑJÔJˆÝ�R—Z’Z ! Q ¨!¨Q¨Ð 0Ñ1Ô1¸(È;ÐWÑWÔWˆÝ˜˜B UÐ+Ñ+Ô+Ð+Ð+Ð+r6   c                 óº   — |                      g d¢¦  «        }t          j        t          ¦  «        5  t	          |d¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )N)r   r   rƒ   rb   r„   r‘   )rG   rH   Úvaluess      r7   Útest_centroid_neg_distancez&TestLinkage.test_centroid_neg_distance­   s    € ð —’˜J˜J˜JÑ'Ô'ˆÝŒ]�:Ñ&Ô&ð 	/ð 	/å�F :Ð.Ñ.Ô.Ð.ð	/ð 	/ð 	/ñ 	/ô 	/ð 	/ð 	/ð 	/ð 	/ð 	/ð 	/ð 	/øøøð 	/ð 	/ð 	/ð 	/ð 	/ð 	/s   ±AÁAÁAN)r2   r3   r4   Úskip_xp_backendsrJ   rN   rV   rS   re   rd   r{   r   r’   ÚmarkÚparametrizer‰   r�   r$   r“   r˜   r›   r5   r6   r7   r:   r:   O   s9  € € € € € ð Ð�kÐ*PÐQÑQÔQð.ð .ñ RÔQð.ð.ð .ð .ð
1ð 1ð 1ð>ð >ð >ð-ð -ð -ð	>ð 	>ð 	>ð	Nð 	Nð 	Nð>ð >ð >ð
 „[×Ò˜_Ø	Ð+Ð+Ð+Ø+Ð+Ð+ð-ð 	.à	Ð+Ð+Ð+Ø+Ð+Ð+ð-ð 	.à	Ð+Ð+Ð+Ø+Ð+Ð+ð-ð 	.à	Ð+Ð+Ð+Ø+Ð+Ð+ð-ð 	.à	Ð+Ð+Ð+Ø+Ð+Ð+ð-ð 	.à	Ð+Ð+Ð+Ø+Ð+Ð+ð-ð 	.à	Ð+Ð+Ð+Ø+Ð+Ð+ð-ð 	.ð/ñ ô ð /ð /ñ!ô ð /ðð ð ð
 „[×Ò˜XÐ'9Ñ:Ô:ð:ð :ñ ;Ô:ð:ð
,ð ,ð ,ð
 Ð�kÐ*PÐQÑQÔQð/ð /ñ RÔQð/ð /ð /r6   r:   c                   ó   — e Zd Zd„ Zd„ ZdS )ÚTestInconsistentc                 óP   — t           j        D ]}|                      ||¦  «         Œd S ©N)r/   Úinconsistent_ytdistÚcheck_inconsistent_tdist)rG   rH   Údepths      r7   Útest_inconsistent_tdistz(TestInconsistent.test_inconsistent_tdist¹   s7   € Ý(Ô<ð 	5ð 	5ˆEØ×)Ò)¨%°Ñ4Ô4Ð4Ð4ð	5ð 	5r6   c                 óÆ   — |                      t          j        ¦  «        }t          t	          ||¦  «        |                      t          j        |         ¦  «        ¦  «         d S r¢   )rB   r/   Úlinkage_ytdist_singler*   r   r£   )rG   r¥   rH   r_   s       r7   r¤   z)TestInconsistent.check_inconsistent_tdist½   s\   € Ø�JŠJÕ*Ô@ÑAÔAˆÝ� Q¨Ñ.Ô.ØŸ
š
Õ#6Ô#JÈ5Ô#QÑRÔRñ	Tô 	Tð 	Tð 	Tð 	Tr6   N)r2   r3   r4   r¦   r¤   r5   r6   r7   r    r    ¶   s7   € € € € € ð5ð 5ð 5ðTð Tð Tð Tð Tr6   r    c                   óF   — e Zd Zd„ Zd„ Z edd¬¦  «        d„ ¦   «         ZdS )ÚTestCopheneticDistancec                 óè   — |                      g d¢¦  «        }|                      t          j        ¦  «        }t          |¦  «        }t	          ||                      ||j        ¬¦  «        d¬¦  «         d S )N©é  é'  éÿ   r¯   r®   r®   r­   r­   r®   r®   r®   éŠ   éÛ   r®   r®   r…   rY   rZ   )rB   r/   r¨   r   r*   r‡   )rG   rH   Ú	expectedMr_   ÚMs        r7   Útest_linkage_cophenet_tdist_Zz4TestCopheneticDistance.test_linkage_cophenet_tdist_ZÆ   sq   € à—J’Jð  9ð  9ð  9ñ :ô :ˆ	à�JŠJÕ*Ô@ÑAÔAˆÝ�Q‰KŒKˆÝ˜˜2Ÿ:š: i°r´z˜:ÑBÔBÈÐOÑOÔOÐOÐOÐOr6   c                 ól  — |                      t          j        ¦  «        }t          ||                      t          j        ¦  «        ¦  «        \  }}|                      g d¢|j        ¬¦  «        }|                      d|j        ¬¦  «        d         }t          ||d¬¦  «         t          ||d¬¦  «         d S )Nr¬   r…   g*É»2Qzä?r5   rY   rZ   )rB   r/   r¨   r   r]   r‡   r*   )rG   rH   r_   Úcr³   r²   Ú	expectedcs          r7   Útest_linkage_cophenet_tdist_Z_Yz6TestCopheneticDistance.test_linkage_cophenet_tdist_Z_YÎ   s¶   € à�JŠJÕ*Ô@ÑAÔAˆÝ˜!˜RŸZšZÕ(;Ô(BÑCÔCÑDÔD‰ˆˆAØ—J’Jð  9ð  9ð  9Ø@BÄ
ð ñ Lô Lˆ	à—J’JÐ?ÀrÄz�JÑRÔRÐSUÔVˆ	Ý˜˜9¨5Ð1Ñ1Ô1Ð1Ý˜˜9¨5Ð1Ñ1Ô1Ð1Ð1Ð1r6   r;   r<   r=   c                 óø   — g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d	¢g d
¢g d¢g}t          j        t          d¬¦  «        5  t          |                     |¦  «        ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )N)r@   ç      ð?rº   ç       @)r»   ç      (@rº   ç      @)r½   ç      @rº   r»   )ç      @g      ,@rº   r½   )ç      @ç      @rº   r»   )ç       @g      0@rº   r½   )ç      "@ç      $@rº   r»   )g      &@g      2@rº   r½   )g      *@ç      .@r»   rÀ   )g      1@g      4@r»   g      @@)g      3@g      5@r»   r¼   zexcessive observations©Úmatch)r’   r   rE   r   rB   )rG   rH   Úarrs      r7   Útest_gh_22183z$TestCopheneticDistance.test_gh_22183Ø   s  € ð "Ð!Ð!Ø"Ð"Ð"Ø!Ð!Ð!Ø"Ð"Ð"Ø!Ð!Ð!Ø"Ð"Ð"Ø"Ð"Ð"Ø#Ð#Ð#Ø#Ð#Ð#Ø$Ð$Ð$Ø$Ð$Ð$ð
&ˆõ Œ]�:Ð-EÐFÑFÔFð 	&ð 	&Ý�R—Z’Z ‘_”_Ñ%Ô%Ð%ð	&ð 	&ð 	&ñ 	&ô 	&ð 	&ð 	&ð 	&ð 	&ð 	&ð 	&ð 	&øøøð 	&ð 	&ð 	&ð 	&ð 	&ð 	&s   ¿#A/Á/A3Á6A3N)r2   r3   r4   r´   r¸   rœ   rÉ   r5   r6   r7   rª   rª   Ã   sc   € € € € € ðPð Pð Pð2ð 2ð 2ð Ð�kÐ*PÐQÑQÔQð&ð &ñ RÔQð&ð &ð &r6   rª   c                   ó    — e Zd Zd„ Zd„ Zd„ ZdS )ÚTestMLabLinkageConversionc                 ó²   — |                      g |j        ¬¦  «        }t          t          |¦  «        |¦  «         t          t	          |¦  «        |¦  «         d S )Nr…   )rB   r‡   r+   r
   r   rŒ   s      r7   Ú"test_mlab_linkage_conversion_emptyz<TestMLabLinkageConversion.test_mlab_linkage_conversion_emptyð   sP   € à�JŠJ�r ¤ˆJÑ,Ô,ˆÝÕ)¨!Ñ,Ô,¨aÑ0Ô0Ð0Ý�¨Ñ*Ô*¨AÑ.Ô.Ð.Ð.Ð.r6   c                 óJ  — |                      g d¢g¦  «        }|                      g d¢g¦  «        }t          t          |¦  «        |                      ||j        ¬¦  «        d¬¦  «         t          t	          |¦  «        |                      ||j        ¬¦  «        d¬¦  «         d S )N)r@   rº   r½   r»   ©r.   rn   r�   r…   ro   r•   )rB   r*   r
   r‡   r   )rG   rH   r_   ÚZms       r7   Ú'test_mlab_linkage_conversion_single_rowzATestMLabLinkageConversion.test_mlab_linkage_conversion_single_rowö   s¯   € à�JŠJÐ(Ð(Ð(Ð)Ñ*Ô*ˆØ�ZŠZ˜˜˜˜Ñ$Ô$ˆÝÕ)¨"Ñ-Ô-¨r¯zªz¸!À2Ä:¨zÑ/NÔ/NØ"ð	$ñ 	$ô 	$ð 	$å�¨Ñ*Ô*¨B¯JªJ°rÀÄ¨JÑ,LÔ,LØ"ð	$ñ 	$ô 	$ð 	$ð 	$ð 	$r6   c                 óT  — |                      g d¢g d¢g d¢g d¢g d¢g¦  «        }|                      g d¢g d¢g d¢g d	¢g d
¢g|j        ¬¦  «        }t          t          |¦  «        |d¬¦  «         t          t	          |¦  «        |                      ||j        ¬¦  «        d¬¦  «         d S )N)r�   é   r°   )é   rA   r±   )r.   é   r¯   )rn   é	   r­   )é   é
   r®   )r»   r¿   ç     @a@r»   )r½   r¾   ç     `k@r»   )r@   rÁ   ç     ào@r½   )rº   rÂ   ç     Àp@r¾   )rÀ   rÃ   ç     pr@rÀ   r…   ro   r•   )rB   r‡   r*   r
   r   )rG   rH   rÐ   r_   s       r7   Ú*test_mlab_linkage_conversion_multiple_rowszDTestMLabLinkageConversion.test_mlab_linkage_conversion_multiple_rowsÿ   sï   € à�ZŠZ˜˜˜ k k kØ$˜˜ k k k°<°<°<ðAñ Bô Bˆà�JŠJÐ*Ð*Ð*Ø*Ð*Ð*Ø*Ð*Ð*Ø*Ð*Ð*Ø*Ð*Ð*ð	,ð
  œZð ñ )ô )ˆõ 	Õ)¨"Ñ-Ô-¨q°uÐ=Ñ=Ô=Ð=Ý�¨Ñ*Ô*¨B¯JªJ°rÀÄ¨JÑ,LÔ,LØ"ð	$ñ 	$ô 	$ð 	$ð 	$ð 	$r6   N)r2   r3   r4   rÍ   rÑ   rÞ   r5   r6   r7   rË   rË   í   sA   € € € € € ð/ð /ð /ð$ð $ð $ð$ð $ð $ð $ð $r6   rË   c                   óÞ   — e Zd Z ee¦  «        ej                             dd„ ej	        D ¦   «         d„ ej
        D ¦   «         z   d„ ej        D ¦   «         z   ¦  «        d„ ¦   «         ¦   «         ZdS )ÚTestFclusterDataúcriterion,tc                 ó   — g | ]}d |f‘ŒS ©r   r5   ©Ú.0Úts     r7   ú
<listcomp>zTestFclusterData.<listcomp>  ó   € ÐPÐPÐP ˆ.˜!Ð	ÐPÐPÐPr6   c                 ó   — g | ]}d |f‘ŒS ©Údistancer5   rä   s     r7   rç   zTestFclusterData.<listcomp>  ó   € Ð
JÐ
JÐ
J˜qˆJ˜ˆ?Ð
JÐ
JÐ
Jr6   c                 ó   — g | ]}d |f‘ŒS ©Úmaxclustr5   rä   s     r7   rç   zTestFclusterData.<listcomp>  rì   r6   c                 óî   — |                      t          t          d|z   ¦  «        |         ¦  «        }|                      t          j        ¦  «        }t	          |||¬¦  «        }t          ||¦  «        sJ ‚d S ©NÚ	fcluster_©Ú	criterionræ   )rB   r^   r/   ÚQ_Xr   r   )rG   ræ   rô   rH   Ú	expectedTrk   ÚTs          r7   Útest_fclusterdataz"TestFclusterData.test_fclusterdata  sp   € ð —J’J�wÕ':¸KÈ)Ñ<SÑTÔTÐUVÔWÑXÔXˆ	Ø�JŠJÕ*Ô.Ñ/Ô/ˆÝ˜ i°1Ð5Ñ5Ô5ˆÝ˜Q 	Ñ*Ô*Ð*Ð*Ð*Ð*Ð*r6   N)r2   r3   r4   r)   r   r’   r�   rž   r/   Úfcluster_inconsistentÚfcluster_distanceÚfcluster_maxclustrø   r5   r6   r7   rà   rà     s§   € € € € € ð Ð�}Ñ%Ô%Ø„[×Ò˜]ØPÐPÐ&9Ô&OÐPÑPÔPØ
JÐ
JÐ$7Ô$IÐ
JÑ
JÔ
Jñ	Kà
JÐ
JÐ$7Ô$IÐ
JÑ
JÔ
Jñ	Kñô ð
+ð +ñô ñ &Ô%ð+ð +ð +r6   rà   c                   óø  — e Zd Z eee¦  «        ej                             dd„ e	j
        D ¦   «         d„ e	j        D ¦   «         z   d„ e	j        D ¦   «         z   ¦  «        d„ ¦   «         ¦   «         Z eeee¦  «        ej                             de	j        ¦  «        d„ ¦   «         ¦   «         Z eeee¦  «        ej                             de	j        ¦  «        d„ ¦   «         ¦   «         Z ee¦  «        d	„ ¦   «         Zd
S )ÚTestFclusterrá   c                 ó   — g | ]}d |f‘ŒS rã   r5   rä   s     r7   rç   zTestFcluster.<listcomp>$  rè   r6   c                 ó   — g | ]}d |f‘ŒS rê   r5   rä   s     r7   rç   zTestFcluster.<listcomp>%  rì   r6   c                 ó   — g | ]}d |f‘ŒS rî   r5   rä   s     r7   rç   zTestFcluster.<listcomp>&  rì   r6   c                 ó  — |                      t          t          d|z   ¦  «        |         ¦  «        }t          |                      t          j        ¦  «        ¦  «        }t          |||¬¦  «        }t          t          ||¦  «        ¦  «         d S rñ   )rB   r^   r/   r   rõ   r   r   r   )rG   ræ   rô   rH   rö   r_   r÷   s          r7   Útest_fclusterzTestFcluster.test_fcluster"  sz   € ð —J’J�wÕ':¸KÈ)Ñ<SÑTÔTÐUVÔWÑXÔXˆ	Ý�2—:’:Õ1Ô5Ñ6Ô6Ñ7Ô7ˆÝ�Q )¨qÐ1Ñ1Ô1ˆÝ•˜a Ñ+Ô+Ñ,Ô,Ð,Ð,Ð,r6   ræ   c                 ó"  — |                      t          j        |         ¦  «        }t          |                      t          j        ¦  «        ¦  «        }t          ||dt          |¦  «        ¬¦  «        }t          t          ||¦  «        ¦  «         d S )NÚmonocrit©rô   r  )	rB   r/   rú   r   rõ   r   r   r   r   ©rG   ræ   rH   rö   r_   r÷   s         r7   Útest_fcluster_monocritz#TestFcluster.test_fcluster_monocrit/  su   € ð —J’JÕ2ÔDÀQÔGÑHÔHˆ	Ý�2—:’:Õ1Ô5Ñ6Ô6Ñ7Ô7ˆÝ�Q˜ Z½(À1¹+¼+ÐFÑFÔFˆÝ•˜a Ñ+Ô+Ñ,Ô,Ð,Ð,Ð,r6   c                 ó"  — |                      t          j        |         ¦  «        }t          |                      t          j        ¦  «        ¦  «        }t          ||dt          |¦  «        ¬¦  «        }t          t          ||¦  «        ¦  «         d S )NÚmaxclust_monocritr  )	rB   r/   rû   r   rõ   r   r   r   r   r  s         r7   Útest_fcluster_maxclust_monocritz,TestFcluster.test_fcluster_maxclust_monocrit7  sv   € ð —J’JÕ2ÔDÀQÔGÑHÔHˆ	Ý�2—:’:Õ1Ô5Ñ6Ô6Ñ7Ô7ˆÝ�Q˜Ð%8Å8ÈAÁ;Ä;ÐOÑOÔOˆÝ•˜a Ñ+Ô+Ñ,Ô,Ð,Ð,Ð,r6   c                 ó  — |                      dgdgdgg¦  «        }t          |¦  «        }t          t          |dd¬¦  «        |                      g d¢¦  «        ¦  «         t          t          |dd¬¦  «        |                      g d¢¦  «        ¦  «         t          t          |d	d¬¦  «        |                      g d
¢¦  «        ¦  «         t          t          |dd¬¦  «        |                      g d
¢¦  «        ¦  «         d S )Nr.   rÔ   rA   rï   )ræ   rô   ©r.   r.   r.   rn   )rn   r.   r.   r�   rÏ   )rB   r   r   r   ©rG   rH   rI   r_   s       r7   Útest_fcluster_maxclust_gh_12651z,TestFcluster.test_fcluster_maxclust_gh_12651?  s  € à�JŠJ˜˜˜a˜S 1 #�Ñ'Ô'ˆÝ�1‰IŒIˆÝ�8 A¨°jÐAÑAÔAØŸ:š: i i iÑ0Ô0ñ	2ô 	2ð 	2å�8 A¨°jÐAÑAÔAØŸ:š: i i iÑ0Ô0ñ	2ô 	2ð 	2å�8 A¨°jÐAÑAÔAØŸ:š: i i iÑ0Ô0ñ	2ô 	2ð 	2å�8 A¨°jÐAÑAÔAØŸ:š: i i iÑ0Ô0ñ	2ô 	2ð 	2ð 	2ð 	2r6   N)r2   r3   r4   r)   r   r   r’   r�   rž   r/   rù   rú   rû   r  r   r  r
  r  r5   r6   r7   rý   rý     sj  € € € € € ð Ð�v˜}Ñ-Ô-Ø„[×Ò˜]ØPÐPÐ&9Ô&OÐPÑPÔPØ
JÐ
JÐ$7Ô$IÐ
JÑ
JÔ
Jñ	Kà
JÐ
JÐ$7Ô$IÐ
JÑ
JÔ
Jñ	Kñô ð
-ð -ñô ñ .Ô-ð-ð Ð�v˜}¨hÑ7Ô7Ø„[×Ò˜SÐ"5Ô"GÑHÔHð-ð -ñ IÔHñ 8Ô7ð-ð Ð�v˜}¨hÑ7Ô7Ø„[×Ò˜SÐ"5Ô"GÑHÔHð-ð -ñ IÔHñ 8Ô7ð-ð Ð�vÑÔð
2ð 
2ñ Ôð
2ð 
2ð 
2r6   rý   c                   ó   — e Zd Zd„ ZdS )ÚTestLeadersc                 ó†  — t           j        }t          |¦  «        }t          |¦  «        }t	          |dd¬¦  «        }|                     |¦  «        }|                     ||j        ¬¦  «        }t          ||¦  «        }|                     g d¢|j        ¬¦  «        }t          | 	                    |¦  «        |d¬¦  «         d S )Nrï   r�   ró   r…   )é5   é7   é8   rn   r�   r.   ro   r•   )
r/   rõ   r'   r	   r   rB   Úint32r   r*   Úconcat)rG   rH   rk   ÚYr_   r÷   ÚLrˆ   s           r7   Útest_leaders_singlezTestLeaders.test_leaders_singleP  sª   € åÔ#ˆÝ�!‰HŒHˆÝ�A‰JŒJˆÝ�Q *°Ð2Ñ2Ô2ˆØ�JŠJ�q‰MŒMˆØ�JŠJ�q ¤ˆJÑ)Ô)ˆÝ�A�q‰MŒMˆØ—’Ð1Ð1Ð1¸¼�ÑBÔBˆÝ˜Ÿ	š	 !™œ f°5Ð9Ñ9Ô9Ð9Ð9Ð9r6   N)r2   r3   r4   r  r5   r6   r7   r  r  M  s#   € € € € € ð
:ð 
:ð 
:ð 
:ð 
:r6   r  c                   óÞ   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	e
j                             dg d	¢¦  «        d
„ ¦   «         Ze
j                             dg d	¢¦  «        d„ ¦   «         Zd„ Zdd„ZdS )ÚTestIsIsomorphicc                 óV   — t          g d¢g d¢¦  «        sJ ‚t          g g ¦  «        sJ ‚d S ©Nr  )rn   rn   rn   )r   ©rG   s    r7   Útest_array_likez TestIsIsomorphic.test_array_like`  s<   € Ý˜Y˜Y˜Y¨	¨	¨	Ñ2Ô2Ð2Ð2Ð2Ý˜R Ñ$Ô$Ð$Ð$Ð$Ð$Ð$r6   c                 óª   — |                      g d¢¦  «        }|                      g d¢¦  «        }t          ||¦  «        sJ ‚t          ||¦  «        sJ ‚d S r  ©rB   r   ©rG   rH   ÚaÚbs       r7   Útest_is_isomorphic_1z%TestIsIsomorphic.test_is_isomorphic_1d  ó^   € à�JŠJ�y�y�yÑ!Ô!ˆØ�JŠJ�y�y�yÑ!Ô!ˆÝ˜Q Ñ"Ô"Ð"Ð"Ð"Ý˜Q Ñ"Ô"Ð"Ð"Ð"Ð"Ð"r6   c                 óª   — |                      g d¢¦  «        }|                      g d¢¦  «        }t          ||¦  «        sJ ‚t          ||¦  «        sJ ‚d S )N)r.   r×   r.   )rn   r�   rn   r!  r"  s       r7   Útest_is_isomorphic_2z%TestIsIsomorphic.test_is_isomorphic_2k  r&  r6   c                 ó~   — |                      g ¦  «        }|                      g ¦  «        }t          ||¦  «        sJ ‚d S r¢   r!  r"  s       r7   Útest_is_isomorphic_3z%TestIsIsomorphic.test_is_isomorphic_3r  s<   € à�JŠJ�r‰NŒNˆØ�JŠJ�r‰NŒNˆÝ˜Q Ñ"Ô"Ð"Ð"Ð"Ð"Ð"r6   c                 óª   — |                      g d¢¦  «        }|                      g d¢¦  «        }t          ||¦  «        sJ ‚t          ||¦  «        sJ ‚d S )NrÏ   )r.   r�   rn   r!  r"  s       r7   Útest_is_isomorphic_4Az&TestIsIsomorphic.test_is_isomorphic_4Ax  ó`   € ð �JŠJ�y�y�yÑ!Ô!ˆØ�JŠJ�y�y�yÑ!Ô!ˆÝ˜Q Ñ"Ô"Ð"Ð"Ð"Ý˜Q Ñ"Ô"Ð"Ð"Ð"Ð"Ð"r6   c                 óª   — |                      g d¢¦  «        }|                      g d¢¦  «        }t          ||¦  «        rJ ‚t          ||¦  «        rJ ‚d S )N)r.   rn   r�   r�   )r.   r�   rn   r�   r!  r"  s       r7   Útest_is_isomorphic_4Bz&TestIsIsomorphic.test_is_isomorphic_4B€  s`   € ð �JŠJ�|�|�|Ñ$Ô$ˆØ�JŠJ�|�|�|Ñ$Ô$ˆÝ   AÑ&Ô&Ð&Ð&Ð&Ý   AÑ&Ô&Ð&Ð&Ð&Ð&Ð&r6   c                 óª   — |                      g d¢¦  «        }|                      g d¢¦  «        }t          ||¦  «        sJ ‚t          ||¦  «        sJ ‚d S )N)r×   rn   r�   )rÓ   r�   rn   r!  r"  s       r7   Útest_is_isomorphic_4Cz&TestIsIsomorphic.test_is_isomorphic_4Cˆ  r-  r6   Ú	nclusters)rn   r�   rA   c                 ó6   — |                       d||¬¦  «         d S )Néè  r‹   ©Úis_isomorphic_randperm©rG   r2  rH   s      r7   Útest_is_isomorphic_5z%TestIsIsomorphic.test_is_isomorphic_5�  s%   € ð 	×#Ò# D¨)¸Ð#Ñ;Ô;Ð;Ð;Ð;r6   c                 ó:   — |                       d|dd|¬¦  «         d S )Nr4  TrA   r‹   r5  r7  s      r7   Útest_is_isomorphic_6z%TestIsIsomorphic.test_is_isomorphic_6–  s)   € ð
 	×#Ò# D¨)°T¸1ÀÐ#ÑDÔDÐDÐDÐDr6   c                 ó†   — |                      g d¢¦  «        }|                      g d¢¦  «        }t          ||¦  «        rJ ‚d S )NrÏ   r  r!  r"  s       r7   Útest_is_isomorphic_7z%TestIsIsomorphic.test_is_isomorphic_7�  sH   € à�JŠJ�y�y�yÑ!Ô!ˆØ�JŠJ�y�y�yÑ!Ô!ˆÝ   AÑ&Ô&Ð&Ð&Ð&Ð&Ð&r6   Fr   c                óf  — t           j                             ¦   «         }t          d¦  «        D �]}|                     d||¬¦  «        }|                     |¦  «        }	|	                     |                     t           j        ¦  «        ¦  «        }
|rE|                     |¦  «        }|
|d|…         xx         dz  cc<   |
|d|…         xx         |z  cc<   | 	                    |¦  «        }| 	                    |
¦  «        }
t          ||
¦  «        | k    sJ ‚t          |
|¦  «        | k    sJ ‚�Œd S )Nr�   r   )Úsizer.   )rq   rr   Údefault_rngÚrangeÚintegersÚpermutationÚtakeÚastypeÚintprB   r   )rG   Únobsr2  ÚnonisoÚnerrorsrH   rv   Ú_r#  Úpr$  Úqs               r7   r6  z'TestIsIsomorphic.is_isomorphic_randperm£  s+  € ÝŒi×#Ò#Ñ%Ô%ˆÝ�q‘”ð 	7ñ 	7ˆAØ—’˜Q 	°�Ñ5Ô5ˆAØ—’ 	Ñ*Ô*ˆAØ—’�q—x’x¥¤Ñ(Ô(Ñ)Ô)ˆAØð -Ø—O’O DÑ)Ô)�Ø�!�A�g�I”,��” 1Ñ$��‘Ø�!�A�g�I”,��” 9Ñ,��‘Ø—
’
˜1‘”ˆAØ—
’
˜1‘”ˆAÝ   AÑ&Ô&¨v¨:Ò6Ð6Ð6Ð6Ý   AÑ&Ô&¨v¨:Ò6Ð6Ð6Ð6Ñ6ð	7ð 	7r6   N)Fr   )r2   r3   r4   r  r%  r(  r*  r,  r/  r1  r’   r�   rž   r8  r:  r<  r6  r5   r6   r7   r  r  ]  s  € € € € € ð%ð %ð %ð#ð #ð #ð#ð #ð #ð#ð #ð #ð#ð #ð #ð'ð 'ð 'ð#ð #ð #ð „[×Ò˜[¨)¨)¨)Ñ4Ô4ð<ð <ñ 5Ô4ð<ð
 „[×Ò˜[¨)¨)¨)Ñ4Ô4ðEð Eñ 5Ô4ðEð'ð 'ð 'ð7ð 7ð 7ð 7ð 7ð 7r6   r  c                   ó„   — e Zd Zej                             dg d¢¦  «        d„ ¦   «         Zd„ Zd„ Zd„ Z	d„ Z
d„ Zd	„ Zd
„ ZdS )ÚTestIsValidLinkageúnrow, ncol, valid©)rn   rA   F)rn   r�   F)r.   rÔ   T)rn   rÔ   Tc                 óæ   — |                      g d¢g d¢g|j        ¬¦  «        }|d |…d |…f         }t          t          |¦  «        |d¬¦  «         |st	          t
          t          |d¬¦  «         d S d S ©N)r   r.   r½   rn   rA   )r�   rn   r¾   r�   r�   r…   F©Úcheck_namespaceT©Úthrow)rB   r‡   r+   r   rD   rE   )rG   ÚnrowÚncolÚvalidrH   r_   s         r7   Ú"test_is_valid_linkage_various_sizez5TestIsValidLinkage.test_is_valid_linkage_various_size¶  sž   € ð �JŠJÐ)Ð)Ð)Ø)Ð)Ð)ð+Ø24´*ð ñ >ô >ˆàˆeˆtˆe�U�d�UˆlŒOˆÝÕ(¨Ñ+Ô+¨UÀEÐJÑJÔJÐJØð 	GÝ�*Õ&6¸ÀÐFÑFÔFÐFÐFÐFð	Gð 	Gr6   c                 óÂ   — |                      g d¢g d¢g|j        ¬¦  «        }t          t          |¦  «        dd¬¦  «         t	          t
          t          |d¬¦  «         d S ©N©r   r.   r½   rn   ©r�   rn   r¾   r�   r…   FrR  TrT  )rB   Úint64r+   r   rD   Ú	TypeError©rG   rH   r_   s      r7   Útest_is_valid_linkage_int_typez1TestIsValidLinkage.test_is_valid_linkage_int_typeÁ  sm   € à�JŠJ˜˜˜Ø&˜˜ð(Ø/1¬xð ñ 9ô 9ˆåÕ(¨Ñ+Ô+¨UÀEÐJÑJÔJÐJÝ•iÕ!1°1¸DÐAÑAÔAÐAÐAÐAr6   c                 ó¶   — |                      d|j        ¬¦  «        }t          t          |¦  «        dd¬¦  «         t	          t
          t          |d¬¦  «         d S ©N©r   rÔ   r…   FrR  TrT  )rM   r‡   r+   r   rD   rE   r`  s      r7   Útest_is_valid_linkage_emptyz.TestIsValidLinkage.test_is_valid_linkage_emptyÈ  sU   € à�HŠH�V 2¤:ˆHÑ.Ô.ˆÝÕ(¨Ñ+Ô+¨UÀEÐJÑJÔJÐJÝ•jÕ"2°A¸TÐBÑBÔBÐBÐBÐBr6   c                 ó*  — t          ddd¦  «        D ]€}t          j                             ||dz
  z  dz  ¦  «        }|                     t          |¦  «        ¦  «        }|                     |¦  «        }t          t          |¦  «        dd¬¦  «         Œ�d S ©	NrÔ   é   r�   r.   rn   TFrR  )r@  rq   rr   rt   rB   r	   r+   r   ©rG   rH   ÚirI   r_   s        r7   Útest_is_valid_linkage_4_and_upz1TestIsValidLinkage.test_is_valid_linkage_4_and_upÎ  s‘   € õ �q˜"˜a‘”ð 	Nð 	NˆAÝ”	—’˜q ! A¡#™w¨™zÑ*Ô*ˆAØ—
’
�7 1™:œ:Ñ&Ô&ˆAØ—
’
˜1‘”ˆAÝÕ,¨QÑ/Ô/°ÀuÐMÑMÔMÐMÐMð		Nð 	Nr6   c                 ó,  — t          ddd¦  «        D �] }t          j                             ||dz
  z  dz  ¦  «        }|                     t          |¦  «        ¦  «        }|                     |¦  «        }t          j        |¦  «        |dz  df                              d¦  «        }t          t          |¦  «        dd¬	¦  «         t          j        t          ¦  «        5  t           
                    |d
¬¦  «         d d d ¦  «         n# 1 swxY w Y   �Œd S )NrÔ   rh  r�   r.   rn   r   éþÿÿÿFrR  TrT  ©r@  rq   rr   rt   rB   r	   ÚxpxÚatÚsetr+   r   r’   r   rE   r1   ri  s        r7   Ú-test_is_valid_linkage_4_and_up_neg_index_leftz@TestIsValidLinkage.test_is_valid_linkage_4_and_up_neg_index_left×  ó1  € õ �q˜"˜a‘”ð 	6ñ 	6ˆAÝ”	—’˜q ! A¡#™w¨™zÑ*Ô*ˆAØ—
’
�7 1™:œ:Ñ&Ô&ˆAØ—
’
˜1‘”ˆAÝ”�q‘	”	˜!˜Q™$ ˜'Ô"×&Ò& rÑ*Ô*ˆAÝÕ,¨QÑ/Ô/°ÈÐNÑNÔNÐNÝ”�zÑ*Ô*ð 6ð 6Ý×&Ò& q°Ð&Ñ5Ô5Ð5ð6ð 6ð 6ñ 6ô 6ð 6ð 6ð 6ð 6ð 6ð 6øøøð 6ð 6ð 6ð 6ùð	6ð 	6ó   ÃDÄD	ÄD	c                 ó,  — t          ddd¦  «        D �] }t          j                             ||dz
  z  dz  ¦  «        }|                     t          |¦  «        ¦  «        }|                     |¦  «        }t          j        |¦  «        |dz  df                              d¦  «        }t          t          |¦  «        dd¬¦  «         t          j        t          ¦  «        5  t           
                    |d	¬
¦  «         d d d ¦  «         n# 1 swxY w Y   �Œd S ©NrÔ   rh  r�   r.   rn   rm  FrR  TrT  rn  ri  s        r7   Ú.test_is_valid_linkage_4_and_up_neg_index_rightzATestIsValidLinkage.test_is_valid_linkage_4_and_up_neg_index_rightã  rs  rt  c                 ó,  — t          ddd¦  «        D �] }t          j                             ||dz
  z  dz  ¦  «        }|                     t          |¦  «        ¦  «        }|                     |¦  «        }t          j        |¦  «        |dz  df                              d¦  «        }t          t          |¦  «        dd¬¦  «         t          j        t          ¦  «        5  t           
                    |d	¬
¦  «         d d d ¦  «         n# 1 swxY w Y   �Œd S ©NrÔ   rh  r�   r.   rn   g      à¿FrR  TrT  rn  ri  s        r7   Ú'test_is_valid_linkage_4_and_up_neg_distz:TestIsValidLinkage.test_is_valid_linkage_4_and_up_neg_distï  s1  € õ �q˜"˜a‘”ð 	6ñ 	6ˆAÝ”	—’˜q ! A¡#™w¨™zÑ*Ô*ˆAØ—
’
�7 1™:œ:Ñ&Ô&ˆAØ—
’
˜1‘”ˆAÝ”�q‘	”	˜!˜Q™$ ˜'Ô"×&Ò& tÑ,Ô,ˆAÝÕ,¨QÑ/Ô/°ÈÐNÑNÔNÐNÝ”�zÑ*Ô*ð 6ð 6Ý×&Ò& q°Ð&Ñ5Ô5Ð5ð6ð 6ð 6ñ 6ô 6ð 6ð 6ð 6ð 6ð 6ð 6øøøð 6ð 6ð 6ð 6ùð	6ð 	6rt  c                 ó,  — t          ddd¦  «        D �] }t          j                             ||dz
  z  dz  ¦  «        }|                     t          |¦  «        ¦  «        }|                     |¦  «        }t          j        |¦  «        |dz  df                              d¦  «        }t          t          |¦  «        dd¬¦  «         t          j        t          ¦  «        5  t           
                    |d	¬
¦  «         d d d ¦  «         n# 1 swxY w Y   �Œd S rv  rn  ri  s        r7   Ú)test_is_valid_linkage_4_and_up_neg_countsz<TestIsValidLinkage.test_is_valid_linkage_4_and_up_neg_countsû  rs  rt  N)r2   r3   r4   r’   r�   rž   rY  ra  re  rk  rr  rw  rz  r|  r5   r6   r7   rM  rM  ³  sÒ   € € € € € ð „[×ÒÐ0ð 3Nð 3Nð 3Nñ Oô OðGð GñOô OðGðBð Bð BðCð Cð CðNð Nð Nð
6ð 
6ð 
6ð
6ð 
6ð 
6ð
6ð 
6ð 
6ð
6ð 
6ð 
6ð 
6ð 
6r6   rM  c                   ó~   — e Zd Zd„ Zej                             dg d¢¦  «        d„ ¦   «         Zd„ Zd„ Z	d„ Z
d„ Zd	„ Zd
S )ÚTestIsValidInconsistentc                 óÂ   — |                      g d¢g d¢g|j        ¬¦  «        }t          t          |¦  «        dd¬¦  «         t	          t
          t          |d¬¦  «         d S r[  )rB   r^  r+   r   rD   r_  ©rG   rH   ÚRs      r7   Útest_is_valid_im_int_typez1TestIsValidInconsistent.test_is_valid_im_int_type  si   € à�JŠJ˜˜˜Ø&˜˜ð(Ø/1¬xð ñ 9ô 9ˆå� A™œ¨¸uÐEÑEÔEÐEÝ•i¥¨a°tÐ<Ñ<Ô<Ð<Ð<Ð<r6   rN  rO  c                 óæ   — |                      g d¢g d¢g|j        ¬¦  «        }|d |…d |…f         }t          t          |¦  «        |d¬¦  «         |st	          t
          t          |d¬¦  «         d S d S rQ  )rB   r‡   r+   r   rD   rE   )rG   rV  rW  rX  rH   r�  s         r7   Útest_is_valid_im_various_sizez5TestIsValidInconsistent.test_is_valid_im_various_size  sš   € ð �JŠJÐ)Ð)Ð)Ø)Ð)Ð)ð+Ø24´*ð ñ >ô >ˆàˆeˆtˆe�U�d�UˆlŒOˆÝ� A™œ¨¸uÐEÑEÔEÐEØð 	BÝ�*¥k°1¸DÐAÑAÔAÐAÐAÐAð	Bð 	Br6   c                 ó¶   — |                      d|j        ¬¦  «        }t          t          |¦  «        dd¬¦  «         t	          t
          t          |d¬¦  «         d S rc  )rM   r‡   r+   r   rD   rE   r€  s      r7   Útest_is_valid_im_emptyz.TestIsValidInconsistent.test_is_valid_im_empty  sQ   € à�HŠH�V 2¤:ˆHÑ.Ô.ˆÝ� A™œ¨¸uÐEÑEÔEÐEÝ•j¥+¨q¸Ð=Ñ=Ô=Ð=Ð=Ð=r6   c                 ó"  — t          ddd¦  «        D ]|}t          j                             ||dz
  z  dz  ¦  «        }t	          |¦  «        }t          |¦  «        }|                     |¦  «        }t          t          |¦  «        dd¬¦  «         Œ}d S rg  )	r@  rq   rr   rt   r	   r   rB   r+   r   ©rG   rH   rj  rI   r_   r�  s         r7   Útest_is_valid_im_4_and_upz1TestIsValidInconsistent.test_is_valid_im_4_and_up#  s�   € õ �q˜"˜a‘”ð 	Ið 	IˆAÝ”	—’˜q ! A¡#™w¨™zÑ*Ô*ˆAÝ˜‘
”
ˆAÝ˜Q‘”ˆAØ—
’
˜1‘”ˆAÝ�K¨™NœN¨DÀ%ÐHÑHÔHÐHÐHð	Ið 	Ir6   c                 ó   — t          ddd¦  «        D ]û}t          j                             ||dz
  z  dz  ¦  «        }t	          |¦  «        }t          |¦  «        }t          j        |¦  «        |dz  df                              d¦  «        }| 	                    |¦  «        }t          t          |¦  «        dd¬	¦  «         t          j        t          ¦  «        5  t                               |d
¬¦  «         d d d ¦  «         n# 1 swxY w Y   Œüd S )NrÔ   rh  r�   r.   rn   r   ç       ÀFrR  TrT  ©r@  rq   rr   rt   r	   r   ro  rp  rq  rB   r+   r   r’   r   rE   r1   rˆ  s         r7   Ú(test_is_valid_im_4_and_up_neg_index_leftz@TestIsValidInconsistent.test_is_valid_im_4_and_up_neg_index_left-  ó-  € õ �q˜"˜a‘”ð 	1ð 	1ˆAÝ”	—’˜q ! A¡#™w¨™zÑ*Ô*ˆAÝ˜‘
”
ˆAÝ˜Q‘”ˆAÝ”�q‘	”	˜!˜Q™$ ˜(Ô#×'Ò'¨Ñ-Ô-ˆAØ—
’
˜1‘”ˆAÝ�K¨™NœN¨EÀ5ÐIÑIÔIÐIÝ”�zÑ*Ô*ð 1ð 1Ý×!Ò! !¨4Ð!Ñ0Ô0Ð0ð1ð 1ð 1ñ 1ô 1ð 1ð 1ð 1ð 1ð 1ð 1øøøð 1ð 1ð 1ð 1øð	1ð 	1ó   ÃDÄD	Ä	D	c                 ó   — t          ddd¦  «        D ]û}t          j                             ||dz
  z  dz  ¦  «        }t	          |¦  «        }t          |¦  «        }t          j        |¦  «        |dz  df                              d¦  «        }| 	                    |¦  «        }t          t          |¦  «        dd¬¦  «         t          j        t          ¦  «        5  t                               |d	¬
¦  «         d d d ¦  «         n# 1 swxY w Y   Œüd S )NrÔ   rh  r�   r.   rn   r‹  FrR  TrT  rŒ  rˆ  s         r7   Ú)test_is_valid_im_4_and_up_neg_index_rightzATestIsValidInconsistent.test_is_valid_im_4_and_up_neg_index_right:  rŽ  r�  c                 ó   — t          ddd¦  «        D ]û}t          j                             ||dz
  z  dz  ¦  «        }t	          |¦  «        }t          |¦  «        }t          j        |¦  «        |dz  df                              d¦  «        }| 	                    |¦  «        }t          t          |¦  «        dd¬¦  «         t          j        t          ¦  «        5  t                               |d	¬
¦  «         d d d ¦  «         n# 1 swxY w Y   Œüd S ry  rŒ  rˆ  s         r7   Ú"test_is_valid_im_4_and_up_neg_distz:TestIsValidInconsistent.test_is_valid_im_4_and_up_neg_distG  s-  € õ �q˜"˜a‘”ð 	1ð 	1ˆAÝ”	—’˜q ! A¡#™w¨™zÑ*Ô*ˆAÝ˜‘
”
ˆAÝ˜Q‘”ˆAÝ”�q‘	”	˜!˜Q™$ ˜'Ô"×&Ò& tÑ,Ô,ˆAØ—
’
˜1‘”ˆAÝ�K¨™NœN¨EÀ5ÐIÑIÔIÐIÝ”�zÑ*Ô*ð 1ð 1Ý×!Ò! !¨4Ð!Ñ0Ô0Ð0ð1ð 1ð 1ñ 1ô 1ð 1ð 1ð 1ð 1ð 1ð 1øøøð 1ð 1ð 1ð 1øð	1ð 	1r�  N)r2   r3   r4   r‚  r’   r�   rž   r„  r†  r‰  r�  r‘  r“  r5   r6   r7   r~  r~    s½   € € € € € ð=ð =ð =ð „[×ÒÐ0ð 3Nð 3Nð 3Nñ Oô OðBð BñOô OðBð>ð >ð >ðIð Ið Ið1ð 1ð 1ð1ð 1ð 1ð1ð 1ð 1ð 1ð 1r6   r~  c                   ó,   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ ZdS )ÚTestNumObsLinkagec                 ót   — |                      d|j        ¬¦  «        }t          t          t          |¦  «         d S ©Nrd  r…   )rM   r‡   rD   rE   r   r`  s      r7   Útest_num_obs_linkage_emptyz,TestNumObsLinkage.test_num_obs_linkage_emptyW  s1   € à�HŠH�V 2¤:ˆHÑ.Ô.ˆÝ•j¥/°1Ñ5Ô5Ð5Ð5Ð5r6   c                 ón   — |                      g d¢g|j        ¬¦  «        }t          |¦  «        dk    sJ ‚d S )Nr\  r…   rn   ©rB   r‡   r   r`  s      r7   Útest_num_obs_linkage_1x4z*TestNumObsLinkage.test_num_obs_linkage_1x4\  s?   € à�JŠJ˜˜˜Ð'¨r¬zˆJÑ:Ô:ˆÝ˜qÑ!Ô! QÒ&Ð&Ð&Ð&Ð&Ð&r6   c                 ót   — |                      g d¢g d¢g|j        ¬¦  «        }t          |¦  «        dk    sJ ‚d S )Nr\  r]  r…   r�   rš  r`  s      r7   Útest_num_obs_linkage_2x4z*TestNumObsLinkage.test_num_obs_linkage_2x4a  sP   € à�JŠJ˜˜˜Ø&˜˜ð(Ø/1¬zð ñ ;ô ;ˆå˜qÑ!Ô! QÒ&Ð&Ð&Ð&Ð&Ð&r6   c                 óì   — t          ddd¦  «        D ]a}t          j                             ||dz
  z  dz  ¦  «        }|                     t          |¦  «        ¦  «        }t          |¦  «        |k    sJ ‚Œbd S )NrÔ   rh  r�   r.   rn   )r@  rq   rr   rt   rB   r	   r   ri  s        r7   Útest_num_obs_linkage_4_and_upz/TestNumObsLinkage.test_num_obs_linkage_4_and_upg  sy   € õ �q˜"˜a‘”ð 	+ð 	+ˆAÝ”	—’˜q ! A¡#™w¨™zÑ*Ô*ˆAØ—
’
�7 1™:œ:Ñ&Ô&ˆAÝ" 1Ñ%Ô%¨Ò*Ð*Ð*Ð*Ð*ð	+ð 	+r6   c                 óø   — t          dd¦  «        D ]h}t          j                             |d¦  «        }t	          |¦  «        }|                     t          |¦  «        ¦  «        }t          |¦  «        |k    sJ ‚Œid S )Nrn   rØ   rÔ   )r@  rq   rr   rt   r'   rB   r	   r   )rG   rH   rw   rk   r  r_   s         r7   Ú!test_num_obs_linkage_multi_matrixz3TestNumObsLinkage.test_num_obs_linkage_multi_matrixo  sv   € å�q˜"‘”ð 	+ð 	+ˆAÝ”	—’˜q !Ñ$Ô$ˆAÝ�a‘”ˆAØ—
’
�7 1™:œ:Ñ&Ô&ˆAÝ" 1Ñ%Ô%¨Ò*Ð*Ð*Ð*Ð*ð		+ð 	+r6   N)r2   r3   r4   r˜  r›  r�  rŸ  r¡  r5   r6   r7   r•  r•  U  s_   € € € € € ð6ð 6ð 6ð
'ð 'ð 'ð
'ð 'ð 'ð+ð +ð +ð+ð +ð +ð +ð +r6   r•  c                   ól   — e Zd Zd„ Zd„ Zej                             dg d¢¦  «        d„ ¦   «         Zd„ Z	dS )ÚTestLeavesListc                 ó¤   — |                      g d¢g|j        ¬¦  «        }t          |¦  «         t          t	          |¦  «        ddgd¬¦  «         d S )Nr\  r…   r   r.   ro   r•   ©rB   r‡   r   r   r   r`  s      r7   Útest_leaves_list_1x4z#TestLeavesList.test_leaves_list_1x4{  sP   € à�JŠJ˜˜˜Ð'¨r¬zˆJÑ:Ô:ˆÝ�‰
Œ
ˆ
Ý� A™œ¨¨A¨°UÐ;Ñ;Ô;Ð;Ð;Ð;r6   c                 óª   — |                      g d¢g d¢g|j        ¬¦  «        }t          |¦  «         t          t	          |¦  «        g d¢d¬¦  «         d S )Nr\  r]  r…   )r   r.   rn   ro   r•   r¥  r`  s      r7   Útest_leaves_list_2x4z#TestLeavesList.test_leaves_list_2x4�  sa   € à�JŠJ˜˜˜Ø&˜˜ð(Ø/1¬zð ñ ;ô ;ˆå�‰
Œ
ˆ
Ý� A™œ¨	¨	¨	¸Ð>Ñ>Ô>Ð>Ð>Ð>r6   rU   )r   rP   rQ   rR   rb   rc   r   c                 óä   — t           j        }|                     t          ||¦  «        ¦  «        }t	          |¦  «        }t          |                     ¦   «         t          |¦  «        d¬¦  «         d S )Nro   r•   )r/   rõ   rB   r	   r   r   Ú	pre_orderr   )rG   rU   rH   rk   r_   Únodes         r7   Útest_leaves_list_Qz!TestLeavesList.test_leaves_list_Qˆ  s]   € õ  Ô#ˆØ�JŠJ•w˜q &Ñ)Ô)Ñ*Ô*ˆÝ�q‰zŒzˆÝ˜ŸšÑ(Ô(­+°a©.¬.¸uÐEÑEÔEÐEÐEÐEr6   c                 ó`  — t           j        }|                     t          |d¦  «        ¦  «        }t	          |¦  «        }t          |                     ¦   «         |                     ¦   «                              ¦   «         |                     ¦   «                              ¦   «         z   d¬¦  «         d S )Nr   ro   r•   )	r/   rõ   rB   r	   r   r   rª  Úget_leftÚ	get_right)rG   rH   rk   r_   r«  s        r7   Útest_Q_subtree_pre_orderz'TestLeavesList.test_Q_subtree_pre_order‘  s’   € åÔ#ˆØ�JŠJ•w˜q (Ñ+Ô+Ñ,Ô,ˆÝ�q‰zŒzˆÝ˜ŸšÑ(Ô(ØŸš™œ×2Ò2Ñ4Ô4°t·~²~Ñ7GÔ7G×7QÒ7QÑ7SÔ7SÑSØ"ð	$ñ 	$ô 	$ð 	$ð 	$ð 	$r6   N)
r2   r3   r4   r¦  r¨  r’   r�   rž   r¬  r°  r5   r6   r7   r£  r£  x  sƒ   € € € € € ð<ð <ð <ð?ð ?ð ?ð „[×Ò˜XØSÐSÐSñUô UðFð FñUô UðFð$ð $ð $ð $ð $r6   r£  c                   ó&   — e Zd Zd„ Zd„ Zd„ Zd„ ZdS )ÚTestCorrespondc                 ó®   — |                      d|j        ¬¦  «        }|                      d|j        ¬¦  «        }t          t          t          ||¦  «         d S )NrL   r…   rd  )rM   r‡   rD   rE   r   r  s       r7   Útest_correspond_emptyz$TestCorrespond.test_correspond_emptyž  sJ   € à�HŠH�T ¤ˆHÑ,Ô,ˆØ�HŠH�U "¤*ˆHÑ-Ô-ˆÝ•j¥*¨a°Ñ3Ô3Ð3Ð3Ð3r6   c                 óD  — t          dd¦  «        D ]~}t          j                             ||dz
  z  dz  ¦  «        }|                     t          |¦  «        ¦  «        }|                     |¦  «        }t          t          ||¦  «        ¦  «         Œt          ddd¦  «        D ]~}t          j                             ||dz
  z  dz  ¦  «        }|                     t          |¦  «        ¦  «        }|                     |¦  «        }t          t          ||¦  «        ¦  «         Œd S )Nrn   rÔ   r.   rh  r�   )r@  rq   rr   rt   rB   r	   r   r   ri  s        r7   Útest_correspond_2_and_upz'TestCorrespond.test_correspond_2_and_up¤  sþ   € õ �q˜!‘”ð 	&ð 	&ˆAÝ”	—’˜q ! A¡#™w¨™zÑ*Ô*ˆAØ—
’
�7 1™:œ:Ñ&Ô&ˆAØ—
’
˜1‘”ˆAÝ•J˜q !Ñ$Ô$Ñ%Ô%Ð%Ð%Ý�q˜"˜a‘”ð 	&ð 	&ˆAÝ”	—’˜q ! A¡#™w¨™zÑ*Ô*ˆAØ—
’
�7 1™:œ:Ñ&Ô&ˆAØ—
’
˜1‘”ˆAÝ•J˜q !Ñ$Ô$Ñ%Ô%Ð%Ð%ð		&ð 	&r6   c                 ó$  — t          t          t          t          dd¦  «        ¦  «        t          t          dd¦  «        ¦  «        ¦  «        ¦  «        t          t          t          t          dd¦  «        ¦  «        t          t          dd¦  «        ¦  «        ¦  «        ¦  «        z   D ]ç\  }}t          j                             ||dz
  z  dz  ¦  «        }t          j                             ||dz
  z  dz  ¦  «        }|                     t          |¦  «        ¦  «        }|                     t          |¦  «        ¦  «        }|                     |¦  «        }|                     |¦  «        }t          ||¦  «        rJ ‚t          ||¦  «        rJ ‚Œèd S )Nrn   rÔ   r�   rA   r.   ©	ÚlistÚzipr@  rq   rr   rt   rB   r	   r   ©rG   rH   rj  ÚjrI   Úy2r_   r—   s           r7   Útest_correspond_4_and_upz'TestCorrespond.test_correspond_4_and_up²  sG  € õ �C¥¥U¨1¨a¡[¤[Ñ 1Ô 1µ4½¸aÀ¹¼Ñ3DÔ3DÑEÔEÑFÔFÝ�C¥¥U¨1¨a¡[¤[Ñ 1Ô 1µ4½¸aÀ¹¼Ñ3DÔ3DÑEÔEÑFÔFñGð 		)ð 		)‰FˆQ�å”	—’˜q ! A¡#™w¨™zÑ*Ô*ˆAÝ”—’  1 Q¡3¡¨¡
Ñ+Ô+ˆBØ—
’
�7 1™:œ:Ñ&Ô&ˆAØ—’�G B™KœKÑ(Ô(ˆBØ—
’
˜1‘”ˆAØ—’˜B‘”ˆBÝ! ! RÑ(Ô(Ð(Ð(Ð(Ý! " aÑ(Ô(Ð(Ð(Ð(Ð(ð		)ð 		)r6   c                 ó$  — t          t          t          t          dd¦  «        ¦  «        t          t          dd¦  «        ¦  «        ¦  «        ¦  «        t          t          t          t          dd¦  «        ¦  «        t          t          dd¦  «        ¦  «        ¦  «        ¦  «        z   D ]ç\  }}t          j                             ||dz
  z  dz  ¦  «        }t          j                             ||dz
  z  dz  ¦  «        }|                     t          |¦  «        ¦  «        }|                     t          |¦  «        ¦  «        }|                     |¦  «        }|                     |¦  «        }t          ||¦  «        rJ ‚t          ||¦  «        rJ ‚Œèd S )Nrn   r×   é   é   r.   r¸  r»  s           r7   Útest_correspond_4_and_up_2z)TestCorrespond.test_correspond_4_and_up_2À  sG  € õ �C¥¥U¨1¨a¡[¤[Ñ 1Ô 1µ4½¸bÀ"¹¼Ñ3FÔ3FÑGÔGÑHÔHÝ�C¥¥U¨1¨a¡[¤[Ñ 1Ô 1µ4½¸bÀ"¹¼Ñ3FÔ3FÑGÔGÑHÔHñIð 		)ð 		)‰FˆQ�å”	—’˜q ! A¡#™w¨™zÑ*Ô*ˆAÝ”—’  1 Q¡3¡¨¡
Ñ+Ô+ˆBØ—
’
�7 1™:œ:Ñ&Ô&ˆAØ—’�G B™KœKÑ(Ô(ˆBØ—
’
˜1‘”ˆAØ—’˜B‘”ˆBÝ! ! RÑ(Ô(Ð(Ð(Ð(Ý! " aÑ(Ô(Ð(Ð(Ð(Ð(ð		)ð 		)r6   N)r2   r3   r4   r´  r¶  r¾  rÂ  r5   r6   r7   r²  r²  ›  sP   € € € € € ð4ð 4ð 4ð&ð &ð &ð)ð )ð )ð)ð )ð )ð )ð )r6   r²  c                   óP   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
„ Zd„ ZdS )ÚTestIsMonotonicc                 ót   — |                      d|j        ¬¦  «        }t          t          t          |¦  «         d S r—  )rM   r‡   rD   rE   r   r`  s      r7   Útest_is_monotonic_emptyz'TestIsMonotonic.test_is_monotonic_emptyÒ  s1   € à�HŠH�V 2¤:ˆHÑ.Ô.ˆÝ•j¥,°Ñ2Ô2Ð2Ð2Ð2r6   c                 óf   — |                      g d¢g|j        ¬¦  «        }t          |¦  «        sJ ‚d S )N©r   r.   ç333333Ó?rn   r…   ©rB   r‡   r   r`  s      r7   Útest_is_monotonic_1x4z%TestIsMonotonic.test_is_monotonic_1x4×  s7   € à�JŠJ˜˜˜Ð'¨r¬zˆJÑ:Ô:ˆÝ˜A‰ŒÐÐˆÐÐr6   c                 ól   — |                      g d¢g d¢g|j        ¬¦  «        }t          |¦  «        sJ ‚d S )NrÈ  )rn   r�   çš™™™™™Ù?r�   r…   rÊ  r`  s      r7   Útest_is_monotonic_2x4_Tz'TestIsMonotonic.test_is_monotonic_2x4_TÜ  sH   € à�JŠJ˜˜˜Ø&˜˜ð(Ø/1¬zð ñ ;ô ;ˆå˜A‰ŒÐÐˆÐÐr6   c                 ól   — |                      g d¢g d¢g|j        ¬¦  «        }t          |¦  «        rJ ‚d S )N)r   r.   rÍ  rn   )rn   r�   rÉ  r�   r…   rÊ  r`  s      r7   Útest_is_monotonic_2x4_Fz'TestIsMonotonic.test_is_monotonic_2x4_Fâ  sI   € à�JŠJ˜˜˜Ø&˜˜ð(Ø/1¬zð ñ ;ô ;ˆå ‘?”?Ð"Ð"Ð"Ð"Ð"r6   c                 ór   — |                      g d¢g d¢g d¢g|j        ¬¦  «        }t          |¦  «        sJ ‚d S )NrÈ  ©rn   r�   rÍ  rn   ©rÔ   rA   g333333ã?rÔ   r…   rÊ  r`  s      r7   Útest_is_monotonic_3x4_Tz'TestIsMonotonic.test_is_monotonic_3x4_Tè  sQ   € à�JŠJ˜˜˜Ø&˜˜Ø&˜˜ð(à/1¬zð ñ ;ô ;ˆõ ˜A‰ŒÐÐˆÐÐr6   c                 ór   — |                      g d¢g d¢g d¢g|j        ¬¦  «        }t          |¦  «        rJ ‚d S )NrÈ  )rn   r�   çš™™™™™É?rn   rÓ  r…   rÊ  r`  s      r7   Útest_is_monotonic_3x4_F1z(TestIsMonotonic.test_is_monotonic_3x4_F1ï  óR   € à�JŠJ˜˜˜Ø&˜˜Ø&˜˜ð(à/1¬zð ñ ;ô ;ˆõ   ‘?”?Ð"Ð"Ð"Ð"Ð"r6   c                 ór   — |                      g d¢g d¢g d¢g|j        ¬¦  «        }t          |¦  «        rJ ‚d S )N)r   r.   gš™™™™™é?rn   rÒ  rÓ  r…   rÊ  r`  s      r7   Útest_is_monotonic_3x4_F2z(TestIsMonotonic.test_is_monotonic_3x4_F2ö  rØ  r6   c                 ór   — |                      g d¢g d¢g d¢g|j        ¬¦  «        }t          |¦  «        rJ ‚d S )NrÈ  rÒ  )rÔ   rA   rÖ  rÔ   r…   rÊ  r`  s      r7   Útest_is_monotonic_3x4_F3z(TestIsMonotonic.test_is_monotonic_3x4_F3ý  rØ  r6   c                 ó‚   — |                      t          t          j        d¦  «        ¦  «        }t	          |¦  «        sJ ‚d S ©Nr   )rB   r	   r/   r]   r   r`  s      r7   Ú test_is_monotonic_tdist_linkage1z0TestIsMonotonic.test_is_monotonic_tdist_linkage1  s:   € ð �JŠJ•wÕ2Ô9¸8ÑDÔDÑEÔEˆÝ˜A‰ŒÐÐˆÐÐr6   c                 óÜ   — |                      t          t          j        d¦  «        ¦  «        }t	          j        |¦  «        d                              d¦  «        }t          |¦  «        rJ ‚d S )Nr   )rn   rn   r@   )rB   r	   r/   r]   ro  rp  rq  r   r`  s      r7   Ú test_is_monotonic_tdist_linkage2z0TestIsMonotonic.test_is_monotonic_tdist_linkage2
  sZ   € ð �JŠJ•wÕ2Ô9¸8ÑDÔDÑEÔEˆÝŒF�1‰IŒI�dŒO×Ò Ñ$Ô$ˆÝ ‘?”?Ð"Ð"Ð"Ð"Ð"r6   c                 ó†   — t           j        }|                     t          |d¦  «        ¦  «        }t	          |¦  «        sJ ‚d S rÞ  )r/   rõ   rB   r	   r   )rG   rH   rk   r_   s       r7   Útest_is_monotonic_Q_linkagez+TestIsMonotonic.test_is_monotonic_Q_linkage  s>   € õ  Ô#ˆØ�JŠJ•w˜q (Ñ+Ô+Ñ,Ô,ˆÝ˜A‰ŒÐÐˆÐÐr6   N)r2   r3   r4   rÆ  rË  rÎ  rÐ  rÔ  r×  rÚ  rÜ  rß  rá  rã  r5   r6   r7   rÄ  rÄ  Ï  s¹   € € € € € ð3ð 3ð 3ð
ð ð ð
ð ð ð#ð #ð #ðð ð ð#ð #ð #ð#ð #ð #ð#ð #ð #ðð ð ð#ð #ð #ðð ð ð ð r6   rÄ  c                   óf   — e Zd Zd„ Zd„ Zej                             dg d¢¦  «        d„ ¦   «         ZdS )ÚTestMaxDistsc                 ót   — |                      d|j        ¬¦  «        }t          t          t          |¦  «         d S r—  )rM   r‡   rD   rE   r   r`  s      r7   Útest_maxdists_empty_linkagez(TestMaxDists.test_maxdists_empty_linkage  s1   € à�HŠH�V 2¤:ˆHÑ.Ô.ˆÝ•j¥(¨AÑ.Ô.Ð.Ð.Ð.r6   c                 ó¦   — |                      g d¢g|j        ¬¦  «        }t          |¦  «        }t          ||¦  «        }t	          ||d¬¦  «         d S )N©r   r.   rÉ  rÔ   r…   ro   rZ   )rB   r‡   r   Úcalculate_maximum_distancesr*   )rG   rH   r_   ÚMDÚ
expectedMDs        r7   Ú!test_maxdists_one_cluster_linkagez.TestMaxDists.test_maxdists_one_cluster_linkage!  sU   € à�JŠJ˜˜˜Ð'¨r¬zˆJÑ:Ô:ˆÝ�a‰[Œ[ˆÝ0°°BÑ7Ô7ˆ
Ý˜˜J¨UÐ3Ñ3Ô3Ð3Ð3Ð3r6   rU   ©r   rP   r   rb   rc   c                 óÆ   — t           j        }|                     t          ||¦  «        ¦  «        }t	          |¦  «        }t          ||¦  «        }t          ||d¬¦  «         d S )Nro   rZ   )r/   rõ   rB   r	   r   rê  r*   )rG   rU   rH   rk   r_   rë  rì  s          r7   Útest_maxdists_Q_linkagez$TestMaxDists.test_maxdists_Q_linkage(  s\   € õ  Ô#ˆØ�JŠJ•w˜q &Ñ)Ô)Ñ*Ô*ˆÝ�a‰[Œ[ˆÝ0°°BÑ7Ô7ˆ
Ý˜˜J¨UÐ3Ñ3Ô3Ð3Ð3Ð3r6   N)	r2   r3   r4   rç  rí  r’   r�   rž   rð  r5   r6   r7   rå  rå    sr   € € € € € ð/ð /ð /ð
4ð 4ð 4ð „[×ÒØÐFÐFÐFñHô Hð4ð 4ñHô Hð4ð 4ð 4r6   rå  c                   ól   — e Zd Zd„ Zd„ Zd„ Zej                             dg d¢¦  «        d„ ¦   «         Z	dS )ÚTestMaxInconstsc                 ó®   — |                      d|j        ¬¦  «        }|                      d|j        ¬¦  «        }t          t          t          ||¦  «         d S r—  )rM   r‡   rD   rE   r   ©rG   rH   r_   r�  s       r7   Útest_maxinconsts_empty_linkagez.TestMaxInconsts.test_maxinconsts_empty_linkage6  sJ   € à�HŠH�V 2¤:ˆHÑ.Ô.ˆØ�HŠH�V 2¤:ˆHÑ.Ô.ˆÝ•j¥+¨q°!Ñ4Ô4Ð4Ð4Ð4r6   c                 óæ   — |                      g d¢g|j        ¬¦  «        }t          j                             dd¦  «        }|                      |¦  «        }t          t          t          ||¦  «         d S ©Nré  r…   rn   rÔ   )rB   r‡   rq   rr   rt   rD   rE   r   rô  s       r7   Útest_maxinconsts_difrow_linkagez/TestMaxInconsts.test_maxinconsts_difrow_linkage<  s`   € ð �JŠJ˜˜˜Ð'¨r¬zˆJÑ:Ô:ˆÝŒI�NŠN˜1˜aÑ Ô ˆØ�JŠJ�q‰MŒMˆÝ•j¥+¨q°!Ñ4Ô4Ð4Ð4Ð4r6   c                 óê   — |                      g d¢g|j        ¬¦  «        }|                      g d¢g|j        ¬¦  «        }t          ||¦  «        }t          |||¬¦  «        }t	          ||d¬¦  «         d S )Nré  r…   ©r   r   r   rÉ  r‹   ro   rZ   )rB   r‡   r   Ú!calculate_maximum_inconsistenciesr*   ©rG   rH   r_   r�  rë  rì  s         r7   Ú$test_maxinconsts_one_cluster_linkagez4TestMaxInconsts.test_maxinconsts_one_cluster_linkageD  s|   € à�JŠJ˜˜˜Ð'¨r¬zˆJÑ:Ô:ˆØ�JŠJ˜˜˜Ð'¨r¬zˆJÑ:Ô:ˆÝ˜˜AÑÔˆÝ6°q¸!ÀÐCÑCÔCˆ
Ý˜˜J¨UÐ3Ñ3Ô3Ð3Ð3Ð3r6   rU   rî  c                 ó  — t           j        }t          ||¦  «        }|                     t	          |¦  «        ¦  «        }|                     |¦  «        }t          ||¦  «        }t          |||¬¦  «        }t          ||d¬¦  «         d S )Nr‹   ro   rZ   )r/   rõ   r	   rB   r   r   rû  r*   ©rG   rU   rH   rk   r_   r�  rë  rì  s           r7   Útest_maxinconsts_Q_linkagez*TestMaxInconsts.test_maxinconsts_Q_linkageL  s   € õ  Ô#ˆÝ�A�vÑÔˆØ�JŠJ•| A‘”Ñ'Ô'ˆØ�JŠJ�q‰MŒMˆÝ˜˜AÑÔˆÝ6°q¸!ÀÐCÑCÔCˆ
Ý˜˜J¨UÐ3Ñ3Ô3Ð3Ð3Ð3r6   N)
r2   r3   r4   rõ  rø  rý  r’   r�   rž   r   r5   r6   r7   rò  rò  3  s�   € € € € € ð5ð 5ð 5ð5ð 5ð 5ð4ð 4ð 4ð „[×ÒØÐFÐFÐFñHô Hð4ð 4ñHô Hð4ð 4ð 4r6   rò  c                   ó  — e Zd Zd„ Zej                             d ed¦  «        ¦  «        d„ ¦   «         Zej                             d ed¦  «        ¦  «        d„ ¦   «         Z	d„ Z
ej                             dg d¢¦  «        d	„ ¦   «         Zd
S )ÚTestMaxRStatc                 ó  — |                      g d¢g|j        ¬¦  «        }|                      g d¢g|j        ¬¦  «        }t          j        t          ¦  «        5  t          ||d¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          ¦  «        5  t          ||d¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          ¦  «        5  t          ||d¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nré  r…   rú  gffffff
@rƒ   rÔ   )rB   r‡   r’   r   r_  r   rE   rô  s       r7   Útest_maxRstat_invalid_indexz(TestMaxRStat.test_maxRstat_invalid_index\  s²  € à�JŠJ˜˜˜Ð'¨r¬zˆJÑ:Ô:ˆØ�JŠJ˜˜˜Ð'¨r¬zˆJÑ:Ô:ˆÝŒ]�9Ñ%Ô%ð 	 ð 	 Ý�Q˜˜3ÑÔÐð	 ð 	 ð 	 ñ 	 ô 	 ð 	 ð 	 ð 	 ð 	 ð 	 ð 	 øøøð 	 ð 	 ð 	 ð 	 åŒ]�:Ñ&Ô&ð 	ð 	Ý�Q˜˜2ÑÔÐð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	åŒ]�:Ñ&Ô&ð 	ð 	Ý�Q˜˜1ÑÔÐð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	s6   ÁA6Á6A:Á=A:ÂB8Â8B<Â?B<ÃC;Ã;C?ÄC?rj  rÔ   c                 ó°   — |                      d|j        ¬¦  «        }|                      d|j        ¬¦  «        }t          t          t          |||¦  «         d S r—  )rM   r‡   rD   rE   r   ©rG   rj  rH   r_   r�  s        r7   Útest_maxRstat_empty_linkagez(TestMaxRStat.test_maxRstat_empty_linkageg  sN   € ð �HŠH�V 2¤:ˆHÑ.Ô.ˆØ�HŠH�V 2¤:ˆHÑ.Ô.ˆÝ•j¥(¨A¨q°!Ñ4Ô4Ð4Ð4Ð4r6   c                 óè   — |                      g d¢g|j        ¬¦  «        }t          j                             dd¦  «        }|                      |¦  «        }t          t          t          |||¦  «         d S r÷  )rB   r‡   rq   rr   rt   rD   rE   r   r  s        r7   Útest_maxRstat_difrow_linkagez)TestMaxRStat.test_maxRstat_difrow_linkagen  sb   € ð �JŠJ˜˜˜Ð'¨r¬zˆJÑ:Ô:ˆÝŒI�NŠN˜1˜aÑ Ô ˆØ�JŠJ�q‰MŒMˆÝ•j¥(¨A¨q°!Ñ4Ô4Ð4Ð4Ð4r6   c                 óì   — |                      g d¢g|j        ¬¦  «        }|                      g d¢g|j        ¬¦  «        }t          ||d¦  «        }t          ||d|¦  «        }t	          ||d¬¦  «         d S )Nré  r…   rú  r.   ro   rZ   )rB   r‡   r   rû  r*   rü  s         r7   Ú!test_maxRstat_one_cluster_linkagez.TestMaxRStat.test_maxRstat_one_cluster_linkagew  s}   € à�JŠJ˜˜˜Ð'¨r¬zˆJÑ:Ô:ˆØ�JŠJ˜˜˜Ð'¨r¬zˆJÑ:Ô:ˆÝ�a˜˜AÑÔˆÝ6°q¸!¸QÀÑCÔCˆ
Ý˜˜J¨UÐ3Ñ3Ô3Ð3Ð3Ð3r6   rU   rî  c                 ó  — t           j        }t          ||¦  «        }|                     t	          |¦  «        ¦  «        }|                     |¦  «        }t          ||d¦  «        }t          ||d|¦  «        }t          ||d¬¦  «         d S )Nr.   ro   rZ   )r/   rõ   r	   rB   r   r   rû  r*   rÿ  s           r7   Útest_maxRstat_Q_linkagez$TestMaxRStat.test_maxRstat_Q_linkage  s€   € õ  Ô#ˆÝ�A�vÑÔˆØ�JŠJ•| A‘”Ñ'Ô'ˆØ�JŠJ�q‰MŒMˆÝ�a˜˜AÑÔˆÝ6°q¸!¸QÀÑCÔCˆ
Ý˜˜J¨UÐ3Ñ3Ô3Ð3Ð3Ð3r6   N)r2   r3   r4   r  r’   r�   rž   r@  r  r	  r  r  r5   r6   r7   r  r  Y  sÞ   € € € € € ð	ð 	ð 	ð „[×Ò˜S % %¨¡(¤(Ñ+Ô+ð5ð 5ñ ,Ô+ð5ð „[×Ò˜S % %¨¡(¤(Ñ+Ô+ð5ð 5ñ ,Ô+ð5ð4ð 4ð 4ð „[×ÒØÐFÐFÐFñHô Hð4ð 4ñHô Hð4ð 4ð 4r6   r  c                   ó  — e Zd Zd„ Zd„ Zd„ Zej                             e	 d¬¦  «        d„ ¦   «         Z
 edd¬¦  «         ed	d
¬¦  «        ej                             e	 d¬¦  «        ej                             dg d¢¦  «        d„ ¦   «         ¦   «         ¦   «         ¦   «         Z edd¬¦  «         ed	d
¬¦  «        ej                             e	 d¬¦  «        d„ ¦   «         ¦   «         ¦   «         Zej        d„ ¦   «         Zd„ Zd„ Zd„ ZdS )ÚTestDendrogramc                 ó¶   — |                      t          t          j        d¦  «        ¦  «        }t	          |d¬¦  «        }|d         }t          |g d¢¦  «         d S )Nr   T©Úno_plotÚleaves©rn   rA   r.   r   r�   rÔ   )rB   r	   r/   r]   r   r   )rG   rH   r_   r�  r  s        r7   Ú$test_dendrogram_single_linkage_tdistz3TestDendrogram.test_dendrogram_single_linkage_tdist�  sY   € à�JŠJ•wÕ2Ô9¸8ÑDÔDÑEÔEˆÝ�q $Ð'Ñ'Ô'ˆØ�8”ˆÝ�VÐ/Ð/Ð/Ñ0Ô0Ð0Ð0Ð0r6   c                 óš   — |                      t          t          j        d¦  «        ¦  «        }t	          t
          t          |d¬¦  «         d S )Nr   Úfoo©Úorientation)rB   r	   r/   r]   rD   rE   r   r`  s      r7   Útest_valid_orientationz%TestDendrogram.test_valid_orientation–  s>   € Ø�JŠJ•wÕ2Ô9¸8ÑDÔDÑEÔEˆÝ•j¥*¨a¸UÐCÑCÔCÐCÐCÐCr6   c                 óæ   — |                      t          t          j        d¦  «        ¦  «        }g d¢}t	          ||                      |¦  «        d¬¦  «        }t	          ||d¬¦  «        }||k    sJ ‚d S )Nr   )r.   r�   rn   rÓ   rÔ   rA   T)Úlabelsr  )rB   r	   r/   r]   r   )rG   rH   r_   r  Úresult1Úresult2s         r7   Útest_labels_as_array_or_listz+TestDendrogram.test_labels_as_array_or_listš  sw   € à�JŠJ•wÕ2Ô9¸8ÑDÔDÑEÔEˆØ#Ð#Ð#ˆÝ˜Q r§z¢z°&Ñ'9Ô'9À4ÐHÑHÔHˆÝ˜Q v°tÐ<Ñ<Ô<ˆØ˜'Ò!Ð!Ð!Ð!Ð!Ð!r6   zno matplotlibr=   c           	      óþ  — |                      g d¢g d¢g d¢g¦  «        }t          j        ¦   «          t          j        t
          ¦  «        5 }t          |t          t          d¦  «        ¦  «        ¬¦  «         d d d ¦  «         n# 1 swxY w Y   dt          |j
        ¦  «        v sJ ‚t          j        t
          d¬¦  «        5  t          |g ¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        ¦   «          d S )N)r   r.   rº   rÔ   )rn   r�   rº   rA   )rÔ   rA   r»   rÓ   éd   )r  z.Dimensions of Z and labels must be consistent.rÆ   )rB   ÚpltÚfigurer’   r   rE   r   r¹  r@  ÚstrÚvalueÚclose)rG   rH   ÚlinkÚexc_infos       r7   Útest_valid_label_sizez$TestDendrogram.test_valid_label_size¢  s€  € à�zŠzØˆNˆNØˆNˆNØˆNˆNð
ñ ô ˆõ
 	Œ
‰ŒˆÝŒ]�:Ñ&Ô&ð 	6¨(Ý�t¥D­¨s©¬Ñ$4Ô$4Ð5Ñ5Ô5Ð5ð	6ð 	6ð 	6ñ 	6ô 	6ð 	6ð 	6ð 	6ð 	6ð 	6ð 	6øøøð 	6ð 	6ð 	6ð 	6à?Ý�h”nÑ%Ô%ð&ð &ð &ð &õ Œ]ÝØFðHñ Hô Hð 	(ð 	(õ �t BÐ'Ñ'Ô'Ð'ð	(ð 	(ð 	(ñ 	(ô 	(ð 	(ð 	(ð 	(ð 	(ð 	(ð 	(øøøð 	(ð 	(ð 	(ð 	(õ
 	Œ	‰Œˆˆˆs$   Á,BÂBÂ
BÃCÃC#Ã&C#ÚtorchzFMPL 3.9.2 & torch DeprecationWarning from __array_wrap__ and NumPy 2.0z
dask.arrayz.dask.array has bad interaction with matplotlibr  )ÚtopÚbottomÚleftÚrightc                 ó(  — |                      t          t          j        d¦  «        ¦  «        }g d¢g d¢g d¢g d¢g d¢g d¢gg d¢g d	¢g d
¢g d¢g d¢gg d¢g d¢g d¢dœ}t	          j        ¦   «         }|                     d¦  «        }t          |||¬¦  «        }t          j         |d         ¦  «        |d<   t          ||¦  «         t          |||dd¬¦  «         |dv r| 
                    ¦   «         d         n|                     ¦   «         d         }t          |                     ¦   «         d¦  «         t          |                     ¦   «         d¦  «         t          |||d¬¦  «         |dv r| 
                    ¦   «         d         n|                     ¦   «         d         }t          |                     ¦   «         d¦  «         t          |||d¬¦  «         |dv r| 
                    ¦   «         d         n|                     ¦   «         d         }t          |                     ¦   «         d¦  «         t	          j        ¦   «          t          ||¬¦  «        }	t	          j        ¦   «          t          j         |	d         ¦  «        |	d<   t          |	|¦  «         d S )Nr   )ÚC1ÚC0r1  r1  r1  ©r@   rÙ   rÙ   r@   )r@   rÚ   rÚ   r@   )r@   rÛ   rÛ   rÚ   ©r@   rÜ   rÜ   rÛ   ©rÙ   rÝ   rÝ   rÜ   ©r¿   r¿   rÅ   rÅ   )ç     €F@r6  ç     €K@r7  )ç     €A@r8  ç      I@r9  )ç      9@r:  ç     @E@r;  )rÄ   rÄ   ç     à@@r<  )Ú2Ú5Ú1Ú0Ú3Ú4r  )r0  r0  r1  r1  r1  r1  ©Ú
color_listÚdcoordÚicoordÚivlr  Úleaves_color_listéÝ   )Úaxr  rE  rm   éZ   )rJ  r  Úleaf_font_sizeÚleaf_rotation)r+  r,  r   )rJ  r  rM  )rJ  r  rL  r  )rB   r	   r/   r]   r"  r#  Úadd_subplotr   rq   r   Úget_xticklabelsÚget_yticklabelsÚget_rotationÚget_sizer&  )
rG   r  rH   r_   ÚexpectedÚfigrJ  ÚR1Ú	testlabelÚR2s
             r7   Útest_dendrogram_plotz#TestDendrogram.test_dendrogram_plot¶  s  € ð �JŠJ•wÕ2Ô9¸8ÑDÔDÑEÔEˆØ"@Ð"@Ð"@Ø7Ð7Ð7Ø7Ð7Ð7Ø9Ð9Ð9Ø9Ð9Ð9Ø;Ð;Ð;ð	=ð
  6Ð5Ð5Ø7Ð7Ð7Ø7Ð7Ð7Ø7Ð7Ð7Ø9Ð9Ð9ð	;ð
 :Ð9Ð9Ø0Ð0Ð0Ø)MÐ)MÐ)Mðð ˆõ  Œj‰lŒlˆØ�_Š_˜SÑ!Ô!ˆõ ˜˜b¨kÐ:Ñ:Ô:ˆÝ”z " X¤,Ñ/Ô/ˆˆ8‰Ý�R˜Ñ"Ô"Ð"õ 	�1˜¨Ø"$°Bð	8ñ 	8ô 	8ð 	8ð Ð/Ð/Ð/ð ×ÒÑ Ô  Ô#Ð#à×#Ò#Ñ%Ô% aÔ(ð 	õ
 	�Y×+Ò+Ñ-Ô-¨rÑ2Ô2Ð2Ý�Y×'Ò'Ñ)Ô)¨2Ñ.Ô.Ð.Ý�1˜¨Ø!#ð	%ñ 	%ô 	%ð 	%ð Ð/Ð/Ð/ð ×ÒÑ Ô  Ô#Ð#à×#Ò#Ñ%Ô% aÔ(ð 	õ
 	�Y×+Ò+Ñ-Ô-¨rÑ2Ô2Ð2Ý�1˜¨Ø"$ð	&ñ 	&ô 	&ð 	&ð Ð/Ð/Ð/ð ×ÒÑ Ô  Ô#Ð#à×#Ò#Ñ%Ô% aÔ(ð 	õ
 	�Y×'Ò'Ñ)Ô)¨2Ñ.Ô.Ð.ÝŒ	‰Œˆõ ˜ {Ð3Ñ3Ô3ˆÝŒ	‰ŒˆÝ”z " X¤,Ñ/Ô/ˆˆ8‰Ý�R˜Ñ"Ô"Ð"Ð"Ð"r6   c           
      ó"  — |                      t          t          j        d¦  «        ¦  «        }t	          |ddd¬¦  «        }t          j        ¦   «          t          j         |d         ¦  «        |d<   t          |dgg d¢gg d	¢gd
dgddgddgdœ¦  «         t	          |ddd¬¦  «        }t          j        ¦   «          t          j         |d         ¦  «        |d<   t          |g d¢g d¢g d¢g d¢g d¢gg d	¢g d¢g d¢g d¢gg d¢g d¢g d¢dœ¦  «         d S )Nr   rn   ÚlastpT)Úshow_contractedrE  r1  )r@   rÝ   rÝ   r@   r5  ú(2)z(4)rÓ   rÖ   rC  Úmtica)r0  r1  r1  r1  r2  )r@   rÛ   rÛ   r@   r3  r4  )r8  r8  r6  r6  )r:  r:  ç      D@r^  )rÄ   rÄ   ç     @@@r_  )r=  r>  r?  r@  r\  )rn   rA   r.   r   r×   )r0  r0  r1  r1  r1  )	rB   r	   r/   r]   r   r"  r&  rq   r   rô  s       r7   Útest_dendrogram_truncate_modez,TestDendrogram.test_dendrogram_truncate_modeý  s…  € ð �JŠJ•wÕ2Ô9¸8ÑDÔDÑEÔEˆå�q˜!˜W°dÐ;Ñ;Ô;ˆÝŒ	‰ŒˆÝ”j  8¤Ñ-Ô-ˆˆ(‰Ý�Q¨ vØ$<Ð$<Ð$<Ð#=Ø$:Ð$:Ð$:Ð#;Ø!&¨ Ø$% q 6Ø/3°T¨lðð ñ 	ô 	ð 	õ �q˜!˜W°dÐ;Ñ;Ô;ˆÝŒ	‰ŒˆÝ”j  8¤Ñ-Ô-ˆˆ(‰Ý�QÐ'?Ð'?Ð'?Ø$<Ð$<Ð$<Ø$<Ð$<Ð$<Ø$>Ð$>Ð$>Ø$@Ð$@Ð$@ð$Bð %;Ð$:Ð$:Ø$<Ð$<Ð$<Ø$<Ð$<Ð$<Ø$<Ð$<Ð$<ð$>ð !<Ð ;Ð ;Ø#2 ? ?Ø.LÐ.LÐ.Lðð ñ 	ô 	ð 	ð 	ð 	r6   c                 ó   — t          ¦   «         S r¢   r,   r  s    r7   Údendrogram_lockzTestDendrogram.dendrogram_lock$  s   € å‰vŒvˆr6   c                 óR  — |                      t          t          j        d¦  «        ¦  «        }|5  t	          g d¢¦  «         t          |ddd¬¦  «        }t	          g d¢¦  «         |d         }t          |g d	¢¦  «         t	          d ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )
Nr   )r¶   ÚmrI   ÚkTÚgéú   )r  Úabove_threshold_colorÚcolor_threshold)rf  Úrr¶   rd  rI   re  rD  )r¶   rd  rf  rf  rf  )rB   r	   r/   r]   r   r   r   )rG   rH   rb  r_   r�  rD  s         r7   Útest_dendrogram_colorsz%TestDendrogram.test_dendrogram_colors(  s  € à�JŠJ•wÕ2Ô9¸8ÑDÔDÑEÔEˆàð 	)ð 	)å"Ð#7Ð#7Ð#7Ñ8Ô8Ð8Ý˜1 dØ14ÀcðKñ Kô KˆAå"Ð#AÐ#AÐ#AÑBÔBÐBà˜<œˆJÝ˜Ð%>Ð%>Ð%>Ñ?Ô?Ð?õ # 4Ñ(Ô(Ð(ð	)ð 	)ð 	)ñ 	)ô 	)ð 	)ð 	)ð 	)ð 	)ð 	)ð 	)ð 	)øøøð 	)ð 	)ð 	)ð 	)ð 	)ð 	)s   °ABÂB Â#B c           	      óò   — t          j        g d¢g d¢g d¢g d¢g d¢g d¢g¦  «        }|                     t          |d¦  «        ¦  «        }t          |d¬¦  «        }g d¢}|d	         }t	          ||¦  «         d S )
N©r.   r   r   ©r   r   r.   ©r   rn   r   ©r   r.   r   r   Tr  ©r1  r0  r0  r1  ÚC2rr  rH  ©rq   rB   r	   r   r   ©rG   rH   rk   r_   rx   Ú
exp_colorsÚcolorss          r7   Ú%test_dendrogram_leaf_colors_zero_distz4TestDendrogram.test_dendrogram_leaf_colors_zero_dist9  sž   € õ ŒJ˜	˜	˜	Ø!˜	˜	Ø!˜	˜	Ø!˜	˜	Ø!˜	˜	Ø!˜	˜	ð#ñ $ô $ˆð �JŠJ•w˜q (Ñ+Ô+Ñ,Ô,ˆÝ�q $Ð'Ñ'Ô'ˆØ9Ð9Ð9ˆ
ØÐ&Ô'ˆÝ�V˜ZÑ(Ô(Ð(Ð(Ð(r6   c           	      óò   — t          j        g d¢g d¢g d¢g d¢g d¢g d¢g¦  «        }|                     t          |d¦  «        ¦  «        }t          |d¬¦  «        }g d	¢}|d
         }t	          ||¦  «         d S )Nrm  )r   r   gš™™™™™ñ?ro  rn  rp  r   Tr  rq  rH  rs  rt  s          r7   Útest_dendrogram_leaf_colorsz*TestDendrogram.test_dendrogram_leaf_colorsH  sž   € õ ŒJ˜	˜	˜	Ø#˜˜Ø!˜	˜	Ø!˜	˜	Ø!˜	˜	Ø!˜	˜	ð#ñ $ô $ˆð �JŠJ•w˜q (Ñ+Ô+Ñ,Ô,ˆÝ�q $Ð'Ñ'Ô'ˆØ9Ð9Ð9ˆ
ØÐ&Ô'ˆÝ�V˜ZÑ(Ô(Ð(Ð(Ð(r6   N)r2   r3   r4   r  r  r  r’   r�   ÚskipifÚhave_matplotlibr)  rœ   rž   rX  r`  Úfixturerb  rk  rw  ry  r5   r6   r7   r  r  Œ  sï  € € € € € ð1ð 1ð 1ðDð Dð Dð"ð "ð "ð „[×Ò˜OÐ+°OÐÑDÔDðð ñ EÔDðð& Ð�gð!ðñ ô ð Ð�lØ@ðñ ô ð „[×Ò˜OÐ+°OÐÑDÔDØ„[×Ò˜]Ð,NÐ,NÐ,NÑOÔOð<#ð <#ñ PÔOñ EÔDñô ñ	ô ð<#ð| Ð�gð"ðñ ô ð Ð�lØ@ðñ ô ð „[×Ò˜OÐ+°OÐÑDÔDðð ñ EÔDñô ñ	ô ðð> „^ðð ñ „^ðð)ð )ð )ð")ð )ð )ð)ð )ð )ð )ð )r6   r  c                 ó
  — | j         d         dz   }|                     |dz
  f| j        ¬¦  «        }t          d|dz
  ¦  «        D �]=}|                     d¦  «        }| |df         }| |df         }||k    rM||                     ||j        ¬¦  «        |z
           }t          j        |d¦  «                             |¦  «        }||k    rM||                     ||j        ¬¦  «        |z
           }	t          j        |d¦  «                             |	¦  «        }t          j        |d¦  «                             | |df         ¦  «        }t          j        ||¦  «                             | 	                    |¦  «        ¦  «        }�Œ?|S ©Nr   r.   r…   )r�   rn   )
ÚshaperM   r†   r@  rB   r^  ro  rp  rq  Úmax)
r_   rH   rw   ÚBrj  rK  r-  r.  Úb_leftÚb_rights
             r7   rê  rê  X  sS  € à	Œ�Œ
�Q‰€AØ
�Š�!�A‘#�˜qœwˆÑ'Ô'€AÝ�1�a˜!‘e‰_Œ_ð (ñ (ˆØ�HŠH�T‰NŒNˆØ��A�ŒwˆØ�!�Q�$”ˆØ�1Š9ˆ9Ø�r—z’z $¨b¬h�zÑ7Ô7¸!Ñ;Ô<ˆFÝ”�q˜!‘”× Ò  Ñ(Ô(ˆAØ�AŠ:ˆ:Ø˜Ÿ
š
 5°´˜
Ñ9Ô9¸AÑ=Ô>ˆGÝ”�q˜!‘”× Ò  Ñ)Ô)ˆAÝŒF�1�a‰LŒL×Ò˜Q˜q !˜tœWÑ%Ô%ˆÝŒF�1�a‰LŒL×Ò˜RŸVšV A™YœYÑ'Ô'ˆ‰Ø€Hr6   r�   c                 ó,  — | j         d         dz   }|                     | |¦  «        }|                     |dz
  f|¬¦  «        }t          d|dz
  ¦  «        D �]=}|                     d¦  «        }| |df         }	| |df         }
|	|k    rM||                     |	|j        ¬¦  «        |z
           }t          j        |d¦  «                             |¦  «        }|
|k    rM||                     |
|j        ¬¦  «        |z
           }t          j        |d¦  «                             |¦  «        }t          j        |d¦  «                             |||f         ¦  «        }t          j        ||¦  «                             | 	                    |¦  «        ¦  «        }�Œ?|S r~  )
r  Úresult_typerM   r@  rB   r^  ro  rp  rq  r€  )r_   r�  re  rH   rw   r†   r�  rj  rK  r-  r.  r‚  rƒ  s                r7   rû  rû  k  sd  € à	Œ�Œ
�Q‰€AØ�NŠN˜1˜aÑ Ô €EØ
�Š�!�A‘#�˜uˆÑ%Ô%€AÝ�1�a˜!‘e‰_Œ_ð (ñ (ˆØ�HŠH�T‰NŒNˆØ��A�ŒwˆØ�!�Q�$”ˆØ�1Š9ˆ9Ø�r—z’z $¨b¬h�zÑ7Ô7¸!Ñ;Ô<ˆFÝ”�q˜!‘”× Ò  Ñ(Ô(ˆAØ�AŠ:ˆ:Ø˜Ÿ
š
 5°´˜
Ñ9Ô9¸AÑ=Ô>ˆGÝ”�q˜!‘”× Ò  Ñ)Ô)ˆAÝŒF�1�a‰LŒL×Ò˜Q˜q !˜tœWÑ%Ô%ˆÝŒF�1�a‰LŒL×Ò˜RŸVšV A™YœYÑ'Ô'ˆ‰Ø€Hr6   c                 ó~  — t           j                             d¦  «         d}t           j                             |d¦  «        }|                      t          |¦  «        ¦  «        }t          |¦  «        }t          ||                     ¦   «         k    ¦  «         t          | 	                    ¦   «         |                     ¦   «         k    ¦  «         t          | 	                    ¦   «         | 	                    ¦   «         k    ¦  «         t          | 	                    ¦   «         |                     ¦   «         k    ¦  «         d S )Né   é2   rÔ   )
rq   rr   ÚseedÚrandnrB   r   r   r   r®  r¯  )rH   rF  rk   r_   Útrees        r7   Útest_node_comparerŒ    sä   € å„I‡N‚N�2ÑÔÐØ€DÝ
Œ	�Š˜˜aÑ Ô €AØ
�
Š
•4˜‘7”7ÑÔ€AÝ�1‰:Œ:€DÝˆD�4—=’=‘?”?Ò"Ñ#Ô#Ð#ÝˆD�NŠNÑÔ˜tŸ}š}™œÒ.Ñ/Ô/Ð/ÝˆD�NŠNÑÔ §¢Ñ 0Ô 0Ò0Ñ1Ô1Ð1ÝˆD�NŠNÑÔ §¢¡¤Ò/Ñ0Ô0Ð0Ð0Ð0r6   c           	      ó8  — t           j                             d¦  «         d}t           j                             |d¦  «        }|                      t          |¦  «        ¦  «        }t          |¦  «        }t          |d d …df         |                      |¦  «        dd¬¦  «         t          |d d …df         |  	                    |¦  «        dd¬¦  «         t          t          j        |¦  «                             d¦  «        t          j        |d	z
  dd¦  «        ¦  «         t          |d d …d
gf         t          |d¬¦  «        d¬¦  «         t          |d d …d
dgf         t          |ddg¬¦  «        d¬¦  «         t          |d d …dd
gf         t          |ddg¬¦  «        d¬¦  «         t          |¦  «        }|                      d„ |D ¦   «         ¦  «        }t          |d d …t          j        |dg¦  «        f         t          |d¬¦  «        d¬¦  «         t          |d d …t          j        |ddg¦  «        f         t          |ddg¬¦  «        d¬¦  «         t          |d d …t          j        |ddg¦  «        f         t          |ddg¬¦  «        d¬¦  «         d S )Nr‡  rˆ  rÔ   r   ro   F)rp   Úcheck_dtyperƒ   r.   éûÿÿÿrA   )Ú
n_clustersr•   iöÿÿÿrØ   c                 ó   — g | ]	}|j         ‘Œ
S r5   )Údist)rå   r«  s     r7   rç   z!test_cut_tree.<locals>.<listcomp>ž  s   € Ð6Ð6Ð6¨˜$œ)Ð6Ð6Ð6r6   )Úheight)rq   rr   r‰  rŠ  rB   r   r    r*   ÚarangerM   r   r€  r"   Úsearchsorted)rH   rF  rk   r_   ÚcutreeÚnodesÚheightss          r7   Útest_cut_treer™  Œ  s   € å„I‡N‚N�2ÑÔÐØ€DÝ
Œ	�Š˜˜aÑ Ô €AØ
�
Š
•4˜‘7”7ÑÔ€AÝ�a‰[Œ[€Fõ �F˜1˜1˜1˜a˜4”L "§)¢)¨D¡/¤/¸È5ÐQÑQÔQÐQÝ�F˜1˜1˜1˜b˜5”M 2§8¢8¨D¡>¤>¸È5ÐQÑQÔQÐQÝ•”˜FÑ#Ô#×'Ò'¨Ñ*Ô*­B¬I°d¸Q±hÀÀBÑ,GÔ,GÑHÔHÐHå�F˜1˜1˜1˜r˜d˜7”O¥X¨a¸AÐ%>Ñ%>Ô%>ÀUÐKÑKÔKÐKÝ�F˜1˜1˜1˜r 3˜i˜<Ô(­(°1À!ÀRÀÐ*IÑ*IÔ*IÐPUÐVÑVÔVÐVÝ�F˜1˜1˜1˜s B˜i˜<Ô(­(°1À"ÀaÀÐ*IÑ*IÔ*IÐPUÐVÑVÔVÐVå Ñ"Ô"€EØ�jŠjÐ6Ð6°Ð6Ñ6Ô6Ñ7Ô7€Gå�F˜1˜1˜1�bœo¨g¸°sÑ;Ô;Ð;Ô<Ý˜Q qÐ)Ñ)Ô)°ð7ñ 7ô 7ð 7å�F˜1˜1˜1�bœo¨g¸¸2°wÑ?Ô?Ð?Ô@Ý˜Q¨¨2 wÐ/Ñ/Ô/°eð=ñ =ô =ð =å�F˜1˜1˜1�bœo¨g¸¸A°wÑ?Ô?Ð?Ô@Ý˜Q¨¨A wÐ/Ñ/Ô/°eð=ñ =ô =ð =ð =ð =r6   c                 ó(  — t          |                      t          t          j        ¦  «        ¦  «        |                      t          j        ¦  «        ¦  «        }t          j        }t          ||                      |¦  «        d¬¦  «         t          |                      t          t          j        d¦  «        ¦  «        |                      t          j        ¦  «        ¦  «        }t          j        }t          ||                      |¦  «        d¬¦  «         d S )NrY   rZ   r   rh   )	r!   rB   r	   r/   r]   r~   r*   rk   Úlinkage_X_ward_olo)rH   r_   r`   s      r7   r   r   ¨  sÜ   € õ 	˜bŸjšj­Õ1DÔ1KÑ)LÔ)LÑMÔMØ ŸjšjÕ)<Ô)CÑDÔDñ	Fô 	F€Aå#Ô=€IÝ�A�r—z’z )Ñ,Ô,°5Ð9Ñ9Ô9Ð9õ 	˜bŸjšj­Õ1DÔ1FÈÑ)OÔ)OÑPÔPØ ŸjšjÕ)<Ô)>Ñ?Ô?ñ	Aô 	A€Aå#Ô6€IÝ�A�r—z’z )Ñ,Ô,°5Ð9Ñ9Ô9Ð9Ð9Ð9r6   z"`Heap` only supports NumPy backend)Únp_onlyr>   c                 óÊ  — |                       g d¢¦  «        }t          |¦  «        }|                     ¦   «         }t          |d         d¦  «         t          |d         d¦  «         |                     ¦   «          |                     ¦   «         }t          |d         d¦  «         t          |d         d¦  «         |                     dd¦  «         |                     ¦   «         }t          |d         d	¦  «         t          |d         d
¦  «         |                     ¦   «          |                     ¦   «          |                     dd¦  «         |                     ¦   «         }t          |d         d¦  «         t          |d         d¦  «         |                     ¦   «          |                     ¦   «         }t          |d         d¦  «         t          |d         d¦  «         d S )N)rn   rƒ   r   ç      ø¿r�   Úkeyr�   r%  rž  r.   rƒ   g      @rn   r   rØ   rÔ   )rB   r&   Úget_minr   Ú
remove_minÚchange_value)rH   rš   ÚheapÚpairs       r7   Ú	test_Heapr¥  ·  s   € à�ZŠZÐ+Ð+Ð+Ñ,Ô,€FÝ�‰<Œ<€Dà�<Š<‰>Œ>€DÝ��e”˜aÑ Ô Ð Ý��g” Ñ%Ô%Ð%à‡O‚OÑÔÐØ�<Š<‰>Œ>€DÝ��e”˜aÑ Ô Ð Ý��g” Ñ#Ô#Ð#à×Ò�a˜ÑÔÐØ�<Š<‰>Œ>€DÝ��e”˜aÑ Ô Ð Ý��g” Ñ"Ô"Ð"à‡O‚OÑÔÐØ‡O‚OÑÔÐà×Ò�a˜ÑÔÐØ�<Š<‰>Œ>€DÝ��e”˜aÑ Ô Ð Ý��g” Ñ"Ô"Ð"à‡O‚OÑÔÐØ�<Š<‰>Œ>€DÝ��e”˜aÑ Ô Ð Ý��g” Ñ#Ô#Ð#Ð#Ð#r6   )\Únumpyrq   Únumpy.testingr   r   r   r   r’   r   rD   Úscipy.cluster.hierarchyr   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%   Úscipy.cluster._hierarchyr&   Úscipy.spatial.distancer'   Úscipy._lib._array_apir(   r)   r*   r+   Úscipy._lib.array_api_extraÚ_libÚarray_api_extraro  Ú	threadingr-   Ú r/   r1   Ú
matplotlibÚuseÚmatplotlib.pyplotÚpyplotr"  r{  Ú	Exceptionr�   rœ   r:   r    rª   rË   rà   rý   r  r  rM  r~  r•  r£  r²  rÄ  rå  rò  r  r  rê  rû  rŒ  r™  r   r¥  r5   r6   r7   ú<module>r¶     s¡  ððD Ð Ð Ð Ø TÐ TÐ TÐ TÐ TÐ TÐ TÐ TÐ TÐ TÐ TÐ TØ €€€Ø *Ð *Ð *Ð *Ð *Ð *ðKð Kð Kð Kð Kð Kð Kð Kð Kð Kð Kð Kð Kð Kð Kð Kð Kð Kð Kð Kð Kð Kð Kð Kð Kð Kð Kð Kð Kð Kð Kð Kð Kð Kð Kð Kð Kð Kð Kð Kð Kð Kð Kð Kð Kð Kð Kð Kð Kð Kð Kð Kð Kð Kð Kð Kð Kð Kð Kð Kð Kð Kð Kð Kð *Ð )Ð )Ð )Ð )Ð )Ø (Ð (Ð (Ð (Ð (Ð (ðEð Eð Eð Eð Eð Eð Eð Eð Eð Eð Eð Eà (Ð (Ð (Ð (Ð (Ð (Ð (Ð (Ð (à Ð Ð Ð Ð Ð à !Ð !Ð !Ð !Ð !Ð !ð(ð (ð (ð (ð (ñ (ô (ð (ðØÐÐÐà€J„N�5ÑÔÐà#Ð#Ð#Ð#Ð#Ð#Ø€O€OøØð ð ð Ø€O€O€Oðøøøð ”;Ô/Ð ð Ð�7ÑÔðc/ð c/ð c/ð c/ð c/ñ c/ô c/ñ Ôðc/ðL Ð�<Ñ Ô ð	Tð 	Tð 	Tð 	Tð 	Tñ 	Tô 	Tñ !Ô ð	Tð Ð�8ÑÔð&&ð &&ð &&ð &&ð &&ñ &&ô &&ñ Ôð&&ðR ÐÐ$ oÑ6Ô6ð$ð $ð $ð $ð $ñ $ô $ñ 7Ô6ð$ð@ Ð�<Ñ Ô ð+ð +ð +ð +ð +ñ +ô +ñ !Ô ð+ð  Ð�8ÑÔð*2ð *2ð *2ð *2ð *2ñ *2ô *2ñ Ôð*2ðZ Ð�7ÑÔð:ð :ð :ð :ð :ñ :ô :ñ Ôð:ð Ð�=Ñ!Ô!ðR7ð R7ð R7ð R7ð R7ñ R7ô R7ñ "Ô!ðR7ðj ÐÐ#Ñ$Ô$ðQ6ð Q6ð Q6ð Q6ð Q6ñ Q6ô Q6ñ %Ô$ðQ6ðh Ð�;ÑÔðI1ð I1ð I1ð I1ð I1ñ I1ô I1ñ  ÔðI1ðX +ð  +ð  +ð  +ð  +ñ  +ô  +ð  +ðF Ð�; Ñ(Ô(ð$ð $ð $ð $ð $ñ $ô $ñ )Ô(ð$ðD Ð�:ÑÔð0)ð 0)ð 0)ð 0)ð 0)ñ 0)ô 0)ñ Ôð0)ðf Ð�<Ñ Ô ðFð Fð Fð Fð Fñ Fô Fñ !Ô ðFðR Ð�8ÑÔð4ð 4ð 4ð 4ð 4ñ 4ô 4ñ Ôð4ð2 Ð�;ÑÔð"4ð "4ð "4ð "4ð "4ñ "4ô "4ñ  Ôð"4ðJ Ð�8ÑÔð/4ð /4ð /4ð /4ð /4ñ /4ô /4ñ Ôð/4ðd Ð�:ÑÔðH)ð H)ð H)ð H)ð H)ñ H)ô H)ñ ÔðH)ðVð ð ð& /0°Bð ð ð ð ð( Ð�7ÑÔð	1ð 	1ñ Ôð	1ð Ð�8ÑÔð=ð =ñ Ôð=ð6 ÐÐ(Ñ)Ô)ð:ð :ñ *Ô)ð:ð Ð˜$Ð'KÐLÑLÔLð$ð $ñ MÔLð$ð $ð $s   ÂB3 Â3B=Â<B=