Ë
    ¤eh/Ž  ã                   óþ  — d dl mZ d dlZd dlZd dlZd dlmZ d dl	m
Z
mZ d dlZd dlmZmZmZmZmZ d dlmZ  G d„ d«      Z G d„ d	«      Z G d
„ d«      Zd„ Zd„ Zej6                  j9                  ddgdz   edgdz  «      g«      ej6                  j9                  dg d¢ eg d¢«      g«      d„ «       «       Zej6                  j9                  ddg edg«      g«      ej6                  j9                  ddg edg«      g«      d„ «       «       Z G d„ d«      Z G d„ d«      Z  G d„ d«      Z!d„ Z"ej6                  j9                  dejF                  ddgg d ¢gd ejF                  d!fejF                  ddgg d ¢gd"ejF                  d#fd$fg d%¢d&ejF                  d&ggd"dejF                  fd!fg«      d'„ «       Z$ej6                  j9                  d(ejF                  d"d)gg d*¢g e%d d)d«      ejF                  d"fejF                  d"d)gg d*¢g e%d d+d«      ejF                  d,fg d-¢d.ejF                  dgg e%d"d+d«      d)ejF                  fd+fg d-¢d.ejF                  dgg e%d"d+d«      d)ejF                  fd/fg«      d0„ «       Z&d1„ Z'ej6                  j9                  d2 e%d«      dd.gfd"d gf e%d«      d.dgfd d"gfg d3¢d.d4gfd d)gfg d3¢d4d.gfd d)gfd)d.dgfd d"gfd)dd.gfd"d gfd)gd.dgfd d"gfd)gdd.gfd"d gfg«      d5„ «       Z(d6„ Z)y)7é    )Ú	timedeltaN)Úindex)ÚInvalidIndexErrorÚPerformanceWarning)ÚCategoricalÚ	DataFrameÚIndexÚ
MultiIndexÚ
date_rangec                   óú  — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zej                  j                  dej                  ddgg d	¢gd
ej                  dfej                  ddgg d	¢gd
ej                  dfej                  ddgg d	¢gd
ej                  dfg d¢dej                  dggddej                  fdfg d¢dej                  dggddej                  fdfg d¢dej                  dggddej                  fdfg«      d„ «       Zy)ÚTestSliceLocsc                 ó
  — |j                  d«      \  }}|j                  dd«      }|dk(  sJ ‚|j                  d d«      }|dk(  sJ ‚|j                  dd «      }|dt        |«      fk(  sJ ‚|j                  dd«      }|d	k(  sJ ‚y )
Nr   ©ÚfooÚtwo)ÚquxÚone)é   é   )r   r   r   ÚbarÚbaz)é   é   )Ú	sortlevelÚ
slice_locsÚlen)ÚselfÚidxÚ
sorted_idxÚ_Úresults        úf/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/pandas/tests/indexes/multi/test_indexing.pyÚtest_slice_locs_partialz%TestSliceLocs.test_slice_locs_partial   s�   € ØŸ™ aÓ(‰ˆ
�Aà×&Ñ& ~°~ÓFˆØ˜ÒÐÐà×&Ñ& t¨^Ó<ˆØ˜ÒÐÐà×&Ñ& ~°tÓ<ˆØ˜!œS ›_Ð-Ò-Ð-Ð-à×&Ñ& u¨eÓ4ˆØ˜ÒÐÑó    c           	      ó  — t        t        j                  j                  d«      j	                  d«      t        t        d«      t        ¬«      t        ddd¬«      ¬	«      }|j                  d
¬«      }|j                  }t        |j                  |j                  d   |j                  d   «      Ž }||   }|dd j                  d
¬«      }t        j                  |j                  |j                  «       t        |j                  |j                  d   t!        d¬«      z   |j                  d   t!        d¬«      z
  «      Ž }||   }|dd j                  d
¬«      }t        j                  |j                  |j                  «       y )Nr   )é2   r   ÚABCD©Údtypeú
2000-01-01r&   ÚB©ÚperiodsÚfreq©Úcolumnsr   T©Úfuture_stackr   é   é   é   ©Úsecondsé   )r   ÚnpÚrandomÚdefault_rngÚstandard_normalr	   ÚlistÚobjectr   Ústackr   Úslicer   ÚtmÚassert_almost_equalÚvaluesr   )r   ÚdfÚstackedr   ÚslobÚslicedÚexpecteds          r"   Útest_slice_locszTestSliceLocs.test_slice_locs(   s3  € ÜÜ�I‰I×!Ñ! !Ó$×4Ñ4°WÓ=Üœ$˜v›,¬fÔ5Ü˜\°2¸CÔ@ô
ˆð
 —(‘(¨�(Ó-ˆØ�m‰mˆä�c—n‘n R§X¡X¨a¡[°"·(±(¸2±,Ó?Ð@ˆØ˜‘ˆØ�a˜�8—>‘>¨t�>Ó4ˆÜ
×Ñ˜vŸ}™}¨h¯o©oÔ>äØ�^‰^Ø—‘˜‘œi°Ô3Ñ3Ø—‘˜‘œy°Ô4Ñ4óð
ˆð ˜‘ˆØ�a˜�8—>‘>¨t�>Ó4ˆÜ
×Ñ˜vŸ}™}¨h¯o©oÕ>r$   c                 ó”  — t        t        j                  j                  d«      j	                  d«      t        t        d«      t        ¬«      t        ddd¬«      ¬	«      }|j                  d
¬«      }|j                  }t        j                  t        d¬«      5  |j                  d«       d d d «       t        j                  t        d¬«      5  |j                  |j                  d   t        d¬«      z   d«       d d d «       t        t        j                   d«      t        t#        d«      D �cg c]  }d|› �‘Œ	 c}d¬«      t        t#        d«      D �cg c]  }d|› �‘Œ	 c}d¬«      ¬«      }|j                  d
¬«      }|j                  }t        j                  t        d¬«      5  |j                  t        d¬«      «       d d d «       t        j                  t        d¬«      5  |j                  |j                  d   d«       d d d «       y # 1 sw Y   �ŒfxY w# 1 sw Y   �Œ#xY wc c}w c c}w # 1 sw Y   ŒqxY w# 1 sw Y   y xY w)Nr   )é
   r   r'   r(   r*   rK   r+   r,   r/   Tr1   z^Level type mismatch©Úmatch©r   é   r   r5   r6   ©r   r   )r   r   zi-Úa)Úname)r   r0   r   )r4   rQ   )r   r9   r:   r;   r<   r	   r=   r>   r   r?   r   ÚpytestÚraisesÚ	TypeErrorr   r   ÚonesÚrange)r   rD   rE   r   Úis        r"   Ú"test_slice_locs_with_type_mismatchz0TestSliceLocs.test_slice_locs_with_type_mismatch@   sÁ  € ÜÜ�I‰I×!Ñ! !Ó$×4Ñ4°WÓ=Üœ$˜v›,¬fÔ5Ü˜\°2¸CÔ@ô
ˆð
 —(‘(¨�(Ó-ˆØ�m‰mˆÜ�]‰]œ9Ð,BÔCñ 	#Ø�N‰N˜6Ô"÷	#ä�]‰]œ9Ð,BÔCñ 	HØ�N‰N˜2Ÿ8™8 A™;¬¸2Ô)>Ñ>ÀÔG÷	HäÜ�G‰G�F‹OÜ¬5°«8Ö4 a˜2˜a˜SšÒ4¸3Ô?Ü¬U°1«XÖ6¨˜R ˜sš8Ò6¸SÔAô
ˆð
 —(‘(¨�(Ó-ˆØ�m‰mˆÜ�]‰]œ9Ð,BÔCñ 	2Ø�N‰Nœ9¨RÔ0Ô1÷	2ô �]‰]œ9Ð,BÔCñ 	3Ø�N‰N˜2Ÿ8™8 A™;¨	Ô2÷	3ð 	3÷	#ñ 	#ú÷	Hñ 	Hüò 5ùÚ6÷	2ð 	2ú÷	3ð 	3ús<   ÂHÃ-HÄ-H(ÅH-Æ&H2Ç% H>ÈHÈH%È2H;È>Ic           	      ó$  — t        t        t        j                  d«      «      t        t        j                  d«      «      t        t        j                  d«      «      gt        j                  g d¢«      t        j                  g d¢«      t        j                  g d¢«      g¬«      }d}t        j                  t        |¬«      5  |j                  dd	«       d d d «       |j                  d
«      \  }}|j                  dd	«       y # 1 sw Y   Œ0xY w)Nr   ©r   r   r   r   r   r   rO   rO   ©r   r   r   r   r   r   r   r   ©r   r   r   r   r   r   r   r   ©ÚlevelsÚcodesz4[Kk]ey length.*greater than MultiIndex lexsort depthrL   )r   r   r   )r   r   r   r   )
r
   r	   r9   ÚarangeÚarrayrS   rT   ÚKeyErrorr   r   )r   r   ÚmsgÚsorted_indexr    s        r"   Útest_slice_locs_not_sortedz(TestSliceLocs.test_slice_locs_not_sortedY   sÈ   € ÜÜœ"Ÿ)™) A›,Ó'¬¬r¯y©y¸«|Ó)<¼eÄBÇIÁIÈaÃLÓ>QÐRä—‘Ò1Ó2Ü—‘Ò1Ó2Ü—‘Ò1Ó2ðô
