
    PiE                     P    d dl Zd dlZd dlmZ d dlZd dlmZ	  G d d          Z
dS )    N)is_hashablec                      e Zd Z ej        d d d d d d d gg d	          d
             Z ej        d          d             Zd Zd Zd Z	d Z
d Zd Zej                            dddg          d             Zd Zd Zd Zd Zd Zd Zej                            d ej        g d           ej        g dd !           ej        dddej        ej        gd !          gg d"#          d$             Zd% Zd& Zej                            d'g d( ej        g d(d)!           ej        g d(          gg d*#          d+             Zej                            d'g d, ej        g d,d)!           ej        g d,          gg d*#          d-             Zej                            d'd.d/d0ej        g ej        d.d/d0ej        gd)!          gd1d2g#          ej                            d3dd4g          d5                         Zej                            d6dd4g          ej                            ddd7g          d8                         Z ej                            ddd7g          d9             Z!d: Z"d; Z#d< Z$d= Z%d> Z&d? Z'd@ Z(dA Z)dB Z*dC Z+dD Z,dE Z-dF Z.dG Z/dH Z0dI Z1dJ Z2dK Z3dL Z4dM Z5dN Z6d7S )OBaseSetitemTestsc                     | j         S Nindexxs    w/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/pandas/tests/extension/base/setitem.py<lambda>zBaseSetitemTests.<lambda>   s    ag     c                 *    t          | j                  S r   )listr	   r
   s    r   r   zBaseSetitemTests.<lambda>   s    d17mm r   c                      t          d           S r   )slicer
   s    r   r   zBaseSetitemTests.<lambda>   s    eDkk r   c                 <    t          dt          |                     S )Nr   )r   lenr
   s    r   r   zBaseSetitemTests.<lambda>   s    eAs1vv&& r   c                 :    t          t          |                     S r   )ranger   r
   s    r   r   zBaseSetitemTests.<lambda>   s    eCFFmm r   c                 T    t          t          t          |                               S r   )r   r   r   r
   s    r   r   zBaseSetitemTests.<lambda>   s    d5Q==)) r   c                 R    t          j        t          |           t                    S Ndtype)nponesr   boolr
   s    r   r   zBaseSetitemTests.<lambda>   s    bgc!ffD111 r   )r	   zlist[index]
null_slice
full_slicer   zlist(range)mask)paramsidsc                     |j         S )z
        Fixture for an indexer to pass to obj.loc to get/set the full length of the
        object.

        In some cases, assumes that obj.index is the default RangeIndex.
        )param)selfrequests     r   full_indexerzBaseSetitemTests.full_indexer   s    6 }r   T)autousec                     |j         rn|j        }|j                            d          d         dk    rd S |j        j                            d          d         }|dk    rt          j        d           d S d S d S )N[r   test_is_immutable.r   z4__setitem__ test not applicable with immutable dtype)_is_immutablenodenamesplitfunction__qualname__pytestskip)r&   r   r'   r/   
defined_ins        r   skip_if_immutablez"BaseSetitemTests.skip_if_immutable(   s     	T<Dys##A&*=== 
 399#>>qAJ///RSSSSS	T 	T 0/r   c                     |j         j        r?t          j        t                    5  |d         |d<   d d d            d S # 1 swxY w Y   d S |d         |d<   |d         |d         k    sJ d S )Nr      )r   r.   r4   raises	TypeError)r&   datas     r   r,   z"BaseSetitemTests.test_is_immutable8   s    :# 	&y)) " "q'Q" " " " " " " " " " " " " " " " " " 1gDG7d1g%%%%%%s   ?AAc                 p    |rt          j        |          }|d         |d<   |d         |d         k    sJ d S Nr9   r   pdSeriesr&   r<   box_in_seriess      r   test_setitem_scalar_seriesz+BaseSetitemTests.test_setitem_scalar_series@   sC     	#9T??Dq'QAw$q'!!!!!!r   c                     |rt          j        |          }|                                }|d         |d         g|ddg<   |d         |d         k    sJ |d         |d         k    sJ d S r>   )r@   rA   copyr&   r<   rC   originals       r   test_setitem_sequencez&BaseSetitemTests.test_setitem_sequenceF   sv     	#9T??D99;;Qa)aVAw(1+%%%%Aw(1+%%%%%%r   c                 F   t          j        |          }|                                }|d         g}|r|                    ||j                  }d}t          j        t          |                    d                    5  ||ddg<   d d d            n# 1 swxY w Y   t          j
        ||           t          j        t          |                    d                    5  ||t          d          <   d d d            n# 1 swxY w Y   t          j
        ||           d S )	Nr   r   z5cannot set using a {} indexer with a different lengthz	list-likematchr9   r      )r@   rA   rF   _from_sequencer   r4   r:   
