Ë
    u™ãj M  ã                   ó\  — d dl Z d dlZd dlZd dlZd dlZd dlZd dlmZ d dl	m
c mZ d dlZd dlmZ d dlmZ d dlmZmZ  ej.                   ej0                  g d¢dz  d¬«       ej0                  g d	¢dz  d
¬«       ej0                  g d¢dz  d¬«       ej0                  g d¢dz  «       ej0                  g d¢dz  «       ej0                   ej2                  dd¬«      «       ej0                   ej2                  ddd¬«      «       ej0                   ej4                  dd¬«      «      g¬«      d„ «       Z ej.                  ddg¬«      d„ «       Zd„ Zej<                  j?                  ed¬«      ej<                  j@                  d„ «       «       Z!d„ Z"ej<                  jG                  dd e$g«      d!„ «       Z%ej<                  jG                  d"d#d$ ejL                  d«      g«      d%„ «       Z'd&„ Z(d'„ Z)ej<                  jG                  d"d#d$ ejL                  d«      g«      d(„ «       Z*d)„ Z+d*„ Z,ej<                  jG                  d+ ej0                  g d¢«       ej0                  g d,¢«       ej0                  d-d.ejZ                  g«       ej0                  g d,¢g d/¢¬0«       ej0                  g d¢«       ej0                  d1ejZ                  d2g«       ej0                  g d3¢«       ej0                  g d¢«       ej0                  e$¬«       ej\                  g d¢g d¢d4œ«       ej\                  «        ej\                   ej^                  d5ejZ                  «      «       ej\                  g d6¢g d7¢ ej`                  g d8¢e$¬«       ej2                  dd#¬«      d9œ«       ej\                   e1d#«       ej2                  d:d#¬«      ¬0«       ej0                   e1d#«       ej2                  d:d#¬«      ¬0«       ej0                   ejd                  d:d;d<¬=«      «       ej0                   ej2                  ddd¬«      «      g«      d>„ «       Z3ej<                  jG                  d+ ej0                  g d¢«       ej0                  g d,¢«       ej0                  d-d.ejZ                  g«       ej0                  g d,¢g d/¢¬0«       ej0                  g d¢«       ej0                  d1ejZ                  d2g«       ej0                  g d3¢«       ej0                  g d¢«       ej\                  g d¢g d¢d4œ«       ej\                   ej^                  d5ejZ                  «      «       ej\                  g d6¢g d7¢ ej`                  g d8¢e$¬«       ej2                  dd#¬«      d9œ«       ej\                   e1d#«       ej2                  d:d#¬«      ¬0«       ej0                   e1d#«       ej2                  d:d#¬«      ¬0«       ej0                   ejd                  d:d;d<¬=«      «       ej0                   ej2                  ddd¬«      «      g«      d?„ «       Z4ej<                  jG                  d+ ej`                  g d¢«       ej`                  g d¢«       ej4                  d@dA¬«       ejd                  d:d<dA¬B«      ejj                  jm                   e1d#«      g dC¢ ej2                  ddA¬«      g«      ejj                  jm                   ejn                   e8dD«      «       e1d«      g«      g«      dE„ «       Z9dF„ Z:dG„ Z;ej<                  jG                  dHej`                  ej0                  g«      ej<                  jG                  ddIdJg«      dK„ «       «       Z<dL„ Z=ej<                  jG                  dMg dN¢g dO¢ ej2                  d dP¬«      g«      ej<                  jG                  dQddg«      dR„ «       «       Z>dS„ Z?dT„ Z@dU„ ZAdV„ ZBdW„ ZCdX„ ZDdY„ ZEdZ„ ZFej<                  jG                  d[ e1d\«      «      ej<                  jG                  d]d d^g«      d_„ «       «       ZGd`„ ZHej<                  jG                  da eIdb«       eIdc«      gdddeggdfdggdhdiggg«      dj„ «       ZJdk„ ZKdl„ ZL ejš                  dm«       G dn„ do«      «       ZNej<                  jG                  dg dp¢«      dq„ «       ZOej<                  jG                  dg dp¢«      dr„ «       ZPej<                  jG                  ddsdtg«      du„ «       ZQej<                  jG                  ddsdtg«      dv„ «       ZRy)wé    N)ÚWASM)Úhash_tuples)Ú
hash_arrayÚhash_pandas_object©é   é   é   r
   Úint32©Údtype)Ng      @g      @Úfloat32)ÚaÚbÚcÚcategory)ÚdÚeÚf)TFTÚ20130101é	   )Úperiodsz
US/Eastern)r   ÚtzÚ2000)Úparamsc                 ó   — | j                   S ©N©Úparam©Úrequests    úi/var/www/html/python-recuperauto-other/env/lib/python3.12/site-packages/pandas/tests/util/test_hashing.pyÚseriesr#      s   € ð �=‰=Ðó    TFc                 ó   — | j                   S r   r   r    s    r"   Úindexr&   %   s   € à�=‰=Ðr$   c                  óÐ   — t        t        j                  g d¢«      «      } t        j                  t	        j
                  g d¢d¬«      g d¢¬«      }t        j                  | |«       y )N©ÚfooÚbarÚbaz)l   Ø7â* º l   6jz„d– l   nŒ*5Úuint64r   ©r&   )r   ÚpdÚIndexÚSeriesÚnpÚarrayÚtmÚassert_series_equal©ÚresultÚexpecteds     r"   Útest_consistencyr8   *   sO   € ô  ¤§¡Ò)>Ó ?Ó@€FÜ�y‰yÜ
