Ë
    _Qêjñù ã                   ó„  — d dl mZ 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mZ d dlmZ d„ Zd„ Zd„ Zd„ Ze	j*                  j                  d	„ «       Zd
„ Zd„ Ze	j*                  j                  d„ «       Zd„ Zd„ Zd„ Ze	j*                  j;                  dg d¢ ej<                  «       fg d¢ ej>                  «       fg d¢ ej@                  «       fg d¢ ejB                  «       fg  ejD                   ejF                  «       «      fddgdgg ejD                   ej>                  «       «      fdgdddgg ejD                   ejB                  «       «      fg d¢ ejH                   ejJ                  d ej>                  «       «       ejJ                  d ejB                  «       «      g«      fg«      d„ «       Z&e	j*                  jN                  d„ «       Z(e	j*                  jN                  d„ «       Z)e	j*                  jN                  d„ «       Z*e	j*                  jN                  d „ «       Z+e	j*                  jN                  d!„ «       Z,e	j*                  jN                  e	j*                  jZ                  d"„ «       «       Z.d#„ Z/d$„ Z0d%„ Z1d&„ Z2d'„ Z3 G d(„ d)«      Z4 G d*„ d+«      Z5e	j*                  j;                  d,e4e5g«      d-„ «       Z6d.„ Z7e	j*                  j;                  d,e4e5g«      d/„ «       Z8d0„ Z9d1„ Z:d2„ Z;d3„ Z<d4„ Z=d5„ Z>d6„ Z?d7„ Z@d8„ ZAd9„ ZBd:„ ZCd;„ ZDd<„ ZEd=„ ZFd>„ ZGd?„ ZHd@„ ZIdA„ ZJdB„ ZKdC„ ZLdD„ ZMdE„ ZNdF„ ZOdG„ ZPdH„ ZQdI„ ZRe	j*                  j                  e	j*                  j;                  dJg dK¢«      dL„ «       «       ZSe	j*                  j                  e	j*                  j;                  dMej¨                  ejª                  g«      dN„ «       «       ZVe	j*                  j                  dO„ «       ZWe	j*                  j                  dP„ «       ZXe	j*                  j                  dQ„ «       ZYe	j*                  j                  dR„ «       ZZdS„ Z[e	j*                  j                  e	j*                  j;                  dJg dK¢«      dT„ «       «       Z\dU„ Z]e	j*                  j;                  dVej¼                  ejª                  j¾                  ejÀ                  g«      e	j*                  j;                  dW ejÂ                  «        ejÄ                  «        ejÆ                  «        ej>                  «        ejF                  «        ejÈ                  «        ejÊ                  «        ejÌ                  «       g«      dX„ «       «       Zge	j*                  j;                  dVej¼                  ejª                  j¾                  ejÀ                  g«      dY„ «       ZhdZ„ Zid[„ Zje	j*                  jN                  d\„ «       Zke	j*                  j                  d]„ «       Zld^„ Zmd_„ Znd`„ Zoe	j*                  jN                  da„ «       Zpe	j*                  j;                  dMej¨                  ejª                  g«      db„ «       Zqdc„ Zrdd„ Zsde„ Ztdf„ Zudg„ Zvdh„ Zwdi„ Zxdj„ Zye	j*                  j;                  dMej¨                  ejª                  g«      dk„ «       Zze	j*                  j;                  dMej¨                  ejª                  g«      dl„ «       Z{e	j*                  j;                  dMej¨                  ejª                  g«      dm„ «       Z|dn„ Z}e	j*                  j;                  dMej¨                  ejª                  g«      do„ «       Z~e	j*                  j;                  dMej¨                  ejª                  g«      dp„ «       Zdq„ Z€dr„ Z�e	j*                  j;                  dMej¨                  ejª                  g«      ds„ «       Z‚e	j*                  j;                  dMej¨                  ejª                  g«      dt„ «       Zƒdu„ Z„dv„ Z…dw„ Z†dx„ Z‡dy„ Zˆdz„ Z‰d{„ ZŠd|„ Z‹e	j*                  jN                  d}„ «       ZŒd~„ Z�d„ ZŽd€„ Z�d�„ Z�d‚„ Z‘dƒ„ Z’d„„ Z“e	j*                  j;                  dMej¨                  ejª                  g«      d…„ «       Z”e	j*                  j;                  dMej¨                  ejª                  g«      d†„ «       Z•e	j*                  j;                  dMej¨                  ejª                  g«      d‡„ «       Z–e	j*                  j                  dˆ„ «       Z—e	j*                  j;                  d‰g dŠ¢g d‹¢fe˜fg dŠ¢g d‹¢fe�j2                  fdŒgd�dŽggd�gd�dggfej¼                  fg«      d‘„ «       Zše	j*                  j;                  dMej¨                  ejª                  g«      d’„ «       Z›e	j*                  j;                  d‰g dŠ¢g d‹¢fe�j2                  fdŒgd�dŽggd�gd�dggfej¼                  fg«      d“„ «       Zœe	j*                  j;                  d‰g dŠ¢g d‹¢fe˜fg dŠ¢g d‹¢fe�j2                  fdŒgd�dŽggd�gd�dggfej¼                  fg«      d”„ «       Z�e	j*                  j;                  dMej¨                  ejª                  g«      d•„ «       Zže	j*                  jN                  d–„ «       ZŸe	j*                  jN                  d—„ «       Z d˜„ Z¡e	j*                  jN                  d™„ «       Z¢dš„ Z£d›„ Z¤dœ„ Z¥d�„ Z¦dž„ Z§dŸ„ Z¨d „ Z©d¡„ Zªd¢„ Z«d£„ Z¬e	j*                  �jZ                  d¤„ «       Z®e	j*                  �jZ                  d¥„ «       Z¯e	j*                  �jZ                  d¦„ «       Z°e	j*                  �jZ                  d§„ «       Z±d¨„ Z²e	j*                  �jZ                  d©„ «       Z³e	j*                  �jZ                  dª„ «       Z´e	j*                  �jZ                  d«„ «       Zµe	j*                  �jZ                  e	j*                  j;                  dMej¨                  ejª                  g«      d¬„ «       «       Z¶e	j*                  �jZ                  d­„ «       Z·e	j*                  �jZ                  d®„ «       Z¸e	j*                  �jr                  d¯„ «       Zºe	j*                  �jr                  d°„ «       Z»e	j*                  �jr                  d±„ «       Z¼e	j*                  �jr                  d²„ «       Z½e	j*                  �jr                  d³„ «       Z¾e	j*                  �jr                  d´„ «       Z¿e	j*                  �jr                  dµ„ «       ZÀe	j*                  j;                  dMej¨                  ejª                  g«      d¶„ «       ZÁe	j*                  j;                  dMej¨                  ejª                  g«      d·„ «       ZÂd¸„ ZÃe	j*                  j                  e	j*                  j;                  d¹ejÀ                  e�jˆ                  g«      dº„ «       «       ZÅe	j*                  j                  e	j*                  j;                  d¹ejÀ                  e�jˆ                  g«      d»„ «       «       ZÆe	j*                  �jZ                  d¼„ «       ZÇe	�j�                  d½„ «       ZÉe	�j�                  d¾„ «       ZÊe	�j�                  d¿„ «       ZËe	�j�                  dÀ„ «       ZÌe	�j�                  dÁ„ «       ZÍe	�j�                  dÂ„ «       ZÎe	�j�                  dÃ„ «       ZÏe	�j�                  dÄ„ «       ZÐe	�j�                  dÅ„ «       ZÑe	�j�                  dÆ„ «       ZÒe	�j�                  dÇ„ «       ZÓe	�j�                  dÈ„ «       ZÔdÉ„ ZÕdÊ„ ZÖdË„ Z×dÌ„ ZØdÍ„ ZÙy# e$ r dZY �Œ$w xY w)Îé    )ÚOrderedDict)ÚIterableN)Úfrom_dataframec                  ó~  — t        j                  g t        j                  «       ¬«      } | j                  t        j                  «       k(  sJ ‚| j	                  «       g k(  sJ ‚| j                  «        t        j                  g d¬«      }|j                  t        j                  «       k(  sJ ‚t        j                  t        «      5  t        j                  g «       d d d «       t        j                  g d¢g d¢g d¢g«      } t        | j                  t        «      sJ ‚t        d„ | j                  D «       «      sJ ‚t        d„ | j                  «       D «       «      sJ ‚t        | j                  «      dk(  sJ ‚| j!                  «       t#        d	„ | j                  «       D «       «      k(  sJ ‚t%        j&                  | «      t(        j+                  | «      | j!                  «       z   k\  sJ ‚| j,                  d
k(  sJ ‚| j                  «        t/        j0                  | «      } |«       €J ‚~  |«       �J ‚y # 1 sw Y   �ŒYxY w)N©ÚtypeÚbinary©é   é   é   ©é   é   é   ©é   é   é	   c              3   ód   K  — | ](  }t        |t        j                  j                  «      –— Œ* y ­w©N©Ú
isinstanceÚpaÚlibÚ
Int64Array©Ú.0Úcs     ú]/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/pyarrow/tests/test_table.pyú	<genexpr>z,test_chunked_array_basics.<locals>.<genexpr>3   s!   è ø€ ÒE°AŒz˜!œRŸV™V×.Ñ.×/ÑEùó   ‚.0c              3   ód   K  — | ](  }t        |t        j                  j                  «      –— Œ* y ­wr   r   r   s     r    r!   z,test_chunked_array_basics.<locals>.<genexpr>4   s!   è ø€ ÒK°AŒz˜!œRŸV™V×.Ñ.×/ÑKùr"   r   c              3   ó<   K  — | ]  }|j                  «       –— Œ y ­wr   )Úget_total_buffer_sizer   s     r    r!   z,test_chunked_array_basics.<locals>.<genexpr>6   s#   è ø€ ò /KØ34ð 01×/FÑ/F×/Hñ /Kùs   ‚éH   )r   Úchunked_arrayÚstringr   Ú	to_pylistÚvalidater	   ÚpytestÚraisesÚ
ValueErrorr   ÚchunksÚlistÚallÚ
iterchunksÚlenr%   ÚsumÚsysÚ	getsizeofÚobjectÚ
__sizeof__ÚnbytesÚweakrefÚref)ÚdataÚdata2Úwrs      r    Útest_chunked_array_basicsr>   !   sç  € Ü×Ñ˜B¤R§Y¡Y£[Ô1€DØ�9‰9œŸ	™	›Ò#Ð#Ð#Ø�>‰>Ó˜rÒ!Ð!Ð!Ø‡M�M„Oä×Ñ˜R hÔ/€EØ�:‰:œŸ™›Ò$Ð$Ð$ä	�‰”zÓ	"ñ Ü
×Ñ˜Ô÷ô ×ÑÚÚÚðó €Dô
 �d—k‘k¤4Ô(Ð(Ð(ÜÑE¸¿¹ÔEÔEÐEÐEÜÑK¸¿¹Ó9JÔKÔKÐKÐKÜˆt�{‰{Ó˜qÒ Ð Ð Ø×%Ñ%Ó'¬3ñ /KØ8<¿¹Ó8Iô/Kó ,Kò Kð Kð Kä�=‰=˜Ó¤&×"3Ñ"3Øó#Ø×*Ñ*Ó,ñ#-ò -ð -ð -à�;‰;˜)Ò#Ð#Ð#Ø‡M�M„Oä	�‰�TÓ	€BÙ‹4ÐÐÐØÙ‹4ˆ<Ð‰<÷-ñ ús   ÃH2È2H<c                  ó¦  — t        j                  g d¢g d¢g d¢g«      } | j                  t        j                  «       k(  sJ ‚t	        | «      dk(  sJ ‚t	        | j
                  «      dk(  sJ ‚t        j                  g d¢g d¢g d¢g«      } | j                  t        j                  «       k(  sJ ‚t	        | «      dk(  sJ ‚t	        | j
                  «      dk(  sJ ‚t        j                  g d¢g d¢g d¢gt        j                  «       ¬«      } | j                  t        j                  «       k(  sJ ‚t	        | «      dk(  sJ ‚t	        | j
                  «      dk(  sJ ‚t        j                  g d¢g g«      } | j                  t        j                  «       k(  sJ ‚t	        | «      dk(  sJ ‚t	        | j
                  «      dk(  sJ ‚d	}t        j                  t        |¬
«      5  t        j                  g «      sJ ‚	 d d d «       t        j                  g t        j                  «       ¬«      j                  t        j                  «       k(  sJ ‚t        j                  g g«      j                  t        j                  «       k(  sJ ‚t        j                  g gt        j                  «       ¬«      j                  t        j                  «       k(  sJ ‚y # 1 sw Y   ŒÖxY w)Nr
   r   r   r   r   ©ç      @ç      @g      @r   r   z@cannot construct ChunkedArray from empty vector and omitted type©Úmatch)r   r'   r   Úint64r2   r.   Úint8r+   r,   r-   r(   Únull)ÚarrÚmsgs     r    Útest_chunked_array_constructionrJ   C   sC  € Ü
×
Ñ
ÚÚÚðó €Cð
 �8‰8”r—x‘x“zÒ!Ð!Ð!Üˆs‹8�qŠ=Ðˆ=Üˆs�z‰z‹?˜aÒÐÐä
×
Ñ
ÚÚÚðó €Cð
 �8‰8”r—x‘x“zÒ!Ð!Ð!Üˆs‹8�qŠ=Ðˆ=Üˆs�z‰z‹?˜aÒÐÐä
×
Ñ
ÚÚÚðô �G‰G‹Iô	€Cð
 �8‰8”r—w‘w“yÒ Ð Ð Üˆs‹8�qŠ=Ðˆ=Üˆs�z‰z‹?˜aÒÐÐä
×
Ñ
ÚØ
ðó €Cð �8‰8”r—x‘x“zÒ!Ð!Ð!Üˆs‹8�qŠ=Ðˆ=Üˆs�z‰z‹?˜aÒÐÐà
L€CÜ	�‰”z¨Ô	-ñ $Ü×Ñ Ô#Ð#Ñ#÷$ô ×Ñ˜B¤R§Y¡Y£[Ô1×6Ñ6¼"¿)¹)»+ÒEÐEÐEÜ×Ñ˜R˜DÓ!×&Ñ&¬"¯'©'«)Ò3Ð3Ð3Ü×Ñ˜R˜D¤r§y¡y£{Ô3×8Ñ8¼B¿I¹I»KÒGÐGÑG÷$ð $ús   ÇKËKc                  óÔ   — t        j                  ddg«      } t        j                  | | g«      }|j                  «       }t        j                  g d¢«      }|j	                  |«      sJ ‚y )Nr   r   ©r   r   r   r   )r   Úarrayr'   Úcombine_chunksÚequals)rH   Úchunked_arrÚresÚexpecteds       r    Útest_combine_chunksrS   p   sV   € ä
�(‰(�A�q�6Ó
€CÜ×"Ñ" C¨ :Ó.€KØ
×
$Ñ
$Ó
&€CÜ�x‰xšÓ%€HØ�:‰:�hÔÐÑó    c                  óà  — t        j                  g t        j                  «       ¬«      j                  «       t        j                  g t        j                  «       ¬«      k(  sJ ‚t        j                  t        j                  g t        j                  «       ¬«      gt        j                  «       ¬«      j                  «       t        j                  g t        j                  «       ¬«      k(  sJ ‚y )Nr   )r   r'   Úbool_rN   rM   © rT   r    Ú4test_chunked_array_can_combine_chunks_with_no_chunksrX   y   s    € ä×Ñ˜B¤R§X¡X£ZÔ0×?Ñ?ÓAÄRÇXÁXØ
”—‘“ôFò ð ð ô ×ÑÜ	�‰�"œ2Ÿ8™8›:Ô	&Ð'¬b¯h©h«jôç�nÓœ"Ÿ(™( 2¬B¯H©H«JÔ7ò8ð 8ñ 8rT   c                  ó  — t        j                  g d¢g d¢g g«      } t        j                  | «      }| j	                  «       }t        |t        j                  «      sJ ‚|j                  dk(  sJ ‚t        j                  ||«      sJ ‚y )Nr
   r   )r   )	r   r'   ÚnpÚasarrayÚto_numpyr   ÚndarrayÚshapeÚarray_equal)r;   Úarr1Úarr2s      r    Útest_chunked_array_to_numpyrb   ƒ   su   € ä×ÑÚÚØ
ðó €Dô
 �:‰:�dÓ€DØ�=‰=‹?€Dä�dœBŸJ™JÔ'Ð'Ð'Ø�:‰:˜ÒÐÐÜ�>‰>˜$ Ô%Ð%Ñ%rT   c                  óÈ  — d} t        j                  t        | ¬«      5  t        j                  t        j
                  g d¢«      t        j
                  g d¢«      g«       d d d «       t        j                  t        | ¬«      5  t        j                  t        j
                  g d¢«      gt        j                  «       ¬«       d d d «       y # 1 sw Y   ŒmxY w# 1 sw Y   y xY w)Nzchunks must all be same typerC   r
   ©ç      ð?ç       @ç      @r   )r+   r,   Ú	TypeErrorr   r'   rM   Úfloat64)rI   s    r    Ú!test_chunked_array_mismatch_typesrj   ’   s¦   € Ø
(€CÜ	�‰”y¨Ô	,ñ ä
×ÑÜ�H‰H’YÓÜ�H‰H’\Ó"ð
ô 	÷ô 
�‰”y¨Ô	,ñ Cä
×Ñœ"Ÿ(™(¢9Ó-Ð.´R·Z±Z³\ÕB÷Cð C÷ð ú÷Cð Cús   žACÂA CÃCÃC!c                  óª   — t        j                  g d¢«      t        j                  g d¢«      g} t        j                  | «      } t        | «      dk(  sJ ‚y )Nr
   r   z<[
  [
    1,
    2,
    3
  ],
  [
    4,
    5,
    6
  ]
])r   rM   r'   Ústr©r;   s    r    Útest_chunked_array_strrn       sN   € ä
�‰’ÓÜ
�‰’Óð€Dô ×Ñ˜DÓ!€DÜˆt‹9ð ò ð ñ rT   c                  ó  — t        j                  g d¢«      t        j                  g d¢«      g} t        j                  | «      } | d   j                  «       dk(  sJ ‚| d   j                  «       dk(  sJ ‚| d   j                  «       dk(  sJ ‚t	        j
                  t        «      5  | d    d d d «       t	        j
                  t        «      5  | d    d d d «       | t        j                  d«         j                  «       dk(  sJ ‚| dd	 }|j                  «       d
d	gk(  sJ ‚| d	d }|j                  «       dgk(  sJ ‚| dd }|j                  | j                  k(  sJ ‚|j                  «       g k(  sJ ‚y # 1 sw Y   ŒÈxY w# 1 sw Y   Œ­xY w)Nr
   r   r   r   éÿÿÿÿr   iúÿÿÿiùÿÿÿr   r   r   éc   )r   rM   r'   Úas_pyr+   r,   Ú
IndexErrorrZ   Úint32r)   r   )r;   Ú
data_slices     r    Útest_chunked_array_getitemrv   ´   sw  € ô 	�‰’ÓÜ
�‰’Óð€Dô ×Ñ˜DÓ!€DØ�‰7�=‰=‹?˜aÒÐÐØ�‰8�>‰>Ó˜qÒ Ð Ð Ø�‰8�>‰>Ó˜qÒ Ð Ð Ü	�‰”zÓ	"ñ ØˆQŠ÷ä	�‰”zÓ	"ñ ØˆRŠ÷ð ”—‘˜“Ñ×"Ñ"Ó$¨Ò)Ð)Ð)à�a˜�€JØ×ÑÓ! a¨ VÒ+Ð+Ð+à�a˜�€JØ×ÑÓ! a SÒ(Ð(Ð(à�b˜�€JØ�?‰?˜dŸi™iÒ'Ð'Ð'Ø×ÑÓ! RÒ'Ð'Ñ'÷ð ú÷ð ús   Â%E2ÃE>Å2E;Å>Fc                  óò  — t        j                  g d¢«      t        j                  g d¢«      g} t        j                  | «      } | j                  t	        | «      «      }|j
                  | j
                  k(  sJ ‚|j                  «       g k(  sJ ‚| j                  t	        | «      dz   «      }|j
                  | j
                  k(  sJ ‚|j                  «       g k(  sJ ‚t         j                  j                  | gdg¬«      }|j                  t	        |«      «      }t	        |«      dk(  sJ ‚t         j                  j                  | gdg¬«      }|j                  t	        |«      dz   «      }t	        |«      dk(  sJ ‚y )Nr
   r   é
   Úa©Únamesr   )	r   rM   r'   Úslicer2   r   r)   ÚTableÚfrom_arrays)r;   ru   ÚtableÚtable_slices       r    Útest_chunked_array_slicer�   Ð   s=  € ä
�‰’ÓÜ
�‰’Óð€Dô ×Ñ˜DÓ!€Dà—‘œC ›IÓ&€JØ�?‰?˜dŸi™iÒ'Ð'Ð'Ø×ÑÓ! RÒ'Ð'Ð'à—‘œC ›I¨™NÓ+€JØ�?‰?˜dŸi™iÒ'Ð'Ð'Ø×ÑÓ! RÒ'Ð'Ð'ä�H‰H× Ñ  $ °¨uÐ Ó5€EØ—+‘+œc %›jÓ)€KÜˆ{Ó˜qÒ Ð Ð ä�H‰H× Ñ  $ °¨uÐ Ó5€EØ—+‘+œc %›j¨2™oÓ.€KÜˆ{Ó˜qÒ Ð Ñ rT   c                  óh  — t        j                  dg«      t        j                  g d¢«      t        j                  g d¢«      t        j                  g d¢«      g} t        j                  | «      }t        t	        d«      |«      D ]  \  }}||j                  «       k(  rŒJ ‚ t        |t        «      sJ ‚y )Nr   r
   r   r   rx   )r   rM   r'   ÚzipÚrangerr   r   r   )r;   rH   ÚiÚjs       r    Útest_chunked_array_iterr‡   è   sŽ   € ä
�‰�!�‹Ü
�‰’ÓÜ
�‰’ÓÜ
�‰’Óð	€Dô ×
Ñ
˜4Ó
 €Cä”E˜"“I˜sÓ#ò ‰ˆˆ1Ø�A—G‘G“I‹~Ðˆ~ðô �cœ8Ô$Ð$Ñ$rT   c                  ó°  — d„ } d„ } | t        j                  g t        j                  «       ¬«      t        j                  g t        j                  «       ¬«      «        |t        j                  g t        j                  «       ¬«      t        j                  g t        j                  «       ¬«      «       t        j                  ddgt        j                  «       ¬«      }t        j                  ddgt        j                  «       ¬«      }t        j                  ddgt        j                  «       ¬«      }t        j                  g d¢t        j                  «       ¬«      } | |g|g«        ||g|g«        | ||g||g«        | ||g|g«        |||g||g«       t        j                  g t        j                  «       ¬«      j                  d «      rJ ‚y )Nc                 óF  — t        | t        j                  «      r| }nt        j                  | «      }t        |t        j                  «      r|}nt        j                  |«      }|j	                  |«      sJ ‚|j	                  |«      sJ ‚||k(  sJ ‚|t        |«      k7  sJ ‚y r   )r   r   ÚChunkedArrayr'   rO   rl   ©ÚxarrsÚyarrsÚxÚys       r    Úeqz%test_chunked_array_equals.<locals>.eqø   sƒ   € Ü�eœRŸ_™_Ô-Ø‰Aä× Ñ  Ó'ˆAÜ�eœRŸ_™_Ô-Ø‰Aä× Ñ  Ó'ˆAØ�x‰x˜Œ{Ðˆ{Ø�x‰x˜Œ{Ðˆ{Ø�AŠvˆˆvØ”C˜“FŠ{Ð‰{rT   c                 ó&  — t        | t        j                  «      r| }nt        j                  | «      }t        |t        j                  «      r|}nt        j                  |«      }|j	                  |«      rJ ‚|j	                  |«      rJ ‚||k7  sJ ‚y r   )r   r   rŠ   r'   rO   r‹   s       r    Únez%test_chunked_array_equals.<locals>.ne  ss   € Ü�eœRŸ_™_Ô-Ø‰Aä× Ñ  Ó'ˆAÜ�eœRŸ_™_Ô-Ø‰Aä× Ñ  Ó'ˆAØ—8‘8˜A”;ÐˆØ—8‘8˜A”;ÐˆØ�AŠvˆ‰vrT   r   r   r   r   )r   r   r   r   )r   r'   rt   rE   rM   rO   )r�   r’   ry   Úbr   Úds         r    Útest_chunked_array_equalsr•   ÷   sS  € òòñ „r×Ñ˜¤§¡£Ô,Ü	×Ñ˜¤§¡£Ô,ô.á„r×Ñ˜¤§¡£Ô,Ü	×Ñ˜¤§¡£Ô,ô.ô 	�‰�!�Q�œbŸh™h›jÔ)€AÜ
�‰�!�Q�œbŸh™h›jÔ)€AÜ
�‰�!�Q�œbŸh™h›jÔ)€AÜ
�‰’¤B§H¡H£JÔ/€Aáˆ€sˆQˆC„LÙˆ€sˆQˆC„LÙˆˆ1€v��1ˆvÔÙˆˆ1€v�ˆs„OÙˆˆ1€v��1ˆvÔô ×Ñ ¬¯©«Ô4×;Ñ;¸DÔAÐAÐAÐArT   )r;   Útyp)TFTT)r   r   r   r   )re   ç      @N)ry   Nr“   r   r   r   ry   r“   r   ))r   ry   )r   r   Nc                 óB  — g }| r1|j                  t        j                  | d d |¬«      «       | dd  } | rŒ1t        j                  ||¬«      }|j	                  «        |j                  |j                  |«      «      }|j	                  «        |j                  |«      sJ ‚y )Nr   r   )Úappendr   rM   r'   r*   ÚloadsÚdumpsrO   )r;   r–   Úpickle_moduleÚarraysrM   Úresults         r    Útest_chunked_array_picklerŸ   '  sŽ   € ð €FÙ
Ø�‰”b—h‘h˜t B Q˜x¨cÔ2Ô3Ø�A�Bˆxˆò ô ×Ñ˜V¨#Ô.€EØ	‡N�NÔØ× Ñ  ×!4Ñ!4°UÓ!;Ó<€FØ
‡O�OÔØ�=‰=˜ÔÐÑrT   c                  ón  — dd l } t        j                  g d¢«      g}t        j                  |dg¬«      }|j	                  d«      }t        |t        j                  «      sJ ‚|j                  «       }t        || j                  «      sJ ‚|j                  dk(  sJ ‚|d   dk(  sJ ‚|j                  dk(  sJ ‚y )Nr   ©éöÿÿÿéûÿÿÿr   r   rx   ry   rz   )r   r¢   )Úpandasr   rM   r   Úcolumnr   rŠ   Ú	to_pandasÚSeriesr^   Úname)Úpdr;   r   ÚcolÚseriess        r    Útest_chunked_array_to_pandasr¬   A  s¥   € ãô 	�‰Ò$Ó%ð€Dô �H‰H�T # Ô'€EØ
�,‰,�q‹/€CÜ�cœ2Ÿ?™?Ô+Ð+Ð+Ø�]‰]‹_€FÜ�f˜bŸi™iÔ(Ð(Ð(Ø�<‰<˜4ÒÐÐØ�!‰9˜ÒÐÐØ�;‰;˜#ÒÐÑrT   c                  óÐ  — dd l } dd lm} t        j                  g d¢«      t        j                  | j                  g d¢«      «      t        j                  | j                  dd¬«      «      t        j                  | j                  ddd¬«      «      t        j                  g d¢t        j                  d	«      «      t        j                  g d¢t        j                  d	d«      «      fD ]|  }t        j                  d
|i«      }|j                  d
«      j                  «       }|j                  d
k(  sJ ‚| j                  |j                  «       d
¬«      }|j                  ||«       Œ~ y )Nr   r
   ©ry   r“   ry   Ú2012r   )ÚperiodszEurope/Brussels)r°   ÚtzÚmsr¨   )r¨   )r¤   Úpandas.testingÚtestingr   rM   ÚCategoricalÚ
date_rangeÚ	timestampr   r¥   r¦   r¨   r§   Úassert_series_equal)r©   Útmr;   r   rž   rR   s         r    Ú*test_chunked_array_to_pandas_preserve_namerº   R  s  € ó Ýô �H‰H’YÓÜ�H‰H�R—^‘^¢OÓ4Ó5Ü�H‰H�R—]‘] 6°1�]Ó5Ó6Ü�H‰H�R—]‘] 6°1Ð9J�]ÓKÓLÜ�H‰H’Y¤§¡¨TÓ 2Ó3Ü�H‰H’Y¤§¡¨TÐ3DÓ EÓFðHò 1ˆô —‘˜& $˜Ó(ˆØ—‘˜fÓ%×/Ñ/Ó1ˆØ�{‰{˜fÒ$Ð$Ð$Ø—9‘9˜TŸ^™^Ó-°F�9Ó;ˆØ
×Ñ˜v xÕ0ñ1rT   c                  ó”  — dd l } | j                  | j                  ddd«      ¬«      }t        j                  |«      }|j                  «       }|j                  dk(  sJ ‚|j                  dk(  sJ ‚|j                  dk(  sJ ‚|j                  j                  |j                  «      sJ ‚| j                  | j                  ddd«      ¬«      }t        j                  |«      }|j                  «       }|j                  dk(  sJ ‚|j                  dk(  sJ ‚|j                  dk(  sJ ‚|j                  j                  |j                  «      sJ ‚y ©	Nr   rx   r   )Úindex)rx   r   r   r   )r   r   )
r¤   Ú	DataFrameÚ
RangeIndexr   r   r¦   Únum_rowsr^   r½   rO   )r©   r;   r   rž   s       r    Ú.test_table_roundtrip_to_pandas_empty_dataframerÁ   f  s  € ó
 à�<‰<˜bŸm™m¨A¨r°1Ó5ˆ<Ó6€DÜ�H‰H�T‹N€EØ�_‰_Ó€Fà�>‰>˜RÒÐÐØ�:‰:˜Ò Ð Ð Ø�<‰<˜7Ò"Ð"Ð"Ø�<‰<×Ñ˜tŸz™zÔ*Ð*Ð*à�<‰<˜bŸm™m¨A¨r°1Ó5ˆ<Ó6€DÜ�H‰H�T‹N€EØ�_‰_Ó€Fà�>‰>˜QÒÐÐØ�:‰:˜ÒÐÐØ�<‰<˜6Ò!Ð!Ð!Ø�<‰<×Ñ˜tŸz™zÔ*Ð*Ñ*rT   c                  ó¼  — dd l } | j                  | j                  ddd«      ¬«      }t        j                  j                  |«      }|j                  «       }|j                  dk(  sJ ‚|j                  dk(  sJ ‚|j                  dk(  sJ ‚|j                  j                  |j                  «      sJ ‚| j                  | j                  ddd«      ¬«      }t        j                  j                  |«      }|j                  «       }|j                  dk(  sJ ‚|j                  dk(  sJ ‚|j                  dk(  sJ ‚|j                  j                  |j                  «      sJ ‚y r¼   )r¤   r¾   r¿   r   ÚRecordBatchÚfrom_pandasr¦   rÀ   r^   r½   rO   )r©   r;   Úbatchrž   s       r    Ú4test_recordbatch_roundtrip_to_pandas_empty_dataframerÆ   €  s%  € ó
 à�<‰<˜bŸm™m¨A¨r°1Ó5ˆ<Ó6€DÜ�N‰N×&Ñ& tÓ,€EØ�_‰_Ó€Fà�>‰>˜RÒÐÐØ�:‰:˜Ò Ð Ð Ø�<‰<˜7Ò"Ð"Ð"Ø�<‰<×Ñ˜tŸz™zÔ*Ð*Ð*à�<‰<˜bŸm™m¨A¨r°1Ó5ˆ<Ó6€DÜ�N‰N×&Ñ& tÓ,€EØ�_‰_Ó€Fà�>‰>˜QÒÐÐØ�:‰:˜ÒÐÐØ�<‰<˜6Ò!Ð!Ð!Ø�<‰<×Ñ˜tŸz™zÔ*Ð*Ñ*rT   c                  ó"  — dd l } dd lm} | j                  ddgddgdœ«      }t	        j
                  |«      }|j                  j                  «       j                  «       }|j                  dk(  sJ ‚|j                  ||j                  d d «       y )Nr   r   r   gš™™™™™¹?gš™™™™™É?©ry   r“   ©r   r   )r¤   r³   r´   r¾   r   r   ÚschemaÚempty_tabler¦   r^   Úassert_frame_equalÚiloc)r©   r¹   Údfr   rž   s        r    Útest_to_pandas_empty_tablerÏ   š  sy   € ó Ýà	�‰˜Q ˜F¨#¨s¨Ñ4Ó	5€BÜ�H‰H�R‹L€EØ�\‰\×%Ñ%Ó'×1Ñ1Ó3€FØ�<‰<˜6Ò!Ð!Ð!Ø×Ñ˜& "§'¡'¨"¨1 +Õ.rT   c                  ód  — t        j                  dg«      t        j                  g d¢«      g} t        j                  | «      }t        j                  |«      }|j                  «       g d¢k(  sJ ‚|j                  t        j                  d«      k(  sJ ‚t        j                  |d¬«      }|j                  «       g d¢k(  sJ ‚t        j                  dd g«      t        j                  g d¢«      g} t        j                  | «      }t        j                  |«      }|j                  «       }|d   d	k(  sJ ‚t        j                  |d   «      sJ ‚|d
d  g d¢k(  sJ ‚|j                  t        j                  d«      k(  sJ ‚t         j                  j                  t        j                  g d¢«      t        j                  g d¢«      «      }t        j                  ||g«      }t        j                  |«      }|j                  t        j                  d«      k(  sJ ‚|j                  «       g d¢d
z  k(  sJ ‚y )Nr   r
   )r   r   r   r   rE   rl   ©Údtype)Ú0Ú1Ú2Ú3r   re   r   rd   ri   )r   r   r   r   r   ©ry   r“   r   r6   )ry   r“   r   ry   r“   )
r   rM   r'   rZ   r[   ÚtolistrÒ   ÚisnanÚDictionaryArrayr~   )r;   rP   Únp_arrÚelementsrH   s        r    Útest_chunked_array_asarrayrÝ   §  sÇ  € ô 	�‰�!�‹Ü
�‰’Óð€Dô ×"Ñ" 4Ó(€Kä�Z‰Z˜Ó$€FØ�=‰=‹?šlÒ*Ð*Ð*Ø�<‰<œ2Ÿ8™8 GÓ,Ò,Ð,Ð,ô �Z‰Z˜¨5Ô1€FØ�=‰=‹?Ò2Ò2Ð2Ð2ô 	�‰�!�T�ÓÜ
�‰’Óð€Dô ×"Ñ" 4Ó(€Kä�Z‰Z˜Ó$€FØ�}‰}‹€HØ�A‰;˜"ÒÐÐÜ�8‰8�H˜Q‘KÔ Ð Ð Ø�A�Bˆ<š<Ò'Ð'Ð'Ø�<‰<œ2Ÿ8™8 IÓ.Ò.Ð.Ð.ô ×
Ñ
×
(Ñ
(Ü
�‰’Ó!¤2§8¡8ªOÓ#<ó>€Cä×"Ñ" C¨ :Ó.€KÜ�Z‰Z˜Ó$€FØ�<‰<œ2Ÿ8™8 HÓ-Ò-Ð-Ð-Ø�=‰=‹?Ò7¸!Ñ;Ò;Ð;Ñ;rT   c            	      ó:  — t        j                  t        j                  dt        j                  «       «      t        j                  dt        j                  «       «      g«      } t        j
                  g d¢| ¬«      }t        j                  |«      }|j                  «       \  }}|j                  t        j                  t        j
                  g d¢t        j                  «       ¬«      «      «      sJ ‚|j                  t        j                  t        j
                  g d¢t        j                  «       ¬«      «      «      sJ ‚t        j
                  g | ¬«      }t        j                  |«      }|j                  «       \  }}|j                  t        j                  t        j
                  g t        j                  «       ¬«      «      «      sJ ‚|j                  t        j                  t        j
                  g t        j                  «       ¬«      «      «      sJ ‚y )NrŽ   r�   )©r   r—   ©r   ç      @)r   ç      @r   )r   r   r   )r—   rá   râ   )	r   ÚstructÚfieldÚint16Úfloat32rM   r'   ÚflattenrO   )Útyry   ÚcarrrŽ   r�   s        r    Útest_chunked_array_flattenrê   Ñ  se  € Ü	�‰”B—H‘H˜S¤"§(¡(£*Ó-Ü—H‘H˜S¤"§*¡*£,Ó/ð1ó 
