Ë
    ž…j•ˆ ã                   óŒ  — d dl m Z  d dlZd dlZd dlZd dlZd dlmZ d dlm	Z	 d dl
Zd dl
mZmZmZmZmZmZmZ d dlmZ d dlmZ  ej2                  ddg¬	«      d
„ «       Z G d„ d«      Zej8                  j;                  dddg«      d„ «       Zej8                  j;                  dg d¢dej>                  fdddgfg d¢ddej>                  fddgfg d¢dddej>                  fdgfg d¢ddddej>                  fgfgg d¢¬«      d„ «       Z d„ Z!d„ Z"ej8                  jG                  d«      d „ «       Z$ej8                  jG                  d«      ej8                  j;                  d!ddejJ                  g«      d"„ «       «       Z&ej8                  jG                  d«      ej8                  j;                  d!ddejJ                  g«      d#„ «       «       Z'ej8                  jG                  d«      ej8                  j;                  d!ddejJ                  g«      ej8                  j;                  d$dd g«      d%„ «       «       «       Z(d&„ Z)d'„ Z*ej8                  jG                  d«      d(„ «       Z+d)„ Z,ej8                  jG                  d«      d*„ «       Z-ej8                  jG                  d«      d+„ «       Z. G d,„ d-«      Z/ej8                  jG                  d«      d.„ «       Z0ej8                  j;                  d/dej>                  fdej>                  fdejb                  fd0ejb                  fg«      ej8                  j;                  d1ddg«      d2„ «       «       Z2y)3é    )ÚdatetimeN)Úlib)ÚPandas4Warning)Ú	DataFrameÚIndexÚ
MultiIndexÚPeriodÚSeriesÚ	TimedeltaÚ
date_range)ÚreshapeTF)Úparamsc                 ó   — | j                   S ©N)Úparam)Úrequests    úf/root/aria/tools/markitdown-venv/lib/python3.12/site-packages/pandas/tests/frame/test_stack_unstack.pyÚfuture_stackr      s   € à�=‰=Ðó    c                   óH  — e Zd Zej                  j                  d«      d„ «       Zej                  j                  d«      d„ «       Zd„ Zej                  j                  d«      d„ «       Z	d„ Z
d„ Zd„ Zd	„ Zd
„ Zd„ Zej                  j!                  ddg d¢g d¢g d¢g d¢g ej$                  g d¢ddg¬«       ej$                  g d¢ddg¬«      fdg d¢g d¢g eddgd¬«       ej$                  g d¢g d¢¬«      fg«      d„ «       Zd„ Zej                  j                  d«      d„ «       Zej                  j                  d«      d„ «       Zej                  j                  d«      d „ «       Zd!„ Zej                  j                  d«      d"„ «       Zd#„ Zd$„ Zej                  j!                  d% ej<                  d&«       ej<                  d&«      f ej>                  d&d'¬(«       ej>                  d&d)d'¬(«      ff«      d*„ «       Z ej                  j                  d«      d+„ «       Z!d,„ Z"ej                  j!                  d-d.g d/¢ejF                  d0d1gejF                  d&d2gfd2g d3¢ejF                  d&d2gejF                  d0d1gff«      d4„ «       Z$ej                  j!                  d5d6dg e%d«      g«      d7„ «       Z&d8„ Z'd9„ Z(d:„ Z)ej                  j!                  d;d<d=g«      ej                  j!                  d> e* e+d1«      «      «      d?„ «       «       Z,ej                  j!                  d; e-j\                  g d@¢«      «      ej                  j!                  d> e* e+d«      «      «      ej                  j!                  dAdBdCg«      dD„ «       «       «       Z/dE„ Z0dF„ Z1dG„ Z2dH„ Z3dI„ Z4ej                  j                  d«      ej                  j!                  dJg dK¢g dL¢g dM¢g dN¢g dO¢g dP¢d.d2gd.d1gd.dgd.gd1gdgg dQ¢g dR¢g dS¢g dT¢g dU¢g dV¢d2d.gd1d.gdd.gg«      ej                  j!                  dWdXd.d2d.d2gd2d.gf«      dY„ «       «       «       Z5ej                  j                  d«      dZ„ «       Z6ej                  j                  d«      ej                  j!                  d[d\d]g«      d^„ «       «       Z7ej                  j                  d«      ej                  j!                  d[d\d]g«      ej                  j!                  d_ e*d`«      g da¢f e*db«      g dc¢fg«      dd„ «       «       «       Z8ej                  j                  d«      de„ «       Z9ej                  j                  d«      ej                  j!                  dfg dg¢g dh¢g dL¢g«      di„ «       «       Z:ej                  j                  d«      ej                  j!                  djd2d1gdkdlgdmdndnfd2d1gdodpgdmdqdrfg«      ds„ «       «       Z;ej                  j!                  dWd.d2g«      dt„ «       Z<ej                  j!                  dWd.dug«      dv„ «       Z=y)wÚTestDataFrameReshapeú9ignore:The previous implementation of stack is deprecatedc                 óh  — |j                  «       }t        j                  t        j                  |j                  «      «      j                  |j                  «      |d d  |j                  |¬«      }t        ||dœ«      }|j                  «       }|j                  «       }t        j                  ||«       t        j                  |d   |«       |j                  d«      }|j                  d«      }	t        j                  |j                  |«       t        j                  |	d   j                  |«       y )N©r   )ÚfooÚbarr   r   )ÚcopyÚnpÚarangeÚprodÚshaper   Ústackr   ÚunstackÚtmÚassert_frame_equalÚT)
ÚselfÚfloat_framer   ÚdfÚstackedÚ
stacked_dfÚ	unstackedÚunstacked_dfÚunstacked_colsÚunstacked_cols_dfs
             r   Útest_stack_unstackz'TestDataFrameReshape.test_stack_unstack   sï   € ð ×ÑÓˆÜ—	‘	œ"Ÿ'™' "§(¡(Ó+Ó,×4Ñ4°R·X±XÓ>ˆ‰1ˆà—(‘(¨�(Ó5ˆÜ w°wÑ?Ó@ˆ
à—O‘OÓ%ˆ	Ø!×)Ñ)Ó+ˆä
×Ñ˜i¨Ô,Ü
×Ñ˜l¨5Ñ1°2Ô6à Ÿ™¨Ó+ˆØ&×.Ñ.¨qÓ1ÐÜ
×Ñ˜n×.Ñ.°Ô3Ü
×ÑÐ/°Ñ6×8Ñ8¸"Õ=r   c           	      óH  — t        d«      g d¢ddgg}t        d|d   |d   ¬«      }|j                  |¬«      }t        dt	        j
                  |d d «      ¬«      }t        j                  ||«       t        d|d   t	        j
                  |dd  «      ¬«      }|j                  d|¬«      }t        dt	        j
                  |d   |d   g«      |d   ¬«      }t        j                  ||«       |d	d
g   j                  d|¬«      }|d	d
g   }t        j                  ||«       y )Né   )r2   ÚaÚbé   é   r   ©ÚindexÚcolumnsr   ©r8   r3   r4   )	Úranger   r"   r
   r   Úfrom_productr$   Úassert_series_equalr%   )r'   r   Úlevelsr)   ÚresultÚexpecteds         r   Útest_stack_mixed_levelz+TestDataFrameReshape.test_stack_mixed_level4   s#  € ô
 ˜“(šM¨A¨q¨6Ð2ˆô �q  q¡	°6¸!±9Ô=ˆØ—‘ |�Ó4ˆÜ˜!¤:×#:Ñ#:¸6À"À1¸:Ó#FÔGˆÜ
×Ñ˜v xÔ0ô �q  q¡	´:×3JÑ3JÈ6ÐRSÐRTÈ:Ó3VÔWˆØ—‘˜!¨,�Ó7ˆÜØ”Z×,Ñ,¨f°Q©i¸À¹Ð-CÓDÈfÐUVÉiô
ˆô 	×Ñ˜f hÔ/ð �S˜#�J‘×%Ñ% a°lÐ%ÓCˆØ˜S #˜JÑ'ˆÜ
×Ñ˜f hÕ/r   c                 ó4  — t        ddt        j                  gddt        j                  gdœ«      }|dg   }|d   |d<   t        |j                  j
                  «      dk(  sJ ‚|j                  «       }|j                  «       }t        j                  ||«       y )Nr5   r6   ç      @é   ©ÚxÚyrF   rG   )	r   r   ÚnanÚlenÚ_mgrÚblocksr#   r$   r=   )r'   r)   Údf2Úresr@   s        r   Útest_unstack_not_consolidatedz2TestDataFrameReshape.test_unstack_not_consolidatedN   s   € ä˜a ¤B§F¡F˜^°3¸¼2¿6¹6Ð2BÑCÓDˆØ�#�‰iˆØ�c‘7ˆˆC‰Ü�3—8‘8—?‘?Ó# qÒ(Ð(Ð(à�k‰k‹mˆØ—:‘:“<ˆÜ
×Ñ˜s HÕ-r   c                 ó~  — t        g d¢t        j                  ¬«      }t        j                  g d¢«      |_        |j                  d¬«      }t        g d¢g d¢dœg d	¢t        j                  ¬
«      }t        j                  ||«       d}t        j                  t        |¬«      5  |j                  d¬«      }d d d «       t        g d¢g d¢dœg d	¢t        ¬
«      }t        j                  ||«       t        g d¢g d¢g d¢g d¢dœ«      j                  g d	¢«      }|j                  ddgd¬«      }d}||   }t        g d¢|j
                  |¬«      }t        j                  ||«       |j                  ddg|¬«      }	|	j
                  j!                  |j
                  j"                  «      |	_        |	j%                  t        j&                  «      }	|	j(                  |j
                     }t        j                  ||«       |d   }
|
j                  ddgd¬«      }|d   }t        j                  ||«       y # 1 sw Y   �Œ}xY w)N)r5   r6   rD   é   ©Údtype©)rF   r3   )rF   r4   )rG   r4   )Úzr3   éÿÿÿÿ©Ú
fill_value)r5   rU   rP   )r6   rD   rU   ©r3   r4   ©rF   rG   rT   ©r8   rR   úJUsing a fill_value that cannot be held in the existing dtype is deprecated©Úmatchç      à?)r5   r^   rP   )r6   rD   r^   ©r3   r3   r4   )ÚjÚkr`   ©r   r5   r6   )rF   rG   rT   ÚwrF   rG   r   )rc   r4   r`   )r   r   r6   )r8   Únamer   rc   )r
   r   Úint16r   Úfrom_tuplesr8   r#   r   r$   r%   Úassert_produces_warningr   ÚfloatÚ	set_indexr=   r"   Úreorder_levelsÚnamesÚastypeÚint64Úloc)r'   r   Údatar?   r@   Úmsgr)   r,   Úkeyr*   Úss              r   Útest_unstack_fillz&TestDataFrameReshape.test_unstack_fillY   sâ  € ô ’l¬"¯(©(Ô3ˆÜ×+Ñ+Ú<ó
ˆŒ
ð —‘¨�Ó,ˆÜÚ¢:Ñ.²oÌRÏXÉXô
ˆô 	×Ñ˜f hÔ/ð Yð 	ô ×'Ñ'¬¸cÔBñ 	2à—\‘\¨S�\Ó1ˆF÷	2ô Ú¢KÑ0ºÌuô
ˆô 	×Ñ˜f hÔ/ô Ú!ªºiÊiÑXó
ç
‰)’OÓ
$ð 	ð —J‘J  S˜z°a�JÓ8ˆ	ØˆØ˜S‘>ˆÜš	¨¯©¸sÔCˆÜ
×Ñ˜v xÔ0à—/‘/ 3¨ *¸<�/ÓHˆØŸ™×4Ñ4°R·X±X·^±^ÓDˆŒà—.‘.¤§¡Ó*ˆØ—‘˜RŸX™XÑ&ˆÜ
×Ñ˜f bÔ)ð ˆs‰GˆØ—‘˜C ˜:°!�Ó4ˆØ˜S‘>ˆÜ
×Ñ˜f hÕ/÷;	2ñ 	2ús   Â$H2È2H<c                 ó:  — ddgddgddgddgg}t        |t        d	«      t        j                  ¬
«      }t	        j
                  g d¢«      |_        |j                  d¬«      }g d¢g d¢g d¢g}t        |t        d«      t        j                  ¬«      }t	        j
                  g d¢«      |_        t        j                  ||«       |d   j                  t        j                  «      |d<   |d   j                  t        j                  «      |d<   |j                  d¬«      }|d   j                  t        j                  «      |d<   |d   j                  t        j                  «      |d<   t        j                  ||«       d}t        j                  t        |¬«      5  |j                  d¬«      }d d d «       g d¢g d¢g d¢g}t        |t        d«      t         ¬«      }t	        j
                  g d¢«      |_        t        j                  ||«       y # 1 sw Y   ŒbxY w)Nr5   r6   r2   rD   rP   é   é   é   ÚAB)r9   rR   rS   rU   rV   )r5   r2   r6   rD   )rU   rP   rU   ru   )rv   rU   rw   rU   ÚxyzrZ   )©ÚAr3   )r{   r4   )ÚBr3   ©r|   r4   r{   r|   r[   r\   r^   )r^   rP   r^   ru   )rv   r^   rw   r^   )r   Úlistr   Úint32r   rf   r8   r#   r9   r$   r%   rl   re   Úfloat64rg   r   rh   )r'   Úrowsr)   r?   r@   rp   s         r   Útest_unstack_fill_framez,TestDataFrameReshape.test_unstack_fill_frameŽ   sÁ  € à�A�˜˜A˜  A ¨¨A¨Ð/ˆÜ�t¤T¨$£Z´r·x±xÔ@ˆÜ×)Ñ)Ú<ó
ˆŒð —‘ r�Ó*ˆâšnªnÐ=ˆÜ˜T¬¨e«¼B¿H¹HÔEˆÜ%×1Ñ1Ú<ó
ˆÔô 	×Ñ˜f hÔ/ð �S‘'—.‘.¤§¡Ó*ˆˆ3‰Ø�S‘'—.‘.¤§¡Ó,ˆˆ3‰à—‘ r�Ó*ˆØ  ™×,Ñ,¬R¯X©XÓ6ˆ�‰Ø  ™×,Ñ,¬R¯Z©ZÓ8ˆ�‰Ü
×Ñ˜f hÔ/ð Yð 	ô ×'Ñ'¬¸cÔBñ 	0à—Z‘Z¨3�ZÓ/ˆF÷	0ò Ò.Ò0@ÐAˆÜ˜T¬¨e«¼EÔBˆÜ%×1Ñ1Ú<ó
ˆÔô 	×Ñ˜f hÕ/÷	0ð 	0ús   ÆHÈHc                 óö  — t        dd¬«      j                  }t        |«      }t        j                  g d¢«      |_        |j                  «       }t        |d   t        j                  |d   g|d   |d   t        j                  gd	œg d
¢¬«      }t        j                  ||«       |j                  |d   ¬«      }t        |d   |d   |d   g|d   |d   |d   gd	œg d
¢¬«      }t        j                  ||«       y )Nú
2012-01-01rD   ©ÚperiodsrS   r   r2   r5   r6   rX   rY   r:   rV   )r   Úvaluesr
   r   rf   r8   r#   r   ÚpdÚNaTr$   r%   )r'   Údvro   r?   r@   s        r   Ú test_unstack_fill_frame_datetimez5TestDataFrameReshape.test_unstack_fill_frame_datetime¶   sí   € ä˜¨aÔ0×7Ñ7ˆÜ�b‹zˆÜ×+Ñ+Ú<ó
ˆŒ
ð —‘“ˆÜØ�a‘5œ"Ÿ&™& " Q¡%Ð(°°1±°r¸!±u¼b¿f¹fÐ/EÑFÚ!ô
ˆô 	×Ñ˜f hÔ/à—‘¨¨A©�Ó/ˆÜØ�a‘5˜"˜Q™%  A¡Ð'¨r°!©u°b¸±e¸RÀ¹UÐ.CÑDÚ!ô
ˆô 	×Ñ˜f hÕ/r   c                 ó  — t        d«      D �cg c]  }t        |¬«      ‘Œ }}t        |«      }t        j                  g d¢«      |_        |j                  «       }t        |d   t        j                  |d   g|d   |d   t        j                  gdœg d	¢¬
«      }t        j                  ||«       |j                  |d   ¬«      }t        |d   |d   |d   g|d   |d   |d   gdœg d	¢¬
«      }t        j                  ||«       y c c}w )NrD   )ÚdaysrS   r   r2   r5   r6   rX   rY   r:   rV   )r;   r   r
   r   rf   r8   r#   r   rˆ   r‰   r$   r%   )r'   ÚiÚtdro   r?   r@   s         r   Ú!test_unstack_fill_frame_timedeltaz6TestDataFrameReshape.test_unstack_fill_frame_timedeltaÌ   sü   € ä).¨q«Ö2 AŒi˜QÖÐ2ˆÐ2Ü�b‹zˆÜ×+Ñ+Ú<ó
ˆŒ
ð —‘“ˆÜØ�a‘5œ"Ÿ&™& " Q¡%Ð(°°1±°r¸!±u¼b¿f¹fÐ/EÑFÚ!ô
ˆô 	×Ñ˜f hÔ/à—‘¨¨A©�Ó/ˆÜØ�a‘5˜"˜Q™%  A¡Ð'¨r°!©u°b¸±e¸RÀ¹UÐ.CÑDÚ!ô
ˆô 	×Ñ˜f hÕ/ùò% 3s   ŽDc                 óä  — t        d«      t        d«      t        d«      t        d«      g}t        |«      }t        j                  g d¢«      |_        |j                  «       }t        |d   d |d   g|d   |d	   d gd
œg d¢¬«      }t        j                  ||«       |j                  |d   ¬«      }t        |d   |d   |d   g|d   |d	   |d   gd
œg d¢¬«      }t        j                  ||«       y )Nz2012-01z2012-02z2012-03z2012-04rS   r   r2   r5   r6   rX   rY   r:   rV   )	r	   r
   r   rf   r8   r#   r   r$   r%   )r'   r†   ro   r?   r@   s        r   Útest_unstack_fill_frame_periodz3TestDataFrameReshape.test_unstack_fill_frame_periodâ   s  € ô �9ÓÜ�9ÓÜ�9ÓÜ�9Óð	
ˆô �g‹ˆÜ×+Ñ+Ú<ó
ˆŒ
ð —‘“ˆÜØ˜1‘:˜t W¨Q¡ZÐ0¸À¹
ÀGÈAÁJÐPTÐ7UÑVÚ!ô
ˆô 	×Ñ˜f hÔ/à—‘¨°©�Ó4ˆÜà˜a‘j '¨!¡*¨g°a©jÐ9Ø˜a‘j '¨!¡*¨g°a©jÐ9ñò "ô
ˆô 	×Ñ˜f hÕ/r   c           	      óþ  — t        g d¢d¬«      }t        j                  g d¢«      |_        |j	                  «       }t        t        j                  g d¢t        d«      ¬«      t        j                  g d¢t        d«      ¬«      d	œt        d
«      ¬«      }t        j                  ||«       d}t        j                  t        |¬«      5  |j	                  d¬«       d d d «       |j	                  d¬«      }t        t        j                  t        d«      t        d«      ¬«      t        j                  t        d«      t        d«      ¬«      d	œt        d
«      ¬«      }t        j                  ||«       y # 1 sw Y   Œ™xY w)N©r3   r4   Úcr3   ÚcategoryrQ   rS   )r3   Nr3   Úabc©Ú
categories)r4   r•   NrX   ry   r:   z9Cannot setitem on a Categorical with a new category \(d\)r\   ÚdrV   r•   ÚacaÚbcc)r
   r   rf   r8   r#   r   rˆ   ÚCategoricalr~   r$   r%   ÚpytestÚraisesÚ	TypeError)r'   ro   r?   r@   rp   s        r   Ú#test_unstack_fill_frame_categoricalz8TestDataFrameReshape.test_unstack_fill_frame_categorical   s"  € äÒ*°*Ô=ˆÜ×+Ñ+Ú<ó
ˆŒ
ð
 —‘“ˆÜä—^‘^Ò$4ÄÀeÃÔMÜ—^‘^Ò$4ÄÀeÃÔMñô �u“+ô
ˆô 	×Ñ˜f hÔ/ð KˆÜ�]‰]œ9¨CÔ0ñ 	)Ø�L‰L CˆLÔ(÷	)ð —‘¨�Ó-ˆÜä—^‘^¤D¨£K¼DÀ»KÔHÜ—^‘^¤D¨£K¼DÀ»KÔHñô �u“+ô
ˆô 	×Ñ˜f hÕ/÷	)ð 	)ús   ÃE3Å3E<c                 ó:  — t        j                  g d¢g d¢gddg¬«      }t        dgdz  dgdz  d	œ|¬
«      }|j                  d«      }t        g d¢g d¢g d¢gt        j                  g d¢d dg¬«      t        g d¢d¬«      ¬«      }t        j                  ||«       y )N©r3   r4   r•   ©r5   r6   r2   rz   r}   ©rk   r5   é	   r6   ©rš   Úer:   )r5   r5   r5   r6   r6   r6   )©rš   r3   ©rš   r4   )rš   r•   ©r¨   r3   ©r¨   r4   )r¨   r•   ©rd   ©r9   r8   )r   r<   r   r#   rf   r   r$   r%   ©r'   Úidxr)   r?   r@   s        r   Ú$test_unstack_tuplename_in_multiindexz9TestDataFrameReshape.test_unstack_tuplename_in_multiindex"  sŸ   € ä×%Ñ%ÚšiÐ(°¸ZÐ0Hô
ˆô ˜a˜S 1™W¨A¨3°©7Ñ3¸3Ô?ˆØ—‘˜JÓ'ˆäÚÒ!3Ò5GÐHÜ×*Ñ*òð ˜ZÐ(ô
ô š	¨
Ô3ô
ˆô 	×Ñ˜f hÕ/r   z>unstack_idx, expected_values, expected_index, expected_columnsrz   )r5   r5   r6   r6   ))r5   r2   )r5   rD   ©r6   r2   )r6   rD   r|   ÚCr¥   )r©   rª   r«   r¬   N)rz   r|   )r5   r5   r5   r5   r6   r6   r6   r6   r2   rD   r­   ))rš   r3   r5   )rš   r3   r6   )rš   r4   r5   )rš   r4   r6   )r¨   r3   r5   )r¨   r3   r6   )r¨   r4   r5   )r¨   r4   r6   )Nrz   r|   c                 óâ   — t        j                  ddgddgddggg d¢¬«      }t        dgd	z  dgd	z  d
œ|¬«      }|j                  |«      }t        |||¬«      }t	        j
                  ||«       y )Nr3   r4   r5   r6   r2   rD   )rz   r|   r³   r¥   rw   r§   r:   r®   )r   r<   r   r#   r$   r%   )	r'   Úunstack_idxÚexpected_valuesÚexpected_indexÚexpected_columnsr°   r)   r?   r@   s	            r   Ú*test_unstack_mixed_type_name_in_multiindexz?TestDataFrameReshape.test_unstack_mixed_type_name_in_multiindex;  s   € ôL ×%Ñ%Ø�3ˆZ˜!˜Q˜ ! Q Ð(Ò0Fô