�‰ÚJØô	
ò $ô€Hô ×Ñ˜6 8Õ,r$   z Can't start subprocesses in WASM)Úreasonc                  ó0  — t        j                  d«      } t        j                  t        j
                  d| gi t        j                  ¥ddi¥d¬«      }t        j                  t        j
                  d| gi t        j                  ¥ddi¥d¬«      }||k(  sJ ‚y )Na          import pandas as pd
        from pandas.util import hash_array
        for closed in ["left", "right", "both", "neither"]:
            ia = pd.arrays.IntervalArray.from_breaks(range(6), closed=closed)
            print(",".join(str(val) for val in hash_array(ia)))
        z-cÚPYTHONHASHSEEDÚ0zutf-8)ÚenvÚencodingÚ1)ÚtextwrapÚdedentÚ
subprocessÚcheck_outputÚsysÚ
executableÚosÚenviron)ÚcodeÚout0Úout1s      r"   Ú0test_interval_array_hash_stable_across_processesrK   8   s“   € ô �?‰?ð	ó€Dô ×"Ñ"Ü	�‰˜˜tÐ$Ø1Œr�z‰zÐ1Ð+¨SÑ1Øô€Dô
 ×"Ñ"Ü	�‰˜˜tÐ$Ø1Œr�z‰zÐ1Ð+¨SÑ1Øô€Dð
 �4Š<Ð‰<r$   c                 ól   — | j                   }t        j                  t        |«      t        |«      «       y r   )Ú_valuesr3   Úassert_numpy_array_equalr   )r#   Úarrs     r"   Útest_hash_arrayrP   T   s#   € Ø
�.‰.€CÜ×Ñ¤
¨3£´¸C³ÕAr$   r   ÚUc                 ó´   — t        t        j                  g d¢«      «      }t        t        j                  g d¢| ¬«      «      }t        j                  ||«       y )N)Ú3Ú4ÚAll)r
   é   rU   r   )r   r1   r2   r3   rN   )r   Úresult1Úresult2s      r"   Útest_hash_array_mixedrY   Y   s;   € äœŸ™Ò"3Ó4Ó5€GÜœŸ™¢-°uÔ=Ó>€Gä×Ñ ¨Õ1r$   Úvalé   r)   c                 ó~   — d}t        j                  t        |¬«      5  t        | «       d d d «       y # 1 sw Y   y xY w)Nzmust pass an ndarray-like©Úmatch)ÚpytestÚraisesÚ	TypeErrorr   ©rZ   Úmsgs     r"   Útest_hash_array_errorsrd   a   s1   € à
%€CÜ	�‰”y¨Ô	,ñ Ü�3Œ÷÷ ñ úó   ž3³<c                  ó®   — t        j                  dgd¬«      } d}t        j                  t        |¬«      5  t        | «       d d d «       y # 1 sw Y   y xY w)Nz2018-10-28 01:20:00zEurope/Berlin)r   zUse hash_pandas_object insteadr]   )r.   ÚDatetimeIndexr_   r`   ra   r   )Úobjrc   s     r"   Útest_hash_array_index_exceptionri   h   sG   € ä
×
Ñ
Ð1Ð2°Ô
G€Cà
*€CÜ	�‰”y¨Ô	,ñ Ü�3Œ÷÷ ñ ús   ¶AÁAc                  óT  — g d¢} t        | «      }t        t        j                  j	                  | «      «      j
                  }t        j                  ||«       dj                  ddg«      }t        j                  t        |¬«      5  t        | d   «       d d d «       y # 1 sw Y   y xY w)N))r   Úone)r   Útwo)r	   rk   ú|zobject is not iterablez&zip argument #1 must support iterationr]   r   )r   r   r.   Ú
MultiIndexÚfrom_tuplesÚvaluesr3   rN   Újoinr_   r`   ra   )Útuplesr6   r7   rc   s       r"   Útest_hash_tuplesrs   q   s†   € Ú1€FÜ˜Ó €Fä!¤"§-¡-×";Ñ";¸FÓ"CÓD×KÑK€HÜ×Ñ ¨Ô1ð �(‰(Ð,Ð.VÐWÓ
X€CÜ	�‰”y¨Ô	,ñ Ü�F˜1‘IÔ÷÷ ñ ús   ÂBÂB'c                 ó~   — d}t        j                  t        |¬«      5  t        | «       d d d «       y # 1 sw Y   y xY w)Nz'must be convertible to a list-of-tuplesr]   )r_   r`   ra   r   rb   s     r"   Útest_hash_tuples_errru   ~   s2   € à
3€CÜ	�‰”y¨Ô	,ñ Ü�CÔ÷÷ ñ úre   c                  óœ   — t         j                  j                  g d¢«      } | j                  du sJ ‚t	        | «      }|j                  du sJ ‚y )N))év   iØ  )éì   rw   )é3   éÌ   )éf   ry   T)r.   rn   ro   Ú	is_uniquer   )Úmir6   s     r"   Útest_multiindex_uniquer~   …   sG   € Ü	�‰×	"Ñ	"Ò#QÓ	R€BØ�<‰<˜4ÑÐÐä Ó#€FØ×Ñ˜tÑ#Ð#Ñ#r$   c                  ó0  — t        j                  g d¢g d¢gg d¢g d¢gddg¬«      } | j                  «       }| j                  |«      sJ ‚t        j                  | j
                  «      j                  t        j                  |j
                  «      «      sJ ‚y )N)r   r   r   r   )r   r   r   r	   )r	   r   r   r   Úcol1Úcol2)ÚlevelsÚcodesÚnames)r.   rn   Ú_sort_levels_monotonicÚequalsr/   rp   )r}   Úreconss     r"   Útest_multiindex_objectsrˆ   �   sz   € Ü	�‰Ú¢Ð+Úš\Ð*Ø�vÐô