ValueErrorformattmassert_series_equalr   )r&   r<   as_arrayserrH   valuexprs          r   .test_setitem_sequence_mismatched_length_raisesz?BaseSetitemTests.test_setitem_sequence_mismatched_length_raisesO   s   ioo88::a	 	A''TZ'@@EE]:SZZ-D-DEEE 	  	 CAK	  	  	  	  	  	  	  	  	  	  	  	  	  	  	  	sH---]:SZZ-@-@AAA 	" 	"!CaM	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	"
sH-----s$    BBB"DDDc                     |rt          j        |          }|                                }g |t          j        g t
                    <   t          j        ||           d S r   )r@   rA   rF   r   arrayintrQ   assert_equalrG   s       r   test_setitem_empty_indexerz+BaseSetitemTests.test_setitem_empty_indexer`   sU     	#9T??D99;;(*RXb$$$%
h'''''r   c                     |rt          j        |          }|d         |ddg<   |d         |d         k    sJ |d         |d         k    sJ d S )N   r   r9   r?   rB   s      r    test_setitem_sequence_broadcastsz1BaseSetitemTests.test_setitem_sequence_broadcastsg   s`     	#9T??DAwaVAw$q'!!!!Aw$q'!!!!!!r   setterlocilocc                     t          j        |          }t          ||          }|d         |d<   |d         |d         k    sJ d S r>   )r@   rA   getattr)r&   r<   r`   arrs       r   test_setitem_scalarz$BaseSetitemTests.test_setitem_scalarn   sJ    ioof%%Gq	1va      r   c                     t          j        t          j        t	          |                    |d          }|d         |j        d<   |j        d         |d         k    sJ d S )NABr9   r   rj   )r@   	DataFramer   aranger   ra   r&   r<   dfs      r   test_setitem_loc_scalar_mixedz.BaseSetitemTests.test_setitem_loc_scalar_mixedu   sY    \	#d)) 4 44@@AAavvf~a((((((r   c                     t          j        d|i          }|d         |j        d<   |j        d         |d         k    sJ d S )Nrj   r9   
   rj   r@   rl   ra   rn   s      r   test_setitem_loc_scalar_singlez/BaseSetitemTests.test_setitem_loc_scalar_singlez   sE    \3+&&q'wvg$q'))))))r   c                     t          j        ||d          }|d         |j        d<   |j        d         |d         k    sJ d S )Nrh   r9   rr   rt   rn   s      r   ,test_setitem_loc_scalar_multiple_homogoneousz=BaseSetitemTests.test_setitem_loc_scalar_multiple_homogoneous   sI    \40011q'wvg$q'))))))r   c                     t          j        t          j        t	          |                    |d          }|d         |j        d<   |j        d         |d         k    sJ d S )Nrh   r9   r   r9   rk   )r@   rl   r   rm   r   rb   ra   rn   s      r   test_setitem_iloc_scalar_mixedz/BaseSetitemTests.test_setitem_iloc_scalar_mixed   sY    \	#d)) 4 44@@AAQvf~a((((((r   c                     t          j        d|i          }|d         |j        d<   |j        d         |d         k    sJ d S )Nrj   r9   )	   r   r|   rj   r@   rl   rb   ra   rn   s      r   test_setitem_iloc_scalar_singlez0BaseSetitemTests.test_setitem_iloc_scalar_single   sE    \3+&&Qvf~a((((((r   c                     t          j        ||d          }|d         |j        d<   |j        d         |d         k    sJ d S )Nrh   r9   )r|   r9   r}   r~   rn   s      r   -test_setitem_iloc_scalar_multiple_homogoneousz>BaseSetitemTests.test_setitem_iloc_scalar_multiple_homogoneous   sI    \40011Qvf~a((((((r   r!   )TTTFFbooleanr   )numpy-arrayzboolean-arrayzboolean-array-na)r#   c                     |d d                                          }|                    g d          }|r(t          j        |          }t          j        |          }|d         ||<   t	          j        ||           d S N   r   r   r   rM      r   rF   taker@   rA   rQ   r[   )r&   r<   r!   rC   re   expecteds         r   test_setitem_maskz"BaseSetitemTests.test_setitem_mask   sw     2A2hmmoo88OOO,, 	+)C..Cy**HGD	