ˆð EˆÜ�]‰]œ8¨3Ô/ñ 	3Ø×Ñ˜Y¨	Ô2÷	3ð  Ÿ/™/¨!Ó,‰ˆ�aà×Ñ 	¨9Õ5÷	3ð 	3ús   ÃDÄDc                 óx  — t        g d¢g d¢gg d¢g d¢g¬«      }|j                  dd«      }|dk(  sJ ‚|j                  d	d
«      }|dk(  sJ ‚|j                  dd«      }|dk(  sJ ‚|j                  dd
«      }|dk(  sJ ‚|j                  dd«      }|dk(  sJ ‚|j                  dd«      }|dt        |«      fk(  sJ ‚y )N)r   r   r   r8   )r   r   r   )	r   r   r   r   r   r   rO   rO   rO   )	r   r   r   r   r   r   r   r   r   r^   ©r   r   rP   )rO   r8   r   r   ©r   r   r   )r8   rO   )rO   é   éÿÿÿÿrK   r   )r
   r   r   )r   r   r!   s      r"   Útest_slice_locs_not_containedz+TestSliceLocs.test_slice_locs_not_containedk   sé   € ô Ú ¢)Ð,Ú.Ò0KÐLô
ˆð
 ×!Ñ! &¨&Ó1ˆØ˜ÒÐÐà×!Ñ! ! QÓ'ˆØ˜ÒÐÐà×!Ñ! &¨&Ó1ˆØ˜ÒÐÐà×!Ñ! ! QÓ'ˆØ˜ÒÐÐà×!Ñ! &¨&Ó1ˆØ˜ÒÐÐà×!Ñ! " bÓ)ˆØ˜!œS ›Z˜Ò(Ð(Ñ(r$   ú$index_arr,expected,start_idx,end_idxrQ   Úb©ÚcÚdÚe)r   rO   N)rn   rr   ©rQ   rn   rp   rq   rr   rN   rp   )rp   rr   c                 ób   — t        j                  |«      }|j                  ||¬«      }||k(  sJ ‚y ©N)ÚstartÚend)r
   Úfrom_arraysr   )r   Ú	index_arrrH   Ú	start_idxÚend_idxr   r!   s          r"   Ú"test_slice_locs_with_missing_valuez0TestSliceLocs.test_slice_locs_with_missing_value…   s4   € ô ×$Ñ$ YÓ/ˆØ—‘ i°W�Ó=ˆØ˜Ò!Ð!Ñ!r$   )Ú__name__Ú
__module__Ú__qualname__r#   rI   rY   rf   rl   rS   ÚmarkÚparametrizer9   Únanr|   © r$   r"   r   r      s  „ ò ò?ò03ò26ò$)ð4 ‡[�[×ÑØ.à�v‰v�s˜CÐ ¢/Ð2°F¸B¿F¹FÀDÐIØ�v‰v�s˜CÐ ¢/Ð2°F¸B¿F¹FÀCÐHØ�v‰v�s˜CÐ ¢/Ð2°F¸B¿F¹FÀJÐOÚ  R§V¡V¨SÐ1Ð2°F¸SÀ"Ç&Á&¸MÈ4ÐPÚ  R§V¡V¨SÐ1Ð2°F¸SÀ"Ç&Á&¸MÈ3ÐOÚ  R§V¡V¨SÐ1Ð2°F¸SÀ"Ç&Á&¸MÈ:ÐVð	
ó
ñ"ó
ñ"r$   r   c                   ó$   — e Zd Zd„ Zd„ Zd„ Zd„ Zy)ÚTestPutmaskc                 óL  — d}t        j                  t        |¬«      5  |j                  t	        j
                  t        |«      dz   t        j                  «      d«       d d d «       t        j                  t        |¬«      5  |j                  t	        j
                  t        |«      dz
  t        j                  «      d«       d d d «       t        j                  t        |¬«      5  |j                  dd«       d d d «       y # 1 sw Y   Œ¤xY w# 1 sw Y   ŒLxY w# 1 sw Y   y xY w)Nz,putmask: mask and data must be the same sizerL   r   r   )rS   rT   Ú
ValueErrorÚputmaskr9   rV   r   Úbool_©r   r   rd   s      r"   Útest_putmask_with_wrong_maskz(TestPutmask.test_putmask_with_wrong_maskš   sÓ   € ð =ˆÜ�]‰]œ:¨SÔ1ñ 	<Ø�K‰KœŸ™¤ C£¨1¡¬b¯h©hÓ7¸Ô;÷	<ô �]‰]œ:¨SÔ1ñ 	<Ø�K‰KœŸ™¤ C£¨1¡¬b¯h©hÓ7¸Ô;÷	<ô �]‰]œ:¨SÔ1ñ 	"Ø�K‰K˜˜qÔ!÷	"ð 	"÷	<ð 	<ú÷	<ð 	<ú÷	"ð 	"ús%   žADÂADÃ&DÄDÄDÄD#c                 ób  — t        j                  t        j                  dft        j                  dfdg«      }t        j                  g d¢«      }t        j                  g d¢«      }|j                  ||«      }t        j                  |d   |d   |d   g«      }t        j                  ||«       y )Nr8   )rQ   r   )©rQ   r   r�   )rq   r   )TTFr   r   r   )r
   Úfrom_tuplesr9   r‚   rb   rˆ   rA   Úassert_index_equal)r   ÚleftÚrightÚmaskr!   rH   s         r"   Útest_putmask_multiindex_otherz)TestPutmask.test_putmask_multiindex_other§   sŽ   € ô ×%Ñ%¬¯©° {´R·V±V¸Q°KÀÐ&JÓKˆÜ×&Ñ&Ò'EÓFˆÜ�x‰xÒ+Ó,ˆà—‘˜d EÓ*ˆä×)Ñ)¨5°©8°U¸1±X¸tÀA¹wÐ*GÓHˆÜ
×Ñ˜f hÕ/r$   c                 óx  — t        j                  t        j                  g d¢|¬«      g d¢g«      }t        j                  t        j                  g d¢|¬«      g d¢g«      }|j	                  g d¢|«      }t        j                  t        j                  g d¢|¬«      g d¢g«      }t        j                  ||«       y )	N©r   r   rO   r(   ©rK   é   é   ©r   r8   é   )rk   éþÿÿÿéýÿÿÿ©TFF©r   r   rO   ©rk   r—   r˜   ©r
   rx   ÚpdÚSeriesrˆ   rA   r�   ©r   Úany_numeric_ea_dtypeÚmidxÚmidx2r!   rH   s         r"   Útest_putmask_keep_dtypez#TestPutmask.test_putmask_keep_dtype³   s•   € ä×%Ñ%Ü�Y‰Y’yÐ(<Ô=º|ÐLó
ˆô ×&Ñ&Ü�Y‰Y’yÐ(<Ô=º|ÐLó
ˆð —‘Ò2°EÓ:ˆÜ×)Ñ)Ü�Y‰Y’yÐ(<Ô=º|ÐLó
ˆô 	×Ñ˜f hÕ/r$   c                 ót  — t        j                  t        j                  g d¢|¬«      g d¢g«      }t        j                  t        j                  dg|¬«      dgg«      }|j	                  g d¢|«      }t        j                  t        j                  g d¢|¬«      g d¢g«      }t        j                  ||«       y )	Nr•   r(   r–   r   rk   r�   rž   rŸ   r    r£   s         r"   Ú%test_putmask_keep_dtype_shorter_valuez1TestPutmask.test_putmask_keep_dtype_shorter_valueÁ   s™   € ä×%Ñ%Ü�Y‰Y’yÐ(<Ô=º|ÐLó
ˆô ×&Ñ&Ü�Y‰Y˜�sÐ"6Ô7¸"¸Ð>ó
ˆð —‘Ò2°EÓ:ˆÜ×)Ñ)Ü�Y‰Y’yÐ(<Ô=º|ÐLó
ˆô 	×Ñ˜f hÕ/r$   N)r}   r~   r   r‹   r“   r§   r©   rƒ   r$   r"   r…   r…   ™   s   „ ò"ò
0ò0ó0r$   r…   c                   óÄ  — e Zd Zd„ Zd„ Zd„ Zej                  j                  dde	j                  dgg d¢gde	j                  dg e	j                  g d¢e	j                  ¬	«      fde	j                  dgg d¢ge	j                  d
fg e	j                  dge	j                  ¬	«      fg d¢e	j                  d
dggde	j                  fg e	j                  dge	j                  ¬	«      fg d¢e	j                  d
dgge	j                  d
dg e	j                  g d¢e	j                  ¬	«      fg«      d„ «       Zd„ Zej                  j                  dg d¢«      d„ «       Zd„ Zd„ Zd„ Zd„ Zy)ÚTestGetIndexerc                 óž  — t        t        j                  d«      «      }t        t        j                  d«      «      }t        j                  g d¢t        j                  ¬«      }t        j                  g d¢t        j                  ¬«      }t        ||g||g¬«      }|d d }|g d¢   }|j                  |«      }t        j                  |t        j                  g d	¢t        j                  ¬«      «       |j                  |d
¬«      }t        j                  g d¢t        j                  ¬«      }	t        j                  ||	«       |j                  |d d d…   d
¬«      }
t        j                  |
|	d d d…   «       |j                  |d¬«      }t        j                  ||«       |j                  |d¬«      }t        j                  g d¢t        j                  ¬«      }	t        j                  ||	«       |j                  |d d d…   d¬«      }
t        j                  |
|	d d d…   «       |j                  |d¬«      }t        j                  ||«       |j                  |j                  «      }|j                  |«      }t        j                  ||«       |j                  g d¢«      }|g d¢k(  j                  «       sJ ‚t        t        t        d«      «      t        t        d«      «      z   «      }t        t        t        d«      «      «      }d}t        j                  t        |¬«      5  |j                  |«       d d d «       y # 1 sw Y   y xY w)Nr   r   )r   r   r   r   r   rO   rO   r(   )r   r   r   r   r   r   r   r^   r   )r   rO   r   )r   rO   rk   Úpad©Úmethod)rk   r   r   r   r   rk   ÚffillÚbackfill)r   r   r   r   r   Úbfillr•   ©rk   rk   rk   rK   é   z8Reindexing only valid with uniquely valued Index objectsrL   )r	   r9   ra   rb   Úintpr
   Úget_indexerrA   rB   rC   Úallr=   rW   rS   rT   r   )r   Ú