€Bð
 ×&Ñ&Ó(€Fð �9‰9�VÔÐÐÜ�8‰8�B—I‘IÓ×%Ñ%¤b§h¡h¨v¯}©}Ó&=Ô>Ð>Ñ>r$   rh   )ç      ð?ç      ø?gš™™™™™	@r‰   rŠ   )rŠ   gš™™™™™ñ?gffffff
@r-   r   r   )r   Nr   ©ÚxÚy)é
   rV   )ç        r‰   g       @g      @g      @)r�   r‰   r�   r‰   r�   )Úfoo1Úfoo2Úfoo3Úfoo4Úfoo5)ÚAÚBÚCÚDz
2020-01-01rŽ   r˜   )r   Úfreqc                 ód   — t        | |¬«      }t        | |¬«      }t        j                  ||«       y ©Nr-   ©r   r3   r4   ©rh   r&   r   r   s       r"   Útest_hash_pandas_objectrž   š   s,   € ô< 	˜3 eÔ,€AÜ˜3 eÔ,€AÜ×Ñ˜1˜aÕ r$   c                 ób   — t        | d¬«      }t        | d¬«      }||k(  j                  «       rJ ‚y ©NTr-   F©r   Úall©rh   r   r   s      r"   Ú,test_hash_pandas_object_diff_index_non_emptyr¤   ½   s1   € ô8 	˜3 dÔ+€AÜ˜3 eÔ,€AØ�Q‘�|‰|Œ~ÐÐˆ~r$   z1 dayr	   )r™   r   r(   Úaabcc                 ód   — t        | |¬«      }t        | |¬«      }t        j                  ||«       y r›   rœ   r�   s       r"   Útest_hash_pandas_indexr§   Þ   s,   € ô 	˜3 eÔ,€AÜ˜3 eÔ,€AÜ×Ñ˜1˜aÕ r$   c                 ód   — t        | |¬«      }t        | |¬«      }t        j                  ||«       y r›   rœ   )r#   r&   r   r   s       r"   Útest_hash_pandas_seriesr©   ñ   s*   € Ü˜6¨Ô/€AÜ˜6¨Ô/€AÜ×Ñ˜1˜aÕ r$   c                 ób   — t        | d¬«      }t        | d¬«      }||k(  j                  «       rJ ‚y r    r¡   )r#   r   r   s      r"   Ú"test_hash_pandas_series_diff_indexr«   ÷   s/   € Ü˜6¨Ô.€AÜ˜6¨Ô/€AØ�Q‘�|‰|Œ~ÐÐˆ~r$   ÚklassÚfloat64Úobjectc                 óx   —  | g |¬«      }t        ||¬«      }t        ||¬«      }t        j                  ||«       y )Nr   r-   rœ   )r¬   r   r&   rh   r   r   s         r"   Útest_hash_pandas_empty_objectr°   ý   s8   € ñ
 �˜%Ô
 €CÜ˜3 eÔ,€AÜ˜3 eÔ,€AÜ×Ñ˜1˜aÕ r$   c                 óZ  — t        j                  t        j                  g d¢«      ¬«      }t        || ¬«      }|j                  j                  |j                  «      sJ ‚|j                  t        j                  k(  sJ ‚| s|j                  «       dk(  sJ ‚y |j                  «       dk(  sJ ‚y )Nr   r-   r   r
   )
r.   Ú	DataFramer/   r   r&   r†   r   r1   r,   Únunique)r&   Údfr6   s      r"   Ú"test_hash_pandas_object_no_columnsrµ     s„   € ä	�‰œBŸH™H¢YÓ/Ô	0€BÜ ¨%Ô0€FØ�<‰<×Ñ˜rŸx™xÔ(Ð(Ð(Ø�<‰<œ2Ÿ9™9Ò$Ð$Ð$Ùà�~‰~Ó 1Ò$Ð$Ñ$à�~‰~Ó 1Ò$Ð$Ñ$r$   Ús1)r   r   r   r   )iè  iÐ  i¸  i   rV   Ú
categorizec                 ó‚  — t        j                  | «      } | j                  d«      j                  j	                  | «      }|j                  j	                  t        t        | «      «      «      }t        | |¬«      }t        ||¬«      }t        ||¬«      }t        j                  ||«       t        j                  ||«       y )Nr   ©r·   )
r.   r0   ÚastypeÚcatÚset_categoriesÚlistÚreversedr   r3   r4   )r¶   r·   Ús2Ús3Úh1Úh2Úh3s          r"   Útest_categorical_consistencyrÄ     s“   € ô 
�‰�2‹€BØ	�‰�:Ó	×	"Ñ	"×	1Ñ	1°"Ó	5€BØ	�‰×	Ñ	œt¤H¨R£LÓ1Ó	2€Bô 
˜B¨:Ô	6€BÜ	˜B¨:Ô	6€BÜ	˜B¨:Ô	6€Bä×Ñ˜2˜rÔ"Ü×Ñ˜2˜rÕ"r$   c                 ód  — t        j                  ddd| ¬«      }t         j                  j                  g d¢|¬«      }t	        |d¬«      }t        j
                  d«      j                  | «      }t         j                  j                  d	d