2€Bä
�‰Ò/°bÔ9€AÜ×Ñ˜AÓ€DØ�<‰<‹>�D€A€qØ�8‰8”B×$Ñ$¤R§X¡Xªi¼b¿h¹h»jÔ%IÓJÔKÐKÐKØ�8‰8”B×$Ñ$¤R§X¡XªoÜ35·:±:³<ô&Aó Bô Cð Cð Cô 	�‰�˜"Ô€AÜ×Ñ˜AÓ€DØ�<‰<‹>�D€A€qØ�8‰8”B×$Ñ$¤R§X¡X¨b´r·x±x³zÔ%BÓCÔDÐDÐDØ�8‰8”B×$Ñ$¤R§X¡X¨b´r·z±z³|Ô%DÓEÔFÐFÑFrT   c                  óî  — t        j                  t        j                  g d¢«      j                  «       t        j                  g d¢«      j                  «       g«      } | j	                  d«      j
                  j                  t        j                  ddg«      «      sJ ‚| j	                  d«      j
                  j                  t        j                  ddg«      «      sJ ‚| j                  «       } t        j                  g d¢«      }| j	                  d«      j
                  j                  |«      sJ ‚| j	                  d«      j
                  j                  |«      sJ ‚| j                  «       g d	¢k(  sJ ‚y )
N©ÚfooÚbarNrí   )ÚquuxNrí   r   rí   rî   r   rï   ©rí   rî   rï   )rí   rî   Nrí   rï   Nrí   )	r   r'   rM   Údictionary_encodeÚchunkÚ
dictionaryrO   Úunify_dictionariesr)   )rH   Úexpected_dicts     r    Ú%test_chunked_array_unify_dictionariesrö   ã  s  € Ü
×
Ñ
Ü
�‰Ò,Ó-×?Ñ?ÓAÜ
�‰Ò&Ó'×9Ñ9Ó;ðó €Cð �9‰9�Q‹<×"Ñ"×)Ñ)¬"¯(©(°E¸5°>Ó*BÔCÐCÐCØ�9‰9�Q‹<×"Ñ"×)Ñ)¬"¯(©(°F¸E°?Ó*CÔDÐDÐDØ
×
 Ñ
 Ó
"€CÜ—H‘HÒ3Ó4€MØ�9‰9�Q‹<×"Ñ"×)Ñ)¨-Ô8Ð8Ð8Ø�9‰9�Q‹<×"Ñ"×)Ñ)¨-Ô8Ð8Ð8Ø�=‰=‹?ÒNÒNÐNÑNrT   c                  óŒ   — t        j                  t        d¬«      5  t        j                  «        d d d «       y # 1 sw Y   y xY w)NrÃ   rC   )r+   r,   rh   r   rÃ   rW   rT   r    Útest_recordbatch_dunder_initrø   ñ  s/   € Ü	�‰”y¨Ô	6ñ Ü
�‰Ô÷÷ ñ úó	   œ:ºAc                  ó‚  —  G d„ d«      } t        j                  g d¢t        j                  «       «      }t        j                  |g«      } | |«      }t        j                  |«      }||k(  sJ ‚t        j                  |t        j                  «       ¬«      }||j                  t        j                  «       «      k(  sJ ‚y )Nc                   ó   — e Zd Zd„ Zdd„Zy)ú:test_chunked_array_c_array_interface.<locals>.ArrayWrapperc                 ó   — || _         y r   )rM   )ÚselfrM   s     r    Ú__init__zCtest_chunked_array_c_array_interface.<locals>.ArrayWrapper.__init__ø  s	   € ØˆD�JrT   Nc                 ó8   — | j                   j                  |«      S r   )rM   Ú__arrow_c_array__©rþ   Úrequested_schemas     r    r  zLtest_chunked_array_c_array_interface.<locals>.ArrayWrapper.__arrow_c_array__û  s   € Ø—:‘:×/Ñ/Ð0@ÓAÐArT   r   ©Ú__name__Ú
__module__Ú__qualname__rÿ   r  rW   rT   r    ÚArrayWrapperrü   ÷  s   „ ò	ô	BrT   r  r
   r   )r   rM   rE   r'   rå   Úcast)r  r;   ÚchunkedÚwrapperrž   s        r    Ú$test_chunked_array_c_array_interfacer  ö  s™   € ÷Bñ Bô �8‰8’IœrŸx™x›zÓ*€DÜ×Ñ ˜vÓ&€GÙ˜4Ó €Gô ×Ñ˜gÓ&€FØ�WÒÐÐô ×Ñ˜g¬B¯H©H«JÔ7€FØ�W—\‘\¤"§(¡(£*Ó-Ò-Ð-Ñ-rT   c                  ó8  —  G d„ d«      } t        j                  g d¢g d¢g«      } | |«      }t        j                  |«      }||k(  sJ ‚t        j                  |t        j                  «       ¬«      }||j                  t        j                  «       «      k(  sJ ‚y )Nc                   ó   — e Zd Zd„ Zdd„Zy)úBtest_chunked_array_c_stream_interface.<locals>.ChunkedArrayWrapperc                 ó   — || _         y r   )r
  )rþ   r
  s     r    rÿ   zKtest_chunked_array_c_stream_interface.<locals>.ChunkedArrayWrapper.__init__  ó	   € Ø"ˆD�LrT   Nc                 ó8   — | j                   j                  |«      S r   )r
  Ú__arrow_c_stream__r  s     r    r  zUtest_chunked_array_c_stream_interface.<locals>.ChunkedArrayWrapper.__arrow_c_stream__  s   € Ø—<‘<×2Ñ2Ð3CÓDÐDrT   r   ©r  r  r  rÿ   r  rW   rT   r    ÚChunkedArrayWrapperr    s   „ ò	#ô	ErT   r  r
   )r   Nr   r   )r   r'   rå   r	  )r  r;   r  rž   s       r    Ú%test_chunked_array_c_stream_interfacer    s„   € ÷Eñ Eô ×ÑšYªÐ5Ó6€DÙ! $Ó'€Gô ×Ñ˜gÓ&€FØ�TŠ>Ðˆ>ô ×Ñ˜g¬B¯H©H«JÔ7€FØ�T—Y‘YœrŸx™x›zÓ*Ò*Ð*Ñ*rT   c                   ó   — e Zd Zd„ Zdd„Zy)ÚBatchWrapperc                 ó   — || _         y r   ©rÅ   ©rþ   rÅ   s     r    rÿ   zBatchWrapper.__init__   ó	   € Øˆ�
rT   Nc                 ó8   — | j                   j                  |«      S r   )rÅ   r  r  s     r    r  zBatchWrapper.__arrow_c_array__#  s   € Ø�z‰z×+Ñ+Ð,<Ó=Ð=rT   r   r  rW   rT   r    r  r    s   „ òô>rT   r  c                   ó   — e Zd Zd„ Zdd„Zy)ÚBatchDeviceWrapperc                 ó   — || _         y r   r  r  s     r    rÿ   zBatchDeviceWrapper.__init__(  r  rT   Nc                 ó<   —  | j                   j                  |fi |¤ŽS r   )rÅ   Ú__arrow_c_device_array__)rþ   r  Úkwargss      r    r"  z+BatchDeviceWrapper.__arrow_c_device_array__+  s   € Ø2ˆt�z‰z×2Ñ2Ð3CÑNÀvÑNÐNrT   r   )r  r  r  rÿ   r"  rW   rT   r    r  r  '  s   „ òôOrT   r  Úwrapper_classc                 ó  — t        j                  t        j                  g d¢t        j                  «       ¬«      gdg¬«      } | |«      }t        j                  |«      }||k(  sJ ‚t        j                  t        j
                  dt        j                  «       «      g«      }t        j                  ||¬«      }t        j                  t        j                  g d¢t        j                  «       ¬«      gdg¬«      }||k(  sJ ‚y ©Nr
   r   ry   rz   ©rÊ   )r   Úrecord_batchrM   rE   rÊ   rä   rt   )r$  r;   r  rž   Úcastable_schemarR   s         r    Ú"test_recordbatch_c_array_interfacer*  /  sÍ   € ä�?‰?Ü
�‰’¤§¡£Ô,ðàˆUô€Dñ ˜DÓ!€Gô �_‰_˜WÓ%€FØ�TŠ>Ðˆ>ô —i‘iÜ
�‰�”b—h‘h“jÓ!ð!ó €Oô �_‰_˜W¨_Ô=€FÜ�‰Ü
�‰’¤§¡£Ô,ð àˆUô€Hð �XÒÐÑrT   c                  ó0  — t        j                  t        j                  g d¢t        j                  «       ¬«      gdg¬«      } t	        j
                  t        d¬«      5  | j                  d¬«       d d d «       | j                  d ¬«      }y # 1 sw Y   ŒxY w)	Nr
   r   ry   rz   z7Received unsupported keyword argument\(s\): \['other'\]rC   znot-none)Úother)r   r(  rM   rE   r+   r,   ÚNotImplementedErrorr"  )r;   Ú_s     r    Ú=test_recordbatch_c_array_interface_device_unsupported_keywordr/  E  s|   € ä�?‰?Ü	�‰’)¤"§(¡(£*Ô	-Ð.°s°eô€Dô 
�‰ÜØHô
ñ 8ð 	×%Ñ%¨JÐ%Ô7÷	8ð 	×%Ñ%¨DÐ%Ó1�A÷8ð 8ús   ÁBÂBc                 óD  — t        j                  t        j                  g d¢t        j                  «       ¬«      gdg¬«      } | |«      }t        j                  |«      }t         j
                  j                  |g«      }||k(  sJ ‚t        j                  t        j                  dt        j                  «       «      g«      }t        j                  ||¬«      }t        j                  dt        j                  g d¢t        j                  «       ¬«      i«      }||k(  sJ ‚y r&  )
r   r(  rM   rE   r   r}   Úfrom_batchesrÊ   rä   rt   )r$  r;   r  rž   rR   r)  s         r    Útest_table_c_array_interfacer2  U  sâ   € ä�?‰?Ü
�‰’¤§¡£Ô,ðàˆUô€Dñ ˜DÓ!€Gô �X‰X�gÓ€FÜ�x‰x×$Ñ$ d VÓ,€HØ�XÒÐÐô —i‘iÜ
�‰�”b—h‘h“jÓ!ð!ó €Oô �X‰X�g oÔ6€FÜ�x‰xØŒR�X‰X’i¤b§h¡h£jÔ1ðó €Hð �XÒÐÑrT   c                  ó  —  G d„ d«      } t        j                  t        j                  g d¢t        j                  «       ¬«      gdg¬«      t        j                  t        j                  g d¢t        j                  «       ¬«      gdg¬«      g} | |«      }t        j                  |«      }t         j
                  j                  |«      }||k(  sJ ‚t        j                  ||d   j                  ¬	«      }||k(  sJ ‚t        j                  t        j                  dt        j                  «       «      g«      }t        j                  ||¬	«      }||j                  |«      k(  sJ ‚t        j                  t         j                  j                  d
¬«      5  t        j                  |t        j                  t        j                  dt        j                  t        j                  «       «      «      g«      ¬	«       d d d «       y # 1 sw Y   y xY w)Nc                   ó   — e Zd Zd„ Zdd„Zy)ú4test_table_c_stream_interface.<locals>.StreamWrapperc                 ó   — || _         y r   )Úbatches)rþ   r7  s     r    rÿ   z=test_table_c_stream_interface.<locals>.StreamWrapper.__init__n  r  rT   Nc                 ó¦   — t         j                  j                  | j                  d   j                  | j                  «      }|j                  |«      S ©Nr   )r   ÚRecordBatchReaderr1  r7  rÊ   r  )rþ   r  Úreaders      r    r  zGtest_table_c_stream_interface.<locals>.StreamWrapper.__arrow_c_stream__q  sA   € Ü×)Ñ)×6Ñ6Ø—‘˜Q‘×&Ñ&¨¯©ó6ˆFà×,Ñ,Ð-=Ó>Ð>rT   r   r  rW   rT   r    ÚStreamWrapperr5  m  s   „ ò	#ô	?rT   r<  r
   r   ry   rz   r   r   r'  zField 0 cannot be castrC   )r   r(  rM   rE   r   r}   r1  rÊ   rä   rt   r	  r+   r,   r   ÚArrowTypeErrorÚlist_)r<  r;   r  rž   rR   Úgood_schemas         r    Útest_table_c_stream_interfacer@  l  sz  € ÷?ñ ?ô 	�‰œŸ™¢)´"·(±(³*Ô=Ð>ÀsÀeÔLÜ
�‰œŸ™¢)´"·(±(³*Ô=Ð>ÀsÀeÔLð€Dñ ˜DÓ!€Gô �X‰X�gÓ€FÜ�x‰x×$Ñ$ TÓ*€HØ�XÒÐÐô �X‰X�g d¨1¡g§n¡nÔ5€FØ�XÒÐÐô —)‘)œRŸX™X c¬2¯8©8«:Ó6Ð7Ó8€KÜ�X‰X�g kÔ2€FØ�X—]‘] ;Ó/Ò/Ð/Ð/ô 
�‰Ü
�‰×ÑÐ%=ô
ñ 
ô 	�‰ØœBŸI™I¤r§x¡x°´R·X±X¼b¿h¹h»jÓ5IÓ'JÐ&KÓLõ	
÷
÷ 
ñ 
ús   ÆA%HÈHc                  óÊ  — t        j                  t        d«      d¬«      t        j                  g d¢d¬«      g} t        j                  | ddg«      }g }|j	                  «       D ]  }|j                  |«       Œ |j                  |k(  sJ ‚|t        j                  ||j                  ¬«      k(  sJ ‚|t        j                  |d	d  |j                  d	d  ¬«      k7  sJ ‚||k7  sJ ‚y )
Nr   rå   r   ©r¢   r£   r   Nrx   rt   Úc0Úc1rz   r   )r   rM   r„   r(  Úitercolumnsr™   ÚcolumnsÚcolumn_names)r;   rÅ   rF  rª   s       r    Útest_recordbatch_itercolumnsrH  “  sÖ   € ä
�‰”�q“ Ô(Ü
�‰Ò'¨gÔ6ð€Dô �O‰O˜D 4¨ ,Ó/€Eà€GØ× Ñ Ó"ò ˆØ�‰�sÕðð �=‰=˜GÒ#Ð#Ð#Ø”B—O‘O G°5×3EÑ3EÔFÒFÐFÐFØ”B—O‘O G¨A¨B K°u×7IÑ7IÈ!È"Ð7MÔNÒNÐNÐNØ�GÒÐÑrT   c                  óÎ  — t        j                  t        d«      d¬«      t        j                  g d¢d¬«      g} t        j                  g d¢«      t        j                  dgdgd	gg«      g}d
dg}t        j                  | |«      }|t        j                  | |«      k(  sJ ‚|j	                  t        j                  | |«      «      sJ ‚|t        j                  ||«      k7  sJ ‚|j	                  t        j                  ||«      «      rJ ‚t        j                  | |ddi¬«      }|j	                  |«      sJ ‚|j	                  |d¬«      rJ ‚|j	                  d «      rJ ‚|dk7  sJ ‚y )Nr   rå   r   rB  rt   r×   r”   ÚeÚfrC  rD  ÚkeyÚvalue©r{   ÚmetadataT©Úcheck_metadatarí   )r   rM   r„   r(  rO   )Údata1r<   rG  rÅ   Ú
batch_metas        r    Útest_recordbatch_equalsrT  ¤  sF  € ä
�‰”�q“ Ô(Ü
�‰Ò'¨gÔ6ð€Eô
 	�‰’Ó!Ü
�‰�3�%˜#˜  Ð&Ó'ð€Eð ˜$�<€Lä�O‰O˜E <Ó0€EØ”B—O‘O E¨<Ó8Ò8Ð8Ð8Ø�<‰<œŸ™¨¨|Ó<Ô=Ð=Ð=à”B—O‘O E¨<Ó8Ò8Ð8Ð8Ø�|‰|œBŸO™O¨E°<Ó@ÔAÐAÐAä—‘ ¨lØ+0°'Ð*:ô<€Jà×Ñ˜UÔ#Ð#Ð#Ø× Ñ  °tÐ Ô<Ð<Ð<ð �|‰|˜DÔ!Ð!Ð!Ø�EŠ>Ð‰>rT   c            	      ó  — t        j                  t        j                  g d¢«      t        j                  g d¢«      gddg«      } | j                  t        j                  ddg«      «      j	                  | j                  dd«      «      sJ ‚| j                  t        j                  dd g«      «      j	                  t        j                  t        j                  dd g«      t        j                  dd g«      gddg«      «      sJ ‚y )N©r   r   r   Nr   ©ry   r“   r   r”   rJ  Úf1Úf2r   r   r   )r   r(  rM   ÚtakerO   r|   r  s    r    Útest_recordbatch_taker[  À  sÏ   € Ü�O‰OÜ	�‰Ò$Ó	%Ü	�‰Ò+Ó	,ð	.à	ˆtˆó€Eð �:‰:”b—h‘h  1˜vÓ&Ó'×.Ñ.¨u¯{©{¸1¸aÓ/@ÔAÐAÐAØ�:‰:”b—h‘h  4˜yÓ)Ó*×1Ñ1Ü
�‰œŸ™ 1 d )Ó,¬b¯h©h¸¸T°{Ó.CÐDØ˜t˜ó	&ô'ð 'ñ 'rT   c                  óˆ   — t        j                  t        j                  g d¢«      gdg¬«      } | d   j                  dk(  sJ ‚y ©N©r   r   r   r   Úa0rz   r   )r   r(  rM   Ú_name)Úrbs    r    Ú)test_recordbatch_column_sets_private_namerb  Ë  s6   € ä	�‰œ"Ÿ(™(¢<Ó0Ð1¸$¸Ô	@€BØˆa‰5�;‰;˜$ÒÐÑrT   c            	      ó\  — t        j                  ddg«      } t        j                  t        j                  dt        j                  t        j
                  «       «      «      g«      }t        j                  t        «      5  t        j                  | g|¬«       d d d «       y # 1 sw Y   y xY w)Nr   r   Úf0r'  )
r   rM   rÊ   rä   r>  Úutf8r+   r,   r-  r(  )rH   rÊ   s     r    Ú,test_recordbatch_from_arrays_validate_schemarf  Ñ  sq   € ä
�(‰(�A�q�6Ó
€CÜ�Y‰YœŸ™ ¤r§x¡x´·±³	Ó':Ó;Ð<Ó=€FÜ	�‰Ô*Ó	+ñ .Ü
�‰˜˜ fÕ-÷.÷ .ñ .ús   Â B"Â"B+c                  ó  — t        j                  dg«      t        j                  g d¢«      t        j                  dg«      g} t        j                  t        «      5  t        j
                  | g d¢«       d d d «       y # 1 sw Y   y xY w)Nr   )ÚtokyoÚlikeÚhappyÚderek)ÚidÚtagsr¨   )r   rM   r+   r,   r-   r(  rm   s    r    Ú-test_recordbatch_from_arrays_validate_lengthsrn  Ù  sb   € ä�H‰H�a�S‹Mœ2Ÿ8™8Ò$>Ó?Ü�H‰H�g�YÓð!€Dô 
�‰”zÓ	"ñ 6Ü
�‰˜Ò4Ô5÷6÷ 6ñ 6ús   ÁA>Á>Bc                  ó”   — t        j                  g g «      } t        | «      dk(  sJ ‚| j                  dk(  sJ ‚| j                  dk(  sJ ‚y r9  )r   r(  r2   rÀ   Únum_columnsr  s    r    Útest_recordbatch_no_fieldsrq  â  sH   € Ü�O‰O˜B Ó#€Eäˆu‹:˜Š?Ðˆ?Ø�>‰>˜QÒÐÐØ×Ñ Ò!Ð!Ñ!rT   c                  óˆ  — t        j                  t        d«      «      t        j                  g d¢«      g} t        j                  t
        «      5  t        j                  | g d¢¬«       d d d «       t        j                  t
        «      5  t        j                  | dg¬«       d d d «       y # 1 sw Y   ŒDxY w# 1 sw Y   y xY w©Nr   r¡   r×   rz   ry   )r   rM   r„   r+   r,   r-   r(  rm   s    r    Ú*test_recordbatch_from_arrays_invalid_namesrt  ê  s�   € ä
�‰”�q“ÓÜ
�‰Ò$Ó%ð€Dô 
�‰”zÓ	"ñ 5Ü
�‰˜¢OÕ4÷5ô 
�‰”zÓ	"ñ +Ü
�‰˜ S EÕ*÷+ð +÷5ð 5ú÷+ð +ús   ÁB,Â
B8Â,B5Â8Cc                  óÎ   — t        j                  t        d«      «      t        j                  g d¢«      g} t        j                  | ddg«      }|j                  j
                  �J ‚y )Nr   r¡   rC  rD  )r   rM   r„   r(  rÊ   rO  ©r;   rÅ   s     r    Útest_recordbatch_empty_metadatarw  ö  sR   € ä
�‰”�q“ÓÜ
�‰Ò$Ó%ð€Dô
 �O‰O˜D 4¨ ,Ó/€EØ�<‰<× Ñ Ð(Ð(Ñ(rT   c                 óþ  — t        j                  t        d«      d¬«      t        j                  g d¢d¬«      g}t        j                  dt        j                  «       «      t        j                  dt        j
                  «       «      g}t        j                  |dd	i¬
«      }t        j                  ||¬«      }| j                  | j                  |«      «      }|j                  |«      sJ ‚|j                  |k(  sJ ‚y )Nr   rF   r   r¡   ræ   ÚintsÚfloatsó   fooó   bar©rO  r'  )r   rM   r„   rä   rF   ræ   rÊ   r(  rš   r›   rO   )rœ   r;   ÚfieldsrÊ   rÅ   rž   s         r    Útest_recordbatch_pickler     sÁ   € ä
�‰”�q“ Ô'Ü
�‰Ò$¨9Ô5ð€Dô
 	�‰�œŸ™›Ó#Ü
�‰�œ2Ÿ:™:›<Ó(ð€Fô �Y‰Y�v¨°Ð(8Ô9€FÜ�O‰O˜D¨Ô0€Eà× Ñ  ×!4Ñ!4°UÓ!;Ó<€FØ�=‰=˜ÔÐÐØ�=‰=˜FÒ"Ð"Ñ"rT   c                  óR  — t        j                  t        d«      «      t        j                  g d¢«      t        j                  t        dd«      «      g} t         j                  j	                  | d¬«      }|j                  d«      j                  |j                  j                  d«      «      sJ ‚|j                  d«      j                  |j                  j                  d«      «      sJ ‚t        j                  t        «      5  |j                  d«       d d d «       t        j                  t        «      5  |j                  d «       d d d «       t        j                  t        «      5  |j                  d	«       d d d «       y # 1 sw Y   ŒpxY w# 1 sw Y   ŒIxY w# 1 sw Y   y xY w©
Nr   r¡   rx   r×   rz   ry   r   r”   r   )r   rM   r„   rÃ   r~   rä   rO   rÊ   r+   r,   ÚKeyErrorrh   rs   rv  s     r    Útest_recordbatch_get_fieldrƒ    s9  € ä
�‰”�q“ÓÜ
�‰Ò$Ó%Ü
�‰”�q˜"“Óð€Dô
 �N‰N×&Ñ& t°?Ð&ÓC€Eà�;‰;�sÓ×"Ñ" 5§<¡<×#5Ñ#5°cÓ#:Ô;Ð;Ð;Ø�;‰;�q‹>× Ñ  §¡×!3Ñ!3°CÓ!8Ô9Ð9Ð9ä	�‰”xÓ	 ñ Ø�‰�CÔ÷ô 
�‰”yÓ	!ñ Ø�‰�DÔ÷ô 
�‰”zÓ	"ñ Ø�‰�AŒ÷ð ÷ð ú÷ð ú÷ð úó$   ÄFÄ7FÅ*FÆFÆFÆF&c                  óÌ  — t        j                  t        d«      «      t        j                  g d¢«      t        j                  t        dd«      «      g} t         j                  j	                  | d¬«      }|j                  d«      j                  |j                  d«      «      sJ ‚t        j                  t        d¬	«      5  |j                  d
«       d d d «       t        j                  t        «      5  |j                  d «       d d d «       t        j                  t        «      5  |j                  d«       d d d «       y # 1 sw Y   ŒpxY w# 1 sw Y   ŒIxY w# 1 sw Y   y xY w©Nr   r¡   rx   r×   rz   ry   r   z"Field "d" does not exist in schemarC   r”   r   )r   rM   r„   rÃ   r~   r¥   rO   r+   r,   r‚  rh   rs   rv  s     r    Útest_recordbatch_select_columnr‡  &  s  € ä
�‰”�q“ÓÜ
�‰Ò$Ó%Ü
�‰”�q˜"“Óð€Dô
 �N‰N×&Ñ& t°?Ð&ÓC€Eà�<‰<˜Ó×#Ñ# E§L¡L°£OÔ4Ð4Ð4ä	�‰ÜÐ@ô
Bñ à�‰�SÔ÷ô 
�‰”yÓ	!ñ Ø�‰�TÔ÷ô 
�‰”zÓ	"ñ Ø�‰�QŒ÷ð ÷ð ú÷ð ú÷ð úó$   ÃEÃ4EÄ'EÅEÅEÅE#c                  ó  — t        j                  g d¢«      } t        j                  g d¢«      }t        j                  ddgddgddgd d	d
gg«      }t        j                  | ||gg d¢«      }|j                  dg«      }t        j                  | gdg«      }|j	                  |«      sJ ‚|j                  ddg«      }t        j                  ||gddg«      }|j	                  |«      sJ ‚|j                  dg«      }t        j                  | gdg«      }|j	                  |«      sJ ‚|j                  ddg«      }t        j                  ||gddg«      }|j	                  |«      sJ ‚|j                  ddi«      }|j                  ddg«      }d|j                  j                  v sJ ‚t        j                  t        d¬«      5  |j                  dg«       d d d «       t        j                  t        d¬«      5  |j                  dg«       d d d «       |j                  ddg«      }t        j                  ||gddg«      }|j	                  |«      sJ ‚t        j                  | ||gg d¢«      }t        j                  t        d¬«      5  |j                  dg«       d d d «       |j                  dg«      }t        j                  |gdg«      }|j	                  |«      sJ ‚y # 1 sw Y   �ŒxY w# 1 sw Y   ŒåxY w# 1 sw Y   Œ`xY w©NrV  rW  r   r   r   r   r   r   r   rx   )rX  rY  Úf3rX  r‹  rY  r   ry   Útestó   azField "f5" does not existrC   Úf5zindex out of bounds)rX  rY  rX  zField "f1" exists 2 times)r   rM   r(  ÚselectrO   Úreplace_schema_metadatarÊ   rO  r+   r,   r‚  rs   )Úa1Úa2Úa3rÅ   rž   rR   Úbatch2s          r    Útest_recordbatch_selectr•  ;  s±  € Ü	�‰Ò$Ó	%€BÜ	�‰Ò+Ó	,€BÜ	�‰�A�q�6˜A˜q˜6 A q 6¨4°!°R°Ð9Ó	:€BÜ�O‰O˜R  R˜LÒ*<Ó=€Eð �\‰\˜4˜&Ó!€FÜ�‰ ˜t d VÓ,€HØ�=‰=˜Ô"Ð"Ð"à�\‰\˜4 ˜,Ó'€FÜ�‰  B˜x¨$°¨Ó6€HØ�=‰=˜Ô"Ð"Ð"ð �\‰\˜1˜#Ó€FÜ�‰ ˜t d VÓ,€HØ�=‰=˜Ô"Ð"Ð"à�\‰\˜1˜a˜&Ó!€FÜ�‰  B˜x¨$°¨Ó6€HØ�=‰=˜Ô"Ð"Ð"ð ×*Ñ*¨C°¨=Ó9€FØ�]‰]˜D $˜<Ó(€FØ�6—=‘=×)Ñ)Ñ)Ð)Ð)ô 
�‰”xÐ'BÔ	Cñ Ø�‰�d�VÔ÷ô 
�‰”zÐ)>Ô	?ñ Ø�‰�a�SÔ÷ð �\‰\˜4 ˜,Ó'€FÜ�‰  B˜x¨$°¨Ó6€HØ�=‰=˜Ô"Ð"Ð"ô �O‰O˜R  R˜LÒ*<Ó=€EÜ	�‰”xÐ'BÔ	Cñ Ø�‰�d�VÔ÷ð �\‰\˜4˜&Ó!€FÜ�‰ ˜t d VÓ,€HØ�=‰=˜Ô"Ð"Ñ"÷%ñ ú÷ð ú÷ð úó$   ÇK!Ç7K.ÊK:Ë!K+Ë.K7Ë:Lc                  óÖ   — t        j                  t        «      5  t        j                  j                  t        j                  t        d«      «      «       d d d «       y # 1 sw Y   y xY w)Nr   )r+   r,   rh   r   rÃ   Úfrom_struct_arrayrM   r„   rW   rT   r    Ú*test_recordbatch_from_struct_array_invalidr™  n  sB   € Ü	�‰”yÓ	!ñ =Ü
�‰×(Ñ(¬¯©´%¸³(Ó);Ô<÷=÷ =ñ =ús   š<AÁA(c            
      ó  — t        j                  ddiddigt        j                  dt        j                  «       fdt        j                  «       fg«      ¬«      } t         j
                  j                  | «      }|j                  t         j
                  j                  t        j                  dd gt        j                  «       ¬«      t        j                  d dgt        j                  «       ¬«      gddg«      «      sJ ‚y ©Nry  r   rz  re   r   )	r   rM   rã   rt   ræ   rÃ   r˜  rO   r~   ©Ústruct_arrayrž   s     r    Ú"test_recordbatch_from_struct_arrayrž  s  sÃ   € Ü—8‘8Ø
�!ˆ�x �oÐ&Ü�Y‰Y˜¤§¡£Ð,¨x¼¿¹»Ð.FÐGÓHô€Lô �^‰^×-Ñ-¨lÓ;€FØ�=‰=œŸ™×3Ñ3ä�H‰H�a˜�Y¤R§X¡X£ZÔ0Ü�H‰H�d˜C�[¤r§z¡z£|Ô4ð	
ð �HÐó	ô ð ñ rT   c                  óæ  — t         j                  j                  t        j                  dd gt        j                  «       ¬«      t        j                  d dgt        j
                  «       ¬«      gddg«      } | j                  «       }|j                  t        j                  ddiddigt        j                  dt        j                  «       fdt        j
                  «       fg«      ¬«      «      sJ ‚y ©Nr   r   re   ry  rz  )	r   rÃ   r~   rM   rt   ræ   Úto_struct_arrayrO   rã   )rÅ   rž   s     r    Ú test_recordbatch_to_struct_arrayr¢  �  s½   € Ü�N‰N×&Ñ&ä�H‰H�a˜�Y¤R§X¡X£ZÔ0Ü�H‰H�d˜C�[¤r§z¡z£|Ô4ð	
ð �HÐó	€Eð ×"Ñ"Ó$€FØ�=‰=œŸ™Ø
�!ˆ�x �oÐ&Ü�Y‰Y˜¤§¡£Ð,¨x¼¿¹»Ð.FÐGÓHôô ð ñ rT   c                  óÚ   — t        j                  t        d¬«      5  t        j                  j                  t        j                  t        d«      «      «       d d d «       y # 1 sw Y   y xY w)Nú*Argument 'struct_array' has incorrect typerC   r   )r+   r,   rh   r   r}   r˜  rM   r„   rW   rT   r    Ú$test_table_from_struct_array_invalidr¥  �  sE   € Ü	�‰”yÐ(TÔ	Uñ 7Ü
�‰×"Ñ"¤2§8¡8¬E°!«HÓ#5Ô6÷7÷ 7ñ 7ús   œ<A!Á!A*c                  óð   — t        j                  t        d¬«      5  t        j                  j                  t        j                  g t        j                  «       ¬«      «       d d d «       y # 1 sw Y   y xY w)Nr¤  rC   r   )r+   r,   rh   r   r}   r˜  r'   rE   rW   rT   r    Ú8test_table_from_struct_array_empty_chunked_array_invalidr§  ”  sO   € Ü	�‰”yÐ(TÔ	Uñ JÜ
�‰×"Ñ"¤2×#3Ñ#3°B¼R¿X¹X»ZÔ#HÔI÷J÷ Jñ Jús   œAA,Á,A5c            
      ó  — t        j                  ddiddigt        j                  dt        j                  «       fdt        j                  «       fg«      ¬«      } t         j
                  j                  | «      }|j                  t         j
                  j                  t        j                  dd gt        j                  «       ¬«      t        j                  d dgt        j                  «       ¬«      gddg«      «      sJ ‚y r›  )	r   rM   rã   rt   ræ   r}   r˜  rO   r~   rœ  s     r    Útest_table_from_struct_arrayr©  ™  sÃ   € Ü—8‘8Ø
�!ˆ�x �oÐ&Ü�Y‰Y˜¤§¡£Ð,¨x¼¿¹»Ð.FÐGÓHô€Lô �X‰X×'Ñ'¨Ó5€FØ�=‰=œŸ™×-Ñ-ä�H‰H�a˜�Y¤R§X¡X£ZÔ0Ü�H‰H�d˜C�[¤r§z¡z£|Ô4ð	
ð �HÐó	ô ð ñ rT   c            
      ó  — t        j                  ddiddiggt        j                  dt        j                  «       fdt        j                  «       fg«      ¬«      } t         j
                  j                  | «      }|j                  t         j
                  j                  t        j                  dd gt        j                  «       ¬«      t        j                  d dgt        j                  «       ¬«      gddg«      «      sJ ‚y r›  )