major_axisÚ
minor_axisÚmajor_codesÚminor_codesr   Úidx1Úidx2Úr1Úe1Úr2Úrffill1Úrbfill1Úrexp1rd   s                  r"   Útest_get_indexerzTestGetIndexer.test_get_indexerÑ   s�  € Üœ2Ÿ9™9 Q›<Ó(ˆ
Üœ2Ÿ9™9 Q›<Ó(ˆ
ä—h‘hÒ4¼B¿G¹GÔDˆÜ—h‘hÒ4¼B¿G¹GÔDˆäØ 
Ð+°KÀÐ3Mô
ˆð �R�aˆyˆØ’YÑˆà×Ñ˜dÓ#ˆÜ
×Ñ˜r¤2§8¡8ªJ¼b¿g¹gÔ#FÔGà×Ñ˜d¨5ÐÓ1ˆÜ�X‰XÒ&¬b¯g©gÔ6ˆÜ
×Ñ˜r 2Ô&à×Ñ˜d¡4 R 4™j°ÐÓ7ˆÜ
×Ñ˜r 2¡d¨ d¡8Ô,à×"Ñ" 4°Ð"Ó8ˆÜ
×Ñ˜r 7Ô+à×Ñ˜d¨:ÐÓ6ˆÜ�X‰X’o¬R¯W©WÔ5ˆÜ
×Ñ˜r 2Ô&à×Ñ˜d¡4 R 4™j°ÐÓ<ˆÜ
×Ñ˜r 2¡d¨ d¡8Ô,à×"Ñ" 4°Ð"Ó8ˆÜ
×Ñ˜r 7Ô+ð ×Ñ˜dŸk™kÓ*ˆØ× Ñ  Ó&ˆÜ
×Ñ˜r 5Ô)à×ÑšiÓ(ˆØ’lÑ"×'Ñ'Ô)Ð)Ð)ô ”Tœ% ›)“_¤t¬E°"«I£Ñ6Ó7ˆÜ”Tœ% ›)“_Ó%ˆàHˆÜ�]‰]Ô,°CÔ8ñ 	#Ø×Ñ˜TÔ"÷	#÷ 	#ñ 	#ús   Ì(MÍMc                 óL  — t        j                  ddg«      }d}t        j                  t        |¬«      5  |j                  dgd¬«       d d d «       d}t        j                  t        |¬«      5  |j                  dgd	d
¬«       d d d «       y # 1 sw Y   ŒExY w# 1 sw Y   y xY w)Nr�   ©rn   r   zJmethod='nearest' not implemented yet for MultiIndex; see GitHub issue 9365rL   rQ   Únearestr®   z,tolerance not implemented yet for MultiIndexr­   r   )r¯   Ú	tolerance)r
   rŽ   rS   rT   ÚNotImplementedErrorr¶   )r   r¥   rd   s      r"   Útest_get_indexer_nearestz'TestGetIndexer.test_get_indexer_nearest  s¡   € Ü×%Ñ% x°Ð&:Ó;ˆð$ð 	ô �]‰]Ô.°cÔ:ñ 	6Ø×Ñ˜c˜U¨9ÐÔ5÷	6à<ˆÜ�]‰]Ô.°cÔ:ñ 	?Ø×Ñ˜c˜U¨5¸AÐÔ>÷	?ð 	?÷	6ð 	6ú÷	?ð 	?ús   µBÁ/BÂBÂB#c           
      ó  — t        j                  t        g d¢«      t        t        ddd¬«      «      g«      }|j	                  |«      }t        j                  |t        j                  dt        j                  ¬«      «       y )Nrs   ú
2012-01-01rO   Úhr,   é	   r(   )
r
   Úfrom_productr   r   r¶   rA   Úassert_numpy_array_equalr9   ra   rµ   )r   r¥   r!   s      r"   Ú!test_get_indexer_categorical_timez0TestGetIndexer.test_get_indexer_categorical_time  sa   € ä×&Ñ&äšOÓ,ÜœJ |¸QÀSÔIÓJðó
ˆð ×!Ñ! $Ó'ˆÜ
×#Ñ# F¬B¯I©I°a¼r¿w¹wÔ,GÕHr$   zindex_arr,labels,expectedr   r   ©rO   r   r   r³   r(   r   r•   r   r   c                 ó|   — t        j                  |«      }|j                  |«      }t        j                  ||«       y )N)r
   rx   r¶   rA   rÐ   )r   ry   ÚlabelsrH   r   r!   s         r"   Ú#test_get_indexer_with_missing_valuez2TestGetIndexer.test_get_indexer_with_missing_value  s2   € ô& ×$Ñ$ YÓ/ˆØ—‘ Ó(ˆÜ
×#Ñ# F¨HÕ5r$   c                 ób  — t        j                  g d¢g d¢g«      }t        j                  dgg d¢g«      }|j                  |«      }t        j                  g d¢|j
                  ¬«      }t        j                  ||«       |j                  |d¬«      }t        j                  g d	¢|j
                  ¬«      }t        j                  ||«       |j                  |d
¬«      }t        j                  g d	¢|j
                  ¬«      }t        j                  ||«       |j                  |d¬«      }t        j                  g d¢|j
                  ¬«      }t        j                  ||«       |j                  |d¬«      }t        j                  g d¢|j
                  ¬«      }t        j                  ||«       y )N)rk   r   r   )r   r   rO   r   r   )r   rO   r   )rk   r8   rš   r(   r±   r®   r™   r²   r­   )r   r8   rš   r°   )r
   rÏ   r¶   r9   rb   r)   rA   rB   ©r   Ú
mult_idx_1Ú
mult_idx_2ÚindexerrH   Úbackfill_indexerÚpad_indexers          r"   Útest_get_indexer_methodsz'TestGetIndexer.test_get_indexer_methods3  sZ  € ô6  ×,Ñ,ªjº,Ð-GÓHˆ
Ü×,Ñ,¨q¨c²9Ð-=Ó>ˆ
à×(Ñ(¨Ó4ˆÜ—8‘8šJ¨g¯m©mÔ<ˆÜ
×Ñ˜x¨Ô1à%×1Ñ1°*ÀZÐ1ÓPÐÜ—8‘8šIÐ-=×-CÑ-CÔDˆÜ
×Ñ˜xÐ)9Ô:ð &×1Ñ1°*ÀWÐ1ÓMÐÜ—8‘8šIÐ-=×-CÑ-CÔDˆÜ
×Ñ˜xÐ)9Ô:à ×,Ñ,¨ZÀÐ,ÓFˆÜ—8‘8šI¨[×->Ñ->Ô?ˆÜ
×Ñ˜x¨Ô5ð !×,Ñ,¨ZÀÐ,ÓHˆÜ—8‘8šI¨[×->Ñ->Ô?ˆÜ
×Ñ˜x¨Õ5r$   r¯   )r­   r°   r±   r²   rÇ   c                 óæ   — t        j                  g d¢g d¢g«      }|dk(  r	t        }d}nt        }d}t	        j
                  ||¬«      5  |j                  dg|¬«       d d d «       y # 1 sw Y   y xY w)N)r   r   r   rÇ   z"not implemented yet for MultiIndexz0index must be monotonic increasing or decreasingrL   ©r   r   r®   )r
   rx   rÉ   r‡   rS   rT   r¶   )r   r¯   ÚmiÚerrrd   s        r"   Ú0test_get_indexer_methods_raise_for_non_monotonicz?TestGetIndexer.test_get_indexer_methods_raise_for_non_monotonicg  sj   € ô ×#Ñ#¢Y²	Ð$:Ó;ˆØ�YÒÜ%ˆCØ6‰CäˆCØDˆCÜ�]‰]˜3 cÔ*ñ 	4Ø�N‰N˜F˜8¨FˆNÔ3÷	4÷ 	4ñ 	4ús   Á	A'Á'A0c                 ó¼  — t        j                  ddgg d¢ddgg«      }t        j                  g d¢«      }|j                  sJ ‚|j                  sJ ‚|j                  sJ ‚|j                  sJ ‚|d   |d   k  sJ ‚|d   |d   cxk  r	|d   k  sJ ‚ J ‚|d   |d	   k(  sJ ‚|d   |d   cxk  r	|d
   k  sJ ‚ J ‚|d   |d   cxk  r	|d
   k  sJ ‚ J ‚|d   |d   cxk  r	|d
   k  sJ ‚ J ‚|d   |d
   k  sJ ‚|j                  |«      }t        j                  g d¢|j                  ¬«      }t        j                  ||«       |j                  |d¬«      }t        j                  g d¢|j                  ¬«      }t        j                  ||«       |j                  |d¬«      }t        j                  g d¢|j                  ¬«      }t        j                  ||«       |d   |d   cxk  r	|d   k  sJ ‚ J ‚|d   |d   cxk  r	|d   k  sJ ‚ J ‚|d   |d	   cxk  r	|d   k  sJ ‚ J ‚|d   |d   cxk  r	|d   k  sJ ‚ J ‚|d   |d   cxk  r	|d	   k  sJ ‚ J ‚|d	   |d   k(  sJ ‚|d   |d
   cxk  r	|d
   k  sJ ‚ J ‚|d   |d   cxk  r	|d
   k  sJ ‚ J ‚|d   |d   cxk  r	|d
   k  sJ ‚ J ‚|d   |d   cxk  r	|d
   k  sJ ‚ J ‚|d   |d   cxk  r	|d
   k  sJ ‚ J ‚|d   |d   cxk  r	|d
   k  sJ ‚ J ‚|j                  |«      }t        j                  g d¢|j                  ¬«      }t        j                  ||«       |j                  |d¬«      }t        j                  g d¢|j                  ¬«      }t        j                  ||«       |j                  |d¬«      }	t        j                  g d¢|	j                  ¬«      }t        j                  ||	«       y )Nr   rO   )r   r   r8   r   rš   ))r   r   rj   )r   r   rÎ   )r   r8   rš   )r   r   r8   )r   rš   rš   )r   rš   rj   )rO   r8   rj   r   r   r   r8   rk   )rk   rk   r   rk   rk   rk   rk   r(   r±   r®   )r   r   r   r8   r8   r8   rk   r­   )rk   rO   r   r   r   r   r—   rj   rÎ   rK   r—   )rk   rk   rk   rk   rk   r   rk   rk   rk   rk   rk   rk   r²   )r   r   r   r   r   r   r8   r8   r8   r8   r8   r8   )r   r   r   r   r   r   r   r   r   r   r   r   )r
   rÏ   rŽ   Úis_monotonic_increasingÚ	is_uniquer¶   r9   rb   r)   rA   rB   )
