§
    ×! h  ã            
       ó†  — d dl Zd dlZd dlZd dlmZ ej         	                    d¦  «        Z
 ej        d¦  «        Zd dlmZ d„ ej        D ¦   «         Zed„ ej        D ¦   «         z  Ze ej        g d¢d¬	¦  «        gz  Z ej        ed
„ eD ¦   «         ¬¦  «        d„ ¦   «         Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zej        d„ ¦   «         Zd„ Zej                             de                     d¦  «        e                     e                     d¦  «        e                     d¦  «        g¦  «        g¦  «        d„ ¦   «         Z d„ Z!dS )é    Nz=ignore:Passing a BlockManager to DataFrame:DeprecationWarningÚpyarrow)Úpyarrow_array_to_numpy_and_maskc                 ó>   — g | ]}t          j        g d ¢|¬¦  «        ‘ŒS ))é   é   é   N©Údtype©ÚpdÚarray©Ú.0r
   s     úfc:\xampp_lite_8_4\www\timesheet\venv\Lib\site-packages\pandas/tests/arrays/masked/test_arrow_compat.pyú
<listcomp>r      s+   € Ð	SÐ	SÐ	S°U�"Œ(�?�?�?¨%Ð
0Ñ
0Ô
0Ð	SÐ	SÐ	Só    c                 ó>   — g | ]}t          j        g d ¢|¬¦  «        ‘ŒS ))gš™™™™™¹?gš™™™™™É?g333333Ó?Nr	   r   r   s     r   r   r      s.   € Ð
XÐ
XÐ
X¸E�2Œ8Ð)Ð)Ð)°Ð7Ñ7Ô7Ð
XÐ
XÐ
Xr   )TFTNÚbooleanr	   c                 ó&   — g | ]}|j         j        ‘ŒS © )r
   Úname)r   Úas     r   r   r      s   € Ð#AÐ#AÐ#A°Q A¤G¤LÐ#AÐ#AÐ#Ar   )ÚparamsÚidsc                 ó   — | j         S )zi
    Fixture returning parametrized array from given dtype, including integer,
    float and boolean
    )Úparam)Úrequests    r   Údatar      s   € ð Œ=Ðr   c                 ó  — t                                | ¦  «        }t                                |                      t          d ¬¦  «        t                                | j        j        ¦  «        ¬¦  «        }|                     |¦  «        sJ ‚d S )N)Úna_value©Útype)Úpar   Úto_numpyÚobjectÚfrom_numpy_dtyper
   Únumpy_dtypeÚequals)r   ÚarrÚexpecteds      r   Útest_arrow_arrayr+      sr   € Ý
�(Š(�4‰.Œ.€CÝ�xŠxØ�Š•f tˆÑ,Ô,Ý× Ò  ¤Ô!7Ñ8Ô8ð ñ ô €Hð �:Š:�hÑÔÐÐÐÐÐr   c                 óV  — t          j        d| i¦  «        }t                               |¦  «        }|                     d¦  «        j        t          | j        j        ¦  «        k    sJ ‚| 	                    ¦   «         }|d         j        | j        k    sJ ‚t          j        ||¦  «         d S )Nr   )r   Ú	DataFramer#   ÚtableÚfieldr"   Ústrr
   r'   Ú	to_pandasÚtmÚassert_frame_equal©r   Údfr.   Úresults       r   Útest_arrow_roundtripr7   &   s“   € Ý	Œ�s˜D�kÑ	"Ô	"€BÝ�HŠH�R‰LŒL€EØ�;Š;�sÑÔÔ ¥C¨¬
Ô(>Ñ$?Ô$?Ò?Ð?Ð?Ð?à�_Š_ÑÔ€FØ�#Œ;Ô ¤
Ò*Ð*Ð*Ð*ÝÔ˜& "Ñ%Ô%Ð%Ð%Ð%r   c                  óª  — d„ } t                                g d¢t                                ¦   «         ¬¦  «        }t                                g d¢t                                ¦   «         ¬¦  «        }t                                g d¢t                                ¦   «         ¬¦  «        }t           j                             |||gg d¢¦  «        }|                     | ¬¦  «        }t          j	        g d¢d¬	¦  «        }t          j	        g d¢d
¬	¦  «        }t          j	        g d¢d
¬	¦  «        }t          j
        |||dœ¦  «        }	t          j        ||	¦  «         d S )Nc                 óÎ   — t           j                             | ¦  «        rt          j        ¦   «         S t           j                             | ¦  «        rt          j        ¦   «         S d S )N)r#   ÚtypesÚ