g|g¬«      }t	        |d¬«      }|d
   |v sJ ‚|d   |v sJ ‚y )Nz
2012-01-01r[   r–   )r   ÚnameÚunit)éÿÿÿÿr   r   r	   r
   rV   )Ú
categoriesFr¹   rÈ   r   r   )r.   Ú
date_rangeÚCategoricalÚ
from_codesr   Ú	TimestampÚas_unit)rÇ   Údtir»   r7   ÚtsÚcat2r6   s          r"   Ú%test_categorical_with_nan_consistencyrÒ   0  s¤   € Ü
�-‰-˜¨a°cÀÔ
E€CÜ
�.‰.×
#Ñ
#Ò$7ÀCÐ
#Ó
H€CÜ˜#¨%Ô0€Hä	�‰�lÓ	#×	+Ñ	+¨DÓ	1€BÜ�>‰>×$Ñ$ b¨! W¸"¸Ð$Ó>€DÜ˜¨Ô/€Fà�!‰9˜Ñ Ð Ð Ø�!‰9˜Ñ Ð Ñ r$   c                  ó¤   — d} t        j                  t        | ¬«      5  t        t	        j
                  d«      «       d d d «       y # 1 sw Y   y xY w)NzUnexpected type for hashingr]   r   )r_   r`   ra   r   r.   rÍ   ©rc   s    r"   Útest_pandas_errorsrÕ   =  s;   € Ø
'€CÜ	�‰”y¨Ô	,ñ 5Üœ2Ÿ<™<¨
Ó3Ô4÷5÷ 5ñ 5ús   žAÁAc                  óž   — t        j                  t        d«      «      } t        | d¬«      }t        | d¬«      }||k7  j	                  «       sJ ‚y )NÚabcÚ9876543210123456©Úhash_keyÚ9876543210123465)r.   r0   r½   r   r¢   r£   s      r"   Útest_hash_keysrÜ   C  sB   € ô
 �)‰)”D˜“KÓ
 €Cä˜3Ð);Ô<€AÜ˜3Ð);Ô<€Aà�‰F�<‰<Œ>Ð‰>r$   c                  óÊ   — t        j                  t        j                  d«      t	        d«      dœ«      } t        | d¬«      }t        | d¬«      }||k7  j                  «       sJ ‚y )Nr
   r×   r‹   rØ   rÙ   rÛ   )r.   r²   r1   Úaranger½   r   r¢   r£   s      r"   Útest_df_hash_keysrß   P  sO   € ô �,‰,œRŸY™Y q›\´°U³Ñ<Ó
=€Cä˜3Ð);Ô<€AÜ˜3Ð);Ô<€Aà�‰F�<‰<Œ>Ð‰>r$   c                  óî   — t        j                  t        j                  d«      t	        d«      dœ«      } t        | d¬«      }t        | d¬«      }|d   |d   k(  sJ ‚|d   |d   k7  sJ ‚|d	   |d	   k(  sJ ‚y )
Nr
   za+cr‹   Úutf8)r>   Úutf7r   r   r	   )r.   r²   r1   rÞ   r½   r   r£   s      r"   Útest_df_encodingrã   [  sy   € ô �,‰,œRŸY™Y q›\´°U³Ñ<Ó
=€Cä˜3¨Ô0€AÜ˜3¨Ô0€Að ˆQ‰4�1�Q‘4Š<Ðˆ<ØˆQ‰4�1�Q‘4Š<Ðˆ<ØˆQ‰4�1�Q‘4Š<Ð‰<r$   c                  óº   — d} t        j                  t        | ¬«      5  t        t	        j
                  t        d«      «      d¬«       d d d «       y # 1 sw Y   y xY w)Nz&key should be a 16-byte string encodedr]   r×   r)   rÙ   )r_   r`   Ú
ValueErrorr   r.   r0   r½   rÔ   s    r"   Útest_invalid_keyræ   j  sE   € à
2€Cä	�‰”z¨Ô	-ñ CÜœ2Ÿ9™9¤T¨%£[Ó1¸EÕB÷C÷ Cñ Cús   ž*AÁAc                 óÒ   — t        j                  t        d«      «      j                  j	                  d«      }t        || ¬«      }t        || ¬«      }t        j                  ||«       y )Nr×   rá   r-   )r.   r0   r½   ÚstrÚencoder   r3   r4   ©r&   rh   r   r   s       r"   Útest_already_encodedrë   r  sM   € ä
�)‰)”D˜“KÓ
 ×