r   r'   rã   rt   ræ   r}   r˜  rO   r~   rM   )Úchunked_struct_arrayrž   s     r    Ú*test_table_from_struct_array_chunked_arrayr¬  §  sÊ   € Ü×+Ñ+Ø�1ˆ+˜ #�Ð	'Ð(Ü�Y‰Y˜¤§¡£Ð,¨x¼¿¹»Ð.FÐGÓHôÐô �X‰X×'Ñ'Ð(<Ó=€FØ�=‰=œŸ™×-Ñ-ä�H‰H�a˜�Y¤R§X¡X£ZÔ0Ü�H‰H�d˜C�[¤r§z¡z£|Ô4ð	
ð �HÐó	ô ð ñ rT   c                  ó.  — t        j                  dt        j                  «       fdt        j                  «       fg«      } t        j                  g | ¬«      }t         j
                  j                  |«      }t         j
                  j                  t        j                  g t        j                  «       ¬«      t        j                  g t        j                  «       ¬«      gddg«      }|j                  |«      sJ ‚|j                  |j                  k(  sJ ‚y )Nry  rz  r   )r   rã   rt   ræ   r'   r}   r˜  r~   rM   rO   rÊ   )Ústruct_typeÚempty_chunked_struct_arrayrž   rR   s       r    Ú4test_table_from_struct_array_for_empty_chunked_arrayr°  µ  sÈ   € ä—)‘)˜f¤b§h¡h£jÐ1°H¼b¿j¹j»lÐ3KÐLÓM€KÜ!#×!1Ñ!1°"¸;Ô!GÐÜ�X‰X×'Ñ'Ð(BÓC€FÜ�x‰x×#Ñ#ä�H‰H�RœbŸh™h›jÔ)Ü�H‰H�RœbŸj™j›lÔ+ð	
ð �HÐó	€Hð �=‰=˜Ô"Ð"Ð"Ø�=‰=˜HŸO™OÒ+Ð+Ñ+rT   c                  óè  — t         j                  j                  t        j                  dd gt        j                  «       ¬«      t        j                  d dgt        j
                  «       ¬«      gddg«      } | j                  «       }|j                  t        j                  ddiddiggt        j                  dt        j                  «       fdt        j
                  «       fg«      ¬«      «      sJ ‚y r   ©
r   r}   r~   rM   rt   ræ   r¡  rO   r'   rã   ©r   rž   s     r    Útest_table_to_struct_arrayr´  Ä  sÂ   € Ü�H‰H× Ñ ä�H‰H�a˜�Y¤R§X¡X£ZÔ0Ü�H‰H�d˜C�[¤r§z¡z£|Ô4ð	
ð �HÐó	€Eð ×"Ñ"Ó$€FØ�=‰=œ×)Ñ)Ø�1ˆ+˜ #�Ð	'Ð(Ü�Y‰Y˜¤§¡£Ð,¨x¼¿¹»Ð.FÐGÓHôô ð ñ rT   c                  óî  — t         j                  j                  t        j                  dd gt        j                  «       ¬«      t        j                  d dgt        j
                  «       ¬«      gddg«      } | j                  d¬«      }|j                  t        j                  ddigddiggt        j                  dt        j                  «       fdt        j
                  «       fg«      ¬«      «      sJ ‚y )Nr   r   re   ry  rz  ©Úmax_chunksizer²  r³  s     r    Ú-test_table_to_struct_array_with_max_chunksizer¸  Ò  sÉ   € Ü�H‰H× Ñ ä�H‰H�a˜�Y¤R§X¡X£ZÔ0Ü�H‰H�d˜C�[¤r§z¡z£|Ô4ð	
ð �HÐó	€Eð ×"Ñ"°Ð"Ó3€FØ�=‰=œ×)Ñ)Ø�1ˆ+ˆ˜( C˜Ð)Ð*Ü�Y‰Y˜¤§¡£Ð,¨x¼¿¹»Ð.FÐGÓHôô ð ñ rT   c            
      óÌ  — t         j                  j                  t        j                  g t        j                  «       ¬«      t        j                  g t        j
                  «       ¬«      gddg«      } | j                  «       }|j                  t        j                  g t        j                  t        j                  «       t        j
                  «       dœ«      ¬«      «      sJ ‚y )Nr   ry  rz  )ry  rz  r²  r³  s     r    Ú*test_table_to_struct_array_for_empty_tablerº  à  s¡   € Ü�H‰H× Ñ ä�H‰H�RœbŸh™h›jÔ)Ü�H‰H�RœbŸj™j›lÔ+ð	
ð �HÐó	€Eð ×"Ñ"Ó$€FØ�=‰=Ü
×ÑØÜ—‘¤B§H¡H£J¼"¿*¹*»,ÑGÓHô	
ôð ñ rT   c                 óÚ   — | j                  |«      sJ ‚| j                  |k(  sJ ‚| j                  |k(  sJ ‚| j                  |j                  k(  sJ ‚| j                  |j                  k(  sJ ‚y r   )rO   Úsizer   r^   Ústrides)ÚtensorÚexpected_tensorr   r¼  s       r    Úcheck_tensorsrÀ  ð  sh   € Ø�=‰=˜Ô)Ð)Ð)Ø�;‰;˜$ÒÐÐØ�;‰;˜$ÒÐÐØ�<‰<˜?×0Ñ0Ò0Ð0Ð0Ø�>‰>˜_×4Ñ4Ò4Ð4Ñ4rT   Útyp_str)Úuint8Úuint16Úuint32Úuint64rF   rå   rt   rE   Úfloat16ræ   ri   c           
      ó®  — t        j                  | «      }g d¢}g d¢}g d¢}t        j                  j	                  t        j
                  |t        j                  |«      ¬«      t        j
                  |t        j                  |«      ¬«      t        j
                  |t        j                  |«      ¬«      gg d¢«      }|j                  d¬«      }t        j                  |||g«      j                  |d¬	«      }t        j                  j                  |«      }t        ||t        j                  |«      d
«       |j                  «       }t        j                  |||g«      j                  |d¬	«      }t        j                  j                  |«      }t        ||t        j                  |«      d
«       |j                  d«      }	g d¢}g d¢}g d¢}|	j                  d¬«      }t        j                  |||g«      j                  |d¬	«      }t        j                  j                  |«      }t        ||t        j                  |«      d«       |	j                  «       }t        j                  |||g«      j                  |d¬	«      }t        j                  j                  |«      }t        ||t        j                  |«      d«       |j                  dd«      }
g d¢}g d¢}g d¢}|
j                  d¬«      }t        j                  |||g«      j                  |d¬	«      }t        j                  j                  |«      }t        ||t        j                  |«      d«       |
j                  «       }t        j                  |||g«      j                  |d¬	«      }t        j                  j                  |«      }t        ||t        j                  |«      d«       y )N©	r   r   r   r   r   r   r   r   r   ©	rx   é   é   é(   é2   é<   éF   éP   éZ   ©	éd   rÓ  rÓ  rÓ  rÓ  rÓ  rÓ  rÓ  rÓ  r   r×   F©Ú	row_majorÚF©Úorderé   ÚCr   ©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Ó  rÓ  rÓ  rÓ  rÓ  é   )rZ   rÒ   r   rÃ   r~   rM   Úfrom_numpy_dtypeÚ	to_tensorÚcolumn_stackÚastypeÚTensorÚ
from_numpyrÀ  r|   )rÁ  r–   r`   ra   Úarr3rÅ   rž   rŽ   rR   Úbatch1r”  s              r    Ú'test_recordbatch_to_tensor_uniform_typerë  ø  s  € ô �(‰(�7Ó
€CÚ&€DÚ/€DÚ8€DÜ�N‰N×&Ñ&ä�H‰H�T¤× 3Ñ 3°CÓ 8Ô9Ü�H‰H�T¤× 3Ñ 3°CÓ 8Ô9Ü�H‰H�T¤× 3Ñ 3°CÓ 8Ô9ð	
ò ó€Eð �_‰_ uˆ_Ó-€FÜ
�‰˜˜t TÐ*Ó+×2Ñ2°3¸cÐ2ÓB€AÜ�y‰y×#Ñ# AÓ&€HÜ�&˜(¤B×$7Ñ$7¸Ó$<¸bÔAà�_‰_Ó€FÜ
�‰˜˜t TÐ*Ó+×2Ñ2°3¸cÐ2ÓB€AÜ�y‰y×#Ñ# AÓ&€HÜ�&˜(¤B×$7Ñ$7¸Ó$<¸bÔAð �[‰[˜‹^€FÚ#€DÚ+€DÚ3€Dà×Ñ¨ÐÓ.€FÜ
�‰˜˜t TÐ*Ó+×2Ñ2°3¸cÐ2ÓB€AÜ�y‰y×#Ñ# AÓ&€HÜ�&˜(¤B×$7Ñ$7¸Ó$<¸bÔAà×ÑÓ€FÜ
�‰˜˜t TÐ*Ó+×2Ñ2°3¸cÐ2ÓB€AÜ�y‰y×#Ñ# AÓ&€HÜ�&˜(¤B×$7Ñ$7¸Ó$<¸bÔAà�[‰[˜˜AÓ€FÚ€DÚ€DÚ$€Dà×Ñ¨ÐÓ.€FÜ
�‰˜˜t TÐ*Ó+×2Ñ2°3¸cÐ2ÓB€AÜ�y‰y×#Ñ# AÓ&€HÜ�&˜(¤B×$7Ñ$7¸Ó$<¸bÔAà×ÑÓ€FÜ
�‰˜˜t TÐ*Ó+×2Ñ2°3¸cÐ2ÓB€AÜ�y‰y×#Ñ# AÓ&€HÜ�&˜(¤B×$7Ñ$7¸Ó$<¸bÕArT   Úclsc           	      ó:  — g d¢}g d¢}dddt         j                  dddd	d
g	}| j                  t        j                  |t        j
                  «       ¬«      t        j                  |t        j                  «       ¬«      gddg«      }|j                  d¬«      }t        j                  ||g«      j                  t         j                  d¬«      }t        j                  j                  |«      }t        ||t        j                  «       d«       |j                  «       }t        j                  ||g«      j                  t         j                  d¬«      }t        j                  j                  |«      }t        ||t        j                  «       d«       | j                  t        j                  |t        j
                  «       ¬«      t        j                  |t        j                  «       ¬«      t        j                  |t        j                  «       ¬«      gg d¢«      }|j                  d¬«      }t        j                  |||g«      j                  t         j                  d¬«      }t        j                  j                  |«      }t         j                   j#                  |j%                  «       |«       |j&                  dk(  sJ ‚|j(                  t        j                  «       k(  sJ ‚|j*                  |j*                  k(  sJ ‚|j,                  |j,                  k(  sJ ‚|j                  «       }t        j                  |||g«      j                  t         j                  d¬«      }t        j                  j                  |«      }t         j                   j#                  |j%                  «       |«       |j&                  dk(  sJ ‚|j(                  t        j                  «       k(  sJ ‚|j*                  |j*                  k(  sJ ‚|j,                  |j,                  k(  sJ ‚y )NrÈ  rÉ  rÓ  éÈ   é,  éô  éX  é¼  é   é„  r   ry   r“   FrÔ  rÖ  r×  é   rÚ  r×   rÙ  )rZ   Únanr~   r   rM   rÃ  rå   rä  rå  ræ  rt   rç  rè  rÀ  ræ   ri   r´   Úassert_equalr\   r¼  r   r^   r½  )rì  r`   ra   ré  Útabularrž   rŽ   rR   s           r    Útest_to_tensor_mixed_typerù  5  s  € ò '€DÚ/€DØ��cœ2Ÿ6™6 3¨¨S°#°sÐ;€DØ�o‰oä�H‰H�T¤§	¡	£Ô,Ü�H‰H�T¤§¡£
Ô+ð	
ð �ˆ:ó	€Gð ×Ñ¨ÐÓ/€FÜ
�‰˜˜t˜Ó%×,Ñ,¬R¯X©X¸SÐ,ÓA€AÜ�y‰y×#Ñ# AÓ&€HÜ�&˜(¤B§H¡H£J°Ô3à×ÑÓ €FÜ
�‰˜˜t˜Ó%×,Ñ,¬R¯X©X¸SÐ,ÓA€AÜ�y‰y×#Ñ# AÓ&€HÜ�&˜(¤B§H¡H£J°Ô3ð �o‰oä�H‰H�T¤§	¡	£Ô,Ü�H‰H�T¤§¡£
Ô+Ü�H‰H�T¤§
¡
£Ô-ð	
ò ó€Gð ×Ñ¨ÐÓ/€FÜ
�‰˜˜t TÐ*Ó+×2Ñ2´2·:±:ÀSÐ2ÓI€AÜ�y‰y×#Ñ# AÓ&€Hä‡J�J×Ñ˜FŸO™OÓ-¨qÔ1Ø�;‰;˜"ÒÐÐØ�;‰;œ"Ÿ*™*›,Ò&Ð&Ð&Ø�<‰<˜8Ÿ>™>Ò)Ð)Ð)Ø�>‰>˜X×-Ñ-Ò-Ð-Ð-à×ÑÓ €FÜ
�‰˜˜t TÐ*Ó+×2Ñ2´2·:±:ÀSÐ2ÓI€AÜ�y‰y×#Ñ# AÓ&€Hä‡J�J×Ñ˜FŸO™OÓ-¨qÔ1Ø�;‰;˜"ÒÐÐØ�;‰;œ"Ÿ*™*›,Ò&Ð&Ð&Ø�<‰<˜8Ÿ>™>Ò)Ð)Ð)Ø�>‰>˜X×-Ñ-Ò-Ð-Ñ-rT   c            	      ó  — g d¢} g d¢}g d¢}t         j                  j                  t        j                  | t        j                  «       ¬«      t        j                  t        j                  |t
        j                  ¬«      t        j                  «       ¬«      t        j                  |t        j                  «       ¬«      gg d¢«      }t        j                  t        d¬«      5  |j                  «        d d d «       y # 1 sw Y   y xY w)	NrÈ  rÉ  )	rÓ  rî  rï  i�  rð  rñ  rò  ró  rô  r   rÑ   r×   z.Casting from or to halffloat is not supported.rC   )r   rÃ   r~   rM   rÃ  rZ   rÆ  ræ   r+   r,   r-  rä  )r`   ra   ré  rÅ   s       r    Ú>test_recordbatch_to_tensor_unsupported_mixed_type_with_float16rû  p  s¯   € â&€DÚ/€DÚ8€DÜ�N‰N×&Ñ&ä�H‰H�T¤§	¡	£Ô,Ü�H‰H”R—X‘X˜d¬"¯*©*Ô5¼B¿J¹J»LÔIÜ�H‰H�T¤§
¡
£Ô-ð	
ò ó€Eô 
�‰ÜØ>ô
ñ ð 	�‰Ô÷	÷ ñ ús   Ã%C?Ã?Dc            	      óJ  — ddddt         j                  ddddg	} d	d
dddddt         j                  dg	}t        j                  j	                  t        j
                  | t        j                  «       ¬«      t        j
                  |t        j                  «       ¬«      gddg«      }|j                  d¬«      }t        j                  | |g«      j                  t         j                  d¬«      }t        j                  j                  |«      }t         j                  j                  |j                  «       |«       |j                  dk(  sJ ‚|j                   t        j                  «       k(  sJ ‚|j"                  |j"                  k(  sJ ‚|j$                  |j$                  k(  sJ ‚y )Nr   r   r   r   r   r   r   r   rx   rÊ  rË  rÌ  rÍ  rÎ  rÏ  rÑ  r   ry   r“   FrÔ  rÖ  r×  rõ  )rZ   rö  r   rÃ   r~   rM   ræ   rä  rå  ræ  rç  rè  r´   r÷  r\   r¼  r   r^   r½  ©r`   ra   rÅ   rž   rŽ   rR   s         r    Útest_recordbatch_to_tensor_nanrþ  „  sC  € àˆq�!�QœŸ™  1 a¨Ð+€DØ��B˜˜B  B¬¯©°Ð3€DÜ�N‰N×&Ñ&ä�H‰H�T¤§
¡
£Ô-Ü�H‰H�T¤§
¡
£Ô-ð	
ð �ˆ:ó	€Eð �_‰_ uˆ_Ó-€FÜ
�‰˜˜t˜Ó%×,Ñ,¬R¯Z©Z¸sÐ,ÓC€AÜ�y‰y×#Ñ# AÓ&€Hä‡J�J×Ñ˜FŸO™OÓ-¨qÔ1Ø�;‰;˜"ÒÐÐØ�;‰;œ"Ÿ*™*›,Ò&Ð&Ð&Ø�<‰<˜8Ÿ>™>Ò)Ð)Ð)Ø�>‰>˜X×-Ñ-Ò-Ð-Ñ-rT   c                  ó¬  — g d¢} g d¢}t         j                  j                  t        j                  | t        j                  «       ¬«      t        j                  |t        j
                  «       ¬«      gddg«      }t        j                  t         j                  d¬«      5  |j                  «        d d d «       |j                  dd	¬
«      }t        j                  | |g«      j                  t        j                  d¬«      }t         j                  j                  |«      }t        j                   j#                  |j%                  «       |«       |j&                  dk(  sJ ‚|j(                  t        j                  «       k(  sJ ‚|j*                  |j*                  k(  sJ ‚|j,                  |j,                  k(  sJ ‚t         j                  j                  t        j                  | t        j                  «       ¬«      t        j                  |t        j                  «       ¬«      gddg«      }|j                  dd	¬
«      }t        j                   j#                  |j%                  «       |«       |j&                  dk(  sJ ‚|j(                  t        j                  «       k(  sJ ‚|j*                  |j*                  k(  sJ ‚|j,                  |j,                  k(  sJ ‚t         j                  j                  t        j                  | t        j.                  «       ¬«      t        j                  |t        j.                  «       ¬«      gddg«      }|j                  dd	¬
«      }t        j                  | |g«      j                  t        j
                  d¬«      }t         j                  j                  |«      }t        j                   j#                  |j%                  «       |«       |j&                  dk(  sJ ‚|j(                  t        j
                  «       k(  sJ ‚|j*                  |j*                  k(  sJ ‚|j,                  |j,                  k(  sJ ‚y # 1 sw Y   �ŒšxY w)N)	r   r   r   r   Nr   r   r   r   )	rx   rÊ  rË  rÌ  rÍ  rÎ  rÏ  NrÑ  r   ry   r“   z6Can only convert a Table or RecordBatch with no nulls.rC   TF)Únull_to_nanrÕ  rÖ  r×  rõ  )r   rÃ   r~   rM   rt   ræ   r+   r,   r=  rä  rZ   rå  ræ  ri   rç  rè  r´   r÷  r\   r¼  r   r^   r½  rF   rý  s         r    Útest_recordbatch_to_tensor_nullr  ™  s3  € â)€DÚ1€DÜ�N‰N×&Ñ&ä�H‰H�T¤§¡£
Ô+Ü�H‰H�T¤§
¡
£Ô-ð	
ð �ˆ:ó	€Eô 
�‰Ü
×ÑØFô
ñ ð 	�‰Ô÷	ð �_‰_¨¸ˆ_Ó?€FÜ
�‰˜˜t˜Ó%×,Ñ,¬R¯Z©Z¸sÐ,ÓC€AÜ�y‰y×#Ñ# AÓ&€Hä‡J�J×Ñ˜FŸO™OÓ-¨qÔ1Ø�;‰;˜"ÒÐÐØ�;‰;œ"Ÿ*™*›,Ò&Ð&Ð&Ø�<‰<˜8Ÿ>™>Ò)Ð)Ð)Ø�>‰>˜X×-Ñ-Ò-Ð-Ð-ô �N‰N×&Ñ&ä�H‰H�T¤§¡£
Ô+Ü�H‰H�T¤§¡£
Ô+ð	
ð �ˆ:ó	€Eð �_‰_¨¸ˆ_Ó?€Fä‡J�J×Ñ˜FŸO™OÓ-¨qÔ1Ø�;‰;˜"ÒÐÐØ�;‰;œ"Ÿ*™*›,Ò&Ð&Ð&Ø�<‰<˜8Ÿ>™>Ò)Ð)Ð)Ø�>‰>˜X×-Ñ-Ò-Ð-Ð-ô �N‰N×&Ñ&ä�H‰H�T¤§¡£	Ô*Ü�H‰H�T¤§¡£	Ô*ð	
ð �ˆ:ó	€Eð �_‰_¨¸ˆ_Ó?€FÜ
�‰˜˜t˜Ó%×,Ñ,¬R¯Z©Z¸sÐ,ÓC€AÜ�y‰y×#Ñ# AÓ&€Hä‡J�J×Ñ˜FŸO™OÓ-¨qÔ1Ø�;‰;˜"ÒÐÐØ�;‰;œ"Ÿ*™*›,Ò&Ð&Ð&Ø�<‰<˜8Ÿ>™>Ò)Ð)Ð)Ø�>‰>˜X×-Ñ-Ò-Ð-Ñ-÷añ ús   Â Q	Ñ	Qc                  ó†  — t         j                  j                  t        j                  g t        j                  «       ¬«      t        j                  g t        j                  «       ¬«      gddg«      } | j                  «       }t        j                  g g g«      j                  t        j                  d¬«      }t         j                  j                  |«      }|j                  |j                  k(  sJ ‚|j                  t        j                  «       k(  sJ ‚|j                  |j                  k(  sJ ‚|j                  dk(  sJ ‚y )Nr   ry   r“   rÖ  r×  )r   r   )r   rÃ   r~   rM   ræ   rä  rZ   rå  ræ  rç  rè  r¼  r   r^   r½  )rÅ   rž   rŽ   rR   s       r    Ú test_recordbatch_to_tensor_emptyr  Ö  sê   € ä�N‰N×&Ñ&ä�H‰H�RœbŸj™j›lÔ+Ü�H‰H�RœbŸj™j›lÔ+ð	
ð �ˆ:ó	€Eð �_‰_Ó€Fä
�‰˜˜R˜Ó!×(Ñ(¬¯©¸3Ð(Ó?€AÜ�y‰y×#Ñ# AÓ&€Hà�;‰;˜(Ÿ-™-Ò'Ð'Ð'Ø�;‰;œ"Ÿ*™*›,Ò&Ð&Ð&Ø�<‰<˜8Ÿ>™>Ò)Ð)Ð)Ø�>‰>˜VÒ#Ð#Ñ#rT   c                  óŒ  — g d¢} g d¢}t         j                  j                  t        j                  | t        j                  «       ¬«      t        j                  |t        j
                  «       ¬«      gddg«      }t        j                  t         j                  d¬«      5  |j                  «        d d d «       y # 1 sw Y   y xY w)NrÈ  )	ry   r“   r   ry   r“   r   ry   r“   r   r   ry   r“   zDataType is not supportedrC   )
r   rÃ   r~   rM   rt   re  r+   r,   r=  rä  )r`   ra   rÅ   s      r    Ú&test_recordbatch_to_tensor_unsupportedr  é  s‘   € Ú&€Dâ8€DÜ�N‰N×&Ñ&ä�H‰H�T¤§¡£
Ô+Ü�H‰H�T¤§¡£	Ô*ð	
ð �ˆ:ó	€Eô 
�‰Ü
×ÑØ)ô
ñ ð 	�‰Ô÷	÷ ñ ús   Â B:Â:Cc           
      ó´  — g d¢g d¢g}ddgg d¢g}g d¢g d¢g}t         j                  j                  t        j                  |t        j                  | «      ¬«      t        j                  |t        j                  | «      ¬«      t        j                  |t        j                  | «      ¬«      gg d	¢«      }g d
¢}g d¢}g d¢}|j                  d¬«      }t        j                  |||g«      j                  | d¬«      }	t         j                  j                  |	«      }
t        ||
t        j                  | «      d«       |j                  «       }t        j                  |||g«      j                  | d¬«      }	t         j                  j                  |	«      }
t        ||
t        j                  | «      d«       |j                  d«      }g d¢}g d¢}g d¢}|j                  d¬«      }t        j                  |||g«      j                  | d¬«      }	t         j                  j                  |	«      }
t        ||
t        j                  | «      d«       |j                  «       }t        j                  |||g«      j                  | d¬«      }	t         j                  j                  |	«      }
t        ||
t        j                  | «      d«       |j                  dd«      }g d¢}g d¢}g d¢}|j                  d¬«      }t        j                  |||g«      j                  | d¬«      }	t         j                  j                  |	«      }
t        ||
t        j                  | «      d«       |j                  «       }t        j                  |||g«      j                  | d¬«      }	t         j                  j                  |	«      }
t        ||
t        j                  | «      d«       y )Nr
   )r   r   r   r   r   r   rx   rÊ  )rË  rÌ  rÍ  rÎ  rÏ  rÐ  rÑ  )rÓ  rÓ  rÓ  rÓ  rÓ  rÓ  )rÓ  rÓ  rÓ  r   r×   rÈ  rÉ  rÒ  FrÔ  rÖ  r×  rÙ  rÚ  r   rÛ  rÜ  rÝ  rÞ  r   rß  rà  rá  râ  )r   r}   r~   r'   rã  rä  rZ   rå  ræ  rç  rè  rÀ  r|   )rÁ  r`   ra   ré  r   Úarr1_fÚarr2_fÚarr3_frž   rŽ   rR   Útable1Útable2s                r    Ú!test_table_to_tensor_uniform_typer  ú  s/  € ò Ò)Ð*€DØ�ˆHÒ2Ð3€DÚ*ªOÐ<€DÜ�H‰H× Ñ ä×Ñ˜T¬×(;Ñ(;¸GÓ(DÔEÜ×Ñ˜T¬×(;Ñ(;¸GÓ(DÔEÜ×Ñ˜T¬×(;Ñ(;¸GÓ(DÔEð	
ò ó€Eò )€FÚ1€FÚ:€Fà�_‰_ uˆ_Ó-€FÜ
�‰˜ ¨Ð0Ó1×8Ñ8¸ÈÐ8ÓL€AÜ�y‰y×#Ñ# AÓ&€HÜ�&˜(¤B×$7Ñ$7¸Ó$@À"ÔEà�_‰_Ó€FÜ
�‰˜ ¨Ð0Ó1×8Ñ8¸ÈÐ8ÓL€AÜ�y‰y×#Ñ# AÓ&€HÜ�&˜(¤B×$7Ñ$7¸Ó$@À"ÔEð �[‰[˜‹^€FÚ%€FÚ-€FÚ5€Fà×Ñ¨ÐÓ.€FÜ
�‰˜ ¨Ð0Ó1×8Ñ8¸ÈÐ8ÓL€AÜ�y‰y×#Ñ# AÓ&€HÜ�&˜(¤B×$7Ñ$7¸Ó$@À"ÔEà×ÑÓ€FÜ
�‰˜ ¨Ð0Ó1×8Ñ8¸ÈÐ8ÓL€AÜ�y‰y×#Ñ# AÓ&€HÜ�&˜(¤B×$7Ñ$7¸Ó$@À"ÔEà�[‰[˜˜AÓ€FÚ€FÚ!€FÚ&€Fà×Ñ¨ÐÓ.€FÜ
�‰˜ ¨Ð0Ó1×8Ñ8¸ÈÐ8ÓL€AÜ�y‰y×#Ñ# AÓ&€HÜ�&˜(¤B×$7Ñ$7¸Ó$@À"ÔEà×ÑÓ€FÜ
�‰˜ ¨Ð0Ó1×8Ñ8¸ÈÐ8ÓL€AÜ�y‰y×#Ñ# AÓ&€HÜ�&˜(¤B×$7Ñ$7¸Ó$@À"ÕErT   c           	      ó  — t        j                  t        d«      «      t        j                  g d¢«      g}ddg} | ||¬«      }|j                  d«      }|j                  dk(  sJ ‚ | |D �cg c]  }|j                  d«      ‘Œ c}|¬«      }|j                  |«      sJ ‚|j                  dd«      } | |D �cg c]  }|j                  dd«      ‘Œ c}|¬«      }|j                  |«      sJ ‚|j                  d«      j                  |«      sJ ‚t        |j                  t        |«      «      «      dk(  sJ ‚t        j                  t        «      5  |j                  d	«       d d d «       |j                  dd«      j                  |d d «      sJ ‚|j                  dd«      j                  |d d «      sJ ‚|j                  dd«      j                  |dd
 «      sJ ‚|j                  dt        |«      dz
  «      j                  |dd  «      sJ ‚|j                  t        |«      dz
  d«      j                  |dd  «      sJ ‚|j                  t        |«      d
z
  d«      j                  |dd «      sJ ‚y c c}w c c}w # 1 sw Y   �ŒxY w)Nr   r¡   rC  rD  rz   r   r   r   rp   r   éþÿÿÿéüÿÿÿ)
r   rM   r„   r|   rÀ   rO   r2   r+   r,   rs   )	Úfactoryr;   r{   ÚobjÚslicedrŽ   rR   Úsliced2Ú	expected2s	            r    Ú_table_like_slice_testsr  :  s:  € ä
�‰”�q“ÓÜ
�‰Ò$Ó%ð€Dð �4ˆL€Eá
�$˜eÔ
$€Cà�Y‰Y�q‹\€FØ�?‰?˜aÒÐÐá¨DÖ1 q˜Ÿ™ �
Ò1¸Ô?€HØ�=‰=˜Ô"Ð"Ð"à�i‰i˜˜1‹o€GÙ°Ö5¨1˜Ÿ™  A�Ò5¸UÔC€IØ�>‰>˜)Ô$Ð$Ð$ð �9‰9�Q‹<×Ñ˜sÔ#Ð#Ð#ô ˆs�y‰yœ˜S›Ó"Ó# qÒ(Ð(Ð(ä	�‰”zÓ	"ñ Ø�	‰	�"Œ÷ð �9‰9�Q˜‹?×!Ñ! # b q 'Ô*Ð*Ð*Ø�9‰9�Q˜‹?×!Ñ! # b q 'Ô*Ð*Ð*Ø�9‰9�Q˜‹?×!Ñ! # a¨ (Ô+Ð+Ð+Ø�9‰9�Qœ˜C› 1™Ó%×,Ñ,¨S°°¨WÔ5Ð5Ð5Ø�9‰9”S˜“X ‘\ 1Ó%×,Ñ,¨S°°¨XÔ6Ð6Ð6Ø�9‰9”S˜“X ‘\ 1Ó%×,Ñ,¨S°°B¨ZÔ8Ð8Ñ8ùò- 2ùò 6÷ñ ús   Á,I3Â8I8ÅI=É=Jr  Úscalar_typec                 ó:  — t        j                  t        d«      «      g}dg}| t         j                  u r	 | |«      }n
 | ||¬«      }t        j                  ddg|¬«      }|j	                  |d   |d   «      }|j                  |j	                  dd«      «      sJ ‚y )	Nrx   rC  rz   r   r   r   r   r   )r   rM   r„   r'   r|   rO   )r  r  r;   r{   r  Úoffsetsrž   s          r    Ú%test_table_like_slice_integer_scalarsr  _  s‹   € ô �H‰H”U˜2“YÓÐ €DØˆF€EØ”"×"Ñ"Ñ"Ù�d‹m‰á�d %Ô(ˆÜ�h‰h˜˜1�v KÔ0€Gà�Y‰Y�w˜q‘z 7¨1¡:Ó.€Fà�=‰=˜Ÿ™ 1 a›Ô)Ð)Ñ)rT   c                 óØ  — t        j                  t        d«      «      g}dg}| t         j                  u r	 | |«      }n
 | ||¬«      }t        j                  dt        j
                  «       ¬«      }|j                  |«      j                  |j                  t        |«      «      «      sJ ‚t        j                  t        «      5  |j                  d|«       d d d «       y # 1 sw Y   y xY w)Nrx   rC  rz   l            r   r   )r   rM   r„   r'   ÚscalarrÅ  r|   rO   r2   r+   r,   ÚOverflowError)r  r;   r{   r  Úoverflows        r    Ú,test_table_like_slice_uint64_scalar_overflowr  v  s²   € ô �H‰H”U˜2“YÓÐ €DØˆF€EØ”"×"Ñ"Ñ"Ù�d‹m‰á�d %Ô(ˆÜ�y‰y˜¤r§y¡y£{Ô3€Hà�9‰9�XÓ×%Ñ% c§i¡i´°C³Ó&9Ô:Ð:Ð:Ü	�‰”}Ó	%ñ Ø�	‰	�!�XÔ÷÷ ñ ús   ÃC Ã C)c                  óH   — t        t        j                  j                  «      S r   )r  r   rÃ   r~   rW   rT   r    Útest_recordbatch_slice_getitemr   ‰  s   € Ü"¤2§>¡>×#=Ñ#=Ó>Ð>rT   c                  ó4   — t        t        j                  «      S r   )r  r   r   rW   rT   r    Útest_table_slice_getitemr"  �  s   € Ü"¤2§8¡8Ó,Ð,rT   c            	      ób  — t        j                  dt        j                  g t        j                  d«      ¬«      i«      } | j	                  dd«      }|j                  «        t        j                  dt        j                  g t        j                  «       ¬«      i«      } | j                  «        y )Nry   Úusr   r   )r   r   rM   r·   r|   r¦   r'   r(   )r   r€   s     r    Útest_slice_zero_length_tabler%  ‘  sw   € ô �H‰H�cœ2Ÿ8™8 B¬R¯\©\¸$Ó-?Ô@ÐAÓB€EØ—+‘+˜a Ó#€KØ×ÑÔä�H‰H�cœ2×+Ñ+¨B´R·Y±Y³[ÔAÐBÓC€EØ	‡O�OÕrT   c                  óÄ  — t        j                  dgd¬«      } t        j                  ddgd¬«      }t        j                  t        j                  | «      gdg«      }t        j                  t        j                  |«      gdg«      }t	        j
                  t        j                  «      5  t        j                  j                  ||g«       d d d «       y # 1 sw Y   y xY w)Nr   rÄ  rÑ   rA   rB   ri   rD  )	rZ   rM   r   r(  r+   r,   ÚArrowInvalidr}   r1  )r‘  r’  rê  r”  s       r    Ú"test_recordbatchlist_schema_equalsr(  œ  sœ   € ä	�‰�1�#˜XÔ	&€BÜ	�‰�3˜�* IÔ	.€BÜ�_‰_œbŸh™h r›l˜^¨d¨VÓ4€FÜ�_‰_œbŸh™h r›l˜^¨d¨VÓ4€Fä	�‰”r—‘Ó	'ñ 0Ü
�‰×Ñ˜v vÐ.Ô/÷0÷ 0ñ 0ús   Â+"CÃCc                  óˆ   — t        j                  t        j                  g d¢«      gdg¬«      } | d   j                  dk(  sJ ‚y r]  )r   r   rM   r`  ©Úts    r    Ú#test_table_column_sets_private_namer,  §  s6   € ä
�‰”"—(‘(š<Ó(Ð)°$°Ô8€AØˆQ‰4�:‰:˜ÒÐÑrT   c                  ó*  — t         j                  j                  g g ¬«      } | j                  | «      sJ ‚| j                  d «      rJ ‚t         j                  j                  g g ddi¬«      }| j                  |d¬«      rJ ‚| j                  |«      sJ ‚y )Nrz   rL  rM  rN  TrP  )r   r}   r~   rO   )r   r,  s     r    Útest_table_equalsr.  ­  s‰   € Ü�H‰H× Ñ  ¨2Ð Ó.€EØ�<‰<˜ÔÐÐð �|‰|˜DÔ!Ð!Ð!ä�H‰H× Ñ  ¨2¸ÀÐ8HÐ ÓI€EØ�|‰|˜E°$ˆ|Ô7Ð7Ð7Ø�<‰<˜ÔÐÑrT   c                  ó¬  — t        j                  t        j                  dt        j                  «       «      t        j                  dt        j                  «       «      g«      } t        j
                  t        j                  dg«      t        j                  dg«      gddg¬«      }t         j                  j                  |g| «      }|j                  j                  | «      sJ ‚|j                  d«      t        j                  dgg«      k(  sJ ‚|j                  d«      t        j                  dgg«      k(  sJ ‚t        j                  t        j                  dt        j                  «       «      g«      }t        j                  t         j                  «      5  t         j                  j                  |g|«       d d d «       t        j
                  t        j                  dg«      gdg«      }t        j                  t         j                  «      5  t         j                  j                  |g| «       d d d «       y # 1 sw Y   ŒƒxY w# 1 sw Y   y xY w)Nry   r“   r   g…ëQ¸	@rz   r   )r   rÊ   rä   rE   ri   r(  rM   r}   r1  rO   r¥   r'   r+   r,   r'  )rÊ   rÅ   r   Úincompatible_schemaÚincompatible_batchs        r    Ú"test_table_from_batches_and_schemar2  ¹  s¬  € Ü�Y‰YÜ