#&&&&&r   c                    t          j        ddg          }|rt          j        |          }t	          j        t          d          5  |d         ||<   d d d            n# 1 swxY w Y   t          j        |d          }t	          j        t          d          5  |d         ||<   d d d            d S # 1 swxY w Y   d S )NTFzwrong lengthrK   r   r   r   )r   rY   r@   rA   r4   r:   
IndexErrorr&   r<   rC   r!   s       r   test_setitem_mask_raisesz)BaseSetitemTests.test_setitem_mask_raises   s=   xu&& 	#9T??D]:^<<< 	! 	!aDJ	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! xI...]:^<<< 	! 	!aDJ	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	!s$   A  A$'A$B55B9<B9c                 &   t          j        t          j        |j        d          d          }d|d d<   t           j        |dd<   |rt          j        |          }|d         ||<   |d d         |d         k                                    sJ d S )Nr   r   r   TrM   r   r   )r@   rY   r   zerosshapeNArA   allr   s       r   'test_setitem_mask_boolean_array_with_naz8BaseSetitemTests.test_setitem_mask_boolean_array_with_na   s    x6:::)LLLRaREQqS	 	#9T??D!WT
RaRDG#((*******r   idx)r   r9   r^   Int64)r   integer-arrayr   c                     |d d                                          }|                    g d          }|r(t          j        |          }t          j        |          }|d         ||<   t	          j        ||           d S r   r   r&   r<   r   rC   re   r   s         r   test_setitem_integer_arrayz+BaseSetitemTests.test_setitem_integer_array   sw     2A2hmmoo99___-- 	+)C..Cy**Hq6C
X&&&&&r   )r   r   r9   c                    |d d                                          }|                    g d          }|r(t          j        |          }t          j        |          }|d         |d         |d         g||<   t	          j        ||           d S )Nr   )r^   rM   r^   rM   r   r^   rM   r   r   s         r   'test_setitem_integer_array_with_repeatsz8BaseSetitemTests.test_setitem_integer_array_with_repeats   s     2A2hmmoo99___-- 	+)C..Cy**HFCFCF+C
X&&&&&r   r   r9   r^   r   r   rC   Fc           	      >   |                                 }d}t          }|rCt          j        |d t	          t          |                    D                       }d}t          }t          j        ||          5  |d         ||<   d d d            d S # 1 swxY w Y   d S )Nz9Cannot index with an integer indexer containing NA valuesc                 2    g | ]}t          d |z             S )d   )chr).0is     r   
<listcomp>zMBaseSetitemTests.test_setitem_integer_with_missing_raises.<locals>.<listcomp>   s"    (P(P(P!S1W(P(P(Pr   r   0rK   r   )	rF   rO   r@   rA   r   r   KeyErrorr4   r:   )r&   r<   r   rC   re   msgerrs          r   (test_setitem_integer_with_missing_raisesz9BaseSetitemTests.test_setitem_integer_with_missing_raises   s     iikkI 	 )D(P(PuSYY?O?O(P(P(PQQQCCC]3c*** 	 	1vCH	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   9BBBas_callableNc                 P   t          j        |          }t          j        t	          |          t
                    dd d<   |rfd}n}|rt          ||          }n|}|dd         ||<   |dd         ||<   |d         |d         k    sJ |d         |d	         k    sJ d S )
