Ë
    ìmxiü¯  ã                   óž  — d dl mZ d dlZd dlZd dlZd dlZd dlZd dlZd dlZ	ej                  j                  Zej                  j                  ej                  j                  e«      «      Zej$                  j'                  d«      xs ej                  j)                  ed«      ZddgZd„ Z e«       d„ «       Z e«       d	„ «       Zd
„ Zd„ Z G d„ d«      Z ej:                  d¬«      d„ «       Z ej:                  d¬«      d„ «       Zd„ Zd„ Z d„ Z!d„ Z"d„ Z#d„ Z$d„ Z%d„ Z&d„ Z'd„ Z(d„ Z)d„ Z*d„ Z+d„ Z,d „ Z-d!„ Z.d"„ Z/d#„ Z0d$„ Z1d%„ Z2d&„ Z3d'„ Z4d(„ Z5y))é    )Ú	lru_cacheNÚARROW_GDB_SCRIPTz../../../cpp/gdb_arrow.pyÚgdbz--nxc                  ód   — i } dD ]  }	 t         j                  |   | |<   Œ | S # t        $ r Y Œ)w xY w)N)ÚPATHÚLD_LIBRARY_PATH)ÚosÚenvironÚKeyError)ÚenvÚvars     úM/home/htdocs/ttos/venv/lib/python3.12/site-packages/pyarrow/tests/test_gdb.pyÚenvironment_for_gdbr   *   sG   € Ø
€CØ*ò ˆð	Ü—z‘z #‘ˆC�ŠHðð
 €Jøô ò 	Ùð	ús   ‰#£	/®/c                  óê   — 	 t        j                  t        dgz   t        «       dt         j                  t         j                  t         j
                  ¬«      } | j                  dk(  S # t        $ r Y yw xY w)Nz	--versionr   )r   ÚbufsizeÚstdinÚstdoutÚstderrF)Ú
subprocessÚrunÚgdb_commandr   ÚPIPEÚSTDOUTÚFileNotFoundErrorÚ
returncode)Úprocs    r   Úis_gdb_availabler   4   sd   € ð	ô �~‰~œk¨[¨MÑ9Ü"5Ó"7ÀÜ$.§O¡OÜ%/§_¡_Ü%/×%6Ñ%6ô	8ˆð �?‰?˜aÑÐøô ò Ùðús   ‚AA& Á&	A2Á1A2c                  óB   — t        j                  d«      } | €J d«       ‚| S )NÚpython3z Couldn't find python3 executable)ÚshutilÚwhich)Úpaths    r   Úpython_executabler#   C   s'   € ä�<‰<˜	Ó"€DØÐÐ?Ð?Ó?ÐØ€Kó    c                  óD   — t        «       st        j                  d«       y y )Nzgdb command unavailable)r   ÚpytestÚskip© r$   r   Úskip_if_gdb_unavailabler)   J   s   € ÜÔÜ�‰Ð-Õ.ð r$   c                  óv   — t         j                  j                  t        «      st	        j
                  d«       y y )Nzgdb script not found)r	   r"   ÚexistsÚ
gdb_scriptr&   r'   r(   r$   r   Úskip_if_gdb_script_unavailabler-   O   s$   € Ü�7‰7�>‰>œ*Ô%Ü�‰Ð*Õ+ð &r$   c                   óD   — e Zd ZdZdZd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
„ Zy)Ú
GdbSessionNTc                 óì   — t        «       }|j                  |«       t        j                  t        t        |«      z   |dt        j                  t        j                  ¬«      | _        g | _        d| _	        y )Nr   )r   r   r   r   r$   )
r   Úupdater   ÚPopenr   Úlistr   r   Úlast_stdoutÚlast_stdout_line)ÚselfÚargsr   Úgdb_envs       r   Ú__init__zGdbSession.__init__X   sX   € ä%Ó'ˆØ�‰�sÔÜ×$Ñ$¤[´4¸³:Ñ%=Ø)0¸!Ü+5¯?©?Ü,6¯O©Oô=ˆŒ	ð ˆÔØ #ˆÕr$   c                 óœ  — | j                   j                  d«      �sR| j                  j                  «       �€7| j                  j                  j                  d«      }| j                  rQt        j                  j                  j                  |«       t        j                  j                  j                  «        |j                  d«      \  }}}|rK| j                  j                  | j                   «       | j                  j                  ||z   «       || _         n|dk(  sJ ‚| xj                   |z  c_         | j                   j                  d«      s| j                  j                  «       €�Œ7| j                  j                  «       �t        d«      ‚dj                  | j                  «      j!                  d«      }g | _        d| _         |S )zW
        Record output until the gdb prompt displays.  Return recorded output.
        s   (gdb) i   ó   
r$   z#gdb session terminated unexpectedlyúutf-8)r5   Ú
startswithr   Úpollr   ÚreadÚverboseÚsysÚbufferÚwriteÚflushÚ
rpartitionr4   ÚappendÚIOErrorÚjoinÚdecode)r6   ÚblockÚsepÚ	last_lineÚouts        r   Úwait_until_readyzGdbSession.wait_until_readyc   sc  € ð
 ×(Ñ(×3Ñ3°IÕ>Ø�y‰y�~‰~ÓÑ'Ø—I‘I×$Ñ$×)Ñ)¨$Ó/ˆEØ�|Š|Ü—
‘
×!Ñ!×'Ñ'¨Ô.Ü—
‘
×!Ñ!×'Ñ'Ô)Ø$)×$4Ñ$4°UÓ$;Ñ!ˆE�3˜	ÙØ× Ñ ×'Ñ'¨×(=Ñ(=Ô>Ø× Ñ ×'Ñ'¨°©Ô4Ø(1�Õ%à ’|Ð#�|Ø×%Ò%¨Ñ2Õ%ð ×(Ñ(×3Ñ3°IÔ>Ø�y‰y�~‰~ÓÒ'ð �9‰9�>‰>ÓÐ'ÜÐ?Ó@Ð@à�h‰h�t×'Ñ'Ó(×/Ñ/°Ó8ˆØˆÔØ #ˆÔØˆ
r$   c                 óx  — |j                  d«      dz   }| j                  rQt        j                  j                  j                  |«       t        j                  j                  j                  «        | j                  j                  j                  |«       | j                  j                  j                  «        y )Nr<   r;   )	Úencoder@   rA   r   rB   rC   rD   r   r   ©r6   Úlines     r   Úissue_commandzGdbSession.issue_command   st   € Ø�{‰{˜7Ó# eÑ+ˆØ�<Š<Ü�J‰J×Ñ×#Ñ# DÔ)Ü�J‰J×Ñ×#Ñ#Ô%Ø�	‰	�‰×Ñ˜dÔ#Ø�	‰	�‰×ÑÕr$   c                 óD   — | j                  |«       | j                  «       S ©N)rS   rN   rQ   s     r   Úrun_commandzGdbSession.run_command‡   s   € Ø×Ñ˜4Ô Ø×$Ñ$Ó&Ð&r$   c                 ó–   — | j                  d|› �«      }t        j                  dd|«      \  }}|dk(  sJ |«       ‚|j                  «       S )zT
        Ask gdb to print the value of an expression and return the result.
        zp z	^\$\d+ = Ú é   )rV   ÚreÚsubnÚstrip)r6   ÚexprrM   Úns       r   Úprint_valuezGdbSession.print_value‹   sM   € ð ×Ñ  D 6˜{Ó+ˆÜ—‘˜ r¨3Ó/‰ˆˆQØ�AŠvÐ�sÓˆvà�y‰y‹{Ðr$   c                 ó  — | j                  d«      }dt        j                  |«      z   dz   }t        j                  ||«      }|€t	        j
                  d|› �«       t        |d   «      }| j                  d|› �«      }d|› �|v sJ ‚y)	zJ
        Select the innermost frame with the given function name.
        z