is_booleanr   ÚBooleanDtypeÚ
is_integerÚ
Int64Dtype)Ú
arrow_types    r   Útypes_mapperz<test_dataframe_from_arrow_types_mapper.<locals>.types_mapper1   sV   € ÝŒ8×Ò˜zÑ*Ô*ð 	#Ý”?Ñ$Ô$Ð$ÝŒX× Ò  Ñ,Ô,ð 	#Ý”=‘?”?Ð"ð	#ð 	#r   )TNFr!   )r   Nr   )éÿÿÿÿr   é   )ÚboolsÚintsÚ
small_ints)r@   r   r	   ÚInt64)r#   r   Úbool_Úint64Úint8ÚRecordBatchÚfrom_arraysr1   r   ÚSeriesr-   r2   r3   )
r@   Úbools_arrayÚ
ints_arrayÚsmall_ints_arrayÚrecord_batchr6   rC   rD   rE   r*   s
             r   Ú&test_dataframe_from_arrow_types_mapperrQ   0   s:  € ð#ð #ð #õ —(’(Ð.Ð.Ð.µR·X²X±Z´Z�(Ñ@Ô@€KÝ—’˜,˜,˜,­R¯XªX©Z¬Z�Ñ8Ô8€JÝ—x’x 
 
 
µ·²±´�xÑ;Ô;ÐÝ”>×-Ò-Ø	�jÐ"2Ð3Ð5TÐ5TÐ5Tñô €Lð ×#Ò#°Ð#Ñ>Ô>€FÝŒIÐ)Ð)Ð)°Ð;Ñ;Ô;€EÝŒ9�\�\�\¨Ð1Ñ1Ô1€DÝ”˜:˜:˜:¨WÐ5Ñ5Ô5€JÝŒ| e°TÈÐTÐTÑUÔU€HÝÔ˜& (Ñ+Ô+Ð+Ð+Ð+r   c                 ó  — t          j        d| dd…         i¦  «        }t                               |¦  «        }|                     d¦  «        j        t          | j        j        ¦  «        k    sJ ‚t                               t           	                    g |                     d¦  «        j        ¬¦  «        g|j
        ¬¦  «        }|                     ¦   «         }|d         j        | j        k    sJ ‚t          j        ||¦  «         d S )Nr   r   r!   )Úschema)r   r-   r#   r.   r/   r"   r0   r
   r'   Úchunked_arrayrS   r1   r2   r3   r4   s       r   Ú test_arrow_load_from_zero_chunksrU   E   sä   € õ 
Œ�s˜D  1 œIÐ&Ñ	'Ô	'€BÝ�HŠH�R‰LŒL€EØ�;Š;�sÑÔÔ ¥C¨¬
Ô(>Ñ$?Ô$?Ò?Ð?Ð?Ð?Ý�HŠHÝ	×	Ò	˜" 5§;¢;¨sÑ#3Ô#3Ô#8Ð	Ñ	9Ô	9Ð:À5Ä<ð ñ ô €Eð �_Š_ÑÔ€FØ�#Œ;Ô ¤
Ò*Ð*Ð*Ð*ÝÔ˜& "Ñ%Ô%Ð%Ð%Ð%r   c                  óè   — t          j        ¦   «         } |                      t                               g d¢d¬¦  «        ¦  «        }t          j        g d¢d¬¦  «        }t          j        ||¦  «         d S )N)r   r   r   é   NrH   r!   ÚUInt32r	   )r   ÚUInt32DtypeÚ__from_arrow__r#   r   r2   Úassert_extension_array_equal)r
   r6   r*   s      r   Útest_arrow_from_arrow_uintr\   S   so   € õ ŒNÑÔ€EØ×!Ò!¥"§(¢(Ð+=Ð+=Ð+=ÀG (Ñ"LÔ"LÑMÔM€FÝŒxÐ*Ð*Ð*°(Ð;Ñ;Ô;€HåÔ# F¨HÑ5Ô5Ð5Ð5Ð5r   c                 óP  — t          j        d| i¦  «        }t                               |¦  «        }|                     dd ¦  «                             ¦   «         }|j        dd …                              d¬¦  «        }t          j	        ||¦  «         | 
                    | d         ¦  «        }t                               |¦  «        }|                     dd ¦  «                             ¦   «         }|j        dd …                              d¬¦  «        }t          j	        ||¦  «         d S )Nr   r   T)Údropr   )r   r-   r#   r.   Úslicer1   ÚilocÚreset_indexr2   r3   Úfillna)r   r5   r.   r6   r*   Údf2s         r   Útest_arrow_slicedrd   ^   sö   € õ 