Nr   Tr^   c                     S r    )r   r!   s    r   r   z<BaseSetitemTests.test_setitem_mask_aligned.<locals>.<lambda>   s    d r   r      r   r9      r@   rA   r   r   r   r   rd   )r&   r<   r   r`   rT   mask2targetr!   s          @r   test_setitem_mask_alignedz*BaseSetitemTests.test_setitem_mask_aligned   s     iooxD		...RaR 	"NNNEEE 	S&))FF FQqS	u!A#YE
1va    1va      r   c                    t          j        |          }t          j        t	          |          t
                    }d|d d<   |rt          ||          }n|}|d         ||<   |d         |d         k    sJ |d         |d         k    sJ d S )Nr   Tr^   r|   r   r9   r   )r&   r<   r`   rT   r!   r   s         r   test_setitem_mask_broadcastz,BaseSetitemTests.test_setitem_mask_broadcast  s    iooxD		...RaR 	S&))FFFAwt1va    1va      r   c                    t          j        d|i          }|                                }d|d<   t          j        |dgt          |          z  d          }t	          j        ||           |                                }d|j        d d df<   t	          j        ||           ||d<   t          j        ||d          }t	          j        ||           d S Nri   r9   rj   rh   )r@   rl   rF   r   rQ   assert_frame_equalra   r&   r<   ro   resultr   s        r   test_setitem_expand_columnsz,BaseSetitemTests.test_setitem_expand_columns   s    \3+&&s<d!s4yy A ABB
fh///
111c6
fh/// s<d 6 677
fh/////r   c                 n   t          j        ddgt          |          z  i          }|                                }||d<   t          j        dgt          |          z  |d          }t	          j        ||           |                                }||j        d d df<   t	          j        ||           d S r   )r@   rl   r   rF   rQ   r   ra   r   s        r   "test_setitem_expand_with_extensionz3BaseSetitemTests.test_setitem_expand_with_extension0  s    \3c$ii011s<qcCIIoD A ABB
fh///!
111c6
fh/////r   c                    t          |d                   st          j        d           |                                }t	          j        dt          t          |                    i|          }|j        d d         }|d         }|d         }t          |          dz
  |j	        |<   t          j        ||           t          |          dz
  |j	        |<   t          j        ||d                    d S )Nr   z)Test does not apply to non-hashable data.ri   r   r9   )r   r4   r5   uniquer@   rl   r   r   rb   ra   rQ   r   rR   )r&   r<   r   ro   rT   items         r   8test_loc_setitem_with_expansion_preserves_ea_index_dtypezIBaseSetitemTests.test_loc_setitem_with_expansion_preserves_ea_index_dtype;  s    47## 	EKCDDD{{}}<eCII&6&6 7tDDD]3B3gBx4yy1}t
b(+++D		A
sHSM22222r   c                 ,   t          j        ddgt          |          z  i          }dt          |d d                    dt          |           d}t          j        t
          |          5  |d d         |d<   d d d            d S # 1 swxY w Y   d S )	Nri   r9   zLength of values \(r   z$\) does not match length of index \(z\)rK   rj   )r@   rl   r   r4   r:   rO   )r&   r<   ro   rV   s       r   !test_setitem_frame_invalid_lengthz2BaseSetitemTests.test_setitem_frame_invalid_lengthK  s    \3c$ii011=3tBQBx== = =14R= = = 	 ]:S111 	 	2A2hBsG	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   .B		BBc                     t          j        |d d         ddg          }t          j        |                    ddg          |j                  }|d         |d<   t	          j        ||           d S )Nr^   )r   r   ry   r   r9   )r@   rA   r   r	   rQ   rR   )r&   r<   rT   r   s       r   test_setitem_tuple_indexz)BaseSetitemTests.test_setitem_tuple_indexT  so    iRaR(89999TYY1v..ci@@@1gF
