
    Mh/=              %       .   S SK r S SKrS SKrS SKrS SKrS SKrS SKrS SK	J
r  S SKJr  S SKJrJrJrJrJrJrJr  S SKJrJr  S SKJrJrJr  \R:                  R=                  S/ SQ5      S 5       r\R:                  R=                  S	/ / S\R@                  " / S
S94PSS/S\R@                  " SS/SS94PSS/\!\" \RD                  " SS/\!S95      4PSS/\RF                  " S5      \" \RD                  " SS/\RF                  " S5      S95      4P\RD                  " / \!S9S\" \RD                  " / \!S95      4P\RD                  " SS/SS9S\R@                  " SS/SS94P\RD                  " SS/SS9S\R@                  " SS/S
S94PSS/S\" \RD                  " SS/SS95      4PSS/S\" \RD                  " SS/\RH                  S95      4P\RD                  " SS/\RJ                  S9S\" \RD                  " SS/\RJ                  S95      4P\" \RD                  " SS/\RL                  S95      S\" \RD                  " SS/\RL                  S95      4P\RN                  " SS5      \RN                  " SS5      /S\" SS/SS94P\RN                  " SS5      /\RP                  " S5      \" S/SS94PSS/\RF                  " S5      \R@                  " \RD                  " SS/SS9SS94PSS/\RF                  " S5      \R@                  " \RD                  " SS/SS9SS94P\RD                  " SS/SS9S\R@                  " \RD                  " SS/SS9SS94P\RR                  " SS/5      \RF                  " S5      \R@                  " SS/SS94P\RR                  " SS/5      S\R@                  " SS/SS94PSS/\RF                  " S5      \R@                  " SS/SS94PSS/\RT                  " SS9\R@                  " SS/\RT                  " SS9S94PSS /\RF                  " S!5      \R@                  " SS /S"S94P\RV                  " SS /5      \RF                  " S!5      \R@                  " SS /S"S94P\RD                  " SS/S#S9\RF                  " S$5      \R@                  " \RD                  " SS/S#S9S#S94P\RV                  " SS /5      S\R@                  " SS /S"S94P\RX                  " \RZ                  " S%\RH                  S9R]                  S#5      \RF                  " S#5      S9S\RX                  " \RZ                  " S%\RH                  S9R]                  S#5      \RF                  " S#5      S94P\RX                  " \RZ                  " S%\RH                  S9R]                  S#5      \RF                  " S#5      S9\RF                  " S#5      \RX                  " \RZ                  " S%\RH                  S9R]                  S#5      \RF                  " S#5      S94PS&S'/S(\R^                  " S&S'/5      4PS&S'/\R`                  " SS)S*9\R^                  " S&S'/S)S*94P\Rb                  " SS5      \Rb                  " S+S,5      /S-\Rd                  " S.S//5      4PS S/S0\" S S/SS94PSS/S1\RD                  " SS/S1S94P\Rf                  " SS/5      S\" \RD                  " SS/\RH                  S95      4PS&S/S2\Rh                  " 5       Rk                  5       RA                  S&S/\Rh                  " 5       S94PS&S/\Rh                  " 5       \Rh                  " 5       Rk                  5       RA                  S&S/\Rh                  " 5       S94PS)S/S3\R@                  " S)S/S3S94PS)S/\Rl                  " 5       \R@                  " S)S/S3S94P\Rn                  " SS/5      S\" \RD                  " SS/\RH                  S95      4P\Rf                  " \R^                  " S&S'// S4QS595      S\R^                  " S&S'// S4QS594P\Rp                  " S 5      \Rp                  " S5      /S6\" S S/5      4P\" SS/SS9S(\R^                  " \RN                  " SS5      \RN                  " SS5      /5      4P5      S7 5       r9S8 r:\Rv                  " S5      r<\R:                  R=                  S9\RN                  " SS5      \RN                  " SS5      /\" SS/SS94\Rb                  " S S5      \Rb                  " SS5      /\Rz                  " / S:Q5      4\R|                  " S5      \R|                  " S5      /\R@                  " SS/SS94\ R                   " S;SS5      \ R                   " S<SS5      /\R@                  " SS/SS94\RD                  " SS/SS9\R@                  " \RD                  " SS/SS95      4\RD                  " SS/S=S9\RX                  " \RD                  " SS/S=S9\RF                  " S=5      S94\R|                  " SSS9\R|                  " SSS9/\R@                  " SS/\RT                  " SS>S?9S94\ R                   " S;SS\<S@9\ R                   " S<SS\<S@9/\R@                  " SS/\RT                  " \<S>S?9S94\R~                  " S5      \R~                  " S 5      /\R@                  " SS /S"S94\RD                  " SS/S"S9\R@                  " \RD                  " SS/S"S95      4\RD                  " SS/SAS9\R@                  " \RD                  " SS/SAS95      4SS/\R@                  " SS/SS94SS/\R@                  " SS/SS94S\R                  /\R@                  " S\R                  /SS94S\R                  /\R@                  " S\R                  /SS94SBSC/\R@                  " SBSC/S
S94SBS/\R@                  " SB\R                  /S
S94SB\R                  /\R@                  " SB\R                  /S
S94SB\R                  /\R@                  " SB\R                  /S
S94SS/\R@                  " SS/S
S94SS/\R@                  " S\R                  /S
S94S\R                  /\R@                  " S\R                  /S
S94S\R                  /\R@                  " S\R                  /S
S94SS/\R@                  " SS/S
S94S\R                  S/\R@                  " / SDQS
S94S&S'/\Rh                  " 5       Rk                  5       RA                  S&S'/\Rh                  " 5       S94S&S/\Rh                  " 5       Rk                  5       RA                  S&S/\Rh                  " 5       S94S)SE/\R@                  " S)SE/S3S94S)S/\R@                  " S)S/S3S94/5      SF 5       rB\R:                  R=                  SG\RN                  " SS5      \RN                  " SSH5      /\Rb                  " S SSISJ9\Rb                  " SSSKSJ9/\R|                  " SSS9\R|                  " SSLS9/\R|                  " SSS9\R|                  " S5      /\RD                  " \R|                  " S5      \R|                  " SSS9/5      /5      SM 5       rC\R:                  R=                  SG\RD                  " S 5      /5      SN 5       rDSO rESP rFSQ rG\ " SR SS\5      5       rH " ST SU\5      rISV rJSW rKg)X    N)register_extension_dtype)BooleanArrayDatetimeArrayFloatingArrayIntegerArrayIntervalArraySparseArrayTimedeltaArray)NumpyExtensionArrayperiod_array)DecimalArrayDecimalDtype
to_decimal
dtype_unit)zM8[h]M8[m]zm8[h]r   c                     [         R                  " U 5      nSn[        R                  " [        [
        R                  " U5      S9   [        R                  " / US9  S S S 5        g ! , (       d  f       g = f)Nzdatetime64 and timedelta64 dtype resolutions other than 's', 'ms', 'us', and 'ns' are deprecated. In future releases passing unsupported resolutions will raise an exception.matchdtype)	npr   tmassert_produces_warningFutureWarningreescapepdarray)r   	dtype_varmsgs      P/var/www/html/env/lib/python3.13/site-packages/pandas/tests/arrays/test_array.pytest_dt64_arrayr"       sQ     $I	  
	#	#M3	H
9% 
I	H	Hs   A%%
A3zdata, dtype, expectedFloat64r         Int64float32      ?       @int64float642000D2001z	Period[D])freqzdatetime64[ns]zM8[ns]zdatetime64[s]zM8[s]CET)tz1h2hztimedelta64[ns]zm8[ns]zm8[s]ztimedelta64[s]   abcategoryT)ordered      interval)r$   r%   )r9   r:   zSparse[int64]Int16stringboolean)r5   r6   c)
categoriesdecimalc                 X    [         R                  " XS9n[        R                  " X25        g Nr   r   r   r   assert_equal)datar   expectedresults       r!   
test_arrayrI   .   s    d XXd(FOOF%    c                     [         R                  " SS/5      n [        R                  " X R                  S9n[        R
                  " X5      (       a   e[        R                  " X R                  SS9n[        R
                  " X5      (       a   e[        R                  " X R                  SS9n[        R
                  " X5      (       d   eg )Nr$   r%   r   Tr   copyF)r   r   r   r   r   shares_memory)r5   r6   s     r!   test_array_copyrO     s    
!QA
''"A%%%% 	''-A%%%% 	''.AA!!!!rJ   zdata, expected)r   r$   r%   i  i  zM8[us]ns)r1   unit)tzinfozm8[us]g?g?)r(   Nr)   Fc                 \    [         R                  " U 5      n[        R                  " X!5        g )NrD   )rF   rG   rH   s      r!   test_array_inferencerT     s    D XXd^FOOF%rJ   rF   Yleft)closedrightUTCc                     [         R                  " U 5      n[        [        R                  " U [        S95      n[
        R                  " X5        g rC   )r   r   r   r   objectr   assert_extension_array_equal)rF   rH   rG   s      r!   test_array_inference_failsr]   |  s4     XXd^F"288D#?@H##F5rJ   c                     [         R                  " [        SS9   [        R                  " U SS9  S S S 5        g ! , (       d  f       g = f)Nz)NumpyExtensionArray must be 1-dimensionalr   r*   r   pytestraises
ValueErrorr   r   )rF   s    r!   test_nd_raisesrc     s,    	z)T	U
W% 
V	U	Us	   9
Ac                      [         R                  " [        SS9   [        R                  " S5        S S S 5        g ! , (       d  f       g = f)NzCannot pass scalar '1'r   r$   r_    rJ   r!   test_scalar_raisesrf     s)    	z)A	B
 
C	B	Bs	   :
Ac                      [         R                  " SS/SS//SS/S9n Sn[        R                  " [        US	9   [         R
                  " U 5        S S S 5        g ! , (       d  f       g = f)
Nr$   r%   r9   r:   AB)columnsz'Cannot pass DataFrame to 'pandas.array'r   )r   	DataFramer`   ra   	TypeErrorr   )dfr    s     r!   test_dataframe_raisesrn     sM    	1v1v&c
	;B
3C	y	,
 
-	,	,s   A
A'c                      [         R                  " [        SS9   [        R                  " / SQSS9  S S S 5        g ! , (       d  f       g = f)Nz6cannot safely cast non-equivalent int(32|64) to uint16r   )r%   r9   UInt16r   )r`   ra   rl   r   r   re   rJ   r!   test_bounds_checkrr     s4    	R
 	8,
 
 
s	   ;
A	c                   (    \ rS rSrSr\S 5       rSrg)DecimalDtype2i  decimal2c                     [         $ )zI
Return the array type associated with this dtype.

Returns
-------
type
)DecimalArray2)clss    r!   construct_array_type"DecimalDtype2.construct_array_type  s
     rJ   re   N)__name__
__module____qualname____firstlineno__nameclassmethodry   __static_attributes__re   rJ   r!   rt   rt     s    D rJ   rt   c                   <   ^  \ rS rSr\SSS.U 4S jj5       rSrU =r$ )rw   i  NFrL   c                   > [        U[        R                  [        R                  45      (       a  [	        S5      e[
        TU ]  XUS9$ )N3scalars should not be of type pd.Series or pd.IndexrL   )
isinstancer   SeriesIndexrl   super_from_sequence)rx   scalarsr   rM   	__class__s       r!   r   DecimalArray2._from_sequence  s>    g		288455QRRw%g%FFrJ   re   )r{   r|   r}   r~   r   r   r   __classcell__)r   s   @r!   rw   rw     s    .2 G GrJ   rw   c                    U nU" [         R                  " S5      [         R                  " S5      /5      n[        5       n[        R                  " [
        SS9   [        R                  X#S9  S S S 5        [        R                  " USS9n[        R                  UR                  US9n[        R                  " XE5        g ! , (       d  f       NX= f)N12r   r   r   ru   )rA   Decimalrt   r`   ra   rl   rw   r   r   r   valuesr   rE   )index_or_seriesboxrF   r   rH   rG   s         r!   test_array_unboxesr     s    
C$gooc&:;<DOE	N
 	$$T$7

 XXd*-F++DKKu+EHOOF%
 
s   B>>
Cc                      [         R                  " [         R                  S/SS9n U R                  S[        S9n[
        R                  " SS/5      n[        R                  " X5        g )Nr$   zstring[python]r   T)na_valuer   )r   r   NAto_numpyboolr   r   assert_numpy_array_equal)arrrH   rG   s      r!   test_array_to_numpy_nar     sM    
((BEE1:%5
6C\\4t\4Fxxt%H1rJ   )LdatetimerA   r   numpyr   r`   pytzpandasr   pandas._testing_testingr   pandas.api.extensionsr   pandas.arraysr   r   r   r   r   r	   r
   pandas.core.arraysr   r   pandas.tests.extension.decimalr   r   r   markparametrizer"   r   r[   r   r   r*   float16int32PeriodPeriodDtypeDatetimeIndexDatetimeTZDtypeTimedeltaIndex_simple_newarangeviewCategoricalCategoricalDtypeIntervalfrom_tuplesr   StringDtypery   BooleanDtyper   r   rI   rO   timezonecetfrom_breaks	Timestamp	Timedeltar   nanrT   r]   rc   rf   rn   rr   rt   rw   r   r   re   rJ   r!   <module>r      s     	      :    'KL
& M
& M	T=//)DEM Q|22Aq6IJM Q,RXXq!fF-KLM	M FHHY#s288I;N OP	
M HHRv&6 :;	
M  HHaV7+''Ag>	
M* HHc3Zy1((#s9E	
)M4 Q/!Qy0QRS5M6 Q-bhh1vRXX.NOP7M> HHaV2::.!Qrzz BC	
=MJ  !Qrxx @A!Qrxx @A	
IMV YYvs#RYYvs%;<&&)4	
UMb YYvs#$NN3&,	
aMn FHH%&((!Qx0	
mM| FHH_%((!Qw/w	
{MJ HHaV#34((!Qx0	
IMX ff-.HH%&((&&)9J	
WMb ff-.((&&)9J	
aMl VHH%&((&&)9J	
kMx V%((( (:(:e(D	
wMH 4LHH&'))4,hG	
GMR tTl+HH&'))4,hG	
QM\ HHaV7+HH%&))!Qw/w	
[Mj tTl+))4,hG	
iMv &&		!288,11':"((7BS &&		!288,11':"((7BS		
sMJ &&		!288,11':"((7BS HHW&&		!288,11':"((7BS		
GM\ sZc
!;<]M` #Jd3NNC:t4	
_Ml [[AAq 12%%vv&67	
kMv Q+q!fG"DEwMz TGRXXq$iw?@{M~ IIq!f!Qrxx @A	
}MJ $KNN!!#^S$Kr~~/?^@	
IMX $KNNNN!!#^S$Kr~~/?^@	
WMh 4L''tIF	
gMr 4LOO''tIF	
qM| 
1a&	4!4RXXq!fBHH5U!VW}MB IIbnnc3ZOLMNNC:/B	
AML //!
gooa0	19j!Q>PQMMR &&)4NNBIIfc2BIIfc4JKL	
QMPb&cPb&
" mmE  YYvs#RYYvs%;<&&)4	

 ++a
R[[A.	/1J1J91UV \\&!2<<#78((&&)9J	

 tQ*H,=,=dAq,IJ((&&)9J	

 HHaV8,((1a&)IJ	

 HHaV8,%%!Qx08J	
 \\&U+R\\&U-KL(( (:(:e$(O	
 !!$1S9!!$1S9 (( (:(:c(M	
 \\$d!34))4,hG	

 HHaV8,))"((Aq6*JK	

 HHaV8,))"((Aq6*JK	

 Q,,aV7CD
TL//D	IJ
RUU\00!RUU7KL
RVVl111bff+WMN
s]113*INO
tm22C<yQR
rvv44c255\ST
ruu}33S"%%L	RS
s]113*INO
tm22C<yQR
rvv44c255\ST
ruu}33S"%%L	RS
S=//c
)LM(()9K	
 #JNN!!#^S#Jbnn.>^?		
 $KNN!!#^S$Kr~~/?^@		
 33T5MST
|22D$<yQRy]`B&C`B&
 
 
63	63!78	Q&	)2;;q!G+LM	f	'f)GH	f	'f)=>
",,v&V(FGH
66 "((1+/& 0&

- L  GL G& 2rJ   