info stackz(?mi)^#(\d+)\s+.* in z\bNz$Could not select frame for function rY   zframe zin )rV   rZ   ÚescapeÚsearchr&   ÚfailÚint)r6   Ú	func_namerM   ÚpatÚmÚ	frame_nums         r   Úselect_framezGdbSession.select_frame•   sŽ   € ð ×Ñ˜|Ó,ˆØ&¬¯©°9Ó)=Ñ=ÀÑEˆÜ�I‰I�c˜3ÓˆØˆ9Ü�K‰KÐ>¸y¸kÐJÔKä˜˜!™“Iˆ	Ø×Ñ ¨	 {Ð3Ó4ˆØ�Y�KÐ  CÑ'Ð'Ñ'r$   c                 ó$  — | j                   �„| j                   j                  j                  «        | j                   j                  j                  «        | j                   j	                  «        | j                   j                  «        d | _         y y rU   )r   r   Úcloser   ÚkillÚwait©r6   s    r   rH   zGdbSession.join¦   s^   € Ø�9‰9Ð Ø�I‰I�O‰O×!Ñ!Ô#Ø�I‰I×Ñ×"Ñ"Ô$Ø�I‰I�N‰NÔØ�I‰I�N‰NÔØˆD�Ið !r$   c                 ó$   — | j                  «        y rU   )rH   rn   s    r   Ú__del__zGdbSession.__del__®   s   € Ø�	‰	�r$   )Ú__name__Ú
__module__Ú__qualname__r   r@   r9   rN   rS   rV   r_   ri   rH   rp   r(   r$   r   r/   r/   T   s4   „ Ø€DØ€Gò	$òò8 ò'òò(ò"ór$   r/   Úsession)Úscopec               #   óD  K  — t        «        t        dt        «       «      } 	 | j                  «        | j	                  d«       | j	                  d«       | j	                  d«       | j	                  d«       | –— | j                  «        y # | j                  «        w xY w­w)Nz-qzset confirm offzset print array-indexes onzset width unlimitedzset charset UTF-8)r)   r/   r#   rN   rV   rH   )r   s    r   r   r   ²   sx   è ø€ äÔÜ
�TÔ,Ó.Ó
/€Cð	Ø×ÑÔØ�‰Ð)Ô*Ø�‰Ð4Ô5à�‰Ð-Ô.Ø�‰Ð+Ô,ØŠ	à�‰�
øˆ�‰�
üs   ‚B ¢AB Á:B ÂBÂB c                 ó0  — dt         j                  j                  j                  vrt	        j
                  d«       t         j                  j                  dk7  rt	        j
                  d«       t        «        | j                  dt        › �«       t        j                  dk(  rdnd}t        j                  j                  |«      }|r| j                  d	|› d
|› �«       d}| j                  d|› d�«      }d|v sd|v sJ |«       ‚| j                  d«       | S )NÚdebz%Arrow C++ debug symbols not availableÚdebugz#PyArrow C++ not built in debug modezsource Úwin32r   r   zset env ú z>from pyarrow.lib import _gdb_test_session; _gdb_test_session()zrun -c 'ú'zTrace/breakpoint trapzreceived signalzarrow::gdb::TestSession)ÚpaÚ
build_infoÚcpp_build_infoÚ
build_typer&   r'   r-   rV   r,   rA   Úplatformr	   r
   Úgetri   )r   Úlib_path_varÚlib_pathÚcoderM   s        r   Ú	gdb_arrowr†   Â   sô   € à”B—M‘M×0Ñ0×;Ñ;Ñ;Ü�‰Ð;Ô<Ü	‡}�}×Ñ 7Ò*Ü�‰Ð9Ô:ä"Ô$Ø‡O�O�gœj˜\Ð*Ô+ä Ÿ\™\¨WÒ4‘6Ð:K€LÜ�z‰z�~‰~˜lÓ+€HÙð 	�‰˜( < .°°(°Ð<Ô=àK€DØ
�/‰/˜H T F¨!Ð,Ó
-€CØ# sÑ*Ø Ñ$ð+Ø'*ó+ð %à×ÑÐ.Ô/Ø€Jr$   c                 óV   — | j                  d«      }|j                  d«      sJ |«       ‚y )Nzshow versionz	GNU gdb ()rV   r=   )r   rM   s     r   Útest_gdb_sessionrˆ   Û   s'   € Ø
�/‰/˜.Ó
)€CØ�>‰>˜+Ô&Ð+¨Ó+Ñ&r$   c                 ó4   — | j                  d«      }|dk(  sJ ‚y )Nz42 + 1Ú43)r_   )r†   Úss     r   Útest_gdb_arrowrŒ   à   s   € Ø×Ñ˜hÓ'€AØ�Š9Ð‰9r$   c                 óš   — | j                  |«      }t        |t        j                  «      r|j	                  |«      sJ |«       ‚y||k(  sJ ‚y)z/
    Check printing a stack-located value.
    N)r_   Ú