sH-----r   c                    |d d                                          }|                    g d          }|r(t          j        |          }t          j        |          }|d         |d d<   t	          j        ||           d S )Nr   r   r   rM   r   )r&   r<   rC   re   r   s        r   test_setitem_slicez#BaseSetitemTests.test_setitem_sliceZ  sy    2A2hmmoo99___-- 	+)C..Cy**Hq'BQB
X&&&&&r   c                    |d d                                          }t          j        |g d          }t          j        |                    g d          |j                  }|                                 }|d         |j        d d<   t          j        ||           |                                 }|d         |j        d d<   t          j        ||           d S )Nr   )abcder   r   r   rM   r   )	rF   r@   rA   r   r	   rb   rQ   r[   ra   )r&   r<   re   sr   r   s         r   test_setitem_loc_iloc_slicez,BaseSetitemTests.test_setitem_loc_iloc_sliced  s    2A2hmmooIc!:!:!:;;;9TYY77qwGGGq'BQB
)))7
4C4
)))))r   c                     |d d         }t          j        t                    5  |d d         |d d<   d d d            d S # 1 swxY w Y   d S )Nr   r^   r9   )rQ   external_error_raisedrO   r&   r<   re   s      r   )test_setitem_slice_mismatch_length_raisesz:BaseSetitemTests.test_setitem_slice_mismatch_length_raisesq  s    2A2h%j11 	 	"1"gCG	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   AAAc                     |d d                                          }|dd          |d d<   t          j        ||dd                     d S )Nr   )rF   rQ   assert_extension_array_equalr   s      r   test_setitem_slice_arrayz)BaseSetitemTests.test_setitem_slice_arrayv  sM    2A2hmmoorss)BQB
'T"##Y77777r   c                     |d d                                          }t          j        t                    5  |ddg         |d<   d d d            d S # 1 swxY w Y   d S )Nr   r   r9   )rF   rQ   r   rO   r   s      r   &test_setitem_scalar_key_sequence_raisez7BaseSetitemTests.test_setitem_scalar_key_sequence_raise{  s    2A2hmmoo%j11 	! 	!!Q[CF	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	!s   AAAc                     |                                 }|d d          }|d         |d<   |d         |d         k    sJ |d         |d         k    sJ d S r>   )view)r&   r<   view1view2s       r   test_setitem_preserves_viewsz-BaseSetitemTests.test_setitem_preserves_views  sa    		QQQq'QQx47""""Qx47""""""r   c                     t          j        t          j        |                    x}}t          j        |j                  } ||          }|d         |j        |df<   t          j        ||           d S )Nr   r   )r@   rl   rA   r	   ra   rQ   r   )r&   r<   r(   ro   r   r   keys          r   ,test_setitem_with_expansion_dataframe_columnz=BaseSetitemTests.test_setitem_with_expansion_dataframe_column  sn    RYt__555XBH---l2U
36
fh/////r   c                    t          j        d|d d         i          }|d         |j        d<   t          j        d|d d         i          }t          j        ||           ||j        d<   t          j        dt          j        |d         |d         |g|j                  i          }t          j        ||           d S )Nr<   r9   )r9   r<   r^   )r^   r<   r   r   )r@   rl   ra   rQ   r   rA   r   )r&   r<   na_valuero   r   s        r   test_setitem_with_expansion_rowz0BaseSetitemTests.test_setitem_with_expansion_row  s    \648,-- Gy<bqb 233
b(+++ %y<RYQa(;4:NNNO
 
 	b(+++++r   c                 <   t          j        |d          }t          j        |j        t          d          } ||          }||j        |<   t          j        |                    t                    |j        dt                    }t          j        ||           d S )Nr<   r0   )r	   r   r0   )r	   r0   r   )r@   rA   r	   objectra   astyperQ   rR   )r&   r<   r(   rT   r   r   r   s          r   test_setitem_seriesz$BaseSetitemTests.test_setitem_series  s    i6***&vFFF l3
39KKsyvV
 
 
 	vx00000r   c                    t          j        d|i          }|                                }|                                |j        d d <   t	          j        ||           |j        d d                                         |j        d d<   t	          j        ||           |j        |j        d d <   t	          j        ||           |j        d d         |j        d d<   t	          j        ||           d S )Nri   r   )r@   rl   rF   rb   rQ   r   values)r&   r<   ro   origs       r   test_setitem_frame_2d_valuesz-BaseSetitemTests.test_setitem_frame_2d_values  s    \3+&&wwyyWWYY

b$'''wss|((**
b$'''Y

b$'''y"~
b$'''''r   c                     t          j        |d          }t          j        t	          |                    }t          j        |d          }||         }|d= t          j        ||           d S )Nr<   r   r9   )r@   rA   r   rm   r   deleterQ   rR   )r&   r<   rT   takerr   s        r   test_delitem_seriesz$BaseSetitemTests.test_delitem_series  se    i6***	#c((##	%##u:F
sH-----r   c                    t          j        t          t          fd           5  ||d<   d d d            n# 1 swxY w Y   t          j        t          t          fd           5  ||d d <   d d d            d S # 1 swxY w Y   d S )NrK   r   )r4   r:   rO   r;   )r&   r<   invalid_scalars      r   test_setitem_invalidz%BaseSetitemTests.test_setitem_invalid  s   ]J	2$??? 	% 	%$DG	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% ]J	2$??? 	% 	%$DG	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	%s   599"A77A;>A;c                 d   |                                 }t          j        ||d          }|j        ddgd d f         j        |j        ddgd d f<   |j        dd d f         |d         k                                    sJ |j        dd d f         |d         k                                    sJ d S )N)r   r   r9   r   )rF   r@   rl   ra   r   r   )r&   r<   rH   ro   s       r   test_setitem_2d_valuesz'BaseSetitemTests.test_setitem_2d_values  s    99;;\40011FAq61119-41vqqqyq!!!t+0022222q!!!t+002222222r   c           	      f   |j         du sJ d|_         |j         du sJ |                                }|j         du sJ t          j        t          d          5  |d         |d<   d d d            n# 1 swxY w Y   t          j        t          d          5  |d         |dd<   d d d            n# 1 swxY w Y   t          j        t          d          5  |d         |t          j        dgt          |          z            <   d d d            n# 1 swxY w Y   t          j	        ||           d S )NFTzCannot modify read-only arrayrK   r9   r   rM   )
	_readonlyrF   r4   r:   rO   r   rY   r   rQ   r   )r&   r<   	data_origs      r   test_readonly_propertyz'BaseSetitemTests.test_readonly_property  s   ~&&&&~%%%%IIKK	"e++++]:-LMMM 	 	1gDG	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 ]:-LMMM 	  	 QD1I	  	  	  	  	  	  	  	  	  	  	  	  	  	  	  ]:-LMMM 	9 	915aD4&3t99,--.	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	'i88888s6   A00A47A4B00B47B4/DDDc                    d|_         t          j        |          }|j        j        sJ t          j        |          }t          j        |          }t          j        ||          r|j        j        rJ d S |j        j        sJ d S )NT)r   r   rY   flags	writeableasarrayshares_memoryr&   r<   re   arr1arr2s        r   'test_readonly_propagates_to_numpy_arrayz8BaseSetitemTests.test_readonly_propagates_to_numpy_array  s     htnny"""" z$z$D$'' 	(z++++++:''''''r   c                 <   d|_         |                    d          }|j        j        sJ |                    d          }|                    d          }t	          j        ||          r|j        j        rJ n|j        j        sJ |                                                                rj|                    d|d                   }t          |j	        t          j                  r |j	        j        dk    r|j        j        rJ d S |j        j        sJ d S d S )NT)rF   Fr   )rF   r   f)r   to_numpyr   r   r   r  isnaany