ˆô ˜a˜S 1™W¨A¨3°©7Ñ3¸3Ô?ˆØ—‘˜KÓ(ˆäØÐ%5¸^ô
ˆô 	×Ñ˜f hÕ/r   c                 óè  — t        g d¢g d¢t        g d¢«      j                  d«      t        j                  j                  d«      j	                  d«      ddt        j                  d«      t        g d	¢«      j                  d
«      t        g d¢«      j                  d«      dt        g d¢«      j                  d«      dœ«      }d„ }|j                  ddg«      } ||d«       |j                  ddg«      } ||d«       |j                  ddg«      } ||d«       |j                  g d¢«      } ||d«       |j                  ddg«      } ||d«       |j                  ddg«      }|d   } ||d«       y )N)ÚILÚMIÚNCr£   r–   r6   r2   r5   r   Ú20010102)ç      ð?ç      I@g      Y@Úfloat32)rC   ç      @ç      @r€   F)r5   éÈ   i2 Úint8)Ústater8   Úsome_categoriesr{   r|   r³   ÚDÚEÚFÚGÚHc                 óv   — | j                  |g«      }| j                  |«      }t        j                  ||«       y r   ©r#   r$   r%   )r)   Úcolumn_nameÚ
unstacked1Ú
unstacked2s       r   Úunstack_and_comparezNTestDataFrameReshape.test_unstack_preserve_dtypes.<locals>.unstack_and_compare~  s0   € ØŸ™ [ MÓ2ˆJØŸ™ KÓ0ˆJÜ×!Ñ! *¨jÕ9r   rÆ   r8   rÇ   rÊ   r³   )rË   r|   rÆ   r|   rÉ   r{   )	r   r
   rl   r   ÚrandomÚdefault_rngrˆ   Ú	Timestampri   )r'   r)   rÒ   Údf1rr   s        r   Útest_unstack_preserve_dtypesz1TestDataFrameReshape.test_unstack_preserve_dtypesl  sQ  € äâ+Ú(Ü#)ª/Ó#:×#AÑ#AÀ*Ó#MÜ—Y‘Y×*Ñ*¨1Ó-×4Ñ4°QÓ7ØØÜ—\‘\ *Ó-ÜÒ.Ó/×6Ñ6°yÓAÜšOÓ,×3Ñ3°IÓ>ØÜÒ,Ó-×4Ñ4°VÓ<ñó
ˆò 	:ð
 �l‰l˜G WÐ-Ó.ˆÙ˜C Ô)à�l‰l˜GÐ%6Ð7Ó8ˆÙ˜CÐ!2Ô3à�l‰l˜C ˜:Ó&ˆÙ˜C Ô%à�l‰lÒ.Ó/ˆÙ˜C Ô%à�l‰l˜C ˜:Ó&ˆÙ˜C Ô%à�l‰l˜G WÐ-Ó.ˆØ�‰HˆÙ˜A˜wÕ'r   c           	      ó$  — t        j                  t        t        j                  t        d«      d¬«      «      «      }t        t        j                  j                  d«      j                  d«      |¬«      }t        j                  |j                  ddg|¬«      |j                  d|¬«      j                  d|¬«      «       t        j                  |j                  dd	g|¬«      |j                  d|¬«      j                  d|¬«      «       |j                  «       }|j                  j!                  t        d«      d
¬«      }|�J ‚t        j                  |j                  ddg|¬«      |j                  d|¬«      j                  d|¬«      «       y )Nr2   ©Úrepeatr6   )é   é   ©r9   r5   ©Úlevelr   éþÿÿÿrU   T)Úinplace)r   rf   r~   Ú	itertoolsÚproductr;   r   r   rÓ   rÔ   Ústandard_normalr$   r%   r"   r   r9   Ú	set_names)r'   r   r9   r)   Údf_namedÚreturn_values         r   Útest_stack_intsz$TestDataFrameReshape.test_stack_ints–  sf  € ô ×(Ñ(¬¬i×.?Ñ.?ÄÀaÃÐQRÔ.SÓ)TÓUˆÜÜ�I‰I×!Ñ! !Ó$×4Ñ4°XÓ>Èô
ˆô 	×ÑØ�H‰H˜A˜q˜6°ˆHÓ=Ø�H‰H˜1¨<ˆHÓ8×>Ñ>Ø lð ?ó ô	
ô 	×ÑØ�H‰H˜B ˜8°,ˆHÓ?Ø�H‰H˜1¨<ˆHÓ8×>Ñ>Ø lð ?ó ô	
ð —7‘7“9ˆØ×'Ñ'×1Ñ1´%¸³(ÀDÐ1ÓIˆØÐ#Ð#Ð#ä
×ÑØ�N‰N ! Q °lˆNÓCØ�N‰N °ˆNÓ>×DÑDØ lð Eó õ	
r   c                 ó  — t        j                  g d¢g d¢¬«      }t        t        j                  j                  d«      j                  d«      |¬«      }|j                  ddg|¬	«      }|j                  d
dg|¬	«      }|j                  «       }g d¢|j                  _
        t        j                  |j                  ddg|¬	«      |d¬«       t        j                  |j                  d
dg|¬	«      |d¬«       d}t        j                  t        |¬«      5  |j                  ddg|¬	«       d d d «       |j                  «       }g d¢|j                  _
        t        j                  |j                  ddg|¬	«      |d¬«       y # 1 sw Y   ŒXxY w)N©)r{   ÚcatÚlong)r|   rë   rì   )r{   ÚdogÚshort)r|   rí   rî   ©ÚexpÚanimalÚhair_lengthr¥   r6   ©rD   rD   rÝ   rñ   rò   rÞ   rð   )rð   rñ   r5   r5   F©Úcheck_nameszSlevel should contain all level names or all level numbers, not a mixture of the twor\   r   )rð   rñ   r   )r   rf   r   r   rÓ   rÔ   rä   r"   r   r9   rk   r$   r%   rž   rŸ   Ú
ValueError)	r'   r   r9   r)   Úanimal_hair_stackedÚexp_hair_stackedrL   rp   Údf3s	            r   Útest_stack_mixed_levelsz,TestDataFrameReshape.test_stack_mixed_levels·  s|  € ô ×(Ñ(òò 3ô
ˆô Ü�I‰I×!Ñ! !Ó$×4Ñ4°VÓ<Àgô
ˆð !Ÿh™hØ˜]Ð+¸,ð 'ó 
Ðð Ÿ8™8Ø˜-Ð(°|ð $ó 
Ðð �g‰g‹iˆÚ0ˆ�‰ÔÜ
×ÑØ�I‰I˜X q˜M¸ˆIÓEØØõ	
ô
 	×ÑØ�I‰I˜U A˜J°\ˆIÓBØØõ	
ð#ð 	ô �]‰]œ:¨SÔ1ñ 	FØ�I‰I˜X q˜M¸ˆIÔE÷	Fð
 �g‰g‹iˆÚ0ˆ�‰ÔÜ
×ÑØ�I‰I˜X q˜M¸ˆIÓEØØö	
÷	Fð 	Fús   ÄFÆFc                 óº  — t        j                  g d¢g d¢¬«      }t        t        j                  j                  d«      j                  d«      |¬«      }|j                  ddg|¬	«      }|j                  dd
g|¬	«      }|j                  dd
g|¬	«      }|j                  «       }g d¢|j                  _
        t        j                  |j                  ddg|¬	«      |d¬«       t        j                  |j                  ddg|¬	«      |d¬«       t        j                  |j                  ddg|¬	«      |d¬«       |j                  «       }g d¢|j                  _
        t        j                  |j                  ddg|¬	«      |d¬«       t        j                  |j                  ddg|¬	«      |d¬«       t        j                  |j                  ddg|¬	«      |d¬«       y )Nrê   rï   r¥   r6   ró   rÝ   rð   rñ   rÞ   rò   rb   r5   Frô   r   )r6   r   r5   )r   rf   r   r   rÓ   rÔ   rä   r"   r   r9   rk   r$   r%   )	r'   r   r9   r)   Úexp_animal_stackedr÷   rø   rL   rù   s	            r   Útest_stack_int_level_namesz/TestDataFrameReshape.test_stack_int_level_namesò  sÓ  € ô ×(Ñ(òò 3ô
ˆô Ü�I‰I×!Ñ! !Ó$×4Ñ4°VÓ<Àgô
ˆð  ŸX™XØ˜(Ð#°,ð &ó 
Ðð !Ÿh™hØ˜]Ð+¸,ð 'ó 
Ðð Ÿ8™8Ø˜-Ð(°|ð $ó 
Ðð �g‰g‹iˆÚ%ˆ�‰ÔÜ
×ÑØ�I‰I˜Q ˜F°ˆIÓ>ØØõ	
ô
 	×ÑØ�I‰I˜Q ˜F°ˆIÓ>ØØõ	
ô
 	×ÑØ�I‰I˜Q ˜F°ˆIÓ>ØØõ	
ð �g‰g‹iˆÚ%ˆ�‰ÔÜ
×ÑØ�I‰I˜Q ˜F°ˆIÓ>ØØõ	
ô
 	×ÑØ�I‰I˜Q ˜F°ˆIÓ>ØØõ	
ô
 	×ÑØ�I‰I˜Q ˜F°ˆIÓ>ØØö	
r   c           	      ól  — t        ddgt        j                  ddgddgg«      dg¬«      }|j                  «       }t        t	        j
                  dt        j                  gt        j                  dggt        ¬«      ddgt        j                  ddgddgg«      ¬«      }t        j                  ||«       y )	NFr3   r4   r•   ÚlÚcolr7   rQ   )
r   r   Úfrom_arraysr#   r   ÚarrayrH   Úobjectr$   r%   )r'   r)   ÚrsÚxps       r   Útest_unstack_boolz&TestDataFrameReshape.test_unstack_bool2  s¡   € ÜØ�EˆNÜ×(Ñ(¨3°¨*°s¸C°jÐ)AÓBØ�Gô
ˆð
 �Z‰Z‹\ˆÜÜ�H‰H�uœbŸf™f�o¬¯©° Ð7¼vÔFØ˜�*Ü×*Ñ*¨U°E¨N¸SÀ#¸JÐ+GÓHô
ˆô
 	×Ñ˜b "Õ%r   c           	      ó  — t        ddgddgddggg d¢g d¢g d	¢gg d
¢¬«      }t        d|¬«      }|j                  ddg«      j                  d|¬«      }t        ddgddggg d¢g d¢gddg¬«      }t	        t        j                  dt
        j                  gt
        j                  dgdt
        j                  gt
        j                  dggt
        j                  ¬«      |t        ddgd¬«      ¬«      }t        j                  ||«       y )Nr   r   ÚoneÚtwor3   r4   ©r   r   r5   r5   ©r   r5   r   r5   )r5   r   r5   r   )ÚfirstÚsecondÚthird©r>   Úcodesrk   r   r:   r5   r6   r   r  r  rQ   r  r­   r7   )r   r
   r#   r"   r   r   r  rH   r€   r   r$   r%   )r'   r   Úmirr   r?   Úexpected_mir@   s          r   Útest_unstack_level_bindingz/TestDataFrameReshape.test_unstack_level_binding@  sú   € ô
 Ø˜E�N U¨E N°S¸#°JÐ?Ú¢ª|Ð<Ú.ô
ˆô
 �1˜BÔˆØ—‘˜A˜q˜6Ó"×(Ñ(¨¸Ð(ÓFˆä Ø˜E�N U¨E NÐ3Ú¢Ð.Ø˜HÐ%ô
ˆô Ü�H‰HØ”R—V‘V�œrŸv™v q˜k¨A¬r¯v©v¨;¼¿¹À¸ÐDÌBÏJÉJôð Ü˜3 ˜*¨7Ô3ô
ˆô 	×Ñ˜f hÕ/r   c                 ó”  — |j                  «       }t        |t        «      sJ ‚|j                  «       j                  }t	        j
                  ||«       t        ddt        j                  gddt        j                  gdœ«      }t        g d¢«      |_
        |j                  «       }t        ddgg d¢gg d	¢g d
¢g¬«      }t        ddt        j                  ddt        j                  g|¬«      }t	        j                  ||«       |j                  «       }t        d«      D ]  }|j                  «       }Œ t	        j
                  ||«       y )Nr5   r6   rC   rD   rE   r£   rF   rG   )r   r   r   r5   r5   r5   )r   r5   r6   r   r5   r6   ©r>   r  r2   r:   )r#   Ú
isinstancer
   r&   r$   r%   r   r   rH   r   r8   r   r=   r   r;   )	r'   r(   ro   Úundor?   Úmidxr@   Úold_dataÚ_s	            r   Útest_unstack_to_seriesz+TestDataFrameReshape.test_unstack_to_series]  s  € à×"Ñ"Ó$ˆä˜$¤Ô'Ð'Ð'Ø�|‰|‹~×ÑˆÜ
×Ñ˜d KÔ0ô   1¤b§f¡f˜~°S¸!¼R¿V¹VÐ4DÑEÓFˆÜš?Ó+ˆŒ
Ø—‘“ˆäØ˜#�J¢Ð0Ú%Ò'9Ð:ô
ˆô ˜1˜a¤§¡¨¨A¬r¯v©vÐ6¸dÔCˆä
×Ñ˜v xÔ0ð —9‘9“;ˆÜ�q“ò 	"ˆAØ—<‘<“>‰Dð	"ä
×Ñ˜h¨Õ-r   c                 ó®  — g d¢g d¢g d¢g d¢g}t        |t        d«      ¬«      }|j                  }t        t	        j
                  d«      gdz  t        d«      ¬	«      }t        j                  ||«       |j                  d
dg«      }|j                  d«      }|j                  }t        t	        j
                  d«      gdz  t        j                  g d¢g d¢gd¬«      ¬	«      }t        j                  ||«       |j                  d
dg«      }d|d<   |j                  d«      }|j                  }t        t	        j
                  d«      gdz  t	        j
                  d«      gdz  z   t        j                  g d¢g d¢gd¬«      ¬	«      }t        j                  ||«       d|d<   |j                  d«      }|j                  }|r$t        j                  t        j                  ¬«      nt	        j
                  d«      }t        t	        j
                  d«      gdz  |gdz  z   t        j                  g d¢g d¢gd¬«      ¬	«      }t        j                  ||«       y )N)r5   r5   r2   rD   ©r5   r6   r2   rD   )r6   r5   r2   rD   )r6   r6   r2   rD   ÚABCDrÝ   rm   rD   r:   r{   r|   )r³   r³   rÈ   rÈ   )r5   r6   r5   r6   )Nr|   r¥   rC   r³   r€   r6   r   rÈ   )Úna_valuer  )r   r~   Údtypesr
   r   rR   r$   r=   ri   r#   r   r  rˆ   ÚStringDtyperH   )	r'   Úusing_infer_stringr�   r)   r?   r@   rL   rù   rR   s	            r   Útest_unstack_dtypesz(TestDataFrameReshape.test_unstack_dtypesx  sü  € âšlªLº,ÐGˆä�t¤T¨&£\Ô2ˆØ—‘ˆÜœ2Ÿ8™8 GÓ,Ð-°Ñ1¼¸f»ÔFˆÜ
×Ñ˜v xÔ0ð �l‰l˜C ˜:Ó&ˆØ�k‰k˜#ÓˆØ—‘ˆÜÜ�X‰X�gÓÐ !Ñ#Ü×(Ñ(Ú%¢|Ð4¸Kôô
ˆô 	×Ñ˜v xÔ0ð �l‰l˜C ˜:Ó&ˆØˆˆC‰Ø�k‰k˜#ÓˆØ—‘ˆÜÜ�X‰X�iÓ Ð! AÑ%¬¯©°'Ó):Ð(;¸aÑ(?Ñ?Ü×(Ñ(Ú%¢|Ð4¸Kôô
ˆô 	×Ñ˜v xÔ0ØˆˆC‰Ø�k‰k˜#ÓˆØ—‘ˆñ "ô �N‰N¤B§F¡FÕ+ä—‘˜(Ó#ð 	ô
 Ü�X‰X�iÓ Ð! AÑ%¨¨°!©Ñ3Ü×(Ñ(Ú%¢|Ð4¸Kôô
ˆô 	×Ñ˜v xÕ0r   zc, drP   Úf8rQ   é
   c           	      óÐ  — t        dgdz  ||t        dd¬«      dœ«      }|j                  d d j                  d¬«      }|j	                  d	d
g«      }|d   j                  d«      |d<   |j                  d d j                  d«      }|j	                  d	d
g«      j                  d«      }|d   j                  d«      |d<   |j                  dk(  sJ ‚t        j                  ||«       y )Nr3   rP   r„   r…   )r{   r³   rÈ   r|   r2   T)Údeepr{   r|   rÈ   rm   r   )rÈ   r3   )r2   r6   )
r   r   Úilocr   ri   rl   r#   r!   r$   r%   )r'   r•   rš   r)   ÚrightÚlefts         r   Útest_unstack_dtypes_mixed_datez3TestDataFrameReshape.test_unstack_dtypes_mixed_date©  sæ   € ô à�U˜Q‘YØØÜ °aÔ8ñ	ó
ˆð —‘˜˜�× Ñ  dÐ Ó+ˆà�\‰\˜3 ˜*Ó%ˆØ�S‘'—.‘. Ó)ˆˆ3‰à�w‰w�r˜ˆ{×"Ñ" 1Ó%ˆØ—‘  c 
Ó+×3Ñ3°AÓ6ˆØ! *Ñ-×4Ñ4°WÓ=ˆˆjÑà�z‰z˜VÒ#Ð#Ð#Ü
×Ñ˜d EÕ*r   c                 óx  — t        j                  ddgddg¬«      }t        ddg|¬«      }d}t        j                  t
        |¬	«      5  |j                  d«       d d d «       t        j                  t
        |¬	«      5  |j                  j                  d|¬
«       d d d «       y # 1 sw Y   ŒKxY w# 1 sw Y   y xY w)NrX   )r•   rš   Úc1r¥   r5   r6   r:   z5The name c1 occurs multiple times, use a level numberr\   r   )	r   rf   r   rž   rŸ   rö   r#   r&   r"   )r'   r   r°   r)   rp   s        r   Ú#test_unstack_non_unique_index_namesz8TestDataFrameReshape.test_unstack_non_unique_index_namesÇ  s¡   € ô ×$Ñ$ j°*Ð%=ÀdÈDÀ\ÔRˆÜ˜˜1�v SÔ)ˆØEˆÜ�]‰]œ:¨SÔ1ñ 	Ø�J‰J�tÔ÷	ô �]‰]œ:¨SÔ1ñ 	8Ø�D‰D�J‰J�t¨,ˆJÔ7÷	8ð 	8÷	ð 	ú÷	8ð 	8ús   ÁB$Á=B0Â$B-Â0B9c                 óŠ  — t        j                  dgg d¢g«      d d }t        ddggdz  |¬«      }|j                  «       }t        j                  t	        d«      g d	¢g«      }t        g d
¢gdg|¬«      }t        j                  ||«       |j                  j                  d   |j                  d   k(  j                  «       sJ ‚t	        d«      t	        d«      g}g d¢g d¢g}t        ||«      }t        j                  d«      j                  dd«      }t        t        j                  ||dz   g«      |¬«      }|j                  «       }t        t        j                  |dz  |dz  dz   gd¬«      |¬«      }t        j                  ||«       |j                  j                  d   |j                  d   k(  j                  «       sJ ‚y )Nr3   )r{   r|   r³   rÈ   rU   r5   r   r2   r:   r6   ©r{   r|   r³   )r5   r5   r5   r   r   r   r7   rD   r
  ©r   r6   r   r6   ©ÚaxisrÝ   )r   r<   r   r#   r;   r$   r%   r9   r>   Úallr   r   r   Úconcatenate)	r'   r°   r)   r?   Úexp_colr@   r>   r  Úblocks	            r   Útest_unstack_unused_levelsz/TestDataFrameReshape.test_unstack_unused_levelsÔ  s…  € ä×%Ñ%¨ uÒ.BÐ&CÓDÀSÀbÐIˆÜ˜˜A˜�x !‘|¨3Ô/ˆà—‘“ˆÜ×)Ñ)¬5°«8²_Ð*EÓFˆÜÒ0Ð1¸#¸ÈÔPˆÜ