$Ñ
$×
+Ñ
+¨FÓ
3€CÜ˜3 eÔ,€AÜ˜3 eÔ,€AÜ×Ñ˜1˜aÕ r$   c                 ó    — t        j                  t        d«      «      }t        || ¬«      }t        || ¬«      }t	        j
                  ||«       y )Nr×   r-   )r.   r0   r½   r   r3   r4   rê   s       r"   Útest_alternate_encodingrí   z  s<   € Ü
�)‰)”D˜“KÓ
 €CÜ˜3 eÔ,€AÜ˜3 eÔ,€AÜ×Ñ˜1˜aÕ r$   Úl_expé   Úl_addr   c                 óÌ   — d| dz   z  |z   }t        j                  t        |«      D �cg c]  }t        |«      ‘Œ c}t        ¬«      }t        |d«      }|d   |d   k(  rJ ‚y c c}w )Nr	   rï   r   rá   r   r   )r1   r2   Úrangerè   r®   r   )rî   rð   ÚlengthÚiÚidxr6   s         r"   Útest_same_len_hash_collisionsrö   �  sd   € ð �5˜1‘9Ñ Ñ%€FÜ
�(‰(¤E¨&£MÖ2˜q”C˜•FÒ2¼&Ô
A€Cä˜˜VÓ$€FØ�a‰y˜F 1™IÒ%Ð%Ð%Ð%ùò 3s   ¨A!c                  ó@  — ddg} t        t        j                  | dd t        ¬«      d«      }t        j                  dgt        j
                  ¬«      }t        j                  ||«       t        t        j                  | dd t        ¬«      d«      }t        j                  d	gt        j
                  ¬«      }t        j                  ||«       t        t        j                  | t        ¬«      d«      }t        j                  |t        j                  ||gd¬
«      «       y )Na   Ingrid-9Z9fKIZmkO7i7Cn51Li34pJm44fgX6DYGBNj3VPlOH50m7HnBlPxfIwFMrcNJNMP6PSgLmwWnInciMWrCSAlLEvt7JkJl4IxiMrVbXSa8ZQoVaq5xoQPjltuJEfwdNlO6jo8qRRHvD8sBEBMQASrRa6TsdaPTPCBo3nwIBpE7YzzmyH0vMBhjQZLx1aCT7faSEx7PgFxQhHdKFWROcysamgy9iVj8DO2Fmwg1NNl93rIAqC3mdqfrCxrzfvIY8aJdzin2cHVzy3QUJxZgHvtUtOLxoqnUHsYbNTeq0xcLXpTZEZCxD4PGubIuCNf32c33M7HFsnjWSEjE2yVdWKhmSVodyF8hFYVmhYnMCztQnJrt3O8ZvVRXd5IKwlLexiSp4h888w7SzAIcKgc3g5XQJf6MlSMftDXm9lIsE1mJNiJEv6uY6pgvC3fUPhatlR5JPpVAHNSbSEE73MBzJrhCAbOLXQumyOXigZuPoME7QgJcBalliQol7YZ9a   Tim-b9MddTxOWW2AT1Py6vtVbZwGAmYCjbp89p8mxsiFoVX4FyDOF3wFiAkyQTUgwg9sVqVYOZo09Dh1AzhFHbgij52ylF0SEwgzjzHH8TGY8Lypart4p4onnDoDvVMBa0kdthVGKl6K0BDVGzyOXPXKpmnMF1H6rJzqHJ0HywfwS4XYpVwlAkoeNsiicHkJUFdUAhG229INzvIAiJuAHeJDUoyO4DCBqtoZ5TDend6TK7Y914yHlfH3g1WZu5LksKv68VQHJriWFYusW5e6ZZ6dKaMjTwEGuRgdT66iU5nqWTHRH8WSzpXoCFwGcTOwyuqPSe0fTe21DVtJn1FKj9F9nEnR9xOvJUO7E0piCIF4Ad9yAIDY4DBimpsTfKXCu1vdHpKYerzbndfuFe5AhfMduLYZJi5iAw8qKSwR5h86ttXV0Mc0QmXz8dsRvDgxjXSmupPxBggdlqUlC828hXiTPD7am0yETBV0F3bEtvPiNJfremszcV8NcqAoARMer   r   r   rá   l   éîrIU} r	   l   pXð^»ì )Úaxis)	r   r1   Úasarrayr®   r2   r,   r3   rN   Úconcatenate)ÚhashesrW   Ú	expected1rX   Ú	expected2r6   s         r"   Útest_hash_collisionsrþ   ‹  sÙ   € ð
 	Kð 	Kð€Fô œŸ™ F¨1¨Q K´vÔ>ÀÓG€GÜ—‘Ð.Ð/´r·y±yÔA€IÜ×Ñ ¨Ô3äœŸ™ F¨1¨Q K´vÔ>ÀÓG€GÜ—‘Ð.Ð/´r·y±yÔA€IÜ×Ñ ¨Ô3äœŸ