r   rØ   rÙ   Úindexer_no_fillrH   Úindexer_backfilledÚindexer_paddedrÚ   rÛ   rÜ   s
             r"   Ú%test_get_indexer_three_or_more_levelsz4TestGetIndexer.test_get_indexer_three_or_more_levelst  so  € ô4  ×,Ñ,¨q°!¨f²iÀ!ÀQÀÐ-HÓIˆ
Ü×+Ñ+òó

ˆ
ð ×1Ò1Ð1Ð1Ø×#Ò#Ð#Ð#Ø×1Ò1Ð1Ð1Ø×#Ò#Ð#Ð#ð ˜!‰}˜z¨!™}Ò,Ð,Ð,Ø˜!‰}˜z¨!™}Ô<¨z¸!©}Ò<Ð<Ñ<Ð<Ð<Ø˜!‰} 
¨1¡Ò-Ð-Ð-Ø˜!‰}˜z¨!™}Ô<¨z¸!©}Ò<Ð<Ñ<Ð<Ð<Ø˜!‰}˜z¨!™}Ô<¨z¸!©}Ò<Ð<Ñ<Ð<Ð<Ø˜!‰}˜z¨!™}Ô<¨z¸!©}Ò<Ð<Ñ<Ð<Ð<Ø˜"‰~ 
¨1¡Ò-Ð-Ð-à$×0Ñ0°Ó<ˆÜ—8‘8Ò7¸×?TÑ?TÔUˆÜ
×Ñ˜x¨Ô9ð (×3Ñ3°JÀzÐ3ÓRÐÜ—8‘8Ò2Ð:L×:RÑ:RÔSˆÜ
×Ñ˜xÐ);Ô<ð $×/Ñ/°
À5Ð/ÓIˆÜ—8‘8Ò3¸>×;OÑ;OÔPˆÜ
×Ñ˜x¨Ô8ð ˜!‰}˜z¨!™}Ô<¨z¸!©}Ò<Ð<Ñ<Ð<Ð<Ø˜!‰}˜z¨!™}Ô<¨z¸!©}Ò<Ð<Ñ<Ð<Ð<Ø˜!‰}˜z¨!™}Ô<¨z¸!©}Ò<Ð<Ñ<Ð<Ð<Ø˜!‰}˜z¨!™}Ô<¨z¸!©}Ò<Ð<Ñ<Ð<Ð<Ø˜!‰}˜z¨!™}Ô<¨z¸!©}Ò<Ð<Ñ<Ð<Ð<Ø˜!‰} 
¨1¡Ò-Ð-Ð-Ø˜!‰}˜z¨!™}Ô<¨z¸!©}Ò<Ð<Ñ<Ð<Ð<Ø˜!‰}˜z¨!™}Ô<¨z¸!©}Ò<Ð<Ñ<Ð<Ð<Ø˜!‰}˜z¨!™}Ô<¨z¸!©}Ò<Ð<Ñ<Ð<Ð<Ø˜!‰}˜z¨!™}Ô<¨z¸!©}Ò<Ð<Ñ<Ð<Ð<Ø˜!‰}˜z¨"™~Ô=°
¸1±Ò=Ð=Ñ=Ð=Ð=Ø˜!‰}˜z¨"™~Ô=°
¸1±Ò=Ð=Ñ=Ð=Ð=à×(Ñ(¨Ó4ˆÜ—8‘8Ú;À7Ç=Á=ô
ˆô 	×Ñ˜x¨Ô1à%×1Ñ1°*ÀWÐ1ÓMÐÜ—8‘8Ú0Ð8H×8NÑ8Nô
ˆô 	×Ñ˜xÐ)9Ô:à ×,Ñ,¨ZÀÐ,ÓFˆÜ—8‘8Ú0¸×8IÑ8Iô
ˆô 	×Ñ˜x¨Õ5r$   c                 óx  — t        j                  ddggdz  «      }t        j                  ddg«      }|d   |d   cxk  r	|d   k  sJ ‚ J ‚|d	   |d   k  sJ ‚|j                  |«      }t	        j
                  d	d	g|j                  ¬
«      }t        j                  ||«       |j                  |d¬«      }t	        j
                  dd	g|j                  ¬
«      }t        j                  ||«       |j                  |d¬«      }t	        j
                  ddg|j                  ¬
«      }t        j                  ||«       y )Nr   r   r   )r   rO   r   r   )r   rO   r   r   rš   r   rj   rk   r(   r²   r®   r°   r3   )	r
   rÏ   rŽ   r¶   r9   rb   r)   rA   rB   r×   s          r"   Ú test_get_indexer_crossing_levelsz/TestGetIndexer.test_get_indexer_crossing_levels×  s)  € ô6  ×,Ñ,¨q°!¨f¨X¸©\Ó:ˆ
Ü×+Ñ+¨\¸<Ð,HÓIˆ
ð ˜!‰}˜z¨!™}Ô<¨z¸!©}Ò<Ð<Ñ<Ð<Ð<Ø˜"‰~ 
¨1¡Ò-Ð-Ð-à×(Ñ(¨Ó4ˆÜ—8‘8˜R ˜H¨G¯M©MÔ:ˆÜ
×Ñ˜x¨Ô1à%×1Ñ1°*ÀWÐ1ÓMÐÜ—8‘8˜Q ˜GÐ+;×+AÑ+AÔBˆÜ
×Ñ˜xÐ)9Ô:à ×,Ñ,¨ZÀÐ,ÓHˆÜ—8‘8˜Q ˜G¨;×+<Ñ+<Ô=ˆÜ
×Ñ˜x¨Õ5r$   c                 óh  — t        j                  t        d«      ddgg«      }d}t        j                  t
        |¬«      5  |j                  |d d d¬«       d d d «       d	}t        j                  t
        |¬«      5  |j                  |d d d
¬«       d d d «       y # 1 sw Y   ŒFxY w# 1 sw Y   y xY w)NrO   ÚAr+   z;limit argument only valid if doing pad, backfill or nearestrL   rk   r   )Úlimitz?tolerance argument only valid if doing pad, backfill or nearestÚpiano)rÈ   )r
   rÏ   rW   rS   rT   r‡   r¶   )r   rà   rd   s      r"   Ú!test_get_indexer_kwarg_validationz0TestGetIndexer.test_get_indexer_kwarg_validation  s£   € ä×$Ñ$¤e¨A£h°°c°
Ð%;Ó<ˆàKˆÜ�]‰]œ:¨SÔ1ñ 	-Ø�N‰N˜2˜c˜r˜7¨!ˆNÔ,÷	-ð PˆÜ�]‰]œ:¨SÔ1ñ 	7Ø�N‰N˜2˜c˜r˜7¨gˆNÔ6÷	7ð 	7÷		-ð 	-ú÷	7ð 	7ús   Á BÁ<B(ÂB%Â(B1c                 ój  — t        j                  dgddggddg¬«      }t        j                  dgt        j                  dggddg¬«      }t        j                  ddg«      }|j                  |«      }t        j                  ||d	¬
«       |j                  |«      }t        j                  ||d	¬
«       y )Nrí   ç      ð?ç       @Úid1Úid2©Únamesrk   r   F)Úcheck_dtype)r
   rÏ   r9   r‚   rb   r¶   rA   rÐ   )r   r¼   r½   rH   r!   s        r"   Útest_get_indexer_nanz#TestGetIndexer.test_get_indexer_nan  sž   € ä×&Ñ&¨¨°°S¨zÐ':À5È%À.ÔQˆÜ×&Ñ&¨¨´·±¸¨}Ð'=ÀeÈUÀ^ÔTˆÜ—8‘8˜R ˜GÓ$ˆØ×!Ñ! $Ó'ˆÜ