×Ñ˜f hÔ/Ø—‘×%Ñ% aÑ(¨C¯J©J°q©MÑ9×>Ñ>Ô@Ð@Ð@ô ˜“(œE !›HÐ%ˆÚš|Ð,ˆÜ˜ Ó'ˆÜ—	‘	˜!“×$Ñ$ Q¨Ó*ˆÜ”r—~‘~ u¨e°a©iÐ&8Ó9ÀÔEˆØ—‘“ˆÜÜ�N‰N˜E A™I u¨q¡y°1¡}Ð5¸AÔ>Èô
ˆô 	×Ñ˜f hÔ/Ø—‘×%Ñ% aÑ(¨C¯J©J°q©MÑ9×>Ñ>Ô@Ð@Ñ@r   z"level, idces, col_level, idx_levelr   )é   é   ru   r¦   r6   rP   rw   é   r3   r6   r5   )rw   r;  r5   rD   é   é   r9  r:  c                 óÂ  — g d¢g d¢g}g d¢g d¢g}t        ||«      }t        j                  d«      }t        |j	                  dd«      |¬«      }	|	j                  |¬	«      }
t        j                  d
«      t        j                  z  }|||<   t        j                  t        d«      |g«      }t        |j	                  dd«      ||¬«      }t        j                  |
|«       y )N)r3   r6   r•   )r5   r2   rP   rv   )r   rU   r5   r5   )r   r6   rU   r6   rw   rD   r6   r:   ©rß   é   r2   ru   r7   )r   r   r   r   r   r#   ÚzerosrH   r<   r;   r$   r%   )r'   rß   ÚidcesÚ	col_levelÚ	idx_levelr>   r  r°   ro   r)   r?   Úexp_dataÚcolsr@   s                 r   Ú)test_unstack_unused_levels_mixed_with_nanz>TestDataFrameReshape.test_unstack_unused_levels_mixed_with_nanì  s»   € ò  ¢Ð.ˆÚ¢Ð.ˆÜ˜ Ó'ˆÜ�y‰y˜‹|ˆÜ�t—|‘| A qÓ)°Ô5ˆà—‘ %�Ó(ˆÜ—8‘8˜B“<¤"§&¡&Ñ(ˆØˆ�‰Ü×&Ñ&¬¨a«°)Ð'<Ó=ˆÜ˜X×-Ñ-¨a°Ó3¸9ÈdÔSˆÜ
×Ñ˜f hÕ/r   rF  r{   c                 ó¬  — t        g d¢g d¢gg d¢¬«      }|j                  g d¢d¬«      }|j                  t        d «      t        d «      df|f   }|j	                  «       }|j
                  dg   |   }t        j                  |j                  dggd d	g¬
«      |_        |j                  j                  d	«      |_	        t        j                  ||«       y )N)iÚ  r3   ÚI)iÛ  r4   ÚIIr0  rÝ   F)ÚdroprI  r   r³   r¥   )r   ri   rn   Úslicer#   r(  r   r<   r9   r8   Ú	droplevelr$   r%   )r'   rF  r)   ÚindÚ	selectionr?   r@   s          r   Útest_unstack_unused_levelz.TestDataFrameReshape.test_unstack_unused_level  s¾   € ô Ò(Ò*;Ð<ÂoÔVˆà�l‰lš?°ˆlÓ7ˆØ—G‘GœU 4›[¬%°«+°sÐ;¸TÐAÑBˆ	Ø×"Ñ"Ó$ˆà—8‘8˜Q˜C‘= Ñ&ˆÜ%×2Ñ2Ø×Ñ ˜uÐ%¨d°C¨[ô
ˆÔð "Ÿ™×1Ñ1°#Ó6ˆŒÜ
×Ñ˜f hÕ/r   c           	      óF  — t        dggt        j                  dggdg¬«      t        j                  g d¢gg d¢¬«      ¬«      }|j                  g d¢«      }t        dggt        j                  g d¢gg d	¢¬«      t	        dgd
¬«      ¬«      }t        j                  ||«       y )Nr5   r   r-  r¥   )r   r   r5   r   r   r   r5   )Úi1Úi2Úi3Úi4Úi5Úi6Úi7r®   )rS  rT  rU  rV  rW  rX  )r-  rS  rT  rU  rV  rW  rX  rR  r­   )r   r   rf   r#   r   r$   r%   ©r'   r)   r?   r@   s       r   Útest_unstack_long_indexz,TestDataFrameReshape.test_unstack_long_index  s›   € ô ØˆSˆEÜ×*Ñ*¨Q¨C¨5¸¸Ô?Ü×(Ñ(Ú&Ð'Ú@ôô
ˆð —‘Ò@ÓAˆÜØˆSˆEÜ×*Ñ*Ú&Ð'Ú@ôô ˜˜ $Ô'ô
ˆô 	×Ñ˜f hÕ/r   c           	      ó  — t        ddgddggt        j                  ddgddggddg¬«      t        j                  g d¢g d	¢gg d
¢¬«      ¬«      }|j                  ddg«      j                  j
                  dd  ddgk(  sJ ‚y )Nç        r|   r³   rÈ   r-  Úc2r¥   )r%  é   rÛ   )r%  r^  é(   ©rR  rS  rT  r®   rS  rR  rà   )r   r   rf   r#   r9   rk   )r'   r)   s     r   Útest_unstack_multi_level_colsz2TestDataFrameReshape.test_unstack_multi_level_cols*  s�   € äØ�3ˆZ˜#˜s˜Ð$Ü×*Ñ*Ø�s�˜c 3˜ZÐ(°°t°ôô ×(Ñ(Úš|Ð,Ò4Fôô
ˆð �z‰z˜4 ˜,Ó'×/Ñ/×5Ñ5°b°cÐ:¸tÀT¸lÒJÐJÑJr   c                 óF  — t        ddgddgddgddggt        j                  g d	¢g d
¢g«      t        j                  g d¢g d¢g d¢g d¢gg d¢¬«      ¬«      }|j                  ddg«      }|j                  dg«      j                  dg«      }t	        j
                  ||«       y )Nr5   r6   r2   rD   rU   rà   éýÿÿÿéüÿÿÿr£   )rš   r¨   Úf)Úm1ÚP3éÞ   )rf  ÚA5éo   )Úm2rg  rh  )rk  ri  rj  r`  r¥   r®   rT  rS  )r   r   rf   r#   r$   r%   rY  s       r   Ú&test_unstack_multi_level_rows_and_colsz;TestDataFrameReshape.test_unstack_multi_level_rows_and_cols7  s    € äØ�ˆV�a˜�V˜b "˜X¨¨B xÐ0Ü×*Ñ*ªOº_Ð+MÓNÜ×(Ñ(â%Ú%Ú%Ú%ð	ò )ôô
ˆð —‘˜T 4˜LÓ)ˆØ—:‘:˜t˜fÓ%×-Ñ-¨t¨fÓ5ˆÜ
×Ñ˜f hÕ/r   r°   ©ÚjimÚjoe)ro  rn  Úlevc                 ód  — d„ }t        ddt        j                  dgg d¢g d¢dœ«      }|j                  dd	g«      j	                  «       d
   }|j                  d	dg«      j	                  «       d
   j
                  }t        j                  ||«       |j                  t        |«      «      }|j	                  |¬«      }|j                  «       j                  j                  «       t        |«      k(  sJ ‚d„ }	|d
   j                  «       j                  j                  «       \  }
}t        |
|«      D ]~  \  }}t        |d
   j                   ||f   j#                  d«      «      } |	|d
   j$                  |   «       |	|d
   j&                  |   «      z   }t        t)        ||«      «      }||k(  rŒ~J ‚ y )Nc                 ó   — | | k7  rdn| }|d›S ©NÚ Ú1© ©ÚvalÚval_strs     r   Úcastz:TestDataFrameReshape.test_unstack_nan_index1.<locals>.castN  ó   € Ø 3šJ‘b¨CˆGØ˜a�[Ð!r   r3   r4   rš   )rc   rF   rG   rT   )za.wzb.xz .yzd.z)rn  ro  Újoliern  ro  r|  r?  c                 ó>   — t        | t        «      rt        | «      S | gS r   ©r  Útupler~   ©r3   s    r   ú<lambda>z>TestDataFrameReshape.test_unstack_nan_index1.<locals>.<lambda>a  ó   € ¤z°!´UÔ';œD ›G€ À!À€ r   ú.)r   r   rH   ri   r#   r&   r$   r%   r~   Únotnar‡   ÚsumrI   ÚnonzeroÚzipÚsortedr(  Úsplitr8   r9   Úmap)r'   r°   rp  rz  r)   r*  r)  r  ÚudfÚmk_listr�   rF  rŽ   r`   s                 r   Útest_unstack_nan_index1z,TestDataFrameReshape.test_unstack_nan_index1J  sŠ  € ò	"ô à˜S¤"§&¡&¨#Ð.Ú+Ú5ñó
ˆð �|‰|˜U E˜NÓ+×3Ñ3Ó5°gÑ>ˆØ—‘˜e U˜^Ó,×4Ñ4Ó6°wÑ?×AÑAˆÜ
×Ñ˜d EÔ*à�\‰\œ$˜s›)Ó$ˆØ�j‰j˜sˆjÓ#ˆØ�y‰y‹{×!Ñ!×%Ñ%Ó'¬3¨r«7Ò2Ð2Ð2ÙDˆØ˜‘\×'Ñ'Ó)×0Ñ0×8Ñ8Ó:‰
ˆˆdÜ˜˜d“Oò 	!‰DˆAˆqÜ˜#˜g™,×+Ñ+¨A¨q¨DÑ1×7Ñ7¸Ó<Ó=ˆDÙ˜C ™L×.Ñ.¨qÑ1Ó2±W¸SÀ¹\×=QÑ=QÐRSÑ=TÓ5UÑUˆEÜœ3˜t UÓ+Ó,ˆEØ˜5“=Ð �=ñ		!r   ©Ú1stÚ2ndÚ3rdr   Ú4thÚ5thc                 óô  ‡— d„ Št        dgdz  t        j                  gdz  z   dgdz  z   dgdz  z   dgdz  z   d	gdz  z   d
gdz  dgdz  z   t        j                  gdz  z   dgdz  z   t        j                  gdz  z   dgdz  z   t        j                  gdz  z   g d¢dœ«      }|j                  ˆfd„d¬«      |j                  ˆfd„d¬«      c|d<   |d<   |j	                  t        |«      «      }|j                  |¬«      }|j                  «       j                  j                  «       dt        |«      z  k(  sJ ‚d„ }||   j                  «       j                  j                  «       \  }}	t        ||	«      D ]~  \  }
}t        ||   j                  |
|f   j                  d«      «      } |||   j                   |
   «       |||   j"                  |   «      z   }t        t%        ‰|«      «      }||k(  rŒ~J ‚ y )Nc                 ó   — | | k7  rdn| }|d›S rs  rv  rw  s     r   rz  zATestDataFrameReshape.test_unstack_nan_index_repeats.<locals>.castm  r{  r   rš   r2   rP   r3   r6   r•   r¨   r4   rG   rc   rT   rD   rF   )éC   é'   é5   éH   é9   éP   é   r@  r;  rÛ   é;   é2   é>   r�  éL   é4   é   r˜  é<   é3   rŽ  c                 ó:   •— dj                  t        ‰| «      «      S )Nrƒ  )ÚjoinrŠ  ©Úrrz  s    €r   r�  zETestDataFrameReshape.test_unstack_nan_index_repeats.<locals>.<lambda>š  s   ø€ ˜sŸx™x¬¨D°!«Ó5€ r   r5   r2  c           	      óZ   •— dj                  t        ‰| j                  d d d…   «      «      S )Nrƒ  rU   )r¦  rŠ  r(  r§  s    €r   r�  zETestDataFrameReshape.test_unstack_nan_index_repeats.<locals>.<lambda>›  s#   ø€ ˜sŸx™x¬¨D°!·&±&¹¸2¸±,Ó(?Ó@€ r   r’  r“  r?  c                 ó>   — t        | t        «      rt        | «      S | gS r   r~  r€  s    r   r�  zETestDataFrameReshape.test_unstack_nan_index_repeats.<locals>.<lambda>¡  r‚  r   rƒ  )r   r   rH   Úapplyri   r~   r#   r„  r‡   r…  rI   r†  r‡  rˆ  r(  r‰  r8   r9   rŠ  )r'   r°   rp  r   r)   r  r‹  rŒ  r�   rF  rŽ   r`   r*  r)  rz  s                 @r   Útest_unstack_nan_index_repeatsz3TestDataFrameReshape.test_unstack_nan_index_repeatsi  s#  ø€ ò	"ô à�u˜q‘yÜ—6‘6�(˜Q‘,ñà�%˜!‘)ñð �%˜!‘)ñð �%˜!‘)ñ	ð
 �%˜!‘)ñð �u˜q‘yØ�%˜!‘)ñä—6‘6�(˜Q‘,ñð �%˜!‘)ñô —6‘6�(˜Q‘,ñ	ð
 �%˜!‘)ñô —6‘6�(˜Q‘,ñòñ$ó&
ˆðR �H‰HÓ5¸AˆHÓ>Ø�H‰HÓ@ÀqˆHÓIð 	ˆˆ5‰	�2�e‘9ð
 �\‰\œ$˜s›)Ó$ˆØ�j‰j˜sˆjÓ#ˆØ�y‰y‹{×!Ñ!×%Ñ%Ó'¨1¬s°2«w©;Ò6Ð6Ð6ÙDˆØ˜‘X—^‘^Ó%×,Ñ,×4Ñ4Ó6‰
ˆˆdÜ˜˜d“Oò 	!‰DˆAˆqÜ˜#˜c™(Ÿ-™-¨¨1¨Ñ-×3Ñ3°CÓ8Ó9ˆDÙ˜C ™HŸN™N¨1Ñ-Ó.±¸¸S¹×9IÑ9IÈ!Ñ9LÓ1MÑMˆEÜœ3˜t UÓ+Ó,ˆEØ˜5“=Ð �=ñ		!r   c           
      óV  — t        t        d«      t        d«      t        d«      dœ«      }|j                  ddi«      }t        j
                  |j                  d<   |j                  ddg«      j                  d«      }d	dd
dt        j
                  t        j
                  t        j
                  t        j
                  gt        j
                  t        j
                  t        j
                  t        j
                  ddddgg}t        t        t        t        |Ž «      «      }t        t        j
                  dd
dddddgd¬«      }t        dgddggddgdd
ggd dg¬«      }t        |||¬«      }t        j                  ||«       t        t        d«      t        t        d«      «      dz  t        d«      dœ«      }|j                  ddi«      }t        j
                  |j                  d<   |j                  ddg«      j                  d«      }dt        j
                  gddgd
dgt        j
                  dgd	dgg}t        dgddggddgdd
ggd dg¬«      }t        t        j
                  dd
dd	gd¬«      }t        |||¬«      }t        j                  ||«       t        t        d«      t        t        d«      «      dz  t        d«      dœ«      }|j                  ddi«      }t        j
                  |j                  d<   |j                  ddg«      j                  d«      }d	t        j
                  gddgd
dgddgt        j
                  dgg}t        dgddggddgdd
ggd dg¬«      }t        t        j
                  dd
dd	gd¬«      }t        |||¬«      }t        j                  ||«       y )NÚaaaabbbbrw   r0  r|   rh   ©r2   r5   r{   r   r2   r5   r6   rD   rP   ru   rv   r­   r³   r3   r4   r  r®   )r6   r5   )r   r~   r;   rl   r   rH   r(  ri   r#   rŠ  r‡  r   r   r$   r%   ©r'   r)   r*  Úvalsr°   rF  r)  s          r   Útest_unstack_nan_index2z,TestDataFrameReshape.test_unstack_nan_index2©  s.  € äœT *Ó-´E¸!³HÄ5ÈÃ8ÑLÓMˆà�Y‰Y˜˜W�~Ó&ˆÜŸ™ˆ�‰�‰Ø�|‰|˜S #˜JÓ'×/Ñ/°Ó2ˆð ��1�aœŸ™¤§¡¬¯©´·±Ð8Ü�V‰V”R—V‘VœRŸV™V¤R§V¡V¨Q°°1°aÐ8ð
ˆô ”Cœœc 4˜jÓ)Ó*ˆÜ”R—V‘V˜Q  1 a¨¨A¨qÐ1¸Ô<ˆÜØ�E˜C ˜:Ð&°°1¨v¸¸1°vÐ.>ÀtÈSÀkô
ˆô ˜$¨°CÔ8ˆÜ
×Ñ˜d EÔ*äœT *Ó-´D¼¸q»³NÀQÑ4FÌUÐSTËXÑVÓWˆà�Y‰Y˜˜W�~Ó&ˆÜŸ™ˆ�‰�‰Ø�|‰|˜S #˜JÓ'×/Ñ/°Ó2ˆà”B—F‘F�˜a ˜V a¨ V¬b¯f©f°a¨[¸1¸a¸&ÐAˆÜØ�E˜C ˜:Ð&°°1¨v¸¸1°vÐ.>ÀtÈSÀkô
ˆô ”R—V‘V˜Q  1 aÐ(¨sÔ3ˆÜ˜$¨°CÔ8ˆÜ
×Ñ˜d EÔ*äœT *Ó-´D¼¸q»³NÀQÑ4FÌUÐSTËXÑVÓWˆà�Y‰Y˜˜W�~Ó&ˆÜŸ™ˆ�‰�‰Ø�|‰|˜S #˜JÓ'×/Ñ/°Ó2ˆà”B—F‘F�˜a ˜V a¨ V¨a°¨V´b·f±f¸a°[ÐAˆÜØ�E˜C ˜:Ð&°°1¨v¸¸1°vÐ.>ÀtÈSÀkô
ˆô ”R—V‘V˜Q  1 aÐ(¨sÔ3ˆÜ˜$¨°CÔ8ˆÜ
×Ñ˜d EÕ*r   c           	      ó:  — t        t        d«      t        dd¬«      j                  «       dz  t	        j
                  d«      dœ«      }t        j                  |j                  d<   |j                  d	d
g«      j                  «       }t	        j                  ddddt        j                  dgt        j                  dddddgg«      }t        ddgd	¬«      }t        dgt        dd¬«      gg d¢g d¢gd d
g¬«      }t        |||¬«      }t        j                  ||«       y )NÚ
aaaaabbbbbr„   rP   r…   r6   r%  r0  r¯  r{   r|   r2   r   r5   rD   ru   rv   rw   r¦   r3   r4   r­   r³   )r   r   r   r   r   r   )rU   r   r5   r6   r2   rD   r  r®   )r   r~   r   Útolistr   r   rH   r(  ri   r#   r  r   r   r$   r%   r°  s          r   Útest_unstack_nan_index3z,TestDataFrameReshape.test_unstack_nan_index3Ú  sú   € ää˜,Ó'Ü  °qÔ9×@Ñ@ÓBÀQÑFÜ—Y‘Y˜r“]ñó
ˆô Ÿ™ˆ�‰�‰Ø�|‰|˜S #˜JÓ'×/Ñ/Ó1ˆä�x‰x˜!˜Q  1¤b§f¡f¨aÐ0´2·6±6¸1¸aÀÀAÀqÐ2IÐJÓKˆÜ�S˜#�J SÔ)ˆÜØ�Eœ: l¸AÔ>Ð?Ú%Ò':Ð;Ø˜�+ô
ˆô ˜$¨°CÔ8ˆÜ
×Ñ˜d EÕ*r   c                 ó*  — dt         j                  t         j                  dgddt         j                  dgddt         j                  dgg d¢g d¢g d	¢g}t        |g d
¢g d¢¬«      }|j                  «       j	                  g d¢«      j                  «       }t         j                  t         j                  dt         j                  dgddt         j                  dt         j                  gg}t        ddgdggddgddggddg¬«      }t        dgg d¢gg d¢g d¢gd dg¬«      }t        |||¬«      }t        j                  ||«       |j                  dd  j                  «       j	                  g d¢«      }t        j                  |j                  «       |«       y )NÚHgi¼ç�(ÚUr\  ÚPbg¢	VÍZ§Ý>)ÚSnçº@¹ÕÂø>çÌ]KÈ=‹?é)=‘()ÚAgr\  r½  r¾  )r¸  ça2U0*©#¿r½  r¾  )ÚagentÚchangeÚdosageÚs_id)ioC  épC  iqC  irC  isC  itC  r®   )rÄ  rÃ  rÁ  rÀ  r¼  r¾  r½  r   r5   rU   rÄ  rÃ  r  rÂ  )r¿  r¸  rº  r»  r¹  )r   r   r   r   r   ©r   r5   r6   r2   rD   rÁ  rÅ  )
r   rH   r   r   ri   r#   r   r$   r%   rn   )r'   r±  r)   r*  r°   rF  r)  s          r   Útest_unstack_nan_index4z,TestDataFrameReshape.test_unstack_nan_index4ò  sk  € ð ”2—6‘6œ2Ÿ6™6 9Ð-Ø�#”r—v‘v˜yÐ)Ø�8œRŸV™V YÐ/Ú1Ú*Ú/ð
ˆô ØÚ9Ú<ô
ˆð �w‰w‹y×"Ñ"Ò#>Ó?×GÑGÓIˆô �V‰V”R—V‘V˜X¤r§v¡v¨sÐ3Ø�(œBŸF™F J´·±Ð7ð
ˆô
 Ø 	Ð*¨V¨HÐ5Ø�q�6˜B ˜7Ð#Ø˜8Ð$ô
ˆô Ø�JÒ =Ð>Ú"¢OÐ4Ø˜�/ô
ˆô ˜$¨°CÔ8ˆÜ
×Ñ˜d EÔ*à�v‰v�e�fˆ~×"Ñ"Ó$×.Ñ.Ò/JÓKˆÜ
×Ñ˜dŸl™l›n¨eÕ4r   c                 ó  — t        g d¢t        ddd¬«      dt        j                  d«      z   t        j                  j                  d«      j                  d«      dz  j                  d«      d	œ«      }|d
   t        j                  d«      z
  |d<   t        j                  x|j                  d<   |j                  d<   t        j                  x|j                  d<   |j                  d<   |j                  g d¢«      j                  d
dg«      }|j                  «       j                  j!                  «       dt#        |«      z  k(  sJ ‚dD ]A  }|j%                  «       D ],  \  }}|d   ||d
   |d   ff}||   |j                  |   k(  rŒ,J ‚ ŒC y )N)r5   r6   r5   r6   r5   r6   z