�‰�”b—h‘h“jÓ!Ü
�‰�”b—j‘j“lÓ#ðó €Fô �O‰OœRŸX™X q c›]¬B¯H©H°d°VÓ,<Ð=Ø#&¨ *ô.€Eä�H‰H×!Ñ! 5 '¨6Ó2€EØ�<‰<×Ñ˜vÔ&Ð&Ð&Ø�<‰<˜‹?œb×.Ñ.°°¨uÓ5Ò5Ð5Ð5Ø�<‰<˜‹?œb×.Ñ.°°¨xÓ8Ò8Ð8Ð8äŸ)™)¤R§X¡X¨c´2·8±8³:Ó%>Ð$?Ó@ÐÜ	�‰”r—‘Ó	'ñ <Ü
�‰×Ñ˜u˜gÐ':Ô;÷<ô Ÿ™¬"¯(©(°A°3«-¨¸3¸%Ó@ÐÜ	�‰”r—‘Ó	'ñ <Ü
�‰×ÑÐ1Ð2°FÔ;÷<ð <÷	<ð <ú÷<ð <ús   Æ"H>È"I
È>IÉ
Ic            	      ó@  — ddl m}  dd l}|j                  dt	        t        d«      «      i«      }|j                  dt	        t        dd«      «      i«      }t        j                  j                  |d¬«      }t        j                  j                  |d¬«      }t        j                  j                  |||g«      }|j                  |||gd¬	«      }|j                  «       }t        |«      d
k(  sJ ‚ | t        j                  j                  |«      j                  «       |«       |j                  d¬«      }t	        t        t        |«      «      g d¢k(  sJ ‚ | |j                  «       |«        | t        j                  j                  |«      j                  «       |«       t        j                  j                  t!        |||g«      «      }	|j#                  |	«      sJ ‚t%        j&                  t(        «      5  |j                  d¬«       d d d «       y # 1 sw Y   y xY w)Nr   )rÌ   ry   rx   rË  F)Úpreserve_indexT)Úignore_indexr   râ  r¶  )rx   râ  r   rx   )r³   rÌ   r¤   r¾   r/   r„   r   rÃ   rÄ   r}   r1  ÚconcatÚ
to_batchesr2   r¦   ÚmapÚiterrO   r+   r,   r-   )
rÌ   r©   Údf1Údf2rê  r”  r   Úexpected_dfr7  Útable_from_iters
             r    Útest_table_to_batchesr>  Î  s¶  € å1Ûà
�,‰,˜œT¤%¨£)›_Ð-Ó
.€CØ
�,‰,˜œT¤%¨¨B£-Ó0Ð1Ó
2€Cä�^‰^×'Ñ'¨¸EÐ'ÓB€FÜ�^‰^×'Ñ'¨¸EÐ'ÓB€Fä�H‰H×!Ñ! 6¨6°6Ð":Ó;€Eà—)‘)˜S # s˜O¸$�)Ó?€Kà×ÑÓ €GÜˆw‹<˜1ÒÐÐá”r—x‘x×,Ñ,¨WÓ5×?Ñ?ÓAØ"ô$ð ×Ñ¨RÐÓ0€GÜ””C˜Ó!Ó"¢oÒ5Ð5Ð5á�u—‘Ó(¨+Ô6Ù”r—x‘x×,Ñ,¨WÓ5×?Ñ?ÓAØ"ô$ô —h‘h×+Ñ+¬D°&¸&À&Ð1IÓ,JÓK€OØ�<‰<˜Ô(Ð(Ð(ä	�‰”zÓ	"ñ *Ø×Ñ qÐÔ)÷*÷ *ñ *ús   Ç8HÈHc                 óâ  — t        j                  t        d«      d¬«      t        j                  g d¢d¬«      g}| j                  |d¬«      }|j	                  «        |j
                  j                  rJ ‚t        |«      dk(  sJ ‚|j                  dk(  sJ ‚|j                  t        |«      k(  sJ ‚|j                  dk(  sJ ‚|j                  «       d	k(  sJ ‚|j                  d	k(  sJ ‚t        j                  |«      t        j!                  |«      |j                  «       z   k\  sJ ‚|j#                  «       }|t%        d
g d¢fdg d¢fg«      k(  sJ ‚t'        |t(        «      sJ ‚|| j+                  ||j
                  ¬«      k(  sJ ‚t-        j.                  t0        «      5  |d    d d d «       g }|j3                  «       D ]ñ  }| t         j4                  u r§t7        |«      t         j8                  u sJ ‚|j;                  «       D ]  }|�ŒJ ‚ t-        j.                  t0        «      5  |j=                  d«       d d d «       t-        j.                  t0        «      5  |j=                  |j>                  «       d d d «       n%tA        t7        |«      t         jB                  «      sJ ‚|jE                  |«       Œó |jF                  |k(  sJ ‚|| j                  ||jH                  ¬«      k(  sJ ‚|| j                  |dd  |jH                  dd  ¬«      k7  sJ ‚||k7  sJ ‚t        j
                  t        jJ                  dt        jL                  «       ddi¬«      t        jJ                  dt        jN                  «       «      gddi¬«      }| j                  ||¬«      }|j
                  |k(  sJ ‚tQ        jR                  |«      } |«       €J ‚~ |«       �J ‚y # 1 sw Y   �Œ*xY w# 1 sw Y   �Œ§xY w# 1 sw Y   �ŒQxY w)Nr   rå   r   rB  rt   rÈ   rz   ©r   r   é   ry   )r   r   r   r   r   r“   r'  r   rp   r   rC  rL  rM  r}  rD  r{  r|  )*r   rM   r„   r~   r*   rÊ   rO  r2   rÀ   rp  r^   r%   r8   r4   r5   r6   r7   Ú	to_pydictr   r   ÚdictÚfrom_pydictr+   r,   rs   rE  r}   r   rŠ   r1   rò   Ú
num_chunksÚ
issubclassÚArrayr™   rF  rG  rä   rå   rt   r9   r:   )	rì  r;   r   ÚpydictrF  rª   rò   rÊ   r=   s	            r    Útest_table_basicsrI  ñ  s§  € ô 	�‰”�q“ Ô(Ü
�‰Ò'¨gÔ6ð€Dð �O‰O˜D¨
ˆOÓ3€EØ	‡N�NÔà�|‰|×$Ò$Ð$Ð$Üˆu‹:˜Š?Ðˆ?Ø�>‰>˜QÒÐÐØ×Ñ¤ D£	Ò)Ð)Ð)Ø�;‰;˜&Ò Ð Ð à×&Ñ&Ó(Ð,AÒAÐAÐAØ�<‰<Ð0Ò0Ð0Ð0Ü�=‰=˜Ó¤6×#4Ñ#4Øó$Ø×,Ñ,Ó.ñ$/ò /ð /ð /ð �_‰_Ó€FØ”[Ø	ŠoÐØ	Ò$Ð%ð"ó ò ð ð ô �fœdÔ#Ð#Ð#Ø�C—O‘O F°5·<±<�OÓ@Ò@Ð@Ð@ä	�‰”zÓ	"ñ àˆaŠ÷ð €GØ× Ñ Ó"ò ˆà”"—(‘(‰?Ü˜“9¤§¡Ñ/Ð/Ð/àŸ™Ó)ò )�ØÑ(Ð(Ð(ð)ô —‘œzÓ*ñ Ø—	‘	˜"”÷ô —‘œzÓ*ñ *Ø—	‘	˜#Ÿ.™.Ô)÷*ð *ô œd 3›i¬¯©Ô2Ð2Ð2à�‰�sÕð#ð& �=‰=˜GÒ#Ð#Ð#Ø�C—O‘O G°5×3EÑ3E�OÓFÒFÐFÐFØ�C—O‘O G¨A¨B K°u×7IÑ7IÈ!È"Ð7M�OÓNÒNÐNÐNØ�GÒÐÐô �Y‰YœŸ™ ¤r§x¡x£zØ+0°'Ð*:ô<äŸ™ ¤r§x¡x£zÓ2ð4ð "(¨Ð 0ô2€Fð �O‰O˜D¨ˆOÓ0€EØ�<‰<˜6Ò!Ð!Ð!ä	�‰�UÓ	€BÙ‹4ÐÐÐØÙ‹4ˆ<Ð‰<÷Qñ ú÷ñ ú÷*ñ *ús$   ÆO
È OÉO$Ï
OÏO!	Ï$O.	c                  óŒ   — t        j                  t        d¬«      5  t        j                  «        d d d «       y # 1 sw Y   y xY w)Nr}   rC   )r+   r,   rh   r   r}   rW   rT   r    Útest_table_dunder_initrK  >  s.   € Ü	�‰”y¨Ô	0ñ Ü
�‰Œ
÷÷ ñ úrù   c                  ó
  — t        j                  ddg«      } t        j                  ddg«      }t        j                  dt        j                  «       t	        dd¬«      ¬	«      }t        j                  d
t        j                  «       d¬«      }t         j
                  j                  | |gt        j                  ||g«      ¬«      }d|j                  d«      j                  v sJ ‚|j                  d«      j                  du sJ ‚y )Nr   r   r   r   Úfield1ÚAÚBrÈ   r}  Úfield2F©Únullabler'  r�  r   )