Œ�s˜D�kÑ	"Ô	"€BÝ�HŠH�R‰LŒL€EØ�[Š[˜˜DÑ!Ô!×+Ò+Ñ-Ô-€FØŒw�q�r�rŒ{×&Ò&¨DÐ&Ñ1Ô1€HÝÔ˜& (Ñ+Ô+Ð+ð �)Š)�D˜”GÑ
Ô
€CÝ�HŠH�S‰MŒM€EØ�[Š[˜˜DÑ!Ô!×+Ò+Ñ-Ô-€FØŒx˜˜˜Œ|×'Ò'¨TÐ'Ñ2Ô2€HÝÔ˜& (Ñ+Ô+Ð+Ð+Ð+r   c                 ó  — t          j        | ¦  «        }t                               |¦  «        }t                               g d¢|¬¦  «        }t          j        g d¢|¬¦  «        }t          j        g d¢¦  «        }||||fS )zt
    Fixture returning actual and expected dtype, pandas and numpy arrays and
    mask from a given numpy dtype
    )r   r   r   Nr!   )r   r   r   r	   )TTTF)Únpr
   r#   r&   r   )Úany_real_numpy_dtypeÚnp_dtypeÚpa_typeÚpa_arrayÚnp_expectedÚmask_expecteds         r   Únp_dtype_to_arraysrm   o   s�   € õ ŒxÐ,Ñ-Ô-€HÝ×!Ò! (Ñ+Ô+€Gõ �xŠx˜˜˜¨gˆxÑ6Ô6€Hõ ”(˜9˜9˜9¨HÐ5Ñ5Ô5€KÝ”HÐ6Ð6Ð6Ñ7Ô7€MØ�X˜{¨MÐ9Ð9r   c                 ó   — | \  }}}}t          ||¦  «        \  }}t          j        |dd…         |¦  «         t          j        ||¦  «         |                     ¦   «         d         }|                     ¦   «         d         }|                     ¦   «         d                              ¦   «         }	t
                               |	dz   ¦  «        }
t
          j                             |j	        t          |¦  «        ||
g|j        ¬¦  «        }|                     ¦   «          t          ||¦  «        \  }}t          j        |dd…         |¦  «         t          j        ||¦  «         d|j	        j        dz  z  }t
                               ||	z   ¦  «        }t
                               d¦  «        }t
          j                             |j	        t          |¦  «        ||g|j        dz   ¬¦  «        }|                     ¦   «          t          ||¦  «        \  }}t          j        |dd…         |¦  «         t          j        ||¦  «         t          j        g |¬	¦  «        }t          j        g t          j        ¬	¦  «        }t
          j                             |j	        d||g|j        ¬¦  «        }|                     ¦   «          t          ||¦  «        \  }}t          j        |dd…         |¦  «         t          j        ||¦  «         dS )
a&  
    Test conversion from pyarrow array to numpy array.

    Modifies the pyarrow buffer to contain padding and offset, which are
    considered valid buffers by pyarrow.

    Also tests empty pyarrow arrays with non empty buffers.
    See https://github.com/pandas-dev/pandas/issues/40896
    Nr   r   r   ó    )r"   ÚlengthÚbuffersÚoffseté   ó   r	   )r   r2   Úassert_numpy_array_equalrq   Ú