×#Ñ# F¨HÀ%ÕHØ×!Ñ! $Ó'ˆÜ
×#Ñ# F¨HÀ%ÖHr$   N)r}   r~   r   rÄ   rÊ   rÑ   rS   r€   r�   r9   r‚   rb   rµ   rÕ   rÝ   râ   ré   rë   rð   rù   rƒ   r$   r"   r«   r«   Ð   sc  „ ò2#òh
?ò	Ið ‡[�[×ÑØ#ð �R—V‘V˜Q�¢Ð+Ø�B—F‘F˜A�Ø�—‘š¨R¯W©WÔ5ðð
 �"—&‘&˜!ˆnšiÐ(¨B¯F©F°A¨;¨-¸¸¿¹À1À#ÈRÏWÉWÔ9UÐVÚ˜"Ÿ&™& ! Q˜Ð(¨A¨r¯v©v¨;¨-¸¸¿¹À1À#ÈRÏWÉWÔ9UÐVâ˜RŸV™V Q¨˜NÐ+Ø—‘˜˜A�Ø�—‘š¨R¯W©WÔ5ðð	
óñ"6ó#ð"6ò26ðh ‡[�[×Ñ˜XÒ'WÓXñ
4ó Yð
4òa6òF,6ò\
7óIr$   r«   c                 óò   — | d   dk(  sJ ‚| dd }| g d¢   }|j                  |«      sJ ‚| g d¢   }| t        j                  g d¢«         }| g d¢   }|j                  |«      sJ ‚|j                  |«      sJ ‚y )Nr   )r   r   r   ©r   rO   r   )TFTFTT)r   r   r   r   )Úequalsr9   rb   )r   r!   rH   Úresult2s       r"   Útest_getitemrþ     s‹   € àˆq‰6�^Ò#Ð#Ð#ð ��1ˆX€FØ’9‰~€HØ�=‰=˜Ô"Ð"Ð"ð Ò7Ñ8€FØ”"—(‘(ÒAÓBÑC€GØ’<Ñ €HØ�=‰=˜Ô"Ð"Ð"Ø�>‰>˜(Ô#Ð#Ñ#r$   c                 ó¬   — | j                  d«      \  }}|j                  d«      t        dd«      k(  sJ ‚|j                  d«      t        dd«      k(  sJ ‚y )Nr   r   rO   r   r   r   )r   Úget_locr@   )r   r   r    s      r"   Útest_getitem_group_selectr  -  sR   € Ø—M‘M !Ó$�M€J�Ø×Ñ˜eÓ$¬¨a°«Ò3Ð3Ð3Ø×Ñ˜eÓ$¬¨a°«Ò3Ð3Ñ3r$   Úind1Tr   Úind2)TFTFFc                 óÄ   — t        j                  g d¢«      }t        j                  ||    |«       t        j                  ddg«      }t        j                  ||   |«       y )N)©rK   r   )r´   r   ©r5   rO   )é(   r   )r&   r   r  r  )r
   rŽ   rA   r�   ©r  r  r   rH   s       r"   Útest_getitem_bool_index_allr	  3  sR   € ô ×
 Ñ
 Ò!NÓ
O€CÜ×Ñ˜#˜d™) SÔ)ä×%Ñ% w°Ð&8Ó9€HÜ×Ñ˜#˜d™) XÕ.r$   Fc                 óB  — t        j                  dg«      }t        j                  ||    |«       t        t	        j
                  g t        j                  ¬«      t	        j
                  g t        j                  ¬«      gg g g¬«      }t        j                  ||   |«       y )Nr  r(   r^   )r
   rŽ   rA   r�   r9   rb   Úint64r  s       r"   Útest_getitem_bool_index_singler  A  sw   € ô ×
 Ñ
  ' Ó
+€CÜ×Ñ˜#˜d™) SÔ)äÜ—‘˜¤2§8¡8Ô,¬b¯h©h°rÄÇÁÔ.JÐKØ�2ˆhô€Hô ×Ñ˜#˜d™) XÕ.r$   c                   óö  — e Zd Zd„ Zd„ Zd„ Zej                  j                  de	e
eeg«      ej                  j                  de	e
eeg«      d„ «       «       Zej                  j                  ddd	g«      ej                  j                  d
e	e
ge
e	gg«      d„ «       «       Zej                  j                  deeg«      d„ «       Zej                  j                  ddd	g«      d„ «       Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zy)Ú
TestGetLocc           	      ór  — |j                  d«      dk(  sJ ‚|j                  d«      dk(  sJ ‚t        j                  t        d¬«      5  |j                  d«       d d d «       t        j                  t        d¬«      5  |j                  d	«       d d d «       t	        t        t        j                  d
«      «      t        t        j                  d
«      «      t        t        j                  d
«      «      gt        j                  g d¢«      t        j                  g d¢«      t        j                  g d¢«      g¬«      }t        j                  t        d¬«      5  |j                  d«       d d d «       |j                  d«      t        dd«      k(  sJ ‚y # 1 sw Y   �Œ;xY w# 1 sw Y   �ŒxY w# 1 sw Y   ŒDxY w)Nr   r   )r   r   rO   z^\('bar', 'two'\)$rL   ©r   r   z^'quux'$Úquuxr   r[   r\   r]   r^   z
^\(1, 1\)$rß   )r   r   r   )
r   rS   rT   rc   r
   r	   r9   ra   rb   r@   )r   r   r   s      r"   Útest_get_loczTestGetLoc.test_get_locP  sF  € Ø�{‰{˜>Ó*¨aÒ/Ð/Ð/Ø�{‰{˜>Ó*¨aÒ/Ð/Ð/Ü�]‰]œ8Ð+@ÔAñ 	(Ø�K‰K˜Ô'÷	(ä�]‰]œ8¨;Ô7ñ 	 Ø�K‰K˜Ô÷	 ô Üœ"Ÿ)™) A›,Ó'¬¬r¯y©y¸«|Ó)<¼eÄBÇIÁIÈaÃLÓ>QÐRä—‘Ò1Ó2Ü—‘Ò1Ó2Ü—‘Ò1Ó2ðô
ˆô �]‰]œ8¨=Ô9ñ 	"Ø�M‰M˜&Ô!÷	"à�}‰}˜VÓ$¬¨a°«Ò3Ð3Ñ3÷!	(ñ 	(ú÷	 ñ 	 ú÷	"ð 	"ús$   ÁFÁ=F ÅF-ÆFÆ F*Æ-F6c                 ó6  — t        g d¢«      }|j                  d«      }t        dd«      }||k(  sJ ‚t        g d¢«      }|j                  d«      }d}||k(  sJ ‚t        j                  t
        d¬«      5  |j                  d«       d d d «       y # 1 sw Y   y xY w)	N)r   r   r   r   r   r   r   )rp   rQ   rQ   rn   rn   rp   Ú2rL   )r	   r   r@   rS   rT   rc   )r   r   r!   rH   ÚrsÚxps         r"   Útest_get_loc_duplicatesz"TestGetLoc.test_get_loc_duplicatese  s‹   € Ü’lÓ#ˆØ—‘˜qÓ!ˆÜ˜˜A“;ˆØ˜Ò!Ð!Ð!äÒ/Ó0ˆØ�]‰]˜3ÓˆØˆØ�RŠxˆˆxä�]‰]œ8¨3Ô/ñ 	Ø�M‰M˜!Ô÷	÷ 	ñ 	ús   Á4BÂBc           	      ó`  — t        t        t        j                  d«      «      t        t        j                  d«      «      t        t        j                  d«      «      gt        j                  g d¢«      t        j                  g d¢«      t        j                  g d¢«      g¬«      }|j                  d«      \  }}t        dd«      }||   j                  d	«      j                  d	«      }||k(  sJ ‚|j                  |«      sJ ‚|j                  d
«      \  }}d}||k(  sJ ‚|�J ‚t        j                  t        d¬«      5  |j                  d«       d d d «       t        j                  t        d¬«      5  |j                  d«      j                  d«       d d d «       t        j                  t        d¬«      5  |j                  dd¬«      j                  dd¬«       d d d «       t        dgt        t        d«      «      gt        j                  g d¢«      t        j                  g d¢«      g¬«      }|j                  dt        d d «      f«      \  }}t        d d «      }||k(  sJ ‚|j                  |j                  d	«      «      sJ ‚y # 1 sw Y   �Œ:xY w# 1 sw Y   �ŒxY w# 1 sw Y   ŒÇxY w)Nr   r[   r\   r]   r^   ©r   r   r   r   r   )r   r   r   z
^\(2, 2\)$rL   ri   z^2$)ÚleveliÐ  )r   r   r   r   )r   r   r   rO   )r
   r	   r9   ra   rb   Úget_loc_levelr@   Ú	droplevelrü   rS   rT   rc   Údropr=   rW   )r   r   ÚlocÚ	new_indexrH   Ú	exp_indexr!   s          r"   Útest_get_loc_levelzTestGetLoc.test_get_loc_levels  s=  € ÜÜœ"Ÿ)™) A›,Ó'¬¬r¯y©y¸«|Ó)<¼eÄBÇIÁIÈaÃLÓ>QÐRä—‘Ò1Ó2Ü—‘Ò1Ó2Ü—‘Ò1Ó2ðô