™
 6´Ô8¸&ÓA€FÜ×Ñ ¬¯©¸	À9Ð7MÐTUÔ(VÕWr$   zdata, result_datar?   Ú2l   Ã.C7Œj”| l   93™B
ï )r   )r	   l   pH-\h+š l   Æ1Ù"ÍRõk c                 ó¾   — t        j                  d| i«      }t        |«      }t        j                  |t        j
                  ¬«      }t        j                  ||«       y )NÚdatar   )r.   r²   r   r0   r1   r,   r3   r4   )r  Úresult_datar´   r6   r7   s        r"   Útest_hash_with_tupler  ¡  sD   € ô 
�‰�v˜t�nÓ	%€BÜ Ó#€FÜ�y‰y˜¬B¯I©IÔ6€HÜ×Ñ˜6 8Õ,r$   c                  ó´   — t        j                  ddg fdi fgi«      } t        j                  t        d¬«      5  t        | «       d d d «       y # 1 sw Y   y xY w)Nr  r   r	   zunhashable type: 'list'r]   )r.   r²   r_   r`   ra   r   )Údf3s    r"   Útest_hashable_tuple_argsr  ²  se   € ô �,‰,ààØðð
 Øðð	ð	
ó€Cô 
�‰”yÐ(AÔ	Bñ  Ü˜3Ô÷ ÷  ñ  ús   ¹AÁAc                  óÎ   — t         j                  j                  t        j                  ddg«      d ¬«      } t        j                  ddgd¬«      }t	        j
                  | |«       y )Nr   r   rÙ   l   A�!˜M| l   «Z4^„	ë r,   r   )r.   Úutilr   r0   r3   r4   r5   s     r"   Útest_hash_object_none_keyr	  Ç  sO   € ä�W‰W×'Ñ'¬¯	©	°3¸°*Ó(=ÈÐ'ÓM€FÜ�y‰yÐ-Ð/CÐDÈHÔU€HÜ×Ñ˜6 8Õ,r$   Úpyarrowc                   óô   — e Zd ZdZej
                  j                  dddg«      ej
                  j                  dddg«      d„ «       «       Zej
                  j                  dddg«      d	„ «       Zd
„ Z	d„ Z
d„ Zy)ÚTestHashArrowz=Tests for ArrowExtensionArray._hash_pandas_object (GH#48964).Úpa_typeústring[pyarrow]úbinary[pyarrow]r·   TFc                 ó²   — |dk(  rg d¢}ng d¢}t        j                  ||¬«      }t        |dd¬«      }t        |dd¬«      }t        j                  ||«       y )Nr  )ó   aó   bó   cr  r  )r   r   r   r   r   r   TF©r·   r&   ©r.   r0   r   r3   r4   )Úselfr  r·   ÚvalsÚserÚ
result_catÚresult_nocats          r"   Ú!test_hash_arrow_string_categorizez/TestHashArrow.test_hash_arrow_string_categorizeÒ  sS   € ð Ð'Ò'Ú1‰Dâ,ˆDä�i‰i˜ GÔ,ˆÜ'¨¸ÀEÔJˆ
Ü)¨#¸%ÀuÔMˆÜ
×Ñ˜z¨<Õ8r$   c                 ó¨  — |dk(  rg d¢}ng d¢}t        j                  ||¬«      }t        |dd¬«      }|j                  d   t	        j
                  t        j                  «      j                  k(  sJ ‚|j                  d	   t	        j
                  t        j                  «      j                  k(  sJ ‚|j                  d
   |j                  d   k(  sJ ‚y )Nr  )r  Nr  Nr  )r   Nr   Nr   r   TFr  r   r
   r   rV   )r.   r0   r   Úilocr1   Úiinfor,   Úmax)r  r  r  r  r6   s        r"   Ú!test_hash_arrow_string_with_nullsz/TestHashArrow.test_hash_arrow_string_with_nullså  s¥   € ð Ð'Ò'Ú1‰Dâ.ˆDä�i‰i˜ GÔ,ˆÜ# C°DÀÔFˆØ�{‰{˜1‰~¤§¡¬"¯)©)Ó!4×!8Ñ!8Ò8Ð8Ð8Ø�{‰{˜1‰~¤§¡¬"¯)©)Ó!4×!8Ñ!8Ò8Ð8Ð8à�{‰{˜1‰~ §¡¨Q¡Ò/Ð/Ñ/r$   c                 ó¨   — t        j                  g d¬«      }t        |dd¬«      }t        j                  g d¬«      }t        j                  ||«       y )Nr  r   TFr  r,   r  )r  r  r6   r7   s       r"   Útest_hash_arrow_string_emptyz*TestHashArrow.test_hash_arrow_string_emptyø  sA   € ä�i‰i˜Ð"3Ô4ˆÜ# C°DÀÔFˆÜ—9‘9˜R xÔ0ˆÜ
×Ñ˜v xÕ0r$   c                 óÖ   — t        j                  g d¢d¬«      }t        |dd¬«      }t        j                  t        j
                  «      j                  }||k(  j                  «       sJ ‚y )N)NNNr  r   TFr  )r.   r0   r   r1   r  r,   r  r¢   )r  r  r6   Úexpected_vals       r"   Útest_hash_arrow_string_all_nullz-TestHashArrow.test_hash_arrow_string_all_nullÿ  sQ   € ä�i‰iÒ*Ð2CÔDˆÜ# C°DÀÔFˆÜ—x‘x¤§	¡	Ó*×.Ñ.ˆØ˜,Ñ&×+Ñ+Ô-Ð-Ñ-r$   c                 ó"  — dd l }|j                  |j                  ddg«      |j                  ddg«      g«      }t        j                  |d¬«      }t        |dd¬	«      }|j                  d   |j                  d
   k(  sJ ‚t        |«      dk(  sJ ‚y )Nr   r   r   r   r  r   TFr  r	   rV   )r
  Úchunked_arrayr2   r.   r0   r   r  Úlen)r  ÚpaÚchunkedr  r6   s        r"   Útest_hash_arrow_string_chunkedz,TestHashArrow.test_hash_arrow_string_chunked  s…   € ó 	à×"Ñ" B§H¡H¨c°3¨ZÓ$8¸"¿(¹(ÀCÈÀ:Ó:NÐ#OÓPˆÜ�i‰i˜Ð'8Ô9ˆÜ# C°DÀÔFˆà�{‰{˜1‰~ §¡¨Q¡Ò/Ð/Ð/Ü�6‹{˜aÒÐÑr$   N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r_   ÚmarkÚparametrizer  r   r"  r%  r+  © r$   r"   r  r  Î  s�   „ áGà‡[�[×ÑØØ	Ð-Ð.óð ‡[�[×Ñ˜\¨D°%¨=Ó9ñ9ó :ó	ð
9ð ‡[�[×ÑØØ	Ð-Ð.óñ0ó	ð0ò1ò.ó
 r$   r  )Úfloat16r   r­   c                 óD  — t        j                  t         j                  g| ¬«      }d|j                  j                  › �}|j                  |«      dz   j                  | «      }t        j                  || || g«      }t        |«      }||d   k(  j                  «       sJ ‚y )Nr   Úur   r   )	r1   r2   Únanr   ÚitemsizeÚviewrú   r   r¢   )r   r6  Ú