2014-02-01ru   rÈ   )r†   Úfreqéd   r6   r%  )r�  r�  rn  ro  r�  z
2014-02-02r‘  )r5   r�  )r2   r�  )r5   r‘  )rD   r‘  rŽ  rm  r�  )r   r   r   r   rÓ   rÔ   rä   Úroundrˆ   rÕ   rH   rn   ri   r#   r„  r‡   r…  rI   Úiterrows)r'   r)   r*  r   r  r¨  rq   s          r   Útest_unstack_nan_index5z,TestDataFrameReshape.test_unstack_nan_index5  sc  € äâ)Ü! ,¸ÀÔDØœRŸY™Y q›\Ñ)ÜŸ	™	×-Ñ-¨aÓ0×@Ñ@ÀÓCÀbÑH×OÑOÐPQÓRñ	ó
ˆð �u‘I¤§¡¨\Ó :Ñ:ˆˆ5‰	Ü.0¯f©fÐ4ˆ�‰ˆxÑ˜2Ÿ6™6 (Ñ+Ü.0¯f©fÐ4ˆ�‰ˆxÑ˜2Ÿ6™6 (Ñ+à�|‰|Ò1Ó2×:Ñ:¸EÀ5¸>ÓJˆØ�z‰z‹|×"Ñ"×&Ñ&Ó(¨A´°B³©KÒ7Ð7Ð7à!ò 	/ˆCØŸ™›ò /‘��1Ø˜‘h  a¨¡h°°%±Ð 9Ð9�Ø˜‘v §¡¨#¡Ó.Ð.Ð.ñ/ñ	/r   c                 óº  — t        ddd«      }t        g d¢t        j                  |ddfg«      ¬«      }|rd nt        }d}t        j                  ||¬«      5  |j                  |¬	«      }d d d «       t        j                  t        d
«      dg«      }t        j                  |dfg«      }t        g d¢||¬«      }	t        j                  |	«       y # 1 sw Y   ŒhxY w)NiÞ  r5   r  r{   r|   rÝ   z2The previous implementation of stack is deprecatedr\   r   rD   )r|   r7   )r   r   r   rf   r   r$   rg   r"   r<   r;   r%   )
r'   r   Útr)   Úwarnrp   r?   ÚeidxÚecolsr@   s
             r   Ú%test_stack_datetime_column_multiIndexz:TestDataFrameReshape.test_stack_datetime_column_multiIndex2  sÁ   € ä�T˜1˜aÓ ˆÜ’|¬Z×-CÑ-CÀaÈÈcÀ]ÀOÓ-TÔUˆÙ#‰t¬ˆØBˆÜ×'Ñ'¨°CÔ8ñ 	9Ø—X‘X¨<�XÓ8ˆF÷	9ô ×&Ñ&¬¨a«°&Ð'9Ó:ˆÜ×&Ñ&¨¨C¨ zÓ2ˆÜš\°¸uÔEˆÜ
×Ñ˜f hÕ/÷	9ð 	9ús   ÁCÃCÚmultiindex_columnsrÆ  ©r   r5   r6   r2   )r   r5   r6   rD   rb   r¤   )r6   r2   rD   )rD   r2   r6   r5   r   )r2   r6   r5   r   )rD   r6   r5   r   )r6   r5   r   )r2   r6   r5   )rD   r2   r6   rß   rU   c                 ó  — |sdnt         j                  }t        j                  g d¢ddg¬«      }||   }t	        t        j                  dt        |«      z  «      j                  dt        |«      «      |¬«      }|j                  |||¬«      }t        |t        «      rS|sQ|j                  |d	|¬«      }	t        |	t        «      rt        j                  ||	«       nt        j                  ||	«       t        j                  |j                   j#                  «       |j                   j$                  ¬«      |_        |j                  |||¬«      }	t        |	t        «      rt        j                  ||	«       y t        j                  ||	«       y )
NF©)r|   rF   )r|   rT   )r{   rG   )r³   rF   )r³   ÚuÚUpperÚLowerr¥   r2   rÝ   ©rß   Údropnar   T)r   Ú
no_defaultr   rf   r   r   r   rI   r   r"   r  Úintr
   r$   r=   r%   r9   Úto_numpyrk   )
r'   rÔ  rß   r   rÜ  Úfull_multiindexÚ
multiindexr)   r?   r@   s
             r   Útest_stack_partial_multiIndexz2TestDataFrameReshape.test_stack_partial_multiIndex@  s=  € ñ@ +‘´·±ˆÜ$×0Ñ0ÚHØ˜GÐ$ô
ˆð %Ð%7Ñ8ˆ
ÜÜ�I‰I�aœ#˜j›/Ñ)Ó*×2Ñ2°1´c¸*³oÓFØô
ˆð —‘ ¨fÀ<�ÓPˆä�eœSÔ!©,ð —x‘x e°DÀ|�xÓTˆHÜ˜(¤FÔ+Ü×&Ñ& v¨xÕ8ä×%Ñ% f¨hÔ7ä×+Ñ+Ø�J‰J×ÑÓ!¨¯©×)9Ñ)9ô
ˆŒ
ð —8‘8 %°À\�8ÓRˆÜ�h¤Ô'Ü×"Ñ" 6¨8Õ4ä×!Ñ! &¨(Õ3r   c           	      óB  — t        j                  g d¢ddg¬«      }t        t        j                  d«      j                  dd«      |g d¢   ¬	«      }|sd
nt        j                  }|j                  ||¬«      }t        ddgdt        j                  gddgdt        j                  ggt        t        d«      g d¢gg d¢g d¢gd dg¬«      t        ddgd¬«      ¬«      }|d   j                  |j                  j                  d   «      |d<   t        j                   ||«       y )Nr×  rÙ  rÚ  r¥   ru   r6   r2   )r   r5   r2   rÝ   F©rÜ  r   r   r5   rP   rD   )rØ  rF   rG   rT   r
  )r5   r2   r5   r2   r  r|   r³   r­   r7   )r   rf   r   r   r   r   r   rÝ  r"   rH   r;   r   rl   r   r(  r$   r%   )r'   r   rà  r)   rÜ  r?   r@   s          r   Útest_stack_full_multiIndexz/TestDataFrameReshape.test_stack_full_multiIndex  sÿ   € ô
 %×0Ñ0ÚHØ˜GÐ$ô
ˆô ”r—y‘y “|×+Ñ+¨A¨qÓ1¸?Ê9Ñ;UÔVˆÙ*‘´·±ˆØ—‘ °l�ÓCˆÜØ�ˆV�aœŸ™�[ 1 a &¨1¬b¯f©f¨+Ð6ÜÜ˜a›Ò"6Ð7Ú#¢\Ð2Ø˜W�oôô
 ˜3 ˜*¨7Ô3ô
ˆð ! ™×,Ñ,¨R¯Y©Y¯^©^¸AÑ->Ó?ˆ�‰Ü
×Ñ˜f hÕ/r   ÚorderedFTc                 ó(  — t        j                  t        d«      t        d«      |¬«      }t        g d¢g|¬«      }|j	                  |¬«      }t        j                  |j                  |g«      }t        g d¢|¬«      }t        j                  ||«       y )NÚyxzry   ©r™   ræ  )r%  r;  r<  rÝ   r   r:   )rˆ   ÚCategoricalIndexr~   r   r"   r   r<   r8   r
   r$   r=   )r'   ræ  r   Úcidxr)   r?   r  r@   s           r   Ú%test_stack_preserve_categorical_dtypez:TestDataFrameReshape.test_stack_preserve_categorical_dtype—  sv   € ô ×"Ñ"¤4¨£;¼4À»;ÐPWÔXˆÜš�~¨tÔ4ˆØ—‘ |�Ó4ˆô ×&Ñ&¨¯©°$Ð'7Ó8ˆÜš,¨dÔ3ˆä
×Ñ˜v xÕ0r   zlabels,datary   )r%  r;  r<  r9  r¢  r=  Úzyx)r¢  r=  r<  r9  r%  r;  c                 óì  — t        j                  |t        |«      |¬«      }t        j                  ddg|¬«      }t        j                  ||g«      }t        t        |«      g|¬«      }|j                  ddg|¬«      }	|r|n
t        |«      }t        j                  ||¬«      }
|rt        |«      n|}t        |t        j                  t        d«      |
|g«      ¬	«      }t        j                  |	|«       y )
Nré  rØ  Úv)ræ  rÝ   r   r5   r   r:   )rˆ   rê  rˆ  r   r<   r   r"   r
   r;   r$   r=   )r'   ræ  Úlabelsro   r   rë  Úcidx2r  r)   r?   Ús_cidxÚexpected_datar@   s                r   Ú+test_stack_multi_preserve_categorical_dtypez@TestDataFrameReshape.test_stack_multi_preserve_categorical_dtype¨  sÑ   € ô ×"Ñ" 6´f¸V³nÈgÔVˆÜ×#Ñ# S¨# J¸Ô@ˆÜ×&Ñ&¨¨e }Ó5ˆÜœ˜t›�~¨tÔ4ˆØ—‘˜1˜a˜&¨|�Ó<ˆá'‘¬V°F«^ˆÜ×$Ñ$ V°WÔ=ˆÙ(4œ˜tœ¸$ˆÜØ¤×!8Ñ!8¼%À»(ÀFÈEÐ9RÓ!Sô
ˆô 	×Ñ˜v xÕ0r   c                 ó&  — t        j                  g d¢«      }t        ||dœ«      }|j                  |¬«      }t	        j
                  t        d«      ddgg«      }t        t        j                  g d¢«      |¬«      }t        j                  ||«       y )	N)r3   r3   r4   r•   ©r{   r|   r   rD   r{   r|   )r3   r3   r3   r3   r4   r4   r•   r•   r:   )
rˆ   r�   r   r"   r   r<   r;   r
   r$   r=   )r'   r   rë   r)   r?   r8   r@   s          r   Ú,test_stack_preserve_categorical_dtype_valueszATestDataFrameReshape.test_stack_preserve_categorical_dtype_valuesÆ  sz   € ô
 �n‰nÒ1Ó2ˆÜ˜S sÑ+Ó,ˆØ—‘ |�Ó4ˆÜ×'Ñ'¬¨q«°C¸°:Ð(>Ó?ˆÜÜ�N‰NÒCÓDÈEô
ˆô 	×Ñ˜v xÕ0r   r8   r
  )r   r   r6   r2   c                 ó$  — t        j                  ddgddgg«      }t        ||¬«      j                  d«      }|j	                  |¬«      }t        j
                  |j                  j                  «       «      }t        |j                  «       ||j                  ¬«      }t        j                  ||«       t        j                  |j                  j                  «      }t        j                  |j                  «      }	t        j                  ||	«       y )Nr5   r6   r3   r4   r7   r   )r   r<   r   Úfillnar"   rf   r8   rß  r9   r$   r%   r   Úasarrayr  Úassert_numpy_array_equal)
r'   r8   r   r9   r)   r*   Ú	new_indexr@   Ústacked_codesÚexpected_codess
             r   Ú)test_stack_multi_columns_non_unique_indexz>TestDataFrameReshape.test_stack_multi_columns_non_unique_indexÔ  sÏ   € ô ×)Ñ)¨A¨q¨6°C¸°:Ð*>Ó?ˆÜ˜U¨GÔ4×;Ñ;¸AÓ>ˆØ—(‘(¨�(Ó5ˆÜ×*Ñ*¨7¯=©=×+AÑ+AÓ+CÓDˆ	ÜØ×ÑÓ i¸¿¹ô
ˆô 	×Ñ˜g xÔ0ÜŸ
™
 7§=¡=×#6Ñ#6Ó7ˆÜŸ™ I§O¡OÓ4ˆÜ
×#Ñ# M°>ÕBr   z,vals1, vals2, dtype1, dtype2, expected_dtyperC   rÂ   ÚInt64ÚFloat64r   r   Ústringr  c                 ó  — t        t        ||¬«      t        ||¬«      dœ«      }|j                  |¬«      }|j                  t        «      j                  |¬«      j                  |«      }	t        j                  ||	«       y )NrQ   )©r{   r5   )r{   r6   r   )r   r
   r"   rl   r  r$   r%   )
r'   Úvals1Úvals2Údtype1Údtype2Úexpected_dtyper   r)   r?   r@   s
             r   Ú.test_stack_multi_columns_mixed_extension_typeszCTestDataFrameReshape.test_stack_multi_columns_mixed_extension_typesí  su   € ô ä  ¨fÔ5Ü  ¨fÔ5ñó
ˆð —‘ |�Ó4ˆà�I‰I”fÓ×#Ñ#°Ð#Ó>×EÑEÀnÓUð 	ô 	×Ñ˜f hÕ/r   c                 óæ  — t        j                  g d¢ddg¬«      }t        t        j                  g d¢d¬«      t        j
                  g d¢«      d	œ|¬
«      }|j                  |¬«      }|j                  t        «      j                  |¬«      }|dk(  r&|d	   j                  t        j                  «      |d	<   n%|d   j                  t        j                  «      |d<   t        |j                  j                  gdz  |j                  j                  gdz  z   |j                  ¬
«      }t!        j"                  |j$                  |«       t!        j&                  |j                  t        «      |«       y )N)©r{   r   r  )r|   r5   r3   r4   r¥   )r   r5   Nr   rQ   r_   rö  r:   r?  r   r  r6   )r   rf   r   rˆ   r  r�   r#   rl   r  rù  ÚNAr
   r{   rR   r|   r9   r$   r=   r   r%   )r'   rß   r8   r)   r?   r@   Úexpected_dtypess          r   Ú"test_unstack_mixed_extension_typesz7TestDataFrameReshape.test_unstack_mixed_extension_types  s  € ä×&Ñ&Ò'EÈcÐSVÈZÔXˆÜä—X‘Xšl°'Ô:Ü—^‘^¢OÓ4ñð ô
ˆð —‘ %�Ó(ˆØ—9‘9œVÓ$×,Ñ,°5Ð,Ó9ˆØ�AŠ:Ø#+¨JÑ#7×#>Ñ#>¼r¿u¹uÓ#EˆH�ZÒ à!)¨(Ñ!3×!:Ñ!:¼2¿5¹5Ó!AˆH�XÑä Ø�T‰T�Z‰ZˆL˜1Ñ §¡§
¡
˜|¨aÑ/Ñ/°v·~±~ô
ˆô 	×Ñ˜vŸ}™}¨oÔ>Ü
×Ñ˜fŸm™m¬FÓ3°XÕ>r   Úbazc                 ó   — t        j                  t        d«      ddggddg¬«      }t        ddgdd	gg|d
dg¬«      }d|j                  _        t        g d¢gt        j                  g d¢ddg¬«      ¬«      }d|j                  _        |j                  «       j                  d¬«      j                  d|¬«      }t        j                  ||«       y )Nr5   rš   r•   r   r  r¥   r   r6   r2   r|   r{   r7   r   )r2   r5   r6   r   ))r•   r{   )r•   r|   )rš   r{   )rš   r|   rÝ   r2  )r3  rß   )r   r<   r;   r   r9   rd   rf   r8   r#   Ú	swaplevelÚ
sort_indexr$   r%   )r'   rß   r  r)   r@   r?   s         r   Ú test_unstack_swaplevel_sortlevelz5TestDataFrameReshape.test_unstack_swaplevel_sortlevel  s¿   € ô ×$Ñ$¤e¨A£h°°c°
Ð%;ÀEÈ5À>ÔRˆÜ˜˜A˜  A Ð'¨r¸CÀ¸:ÔFˆØˆ�
‰
ŒäÚˆNÜ×*Ñ*Ú@ÈÐPUÈôô
ˆð $ˆ�‰Ôà—‘“×'Ñ'¨QÐ'Ó/×:Ñ:ÀÈÐ:ÓOˆÜ
×Ñ˜f hÕ/r   )>Ú__name__Ú
__module__Ú__qualname__rž   ÚmarkÚfilterwarningsr0   rA   rN   rs   r‚   r‹   r�   r’   r¡   r±   Úparametrizer   rf   r   r¹   r×   rè   rú   rý   r  r  r  r#  r   rA  r   r+  r.  r8  rH   rG  rL  rP  rZ  ra  rl  r~   r;   r�  râ   Úpermutationsr¬  r²  r¶  rÇ  rÍ  rÓ  râ  rå  rì  rô  r÷  rÿ  r
  r  r  rv  r   r   r   r      s  „ Ø‡[�[×ÑØCóñ>óð>ð$ ‡[�[×ÑØCóñ0óð0ò.	.ð ‡[�[×ÑØCóñ00óð00òd&0òP0ò,0ò,0ò< 0òD0ð2 ‡[�[×ÑØHð Úš|ª\º<ÐHØ&�
×&Ñ&Ú4¸SÀ#¸Jôð '�
×&Ñ&ÚDØ Ð,ôð
ð "Ú)Ò+CÐDÙ�q˜!�f 3Ô'Ø&�
×&Ñ&ò	ò 2ôð	ð	
ó!ñD0óE!ðD0ò((ðT ‡[�[×ÑØCóñ
óð
ð< ‡[�[×ÑØCóñ6
óð6
ðp ‡[�[×ÑØCóñ;
óð;
òz&ð ‡[�[×ÑØCóñ0óð0ò4.ò6/1ðb ‡[�[×ÑØàˆR�X‰X�a‹[˜(˜"Ÿ(™( 1›+Ð&ØˆR�Y‰Y�q Ô% y r§y¡y°°B¸dÔ'CÐDð	
óñ+óð+ð. ‡[�[×ÑØCóñ8óð8òAð0 ‡[�[×ÑØ,àÒ+¨b¯f©f°c¸1Ð-=ÀÇÁÈÈ1¸~ÐNØÒ-°·±¸¸1¨~ÀÇÁÈÈQÐ?OÐPð	
óñ0óð0ð" ‡[�[×Ñ˜V s¨C j±%¸³+Ð%>Ó?ñ0ó @ð0ò0ò,Kò0ð& ‡[�[×Ñ˜U ^°^Ð$DÓEØ‡[�[×Ñ˜U¡D©¨q«£NÓ3ñ!ó 4ó Fð!ð: ‡[�[×Ñ˜UÐ$: I×$:Ñ$:Ò;PÓ$QÓRØ‡[�[×Ñ˜U¡D©¨q«£NÓ3Ø‡[�[×Ñ˜U U¨E NÓ3ñ;!ó 4ó 4ó Sð;!òz/+òb+ò0'5òR/ò.0ð ‡[�[×ÑØCóð ‡[�[×ÑØâÚÚÚÚÚØ�ˆFØ�ˆFØ�ˆFØˆCØˆCØˆCÚÚÚÚÚÚØ�ˆFØ�ˆFØ�ˆFð+	
óð4 ‡[�[×Ñ˜W r¨1¨a°!°Q°¸!¸Q¸Ð&@ÓAñ4ó Bó5óð<4ðB ‡[�[×ÑØCóñ0óð0ð* ‡[�[×ÑØCóð ‡[�[×Ñ˜Y¨°¨Ó6ñ1ó 7óð1ð ‡[�[×ÑØCóð ‡[�[×Ñ˜Y¨°¨Ó6Ø‡[�[×ÑØá�%‹[Ò2Ð3Ù�%‹[Ò2Ð3ð	
óñ1óó 7óð1ð& ‡[�[×ÑØCóñ	1óð	1ð ‡[�[×ÑØCóð ‡[�[×ÑØâÚÚð	
óñCóóðCð ‡[�[×ÑØCóð ‡[�[×ÑØ6à�ˆV�c˜3�Z ¨)°YÐ?Ø�ˆV�e˜U�^ W¨h¸ÐAð	
óñ0óóð0ð  ‡[�[×Ñ˜W q¨! fÓ-ñ?ó .ð?ð. ‡[�[×Ñ˜W q¨% jÓ1ñ0ó 2ñ0r   r   rR   r€   r  c                 óÄ  — t        j                  g d¢«      } | t        j                  dd«      ||¬«      }|j	                  dd¬«      }| t
        u rt        j                  dd	g«      }nd
dg}t        ddgddggt        j                  ddg«      ||¬«      }t        j                  ||«       |j	                  dd¬«      }| t
        u r!t        t        d«      ddggddgddgg¬«      }nddg}|dk(  rt        j                  nt        j                  }t        d|g|dgd|g|dgg|t        j                  g d¢«      |¬«      }t        j                  ||«       |j	                  ddgd¬«      }| t
        u r't        t        d«      ddgddggddgddgddgg¬«      }nt        j                  ddg«      }t        ddgddggd
dg||¬«      }t        j                  ||«       y )N))r	  rT   r4   )r	  rG   r3   )r  rT   r4   )r  rG   r3   r¿   rÃ   rZ   r   F©rß   Úsort)r   r	  )r   r  r	  r  rC   ç       @rÂ   )rT   r4   )rG   r3   )r8   r9   rR   rU   r5   r4   r3   r  r  ))r	  rT   )r	  rG   )r  rT   )r  rG   ©r9   r8   rR   r6   rT   rG   )r   rf   r   r   r#   r   r$   r%   r;   rˆ   r  rH   )Úframe_or_seriesrR   r8   Úobjr?   r¸   r@   Úitems           r   Útest_unstack_sort_falser$  2  s  € ô ×"Ñ"ÚTó€Eñ œ"Ÿ)™) C¨Ó-°UÀ%Ô
H€Cà�[‰[˜q uˆ[Ó-€Fàœ)Ñ#Ü%×1Ñ1°:¸zÐ2JÓKÑà! 5˜>ÐÜØ
ˆsˆ�c˜3�ZÐ Ü×$Ñ$ j°*Ð%=Ó>Ø Øô	€Hô ×Ñ˜& (Ô+à�[‰[˜r¨ˆ[Ó.€Fàœ)Ñ#Ü%Ü˜!“H˜s C˜jÐ)°1°a°&¸1¸a¸&Ð1Aô
Ñð   ˜:Ðà˜YÒ&Œ2�5Š5¬B¯F©F€DÜØ
ˆtˆ�t˜S�k C¨ ;°°s°Ð<Ø Ü×$Ñ$ÚDó
ð ô€Hô ×Ñ˜& (Ô+à�[‰[  1˜v¨Eˆ[Ó2€Fàœ)Ñ#Ü%Ü˜!“H˜s C˜j¨3°¨*Ð5¸qÀ!¸fÀqÈ!ÀfÈqÐRSÈfÐ=Uô
Ñô &×1Ñ1°:¸zÐ2JÓKÐÜØ
ˆsˆ�c˜3�ZÐ Ø�eˆnØ Øô	€Hô ×Ñ˜& (Õ+r   zlevels2, expected_columns)Nr5   r6   r2   Úvalue)r%  r5   )r%  r6   )r%  r2   )r5   Nr6   r2   )r5   r6   Nr2   )r5   r6   r2   N)z	nan=firstz
nan=secondz	nan=thirdznan=last)Úidsc           	      ó\  — ddg}t        j                  || gddg¬«      }t        dg d¢i|¬«      }|j                  dd	¬
«      }ddgddgddgddgg}t        t	        t        ||«      «      t        ddgd¬«      t        j                  |d dg¬«      ¬«      }t        j                  ||«       y )Nr4   r3   Úlevel1Úlevel2r¥   r%  )r   r5   r6   r2   rD   rP   ru   rv   r:   Fr  r   rD   r5   rP   r6   ru   r2   rv   r­   r7   )
r   r<   r   r#   Údictr‡  r   rf   r$   r%   )Úlevels2r¸   Úlevels1r8   r)   r?   ró  r@   s           r   Útest_unstack_sort_false_nanr-  m  s»   € ð0 �Cˆj€GÜ×#Ñ# W¨gÐ$6¸xÈÐ>RÔS€EÜ	�GÒ5Ð6¸eÔ	D€BØ�Z‰Z˜h¨UˆZÓ3€FØ˜�V˜a ˜V a¨ V¨a°¨VÐ4€MÜÜŒSÐ! =Ó1Ó2Ü�S˜#�J XÔ.Ü×&Ñ&Ð'7ÀÀhÐ?OÔPô€Hô
 ×Ñ˜& (Õ+r   c                  óº  — t        g d¢d¬«      } t        j                  g d¢«      | _        | j	                  «       }t        dt        j                  dgddt        j                  gdœt        d	«      t        ¬
«      }t        j                  ||«       | j	                  d¬«      }t        g d¢g d¢dœt        d	«      t        ¬
«      }t        j                  ||«       y )Nr”   r  rQ   rS   r3   r4   r•   rX   ry   rZ   rš   rV   )r3   rš   r3   )r4   r•   rš   )r
   r   rf   r8   r#   r   r   rH   r~   r  r$   r%   )ro   r?   r@   s      r   Útest_unstack_fill_frame_objectr/  ’  s³   € äÒ&¨hÔ7€DÜ×'Ñ'Ú8ó€D„Jð
 �\‰\‹^€FÜØ”B—F‘F˜CÐ ¨¨S´"·&±&Ð'9Ñ:Ü�5‹kÜô€Hô
 ×Ñ˜& (Ô+ð �\‰\ Sˆ\Ó)€FÜÚ¢OÑ4¼DÀ»KÌvô€Hô ×Ñ˜& (Õ+r   c            
      ób  — t        t        j                  dd¬«      gdgdgdgdœg d¢¬«      } | j                  ddg«      j	                  «       }t        t        j                  dd¬«      dggt        dgd¬	«      t        d
dgdggddgddggd dg¬«      ¬«      }t        j                  ||«       y )Nz2017-08-27 01:00:00.709949+0000ÚUTC)Útzr3   r4   r•   )Ú	timestampr3   r4   r•   rÝ   r­   r3  r   r5   r  r7   )	r   rˆ   rÕ   ri   r#   r   r   r$   r%   )r)   r?   r@   s      r   Ú"test_unstack_timezone_aware_valuesr4  ª  sÁ   € ä	äŸ,™,Ð'HÈUÔSÐTØ�Ø�Ø�ñ		
ò -ô
€Bð �\‰\˜3 ˜*Ó%×-Ñ-Ó/€FÜÜ
�,‰,Ð8¸UÔ
CÀSÐ	IÐJÜ�S�E Ô$ÜØ  #Ð&¨¨Ð.Ø�q�6˜A˜q˜6Ð"Ø˜�+ô
ô€Hô ×Ñ˜& (Õ+r   r   c           	      óÚ   — t        dddd¬«      }t        d|ig d¢¬«      }|j                  | ¬	«      }t        |t	        g d¢dggg d
¢g d¢g¬«      ¬«      }t        j                  ||«       y )NrÈ   Ú20180101Ú20180103zAmerica/New_York)rÉ  ÚstartÚendr2  r{   r£   r:   r   rb   ©r   r   r   r  )r   r   r"   r
   r   r$   r=   )r   Útsr)   r?   r@   s        r   Ú test_stack_timezone_aware_valuesr<  Â  sj   € ô 