ˆð ×,Ñ,¨VÓ4‰ˆˆYÜ˜˜A“;ˆØ˜(‘O×-Ñ-¨aÓ0×:Ñ:¸1Ó=ˆ	Ø�hŠÐˆØ×Ñ 	Ô*Ð*Ð*à×,Ñ,¨YÓ7‰ˆˆYØˆØ�hŠÐˆØÐ Ð Ð ä�]‰]œ8¨=Ô9ñ 	(Ø×Ñ Ô'÷	(ô �]‰]œ8¨6Ô2ñ 	+Ø�J‰J�q‹M×'Ñ'¨Ô*÷	+ô �]‰]œ8¨6Ô2ñ 	=Ø�J‰J�q ˆJÓ"×0Ñ0°¸!Ð0Ô<÷	=ô Ø�FœD¤ q£›NÐ+Ü—8‘8šLÓ)¬2¯8©8²LÓ+AÐBô
ˆð "×/Ñ/°´u¸TÀ4Ó7HÐ0IÓJÑˆ�	Ü˜˜tÓ$ˆØ˜Ò!Ð!Ð!Ø×Ñ §¡°Ó 2Ô3Ð3Ñ3÷!	(ñ 	(ú÷	+ñ 	+ú÷	=ð 	=ús$   Å J
Å5!JÆ9%J$Ê
JÊJ!Ê$J-Údtype1Údtype2c                 óø   — t        j                  ddg«      j                  |«      t        j                  ddg«      j                  |«      g}t        j                  |«      }|j                  |d   «      dk(  sJ ‚y )Nr   r   r   )r9   rb   Úastyper
   rÏ   r   )r   r"  r#  r_   r   s        r"   Útest_get_loc_multiple_dtypesz'TestGetLoc.test_get_loc_multiple_dtypes™  si   € ô —(‘(˜A˜q˜6Ó"×)Ñ)¨&Ó1´2·8±8¸QÀ¸FÓ3C×3JÑ3JÈ6Ó3RÐSˆÜ×%Ñ% fÓ-ˆØ�{‰{˜3˜q™6Ó" aÒ'Ð'Ñ'r$   r  r   r   Údtypesc                 óÜ   — ddgddgg}ddg}|\  }}t        j                  ddg|¬«      ||<    |d«      ||<   t        j                  |«      }|j	                  t        |«      «      dk(  sJ ‚y )	NrQ   rn   rp   rq   r   r   r(   rO   )r9   rb   r
   rÏ   r   Útuple)r   r  r'  r_   ÚkeyÚ	lev_dtypeÚ	key_dtyper   s           r"   Útest_get_loc_implicit_castz%TestGetLoc.test_get_loc_implicit_cast¡  sy   € ð ˜�*˜s C˜jÐ)ˆØ�CˆjˆØ%Ñˆ	�9ÜŸ™ ! Q ¨yÔ9ˆˆu‰Ù˜q“\ˆˆE‰
Ü×%Ñ% fÓ-ˆØ�{‰{œ5 ›:Ó&¨!Ò+Ð+Ñ+r$   r)   c                 ó  — t        ddg|¬«      t        j                  dd¬«      g}t        j                  |«      }|t
        u rwt        j                  t        d¬«      5  |j                  d«      d	k(  sJ ‚	 d d d «       t        j                  t        d
¬«      5  |j                  d«      dk(  sJ ‚	 d d d «       n,|j                  d«      d	k(  sJ ‚|j                  d«      dk(  sJ ‚t        j                  t        d¬«      5  |j                  d«       d d d «       t        j                  t        d¬«      5  |j                  d«       d d d «       y # 1 sw Y   ŒÜxY w# 1 sw Y   Œ€xY w# 1 sw Y   ŒWxY w# 1 sw Y   y xY w)NFTr(   r   r  z
^\(0, 1\)$rL   r  r   z
^\(1, 0\)$rh   z^\(False, True\)$)FTz^\(True, False\)$)TF)
r	   r9   ra   r
   rÏ   ÚboolrS   rT   rc   r   )r   r)   r_   r   s       r"   Útest_get_loc_cast_boolz!TestGetLoc.test_get_loc_cast_bool­  sI  € ô ˜ ˜¨UÔ3´R·Y±Y¸qÈÔ5PÐQˆÜ×%Ñ% fÓ-ˆà”D‰=Ü—‘œx¨}Ô=ñ 0Ø—{‘{ 6Ó*¨aÒ/Ð/Ñ/÷0ä—‘œx¨}Ô=ñ 0Ø—{‘{ 6Ó*¨aÒ/Ð/Ñ/÷0ð 0ð —;‘;˜vÓ&¨!Ò+Ð+Ð+Ø—;‘;˜vÓ&¨!Ò+Ð+Ð+ä�]‰]œ8Ð+?Ô@ñ 	'Ø�K‰K˜Ô&÷	'ä�]‰]œ8Ð+?Ô@ñ 	'Ø�K‰K˜Ô&÷	'ð 	'÷0ð 0ú÷0ð 0ú÷	'ð 	'ú÷	'ð 	'ús0   ÁEÂEÄE*Ä7E6ÅEÅE'Å*E3Å6E?c                 óØ   — ddgddgg}ddg}t        j                  d|gt        |«      ¬«      ||<   |||<   t        j                  |«      }|j                  t        |«      «      dk(  sJ ‚y )NrQ   rn   rp   rq   r   r(   rO   )r9   rb   Útyper
   rÏ   r   r)  )r   r  Únulls_fixturer_   r*  r   s         r"   Útest_get_loc_nanzTestGetLoc.test_get_loc_nanÃ  sq   € ð ˜�*˜s C˜jÐ)ˆØ�CˆjˆÜŸ™ ! ]Ð!3¼4ÀÓ;NÔOˆˆu‰Ø"ˆˆE‰
Ü×%Ñ% fÓ-ˆØ�{‰{œ5 ›:Ó&¨!Ò+Ð+Ñ+r$   c                 ó<  — t        j                  ddgddgg«      }t        |j                  d«      t        «      sJ ‚t        j                  t        d¬«      5  |j                  d«       d d d «       t        j                  t        d	¬«      5  |j                  t        j                  «       d d d «       t        j                  t        d
¬«      5  |j                  t        j                  g«       d d d «       y # 1 sw Y   Œ‘xY w# 1 sw Y   ŒZxY w# 1 sw Y   y xY w)Nrò   ró   g      @g      @r   z^3$rL   rO   z^nan$z\[nan\])r
   rx   Ú
isinstancer   r@   rS   rT   rc   r9   r‚   r   ©r   r   s     r"   Útest_get_loc_missing_nanz#TestGetLoc.test_get_loc_missing_nanÍ  sÓ   € ä×$Ñ$ s¨C j°3¸°*Ð%=Ó>ˆÜ˜#Ÿ+™+ a›.¬%Ô0Ð0Ð0Ü�]‰]œ8¨6Ô2ñ 	Ø�K‰K˜ŒN÷	ä�]‰]œ8¨8Ô4ñ 	 Ø�K‰KœŸ™Ô÷	 ä�]‰]Ô,°JÔ?ñ 	"à�K‰KœŸ™˜Ô!÷	"ð 	"÷		ð 	ú÷	 ð 	 ú÷	"ð 	"ús$   ÁC:Â DÃ!DÃ:DÄDÄDc                 óp  — t        j                  t        j                  dggdz  «      }t	        ddd «      }|j                  t        j                  «      |k(  sJ ‚t        j                  t        j                  ddt        j                  gg«      }t        j                  g d¢«      }t        j                  |j                  t        j                  «      |«       t        j                  t        j                  dggdz  «      }t	        ddd «      }|j                  t        j                  df«      |k(  sJ ‚y )Nr   r   r   )TFFTrO   r   )
r
   rÏ   r9   r‚   r@   r   rx   rb   rA   rÐ   )r   r   rH   s      r"   Ú1test_get_loc_with_values_including_missing_valuesz<TestGetLoc.test_get_loc_with_values_including_missing_valuesÙ  sæ   € ä×%Ñ%¬¯©° { m°aÑ&7Ó8ˆÜ˜˜A˜tÓ$ˆØ�{‰{œ2Ÿ6™6Ó" hÒ.Ð.Ð.ä×$Ñ$¤r§v¡v¨q°!´R·V±VÐ&<Ð%=Ó>ˆÜ—8‘8Ò6Ó7ˆÜ
×#Ñ# C§K¡K´·±Ó$7¸ÔBä×%Ñ%¬¯©° { m°aÑ&7Ó8ˆÜ˜˜A˜tÓ$ˆØ�{‰{œBŸF™F A˜;Ó'¨8Ò3Ð3Ñ3r$   c                 ó|   — t        g d¢g d¢gg d¢g d¢gddg¬«      }|j                  d«      t        d	d
«      k(  sJ ‚y )N)ÚDr+   ÚC)r   é   é   é%   é9   éC   éK   éR   )
r   r   r   r   r   r   r   r   r   r   )
r   rO   r   r8   r   r   r   rO   r   rš   ÚtagÚday©r_   r`   r÷   r<  r   rO   )r
   r   r@   )r   r   s     r"   Útest_get_loc_duplicates2z#TestGetLoc.test_get_loc_duplicates2ç  sD   € äÚ#Ò%DÐEÚ1Ò3QÐRØ˜%�.ô
ˆð �}‰}˜SÓ!¤U¨1¨a£[Ò0Ð0Ñ0r$   c                 óì   — t        dgddgdggddgddgddggg d¢d¬«      }d}t        j                  t        «      5  |j	                  |«      }d d d «       t        ddd «      k(  sJ ‚y # 1 sw Y   ŒxY w)NrQ   r   rš   r   )ÚxÚyÚz)r_   r`   r÷   Ú	sortorder)rQ   rš   )r
   rA   Úassert_produces_warningr   r   r@   )r   r   r*  r!   s       r"   Útest_get_loc_past_lexsort_depthz*TestGetLoc.test_get_loc_past_lexsort_depthñ  sŒ   € äØ�E˜A˜q˜6 A 3Ð'Ø�q�6˜A˜q˜6 A q 6Ð*Ú!Øô	