to_pybytesr#   Ú	py_bufferÚArrayÚfrom_buffersr"   Úlenrr   ÚvalidateÚ	bit_widthrf   r   rG   )rm   rh   rj   rk   rl   r   ÚmaskÚmask_bufferÚdata_bufferÚdata_buffer_bytesÚdata_buffer_trailÚpa_array_trailrr   Údata_buffer_offsetÚmask_buffer_offsetÚpa_array_offsetÚnp_expected_emptyÚmask_expected_emptys                     r   Ú$test_pyarrow_array_to_numpy_and_maskrˆ   �   sØ  € ð 6HÑ2€Hˆh˜ ]Ý0°¸8ÑDÔD�J€Dˆ$ÝÔ  R a R¤¨+Ñ6Ô6Ð6ÝÔ  mÑ4Ô4Ð4à×"Ò"Ñ$Ô$ QÔ'€KØ×"Ò"Ñ$Ô$ QÔ'€KØ ×(Ò(Ñ*Ô*¨1Ô-×8Ò8Ñ:Ô:Ðõ ŸšÐ%6¸Ñ%@ÑAÔAÐÝ”X×*Ò*ØŒ]Ý�8‰}Œ}ØÐ/Ð0ØŒð	 +ñ ô €Nð ×ÒÑÔÐÝ0°ÀÑJÔJ�J€Dˆ$ÝÔ  R a R¤¨+Ñ6Ô6Ð6ÝÔ  mÑ4Ô4Ð4ð ˜œÔ/°1Ñ4Ñ5€FÝŸš fÐ/@Ñ&@ÑAÔAÐÝŸš gÑ.Ô.ÐÝ”h×+Ò+ØŒ]Ý�8‰}Œ}Ø#Ð%7Ð8ØŒ Ñ"ð	 ,ñ ô €Oð ×ÒÑÔÐÝ0°À(ÑKÔK�J€Dˆ$ÝÔ  R a R¤¨+Ñ6Ô6Ð6ÝÔ  mÑ4Ô4Ð4õ œ ¨8Ð4Ñ4Ô4ÐÝœ( 2­R¬XÐ6Ñ6Ô6Ðå”h×+Ò+ØŒ]ØØ˜kÐ*ØŒð	 ,ñ ô €Oð ×ÒÑÔÐÝ0°À(ÑKÔK�J€Dˆ$ÝÔ  R a R¤Ð*;Ñ<Ô<Ð<ÝÔ Ð&9Ñ:Ô:Ð:Ð:Ð:r   r)   é
   rW   é   c                 ó´   — | j                              |¦  «        }|                     ¦   «                              ¦   «         sJ ‚t	          |¦  «        dk    sJ ‚d S )Nr‰   )r
   rZ   ÚisnaÚallrz   )r   r)   Úress      r   Útest_from_arrow_nullr�   À   sN   € ð Œ*×
#Ò
# CÑ
(Ô
(€CØ�8Š8‰:Œ:�>Š>ÑÔÐÐÐÝˆs‰8Œ8�rŠ>ˆ>ˆ>ˆ>ˆ>ˆ>r   c                 óü   — t                                | ¦  «                             d¦  «        }t          j        t
          d ¬¦  «        5  | j                             |¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NÚstring)Úmatch)r#   r   ÚcastÚpytestÚraisesÚ	TypeErrorr
   rZ   )r   r)   s     r   Útest_from_arrow_type_errorr—   É   s²   € õ �(Š(�4‰.Œ.×
Ò
˜hÑ
'Ô
'€CÝ	Œ•y¨Ð	-Ñ	-Ô	-ð 'ð 'ð 	Œ
×!Ò! #Ñ&Ô&Ð&ð'ð 'ð 'ñ 'ô 'ð 'ð 'ð 'ð 'ð 'ð 'ð 'øøøð 'ð 'ð 'ð 'ð 'ð 's   Á	A1Á1A5Á8A5)"Únumpyrf   r”   Úpandasr   Úpandas._testingÚ_testingr2   ÚmarkÚfilterwarningsÚ
pytestmarkÚimportorskipr#   Ú%pandas.core.arrays.arrow._arrow_utilsr   ÚALL_INT_EA_DTYPESÚarraysÚFLOAT_EA_DTYPESr   Úfixturer   r+   r7   rQ   rU   r\   rd   rm   rˆ   ÚparametrizeÚnullsrT   r�   r—   r   r   r   ú<module>r§      s  ðØ Ð Ð Ð Ø €€€à Ð Ð Ð Ø Ð Ð Ð Ð Ð àŒ[×'Ò'ØCñô €
ð €VÔ˜Ñ#Ô#€à QÐ QÐ QÐ QÐ QÐ Qà	SÐ	S¸bÔ>RÐ	SÑ	SÔ	S€Ø Ð
XÐ
XÀRÔEWÐ
XÑ
XÔ
XÑ X€Ø ˆ8ˆ2Œ8Ð-Ð-Ð-°YÐ?Ñ?Ô?Ð
@Ñ @€ð €„�vÐ#AÐ#A¸&Ð#AÑ#AÔ#AÐBÑBÔBðð ñ CÔBðð ð  ð  ð&ð &ð &ð,ð ,ð ,ð*&ð &ð &ð6ð 6ð 6ð,ð ,ð ,ð" „ð:ð :ñ „ð:ð"<;ð <;ð <;ð~ „×ÒØ	ˆB�HŠH�R‰LŒL˜"×*Ò*¨B¯HªH°Q©K¬K¸¿ºÀ!¹¼Ð+EÑFÔFÐGñô ðð ñô ðð'ð 'ð 'ð 'ð 'r   