˜ J°JÐCUÔ	V€BÜ	�C˜�9¢OÔ	4€BØ�X‰X <ˆXÓ0€FÜØ
Ü¢°3°%Ð 8ÂÊIÐ@VÔWô€Hô ×Ñ˜6 8Õ,r   rÜ  c                 ó
  — t        j                  d«      t        j                  d«      g}t        t        j                  t        |g g g¬«      ¬«      }|rb| t        j                  urPt        j                  t        d¬«      5  t        t        j                  ¬«      j                  | |¬«       d d d «       y t        t        j                  ¬«      j                  | |¬«      }t        j                  ||«       y # 1 sw Y   y xY w)Nr   r  )rR   r8   údropna must be unspecifiedr\   rQ   rä  )rˆ   Ú
RangeIndexr
   r   r€   r   r   rÝ  rž   rŸ   rö   r   r"   r$   r=   )rÜ  r   r>   r@   r?   s        r   Útest_stack_empty_framer@  Ï  sË   € ô �m‰m˜AÓ¤§¡¨aÓ 0Ð1€FÜœBŸJ™J¬jÀÈrÐSUÈhÔ.WÔX€HÙ˜¤c§n¡nÑ4Ü�]‰]œ:Ð-IÔJñ 	XÜœBŸJ™JÔ'×-Ñ-°VÈ,Ð-ÔW÷	Xð 	Xô ¤§¡Ô,×2Ñ2Ø¨ð 3ó 