ˆð ˆä×'Ñ'Ô(:Ó;ñ 	&à—[‘[ Ó%ˆF÷	&ð œ˜q ! TÓ*Ò*Ð*Ñ*÷		&ð 	&ús   ½A*Á*A3c                 ó¸   — t        j                  ddg«      }d}t        j                  t        |¬«      5  |j                  g «       d d d «       y # 1 sw Y   y xY w)Nr�   rÆ   z\[\]rL   )r
   rŽ   rS   rT   r   r   rŠ   s      r"   Ú#test_multiindex_get_loc_list_raisesz.TestGetLoc.test_multiindex_get_loc_list_raises  sK   € ä×$Ñ$ h°Ð%9Ó:ˆØˆÜ�]‰]Ô,°CÔ8ñ 	Ø�K‰K˜ŒO÷	÷ 	ñ 	úó   µAÁAc                 ó<  — t        j                  t        d«      t        d«      t        d«      t        d«      g«      }d}t        j                  t
        t        j                  t        |«      «      ¬«      5  |j                  |«       d d d «       y # 1 sw Y   y xY w)NrO   r   r   r8   )rû   r   rL   )
r
   rÏ   rW   rS   rT   rc   ÚreÚescapeÚstrr   )r   rà   r*  s      r"   Ú)test_get_loc_nested_tuple_raises_keyerrorz4TestGetLoc.test_get_loc_nested_tuple_raises_keyerror  sk   € ä×$Ñ$¤e¨A£h´°a³¼%À»(ÄEÈ!ÃHÐ%MÓNˆØ ˆä�]‰]œ8¬2¯9©9´S¸³XÓ+>Ô?ñ 	Ø�J‰J�sŒO÷	÷ 	ñ 	ús   Á7BÂBN)r}   r~   r   r  r  r!  rS   r€   r�   ÚintÚfloatr/  rV  r&  r-  r>   r0  r4  r8  r:  rH  rO  rQ  rW  rƒ   r$   r"   r  r  O  s$  „ ò4ò*ò$4ðL ‡[�[×Ñ˜X¨¨U°D¸#Ð'>Ó?Ø‡[�[×Ñ˜X¨¨U°D¸#Ð'>Ó?ñ(ó @ó @ð(ð ‡[�[×Ñ˜W q¨! fÓ-Ø‡[�[×Ñ˜X¨¨e¨°u¸c°lÐ'CÓDñ,ó Eó .ð,ð ‡[�[×Ñ˜W t¨V nÓ5ñ'ó 6ð'ð* ‡[�[×Ñ˜W q¨! fÓ-ñ,ó .ð,ò
"ò4ò1ò+ò ór$   r  c                   ó   — e Zd Zd„ Zd„ Zy)Ú	TestWherec                 ó¸   — t        j                  ddg«      }d}t        j                  t        |¬«      5  |j                  d«       d d d «       y # 1 sw Y   y xY w)N©rí   r   ©rí   r   ú2\.where is not supported for MultiIndex operationsrL   T©r
   rŽ   rS   rT   rÉ   Úwhere)r   rX   rd   s      r"   Ú
test_wherezTestWhere.test_where  sK   € Ü×"Ñ" H¨hÐ#7Ó8ˆàCˆÜ�]‰]Ô.°cÔ:ñ 	Ø�G‰G�DŒM÷	÷ 	ñ 	úrR  c                 óÌ   — t        j                  ddg«      }ddg}d}t        j                  t        |¬«      5  |j                   ||«      «       d d d «       y # 1 sw Y   y xY w)Nr]  r^  FTr_  rL   r`  )r   Úlistlike_boxrà   Úcondrd   s        r"   Útest_where_array_likezTestWhere.test_where_array_like  sZ   € Ü×#Ñ# X¨xÐ$8Ó9ˆØ�tˆ}ˆØCˆÜ�]‰]Ô.°cÔ:ñ 	)Ø�H‰H‘\ $Ó'Ô(÷	)÷ 	)ñ 	)ús   ¹AÁA#N)r}   r~   r   rb  rf  rƒ   r$   r"   r[  r[    s   „ òó)r$   r[  c                   ó6   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	y)	ÚTestContainsc                 óf   — t        j                  ddgddgg«      }d|v sJ ‚d|j                  vsJ ‚y )Nrí   r+   r   r   )r
   rÏ   Ú_engine)r   r¥   s     r"   Útest_contains_top_levelz$TestContains.test_contains_top_level"  s=   € Ü×&Ñ&¨¨c¨
°Q¸°FÐ';Ó<ˆØ�d‰{Ðˆ{Ø˜$Ÿ,™,Ñ&Ð&Ñ&r$   c                 ó°   — t        dgt        dd¬«      gg d¢g d¢gd dg¬«      }dt        j                  d«      f|v sJ ‚|j                  D ]  }||v rŒJ ‚ y )	Nr=  rÌ   r   )r-   )r   r   r   r   r   r   )rk   r   r   r   rO   r   r+   rG  )r
   r   r¡   Ú	TimestamprC   )r   rà   Úvals      r"   Útest_contains_with_natz#TestContains.test_contains_with_nat'  sj   € äØ�Eœ: l¸AÔ>Ð?Ú%Ò':Ð;Ø˜�+ô
ˆð
 ”R—\‘\ ,Ó/Ð0°BÑ6Ð6Ð6Ø—9‘9ò 	ˆCØ˜"’9Ð�9ñ	r$   c                 ó(   — d|v sJ ‚d|vsJ ‚d |vsJ ‚y )Nr   r  rƒ   r7  s     r"   Útest_containszTestContains.test_contains2  s*   € Ø Ñ$Ð$Ð$Ø SÑ(Ð(Ð(Ø˜3‰Ð‰r$   c                 ó   — t        j                  dt        j                  dgg«      }t        j                  |v sJ ‚t        j                  ddgt        j                  dgg«      }t        j                  |vsJ ‚dt        j                  f|v sJ ‚y )Nr   r   rO   )r
   rx   r9   r‚   r7  s     r"   Ú test_contains_with_missing_valuez-TestContains.test_contains_with_missing_value7  sx   € ä×$Ñ$ q¬"¯&©&°! nÐ%5Ó6ˆÜ�v‰v˜‰}Ðˆ}ä×$Ñ$ q¨! f¬r¯v©v°q¨kÐ%:Ó;ˆÜ�v‰v˜SÑ Ð Ð Ø”2—6‘6ˆ{˜cÑ!Ð!Ñ!r$   c                 ó0  — t        j                  ddgddgg«      }d|v sJ ‚|j                  d«      }d|j                  d   v sJ ‚d|vsJ ‚t        j                  ddgdd	gg«      }d|v sJ ‚|j                  d«      }d|j                  d   v sJ ‚d|vsJ ‚y )
Nr   r   rO   r   r   rQ   rn   rp   rq   )r
   rÏ   r  r_   r7  s     r"   Ú test_multiindex_contains_droppedz-TestContains.test_multiindex_contains_dropped@  s·   € ô ×%Ñ%¨¨1 v°°1¨vÐ&6Ó7ˆØ�C‰xˆˆxØ�h‰h�q‹kˆð �C—J‘J˜q‘MÑ!Ð!Ð!à˜‰|Ðˆ|ô ×%Ñ%¨¨S z°C¸°:Ð&>Ó?ˆØ�c‰zÐˆzØ�h‰h�s‹mˆØ�c—j‘j ‘mÑ#Ð#Ð#Ø˜#‰~Ð‰~r$   c                 óÄ   — t        j                  ddd¬«      }t        j                  |t	        j
                  t        |«      «      g«      }|d   |v sJ ‚d|vsJ ‚d|v sJ ‚y )Nz09:30:00z16:00:00z30 min)r.   r   Úelement_not_exitz0 day 09:30:00)r¡   Útimedelta_ranger
   rx   r9   ra   r   )r   Útxr   s      r"   Útest_contains_td64_levelz%TestContains.test_contains_td64_levelT  sd   € ä×Ñ 
¨J¸XÔFˆÜ×$Ñ$ b¬"¯)©)´C¸³GÓ*<Ð%=Ó>ˆØ�!‰u˜‰|Ðˆ|Ø!¨Ñ,Ð,Ð,Ø 3Ñ&Ð&Ñ&r$   c                 óÜ   — |j                  «       5  |j                  t        dd«       t        j                  t        d«      t        d«      g«      }d|vsJ ‚	 d d d «       y # 1 sw Y   y xY w)NÚ_SIZE_CUTOFFrK   )rK   r   )ÚcontextÚsetattrÚlibindexr
   rx   rW   )r   Úmonkeypatchr!   s      r"   Útest_large_mi_containsz#TestContains.test_large_mi_contains\  s`   € à× Ñ Ó"ñ 	)Ø×Ñ¤¨.¸"Ô=Ü×+Ñ+¬U°2«Y¼¸b»	Ð,BÓCˆFØ &Ñ(Ð(Ñ(÷	)÷ 	)ñ 	)ús   ‘AA"Á"A+N)