uint_dtypeÚother_payloadrO   r6   s         r"   Útest_hash_nan_bit_patternsr;    sŽ   € ô �(‰(”B—F‘F�8 5Ô
)€CØ�S—Y‘Y×'Ñ'Ð(Ð)€JØ—X‘X˜jÓ)¨AÑ-×3Ñ3°EÓ:€MÜ
�.‰.˜# ˜t ]°]°NÐCÓ
D€Cä˜‹_€FØ�f˜Q‘iÑ×$Ñ$Ô&Ð&Ñ&r$   c                 óf   — t        j                  ddg| ¬«      }t        |«      }|d   |d   k(  sJ ‚y ©Nr�   ç       €r   r   r   )r1   r2   r   ©r   rO   r6   s      r"   Útest_hash_negative_zeror@    s7   € ô �(‰(�C˜�; eÔ
,€Cä˜‹_€FØ�!‰9˜˜q™	Ò!Ð!Ñ!r$   Ú	complex64Ú
complex128c                 óÖ   — t        j                  t         j                  «      }t        j                  t	        |d«      t	        | d«      g| ¬«      }t        |«      }|d   |d   k(  sJ ‚y )Nr>  r�   r   r   r   )r1   r­   r6  r2   Úcomplexr   )r   r6  rO   r6   s       r"   Ú"test_hash_complex_nan_bit_patternsrE  (  sZ   € ô �*‰*”R—V‘VÓ
€CÜ
�(‰(”G˜C Ó&¬°°°cÓ(:Ð;À5Ô
I€Cä˜‹_€FØ�!‰9˜˜q™	Ò!Ð!Ñ!r$   c                 óŽ   — t        j                  t        dd«      t        dd«      g| ¬«      }t        |«      }|d   |d   k(  sJ ‚y r=  )r1   r2   rD  r   r?  s      r"   Útest_hash_complex_negative_zerorG  2  sF   € ô �(‰(”G˜C Ó%¤w¨t°TÓ':Ð;À5Ô
I€Cä˜‹_€FØ�!‰9˜˜q™	Ò!Ð!Ñ!r$   )SrF   rB   rD   r@   Únumpyr1   r_   Úpandas.compatr   Úpandas.util._test_decoratorsr  Ú_test_decoratorsÚtdÚpandasr.   Úpandas._testingÚ_testingr3   Úpandas.core.util.hashingr   Úpandas.utilr   r   Úfixturer0   rÊ   Útimedelta_ranger#   r&   r8   r0  ÚskipifÚ
single_cpurK   rP   r1  r®   rY   rÍ   rd   ri   rs   ru   r~   rˆ   r6  r²   Úfullr/   rò   Úperiod_rangerž   r¤   rn   Úfrom_productÚCategoricalIndexr½   r§   r©   r«   r°   rµ   rÄ   rÒ   rÕ   rÜ   rß   rã   ræ   rë   rí   rö   rþ   Útupler  r  r	  Ú
skip_if_nor  r;  r@  rE  rG  r2  r$   r"   ú<module>r\     s¨  ðÛ 	Û Û 
Û ã Û å ß )Ð )ã Ý Ý 0÷ð €‡�àˆ�	‰	’)˜a‘- wÔ/Øˆ�	‰	Ò" QÑ&¨iÔ8Øˆ�	‰	’/ AÑ%¨ZÔ8Øˆ�	‰	’/ AÑ%Ó&Øˆ�	‰	Ò%¨Ñ)Ó*Øˆ�	‰	�-�"—-‘- 
°AÔ6Ó7Øˆ�	‰	�-�"—-‘- 
°A¸,ÔGÓHØˆ�	‰	Ð$�"×$Ñ$ V°QÔ7Ó8ð	ôñóðð €‡�˜˜e�}Ô%ñó &ðò-ð ‡�×Ñ�DÐ!CÐÓDØ‡�×Ññó ó Eðò4Bð
 ‡�×Ñ˜ 3¨ -Ó0ñ2ó 1ð2ð ‡�×Ñ˜  E¨<¨2¯<©<¸