ˆô 	×Ñ˜v xÕ0÷	Xð 	Xús   Â,C9Ã9Dc                 óÐ  — |rb| t         j                  urPt        j                  t        d¬«      5  t        t        j                  ¬«      j                  | |¬«       d d d «       y |}|j                  «       j                  g | |¬«      }t        j                  ||«       t        «       }t        «       j                  g | |¬«      }t        j                  ||«       y # 1 sw Y   y xY w)Nr>  r\   rQ   rä  rÛ  )r   rÝ  rž   rŸ   rö   r   r   rm   r"   r   r$   r%   )rÜ  r   Ú	int_framer@   r?   s        r   Útest_stack_empty_levelrC  ß  sÈ   € ñ ˜¤c§n¡nÑ4Ü�]‰]œ:Ð-IÔJñ 	VÜœBŸH™HÔ%×+Ñ+°6ÈÐ+ÔU÷	Vð 	Vð ˆØ—‘Ó!×'Ñ'Ø˜V°,ð (ó 
ˆô 	×Ñ˜f hÔ/ä“;ˆÜ“×"Ñ"¨°FÈÐ"ÓVˆÜ
×Ñ˜f hÕ/÷	Vð 	Vús   °,CÃC%rW   c                 óÚ  — |rr| t         j                  ur`t        j                  t        d¬«      5  t        t        j                  ¬«      j                  | |¬«      j                  |¬«       d d d «       y t        t        j                  ¬«      j                  | |¬«      j                  |¬«      }t        t        j                  ¬«      }t        j                  ||«       y # 1 sw Y   y xY w)Nr>  r\   rQ   rä  rV   )r   rÝ  rž   rŸ   rö   r   r   rm   r"   r#   r$   r%   )rÜ  rW   r   r?   r@   s        r   Útest_stack_unstack_empty_framerE  ò  sµ   € ñ
 ˜¤c§n¡nÑ4Ü�]‰]œ:Ð-IÔJñ 	-ÜœBŸH™HÔ%×+Ñ+Ø¨Lð ,ó ç‰g ˆgÔ,÷	-ð 	-ô œBŸH™HÔ%ß‰U˜&¨|ˆUÓ<ß‰W 
ˆWÓ+ð 	ô
 ¤2§8¡8Ô,ˆÜ
×Ñ˜f hÕ/÷	-ð 	-ús   °<C!Ã!C*c                  ó¸   — d} t        j                  t        | ¬«      5  t        t        j
                  ¬«      j                  «        d d d «       y # 1 sw Y   y xY w)Nz'index must be a MultiIndex to unstack.*r\   rQ   )rž   rŸ   rö   r
   r   rm   r#   )rp   s    r   Ú test_unstack_single_index_seriesrG    s?   € à
4€CÜ	�‰”z¨Ô	-ñ )Ü”R—X‘XÔ×&Ñ&Ô(÷)÷ )ñ )ús   ž)AÁAc            	      óš  — t        ddgddgddgddgdd	gd
œ«      } | j                  g d¢«      } | j                  dgd¬«      } | j                  dd¬«      j                  dd¬«      }| j                  ddgd¬«      }t        g d¢g d¢gt        ddgd¬«      t	        j
                  g d¢g d¢¬«      ¬«      }t        j                  ||«       y )NÚAliceÚBobç      #@rw   FTr   ÚfemaleÚmale)rd   ÚscoreÚemployedÚkidsÚgender)rd   rO  rP  rQ  rQ  rV   rO  rP  )rK  r\  r\  r\  )r\  r\  r\  g       @rd   r­   ))rN  rL  Fr   )rN  rL  Tr   )rN  rM  Fr   )rN  rM  Tr   )NrQ  rO  rP  r¥   r7   )r   ri   r#   r   r   rf   r$   r%   )r)   r@   r?   s      r   Útest_unstacking_multi_index_dfrR    sà   € ä	à˜eÐ$Ø˜1�XØ ˜Ø˜�FØ Ð(ñ	
ó
€Bð 
�‰Ò<Ó	=€BØ	�‰�X�J¨1ˆÓ	-€BØ�z‰z˜*°ˆzÓ3×;Ñ;¸FÈqÐ;ÓQ€HØ�Z‰Z˜ VÐ,¸ˆZÓ;€FÜÚ	Ò3Ð4Ü�W˜eÐ$¨6Ô2Ü×&Ñ&òò 7ô
ô€Hô ×Ñ˜& (Õ+r   c                 ó8  — t        j                  ddgddg¬«      }t        g d¢g|¬«      }|j                  d| ¬«      }t	        d	d
gd¬«      }t        t        d«      dd	ggddgddggd dg¬«      }t        ddgddgg||¬«      }t        j                  ||«       y )NrE   )rG   rT   r3   r¥   ©r5   r5   r5   r5   rÝ   r   r   rG   rT   r­   r5   rF   r  r7   )r   r<   r   r"   r   r;   r$   r%   )r   r9   r)   r?   Únew_columnsrü  r@   s          r   Ú2test_stack_positional_level_duplicate_column_namesrV  ,  s«   € ô ×%Ñ% z°:Ð&>ÀsÈCÀjÔQ€GÜ	’L�>¨7Ô	3€BØ�X‰X�a lˆXÓ3€Fä˜˜c˜
¨Ô-€KÜÜ�a“˜3 ˜*Ð%¨q°!¨f°q¸!°fÐ-=ÀdÈCÀ[ô€Iô ˜1˜a˜& 1 a &Ð)°ÀKÔP€Hä×Ñ˜& (Õ+r   c                  ó>  — t        j                  t        d«      g d¢g«      } t        t        j
                  j                  d«      j                  d«      t        j
                  j                  d«      j                  d«      j                  t        j                  «      t        j
                  j                  d«      j                  d«      t        j
                  j                  d«      j                  d«      dœ| ¬«      }t        d„ |j                  j                  D «       «      sJ ‚|j                  «       }t        j                  t        d«      D �cg c]  }||   j                  «       ‘Œ c}t        d«      d	¬
«      }t!        j"                  ||«       y c c}w )NrP   r0  r6   r=  rÕ  r:   c              3   óJ   K  — | ]  }|j                   j                   –— Œ y ­wr   )Úmgr_locsÚis_slice_like)Ú.0rF   s     r   ú	<genexpr>z5test_unstack_non_slice_like_blocks.<locals>.<genexpr>I  s   è ø€ ÒD°�1—:‘:×+Ñ+Ô+ÑDùs   ‚!#rD   r5   )Úkeysr3  )r   r<   r;   r   r   rÓ   rÔ   rä   rl   rm   ÚanyrJ   rK   r#   rˆ   Úconcatr$   r%   )r  r)   rM   Únr@   s        r   Ú"test_unstack_non_slice_like_blocksra  <  s"  € ô 
×	 Ñ	 ¤%¨£(ªOÐ!<Ó	=€BÜ	ä�y‰y×$Ñ$ QÓ'×7Ñ7¸Ó;Ü�y‰y×$Ñ$ QÓ'×7Ñ7¸Ó;×BÑBÄ2Ç8Á8ÓLÜ�y‰y×$Ñ$ QÓ'×7Ñ7¸Ó;Ü�y‰y×$Ñ$ QÓ'×7Ñ7¸Ó;ñ		
ð ô
€Bô ÑD°R·W±W·^±^ÔDÔDÐDÐDà
�*‰*‹,€Cä�y‰y´5¸³8Ö<¨a˜"˜Q™%Ÿ-™-�/Ò<Ä5ÈÃ8ÐRSÔT€HÜ×Ñ˜#˜xÕ(ùò =s   ÅFc           	      ó¸  — g d¢g d¢ddt         j                  t         j                  gg}t        |t        ddgddggg d	¢g d
¢g¬«      ¬«      }| ri nddi} |j                  d d| dœ|¤Ž}| rRt        dddddt         j                  gdddddt         j                  gdœt        j
                  g d¢g d¢g«      ¬«      }n-t        g d¢g d¢dœt        j
                  g d¢g d¢g«      ¬«      }t        j                  ||«       t        |t        j
                  g d¢g d¢g«      ¬«      }| ri nddi} |j                  d d| dœ|¤Ž}t        j                  ||«       y )!N)r5   r6   rC   rÂ   )r6   r2   rÂ   rÃ   r2   rD   r|   r{   rF   rG   r
  r  r  rÝ   r  Fr   rÞ   r¿   rC   r  rÂ   rÃ   rE   )r   r   r5   r5   r6   r6   )r|   r{   r|   r{   r|   r{   r:   )r¿   rC   r  rÂ   rC   )r  rÂ   rC   rÃ   rÂ   )r   r   r5   r5   r6   )r|   r{   r|   r{   r|   )r|   r|   r{   r{   )rF   rG   rF   rG   rv  )r   rH   r   r   r"   r  r$   r%   )r   ro   r)   Úkwargsr?   r@   s         r   Útest_stack_sort_falserd  Q  sb  € ò Ò.°°A´r·v±v¼r¿v¹vÐ0FÐG€DÜ	ØÜØ˜#�J  c 
Ð+²LÂ,Ð3Oô
ô
€Bñ  ‰R f¨e _€FØˆR�X‰XÐC˜A¨LÑC¸FÑC€FÙÜà˜3  S¨#¬r¯v©vÐ6Ø˜3  S¨#¬r¯v©vÐ6ñô ×(Ñ(Ú#Ò%CÐDóô
‰ô Ú+Ò2KÑLÜ×(Ñ(ª/Ò;TÐ)UÓVô
ˆô ×Ñ˜& (Ô+ô 
ØÜ×&Ñ&Ò(<Ò>RÐ'SÓTô
€Bñ  ‰R f¨e _€FØˆR�X‰XÐC˜A¨LÑC¸FÑC€FÜ×Ñ˜& (Õ+r   c                 ó  — t        j                  ddg«      }t        ddgddggddg|¬	«      }| ri nd
di} |j                  ddgfd| i|¤Ž}t        j                  g d¢«      }t	        g d¢|¬«      }t        j                  ||«       y )N)ÚweightÚkg)ÚheightÚmr¿   r  rC   rÂ   rë   rí   r7   r  Fr   r5   r   ))rë   rf  rg  )rë   rh  ri  )rí   rf  rg  )rí   rh  ri  )r¿   r  rC   rÂ   r:   )r   rf   r   r"   r
   r$   r=   )r   r°   r)   rc  r?   r·   r@   s          r   Ú!test_stack_sort_false_multi_levelrj  x  s˜   € ô ×
 Ñ
 Ð"2°OÐ!DÓ
E€CÜ	�S˜#�J  c 
Ð+°E¸5°>È3Ô	O€BÙ‰R f¨e _€FØˆR�X‰X�q˜!�fÑB¨<ÐB¸6ÑB€FÜ×+Ñ+ò	
ó€Nô Ò*°.ÔA€HÜ×Ñ˜6 8Õ,r   c                   óX
  — e Zd Zd„ Zej
                  j                  dg d¢g d¢gg d¢dg d¢fg d¢g d	¢gg d
¢dg d¢fg d¢g d¢gg d
¢dg d¢fg«      d„ «       Zd„ Zej
                  j                  d«      d„ «       Z
ej
                  j                  d«      ej
                  j                  d ed«       eddgddgg ej                   ej                  d«      j!                  d«      d«       ej                  g d¢d«      g¬«      g ej"                  d«       eddgddgddgg ej                   ej                  d«      j!                  d«      d«       ej                   g d¢g d¢«       ej                  g d¢d«      g¬«      gg«      d „ «       «       Zej
                  j                  d«      d!„ «       Zej
                  j                  d«      d"„ «       Zej
                  j                  d«      d#„ «       Zej
                  j                  d«      d$„ «       Zej
                  j                  d«      ej
                  j                  d%d&d'g«      d(„ «       «       Zd)„ Zej
                  j                  d«      d*„ «       Zej
                  j                  d«      d+„ «       Zej
                  j                  d«      d,„ «       Zej
                  j                  d«      d-„ «       Zd.„ Zd/„ Zej
                  j                  d«      d0„ «       Zej
                  j                  d«      d1„ «       Z d2„ Z!d3„ Z"ej
                  j                  d«      d4„ «       Z#ej
                  jH                  d5„ «       Z%ej
                  j                  d«      ej
                  j                  d6e&jN                  jQ                  d7„ d8D «       «      «      ej
                  j                  d9 e)d«      «      d:„ «       «       «       Z*ej
                  j                  d«      d;„ «       Z+ej
                  j                  d«      d<„ «       Z,ej
                  j                  d«      d=„ «       Z-d>„ Z.ej
                  j                  d«      d?„ «       Z/d@„ Z0dA„ Z1ej
                  j                  d«      dB„ «       Z2ej
                  j                  d«      dC„ «       Z3ej
                  j                  d«      dD„ «       Z4dE„ Z5ej
                  j                  d«      dF„ «       Z6ej
                  j                  d«      dG„ «       Z7dH„ Z8y)IÚTestStackUnstackMultiLevelc                 óè   — |}|j                  «       }|j                  «        |j                  t        «      j                  «        |j                  t        j                  «      j                  «        y r   )r#   rl   rÞ  r   r   )r'   Ú/multiindex_year_month_day_dataframe_random_dataÚymdr,   s       r   Útest_unstackz'TestStackUnstackMultiLevel.test_unstackŒ  sO   € à=ˆà—K‘K“Mˆ	Ø×ÑÔð 	�
‰
”3‹×ÑÔ!ð 	�
‰
”2—8‘8Ó×$Ñ$Õ&r   z5result_rows,result_columns,index_product,expected_row)r5   r5   NNç      >@N)r6   r6   NNrq  N)Úix1Úix2Úcol1Úcol2Úcol3Úcol4r6   )NNrq  N)r5   r5   NNrq  )r6   r6   NNrq  )rr  rs  rt  ru  rv  )NNrq  )r6   NNNrq  Nc                 ó  — t        ||¬«      j                  ddg«      }|j                  dd j                  d«      }t        |gt	        j
                  |dd  |ggd dg¬«      t        dgd¬«      ¬«      }t        j                  ||«       y )	NrÝ   rr  rs  r5   r6   r¥   r­   r®   )	r   ri   r(  r#   r   r<   r   r$   r%   )r'   Úresult_rowsÚresult_columnsÚindex_productÚexpected_rowr?   r@   s          r   Útest_unstack_partialz/TestStackUnstackMultiLevel.test_unstack_partial™  s“   € ô< ˜;°Ô?×IÑIØ�EˆNó
ˆð —‘˜Q˜qÐ!×)Ñ)¨%Ó0ˆÜØˆNÜ×+Ñ+Ø  Ð# m _Ð5¸dÀE¸]ôô ˜˜ %Ô(ô
ˆô 	×Ñ˜f hÕ/r   c                 ó  — t        j                  g d¢«      }t        t        j                  j                  d«      j                  d«      |¬«      }|j                  ddg«      }|j                  dd¬«      }t        j                  ||«       y )N))r   r   r   )r   r   r   )r5   r  r5   )r5   Úquxr5   r6   rD   r:   r5   r4  ©r3  Úhow)r   rf   r
   r   rÓ   rÔ   rä   r#   rÜ  r$   r%   )r'   r8   rr   r,   r@   s        r   Ú&test_unstack_multiple_no_empty_columnszATestStackUnstackMultiLevel.test_unstack_multiple_no_empty_columnsÄ  st   € Ü×&Ñ&ÚHó
ˆô ”2—9‘9×(Ñ(¨Ó+×;Ñ;¸AÓ>ÀeÔLˆà—I‘I˜q !˜fÓ%ˆ	Ø×#Ñ#¨°Ð#Ó6ˆÜ
×Ñ˜i¨Õ2r   r   c                 ó  — |}|j                  «       }|j                  |¬«      }|r|j                  d¬«      }t        j                  ||«       |j                  d¬«      }|j                  d«      }|j                  |¬«      }|r|j                  d¬«      }t        j                  |j                  d¬«      |«       |d d d…   }|j                  d«      }|j                  |¬«      j                  dd«      }|r|j                  d¬«      }t        j                  |j                  d¬«      |«       |j                  dd«      }|j                  d«      j                  ddd¬	«      }|j                  d|¬«      j                  dd«      }|r|j                  d¬«      }t        j                  |j                  d¬«      |«       |j                  «       }|j                  |¬«      }|r|j                  d¬«      }t        j                  ||«       |j                  d«      j                  d«      }|j                  d|¬«      }|j                  «       }t        j                  ||«       |j                  d|¬«      }|j                  d«      }t        j                  ||«       |j                  d|¬«      }|j                  |¬«      j                  d«      j                  d«      }t        j                  ||«       |j                  d«      j                  d d …d d d
…f   }|j                  |¬«      j                  |¬«      }	|j                  |¬«      }
|r$|	j                  d¬«      }	|
j                  d¬«      }
t        j                  |	|
j                  |	j                  «      «       |j                  d«      j                  d|¬«      }|j                  d«      j                  d|¬«      }t        j                  ||«       y )Nr   r4  ©r�  r6   r?  r   rU   r5   r2  r2   rà   )r#   r"   rÜ  r$   r%   r  r  rn   r=   Úreindexr8   Úassert_equal)r'   rn  r   ro  r,   Ú	restackedÚunlexsortedr?   r@   r*   Úymd_stackeds              r   Ú
test_stackz%TestStackUnstackMultiLevel.test_stackÏ  sŽ  € ð >ˆð —K‘K“Mˆ	Ø—O‘O°�OÓ>ˆ	Ùà!×(Ñ(¨UÐ(Ó3ˆIÜ
×Ñ˜i¨Ô-à—n‘n¨1�nÓ-ˆà×'Ñ'¨Ó*ˆ	Ø—O‘O°�OÓ>ˆ	Ùà!×(Ñ(¨UÐ(Ó3ˆIÜ
×Ñ˜i×2Ñ2¸Ð2Ó;¸SÔAà!¡$ B $Ñ'ˆØ×'Ñ'¨Ó*ˆ	Ø—O‘O°�OÓ>×HÑHÈÈAÓNˆ	Ùà!×(Ñ(¨UÐ(Ó3ˆIÜ
×Ñ˜i×2Ñ2¸Ð2Ó;¸SÔAà!×+Ñ+¨A¨qÓ1ˆØ×'Ñ'¨Ó*×4Ñ4°Q¸ÀÐ4ÓBˆ	Ø—O‘O A°L�OÓA×KÑKÈAÈqÓQˆ	Ùà!×(Ñ(¨UÐ(Ó3ˆIÜ
×Ñ˜i×2Ñ2¸Ð2Ó;¸SÔAð —K‘K“Mˆ	Ø—O‘O°�OÓ>ˆ	Ùà!×(Ñ(¨UÐ(Ó3ˆIÜ
×Ñ˜i¨Ô-ð —K‘K “N×*Ñ*¨1Ó-ˆ	à—‘ °�Ó>ˆØ—;‘;“=ˆÜ
×Ñ˜f hÔ/à—‘ °�Ó>ˆØ—;‘;˜q“>ˆÜ
×Ñ˜f hÔ/à—‘ °�Ó>ˆØ—9‘9¨,�9Ó7×?Ñ?ÀÓB×JÑJÈ1ÓMˆÜ
×Ñ˜f hÔ/ð —K‘K “N×&Ñ&¢q©#¨A¨# vÑ.ˆ	Ø—/‘/¨|�/Ó<×BÑBØ%ð Có 
ˆð —i‘i¨\�iÓ:ˆÙà—n‘n¨�nÓ/ˆGØ%×,Ñ,°Ð,Ó7ˆKÜ
×Ñ˜w¨×(;Ñ(;¸G¿M¹MÓ(JÔKð —‘˜Q“×%Ñ% b°|Ð%ÓDˆØ—;‘;˜q“>×'Ñ'¨¸Ð'ÓEˆÜ
�‰˜ Õ)r   zidx, exp_idxÚababr3   r4   r�  r�  r2   )r   r5   r   rD   r  )©r3   r6   ©r4   r5   ©r3   r5   )r4   r6   r5   )r5   r   r5   )r2   ru   r2   c                 ó  — t        t        j                  d«      j                  dd«      |g d¢¬«      }|r9d}t	        j
                  t        |¬«      5  |j                  |¬«       d d d «       y |j                  |¬«      }t        t        j                  d«      |¬	«      }t        j                  ||«       |j                  j                  d
u sJ ‚|j                  |j                  }	}t        j                  ||	«       y # 1 sw Y   y xY w)Nr<  rD   r2   )r�  r�  r�  r7   z8Columns with duplicate values are not supported in stackr\   r   r:   F)r   r   r   r   rž   rŸ   rö   r"   r
   r$   r=   r8   Ú	is_uniqueÚassert_index_equal)
r'   r°   Úexp_idxr   r)   rp   r?   r@   ÚliÚris
             r   Útest_stack_duplicate_indexz5TestStackUnstackMultiLevel.test_stack_duplicate_index  sÛ   € ô8 Ü�I‰I�b‹M×!Ñ! ! QÓ'ØÚ)ô
ˆñ
 ØLˆCÜ—‘œz°Ô5ñ 4Ø—‘ l�Ô3÷4ð 4ð —X‘X¨<�XÓ8ˆFÜœbŸi™i¨›m°7Ô;ˆHÜ×"Ñ" 6¨8Ô4Ø—<‘<×)Ñ)¨UÑ2Ð2Ð2Ø—\‘\ 8§>¡>�ˆBÜ×!Ñ! " bÕ)÷4ð 4ús   ÁD Ä D	c                 óÂ  — t        j                  dgdz  dgdz  z   dgdz  z   dgdz  z   dgdz  d	gdz  z   dgd
z  z   d	gdz  z   ddgdz  g d¢z   gg d¢¬«      }t        t        j                  dd¬«      t        j                  dd¬«      dœ|¬«      }|j                  d«      }|j                  |¬«      }|r|j                  d¬«      }t        j                  ||«       y )NÚFrirD   ÚSatr6   ÚSunÚThur2   ÚDinnerÚLunchrP   ÚNoÚYes)r�  r�  rž  )ÚdayÚtimeÚsmokerr¥   r;  r€   rQ   )r…  rI   r:   r   r4  r„  )
r   r  r   r   r   r#   r"   rÜ  r$   r%   )r'   r   r  r)   r?   Úreconss         r   Útest_unstack_odd_failurez3TestStackUnstackMultiLevel.test_unstack_odd_failureK  sø   € ô ×#Ñ#à�˜!‘˜u˜g¨™kÑ)¨U¨G°a©KÑ7¸5¸'ÀA¹+ÑEØ�
˜Q‘ ' ¨Q¡Ñ.°(°¸a±Ñ?À7À)ÈaÁ-ÑOØ�u� Ñ!Ò$7Ñ7ðò
 ,ô
ˆô ä—y‘y ¨9Ô5Ü—y‘y ¨9Ô5ñð ô
ˆð —‘˜A“ˆà—‘¨<�Ó8ˆÙà—]‘] u�]Ó-ˆFÜ
×Ñ˜f bÕ)r   c                 óP  — |}|j                   }d|d<   |j                  dd¬«      }|j                  |¬«      }|d   j                  |¬«      j                  «       }t        j                  |d   |d¬«       |j
                  �J ‚|d   j                  t        j                  k(  sJ ‚y )	Nr   )r   Úfourr5   )rß   r3  r   Frô   r   )	r&   r  r"   r$   r=   rd   rR   r   r€   )r'   Ú multiindex_dataframe_random_datar   Úframer)   r*   r?   s          r   Útest_stack_mixed_dtypez1TestStackUnstackMultiLevel.test_stack_mixed_dtypeg  s�   € ð 1ˆà�W‰WˆØ!ˆˆ=ÑØ�]‰] ¨ˆ]Ó+ˆà—(‘(¨�(Ó5ˆØ�E‘—‘¨l�Ó;×FÑFÓHˆÜ
×Ñ˜w u™~¨vÀ5ÕIØ�{‰{Ð"Ð"Ð"Ø�u‰~×#Ñ#¤r§z¡zÒ1Ð1Ñ1r   c           	      óp  — t        g d¢g d¢g d¢g d¢t        j                  d«      dœ«      }|j                  g d¢«      j	                  t
        «      }|j                  «       }|j                  |¬«      }t        j                  ||j                  |j                  «      j                  t        «      «       y )	N)Únaiverª  rª  Úactiver«  r«  )r3   r4   r4   r4   r3   r3   )r5   r6   r2   rD   r5   r2   )Úhir¬  Úbyer­  r­  Úpeaceg      @)rÆ   rð   Úbarcoderï  Úextra)rÆ   rð   r¯  rï  r   )r   r   r   Úgroupbyr«  rI   r#   r"   r$   r=   r…  r8   rl   rh   )r'   r   r)   r?   r,   r‡  s         r   Útest_unstack_bugz+TestStackUnstackMultiLevel.test_unstack_bugw  s‹   € ô âRÚ5Ú-Ú?ÜŸ™ 3›ñó
ˆð —‘Ò<Ó=×CÑCÄCÓHˆØ—N‘NÓ$ˆ	Ø—O‘O°�OÓ>ˆ	Ü
×Ñ˜y¨&¯.©.¸¿¹Ó*I×*PÑ*PÔQVÓ*WÕXr   c                 ó  — |}|j                  «       }|j                  j                  dk(  sJ ‚|j                  j                  ddgk(  sJ ‚|j                  |¬«      }|j                  j                  |j                  j                  k(  sJ ‚y )Nr  rð   r  r   )r#   r8   rd   r9   rk   r"   )r'   r¦  r   r§  r,   r‡  s         r   Ú!test_stack_unstack_preserve_namesz<TestStackUnstackMultiLevel.test_stack_unstack_preserve_namesŠ  s}   € ð 1ˆà—M‘M“Oˆ	Ø�‰×#Ñ# wÒ.Ð.Ð.Ø× Ñ ×&Ñ&¨5°(Ð*;Ò;Ð;Ð;à—O‘O°�OÓ>ˆ	Ø�‰×$Ñ$¨¯©×(9Ñ(9Ò9Ð9Ñ9r   Úmethodr"   r#   c                 óv  — |}|j                   d   }|dk(  rd|ini }t        j                  t        d¬«      5   t	        ||«      di |¤Ž d d d «       |dk(  rJ|j
                  d d …df   }t        j                  t        d¬«      5   t	        ||«      di |¤Ž d d d «       y y # 1 sw Y   ŒYxY w# 1 sw Y   y xY w)	Nr   r"   r   zdoes not match index namer\   r#   r   )Úmistake)rn   rž   rŸ   ÚKeyErrorÚgetattrr(  )r'   rµ  r¦  r   r§  r)   rc  rr   s           r   Ú#test_stack_unstack_wrong_level_namez>TestStackUnstackMultiLevel.test_stack_unstack_wrong_level_name™  sÁ   € ð 1ˆð �Y‰Y�uÑˆà39¸WÒ3D�. ,Ñ/È"ˆÜ�]‰]œ8Ð+FÔGñ 	5ØŒG�B˜ÓÑ4¨VÒ4÷	5ð �YÒà—‘š˜1˜‘ˆAÜ—‘œxÐ/JÔKñ 8Ø"”˜˜6Ó"Ñ7°Ò7÷8ð 8ð ÷	5ð 	5ú÷8ð 8ús   ¸B#ÂB/Â#B,Â/B8c                 óz   — |}|j                  d«      }|j                  d¬«      }t        j                  ||«       y )Nr  r5   r?  rÎ   )r'   r¦  r§  r?   r@   s        r   Útest_unstack_level_namez2TestStackUnstackMultiLevel.test_unstack_level_name°  s5   € Ø0ˆà—‘˜xÓ(ˆØ—=‘= q�=Ó)ˆÜ
×Ñ˜f hÕ/r   c                 ó4  — |}|j                  d«      }|j                  d|¬«      }|j                  «       j                  d|¬«      }t        j                  ||«       |j                  d|¬«      }|j                  |¬«      }t        j                  ||«       y )Nr  rð   r   r   )r#   r"   r$   r%   r=   )r'   r¦  r   r§  r,   r?   r@   s          r   Útest_stack_level_namez0TestStackUnstackMultiLevel.test_stack_level_name·  s†   € ð 1ˆà—M‘M (Ó+ˆ	Ø—‘ °\�ÓBˆØ—=‘=“?×(Ñ(¨¸Ð(ÓFˆÜ
×Ñ˜f hÔ/à—‘˜U°�Ó>ˆØ—;‘;¨L�;Ó9ˆÜ
×Ñ˜v xÕ0r   c                 ó<  — |}|j                  ddg«      }|j                  d«      j                  d«      }t        j                  ||«       |j                  j                  |j                  j                  k(  sJ ‚|d   }|j                  ddg«      }t        j                  ||d   «       |j                  ddg|¬«      }|r|j                  d¬«      }|j                  dd«      j                  dd	«      }|j                  d¬
«      }t        j                  ||«       |j                  j                  |j                  j                  k(  sJ ‚|j                  dd	g«      }|j                  d«      j                  d«      j                  dd¬«      }t        j                  ||«       |j                  d	dg«      }|j                  d	«      j                  d«      j                  dd¬«      }t        j                  ||j                  d d …|j                  f   «       y )NÚyearÚmonthr{   r   r4  r„  r   r5   r6   r?  r€  )r#   r$   r%   r9   rk   r"   rÜ  r  r  r8   rn   )	r'   rn  r   ro  r,   r@   rr   Ús_unstackedr‡  s	            r   Útest_stack_unstack_multiplez6TestStackUnstackMultiLevel.test_stack_unstack_multipleÆ  sÖ  € ð >ˆà—K‘K ¨Ð 1Ó2ˆ	Ø—;‘;˜vÓ&×.Ñ.¨wÓ7ˆÜ
×Ñ˜i¨Ô2Ø× Ñ ×&Ñ&¨(×*:Ñ*:×*@Ñ*@Ò@Ð@Ð@ð �‰HˆØ—i‘i ¨Ð 1Ó2ˆÜ
×Ñ˜k¨8°C©=Ô9à—O‘O V¨WÐ$5ÀL�OÓQˆ	Ùà!×(Ñ(¨UÐ(Ó3ˆIØ×'Ñ'¨¨1Ó-×7Ñ7¸¸1Ó=ˆ	Ø×(Ñ(¨qÐ(Ó1ˆ	ä
×Ñ˜i¨Ô-Ø�‰×$Ñ$¨¯	©	¯©Ò7Ð7Ð7ð —K‘K  A Ó'ˆ	Ø—;‘;˜q“>×)Ñ)¨!Ó,×3Ñ3¸ÀÐ3ÓFˆÜ
×Ñ˜i¨Ô2à—K‘K  A Ó'ˆ	Ø—;‘;˜q“>×)Ñ)¨!Ó,×3Ñ3¸ÀÐ3ÓFˆÜ
×Ñ˜i¨¯©²a¸×9JÑ9JÐ6JÑ)KÕLr   c                 ó¸   — |}|j                  ddg«      }t        j                  t        d¬«      5  |j	                  ddg|¬«       d d d «       y # 1 sw Y   y xY w)NrÀ  rÁ  zlevel should containr\   r   r   )r#   rž   rŸ   rö   r"   ©r'   rn  r   ro  r,   s        r   Útest_stack_names_and_numbersz7TestStackUnstackMultiLevel.test_stack_names_and_numbersë  sZ   € ð >ˆà—K‘K ¨Ð 1Ó2ˆ	ô �]‰]œ:Ð-CÔDñ 	EØ�O‰O˜Q ˜L°|ˆOÔD÷	E÷ 	Eñ 	Eús   ±AÁAc                 óB  — |}|j                  ddg«      }t        j                  t        d¬«      5  |j	                  ddg|¬«       d d d «       t        j                  t        d¬«      5  |j	                  d	d
g|¬«       d d d «       y # 1 sw Y   ŒCxY w# 1 sw Y   y xY w)NrÀ  rÁ  zToo many levelsr\   r6   r2   r   znot a valid level numberrd  rc  )r#   rž   rŸ   Ú
IndexErrorr"   rÅ  s        r   Ú!test_stack_multiple_out_of_boundsz<TestStackUnstackMultiLevel.test_stack_multiple_out_of_boundsù  s–   € ð >ˆà—K‘K ¨Ð 1Ó2ˆ	ä�]‰]œ:Ð->Ô?ñ 	?Ø�O‰O˜Q ˜F°ˆOÔ>÷	?ä�]‰]œ:Ð-GÔHñ 	AØ�O‰O˜R ˜H°<ˆOÔ@÷	Að 	A÷	?ð 	?ú÷	Að 	Aús   ±B	Á*BÂ	BÂBc           
      óÞ  — t        j                  g d¢dd¬«      }t        ddgdz  d¬	«      }g d
¢}t        j                  ||g«      }t        ||¬«      }|j                  «       }|j                  d¬«      }|j                  d¬«      }t        j                  g d¢dd¬«      }	t        g d¢g d¢dœ|	ddg¬«      }
d|
j                  _	        t        j                  ||
«       t        j                  ||
«       t        j                  ||
j                  «       t        j                  g d¢dd¬«      }t        j                  g d¢dd¬«      }t        j                  ||g«      }t        ||¬«      }|j                  «       }|j                  d¬«      }|j                  d¬«      }t        j                  g d¢dd¬«      }	t        j                  g d¢dd¬«      }t        t        j                  t        j                  t        j                  t        j                  ddgt        j                  t        j                  ddt        j                  t        j                  gddt        j                  t        j                  t        j                  t        j                  gg|	|¬«      }
t        j                  ||
«       t        j                  ||
«       t        j                  ||
j                  «       y )N)ú2013-01rË  ú2013-02rÌ  ú2013-03rÍ  ÚMÚperiod©rÉ  rd   r{   r|   r2   Ústrr­   ©r5   r6   r2   rD   rP   ru   r:   r5   r?  r   )rË  rÌ  rÍ  )r5   r2   rP   )r6   rD   ru   rö  r7   Úperiod1)ú2013-12ú2013-11ú2013-10ú2013-09ú2013-08ú2013-07Úperiod2)rÙ  rØ  r×  rÖ  rÕ  rÔ  r6   rD   ru   rP   )rˆ   ÚPeriodIndexr   r   r  r
   r#   r   r9   rd   r$   r%   r&   r   rH   )r'   Úidx1Úidx2r%  r°   rr   Úresult1Úresult2Úresult3Úe_idxr@   Úe_colss               r   Útest_unstack_period_seriesz5TestStackUnstackMultiLevel.test_unstack_period_series	  sN  € ä�~‰~ÚNØØô
ˆô
 �c˜3�Z !‘^¨%Ô0ˆÚ"ˆä×$Ñ$ d¨D \Ó2ˆÜ�5 Ô$ˆà—)‘)“+ˆØ—)‘) !�)Ó$ˆØ—)‘) !�)Ó$ˆä—‘Ú-°C¸hô
ˆô Ú¢)Ñ,°EÀCÈÀ:ô
ˆð !&ˆ×ÑÔä
×Ñ˜g xÔ0Ü
×Ñ˜g xÔ0Ü
×Ñ˜g x§z¡zÔ2ä�~‰~ÚNØØô
ˆô �~‰~ÚNØØô
ˆô
 ×$Ñ$ d¨D \Ó2ˆÜ�5 Ô$ˆà—)‘)“+ˆØ—)‘) !�)Ó$ˆØ—)‘) !�)Ó$ˆä—‘Ú-°C¸iô
ˆô —‘ÚNØØô
ˆô
 ä—‘œŸ™¤§¡¬¯©°°AÐ6Ü—‘œŸ™  A¤r§v¡v¬r¯v©vÐ6Ø�A”r—v‘vœrŸv™v¤r§v¡v¬r¯v©vÐ6ðð
 Øô
ˆô 	×Ñ˜g xÔ0Ü
×Ñ˜g xÔ0Ü
×Ñ˜g x§z¡zÕ2r   c                 ól  — t        j                  g d¢dd¬«      }t        j                  g d¢dd¬«      }g d¢g d¢d	œ}t        j                  ||g«      }t	        ||¬
«      }|j                  «       }|j                  d¬«      }|j                  d¬«      }t        j                  ddgdd¬«      }	t        j                  g d¢dd¬«      }
t        j                  dj                  «       |
g«      }t	        g d¢g d¢g|	|¬«      }t        j                  ||«       t        j                  ||«       t        j                  g d¢dd¬«      }	t        j                  g d¢dd¬«      }
t        j                  dj                  «       |	g«      }t	        g d¢g d¢g d¢g|
|¬«      }t        j                  ||«       y )N)ú2014-01ú2014-02ræ  ræ  rå  rå  rÎ  rÓ  rÐ  )rÔ  rÔ  ræ  rÖ  rÖ  ræ  rÚ  rÒ  )ru   rP   rD   r2   r6   r5   rö  r:   r5   r?  r   rå  ræ  )rÖ  rÔ  ræ  rÖ  rÔ  ræ  zA A A B B B)rP   r5   ru   r6   ru   r5   )rD   r6   r2   r2   rP   rD   r7   )rå  ræ  rå  ræ  )rÖ  rÔ  ræ  zA A B B)rP   rD   r6   r2   )r5   r6   ru   rP   )ru   r2   r5   rD   )	rˆ   rÛ  r   r  r   r#   r‰  r$   r%   )r'   rÜ  rÝ  r%  r°   r)   rÞ  rß  rà  Úe_1Úe_2râ  r@   s                r   Útest_unstack_period_framez4TestStackUnstackMultiLevel.test_unstack_period_frameN  s…  € ä�~‰~ÚNØØô
ˆô
 �~‰~ÚNØØô
ˆò
 )Ò/AÑBˆÜ×$Ñ$ d¨D \Ó2ˆÜ�u CÔ(ˆà—*‘*“,ˆØ—*‘* 1�*Ó%ˆØ—*‘* 1�*Ó%ˆä�n‰n˜i¨Ð3¸#ÀIÔNˆÜ�n‰nÚNØØô
ˆô
 ×'Ñ'¨×)<Ñ)<Ó)>ÀÐ(DÓEˆÜÚÒ!3Ð4¸CÈô
ˆô 	×Ñ˜g xÔ0Ü
×Ñ˜g xÔ0ä�n‰nÚ8¸sÈô
ˆô �n‰nÚ-°C¸iô
ˆô ×'Ñ'¨¯©Ó):¸CÐ(@ÓAˆÜÚš<ªÐ6¸cÈ6ô
ˆô 	×Ñ˜g xÕ0r   c                 ó`  — dgdz  dgdz  z   }dgdz  dgdz  z   }t        j                  g d¢dz  «      }t        j                  j	                  d«      j                  ddd	«      }t        ||||d
œ«      }|j                  ddg«      }d|j                  _	        |j                  d«      }	t        j                  d«      }
|rd}
t        j                  t        |
¬«      5  |	j!                  d«      j#                  «        d d d «       |	j!                  d«      j#                  d¬«      }|j%                  d|¬«      }|	j&                  d d …dgf   j!                  d«      j#                  «       j%                  d|¬«      }d|j                  _	        t)        j*                  ||«       y # 1 sw Y   Œ§xY w)Nr5   r2   r6   r3   r4   )z
2013-01-03z
2013-01-04z
2013-01-05r   rÊ  ru   )ÚIDÚNAMEÚDATEÚVAR1rí  rë  ÚParamsz&agg function failed [how->mean,dtype->z-dtype 'str' does not support operation 'mean'r\   zW-THUT)Únumeric_onlyr   rî  )rˆ   Úto_datetimer   rÓ   rÔ   Úintegersr   ri   r9   rd   r#   ÚreÚescaperž   rŸ   r    ÚresampleÚmeanr"   rn   r$   r%   )r'   r   r"  Úid_colrd   ÚdateÚvar1r)   ÚmultiÚunstrp   Údownr  r  s                 r   Útest_stack_multiple_bugz2TestStackUnstackMultiLevel.test_stack_multiple_bug}  sv  € ð
 �#˜‘'˜q˜c A™gÑ&ˆØ�˜‘	˜s˜e a™iÑ(ˆÜ�~‰~ÒHÈ1ÑLÓMˆÜ�y‰y×$Ñ$ QÓ'×0Ñ0°°C¸Ó;ˆÜ˜f¨d¸DÈ$ÑOÓPˆà—‘˜f d˜^Ó,ˆØ%ˆ�‰ÔØ�}‰}˜TÓ"ˆÜ�i‰iÐ@ÓAˆÙØAˆCÜ�]‰]œ9¨CÔ0ñ 	*Ø�M‰M˜'Ó"×'Ñ'Ô)÷	*à�}‰}˜WÓ%×*Ñ*¸Ð*Ó=ˆØ�Z‰Z˜¨<ˆZÓ8ˆà�H‰H’Q˜˜�[Ñ!ß‰X�gÓß‰T‹Vß‰U�4 lˆUÓ3ð	 	ð #ˆ�
‰
ŒÜ
×Ñ˜b "Õ%÷	*ð 	*ús   Ã F$Æ$F-c                 ó>  — t        ddgddgddgdœ«      }|j                  ddg«      }|sd	nt        j                  }|j	                  «       j                  ||¬
«      }t        |«      t        |j                  «       «      kD  sJ ‚|rFt        j                  t        d¬«      5  |j	                  «       j                  d|¬
«       d d d «       y |j	                  «       j                  d|¬
«      }t        j                  ||j                  «       «       y # 1 sw Y   y xY w)NÚa1Úa2Úb1Úb2r5   r0  r{   r|   Frä  r>  r\   T)r   ri   r   rÝ  r#   r"   rI   rÜ  rž   rŸ   rö   r$   r%   )r'   r   r)   rÜ  r*   s        r   Útest_stack_dropnaz,TestStackUnstackMultiLevel.test_stack_dropna›  s÷   € ô
 ˜d D˜\°°t°ÀAÀqÀ6ÑJÓKˆØ�\‰\˜3 ˜*Ó%ˆá*‘´·±ˆØ—*‘*“,×$Ñ$¨FÀÐ$ÓNˆÜ�7‹|œc '§.¡.Ó"2Ó3Ò3Ð3Ð3áÜ—‘œzÐ1MÔNñ KØ—
‘
“×"Ñ"¨$¸\Ð"ÔJ÷Kð Kð —j‘j“l×(Ñ(°À<Ð(ÓPˆGÜ×!Ñ! '¨7¯>©>Ó+;Õ<÷	Kð Kús   Â""DÄDc                 ó®   — t        g d¢g d¢g d¢gg d¢g d¢g¬«      }g d¢|j                  _        dd	g|j                  _        |j	                  d
dg«       y )N)r   r   r   r   r5   r5   r5   r5   )r   r   r5   r5   r   r   r5   r5   ©r   r5   r   r5   r   r5   r   r5   r
  r  r7   r£   rš   r¨   r4   r•   )r   r8   rk   r9   r#   )r'   r   r)   s      r   Ú"test_unstack_multiple_hierarchicalz=TestStackUnstackMultiLevel.test_unstack_multiple_hierarchical®  sS   € Üâ(Ú(Ú(ðò
 "¢<Ð0ô
ˆò )ˆ�‰ŒØ ˜:ˆ�
‰
Ôð 	�
‰
�C˜�:Õr   c           
      óœ  — d}t        t        j                  j                  d«      j	                  d|¬«      t        j                  j                  d«      j	                  d|¬«      t        j                  j                  d«      j	                  dd	|¬«      t        j                  j                  d
«      j	                  dd|¬«      t        j                  j                  d«      j	                  d|¬«      t        j                  j                  d	«      j                  |«      dœ«      }|j                  g d¢«      }|j                  d«       y )Néè  r6   rÊ  )Úsizer2   i,  rD   iùÿÿÿrv   rP   iíÿÿÿé   ru   i¸  )r{   r|   r³   rÈ   rÉ   rÊ   )r{   r|   r³   rÈ   rÉ   rÉ   )r   r   rÓ   rÔ   rò  rä   ri   r#   )r'   ÚNUM_ROWSr)   Úidfs       r   Útest_unstack_sparse_keyspacez7TestStackUnstackMultiLevel.test_unstack_sparse_keyspace¾  s  € ð ˆää—Y‘Y×*Ñ*¨1Ó-×6Ñ6°sÀÐ6ÓJÜ—Y‘Y×*Ñ*¨1Ó-×6Ñ6°sÀÐ6ÓJÜ—Y‘Y×*Ñ*¨1Ó-×6Ñ6°r¸1À8Ð6ÓLÜ—Y‘Y×*Ñ*¨1Ó-×6Ñ6°s¸BÀXÐ6ÓNÜ—Y‘Y×*Ñ*¨1Ó-×6Ñ6°tÀ(Ð6ÓKÜ—Y‘Y×*Ñ*¨1Ó-×=Ñ=¸hÓGñó	
ˆð �l‰lÒ4Ó5ˆð 	�‰�CÕr   c                 óR  — ddgg d¢g}g d¢g d¢g}t        ||«      }t        t        j                  j	                  d«      j                  d«      |¬«      }|j                  «       }t        |j                  «      d	k(  sJ ‚|j                  |¬
«      }t        j                  ||«       y )Nr   r5   rÕ  r
  r1  r6   )rD   r6   r:   rD   r   )r   r   r   rÓ   rÔ   rä   r#   rI   r9   r"   r$   r%   )r'   r   r>   r  r8   r)   r?   r¢  s           r   Útest_unstack_unobserved_keysz7TestStackUnstackMultiLevel.test_unstack_unobserved_keysÓ  s�   € ð
 �a�&š,Ð'ˆÚš|Ð,ˆä˜6 5Ó)ˆä”r—y‘y×,Ñ,¨QÓ/×?Ñ?ÀÓGÈuÔUˆà—‘“ˆÜ�6—>‘>Ó" aÒ'Ð'Ð'à—‘¨<�Ó8ˆÜ
×Ñ˜f bÕ)r   c                 ó  —  G d„ dt         j                  «      }|j                  «       5 }|j                  t         d|«       t	        t        j                  d«      t        j                  d«      t        j                  d«      g¬«      }d}t        j                  ||¬«      5  t        j                  t        d	¬«      5  |j                  «        d d d «       d d d «       d d d «       y # 1 sw Y   ŒxY w# 1 sw Y   ŒxY w# 1 sw Y   y xY w)
Nc                   ó(   ‡ — e Zd Zdˆ fd„Zdd„Zˆ xZS )úgTestStackUnstackMultiLevel.test_unstack_number_of_levels_larger_than_int32_warns.<locals>.MockUnstackerc                 ó8   •— t        ‰| �  |i |¤Ž t        d«      ‚)NúDon't compute final result.)ÚsuperÚ__init__Ú	Exception)r'   Úargsrc  Ú	__class__s      €r   r  zpTestStackUnstackMultiLevel.test_unstack_number_of_levels_larger_than_int32_warns.<locals>.MockUnstacker.__init__í  s!   ø€ ä‘Ñ  $Ð1¨&Ò1ÜÐ =Ó>Ð>r   c                  ó   — y r   rv  )r'   s    r   Ú_make_selectorszwTestStackUnstackMultiLevel.test_unstack_number_of_levels_larger_than_int32_warns.<locals>.MockUnstacker._make_selectorsò  s   € Ør   )ÚreturnN)r  r  r  r  r  Ú__classcell__)r  s   @r   ÚMockUnstackerr  ì  s   ø„ õ?÷
r   r  Ú
_Unstacker)é   r6   r   r:   z$The following operation may generater\   r  )Úreshape_libr  ÚcontextÚsetattrr   r   rA  r   r$   rg   rž   rŸ   r  r#   )r'   Úperformance_warningÚmonkeypatchr  ri  r)   rp   s          r   Ú5test_unstack_number_of_levels_larger_than_int32_warnszPTestStackUnstackMultiLevel.test_unstack_number_of_levels_larger_than_int32_warnså  sØ   € ô	œK×2Ñ2ô 	ð × Ñ Ó"ð 		! aØ�I‰I”k <°Ô?ÜÜ—‘˜Ó$Ü—y‘y Ó'¬¯©°5Ó)9Ð:ôˆBð 9ˆCÜ×+Ñ+Ð,?ÀsÔKñ !Ü—]‘]¤9Ð4QÔRñ !Ø—J‘J”L÷!÷!÷		!ð 		!÷!ð !ú÷!ð !ú÷		!ð 		!ús<   ªA9DÂ#C5Â?C)ÃC5ÃDÃ)C2Ã.C5Ã5C>	Ã:DÄD
r>   c              #   óv   K  — | ]1  }t        j                  t        j                  g d ¢|«      d¬«      –— Œ3 y­w)rb   r6   rÙ   N)râ   rã   r  )r[  Úwidths     r   r\  z$TestStackUnstackMultiLevel.<genexpr>	  s5   è ø€ ò &
àô ×Ñœi×4Ñ4²YÀÓFÈq×QÐQñ&
ùs   ‚79r²   Ú	stack_levc                 óF  — t        |g d¢g d¢g¬«      }t        |t        d«      g¬«      }|ri nd|i} |j                  |fd|i|¤Ž}|j                  D ]K  }	|j
                  D ]:  }
|j                  |	|
f   }|	|
|   f}|
d|z
     }|j                  ||f   }||k(  rŒ:J ‚ ŒM y )	Nr
  r  r  rD   )r9   ro   r  r   r5   )r   r   r;   r"   r8   r9   rn   )r'   r>   r)  r  r   r9   r)   rc  Ú
df_stackedÚrowr   r@   Ú
result_rowÚ
result_colr?   s                  r   Ú%test_stack_order_with_unsorted_levelsz@TestStackUnstackMultiLevel.test_stack_order_with_unsorted_levels 	  sÃ   € ô   F²<ÂÐ2NÔOˆÜ˜w¬e°A«h¨ZÔ8ˆÙ#‘¨&°$¨ˆØ�R—X‘X˜iÑM°lÐMÀfÑMˆ
Ø—8‘8ò 	*ˆCØ—z‘zò *�ØŸ6™6 # s (Ñ+�Ø  # i¡.Ð0�
Ø   Y¡Ñ/�
Ø#Ÿ™¨
°JÐ(>Ñ?�Ø Ó)Ð)Ð)ñ*ñ	*r   c           
      ót  ‡‡— t        g d¢g d¢gt        j                  t        d«      d«      t        j                  t        d«      d«      g¬«      }t        |t        d«      t        j                  dt        |«      z  «      j                  dd«      ¬«      Št        ˆˆfd„‰j                  D «       «      sJ ‚y )	N)r{   r³   r|   )r|   r{   r³   r2   r  rP   rU   )r9   r8   ro   c              3   ó¸   •K  — | ]Q  }‰j                   D ]@  }‰j                  ||f   ‰j                  d ‰¬«      j                  ||d    f|d   f   k(  –— ŒB ŒS y­w)r   r   r5   N)r9   rn   r"   )r[  r,  r   r)   r   s      €€r   r\  z]TestStackUnstackMultiLevel.test_stack_order_with_unsorted_levels_multi_row.<locals>.<genexpr>*	  sv   øè ø€ ò 
ð Ø—z‘zò	
ð ð �F‰F�3˜�8ÑØ�x‰x˜¨ˆxÓ5×9Ñ9¸3ÀÀAÁ¸-ÈÈQÉÐ:OÑPõQð
ðQñ
ùs   ƒAA)r   r   rÚ   r;   Útiler   r   rI   r   r4  r8   )r'   r   r  r)   s    ` @r   Ú/test_stack_order_with_unsorted_levels_multi_rowzJTestStackUnstackMultiLevel.test_stack_order_with_unsorted_levels_multi_row	  s™   ù€ ô Ú#¢_Ð5Ü—9‘9œU 1›X qÓ)¬2¯7©7´5¸³8¸QÓ+?Ð@ô
ˆô Øœe A›h¬R¯Y©Y°q¼3¸r»7±{Ó-C×-KÑ-KÈAÈrÓ-Rô
ˆô ô 
ð —x‘xô
ô 
ð 	
ñ 
r   c                 ó&  — d}d}t        |g d¢g d¢g¬«      }t        |t        d«      gg d¢¬«      }|ri nd	d
i} |j                  |fd|i|¤Ž}t        g d¢ddggg d¢g d¢g¬«      }t        g d¢g d¢dœ|¬«      }	t	        j
                  ||	«       y )N)©r   r5   )r5   r   r5   r
  r  r  rD   )r5   r   r6   r2   )r9   ro   r8   r  Tr   rÕ  r   )r5   r5   r   r   r6   r6   r2   r2   )r5   r   r5   r   r5   r   r5   r   r  )r6   r2   r6   r2   r6   r2   r6   r2   r5  r:   )r   r   r;   r"   r$   r%   )
r'   r   r>   r)  r9   r)   rc  r?   r·   r@   s
             r   Ú1test_stack_order_with_unsorted_levels_multi_row_2zLTestStackUnstackMultiLevel.test_stack_order_with_unsorted_levels_multi_row_21	  s§   € ð
 "ˆØˆ	Ü F²<ÂÐ2NÔOˆÜ˜w¬e°A«h¨Zº|ÔLˆÙ#‘¨&°$¨ˆØ�—‘˜)ÑI°,ÐIÀ&ÑIˆÜ#Ú  1 a &Ð)Ú+Ò-EÐFô
ˆô â+Ú+ñð !ô
ˆô 	×Ñ˜f hÕ/r   c           	      ó¦  — t        j                  d«      }t        j                  |D �cg c]  }d|› �‘Œ	 c}|D �cg c]  }d|› �‘Œ	 c}g«      }t        |j                  ddg¬«      }d|j
                  _        d|i}t        j                  |d¬«      }d	dg|j
                  _	        |j                  t        |j
                  «      d¬«      }|j                  dd	g|¬
«      j                  dd	g«      }t        ddgddgddgddgddggt        d«      t        j                   ddgdd	g¬«      ¬«      }	t#        j$                  ||	«       y c c}w c c}w )NrP   r4   r3   rÝ   r  rF   r5   r2  r  r   Úa0Úb0rÿ  r  r   r  Úa3Úb3Úa4Úb4)r3   rF   )r4   rF   r¥   r7   )r   r   Úvstackr   r&   r9   rd   rˆ   r_  rk   r…  rˆ  r"   r#   r;   r   rf   r$   r%   )
r'   r   r‡   rF   ro   r)   Úsecond_level_dictÚmulti_level_dfr?   r@   s
             r   Ú'test_stack_unstack_unordered_multiindexzBTestStackUnstackMultiLevel.test_stack_unstack_unordered_multiindexI	  sQ  € ô
 —‘˜1“ˆÜ�y‰yà"(Ö)˜Q�1�Q�C’Ò)Ø"(Ö)˜Q�1�Q�C’Ò)ðó
ˆô �t—v‘v¨¨S zÔ2ˆØ!ˆ�
‰
ŒØ  "˜IÐÜŸ™Ð#4¸1Ô=ˆØ(0°'Ð':ˆ×ÑÔ$Ø×#Ñ#¤F¨>×+AÑ+AÓ$BÈÐ#ÓKˆØ—‘˜7 HÐ-¸L�ÓI×QÑQØ�hÐó
ˆô Ø�Dˆ\˜D $˜<¨$°¨¸¸d°|ÀdÈDÀ\ÐRÜ˜“(Ü×*Ñ*Ø˜ZÐ(°¸(Ð0Côô
ˆô 	×Ñ˜f hÕ/ùò) *ùÚ)s
   ©E	»E
c                 ó  — |}d|d<   d|d<   |j                  d«      }|d   j                  t        j                  k(  sJ ‚|s"|d   j                  t        j                  k(  sJ ‚	 |d   j                  t        j                  k(  sJ ‚y )	Nr   rÉ   r6   rÊ   rÁ  r  )rÉ   r5   )rÊ   r5   )r#   rR   r   r€   Úobject_)r'   rn  r"  ro  r,   s        r   Útest_unstack_preserve_typesz6TestStackUnstackMultiLevel.test_unstack_preserve_typesg	  sŽ   € ð >ˆØˆˆC‰ØˆˆC‰à—K‘K Ó(ˆ	Ø˜Ñ ×&Ñ&¬"¯*©*Ò4Ð4Ð4ñ &ð �fÑ×#Ñ#¤r§z¡zÒ1ð	
ðàà˜Ñ ×&Ñ&¬"¯*©*Ò4Ð4Ñ4r   c                 ó.  — t        j                  t        j                  d«      d«      }t        j                  d«      }t        |gdz  ddggz   |gdz  t        j                  d«      j	                  d«      gz   ¬«      }t        t        j                  d«      |¬«      }|j                  «       }|j                  d	k(  sJ ‚|j                  |¬
«      }t        j                  ||j                  |j                  «      «       t        ddgg|gdz  z   t        j                  d«      j	                  d«      g|gdz  z   ¬«      }t        t        j                  d«      |¬«      }|j                  d«      }|j                  d	k(  sJ ‚t        |gdz  ddggz   |gdz  z   |gdz  t        j                  d«      j	                  d«      gz   |gdz  z   ¬«      }t        t        j                  d«      |¬«      }|j                  d«      }|j                  d	k(  sJ ‚y )Néô  r6   rw   r   r5   r  r  r:   )rF  r6   r   rD   )r   r2  r   r   rÚ   r
   r#   r!   r"   r$   r=   r…  r8   )r'   r   r  rß   r8   rr   r?   r*   s           r   Ú!test_unstack_group_index_overflowz<TestStackUnstackMultiLevel.test_unstack_group_index_overflowx	  sÕ  € ô —‘œŸ	™	 #›¨Ó*ˆÜ—	‘	˜#“ˆäØ�7˜Q‘; 1 a & Ñ)Ø�'˜A‘+¤§¡¨1£×!4Ñ!4°SÓ!9Ð :Ñ:ô
ˆô
 ”2—9‘9˜T“?¨%Ô0ˆØ—‘“ˆØ�|‰|˜xÒ'Ð'Ð'ð —,‘,¨L�,Ó9ˆÜ
×Ñ˜q '§/¡/°!·'±'Ó":Ô;ô Ø˜�F�8˜u˜g¨™kÑ)Ü—9‘9˜Q“<×&Ñ& sÓ+Ð,°¨w¸©{Ñ:ô
ˆô
 ”2—9‘9˜T“?¨%Ô0ˆØ—‘˜1“ˆØ�|‰|˜xÒ'Ð'Ð'ô Ø�7˜Q‘; 1 a & Ñ)¨U¨G°a©KÑ7Ø�7˜Q‘;¤"§)¡)¨A£,×"5Ñ"5°cÓ":Ð!;Ñ;¸u¸gÈ¹kÑIô
ˆô
 ”2—9‘9˜T“?¨%Ô0ˆØ—‘˜1“ˆØ�|‰|˜xÒ'Ð'Ñ'r   c           	      ó¶  — t        g d¢g d¢dgdz  dœ«      j                  ddg«      }d|d	<   t        |j                  j                  «      d