r}   r~   r   rk  ro  rq  rs  ru  rz  r�  rƒ   r$   r"   rh  rh  !  s%   „ ò'ò
	òò
"òò('ó)r$   rh  c                  óâ  — t        j                  t        dddd¬«      dgdgg«      } t        dt	        j
                  t        | «      «      i| «      }|j                  t        j                  d	d …dd d …f   df   }t        j                  t        d
ddd¬«      dgdgg«      }t        j                  t	        j
                  dt        |«      dz   «      |d¬«      }t        j                  ||«       y )Nz2019-01-01T00:15:33éd   rÍ   Údate)r-   r.   rR   rJ  rO   r   z2019-1-2z2019-01-02T00:15:33z2019-01-05T03:15:33)rv   rw   r.   rR   é   )Údatar   rR   )r
   rÏ   r   r   r9   ra   r   r  r¡   Ú
IndexSlicer¢   rA   Úassert_series_equal)r   rD   r!   ÚqidxÚ	should_bes        r"   Ú!test_timestamp_multiindex_indexerr‹  d  sá   € ä
×
!Ñ
!äÐ,°cÀÈ&ÔQØˆEØˆCð	
ó€Cô 
�Eœ2Ÿ9™9¤S¨£XÓ.Ð/°Ó	5€BØ�V‰V”B—M‘M *¡+¨s²AÐ"5Ñ6¸Ð=Ñ>€FÜ×"Ñ"äØ+Ø)ØØô	ð ˆEØˆCð		
ó€Dô —	‘	œrŸy™y¨¬S°«Y¸©^Ó<ÀDÈuÔU€IÜ×Ñ˜6 9Õ-r$   zindex_arr,expected,target,algorQ   rn   ro   r�   r   rp   r‘   rs   rq   c                 ób   — t        j                  | «      }|j                  ||¬«      }||k(  sJ ‚y )N)Úside)r
   rx   Úget_slice_bound)ry   rH   ÚtargetÚalgor   r!   s         r"   Ú'test_get_slice_bound_with_missing_valuer‘    s7   € ô ×
 Ñ
  Ó
+€CØ× Ñ  ¨dÐ Ó3€FØ�XÒÐÑr$   rm   r   rÒ   rO   )r   r   r•   r   )rO   r   c                 ób   — t        j                  | «      }|j                  ||¬«      }||k(  sJ ‚y ru   )r
   rx   Úslice_indexer)ry   rH   rz   r{   r   r!   s         r"   Ú%test_slice_indexer_with_missing_valuer”  Ž  s7   € ô ×
 Ñ
  Ó
+€CØ×Ñ Y°GÐÓ<€FØ�XÒÐÑr$   c                  óŒ  — d} dgdz  | z  dgdz  | z  dgdz  | z  t         j                  g| z  dgdz  | z  z   dg| z  dgdz  | z  z   t         j                  g| z  dgdz  | z  z   dg| z  z   fD �cg c]  }t        |«      ‘Œ }}t        |«      D ]�  \  }}t	        j
                  |«      }|j                  |«      |k(  sJ ‚t        j                  |dz   t         j                  ¬«      }|j                  |D �cg c]  }||   ‘Œ	 c}«      }t        j                  ||«       Œ’ t        t        |«      «      }	t        j                  d	gt        |	«      z   t         j                  ¬«      }t        ddgdz  | z  «      }
j                  |
g|	D �cg c]  }||   ‘Œ	 c}z   «      }t        j                  ||«       y c c}w c c}w c c}w )
Nr   r   rK   r   r   rÎ   rj   r(   rk   )r9   r‚   r)  Ú	enumerater
   rŽ   r   ra   rµ   r¶   rA   rÐ   rW   r   rb   r=   )ÚNÚarrÚkeysr   Ú	key_valuer   rH   rX   r!   ÚidcesÚmissings              r"   Útest_pyint_enginer�  ž  sÂ  € ð 	
€Að ˆC�"‰H�q‰LØˆC�"‰H�q‰LØˆC�"‰H�q‰LÜ�V‰VˆH�q‰L˜A˜3 ™7 Q™;Ñ&ØˆC�!‰G�q�c˜A‘g ‘kÑ!Ü�V‰VˆH�q‰L˜A˜3 ™7 Q™;Ñ&¨!¨¨q©Ñ0ð
ö
àô 	ˆc�
ð
€Dð 
ô" $ D›/ò 6‰ˆˆYÜ×&Ñ& tÓ,ˆØ�}‰}˜YÓ'¨3Ò.Ð.Ð.ä—9‘9˜S 1™W¬B¯G©GÔ4ˆØ×"Ñ"°XÖ#>° D¨£GÒ#>Ó?ˆÜ
×#Ñ# F¨HÕ5ð6ô ”#�d“)Ó€EÜ�x‰x˜˜œt E›{Ñ*´"·'±'Ô:€HÜ�Q˜�F˜Q‘J ‘NÓ#€GØ×Ñ ˜y¸UÖ+C¸¨D°«GÒ+CÑCÓD€FÜ×Ñ ¨Õ1ùò=
ùò, $?ùò ,Ds   Á/F7Ã6F<
ÆG
zkeys,expected)TFTr8   c                 óÒ   — t        j                  g d¢g d¢g«      }|j                  | «      }t        j                  |t        j
                  ¬«      }t        j                  ||«       y )N)r   r   r   )r   r   r8   r(   )r
   rx   Úget_locsr9   rb   rµ   rA   rÐ   )r™  rH   r   r!   s       r"   Útest_get_locs_reorderingr   Ä  sS   € ô ×
 Ñ
 âÚð	
ó€Cð �\‰\˜$Ó€FÜ�x‰x˜¬¯©Ô0€HÜ×Ñ ¨Õ1r$   c                 ó´  — t        j                  dgddggddg¬«      }t        j                  dg| dggddg¬«      }|j                  |«      }t        j                  ddgt        j
                  ¬	«      }t        j                  ||«       |j                  |«      }t        j                  ddgt        j
                  ¬	«      }t        j                  ||«       y )
Nrí   rò   ró   rô   rõ   rö   rk   r   r(   )r
   rÏ   r¶   r9   rb   rµ   rA   rÐ   )r3  r¼   r½   r!   rH   s        r"   Ú)test_get_indexer_for_multiindex_with_nansr¢  Þ  s¶   € ä×"Ñ" S E¨C°¨:Ð#6¸uÀe¸nÔM€DÜ×"Ñ" S E¨M¸3Ð+?Ð#@ÈÐPUÈÔW€Dà×Ñ˜dÓ#€FÜ�x‰x˜˜Q˜¤r§w¡wÔ/€HÜ×Ñ ¨Ô1à×Ñ˜dÓ#€FÜ�x‰x˜˜Q˜¤r§w¡wÔ/€HÜ×Ñ ¨Õ1r$   )*Údatetimer   rT  Únumpyr9   rS   Úpandas._libsr   r  Úpandas.errorsr   r   Úpandasr¡   r   r   r	   r
   r   Úpandas._testingÚ_testingrA   r   r…   r«   rþ   r  r€   r�   r	  r  r  r[  rh  r‹  r‚   r‘  r@   r”  r�  r   r¢  rƒ   r$   r"   ú<module>rª     s�  ðÝ Û 	ã Û å *÷ó
 ÷õ õ ÷~"ñ ~"÷B40ñ 40÷nIIñ IIòX
$ò"4ð ‡�×Ñ˜ 4 &¨1¡*©e°T°F¸Q±JÓ.?Ð!@ÓAØ‡�×ÑØ
Ú&©Ò.OÓ(PÐQóñ/ó	ó Bð
/ð ‡�×Ñ˜ 4 &©%°°«-Ð!8Ó9Ø‡�×Ñ˜ 5 '©5°%°«>Ð!:Ó;ñ	/ó <ó :ð	/÷ñ ÷D)ñ )÷ @)ñ @)òF.ð6 ‡�×ÑØ$à�6‰6�3˜Ð
šoÐ	.°°2·6±6¸6ÐBØ�6‰6�3˜Ð
šoÐ	.°°B·F±F¸C°=À'ÐJÚ
˜C §¡¨Ð-Ð	.°°C¸¿¹°=À&ÐIðóñóðð ‡�×ÑØ*à�6‰6�1�aˆ.š)Ð	$¡e¨A¨q°$Ó&7¸¿¹ÀÐCØ�6‰6�1�aˆ.š)Ð	$¡e¨A¨q°$Ó&7¸¿¹ÀÐHÚ
�a˜Ÿ™ �^Ð	$¡e¨A¨q°$Ó&7¸!¸R¿V¹V¸ÀaÐHÚ
�a˜Ÿ™ �^Ð	$¡e¨A¨q°$Ó&7¸!¸R¿V¹V¸ÀfÐMð	óñóðò#2ðL ‡�×ÑØá
�‹+˜˜1�vÐ	  A Ð'Ù
�‹+˜˜1�vÐ	  A Ð'Ú
  1˜vÐ	&¨¨A¨Ð/Ú
  1˜vÐ	&¨¨A¨Ð/Ø
ˆa�ˆVˆ�q˜!�fÐØ
ˆa�ˆVˆ�q˜!�fÐØˆ#��1ˆvˆ˜˜A˜ÐØˆ#��1ˆvˆ˜˜A˜Ðð	óñ
2óð
2ó2r$   