isinstancer   r@   
ArrowDtypekindr  s        r   .test_readonly_propagates_to_numpy_array_methodz?BaseSetitemTests.test_readonly_propagates_to_numpy_array_method   s&    mmm&&y"""" }}%}((}}%}((D$'' 	(z+++++:'''' 99;;?? 	+--UT!W-==C$*bm44 +C9O9O 9......y****	+ 	+ +*r   )7__name__
__module__r3   r4   fixturer(   r7   r,   rD   rI   rW   r\   r_   markparametrizerf   rp   ru   rw   rz   r   r   r   rY   r@   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r   r   r   r   r   
   s       V^##!!&&##))11

 
 
  ( ) ( V^D!!!T T "!T& & &" " "& & &. . ."( ( (" " " [Xv77! ! 87!) ) )
* * *
* * *
) ) )
) ) )
) ) )
 [BH55566BH555YGGGBHdD$ru5YGGG	

 A@@   ' ' '! ! !
+ 
+ 
+ [	HBHYYYg6668K8KL444   
	' 	' 
	' [	HBHYYYg6668K8KL444   
	' 	' 
	' [1beBHaAru%W555	
 _%    [_tUm<<  =<   []T5M::[Xt}55! ! 65 ;:!. [Xt}55! ! 65!0 0 0 	0 	0 	03 3 3   . . .' ' '* * *  
8 8 8
! ! !
# # #0 0 0, , ,1 1 1( ( ("	. 	. 	.% % %3 3 39 9 9(( ( ( + + + + +r   r   )numpyr   r4   pandas.core.dtypes.commonr   pandasr@   pandas._testing_testingrQ   r   r   r   r   <module>r     s         1 1 1 1 1 1          N+ N+ N+ N+ N+ N+ N+ N+ N+ N+r   