r   rM   rä   rE   rC  r}   r~   rÊ   rO  rR  )Úarr0r`   Úfield0rM  r   s        r    Ú0test_table_from_arrays_preserves_column_metadatarU  C  sÆ   € ä�8‰8�Q˜�FÓ€DÜ�8‰8�Q˜�FÓ€DÜ�X‰X�h¤§¡£
´T¸CÀ3Ô5GÔH€FÜ�X‰X�h¤§¡£
°UÔ;€FÜ�H‰H× Ñ  $¨ Ü(*¯	©	°6¸6Ð2BÓ(Cð !ó E€Eà�5—;‘;˜q“>×*Ñ*Ñ*Ð*Ð*Ø�;‰;�q‹>×"Ñ" eÑ+Ð+Ñ+rT   c                  ó°  — t        j                  t        d«      «      t        j                  g d¢«      g} t        j                  t
        «      5  t         j                  j                  | g d¢¬«       d d d «       t        j                  t
        «      5  t         j                  j                  | dg¬«       d d d «       y # 1 sw Y   ŒNxY w# 1 sw Y   y xY wrs  )r   rM   r„   r+   r,   r-   r}   r~   rm   s    r    Ú$test_table_from_arrays_invalid_namesrW  O  s¡   € ä
�‰”�q“ÓÜ
�‰Ò$Ó%ð€Dô 
�‰”zÓ	"ñ :Ü
�‰×Ñ˜TªÐÔ9÷:ô 
�‰”zÓ	"ñ 0Ü
�‰×Ñ˜T¨#¨ÐÔ/÷0ð 0÷:ð :ú÷0ð 0ús   Á$C Â#CÃ C	ÃCc                  ó.  — t        t        d«      «      g d¢g} t        j                  | ddg¬«      }t        j                  j                  | ddg¬«      }|j                  |«      sJ ‚t        j                  t        j                  dt        j                  «       «      t        j                  dt        j                  «       «      g«      }t        j                  | |¬«      }t        j                  j                  | |¬«      }|j                  |«      sJ ‚y )Nr   r¡   ry   r“   rz   r'  )r/   r„   r   r   r}   r~   rO   rÊ   rä   rÃ  rE   )r;   rž   rR   rÊ   s       r    Útest_table_from_listsrY  [  sÔ   € äŒU�1‹X‹Úð€Dô
 �X‰X�d 3¨ *Ô-€FÜ�x‰x×#Ñ# D°°c°
Ð#Ó;€HØ�=‰=˜Ô"Ð"Ð"ä�Y‰YÜ
�‰�”b—i‘i“kÓ"Ü
�‰�”b—h‘h“jÓ!ðó €Fô �X‰X�d 6Ô*€FÜ�x‰x×#Ñ# D°Ð#Ó8€HØ�=‰=˜Ô"Ð"Ñ"rT   c                 óP  — t        j                  ddgddggt        j                  «       ¬«      t        j                  g d¢gt        j                  «       ¬«      g}t        j                  t        j
                  dt        j                  «       «      t        j
                  dt        j                  «       «      gd	d
i¬«      }t         j                  j                  ||¬«      }| j                  | j                  |«      «      }|j                  «        |j                  |«      sJ ‚y )Nr   r   r   r   r   )ÚsomeÚstringsNÚ ry  Ústrsr{  r|  r}  r'  )r   r'   rÄ  r(   rÊ   rä   r}   r~   rš   r›   r*   rO   )rœ   r;   rÊ   r   rž   s        r    Útest_table_pickler_  n  sÜ   € ä
×Ñ˜1˜a˜& 1 a &Ð)´·	±	³Ô<Ü
×ÑÒ7Ð8¼r¿y¹y»{ÔKð€Dô �Y‰YœŸ™ ¬¯©«Ó5ÜŸ™ ¬¯©«Ó5ð7à!'¨Ð 0ô2€Fô �H‰H× Ñ  ¨fÐ Ó5€Eà× Ñ  ×!4Ñ!4°UÓ!;Ó<€FØ
‡O�OÔØ�=‰=˜ÔÐÑrT   c                  óR  — t        j                  t        d«      «      t        j                  g d¢«      t        j                  t        dd«      «      g} t         j                  j	                  | d¬«      }|j                  d«      j                  |j                  j                  d«      «      sJ ‚|j                  d«      j                  |j                  j                  d«      «      sJ ‚t        j                  t        «      5  |j                  d«       d d d «       t        j                  t        «      5  |j                  d «       d d d «       t        j                  t        «      5  |j                  d	«       d d d «       y # 1 sw Y   ŒpxY w# 1 sw Y   ŒIxY w# 1 sw Y   y xY wr�  )r   rM   r„   r}   r~   rä   rO   rÊ   r+   r,   r‚  rh   rs   ©r;   r   s     r    Útest_table_get_fieldrb  }  s9  € ä
�‰”�q“ÓÜ
�‰Ò$Ó%Ü
�‰”�q˜"“Óð€Dô
 �H‰H× Ñ  ¨_Ð Ó=€Eà�;‰;�sÓ×"Ñ" 5§<¡<×#5Ñ#5°cÓ#:Ô;Ð;Ð;Ø�;‰;�q‹>× Ñ  §¡×!3Ñ!3°CÓ!8Ô9Ð9Ð9ä	�‰”xÓ	 ñ Ø�‰�CÔ÷ô 
�‰”yÓ	!ñ Ø�‰�DÔ÷ô 
�‰”zÓ	"ñ Ø�‰�AŒ÷ð ÷ð ú÷ð ú÷ð úr„  c                  óÌ  — t        j                  t        d«      «      t        j                  g d¢«      t        j                  t        dd«      «      g} t         j                  j	                  | d¬«      }|j                  d«      j                  |j                  d«      «      sJ ‚t        j                  t        d¬	«      5  |j                  d
«       d d d «       t        j                  t        «      5  |j                  d «       d d d «       t        j                  t        «      5  |j                  d«       d d d «       y # 1 sw Y   ŒpxY w# 1 sw Y   ŒIxY w# 1 sw Y   y xY wr†  )r   rM   r„   r}   r~   r¥   rO   r+   r,   r‚  rh   rs   ra  s     r    Útest_table_select_columnrd  ’  s  € ä
�‰”�q“ÓÜ
�‰Ò$Ó%Ü
�‰”�q˜"“Óð€Dô
 �H‰H× Ñ  ¨_Ð Ó=€Eà�<‰<˜Ó×#Ñ# E§L¡L°£OÔ4Ð4Ð4ä	�‰”xØAô
Cñ à�‰�SÔ÷ô 
�‰”yÓ	!ñ Ø�‰�TÔ÷ô 
�‰”zÓ	"ñ Ø�‰�QŒ÷ð ÷ð ú÷ð ú÷ð úrˆ  c                  ó<  — t        j                  t        j                  g d¢«      t        j                  g d¢«      t        j                  g d¢«      gg d¢¬«      } t        j                  t
        d¬«      5  | j                  d«       d d d «       y # 1 sw Y   y xY w)	Nr
   r   r   r®   rz   z"Field "a" exists 2 times in schemarC   ry   )r   r   rM   r+   r,   r‚  r¥   ©r   s    r    Ú!test_table_column_with_duplicatesrg  §  sq   € ä�H‰H”b—h‘hšyÓ)Ü—h‘hšyÓ)Ü—h‘hšyÓ)ð+â2AôC€Eô 
�‰”xØAô
Cñ à�‰�SÔ÷÷ ñ ús   Á7BÂBc                 ór  — t        j                  t        d«      «      t        j                  g d¢«      t        j                  t        dd«      «      g}| j                  |d¬«      }t        j                  d|d   j
                  «      }|j                  d||d   «      }|j                  ||d   «      }| j                  ||d   gz   d	¬«      }|j                  |«      sJ ‚|j                  |«      sJ ‚|j                  d
||d   «      }| j                  |d   g|z   d¬«      }|j                  |«      sJ ‚y )Nr   r¡   rx   r×   rz   r”   r   r   )ry   r“   r   r”   r   )r”   ry   r“   r   )	r   rM   r„   r~   rä   r   Ú
add_columnÚappend_columnrO   )rì  r;   r   Ú	new_fieldÚt2Út3rR   Út4s           r    Útest_table_add_columnro  ²  s(  € ô 	�‰”�q“ÓÜ
�‰Ò$Ó%Ü
�‰”�q˜"“Óð€Dð
 �O‰O˜D¨ˆOÓ8€Eä—‘˜˜d 1™gŸl™lÓ+€IØ	×	Ñ	˜!˜Y¨¨Q©Ó	0€BØ	×	Ñ	˜Y¨¨Q©Ó	0€Bà�‰˜t t¨A¡w iÑ/Ø%9ð ó ;€Hà�9‰9�XÔÐÐØ�9‰9�XÔÐÐà	×	Ñ	˜!˜Y¨¨Q©Ó	0€BØ�‰  Q¡˜y¨4Ñ/Ø%9ð ó ;€Hà�9‰9�XÔÐÑrT   c                 ó´  — t        j                  t        d«      «      t        j                  g d¢«      t        j                  t        dd«      «      g}| j                  |d¬«      }t        j                  d|d   j
                  «      }|j                  d||d   «      }t        |«      }|d   |d<   | j                  |d	¬«      }|j                  |«      sJ ‚y )
Nr   r¡   rx   r×   rz   r”   r   r   )r”   r“   r   )	r   rM   r„   r~   rä   r   Ú
set_columnr/   rO   )rì  r;   r   rk  rl  Úexpected_datarR   s          r    Útest_table_set_columnrs  Ð  s¿   € ô 	�‰”�q“ÓÜ
�‰Ò$Ó%Ü
�‰”�q˜"“Óð€Dð
 �O‰O˜D¨ˆOÓ8€Eä—‘˜˜d 1™gŸl™lÓ+€IØ	×	Ñ	˜!˜Y¨¨Q©Ó	0€Bä˜“J€MØ˜A‘w€M�!ÑØ�‰˜}Ø%4ð ó 6€Hà�9‰9�XÔÐÑrT   c                 óB  — t        j                  t        d«      «      }t        j                  g d¢«      }t        j                  t        dd«      «      }| j                  |||gd¬«      }|j	                  ddg«      }|j	                  d«      }| j                  |gd¬«      }|j                  |«      sJ ‚| j                  ||gd	¬«      }|j                  |«      sJ ‚t        j                  t        d
¬«      5  |j	                  dg«       ddd«       y# 1 sw Y   yxY w)z& drop one or more columns given labelsr   r¡   rx   r×   rz   ry   r“   ©r   ©r“   r   úColumn 'd' not foundrC   r”   N)	r   rM   r„   r~   Údrop_columnsrO   r+   r,   r‚  )	rì  ry   r“   r   r   rl  rm  Úexp_t2Úexp_t3s	            r    Útest_table_drop_columnsr{  é  sù   € ô 	�‰”�q“Ó€AÜ
�‰Ò$Ó%€AÜ
�‰”�q˜"“Ó€Aà�O‰O˜Q  1˜I¨_ˆOÓ=€EØ	×	Ñ	˜S #˜JÓ	'€BØ	×	Ñ	˜CÓ	 €Bà�_‰_˜a˜S¨ˆ_Ó/€FØ�=‰=˜ÔÐÐØ�_‰_˜a ˜V¨;ˆ_Ó7€FØ�=‰=˜ÔÐÐô 
�‰”xÐ'=Ô	>ñ "Ø×Ñ˜C˜5Ô!÷"÷ "ñ "ús   Ã9DÄDc                  ó–  — t        j                  t        d«      «      } t        j                  g d¢«      }t        j                  t        dd«      «      }t         j                  j	                  | ||gd¬«      }|j                  ddg«      }|j                  d«      }t         j                  j	                  |gd¬«      }|j                  |«      sJ ‚t         j                  j	                  ||gd	¬«      }|j                  |«      sJ ‚t        j                  t        d
¬«      5  |j                  dg«       ddd«       y# 1 sw Y   yxY w)z, verify the alias of drop_columns is workingr   r¡   rx   r×   rz   ry   r“   ru  rv  rw  rC   r”   N)
r   rM   r„   r}   r~   ÚdroprO   r+   r,   r‚  )ry   r“   r   r   rl  rm  ry  rz  s           r    Útest_table_dropr~    s  € ä
�‰”�q“Ó€AÜ
�‰Ò$Ó%€AÜ
�‰”�q˜"“Ó€Aä�H‰H× Ñ  ! Q¨ °/Ð ÓB€EØ	�‰�S˜#�JÓ	€BØ	�‰�C‹€Bä�X‰X×!Ñ! 1 #¨VÐ!Ó4€FØ�=‰=˜ÔÐÐÜ�X‰X×!Ñ! 1 a &°Ð!Ó<€FØ�=‰=˜ÔÐÐô 
�‰”xÐ'=Ô	>ñ Ø�
‰
�C�5Ô÷÷ ñ ús   Ä#D?Ä?Ec                 ód  — t        j                  t        d«      «      t        j                  g d¢«      t        j                  t        dd«      «      g}| j                  |d¬«      }|j	                  d«      }|j                  «        | j                  |dd  d¬«      }|j                  |«      sJ ‚y )	Nr   r¡   rx   r×   rz   r   r   rv  )r   rM   r„   r~   Úremove_columnr*   rO   )rì  r;   r   rl  rR   s        r    Útest_table_remove_columnr�    s‘   € ô 	�‰”�q“ÓÜ
�‰Ò$Ó%Ü
�‰”�q˜"“Óð€Dð
 �O‰O˜D¨ˆOÓ8€Eà	×	Ñ	˜QÓ	€BØ‡K�K„MØ�‰˜t A B˜x¨zˆÓ:€HØ�9‰9�XÔÐÑrT   c                 ón  — t        j                  t        d«      «      g}| j                  |dg¬«      }|j	                  d«      }|j                  «        t        |«      t        |«      k(  sJ ‚|j                  d|j                  d«      |d   «      }|j                  «        |j                  |«      sJ ‚y )Nr   ry   rz   r   )
r   rM   r„   r~   r€  r*   r2   ri  rä   rO   )rì  r;   r   rl  rm  s        r    Útest_table_remove_column_emptyrƒ  -  s™   € ô 	�‰”�q“Óð€Dð �O‰O˜D¨¨ˆOÓ.€Eà	×	Ñ	˜QÓ	€BØ‡K�K„MÜˆr‹7”c˜%“jÒ Ð Ð à	�‰�q˜%Ÿ+™+ a›.¨%°©(Ó	3€BØ‡K�K„MØ�9‰9�UÔÐÑrT   c                  ó¶   — g } ddg}d}t        j                  t        |¬«      5  t        j                  j                  | |¬«       d d d «       y # 1 sw Y   y xY w)Nry   r“   z?Length of names [(]2[)] does not match length of arrays [(]0[)]rC   rz   )r+   r,   r-   r   r}   r~   )r;   r{   Úmessages      r    Útest_empty_table_with_namesr†  D  sR   € à€DØ�#ˆJ€EàIð ä	�‰”z¨Ô	1ñ 0Ü
�‰×Ñ˜T¨ÐÔ/÷0÷ 0ñ 0ús   ¤"AÁAc                  ó²   — t        j                  g «      } | j                  g k(  sJ ‚| j                  t         j                  j                  g g «      «      sJ ‚y r   )r   r   rG  rO   r}   r~   rf  s    r    Útest_empty_tablerˆ  N  sF   € Ü�H‰H�R‹L€Eà×Ñ Ò#Ð#Ð#Ø�<‰<œŸ™×,Ñ,¨R°Ó4Ô5Ð5Ñ5rT   c                 óÊ  — t        j                  t        d«      «      t        j                  g d¢«      t        j                  t        dd«      «      g}| j                  |g d¢¬«      }|j                  g d¢k(  sJ ‚| j                  |g d¢¬«      }|j                  g d¢«      }|j                  «        |j                  g d¢k(  sJ ‚|j                  |«      sJ ‚|j                  d«      }|j                  «        |j                  g d¢k(  sJ ‚|j                  |«      sJ ‚d}t        j                  t        |¬«      5  |j                  d	«       d d d «       y # 1 sw Y   y xY w)
Nr   r¡   rx   r×   rz   )ÚehÚbeeÚseaz.names must be a list or dict not <class 'str'>rC   z
not a list)r   rM   r„   r~   rG  Úrename_columnsr*   rO   r+   r,   rh   )rì  r;   r   rR   rl  rm  r…  s          r    Útest_table_rename_columnsrŽ  U  s-  € ô 	�‰”�q“ÓÜ
�‰Ò$Ó%Ü
�‰”�q˜"“Óð€Dð
 �O‰O˜DªˆOÓ8€EØ×Ñ¢Ò0Ð0Ð0à�‰˜tÒ+?ˆÓ@€Hð 
×	Ñ	Ò2Ó	3€BØ‡K�K„MØ�?‰?Ò2Ò2Ð2Ð2Ø�9‰9�XÔÐÐð 
×	Ñ	Ð2Ó	3€BØ‡K�K„MØ�?‰?Ò2Ò2Ð2Ð2Ø�9‰9�XÔÐÐà>€GÜ	�‰”y¨Ô	0ñ +Ø×Ñ˜\Ô*÷+÷ +ñ +ús   Ä>EÅE"c                 ó¬  — t        j                  t        d«      «      t        j                  g d¢«      t        j                  t        dd«      «      g}| j                  |g d¢¬«      }|j                  g d¢k(  sJ ‚| j                  |g d¢¬«      }|j                  ddd	œ«      }|j                  «        ||k(  sJ ‚| j                  |g d
¢¬«      }| j                  |g d¢¬«      }|j                  ddd	œ«      }|j                  «        ||k(  sJ ‚t        j                  t        d¬«      5  |j                  dddœ«       d d d «       y # 1 sw Y   y xY w)Nr   r¡   rx   r×   rz   )rŠ  r“   rŒ  rŠ  rŒ  )ry   r   )ry   ry   r   )rŠ  rŠ  rŒ  rw  rC   )ry   r”   )
r   rM   r„   r~   rG  r�  r*   r+   r,   r‚  )rì  r;   r   rR   Út1rl  s         r    Ú!test_table_rename_columns_mappingr‘  x  s)  € ô 	�‰”�q“ÓÜ
�‰Ò$Ó%Ü
�‰”�q˜"“Óð€Dð
 �O‰O˜DªˆOÓ8€EØ×Ñ¢Ò0Ð0Ð0à�‰˜tÒ+=ˆÓ>€HØ	×	Ñ	 D¨uÑ5Ó	6€BØ‡K�K„MØ�Š>Ðˆ>ð �O‰O˜DªˆOÓ8€EØ�‰˜tÒ+>ˆÓ?€HØ	×	Ñ	 D¨uÑ5Ó	6€BØ‡K�K„MØ�Š>Ðˆ>ô 
�‰”xÐ'>Ô	?ñ 6Ø×Ñ 4¨eÑ4Ô5÷6÷ 6ñ 6ús   Ä,E
Å
Ec                  óª  — t        j                  t        j                  dt        j                  «       «      t        j                  dt        j                  «       «      g«      } t        j                  t        j                  d| «      g«      }t        j
                  ddg| ¬«      }t        j
                  ddg|¬«      }t        j
                  d	d
gt        j                  «       ¬«      }t         j                  j                  |||gg d¢¬«      }|j                  «       }|j                  «        t         j                  j                  t        j
                  ddgt        j                  «       ¬«      t        j
                  ddgt        j                  «       ¬«      t        j
                  ddg| ¬«      |gg d¢¬«      }|j                  |«      sJ ‚y )NrŽ   r�   Únestrß   rà   r   )©é   g      )@)©é   g      -@FTr×   rz   r   r   r—   rá   r”  r–  )za.xza.yzb.nestr   )r   rã   rä   rå   ræ   rM   rV   r}   r~   rç   r*   rO   )Úty1Úty2ry   r“   r   r   rl  rR   s           r    Útest_table_flattenrš  ™  sL  € Ü
�)‰)”R—X‘X˜c¤2§8¡8£:Ó.Ü—X‘X˜c¤2§:¡:£<Ó0ð2ó 3€Cä
�)‰)”R—X‘X˜f cÓ*Ð+Ó
,€CÜ
�‰�(˜HÐ%¨CÔ0€AÜ
�‰�- Ð/°cÔ:€AÜ
�‰�%˜�¤R§X¡X£ZÔ0€Aä�H‰H× Ñ  ! Q¨ ²/Ð ÓB€EØ	�‰‹€BØ‡K�K„MÜ�x‰x×#Ñ#Ü
�‰�!�Q�œbŸh™h›jÔ)Ü
�‰�#�s�¤"§*¡*£,Ô/Ü
�‰�*˜jÐ)°Ô4Ø	ð	%ò
 ,ð $ó -€Hð �9‰9�XÔÐÑrT   c                  óü  — t        j                  t        j                  dg«      t        j                  dg«      gddg¬«      } t        j                  t        j                  dg«      t        j                  dg«      gddg¬«      }t         j                  j	                  | |g«      }|j                  «       }|j                  «        |j                  |«      sJ ‚|j                  D ]  }|j                  dk(  rŒJ ‚ y )Nr   ry   rX  rY  rz   r   r“   )
r   r(  rM   r}   r1  rN   r*   rO   rF  rE  )rê  r”  r   Úcombinedr   s        r    Útest_table_combine_chunksr�  ­  sÎ   € Ü�_‰_œbŸh™h¨ s›m¬R¯X©X°s°e«_Ð=Ø$(¨$ <ô1€Fä�_‰_œbŸh™h¨ s›m¬R¯X©X°s°e«_Ð=Ø$(¨$ <ô1€Fä�H‰H×!Ñ! 6¨6Ð"2Ó3€EØ×#Ñ#Ó%€HØ×ÑÔØ�?‰?˜5Ô!Ð!Ð!Ø×Ñò !ˆØ�|‰|˜qÓ Ð Ð ñ!rT   c                  óº  — t        j                  t        j                  g d¢«      j                  «       t        j                  g d¢«      j                  «       t        j                  g d¢«      gg d¢¬«      } t        j                  t        j                  g d¢«      j                  «       t        j                  g d¢«      j                  «       t        j                  g d¢«      gg d¢¬«      }t         j                  j                  | |g«      }|j                  d	d
i«      }|j                  d«      j                  d«      j                  j                  t        j                  ddg«      «      sJ ‚|j                  d«      j                  d«      j                  j                  t        j                  ddg«      «      sJ ‚|j                  d«      j                  d«      j                  j                  t        j                  g d¢«      «      sJ ‚|j                  d«      j                  d«      j                  j                  t        j                  ddg«      «      sJ ‚|j                  t        j                  «       «      }t        j                  g d¢«      }t        j                  g d¢«      }|j                  d«      j                  d«      j                  j                  |«      sJ ‚|j                  d«      j                  d«      j                  j                  |«      sJ ‚|j                  d«      j                  d«      j                  j                  |«      sJ ‚|j                  d«      j                  d«      j                  j                  |«      sJ ‚|j                  «       g d¢g d¢g d¢dœk(  sJ ‚|j                  j                  d	d
ik(  sJ ‚y )Nrì   )é{   éÈ  r   é  )TFNNr×   rz   )rï   rí   Nrï   )r   r¡  r¡  N)FNNTs   key1s   value1r   rí   rî   r   rï   )rŸ  r   r¡  r   r¡  rð   )rí   rî   Nrí   rï   rí   Nrï   )rŸ  r   r   r¡  r   r¡  r¡  N)TFNNFNNT)r   r(  rM   rñ   r}   r1  r�  r¥   rò   ró   rO   rô   Údefault_memory_poolrB  rÊ   rO  )rê  r”  r   Úexpected_dict_0Úexpected_dict_1s        r    Útest_table_unify_dictionariesr¥  º  s  € Ü�_‰_Ü
�‰Ò,Ó-×?Ñ?ÓAÜ
�‰Ò%Ó&×8Ñ8Ó:Ü
�‰Ò*Ó+ð-ò 5DôE€Fô �_‰_Ü
�‰Ò.Ó/×AÑAÓCÜ
�‰Ò&Ó'×9Ñ9Ó;Ü
�‰Ò*Ó+ð-ò 5DôE€Fô
 �H‰H×!Ñ! 6¨6Ð"2Ó3€EØ×)Ñ)¨7°IÐ*>Ó?€EØ�<‰<˜‹?× Ñ  Ó#×.Ñ.×5Ñ5Ü
�‰�%˜�Ó ô"ð "ð "à�<‰<˜‹?× Ñ  Ó#×.Ñ.×5Ñ5Ü
�‰�&˜%�Ó!ô#ð #ð #à�<‰<˜‹?× Ñ  Ó#×.Ñ.×5Ñ5Ü
�‰’Ó!ô#ð #ð #à�<‰<˜‹?× Ñ  Ó#×.Ñ.×5Ñ5Ü
�‰�#�s�Óôð ð ð ×$Ñ$¤R×%;Ñ%;Ó%=Ó>€EÜ—h‘hÒ5Ó6€OÜ—h‘hšÓ/€OØ�<‰<˜‹?× Ñ  Ó#×.Ñ.×5Ñ5°oÔFÐFÐFØ�<‰<˜‹?× Ñ  Ó#×.Ñ.×5Ñ5°oÔFÐFÐFØ�<‰<˜‹?× Ñ  Ó#×.Ñ.×5Ñ5°oÔFÐFÐFØ�<‰<˜‹?× Ñ  Ó#×.Ñ.×5Ñ5°oÔFÐFÐFà�?‰?ÓÚEÚ6Ú?ñ!ò ð ð ð
 �<‰<× Ñ  W¨iÐ$8Ò8Ð8Ñ8rT   c                  óÔ  — t        j                  dddœddigt        j                  t        j                  «       t        j                  «       «      ¬«      g} t         j
                  j                  | dg¬«      }|j                  d	¬
«      }d|v sJ ‚|d   }t        |«      dk(  sJ ‚|dddœddigk(  sJ ‚|j                  d	¬
«      }t        |«      dk(  sJ ‚|ddddœidddiigk(  sJ ‚y )Nr   r   )rŽ   r�   Úzr   r   ry   rz   Ústrict)Úmaps_as_pydicts)
r   rM   Úmap_r(   rt   r}   r~   rB  r2   r)   )r�   r   Ú
table_dictÚcolumn_listÚ
table_lists        r    Útest_table_maps_as_pydictsr®  ß  sú   € ä
�‰Ø˜1Ñ  Q˜xÐ(Ü—‘œŸ™›¤b§h¡h£jÓ1ô	
ð€Fô �H‰H× Ñ  °¨uÐ Ó5€Eà—‘°�Ó:€JØ�*ÑÐÐØ˜S‘/€KÜˆ{Ó˜qÒ Ð Ð Ø ¨Ñ+¨c°1¨XÐ6Ò6Ð6Ð6à—‘°�Ó:€JÜˆz‹?˜aÒÐÐØ˜3 a¨aÑ 0Ð1°C¸#¸q¸°?ÐCÒCÐCÑCrT   c            
      óÊ  — t        t        d«      «      g d¢g} t        t        dd«      «      g d¢g}t        j                  j	                  | D �cg c]  }t        j
                  |«      ‘Œ c}d¬«      }t        j                  j	                  |D �cg c]  }t        j
                  |«      ‘Œ c}d¬«      }t        j                  ||g«      }|j                  «        t        |«      dk(  sJ ‚t        j                  j	                  t        | |«      D ��cg c]  \  }}t        j
                  ||z   «      ‘Œ c}}d¬«      }|j                  |«      sJ ‚y c c}w c c}w c c}}w ©Nr   )g      $Àg      Àg        rB   g      $@rx   ©re   rf   rg   rA   rB   rÈ   rz   )r/   r„   r   r}   r~   rM   Úconcat_tablesr*   r2   rƒ   rO   ©r;   r<   rŽ   r�  rl  rž   r�   rR   s           r    Útest_concat_tablesr´  ó  s4  € äŒU�1‹X‹Ú ð€Dô
 	ŒU�1�b‹\ÓÚð€Eô
 
�‰×	Ñ	°DÖ9¨qœrŸx™x¨�{Ò9Ø$.ð 
ó 
0€Bä	�‰×	Ñ	°EÖ:¨qœrŸx™x¨�{Ò:Ø$.ð 
ó 
0€Bô ×Ñ˜r 2˜hÓ'€FØ
‡O�OÔÜˆv‹;˜"ÒÐÐä�x‰x×#Ñ#Ü14°T¸5Ó1A÷%CÙ)-¨¨Aô &(§X¡X¨a°!©e¥_ó %Cà*4ð $ó 6€Hð �=‰=˜Ô"Ð"Ñ"ùò :ùâ:ùó%Có   ÁEÂEÄ"E
c                  óh  — t         j                  j                  t        t	        d«      «      gd¬«      } t         j                  j                  t        d«      gd¬«      }t        j                  t         j                  d¬«      5  t        j                  | |gd¬«      }d d d «       y # 1 sw Y   y xY w)	Nrx   ©ry   rz   r×   z@Unable to merge: Field a has incompatible types: int64 vs stringrC   Ú
permissive©Úpromote_options)	r   r}   r~   r/   r„   r+   r,   r=  r²  )r�  rl  r.  s      r    Útest_concat_tables_permissiver»    s‘   € Ü	�‰×	Ñ	œt¤E¨"£I›Ð/°vÐ	Ó	>€BÜ	�‰×	Ñ	œt OÓ4Ð5¸VÐ	Ó	D€Bä	�‰Ü×ÑØTô
Vñ Eô ×Ñ˜b "˜X°|ÔDˆ÷E÷ Eñ Eús   ÂB(Â(B1c                  óþ   — t         j                  j                  t        t	        d«      «      gd¬«      } t        j                  t        d¬«      5  t        j                  | | gd¬«       d d d «       y # 1 sw Y   y xY w)Nrx   r·  rz   z Invalid promote_options: invalidrC   Úinvalidr¹  )	r   r}   r~   r/   r„   r+   r,   r-   r²  r*  s    r    Ú!test_concat_tables_invalid_optionr¾    s^   € Ü
�‰×Ñœd¤5¨£9›oÐ.°fÐÓ=€Aä	�‰”zÐ)KÔ	Lñ <Ü
×Ñ˜!˜Q˜°Õ;÷<÷ <ñ <ús   ÁA3Á3A<c                  óŒ   — t        j                  t        «      5  t        j                  d g«       d d d «       y # 1 sw Y   y xY wr   )r+   r,   ÚAttributeErrorr   r²  rW   rT   r    Útest_concat_tables_none_tablerÁ    s3   € ä	�‰”~Ó	&ñ !Ü
×Ñ˜$˜Ô ÷!÷ !ñ !úó	   š:ºAc                  óR  — dd l } t        j                  t        j                  dt        j                  «       «      t        j                  dt        j                  «       «      g«      }t        d«      }| j                  ||dœ«      }| j                  t        j                  gdz  |dœ«      }t        j                  j                  ||d¬«      }t        j                  j                  ||d¬«      }|j                  j                  |j                  «      sJ ‚|j                  j                  |j                  d	¬
«      rJ ‚t        j                  ||g«      }|j                  j                  |j                  d	¬
«      sJ ‚|j                  j                  |j                  «      sJ ‚y )Nr   ry   r“   ÚabcdefghrÈ   r   F)rÊ   r4  TrP  )r¤   r   rÊ   rä   r(   r/   r¾   rZ   rö  r}   rÄ   rO   r²  )r©   rÊ   Úvaluesr:  r;  r
  r  Útable3s           r    Ú1test_concat_tables_with_different_schema_metadatarÇ  $  sA  € ãä�Y‰YÜ
�‰�”b—i‘i“kÓ"Ü
�‰�”b—i‘i“kÓ"ðó €Fô
 �*Ó€FØ
�,‰,˜V¨&Ñ1Ó
2€CØ
�,‰,œbŸf™f˜X¨™\°Ñ7Ó
8€Cä�X‰X×!Ñ! #¨fÀUÐ!ÓK€FÜ�X‰X×!Ñ! #¨fÀUÐ!ÓK€FØ�=‰=×Ñ §¡Ô.Ð.Ð.Ø�}‰}×#Ñ# F§M¡MÀ$Ð#ÔGÐGÐGä×Ñ˜v vÐ.Ó/€FØ�=‰=×Ñ §¡¸dÐÔCÐCÐCØ�=‰=×Ñ §¡Ô.Ð.Ñ.rT   c            
      óü  — t         j                  j                  t        j                  ddgt        j                  «       ¬«      gdg«      } t         j                  j                  t        j                  ddgt        j
                  «       ¬«      gdg«      }t        j                  t        «      5  t        j                  | |gd¬	«      }d d d «       j                  t         j                  j                  t        j                  g d
¢t        j                  «       ¬«      t        j                  g d¢t        j
                  «       ¬«      gddg«      «      sJ ‚t         j                  j                  t        j                  ddgt        j                  «       ¬«      gdg«      } t         j                  j                  t        j                  ddgt        j
                  «       ¬«      gdg«      }t        j                  t         j                  d¬«      5  t        j                  t        «      5  t        j                  | |gd¬	«       d d d «       d d d «       y # 1 sw Y   �Œ‘xY w# 1 sw Y   ŒxY w# 1 sw Y   y xY w)Nr   r   r   Úint64_fieldre   rf   Úfloat_fieldT)Úpromote©r   r   NN©NNre   rf   rK  z Schema at index 1 was different:rC   F)r   r}   r~   rM   rE   ræ   r+   ÚwarnsÚFutureWarningr²  rO   r,   r'  ©r�  rl  rž   s      r    Ú&test_concat_tables_with_promote_optionrÑ  ;  sÐ  € Ü	�‰×	Ñ	Ü	�‰�1�a�&œrŸx™x›zÔ	*Ð+¨m¨_ó
>€Bä	�‰×	Ñ	Ü	�‰�3˜�*¤2§:¡:£<Ô	0Ð1°M°?ó
D€Bô 
�‰”mÓ	$ñ :Ü×!Ñ! 2 r (°DÔ9ˆ÷:ð �=‰=œŸ™×-Ñ-Ü
�‰Ò#¬"¯(©(«*Ô5Ü
�‰Ò'¬b¯j©j«lÔ;ð/ð 	�}Ð%ó'ô (ð (ð (ô
 
�‰×	Ñ	Ü	�‰�1�a�&œrŸx™x›zÔ	*Ð+¨c¨Uó
4€Bä	�‰×	Ñ	Ü	�‰�1�a�&œrŸz™z›|Ô	,Ð-°¨uó
6€Bô 
�‰”r—‘Ð.PÔ	Qñ 6Ü�\‰\œ-Ó(ñ 	6Ü×Ñ˜b "˜X¨uÕ5÷	6÷6ð 6÷:ñ :ú÷	6ð 	6ú÷6ð 6ús0   Â0IÈI2È.I&ÉI2ÉI#É&I/	É+I2É2I;c            
      óð  — t         j                  j                  t        j                  ddgt        j                  «       ¬«      gdg«      } t         j                  j                  t        j                  ddgt        j
                  «       ¬«      gdg«      }t        j                  | |gd¬	«      }|j                  t         j                  j                  t        j                  g d
¢t        j                  «       ¬«      t        j                  g d¢t        j
                  «       ¬«      gddg«      «      sJ ‚t         j                  j                  t        j                  ddgt        j                  «       ¬«      gdg«      }t        j                  | |gd¬	«      }|j                  t         j                  j                  t        j                  g d¢t        j                  «       ¬«      gdg«      «      sJ ‚y )Nr   r   r   rÉ  re   rf   rÊ  Údefaultr¹  rÌ  rÍ  r¸  rL   )	r   r}   r~   rM   rE   ræ   r²  rO   rt   )r�  rl  rž   rm  s       r    Ú!test_concat_tables_with_promotionrÔ  S  st  € Ü	�‰×	Ñ	Ü	�‰�1�a�&œrŸx™x›zÔ	*Ð+¨m¨_ó
>€Bä	�‰×	Ñ	Ü	�‰�3˜�*¤2§:¡:£<Ô	0Ð1°M°?ó
D€Bô ×Ñ˜r 2˜h¸	ÔB€Fà�=‰=œŸ™×-Ñ-Ü
�‰Ò#¬"¯(©(«*Ô5Ü
�‰Ò'¬b¯j©j«lÔ;ð/ð 	�}Ð%ó'ô (ð (ð (ô
 
�‰×	Ñ	Ü	�‰�1�a�&œrŸx™x›zÔ	*Ð+¨m¨_ó
>€Bä×ÑØ	ˆRˆ ,ô0€Fà�=‰=œŸ™×-Ñ-Ü
�‰’¤B§H¡H£JÔ/ð/à€óô ð ñ rT   c                  óÖ  — t         j                  j                  t        j                  ddgt        j                  «       ¬«      gdg«      } t         j                  j                  t        j                  ddgt        j
                  «       ¬«      gdg«      }t        j                  t         j                  d¬«      5  t        j                  | |gd¬«       d d d «       y # 1 sw Y   y xY w)	Nr   r   r   rK  zUnable to merge:rC   rÓ  r¹  )
r   r}   r~   rM   rE   ræ   r+   r,   r=  r²  ©r�  rl  s     r    Ú'test_concat_tables_with_promotion_errorr×  i  s¨   € Ü	�‰×	Ñ	Ü	�‰�1�a�&œrŸx™x›zÔ	*Ð+¨c¨Uó
4€Bä	�‰×	Ñ	Ü	�‰�1�a�&œrŸz™z›|Ô	,Ð-°¨uó
6€Bô 
�‰”r×(Ñ(Ð0BÔ	Cñ >Ü
×Ñ˜"˜b˜°9Õ=÷>÷ >ñ >ús   Â<CÃC(c                  ó®  — t        j                  t        d«      «      t        j                  g d¢«      t        j                  g d¢«      t        j                  g d¢«      g} t         j                  j	                  | t        d«      ¬«      }|d   j                  |d   «      sJ ‚|d	   j                  |d
   «      sJ ‚|d   j                  |d   «      sJ ‚|d   j                  |d   «      sJ ‚t        j                  t        «      5  |d    d d d «       t        j                  t        «      5  |d    d d d «       y # 1 sw Y   Œ1xY w# 1 sw Y   y xY w)Nr   r¡   r±  ©ÚabÚbcÚcdÚdeÚefÚabcdrz   rp   r   r  r   éýÿÿÿr   r  r   r£   r   )
r   rM   r„   r}   r~   ÚtuplerO   r+   r,   rs   ra  s     r    Útest_table_negative_indexingrâ  s  s&  € ä
�‰”�q“ÓÜ
�‰Ò$Ó%Ü
�‰Ò*Ó+Ü
�‰Ò/Ó0ð	€Dô �H‰H× Ñ  ¬U°6«]Ð Ó;€Eà�‰9×Ñ˜E !™HÔ%Ð%Ð%Ø�‰9×Ñ˜E !™HÔ%Ð%Ð%Ø�‰9×Ñ˜E !™HÔ%Ð%Ð%Ø�‰9×Ñ˜E !™HÔ%Ð%Ð%ä	�‰”zÓ	"ñ ØˆbŠ	÷ô 
�‰”zÓ	"ñ ØˆaŠ÷ð ÷ð ú÷ð ús   Ä	D?Ä0EÄ?EÅEc            
      óÊ  — t        t        d«      «      g d¢g} t        t        dd«      «      g d¢g}t        j                  j	                  | D �cg c]  }t        j
                  |«      ‘Œ c}d¬«      }t        j                  j	                  |D �cg c]  }t        j
                  |«      ‘Œ c}d¬«      }t        j                  ||g«      }|j                  «        t        |«      dk(  sJ ‚t        j                  j	                  t        | |«      D ��cg c]  \  }}t        j
                  ||z   «      ‘Œ c}}d¬«      }|j                  |«      sJ ‚y c c}w c c}w c c}}w r°  )r/   r„   r   rÃ   r~   rM   Úconcat_batchesr*   r2   rƒ   rO   r³  s           r    Útest_concat_batchesrå  ˆ  s5  € äŒU�1‹X‹Ú ð€Dô
 	ŒU�1�b‹\ÓÚð€Eô
 
�‰×	#Ñ	#¸$Ö$?°Q¤R§X¡X¨a¥[Ò$?Ø*4ð 
$ó 
6€Bä	�‰×	#Ñ	#¸%Ö$@°Q¤R§X¡X¨a¥[Ò$@Ø*4ð 
$ó 
6€Bô ×Ñ  B˜xÓ(€FØ
‡O�OÔÜˆv‹;˜"ÒÐÐä�~‰~×)Ñ)Ü7:¸4ÀÓ7G÷+IÙ/3¨q°!ô ,.¯8©8°A¸±E­?ó +Ià0:ð *ó <€Hð �=‰=˜Ô"Ð"Ñ"ùò %@ùâ$@ùó+Irµ  c                  óÒ  — t         j                  j                  t        j                  ddgt        j                  «       ¬«      gdg«      } t         j                  j                  t        j                  ddgt        j
                  «       ¬«      gdg«      }t        j                  t         j                  d¬«      5  t        j                  | |g«       d d d «       y # 1 sw Y   y xY w)Nr   r   r   rK  z$not match index 0 recordbatch schemarC   )
r   rÃ   r~   rM   rE   ræ   r+   r,   r'  rä  rÖ  s     r    Ú$test_concat_batches_different_schemarç  ¢  s§   € Ü	�‰×	#Ñ	#Ü	�‰�1�a�&œrŸx™x›zÔ	*Ð+¨c¨Uó
4€Bä	�‰×	#Ñ	#Ü	�‰�1�a�&œrŸz™z›|Ô	,Ð-°¨uó
6€Bô 
�‰”r—‘ØCô
Eñ $ä
×Ñ˜2˜r˜(Ô#÷$÷ $ñ $ús   Â<CÃC&c                  óŒ   — t        j                  t        «      5  t        j                  d g«       d d d «       y # 1 sw Y   y xY wr   )r+   r,   rÀ  r   rä  rW   rT   r    Ú test_concat_batches_none_batchesré  ­  s3   € ä	�‰”~Ó	&ñ "Ü
×Ñ˜4˜&Ô!÷"÷ "ñ "úrÂ  c                 ó"  — t        j                  t        d«      «      t        j                  g d¢«      g}| j                  |t	        d«      ¬«      }t        j
                  t        j                  dt        j                  «       «      t        j                  dt        j                  «       «      g«      }t        j
                  t        j                  dt        j                  «       «      g«      }| t         j                  u rd}nd	}d
|› d�}t        j                  t        |¬«      5  |j                  |«       d d d «       t        j                  t        |¬«      5  |j                  |«       d d d «       y # 1 sw Y   Œ?xY w# 1 sw Y   y xY w)Nr   r¡   rÚ  rz   rN  r“   ry   r   zrecord batchz1Target schema's field names are not matching the z's field names:.*rC   )r   rM   r„   r~   rá  rÊ   rä   rt   rå   r}   r+   r,   r-   r	  )rì  r;   r   Útarget_schema1Útarget_schema2Úcls_namer…  s          r    Ú&test_table_cast_to_incompatible_schemarî  ³  s2  € ô 	�‰”�q“ÓÜ
�‰Ò$Ó%ð€Dð �O‰O˜D¬¨d«ˆOÓ4€Eä—Y‘YÜ
�‰�”b—h‘h“jÓ!Ü
�‰�”b—h‘h“jÓ!ð ó €Nô —Y‘YÜ
�‰�”b—h‘h“jÓ!ð ó €Nð Œb�h‰h�Ø‰à!ˆØBØ�Ð,ð.€Gô 
�‰”z¨Ô	1ñ #Ø�
‰
�>Ô"÷#ä	�‰”z¨Ô	1ñ #Ø�
‰
�>Ô"÷#ð #÷#ð #ú÷#ð #ús   Ä)E9ÅFÅ9FÆFc           
      óâ  — t        j                  t        d«      t        j                  «       ¬«      t        j                  g d¢t        j                  «       ¬«      t        j                  g d¢t        j
                  «       ¬«      t        j                  g d¢t        j                  «       ¬«      g}| j                  |t        d«      ¬«      }t        j                  t        d«      t        j                  «       ¬«      t        j                  g d¢t        j                  «       ¬«      t        j                  g d¢t        j                  «       ¬«      t        j                  g d¢t        j                  «       ¬«      g}| j                  |t        d«      ¬«      }t        j                  t        j                  d	t        j                  «       «      t        j                  d
t        j                  «       «      t        j                  dt        j                  «       «      t        j                  dt        j                  «       «      g«      }|j                  |«      }|j                  |«      sJ ‚y )Nr   r   r¡   r±  rÙ  rß  rz   ©r   r   r   r   r   ry   r“   r   r”   )r   rM   r„   rE   rt   ri   r(   r~   rá  rå   rÊ   rä   r	  rO   ©rì  r;   r   rr  Úexpected_tableÚtarget_schemaÚcasted_tables          r    Útest_table_safe_castingrõ  Ö  sx  € ô 	�‰”�q“¤§¡£
Ô+Ü
�‰Ò$¬2¯8©8«:Ô6Ü
�‰Ò*´·±³Ô>Ü
�‰Ò/´b·i±i³kÔBð	€Dð �O‰O˜D¬¨f«ˆOÓ6€Eô 	�‰”�q“¤§¡£
Ô+Ü
�‰Ò$¬2¯8©8«:Ô6Ü
�‰’¤r§x¡x£zÔ2Ü
�‰Ò/´b·i±i³kÔBð	€Mð —_‘_ ]¼%À»-�_ÓH€Nä—I‘IÜ
�‰�”b—h‘h“jÓ!Ü
�‰�”b—h‘h“jÓ!Ü
�‰�”b—h‘h“jÓ!Ü
�‰�”b—i‘i“kÓ"ð	ó €Mð —:‘:˜mÓ,€Là×Ñ˜~Ô.Ð.Ñ.rT   c           
      ó|  — t        j                  t        d«      t        j                  «       ¬«      t        j                  g d¢t        j                  «       ¬«      t        j                  g d¢t        j
                  «       ¬«      t        j                  g d¢t        j                  «       ¬«      g}| j                  |t        d«      ¬«      }t        j                  t        d«      t        j                  «       ¬«      t        j                  g d¢t        j                  «       ¬«      t        j                  g d¢t        j                  «       ¬«      t        j                  g d¢t        j                  «       ¬«      g}| j                  |t        d«      ¬«      }t        j                  t        j                  d	t        j                  «       «      t        j                  d
t        j                  «       «      t        j                  dt        j                  «       «      t        j                  dt        j                  «       «      g«      }t        j                  t         j                  d¬«      5  |j                  |«       d d d «       |j                  |d¬«      }|j!                  |«      sJ ‚y # 1 sw Y   Œ0xY w)Nr   r   r¡   )gš™™™™™ñ?gš™™™™™@gffffff
@gš™™™™™@g      @rÙ  rß  rz   rð  ry   r“   r   r”   Ú	truncatedrC   F)Úsafe)r   rM   r„   rE   rt   ri   r(   r~   rá  rå   rÊ   rä   r+   r,   r'  r	  rO   rñ  s          r    Útest_table_unsafe_castingrù  ù  s±  € ô 	�‰”�q“¤§¡£
Ô+Ü
�‰Ò$¬2¯8©8«:Ô6Ü
�‰Ò*´·±³Ô>Ü
�‰Ò/´b·i±i³kÔBð	€Dð �O‰O˜D¬¨f«ˆOÓ6€Eô 	�‰”�q“¤§¡£
Ô+Ü
�‰Ò$¬2¯8©8«:Ô6Ü
�‰’¤r§x¡x£zÔ2Ü
�‰Ò/´b·i±i³kÔBð	€Mð —_‘_ ]¼%À»-�_ÓH€Nä—I‘IÜ
�‰�”b—h‘h“jÓ!Ü
�‰�”b—h‘h“jÓ!Ü
�‰�”b—h‘h“jÓ!Ü
�‰�”b—i‘i“kÓ"ð	ó €Mô 
�‰”r—‘¨kÔ	:ñ "Ø�
‰
�=Ô!÷"ð —:‘:˜m°%�:Ó8€LØ×Ñ˜~Ô.Ð.Ñ.÷	"ð "ús   É1J2Ê2J;c                  ó¦  — t        j                  ddgt         j                  ¬«      } t        j                  «       }t        j                  | |¬«      t        j                  | dd  |¬«      g}t	        j
                  t        j                  j                  «      5  t        j                  j                  |ddg¬«       d d d «       y # 1 sw Y   y xY w)Nr   r   rÑ   r   r‘  r’  rz   )
rZ   rM   rÂ  r   r+   r,   r   r'  r}   r~   )rM   Úu8r�   s      r    Útest_invalid_table_constructrü  	  s‘   € ä�H‰H�a˜�V¤2§8¡8Ô,€EÜ	�‰‹€BÜ�h‰h�u 2Ô&¬¯©°°q°r°ÀÔ(DÐE€Fä	�‰”r—v‘v×*Ñ*Ó	+ñ 9Ü
�‰×Ñ˜V¨D°$¨<ÐÔ8÷9÷ 9ñ 9ús   Â$CÃCzdata, klass©r]  rí   rî   ©rá   r   Nr]  rí   rî   rá   rB   c                 óV  —  || d   «       || d   «      g} t        j                  dt        j                  «       fdt        j                  «       fg«      }t         j                  j                  | |¬«      }|j                  dk(  sJ ‚|j                  dk(  sJ ‚|j                  |k(  sJ ‚t        j                  dt        j                  «       fg«      }t        j                  t        «      5  t         j                  j                  | |¬«       d d d «       t        j                  dt        j                  «       fdt        j                  «       fg«      }t         j                  j                  | |¬«      }t         j                  j                  |j                  d«      j                  «      sJ ‚|j                  dk(  sJ ‚|j                  dk(  sJ ‚|j                  |k(  sJ ‚t        j                  dt        j                  «       fdt        j                  d«      fg«      }t        j                  t         t"        f«      5  t         j                  j%                  | |¬«       d d d «       t        j                  t        «      5  t         j                  j                  | |ddg¬	«       d d d «       t        j                  t        «      5  t         j                  j                  | |d
di¬«       d d d «       y # 1 sw Y   �ŒíxY w# 1 sw Y   Œ£xY w# 1 sw Y   ŒixY w# 1 sw Y   y xY w)Nr   r   r^  rz  r'  r   r   Ús)rÊ   r{   r{  r|  ©rÊ   rO  )r   rÊ   re  ræ   r}   r~   rp  rÀ   r+   r,   r-   ÚtypesÚ
is_float32r¥   r   r·   r-  rh   rD  ©r;   ÚklassrÊ   r   s       r    Útest_from_arrays_schemar  )	  s�  € ñ �$�q‘'‹N™E $ q¡'›NÐ+€DÜ�Y‰Y˜¤§¡£Ð+¨h¼¿
¹
»Ð-EÐFÓG€Fä�H‰H× Ñ  ¨fÐ Ó5€EØ×Ñ Ò!Ð!Ð!Ø�>‰>˜QÒÐÐØ�<‰<˜6Ò!Ð!Ð!ô �Y‰Y˜¤§¡£Ð+Ð,Ó-€FÜ	�‰”zÓ	"ñ 2Ü
�‰×Ñ˜T¨&ÐÔ1÷2ô �Y‰Y˜¤§¡£Ð+¨h¼¿
¹
»Ð-EÐFÓG€FÜ�H‰H× Ñ  ¨fÐ Ó5€EÜ�8‰8×Ñ˜uŸ|™|¨HÓ5×:Ñ:Ô;Ð;Ð;Ø×Ñ Ò!Ð!Ð!Ø�>‰>˜QÒÐÐØ�<‰<˜6Ò!Ð!Ð!ô �Y‰Y˜¤§¡£Ð+¨h¼¿¹ÀSÓ8IÐ-JÐKÓL€FÜ	�‰Ô+¬YÐ7Ó	8ñ 2Ü
�‰×Ñ˜T¨&ÐÔ1÷2ô 
�‰”zÓ	"ñ LÜ
�‰×Ñ˜T¨&¸ÀÐ8JÐÔK÷Lô 
�‰”zÓ	"ñ MÜ
�‰×Ñ˜T¨&¸FÀFÐ;KÐÔL÷Mð M÷)2ñ 2ú÷2ð 2ú÷Lð Lú÷Mð Mús0   Ã-"K:É"LÊ%LË%LË:LÌLÌLÌL(c                 óÒ  — | j                  i «      }|j                  dk(  sJ ‚|j                  dk(  sJ ‚|j                  t	        j                  g «      k(  sJ ‚|j                  «       i k(  sJ ‚t	        j                  dt	        j                  «       fdt	        j                  «       fg«      }t        dg d¢fdg d¢fg«      }| j                  |«      }|j                  dk(  sJ ‚|j                  dk(  sJ ‚|j                  |k(  sJ ‚|j                  «       |k(  sJ ‚dd	i}|j                  |«      }| j                  ||¬
«      }|j                  |k(  sJ ‚|j                  j                  |k(  sJ ‚|j                  «       |k(  sJ ‚| j                  ||¬«      }|j                  |k(  sJ ‚|j                  j                  |k(  sJ ‚|j                  «       |k(  sJ ‚t        j                  t        «      5  | j                  |||¬«       d d d «       t        j                  t        «      5  | j                  dg d¢it	        j                  dt	        j                  «       fg«      ¬«       d d d «       t        j                  t         d¬«      5  | j                  g d¢g d¢dœt	        j                  dt	        j"                  «       fdt	        j$                  «       fdt	        j&                  «       fg«      ¬«       d d d «       t        j                  t        «      5  | j                  dg d¢ii ¬«       d d d «       y # 1 sw Y   �Œ5xY w# 1 sw Y   ŒàxY w# 1 sw Y   Œ\xY w# 1 sw Y   y xY w)Nr   r^  rz  rý  rþ  r   r   r{  r|  r}  r'  r  rC  )r   r   r   zdoesn't contain.* c, drC   r
   )r   r   r   rÈ   ry   r   r”   )rD  rp  rÀ   rÊ   r   rB  re  ri   r   Úwith_metadatarO  r+   r,   r-   rh   r(   r‚  rE   rt   rå   )rì  r   rÊ   r;   rO  s        r    Útest_table_from_pydictr	  Q	  s  € ð �O‰O˜BÓ€EØ×Ñ Ò!Ð!Ð!Ø�>‰>˜QÒÐÐØ�<‰<œ2Ÿ9™9 R›=Ò(Ð(Ð(Ø�?‰?Ó Ò"Ð"Ð"ä�Y‰Y˜¤§¡£Ð+¨h¼¿
¹
»Ð-EÐFÓG€Fô ˜Ò!3Ð4Ø!¢>Ð2ð4ó 5€Dà�O‰O˜DÓ!€EØ×Ñ Ò!Ð!Ð!Ø�>‰>˜QÒÐÐØ�<‰<˜6Ò!Ð!Ð!Ø�?‰?Ó Ò$Ð$Ð$ð ˜Ð€HØ×!Ñ! (Ó+€FØ�O‰O˜D¨8ˆOÓ4€EØ�<‰<˜6Ò!Ð!Ð!Ø�<‰<× Ñ  HÒ,Ð,Ð,Ø�?‰?Ó Ò$Ð$Ð$ð �O‰O˜D¨ˆOÓ0€EØ�<‰<˜6Ò!Ð!Ð!Ø�<‰<× Ñ  HÒ,Ð,Ð,Ø�?‰?Ó Ò$Ð$Ð$ô 
�‰”zÓ	"ñ @Ø�‰˜ V°hˆÔ?÷@ô 
�‰”yÓ	!ñ AØ�‰˜šyÐ)Ü!Ÿy™y¨4´·±³Ð*=Ð)>Ó?ð 	ô 	A÷Aô
 
�‰”xÐ'@Ô	Añ 
Ø�‰Ú¢)Ñ,Ü—9‘9Ø”b—h‘h“jÐ!Ø”b—h‘h“jÐ!Ø”b—h‘h“jÐ!ðó ð 	ô 	
÷
ô 
�‰”yÓ	!ñ 5Ø�‰˜šiÐ(°ˆÔ4÷5ð 5÷)@ñ @ú÷Að Aú÷

ð 
ú÷5ð 5ús2   Ç0L8È&A MÊ	A-MÌMÌ8MÍMÍMÍM&c                 óØ  — t        d || d   «      fd || d   «      fg«      } t        j                  dt        j                  «       fdt        j                  «       fg«      }t        j
                  j                  | «      }|j                  dk(  sJ ‚|j                  dk(  sJ ‚|j                  |k(  sJ ‚t        j
                  j                  | |¬«      }|j                  dk(  sJ ‚|j                  dk(  sJ ‚|j                  |k(  sJ ‚t        j                  dt        j                  «       fdt        j                  «       fg«      }t        j
                  j                  | |¬«      }t        j                  j                  |j                  d«      j                  «      sJ ‚|j                  dk(  sJ ‚|j                  dk(  sJ ‚|j                  |k(  sJ ‚t        j                  dt        j                  «       fdt        j                  d«      fg«      }t        j                   t"        t$        f«      5  t        j
                  j                  | |¬«       d d d «       y # 1 sw Y   y xY w)	Nr^  r   rz  r   r   r   r'  r   )r   r   rÊ   re  ri   r}   rD  rp  rÀ   ræ   r  r  r¥   r   r·   r+   r,   r-  rh   r  s       r    Ú#test_table_from_pydict_arrow_arraysr  ‘	  s  € ô
 ˜¡ t¨A¡w£Ð0°8¹UÀ4ÈÁ7»^Ð2LÐMÓN€DÜ�Y‰Y˜¤§¡£Ð+¨h¼¿
¹
»Ð-EÐFÓG€Fô �H‰H× Ñ  Ó&€EØ×Ñ Ò!Ð!Ð!Ø�>‰>˜QÒÐÐØ�<‰<˜6Ò!Ð!Ð!ô �H‰H× Ñ  ¨fÐ Ó5€EØ×Ñ Ò!Ð!Ð!Ø�>‰>˜QÒÐÐØ�<‰<˜6Ò!Ð!Ð!ô �Y‰Y˜¤§¡£Ð+¨h¼¿
¹
»Ð-EÐFÓG€FÜ�H‰H× Ñ  ¨fÐ Ó5€EÜ�8‰8×Ñ˜uŸ|™|¨HÓ5×:Ñ:Ô;Ð;Ð;Ø×Ñ Ò!Ð!Ð!Ø�>‰>˜QÒÐÐØ�<‰<˜6Ò!Ð!Ð!ô �Y‰Y˜¤§¡£Ð+¨h¼¿¹ÀSÓ8IÐ-JÐKÓL€FÜ	�‰Ô+¬YÐ7Ó	8ñ 2Ü
�‰×Ñ˜T¨&ÐÔ1÷2÷ 2ñ 2ús   È5"I É I)c                 ó’  — t        d || d   «      fd || d   «      fg«      } t        j                  dt        j                  «       fdt        j                  «       fdt        j
                  «       fg«      }t        j                  t        d¬«      5  t        j                  j                  | |¬«       d d d «       t        j                  dt        j                  «       fg«      }t        j                  j                  | |¬«      }|j                  dk(  sJ ‚|j                  |k(  sJ ‚|j                  dgk(  sJ ‚y # 1 sw Y   Œ‰xY w)Nr^  r   rz  r   ry  rC   r'  )r   r   rÊ   re  ri   rE   r+   r,   r‚  r}   rD  rp  rG  r  s       r    Útest_table_from_pydict_schemar  ³	  s  € ô ˜¡ t¨A¡w£Ð0°8¹UÀ4ÈÁ7»^Ð2LÐMÓN€Dô �Y‰Y˜¤§¡£Ð+¨h¼¿
¹
»Ð-EØ¤§¡£Ð,ð.ó /€Fä	�‰”x vÔ	.ñ 2Ü
�‰×Ñ˜T¨&ÐÔ1÷2ô �Y‰Y˜¤§¡£Ð+Ð,Ó-€FÜ�H‰H× Ñ  ¨fÐ Ó5€EØ×Ñ Ò!Ð!Ð!Ø�<‰<˜6Ò!Ð!Ð!Ø×Ñ & Ò)Ð)Ñ)÷2ð 2ús   Â"D=Ä=Ec           	      óx  — | j                  g «      }|j                  dk(  sJ ‚|j                  dk(  sJ ‚|j                  t	        j                  g «      k(  sJ ‚|j                  «       g k(  sJ ‚t	        j                  dt	        j                  «       fdt	        j                  «       fg«      }dddœdddœd	d dœg}| j                  |«      }|j                  d
k(  sJ ‚|j                  dk(  sJ ‚|j                  |k(  sJ ‚|j                  «       |k(  sJ ‚ddi}|j                  |«      }| j                  ||¬«      }|j                  |k(  sJ ‚|j                  j                  |k(  sJ ‚|j                  «       |k(  sJ ‚| j                  ||¬«      }|j                  |k(  sJ ‚|j                  j                  |k(  sJ ‚|j                  «       |k(  sJ ‚t        j                  t        «      5  | j                  |||¬«       d d d «       t        j                  t        «      5  | j                  ddiddidd
igt	        j                  dt	        j                  «       fg«      ¬«       d d d «       t	        j                  dt	        j                  «       fdt	        j                   «       fdt	        j"                  «       fg«      }| j                  dddœd
ddœdddœg|¬«      }dd d dœd
d d dœdd d dœg}|j                  |k(  sJ ‚|j                  «       |k(  sJ ‚t        j                  t        «      5  | j                  ddidd
iddigi ¬«       d d d «       dddœddidd	ig}dddœd ddœd	d dœg}| j                  |«      }|j                  d
k(  sJ ‚|j                  dk(  sJ ‚|j                  «       |k(  sJ ‚ddidddœdd ig}ddiddidd ig}| j                  |«      }|j                  dk(  sJ ‚|j                  dk(  sJ ‚|j                  «       |k(  sJ ‚y # 1 sw Y   �ŒxY w# 1 sw Y   �ŒÁxY w# 1 sw Y   ŒåxY w)Nr   r^  rz  r]  rá   )r^  rz  rí   r   rî   r   r   r{  r|  r}  r'  r  rC  r   ry   r   r”   rÈ   r   )ry   r   r”   )Úfrom_pylistrp  rÀ   rÊ   r   r)   re  ri   r  rO  r+   r,   r-   rh   r(   rE   rt   rå   )rì  r   rÊ   r;   rO  r<   s         r    Útest_table_from_pylistr  Ë	  s‹  € ð �O‰O˜BÓ€EØ×Ñ Ò!Ð!Ð!Ø�>‰>˜QÒÐÐØ�<‰<œ2Ÿ9™9 R›=Ò(Ð(Ð(Ø�?‰?Ó Ò"Ð"Ð"ä�Y‰Y˜¤§¡£Ð+¨h¼¿
¹
»Ð-EÐFÓG€Fð  3Ñ'Ø aÑ(Ø dÑ+ð-€Dð �O‰O˜DÓ!€EØ×Ñ Ò!Ð!Ð!Ø�>‰>˜QÒÐÐØ�<‰<˜6Ò!Ð!Ð!Ø�?‰?Ó Ò$Ð$Ð$ð ˜Ð€HØ×!Ñ! (Ó+€FØ�O‰O˜D¨8ˆOÓ4€EØ�<‰<˜6Ò!Ð!Ð!Ø�<‰<× Ñ  HÒ,Ð,Ð,Ø�?‰?Ó Ò$Ð$Ð$ð �O‰O˜D¨ˆOÓ0€EØ�<‰<˜6Ò!Ð!Ð!Ø�<‰<× Ñ  HÒ,Ð,Ð,Ø�?‰?Ó Ò$Ð$Ð$ô 
�‰”zÓ	"ñ @Ø�‰˜ V°hˆÔ?÷@ô 
�‰”yÓ	!ñ AØ�‰˜$ ˜ T¨1 I°°a¨yÐ9Ü!Ÿy™y¨4´·±³Ð*=Ð)>Ó?ð 	ô 	A÷Aô
 �Y‰Y˜œbŸh™h›jÐ)ØœbŸh™h›jÐ)ØœbŸh™h›jÐ)ðó €Fð �O‰OØ�qÑ	 ¨Ñ+°1¸1Ñ-=Ð>Øð ó €Eð ˜$ TÑ*Ø˜$ TÑ*Ø˜$ TÑ*ð,€Dð �<‰<˜6Ò!Ð!Ð!Ø�?‰?Ó Ò$Ð$Ð$ô 
�‰”yÓ	!ñ CØ�‰˜#˜q˜ C¨ 8¨c°1¨XÐ6¸rˆÔB÷Cð  3Ñ'Ø�qˆMØ�UˆOð€Dð  CÑ(Ø aÑ(Ø tÑ,ð.€Eð �O‰O˜DÓ!€EØ×Ñ Ò!Ð!Ð!Ø�>‰>˜QÒÐÐØ�?‰?Ó Ò%Ð%Ð%à�RˆLØ aÑ(Ø�tÐð€Dð �bˆ\Ø�eˆ_Ø�dˆ^ð€Eð �O‰O˜DÓ!€EØ×Ñ Ò!Ð!Ð!Ø�>‰>˜QÒÐÐØ�?‰?Ó Ò%Ð%Ñ%÷a@ñ @ú÷Añ Aú÷(Cð Cús%   Ç)PÈAP#Ì/P0ÐP Ð#P-Ð0P9c                  óV  — dd l } | j                  t        dg d¢fdg d¢fg«      «      }t        j                  dt        j
                  «       fdt        j                  «       fg«      }t        j                  j                  ||¬«      }t        j                  j                  |j                  d«      j                  «      sJ ‚|j                  j                  «       |k(  sJ ‚t        j                  dt        j
                  «       fdt        j                  d«      fg«      }t        j                   t"        t$        f«      5  t        j                  j                  ||¬«       d d d «       t        j                  dt        j
                  «       fdt        j&                  «       fdt        j(                  «       fg«      }t        j                   t*        d¬	«      5  t        j                  j                  ||¬«       d d d «       t        j                  dt        j
                  «       fg«      }t        j                  j                  ||¬«      }|j,                  d
k(  sJ ‚|j                  j                  «       |k(  sJ ‚|j.                  dgk(  sJ ‚y # 1 sw Y   �Œ1xY w# 1 sw Y   Œ¤xY w)Nr   r^  rý  rz  rþ  r'  r   ry  rC   r   )r¤   r¾   r   r   rÊ   re  ræ   r}   rÄ   r  r  r¥   r   Úremove_metadatar·   r+   r,   r-  rh   ri   rE   r‚  rp  rG  )r©   rÎ   rÊ   r   s       r    Útest_table_from_pandas_schemar  '
  s  € ó à	�‰”k FÒ,>Ð#?Ø$,ªnÐ#=ð#?ó @ó 
A€Bô �Y‰Y˜¤§¡£Ð+¨h¼¿
¹
»Ð-EÐFÓG€FÜ�H‰H× Ñ  ¨FÐ Ó3€EÜ�8‰8×Ñ˜uŸ|™|¨HÓ5×:Ñ:Ô;Ð;Ð;Ø�<‰<×'Ñ'Ó)¨VÒ3Ð3Ð3ô �Y‰Y˜¤§¡£Ð+¨h¼¿¹ÀSÓ8IÐ-JÐKÓL€FÜ	�‰Ô+¬YÐ7Ó	8ñ 0Ü
�‰×Ñ˜R¨ÐÔ/÷0ô �Y‰Y˜¤§¡£Ð+¨h¼¿
¹
»Ð-EØ¤§¡£Ð,ð.ó /€Fä	�‰”x vÔ	.ñ 0Ü
�‰×Ñ˜R¨ÐÔ/÷0ô �Y‰Y˜¤§¡£Ð+Ð,Ó-€FÜ�H‰H× Ñ  ¨FÐ Ó3€EØ×Ñ Ò!Ð!Ð!Ø�<‰<×'Ñ'Ó)¨VÒ3Ð3Ð3Ø×Ñ & Ò)Ð)Ñ)÷0ñ 0ú÷0ð 0ús   Å"JÇ"JÊJÊJ(c                  ó„  — dd l } t        dg d¢fdg d¢fg«      }t        j                  g d¢d¬«      t        j                  g d¢d¬«      d	œ}t        j                  dt        j
                  «       fdt        j                  «       fg«      }| j                  |«      }t        j                  |«      }t        j                  j                  |«      }|j                  |«      sJ ‚t        j                  ||¬
«      }t        j                  j                  ||¬
«      }|j                  |«      sJ ‚t        j                  |«      }t        j                  j                  |«      }|j                  |«      sJ ‚t        j                  ||¬
«      }t        j                  j                  ||¬
«      }|j                  |«      sJ ‚y )Nr   r“   r×   ry   r
   r(   r   rt   )r“   ry   r'  )r¤   r   r   rM   rÊ   rt   r(   r¾   r   r}   rÄ   rO   rD  )r©   r”   Ú
d_explicitrÊ   rÎ   r
  r  s          r    Útest_table_factory_functionr  H
  sZ  € ãô 	�cš?Ð+¨c²9Ð-=Ð>Ó?€Aä—x‘x¢°hÔ?Ü—x‘x¢	°Ô8ñ:€Jô �Y‰Y˜œbŸh™h›jÐ)¨C´·±³Ð+=Ð>Ó?€Fà	�‰�a‹€BÜ�X‰X�b‹\€FÜ�X‰X×!Ñ! "Ó%€FØ�=‰=˜Ô Ð Ð Ü�X‰X�b Ô(€FÜ�X‰X×!Ñ! "¨VÐ!Ó4€FØ�=‰=˜Ô Ð Ð ä�X‰X�jÓ!€FÜ�X‰X×!Ñ! *Ó-€FØ�=‰=˜Ô Ð Ð ô �X‰X�a Ô'€FÜ�X‰X×!Ñ! !¨FÐ!Ó3€FØ�=‰=˜Ô Ð Ñ rT   c                  óþ  — t        j                  t        «      5  t        j                  dg d¢idg¬«       d d d «       t        j
                  dt        j                  «       fg«      } t        j                  dt        j                  g d¢t        j                  «       ¬«      i| «      }|j                  d«      j                  t        j                  «       k(  sJ ‚t        j                  g d¢d¬«      g}dg}t        j                  ||«      }|j                  |k(  sJ ‚t        j
                  dt        j                  «       fg«      } t        j                  || «      }|j                  |k(  sJ ‚y # 1 sw Y   �Œ=xY w)Nry   r
   rz   r   rE   )r+   r,   r-   r   r   rÊ   rt   rM   rE   r¥   r   rG  )rÊ   r   r;   r{   s       r    Ú test_table_factory_function_argsr  f
  s  € ä	�‰”zÓ	"ñ 0Ü
�‰�#’yÐ!¨#¨Õ/÷0ô �Y‰Y˜œbŸh™h›jÐ)Ð*Ó+€FÜ�H‰H�cœ2Ÿ8™8¢I´B·H±H³JÔ?Ð@À&ÓI€EØ�<‰<˜Ó×!Ñ!¤R§X¡X£ZÒ/Ð/Ð/ô �H‰H’Y WÔ-Ð.€DØˆE€EÜ�H‰H�T˜5Ó!€EØ×Ñ Ò&Ð&Ð&Ü�Y‰Y˜œbŸh™h›jÐ)Ð*Ó+€FÜ�H‰H�T˜6Ó"€EØ×Ñ Ò&Ð&Ñ&÷0ñ 0ús   šE2Å2E<c                  ó|  — dd l } t        j                  t        «      5  t	        j
                  | j                  dg d¢i«      dg¬«       d d d «       t        j                  t        «      5  t	        j
                  | j                  dg d¢i«      ddi¬«       d d d «       t	        j                  dt	        j                  «       fg«      }t	        j
                  | j                  dg d¢i«      |«      }|j                  d«      j                  t	        j                  «       k(  sJ ‚y # 1 sw Y   ŒÝxY w# 1 sw Y   Œ›xY w)Nr   ry   r
   rz   r{  r|  r}  )r¤   r+   r,   r-   r   r   r¾   rÊ   rt   r¥   r   )r©   rÊ   r   s      r    Ú'test_table_factory_function_args_pandasr  z
  sí   € ãô 
�‰”zÓ	"ñ >Ü
�‰�—‘˜s¢IÐ.Ó/¸°uÕ=÷>ô 
�‰”zÓ	"ñ LÜ
�‰�—‘˜s¢IÐ.Ó/¸6À6Ð:JÕK÷Lô �Y‰Y˜œbŸh™h›jÐ)Ð*Ó+€FÜ�H‰H�R—\‘\ 3ª	Ð"2Ó3°VÓ<€EØ�<‰<˜Ó×!Ñ!¤R§X¡X£ZÒ/Ð/Ñ/÷>ð >ú÷Lð Lús   ž,D&Á+-D2Ä&D/Ä2D;c                  ó  — t        j                  t        d¬«      5  t        j                  d«       d d d «       t        j                  t        d¬«      5  t        j
                  d«       d d d «       y # 1 sw Y   ŒCxY w# 1 sw Y   y xY w)Nz!Expected pandas DataFrame, pythonrC   zinvalid inputzExpected pandas DataFrame)r+   r,   rh   r   r   r(  rW   rT   r    Ú$test_factory_functions_invalid_inputr  ‹
  si   € Ü	�‰”yÐ(KÔ	Lñ "Ü
�‰�Ô!÷"ô 
�‰”yÐ(CÔ	Dñ )Ü
�‰˜Ô(÷)ð )÷"ð "ú÷)ð )ús   œA4ÁB Á4A=Â B	c                  ó  — t        j                  t        j                  dt        j                  «       ddi¬«      t        j                  dt        j                  «       «      gddi¬«      } t        j
                  t        j                  g d¢d	¬
«      t        j                  g d¢d¬
«      g| ¬«      }t        |«      dk(  sJ ‚|j                  d¬«      dk(  sJ ‚|j                  d¬«      dk(  sJ ‚|j                  d¬«      dk(  sJ ‚y )NrC  rL  rM  r}  rD  r{  r|  r^  rå   r   ©rx   rÊ  rË  rÌ  rt   r'  zJpyarrow.Table
c0: int16
c1: int32
----
c0: [[1,2,3,4]]
c1: [[10,20,30,40]]T©Úshow_metadatazhpyarrow.Table
c0: int16
  -- field metadata --
  key: 'value'
c1: int32
-- schema metadata --
foo: 'bar'r   ©Úpreview_colsr   z:pyarrow.Table
c0: int16
c1: int32
----
c0: [[1,2,3,4]]
...)	r   rÊ   rä   rå   rt   r   rM   rl   Ú	to_string©rÊ   Útabs     r    Útest_table_repr_to_stringr&  “
  s  € ä�Y‰YœŸ™ ¤r§x¡x£zØ+0°'Ð*:ô<äŸ™ ¤r§x¡x£zÓ2ð4ð "(¨Ð 0ô2€Fô
 �(‰(”B—H‘Hš\°Ô8Ü—H‘HÒ-°GÔ<ð>ØFLôN€Cäˆs‹8ð ò ð ð ð �=‰= tˆ=Ó,ð 1ò ð ð ð �=‰= aˆ=Ó(ð -ò ð ð ð �=‰= aˆ=Ó(ð -ò ð ñ rT   c                  ó”  — t        j                  t        j                  dt        j                  «       ddi¬«      t        j                  dt        j                  «       «      gddi¬«      } t        j
                  t        j                  g d¢d	z  d
¬«      t        j                  g d¢d	z  d¬«      g| ¬«      }t        |«      dk(  sJ ‚y )NrC  rL  rM  r}  rD  r{  r|  r^  rx   rå   r   r  rt   r'  zppyarrow.Table
c0: int16
c1: int32
----
c0: [[1,2,3,4,1,...,4,1,2,3,4]]
c1: [[10,20,30,40,10,...,40,10,20,30,40]])r   rÊ   rä   rå   rt   r   rM   rl   r$  s     r    Ú"test_table_repr_to_string_ellipsisr(  ½
  s«   € ä�Y‰YœŸ™ ¤r§x¡x£zØ+0°'Ð*:ô<äŸ™ ¤r§x¡x£zÓ2ð4ð "(¨Ð 0ô2€Fô
 �(‰(”B—H‘Hš\¨"™_°7Ô;Ü—H‘HÒ-¨bÑ0°wÔ?ðAà ô"€Cô ˆs‹8ð -ò -ð -ñ -rT   c                  ó  — t        j                  t        j                  dt        j                  «       ddi¬«      t        j                  dt        j                  «       «      gddi¬«      } t        j
                  t        j                  g d¢d	¬
«      t        j                  g d¢d¬
«      g| ¬«      }t        |«      dk(  sJ ‚|j                  d¬«      dk(  sJ ‚|j                  d¬«      dk(  sJ ‚|j                  d¬«      dk(  sJ ‚y )NrC  rL  rM  r}  rD  r{  r|  r^  rå   r   r  rt   r'  zLpyarrow.RecordBatch
c0: int16
c1: int32
----
c0: [1,2,3,4]
c1: [10,20,30,40]Tr  znpyarrow.RecordBatch
c0: int16
  -- field metadata --
  key: 'value'
c1: int32
-- schema metadata --
foo: 'bar'r   r!  r   z>pyarrow.RecordBatch
c0: int16
c1: int32
----
c0: [1,2,3,4]
...)	r   rÊ   rä   rå   rt   r(  rM   rl   r#  ©rÊ   rÅ   s     r    Ú test_record_batch_repr_to_stringr+  Ï
  s  € ä�Y‰YœŸ™ ¤r§x¡x£zØ+0°'Ð*:ô<äŸ™ ¤r§x¡x£zÓ2ð4ð "(¨Ð 0ô2€Fô
 �O‰OœRŸX™X¢l¸ÔAÜŸX™XÒ&6¸WÔEðGà#)ô+€Eô ˆu‹:ð ò ð ð ð �?‰?¨ˆ?Ó.ð 3ò ð ð ð �?‰?¨ˆ?Ó*ð /ò ð ð ð �?‰?¨ˆ?Ó*ð /ò ð ñ rT   c                  ó”  — t        j                  t        j                  dt        j                  «       ddi¬«      t        j                  dt        j                  «       «      gddi¬«      } t        j
                  t        j                  g d¢d	z  d
¬«      t        j                  g d¢d	z  d¬«      g| ¬«      }t        |«      dk(  sJ ‚y )NrC  rL  rM  r}  rD  r{  r|  r^  rx   rå   r   r  rt   r'  z¤pyarrow.RecordBatch
c0: int16
c1: int32
----
c0: [1,2,3,4,1,2,3,4,1,2,...,3,4,1,2,3,4,1,2,3,4]
c1: [10,20,30,40,10,20,30,40,10,20,...,30,40,10,20,30,40,10,20,30,40])r   rÊ   rä   rå   rt   r(  rM   rl   r*  s     r    Ú)test_record_batch_repr_to_string_ellipsisr-  ú
  s¯   € ä�Y‰YœŸ™ ¤r§x¡x£zØ+0°'Ð*:ô<äŸ™ ¤r§x¡x£zÓ2ð4ð "(¨Ð 0ô2€Fô
 �O‰OœRŸX™X¢l°2¡o¸GÔDÜŸX™XÒ&6°rÑ&9ÀÔHðJà#)ô+€Eô ˆu‹:ð Iò Ið Iñ IrT   c                  óÒ  — d} d}t        |g d¢f| g d¢fg«      }t        j                  | t        j                  «       f|t        j                  «       fg«      }t        j
                  ||¬«      }|d   j                  d«      j                  t        j                  g d¢d¬«      «      sJ ‚|d	   j                  d«      j                  t        j                  g d¢d
¬«      «      sJ ‚y )Nu   Ã¤Ã¤Ã¤hu   Ã¶Ã¶Ã¶fr×   r
   r'  r   rt   r   r   r(   )	r   r   rÊ   rt   r(   r   rò   rO   rM   )Úcol_aÚcol_br”   rÊ   rž   s        r    Ú"test_table_function_unicode_schemar1    s¸   € Ø€EØ€Eô 	�eš_Ð-°²yÐ/AÐBÓC€Aä�Y‰Y˜¤§¡£
Ð+¨e´R·Y±Y³[Ð-AÐBÓC€Fä�X‰X�a Ô'€FØ�!‰9�?‰?˜1Ó×$Ñ$¤R§X¡Xªi¸gÔ%FÔGÐGÐGØ�!‰9�?‰?˜1Ó×$Ñ$¤R§X¡XªoÀHÔ%MÔNÐNÑNrT   c                  ó  — t        j                  t        j                  g d¢«      t        j                  g d¢«      gddg«      } | j                  t        j                  ddg«      «      j	                  | j                  dd«      «      sJ ‚y )NrV  rW  rX  rY  r   r   )r   r   rM   rZ  rO   r|   rf  s    r    Ú%test_table_take_vanilla_functionalityr3    sm   € Ü�H‰HÜ	�‰Ò$Ó	%Ü	�‰Ò+Ó	,ð	.à	ˆtˆó€Eð
 �:‰:”b—h‘h  1˜vÓ&Ó'×.Ñ.¨u¯{©{¸1¸aÓ/@ÔAÐAÑArT   c                  ó‚  — t        j                  t        j                  g d¢«      t        j                  g d¢«      gddg«      } t        j                  t        j                  dd g«      t        j                  dd g«      gddg«      }| j                  t        j                  dd g«      «      j	                  |«      sJ ‚y )NrV  rW  rX  rY  r   ry   r   ©r   r   rM   rZ  rO   )r   Úresult_with_null_indexs     r    Útest_table_take_null_indexr7  #  s    € Ü�H‰HÜ	�‰Ò$Ó	%Ü	�‰Ò+Ó	,ð	.à	ˆtˆó€Eô
  ŸX™XÜ	�‰�1�d�)Ó	Ü	�‰�3˜�+Ó	ð	 à	ˆtˆóÐð
 �:‰:”b—h‘h  4˜yÓ)Ó*×1Ñ1Ð2HÔIÐIÑIrT   c                  ó‚  — t        j                  t        j                  g d¢«      t        j                  g d¢«      gddg«      } t        j                  t        j                  dd g«      t        j                  ddg«      gddg«      }| j                  t        j                  dd	g«      «      j	                  |«      sJ ‚y )
NrV  rW  rX  rY  r   r“   r”   r   r   r5  )r   Úresult_non_consecutives     r    Útest_table_take_non_consecutiver:  1  s    € Ü�H‰HÜ	�‰Ò$Ó	%Ü	�‰Ò+Ó	,ð	.à	ˆtˆó€Eô
  ŸX™XÜ	�‰�1�d�)Ó	Ü	�‰�3˜�*Ó	ð	à	ˆtˆóÐð
 �:‰:”b—h‘h  1˜vÓ&Ó'×.Ñ.Ð/EÔFÐFÑFrT   c                  ó  — t        j                  g d¢«      } t        j                  g d¢«      }t        j                  ddgddgddgd d	d
gg«      }t        j                  | ||gg d¢«      }|j                  dg«      }t        j                  | gdg«      }|j	                  |«      sJ ‚|j                  ddg«      }t        j                  ||gddg«      }|j	                  |«      sJ ‚|j                  dg«      }t        j                  | gdg«      }|j	                  |«      sJ ‚|j                  ddg«      }t        j                  ||gddg«      }|j	                  |«      sJ ‚|j                  ddi«      }|j                  ddg«      }d|j                  j                  v sJ ‚t        j                  t        d¬«      5  |j                  dg«       d d d «       t        j                  t        d¬«      5  |j                  dg«       d d d «       |j                  ddg«      }t        j                  ||gddg«      }|j	                  |«      sJ ‚t        j                  | ||gg d¢«      }t        j                  t        d¬«      5  |j                  dg«       d d d «       |j                  dg«      }t        j                  |gdg«      }|j	                  |«      sJ ‚y # 1 sw Y   �ŒxY w# 1 sw Y   ŒåxY w# 1 sw Y   Œ`xY wrŠ  )r   rM   r   r�  rO   r�  rÊ   rO  r+   r,   r‚  rs   )r‘  r’  r“  r   rž   rR   r  s          r    Útest_table_selectr<  ?  s±  € Ü	�‰Ò$Ó	%€BÜ	�‰Ò+Ó	,€BÜ	�‰�A�q�6˜A˜q˜6 A q 6¨4°!°R°Ð9Ó	:€BÜ�H‰H�b˜"˜b�\Ò#5Ó6€Eð �\‰\˜4˜&Ó!€FÜ�x‰x˜˜˜t˜fÓ%€HØ�=‰=˜Ô"Ð"Ð"à�\‰\˜4 ˜,Ó'€FÜ�x‰x˜˜R˜ 4¨ ,Ó/€HØ�=‰=˜Ô"Ð"Ð"ð �\‰\˜1˜#Ó€FÜ�x‰x˜˜˜t˜fÓ%€HØ�=‰=˜Ô"Ð"Ð"à�\‰\˜1˜a˜&Ó!€FÜ�x‰x˜˜R˜ 4¨ ,Ó/€HØ�=‰=˜Ô"Ð"Ð"ð ×*Ñ*¨C°¨=Ó9€FØ�]‰]˜D $˜<Ó(€FØ�6—=‘=×)Ñ)Ñ)Ð)Ð)ô 
�‰”xÐ'BÔ	Cñ Ø�‰�d�VÔ÷ô 
�‰”zÐ)>Ô	?ñ Ø�‰�a�SÔ÷ð �\‰\˜4 ˜,Ó'€FÜ�x‰x˜˜R˜ 4¨ ,Ó/€HØ�=‰=˜Ô"Ð"Ð"ô �H‰H�b˜"˜b�\Ò#5Ó6€EÜ	�‰”xÐ'BÔ	Cñ Ø�‰�d�VÔ÷ð �\‰\˜4˜&Ó!€FÜ�x‰x˜˜˜t˜fÓ%€HØ�=‰=˜Ô"Ð"Ñ"÷%ñ ú÷ð ú÷ð úr–  c            	      ó®	  — d„ } t        j                  t        j                  g d¢«      t        j                  g d¢«      t        j                  g d¢«      t        j                  g d¢«      gg d¢¬«      }|j                  d«      j	                  d	g«      } | |j                  «       «      g d
¢g d¢dœk(  sJ ‚|j                  d«      j	                  d	dg«      } | |j                  «       «      g d
¢g d¢g d¢dœk(  sJ ‚|j                  d«      j	                  dg«      } | |j                  «       «      g d
¢g d¢dœk(  sJ ‚|j                  d«      j	                  ddg«      } | |j                  «       «      g d
¢g d¢g d¢dœk(  sJ ‚|j                  d«      j	                  ddg«      } | |j                  «       «      g d
¢g d¢g d¢dœk(  sJ ‚|j                  ddg«      j	                  dg«      } | |j                  «       «      g d¢g d¢g d¢dœk(  sJ ‚|j                  d«      j	                  dddg dfdg«      } | |j                  «       «      g d
¢g d¢g d¢g d¢g d¢g d¢dœk(  sJ ‚t        j                  t        j                  g d ¢«      t        j                  g d!¢«      gdd"g¬«      }|j                  dg«      j	                  d"d#t        j                  d$¬%«      fg«      }|j                  «       d&gd'gd(œk(  sJ ‚|j                  dg«      j	                  d"d#t        j                  d)¬%«      fg«      }|j                  «       d&gd*gd(œk(  sJ ‚|j                  dg«      j	                  d"d#t        j                  d+¬%«      fg«      }|j                  «       d&gd,gd(œk(  sJ ‚|j                  dg«      j	                  g dfd"d#t        j                  d+¬%«      fg«      }|j                  «       d&gd'gd,gd-œk(  sJ ‚|j                  dg«      j	                  g dfg«      }|j                  «       d&gd'gd.œk(  sJ ‚t        j                  g d/¢t        d0«      d1œ«      }t         j                  j                  |j                  d'¬2«      «      }|j                  d«      j	                  dg«      } | |j                  «       «      d&d3gd0d4gdœk(  sJ ‚y )5Nc                 ó&  — d| v rt        t        | d   | d   «      «      }n| d   }t        |«      }dt        | d   «      i}| D ]K  }|dk(  rŒ	t        t        || |   «      «      }|D ]&  }|j	                  |g «      j                  ||   «       Œ( ŒM |S )NÚkeys2Úkeys)rá  rƒ   ÚsortedrC  Ú
setdefaultr™   )r”   r@  Úsorted_keysÚsorted_dÚentryrÅ  Úks          r    Úsorted_by_keysz+test_table_group_by.<locals>.sorted_by_keyst  s®   € à�a‰<Üœ˜Q˜v™Y¨¨'©
Ó3Ó4‰Dà�V‘9ˆDÜ˜T“lˆØœF 1 V¡9Ó-Ð.ˆØò 	AˆEØ˜ŠØÜœ#˜d A e¡HÓ-Ó.ˆFØ ò A�Ø×#Ñ# E¨2Ó.×5Ñ5°f¸Q±iÕ@ñAð		Að ˆrT   ©ry   ry   r“   r“   r   )ÚXrI  ÚYÚZrK  rð  )rx   rÊ  rË  rÌ  rÍ  )r@  r?  rÅ  Ú	bigvaluesrz   r@  )rÅ  Úhash_sumr×   )r   r   r   )r@  Ú
values_sum)rÅ  Ú
hash_count)r   r   r   )r@  rN  Úvalues_count)rÅ  r3   )rÅ  Úmax)rL  r3   )r   r   r   )rË  rÏ  rÍ  )r@  Ú
values_maxÚbigvalues_sum)rL  rQ  )rÊ  rÌ  rÍ  )r@  rN  Úbigvalues_maxr?  )ry   r“   r“   r   )rI  rJ  rK  rK  )r   r   r   r   )r@  r?  rN  Ú	count_all)r@  rR  rS  rT  rU  rN  )ry   ry   ry   )r   NNrÅ  Úcountr0   )Úmodery   r   )r@  rP  Ú	only_nullr   Ú
only_validr   )r@  rU  rP  )r@  rU  )ry   r“   ry   r“   ry   r“   r   ©r@  rÅ  r¶  r“   r   )r   r   rM   Úgroup_byÚ	aggregaterB  ÚpcÚCountOptionsr„   r}   r1  r7  )rG  r   ÚrÚtable_with_nullsÚtable_with_chunkss        r    Útest_table_group_byrb  r  sV  € òô  �H‰HÜ
�‰Ò*Ó+Ü
�‰Ò*Ó+Ü
�‰’Ó!Ü
�‰Ò%Ó&ð	ò
 6ô7€Eð 	�‰�vÓ×(Ñ(Øð*ó 	€Añ ˜!Ÿ+™+›-Ó(ÚÚñ-ò ð ð ð
 	�‰�vÓ×(Ñ(ØØ ð*ó 	€Añ ˜!Ÿ+™+›-Ó(ÚÚÚ!ñ-ò ð ð ð 	�‰�vÓ×(Ñ(Øð*ó 	€Añ ˜!Ÿ+™+›-Ó(ÚÚñ-ò ð ð ð
 	�‰�vÓ×(Ñ(ØØð*ó 	€Añ ˜!Ÿ+™+›-Ó(ÚÚÚ%ñ-ò ð ð ð 	�‰�vÓ×(Ñ(ØØð*ó 	€Añ ˜!Ÿ+™+›-Ó(ÚÚÚ%ñ-ò ð ð ð 	�‰˜ Ð(Ó)×3Ñ3Øð5ó 	€Añ ˜!Ÿ+™+›-Ó(Ú$Ú%Ú"ñ-ò ð ð ð 	�‰�vÓ×(Ñ(ØØØØ	ˆ[ÐØð*ó 	€Añ ˜!Ÿ+™+›-Ó(ÚÚÚ%Ú%ÚÚñ-ò ð ð ô —x‘xÜ
�‰’Ó!Ü
�‰’Ó!ð!ð �hÐô!Ðð
 	×!Ñ! 6 (Ó+×5Ñ5Ø	�7œBŸO™O°Ô7Ð8ð7ó 	€Að �;‰;‹=Ø�Ø˜ñò ð ð ð
 	×!Ñ! 6 (Ó+×5Ñ5Ø	�7œBŸO™O°Ô=Ð>ð7ó 	€Að �;‰;‹=Ø�Ø˜ñò ð ð ð
 	×!Ñ! 6 (Ó+×5Ñ5Ø	�7œBŸO™O°Ô>Ð?ð7ó 	€Að �;‰;‹=Ø�Ø˜ñò ð ð ð
 	×!Ñ! 6 (Ó+×5Ñ5Ø	ˆ[ÐØ	�7œBŸO™O°Ô>Ð?ð7ó 	€Að �;‰;‹=Ø�Ø�SØ˜ñò ð ð ð 	×!Ñ! 6 (Ó+×5Ñ5Ø	ˆ[Ðð7ó 	€Að �;‰;‹=Ø�Ø�Sñò ð ð ô
 �H‰HÚ.Ü˜“(ñó €Eô Ÿ™×-Ñ-Ø×Ñ qÐÓ)ó+Ðà×"Ñ" 6Ó*×4Ñ4Ð6GÐ5HÓI€AÙ˜!Ÿ+™+›-Ó(Ø�c�
Ø˜!�fñ-ò ð ñ rT   c                  ó  — t        j                  g d¢g d¢g d¢dœ«      } | j                  d«      }t        j                  dgdgdgd	œ«      }d
D ]9  }|j                  d|¬«      j	                  ddg«      }|j                  |«      rŒ9J ‚ y )N)rq   rx   rx   )TFN)FTN)ÚgÚany_argÚall_argr   rx   FT)rd  Úany_arg_anyÚall_arg_all)FTrd  ©Úuse_threads)re  Úany)rf  r0   )r   r   r|   r[  r\  rO   )r   r  rR   rj  rž   s        r    Útest_group_by_sliced_any_allrl    sž   € ô �H‰HâÚ*Ú*ñ	
ó€Eð �[‰[˜‹^€Fä�x‰xà�Ø!˜7Ø ˜6ñ	
ó€Hð %ò 'ˆØ—‘ °+�Ó>×HÑHà"Ø"ðó
ˆð �}‰}˜XÕ&Ð&Ð&ñ'rT   c                  óð  — t        j                  g d¢ddgdz  dœ«      } t        j                  g d¢ddgdz  dœ«      }t        j                  | |g«      }t        j                  t
        «      5  |j                  d«      j                  dg«       d d d «       |j                  dd¬«      j                  dg«      }t        j                  ddgd	dgd
œ«      }|j                  |«      sJ ‚y # 1 sw Y   Œ\xY w)Nr^  ry   r“   r   rÈ   )ry   ÚfirstFri  r   )r“   Úa_first)	r   r   r²  r+   r,   r-  r[  r\  rO   )r
  r  r   rž   rR   s        r    Útest_table_group_by_firstrp  /  sÚ   € ô �X‰XšL°°S¨z¸A©~Ñ>Ó?€FÜ�X‰XšL°°S¨z¸A©~Ñ>Ó?€FÜ×Ñ˜f fÐ-Ó.€Eä	�‰Ô*Ó	+ñ 8Ø�‰�sÓ×%Ñ% ~Ð&6Ô7÷8ð �^‰^˜C¨Uˆ^Ó3×=Ñ=¸~Ð>NÓO€FÜ�x‰x˜s C˜j°a¸°VÑ<Ó=€HØ�=‰=˜Ô"Ð"Ñ"÷8ð 8ús   Á/"C,Ã,C5c                  ól  — t        j                  g d¢g d¢g d¢dœ«      } t        j                  t        d¬«      5  | j                  d«      j                  dg«       d d d «       | j                  d«      j                  d	g«      }t        j                  g d
¢i i i gdœ«      }|j                  |«      sJ ‚t        j                  d¬«      }| j                  d«      j                  dd|fg«      }t        j                  g d
¢dddœdddœdddœgdœ«      }|j                  |«      sJ ‚y # 1 sw Y   ŒÎxY w)N)r   r   r   r   r   r   )Úhrr  rr  Úwrs  rs  )rx   rÊ  rË  rÌ  rÍ  rÎ  )ÚgrouprL  rM  z accepts 3 arguments but 2 passedrC   rt  )rL  Úpivot_wider)©rL  rM  ru  r
   )rt  Úkey_value_pivot_wider)rr  rs  )Ú	key_namesrv  ru  rx   rÌ  rÊ  rÍ  rË  rÎ  )