Ó+CÐ DÓEñó Fðòò
ð ‡�×Ñ˜  E¨<¨2¯<©<¸
Ó+CÐ DÓEñó Fðò$ò
?ð ‡�×ÑØ	àˆ�	‰	’)ÓØˆ�	‰	’/Ó"Øˆ�	‰	�3˜˜RŸV™VÐ$Ó%Øˆ�	‰	’/ªÔ9Øˆ�	‰	’/Ó"Øˆ�	‰	�3˜Ÿ™ Ð$Ó%Øˆ�	‰	Ò"Ó#Øˆ�	‰	Ò%Ó&Øˆ�	‰	˜ÔØˆ�‰š?²Ñ;Ó<Øˆ�‰‹Øˆ�‰�W�R—W‘W˜W b§f¡fÓ-Ó.Øˆ�‰â.Ú.Ø�R—X‘XÒFÈfÔUØ"�R—]‘] :°qÔ9ñ	ó	
ð 	ˆ�‰‘U˜1“X ] R§]¡]°<ÈÔ%KÔLØˆ�	‰	‘%˜“( - "§-¡-°ÀaÔ"HÔIØˆ�	‰	�/�"—/‘/ ,¸ÀÔEÓFØˆ�	‰	�-�"—-‘- 
°A¸,ÔGÓHð1óñ:!ó;ð:!ð ‡�×ÑØ	àˆ�	‰	’)ÓØˆ�	‰	’/Ó"Øˆ�	‰	�3˜˜RŸV™VÐ$Ó%Øˆ�	‰	’/ªÔ9Øˆ�	‰	’/Ó"Øˆ�	‰	�3˜Ÿ™ Ð$Ó%Øˆ�	‰	Ò"Ó#Øˆ�	‰	Ò%Ó&Øˆ�‰š?²Ñ;Ó<Øˆ�‰�W�R—W‘W˜W b§f¡fÓ-Ó.Øˆ�‰â.Ú.Ø�R—X‘XÒFÈfÔUØ"�R—]‘] :°qÔ9ñ	ó	
ð 	ˆ�‰‘U˜1“X ] R§]¡]°<ÈÔ%KÔLØˆ�	‰	‘%˜“( - "§-¡-°ÀaÔ"HÔIØˆ�	‰	�/�"—/‘/ ,¸ÀÔEÓFØˆ�	‰	�-�"—-‘- 
°A¸,ÔGÓHð-óñ6ó7ð6ð ‡�×ÑØ	àˆ�‰’ÓØˆ�‰Ò$Ó%Øˆ×Ñ˜7¨AÔ.Øˆ�‰˜¨3¸Ô:Ø
�‰×"Ñ"Ù�1‹XÒ,¨m¨b¯m©m¸JÐPQÔ.RÐSó	
ð 	�‰×"Ñ"Ð$7 B×$7Ñ$7¹¸V»Ó$EÁuÈQÃxÐ#PÓQð	óñ!óð!ò!òð ‡�×Ñ˜ 2§8¡8¨R¯Y©YÐ"7Ó8Ø‡�×Ñ˜ 9¨hÐ"7Ó8ñ!ó 9ó 9ð!ò
%ð ‡�×ÑØâÚ Øˆ�‰�a Ô#ðóð ‡�×Ñ˜¨¨e }Ó5ñ#ó 6óð#ò$
!ò5ò
òòòCò!ò!ð ‡�×Ñ˜¡%¨£(Ó+Ø‡�×Ñ˜ 1 a &Ó)ñ&ó *ó ,ð&òXð, ‡�×ÑØá
�‹*‘e˜C“jÐ	!Ð$8Ð:MÐ#NÐOØ
�ˆÐ+Ð-@ÐAÐBðóñ-óð-ò ò*-ð €‡�ˆyÓ÷A ð A ó ðA ðH ‡�×Ñ˜Ò"CÓDñ'ó Eð'ð ‡�×Ñ˜Ò"CÓDñ"ó Eð"ð ‡�×Ñ˜ ;°Ð"=Ó>ñ"ó ?ð"ð ‡�×Ñ˜ ;°Ð"=Ó>ñ"ó ?ñ"r$   