isinstancerZ   ÚPatternÚmatch©r   r]   Úexpectedr‹   s       r   Úcheck_stack_reprr“   å   sC   € ð 	�‰˜Ó€AÜ�(œBŸJ™JÔ'Ø�~‰~˜aÔ Ð# !Ó#Ñ à�HŠ}Ð‰}r$   c                 ód   — | j                  d|› �«      }||k7  r|j                  d|› �«      sJ ‚yy)zA
    Check printing a heap-located value, given its address.
    Ú*r{   N)r_   Úendswithr‘   s       r   Úcheck_heap_reprr—   ð   s<   € ð 	�‰˜!˜D˜6˜
Ó#€AàˆH‚}Ø�z‰z˜A˜h˜Z˜.Ô)Ð)Ñ)ð r$   c                 ó    — t        | dd«       t        | dd«       t        | dd«       t        | dd«       t        | d	d
«       t        | dd«       y )NÚ	ok_statuszarrow::Status::OK()Úerror_statusz*arrow::Status::IOError("This is an error")Úerror_detail_statuszXarrow::Status::IOError("This is an error", detail=[custom-detail-id] "This is a detail")Ú	ok_resultzarrow::Result<int>(42)Úerror_resultz>arrow::Result<int>(arrow::Status::IOError("This is an error"))Úerror_detail_resultzlarrow::Result<int>(arrow::Status::IOError("This is an error", detail=[custom-detail-id] "This is a detail"))©r“   ©r†   s    r   Útest_statusr¡   ú   sg   € Ü�Y Ð-BÔCÜ�Y ØAôCäØÐ(ð	8ô9ô
 �Y Ð-EÔFÜØ�>ØHôJô ØÐ(ð	9õ:r$   c                 ól   — t        | dd«       t        | dd«       t        | dd«       t        | dd«       y )	NÚbuffer_nullz"arrow::Buffer of size 0, read-onlyÚ
buffer_abcú)arrow::Buffer of size 3, read-only, "abc"Úbuffer_special_charsz=arrow::Buffer of size 12, read-only, "foo\"bar\000\r\n\t\037"Úbuffer_mutablez.arrow::MutableBuffer of size 3, mutable, "abc"rŸ   r    s    r   Útest_buffer_stackr¨     sF   € Ü�Y Ø9ô;ä�Y Ø@ôBäØÐ)ØHôJô �YÐ 0ØEõGr$   c                 ó8   — t        | dd«       t        | dd«       y )NÚheap_bufferr¥   zheap_buffer_mutable.get()z'arrow::Buffer of size 3, mutable, "abc"©r—   r    s    r   Útest_buffer_heapr¬     s"   € Ü�I˜}Ø?ôAä�IÐ:Ø=õ?r$   c                 ó„  — d}t        | dd«       t        | dd|› d�«       t        | dd|› d�«       t        | d	d
«       t        | dd|› d�«       t        | dd|› d�«       d}t        | dd«       t        | dd|› d�«       t        | dd|› d�«       t        | dd«       t        | dd|› d�«       t        | dd|› d�«       y )NÚ&98765432109876543210987654321098765432Údecimal128_zerozarrow::Decimal128(0)Údecimal128_poszarrow::Decimal128(ú)Údecimal128_negzarrow::Decimal128(-Úbasic_decimal128_zerozarrow::BasicDecimal128(0)Úbasic_decimal128_poszarrow::BasicDecimal128(Úbasic_decimal128_negzarrow::BasicDecimal128(-ÚL9876543210987654321098765432109876543210987654321098765432109876543210987654Údecimal256_zerozarrow::Decimal256(0)Údecimal256_poszarrow::Decimal256(Údecimal256_negzarrow::Decimal256(-Úbasic_decimal256_zerozarrow::BasicDecimal256(0)Úbasic_decimal256_poszarrow::BasicDecimal256(Úbasic_decimal256_negzarrow::BasicDecimal256(-rŸ   )r†   Úv128Úv256s      r   Útest_decimalsr¿      s  € Ø3€DÜ�YÐ 1Ð3IÔJÜ�YÐ 0Ø)¨$¨¨qÐ1ô3ä�YÐ 0Ø*¨4¨&°Ð2ô4ä�YÐ 7Ø0ô2ä�YÐ 6Ø.¨t¨f°AÐ6ô8ä�YÐ 6Ø/°¨v°QÐ7ô9ð3€Dä�YÐ 1Ð3IÔJÜ�YÐ 0Ø)¨$¨¨qÐ1ô3ä�YÐ 0Ø*¨4¨&°Ð2ô4ä�YÐ 7Ø0ô2ä�YÐ 6Ø.¨t¨f°AÐ6ô8ä�YÐ 6Ø/°¨v°QÐ7õ9r$   c                 ó8   — t        | dd«       t        | dd«       y )Nzempty_metadata.get()z!arrow::KeyValueMetadata of size 0zmetadata.get()zcarrow::KeyValueMetadata of size 2 = {["key_text"] = "some value", ["key_binary"] = "z\000\037\377"}r«   r    s    r   Útest_metadatarÁ   =  s'   € Ü�IÐ5Ø7ô9äØÐ#ð
MõOr$   c                 ó¬  — t        | dd«       t        | dd«       t        | dd«       t        | dd«       t        | d	d
«       t        | dd«       t        | dd«       t        | dd«       t        | dd«       t        | dd«       t        | dd«       t        | dd«       t        | dd«       t        | dd«       t        | dd«       t        | dd «       t        | d!d"«       t        | d#d$«       t        | d%d&«       t        | d'd(«       t        | d)d*«       t        | d+d,«       t        | d-d.«       t        | d/d0«       t        | d1d2«       t        | d3d4«       t        | d5d6«       t        | d7d8«       t        | d9d:«       t        | d;d<«       t        | d=d>«       t        | d?d@«       t        | dAdB«       t        | dCdD«       t        | dEdF«       t        | dGdH«       y )INÚ	null_typeúarrow::null()Ú	bool_typeúarrow::boolean()Údate32_typezarrow::date32()Údate64_typezarrow::date64()Útime_type_sz&arrow::time32(arrow::TimeUnit::SECOND)Útime_type_msz%arrow::time32(arrow::TimeUnit::MILLI)Útime_type_usz%arrow::time64(arrow::TimeUnit::MICRO)Útime_type_nsú$arrow::time64(arrow::TimeUnit::NANO)Útimestamp_type_sz)arrow::timestamp(arrow::TimeUnit::SECOND)Útimestamp_type_ms_timezonez8arrow::timestamp(arrow::TimeUnit::MILLI, "Europe/Paris")Útimestamp_type_usz(arrow::timestamp(arrow::TimeUnit::MICRO)Útimestamp_type_ns_timezoneú7arrow::timestamp(arrow::TimeUnit::NANO, "Europe/Paris")Úday_time_interval_typezarrow::day_time_interval()Úmonth_interval_typezarrow::month_interval()Úmonth_day_nano_interval_typez arrow::month_day_nano_interval()Úduration_type_sz(arrow::duration(arrow::TimeUnit::SECOND)Úduration_type_nsz&arrow::duration(arrow::TimeUnit::NANO)Údecimal128_typeúarrow::decimal128(16, 5)Údecimal256_typezarrow::decimal256(42, 12)Úbinary_typezarrow::binary()Ústring_typezarrow::utf8()Úlarge_binary_typezarrow::large_binary()Úlarge_string_typezarrow::large_utf8()Úfixed_size_binary_typezarrow::fixed_size_binary(10)Ú	list_typeúarrow::list(arrow::uint8())Úlarge_list_typeú&arrow::large_list(arrow::large_utf8())Úfixed_size_list_typeú+arrow::fixed_size_list(arrow::float64(), 3)Úmap_type_unsortedú=arrow::map(arrow::utf8(), arrow::binary(), keys_sorted=false)Úmap_type_sortedz<arrow::map(arrow::utf8(), arrow::binary(), keys_sorted=true)Ústruct_type_emptyzarrow::struct_({})Ústruct_typeújarrow::struct_({arrow::field("ints", arrow::int8()), arrow::field("strs", arrow::utf8(), nullable=false)})Úsparse_union_typezŠarrow::sparse_union(fields={arrow::field("ints", arrow::int8()), arrow::field("strs", arrow::utf8(), nullable=false)}, type_codes={7, 42})Údense_union_typez‰arrow::dense_union(fields={arrow::field("ints", arrow::int8()), arrow::field("strs", arrow::utf8(), nullable=false)}, type_codes={7, 42})Údict_type_unorderedú?arrow::dictionary(arrow::int16(), arrow::utf8(), ordered=false)Údict_type_orderedz>arrow::dictionary(arrow::int16(), arrow::utf8(), ordered=true)Ú	uuid_typeú[arrow::ExtensionType "extension<arrow.uuid>" with storage type arrow::fixed_size_binary(16)rŸ   r    s    r   Útest_types_stackró   F  sY  € Ü�Y ¨_Ô=Ü�Y Ð-?Ô@ä�Y Ð/@ÔAÜ�Y Ð/@ÔAÜ�Y Ø=ô?ä�Y Ø<ô>ä�Y Ø<ô>ä�Y Ø;ô=ä�YÐ 2Ø@ôBäØÐ/ØBôDô �YÐ 3Ø?ôAäØÐ/ØAôCô �YÐ 8Ø1ô3ä�YÐ 5Ø.ô0ä�YÐ >Ø7ô9ä�YÐ 1Ø?ôAä�YÐ 2Ø=ô?ô �YÐ 1Ø/ô1ä�YÐ 1Ø0ô2ô �Y Ð/@ÔAÜ�Y ¨Ô?Ü�YÐ 3Ð5LÔMÜ�YÐ 3Ð5JÔKÜ�YÐ 8Ø3ô5ô �Y Ø2ô4ä�YÐ 1Ø=ô?ä�YÐ 6ØBôDäØÐ&ØGôIô ØÐ$ØFôHô �YÐ 3Ø)ô+äØ�=ð
AôCô
 ØÐ&ð
ô!ô
 ØÐ%ð
ô!ô ØÐ(ØIôKô ØÐ&ØHôJô Ø�;ð
:õ<r$   c                 ó<  — t        | dd«       t        | dd«       t        | dd«       t        | dd«       t        | d	d
«       t        | dd«       t        | dd«       t        | dd«       t        | dd«       t        | dd«       t        | dd«       t        | dd«       y )NÚheap_null_typerÄ   Úheap_bool_typerÆ   Úheap_time_type_nsrÍ   Úheap_timestamp_type_ns_timezonerÒ   Úheap_decimal128_typerÙ   Úheap_list_typerá   Úheap_large_list_typerã   Úheap_fixed_size_list_typerå   Úheap_map_typerç   Úheap_struct_typerë   Úheap_dict_typerï   Úheap_uuid_typerò   r«   r    s    r   Útest_types_heapr  ¢  sÕ   € Ü�IÐ/°ÔAÜ�IÐ/Ð1CÔDä�IÐ2Ø:ô<äØÐ4ØAôCô �IÐ5Ø.ô0ô �IÐ/Ø1ô3ä�IÐ5Ø<ô>ä�IÐ:ØAôCäØ�?ØGôIô ØÐ%ð
AôCô
 ØÐ#ØIôKô ØÐ#ð
:õ<r$   c                 ó8   — t        | dd«       t        | dd«       y )NÚ	int_fieldú$arrow::field("ints", arrow::int64())Úfloat_fieldz8arrow::field("floats", arrow::float32(), nullable=false)rŸ   r    s    r   Útest_fields_stackr  È  s"   € Ü�Y Ø;ô=äØ�=ØBõDr$   c                 ó   — t        | dd«       y )NÚheap_int_fieldr  r«   r    s    r   Útest_fields_heapr	  Ð  s   € Ü�IÐ/Ø:õ<r$   c                 ó–  — t        | dd«       t        | dd«       t        | dd«       t        | dd«       t        | d	d
«       t        | dd«       t        | dd«       t        | dd«       t        | dd«       t        | dd«       t        | dd«       t        | dd«       t        | dd«       t        | dd«       t        | dd«       t        | dd «       t        | d!d"«       t        | d#d$«       t        | d%d&«       t        | d'd(«       t        | d)d*«       t        | d+d,«       t        | d-d.«       t        | d/d0«       t        | d1d2«       t        | d3d4«       t        | d5d6«       t        | d7d8«       t        | d9d:«       t        | d;d<«       t        | d=d>«       t        | d?d@«       t        | dAdB«       t        | dCdD«       t        | dEdF«       t        | dGdH«       t        | dIdJ«       t        | dKdL«       t        | dMdN«       t        | dOdP«       t        | dQdR«       t        | dSdT«       t        | dUdV«       t        | dWdX«       t        | dYdZ«       t        | d[d\«       t        | d]d^«       t        | d_d`«       t        | dadb«       t        | dcdd«       t        | dedf«       t        | dgdh«       t        | didj«       t        | dkdl«       t        | dmdn«       t        | dodp«       t        | dqdr«       t        | dsdt«       t        | dudv«       t        | dwdx«       t        | dydz«       t        | d{d|«       t        | d}d~«       t        | dd€«       t        | d�t        j                  d‚«      «       t        | dƒd„«       t        | d…d†«       t        | d‡dˆ«       t        | d‰dŠ«       t        | d‹dŒ«       t        | d�dŽ«       t        | d�d�«       t        | d‘d’«       t        | d“d”«       t        | d•d–«       t        | d—t        j                  d˜«      «       t        | d™dš«       t        | d›t        j                  dœ«      «       t        | d�dž«       t        | dŸd «       y )¡NÚnull_scalarúarrow::NullScalarÚbool_scalarú"arrow::BooleanScalar of value trueÚbool_scalar_nullz"arrow::BooleanScalar of null valueÚint8_scalarzarrow::Int8Scalar of value -42Úuint8_scalarzarrow::UInt8Scalar of value 234Úint64_scalarz0arrow::Int64Scalar of value -9223372036854775808Úuint64_scalarz1arrow::UInt64Scalar of value 18446744073709551615Úhalf_float_scalarz,arrow::HalfFloatScalar of value -1.5 [48640]Úfloat_scalarz arrow::FloatScalar of value 1.25Údouble_scalarz arrow::DoubleScalar of value 2.5Útime_scalar_sz!arrow::Time32Scalar of value 100sÚtime_scalar_msz#arrow::Time32Scalar of value 1000msÚtime_scalar_usz$arrow::Time64Scalar of value 10000usÚtime_scalar_nsz%arrow::Time64Scalar of value 100000nsÚtime_scalar_nullz&arrow::Time64Scalar of null value [ns]Úduration_scalar_sz$arrow::DurationScalar of value -100sÚduration_scalar_msz&arrow::DurationScalar of value -1000msÚduration_scalar_usz'arrow::DurationScalar of value -10000usÚduration_scalar_nsz(arrow::DurationScalar of value -100000nsÚduration_scalar_nullz(arrow::DurationScalar of null value [ns]Útimestamp_scalar_sz4arrow::TimestampScalar of value 12345s [no timezone]Útimestamp_scalar_msz7arrow::TimestampScalar of value -123456ms [no timezone]Útimestamp_scalar_usz7arrow::TimestampScalar of value 1234567us [no timezone]Útimestamp_scalar_nsz9arrow::TimestampScalar of value -12345678ns [no timezone]Útimestamp_scalar_nullz6arrow::TimestampScalar of null value [ns, no timezone]Útimestamp_scalar_s_tzz7arrow::TimestampScalar of value 12345s ["Europe/Paris"]Útimestamp_scalar_ms_tzz:arrow::TimestampScalar of value -123456ms ["Europe/Paris"]Útimestamp_scalar_us_tzz:arrow::TimestampScalar of value 1234567us ["Europe/Paris"]Útimestamp_scalar_ns_tzz<arrow::TimestampScalar of value -12345678ns ["Europe/Paris"]Útimestamp_scalar_null_tzz9arrow::TimestampScalar of null value [ns, "Europe/Paris"]Úmonth_interval_scalarz'arrow::MonthIntervalScalar of value 23MÚmonth_interval_scalar_nullz(arrow::MonthIntervalScalar of null valueÚday_time_interval_scalarz/arrow::DayTimeIntervalScalar of value 23d-456msÚday_time_interval_scalar_nullz*arrow::DayTimeIntervalScalar of null valueÚmonth_day_nano_interval_scalarz6arrow::MonthDayNanoIntervalScalar of value 1M23d-456nsÚ#month_day_nano_interval_scalar_nullz/arrow::MonthDayNanoIntervalScalar of null valueÚdate32_scalarz-arrow::Date32Scalar of value 23d [1970-01-24]Údate32_scalar_nullz!arrow::Date32Scalar of null valueÚdate64_scalarz6arrow::Date64Scalar of value 3888000000ms [1970-02-15]Údate64_scalar_nullz!arrow::Date64Scalar of null valueÚdecimal128_scalar_nullz=arrow::Decimal128Scalar of null value [precision=10, scale=4]Údecimal128_scalar_pos_scale_posúAarrow::Decimal128Scalar of value 123.4567 [precision=10, scale=4]Údecimal128_scalar_pos_scale_negzBarrow::Decimal128Scalar of value -123.4567 [precision=10, scale=4]Údecimal128_scalar_neg_scale_poszFarrow::Decimal128Scalar of value 1.234567e+10 [precision=10, scale=-4]Údecimal128_scalar_neg_scale_negzGarrow::Decimal128Scalar of value -1.234567e+10 [precision=10, scale=-4]Údecimal256_scalar_nullz=arrow::Decimal256Scalar of null value [precision=50, scale=4]Údecimal256_scalar_pos_scale_posúharrow::Decimal256Scalar of value 123456789012345678901234567890123456789012.3456 [precision=50, scale=4]Údecimal256_scalar_pos_scale_negziarrow::Decimal256Scalar of value -123456789012345678901234567890123456789012.3456 [precision=50, scale=4]Údecimal256_scalar_neg_scale_poszmarrow::Decimal256Scalar of value 1.234567890123456789012345678901234567890123456e+49 [precision=50, scale=-4]Údecimal256_scalar_neg_scale_negznarrow::Decimal256Scalar of value -1.234567890123456789012345678901234567890123456e+49 [precision=50, scale=-4]Úbinary_scalar_nullz!arrow::BinaryScalar of null valueÚbinary_scalar_unallocatedz*arrow::BinaryScalar of value <unallocated>Úbinary_scalar_emptyz'arrow::BinaryScalar of size 0, value ""Úbinary_scalar_abcz*arrow::BinaryScalar of size 3, value "abc"Úbinary_scalar_bytesz3arrow::BinaryScalar of size 3, value "\000\037\377"Úlarge_binary_scalar_abcz/arrow::LargeBinaryScalar of size 3, value "abc"Ústring_scalar_nullz!arrow::StringScalar of null valueÚstring_scalar_unallocatedz*arrow::StringScalar of value <unallocated>Ústring_scalar_emptyz'arrow::StringScalar of size 0, value ""Ústring_scalar_heheu-   arrow::StringScalar of size 6, value "hÃ©hÃ©"Ústring_scalar_invalid_charsz:arrow::StringScalar of size 11, value "abc\x00def\\xffghi"Úlarge_string_scalar_heheu2   arrow::LargeStringScalar of size 6, value "hÃ©hÃ©"Úfixed_size_binary_scalarz3arrow::FixedSizeBinaryScalar of size 3, value "abc"Úfixed_size_binary_scalar_nullz=arrow::FixedSizeBinaryScalar of size 3, null with value "   "Údict_scalarz_^arrow::DictionaryScalar of index arrow::Int8Scalar of value 42, dictionary arrow::StringArray Údict_scalar_nullzjarrow::DictionaryScalar of type arrow::dictionary(arrow::int8(), arrow::utf8(), ordered=false), null valueÚlist_scalarznarrow::ListScalar of value arrow::Int32Array of length 3, offset 0, null count 0 = {[0] = 4, [1] = 5, [2] = 6}Úlist_scalar_nullzAarrow::ListScalar of type arrow::list(arrow::int32()), null valueÚlarge_list_scalarzsarrow::LargeListScalar of value arrow::Int32Array of length 3, offset 0, null count 0 = {[0] = 4, [1] = 5, [2] = 6}Úlarge_list_scalar_nullzLarrow::LargeListScalar of type arrow::large_list(arrow::int32()), null valueÚfixed_size_list_scalarzwarrow::FixedSizeListScalar of value arrow::Int32Array of length 3, offset 0, null count 0 = {[0] = 4, [1] = 5, [2] = 6}Úfixed_size_list_scalar_nullzXarrow::FixedSizeListScalar of type arrow::fixed_size_list(arrow::int32(), 3), null valueÚstruct_scalarz~arrow::StructScalar = {["ints"] = arrow::Int32Scalar of value 42, ["strs"] = arrow::StringScalar of size 9, value "some text"}Ústruct_scalar_nullzƒarrow::StructScalar of type arrow::struct_({arrow::field("ints", arrow::int32()), arrow::field("strs", arrow::utf8())}), null valueÚsparse_union_scalarzMarrow::SparseUnionScalar of type code 7, value arrow::Int32Scalar of value 43Úsparse_union_scalar_nullzU^arrow::SparseUnionScalar of type arrow::sparse_union\(.*\), type code 7, null value$Údense_union_scalarzLarrow::DenseUnionScalar of type code 7, value arrow::Int32Scalar of value 43Údense_union_scalar_nullzS^arrow::DenseUnionScalar of type arrow::dense_union\(.*\), type code 7, null value$Úextension_scalarzarrow::ExtensionScalar of type "extension<arrow.uuid>", value arrow::FixedSizeBinaryScalar of size 16, value "0123456789abcdef"Úextension_scalar_nullzBarrow::ExtensionScalar of type "extension<arrow.uuid>", null value©r“   rZ   Úcompiler    s    r   Útest_scalars_stackra  Õ  s  € Ü�Y Ð/BÔCÜ�Y Ø9ô;ä�YÐ 2Ø9ô;ä�Y Ø5ô7ä�Y Ø6ô8ä�Y ØGôIä�Y ØHôJä�YÐ 3ØCôEä�Y Ø7ô9ä�Y Ø7ô9ô �Y Ø8ô:ä�YÐ 0Ø:ô<ä�YÐ 0Ø;ô=ä�YÐ 0Ø<ô>ä�YÐ 2Ø=ô?ô �YÐ 3Ø;ô=ä�YÐ 4Ø=ô?ä�YÐ 4Ø>ô@ä�YÐ 4Ø?ôAä�YÐ 6Ø?ôAô ØÐ'Ø>ô@ô ØÐ(ØAôCô ØÐ(ØAôCô ØÐ(ØCôEô ØÐ*Ø@ôBô ØÐ*ØAôCô ØÐ+ØDôFô ØÐ+ØDôFô ØÐ+ØFôHô ØÐ-ØCôEô �YÐ 7Ø>ô@ä�YÐ <Ø?ôAä�YÐ :ØFôHä�YÐ ?ØAôCäØÐ3Ø@ôBô ØÐ8Ø9ô;ô �Y ØDôFä�YÐ 4Ø8ô:ä�Y ØMôOä�YÐ 4Ø8ô:ô ØÐ+ØGôIô ØÐ4ØKôMô ØÐ4ØLôNô ØÐ4ð
$ô&ô ØÐ4ð
$ô&ô
 ØÐ+ØGôIô ØÐ4ð
#ô%ô
 ØÐ4ð
#ô%ô
 ØÐ4ð
$ô&ô
 ØÐ4ð
$ô&ô ØÐ'Ø+ô-ô ØÐ.Ø4ô6ô ØÐ(Ø1ô3ô ØÐ&Ø4ô6ô ØÐ(Ø>ô@ô ØÐ,Ø9ô;ô ØÐ'Ø+ô-ô ØÐ.Ø4ô6ô ØÐ(Ø1ô3ô ØÐ'Ø7ô9ô ØÐ0ØEôGô ØÐ-Ø<ô>ô ØÐ-Ø=ô?ô ØÐ2ØGôIô Ø�=Ü
�
‰
ð/ó	1ô2ô ØÐ%ð
ôô Ø�=ð
JôLô ØÐ%ØKôMô ØÐ&ð
JôLô ØÐ+ð
ôô ØÐ+ð
JôLô ØÐ0ð
AôCô
 Ø�?ð
HôJô ØÐ'ð
=ô?ô ØÐ(ð
0ô2ô ØÐ-¬r¯z©zð(ó0)ô*ô ØÐ'ð
0ô2ô ØÐ,¬b¯j©jð(ó/)ô*ô
 ØÐ%ð
$ô&ô
 ØÐ*ØLõNr$   c                 ó    — t        | dd«       t        | dd«       t        | dd«       t        | dd«       t        | d	d
«       t        | dd«       y )NÚheap_null_scalarr  Úheap_bool_scalarr  Úheap_decimal128_scalarr7  Úheap_decimal256_scalarr=  Úheap_map_scalarz}arrow::MapScalar of type arrow::map(arrow::utf8(), arrow::int32(), keys_sorted=false), value length 2, offset 0, null count 0Úheap_map_scalar_nullzaarrow::MapScalar of type arrow::map(arrow::utf8(), arrow::int32(), keys_sorted=false), null valuer«   r    s    r   Útest_scalars_heapri  Ù  ss   € Ü�IÐ1Ð3FÔGÜ�IÐ1Ø8ô:äØÐ+ØKôMô ØÐ+ð
#ô%ô ØÐ$ð
FôHô ØÐ)ð
*õ,r$   c                 ó   — t        | dd«       y )NÚint32_array_datazuarrow::ArrayData of type arrow::int32(), length 4, offset 0, null count 1 = {[0] = -5, [1] = 6, [2] = null, [3] = 42}rŸ   r    s    r   Útest_array_datarl  ð  s   € ÜØÐ%ð
DõFr$   c                 ó8   — t        | dd«       t        | dd«       y )NÚint32_arrayúaarrow::Int32Array of length 4, offset 0, null count 1 = {[0] = -5, [1] = 6, [2] = null, [3] = 42}Ú
list_arrayúVarrow::ListArray of type arrow::list(arrow::int64()), length 3, offset 0, null count 1rŸ   r    s    r   Útest_arrays_stackrr  ÷  s(   € ÜØ�=ð
5ô7ô Ø�<ð
,õ.r$   c                 ó¤  — t        | dd«       t        | dd«       t        | dd«       t        | dd«       t        | d	d
«       t        | dd«       t        | dd«       t        | dd«       t        | dd«       t        | dd«       t        | dd«       t        | dd«       t        | dd«       t        | dd«       t        | dd«       t        | dd «       t        | d!d"«       t        | d#d$«       t        | d%d&«       t        | d'd(«       t        | d)d*«       t        | d+d,«       t        | d-d.«       t        | d/d0«       t        j                  d1kD  r5t        | d2d3«       t        | d4d5«       t        | d6d7«       t        | d8d9«       n4t        | d2d:«       t        | d4d;«       t        | d6d<«       t        | d8d=«       t        | d>d?«       t        | d@dA«       t        | dBdC«       t        | dDdE«       t        | dFdG«       t        | dHdI«       t        | dJdK«       t        | dLdM«       t        | dNdO«       t        | dPdQ«       t        | dRdS«       t        | dTdU«       y )VNÚheap_null_arrayz4arrow::NullArray of length 2, offset 0, null count 2Úheap_int32_arrayro  Úheap_int32_array_no_nullsz^arrow::Int32Array of length 4, offset 0, null count 0 = {[0] = -5, [1] = 6, [2] = 3, [3] = 42}Úheap_int32_array_sliced_1_9z˜arrow::Int32Array of length 9, offset 1, unknown null count = {[0] = 2, [1] = -3, [2] = 4, [3] = null, [4] = -5, [5] = 6, [6] = -7, [7] = 8, [8] = null}Úheap_int32_array_sliced_2_6zzarrow::Int32Array of length 6, offset 2, unknown null count = {[0] = -3, [1] = 4, [2] = null, [3] = -5, [4] = 6, [5] = -7}Úheap_int32_array_sliced_8_4zharrow::Int32Array of length 4, offset 8, unknown null count = {[0] = 8, [1] = null, [2] = -9, [3] = -10}Úheap_int32_array_sliced_emptyz;arrow::Int32Array of length 0, offset 6, unknown null countÚheap_double_arrayzQarrow::DoubleArray of length 2, offset 0, null count 1 = {[0] = -1.5, [1] = null}Úheap_float16_arrayzSarrow::HalfFloatArray of length 2, offset 0, null count 0 = {[0] = 0.0, [1] = -1.5}Úheap_bool_arraya!  arrow::BooleanArray of length 18, offset 0, null count 6 = {[0] = false, [1] = false, [2] = true, [3] = true, [4] = null, [5] = null, [6] = false, [7] = false, [8] = true, [9] = true, [10] = null, [11] = null, [12] = false, [13] = false, [14] = true, [15] = true, [16] = null, [17] = null}Úheap_bool_array_sliced_1_9z¯arrow::BooleanArray of length 9, offset 1, unknown null count = {[0] = false, [1] = true, [2] = true, [3] = null, [4] = null, [5] = false, [6] = false, [7] = true, [8] = true}Úheap_bool_array_sliced_2_6zŠarrow::BooleanArray of length 6, offset 2, unknown null count = {[0] = true, [1] = true, [2] = null, [3] = null, [4] = false, [5] = false}Úheap_bool_array_sliced_emptyz=arrow::BooleanArray of length 0, offset 6, unknown null countÚheap_date32_arrayzËarrow::Date32Array of length 6, offset 0, null count 1 = {[0] = 0d [1970-01-01], [1] = null, [2] = 18336d [2020-03-15], [3] = -9004d [1945-05-08], [4] = -719162d [0001-01-01], [5] = -719163d [year <= 0]}Úheap_date64_arrayzôarrow::Date64Array of length 5, offset 0, null count 0 = {[0] = 1584230400000ms [2020-03-15], [1] = -777945600000ms [1945-05-08], [2] = -62135596800000ms [0001-01-01], [3] = -62135683200000ms [year <= 0], [4] = 123ms [non-multiple of 86400000]}Úheap_time32_array_sz‹arrow::Time32Array of type arrow::time32(arrow::TimeUnit::SECOND), length 3, offset 0, null count 1 = {[0] = null, [1] = -123s, [2] = 456s}Úheap_time32_array_mszŒarrow::Time32Array of type arrow::time32(arrow::TimeUnit::MILLI), length 3, offset 0, null count 1 = {[0] = null, [1] = -123ms, [2] = 456ms}Úheap_time64_array_uszŒarrow::Time64Array of type arrow::time64(arrow::TimeUnit::MICRO), length 3, offset 0, null count 1 = {[0] = null, [1] = -123us, [2] = 456us}Úheap_time64_array_nsz‹arrow::Time64Array of type arrow::time64(arrow::TimeUnit::NANO), length 3, offset 0, null count 1 = {[0] = null, [1] = -123ns, [2] = 456ns}Úheap_month_interval_arrayzearrow::MonthIntervalArray of length 3, offset 0, null count 1 = {[0] = 123M, [1] = -456M, [2] = null}Úheap_day_time_interval_arrayz^arrow::DayTimeIntervalArray of length 2, offset 0, null count 1 = {[0] = 1d-600ms, [1] = null}Ú"heap_month_day_nano_interval_arrayzharrow::MonthDayNanoIntervalArray of length 2, offset 0, null count 1 = {[0] = 1M-600d5000ns, [1] = null}Úheap_duration_array_sz“arrow::DurationArray of type arrow::duration(arrow::TimeUnit::SECOND), length 2, offset 0, null count 1 = {[0] = null, [1] = -1234567890123456789s}Úheap_duration_array_nsz’arrow::DurationArray of type arrow::duration(arrow::TimeUnit::NANO), length 2, offset 0, null count 1 = {[0] = null, [1] = -1234567890123456789ns}l        Úheap_timestamp_array_szìarrow::TimestampArray of type arrow::timestamp(arrow::TimeUnit::SECOND), length 4, offset 0, null count 1 = {[0] = null, [1] = 0s [1970-01-01 00:00:00], [2] = -2203932304s [1900-02-28 12:34:56], [3] = 63730281600s [3989-07-14 00:00:00]}Úheap_timestamp_array_mszÛarrow::TimestampArray of type arrow::timestamp(arrow::TimeUnit::MILLI), length 3, offset 0, null count 1 = {[0] = null, [1] = -2203932303877ms [1900-02-28 12:34:56.123], [2] = 63730281600789ms [3989-07-14 00:00:00.789]}Úheap_timestamp_array_uszçarrow::TimestampArray of type arrow::timestamp(arrow::TimeUnit::MICRO), length 3, offset 0, null count 1 = {[0] = null, [1] = -2203932303345679us [1900-02-28 12:34:56.654321], [2] = 63730281600456789us [3989-07-14 00:00:00.456789]}Úheap_timestamp_array_nsz´arrow::TimestampArray of type arrow::timestamp(arrow::TimeUnit::NANO), length 2, offset 0, null count 1 = {[0] = null, [1] = -2203932303012345679ns [1900-02-28 12:34:56.987654321]}zòarrow::TimestampArray of type arrow::timestamp(arrow::TimeUnit::SECOND), length 4, offset 0, null count 1 = {[0] = null, [1] = 0s [1970-01-01 00:00:00], [2] = -2203932304s [too large to represent], [3] = 63730281600s [too large to represent]}zÙarrow::TimestampArray of type arrow::timestamp(arrow::TimeUnit::MILLI), length 3, offset 0, null count 1 = {[0] = null, [1] = -2203932303877ms [too large to represent], [2] = 63730281600789ms [too large to represent]}zßarrow::TimestampArray of type arrow::timestamp(arrow::TimeUnit::MICRO), length 3, offset 0, null count 1 = {[0] = null, [1] = -2203932303345679us [too large to represent], [2] = 63730281600456789us [too large to represent]}z­arrow::TimestampArray of type arrow::timestamp(arrow::TimeUnit::NANO), length 2, offset 0, null count 1 = {[0] = null, [1] = -2203932303012345679ns [too large to represent]}Úheap_decimal128_arrayz­arrow::Decimal128Array of type arrow::decimal128(30, 6), length 3, offset 0, null count 1 = {[0] = null, [1] = -1234567890123456789.012345, [2] = 1234567890123456789.012345}Úheap_decimal256_arrayzŸarrow::Decimal256Array of type arrow::decimal256(50, 6), length 2, offset 0, null count 1 = {[0] = null, [1] = -123456789012345678901234567890123456789.012345}Úheap_decimal128_array_slicedz…arrow::Decimal128Array of type arrow::decimal128(30, 6), length 1, offset 1, unknown null count = {[0] = -1234567890123456789.012345}Úheap_fixed_size_binary_arrayz“arrow::FixedSizeBinaryArray of type arrow::fixed_size_binary(3), length 3, offset 0, null count 1 = {[0] = null, [1] = "abc", [2] = "\000\037\377"}Ú'heap_fixed_size_binary_array_zero_widthzzarrow::FixedSizeBinaryArray of type arrow::fixed_size_binary(0), length 2, offset 0, null count 1 = {[0] = null, [1] = ""}Ú#heap_fixed_size_binary_array_slicedzwarrow::FixedSizeBinaryArray of type arrow::fixed_size_binary(3), length 1, offset 1, unknown null count = {[0] = "abc"}Úheap_binary_arrayziarrow::BinaryArray of length 3, offset 0, null count 1 = {[0] = null, [1] = "abcd", [2] = "\000\037\377"}Úheap_large_binary_arrayznarrow::LargeBinaryArray of length 3, offset 0, null count 1 = {[0] = null, [1] = "abcd", [2] = "\000\037\377"}Úheap_string_arrayuq   arrow::StringArray of length 3, offset 0, null count 1 = {[0] = null, [1] = "hÃ©hÃ©", [2] = "invalid \\xff char"}Úheap_large_string_arrayuv   arrow::LargeStringArray of length 3, offset 0, null count 1 = {[0] = null, [1] = "hÃ©hÃ©", [2] = "invalid \\xff char"}Úheap_binary_array_slicedzMarrow::BinaryArray of length 1, offset 1, unknown null count = {[0] = "abcd"}Úheap_list_arrayrq  )r—   rA   Úmaxsizer    s    r   Útest_arrays_heapr�    s¾  € äØÐ$Ø>ô@ô
 ØÐ%ð
4ô6ô ØÐ.ð
1ô3ô ØÐ0ð
*ô,ô
 ØÐ0ð
GôIô ØÐ0ð
5ô7ô ØÐ2ØEôGô ØÐ&ð
#ô%ô ØÐ'ð
"ô$ô ØÐ$ð
?ôAô ØÐ/ð
=ô?ô
 ØÐ/ð
ôô
 ØÐ1ØGôIô
 ØÐ&ð
'ô)ô ØÐ&ð
3ô5ô ØÐ(ð
0ô2ô
 ØÐ)ð
2ô4ô
 ØÐ)ð