r   r   r+   r,   r-   r[  r\  rO   r]  ÚPivotWiderOptions)r   rž   rR   Úoptionss       r    Útest_table_group_by_pivot_widerr{  >  s2  € ä�H‰HÒ1Ú;Ú7ñ9ó :€Eô 
�‰”zÐ)KÔ	Lñ DØ�‰�wÓ×)Ñ)Ð+AÐ*BÔC÷Dð
 �^‰^˜GÓ$×.Ñ.Ð0QÐ/RÓS€FÜ�x‰x¢)Ø35°r¸2°,ñ@ó A€Hà�=‰=˜Ô"Ð"Ð"ä×"Ñ"¨ZÔ8€GØ�^‰^˜GÓ$×.Ñ.Ø
˜M¨7Ð	3Ð4ó6€Fä�x‰xÚà˜BÑ r°Ñ!3¸2ÀBÑ5Gð#Iñ	JóK€Hð �=‰=˜Ô"Ð"Ñ"÷#Dð Dús   »"D*Ä*D3c                  ój  — t         j                  j                  dg d¢i«      } | j                  «       }| j                  |j                  k(  sJ ‚| |j                  «       k(  sJ ‚| j                  d¬«      }|j                  «       j                  dk(  sJ ‚|j                  «       j                  dk(  sJ ‚y )NrŽ   r
   r   r¶  r   )r   r}   rD  Ú	to_readerrÊ   Úread_allÚread_next_batchrÀ   )r   r;  s     r    Útest_table_to_recordbatchreaderr€  X  sœ   € Ü�H‰H× Ñ  #¢yÐ!1Ó2€EØ�_‰_Ó€FØ�<‰<˜6Ÿ=™=Ò(Ð(Ð(Ø�F—O‘OÓ%Ò%Ð%Ð%à�_‰_¨1ˆ_Ó-€FØ×!Ñ!Ó#×,Ñ,°Ò1Ð1Ð1Ø×!Ñ!Ó#×,Ñ,°Ò1Ð1Ñ1rT   c                  óª  — t        j                  g d¢g d¢dœ«      } t        j                  g d¢g d¢dœ«      }| j                  |dd«      }|j                  «       t        j                  g d¢g d¢g d	¢d