k(  sJ ‚|j                  d«      }|d   j                  d«      |d<   t        g d¢t        j                  dddggt        ddgd¬«      t        j                  g d¢d dg¬«      ¬«      }t        j                  ||«       y )N)r{   r{   r|   )ÚcaÚcbrJ  r%  r2   )r3   r4   rï  r3   r4   r5   Úis_r6   ©rK  rI  r   )ç      $@rM  r¿   r¿   rM  r\  r¿   r{   r|   r­   ))rï  rI  )rï  rJ  rL  )rK  rJ  r¥   r7   )r   ri   rI   rJ   rK   r#   rù  r   rH   r   r   rf   r$   r%   rY  s       r   Ú+test_unstack_with_missing_int_cast_to_floatzFTestStackUnstackMultiLevel.test_unstack_with_missing_int_cast_to_float 	  s×   € äâ$Ú'Ø�T˜A‘Xñó
÷ ‰)�S˜#�JÓ
ð 	ð ˆˆ5‰	Ü�2—7‘7—>‘>Ó" aÒ'Ð'Ð'à—‘˜C“ˆØ & }Ñ 5× <Ñ <¸QÓ ?ˆˆ}ÑäÚ#¤b§f¡f¨d°C¸Ð%=Ð>Ü˜˜c˜
¨Ô-Ü×*Ñ*ÚHØ˜S�kôô
ˆô 	×Ñ˜f hÕ/r   c                 ó¦  — t        g d¢g d¢g d¢g d¢dœ«      }|j                  g d¢«      }g d¢}|j                  j                  |d¬«      |_        |j                  j                  |d	¬«      |_        |j	                  d
«      d   j                  «       j                  }t        g d¢g d¢gg d¢g d¢gdd	g¬«      }t        j                  ||«       y )Nr  )r2   rD   r5   r6   rT  )ÚL1ÚL2ÚL3rF   )rP  rQ  rR  )Ún1Ún2Ún3NrP  )r>   rß   rQ  rR  )rF   r5   rÕ  )r6   r2   r   r5   r  )	r   ri   r8   Ú
set_levelsr#   r  r   r$   r‘  )r'   rÖ   Ú
new_levelsr?   r@   s        r   Útest_unstack_with_level_has_nanz:TestStackUnstackMultiLevel.test_unstack_with_level_has_nan»	  s¿   € äâ"Ú"Ú"Ú!ñ	ó
ˆð �m‰mÒ.Ó/ˆÚ-ˆ
Ø—I‘I×(Ñ(°
À$Ð(ÓGˆŒ	Ø—I‘I×(Ñ(°
À$Ð(ÓGˆŒ	à—‘˜TÓ" 8Ñ,×7Ñ7Ó9×?Ñ?ˆÜÚ,Ò.FÐGÚ¢Ð.Ø˜�,ô
ˆô 	×Ñ˜f hÕ/r   c                 ó  — t        t        j                  ddg«      t        j                  g d¢«      ¬«      }|j                  d|¬«      }|r1t        dgdd	ggg d
¢g d¢g¬«      }t        dgddggg d
¢g d¢g¬«      }nt        g d¢«      }t        g d¢«      }t        dt        j                  t        j                  gt        j                  ddgt        j                  ddgg||¬«      }t        j                  ||«       y )Nr5   rP   ))r   NN)r   r6   r   )r   r6   r5   )r   r2   r   )r   r2   r5   rÝ   r6   r   r   r\  r¿   r:  )rU   r   r5   r  r2   )©r   N)r   r   r5  )rZ  )r   r6   )r   r2   r7   )
r   r   rA  r   rf   r"   r   rH   r$   r%   )r'   r   r)   r?   r8   r9   r@   s          r   Ú$test_stack_nan_in_multiindex_columnsz?TestStackUnstackMultiLevel.test_stack_nan_in_multiindex_columnsÓ	  sæ   € ô
 Ü�H‰H�a˜�VÓÜ×*Ñ*òóô
ˆð —‘˜!¨,�Ó7ˆÙÜ¨ s¨S°#¨JÐ&7Â	Ê:Ð?VÔWˆEÜ ¨!¨¨q°!¨f¨ºiÊÐ=TÔU‰GäÒ5Ó6ˆEÜÒ7Ó8ˆGÜØ”2—6‘6œ2Ÿ6™6Ð"¤R§V¡V¨S°#Ð$6¼¿¹ÀÀcÐ8JÐKØØô
ˆô
 	×Ñ˜f hÕ/r   c                 ó>  — t        j                  dgdz  dgdz  z   t        j                  t	        d«      «      t        j                  t	        d«      «      g«      }t        t        j                  d«      j                  dd«      |¬«      }|j                  d	dg|¬
«      }|ròt        dt        j                  gd	t        j                  gt        j                  dgt        j                  dgdt        j                  gdt        j                  gt        j                  dgt        j                  dggddgt        j                  dgdz  d	gdz  z   t        j                  t	        d«      «      t        j                  t	        d«      «      g«      ¬«      }nñt        dt        j                  gt        j                  dgd	t        j                  gt        j                  dgdt        j                  gt        j                  dgdt        j                  gt        j                  dggddgt        j                  dgdz  d	gdz  z   t        j                  t	        d«      «      t        j                  t	        d«      «      g«      ¬«      }t        j                  ||d¬«       y )Nr{   r6   r|   r‹  Úccddrw   rD   rÝ   r5   r   r   r2   rP   ru   rv   ÚababababÚccddccddr®   ÚaabbaabbÚcdcdcdcdF)Úcheck_index_type)r   r  rˆ   r�   r~   r   r   r   r   r"   rH   r$   r%   )r'   r   r  r)   r?   r@   s         r   Ú"test_multi_level_stack_categoricalz=TestStackUnstackMultiLevel.test_multi_level_stack_categoricalò	  s  € ô
 ×%Ñ%à�˜‘	˜S˜E A™IÑ%Ü—‘œt F›|Ó,Ü—‘œt F›|Ó,ðó
ˆô ”r—y‘y “|×+Ñ+¨A¨qÓ1¸4Ô@ˆØ—‘˜1˜a˜&¨|�Ó<ˆÙÜ àœŸ™�KØœŸ™�KÜ—V‘V˜Q�KÜ—V‘V˜Q�KØœŸ™�KØœŸ™�KÜ—V‘V˜Q�KÜ—V‘V˜Q�Kð	ð ˜c˜
Ü ×,Ñ,à˜˜a™ 1 #¨¡'Ñ)ÜŸ™¤t¨JÓ'7Ó8ÜŸ™¤t¨JÓ'7Ó8ðóô‰Hô* !àœŸ™�KÜ—V‘V˜Q�KØœŸ™�KÜ—V‘V˜Q�KØœŸ™�KÜ—V‘V˜Q�KØœŸ™�KÜ—V‘V˜Q�Kð	ð ˜c˜
Ü ×,Ñ,à˜˜a™ 1 #¨¡'Ñ)ÜŸ™¤t¨JÓ'7Ó8ÜŸ™¤t¨JÓ'7Ó8ðóôˆHô( 	×Ñ˜f hÀÖGr   c                 óÒ  — t        t        j                  d«      j                  dd«      t	        j
                  dt        j                  fdgddg¬«      t        dd	gd
¬«      t        j                  ¬«      }|j                  |¬«      }|r+t	        dd	gt        j                  dggg d¢g d¢gd
dg¬«      }n=t	        j
                  dt        j                  fdd	t        j                  fdgd
dg¬«      }t        dt        j                  gt        j                  d	gdt        j                  gt        j                  dggt        ddgd¬«      |¬«      }t        j                  ||«       y )NrD   r6   r{   r}   rÙ  rÚ  r¥   r   r5   ÚNumr­   r   r   r4   r
  r  r  )r   r4   )r5   r4   r\  r  rC   r|   r®   )r   r   r   r   r   rf   rH   r   r€   r"   r$   r%   )r'   r   Údf_nanr?   r8   r@   s         r   Útest_stack_nan_levelz/TestStackUnstackMultiLevel.test_stack_nan_level,
  s5  € ô
 Ü�I‰I�a‹L× Ñ   AÓ&Ü×*Ñ*Ø”r—v‘v� 
Ð+°G¸WÐ3Eôô ˜˜A˜ UÔ+Ü—*‘*ô
ˆð —‘¨<�Ó8ˆÙÜØ˜A˜¤§¡¨ Ð.Ú#¢\Ð2Ø˜gÐ&ô‰Eô ×*Ñ*Ø”R—V‘V�˜h¨¬B¯F©F¨°XÐ>ÀuÈgÐFVôˆEô Ø”2—6‘6ˆ]œRŸV™V Q˜K¨#¬r¯v©v¨¼¿¹À¸ÐFÜ˜3 ˜*¨7Ô3Øô
ˆô
 	×Ñ˜f hÕ/r   c                 ó†  — t        j                  dgddgg«      }t        dt        j                  ddg«      i|¬«      }|j                  «       }t        t        j                  dgddg¬«      t        j                  dgddg¬«      d	œdg¬«      }t        j                  d
dg«      |_        t        j                  ||«       y )Nr{   r   r5   rë   r3   r4   r:   r˜   r5  )rë   r   )rë   r5   )
r   r<   r   rˆ   r�   r#   rf   r9   r$   r%   r¯   s        r   Ú test_unstack_categorical_columnsz;TestStackUnstackMultiLevel.test_unstack_categorical_columnsK
  s­   € ä×%Ñ%¨ u¨q°!¨f oÓ6ˆÜ˜œrŸ~™~¨s°C¨jÓ9Ð:À#ÔFˆØ—‘“ˆÜä—>‘> 3 %°S¸#°JÔ?Ü—>‘> 3 %°S¸#°JÔ?ñð �%ô
ˆô &×1Ñ1°:¸zÐ2JÓKˆÔÜ
×Ñ˜f hÕ/r   c                 ó  — ddg}ddg}g d¢}t        j                  |||gg d¢¬«      }t        t        t	        |«      «      «      }t        ||dg¬	«      }|j                  d
dg«      }|j                  j                  d«      |_        d|j                  d d …df<   |j                  d
dg|¬«      j                  «       }|j                  d¬«      j                  d
dg|¬«      j                  «       }	t        j                  ||	«       y )NÚITAÚFRAÚA1ÚA2)ÚCRTÚDBTÚNET)ÚPAEÚVARÚTYPr¥   ÚVALUE)ro   r8   r9   rs  rt  r   i'  )ÚA0rq  r   r5   r2  )r   r<   r~   r;   rI   r   r#   r9   rM  rn   r"   r  r$   r=   )
r'   r   rr  rs  rt  r¼   ÚVÚDFr?   r@   s
             r   Útest_stack_unsortedz.TestStackUnstackMultiLevel.test_stack_unsortedZ
  sî   € ð
 �eˆnˆØ�TˆlˆÚ#ˆÜ×$Ñ$ c¨3° _Ò<QÔRˆä””s˜2“w“Ó ˆÜ˜A R°'°Ô;ˆà�Z‰Z˜ ˜Ó'ˆØ—Z‘Z×)Ñ)¨!Ó,ˆŒ
Ø#'ˆ�‰Šq�-ÐÑ à—‘˜5 %˜.°|�ÓD×OÑOÓQˆà�M‰M˜qˆMÓ!ß‰U�E˜5�>°ˆUÓ=ß‰Z‹\ð 	ô
 	×Ñ˜v xÕ0r   c                 óÔ  — t        j                  ddgddggddg¬«      }t        g d¢d	¬
«      }t        j                  g d¢g d¢g d¢g«      }t        |||t        j                  «       ¬«      }|j                  d|¬«      }|j                  t        j                  «      j                  d|¬«      j                  t        j                  «       «      }t        j                  ||«       ||j                  d      j                  t        j                  «       «      ||j                  d   <   |j                  d|¬«      }t        t        j                  g d¢t        j                  «       ¬«      t        j                  g d¢t        j                  «       ¬«      dœt        j                  ||j                  d   g«      ¬«      }d|j                  _        t        j                  ||«       y )NÚ54511Ú54515r¨  Út_meanÚstationÚelementr¥   r¤   r   r­   )rž  éâ   r%  é×   )r%  r�  r¦   éÜ   )i1  éè   rj  r‚  r   r   r   )rÀ   rM  rM  g      "@g     s@g     À[@rQ   )r€  r�  r�  r‚  rƒ  r‚  )r¨  r}  r:   )r   r<   r   r   r  r   rˆ   Ú
Int64Dtyper"   rl   rm   r$   r%   r9   ÚFloat64Dtyper>   rd   )r'   r   r9   r8   Úarrr)   r?   r@   s           r   Útest_stack_nullable_dtypez4TestStackUnstackMultiLevel.test_stack_nullable_dtypes
  s„  € ô
 ×)Ñ)Ø�wÐ # x Ð1¸)ÀYÐ9Oô
ˆô ’i fÔ-ˆä�h‰hÒ*Ò,=Ò?SÐTÓUˆÜ�s G°5ÄÇÁÃÔPˆà—‘˜)°,�Ó?ˆð �I‰I”b—h‘hÓß‰U�9¨<ˆUÓ8ß‰V”B—M‘M“OÓ$ð 	ô
 	×Ñ˜f hÔ/ð ˜rŸz™z¨!™}Ñ-×4Ñ4´R·_±_Ó5FÓGˆˆ2�:‰:�a‰=ÑØ—‘˜)°,�Ó?ˆää—X‘XÚ9ÄÇÁÓARôô Ÿ(™(Ú2¼"¿-¹-»/ôñ	ô ×)Ñ)¨5°'·.±.ÀÑ2CÐ*DÓEô

ˆð !*ˆ×ÑÔÜ
×Ñ˜f hÕ/r   c           	      ó>  — ddgddgddgg}t        j                  |d¬«      }t        dddgi|¬	«      }|j                  d
«      }t        dgdggt        j                  dgd d
g¬«      t        j                  ddgddg¬«      ¬«      }t        j                  ||«       y )Nr3   r5   r6   ÚredÚblue)rF   r   rG   r¥   ri  r:   rF   )ri  r3   )r5   r‰  )r6   rŠ  r   rG   r®   )r   r  r   r#   rf   r$   r%   )r'   Úarraysr°   r)   r?   r@   s         r   Útest_unstack_mixed_level_namesz9TestStackUnstackMultiLevel.test_unstack_mixed_level_names›
  s£   € à˜�*˜q !˜f u¨f oÐ6ˆÜ×$Ñ$ V°=ÔAˆÜ˜˜a ˜V�}¨CÔ0ˆØ—‘˜C“ˆÜØˆS�1�#ˆJÜ×*Ñ*¨J¨<ÀÀc¸{ÔKÜ×(Ñ(¨*°kÐ)BÈ1ÈcÈ(ÔSô
ˆô
 	×Ñ˜f hÕ/r   )9r  r  r  rp  rž   r  r  r}  r‚  r  rŠ  r~   r   r   r2  r   rÚ   rf   r•  r£  r¨  r²  r´  rº  r¼  r¾  rÃ  rÆ  rÉ  rã  ré  rý  r  r  r  r  Úslowr&  râ   ÚchainÚfrom_iterabler;   r/  r3  r6  rA  rD  rG  rN  rX  r[  rc  rg  ri  ry  r‡  rŒ  rv  r   r   rl  rl  ‹  sï  „ ò'ð ‡[�[×ÑØ?ò 0Ò1OÐPÚ>ØÚ(ð	ò *Ò+CÐDÚ6ØÚ"ð	ò *Ò+FÐGÚ6ØÚ"ð	ð	
óñ.0ó/ð.0ò(	3ð ‡[�[×ÑØCóñJ*óðJ*ðX ‡[�[×ÑØCóð ‡[�[×ÑØñ �V“ÙØ  #˜J¨°¨Ð7Ø"˜2Ÿ7™7 9 2§9¡9¨Q£<×#6Ñ#6°qÓ#9¸1Ó=¸w¸r¿w¹wÂyÐRSÓ?TÐUôðð '�
×&Ñ&Ð'OÓPÙØ  #˜J¨¨A¨°¸°Ð?à˜Ÿ™ 	 §	¡	¨!£× 3Ñ 3°AÓ 6¸Ó:Ø!˜Ÿ	™	¢)ªYÓ7Ø˜Ÿ™¢	¨1Ó-ðôð
ð	
óñ.*ó/óð4*ð& ‡[�[×ÑØCóñ*óð*ð2 ‡[�[×ÑØCóñ2óð2ð ‡[�[×ÑØCóñYóðYð  ‡[�[×ÑØCóñ
:óð
:ð ‡[�[×ÑØCóð ‡[�[×Ñ˜X¨°Ð';Ó<ñ8ó =óð8ò&0ð ‡[�[×ÑØCóñ
1óð
1ð ‡[�[×ÑØCóñ Móð MðD ‡[�[×ÑØCóñ	Eóð	Eð ‡[�[×ÑØCóñAóðAòC3òJ-1ð^ ‡[�[×ÑØCóñ&óð&ð6 ‡[�[×ÑØCóñ=óð=ò ò ð* ‡[�[×ÑØCóñ*óð*ð ‡[�[×Ññ!ó ð!ð4 ‡[�[×ÑØCóð ‡[�[×ÑØØ�‰×%Ñ%ñ &
àô&
ó 	
óð ‡[�[×Ñ˜[©%°«(Ó3ñ*ó 4óóð*ð" ‡[�[×ÑØCóñ
óð
ð$ ‡[�[×ÑØCóñ0óð0ð* ‡[�[×ÑØCóñ0óð0ò65ð" ‡[�[×ÑØCóñ#(óð#(òJ0ò60ð0 ‡[�[×ÑØCóñ0óð0ð8 ‡[�[×ÑØCóñ5Hóð5Hðn ‡[�[×ÑØCóñ0óð0ò80ð ‡[�[×ÑØCóñ1óð1ð, ‡[�[×ÑØCóñ#0óð#0óJ0r   rl  c           	      óÞ   — t        g d¢g d¢g d¢gg d¢¬«      }|j                  | ¬«      }t        g d¢t        t	        d«      g d¢gg d	¢g d
¢g¬«      ¬«      }t        j                  ||«       y )Nr¤   )rD   rP   ru   )rv   rw   r¦   )rŽ  rŒ  r�  rÝ   r   )	r5   r6   r2   rD   rP   ru   rv   rw   r¦   r2   )	r   r   r   r5   r5   r5   r6   r6   r6   )	r   r5   r6   r   r5   r6   r   r5   r6   r  r:   )r   r"   r
   r   r;   r$   r=   )r   r)   r?   r@   s       r   Útest_stack_tuple_columnsr‘  ©
  sj   € ô 
Ú	’IšyÐ)Ò3Qô
€Bð �X‰X <ˆXÓ0€FÜÚ#ÜÜ˜!“HÒ<Ð=Ú.Ò0KÐLô
ô€Hô ×Ñ˜6 8Õ,r   zdtype, na_valuer   Útest_multiindexc                 óÊ  — |r&t        j                  dt        |g| ¬«      gz  «      }nt        |g| ¬«      }t        ddgi|¬«      }|j	                  «       }|r;t        j                  t        |g| ¬«      t        |g| ¬«      t        dg«      g«      }n-t        j                  t        |g| ¬«      t        dg«      g«      }t        d|¬«      }t        j                  ||«       y )Nr6   rQ   r3   r5   r:   )r   r  r   r   r"   r
   r$   r=   )rR   r  r’  r8   r)   r?   r·   r@   s           r   Útest_stack_preserves_nar”  º
  sÖ   € ñ Ü×&Ñ& q¬E°8°*ÀEÔ,JÐ+KÑ'KÓL‰ä�x�j¨Ô.ˆÜ	�C˜!˜�: UÔ	+€BØ�X‰X‹Z€FáÜ#×/Ñ/ä�x�j¨Ô.Ü�x�j¨Ô.Ü�s�e“ðó
‰ô $×/Ñ/ä�x�j¨Ô.Ü�s�e“ðó
ˆô �a˜~Ô.€HÜ×Ñ˜6 8Õ,r   )3r   râ   ró  Únumpyr   rž   Úpandas._libsr   Úpandas.errorsr   Úpandasrˆ   r   r   r   r	   r
   r   r   Úpandas._testingÚ_testingr$   Úpandas.core.reshaper   r!  Úfixturer   r   r  r  r$  rH   r-  r/  r4  r  r<  rÝ  r@  rC  rE  rG  rR  rV  ra  rd  rj  rl  r‘  r  r”  rv  r   r   ú<module>r�     s–  ðÝ Û Û 	ã Û å Ý (ã ÷÷ ñ õ Ý 6ð €‡�˜˜e�}Ô%ñó &ð÷Q0ñ Q0ðh( ‡�×Ñ˜ 9¨iÐ"8Ó9ñ7,ó :ð7,ðt ‡�×ÑØò Ø�r—v‘vÐ ¨l¸LÐIð	
ò
 Ø˜G R§V¡VÐ,¨l¸LÐIð	
ò
 Ø˜<¨'°2·6±6Ð):¸LÐIð	
ò
 Ø˜<¨¸ÀÇÁÐ7HÐIð	
ðò$ 	=ð) ó ñ,,ó-ð,,ò,ò0,ð0 ‡�×ÑÐWÓXñ	-ó Yð	-ð ‡�×ÑÐWÓXØ‡�×Ñ˜ D¨%°·±Ð#@ÓAñ1ó Bó Yð1ð ‡�×ÑÐWÓXØ‡�×Ñ˜ D¨%°·±Ð#@ÓAñ0ó Bó Yð0ð" ‡�×ÑÐWÓXØ‡�×Ñ˜ D¨%°·±Ð#@ÓAØ‡�×Ñ˜¨¨a yÓ1ñ0ó 2ó Bó Yð0ò")ò,ð> ‡�×ÑÐWÓXñ,ó Yð,ò)ð* ‡�×ÑÐWÓXñ#,ó Yð#,ðL ‡�×ÑÐWÓXñ-ó Yð-÷$[0ñ [0ð|  ‡�×ÑÐWÓXñ-ó Yð-ð  ‡�×ÑØà	�B—F‘FÐØ	�B—F‘FÐØ	�B—E‘EÐØ	�"—%‘%Ðð	óð ‡�×ÑÐ*¨T°5¨MÓ:ñ-ó ;óñ-r   