2ô4ô
 ØÐ)ð
2ô4ô
 ØÐ.ð
0ô2ô ØÐ1ð
'ô)ô ØÐ7ð
<ô>ô ØÐ*ð
4ô6ô
 ØÐ+ð
5ô7ô
 ‡{�{�UÒÜØÐ/ð9ô	;ô 	ØÐ0ðAô	Cô 	ØÐ0ðGô	Iô 	ØÐ0ðMõ	Oô 	ØÐ/ð<ô	>ô 	ØÐ0ð@ô	Bô 	ØÐ0ðCô	Eô 	ØÐ0ðFô	Hô ØÐ*ð
-ô/ô ØÐ*ð
BôDô ØÐ1ð
.ô0ô ØÐ1ð
;ô=ô
 ØÐ<ð
FôHô ØÐ8ð
CôEô ØÐ&ð
<ô>ô ØÐ,ð
<ô>ô ØÐ&ð
DôFô ØÐ,ð
DôFô ØÐ-ð
ôô ØÐ$ð
,õ.r$   c                 óR   — t        | dd«       t        | dd«       t        | dd«       y )NÚschema_emptyzarrow::Schema with 0 fieldsÚschema_non_emptyzRarrow::Schema with 2 fields = {["ints"] = arrow::int8(), ["strs"] = arrow::utf8()}Úschema_with_metadatazgarrow::Schema with 2 fields and 2 metadata items = {["ints"] = arrow::int8(), ["strs"] = arrow::utf8()}r«   r    s    r   Útest_schemar¢  ï  s;   € Ü�I˜~Ø1ô3äØÐ%ð
%ô'ô ØÐ)ð
@õBr$   c                 ó   — t        | dd«       y )NÚchunked_arrayz£arrow::ChunkedArray of type arrow::int32(), length 5, null count 1 with 2 chunks = {[0] = length 2, offset 0, null count 0, [1] = length 3, offset 0, null count 1}rŸ   r    s    r   Útest_chunked_arrayr¥  ü  s   € ÜØ�?ð
3õ5r$   c                 óv   — d}d}|› d|› �}t        | d|«       t        | d|«       |› d|› �}t        | d|«       y )Nz)arrow::RecordBatch with 2 columns, 3 rowszò{["ints"] = arrow::ArrayData of type arrow::int32(), length 3, offset 0, null count 0 = {[0] = 1, [1] = 2, [2] = 3}, ["strs"] = arrow::ArrayData of type arrow::utf8(), length 3, offset 0, null count 1 = {[0] = "abc", [1] = null, [2] = "def"}}z = Úbatchzbatch.get()z, 3 metadata items = Úbatch_with_metadatar«   )r†   Úexpected_prefixÚexpected_suffixr’   s       r   Útest_record_batchr«    s_   € ØA€Oð	2ð ð "Ð" # oÐ%6Ð7€Hô �I˜w¨Ô1Ü�I˜}¨hÔ7à!Ð"Ð"7¸Ð7HÐI€HÜ�IÐ4°hÕ?r$   c                 ó<   — d}t        | d|«       t        | d|«       y )Na­  arrow::Table with 2 columns, 5 rows = {["ints"] = arrow::ChunkedArray of type arrow::int32(), length 5, null count 0 with 2 chunks = {[0] = length 3, offset 0, null count 0, [1] = length 2, offset 0, null count 0}, ["strs"] = arrow::ChunkedArray of type arrow::utf8(), length 5, null count 1 with 3 chunks = {[0] = length 2, offset 0, null count 1, [1] = length 1, offset 0, null count 0, [2] = length 2, offset 0, null count 0}}Útableztable.get()r«   )r†   Úexpected_tables     r   Ú
test_tabler¯    s&   € ð		3ð ô �I˜w¨Ô7Ü�I˜}¨nÕ=r$   c                 ó8  — t        | dd«       t        | dd«       t        | dt        j                  d«      «       t        | dt        j                  d«      «       t        | d	t        j                  d
«      «       t        | dt        j                  d«      «       y )NÚempty_datumzarrow::Datum (empty)Úscalar_datumz8arrow::Datum of value arrow::BooleanScalar of null valueÚarray_datumz0^arrow::Datum of value arrow::ArrayData of type Úchunked_array_datumz3^arrow::Datum of value arrow::ChunkedArray of type Úbatch_datumzA^arrow::Datum of value arrow::RecordBatch with 2 columns, 3 rows Útable_datumz;^arrow::Datum of value arrow::Table with 2 columns, 5 rows r_  r    s    r   Ú
test_datumr·  *  s›   € Ü�Y Ð/EÔFÜØ�>ØBôDô Ø�=Ü
�
‰
ÐFÓGôIô ØÐ(Ü
�
‰
ÐIÓJôLô Ø�=Ü
�
‰
ð .ó 	/ô0ô Ø�=Ü
�
‰
ð .ó 	/õ0r$   )6Ú	functoolsr   r	   rZ   r    r   rA   r&   Úpyarrowr}   Úmarkr   Ú
pytestmarkr"   ÚdirnameÚabspathÚ__file__Úherer
   r‚   rH   r,   r   r   r   r#   r)   r-   r/   Úfixturer†   rˆ   rŒ   r“   r—   r¡   r¨   r¬   r¿   rÁ   ró   r  r  r	  ra  ri  rl  rr  r�  r¢  r¥  r«  r¯  r·  r(   r$   r   ú<module>rÁ     s�  ðõ$  Û 	Û 	Û Û Û 
ã ã ð �[‰[�_‰_€
à	‡w�w‡��r—w‘w—‘ xÓ0Ó1€ð �j‰j�n‰nÐ/Ó0ò >Ø�g‰g�l‰l˜4Ð!<Ó=ð ð �fˆo€òñ ƒñ ó ð ñ ƒñó ðò/ò
,÷
[ñ [ð| €‡��iÔ ñó !ðð €‡��iÔ ñó !ðò0,ò
ò
ò*ò:ò&	Gò?ò9ò:OòY<òx#<òLDò<ò
ANòH,ò.Fò.òj.òZ
Bò5ò@ò(>ó$0r$   