œ«      k(  sJ ‚| j                  |ddd¬«      }|j                  «       j	                  d«      t        j                  g d¢g d¢g d¢d
œ«      k(  sJ ‚y )N©r   r   r   ©ry   r“   rK  ©ÚcolAÚcol2©rq   r   r   ©rK  rO  rN  )ÚcolBÚcol3r…  r‰  ©rN  rO  N©r…  r†  rŠ  ú
full outer©Ú	join_type©r   r   r   rq   ©ry   r“   rK  N©rN  rO  NrK  ©r   r   ÚjoinrN   Úsort_byrÐ  s      r    Útest_table_joinr–  c  sÖ   € ä	�‰ÚÚñó 
€Bô
 
�‰ÚÚñó 
€Bð
 �W‰W�R˜ Ó(€FØ× Ñ Ó"¤b§h¡hÚÚÚ ñ0ó 'ò ð ð ð �W‰W�R˜ °<ˆWÓ@€FØ× Ñ Ó"×*Ñ*¨6Ó2´b·h±hÚÚ%Ú%ñ@ó 7ò ð ñ rT   c                  ó¨  — t        j                  g d¢g d¢dœ«      } t        j                  g d¢g d¢dœ«      }| j                  |d«      }|j                  «       t        j                  g d¢g d¢g d¢d	œ«      k(  sJ ‚| j                  |dd
d¬«      }|j                  «       j	                  d«      t        j                  g d¢g d¢g d¢d	œ«      k(  sJ ‚y )Nr‚  rƒ  r„  r‡  rˆ  )r…  rŠ  r…  r‹  rŒ  r�  Ú_r)r�  Úright_suffixr�  r‘  r’  r“  rÐ  s      r    Útest_table_join_unique_keyrš  ~  sÔ   € ä	�‰ÚÚñó 
€Bô
 
�‰ÚÚñó 
€Bð
 �W‰W�R˜Ó €FØ× Ñ Ó"¤b§h¡hÚÚÚ ñ0ó 'ò ð ð ð �W‰W�R˜¨<ÀdˆWÓK€FØ× Ñ Ó"×*Ñ*¨6Ó2´b·h±hÚÚ%Ú%ñ@ó 7ò ð ñ rT   c            	      ó<  — t        j                  g d¢g d¢g d¢dœ«      } t        j                  g d¢g d¢g d¢dœ«      }| j                  |dd	¬
«      }|j                  «       j	                  d«      t        j                  g d¢g d¢g d¢g d¢g d¢gg d¢¬«      k(  sJ ‚y )Nr‚  ©rx   rÊ  rÎ  rƒ  ©r…  r‰  ÚcolValsr‡  ©rq   rÊ  rx   rˆ  r…  r�  rŽ  r�  )rx   rÊ  rÎ  Nr‘  )rx   rÊ  Nrq   r’  )r…  r‰  rž  r‰  rž  rz   r“  rÐ  s      r    Útest_table_join_collisionsr   ™  s�   € ä	�‰ÚÚÚ"ñó 
€Bô 
�‰ÚÚÚ"ñó 
€Bð �W‰W�R˜¨<ˆWÓ8€FØ× Ñ Ó"×*Ñ*¨6Ó2´b·h±hÚÚÚÚÚð@ò <ô7=ò =ð =ñ =rT   c                 óÈ   — | j                  g d¢g d¢g d¢dœ«      }|j                  t        j                  d«      dk  «      }|| j                  ddgd	d
gddgdœ«      k(  sJ ‚y )N)r   r   r   r   )rx   rÊ  NrÎ  )ry   r“   r   rK  r�  r‰  rÍ  r   r   rx   rÊ  ry   r“   )rD  Úfilterr]  rä   )rì  r�  rž   s      r    Útest_table_filter_expressionr£  ±  su   € ð 
�‰ÚÚ"Ú'ñó 
€Bð �Y‰Y”r—x‘x Ó'¨"Ñ,Ó-€FØ�S—_‘_Ø�A�Ø�R�Ø˜�:ñ&ó ò ð ñ rT   c                  ó`  — t        j                  g d¢g d¢g d¢dœ«      } t        j                  g d¢g d¢g d¢dœ«      }t        j                  | |g«      }|j                  t	        j
                  d«      d	k  «      }|j                  «       t        j                  g d
¢g d¢g d¢dœ«      k(  sJ ‚y )Nr‚  rœ  rƒ  r�  r‡  rŸ  rˆ  r…  rx   )r   r   r   r   r   )rx   rÊ  rÎ  rÊ  rx   )ry   r“   rK  rO  rN  )r   r   r²  r¢  r]  rä   rN   )r�  rl  rm  rž   s       r    Ú#test_table_filter_expression_chunksr¥  Â  s¢   € ä	�‰ÚÚÚ"ñó 
€Bô
 
�‰ÚÚÚ"ñó 
€Bô 
×	Ñ	˜2˜r˜(Ó	#€Bà�Y‰Y”r—x‘x Ó'¨"Ñ,Ó-€FØ× Ñ Ó"¤b§h¡hÚÚ$Ú,ñ0ó 'ò ð ñ rT   c                  óò  — t        j                  g d¢g d¢dœ«      } t        j                  g d¢g d¢g d¢g d¢g d¢g d¢dœ«      }| j                  |dd«      }|j                  «       t        j                  g d¢g d¢g d	¢g d	¢g d	¢g d	¢g d	¢d
œ«      k(  sJ ‚| j                  |ddd¬«      }|j                  «       j	                  d«      t        j                  g d¢g d¢g d¢g d¢g d¢g d¢g d¢d
œ«      k(  sJ ‚y )Nr‚  rƒ  r„  r‡  rˆ  )r‰  rŠ  Úcol4Úcol5Úcol6Úcol7r…  r‰  r‹  )r…  r†  rŠ  r§  r¨  r©  rª  r�  rŽ  r�  r‘  r’  r“  rÐ  s      r    Útest_table_join_many_columnsr«  Ù  sú   € ä	�‰ÚÚñó 
€Bô
 
�‰ÚÚÚÚÚÚñó 
€Bð �W‰W�R˜ Ó(€FØ× Ñ Ó"¤b§h¡hÚÚÚ Ú Ú Ú Ú ñ0ó 'ò ð ð ð �W‰W�R˜ °<ˆWÓ@€FØ× Ñ Ó"×*Ñ*¨6Ó2´b·h±hÚÚ%Ú%Ú%Ú%Ú%Ú%ñ@ó 7ò ð ñ rT   c                  ó4  — t         j                  j                  g d¢g d¢dœ«      } t         j                  j                  g d¢g d¢g d¢dœ«      }| j                  |dd	d
dd¬«      }|j	                  «       t        j
                  g d¢g d¢g d¢dœ«      k(  sJ ‚y )N)r   r   r   r   r   )ry   r“   ry   r“   rK  r„  )r   r   râ  )ry   r“   rd  )re   rg   rB   )r‰  rŠ  ÚcolCr…  r†  r   r‰  rŠ  ©ÚonÚbyÚ	toleranceÚright_onÚright_by)re   NNNN)r…  r†  r­  )r   r}   rD  Ú	join_asofrN   r   )r�  rl  r_  s      r    Útest_table_join_asofrµ     sž   € ä	�‰×	Ñ	ÚÚ)ñó 
€Bô
 
�‰×	Ñ	ÚÚÚñó 
€Bð 	�‰Ø
ˆv˜&¨AØ &ð 	ó 	€Að ×ÑÓ¤§¡ÚÚ)Ú,ñ+ó "ò ð ñ rT   c                  ó   — t        j                  g d¢g d¢g d¢dœ«      } t        j                  g d¢g d¢g d¢g d¢d	œ«      }| j                  |d
ddgd¬«      }|j                  d«      t        j                  g d¢g d¢g d¢g d¢dœ«      k(  sJ ‚y )Nr‚  rœ  r
   ©r…  r‰  r¯  rŸ  rˆ  r‡  ©r   r   r   )r‰  rž  r…  r¯  r¯  r…  r‰  r   ©r¯  r°  r±  )NrO  N©r…  r‰  r¯  rž  )r   r   r´  r•  rÐ  s      r    Ú test_table_join_asof_multiple_byr»    s›   € ä	�‰ÚÚÚñó 
€Bô 
�‰ÚÚ"ÚÚñ	ó 
€Bð �\‰\Ø
ˆt˜ Ð(°Að ó €Fð �>‰>˜&Ó!¤R§X¡XÚÚÚÚ$ñ	/ó &ò ð ñ rT   c                  óÚ   — t        j                  dg d¢i«      } t        j                  g d¢g d¢dœ«      }| j                  |dg d¬«      }|t        j                  g d¢g d¢d	œ«      k(  sJ ‚y )
Nr¯  r
   rˆ  r¸  )rž  r¯  r   r¹  )rK  rK  rO  )r¯  rž  )r   r   r´  rÐ  s      r    Útest_table_join_asof_empty_byr½  2  s}   € ä	�‰ØŠiðó 
€Bô 
�‰Ú"Úñó 
€Bð
 �\‰\Ø
ˆt˜ að ó €Fð ”R—X‘XÚÚ"ñó ò ð ñ rT   c            
      ó,  — t        j                  g d¢g d¢g d¢g d¢dœ«      } t        j                  g d¢g d¢g d¢g d	¢g d
¢dœ«      }d}t        j                  t        |¬«      5  | j                  |dddgddddg¬«       d d d «       y # 1 sw Y   y xY w)Nr‚  rœ  r
   rƒ  rº  rŸ  rˆ  ©rÓ  rî  rï  r‡  r¸  )r‰  rž  ÚcolUniqr…  r¯  zXColumns {'colVals'} present in both tables. AsofJoin does not support column collisions.rC   r¯  r…  r‰  r   r®  )r   r   r+   r,   r-   r´  ©r�  rl  rI   s      r    Útest_table_join_asof_collisionsrÂ  F  s�   € ä	�‰ÚÚÚÚ"ñ	ó 
€Bô 
�‰ÚÚ"Ú"ÚÚñó 
€Bð	7ð ô 
�‰”z¨Ô	-ñ 
Ø
�‰Ø�4˜V VÐ,¸Ø V¨VÐ$4ð 	ô 	
÷
÷ 
ñ 
ús   Á%B
Â
Bc            	      óF  — t        j                  g d¢g d¢g d¢dœ«      } t        j                  g d¢g d¢g d¢g d¢d	œ«      }d
}t        j                  t         j                  j
                  |¬«      5  | j                  |dddgdddg¬«       d d d «       y # 1 sw Y   y xY w)Nr‚  rœ  r
   r·  rˆ  r¿  r‡  r¸  ©rž  rÀ  r…  r¯  z)inconsistent size of by-key across inputsrC   r¯  r…  r‰  r   r®  ©r   r   r+   r,   r   r'  r´  rÁ  s      r    Ú'test_table_join_asof_by_length_mismatchrÆ  b  s™   € ä	�‰ÚÚÚñó 
€Bô 
�‰Ú"Ú"ÚÚñ	ó 
€Bð 6€CÜ	�‰”r—v‘v×*Ñ*°#Ô	6ñ 
Ø
�‰Ø�4˜V VÐ,¸Ø V Hð 	ô 	
÷
÷ 
ñ 
ús   Á3BÂB c            	      ó>  — t        j                  g d¢g d¢dœ«      } t        j                  g d¢g d¢g d¢g d¢dœ«      }d	}t        j                  t         j                  j
                  |¬
«      5  | j                  |ddgdddg¬«       d d d «       y # 1 sw Y   y xY w)Nr‚  r
   ©r…  r¯  rˆ  r¿  )g     ÀX@rf   re   r¸  rÄ  zCExpected by-key type int64 but got double for field colA in input 1rC   r¯  r…  r   r®  rÅ  rÁ  s      r    Ú%test_table_join_asof_by_type_mismatchrÉ  y  s”   € ä	�‰ÚÚñó 
€Bô
 
�‰Ú"Ú"ÚÚñ	ó 
€Bð P€CÜ	�‰”r—v‘v×*Ñ*°#Ô	6ñ 
Ø
�‰Ø�4˜V˜H°Ø V Hð 	ô 	
÷
÷ 
ñ 
úó   Á0BÂBc            	      ó>  — t        j                  g d¢g d¢dœ«      } t        j                  g d¢g d¢g d¢g d¢dœ«      }d	}t        j                  t         j                  j
                  |¬
«      5  | j                  |ddgdddg¬«       d d d «       y # 1 sw Y   y xY w)Nr‚  r
   rÈ  rˆ  r¿  r‡  )rf   rg   rA   rÄ  zAExpected on-key type int64 but got double for field on in input 1rC   r¯  r…  r   r®  rÅ  rÁ  s      r    Ú%test_table_join_asof_on_type_mismatchrÌ  �  s”   € ä	�‰ÚÚñó 
€Bô
 
�‰Ú"Ú"ÚÚñ	ó 
€Bð N€CÜ	�‰”r—v‘v×*Ñ*°#Ô	6ñ 
Ø
�‰Ø�4˜V˜H°Ø V Hð 	ô 	
÷
÷ 
ñ 
úrÊ  c                 ó¨  — | j                  d dgd dgdœ«      }t        j                  t        j                  ddd¬«      t        j                  ddd	¬«      g«      }t	        j
                  t        «      5  |j                  |«       d d d «       | j                  d dgd	dgdœ«      }|j                  |«      j                  |k(  sJ ‚y # 1 sw Y   ŒBxY w)
Nr   TrÈ   ry   rE   rQ  r“   ÚboolF)rD  r   rÊ   rä   r+   r,   r-   r	  )rì  r   Ú
new_schemas      r    Útest_table_cast_invalidrÐ  ¥  sº   € ð �O‰O 4¨ )°4¸°,Ñ?Ó@€EÜ—‘œBŸH™H S¨'¸DÔAÜŸH™H S¨&¸5ÔAðCó D€Jä	�‰”zÓ	"ñ Ø�
‰
�:Ô÷ð �O‰O 4¨ )°5¸$°-Ñ@ÓA€EØ�:‰:�jÓ!×(Ñ(¨JÒ6Ð6Ñ6÷	ð ús   Á5CÃCc                 óÆ  — | j                  t        j                  g d¢«      t        j                  g d¢«      gddg¬«      }|j                  d«      j	                  «       g d¢g d¢dœk(  sJ ‚|j                  d	g«      j	                  «       g d
¢g d¢dœk(  sJ ‚| j                  t        j                  g d¢t        j
                  «       ¬«      t        j                  g d¢«      gddg¬«      }|j                  dg«      }|j	                  «       }|d   g d¢k(  sJ ‚|d   g d¢k(  sJ ‚|j                  dg«      }|j	                  «       }|d   g d¢k(  sJ ‚|d   g d¢k(  sJ ‚y )N)r   r   r   r   r   )r“   ry   r“   ry   r   rÅ  r@  rz   rH  rð  rZ  )rÅ  Ú
descendingÚat_end)r   r“   r“   ry   ry   )r   r   r   r   r   )r   r   r   é#   r   )rí   Úcarrî   Úfoobarry   r“   ©ry   rÒ  rÓ  )rÔ  r   r   r   )rÖ  rÕ  rî   rí   )ry   Ú	ascendingrÓ  )r~   r   rM   r•  rB  rE   )rì  r   r%  Ú
sorted_tabÚsorted_tab_dicts        r    Útest_table_sort_byrÛ  ¸  sz  € ð �O‰OÜ
�‰’Ó!Ü
�‰Ò*Ó+ðð ˜Ðð ó !€Eð
 �=‰=˜Ó"×,Ñ,Ó.Ú)Ú!ñ3ò ð ð ð
 �=‰=Ð<Ð=Ó>×HÑHÓJÚ)Ú!ñOò ð ð ð
 �/‰/Ü
�‰’¤R§X¡X£ZÔ0Ü
�‰Ò0Ó1ðð �3ˆZð ó €Cð
 —‘Ð;Ð<Ó=€JØ ×*Ñ*Ó,€OØ˜3Ñ¢=Ò0Ð0Ð0Ø˜3ÑÒ#BÒBÐBÐBà—‘Ð:Ð;Ó<€JØ ×*Ñ*Ó,€OØ˜3Ñ¢=Ò0Ð0Ð0Ø˜3ÑÒ#BÒBÐBÑBrT   c                  óÈ  — t         j                  j                  t        j                  g d¢t        j                  «       ¬«      t        j                  g d¢t        j                  «       ¬«      t        j                  g d¢«      gg d¢¬«      } | j                  ddg«      }|j                  «       }|d	   g d
¢k(  sJ ‚|d   g d¢k(  sJ ‚|d   g d¢k(  sJ ‚| j                  ddg«      }|j                  «       }|d	   g d¢k(  sJ ‚|d   g d¢k(  sJ ‚|d   g d¢k(  sJ ‚| j                  ddg«      }|j                  «       }|d	   g d¢k(  sJ ‚|d   g d¢k(  sJ ‚|d   g d¢k(  sJ ‚y )N)r   rÔ  r   r   NNr   r   r   )r   r   r   r   Nr   Nr   )rí   rÕ  rî   rÖ  ÚdarÚearÚfarÚgarr×   rz   r×  )r“   rÒ  Úat_startry   )rÔ  r   r   r   r   r   NNr“   )r   r   r   Nr   r   Nr   r   )rÕ  rí   rî   rß  rà  rÖ  rÝ  rÞ  )ry   rØ  rá  )r“   rØ  rÓ  )NNr   r   r   r   r   rÔ  )r   Nr   r   Nr   r   r   )rÞ  rÝ  rÖ  rà  rß  rî   rí   rÕ  )r“   rÒ  rÓ  )r   Nr   r   Nr   r   r   )rÞ  rÝ  rà  rÖ  rß  rí   rî   rÕ  )r   rÃ   r~   rM   rE   r•  rB  )ra  Ú	sorted_rbÚsorted_rb_dicts      r    Útest_record_batch_sorträ  ß  s¯  € Ü	�‰×	#Ñ	#Ü
�‰Ò0´r·x±x³zÔBÜ
�‰Ò/´b·h±h³jÔAÜ
�‰ÒLÓMð%ò ð	 
$ó 
€Bð —
‘
Ð9Ø:ð<ó =€Ià×(Ñ(Ó*€NØ˜#ÑÒ"AÒAÐAÐAØ˜#ÑÒ"@Ò@Ð@Ð@Ø˜#Ñò #Pò Pð Pð Pð —
‘
Ð:Ø7ð9ó :€Ià×(Ñ(Ó*€NØ˜#ÑÒ"AÒAÐAÐAØ˜#ÑÒ"@Ò@Ð@Ð@Ø˜#Ñò #Pò Pð Pð Pð —
‘
Ð:Ø8ð:ó ;€Ià×(Ñ(Ó*€NØ˜#ÑÒ"AÒAÐAÐAØ˜#ÑÒ"@Ò@Ð@Ð@Ø˜#Ñò #Pò Pð Pñ PrT   Úconstructorc                 ó4  —  | g d¢g d¢gddg¬«      }t        j                  |«      }t        j                  ddgdd	gd
dggd¬«      }t         j                  j	                  ||«       t        j                  |d¬«      }t         j                  j	                  ||«       |j
                  dk(  sJ ‚|j                  g «      }t        j                  |«      }t        j                  d«      }t         j                  j	                  ||«       |j
                  dk(  sJ ‚t        j                  |d¬«      }t         j                  j	                  ||«       |j
                  dk(  sJ ‚|j                  dd«      }t        j                  |«      }t        j                  d«      }t         j                  j	                  ||«       |j
                  dk(  sJ ‚t        j                  |d¬«      }t         j                  j	                  ||«       |j
                  dk(  sJ ‚y )Nr
   r@   ry   r“   rz   r   r   r   r   r   r   ri   rÑ   rt   )r   r   r   rÉ   )	rZ   r[   rM   r´   Úassert_allcloserÒ   r�  Úemptyr|   )rå  r   rž   rR   r  rÆ  s         r    Útest_numpy_asarrayré  ÿ  s¦  € ñ š¢OÐ4¸SÀ#¸JÔG€EÜ�Z‰Z˜Ó€FÜ�x‰x˜!˜Q˜ ! Q ¨!¨Q¨Ð0¸	ÔB€HÜ‡J�J×Ñ˜v xÔ0ä�Z‰Z˜ WÔ-€FÜ‡J�J×Ñ˜v xÔ0Ø�<‰<˜7Ò"Ð"Ð"ð �\‰\˜"Ó€FÜ�Z‰Z˜Ó€FÜ�x‰x˜Ó€HÜ‡J�J×Ñ˜v xÔ0Ø�<‰<˜9Ò$Ð$Ð$Ü�Z‰Z˜ gÔ.€FÜ‡J�J×Ñ˜v xÔ0Ø�<‰<˜7Ò"Ð"Ð"ð �[‰[˜˜AÓ€FÜ�Z‰Z˜Ó€FÜ�x‰x˜Ó€HÜ‡J�J×Ñ˜v xÔ0Ø�<‰<˜9Ò$Ð$Ð$Ü�Z‰Z˜ gÔ.€FÜ‡J�J×Ñ˜v xÔ0Ø�<‰<˜7Ò"Ð"Ñ"rT   c                 ó¶   —  | g d¢g d¢gddg¬«      }t        j                  t        d¬«      5  t        j                  |d¬	«       d d d «       y # 1 sw Y   y xY w)
Nr
   r@   ry   r“   rz   zUnable to avoid a copyrC   F)Úcopy)r+   r,   r-   rZ   rM   )rå  r   s     r    Útest_numpy_array_protocolrì     sK   € ñ š¢OÐ4¸SÀ#¸JÔG€Eä	�‰”zÐ)AÔ	Bñ $Ü
�‰�˜UÕ#÷$÷ $ñ $ús   ®AÁAc                  ó"  — d} t         j                  j                  t        | «      t        | «      D ��cg c]  }t        d«      D �cg c]  }|‘Œ c}‘Œ c}}dœ«      }t         j                  j                  t        | «      t        | «      D �cg c]  }|‘Œ c}dœ«      }t	        j
                  t         j                  j                  «      5 }|j                  |dd¬«       d d d «       d}|t        j                  «      v sJ ‚t	        j
                  t         j                  j                  «      5 }|j                  |dd¬«       d d d «       |t        |j                  «      v sJ ‚y c c}w c c}}w c c}w # 1 sw Y   Œ˜xY w# 1 sw Y   Œ?xY w)	NrË  r   )rl  Úarray_column)rl  rM  rl  ÚinnerrŽ  zOData type list<item: int64> is not supported in join non-key field array_column)r   r}   rD  r„   r+   r,   r   r'  r”  rl   rM  )Ú	NUM_ITEMSrŽ   r§  r�  rl  ÚexcinfoÚexp_error_msgs          r    Útest_invalid_non_join_columnró  )  sD  € à€IÜ	�‰×	Ñ	Ü�IÓÜ8=¸iÓ8H×I°1¤U¨1£XÖ. š!Ô.ÓIñó 
€Bô 
�‰×	Ñ	Ü�IÓÜ" 9Ó-Ö.˜’!Ò.ñó 
€Bô 
�‰”r—v‘v×*Ñ*Ó	+ð -¨wØ
�‰��D GˆÔ,÷-ð/€MàœC §¡Ó.Ñ.Ð.Ð.ô 
�‰”r—v‘v×*Ñ*Ó	+ð -¨wØ
�‰��D GˆÔ,÷-àœC §¡Ó.Ñ.Ð.Ñ.ùò# /ùÓIùò /÷-ð -ú÷-ð -ús5   ´E.Á	E)ÁE.Â	E4
ÃE9Ä2FÅ)E.Å9FÆFc                  óZ   — t        j                  dt        ¬«      } | j                  d«      S )Nzpyarrow.cuda)Úexc_typer   )r+   ÚimportorskipÚImportErrorÚContext)Úcudas    r    Úcuda_contextrú  B  s"   € ä×Ñ˜~¼ÔD€DØ�<‰<˜‹?ÐrT   c                  óÈ   — t        j                  t        j                  dt        j                  «       «      t        j                  dt        j                  «       «      g«      S )NrC  rD  )r   rÊ   rä   rt   rW   rT   r    rÊ   rÊ   H  s8   € ä�9‰9”b—h‘h˜t¤R§X¡X£ZÓ0´"·(±(¸4ÄÇÁÃÓ2LÐMÓNÐNrT   c                 óÆ   — t        j                  g d¢| j                  d«      j                  «      t        j                  g d¢| j                  d«      j                  «      gS )Nrð  r   rB  r   )r   rM   rä   r   r'  s    r    Ú
cpu_arraysrý  M  sG   € ä�H‰H’_ f§l¡l°1£o×&:Ñ&:Ó;Ü�H‰HÒ+¨V¯\©\¸!«_×-AÑ-AÓBðDð DrT   c                 ó^   — |D �cg c]  }|j                  | j                  «      ‘Œ c}S c c}w r   ©Úcopy_toÚmemory_manager)rú  rý  rH   s      r    Úcuda_arraysr  S  s%   € à@JÖK¸ˆC�K‰K˜×3Ñ3Õ4ÒKÐKùÒKs   …"*c                 óP   — t        j                  | «      }|j                  du sJ ‚|S )NT©r   r'   Úis_cpu)rý  r'   s     r    Úcpu_chunked_arrayr  X  s,   € ä×$Ñ$ ZÓ0€MØ×Ñ 4Ñ'Ð'Ð'ØÐrT   c                 óP   — t        j                  | «      }|j                  du sJ ‚|S ©NFr  )r  r'   s     r    Úcuda_chunked_arrayr	  _  s,   € ä×$Ñ$ [Ó1€MØ×Ñ 5Ñ(Ð(Ð(ØÐrT   c                 óV   — t        j                  | |z   «      }|j                  du sJ ‚|S r  r  )rý  r  r'   s      r    Úcpu_and_cuda_chunked_arrayr  f  s1   € ä×$Ñ$ Z°+Ñ%=Ó>€MØ×Ñ 5Ñ(Ð(Ð(ØÐrT   c                 ó0   — t        j                  | |¬«      S ©Nr'  )r   r(  )rý  rÊ   s     r    Úcpu_recordbatchr  m  s   € ä�?‰?˜:¨fÔ5Ð5rT   c                 ó8   — |j                  | j                  «      S r   rÿ  )rú  r  s     r    Úcuda_recordbatchr  r  s   € à×"Ñ" <×#>Ñ#>Ó?Ð?rT   c                 ó4   — t        j                  ||g| ¬«      S r  ©r   r   )rÊ   r  s     r    Ú	cpu_tabler  w  s   € ä�8‰8Ð&Ð(9Ð:À6ÔJÐJrT   c                 ó4   — t        j                  ||g| ¬«      S r  r  )rÊ   r	  s     r    Ú
cuda_tabler  |  s   € ä�8‰8Ð'Ð);Ð<ÀVÔLÐLrT   c                 ó4   — t        j                  ||g| ¬«      S r  r  )rÊ   r  r	  s      r    Úcpu_and_cuda_tabler  �  s   € ä�8‰8Ð&Ð(:Ð;ÀFÔKÐKrT   c                 óÆ  — |j                   |j                   k(  sJ ‚|j                  «       |j                  «       k(  sJ ‚t        |«      t        |«      k(  sJ ‚t        |«      t        |«      v sJ ‚|j	                  «        t        j                  t        «      5  |j	                  d¬«       d d d «       t        j                  t        «      5  |j                   d d d «       t        j                  t        «      5  |j                   d d d «       t        j                  t        «      5  |j                  «        d d d «       t        j                  t        «      5  |d    d d d «       t        j                  t        «      5  |j                  «        d d d «       t        j                  t        «      5  |j                  «        d d d «       t        j                  t        «      5  |j                  «        d d d «       t        j                  t        «      5  |j                  d«       d d d «       t        j                  t        «      5  ||k(   d d d «       t        j                  t        «      5  |j                  «        d d d «       t        j                  t        «      5  |j!                  «        d d d «       t        j                  t        «      5  |j#                  «        d d d «       t        j                  t        «      5  |j%                  «        d d d «       t        j                  t        «      5  |j'                  «        d d d «       t        j                  t        «      5  |j)                  «        d d d «       t        j                  t        «      5  |j+                  «        d d d «       t        j                  t        «      5  |j-                  «        d d d «       t        j                  t        «      5  |j/                  «        d d d «       t        j                  t        «      5  |j1                  g d¢«       d d d «       t        j                  t        «      5  |j3                  d«       d d d «       |j5                  dd«       t        j                  t        «      5  |j7                  dg«       d d d «       t        j                  t        «      5  |j9                  «        d d d «       t        j                  t        «      5  |j;                  «        d d d «       t        j                  t        «      5  |j=                  «        d d d «       |j>                  |j>                  k(  sJ ‚tA        |jB                  «      tA        |jB                  «      k(  sJ ‚|jE                  d«      }|jF                  tH        jJ                  jL                  k(  sJ ‚t        j                  t        «      5  |jO                  «        d d d «       t        j                  t        «      5  |jQ                  «        d d d «       t        j                  t        «      5  |jS                  «        d d d «       y # 1 sw Y   �ŒÎxY w# 1 sw Y   �Œ­xY w# 1 sw Y   �ŒŒxY w# 1 sw Y   �ŒgxY w# 1 sw Y   �ŒMxY w# 1 sw Y   �Œ(xY w# 1 sw Y   �ŒxY w# 1 sw Y   �ŒÞxY w# 1 sw Y   �Œ¸xY w# 1 sw Y   �ŒžxY w# 1 sw Y   �ŒyxY w# 1 sw Y   �ŒTxY w# 1 sw Y   �Œ/xY w# 1 sw Y   �Œ
xY w# 1 sw Y   �ŒåxY w# 1 sw Y   �ŒÀxY w# 1 sw Y   �Œ›xY w# 1 sw Y   �ŒvxY w# 1 sw Y   �ŒQxY w# 1 sw Y   �Œ)xY w# 1 sw Y   �ŒxY w# 1 sw Y   �ŒÊxY w# 1 sw Y   �Œ¥xY w# 1 sw Y   �Œ€xY w# 1 sw Y   �Œ[xY w# 1 sw Y   �Œ´xY w# 1 sw Y   �Œ�xY w# 1 sw Y   y xY w)NT©Úfullr   ©TFTFTr   r   r   )*r   Úlengthrl   Úreprr*   r+   r,   r-  Ú
null_countr8   r%   Úis_nullÚis_nanÚis_validÚ	fill_nullr¦   r\   Ú	__array__r	  rñ   rç   rN   ÚuniqueÚvalue_countsr¢  r½   r|   rZ  Ú	drop_nullÚsortrô   rE  r2   r.   rò   Údevice_typer   ÚDeviceAllocationTypeÚCUDAr)   r  Ú
__reduce__)rú  r  r	  r  rò   s        r    Útest_chunked_array_non_cpur,  †  s\  € ð ×"Ñ"Ð&7×&<Ñ&<Ò<Ð<Ð<ð ×$Ñ$Ó&Ð*;×*BÑ*BÓ*DÒDÐDÐDô Ð!Ó"¤cÐ*;Ó&<Ò<Ð<Ð<ô Ð!Ó"¤dÐ+=Ó&>Ñ>Ð>Ð>ð ×ÑÔ!Ü	�‰Ô*Ó	+ñ /Ø×#Ñ#¨Ð#Ô.÷/ô 
�‰Ô*Ó	+ñ &Ø×%Ò%÷&ô 
�‰Ô*Ó	+ñ "Ø×!Ò!÷"ô 
�‰Ô*Ó	+ñ 3Ø×0Ñ0Ô2÷3ô 
�‰Ô*Ó	+ñ Ø˜1Ò÷ô 
�‰Ô*Ó	+ñ %Ø×"Ñ"Ô$÷%ô 
�‰Ô*Ó	+ñ $Ø×!Ñ!Ô#÷$ô 
�‰Ô*Ó	+ñ &Ø×#Ñ#Ô%÷&ô 
�‰Ô*Ó	+ñ (Ø×$Ñ$ QÔ'÷(ô 
�‰Ô*Ó	+ñ 1ØÐ0Ò0÷1ô 
�‰Ô*Ó	+ñ 'Ø×$Ñ$Ô&÷'ô 
�‰Ô*Ó	+ñ &Ø×#Ñ#Ô%÷&ô 
�‰Ô*Ó	+ñ 'Ø×$Ñ$Ô&÷'ô 
�‰Ô*Ó	+ñ "Ø×ÑÔ!÷"ô 
�‰Ô*Ó	+ñ /Ø×,Ñ,Ô.÷/ô 
�‰Ô*Ó	+ñ %Ø×"Ñ"Ô$÷%ô 
�‰Ô*Ó	+ñ ,Ø×)Ñ)Ô+÷,ô 
�‰Ô*Ó	+ñ $Ø×!Ñ!Ô#÷$ô 
�‰Ô*Ó	+ñ *Ø×'Ñ'Ô)÷*ô 
�‰Ô*Ó	+ñ DØ×!Ñ!Ò"BÔC÷Dô 
�‰Ô*Ó	+ñ $Ø× Ñ  Ô#÷$ð ×Ñ˜Q Ô"ô 
�‰Ô*Ó	+ñ %Ø×Ñ  Ô$÷%ô 
�‰Ô*Ó	+ñ 'Ø×$Ñ$Ô&÷'ô 
�‰Ô*Ó	+ñ "Ø×ÑÔ!÷"ô 
�‰Ô*Ó	+ñ 0Ø×-Ñ-Ô/÷0ð ×(Ñ(Ð,=×,HÑ,HÒHÐHÐHô Ð!×(Ñ(Ó)¬SÐ1B×1IÑ1IÓ-JÒJÐJÐJð ×$Ñ$ QÓ'€EØ×Ñ¤× 7Ñ 7× <Ñ <Ò<Ð<Ð<ô 
�‰Ô*Ó	+ñ 'Ø×$Ñ$Ô&÷'ô 
�‰Ô*Ó	+ñ 0Ø×-Ñ-Ô/÷0ô 
�‰Ô*Ó	+ñ (Ø×%Ñ%Ô'÷(ð (÷s/ñ /ú÷&ñ &ú÷"ñ "ú÷3ñ 3ú÷ñ ú÷%ñ %ú÷$ñ $ú÷&ñ &ú÷(ñ (ú÷1ñ 1ú÷'ñ 'ú÷&ñ &ú÷'ñ 'ú÷"ñ "ú÷/ñ /ú÷%ñ %ú÷,ñ ,ú÷$ñ $ú÷*ñ *ú÷Dñ Dú÷$ñ $ú÷%ñ %ú÷'ñ 'ú÷"ñ "ú÷0ñ 0ú÷'ñ 'ú÷0ñ 0ú÷(ð (úsP  ÂY8ÃZÃ;ZÄ)ZÅZ,ÆZ9Æ4[Ç&[È[ É[-É2[:Ê$\Ë\Ì\!Ì:\.Í,\;Î]Ï]Ð]"Ð4]/Ñ)]<Ò.^	Ó"^Ô^#Õ^0×:^=Ø,_
Ù_Ù8ZÚZÚZÚZ)Ú,Z6Ú9[Û[Û[Û [*Û-[7Û:\Ü\Ü\Ü!\+Ü.\8Ü;]Ý]Ý]Ý"],Ý/]9Ý<^Þ	^Þ^ Þ#^-Þ0^:Þ=_ß
_ß_ c                 óÚ  — | j                  «        | j                  t        j                  j                  k(  sJ ‚| j
                  du sJ ‚| j                  t        |j                  «      k(  sJ ‚| j                  |j                  k(  sJ ‚t        | «      t        | «      v sJ ‚| j                  D ]+  }|j                  t        j                  j                  k(  rŒ+J ‚ | j                  |k(  sJ ‚y r  )r*   r(  r   r)  r*  r  rp  r2   r{   rG  rl   r  rF  rÊ   )rÅ   Úexpected_schemar   s      r    Úverify_cuda_recordbatchr/    sÐ   € Ø	‡N�NÔØ×Ñ¤× 7Ñ 7× <Ñ <Ò<Ð<Ð<Ø�<‰<˜5Ñ Ð Ð Ø×Ñ¤ O×$9Ñ$9Ó :Ò:Ð:Ð:Ø×Ñ ×!6Ñ!6Ò6Ð6Ð6Üˆu‹:œ˜e›Ñ$Ð$Ð$Ø�]‰]ò =ˆØ�}‰}¤× 7Ñ 7× <Ñ <Ó<Ð<Ð<ð=à�<‰<˜?Ò*Ð*Ñ*rT   c                 óZ  — t        ||¬«       |j                  }|j                  dk(  sJ ‚t        |j                  «      dk(  sJ ‚|j
                  |j                  fD ]Å  }t        j                  g d¢t        j                  «       «      j                  | j                  «      } |dd|«      }t        ||j                  t        j                  dt        j                  «       «      «      ¬«       d}	t        j                  t         |	¬«      5   |dddg|z  «       d d d «       ŒÇ |j#                  d«      }t        ||j%                  d«      ¬«       |j'                  d	g«      }t        ||j%                  d«      ¬«       |j'                  d
d	g«      }
t        |
j                  «      dk(  sJ ‚|
j(                  t        j*                  j,                  k(  sJ ‚|j/                  d
g«      }t        ||j%                  d«      ¬«       t        j0                  t        j                  d
t        j2                  «       «      t        j                  d	t        j2                  «       «      g«      }t        j                  t4        «      5  |j7                  |«       d d d «       t        j                  dg|z  g d¢¬«      j                  | j                  «      }|j                  dd|«      }t        j                  t4        «      5  |j9                  «        d d d «       t        j                  t4        «      5  |j;                  dg|z  «       d d d «       t        j                  t4        «      5  |j=                  dg«       d d d «       t        j                  t4        «      5  |j?                  d
«       d d d «       |j                  d«      |j                  d«      k(  sJ ‚|j                  d«      |j                  d«      k(  sJ ‚|j                  | j                  «      }t        j                  t4        «      5  |jA                  |«      du sJ ‚	 d d d «       t        jB                  jE                  |d
d	g«      }t        ||¬«       |j                  t        jF                  «       «      jA                  |«      sJ ‚t        jB                  jI                  |d   |d   dœ«      }t        ||¬«       |j                  t        jF                  «       «      jA                  |«      sJ ‚tK        t        |jL                  «      «      D �cg c]  }|j                  |«      ‘Œ }}t        jN                  jE                  ||¬«      }t        j                  t4        «      5  t        jB                  jQ                  |«       d d d «       t        j                  t4        «      5  |jR                  sJ ‚	 d d d «       t        j                  t4        «      5  |jU                  «       sJ ‚	 d d d «       t        j                  t4        «      5  |jW                  «        d d d «       t        j                  t4        «      5  |jY                  «        d d d «       t        j                  t4        «      5  |j[                  «        d d d «       t        j                  t4        «      5  |j]                  «        d d d «       t        j                  t4        «      5  |j_                  «        d d d «       t        j                  t4        «      5  |ja                  «        d d d «       |jc                  dd«      }t        ||¬«       |j                  dk(  sJ ‚|j                  t        jF                  «       «      }||jc                  dd«      k(  sJ ‚|je                  ddi«      }t        ||¬«       |j0                  jf                  ddik(  sJ ‚|ji                  ddg«      }t        j0                  t        j                  d|j                  d«      jj                  «      t        j                  d|j                  d«      jj                  «      g«      }t        ||¬«       |jm                  «        t        j                  t4        «      5  |jm                  d¬«       d d d «       t        j                  t4        «      5  |jo                  «        d d d «       t        j                  t4        «      5  |jq                  «        d d d «       t        j                  t4        «      5  |js                  «        d d d «       t        j                  t4        «      5  tu        |jw                  «       «       d d d «       y # 1 sw Y   �	ŒExY w# 1 sw Y   �ŒxY w# 1 sw Y   �Œ§xY w# 1 sw Y   �Œ}xY w# 1 sw Y   �ŒVxY w# 1 sw Y   �Œ0xY w# 1 sw Y   �Œ xY wc c}w # 1 sw Y   �ŒJxY w# 1 sw Y   �Œ&xY w# 1 sw Y   �ŒþxY w# 1 sw Y   �ŒÙxY w# 1 sw Y   �Œ´xY w# 1 sw Y   �Œ�xY w# 1 sw Y   �ŒjxY w# 1 sw Y   �ŒExY w# 1 sw Y   �Œ xY w# 1 sw Y   �Œ±xY w# 1 sw Y   �ŒŒxY w# 1 sw Y   �ŒgxY w# 1 sw Y   �ŒBxY w# 1 sw Y   y xY w)N©r.  r@  r   )r  rp   r   r   r   Úc2z`Got column on device <DeviceAllocationType.CPU: 1>, but expected <DeviceAllocationType.CUDA: 2>.rC   r   rD  rC  r   r  ©ÚmaskT©rC  rD  ©r~  r   ó   keyó   valueÚcol0Úcol1r  )<r/  rÀ   r^   r2   rF  ri  rq  r   rM   rF   r   r  r™   rä   r+   r,   rh   r€  Úremoverx  r(  r)  r*  r�  rÊ   rE   r-  r	  r&  r¢  rZ  r•  rO   rÃ   r~   Údefault_cpu_memory_managerrD  r„   r{   ÚStructArrayr˜  r8   r%   rB  r)   r¦   rä  r¡  Ú	serializer|   r�  rO  r�  r   r*   r#  r  r  r   Ú__dataframe__)rú  r  r  r  rÊ   ÚNÚfnrª   Ú	new_batchÚerr_msgÚempty_batchrÏ  Únull_colÚcuda_recordbatch_with_nullsr…   r~  r�  Ú	cpu_batchr.  s                      r    Útest_recordbatch_non_cpurH    s¨  € äÐ,¸fÕEØ×!Ñ!€Að ×!Ñ! VÒ+Ð+Ð+ô Ð×'Ñ'Ó(¨AÒ-Ð-Ð-ð  ×*Ñ*Ð,<×,GÑ,GÐHò 	!ˆÜ�h‰hÒ(¬"¯'©'«)ó ß ™ ×!<Ñ!<Ó=ð 	á�q˜$ Ó$ˆ	ÜØ v§}¡}´R·X±X¸dÄBÇGÁGÃIÓ5NÓ'Oõ	QðBˆä�]‰]œ9¨GÔ4ñ 	!Ùˆq�$˜˜˜a™Ô ÷	!ð 	!ð	!ð !×.Ñ.¨qÓ1€IÜ˜I°v·}±}ÀQÓ7GÕHð !×-Ñ-¨t¨fÓ5€IÜ˜I°v·}±}ÀQÓ7GÕHØ"×/Ñ/°°t°Ó=€KÜˆ{×"Ñ"Ó# qÒ(Ð(Ð(Ø×"Ñ"¤b×&=Ñ&=×&BÑ&BÒBÐBÐBð !×'Ñ'¨¨Ó/€IÜ˜I°v·}±}ÀQÓ7GÕHô —‘œBŸH™H T¬2¯8©8«:Ó6¼¿¹ÀÄrÇxÁxÃzÓ8RÐSÓT€JÜ	�‰Ô*Ó	+ñ *Ø×Ñ˜jÔ)÷*ô �x‰x˜˜˜a™Ò&FÔG×OÑOØ×#Ñ#ó%€Hà"2×"=Ñ"=¸aÀÀxÓ"PÐÜ	�‰Ô*Ó	+ñ 0Ø#×-Ñ-Ô/÷0ô 
�‰Ô*Ó	+ñ ,Ø×Ñ  ¨¡
Ô+÷,ô 
�‰Ô*Ó	+ñ #Ø×Ñ˜q˜cÔ"÷#ô 
�‰Ô*Ó	+ñ 'Ø× Ñ  Ô&÷'ð ×!Ñ! !Ó$¨¯©°Q«Ò7Ð7Ð7Ø×!Ñ! !Ó$¨¯©°Q«Ò7Ð7Ð7ð  ×'Ñ'¨×(CÑ(CÓD€IÜ	�‰Ô*Ó	+ñ :Ø×&Ñ& yÓ1°TÑ9Ð9Ñ9÷:ô —‘×*Ñ*¨;¸¸t¸ÓE€IÜ˜I°vÕ>Ø×ÑœR×:Ñ:Ó<Ó=×DÑDÀ_ÔUÐUÐUô —‘×*Ñ*°+¸a±.ÈÐTUÉÑ+WÓX€IÜ˜I°vÕ>Ø×ÑœR×:Ñ:Ó<Ó=×DÑDÀ_ÔUÐUÐUô (-¬S°·±Ó->Ó'?Ö@ !ˆf�l‰l˜1�oÐ@€FÐ@Ü—>‘>×-Ñ-¨kÀ&Ð-ÓI€LÜ	�‰Ô*Ó	+ñ 7Ü
�‰×(Ñ(¨Ô6÷7ô 
�‰Ô*Ó	+ñ 'Ø×&Ò&Ð&Ñ&÷'ô 
�‰Ô*Ó	+ñ 8Ø×5Ñ5Ô7Ð7Ñ7÷8ô 
�‰Ô*Ó	+ñ %Ø×"Ñ"Ô$÷%ô 
�‰Ô*Ó	+ñ %Ø×"Ñ"Ô$÷%ô 
�‰Ô*Ó	+ñ %Ø×"Ñ"Ô$÷%ô 
�‰Ô*Ó	+ñ %Ø×"Ñ"Ô$÷%ô 
�‰Ô*Ó	+ñ +Ø×(Ñ(Ô*÷+ô 
�‰Ô*Ó	+ñ %Ø×"Ñ"Ô$÷%ð !×&Ñ& q¨!Ó,€IÜ˜I°vÕ>Ø×Ñ Ò"Ð"Ð"Ø×!Ñ!¤"×"?Ñ"?Ó"AÓB€IØ˜×-Ñ-¨a°Ó3Ò3Ð3Ð3ð !×8Ñ8¸&À(Ð9KÓL€IÜ˜I°vÕ>Ø×Ñ×$Ñ$¨°Ð(:Ò:Ð:Ð:ð !×/Ñ/°¸Ð0@ÓA€IÜ—i‘iÜ	�‰�&˜&Ÿ,™, q›/×.Ñ.Ó	/Ü	�‰�&˜&Ÿ,™, q›/×.Ñ.Ó	/ð	1ó2€Oô ˜I°ÕGð ×ÑÔÜ	�‰Ô*Ó	+ñ -Ø×!Ñ! tÐ!Ô,÷-ô 
�‰Ô*Ó	+ñ %Ø×"Ñ"Ô$÷%ô 
�‰Ô*Ó	+ñ -Ø×*Ñ*Ô,÷-ô 
�‰Ô*Ó	+ñ .Ø×+Ñ+Ô-÷.ô 
�‰Ô*Ó	+ñ 9ÜÐ'×5Ñ5Ó7Ô8÷9ð 9÷Q	!ñ 	!ú÷(*ñ *ú÷0ñ 0ú÷,ñ ,ú÷#ñ #ú÷'ñ 'ú÷:ñ :üò A÷7ñ 7ú÷'ñ 'ú÷8ñ 8ú÷%ñ %ú÷%ñ %ú÷%ñ %ú÷%ñ %ú÷+ñ +ú÷%ñ %ú÷0-ñ -ú÷%ñ %ú÷-ñ -ú÷.ñ .ú÷9ð 9ús  ÄfÊ f%Ë<f2Ì.f?Í%gÎgÐ1g&Ô<g3Ö g8×hØhØ7hÙ)h,Úh9ÛiÛ?iÜ1i â+i-ãi:äjåjå5j!æf"	æ%f/æ2f<æ?g	çgçg#ç&g0ç8hèhèhèh)è,h6è9iéiéié i*é-i7é:jêjêjê!j*c                 óò  — | j                  «        | j                  du sJ ‚| j                  t        |j                  «      k(  sJ ‚| j
                  |j                  k(  sJ ‚t        | «      t        | «      v sJ ‚| j                  D ]`  }|j                  du sJ ‚|j                  «       D ];  }|j                  du sJ ‚|j                  t        j                  j                  k(  rŒ;J ‚ Œb | j                  |k(  sJ ‚y r  )r*   r  rp  r2   r{   rG  rl   r  rF  r1   r(  r   r)  r*  rÊ   )r   r.  r   rò   s       r    Úverify_cuda_tablerJ  ¿  sñ   € Ø	‡N�NÔØ�<‰<˜5Ñ Ð Ð Ø×Ñ¤ O×$9Ñ$9Ó :Ò:Ð:Ð:Ø×Ñ ×!6Ñ!6Ò6Ð6Ð6Üˆu‹:œ˜e›Ñ$Ð$Ð$Ø�]‰]ò EˆØ�x‰x˜5Ñ Ð Ð Ø—\‘\“^ò 	EˆEØ—<‘< 5Ñ(Ð(Ð(Ø×$Ñ$¬×(?Ñ(?×(DÑ(DÓDÐDÐDñ	EðEð
 �<‰<˜?Ò*Ð*Ñ*rT   c                 óÚ  — t        ||¬«       |j                  }|j                  dk(  sJ ‚t        |j                  «      dk(  sJ ‚|j
                  |j                  fD �]  }t        j                  dg|z  t        j                  «       «      }|j                  | j                  «      }	 |dd|	«      }
t        |
|j                  t        j                  dt        j                  «       «      «      ¬«        |dd|«      }
|
j                  du sJ ‚|
j                  d«      j                  du sJ ‚|
j                  d«      j                  du sJ ‚|
j                  d«      j                  du r�ŒJ ‚ |j!                  d«      }
t        |
|j#                  d«      ¬«       |j%                  d	g«      }
t        |
|j#                  d«      ¬«       |j%                  d
d	g«      }
t        |
j                  «      dk(  sJ ‚|
j                  sJ ‚|j'                  d
g«      }
t        |
|j#                  d«      ¬«       t        j(                  t        j                  d
t        j*                  «       «      t        j                  d	t        j*                  «       «      g«      }t-        j.                  t0        «      5  |j3                  |«       d d d «       t        j                  dg|z  dg|z  ¬«      j                  | j                  «      }|j                  dd|«      }t-        j.                  t0        «      5  |j5                  «        d d d «       t-        j.                  t0        «      5  |j7                  dg|z  «       d d d «       t-        j.                  t0        «      5  |j9                  dg«       d d d «       t-        j.                  t0        «      5  |j;                  d
«       d d d «       |j                  d«      |j                  d«      k(  sJ ‚|j                  d«      |j                  d«      k(  sJ ‚t-        j.                  t0        «      5  |j=                  |«      sJ ‚	 d d d «       t        j>                  jA                  |d
d	g«      }
t        |
|¬«       t        j>                  jC                  |d   |d   dœ«      }
t        |
|¬«       tE        t        |jF                  «      «      D �cg c]  }|j                  |«      ‘Œ }}t        jH                  jA                  ||¬«      }t-        j.                  t0        «      5  t        j>                  jK                  |«       d d d «       t        j>                  jM                  ||g|«      }
t        |
|¬«       t-        j.                  t0        «      5  |jN                  sJ ‚	 d d d «       t-        j.                  t0        «      5  |jQ                  «       sJ ‚	 d d d «       t-        j.                  t0        «      5  |jS                  «        d d d «       t-        j.                  t0        «      5  |jU                  «        d d d «       t-        j.                  t0        «      5  |jW                  «        d d d «       t-        j.                  t0        «      5  |jY                  «        d d d «       |j[                  d¬«      }|D ]1  }t-        j.                  t\        «      5  t_        ||¬«       d d d «       Œ3 |ja                  d¬«      }|D ]1  }t-        j.                  t\        «      5  t_        ||¬«       d d d «       Œ3 |jc                  dd«      }
t        |
|¬«       |
j                  dk(  sJ ‚|je                  ddi«      }
t        |
|¬«       |
j(                  jf                  ddik(  sJ ‚|ji                  ddg«      }
t        j(                  t        j                  d|j                  d«      jj                  «      t        j                  d|j                  d«      jj                  «      g«      }t        |
|¬«       |jm                  «        t-        j.                  t0        «      5  |jm                  d¬«       d d d «       t-        j.                  t0        «      5  |jo                  «        d d d «       t-        j.                  t0        «      5  |jo                  «        d d d «       t-        j.                  t0        «      5  |jq                  «        d d d «       t-        j.                  t0        «      5  |js                  d
«       d d d «       t-        j.                  t0        «      5  |ju                  |d
«       d d d «       t-        j.                  t0        «      5  |jw                  |d
d
d«       d d d «       t-        j.                  t0        «      5  |jy                  «        d d d «       t-        j.                  t0        «      5  |j{                  «        d d d «       t-        j.                  t0        «      5  t}        |j                  «       «       d d d «       t-        j.                  t0        «      5  |j�                  «        d d d «       y # 1 sw Y   �ŒÙxY w# 1 sw Y   �ŒixY w# 1 sw Y   �Œ?xY w# 1 sw Y   �ŒxY w# 1 sw Y   �ŒòxY w# 1 sw Y   �ŒxY wc c}w # 1 sw Y   �Œ‘xY w# 1 sw Y   �Œ>xY w# 1 sw Y   �ŒxY w# 1 sw Y   �ŒñxY w# 1 sw Y   �ŒÌxY w# 1 sw Y   �Œ§xY w# 1 sw Y   �Œ‚xY w# 1 sw Y   �Œ{xY w# 1 sw Y   �Œ@xY w# 1 sw Y   �Œ×xY w# 1 sw Y   �Œ²xY w# 1 sw Y   �Œ�xY w# 1 sw Y   �ŒhxY w# 1 sw Y   �ŒBxY w# 1 sw Y   �ŒxY w# 1 sw Y   �ŒòxY w# 1 sw Y   �ŒÍxY w# 1 sw Y   �Œ¨xY w# 1 sw Y   �ŒzxY w# 1 sw Y   y xY w)Nr1  )rx   r   r   r   r2  Fr   TrD  rC  r3  r5  r6  r   r¶  r   r7  r8  r9  r:  r  )ArJ  rÀ   r^   r2   rF  ri  rq  r   rM   rF   r   r  r™   rä   r  r¥   r€  r;  rx  r�  rÊ   rE   r+   r,   r-  r	  r&  r¢  rZ  r•  rO   r}   r~   rD  r„   r{   r=  r˜  r1  r8   r%   rB  r)   r¦   r¡  r7  ÚAssertionErrorr/  r}  r|   r�  rO  r�  r   r*   rç   rô   r[  r”  r´  r#  r  r   r?  r+  )rú  r  r  r  r  rÊ   r@  rA  Úcpu_colÚcuda_colÚ	new_tablerÏ  rE  Úcuda_table_with_nullsr…   r~  r�  r7  rÅ   r;  r.  s                        r    Útest_table_non_cpurQ  Í  sÞ	  € ä�j°&Õ9Ø×Ñ€Að ×Ñ˜wÒ&Ð&Ð&ô ˆz×!Ñ!Ó" aÒ'Ð'Ð'ð ×$Ñ$ j×&;Ñ&;Ð<ó 
2ˆÜ—(‘(˜A˜3 ™7¤B§G¡G£IÓ.ˆØ—?‘? <×#>Ñ#>Ó?ˆÙ�q˜$ Ó)ˆ	Ü˜)°V·]±]Ü�H‰H�Tœ2Ÿ7™7›9Ó%ó6'õ 	(á�q˜$ Ó(ˆ	Ø×Ñ 5Ñ(Ð(Ð(Ø×Ñ Ó"×)Ñ)¨UÑ2Ð2Ð2Ø×Ñ Ó"×)Ñ)¨UÑ2Ð2Ð2Ø×Ñ Ó"×)Ñ)¨TÓ1Ð1Ð1ð
2ð ×(Ñ(¨Ó+€IÜ�i°·±¸qÓ1AÕBð ×'Ñ'¨¨Ó/€IÜ�i°·±¸qÓ1AÕBØ×'Ñ'¨¨t¨Ó5€IÜˆy× Ñ Ó! QÒ&Ð&Ð&Ø×ÒÐÐð ×!Ñ! 4 &Ó)€IÜ�i°·±¸qÓ1AÕBô —‘œBŸH™H T¬2¯8©8«:Ó6¼¿¹ÀÄrÇxÁxÃzÓ8RÐSÓT€JÜ	�‰Ô*Ó	+ñ $Ø�‰˜
Ô#÷$ô �x‰x˜˜˜a™ t f¨q¡jÔ1×9Ñ9¸,×:UÑ:UÓV€HØ&×1Ñ1°!°T¸8ÓDÐÜ	�‰Ô*Ó	+ñ *Ø×'Ñ'Ô)÷*ô 
�‰Ô*Ó	+ñ &Ø×Ñ˜4˜& 1™*Ô%÷&ô 
�‰Ô*Ó	+ñ Ø�‰˜˜Ô÷ô 
�‰Ô*Ó	+ñ !Ø×Ñ˜4Ô ÷!ð ×Ñ˜AÓ &§,¡,¨q£/Ò1Ð1Ð1Ø×Ñ˜AÓ &§,¡,¨q£/Ò1Ð1Ð1ô 
�‰Ô*Ó	+ñ ,Ø× Ñ  Ô+Ð+Ñ+÷,ô —‘×$Ñ$ [°4¸°,Ó?€IÜ�i°Õ8ô —‘×$Ñ$¨K¸©NÀ+ÈaÁ.Ñ%QÓR€IÜ�i°Õ8ô (-¬S°·±Ó->Ó'?Ö@ !ˆf�l‰l˜1�oÐ@€FÐ@Ü—>‘>×-Ñ-¨kÀ&Ð-ÓI€LÜ	�‰Ô*Ó	+ñ 1Ü
�‰×"Ñ" <Ô0÷1ô —‘×%Ñ%Ð'7Ð9IÐ&JÈFÓS€IÜ�i°Õ8ô 
�‰Ô*Ó	+ñ !Ø× Ò Ð Ñ ÷!ô 
�‰Ô*Ó	+ñ 2Ø×/Ñ/Ô1Ð1Ñ1÷2ô 
�‰Ô*Ó	+ñ Ø×ÑÔ÷ô 
�‰Ô*Ó	+ñ Ø×ÑÔ÷ô 
�‰Ô*Ó	+ñ Ø×ÑÔ÷ô 
�‰Ô*Ó	+ñ %Ø×"Ñ"Ô$÷%ð ×#Ñ#°!Ð#Ó4€GØò Cˆä�]‰]œ>Ó*ñ 	CÜ# E¸6ÕB÷	Cð 	CðCð ×!Ñ!°Ð!Ó2€FØò Cˆä�]‰]œ>Ó*ñ 	CÜ# E¸6ÕB÷	Cð 	CðCð × Ñ   AÓ&€IÜ�i°Õ8Ø×Ñ Ò"Ð"Ð"ð ×2Ñ2°F¸HÐ3EÓF€IÜ�i°Õ8Ø×Ñ×$Ñ$¨°Ð(:Ò:Ð:Ð:ð ×)Ñ)¨6°6Ð*:Ó;€IÜ—i‘iÜ	�‰�&˜&Ÿ,™, q›/×.Ñ.Ó	/Ü	�‰�&˜&Ÿ,™, q›/×.Ñ.Ó	/ð	1ó2€Oô �i°ÕAð ×ÑÔÜ	�‰Ô*Ó	+ñ 'Ø×Ñ ÐÔ&÷'ô 
�‰Ô*Ó	+ñ Ø×ÑÔ÷ô 
�‰Ô*Ó	+ñ Ø×ÑÔ÷ô 
�‰Ô*Ó	+ñ (Ø×%Ñ%Ô'÷(ô 
�‰Ô*Ó	+ñ "Ø×Ñ˜DÔ!÷"ô 
�‰Ô*Ó	+ñ *Ø�‰˜
 DÔ)÷*ô 
�‰Ô*Ó	+ñ 8Ø×Ñ˜Z¨¨t°QÔ7÷8ô 
�‰Ô*Ó	+ñ Ø×ÑÔ÷ô 
�‰Ô*Ó	+ñ (Ø×%Ñ%Ô'÷(ô 
�‰Ô*Ó	+ñ 3Ü�z×/Ñ/Ó1Ô2÷3ô 
�‰Ô*Ó	+ñ  Ø×ÑÔ÷ ð  ÷a$ñ $ú÷*ñ *ú÷&ñ &ú÷ñ ú÷!ñ !ú÷,ñ ,üò A÷1ñ 1ú÷!ñ !ú÷2ñ 2ú÷ñ ú÷ñ ú÷ñ ú÷%ñ %ú÷	Cñ 	Cú÷	Cñ 	Cú÷,'ñ 'ú÷ñ ú÷ñ ú÷(ñ (ú÷"ñ "ú÷*ñ *ú÷8ñ 8ú÷ñ ú÷(ñ (ú÷3ñ 3ú÷ ð  ús>  Ê.jÌ,j$Íj1Îj>Ï	kÑkÓ'k%Ô; k*Ö+k7×lØlÙlÙ5l+Ú'l8Û0mÜ8má7mâ+m,ãm9änånå4n æ(n-çn:èoéoé=o!êj!ê$j.ê1j;ê>këkëk"ë*k4ë7lìlìlìl(ì+l5ì8mím	ím	ím)í,m6í9nînînî n*î-n7î:oïoïoï!o*)ÚÚcollectionsr   Úcollections.abcr   r4   r9   ÚnumpyrZ   r÷  r+   Úpyarrowr   Úpyarrow.computeÚcomputer]  Úpyarrow.interchanger   r>   rJ   rS   rX   Úmarkrb   rj   rn   rv   r�   r‡   r•   ÚparametrizerV   rE   ri   r(   r>  rÂ  rã   rä   rŸ   r¤   r¬   rº   rÁ   rÆ   rÏ   ÚnopandasrÝ   rê   rö   rø   r  r  r  r  r*  r/  r2  r@  rH  rT  r[  rb  rf  rn  rq  rt  rw  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   rF   rå   rt   rÃ  rÄ  rÅ  r  r  r   r"  r%  r(  r,  r.  r2  r>  rI  rK  rU  rW  rY  r_  rb  rd  rg  ro  rs  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/   rM   r  r	  r  r  r  r  r  r  r  r  r&  r(  r+  r-  r1  r3  r7  r:  r<  Úacerorb  rl  rp  r{  r€  r–  rš  r   r£  r¥  r«  Údatasetrµ  r»  r½  rÂ  rÆ  rÉ  rÌ  rÐ  rÛ  rä  r(  ré  rì  ró  Úfixturerú  rÊ   rý  r  r  r	  r  r  r  r  r  r  r,  r/  rH  rJ  rQ  rW   rT   r    ú<module>r_     s“  ðõ$ $Ý $Û 
Û ðÛó Û Ý Ý .òòD*HòZ ò8ð ‡�×Ññ&ó ð&òCòð( ‡�×Ññ(ó ð(ò6!ò0%ò-Bð` ‡�×ÑØâ	" H B§H¡H£JÐ/Ú	�x�r—x‘x“zÐ"Ú	˜:˜2Ÿ:™:›<Ð(Ú	˜9˜2Ÿ9™9›;Ð'Ø	ˆXˆR�X‰X�h�b—h‘h“jÓ!Ð"Øˆaˆ&�1�#ˆ˜˜Ÿ™  §¡£Ó,Ð-Øˆ%�˜˜S�zÐ	" H B§H¡H¨Y¨R¯Y©Y«[Ó$9Ð:Ú	#ØˆB�I‰I�x�r—x‘x  X R§X¡X£ZÓ0°(°"·(±(¸3À	ÀÇ	Á	ÃÓ2LÐMÓNð	Pð
óñ	 óð	 ð ‡�×Ññó ðð  ‡�×Ññ1ó ð1ð& ‡�×Ññ+ó ð+ð2 ‡�×Ññ+ó ð+ð2 ‡�×Ññ	/ó ð	/ð ‡�×ÑØ‡�×Ññ%<ó ó ð%<òPGò$Oòò
.ò*+÷(>ñ >÷Oñ Oð ‡�×Ñ˜¨<Ð9KÐ*LÓMñó Nðò*2ð  ‡�×Ñ˜¨<Ð9KÐ*LÓMñó Nðò,$
òNò"ò8'òò.ò6ò"ò	+ò)ò#ò"ò*ò*0#òf=ò
òò7ò
Jò
òò,òòòò 5ð ‡�×ÑØ‡�×Ñ˜ò %ó ñ
4Bóó ð4Bðn ‡�×ÑØ‡�×ÑØ
à	�‰Ø	�‰ðóñ0.óó ð0.ðf ‡�×Ññó ðð& ‡�×Ññ.ó ð.ð( ‡�×Ññ9.ó ð9.ðx ‡�×Ññ$ó ð$ò$ð" ‡�×ÑØ‡�×Ñ˜ò %ó ñ
7Fóó ð7Fòt"9ðJ ‡�×Ñ˜Ø×ÑØ‡N�N×ÑØ‡H�Hð%ó ð
 ‡�×Ñ˜Ø€B‡G�GƒIˆxˆr�x‰x‹z˜8˜2Ÿ8™8›: x r§x¡x£zØ€B‡H�HƒJ�	�—	‘	“˜Y˜RŸY™Y›[¨)¨"¯)©)«+ð)ó ñ*ó	óð*ð ‡�×Ñ˜Ø×ÑØ‡N�N×ÑØ‡H�Hð%ó ñ
óð
ò?ò-ð ‡�×Ññó ðð ‡�×Ññ0ó ð0òò	ò<ð* ‡�×Ññ*ó ð*ðD ‡�×ÑØ
à	�‰Ø	�‰ðóñCóðCòLò
	,ò	0ò#ò& òò*ò*ð ‡�×ÑØ
à	�‰Ø	�‰ðóñóðð. ‡�×ÑØ
à	�‰Ø	�‰ðóñóðð$ ‡�×ÑØ
à	�‰Ø	�‰ðóñ"óð"ò(ð( ‡�×ÑØ
à	�‰Ø	�‰ðóñóðð ‡�×ÑØ
à	�‰Ø	�‰ðóñóðò 0ò6ð ‡�×ÑØ
à	�‰Ø	�‰ðóñ+óð+ð8 ‡�×ÑØ
à	�‰Ø	�‰ðóñ6óð6ò4ò(
!ò"9òJDò(#ò4Eò<ò!ð ‡�×Ññ/ó ð/ò,6ò0ò,>òò*#ò4$ò"ð ‡�×ÑØ
à	�‰Ø	�‰ðóñ#óð#ð8 ‡�×ÑØ
à	�‰Ø	�‰ðóñ/óð/ð8 ‡�×ÑØ
à	�‰Ø	�‰ðóñ/óð/ð> ‡�×Ññ9ó ð9ð ‡�×Ñ˜Úš.Ð)¨4Ð0Úš.Ð)¨2¯8ª8Ð4Ø
€tˆe�Uˆ^Ð ˜u r¨4 jÐ1Ð2°B×4DÑ4DÐEð)ó ñ
 Móð
 MðF ‡�×ÑØ
à	�‰Ø	�‰ðóñ65óð65ðr ‡�×Ñ˜Úš.Ð)¨2¯8ª8Ð4Ø
€tˆe�Uˆ^Ð ˜u r¨4 jÐ1Ð2°B×4DÑ4DÐEð)ó ñ2ó	ð2ð< ‡�×Ñ˜Úš.Ð)¨4Ð0Úš.Ð)¨2¯8ª8Ð4Ø
€tˆe�Uˆ^Ð ˜u r¨4 jÐ1Ð2°B×4DÑ4DÐEð)ó ñ
*óð
*ð& ‡�×ÑØ
à	�‰Ø	�‰ðóñR&óðR&ðj ‡�×Ññ*ó ð*ð@ ‡�×Ññ!ó ð!ò:'ð( ‡�×Ññ0ó ð0ò )ò'òT-ò$(òVIò$OòBòJòGò0#ðf ‡�×ÒñYó ðYðx ‡�×Òñ'ó ð'ð> ‡�×Òñ#ó ð#ð ‡�×Òñ#ó ð#ò22ð ‡�×Òñó ðð4 ‡�×Òñó ðð4 ‡�×Òñ=ó ð=ð. ‡�×ÒØ‡�×Ñ˜ "§(¡(¨b¯n©nÐ >Ó?ñó @ó ðð ‡�×Òñó ðð, ‡�×Òñ#ó ð#ðL ‡�×Òñó ðð. ‡�×Òñó ðð2 ‡�×Òñó ðð& ‡�×Òñ
ó ð
ð6 ‡�×Òñ
ó ð
ð, ‡�×Òñ
ó ð
ð* ‡�×Òñ
ó ð
ð* ‡�×ÑØ
à	�‰Ø	�‰ðóñ	7óð	7ð ‡�×ÑØ
à	�‰Ø	�‰ðóñCóðCò@Pð@ ‡�×ÑØ‡�×Ñ˜¨¯©°2·?²?Ð(CÓDñ#ó Eó ð#ð> ‡�×ÑØ‡�×Ñ˜¨¯©°2·?²?Ð(CÓDñ$ó Eó ð$ð ‡�×Òñ/ó ð/ð0 ‡‚ñó ðð
 ‡‚ñOó ðOð ‡‚ñDó ðDð
 ‡‚ñLó ðLð ‡‚ñó ðð ‡‚ñó ðð ‡‚ñó ðð ‡‚ñ6ó ð6ð ‡‚ñ@ó ð@ð ‡‚ñKó ðKð ‡‚ñMó ðMð ‡‚ñLó ðLòJ(òZ	+ò]9ò@+óz øði} ò Ø	ƒBðús   –|4 ü4|?ü>|?