Ë
    ìmxi$; ã                   ó+  — d dl mZ d dlZd dlZd dl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Z	 d dlZd dlZd dlmc mZ d dlmZ e
j2                  j4                  d„ «       Zd„ Zd„ Zd„ Zd„ Zd	„ Z d
„ Z!d„ Z"d„ Z#d„ Z$d„ Z%e
j2                  j                  d„ «       Z&e
j2                  j                  d„ «       Z'e
j2                  j                  d„ «       Z(e
j2                  j                  d„ «       Z)e
j2                  j                  e
j2                  jU                  dg d¢«      e
j2                  jU                  dddg«      d„ «       «       «       Z+e
j2                  j                  e
j2                  jU                  dg d¢«      d„ «       «       Z,e
j2                  j                  d„ «       Z-e
j2                  j\                  d„ «       Z/e
j2                  j`                  e
j2                  j\                  d„ «       «       Z1e
j2                  jU                  dd ejd                  «        ejf                  «        ejh                  «       g«      d„ «       Z5d„ Z6d„ Z7d „ Z8e
j2                  j                  d!„ «       Z9d"„ Z:d#„ Z;d$„ Z<d%„ Z=d&„ Z>d'„ Z?e
j2                  j                  d(„ «       Z@e
j2                  j                  d)„ «       ZAd*„ ZBe
j2                  j                  d+„ «       ZCd,„ ZDd-„ ZEe
j2                  jU                  d.ejŒ                  ejŽ                  ej�                  ej’                  g«      d/„ «       ZJd0„ ZKd1„ ZLd2„ ZMe
j2                  jU                  d3d4«      d5„ «       ZNe
j2                  j                  d6„ «       ZOe
j2                  j                  d7„ «       ZPe
j2                  j                  d8„ «       ZQd9„ ZRd:„ ZSe
j2                  j                  e
j2                  jU                  d;ej¨                  ejŒ                  fejª                  ejŽ                  fg«      d<„ «       «       ZVe
j2                  jU                  d;ej¨                  ejŒ                  fejª                  ejŽ                  ff«      e
j2                  jU                  d=dd ggdd dgd ggd gd>ggf«      d?„ «       «       ZWe
j2                  jU                  d;ej¨                  ejŒ                  fejª                  ejŽ                  ff«      d@„ «       ZXdA„ ZYdB„ ZZdC„ Z[e
j2                  j                  dD„ «       Z\dE„ Z]dF„ Z^dG„ Z_dH„ Z`dI„ ZadJ„ ZbdKdKdLœdM„Zce
j2                  j                  dN„ «       ZddO„ ZedP„ ZfdQ„ ZgdR„ ZhdS„ ZidT„ Zje
j2                  j                  dU„ «       Zke
j2                  j                  dV„ «       Zle
j2                  j                  dW„ «       ZmdX„ ZndY„ Zoe
j2                  j                  dZ„ «       Zpd[„ Zqd\„ Zre
j2                  j                  d]„ «       Zse
j2                  j                  d^„ «       Ztd_„ Zud`„ Zvda„ Zwdb„ Zxdc„ Zydd„ Zzde„ Z{df„ Z|dg„ Z}dh„ Z~di„ Ze
j2                  j                  dj„ «       Z€e
j2                  j                  dk„ «       Z�e
j2                  j                  dl„ «       Z‚dm„ Zƒe
j2                  j                  dn„ «       Z„e
j2                  j                  do„ «       Z…e
j2                  j                  dp„ «       Z†dq„ Z‡dr„ Zˆe
j2                  jU                  dsdtg du¢fdv e‰d dw«      fdx e‰d dy«      fdz e‰d d{«      fd| e‰d d{«      fd} e‰d d{«      fd~ e‰d d{«      fd e‰d d{«      fd€ e‰d d{«      fd�g d‚¢fdƒg d‚¢fd„g d…¢fd†g d‡¢f e�j                  dˆ«      g d‰¢fg«      dŠ„ «       Z‹e
j2                  jU                  d‹g dŒ¢ e�j                  «       fg d�¢ e�j                  «       fg dŽ¢ e�j                  «       fg d�¢ ejh                  «       fg dfd>d�gdˆgg ejŒ                   e�j                  «       «      fd‘d’gd“gg ejŽ                   e�j                  «       «      fd”gdd•d–gg ejŒ                   ejh                  «       «      fd>d�gdˆgg ej�                   e�j                  «       «      fd‘d’gd“gg ej’                   e�j                  «       «      fd”gdd•d–gg ej�                   ejh                  «       «      fg d—¢ ej                   e�j                   d” e�j                  «       «       e�j                   d• ejh                  «       «      g«      fg«      Z‘e‘d˜„ «       Z’d™„ Z“e
j2                  j                   e�j(                  e�j*                  �j,                  f¬š«       e�j.                   e�j0                  e�j2                   e�j4                  d d{¬›«      ¬œ«      «      d�„ «       «       «       Z›e‘dž„ «       Zœe
j2                  j                  dŸ„ «       Z�e
j2                  j                  d „ «       Zže
j2                  j                  d¡„ «       ZŸd¢„ Z e
j2                  j                  d£„ «       Z¡e
j2                  j                  d¤„ «       Z¢e
j2                  j\                  d¥„ «       Z£e
j2                  j                  d¦„ «       Z¤d§„ Z¥e
j2                  j                  e
j2                  jU                  d¨d© e�jL                  dª«      fd« e�jL                  d¬«      fd­ e�jL                  d®«      fd¯ e�jL                  d°«      fg«      d±„ «       «       Z§e
j2                  j                  d²„ «       Z¨e
j2                  j                  e
j2                  jU                  dg d³¢«      d´„ «       «       Z©e
j2                  j                  e
j2                  jU                  dg dµ¢«      d¶„ «       «       Zªe
j2                  j                  d·„ «       Z«e
j2                  j                  e
j2                  jU                  d¨d¸ e�jX                  dª«      fd¹ e�jX                  d¬«      fdº e�jX                  d®«      fd» e�jX                  d°«      fg«      d¼„ «       «       Z­e
j2                  j                  d½„ «       Z®e
j2                  j                  e
j2                  jU                  d¾d e�j                  «        e�j^                  «        e�j`                  «       g«      d¿„ «       «       Z±dÀ„ Z²e
j2                  j\                  dÁ„ «       Z³dÂ„ Z´e
j2                  j\                  dÃ„ «       Zµe
j2                  j                  e
j2                  jU                  dÄd e�jl                  «        e�jn                  «        e�jp                  «       g«      dÅ„ «       «       Z¹e
j2                  j                  dÆ„ «       Zºe
j2                  j                  dÇ„ «       Z»e
j2                  j                  dÈ„ «       Z¼e
j2                  j                  dÉ„ «       Z½e
j2                  j                  dÊ„ «       Z¾e
j2                  j                  dË„ «       Z¿e
j2                  j                  dÌ„ «       ZÀdÍ„ ZÁe
j2                  j                  dÎ„ «       ZÂdÏ„ ZÃe
j2                  j                  dÐ„ «       ZÄdÑ„ ZÅdÒ„ ZÆdÓ„ ZÇe
j2                  jU                  dÔ e�j�                  «       ejŒ                  f e�j                  «       ejŽ                  fg«      dÕ„ «       ZÉe
j2                  jU                  dÖ ejŒ                   e�j�                  «       «       ejŒ                   e�j�                  «       d�¬×«       ejŽ                   e�j�                  «       «      g«      dØ„ «       ZÊe
j2                  jU                  dÙ e�j�                  «        ejŒ                   e�j�                  «       «      f e�j�                  «        ejŒ                   e�j�                  «       d�¬×«      f e�j                  «        ejŽ                   e�j�                  «       «      f e�j�                  «        ej�                   e�j�                  «       «      f e�j                  «        ej’                   e�j�                  «       «      fg«      dÚ„ «       ZËe
j2                  jU                  d.ejŒ                  ejŽ                  g«      dÛ„ «       ZÌe
j2                  jU                  dÜej¨                  ejª                  g«      dÝ„ «       ZÍdÞ„ ZÎdß„ ZÏdà„ ZÐdá„ ZÑdâ„ ZÒdã„ ZÓdä„ ZÔdå„ ZÕe
j2                  j                  dæ„ «       ZÖe
j2                  j                  e
j2                  �j®                  e
j2                  �j°                  e
j2                  jU                  dçdèdKg«      dé„ «       «       «       «       ZÙe
j2                  �j°                  dê„ «       ZÚe
j2                  j                  dë„ «       ZÛe
j2                  j                  dì„ «       ZÜe
j2                  j                  dí„ «       ZÝe
j2                  j\                  dî„ «       ZÞe
j2                  j                  dï„ «       Zße
j2                  j                  dð„ «       Zàe
j2                  j                  dñ„ «       Zádò„ Zâe
j2                  j                  dó„ «       Zãe
j2                  j                  dô„ «       Zä G dõ„ dö«      Zå G d÷„ dø«      Zæe
j2                  jU                  dùeåeæg«      dú„ «       Zçdû„ Zèdü„ Zédý„ Zêdþ„ Zëe
j2                  j\                  dÿ„ «       Zìe
j2                  j\                  �d „ «       Zí�d„ Zî�d„ Zï�d„ Zð�d„ Zñ�d�d„Zò�d„ Zó�d„ Zô�d„ Zõe
j2                  j                  �d	„ «       Zöe
j2                  j                  �d
„ «       Z÷e
j2                  j\                  �d„ «       Zøe
j2                  jU                  d;e�jò                  ej�                  fe�jô                  ej’                  fg«      �d„ «       Zûe
j2                  jU                  d;e�jò                  ej�                  fe�jô                  ej’                  fg«      �d„ «       Züe
j2                  jU                  �de�jò                  ej�                   e�j�                  «       fe�jô                  ej’                   e�j                  «       fg«      �d„ «       Zýe
j2                  jU                  �de�jò                  e�jô                  g«      �d„ «       Zþe
j2                  j                  e
j2                  jU                  �dg �d¢«      �d„ «       «       Zÿ�d„ �Z y# e$ r dZY �ŒTw xY w(  é    )ÚIterableN)ÚVersionc                  óN  — d} t        j                  t        j                  d| gdt         j                  ¬«      }|j
                  dk7  r5t        |j                  t        j                  ¬«       |j                  «        t        |j                  j                  «       «      dk(  sJ ‚y )NzOif 1:
    import pyarrow as pa

    assert pa.total_allocated_bytes() == 0
    z-cT)Úuniversal_newlinesÚstderrr   )Úfile)Ú
subprocessÚrunÚsysÚ
executableÚPIPEÚ
returncodeÚprintr   Úcheck_returncodeÚlenÚ
splitlines)ÚcodeÚress     úO/home/htdocs/ttos/venv/lib/python3.12/site-packages/pyarrow/tests/test_array.pyÚtest_total_bytes_allocatedr   (   sz   € ð€Dô
 �.‰.œ#Ÿ.™.¨$°Ð5Ø,0¼¿¹ôJ€Cà
‡~�~˜ÒÜˆc�j‰jœsŸz™zÕ*Ø×ÑÔÜˆs�z‰z×$Ñ$Ó&Ó'¨1Ò,Ð,Ñ,ó    c                  ó‚   — t        j                  g d¢«      } t        j                  | «      } |«       €J ‚~  |«       �J ‚y ©N©é   é   é   )ÚpaÚarrayÚweakrefÚref)ÚarrÚwrs     r   Útest_weakrefr$   7   s;   € Ü
�(‰(’9Ó
€CÜ	�‰�SÓ	€BÙ‹4ÐÐÐØÙ‹4ˆ<Ð‰<r   c                  óÀ   — t        j                  g d¢«      } | d   j                  «       �J ‚| d   j                  du sJ ‚t	        | d   t         j
                  «      sJ ‚y )N©r   Nr   r   F)r   r   Úas_pyÚis_validÚ
isinstanceÚInt64Scalar©r"   s    r   Útest_getitem_NULLr,   ?   sT   € Ü
�(‰(’<Ó
 €CØˆq‰6�<‰<‹>Ð!Ð!Ð!Øˆq‰6�?‰?˜eÑ#Ð#Ð#Ü�c˜!‘fœbŸn™nÔ-Ð-Ñ-r   c                  óŽ   — t        j                  t        «      5  t        j                  ddg«       d d d «       y # 1 sw Y   y xY w)Nr   r   )ÚpytestÚraisesÚ	TypeErrorr   ÚArray© r   r   Útest_constructor_raisesr3   F   s5   € ô 
�‰”yÓ	!ñ Ü
�‰�!�Q�Ô÷÷ ñ ús	   š;»Ac                  ó¢   — t        j                  dgd g d¢g«      } | j                  «       }d}||k(  sJ ‚| j                  d¬«      }d}||k(  sJ ‚y )NÚfoo)Úbarza longer stringNzQ[
  [
    "foo"
  ],
  null,
  [
    "bar",
    "a longer string",
    null
  ]
]é
   )Úelement_size_limitz`[
  [
    "foo"
  ],
  null,
  [
    "bar",
    "a longer (... 7 chars omitted)",
    null
  ]
]©r   r   Ú	to_string©r"   ÚresultÚexpecteds      r   Útest_list_formatr>   M   sc   € Ü
�(‰(�U�G˜TÒ#CÐDÓ
E€CØ�]‰]‹_€Fð€Hð �XÒÐÐà�]‰]¨bˆ]Ó1€Fð€Hð �XÒÐÑr   c                  ód   — t        j                  g d¢«      } | j                  «       }d}||k(  sJ ‚y )N©Ú Nr5   z[
  "",
  null,
  "foo"
]r9   r;   s      r   Útest_string_formatrB   n   s3   € Ü
�(‰(Ò$Ó
%€CØ�]‰]‹_€Fð€Hð �XÒÐÑr   c                  óv   — t        j                  t        d«      «      } | j                  d¬«      }d}||k(  sJ ‚y )Néd   r   )Úwindowz[
  0,
  1,
  ...
  98,
  99
])r   r   Úranger:   r;   s      r   Útest_long_array_formatrG   z   s;   € Ü
�(‰(”5˜“:Ó
€CØ�]‰] !ˆ]Ó$€Fð€Hð �XÒÐÑr   c                  óh   — t        j                  g d¢«      } | j                  d¬«      }d}||k(  sJ ‚y )Nr@   r   )Úindentz[
 "",
 null,
 "foo"
]r9   r;   s      r   Útest_indented_string_formatrJ   ˆ   s4   € Ü
�(‰(Ò$Ó
%€CØ�]‰] !ˆ]Ó$€FØ+€Hà�XÒÐÑr   c                  óh   — t        j                  g d¢«      } | j                  d¬«      }d}||k(  sJ ‚y )Nr@   r   )Útop_level_indentz [
   "",
   null,
   "foo"
 ]r9   r;   s      r   Ú%test_top_level_indented_string_formatrM   �   s4   € Ü
�(‰(Ò$Ó
%€CØ�]‰]¨Aˆ]Ó.€FØ3€Hà�XÒÐÑr   c                  ód   — t        j                  g d¢«      } | j                  «       }d}||k(  sJ ‚y )N)ó    r   Ns   foos   €ÿz([
  00,
  ,
  null,
  01666F6F,
  80FF
]r9   r;   s      r   Útest_binary_formatrP   ˜   s3   € Ü
�(‰(Ò@Ó
A€CØ�]‰]‹_€Fð€Hð �XÒÐÑr   c                  ó0  — t        j                  g d¢d¬«      } t        j                  g d¢d¬«      }| j                  dk(  sJ ‚| j                  dd«      j                  dk(  sJ ‚|j                  dk(  sJ ‚|j                  dd«      j                  dk(  sJ ‚y )	N)s   0000Ns   11111s   222222s   3333333Úbinary©ÚtypeÚlarge_binaryé   r   r   é   )r   r   Útotal_values_lengthÚslice)r"   Ú	large_arrs     r   Útest_binary_total_values_lengthr[   ¦   s‘   € Ü
�(‰(ÒCØ ô"€Cä—‘ÒIØ,ô.€Ið ×"Ñ" bÒ(Ð(Ð(Ø�9‰9�Q˜‹?×.Ñ.°"Ò4Ð4Ð4Ø×(Ñ(¨BÒ.Ð.Ð.Ø�?‰?˜1˜aÓ ×4Ñ4¸Ò:Ð:Ñ:r   c                  ó‚  — t        j                  t        d«      «      } | j                  «       }| j	                  «       d   }|j
                  |j                  j                  k(  sJ ‚d } dd l}|j                  «        |j                  €J ‚t        j                  d«      }t        j                  j                  ||«       y )Nr7   r   r   )r   r   rF   Úto_numpyÚbuffersÚaddressÚctypesÚdataÚgcÚcollectÚbaseÚnpÚarangeÚtestingÚassert_array_equal)r"   Únp_arrÚ	arrow_bufrb   r=   s        r   Útest_to_numpy_zero_copyrk   ²   s“   € ä
�(‰(”5˜“9Ó
€Cà�\‰\‹^€Fð —‘“˜aÑ €IØ×Ñ §¡× 2Ñ 2Ò2Ð2Ð2à
€CÛØ‡J�J„Lð �;‰;Ð"Ð"Ð"Ü�y‰y˜‹}€HÜ‡J�J×!Ñ! &¨(Õ3r   c                  ó.  — g d¢g d¢g} t        j                  | «      }d}t        j                  t        |¬«      5  |j                  d¬«       d d d «       |j                  «       }g d¢}t        j                  j                  ||«       y # 1 sw Y   Œ>xY w)N)r   r   é   )rm   é   rD   z>zero_copy_only must be False for pyarrow.ChunkedArray.to_numpy©ÚmatchT©Úzero_copy_only)r   r   rm   rm   rn   rD   )	r   Úchunked_arrayr.   r/   Ú
ValueErrorr]   re   rg   rh   )ÚelementsÚchunked_arrÚmsgri   r=   s        r   Ú%test_chunked_array_to_numpy_zero_copyrx   Æ   s~   € âš;Ð'€Hä×"Ñ" 8Ó,€Kà
J€Cä	�‰”z¨Ô	-ñ 2Ø×Ñ¨DÐÔ1÷2ð ×!Ñ!Ó#€FÚ#€HÜ‡J�J×!Ñ! &¨(Õ3÷2ð 2ús   »BÂBc                  ó8  — t        j                  g d¢«      } t        j                  t        «      5  | j                  «        d d d «       | j                  d¬«      }t        j                  g d¢«      }t        j                  j                  ||«       t        j                  g d¢«      }t        j                  t        «      5  |j                  «        d d d «       |j                  d¬«      }t        j                  g d¢t        ¬«      }t        j                  j                  ||«       t        j                  g d¢«      }t        j                  t        d¬«      5  |j                  «        d d d «       y # 1 sw Y   �Œ7xY w# 1 sw Y   Œ±xY w# 1 sw Y   y xY w)	N©TFTFrq   ©NNN©Údtype©r   r   Nzwith 1 nullsro   )
r   r   r.   r/   rt   r]   re   rg   rh   Úobject)Úbool_arrr<   r=   Únull_arrr"   s        r   Útest_to_numpy_unsupported_typesr‚   Ö   s-  € ô �x‰xÒ+Ó,€Hä	�‰”zÓ	"ñ Ø×ÑÔ÷ð ×Ñ¨eÐÓ4€FÜ�x‰xÒ+Ó,€HÜ‡J�J×!Ñ! &¨(Ô3ä�x‰xÒ*Ó+€Hä	�‰”zÓ	"ñ Ø×ÑÔ÷ð ×Ñ¨eÐÓ4€FÜ�x‰xÒ*´&Ô9€HÜ‡J�J×!Ñ! &¨(Ô3ä
�(‰(’<Ó
 €Cä	�‰”z¨Ô	8ñ Ø�‰Œ÷ð ÷%ñ ú÷ð ú÷ð ús#   ±E7ÃFÅFÅ7FÆFÆFc                  ó¨  — t        j                  t        d«      «      } | j                  «       }t	        j
                  t        «      5  d|d<   d d d «       | j                  dd¬«      }d|d<   | d   j                  «       dk(  sJ ‚t	        j
                  t        «      5  | j                  dd¬«       d d d «       y # 1 sw Y   ŒoxY w# 1 sw Y   y xY w)Nr7   r   FT)rr   Úwritable)r   r   rF   r]   r.   r/   rt   r'   )r"   ri   Únp_arr2s      r   Útest_to_numpy_writabler†   ñ   s¸   € ä
�(‰(”5˜“9Ó
€CØ�\‰\‹^€Fô 
�‰”zÓ	"ñ Øˆˆq‰	÷ð �l‰l¨%¸$ˆlÓ?€GØ€GˆA�JØˆq‰6�<‰<‹>˜QÒÐÐô 
�‰”zÓ	"ñ 9Ø�‰ D°4ˆÔ8÷9ð 9÷ð ú÷9ð 9ús   ÁB<ÂCÂ<CÃCÚunit)ÚsÚmsÚusÚnsÚtzÚUTCc                 óø   — t        j                  g d¢t        j                  | |¬«      «      }t        j                  g d¢d| › d�¬«      }|j	                  «       }t        j
                  j                  ||«       y )Nr   ©rŒ   zdatetime64[ú]r|   )r   r   Ú	timestampre   r]   rg   rh   )r‡   rŒ   r"   r=   ri   s        r   Útest_to_numpy_datetime64r’     sW   € ô �(‰(’9œbŸl™l¨4°BÔ7Ó
8€CÜ�x‰xš	¨;°t°f¸AÐ)>Ô?€HØ�\‰\‹^€FÜ‡J�J×!Ñ! &¨(Õ3r   c                 óô   — t        j                  g d¢t        j                  | «      «      }t        j                  g d¢d| › d�¬«      }|j	                  «       }t        j
                  j                  ||«       y )Nr   ztimedelta64[r�   r|   )r   r   Údurationre   r]   rg   rh   )r‡   r"   r=   ri   s       r   Útest_to_numpy_timedelta64r•     sU   € ô �(‰(’9œbŸk™k¨$Ó/Ó
0€CÜ�x‰xš	¨<¸°v¸QÐ)?Ô@€HØ�\‰\‹^€FÜ‡J�J×!Ñ! &¨(Õ3r   c                  óì   — t        j                  g d¢«      j                  «       } t        j                  g d¢t        ¬«      }| j                  d¬«      }t        j                  j                  ||«       y )N)ÚaÚbr—   r|   Frq   )r   r   Údictionary_encodere   r   r]   rg   rh   )r"   r=   ri   s      r   Útest_to_numpy_dictionaryrš     sO   € ô �(‰(’?Ó
#×
5Ñ
5Ó
7€CÜ�x‰xš¬vÔ6€HØ�\‰\¨ˆ\Ó/€FÜ‡J�J×!Ñ! &¨(Õ3r   c                  ó  — dd l } t        j                  t        d«      «      }t        d«      D ]-  }|j	                  «       }t        j                  |«      dv sJ ‚d }Œ/ t        j                  |«      dv sJ ‚t        d«      D ]‚  }t        j                  t        d«      «      }|j	                  «       }d }| j                  «        t        j                  |j                  j                  «      }|dk(  sJ ‚|j                  «        Œ„ y )Nr   r7   )r   r   r   )rb   r   r   rF   Ú	to_pandasr   Úgetrefcountrc   Úvaluesrd   Úsum)rb   r"   ÚiÚseriesÚbase_refcounts        r   Útest_to_pandas_zero_copyr£     sÛ   € ãä
�(‰(”5˜“9Ó
€Cä�2‹Yò ˆØ—‘“ˆô �‰˜vÓ&¨&Ñ0Ð0Ð0Ø‰ðô �?‰?˜3Ó 6Ñ)Ð)Ð)ä�2‹Yò ˆÜ�h‰h”u˜R“yÓ!ˆØ—‘“ˆØˆØ
�
‰
Œô Ÿ™¨¯©×(:Ñ(:Ó;ˆØ Ò!Ð!Ð!Ø�
‰
�ñr   c                  óÚ  — t        j                  t        d«      «      } t        j                  | D �cg c]  }|‘Œ c}«      }|j                  «       g d¢k(  sJ ‚|j                  t        j                  d«      k(  sJ ‚t        |d   t         j                  j                  «      s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                  g d	¢«      } | j                  t        j                  «       k(  sJ ‚t        j                  | «      }|j                  «       }|d d
 g d¢k(  sJ ‚t        j                  |d
   «      sJ ‚|j                  t        j                  d«      k(  sJ ‚t         j                  j                  t        j                  g d¢«      t        j                  g d¢«      «      } t        j                  | «      }|j                  t        j                  d«      k(  sJ ‚|j                  «       g d¢k(  sJ ‚y c c}w )Nrm   ©r   r   r   r   ÚOr   Úint64Ústrr|   )Ú0Ú1Ú2Ú3)r   r   r   Nr   )ç        ç      ð?ç       @Úfloat64©r   r   r   r   r   ©r—   r˜   Úcr   )r—   r˜   r³   r—   r˜   )r   r   rF   re   ÚasarrayÚtolistr}   r)   ÚlibÚ
Int64ValuerT   r§   ÚisnanÚDictionaryArrayÚfrom_arrays)r"   Ú_ri   ru   s       r   Útest_asarrayr¼   =  sØ  € ô
 �(‰(”5˜“8Ó
€Cô �Z‰Z CÖ(˜qšÒ(Ó)€FØ�=‰=‹?šlÒ*Ð*Ð*Ø�<‰<œ2Ÿ8™8 C›=Ò(Ð(Ð(Ü�f˜Q‘i¤§¡×!2Ñ!2Ô3Ð3Ð3ô �Z‰Z˜‹_€FØ�=‰=‹?šlÒ*Ð*Ð*Ø�<‰<œ2Ÿ8™8 GÓ,Ò,Ð,Ð,ô �Z‰Z˜ 5Ô)€FØ�=‰=‹?Ò2Ò2Ð2Ð2ô �(‰(’?Ó
#€CØ�8‰8”r—x‘x“zÒ!Ð!Ð!Ü�Z‰Z˜‹_€FØ�}‰}‹€HØ�B�Qˆ<š<Ò'Ð'Ð'Ü�8‰8�H˜Q‘KÔ Ð Ð Ø�<‰<œ2Ÿ8™8 IÓ.Ò.Ð.Ð.ô ×
Ñ
×
(Ñ
(Ü
�‰’Ó!¤2§8¡8ªOÓ#<ó>€Cä�Z‰Z˜‹_€FØ�<‰<œ2Ÿ8™8 HÓ-Ò-Ð-Ð-Ø�=‰=‹?Ò7Ò7Ð7Ñ7ùò; )s   ²	I(Útyc                 ó  — t        j                  d| ¬«      }t        j                  g d¢| ¬«      }t        |«      dk(  sJ ‚|j	                  |«      sJ ‚| €$|j
                  t        j                  «       k(  sJ ‚y |j
                  | k(  sJ ‚y )Nr   rS   r{   )r   Únullsr   r   ÚequalsrT   Únull©r½   r"   r=   s      r   Ú
test_nullsrÃ   e  st   € ô �(‰(�1˜2Ô
€CÜ�x‰xÒ*°Ô4€Häˆs‹8�qŠ=Ðˆ=Ø�:‰:�hÔÐÐà	€zØ�x‰xœ2Ÿ7™7›9Ò$Ð$Ñ$à�x‰x˜2Š~Ð‰~r   c                  óœ  — t        j                  d«      } t        j                  j	                  «       }t        j                  j                  «       }|j                  | j                  ¬«      }|j                  | j                  d«      «      }t        j                  d¬«      }d dt        j                  d g«      fd dt        j                  d«      fddt        j                  g d	¢t        j                  «       ¬
«      fddt        j                  ddgt        j                  «       ¬
«      fddt        j                  dgdz  «      ft        j                   dt        j"                  «       ¬
«      dt        j                  dgdz  t        j"                  «       ¬
«      ft        j                   d «      dt        j                  g d¢«      ft        j                   d«      dt        j                  dgdz  «      f|dt        j                  |gdz  «      f|dt        j                  |gdz  «      f|dt        j                  |gdz  t        j$                  d| j                  d«      ¬«      ¬
«      f|j'                  «       dt        j                  |j'                  «       gdz  «      f|dt        j                  |gdz  «      fddt        j                  dgdz  «      fddgdt        j                  ddgddgg«      ft        j                   ddgt        j(                  t        j*                  «       «      ¬
«      dt        j                  ddggdz  t        j(                  t        j*                  «       «      ¬
«      fdddœdt        j                  dddœgdz  «      fg}|D ]ª  \  }}}	t        j,                  ||«      }
t/        |
«      |k(  sJ ‚|
j0                  j3                  |	j0                  «      sJ ‚|
j3                  |	«      sJ ‚|	j0                  t        j4                  «       k(  r|
j6                  |k(  rŒ˜J ‚|
j6                  dk(  rŒªJ ‚ y )NÚpytz)Útzinfoz
US/Easternr   )Údaysr7   éÿÿÿÿr   )rÈ   rÈ   rÈ   rS   g®Gáz®@r   Ústringrm   é   é   r{   TrW   rŠ   r�   é	   Frn   ©r—   r˜   r   )r.   ÚimportorskipÚdatetimeÚdateÚtodayÚnowÚreplaceÚutcÚ
astimezoneÚtimezoneÚ	timedeltar   r   r¿   r§   r°   ÚscalarÚuint8r‘   ÚtimeÚ
large_listÚint8Úrepeatr   rT   rÀ   rÁ   Ú
null_count)rÅ   rÑ   rÒ   Únow_utcÚnow_with_tzÚonedayÚcasesÚvalueÚsizer=   r"   s              r   Útest_array_from_scalarrå   x  si  € Ü×Ñ˜vÓ&€Dä�M‰M×ÑÓ!€EÜ
×
Ñ
×
Ñ
Ó
!€CØ�k‰k §¡ˆkÓ*€GØ×$Ñ$ T§]¡]°<Ó%@ÓA€KÜ×Ñ QÔ'€Fð 
ˆq”"—(‘(˜D˜6Ó"Ð#Ø	ˆr”2—8‘8˜B“<Ð Ø	ˆQ”—‘š¬B¯H©H«JÔ7Ð8Ø	ˆq”"—(‘(˜D $˜<¬b¯j©j«lÔ;Ð<Ø	�1”b—h‘h ˜z¨A™~Ó.Ð/ä�I‰I�aœbŸh™h›jÔ)ØÜ�H‰H�a�S˜2‘X¤B§H¡H£JÔ/ð	
ô
 
�‰�4‹˜!œRŸX™XÒ&8Ó9Ð:Ü	�‰�4‹˜"œbŸh™h¨ v°¡{Ó3Ð4Ø	�”2—8‘8˜U˜G a™KÓ(Ð)Ø	ˆb”"—(‘(˜C˜5 2™:Ó&Ð'àØÜ�H‰HØ�	˜A‘Ü—\‘\ $¨4¯=©=¸Ó+FÔGôð	
ð 
�‰‹�QœŸ™ #§(¡(£* °Ñ!1Ó2Ð3Ø	�”B—H‘H˜f˜X¨™\Ó*Ð+Ø	�”2—8‘8˜U˜G a™KÓ(Ð)Ø
ˆQˆ�”B—H‘H˜q !˜f q¨! fÐ-Ó.Ð/ä�I‰I�r˜1�g¤B§M¡M´"·'±'³)Ó$<Ô=ØÜ�H‰H�r˜1�g�Y ‘]¬¯©´r·w±w³yÓ)AÔBð	
ð
 �qÑ	˜1œbŸh™h¨a°aÑ(8Ð'9¸AÑ'=Ó>Ð?ðA!€EðF "'ò 'Ñˆˆt�XÜ�i‰i˜˜tÓ$ˆÜ�3‹x˜4ÒÐÐØ�x‰x�‰˜xŸ}™}Ô-Ð-Ð-Ø�z‰z˜(Ô#Ð#Ð#Ø�=‰=œBŸG™G›IÒ%Ø—>‘> TÓ)Ð)Ð)à—>‘> QÓ&Ð&Ð&ñ'r   c                  ó–  — g d¢} t         j                  j                  g d¢| ¬«      }t        j                  |d   d«      }t         j                  j                  dgdz  | ¬«      }|j	                  |«      sJ ‚t        j                  |d   d«      }t         j                  j                  dgdz  | ¬«      }|j	                  |«      sJ ‚y )N©r5   r6   Úbaz)r   r   r   r   )Ú
dictionaryr   rn   r   r   )r   r¹   rº   rÝ   rÀ   )ré   r"   r<   r=   s       r   Ú!test_array_from_dictionary_scalarrê   ¯  s°   € Ú&€JÜ
×
Ñ
×
(Ñ
(ªÀ*Ð
(Ó
M€Cä�Y‰Y�s˜1‘v˜qÓ!€FÜ×!Ñ!×-Ñ-¨q¨c°A©gÀ*Ð-ÓM€HØ�=‰=˜Ô"Ð"Ð"ä�Y‰Y�s˜1‘v˜qÓ!€FÜ×!Ñ!×-Ñ-¨q¨c°A©gÀ*Ð-ÓM€HØ�=‰=˜Ô"Ð"Ñ"r   c                  óF  — t        j                  t        dd«      «      } | j                  «       }t        t	        | «       t	        | «      «      D ]  }| |   j                  «       ||   k(  rŒJ ‚ t        dt	        | «      z  t	        | «       «      D ])  }t        j                  t        «      5  | |    d d d «       Œ+ t        t	        | «      dt	        | «      z  «      D ])  }t        j                  t        «      5  | |    d d d «       Œ+ y # 1 sw Y   ŒƒxY w# 1 sw Y   ŒBxY w)Nr7   é   éþÿÿÿr   )	r   r   rF   Ú	to_pylistr   r'   r.   r/   Ú
IndexError©r"   ÚlstÚidxs      r   Útest_array_getitemró   ¼  s   € Ü
�(‰(”5˜˜R“=Ó
!€CØ
�-‰-‹/€Cä”c˜#“h�Y¤ C£Ó)ò ,ˆØ�3‰x�~‰~Ó 3 s¡8Ó+Ð+Ð+ð,ä�Rœ#˜c›(‘]¤S¨£X IÓ.ò ˆÜ�]‰]œ:Ó&ñ 	Ø�ŠH÷	ð 	ðô ”S˜“X˜q¤3 s£8™|Ó,ò ˆÜ�]‰]œ:Ó&ñ 	Ø�ŠH÷	ð 	ñ÷	ð 	ú÷	ð 	ús   Â-DÃ:DÄD	ÄD 	c                  ó  — t        j                  t        dd«      «      } | j                  «       }t        t	        | «       t	        | «      «      D ]0  }| t        j                  |«         j                  «       ||   k(  rŒ0J ‚ y )Nr7   rì   )r   r   rF   rî   r   re   Úint32r'   rð   s      r   Ú test_array_getitem_numpy_scalarsrö   Ê  si   € ä
�(‰(”5˜˜R“=Ó
!€CØ
�-‰-‹/€Cä”c˜#“h�Y¤ C£Ó)ò 6ˆØ”2—8‘8˜C“=Ñ!×'Ñ'Ó)¨S°©XÓ5Ð5Ð5ñ6r   c                  óÎ  — t        j                  t        d«      «      } | j                  d«      }t        j                  t        dd«      «      }|j	                  |«      sJ ‚| j                  dd«      }t        j                  t        dd«      «      }|j	                  |«      sJ ‚| j                  d«      j	                  | «      sJ ‚t        | j                  t        | «      «      «      dk(  sJ ‚t        | j                  t        | «      dz   «      «      dk(  sJ ‚t        | j                  t        | «      dz   d«      «      dk(  sJ ‚t        j                  t        «      5  | j                  d«       d d d «       t        j                  t        «      5  | j                  dd«       d d d «       | dd  j	                  | j                  d«      «      sJ ‚| dd j	                  | j                  dd	«      «      sJ ‚| d
d  j	                  | j                  t        | «      dz
  «      «      sJ ‚t        | «      }t        | dz  |dz  «      D ]�  }t        | dz  |dz  «      D ]i  }| || }|j                  «        | j                  «       || }|j                  «       |k(  sJ ‚t        €ŒG|j                  «       j                  «       |k(  rŒiJ ‚ Œƒ y # 1 sw Y   �Œ]xY w# 1 sw Y   �Œ6xY w)Nr7   r   rm   é   r   rD   rÈ   rn   r   éûÿÿÿ)r   r   rF   rY   rÀ   r   r.   r/   rï   rt   Úvalidaterî   re   r]   rµ   )	r"   Úslicedr=   Úsliced2Ú	expected2ÚnÚstartÚstopr   s	            r   Útest_array_slicer  Ó  su  € Ü
�(‰(”5˜“9Ó
€Cà�Y‰Y�q‹\€FÜ�x‰xœ˜a ›Ó%€HØ�=‰=˜Ô"Ð"Ð"à�i‰i˜˜1‹o€GÜ—‘œ˜q !›Ó%€IØ�>‰>˜)Ô$Ð$Ð$ð �9‰9�Q‹<×Ñ˜sÔ#Ð#Ð#ô ˆs�y‰yœ˜S›Ó"Ó# qÒ(Ð(Ð(Üˆs�y‰yœ˜S› A™Ó&Ó'¨1Ò,Ð,Ð,Üˆs�y‰yœ˜S› A™ sÓ+Ó,°Ò1Ð1Ð1ä	�‰”zÓ	"ñ Ø�	‰	�"Œ÷ô 
�‰”zÓ	"ñ Ø�	‰	�!�RÔ÷ð ˆqˆrˆ7�>‰>˜#Ÿ)™) A›,Ô'Ð'Ð'Øˆq�ˆ8�?‰?˜3Ÿ9™9 Q¨›?Ô+Ð+Ð+Øˆrˆsˆ8�?‰?˜3Ÿ9™9¤S¨£X°¡\Ó2Ô3Ð3Ð3äˆC‹€AÜ˜�r˜A‘v˜q 1™uÓ%ò ;ˆÜ˜1˜"˜q™& ! a¡%Ó(ò 	;ˆDØ�e˜D�/ˆCØ�L‰LŒNØ—}‘}“ u¨TÐ2ˆHØ—=‘=“? hÒ.Ð.Ð.Ü‰~Ø—|‘|“~×,Ñ,Ó.°(Ó:Ð:Ð:ñ	;ñ;÷ñ ú÷ñ ús   Å KÆKËKËK$c                  ó  — t        t        d«      «      } t        j                  | «      }t        j                  |g«      }t        d d d«      t        d dd«      t        ddd«      t        dd d«      t        ddd«      t        ddd«      t        d d d«      t        ddd«      t        d	d
d«      t        ddd«      g
}|D ]Ã  }||   }t        j                  | |   |j                  ¬«      }|j                  |«      sJ ‚t        j                  |gdg¬«      |   }t        j                  |gdg¬«      }|j                  |«      sJ ‚||   }t        j                  | |   g|j                  ¬«      }|j                  |«      rŒÃJ ‚ y )Né   rÈ   rø   rí   r7   rÊ   r   r   rì   içÿÿÿiêÿÿÿrS   Úf0©Únames)	ÚlistrF   r   r   rs   rY   rT   rÀ   Úrecord_batch)rž   r"   rv   râ   Úcaser<   r=   s          r   Útest_array_slice_negative_stepr
  ü  sj  € ä”%˜“)‹_€FÜ
�(‰(�6Ó
€CÜ×"Ñ" C 5Ó)€Kô 	ˆd�D˜"ÓÜˆd�A�rÓÜˆb�!�RÓÜˆa��rÓÜˆa��RÓÜˆb�!�RÓÜˆd�D˜!ÓÜˆa��Q‹Üˆb�#�rÓÜˆc�3˜Óð€Eð ò 'ˆØ�T‘ˆÜ—8‘8˜F 4™L¨s¯x©xÔ8ˆØ�}‰}˜XÔ&Ð&Ð&ä—‘ # ¨t¨fÔ5°dÑ;ˆÜ—?‘? H :°d°VÔ<ˆØ�}‰}˜XÔ&Ð&Ð&à˜TÑ"ˆÜ×#Ñ# V¨D¡\ N¸¿¹ÔBˆØ�}‰}˜XÕ&Ð&Ð&ñ'r   c            
      ó¤  — g d¢} | D ]o  }t        j                  |Ž }|j                  d¬«       |j                  t        j                  t        t        |Ž «      t        j                  «       ¬«      «      rŒoJ ‚ t        j                  ddt        j                  «       ¬«      }|j                  d¬«       |j                  t        j                  t        t        dd«      «      t        j                  «       ¬«      «      sJ ‚t        j                  t         j                  «      5  t        j                  dd	d«       d d d «       y # 1 sw Y   y xY w)
N))rn   ég   )rí   é€   r   )rm   r  rn   )r7   iùÿÿÿrÈ   )rD   iìÿÿÿéýÿÿÿ)r   r   )r   r7   rÈ   )r7   r   r   T©ÚfullrS   rÈ   ée   ©Úmemory_poolr   r7   )r   rf   rú   rÀ   r   r  rF   r§   Údefault_memory_poolr.   r/   ÚArrowInvalid)râ   r	  r<   s      r   Útest_aranger    sô   € ò	€Eð ò LˆÜ—‘˜DÐ!ˆØ�‰˜TˆÔ"Ø�}‰}œRŸX™X¤d¬5°$¨<Ó&8¼r¿x¹x»zÔJÕKÐKÐKðLô �Y‰Y�r˜3¬B×,BÑ,BÓ,DÔE€FØ
‡O�O˜€OÔØ�=‰=œŸ™¤$¤u¨R°£~Ó"6¼R¿X¹X»ZÔHÔIÐIÐIô 
�‰”r—‘Ó	'ñ Ü
�	‰	�!�R˜Ô÷÷ ñ ús   Ä%EÅEc                  ó�  — t        j                  dgt        j                  «       ¬«      } t        j                  g d¢t        j                  «       ¬«      }t        j                  g d¢«      }t        j                  g dgd gt        j                  t        j                  «       «      ¬«      }t        j                  g d¢t        j
                  «       ¬«      }t        j                  ddgt        j
                  «       ¬«      }| j                  | «      dk(  sJ ‚| j                  |«      d	k(  sJ ‚| j                  |«      j                  «       d
k(  sJ ‚| j                  |«      j                  «       d
k(  sJ ‚| j                  |«      j                  «       dk(  sJ ‚|j                  |«      dk(  sJ ‚|j                  |«      dk(  sJ ‚y )Nr5   rS   ©r5   r6   Nr   r   )g      ø?r   rø   r   rA   z
@@ -1, +1 @@
+"bar"
+null
z'# Array types differed: string vs int64z3# Array types differed: string vs list<item: int64>z&
@@ -0, +0 @@
-1.5
+1
@@ -2, +2 @@
-6
)r   r   Úutf8Úlist_r§   Úfloat16ÚdiffÚstrip)Úarr1Úarr2Úarr3Úarr4Úarr5Úarr6s         r   Útest_array_diffr$  7  sj  € ä�8‰8�U�G¤"§'¡'£)Ô,€DÜ�8‰8Ò(¬r¯w©w«yÔ9€DÜ�8‰8’IÓ€DÜ�8‰8�R˜!˜˜d�O¬"¯(©(´2·8±8³:Ó*>Ô?€DÜ�8‰8’K¤b§j¡j£lÔ3€DÜ�8‰8�Q˜�F¤§¡£Ô.€Dà�9‰9�T‹?˜bÒ Ð Ð Ø�9‰9�T‹?ð ò ð ð ð
 �9‰9�T‹?× Ñ Ó"Ð&OÒOÐOÐOØ�9‰9�T‹?× Ñ Ó"Ð&OÒOÐOÐOØ�9‰9�T‹?× Ñ Ó"ð (;ò <ð <ð <à�9‰9�T‹?˜bÒ Ð Ð Ø�9‰9�T‹?ð ò ð ñ r   c                  óÈ   — t        j                  t        d«      «      } t        t        d«      | «      D ]  \  }}||j	                  «       k(  rŒJ ‚ t        | t        «      sJ ‚y )Nr7   )r   r   rF   Úzipr'   r)   r   )r"   r    Újs      r   Útest_array_iterr(  T  sV   € Ü
�(‰(”5˜“9Ó
€Cä”E˜"“I˜sÓ#ò ‰ˆˆ1Ø�A—G‘G“I‹~Ðˆ~ðô �cœ8Ô$Ð$Ñ$r   c                  ó<  — t        j                  t        j                  dt        j                  «       «      t        j                  dt        j                  «       «      g«      } t        j
                  g d¢| ¬«      }|dd  j                  «       dddœd	d
dœgk(  sJ ‚y )Nr—   r˜   ©©r   ç      @©r   ç      @)rn   ç      @rS   r   r   r.  rÍ   rn   r/  )r   ÚstructÚfieldrÜ   Úfloat32r   rî   )r½   r"   s     r   Útest_struct_array_slicer3  ]  s‚   € ä	�‰”B—H‘H˜S¤"§'¡'£)Ó,Ü—H‘H˜S¤"§*¡*£,Ó/ð1ó 
2€Bä
�(‰(Ò1¸Ô
;€CØˆqˆrˆ7×ÑÓ¨°Ñ#5Ø)*°Ñ#5ð#7ò 7ð 7ñ 7r   c                  óÔ   —  G d„ d«      } t        j                   | «       g«      }t        j                  t        «      5  t        j                  |«       d d d «       y # 1 sw Y   y xY w)Nc                   ó   — e Zd Zy)ú1test_array_factory_invalid_type.<locals>.MyObjectN)Ú__name__Ú
__module__Ú__qualname__r2   r   r   ÚMyObjectr6  i  s   „ Ør   r:  ©re   r   r.   r/   rt   r   )r:  r"   s     r   Útest_array_factory_invalid_typer<  f  sL   € ÷ñ ô �(‰(‘H“J�<Ó
 €CÜ	�‰”zÓ	"ñ Ü
�‰�Œ÷÷ ñ ús   ¿AÁA'c                  óÀ   — t        j                  g d¢«      } t        j                  | «      }t	        j                  | «      }t        j                  | «      |dz   k(  sJ ‚y )Nr   r   )re   r   r   r�   r   )r"   Úrefcountr  s      r   Útest_array_ref_to_ndarray_baser?  q  sF   € ä
�(‰(’9Ó
€Cä�‰˜sÓ#€HÜ�8‰8�C‹=€DÜ�?‰?˜3Ó H¨q¡LÒ1Ð1Ñ1r   c                  ór  — t        j                  g d¢t        j                  «       ¬«      } t        j                  g d¢t        j                  «       ¬«      }t        j                  g d¢t        j                  «       ¬«      }| |k(  du sJ ‚| |k7  du sJ ‚| |k(  du sJ ‚| |k7  du sJ ‚| dk(  du sJ ‚| d k(  du sJ ‚y )Nr   rS   TFr   )r   r   rõ   r§   )r  r  r   s      r   Útest_array_eqrA  z  s²   € ô �8‰8’I¤B§H¡H£JÔ/€DÜ�8‰8’I¤B§H¡H£JÔ/€DÜ�8‰8’I¤B§H¡H£JÔ/€Dà�D‰L˜TÑ!Ð!Ð!Ø�D‰L˜UÑ"Ð"Ð"Ø�D‰L˜UÑ"Ð"Ð"Ø�D‰L˜TÑ!Ð!Ð!à�A‰I˜%ÑÐÐØ�D‰L˜UÑ"Ð"Ñ"r   c                  ó  — t        j                  t        j                  g d¢«      «      } t        j                  t        j                  dg«      «      }t         j
                  j                  t        j                  «       d|| g«      }|j                  t        j                  «       k(  sJ ‚|j                  «       g d¢k(  sJ ‚t         j
                  j                  t        j                  «       dd | g«      }|j                  t        j                  «       k(  sJ ‚|j                  «       g d¢k(  sJ ‚t         j
                  j                  t        j                  «       d|| gd¬«      }|j                  t        j                  «       k(  sJ ‚|j                  «       g d¢k(  sJ ‚t        j                  t        «      5  t         j
                  j                  t        j                  «       dd	d	gd¬«       d d d «       y # 1 sw Y   y xY w)
N©rm   rn   rø   é   é   rm   )rm   Nrø   rD  r   r   ©Úoffset)Nrø   rD  rA   )r   Ú	py_bufferre   Úint16rÙ   r1   Úfrom_buffersrT   rî   r.   r/   r0   )Ú
values_bufÚ	nulls_bufr"   s      r   Útest_array_from_buffersrM  Š  ss  € ä—‘œbŸh™h¢|Ó4Ó5€JÜ—‘œRŸX™X z lÓ3Ó4€IÜ
�(‰(×
Ñ
¤§¡£
¨A°	¸:Ð/FÓ
G€CØ�8‰8”r—x‘x“zÒ!Ð!Ð!Ø�=‰=‹?šoÒ-Ð-Ð-ä
�(‰(×
Ñ
¤§¡£
¨A°°jÐ/AÓ
B€CØ�8‰8”r—x‘x“zÒ!Ð!Ð!Ø�=‰=‹?šlÒ*Ð*Ð*ä
�(‰(×
Ñ
¤§¡£
¨A°	¸:Ð/FØ'(ð  ó *€Cà�8‰8”r—x‘x“zÒ!Ð!Ð!Ø�=‰=‹?šlÒ*Ð*Ð*ä	�‰”yÓ	!ñ AÜ
�‰×ÑœbŸh™h›j¨!¨b°"¨X¸aÐÔ@÷A÷ Añ Aús   Æ<8G=Ç=Hc                  ó†  — t        j                  g d¢«      } | j                  «       }t         j                  j	                  t        | «      |d   |d   |d   | j                  | j                  «      }|j                  «       g d¢k(  sJ ‚t         j                  j	                  t        j                  «       t        | «      | j                  «       | j                  | j                  «      }|j                  «       g d¢k(  sJ ‚t         j                  j	                  t        | «      |d   |d   |d   «      }|j                  «       g d¢k(  sJ ‚| dd  }|j                  «       }t         j                  j	                  t        |«      |d   |d   |d   d|j                  «      }|j                  «       g d¢k(  sJ ‚|j                  dk(  sJ ‚| dd  }|j                  «       }t         j                  j	                  t        |«      |d   |d   d d|j                  «      }|j                  «       dd	gk(  sJ ‚|j                  dk(  sJ ‚y )
N)r—   Nr˜   r³   r   r   r   )ó   aNó   bó   crÈ   )Nr˜   r³   r˜   r³   )r   r   r^   ÚStringArrayrJ  r   rÞ   rG  rî   r1   rR   )r   r^   ÚcopiedÚbinary_copyrû   s        r   Útest_string_binary_from_buffersrU  Ÿ  sþ  € Ü�H‰HÒ*Ó+€Eà�m‰m‹o€GÜ�^‰^×(Ñ(ÜˆE‹
�G˜A‘J ¨¡
¨G°A©J¸×8HÑ8HØ�‰ó€Fð ×ÑÓÒ!6Ò6Ð6Ð6ä—(‘(×'Ñ'¬¯	©	«´S¸³ZØ(-¯©«¸×9IÑ9IØ(-¯©ó6€Kð × Ñ Ó"Ò&>Ò>Ð>Ð>ä�^‰^×(Ñ(ÜˆE‹
�G˜A‘J ¨¡
¨G°A©Jó8€Fà×ÑÓÒ!6Ò6Ð6Ð6à�1�2ˆY€FØ�n‰nÓ€GÜ�^‰^×(Ñ(ÜˆF‹�W˜Q‘Z ¨¡¨W°Q©Z¸¸V¿]¹]óL€Fà×ÑÓÒ!1Ò1Ð1Ð1Ø×Ñ Ò!Ð!Ð!ð �1�2ˆY€FØ�n‰nÓ€GÜ�^‰^×(Ñ(ÜˆF‹�W˜Q‘Z ¨¡¨T°2°v·}±}óF€Fà×ÑÓ # s Ò+Ð+Ð+Ø×Ñ Ò!Ð!Ñ!r   c                  ó&  — t        j                  g d¢t        j                  «       ¬«      } | j                  «       }t         j                  j                  t        j                  «       t        | «      |«      }|j                  d¬«       |j                  «       g d¢k(  sJ ‚d}t        j                  t        |¬«      5  t         j                  j                  t        j                  «       t        | «      |dd «       d d d «       y # 1 sw Y   y xY w)	N)z String longer than 12 charactersNÚshortzLength is 12rS   Tr  znumber of buffers is at least 2ro   r   r   )r   r   Ústring_viewr^   ÚStringViewArrayrJ  r   rú   rî   r.   r/   rt   )r   r^   rS  rp   s       r   Útest_string_view_from_buffersrZ  Â  sÚ   € Ü�H‰Hò	
ô
 —‘Ó ô"€Eð �m‰m‹o€GÜ×Ñ×,Ñ,Ü
�‰Óœ#˜e›* gó/€Fà
‡O�O˜€OÔØ×ÑÓò "ò ð ð ð /€EÜ	�‰”z¨Ô	/ñ 8Ü
×Ñ×'Ñ'Ü�N‰NÓœc %›j¨'°!°A¨,ô	8÷8÷ 8ñ 8ús   Â>A DÄDÚlist_type_factoryc                 ó8  —  | t        j                  «       «      }t        j                  g d¢d g g d¢g|¬«      }|j                  |k(  sJ ‚|j	                  «       }t        j                  t        «      5  t         j                  j                  |d|d |j                   «       d d d «       t         j                  j                  t        j                  «       d||j                  d  «      }t         j                  j                  |d|d |j                   |g¬«      }|j                  |«      sJ ‚t        j                  t        «      5  t         j                  j                  |d|d |j                   ||g¬«       d d d «       y # 1 sw Y   ŒâxY w# 1 sw Y   y xY w)N©r   r   r   )r   rm   rn   rS   rm   rø   ©Úchildren)r   rI  r   rT   r^   r.   r/   rt   r1   rJ  Únum_buffersrÀ   )r[  r½   r   r^   ÚchildrS  s         r   Útest_list_from_buffersrb  Ü  sH  € ñ 
œ2Ÿ8™8›:Ó	&€BÜ�H‰H’i  rª9Ð5¸BÔ?€EØ�:‰:˜ÒÐÐà�m‰m‹o€Gä	�‰”zÓ	"ñ ?ä
�‰×Ñ˜b ! W¨_¨b¯n©nÐ%=Ô>÷?ô �H‰H×!Ñ!¤"§(¡(£*¨a°¸¿¹¸Ð1IÓJ€EÜ�X‰X×"Ñ" 2 q¨'°/°2·>±>Ð*BÈeÈWÐ"ÓU€FØ�=‰=˜ÔÐÐä	�‰”zÓ	"ñ 7ä
�‰×Ñ˜b ! W¨_¨b¯n©nÐ%=Ø(-¨u ~ð 	ô 	7÷7ð 7÷?ð ?ú÷7ð 7ús   Á4/FÅ3FÆFÆFc            	      óÌ  — t        j                  t        j                  dt        j                  «       «      t        j                  dt        j                  «       «      g«      } t        j
                  dddœd dddœg| ¬«      }|j                  «       }t        j                  t        «      5  t         j                  j                  | d	d |d
   g«       d d d «       t         j                  j                  t        j                  «       d	|d
d	 «      t         j                  j                  t        j                  «       d	|d	d  «      g}t         j                  j                  | d	|d d
 |¬«      }|j                  |«      sJ ‚t        j                  t        «      5  t         j                  j                  | d	|d   g|d d
 ¬«       d d d «       y # 1 sw Y   ŒûxY w# 1 sw Y   y xY w)Nr—   r˜   r   r5   rÍ   rn   rA   rS   r   r   r^  )r   r0  r1  rI  r  r   r^   r.   r/   rt   r1   rJ  rÀ   )r½   r   r^   r_  rS  s        r   Útest_struct_from_buffersrd  ó  s{  € Ü	�‰”B—H‘H˜S¤"§(¡(£*Ó-¬r¯x©x¸¼R¿W¹W»YÓ/GÐHÓ	I€BÜ�H‰H˜A EÑ*¨D¸ÀÑ2CÐDØô€Eà�m‰m‹o€Gä	�‰”zÓ	"ñ 9ä
�‰×Ñ˜b ! d¨G°A©JÐ%7Ô8÷9ô —‘×%Ñ%¤b§h¡h£j°!°W¸Q¸q°\ÓBÜ—‘×%Ñ%¤b§g¡g£i°°G¸A¸B°KÓ@ðB€Hä�X‰X×"Ñ" 2 q¨'°"°1¨+ÀÐ"ÓI€FØ�=‰=˜ÔÐÐä	�‰”zÓ	"ñ 5ä
�‰×Ñ˜b ! g¨a¡j \Ø'/°° |ð 	ô 	5÷5ð 5÷9ð 9ú÷5ð 5ús   Â-'GÆ+GÇGÇG#c            	      ó²  — t        j                  g d¢t        j                  «       ¬«      } t        j                  g d¢«      }t        j                  ddgd dd gg«      }ddddgd	œd
d d d	œdddd gd	œg}t         j                  j	                  | ||gg d	¢«      }|j
                  t        j                  d| j
                  fd|j
                  fd|j
                  fg«      k(  sJ ‚|j                  «       |k(  sJ ‚t        j                  t        «      5  t         j                  j	                  | ||gddg«       d d d «       t         j                  j	                  g g «      }|j
                  t        j                  g «      k(  sJ ‚|j                  «       g k(  sJ ‚t        j                  d| j
                  d¬«      }t        j                  d|j
                  «      }t        j                  d|j
                  «      }t         j                  j	                  | ||g|||g¬«      }|j
                  t        j                  |||g«      k(  sJ ‚|j
                  d   j                  rJ ‚|j                  «       |k(  sJ ‚t        j                  |||g«      }t         j                  j	                  | ||g|¬«      }|j
                  t        j                  |||g«      k(  sJ ‚|j
                  d   j                  rJ ‚|j                  «       |k(  sJ ‚t        j                  t        «      5  t         j                  j	                  | ||g||g¬«       d d d «       t         j                  j	                  g g ¬«      }|j
                  t        j                  g «      k(  sJ ‚|j                  «       g k(  sJ ‚t        j                  dt        j                  «       «      }	t        j                  t        d¬«      5  t         j                  j	                  | ||g|	||g¬«       d d d «       | ||g}
|||g}t        j                  g d¢«      }t         j                  j	                  |
||¬«      }|j                  «       d g|dd  z   k(  sJ ‚t         j                  j	                  |
g d	¢|¬«      }|j                  «       d g|dd  z   k(  sJ ‚t        j                  t        d¬«      5  t         j                  j	                  |
|g d¢¬«       d d d «       t        j                  t        d¬«      5  t         j                  j	                  |
|t        j                  g d¢«      ¬«       d d d «       t        j                  t        d¬«      5  t         j                  j	                  |
|t        j                  |g«      ¬«       d d d «       t         j                  j	                  g g |¬«      }|j!                  «       |k(  sJ ‚|j                  «       d i i g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# 1 sw Y   �Œ6xY w# 1 sw Y   ŒçxY w# 1 sw Y   Œ™xY w)N©rm   rn   rø   rS   )r6   NrA   r   r   r   rm   r6   r²   rn   rø   rA   r—   r˜   r³   F©Únullable)Úfieldsr   zint64 vs int32ro   )TFF)ri  Úmask©r  rj  zMask must be©rj  znot contain nulls)TFN)r   r   r§   ÚStructArrayrº   rT   r0  rî   r.   r/   rt   r1  rh  rõ   r0   rs   Úis_null)r—   r˜   r³   Úexpected_listr"   ÚfaÚfbÚfcÚ
structtypeÚfa2Úarraysri  rj  s                r   Útest_struct_from_arraysrv    s^  € Ü
�‰’¤§¡£Ô,€AÜ
�‰Ò"Ó#€AÜ
�‰�1�a�&˜$  D 	Ð*Ó+€Aà�e 1 a &Ñ)Ø�d Ñ&Ø�b  4˜yÑ)ð€Mô �.‰.×
$Ñ
$ a¨¨A Y²Ó
@€CØ�8‰8”r—y‘yØ
ˆq�v‰vˆ˜˜aŸf™f˜¨¨Q¯V©V }Ð5ó7ò 7ð 7ð 7à�=‰=‹?˜mÒ+Ð+Ð+ä	�‰”zÓ	"ñ :Ü
�‰×"Ñ" A q¨! 9¨s°C¨jÔ9÷:ô �.‰.×
$Ñ
$ R¨Ó
,€CØ�8‰8”r—y‘y “}Ò$Ð$Ð$Ø�=‰=‹?˜bÒ Ð Ð ô 
�‰�#�q—v‘v¨Ô	.€BÜ	�‰�#�q—v‘vÓ	€BÜ	�‰�#�q—v‘vÓ	€BÜ
�.‰.×
$Ñ
$ a¨¨A Y¸¸BÀ°|Ð
$Ó
D€CØ�8‰8”r—y‘y " b¨" Ó.Ò.Ð.Ð.Ø�x‰x˜‰{×#Ò#Ð#Ð#Ø�=‰=‹?˜mÒ+Ð+Ð+ô —‘˜B  B˜<Ó(€JÜ
�.‰.×
$Ñ
$ a¨¨A Y°ZÐ
$Ó
@€CØ�8‰8”r—y‘y " b¨" Ó.Ò.Ð.Ð.Ø�x‰x˜‰{×#Ò#Ð#Ð#Ø�=‰=‹?˜mÒ+Ð+Ð+ä	�‰”zÓ	"ñ ?Ü
�‰×"Ñ" A q¨! 9°b¸"°XÐ"Ô>÷?ô �.‰.×
$Ñ
$ R°Ð
$Ó
3€CØ�8‰8”r—y‘y “}Ò$Ð$Ð$Ø�=‰=‹?˜bÒ Ð Ð ô �(‰(�3œŸ™›
Ó
#€CÜ	�‰”zÐ)9Ô	:ñ DÜ
�‰×"Ñ" A q¨! 9°c¸2¸r°]Ð"ÔC÷Dð ��AˆY€FØ�"�bˆ\€Fä�8‰8Ò(Ó)€DÜ
�.‰.×
$Ñ
$ V°FÀÐ
$Ó
F€CØ�=‰=‹?˜t˜f }°Q°RÐ'8Ñ8Ò8Ð8Ð8ä
�.‰.×
$Ñ
$ V²?ÈÐ
$Ó
N€CØ�=‰=‹?˜t˜f }°Q°RÐ'8Ñ8Ò8Ð8Ð8ô 
�‰”y¨Ô	7ñ NÜ
�‰×"Ñ" 6¨6Ò8LÐ"ÔM÷Nô 
�‰”zÐ)<Ô	=ñ @Ü
�‰×"Ñ"Ø�F¤§¡Ò*=Ó!>ð 	#ô 	@÷@ô 
�‰”y¨Ô	7ñ ;Ü
�‰×"Ñ"Ø�F¤×!1Ñ!1°4°&Ó!9ð 	#ô 	;÷;ô
 �.‰.×
$Ñ
$ R¨°$Ð
$Ó
7€CØ�;‰;‹=˜DÒ Ð Ð Ø�=‰=‹?˜t R¨˜nÒ,Ð,Ñ,÷y:ñ :ú÷.?ñ ?ú÷Dñ Dú÷Nñ Nú÷@ð @ú÷;ð ;úsH   Ä&XÌ%'XÏ1(X'Ó%X4Ô#8YÕ>7YØXØX$Ø'X1Ø4X>ÙY
ÙYc                  óÞ   — t        j                  g d¢g d¢g«      } t        j                  t        d¬«      5  t         j
                  j                  | gdg«       d d d «       y # 1 sw Y   y xY w)Nr   rf  zExpected Arrayro   r5   )r   rs   r.   r/   r0   rm  rº   )rv   s    r   Útest_struct_array_from_chunkedrx  W  sU   € ô ×"Ñ"¢IªyÐ#9Ó:€Kä	�‰”yÐ(8Ô	9ñ ;Ü
�‰×"Ñ" K =°5°'Ô:÷;÷ ;ñ ;ús   ·#A#Á#A,rG  )r   r   c                 ó  — t        j                  g d¢«      j                  «       }t         j                  j	                  |j
                  t        |«      | z
  |j                  j                  «       |j                  | ¬«      }|| d  |k(  sJ ‚y )N)ÚoneÚtwoÚthreer{  rz  rF  )
r   r   r™   r¹   rJ  rT   r   Úindicesr^   ré   )rG  r—   r˜   s      r   Útest_dictionary_from_buffersr~  a  sr   € ä
�‰Ò6Ó7×IÑIÓK€AÜ
×Ñ×'Ñ'¨¯©´°A³°v±Ø()¯	©	×(9Ñ(9Ó(;¸Q¿\¹\Ø/5ð 	(ó 	7€Að ˆVˆWˆ:˜Š?Ð‰?r   c                  óh  — t        j                  g d¢d«      } t        j                  g d¢t        ¬«      }t        j                  g d¢«      }t        j
                  j                  | |«      }t        j
                  j                  | ||¬«      }|j                  j                  «       | j                  «       k(  sJ ‚|j                  j                  «       | j                  «       k(  sJ ‚|j                  j                  «       |j                  «       k(  sJ ‚|j                  j                  «       |j                  «       k(  sJ ‚t        t        | «      «      D ]Y  }||   j                  «       || |      k(  sJ ‚||   r||   j                  «       €Œ:J ‚||   j                  «       || |      k(  rŒYJ ‚ y )Nr]  r   rç   r|   )FFTFFFrl  ©re   rÝ   r   r   r   r¹   rº   r}  rî   rµ   ré   rF   r   r'   )r}  ré   rj  Úd1Úd2r    s         r   Útest_dictionary_from_numpyrƒ  j  sj  € ä�i‰iš	 1Ó%€GÜ—‘Ò/´vÔ>€JÜ�8‰8Ò=Ó>€Dä	×	Ñ	×	'Ñ	'¨°Ó	<€BÜ	×	Ñ	×	'Ñ	'¨°À$Ð	'Ó	G€Bà�:‰:×ÑÓ! W§^¡^Ó%5Ò5Ð5Ð5Ø�:‰:×ÑÓ! W§^¡^Ó%5Ò5Ð5Ð5Ø�=‰=×"Ñ"Ó$¨
×(9Ñ(9Ó(;Ò;Ð;Ð;Ø�=‰=×"Ñ"Ó$¨
×(9Ñ(9Ó(;Ò;Ð;Ð;ä”3�w“<Ó ò ;ˆØ�!‰u�{‰{‹} 
¨7°1©:Ñ 6Ò6Ð6Ð6à�Š7Ø�a‘5—;‘;“=Ñ(Ð(Ð(à�a‘5—;‘;“= J¨w°q©zÑ$:Ó:Ð:Ð:ñ;r   c                  óÞ  — t        j                  g d¢«      j                  d¬«      } t         j                  j	                  t        j                  g d¢«      t        j                  ddg«      «      }t
        j                  j                  |j                  d¬«      | «       t        j                  t         j                  «      5  |j                  d¬«       d d d «       t         j                  j	                  t        j                  g d¢«      t        j                  ddg«      «      }t        j                  g d	¢«      j                  d¬«      } t
        j                  j                  |j                  d¬«      | «       t        j                  t         j                  «      5  |j                  d¬«       d d d «       t         j                  j	                  t        j                  g d¢«      t        j                  d
dg«      «      }t        j                  g d¢«      j                  «       } t
        j                  j                  |j                  d¬«      | «       t
        j                  j                  |j                  d¬«      | «       t         j                  j	                  t        j                  g d¢«      t        j                  d
dg«      «      }t        j                  g d¢«      j                  d¬«      } t
        j                  j                  |j                  d¬«      | d¬«       t         j                  j	                  t        j                  g d¢«      t        j                  ddg«      «      }t        j                  g d¢«      j                  d¬«      } t
        j                  j                  |j                  d¬«      | d¬«       y # 1 sw Y   �ŒÿxY w# 1 sw Y   �Œ-xY w)N)r5   r6   Nr5   Frq   )r   r   Nr   r5   r6   T)r   r   r   r   )r5   r6   r6   r5   çffffff+@ç      &@)r…  r†  r†  r…  )r…  r†  Nr…  )Ú	equal_nanrD  rW   )rD  rW   NrD  )r   r   r]   r¹   rº   re   rg   rh   r.   r/   r  Úassert_allclose)r=   r—   ÚanonullsÚafloatÚafloat2Úaintss         r   Útest_dictionary_to_numpyr�  �  sý  € ä�x‰xÚ#óç�h˜e€hÓ$ð ô 	×Ñ×&Ñ&Ü
�‰’Ó!Ü
�‰�%˜�Ó ó	€Aô ‡J�J×!Ñ! !§*¡*¸E *Ó"BØ"*ô,ô 
�‰”r—‘Ó	'ñ (ð 	
�
‰
 $ˆ
Ô'÷(ô ×!Ñ!×-Ñ-Ü
�‰’ÓÜ
�‰�%˜�Ó ó€Hô �x‰xÚ$óç�h˜e€hÓ$ð ô ‡J�J×!Ñ! (×"3Ñ"3À5Ð"3Ó"IØ"*ô,ô 
�‰”r—‘Ó	'ñ /Ø×Ñ¨ÐÔ.÷/ô ×Ñ×+Ñ+Ü
�‰’ÓÜ
�‰�$˜�Óó€Fô �x‰xÒ0Ó1×:Ñ:Ó<€HÜ‡J�J×!Ñ! &§/¡/À /Ó"FØ"*ô,ä‡J�J×!Ñ! &§/¡/À /Ó"GØ"*ô,ô × Ñ ×,Ñ,Ü
�‰’Ó!Ü
�‰�$˜�Óó€Gô �x‰xÚ óç�h˜e€hÓ$ð ô ‡J�J×ÑØ×Ñ¨ÐÓ.ØØð ô ô ×Ñ×*Ñ*Ü
�‰’Ó!Ü
�‰�!�R�Óó€Eô �x‰xÒ(Ó)×2Ñ2À%Ð2ÓH€HÜ‡J�J×ÑØ�‰ eˆÓ,ØØð õ ÷i(ñ (ú÷$/ñ /ús   ÃOÆ$O"ÏOÏ"O,c                  ó$  — t        j                  g d¢d«      } t        j                  g d¢t        ¬«      }t	        j                  | «      }t	        j                  |«      }t        j
                  j                  ||«      }|j                  j                  «       | j                  «       k(  sJ ‚|j                  j                  «       |j                  «       k(  sJ ‚t        t        | «      «      D ]   }||   j                  «       || |      k(  rŒ J ‚ y )Nr]  r   rç   r|   r€  )r}  ré   ÚiarrÚdarrr�  r    s         r   Ú!test_dictionary_from_boxed_arraysr‘  È  sÖ   € ä�i‰iš	 1Ó%€GÜ—‘Ò/´vÔ>€Jä�8‰8�GÓ€DÜ�8‰8�JÓ€Dä	×	Ñ	×	'Ñ	'¨¨dÓ	3€Bà�:‰:×ÑÓ! W§^¡^Ó%5Ò5Ð5Ð5Ø�=‰=×"Ñ"Ó$¨
×(9Ñ(9Ó(;Ò;Ð;Ð;ä”3�w“<Ó ò 7ˆØ�!‰u�{‰{‹} 
¨7°1©:Ñ 6Ó6Ð6Ð6ñ7r   c                  ó   — t        j                  g d¢«      } t        j                  g d¢«      }t        j                  g d¢«      }t        j                  g d¢«      }t         j                  j                  | |«       t	        j
                  t         j                  «      5  t         j                  j                  ||«       d d d «       t	        j
                  t         j                  «      5  t         j                  j                  ||«       d d d «       t         j                  j                  ||d¬«       y # 1 sw Y   ŒxxY w# 1 sw Y   Œ8xY w)N©r   r   r   r   r   r   )r   rÈ   r   r¥   rç   F©Úsafe)r   r   r¹   rº   r.   r/   ÚArrowException)Úindices1Úindices2Úindices3ré   s       r   Ú'test_dictionary_from_arrays_boundscheckrš  Ù  sí   € Ü�x‰xÒ*Ó+€HÜ�x‰xš
Ó#€HÜ�x‰xšÓ%€Hä—‘Ò/Ó0€Jô ×Ñ×"Ñ" 8¨ZÔ8ä	�‰”r×(Ñ(Ó	)ñ =Ü
×Ñ×&Ñ& x°Ô<÷=ô 
�‰”r×(Ñ(Ó	)ñ =Ü
×Ñ×&Ñ& x°Ô<÷=ô
 ×Ñ×"Ñ" 8¨Z¸eÐ"ÕD÷=ð =ú÷=ð =ús   Â !D8Ã,!EÄ8EÅEc                  óØ   — t        j                  g d¢«      } t        j                  g d¢«      }t         j                  j                  | |«      }|j                  j                  d¬«       y )Nr“  rç   Tr  )r   r   r¹   rº   r}  rú   )r}  ré   r"   s      r   Útest_dictionary_indicesrœ  î  sM   € ä�h‰hÒ)Ó*€GÜ—‘Ò/Ó0€JÜ
×
Ñ
×
(Ñ
(¨°*Ó
=€CØ‡K�K×Ñ˜dÐÕ#r   )Úlist_array_typer[  c                 ó  — t        j                  g d¢d¬«      }t        j                  |d¬«      }g d¢}t        j                  |d¬«      }| j                  ||«      }t        j                  |d d |dd	 |d	d
 g |t        j                  «       «      ¬«      }|j                  |«      sJ ‚ |t        j                  dt        j                  «       «      «      }| j                  |||«      }|j                  |k(  sJ ‚|j                  j                  j                  dk(  sJ ‚g d¢}g d¢}| j                  ||«      }t        j                  |d d d |dd  g |t        j                  «       «      ¬«      }|j                  |«      sJ ‚g d¢}	| j                  |	|«      }t        j                  |d d |dd  d g |t        j                  «       «      ¬«      }|j                  |«      sJ ‚g d¢}t        j                  d	«      }t        j                  t        «      5  | j                  ||«       d d d «       g d¢}t        t        d«      «      }| j                  ||«      }t        j                  t        «      5  |j!                  d¬«       d d d «        |t        j                  «       «      }t        j                  t"        «      5  | j                  |||¬«       d d d «       y # 1 sw Y   Œ¸xY w# 1 sw Y   ŒfxY w# 1 sw Y   y xY w)N©r   r   rn   rÊ   Úi4r|   rõ   rS   ©rO  rP  rQ  ó   dó   eó   fó   gó   hrR   r   rn   rÊ   Úname©r   Nr   rø   ©rO  rP  rQ  r¢  r£  r¤  )r   r   Nrø   )r   r   r7   )r   r   r   rø   rø   Tr  )re   r   r   rº   rR   rÀ   r1  rT   Úvalue_fieldr§  rf   r.   r/   rt   r  rF   rú   r0   )
r�  r[  Úoffsets_arrÚoffsetsÚpyvaluesrž   r<   r=   ÚtypÚoffsets2s
             r   Útest_list_from_arraysr°  ö  s�  € ô
 —(‘(š<¨tÔ4€KÜ�h‰h�{¨Ô1€GÚ?€HÜ�X‰X�h XÔ.€Fà×(Ñ(¨°&Ó9€FÜ�x‰x˜ " 1˜ x°°! }°h¸qÀ°mÐDÙ.¬r¯y©y«{Ó;ô=€Hð �=‰=˜Ô"Ð"Ð"ñ œBŸH™H V¬R¯Y©Y«[Ó9Ó
:€CØ×(Ñ(¨°&¸#Ó>€FØ�;‰;˜#ÒÐÐØ�;‰;×"Ñ"×'Ñ'¨6Ò1Ð1Ð1ò €GÚ1€Fà×(Ñ(¨°&Ó9€FÜ�x‰x˜  ˜ T¨6°!°"¨:Ð6Ù.¬r¯y©y«{Ó;ô=€Hð �=‰=˜Ô"Ð"Ð"ò €HØ×(Ñ(¨°6Ó:€FÜ�x‰x˜  ˜ V¨A¨B Z°Ð6Ù.¬r¯y©y«{Ó;ô=€Hà�=‰=˜Ô"Ð"Ð"ò €GÜ�Y‰Y�q‹\€FÜ	�‰”zÓ	"ñ 5Ø×#Ñ# G¨VÔ4÷5ò €GÜ”%˜“(‹^€FØ×(Ñ(¨°&Ó9€FÜ	�‰”zÓ	"ñ #Ø�‰˜TˆÔ"÷#ñ œBŸI™I›KÓ
(€CÜ	�‰”yÓ	!ñ ?Ø×#Ñ# G¨V¸#Ð#Ô>÷?ð ?÷5ð 5ú÷#ð #ú÷
?ð ?ús$   ÈK%É9K1ËK=Ë%K.Ë1K:Ë=Lr"   r   c                 óÚ   — t        j                  | |t        j                  «       «      «      }| j                  |j                  |j
                  |j                  «       ¬«      }||k(  sJ ‚y )Nrl  )r   r   rÜ   rº   r¬  rž   rn  )r�  r[  r"   Úreconstructed_arrs       r   Ú!test_list_array_types_from_arraysr³  0  sZ   € ô �(‰(�3Ñ)¬"¯'©'«)Ó4Ó
5€CØ'×3Ñ3Ø�‰�S—Z‘Z c§k¡k£mð 4ó 5ÐàÐ#Ò#Ð#Ñ#r   c                 óv  — t        j                  dgd dd gdgg |t        j                  «       «      «      }t        j                  g d¢«      }| j                  |j                  |j
                  «      }|j                  «       dgg dd gdggk(  sJ ‚| j                  ||j
                  «      }||k(  sJ ‚| j                  |j                  |j
                  |j                  «       ¬«      }||k(  sJ ‚t        j                  t        d¬«      5  | j                  ||j
                  |j                  «       ¬«       d d d «       |dd  }d}t        j                  t        |¬«      5  | j                  |j                  |j
                  |j                  «       ¬«       d d d «       y # 1 sw Y   ŒkxY w# 1 sw Y   y xY w)Nr   )r   Nr   r   rm   rl  zAmbiguous to specify both ro   r   ú-Null bitmap with offsets slice not supported.)r   r   rÜ   rº   r¬  rž   rî   rn  r.   r/   rt   ÚNotImplementedError)r�  r[  r"   r¬  r²  Ú	arr_slicerw   s          r   Ú&test_list_array_types_from_arrays_failr¸  B  s¤  € ô �(‰(�Q�C˜  4˜y¨1¨#Ð.Ñ0AÄ"Ç'Á'Ã)Ó0LÓ
M€CÜ�h‰hÒ)Ó*€Gð (×3Ñ3°C·K±KÀÇÁÓLÐØ×&Ñ&Ó(¨a¨S°"°q¸$°iÀ!ÀÐ,EÒEÐEÐEð (×3Ñ3°G¸S¿Z¹ZÓHÐØÐ#Ò#Ð#Ð#Ø'×3Ñ3°C·K±KØ47·J±JØ9<¿¹»ð 4ó HÐð Ð#Ò#Ð#Ð#ô 
�‰”zÐ)EÔ	Fñ MØ×#Ñ# G¨S¯Z©Z¸c¿k¹k»mÐ#ÔL÷Mð �A�B�€IØ
9€CÜ	�‰Ô*°#Ô	6ñ KØ×#Ñ#Ø×Ñ˜y×/Ñ/°i×6GÑ6GÓ6Ið 	$ô 	K÷Kð K÷Mð Mú÷Kð Kús   Ä-F#Å#7F/Æ#F,Æ/F8c                  ó  — t        j                  t        j                  «       t        j                  «       «      } t        j                  ddig| ¬«      }|j	                  t        j                  t        j
                  «       t        j                  «       «      «      }t        j                  t        j
                  «       t        j                  «       «      }t        j                  ddig|¬«      }|j                  |«      sJ ‚y )Nr   r   rS   )r   Úmap_r§   r   Úcastrõ   rÀ   )Útr"   r<   Ú
t_expectedr=   s        r   Útest_map_castr¾  f  s�   € ä
�‰”—‘“
œBŸH™H›JÓ'€AÜ
�(‰(�Q˜�F�8 !Ô
$€CØ�X‰X”b—g‘gœbŸh™h›j¬"¯(©(«*Ó5Ó6€Fä—‘œŸ™›¤R§X¡X£ZÓ0€JÜ�x‰x˜!˜Q˜˜ zÔ2€Hà�=‰=˜Ô"Ð"Ñ"r   c                  ó¼  — t        j                  t        j                  ddd¬«      d«      } t        j                  ddgdgg| ¬	«      }|j                  j
                  t        j                  dt        j                  «       d¬«      k(  sJ ‚|j                  j                  t        j                  d
t        j                  «       «      k(  sJ ‚t        |«      dk(  sJ ‚y )Nr§  rÉ   Frg  r§   ©r—   r   ©r˜   r   ©r³   r   rS   rã   r   )
r   rº  r1  r   rT   Ú	key_fieldr  Ú
item_fieldr§   r   )r¼  r"   s     r   Útest_map_labelledrÅ  r  sŸ   € ä
�‰”—‘˜ °EÔ:¸GÓD€AÜ
�(‰(�X˜xÐ(¨8¨*Ð5¸AÔ
>€CØ�8‰8×Ñ¤§¡¨&´"·'±'³)ÀeÔ!LÒLÐLÐLØ�8‰8×Ñ¤"§(¡(¨7´B·H±H³JÓ"?Ò?Ð?Ð?Üˆs‹8�qŠ=Ð‰=r   c                  óz  — t        j                  ddgdggt        j                  t        j                  «       t        j                  «       «      «      } t        j                  dddœddigt        j                  t        j                  «       t        j                  «       «      «      }| j                  |«      sJ ‚y )	NrÀ  rÁ  rÂ  r   r   rÍ   r³   r   )r   r   rº  rÉ   r§   rÀ   )Útup_arrÚdict_arrs     r   Útest_map_from_dictrÉ  {  s„   € ä�h‰h˜ 8Ð,¨x¨jÐ9Ü—w‘wœrŸy™y›{¬B¯H©H«JÓ7ó9€Gä�x‰x˜q qÑ)¨C°¨8Ð4ÜŸ™¤§	¡	£¬R¯X©X«ZÓ8ó:€Hð �>‰>˜(Ô#Ð#Ñ#r   c                  óÒ  — t        j                  g d¢d¬«      } t        j                  | d¬«      }g d¢}t        t	        t        |«      «      «      }t        t        ||«      «      }|d d |dd |dd	 g}t        j                  |d
¬«      }t        j                  |d¬«      }t        j                  j                  |||«      }t        j                  |t        j                  t        j                  «       t        j                  «       «      ¬«      }	|j                  |	«      sJ ‚g d¢}g d¢}g d¢}t        t        ||«      «      }|d d d |dd  g}t        j                  |d
¬«      }t        j                  |d¬«      }t        j                  j                  |||«      }t        j                  |t        j                  t        j                  «       t        j                  «       «      ¬«      }	|j                  |	«      sJ ‚t        j                  j                  |||t        j                  |j                  |j                  «      «      }|j                  |	«      sJ ‚t        j                  t        j                   d¬«      5  t        j                  j                  |||t        j"                  «       «       d d d «       t        j                  t        j                   d¬«      5  t        j                  j                  |||t        j                  |j                  t        j$                  «       «      «       d d d «       t        j                  j                  g d¢||t        j                  |j                  |j                  «      t        j                  g d¢t        j&                  «       ¬«      ¬«      }|j(                  dk(  sJ ‚|j                  |	«      sJ ‚t        j                  j                  g d¢||t        j                  g d¢t        j&                  «       ¬«      ¬«      }|j                  |	«      sJ ‚g d¢}d d |dd  g}t        j                  j                  g d¢||t        j                  |j                  |j                  «      t        j                  g d¢t        j&                  «       ¬«      ¬«      }t        j                  |t        j                  t        j                  «       t        j                  «       «      ¬«      }	|j(                  dk(  sJ ‚|j                  |	«      sJ ‚d}
t        j                  t        j*                  |
¬«      5  t        j                  j                  |||t        j                  |j                  |j                  «      t        j                  g d¢t        j&                  «       ¬«      ¬«       d d d «       d}t        j                  g d¢t        j                  «       «      }t        j                  t        j,                  |¬«      5  t        j                  j                  |j/                  d«      ||t        j                  |j                  |j                  «      t        j                  g d¢t        j&                  «       ¬«      ¬«       d d d «       g d¢}t        j0                  d«      }t        j0                  d«      }t        j                  j                  |||«      }t        j                  t2        «      5  t        j                  j                  |dgz   ||«       d d d «       t        j                  t2        «      5  t        j                  j                  ||t        j4                  ||g«      «       d d d «       t        |«      d d d gz   }t        |«      t        |«      k(  sJ ‚t        j                  t2        «      5  t        j                  j                  |||«       d d d «       t        j                  |t        j                  «       «      }t        j                  j                  |j/                  d«      ||«      }t        j                  j                  g d¢||«      }	|j                  |	«      sJ ‚|j6                  dk(  sJ ‚|	j6                  dk(  sJ ‚t        j                  g d¢t        j                  «       «      }t        j                  j                  |j/                  d«      t        j                  g t        j"                  «       «      t        j                  g t        j"                  «       «      «      }t        j                  j                  g d¢t        j                  g t        j"                  «       «      t        j                  g t        j"                  «       «      «      }	|j                  |	«      sJ ‚|j6                  dk(  sJ ‚|	j6                  dk(  sJ ‚y # 1 sw Y   �ŒVxY w# 1 sw Y   �ŒãxY w# 1 sw Y   �ŒYx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   �ŒSxY w) NrŸ  r   r|   rõ   rS   r¡  r   rn   rÊ   rR   r¨  r©  )r   r   r   Nrm   rn   zExpected map type, got stringro   zMismatching map items type©r   r   r   rø   ©FTFrl  r   )r   NNrø   )TTFz=Ambiguous to specify both validity map and offsets with nullsrµ  )r   r   r   rn   rø   rÈ   ©r   r   rn   r   )r   r   r   r   r   r   )r   r   r   r   r   )re   r   r   r  rF   r   r&  ÚMapArrayrº   rº  rR   rõ   rÀ   rT   r.   r/   ÚArrowTypeErrorrÉ   r§   Úbool_rÞ   r  ÚArrowNotImplementedErrorrY   rf   rt   ÚconcatenaterG  )r«  r¬  ÚpykeysÚpyitemsÚpypairsÚ	pyentriesÚkeysÚitemsr<   r=   Úmsg1Úmsg2r»   Úkeys_with_nulls                 r   Útest_map_from_arraysrÜ  …  s¡  € ä—(‘(š<¨tÔ4€KÜ�h‰h�{¨Ô1€GÚ=€FÜ”5œ˜V›Ó%Ó&€GÜ”3�v˜wÓ'Ó(€GØ˜˜!�˜g a¨˜l¨G°A°a¨LÐ9€IÜ�8‰8�F Ô*€DÜ�H‰H�W 4Ô(€Eä�[‰[×$Ñ$ W¨d°EÓ:€FÜ�x‰x˜	¬¯©´·	±	³¼R¿X¹X»ZÓ(HÔI€Hà�=‰=˜Ô"Ð"Ð"ò €GÚ1€FÚ#€GÜ”3�v˜wÓ'Ó(€GØ˜˜!�˜d G¨A¨B KÐ0€IÜ�8‰8�F Ô*€DÜ�H‰H�W 4Ô(€Eä�[‰[×$Ñ$ W¨d°EÓ:€FÜ�x‰x˜	¬¯©´·	±	³¼R¿X¹X»ZÓ(HÔI€Hà�=‰=˜Ô"Ð"Ð"ô �[‰[×$Ñ$ W¨d°E¼2¿7¹7Ø�	‰	Ø�
‰
ó<ó €Fð �=‰=˜Ô"Ð"Ð"ô 
�‰”r×(Ñ(Ð0OÔ	Pñ CÜ
�‰×Ñ ¨¨u´b·i±i³kÔB÷Cô 
�‰”r×(Ñ(Ð0LÔ	Mñ Ü
�‰×Ñ ¨¨u´b·g±gØ�I‰Iä�H‰H‹Jó7
ô 	÷ô �[‰[×$Ñ$¢\°4¸ÄÇÁØ�	‰	Ø�
‰
óAô �X‰XÒ*´·±³Ô<ð %ó €Fð
 ×Ñ Ò!Ð!Ð!Ø�=‰=˜Ô"Ð"Ð"ô �[‰[×$Ñ$¢\°4¸Ü*,¯(©(Ò3GÜ8:¿¹»
ô+Dð %ó '€Fð �=‰=˜Ô"Ð"Ð"ò !€GØ�t˜W Q R˜[Ð)€Iä�[‰[×$Ñ$¢\°4¸ÄÇÁØ�	‰	Ø�
‰
óAô �X‰XÒ)´·±³
Ô;ð %ó €Fô
 �x‰x˜	¬¯©´·	±	³¼R¿X¹X»ZÓ(HÔI€HØ×Ñ Ò!Ð!Ð!Ø�=‰=˜Ô"Ð"Ð"ð K€DÜ	�‰”r—‘¨dÔ	3ñ 
Ü
�‰×Ñ ¨¨u´b·g±gØ�I‰IØ�J‰Jó7ô —‘Ò.´R·X±X³ZÔ@ð 	 ô 	
÷
ð ;€DÜ�h‰h’|¤R§X¡X£ZÓ0€GÜ	�‰”r×2Ñ2¸$Ô	?ñ 
Ü
�‰×Ñ §¡¨aÓ 0°$¸¼r¿w¹wØ�I‰IØ�J‰Jó@ô —‘Ò.´R·X±X³ZÔ@ð 	 ô 	
÷
ò €GÜ�9‰9�Q‹<€DÜ�I‰I�a‹L€EÜ
�‰×Ñ ¨¨uÓ5€Aô 
�‰”zÓ	"ñ <Ü
�‰×Ñ ¨1¨#¡¨t°UÔ;÷<ô 
�‰”zÓ	"ñ OÜ
�‰×Ñ ¨¬r¯~©~¸uÀe¸nÓ/MÔN÷Oô ˜$“Z  �_¨ vÑ-€NÜˆ~Ó¤# e£*Ò,Ð,Ð,Ü	�‰”zÓ	"ñ @Ü
�‰×Ñ ¨¸Ô?÷@ô �h‰h�w¤§¡£
Ó+€GÜ�[‰[×$Ñ$ W§]¡]°1Ó%5°t¸UÓC€FÜ�{‰{×&Ñ&¢y°$¸Ó>€Hà�=‰=˜Ô"Ð"Ð"Ø�=‰=˜AÒÐÐØ�?‰?˜aÒÐÐä�h‰hÒ)¬2¯8©8«:Ó6€GÜ�[‰[×$Ñ$Ø�‰�aÓÜ
�‰�”R—Y‘Y“[Ó!Ü
�‰�”R—Y‘Y“[Ó!ó€Fô
 �{‰{×&Ñ&ÚÜ
�‰�”R—Y‘Y“[Ó!Ü
�‰�”R—Y‘Y“[Ó!ó€Hð
 �=‰=˜Ô"Ð"Ð"Ø�=‰=˜AÒÐÐØ�?‰?˜aÒÐÑ÷ICñ Cú÷ñ ú÷L
ñ 
ú÷
ñ 
ú÷<ñ <ú÷Oñ Oú÷@ñ @úsW   Ê5hË'AhÕA6h(Ø*Bh5Ü&iÝ&7iß)"ièhèh%è(h2è5h?éiéiéi&c                  ó¼	  — t        j                  t        d«      t        j                  «       «      } t         j                  j                  | d«      }|j                  «       g d¢g d¢g d¢gk(  sJ ‚|j                  j                  t        j                  t        j                  «       d«      «      sJ ‚t        j                  t        j                  dt        j                  «       «      d«      }t         j                  j                  | |¬«      }|j                  «       g d¢g d¢g d¢gk(  sJ ‚|j                  j                  |«      sJ ‚|j                  j                  j                  dk(  sJ ‚t         j                  j                  | |t        j                  g d¢«      ¬	«      }|j                  «       g d¢d g d¢gk(  sJ ‚t         j                  j                  | dt        j                  g d¢«      ¬
«      }|j                  «       g d¢d g d¢gk(  sJ ‚t        j                  t        «      5  t         j                  j                  | d«       d d d «       t        j                  t        «      5  t         j                  j                  t        j                  g t        j                  «       «      d«       d d d «       t        j                  t        «      5  t         j                  j                  | d«       d d d «       t        j                  t        j                  «       d«      }t        j                  t        «      5  t         j                  j                  | |¬«       d d d «       t        j                  t        j                   «       d«      }t        j                  t"        «      5  t         j                  j                  | |¬«       d d d «       t        j                  t        «      5  t         j                  j                  | «       d d d «       t        j                  t        j                  «       d«      }t        j                  t        «      5  t         j                  j                  | d|¬«       d d d «       y # 1 sw Y   �Œ8x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   ŒëxY w# 1 sw Y   Œ¶xY w# 1 sw Y   y xY w)Né   rm   r¥   rC  )rÊ   rÌ   r7   rW   r§  rS   rÌ  ©rT   rj  )Ú	list_sizerj  éüÿÿÿr   rn   )rà  rT   )r   r   rF   r§   ÚFixedSizeListArrayrº   rî   rT   rÀ   r  r1  rª  r§  r.   r/   rt   r°   r0   )rž   r<   r®  s      r   Ú test_fixed_size_list_from_arraysrã    s   € Ü�X‰X”e˜B“i¤§¡£Ó,€FÜ×"Ñ"×.Ñ.¨v°qÓ9€FØ×ÑÓ¢,²ºnÐ!MÒMÐMÐMØ�;‰;×ÑœbŸh™h¤r§x¡x£z°1Ó5Ô6Ð6Ð6ä
�(‰(”2—8‘8˜F¤B§H¡H£JÓ/°Ó
3€CÜ×"Ñ"×.Ñ.¨v¸CÐ.Ó@€FØ×ÑÓ¢,²ºnÐ!MÒMÐMÐMØ�;‰;×Ñ˜cÔ"Ð"Ð"Ø�;‰;×"Ñ"×'Ñ'¨6Ò1Ð1Ð1ä×"Ñ"×.Ñ.¨vØ47Ü46·H±HÒ=QÓ4Rð /ó T€Fð ×ÑÓ¢,°²nÐ!EÒEÐEÐEä×"Ñ"×.Ñ.¨vØ9:Ü46·H±HÒ=QÓ4Rð /ó T€Fð ×ÑÓ¢,°²nÐ!EÒEÐEÐEô 
�‰”zÓ	"ñ 6Ü
×Ñ×)Ñ)¨&°"Ô5÷6ô 
�‰”zÓ	"ñ Gä
×Ñ×)Ñ)¬"¯(©(°2´r·x±x³zÓ*BÀAÔF÷Gô 
�‰”zÓ	"ñ 5ä
×Ñ×)Ñ)¨&°!Ô4÷5ô �(‰(”2—8‘8“:˜qÓ
!€CÜ	�‰”zÓ	"ñ <Ü
×Ñ×)Ñ)¨&°sÐ)Ô;÷<ô �(‰(”2—:‘:“< Ó
#€CÜ	�‰”yÓ	!ñ <Ü
×Ñ×)Ñ)¨&°sÐ)Ô;÷<ô 
�‰”zÓ	"ñ 2Ü
×Ñ×)Ñ)¨&Ô1÷2ô �(‰(”2—8‘8“:˜qÓ
!€CÜ	�‰”zÓ	"ñ IÜ
×Ñ×)Ñ)¨&¸AÀCÐ)ÔH÷Ið I÷36ñ 6ú÷Gñ Gú÷5ñ 5ú÷
<ñ <ú÷
<ð <ú÷2ð 2ú÷Ið IúsU   È/!RÉ1ARË!R Í"R-Î."R:Ï1 SÑ#SÒRÒRÒ R*Ò-R7Ò:SÓSÓSc                  ó²  — t        j                  g d¢t        j                  «       «      } t        j                  g d¢«      }t         j                  j	                  || «      }|j                  «       ddgddggk(  sJ ‚|j                  j                  t        j                  t        j                  «       «      «      sJ ‚t        j                  g d¢«      }t         j                  j	                  || «      }|j                  «       ddgd ddggk(  sJ ‚t        j                  t        «      5  t         j                  j	                  t        j                  g d¢«      | «       d d d «       t        j                  t        «      5  t         j                  j	                  t        j                  g d	¢«      | «       d d d «       y # 1 sw Y   ŒaxY w# 1 sw Y   y xY w)
N©r   r   r   rm   )r   r   rm   r   r   r   rm   )r   Nr   rm   )rÈ   r   rm   )r   r   rn   )r   r   r§   Ú	ListArrayrº   rî   rT   rÀ   r  r.   r/   rt   )rž   r¬  r<   s      r   Útest_variable_list_from_arraysrç  F  sV  € Ü�X‰X’l¤B§H¡H£JÓ/€FÜ�h‰h’yÓ!€GÜ�\‰\×%Ñ% g¨vÓ6€FØ×ÑÓ 1 a &¨1¨a¨&Ð!1Ò1Ð1Ð1Ø�;‰;×ÑœbŸh™h¤r§x¡x£zÓ2Ô3Ð3Ð3ä�h‰h’Ó'€GÜ�\‰\×%Ñ% g¨vÓ6€FØ×ÑÓ 1 a &¨$°°A°Ð!7Ò7Ð7Ð7ô 
�‰”zÓ	"ñ ?Ü
�‰× Ñ ¤§¡ª*Ó!5°vÔ>÷?ô 
�‰”zÓ	"ñ >Ü
�‰× Ñ ¤§¡ª)Ó!4°fÔ=÷>ð >÷?ð ?ú÷>ð >ús   Ä+6GÆ6GÇG
ÇGc            
      óˆ  ‡‡‡‡— t        j                  g d¢d¬«      Št        j                  g d¢d¬«      Št        j                  g d¢d¬«      } t        j                  g d¢d¬«      }t        j                  g d	¢d
¬«      Šg d¢Šˆˆˆˆfd„} |t         j                  j                  | ‰‰‰g«      ddgddg| ¬«        |t         j                  j                  | ‰‰‰gddg«      ddgddg| ¬«        |t         j                  j                  |‰‰‰gddg¬«      ddgddg|¬«        |t         j                  j                  |‰‰‰gddgddg«      ddgddg|¬«       t         j                  j                  |‰‰‰g«      }t	        j
                  t         j                  «      5  |j                  d¬«       d d d «       t         j                  j                  | ‰‰‰gddg¬«      }t	        j
                  t         j                  «      5  |j                  d¬«       d d d «       t        j                  g d¢d
¬«      }t         j                  j                  | |‰‰g«      }t	        j
                  t         j                  «      5  |j                  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)N©rO  rP  rQ  r¢  rR   rS   r   r§   ©r   r   r   r   r   r   r   rÜ   ©rW   rE  rW   rW   rE  rE  rW   )r   r   r   r   r   r   r   rõ   ©rO  r   rP  rQ  r   r   r¢  c                 óV  •— | j                  d¬«       t        | j                  j                  «      D �cg c]  }| j                  |   j                  ‘Œ }}||k(  sJ ‚| j                  j
                  dk(  sJ ‚| j                  j                  |k(  sJ ‚| j                  «       ‰k(  sJ ‚|j                  | j                  «      sJ ‚‰	j                  | j                  «      sJ ‚| j                  d«      j                  ‰«      sJ ‚| j                  d«      j                  ‰«      sJ ‚t        j                  t        «      5  | j                  d«       d d d «       t        j                  t        «      5  | j                  d«       d d d «       y c c}w # 1 sw Y   ŒBxY w# 1 sw Y   y xY w)NTr  Údenser   r   rÈ   r   )rú   rF   rT   Ú
num_fieldsr§  ÚmodeÚ
type_codesrî   rÀ   r¬  r1  r.   r/   ÚKeyError)
r<   Úexpected_field_namesÚexpected_type_codesÚexpected_type_code_valuesr    Úactual_field_namesrR   r§   Úpy_valueÚvalue_offsetss
         €€€€r   Úcheck_resultz+test_union_from_dense.<locals>.check_resulta  st  ø€ à�‰˜TˆÔ"ä',¨V¯[©[×-CÑ-CÓ'DöFØ"#ð %Ÿk™k¨!™n×1Ó1ð FÐð Fà!Ð%9Ò9Ð9Ð9Ø�{‰{×Ñ 7Ò*Ð*Ð*Ø�{‰{×%Ñ%Ð)<Ò<Ð<Ð<Ø×ÑÓ! XÒ-Ð-Ð-Ø(×/Ñ/°×0AÑ0AÔBÐBÐBØ×#Ñ# F§N¡NÔ3Ð3Ð3Ø�|‰|˜A‹×%Ñ% fÔ-Ð-Ð-Ø�|‰|˜A‹×%Ñ% eÔ,Ð,Ð,Ü�]‰]œ8Ó$ñ 	Ø�L‰L˜Ô÷	ä�]‰]œ8Ó$ñ 	Ø�L‰L˜ŒO÷	ð 	ùòF÷	ð 	ú÷	ð 	ús   µ FÅ FÅ3FÆFÆF(r©   rª   r   r   ©ró  rô  rõ  ÚbinÚintrW   rE  ©rñ  Tr  )r   r   r   r   r   r   rm   )r   r   Ú
UnionArrayÚ
from_denser.   r/   r  rú   )	ÚtypesÚlogical_typesrù  r"   Úbad_offsetsrR   r§   r÷  rø  s	        @@@@r   Útest_union_from_denser  Y  s|  û€ Ü�X‰XÒ.°XÔ>€FÜ�H‰H’Y WÔ-€EÜ�H‰HÒ*°Ô8€EÜ—H‘HÒ9ÀÔG€MÜ—H‘HÒ2¸ÔA€MÚ0€H÷ñ& ”—‘×)Ñ)¨%°Ø+1°5¨/ó;à'*¨C jØ&'¨ VØ+0õ	2ñ ”—‘×)Ñ)¨%°Ø+1°5¨/Ø+0°%¨.ó:ð (-¨e nØ&'¨ VØ+0õ2ñ ”—‘×)Ñ)¨-¸Ø+1°5¨/Ø68¸"°Xð *ó ?ð (+¨C jØ&(¨" XØ+8õ:ñ ”—‘×)Ñ)¨-¸Ø+1°5¨/Ø+0°%¨.¸2¸r¸(óDð (-¨e nØ&(¨" XØ+8õ:ô �-‰-×
"Ñ
" =°-Ø$*¨E ?ó4€Cä	�‰”r—‘Ó	'ñ  Ø�‰˜$ˆÔ÷ ä
�-‰-×
"Ñ
" 5¨-¸&À%¸Ø/1°2¨hð #ó 8€Cä	�‰”r—‘Ó	'ñ  Ø�‰˜$ˆÔ÷ ô —(‘(Ò0°wÔ?€KÜ
�-‰-×
"Ñ
" 5¨+¸À°Ó
G€CÜ	�‰”r—‘Ó	'ñ  Ø�‰˜$ˆÔ÷ ð  ÷ ð  ú÷ ð  ú÷ ð  ús$   Æ%J È
J,ÊJ8Ê J)Ê,J5Ê8Kc            	      óô  ‡‡‡— t        j                  g d¢d¬«      Št        j                  g d¢d¬«      Št        j                  g d¢d¬«      } t        j                  g d¢d¬«      }g d	¢Šˆˆˆfd
„} |t         j                  j                  | ‰‰g«      ddgddg| ¬«        |t         j                  j                  | ‰‰gddg«      ddgddg| ¬«        |t         j                  j                  |‰‰gddg¬«      ddgddg|¬«        |t         j                  j                  |‰‰gddgddg«      ddgddg|¬«       t         j                  j                  |‰‰g«      }t	        j
                  t         j                  «      5  |j                  d¬«       d d d «       t         j                  j                  | ‰‰gddg¬«      }t	        j
                  t         j                  «      5  |j                  d¬«       d d d «       t	        j
                  t         j                  «      5  t         j                  j                  |‰‰dd  g«      }d d d «       y # 1 sw Y   Œ¿xY w# 1 sw Y   ŒgxY w# 1 sw Y   y xY w)N)rO  ó    rP  rQ  r  r  r¢  rR   rS   )r   r   r   r   r   r   r   r§   rê  rÜ   rë  rì  c                 ó¤  •— | j                  d¬«       | j                  «       ‰k(  sJ ‚t        | j                  j                  «      D �cg c]  }| j                  |   j
                  ‘Œ }}||k(  sJ ‚| j                  j                  dk(  sJ ‚| j                  j                  |k(  sJ ‚|j                  | j                  «      sJ ‚| j                  d«      j                  ‰«      sJ ‚| j                  d«      j                  ‰«      sJ ‚t        j                  t        j                  «      5  | j                   d d d «       t        j                  t        «      5  | j                  d«       d d d «       t        j                  t        «      5  | j                  d«       d d d «       y c c}w # 1 sw Y   ŒuxY w# 1 sw Y   ŒNxY w# 1 sw Y   y xY w)NTr  Úsparser   r   rÈ   r   )rú   rî   rF   rT   rï  r§  rð  rñ  rÀ   r1  r.   r/   r   rÏ  r¬  rò  )	r<   ró  rô  rõ  r    rö  rR   r§   r÷  s	         €€€r   rù  z,test_union_from_sparse.<locals>.check_result«  sŠ  ø€ à�‰˜TˆÔ"Ø×ÑÓ! XÒ-Ð-Ð-ä',¨V¯[©[×-CÑ-CÓ'DöFØ"#ð %Ÿk™k¨!™n×1Ó1ð FÐð Fà!Ð%9Ò9Ð9Ð9Ø�{‰{×Ñ 8Ò+Ð+Ð+Ø�{‰{×%Ñ%Ð)<Ò<Ð<Ð<Ø(×/Ñ/°×0AÑ0AÔBÐBÐBØ�|‰|˜A‹×%Ñ% fÔ-Ð-Ð-Ø�|‰|˜A‹×%Ñ% eÔ,Ð,Ð,Ü�]‰]œ2×,Ñ,Ó-ñ 	Ø�NŠN÷	ä�]‰]œ8Ó$ñ 	Ø�L‰L˜Ô÷	ä�]‰]œ8Ó$ñ 	Ø�L‰L˜ŒO÷	ð 	ùòF÷	ð 	ú÷	ð 	ú÷	ð 	ús*   Á
 F)Ä-F.ÅF:ÆGÆ.F7Æ:GÇGr©   rª   r   r   rú  rû  rü  rW   rE  rý  Tr  )r   r   rþ  Úfrom_sparser.   r/   r  rú   )r   r  rù  r"   rR   r§   r÷  s       @@@r   Útest_union_from_sparser	  £  sB  ú€ Ü�X‰XÒ@Ø#ô%€Fä�H‰HÒ*°Ô9€EÜ�H‰HÒ*°Ô8€EÜ—H‘HÒ9ÀÔG€MÚ0€Höñ( ”—‘×*Ñ*¨5°6¸5°/ÓBØ'*¨C jØ&'¨ VØ+0õ2ñ ”—‘×*Ñ*¨5°6¸5°/Ø,1°5¨>ó;à',¨e nØ&'¨ VØ+0õ	2ñ ”—‘×*Ñ*¨=¸6À5¸/Ø79¸2°hð +ó @à'*¨C jØ&(¨" XØ+8õ	:ñ ”—‘×*Ñ*¨=¸6À5¸/Ø,1°5¨>Ø,.°¨8ó5ð (-¨e nØ&(¨" XØ+8õ:ô �-‰-×
#Ñ
# M°F¸E°?Ó
C€CÜ	�‰”r—‘Ó	'ñ  Ø�‰˜$ˆÔ÷ ä
�-‰-×
#Ñ
# E¨F°E¨?Ø02°B¨xð $ó 9€Cä	�‰”r—‘Ó	'ñ  Ø�‰˜$ˆÔ÷ ô 
�‰”r—‘Ó	'ñ LÜ�m‰m×'Ñ'¨¸ÀÀaÀbÀ	Ð7JÓKˆ÷Lð L÷ ð  ú÷ ð  ú÷Lð Lús$   ÆIÇ)I"È'&I.ÉIÉ"I+É.I7c            	      óˆ  — t         j                  j                  t        j                  g d¢t        j                  «       ¬«      t        j                  g d¢«      t        j                  g d¢«      g«      } | j                  «       g d¢k(  sJ ‚t         j                  j                  t        j                  g d¢t        j                  «       ¬«      t        j                  g d¢t        j                  «       ¬«      t        j                  g d¢«      t        j                  g d	¢«      g«      } | j                  «       g d
¢k(  sJ ‚y )N)r   r   r   r   r   rS   )r­   çš™™™™™ñ?Nçffffff
@gš™™™™™@)TNFTF)r­   NNr  F)r   r   r   r   r   r   r   )r   r   r   r   r   r   r   )r­   r  Nr  )TNF)r­   Tr  Nr  NF)r   rþ  r  r   rÜ   rî   rÿ  rõ   r+   s    r   Ú%test_union_array_to_pylist_with_nullsr  è  sÔ   € ä
�-‰-×
#Ñ
#Ü
�‰’¤r§w¡w£yÔ1ä�H‰HÒ/Ó0Ü�H‰HÒ5Ó6ð	
ó€Cð �=‰=‹?Ò;Ò;Ð;Ð;ä
�-‰-×
"Ñ
"Ü
�‰Ò&¬R¯W©W«YÔ7Ü
�‰Ò&¬R¯X©X«ZÔ8ä�H‰HÒ*Ó+Ü�H‰HÒ(Ó)ð	
ó€Cð �=‰=‹?ÒFÒFÐFÑFr   c                  óì  — t         j                  j                  t        j                  g d¢t        j                  «       ¬«      t        j                  g d¢«      t        j                  g d¢«      g«      } | dd  j                  «       g d¢k(  sJ ‚t        j                  g d¢d¬«      }t        j                  g d	¢d
¬«      }t        j                  g d¢d¬«      }t        j                  g d¢d¬«      }t         j                  j                  ||||g«      } | j                  «       }t        t        | «      «      D ]7  }t        |t        | «      «      D ]  }| || j                  «       ||| k(  rŒJ ‚ Œ9 y )N)r   r   r   r   rS   )r—   r˜   r³   Údrå  r   )r˜   r   rm   ré  rR   r   r§   rê  rÜ   )r   r   r   r   r   r   r   rõ   )	r   rþ  r  r   rÜ   rî   rÿ  rF   r   )r"   rR   r§   r   rø  rñ   r    r'  s           r   Útest_union_array_slicer  þ  s$  € ä
�-‰-×
#Ñ
#¤B§H¡Hª\ÄÇÁÃ	Ô$JÜ%'§X¡XÒ.BÓ%CÜ%'§X¡XªlÓ%;ð%=ó>€Cð ˆqˆrˆ7×ÑÓ¢+Ò-Ð-Ð-ä�X‰XÒ.°XÔ>€FÜ�H‰H’Y WÔ-€EÜ�H‰HÒ*°Ô8€EÜ—H‘HÒ2¸ÔA€Mä
�-‰-×
"Ñ
" 5¨-¸&À%¸Ó
I€CØ
�-‰-‹/€CÜ”3�s“8‹_ò 4ˆÜ�qœ#˜c›(Ó#ò 	4ˆAØ�q˜�8×%Ñ%Ó'¨3¨q°¨8Ó3Ð3Ð3ñ	4ñ4r   T©r•  Úcheck_array_constructionc                óò  — | \  }}}}t        |t        j                  «      r|j                  |k(  sJ ‚|}nt        j                  ||¬«      }t        |t        j                  «      r|j                  |k(  sJ ‚|}nt        j                  ||¬«      }|j                  ||¬«      }	|	j                  d¬«       |	j                  |«      sJ ‚|r,t        j                  |||¬«      }|j                  |«      sJ ‚y y )NrS   r”  Tr  ©rT   r•  )r)   r   r1   rT   r   r»  rú   rÀ   )
r	  r•  r  Úin_dataÚin_typeÚout_dataÚout_typer=   Úin_arrÚcasteds
             r   Ú_check_cast_caser    sÜ   € Ø+/Ñ(€GˆW�h Ü�(œBŸH™HÔ%Ø�}‰} Ò(Ð(Ð(Ø‰ä—8‘8˜H¨8Ô4ˆô �'œ2Ÿ8™8Ô$Ø�|‰|˜wÒ&Ð&Ð&Ø‰ä—‘˜'¨Ô0ˆØ�[‰[˜¨ˆ[Ó-€FØ
‡O�O˜€OÔØ�=‰=˜Ô"Ð"Ð"ñ  Ü—‘˜'¨°tÔ<ˆØ�}‰}˜XÔ&Ð&Ñ&ð  r   c            	      óþ  — t        j                  g d¢d¬«      dt        j                  g d¢d¬«      t        j                  «       ft        j                  g d¢d¬«      dt        j                  g d¢d¬«      t        j                  «       ft        j                  g d¢d¬«      dt        j                  g d¢d¬«      t        j
                  «       ft        j                  g d¢d¬«      dt        j                  g d¢d¬«      t        j                  «       fg} | D ]  }t        |«       Œ t        j                  d	gd¬«      d
dft        j                  dgd¬«      d
dft        j                  dgd¬«      d
dft        j                  d	gd¬«      ddfg}|D ]Z  \  }}}t        j                  ||¬«      }t        j                  t        j                  «      5  |j                  |«       d d d «       Œ\ y # 1 sw Y   ŒgxY w)Nr¥   Úi1r|   rÜ   r   Úu4Úu1Úf8éPÃ  rõ   rI  ép Úuint16rÈ   Úu2rS   )re   r   r   rõ   r#  rÙ   r°   r  r.   r/   r  r»  )Ú
safe_casesr	  Úunsafe_casesr  r  r  r  s          r   Útest_cast_integers_safer'  *  s“  € ô 
�‰’, dÔ	+¨VÜ	�‰’, dÔ	+¬R¯X©X«Zð	9ä	�‰’, dÔ	+¨VÜ	�‰’, dÔ	+¬R¯Y©Y«[ð	:ä	�‰’, dÔ	+¨VÜ	�‰’, dÔ	+¬R¯X©X«Zð	9ä	�‰’, dÔ	+¨VÜ	�‰’, dÔ	+¬R¯Z©Z«\ð	;ð	€Jð ò ˆÜ˜Õðô 
�‰�5�' Ô	&¨°Ð9Ü	�‰�5�' Ô	&¨°Ð:Ü	�‰�2�$˜dÔ	# W¨hÐ7Ü	�‰�5�' Ô	&¨°'Ð:ð	€Lð '3ò "Ñ"ˆ�˜(Ü—‘˜'¨Ô0ˆä�]‰]œ2Ÿ?™?Ó+ñ 	"Ø�K‰K˜Ô!÷	"ð 	"ñ"÷	"ð 	"ús   ÇG3Ç3G<	c                  ó°   — t        j                  g d¢«      } t        j                  t        «      5  | j                  d «       d d d «       y # 1 sw Y   y xY wr   )r   r   r.   r/   r0   r»  r+   s    r   Útest_cast_noner)  G  s<   € ä
�(‰(’9Ó
€Cä	�‰”yÓ	!ñ Ø�‰�Œ÷÷ ñ ús   ±AÁAc                  óþ  — t        j                  ddgddgg«      } t        j                  t        «      5  | j                  t        j                  «       «       d d d «       t        j                  ddgdggt        j                  t        j                  «       «      «      } t        j                  t        «      5  | j                  t        j                  «       «       d d d «       y # 1 sw Y   Œ�xY w# 1 sw Y   y xY w)Nr   r   r   rm   rO  rP  rQ  )	r   r   r.   r/   r¶  r»  rÜ   r  rR   r+   s    r   Útest_cast_list_to_primitiver+  O  s¶   € ä
�(‰(�Q˜�F˜Q ˜FÐ#Ó
$€CÜ	�‰Ô*Ó	+ñ Ø�‰”—‘“Ô÷ô �(‰(�T˜4�L 4 &Ð)¬2¯8©8´B·I±I³KÓ+@Ó
A€CÜ	�‰Ô*Ó	+ñ Ø�‰”—‘“Ô÷ð ÷	ð ú÷ð ús   µ$C'Â:$C3Ã'C0Ã3C<c                  óŽ   — t        j                  g d¬«      } | j                  dk(  sJ ‚| d d  }|j                  | «      sJ ‚| d d  y )NrÜ   rS   r   rn   )r   rs   Ú
num_chunksrÀ   )r"   r<   s     r   Ú$test_slice_chunked_array_zero_chunksr.  Z  sL   € ä
×
Ñ
˜2 FÔ
+€CØ�>‰>˜QÒÐÐà‘ˆV€FØ�=‰=˜ÔÐÐð ˆˆ‚Gr   c                  óh  — t        j                  g d¢«      t        j                  g d¢«      g} t        j                  | «      }t        j                  «       }|j	                  |«      }t        j                  | D �cg c]  }|j	                  |«      ‘Œ c}«      }|j                  |«      sJ ‚y c c}w )Nr   rf  )r   r   rs   r°   r»  rÀ   )ru  ÚcarrÚtargetr  Úxr=   s         r   Útest_cast_chunked_arrayr3  f  s‚   € Ü�h‰h’yÓ!¤2§8¡8ªIÓ#6Ð7€FÜ×Ñ˜FÓ#€Dä�Z‰Z‹\€FØ�Y‰Y�vÓ€FÜ×Ñ¸Ö @°A §¡¨¥Ò @ÓA€HØ�=‰=˜Ô"Ð"Ñ"ùò !As   Á<B/c                  ó¤  — t        j                  t        j                  «       t        j                  «       «      t        j                  «       ft        j                  «       t        j
                  «       ffD ]W  \  } }t        j                  g | ¬«      }|j                  |«      }t        j                  g |¬«      }|j                  |«      rŒWJ ‚ y ©NrS   )	r   ré   rÜ   rÉ   r§   rõ   rs   r»  rÀ   )Útyp1Útyp2r"   r<   r=   s        r   Útest_cast_chunked_array_emptyr8  p  s•   € äŸ™¤b§g¡g£i´·±³Ó=¼r¿y¹y»{ÐKÜŸ™›
¤B§H¡H£JÐ/ð1ò '‰
ˆˆdô ×Ñ˜r¨Ô-ˆØ—‘˜$“ˆÜ×#Ñ# B¨TÔ2ˆØ�}‰}˜XÕ&Ð&Ð&ñ'r   c                  óØ   — t        j                  t        «      5  t        j                  g g«      j
                  } d d d «       t         t        j                  «      sJ ‚y # 1 sw Y   Œ&xY w©N)r.   ÚwarnsÚFutureWarningr   rs   ra   r)   ÚChunkedArray)r   s    r   Útest_chunked_array_data_warnsr>  {  sO   € Ü	�‰”mÓ	$ñ *Ü×Ñ ˜tÓ$×)Ñ)ˆ÷*ä�cœ2Ÿ?™?Ô+Ð+Ñ+÷*ð *ús   š!A Á A)c                  óÜ  — t        j                  dgd¬«      dt        j                  dg«      j                  d¬«      t        j                  «       ft        j                  dgd¬«      dt        j                  dg«      j                  d¬«      t        j
                  «       ft        j                  dgd¬«      dt        j                  dg«      j                  d¬«      t        j
                  «       ft        j                  dgd¬«      t        j
                  «       t        j                  dg«      j                  d¬«      t        j                  «       fg} | D ]  }t        |d	¬
«       Œ y )Nr!  r   r|   rõ   Úi2r"  r$  rÈ   Fr”  )re   r   Úastyper   rI  r#  r  ©r&  r	  s     r   Útest_cast_integers_unsaferC  �  s  € ô 
�‰�5�' Ô	&¨Ü	�‰�5�'Ó	×	!Ñ	!¨Ð	!Ó	-¬r¯x©x«zð	;ä	�‰�5�' Ô	&¨Ü	�‰�5�'Ó	×	!Ñ	!¨Ð	!Ó	-¬r¯y©y«{ð	<ä	�‰�2�$˜dÔ	# WÜ	�‰�2�$‹×	Ñ	 TÐ	Ó	*¬B¯I©I«Kð	9ä	�‰�5�' Ô	&¬¯	©	«Ü	�‰�5�'Ó	×	!Ñ	!¨Ð	!Ó	-¬r¯x©x«zð	;ð	€Lð ò +ˆÜ˜ EÖ*ñ+r   c                  óÎ  — t        j                  g d¢d¬«      dt        j                  g d¢d¬«      t        j                  «       ft        j                  g d¢d¬«      dt        j                  g d¢d¬«      t        j                  «       ft        j                  g d¢d¬«      dt        j                  g d¢d¬«      t        j                  «       fg} | D ]  }t	        |d	¬
«       Œ y )N©r®   r¯   ç      @r2  r|   r   r   r°   )g      $Àg      4@g      >À©iöÿÿÿr  iâÿÿÿTr”  )re   r   r   rõ   r  ©r%  r	  s     r   Ú!test_floating_point_truncate_saferI  –  s¨   € ô 
�‰’/¨Ô	3°YÜ	�‰’) 4Ô	(¬"¯(©(«*ð	6ä	�‰’/¨Ô	3°YÜ	�‰’) 4Ô	(¬"¯(©(«*ð	6ä	�‰Ò&¨iÔ	8¸)Ü	�‰’.¨Ô	-¬r¯x©x«zð	;ð€Jð ò *ˆÜ˜ DÖ)ñ*r   c                  ó\  — t        j                  g d¢d¬«      dt        j                  g d¢d¬«      t        j                  «       ft        j                  g d¢d¬«      dt        j                  g d¢d¬«      t        j                  «       ft        j                  g d¢d¬«      dt        j                  g d¢d¬«      t        j                  «       fg} | D ]J  }t	        j
                  t        j                  d	¬
«      5  t        |d¬«       d d d «       t        |d¬«       ŒL y # 1 sw Y   ŒxY w)N)r  gš™™™™™@r  r2  r|   r   r   r°   )g333333$Àg3333334@gÍÌÌÌÌL>ÀrG  Ú	truncatedro   Tr”  F)re   r   r   rõ   r.   r/   r  r  rB  s     r   Ú#test_floating_point_truncate_unsaferL  ¤  sÛ   € ô 
�‰’/¨Ô	3°YÜ	�‰’) 4Ô	(¬"¯(©(«*ð	6ä	�‰’/¨Ô	3°YÜ	�‰’) 4Ô	(¬"¯(©(«*ð	6ä	�‰Ò&¨iÔ	8¸)Ü	�‰’.¨Ô	-¬r¯x©x«zð	;ð€Lð ò +ˆä�]‰]œ2Ÿ?™?°+Ô>ñ 	.Ü˜T¨Õ-÷	.ô 	˜ EÖ*ñ+÷	.ð 	.ús   Ã<D"Ä"D+	c                  ó   — dddddd ddt        d«      g	} t        j                  | t        j                  «       ¬	«      }|j                  t        j                  «       k(  sJ ‚|j                  «       dddddd d
dt        d«      g	k(  sJ ‚t        |«      dk(  sJ ‚d}t        j                  t        j                  |¬«      5  t        j                  g d¢t        j                  «       ¬	«      }d d d «       y # 1 sw Y   y xY w)Nrù   r   r®   r¯   r   g¡ø1æÖÈ@g‡ˆ›SÉÀó?ÚinfrS   g     È@g     Àó?z@[
  -5,
  0,
  1,
  2,
  3,
  null,
  12344,
  1.234375,
  inf
]z@Could not convert 'a' with type str: tried to convert to float16ro   )r—   r   N)
Úfloatr   r   r  rT   rî   r¨   r.   r/   r  )Úvalsr"   rÙ  s      r   Ú!test_half_float_array_from_pythonrQ  ·  sÝ   € à��3˜˜Q  j°(¼EÀ%»LÐI€DÜ
�(‰(�4œbŸj™j›lÔ
+€CØ�8‰8”r—z‘z“|Ò#Ð#Ð#Ø�=‰=‹?˜r 1 c¨3°°4¸Ø'¬¨u«ð7ò 7ð 7ð 7äˆs‹8ð 2ò 3ð 3ð 3àM€DÜ	�‰”r—‘¨dÔ	3ñ :Ü�h‰h’~¬B¯J©J«LÔ9ˆ÷:÷ :ñ :ús   Â?,C4Ã4C=c                  óJ  — t        j                  d«      d t        j                  d«      gt        j                  dd«      g d¢t        j                  «       ft        j                  d«      d t        j                  d«      gt        j                  dd	«      g d
¢t        j
                  «       ft        j                  d«      d t        j                  d«      gt        j                  dd	«      g d¢t        j                  «       fg} | D ]  }t        |«       t        |d¬«       Œ y )NÚ123456z-912345é    rn   ©é@â Ni'òÿÚ1234ú-9123é   r7   ©iÒ  Ni]ÜÿÿÚ123z-91©é{   Ni¥ÿÿÿTr”  )ÚdecimalÚDecimalr   Ú
decimal128rõ   rI  rÜ   r  rH  s     r   Útest_decimal_to_int_safera  Å  sã   € ô �_‰_˜XÓ&¨¬g¯o©o¸iÓ.HÐIÜ�M‰M˜"˜aÓ Ú#Ü�H‰H‹Jð		
ô �_‰_˜VÓ$ d¬G¯O©O¸GÓ,DÐEÜ�M‰M˜"˜bÓ!ÚÜ�H‰H‹Jð		
ô �_‰_˜UÓ# T¬7¯?©?¸5Ó+AÐBÜ�M‰M˜"˜bÓ!ÚÜ�G‰G‹Ið		
ð€Jð( ò *ˆÜ˜ÔÜ˜ DÖ)ñ*r   c                  óæ  — t        j                  t        j                  d«      d t        j                  d«      g«      t	        j
                  dd«      g d¢t	        j                  «       ft        j                  d«      d t        j                  d«      gt	        j
                  dd«      g d¢t	        j                  «       ft        j                  d	«      d t        j                  d
«      gt	        j
                  dd«      g d¢t	        j                  «       fg} | D ]I  }t        j                  t        j                  d¬«      5  t        |«       d d d «       t        |dd¬«       ŒK y # 1 sw Y   ŒxY w)NÚ1234567890123z-912345678901234rT  rn   )iËûqNi�å÷rS  z
-912345678)i@âÿÿNi²µÿÿrW  rX  )iÒÿÿÿNé]   zInteger value out of boundsro   Fr  )re   r   r^  r_  r   r`  rõ   rI  rÜ   r.   r/   r  r  )Úout_of_bounds_casesr	  s     r   Ú'test_decimal_to_int_value_out_of_boundsrf  ß  s(  € ô �H‰HÜ—‘ Ó0ØÜ—‘Ð 2Ó3ðó ô
 �M‰M˜"˜aÓ Ú*Ü�H‰H‹Jð		
ô �_‰_˜XÓ&¨¬g¯o©o¸lÓ.KÐLÜ�M‰M˜"˜aÓ Ú!Ü�H‰H‹Jð		
ô �_‰_˜VÓ$ d¬G¯O©O¸GÓ,DÐEÜ�M‰M˜"˜aÓ ÚÜ�G‰G‹Ið		
ð#Ðð2 $ò Kˆä�]‰]œ2Ÿ?™?Ø!>ô@ñ 	#ä˜TÔ"÷	#ô 	˜ EÀEÖJñK÷	#ð 	#ús   ÅE'Å'E0	c                  óÂ  — t        j                  d«      d t        j                  d«      gt        j                  dd«      g d¢t        j                  «       ft        j                  d«      d t        j                  d«      gt        j                  dd	«      g d
¢t        j
                  «       ft        j                  d«      d t        j                  d«      gt        j                  dd	«      g d¢t        j                  «       fg} | D ]J  }d}t        j                  t        j                  |¬«      5  t        |«       d d d «       t        |d¬«       ŒL y # 1 sw Y   ŒxY w)Nz	123456.21z
-912345.13rT  rn   rU  z1234.134z-9123.1rY  r7   rZ  z123.1451z-91.21r\  ú-Rescaling Decimal value would cause data lossro   Fr”  )r^  r_  r   r`  rõ   rI  rÜ   r.   r/   r  r  )Únon_integer_casesr	  Ú
msg_regexps      r   Útest_decimal_to_int_non_integerrk    s  € ô —‘ Ó,ØÜ—‘ Ó-ðô
 �M‰M˜"˜aÓ Ú#Ü�H‰H‹Jð		
ô �_‰_˜ZÓ(¨$´·±À	Ó0JÐKÜ�M‰M˜"˜bÓ!ÚÜ�H‰H‹Jð		
ô �_‰_˜ZÓ(¨$´·±ÀÓ0IÐJÜ�M‰M˜"˜bÓ!ÚÜ�G‰G‹Ið		
ð#Ðð2 "ò +ˆàDˆ
Ü�]‰]œ2Ÿ?™?°*Ô=ñ 	#Ü˜TÔ"÷	#ô 	˜ EÖ*ñ+÷	#ð 	#ús   Ä1EÅE	c                  óè  — t        j                  t        j                  d«      d gt        j                  dd«      ¬«      } | j                  t        j                  dd«      «      }t        j                  t        j                  d«      d gt        j                  dd«      ¬«      }|j                  |«      sJ ‚d}t        j                  t         j                  |¬«      5  | j                  t        j                  d	d
«      «      }d d d «       | j                  t        j                  d	d
«      d¬«      }t        j                  t        j                  d«      d gt        j                  d	d
«      ¬«      }|j                  |«      sJ ‚t        j                  t         j                  d¬«      5  | j                  t        j                  dd«      «      }d d d «       y # 1 sw Y   Œ×xY w# 1 sw Y   y xY w)Nz1234.12rY  r7   rS   rì   rø   rh  ro   rÌ   r   Fr”  z1234.1z'Decimal value does not fit in precisionrn   r   )
r   r   r^  r_  r`  r»  rÀ   r.   r/   r  )r"   r<   r=   rj  s       r   Útest_decimal_to_decimalrm  (  sy  € Ü
�(‰(Ü	�‰˜Ó	# TÐ*Ü�]‰]˜2˜rÓ"ô€Cð �X‰X”b—m‘m B¨Ó*Ó+€FÜ�x‰xÜ	�‰˜Ó	# TÐ*Ü�]‰]˜2˜qÓ!ô€Hð �=‰=˜Ô"Ð"Ð"à@€JÜ	�‰”r—‘¨jÔ	9ñ /Ø—‘œ"Ÿ-™-¨¨1Ó-Ó.ˆ÷/ð �X‰X”b—m‘m A qÓ)°ˆXÓ6€FÜ�x‰xÜ	�‰˜Ó	" DÐ)Ü�]‰]˜1˜aÓ ô€Hð �=‰=˜Ô"Ð"Ð"ä	�‰”r—‘ØFô
Hñ /à—‘œ"Ÿ-™-¨¨1Ó-Ó.ˆ÷/ð /÷/ð /ú÷/ð /ús   Ã &GÆ-&G(ÇG%Ç(G1c                  ó  — t        j                  t        j                  dg«      } t	        j
                  t         j                  d¬«      5  | j                  t        j                  «       d¬«       d d d «       y # 1 sw Y   y xY w)Nr®   rK  ro   Tr”  )	r   r   re   Únanr.   r/   r  r»  r§   r+   s    r   Ú test_safe_cast_nan_to_int_raisesrp  D  sU   € ä
�(‰(”B—F‘F˜B�<Ó
 €Cä	�‰”r—‘¨kÔ	:ñ (Ø�‰”—‘“ $ˆÔ'÷(÷ (ñ (ús   Á&A:Á:Bc                  óˆ  — t        j                  g d¢d¬«      t        j                  «       t        j                  g d¢d¬«      t        j                  «       ft        j                  g d¢d¬«      t        j                  «       t        j                  g d¢d¬«      t        j                  «       fg} | D ]  }t        |«       Œ y )Nr¥   r  r|   r  r@  r$  )re   r   r   rÙ   r#  r  rH  s     r   Útest_cast_signed_to_unsignedrr  L  s†   € ô 
�‰’, dÔ	+¬R¯X©X«ZÜ	�‰’, dÔ	+¬R¯X©X«Zð	9ä	�‰’, dÔ	+¬R¯Y©Y«[Ü	�‰’, dÔ	+¬R¯Y©Y«[ð	:ð€Jð ò ˆÜ˜Õñr   c                  ó¬  — d gdz  } t        j                  «       }t        j                  «       t        j                  «       t        j                  «       t        j                  «       t        j
                  «       t        j
                  d«      t        j                  t        j                  «       «      t        j                  t        j                  «       d«      t        j                  t        j                  «       «      t        j                  dd«      t        j                  d«      t        j                  dd¬«      t        j                  dd¬«      t        j                  d«      t        j                  «       t        j                  t        j                  d	t        j                  «       «      t        j                  d
t        j                  t        j                   «       «      «      t        j                  dt        j"                  «       «      g«      t        j$                  t        j                  «       t        j"                  «       «      g}|D ]  }t'        | || |f«       Œ t        j(                  t        j                  d	t        j
                  d«      «      t        j                  d
t        j"                  «       «      gt         j*                  j,                  ¬«      t        j(                  t        j                  d	t        j
                  d«      «      t        j                  d
t        j"                  «       «      gt         j*                  j.                  ¬«      g}t        j0                  | t        j                  «       ¬«      }|D ]5  }t3        j4                  t6        «      5  |j9                  |«       d d d «       Œ7 y # 1 sw Y   ŒBxY w)Nr   r7   rm   rY  rŠ   r�   r�   zEurope/Parisr—   r˜   r³   )rð  rS   )r   rÁ   rÙ   r  r  rR   r  rI  rõ   rÛ   r`  r‘   r”   Úmonth_day_nano_intervalr0  r1  rÜ   rÉ   ré   r  Úunionr¶   ÚUnionMode_DENSEÚUnionMode_SPARSEr   r.   r/   r¶  r»  )r  r  Ú	out_typesr  r  s        r   Útest_cast_from_nullry  Y  se  € Øˆf�q‰j€GÜ�g‰g‹i€Gä
�‰‹	Ü
�‰‹
Ü
�
‰
‹Ü
�‰‹	Ü
�	‰	‹Ü
�	‰	�"‹Ü
�‰”—‘“ÓÜ
�‰”—‘“˜QÓÜ
�‰”b—h‘h“jÓ!Ü
�‰�b˜!ÓÜ
�‰�TÓÜ
�‰�T˜eÔ$Ü
�‰�T˜nÔ-Ü
�‰�DÓÜ
×"Ñ"Ó$Ü
�	‰	”2—8‘8˜C¤§¡£Ó,Ü—8‘8˜C¤§¡¬"¯'©'«)Ó!4Ó5Ü—8‘8˜C¤§¡£Ó-ð/ó 	0ô 	�‰”b—h‘h“j¤"§)¡)£+Ó.ð'€Ið* ò @ˆÜ˜' 7¨G°XÐ>Õ?ð@ô
 	�‰”"—(‘(˜3¤§	¡	¨"£Ó.Ü—(‘(˜3¤§	¡	£Ó,ð.Ü46·F±F×4JÑ4Jô	Lä
�‰”"—(‘(˜3¤§	¡	¨"£Ó.Ü—(‘(˜3¤§	¡	£Ó,ð.Ü46·F±F×4KÑ4Kô	Mð	€Iô �X‰X�g¤B§G¡G£IÔ.€FØò "ˆÜ�]‰]Ô.Ó/ñ 	"Ø�K‰K˜Ô!÷	"ð 	"ñ"÷	"ð 	"ús   Î-O
Ï
O	c                  ó(  — t        j                  g d¢«      t        j                  g d¢t        j                  «       ¬«      ft        j                  d dg«      t        j                  d dgt        j                  «       ¬«      fg} | D ]‰  \  }}|j	                  |j
                  d¬«      }|j                  d¬«       |j                  |«      sJ ‚|j	                  |j
                  d¬«      }|j                  d¬«       |j                  |«      rŒ‰J ‚ y )	N)rª   Ú127z-128)r   é   i€ÿÿÿrS   Ú18446744073709551615l   ÿÿÿÿ Tr”  r  )r   r   rÜ   Úuint64r»  rT   rú   rÀ   )râ   r  r=   r  Úcasted_backs        r   Ú$test_cast_string_to_number_roundtripr€  �  sè   € ä	�‰Ò&Ó	'Ü	�‰’.¤r§w¡w£yÔ	1ð	3ä	�‰�4Ð/Ð0Ó	1Ü	�‰�4Ð-Ð.´R·Y±Y³[Ô	Að	Cð€Eð "ò *Ñˆ�Ø—‘˜XŸ]™]°�Ó6ˆØ�‰˜TˆÔ"Ø�}‰}˜XÔ&Ð&Ð&Ø—k‘k &§+¡+°D�kÓ9ˆØ×Ñ $ÐÔ'Ø×!Ñ! &Õ)Ð)Ð)ñ*r   c            	      óæ  — t        j                  g d¢t        j                  t        j                  «       t        j                  «       «      ¬«      } t        j                  g d¢«      }| j
                  t        j                  t        j                  «       t        j                  «       «      k(  sJ ‚| j                  t        j                  «       «      |k(  sJ ‚t        j                  «       t        j                  «       t        j                  «       fD ]  }t        j                  |t        j                  «       «      }t        j                  g d¢t        j                  |t        j                  «       «      ¬«      }| j                  |«      |k(  rŒJ ‚ t        j                  t         j                  «      5  | j                  t        j                  «       «       d d d «       y # 1 sw Y   y xY w)Nr  rS   )r   r   ré   r§   rÉ   rT   r»  rÜ   rI  rõ   r.   r/   r  )r"   r=   Úkey_typer®  s       r   Útest_cast_dictionaryrƒ  ‘  s:  € ä
�(‰(ÚÜ�]‰]œ2Ÿ8™8›:¤r§y¡y£{Ó3ô€Cô �x‰xÒ,Ó-€HØ�8‰8”r—}‘}¤R§X¡X£Z´·±³Ó=Ò=Ð=Ð=Ø�8‰8”B—I‘I“KÓ  HÒ,Ð,Ð,ô —W‘W“Y¤§¡£
¬B¯H©H«JÐ7ò )ˆÜ�m‰m˜H¤b§i¡i£kÓ2ˆÜ—8‘8Ú Ü—‘˜x¬¯©«Ó5ô
ˆð �x‰x˜‹} Ó(Ð(Ð(ð)ô 
�‰”r—‘Ó	'ñ Ø�‰”—‘“Ô÷÷ ñ ús   Æ:$G'Ç'G0c                  ó\  — t        j                  g d¢t        j                  «       ¬«      } t        j                  g d¢t        j                  «       ¬«      }| j	                  t        j                  «       «      j                  |«      sJ ‚| j	                  d«      j                  |«      sJ ‚y )Nrç   rS   rR   )r   r   r  rR   ÚviewrÀ   ©r"   r=   s     r   Ú	test_viewr‡  ©  sp   € ä
�(‰(Ò(¬r¯w©w«yÔ
9€CÜ�x‰xÒ-´B·I±I³KÔ@€Hà�8‰8”B—I‘I“KÓ ×'Ñ'¨Ô1Ð1Ð1Ø�8‰8�HÓ×$Ñ$ XÔ.Ð.Ñ.r   c                  ó*  — t        j                  g d¢«      t        j                  g d¢«      ft        j                  g d¢«      t        j                  g d¢«      ft        j                  g d¢t        j                  «       «      t        j                  g d¢t        j                  «       «      fg} | D ]_  \  }}|j                  «       }|j	                  |«      sJ ‚t        j
                  |g«      j                  «       }|j	                  |«      rŒ_J ‚ y )N©r   r   r   r   r   r   r   ©r5   Nr6   r5   ©r5   Nr6   )r   r   rU   ÚuniquerÀ   rs   ©râ   r"   r=   r<   s       r   Útest_unique_simplerŽ  ²  sÓ   € ä	�‰Ò$Ó	%¤r§x¡x²	Ó':Ð;Ü	�‰Ò-Ó	.Ü	�‰Ò&Ó	'ð	)ä	�‰Ò-¬r¯©Ó/@Ó	AÜ	�‰Ò&¬¯©Ó(9Ó	:ð	<ð	€Eð ò '‰ˆˆXØ—‘“ˆØ�}‰}˜XÔ&Ð&Ð&Ü×!Ñ! 3 %Ó(×/Ñ/Ó1ˆØ�}‰}˜XÕ&Ð&Ð&ñ	'r   c                  óB  — t        j                  g d¢«      t        j                  g d¢«      t        j                  g d¢t        j                  «       ¬«      ft        j                  g d¢«      t        j                  g d¢«      t        j                  g d¢t        j                  «       ¬«      ft        j                  g d¢t        j                  «       «      t        j                  g d¢t        j                  «       «      t        j                  g d¢t        j                  «       ¬«      fg} | D ]í  \  }}}|t        j                  |g«      fD ]Ì  }|j                  «       }|j                  j                  t        j                  t        j                  d|j                  «      t        j                  d	t        j                  «       «      g«      «      sJ ‚|j                  d«      j                  |«      sJ ‚|j                  d	«      j                  |«      rŒÌJ ‚ Œï y )
Nr‰  r   ©r   r   r   rS   rŠ  r‹  )r   r   r   rž   Úcounts)
r   r   r§   rU   rs   Úvalue_countsrT   rÀ   r0  r1  )râ   r"   Úexpected_valuesÚexpected_countsÚarr_inr<   s         r   Útest_value_counts_simpler–  Á  s�  € ä	�‰Ò$Ó	%Ü	�‰’)Ó	Ü	�‰’)¤"§(¡(£*Ô	-ð	/ô 
�‰Ò-Ó	.Ü	�‰Ò&Ó	'Ü	�‰’)¤"§(¡(£*Ô	-ð	/ô 
�‰Ò-¬r¯©Ó/@Ó	AÜ	�‰Ò&¬¯©Ó(9Ó	:Ü	�‰’)¤"§(¡(£*Ô	-ð	/ð
€Eð 27ò BÑ-ˆˆ_˜oØœB×,Ñ,¨c¨UÓ3Ð4ò 	BˆFØ×(Ñ(Ó*ˆFØ—;‘;×%Ñ%Ü—	‘	œ2Ÿ8™8 H¨c¯h©hÓ7ÜŸ8™8 H¬b¯h©h«jÓ9ð;ó <ô=ð =ð =ð —<‘< Ó)×0Ñ0°ÔAÐAÐAØ—<‘< Ó)×0Ñ0°ÕAÐAÐAñ	BñBr   c                  ó.  — t        j                  g d¢«      } t        j                  g d¢«      }t         j                  j                  | |«      }|j	                  «       }t         j                  j                  | j	                  «       |«      }|j                  |«      sJ ‚|j                  «       }|j                  d«      j                  |«      sJ ‚|j                  d«      j                  t        j                  g d¢d¬«      «      sJ ‚t         j                  j                  t        j                  g d¬«      |«      }|j	                  «       }t         j                  j                  t        j                  g d¬«      t        j                  g d¬«      «      }|j                  |«      sJ ‚|j                  «       }|j                  d«      j                  |«      sJ ‚|j                  d«      j                  t        j                  g d¬«      «      sJ ‚y )	N)r   r   r   r   r   r   r   r   r   r   r   r   )r5   r6   rè   Úquxrž   r‘  )r   rn   rm   r§   rS   r  )r   r   r¹   rº   rŒ  rÀ   r’  r1  )r}  ré   r"   Úunique_resultr=   r<   s         r   Ú(test_unique_value_counts_dictionary_typerš  ×  s“  € Ü�h‰hÒ;Ó<€GÜ—‘Ò6Ó7€Jä
×
Ñ
×
(Ñ
(¨°*Ó
=€Cà—J‘J“L€MÜ×!Ñ!×-Ñ-¨g¯n©nÓ.>À
ÓK€HØ×Ñ Ô)Ð)Ð)à×ÑÓ€FØ�<‰<˜Ó!×(Ñ(¨Ô7Ð7Ð7Ø�<‰<˜Ó!×(Ñ(¬¯©²)À'Ô)JÔKÐKÐKä
×
Ñ
×
(Ñ
(Ü
�‰�˜'Ô" Jó0€Cà—J‘J“L€MÜ×!Ñ!×-Ñ-¬b¯h©h°rÀÔ.HÜ.0¯h©h°rÀÔ.GóI€Hà×Ñ Ô)Ð)Ð)à×ÑÓ€FØ�<‰<˜Ó!×(Ñ(¨Ô7Ð7Ð7Ø�<‰<˜Ó!×(Ñ(¬¯©°"¸7Ô)CÔDÐDÑDr   c                  ó  — t        j                  g d¢«      t         j                  j                  t        j                  g d¢d¬«      g d¢«      ft        j                  g d¢«      t         j                  j                  t        j                  g d¢d¬«      dd	g«      ft        j                  g d¢t        j                  «       ¬«      t         j                  j                  t        j                  g d¢d¬«      t        j                  dd	gt        j                  «       ¬«      «      fg} | D ]Ú  \  }}|j                  «       }|j                  |«      sJ ‚t        j                  |g«      j                  «       }|j                  d
k(  sJ ‚|j                  d«      j                  |«      sJ ‚t        j                  g |j                  ¬«      j                  «       }|j                  dk(  sJ ‚|j                  |j                  k(  rŒÚJ ‚ y )N©r   r   r   Nr   r   r   ©r   r   r   Nr   r   r   rõ   rS   r   rŠ  ©r   Nr   r   r5   r6   r   r   )r   r   r¹   rº   rU   r™   rÀ   rs   r-  ÚchunkrT   r�  s       r   Útest_dictionary_encode_simpler   ñ  s   € ä	�‰Ò*Ó	+Ü	×	Ñ	×	'Ñ	'Ü�X‰XÒ.°WÔ=Úó
ð	ô 
�‰Ò-Ó	.Ü	×	Ñ	×	'Ñ	'Ü�X‰X’o¨GÔ4Ø�Uˆ^ó
ð	ô 
�‰Ò-´B·O±OÓ4EÔ	FÜ	×	Ñ	×	'Ñ	'Ü�X‰X’o¨GÔ4Ü�X‰X�u˜e�n¬2¯?©?Ó+<Ô=ó
?ð	@ð€Eð ò ,‰ˆˆXØ×&Ñ&Ó(ˆØ�}‰}˜XÔ&Ð&Ð&Ü×!Ñ! 3 %Ó(×:Ñ:Ó<ˆØ× Ñ  AÒ%Ð%Ð%Ø�|‰|˜A‹×%Ñ% hÔ/Ð/Ð/Ü×!Ñ! "¨3¯8©8Ô4×FÑFÓHˆØ× Ñ  AÒ%Ð%Ð%Ø�{‰{˜hŸm™mÓ+Ð+Ð+ñ,r   c                  óÊ  — t        j                  g d¢«      dd t         j                  j                  t        j                  g d¢d¬«      g d¢«      ft        j                  g d¢«      dd t         j                  j                  t        j                  g d	¢d¬«      d
dg«      ft        j                  g d¢t        j                  «       ¬«      dd t         j                  j                  t        j                  g d	¢d¬«      t        j                  d
dgt        j                  «       ¬«      «      fg} | D ]õ  \  }}|j                  «       }|j                  |«      sJ ‚t        j                  |g«      j                  «       }|j                  dk(  sJ ‚|j                  |j                  k(  sJ ‚|j                  d«      j                  |«      sJ ‚t        j                  g |j                  ¬«      j                  «       }|j                  dk(  sJ ‚|j                  |j                  k(  rŒõJ ‚ t        j                  g d¢«      }|j                  d«      j                  «        y )Nrœ  r   rÈ   )r   r   Nr   r   rõ   rS   )r   r   r   )Nr5   r6   r5   Úxyzzy©r   r   r   r5   r6   r   rç   )r   r   r¹   rº   Úlarge_stringr™   rÀ   rs   r-  rT   rŸ  rY   )râ   r"   r=   r<   r   s        r   Útest_dictionary_encode_slicedr¥    sö  € ä	�‰Ò*Ó	+¨A¨bÐ	1Ü	×	Ñ	×	'Ñ	'Ü�X‰XÒ(¨wÔ7Úó
ð	ô 
�‰Ò6Ó	7¸¸"Ð	=Ü	×	Ñ	×	'Ñ	'Ü�X‰X’i gÔ.Ø�Uˆ^ó
ð	ô 
�‰Ò6Ü—‘Ó(ô
*Ø*+¨Bð
0ä	×	Ñ	×	'Ñ	'Ü�X‰X’i gÔ.Ü�X‰X�u˜e�n¬2¯?©?Ó+<Ô=ó
?ð	@ð€Eð ò 	,‰ˆˆXØ×&Ñ&Ó(ˆØ�}‰}˜XÔ&Ð&Ð&Ü×!Ñ! 3 %Ó(×:Ñ:Ó<ˆØ× Ñ  AÒ%Ð%Ð%Ø�{‰{˜hŸm™mÒ+Ð+Ð+Ø�|‰|˜A‹×%Ñ% hÔ/Ð/Ð/Ü×!Ñ! "¨3¯8©8Ô4×FÑFÓHˆØ× Ñ  AÒ%Ð%Ð%Ø�{‰{˜hŸm™mÓ+Ð+Ð+ð	,ô �H‰HÒ*Ó+€EØ	‡K�K�ƒN×$Ñ$Õ&r   c                  óÎ   — t        j                  g t        j                  «       ¬«      } | j                  «       }t	        |j
                  «      dk(  sJ ‚|j                  d¬«       y )NrS   r   Tr  )r   r   rÉ   r™   r   ré   rú   )r"   Úencodeds     r   Ú"test_dictionary_encode_zero_lengthr¨  +  sP   € ä
�(‰(�2œBŸI™I›KÔ
(€CØ×#Ñ#Ó%€GÜˆw×!Ñ!Ó" aÒ'Ð'Ð'Ø×Ñ˜$ÐÕr   c                  ó²  — t        j                  g d¢«      t         j                  j                  t        j                  g d¢d¬«      g d¢«      ft        j                  g d¢«      t         j                  j                  t        j                  g d¢d¬«      dd	g«      ft        j                  g d¢t        j                  «       ¬«      t         j                  j                  t        j                  g d¢d¬«      t        j                  dd	gt        j                  «       ¬«      «      fg} | D ](  \  }}|j                  «       }|j                  |«      rŒ(J ‚ y )
Nrœ  r�  rõ   rS   r   rŠ  rž  r5   r6   )r   r   r¹   rº   rU   Údictionary_decoderÀ   )râ   r=   r"   r<   s       r   Útest_dictionary_decoder«  3  s  € ä	�‰Ò*Ó	+Ü	×	Ñ	×	'Ñ	'Ü�X‰XÒ.°WÔ=Úó
ð	ô 
�‰Ò-Ó	.Ü	×	Ñ	×	'Ñ	'Ü�X‰X’o¨GÔ4Ø�Uˆ^ó
ð	ô 
�‰Ò-´B·O±OÓ4EÔ	FÜ	×	Ñ	×	'Ñ	'Ü�X‰X’o¨GÔ4Ü�X‰X�u˜e�n¬2¯?©?Ó+<Ô=ó
?ð	@ð€Eð ò '‰ˆ�#Ø×&Ñ&Ó(ˆØ�}‰}˜XÕ&Ð&Ð&ñ'r   c                  ó   — t        j                  t        j                  g d¢d¬«      t        j                  d«      ¬«      } t        j                  g d¢d¬«      }| j	                  d«      }|j                  |«      sJ ‚y )Nr]  rõ   r|   rˆ   rS   r   )r   r   re   Útime32r»  rÀ   ©r"   r=   r<   s      r   Útest_cast_time32_to_intr¯  G  sW   € ä
�(‰(”2—8‘8šI¨WÔ5ÜŸ	™	 #›ô(€Cä�x‰xš	¨Ô-€Hà�X‰X�d‹^€FØ�=‰=˜Ô"Ð"Ñ"r   c                  ó   — t        j                  t        j                  g d¢d¬«      t        j                  d«      ¬«      } t        j                  g d¢d¬«      }| j	                  d«      }|j                  |«      sJ ‚y ©Nr]  r§   r|   rŠ   rS   Úi8)r   r   re   Útime64r»  rÀ   r®  s      r   Útest_cast_time64_to_intr´  Q  sW   € ä
�(‰(”2—8‘8šI¨WÔ5ÜŸ	™	 $›ô)€Cä�x‰xš	¨Ô-€Hà�X‰X�d‹^€FØ�=‰=˜Ô"Ð"Ñ"r   c                  ó   — t        j                  t        j                  g d¢d¬«      t        j                  d«      ¬«      } t        j                  g d¢d¬«      }| j	                  d«      }|j                  |«      sJ ‚y r±  )r   r   re   r‘   r»  rÀ   r®  s      r   Útest_cast_timestamp_to_intr¶  [  sX   € ä
�(‰(”2—8‘8šI¨WÔ5ÜŸ™ TÓ*ô,€Cä�x‰xš	¨Ô-€Hà�X‰X�d‹^€FØ�=‰=˜Ô"Ð"Ñ"r   c            	      ó’  — t        j                  g d¢d¬«      } | j                  d«      }|j                  d«      }t        j                  t        j                  ddd«      t        j                  ddd«      t        j                  ddd«      g«      j                  d«      }|j                  |«      sJ ‚|j                  | «      sJ ‚y )	Nr]  r   rS   Údate32é²  r   r   r   )r   r   r»  rÏ   rÐ   rÀ   )r"   Úresult1Úresult2Ú	expected1s       r   Útest_cast_date32_to_intr½  e  s¥   € Ü
�(‰(’9 4Ô
(€Cà�h‰h�xÓ €GØ�l‰l˜4Ó €Gä—‘Ü�‰�d˜A˜qÓ!Ü�‰�d˜A˜qÓ!Ü�‰�d˜A˜qÓ!ðó ÷ �tˆHƒ~ð	 ð �>‰>˜)Ô$Ð$Ð$Ø�>‰>˜#ÔÐÑr   c                  ó   — t        j                  t        j                  g d¢d¬«      t        j                  d«      ¬«      } t        j                  g d¢d¬«      }| j	                  d«      }|j                  |«      sJ ‚y r±  )r   r   re   r”   r»  rÀ   r®  s      r   Útest_cast_duration_to_intr¿  u  sX   € ä
�(‰(”2—8‘8šI¨WÔ5ÜŸ™ DÓ)ô+€Cä�x‰xš	¨Ô-€Hà�X‰X�d‹^€FØ�=‰=˜Ô"Ð"Ñ"r   c                  ó6  — t        j                  g d¢t        j                  «       ¬«      } | j                  t        j                  «       «      }t        j                  g d¢t        j                  «       ¬«      }|j                  |«      sJ ‚dj                  d«      g}t        j                  |«      }|j                  t        j                  «       k(  sJ ‚t        j                  t        «      5  |j                  t        j                  «       «       d d d «       t        j                  |t        j                  dg«      t        j                  «       ¬«      }|j                  t        j                  «       «      }|j                  dk(  sJ ‚y # 1 sw Y   Œ|xY w)	N)s   foos   bars   bazrS   rç   õ   maÃ±anaú	utf-16-leT©rj  rT   r   )r   r   rR   r»  r  rÀ   ÚencoderT   r.   r/   rt   rÉ   re   rÞ   )Ú
binary_arrÚutf8_arrr=   Únon_utf8_valuesÚnon_utf8_binaryÚnon_utf8_all_nullr  s          r   Útest_cast_binary_to_utf8rÊ    s  € ä—‘Ò2¼¿¹»ÔE€JØ�‰œrŸw™w›yÓ)€HÜ�x‰xÒ-´B·G±G³IÔ>€Hà�?‰?˜8Ô$Ð$Ð$à!×)Ñ)¨+Ó6Ð7€OÜ—h‘h˜Ó/€OØ×Ñ¤2§9¡9£;Ò.Ð.Ð.Ü	�‰”zÓ	"ñ *Ø×ÑœRŸY™Y›[Ô)÷*ô Ÿ™ ´r·x±xÀÀÓ7GÜ&(§i¡i£kô3Ðð ×#Ñ#¤B§I¡I£KÓ0€FØ×Ñ Ò!Ð!Ñ!÷*ð *ús   Ã0$FÆFc                  óþ   — t        j                  t        j                  g d¢d¬«      t        j                  «       ¬«      } t        j                  g d¢d¬«      }| j	                  d«      }|j                  |«      sJ ‚y )Nr]  r§   r|   rS   r²  )r   r   re   Údate64r»  rÀ   r®  s      r   Útest_cast_date64_to_intrÍ  ”  sU   € ä
�(‰(”2—8‘8šI¨WÔ5ÜŸ	™	›ô%€Cä�x‰xš	¨Ô-€Hà�X‰X�d‹^€Fà�=‰=˜Ô"Ð"Ñ"r   c            	      óž  — t        j                   ddddddd«      } t        j                   ddd«      }t        j                  | |gd¬«      }t        j                  | j                  «       |j                  «       gd¬«      }|j	                  |«      sJ ‚|j                  d	«      }|d
   j                  «       |d   j                  «       k(  sJ ‚y )NéÐ  r   rÞ  é"   é8   rV  rÌ  rS   r§   r   )rÏ   r   r   rÐ   rÀ   r…  r'   )Úval1Úval2r<   r»  Úas_i8s        r   Ú!test_date64_from_builtin_datetimerÕ  Ÿ  s«   € Ü×Ñ˜T 1 a¨¨R°°VÓ<€DÜ×Ñ˜T 1 aÓ(€DÜ�X‰X�t˜T�l¨Ô2€FÜ�h‰h˜Ÿ	™	› T§Y¡Y£[Ð1¸ÔA€Gà�=‰=˜Ô!Ð!Ð!à�K‰K˜Ó €EØ�‰8�>‰>Ó˜u Q™xŸ~™~Ó/Ò/Ð/Ñ/r   c            
      ó~  — t        j                  g d¢g d¢t        j                  «       ¬«      } t        j                  t        j                  ddd«      t        j                  ddd«      d t        j                  ddd«      gt        j                  «       ¬«      }| j                  |«      sJ ‚t        j                  t        j                  ddd«      t        j                  ddd	«      d t        j                  ddd
«      gt        j                  «       ¬«      }|j                  dk(  sJ ‚|d	   j                  «       �J ‚t        j                  g d¢g d¢t        j                  «       ¬«      }t        j                  t        j                  ddd«      t        j                  ddd	«      d t        j                  ddd
«      gt        j                  «       ¬«      }|j                  |«      sJ ‚t        j                  t        j                  ddd«      t        j                  ddd	«      d t        j                  ddd
«      gt        j                  «       ¬«      }|j                  dk(  sJ ‚|d	   j                  «       �J ‚t        j                  g d¢g d¢t        j                  «       ¬«      }|j                  d
k(  sJ ‚y )N)r   r   r   r   ©FFTFrÃ  r¹  r   r   rS   iç  r   rm   )r   i \&i ¸L
i sr¥   ©TTTT)	r   r   r¸  rÏ   rÐ   rÀ   rÞ   r'   rÌ  )Ú
arr_date32Úexpected_date32Úarr_date32_datesÚ
arr_date64Úexpected_date64Úarr_date64_datesÚarr_all_nulls          r   Ú.test_create_date32_and_date64_arrays_with_maskrà  «  sK  € ä—‘š,Ú:Ü!Ÿy™y›{ô,€Jô —h‘hÜ�‰�d˜A˜qÓ!Ü�‰�d˜A˜qÓ!ØÜ�‰�d˜A˜qÓ!ð	 ô
 �I‰I‹Kô€Oð ×Ñ˜_Ô-Ð-Ð-ô —x‘xÜ�‰�d˜A˜qÓ!Ü�‰�d˜A˜qÓ!ØÜ�‰�d˜A˜qÓ!ð	!ô
 �I‰I‹KôÐð ×&Ñ&¨!Ò+Ð+Ð+Ø˜AÑ×$Ñ$Ó&Ð.Ð.Ð.ô —‘Ò=Ú:Ü!Ÿy™y›{ô,€Jô —h‘hÜ�‰�d˜A˜qÓ!Ü�‰�d˜A˜qÓ!ØÜ�‰�d˜A˜qÓ!ð	 ô
 �I‰I‹Kô€Oð ×Ñ˜_Ô-Ð-Ð-ô —x‘xÜ�‰�d˜A˜qÓ!Ü�‰�d˜A˜qÓ!ØÜ�‰�d˜A˜qÓ!ð	!ô
 �I‰I‹KôÐð ×&Ñ&¨!Ò+Ð+Ð+Ø˜AÑ×$Ñ$Ó&Ð.Ð.Ð.ô —8‘8šLÚ!9Ü!#§¡£ô.€Lð ×"Ñ" aÒ'Ð'Ñ'r   )r½   rž   Úboolrz   rÙ   éÿ   rÜ   r  r#  r7   rI  Úuint32rõ   r~  r§   rO  )r­   gš™™™™™¹?gš™™™™™É?ÚdoublerÉ   r²   rR   )rO  rP  rQ  r   )s   abcs   bcds   cdec                 óv   — t        j                  || ¬«      }|j                  | «      j                  |«      sJ ‚y r5  )r   r   r»  rÀ   )r½   rž   r"   s      r   Útest_cast_identitiesræ  ß  s0   € ô" �(‰(�6 Ô
#€CØ�8‰8�B‹<×Ñ˜sÔ#Ð#Ñ#r   )ra   r®  )TFTT)r   r   rm   rø   )r®   r,  N)r—   Nr˜   r   rm   rn   rø   r—   r˜   r³   ))r   r—   )r   r³   Nc                 óÖ   — t        j                  | |¬«      }t        d|j                  dz   «      D ]6  }|j	                  |j                  ||«      «      }|j                  |«      rŒ6J ‚ y )NrS   r   r   )r   r   rF   ÚHIGHEST_PROTOCOLÚloadsÚdumpsrÀ   )ra   r®  Úpickle_moduler   Úprotor<   s         r   Útest_array_picklerí  	  sd   € ô �H‰H�T Ô$€EÜ�q˜-×8Ñ8¸1Ñ<Ó=ò $ˆØ×$Ñ$ ]×%8Ñ%8¸ÀÓ%FÓGˆØ�|‰|˜FÕ#Ð#Ð#ñ$r   c                 óð   — t         j                  j                  g d¢g d¢«      }t        d| j                  dz   «      D ]6  }| j                  | j                  ||«      «      }|j                  |«      rŒ6J ‚ y )Nr±   r²   r   r   )r   r¹   rº   rF   rè  ré  rê  rÀ   )rë  r   rì  r<   s       r   Útest_array_pickle_dictionaryrï  	  sl   € ô ×Ñ×*Ñ*ª?ºOÓL€EÜ�q˜-×8Ñ8¸1Ñ<Ó=ò $ˆØ×$Ñ$ ]×%8Ñ%8¸ÀÓ%FÓGˆØ�|‰|˜FÕ#Ð#Ð#ñ$r   )Úsuppress_health_check)Ú	min_valueÚ	max_value©rä   c                 ón   — | j                  |«      }| j                  |«      }|j                  |«      sJ ‚y r:  )rê  ré  rÀ   )rë  r"   ra   Úrestoreds       r   Útest_picklingrö  	  s6   € ð ×Ñ˜sÓ#€DØ×"Ñ" 4Ó(€HØ�:‰:�hÔÐÑr   c                 óÈ  — t        j                  | |¬«      }|j                  «       D �cg c]  }|�|j                  nd‘Œ }}t	        d|j
                  dz   «      D ]z  }g }|j                  |||j                  ¬«      }|j                  ||¬«      }	|j                  |	«      sJ ‚|	j                  «       D �cg c]  }|�|j                  nd‘Œ }
}|
|k(  rŒzJ ‚ y c c}w c c}w )NrS   r   rn   r   )Úbuffer_callback)r^   )
r   r   r^   r_   rF   rè  rê  Úappendré  rÀ   )ra   r®  rë  r   ÚbufÚ	addressesrì  r^   Úpickledr<   Úresult_addressess              r   Útest_array_pickle_protocol5rþ  )	  sú   € ô �H‰H�T Ô$€Eà!ŸM™M›Oö-Øð !$ �—’°QÑ6ð -€Ið -ô �q˜-×8Ñ8¸1Ñ<Ó=ò -ˆØˆØ×%Ñ% e¨UÀGÇNÁNÐ%ÓSˆØ×$Ñ$ W°gÐ$Ó>ˆØ�|‰|˜FÔ#Ð#Ð#ð (.§~¡~Ó'7ö9Ø #ð ,/¨?˜CŸKšKÀÑAð 9Ðð 9à 9Ó,Ð,Ð,ñ-ùò-ùò9s   ªCÂ7Cc                  ó>  — t        j                  dt         j                  ¬«      t        j                  dt         j                  ¬«      t        j                  dt         j                  ¬«      t        j                  dt         j
                  ¬«      t        j                  dt         j                  ¬«      t        j                  dt         j                  ¬«      t        j                  dt         j                  ¬«      t        j                  dt         j                  ¬«      t        j                  dt         j                  ¬«      t        j                  dt         j                  ¬«      t        j                  dt         j                  ¬«      fD �]  } t        j                  | «      }| j                  |j!                  «       j                  k(  sJ ‚t         j"                  j%                  | |j!                  «       «       t         j"                  j%                  | d d |d d j!                  «       «       t         j"                  j%                  | dd  |dd  j!                  «       «       t         j"                  j%                  | dd |dd j!                  «       «       �Œ y )Nr7   r|   rø   r   )re   rf   r§   rõ   rI  rÜ   r~  rã  r#  rÙ   r°   r2  r  r   r   r}   r]   rg   rh   )Únarrr"   s     r   Útest_to_numpy_roundtripr  ;	  sŸ  € ô 	�	‰	�"œBŸH™HÔ%Ü
�	‰	�"œBŸH™HÔ%Ü
�	‰	�"œBŸH™HÔ%Ü
�	‰	�"œBŸG™GÔ$Ü
�	‰	�"œBŸI™IÔ&Ü
�	‰	�"œBŸI™IÔ&Ü
�	‰	�"œBŸI™IÔ&Ü
�	‰	�"œBŸH™HÔ%Ü
�	‰	�"œBŸJ™JÔ'Ü
�	‰	�"œBŸJ™JÔ'Ü
�	‰	�"œBŸJ™JÔ'ðó Fˆô �h‰h�t‹nˆØ�z‰z˜SŸ\™\›^×1Ñ1Ò1Ð1Ð1Ü
�
‰
×%Ñ% d¨C¯L©L«NÔ;Ü
�
‰
×%Ñ% d¨2¨A h°°B°Q°×0@Ñ0@Ó0BÔCÜ
�
‰
×%Ñ% d¨1¨2 h°°A°B°×0@Ñ0@Ó0BÔCÜ
�
‰
×%Ñ% d¨1¨Q i°°Q°q°×1BÑ1BÓ1DÖEñ%Fr   c                  óÔ   — t        j                  dgt        j                  «       ¬«      } t        j                  t        j                  dgd¬«      «      }| j	                  |«      sJ ‚y )Nì            rS   Úu8r|   )r   r   r~  re   rÀ   r†  s     r   Ú$test_array_uint64_from_py_over_ranger  R	  sG   € ä
�(‰(�G�9¤2§9¡9£;Ô
/€CÜ�x‰xœŸ™ ' °$Ô7Ó8€HØ�:‰:�hÔÐÑr   c                  óÔ  — t        j                  g d¢d¬«      } t        j                  | «      }t	        j                  | «      }t        j                  | «      |dz   k(  sJ ‚|j
                  dk(  sJ ‚dD ]r  }t	        j                  t        j                  dt         j                  ddt         j                  dg|¬«      |¬	«      }|j
                  |k(  sJ ‚|j                  d
k(  rŒrJ ‚ y )Nrå  rÜ   r|   r   )r  r2  r°   r   r   rm   rS   r   )re   r   r   r�   r   rT   ro  rÞ   )r"   r>  r  r½   r   s        r   Ú)test_array_conversions_no_sentinel_valuesr  Y	  s¾   € ä
�(‰(’< vÔ
.€CÜ�‰˜sÓ#€HÜ�8‰8�C‹=€DÜ�?‰?˜3Ó H¨q¡LÒ1Ð1Ð1à�9‰9˜ÒÐÐà/ò $ˆÜ�x‰xœŸ™ !¤R§V¡V¨Q°´2·6±6¸1Ð!=ÀRÔHØô!ˆà�y‰y˜BŠÐˆØ�‰ !Ó#Ð#Ð#ñ	$r   c                  ó¤  — t        j                  g d¢t        j                  d«      ¬«      } t        j                  t        j                  d¬«      t        j                  d¬«      d gt        j                  d«      ¬«      }| j                  |«      sJ ‚t        j                  g d¢t        j                  d«      ¬«      } t        j                  t        j                  d¬	«      t        j                  d
¬	«      d gt        j                  d«      ¬«      }| j                  |«      sJ ‚t        j                  g d¢t        j                  d«      ¬«      } t        j                  t        j                  d¬	«      t        j                  d¬	«      d gt        j                  d«      ¬«      }| j                  |«      sJ ‚t        j                  g d¢t        j                  d«      ¬«      } t        j                  t        j                  d¬	«      t        j                  d¬	«      d gt        j                  d«      ¬«      }| j                  |«      sJ ‚y )Nr~   rˆ   rS   r   )Úsecondr   r‰   éè  )ÚmicrosecondrÏ  rŠ   )r
  rÏ  Nr‹   )r   r   r­  rÏ   rÚ   rÀ   r³  )r<   r=   s     r   Útest_time32_time64_from_integerr  i	  s�  € ä�X‰X’l¬¯©°3«Ô8€FÜ�x‰xœŸ™¨aÔ0Ü!Ÿ™¨aÔ0°$ð8äŸY™Y s›^ô-€Hð �=‰=˜Ô"Ð"Ð"ä�X‰X’l¬¯©°4«Ô9€FÜ�x‰xœŸ™°4Ô8Ü!Ÿ™°4Ô8¸$ð@äŸY™Y t›_ô.€Hð �=‰=˜Ô"Ð"Ð"ä�X‰X’l¬¯©°4«Ô9€FÜ�x‰xœŸ™°1Ô5Ü!Ÿ™°1Ô5°tð=äŸY™Y t›_ô.€Hð �=‰=˜Ô"Ð"Ð"ä�X‰XÒ(¬r¯y©y¸«Ô?€FÜ�x‰xœŸ™°1Ô5Ü!Ÿ™°1Ô5°tð=äŸY™Y t›_ô.€Hð �=‰=˜Ô"Ð"Ñ"r   c                  ó*   — d„ }  | d«        | d«       y )Nc                 ó¬   — t        j                  dt        j                  g| d¬«      }t        j                  dd g| ¬«      }|j	                  |«      sJ ‚y )NrÉ   T©rT   Úfrom_pandasrS   )r   r   re   ro  rÀ   rÂ   s      r   Ú_check_casez=test_binary_string_pandas_null_sentinels.<locals>._check_case‡	  sD   € Ü�h‰h˜¤"§&¡&Ð)°ÀÔEˆÜ—8‘8˜X tÐ,°2Ô6ˆØ�z‰z˜(Ô#Ð#Ñ#r   rR   r  r2   )r  s    r   Ú(test_binary_string_pandas_null_sentinelsr  „	  s   € ò$ñ �ÔÙ�Õr   c                  óè  — d t         j                  gdfdt         j                  gdfdt         j                  gdfdt         j                  gdfdt         j                  gdfdt         j                  gt        j                  d«      fd	t         j                  gt        j                  «       ft        j                  d
«      t         j                  gt        j                  dd«      fdt         j                  gt        j                  «       fdt         j                  gt        j                  «       fdt         j                  gt        j                  «       fdt         j                  gt        j                  d«      fdt         j                  gt        j                  d«      fdt         j                  gt        j                  d«      fdt         j                  gt        j                  d«      fg} | D ]t  \  }}t        j                  t         t"        f«      5  t        j$                  ||¬«       d d d «       t        j$                  ||d	¬«      }|j&                  |dk7  rdndk(  rŒtJ ‚ y # 1 sw Y   Œ<xY w)NrÁ   rÉ   rR   r  rU   Ú
large_utf8s   stringrø   Tr©   rÞ  r   r   rˆ   rŠ   rS   r  r   )re   ro  r   rR   rÐ  r^  r_  r`  r¸  rÌ  r­  r³  r‘   r”   r.   r/   rt   r0   r   rÞ   )râ   r	  r½   r<   s       r   Ú&test_pandas_null_sentinels_raise_errorr  �	  sÐ  € ð ”—‘ˆ˜Ð Ø
”B—F‘FÐ	˜XÐ&Ø
”B—F‘FÐ	˜VÐ$Ø
”B—F‘FÐ	˜^Ð,Ø
”B—F‘FÐ	˜\Ð*Ø
”R—V‘VÐ	œbŸi™i¨›lÐ+Ø
”—‘ˆœŸ™›Ð$Ü
�/‰/˜#Ó
¤§¡Ð	'¬¯©°r¸1Ó)=Ð>Ø
ŒR�V‰Vˆ”b—i‘i“kÐ"Ø
ŒR�V‰Vˆ”b—i‘i“kÐ"Ø
ŒR�V‰Vˆ”b—i‘i“kÐ"Ø
ŒR�V‰Vˆ”b—i‘i “nÐ%Ø
ŒR�V‰Vˆ”b—i‘i “oÐ&Ø
ŒR�V‰Vˆ”b—l‘l 4Ó(Ð)Ø
ŒR�V‰Vˆ”b—k‘k $Ó'Ð(ð€Eð" ò ?‰ˆˆbä�]‰]œJ¬	Ð2Ó3ñ 	$Ü�H‰H�T Õ#÷	$ô —‘˜$ R°TÔ:ˆØ× Ñ ¨"°ª,¡Q¸AÓ>Ð>Ð>ñ?÷	$ð 	$ús   ÈI(É(I1	c                  óü   — dd l } | j                  ddt        j                  gt        ¬«      }t        j                  |«      }t        j                  ddt        j                  gd¬«      }|j                  |«      sJ ‚y )Nr   r   r   r|   T)r  )ÚpandasÚIndexre   ro  r   r   r   rÀ   )Úpdrò   r<   r=   s       r   Ú test_pandas_null_sentinels_indexr  ­	  s\   € ó Ø
�(‰(�A�qœ"Ÿ&™&�>¬ˆ(Ó
0€CÜ�X‰X�c‹]€FÜ�x‰x˜˜AœrŸv™v˜°DÔ9€HØ�=‰=˜Ô"Ð"Ñ"r   c                  óÊ  — t        j                  d t        j                  ddd«      gd¬«      } t	        j                  | «      }t	        j                  d t        j                  ddd«      gt	        j
                  «       ¬«      }|j                  |«      sJ ‚|j                  d¬«      }t         j                  j                  || «       |j                  | j                  k(  sJ ‚y )Néá  rm   zdatetime64[D]r|   rS   Frq   )re   r   rÏ   rÐ   r   r¸  rÀ   r]   rg   rh   r}   r;   s      r   Ú)test_array_roundtrip_from_numpy_datetimeDr  ¸	  s¥   € ä
�(‰(�Dœ(Ÿ-™-¨¨a°Ó3Ð4¸OÔ
L€Cä�X‰X�c‹]€FÜ�x‰x˜œxŸ}™}¨T°1°aÓ8Ð9ÄÇ	Á	ÃÔL€HØ�=‰=˜Ô"Ð"Ð"Ø�_‰_¨Eˆ_Ó2€FÜ‡J�J×!Ñ! &¨#Ô.Ø�<‰<˜3Ÿ9™9Ò$Ð$Ñ$r   c                  óà   — t        j                  d t        j                  dddddd«      t        j                  ddddd	d«      g«      } | j                  t        j                  d
d ¬«      k(  sJ ‚y )Nr  rm   rÞ  rW   r7   éâ  r   r   r   rŠ   r�   )r   r   rÏ   rT   r‘   r+   s    r   Útest_array_from_naive_datetimesr   Ä	  sg   € Ü
�(‰(ØÜ×Ñ˜$  1 b¨"¨bÓ1Ü×Ñ˜$  1 a¨¨AÓ.ðó €Cð
 �8‰8”r—|‘| D¨TÔ2Ò2Ð2Ñ2r   )r}   rT   údatetime64[s]rˆ   údatetime64[ms]r‰   zdatetime64[us]rŠ   zdatetime64[ns]r‹   c           
      ó¢  — d t        j                   dddddd«      t        j                   ddddd	d«      g}t        j                  t        j                  || ¬
«      «      }t        j                  ||¬«      }|j	                  |«      sJ ‚t        j                  t        t        j                  || ¬
«      «      «      }|j	                  |«      sJ ‚y )Nr  rm   rÞ  rW   r7   r  r   r   r   r|   rS   )rÏ   r   r   re   rÀ   r  )r}   rT   ra   r"   r=   s        r   Útest_array_from_numpy_datetimer$  Í	  s­   € ð 	Ü×Ñ˜$  1 b¨"¨bÓ1Ü×Ñ˜$  1 a¨¨AÓ.ð€Dô �(‰(”2—8‘8˜D¨Ô.Ó
/€CÜ�x‰x˜ 4Ô(€HØ�:‰:�hÔÐÐô �(‰(”4œŸ™ ¨UÔ3Ó4Ó
5€CØ�:‰:�hÔÐÑr   c            
      ó¢  — d t        j                   dddddd«      t        j                   ddddd	d«      g} t        j                  | d
¬«      }t        j                  | d¬«      }t        |d d	 «      t        |d	d  «      z   } t	        j
                  t        j                  d¬«      5  t        j                  | «       d d d «       y # 1 sw Y   y xY w)Nr  rm   rÞ  rW   r7   r  r   r   r   r!  r|   r"  z*Cannot mix NumPy datetime64 units s and msro   )rÏ   re   r   r  r.   r/   r   r  )ra   rˆ   r‰   s      r   Ú5test_array_from_different_numpy_datetime_units_raisesr&  å	  sµ   € ð 	Ü×Ñ˜$  1 b¨"¨bÓ1Ü×Ñ˜$  1 a¨¨AÓ.ð€Dô
 	�‰�˜_Ô-€AÜ	�‰�$Ð.Ô	/€BÜ��"�1�‹;œ˜b  ˜f›Ñ%€Dä	�‰”r—‘ØIô
Kñ ä
�‰�Œ÷÷ ñ ús   Â&CÃC)ÚYÚMÚWÚhÚmÚpsÚfsÚasc                 ó  — t        j                  dd«      g}t        j                  d| «      g}||z   }t        j                  t        j
                  d| › �¬«      5  t	        j                  |«       d d d «       y # 1 sw Y   y xY w)Nz
2020-01-01rˆ   Ú2020z(Cannot mix NumPy datetime64 units s and ro   ©re   Ú
datetime64r.   r/   r   r  r   )r‡   Ús_dataÚunsupported_datara   s       r   Ú5test_array_from_unsupported_numpy_datetime_unit_namesr5  õ	  su   € ô �m‰m˜L¨#Ó.Ð/€FÜŸ™ f¨dÓ3Ð4Ðð Ð$Ñ$€Dä	�‰”r—‘ØGÈÀvÐNô
Pñ ä
�‰�Œ÷÷ ñ ús   ÁA;Á;B)r‹   rŠ   r‰   rˆ   c                 ó˜  — t        j                  d| «      }t        j                  d| «      }t        j                  d| «      }t        j                  |||g«      }t        j                  |||gt        j                  | «      ¬«      }|j
                  |j
                  k(  sJ ‚|j
                  j                  | k(  sJ ‚|d   |d   k(  sJ ‚y )NÚNaTú2017-01-01 01:01:01.111111111ú2018-11-22 12:24:48.111111111rS   r   )re   r2  r   r   r‘   rT   r‡   )r‡   rþ   r2  ÚyÚa1Úa2s         r   Ú"test_array_from_list_of_timestampsr=  
  s©   € ô 	�‰�e˜TÓ"€AÜ
�‰Ð5°tÓ<€AÜ
�‰Ð5°tÓ<€Aä	�‰�1�a˜�)Ó	€BÜ	�‰�1�a˜�)¤"§,¡,¨tÓ"4Ô	5€Bà�7‰7�b—g‘gÒÐÐØ�7‰7�<‰<˜4ÒÐÐØˆa‰5�B�q‘EŠ>Ð‰>r   c                  ó&  — t        j                  d«      } t        j                  d«      }t        j                  d«      }t        j                  t        j
                  d¬«      5  t	        j                  | ||g«       d d d «       y # 1 sw Y   y xY w)Nr7  r8  r9  z!Cannot mix NumPy datetime64 unitsro   r1  )rþ   r2  r:  s      r   Ú+test_array_from_timestamp_with_generic_unitr?  
  sk   € ä
�‰�eÓ€AÜ
�‰Ð5Ó6€AÜ
�‰Ð5Ó6€Aä	�‰”r—‘Ø@ô
Bñ ä
�‰�!�Q˜�Ô÷÷ ñ ús   Á%BÂBztimedelta64[s]ztimedelta64[ms]ztimedelta64[us]ztimedelta64[ns]c                 óB  — d t        j                  d«      t        j                  dd«      g}t        j                  || ¬«      }t	        j                  |«      }t        |t        j                  «      sJ ‚|j                  |k(  sJ ‚t	        j                  ||¬«      }|j                  |«      sJ ‚|j                  «       |k(  sJ ‚t	        j                  t        t        j                  || ¬«      «      «      }|j                  |«      sJ ‚|j                  «       |k(  sJ ‚y )Nr   r   r|   rS   )rÏ   r×   re   r   r   r)   ÚDurationArrayrT   rÀ   rî   r  )r}   rT   ra   ri   r"   r=   s         r   Útest_array_from_numpy_timedeltarB  &
  sð   € ð 	Ü×Ñ˜1ÓÜ×Ñ˜1˜aÓ ð€Dô �X‰X�d %Ô(€FÜ
�(‰(�6Ó
€CÜ�cœ2×+Ñ+Ô,Ð,Ð,Ø�8‰8�tÒÐÐÜ�x‰x˜ 4Ô(€HØ�:‰:�hÔÐÐØ�=‰=‹?˜dÒ"Ð"Ð"ô �(‰(”4œŸ™ ¨UÔ3Ó4Ó
5€CØ�:‰:�hÔÐÐØ�=‰=‹?˜dÒ"Ð"Ñ"r   c                  óÞ  — t        j                  d«      } | gt        j                  | g«      fD ]9  }t        j                  t
        «      5  t        j                  |«       d d d «       Œ; t        j                  dd«      } | gt        j                  | g«      fD ]9  }t        j                  t
        «      5  t        j                  |«       d d d «       Œ; y # 1 sw Y   Œ±xY w# 1 sw Y   ŒRxY w)Nr   r(  )re   Útimedelta64r   r.   r/   r¶  r   )Útdra   s     r   Ú.test_array_from_numpy_timedelta_incorrect_unitrF  C
  sÈ   € ô 
�‰˜Ó	€Bà�”r—x‘x  “~Ð&ò ˆÜ�]‰]Ô.Ó/ñ 	Ü�H‰H�TŒN÷	ð 	ðô
 
�‰˜˜3Ó	€BØ�”r—x‘x  “~Ð&ò ˆÜ�]‰]Ô.Ó/ñ 	Ü�H‰H�TŒN÷	ð 	ñ÷	ð 	ú÷	ð 	ús   ÁCÂ6C#ÃC 	Ã#C,	Úbinary_typec                 ó„  — | xs t        j                  «       }t        j                  g d¢d¬«      }t        j                  || «      }|j                  |k(  sJ ‚t        j                  g d¢|¬«      }|j                  |«      sJ ‚t        j                  g d¢«      }t        j                  || |¬«      }t        j                  g d¢|¬«      }|j                  |«      sJ ‚t        j                  g d¢dz  d¬«      d d d	…   }t        j                  g d¢dz  «      d d d	…   }t        j                  || |¬«      }t        j                  g d
¢|¬«      }|j                  |«      sJ ‚t        j                  g d¢d¬«      }t        j                  || «      }t        j                  g d¢|¬«      }|j                  |«      sJ ‚y )N©ÚabcdeÚabcrA   z|S5r|   rS   rÌ  rl  ©rJ  NrA   rn   r   ©rJ  rA   NrJ  rA   NrJ  rA   ©rA   rA   rA   z|S0)r   rR   re   r   rT   rÀ   )rG  Úexpected_typer"   Ú	arrow_arrr=   rj  s         r   Útest_array_from_numpy_asciirQ  S
  sp  € ð  Ò.¤2§9¡9£;€Mä
�(‰(Ò'¨uÔ
5€Cä—‘˜˜kÓ*€IØ�>‰>˜]Ò*Ð*Ð*Ü�x‰xÒ,°=ÔA€HØ×Ñ˜HÔ%Ð%Ð%ä�8‰8Ò(Ó)€DÜ—‘˜˜k°Ô5€IÜ�x‰xÒ+°-Ô@€HØ×Ñ˜HÔ%Ð%Ð%ô �(‰(Ò'¨!Ñ+°5Ô
9¹#¸A¸#Ñ
>€CÜ�8‰8Ò(¨1Ñ,Ó-©c°¨cÑ2€DÜ—‘˜˜k°Ô5€Iä�x‰xÒKØ*ô,€Hà×Ñ˜HÔ%Ð%Ð%ô �(‰(’< uÔ
-€CÜ—‘˜˜kÓ*€IÜ�x‰xš¨=Ô9€HØ×Ñ˜HÔ%Ð%Ñ%r   c                  ó   — d t        j                  ddddddd¬«      g} t        j                  | t        j                  «       «      }t        |t        j                  «      sJ ‚|j                  t        j                  «       k(  sJ ‚d t        j                  ddt        j                  ddddd¬«      t        j                  d¬«      z  dz  g«      g}t        j                  |«      }|j                  |«      sJ ‚|j                  «       |k(  sJ ‚y )Nr   )rÇ   ÚsecondsÚmicrosecondsÚmillisecondsÚminutesÚhoursÚweeksr   rÊ   )rS  rT  rU  rV  rW  ©rT  r
  )rÏ   r×   r   r   rt  r)   ÚMonthDayNanoIntervalArrayrT   ÚMonthDayNanorÀ   rî   ©ra   r"   ro  r=   s       r   Ú"test_interval_array_from_timedeltar]  y
  s  € àÜ×Ñ ¨1¸1Ø()°1¸AÀQô	HðI€Dô �(‰(�4œ×3Ñ3Ó5Ó
6€CÜ�cœ2×7Ñ7Ô8Ð8Ð8Ø�8‰8”r×1Ñ1Ó3Ò3Ð3Ð3àÜ
�‰˜˜AÜ"×,Ñ,°QÀQØ:;ÀQØ34ô6ô #×,Ñ,¸!Ô<ñ=ð AEñEðFó 	GðH€Mô �x‰x˜Ó&€HØ�:‰:�hÔÐÐØ�=‰=‹?˜mÒ+Ð+Ñ+r   c                  óè  — ddl m}  ddlm} d  | ddddddddd¬«	      g}t	        j
                  |«      }t        |t        j                  «      sJ ‚|j                  t	        j                  «       k(  sJ ‚d t	        j                  ddt        j                  dddd¬«      t        j                  d¬	«      z  d
z  g«      g}t	        j
                  |«      }|j                  |«      sJ ‚|j                  «       j                  «       d  |ddt        j                  dddd¬«      t        j                  d¬	«      z  d¬«      gk(  sJ ‚t!        j"                  t$        «      5  t	        j
                   |dd¬«      g«       d d d «       t!        j"                  t$        «      5  t	        j
                   |dd¬«      g«       d d d «       t!        j"                  t$        «      5  t	        j
                   |dd¬«      g«       d d d «       t!        j"                  t$        «      5  t	        j
                   |d¬	«      g«       d d d «       y # 1 sw Y   ŒÉxY w# 1 sw Y   Œ•xY w# 1 sw Y   ŒaxY w# 1 sw Y   y xY w)Nr   )Úrelativedelta©Ú
DateOffsetr   )	ÚyearsÚmonthsrÇ   rS  rT  rV  rW  rX  ÚleapdaysrE  rÊ   ©rS  rT  rV  rW  rY  r
  ©rc  rÇ   rT  ÚnanosecondsiUUUrD   )rb  rc  i$I’$)rX  rÇ   l   	z )rS  rg  l   \…k£pz)Údateutil.relativedeltar_  r  ra  r   r   r)   rZ  rT   rt  r[  rÏ   r×   rÀ   rœ   rµ   r.   r/   rt   )r_  ra  ra   r"   ro  r=   s         r   Ú&test_interval_array_from_relativedeltari  �
  sG  € õ 5Ý!àÙ˜A aØ a°aØ q°¸Aô	?ð@€Dô �(‰(�4‹.€CÜ�cœ2×7Ñ7Ô8Ð8Ð8Ø�8‰8”r×1Ñ1Ó3Ò3Ð3Ð3àÜ
�‰˜˜QÜ"×,Ñ,°QÀQØ56¸aôAä"×,Ñ,¸!Ô<ñ=à@DñEðFó 	GðH€Mô �x‰x˜Ó&€HØ�:‰:�hÔÐÐØ�=‰=‹?×!Ñ!Ó#Ø‰j ¨ä%×/Ñ/¸ÈØ89ÀôDä%×/Ñ/¸QÔ?ñ@ð &'ô(ð()ò )ð )ð )ô 
�‰”zÓ	"ñ DÜ
�‰‘* O¸SÔAÐBÔC÷Dä	�‰”zÓ	"ñ AÜ
�‰‘* N¸#Ô>Ð?Ô@÷Aä	�‰”zÓ	"ñ .Ü
�‰‘*Ð&=Ø)*ô,ð -ô 	.÷.ô 
�‰”zÓ	"ñ @Ü
�‰‘*Ð+;Ô=Ð>Ô?÷@ð @÷Dð Dú÷Að Aú÷.ð .ú÷@ð @ús0   ÅIÆIÇIÈI(ÉIÉIÉI%É(I1c                  ó†  — d dg} t        j                  | t        j                  «       «      }t        |t         j                  «      sJ ‚|j
                  t        j                  «       k(  sJ ‚d t        j                  g d¢«      g}t        j                  |«      }|j                  |«      sJ ‚|j                  «       |k(  sJ ‚y )N)r   r   r  )	r   r   rt  r)   rZ  rT   r[  rÀ   rî   r\  s       r   Útest_interval_array_from_tuplerk  ¹
  s¤   € Ø�*Ð€Dô �(‰(�4œ×3Ñ3Ó5Ó
6€CÜ�cœ2×7Ñ7Ô8Ð8Ð8Ø�8‰8”r×1Ñ1Ó3Ò3Ð3Ð3àÜ
�‰š
Ó#ð%€Mô �x‰x˜Ó&€HØ�:‰:�hÔÐÐØ�=‰=‹?˜mÒ+Ð+Ñ+r   c                  ó  — ddl m}  d  | ddddddddd¬«	       | «       g}t        j                  |«      }t	        |t        j
                  «      sJ ‚|j                  t        j                  «       k(  sJ ‚d t        j                  g d¢«      t        j                  g d¢«      g}t        j                  |«      }|j                  |«      sJ ‚d  | ddt        j                  dddd¬	«      t        j                  d¬
«      z  d¬«       | dddd¬«      g}|j                  «       j                  «       |k(  sJ ‚t        j                  |g«      j                  «       j                  «       }t        |«      dk(  sJ ‚t        |d   «      |k(  sJ ‚y )Nr   r`  r   )	rb  rc  rÇ   rS  rT  rV  rW  rX  rg  )rE  rÊ   l   éE5IQ)r   r   r   rE  rÊ   re  rY  rf  )Úpandas.tseries.offsetsra  r   r   r)   rZ  rT   rt  r[  rÀ   rÏ   r×   rœ   rµ   r   r  )ra  ra   r"   ro  r=   Úexpected_from_pandasÚactual_lists          r   Ú#test_interval_array_from_dateoffsetrp  È
  s~  € å1àÙ˜ 1Ø 1°1Ø A¨Q¸Aô	?ñ 	‹ð€Dô �(‰(�4‹.€CÜ�cœ2×7Ñ7Ô8Ð8Ð8Ø�8‰8”r×1Ñ1Ó3Ò3Ð3Ð3àÜ
�‰Ò.Ó/Ü
�‰š	Ó"ð$€Mô �x‰x˜Ó&€HØ�:‰:�hÔÐÐà‰j ¨ä%×/Ñ/¸ÈØ89ÀôDä%×/Ñ/¸QÔ?ñ@ð &'ô(ñ 	˜! !°!ÀÔCðEÐð �=‰=‹?×!Ñ!Ó#Ð';Ò;Ð;Ð;ô —(‘(˜D˜6Ó"×,Ñ,Ó.×5Ñ5Ó7€KÜˆ{Ó˜qÒ Ð Ð Ü�˜A‘ÓÐ#7Ò7Ð7Ñ7r   Ústring_typec                 óž  — | xs t        j                  «       }ddg}|D �]P  }t        j                  g d¢|¬«      }t        j                  || «      }|j                  |k(  sJ ‚t        j                  g d¢|¬«      }|j                  |«      sJ ‚t        j                  g d¢«      }t        j                  || |¬«      }t        j                  g d¢|¬«      }|j                  |«      sJ ‚t        j                  g d¢d	z  |¬«      d d d
…   }t        j                  g d¢d	z  «      d d d
…   }t        j                  || |¬«      }t        j                  g d¢|¬«      }|j                  |«      r�ŒQJ ‚ t        j                  g d¢d¬«      }t        j                  || «      }t        j                  g d¢|¬«      }|j                  |«      sJ ‚y )Nz<U5z>U5rI  r|   rS   rÌ  rl  rL  rn   r   rM  rN  z<U0)r   r  re   r   rT   rÀ   )rq  rO  Údtypesr}   r"   rP  r=   rj  s           r   Útest_array_from_numpy_unicodert  ì
  sŠ  € ð  Ò,¤2§7¡7£9€Mà�Uˆ^€Fàó *ˆÜ�h‰hÒ+°5Ô9ˆä—H‘H˜S +Ó.ˆ	Ø�~‰~ Ò.Ð.Ð.Ü—8‘8Ò0°}ÔEˆØ×Ñ Ô)Ð)Ð)ä�x‰xÒ,Ó-ˆÜ—H‘H˜S +°DÔ9ˆ	Ü—8‘8Ò/°mÔDˆØ×Ñ Ô)Ð)Ð)ô �h‰hÒ+¨aÑ/°uÔ=¹cÀ¸cÑBˆÜ�x‰xÒ,¨qÑ0Ó1±#°A°#Ñ6ˆÜ—H‘H˜S +°DÔ9ˆ	ä—8‘8ò *Ø0=ô?ˆà×Ñ Ö)Ð)Ð)ð)*ô. �(‰(’< uÔ
-€CÜ—‘˜˜kÓ*€IÜ�x‰xš¨=Ô9€HØ×Ñ˜HÔ%Ð%Ñ%r   c                  óÜ   — t        j                  t        «      5  t        j                  t        j                  g d¢«      t        j                  «       ¬«       d d d «       y # 1 sw Y   y xY w©Nr   rS   )r.   r/   r0   r   r   re   rÉ   r2   r   r   Ú!test_array_string_from_non_stringrw    sB   € ô 
�‰”yÓ	!ñ 8Ü
�‰”—‘š)Ó$¬2¯9©9«;Õ7÷8÷ 8ñ 8ús   š?A"Á"A+c                  ó@  — t        j                  d d gt        ¬«      } t        j                  | t        j                  «       ¬«      }|j
                  dk(  sJ ‚t        j                  t         j                  t         j                  gd¬«      } t        j                  t        «      5  t        j                  | t        j                  «       ¬«       d d d «       t        j                  | t        j                  «       d¬«      }|j
                  dk(  sJ ‚y # 1 sw Y   ŒExY w)Nr|   rS   r   r°   Tr  )
re   r   r   r   rÉ   rÞ   ro  r.   r/   r0   )rP  r"   s     r   Útest_array_string_from_all_nullry    s¼   € ô �8‰8�T˜4�L¬Ô/€DÜ
�(‰(�4œbŸi™i›kÔ
*€CØ�>‰>˜QÒÐÐä�8‰8”R—V‘VœRŸV™VÐ$¨IÔ6€Dä	�‰”yÓ	!ñ )Ü
�‰�œBŸI™I›KÕ(÷)ä
�(‰(�4œbŸi™i›k°tÔ
<€CØ�>‰>˜QÒÐÑ÷)ð )ús   Â&*DÄDc                  óŠ  — t         j                  j                  g d¢dg d¢¬«      } t        j                  | «      }t        j                  g d¢d¬«      }|j	                  |«      sJ ‚t        j                  t        d¬«      5  t        j                  | t        j                  g d	¢«      ¬
«       d d d «       y # 1 sw Y   y xY w)Nrå  r§   r×  )r}   rj  ©r   r   Nrm   rS   z Cannot pass a numpy masked arrayro   )TFFFrl  )re   Úmar   r   rÀ   r.   r/   rt   ©r|  r<   r=   s      r   Útest_array_from_maskedr~  +  s�   € ä	�‰�‰’\¨Ú5ð 
ó 
7€Bä�X‰X�b‹\€FÜ�x‰xš¨gÔ6€HØ�?‰?˜6Ô"Ð"Ð"ä	�‰”zÐ)KÔ	Lñ AÜ
�‰�œ"Ÿ(™(Ò#>Ó?Õ@÷A÷ Añ Aús   Â-B9Â9Cc                  óÈ   — t         j                  j                  dgd¬«      } t        j                  | «      }t        j                  dgd¬«      }|j	                  |«      sJ ‚y )Nr   r§   r|   rS   )re   r|  r   r   rÀ   r}  s      r   Útest_array_from_shrunken_maskedr€  7  sK   € ä	�‰�‰�a�S ˆÓ	(€BÜ�X‰X�b‹\€FÜ�x‰x˜˜ 'Ô*€HØ�?‰?˜6Ô"Ð"Ñ"r   c                  ó|  — d} t        j                  g d¢g d¢g«      }t        j                  t        | ¬«      5  t        j                  |«       d d d «       t        j                  d«      }t        j                  t        | ¬«      5  t        j                  |«       d d d «       y # 1 sw Y   ŒXxY w# 1 sw Y   y xY w)Nz only handle 1-dimensional arraysr   rf  ro   r   r;  )rw   Úarr2dÚarr0ds      r   Ú"test_array_from_invalid_dim_raisesr„  ?  sŠ   € à
,€CÜ�H‰H’i¢Ð+Ó,€EÜ	�‰”z¨Ô	-ñ Ü
�‰�Œ÷ô �H‰H�Q‹K€EÜ	�‰”z¨Ô	-ñ Ü
�‰�Œ÷ð ÷	ð ú÷ð ús   ¹B&ÂB2Â&B/Â2B;c                  óR  — t        j                  dt        ¬«      } t        j                  | d d …df   «      }t        j                  g d¢«      }|j                  |«      sJ ‚t        j                  | dd d …f   «      }t        j                  ddg«      }|j                  |«      sJ ‚y )N)r   r   r|   r   )TTTT)re   Úonesrá  r   r   rÀ   r;   s      r   Útest_array_from_strided_boolr‡  K  s…   € ô �'‰'�&¤Ô
%€CÜ�X‰X�cš!˜Q˜$‘iÓ €FÜ�x‰xÒ*Ó+€HØ�=‰=˜Ô"Ð"Ð"Ü�X‰X�c˜!šQ˜$‘iÓ €FÜ�x‰x˜˜t˜Ó%€HØ�=‰=˜Ô"Ð"Ñ"r   c            	      ó‚  — g d¢t        j                  «       t        j                  d«      ffg d¢t        j                  «       t        j                  «       t        j                  «       t        j
                  «       ffg d¢t        j                  «       t        j                  «       ffg d¢t        j                  «       ffg} | D ]x  \  }}t        j                  |«      }|D ]Y  }d t        j                  ddg«      fD ];  }t        j                  |d d d…   ||¬«      }|d d d…   |j                  «       k(  rŒ;J ‚ Œ[ Œz y )N©ó   abs   cdó   efr   r   rE  )ÚabÚcdÚefFrl  )r   rR   rÜ   rI  rõ   r§   r2  r°   r  re   r   rî   )Úpydatarž   rs  ÚnparrayÚpatyperj  Úarrow_arrays          r   Útest_array_from_stridedr“  W  s  € ò 
¤§¡£¬b¯i©i¸«lÐ ;Ð<Ú	”R—W‘W“Y¤§¡£
¬B¯H©H«J¼¿¹»
ÐCÐDÚ	œ2Ÿ:™:›<¬¯©«Ð6Ð7Ú	œbŸg™g›i˜]Ð+ð	€Fð !ò >‰ˆ�Ü—(‘(˜6Ó"ˆØò 	>ˆFØœrŸx™x¨°¨Ó7Ð8ò >�Ü Ÿh™h w©s°¨s¡|°VØ,0ô2�à™c ˜c‘{ k×&;Ñ&;Ó&=Ó=Ð=Ð=ñ>ñ	>ñ>r   c                  ó|   — t        j                  g d¢dz  «      } | j                  dk(  sJ ‚| j                  dk(  sJ ‚y )N)TTNFNTr
  i¸  )r   r   Ú
true_countÚfalse_countr+   s    r   Ú#test_boolean_true_count_false_countr—  i  s:   € ä
�(‰(Ò8¸4Ñ?Ó
@€CØ�>‰>˜TÒ!Ð!Ð!Ø�?‰?˜dÒ"Ð"Ñ"r   c                  óš  — t        j                  g d¢t        j                  «       ¬«      } | j                  «       }t	        |«      dk(  sJ ‚|d   j                  «       }dt	        |«      cxk  rdk  sJ ‚ J ‚t        |«      d   dk(  sJ ‚| dd  }|j                  «       }|j                  dk(   t	        |«      dk(  sJ ‚|d   j                  «       }dt	        |«      cxk  rdk  sJ ‚ J ‚t        |«      d   dk(  sJ ‚t        j                  d|d   j                  «       «      d	k(  sJ ‚t        j                  t        j                  g d
¢«      «      } | j                  «       }t	        |«      dk(  sJ ‚|d   �J ‚t        j                  d|d   j                  «       «      d
k(  sJ ‚t        j                  g d¢«      } | j                  «       }t	        |«      dk(  sJ ‚|d   j                  «       }t        |«      d   dk(  sJ ‚|d   j                  «       }t        j                  d|«      dk(  sJ ‚|d   j                  «       }|dk(  sJ ‚y )Nr{  rS   r   r   r   é@   rW   Úhhxxh)r   r   rm   rf  Ú3b)s   foo!Ns   bar!!r   rn   Ú4i)r   rm   rm   rÌ   s	   foo!bar!!)r   r   rI  r^   r   Ú
to_pybytesÚ	bytearrayrG  r0  Úunpackre   rÜ   )r—   r^   Únull_bitmapÚa_slicedr¬  rž   s         r   Útest_buffers_primitiver¢  p  s/  € ä
�‰’¤r§x¡x£zÔ2€AØ�i‰i‹k€GÜˆw‹<˜1ÒÐÐØ˜!‘*×'Ñ'Ó)€KØ”�KÓ Ô& BÒ&Ð&Ñ&Ð&Ð&Ü�[Ó! !Ñ$¨
Ò2Ð2Ð2ð ��ˆu€HØ×ÑÓ €GØ‡O�O�qÒÜˆw‹<˜1ÒÐÐØ˜!‘*×'Ñ'Ó)€KØ”�KÓ Ô& BÒ&Ð&Ñ&Ð&Ð&Ü�[Ó! !Ñ$¨
Ò2Ð2Ð2ä�=‰=˜ '¨!¡*×"7Ñ"7Ó"9Ó:¸iÒGÐGÐGä
�‰”—‘šÓ#Ó$€AØ�i‰i‹k€GÜˆw‹<˜1ÒÐÐà�1‰:ÐÐÐÜ�=‰=˜˜w q™z×4Ñ4Ó6Ó7¸9ÒDÐDÐDä
�‰Ò*Ó+€AØ�i‰i‹k€GÜˆw‹<˜1ÒÐÐØ˜!‘*×'Ñ'Ó)€KÜ�[Ó! !Ñ$¨
Ò2Ð2Ð2Ø�a‰j×#Ñ#Ó%€GÜ�=‰=˜˜wÓ'¨<Ò7Ð7Ð7Ø�Q‰Z×"Ñ"Ó$€FØ�\Ò!Ð!Ñ!r   c                  óê  — t        j                  ddgd g d¢gt        j                  t        j                  «       «      ¬«      } | j	                  «       }t        |«      dk(  sJ ‚|d   j                  «       }t        |«      d   dk(  sJ ‚|d   j                  «       }t        j                  d|«      d	k(  sJ ‚|d   j                  «       }t        |«      d   d
k(  sJ ‚|d   j                  «       }t        j                  d|«      dk(  sJ ‚t        j                  g d¢t        j                  t        j                  dt        j                  «       «      t        j                  dt        j                  «       «      g«      ¬«      } | j	                  «       }t        |«      dk(  sJ ‚|d   j                  «       }t        |«      d   dk(  sJ ‚|d   j                  «       }t        |«      d   dk(  sJ ‚|d   j                  «       }t        j                  d|«      dk(  sJ ‚|d   j                  «       }t        |«      d   dk(  sJ ‚|d   j                  «       }t        j                  d|«      dk(  sJ ‚y )Nr   r   ©r   Nrm   rn   rS   rm   r   rn   rœ  rË  é7   r   Úqqq8xqq)r   r   r   rm   rn   ))é*   NN)Né+   r—   r˜   Úbxx)r§  rø   Ú4xh)r¨  )r   r   r  r§   r^   r   r�  rž  r0  rŸ  r1  rÜ   rI  )r—   r^   r   r¬  rž   s        r   Útest_buffers_nestedr«  –  s/  € Ü
�‰�1�a�&˜$¢Ð0´r·x±xÄÇÁÃ
Ó7KÔL€AØ�i‰i‹k€GÜˆw‹<˜1ÒÐÐà˜!‘*×'Ñ'Ó)€KÜ�[Ó! !Ñ$¨
Ò2Ð2Ð2Ø�a‰j×#Ñ#Ó%€GÜ�=‰=˜˜wÓ'¨<Ò7Ð7Ð7à˜!‘*×'Ñ'Ó)€KÜ�[Ó! !Ñ$¨
Ò2Ð2Ð2Ø�Q‰Z×"Ñ"Ó$€FÜ�=‰=˜ FÓ+¨Ò>Ð>Ð>ä
�‰Ò/Ü—i‘i¤§¡¨#¬r¯w©w«yÓ!9Ü!#§¡¨#¬r¯x©x«zÓ!:ð!<ó =ô	>€Að �i‰i‹k€GÜˆw‹<˜1ÒÐÐà˜!‘*×'Ñ'Ó)€KÜ�[Ó! !Ñ$¨
Ò2Ð2Ð2à˜!‘*×'Ñ'Ó)€KÜ�[Ó! !Ñ$¨
Ò2Ð2Ð2Ø�Q‰Z×"Ñ"Ó$€FÜ�=‰=˜ Ó'¨5Ò0Ð0Ð0à˜!‘*×'Ñ'Ó)€KÜ�[Ó! !Ñ$¨
Ò2Ð2Ð2Ø�Q‰Z×"Ñ"Ó$€FÜ�=‰=˜ Ó'¨5Ò0Ð0Ñ0r   c            	      ó€  — t        j                  t        j                  g d¢d¬«      «      } | j                  dk(  sJ ‚| j	                  «       dk(  sJ ‚t        j                  | «      t        j                  | «      | j                  z   k\  sJ ‚t        j                  g d¢d¬«      } | j                  dk(  sJ ‚| j	                  «       dk(  sJ ‚t        j                  | «      t        j                  | «      | j                  z   k\  sJ ‚t        j                  dd	gd g d
¢gt        j                  t        j                  «       «      ¬«      } | j                  dk(  sJ ‚| j	                  «       dk(  sJ ‚t        j                  | «      t        j                  | «      | j                  z   k\  sJ ‚t        j                  g d¢gddgggt        j                  t        j                  t        j                  «       «      «      ¬«      } | j	                  «       dk(  sJ ‚| j                  dk(  sJ ‚t        j                  dd	gddggg d¢d dggddgggt        j                  t        j                  t        j                  «       «      «      ¬«      } | j                  dd	«      }|j                  dk(  sJ ‚|j	                  «       dk(  sJ ‚y )Nrf  r§   r|   é   ©r   Nr   rS   é   r   r   r¤  é>   éB   )rn   rø   rD  rÌ   r7   é   é   r   rm   rÊ   é   r¥  )r   r   re   ÚnbytesÚget_total_buffer_sizer   Ú	getsizeofr   Ú
__sizeof__r  r§   rÜ   rY   )r—   r;  s     r   Útest_total_buffer_sizer¹  ¹  s5  € ä
�‰”—‘š)¨7Ô3Ó4€AØ�8‰8�uÒÐÐØ×"Ñ"Ó$¨Ò-Ð-Ð-Ü�=‰=˜Óœv×0Ñ0°Ó3°a·h±hÑ>Ò>Ð>Ð>Ü
�‰’ GÔ,€AØ�8‰8�wÒÐÐØ×"Ñ"Ó$¨Ò/Ð/Ð/Ü�=‰=˜Óœv×0Ñ0°Ó3°a·h±hÑ>Ò>Ð>Ð>Ü
�‰�1�a�&˜$¢Ð0´r·x±xÄÇÁÃ
Ó7KÔL€AØ�8‰8�rŠ>Ðˆ>Ø×"Ñ"Ó$Ð(=Ò=Ð=Ð=Ü�=‰=˜Óœv×0Ñ0°Ó3°a·h±hÑ>Ò>Ð>Ð>Ü
�‰’9�+  B ˜yÐ)´·±¼¿¹Ä"Ç'Á'Ã)Ó9LÓ0MÔN€AØ×"Ñ"Ó$Ð(CÒCÐCÐCØ�8‰8�rŠ>Ðˆ>Ü
�‰�A�q�6˜A˜q˜6Ð"¢Y°°q°cÐ$:¸aÀ¸W¸IÐFÜ—h‘hœrŸx™x¬¯©«	Ó2Ó3ô	5€Aà	
�‰��A‹€BØ�9‰9Ð7Ò7Ð7Ð7Ø×#Ñ#Ó%Ð)IÒIÐIÑIr   c                  óø   — t        j                  t        j                  g d¢t        j                  «       ¬«      t        j                  g d¢t        j                  «       ¬«      g«      } | j                  dk(  sJ ‚y )Nr®  rS   rf  rE  )r   rs   r   rI  rµ  )r—   s    r   Útest_nbytes_sizer»  Ñ  sP   € Ü
×Ñœ"Ÿ(™(¢<´b·h±h³jÔAÜŸ(™(¢9´2·8±8³:Ô>ð@ó 	A€Aà�8‰8�rŠ>Ð‰>r   c                  óž   — t        j                  t        «      5  t        t	        j
                  dg«      «       d d d «       y # 1 sw Y   y xY w)Nr   )r.   r/   r0   Úreprr   ÚTensorr2   r   r   Ú$test_invalid_tensor_constructor_reprr¿  ×  s5   € ä	�‰”yÓ	!ñ ÜŒR�Y‰Y˜�s‹^Ô÷÷ ñ úó   š AÁAc                  óˆ   — t        j                  t        «      5  t        j                  «        d d d «       y # 1 sw Y   y xY wr:  )r.   r/   r0   r   r¾  r2   r   r   Ú test_invalid_tensor_constructionrÂ  Ý  s,   € Ü	�‰”yÓ	!ñ Ü
�	‰	Œ÷÷ ñ ús	   š8¸A)Úoffset_typer[  c           
      ó0  —  | |t        j                  «       «      «      }t        j                  d g d¢d ddggg g ddgd gddggg|¬«      }t        j                  g d	¢| ¬«      } |t        j                  «       «      }t        j                  g d¢d ddgg ddgd ddgg|¬«      }t        j                  g d
¢| ¬«      }t        j                  g d¢t        j                  «       ¬«      }|j                  «       j	                  |«      sJ ‚|j
                  j	                  |«      sJ ‚|j                  j	                  |«      sJ ‚|j                  «       j	                  |«      sJ ‚|j
                  j	                  |«      sJ ‚|j                  j	                  |«      sJ ‚|j                  «       j                  «       j	                  |«      sJ ‚|j                  j                  j	                  |«      sJ ‚|j                  d«      j	                  |«      sJ ‚y )Nr&   r   rm   rn   rø   rD  rÊ   rS   )r   r   r   r   rø   rD  )r   r   r   rn   rn   rD  rD  rÌ   ©	r   Nr   r   rm   rn   rø   rD  rÊ   T)r   r§   r   ÚflattenrÀ   r¬  rž   )	rÃ  r[  r7  r  r¯  r6  r  Úoffsets1Úarr0s	            r   Útest_list_array_flattenrÉ  â  sô  € ñ ÙÜ�H‰H‹Jó	
ó€Dô
 �8‰8ØâØØ�ˆFð	
ð
 	àØ�ˆFØð	
ð �ˆFð	
ðð  ô!€Dô" �x‰xÒ*°Ô=€HáœRŸX™X›ZÓ(€DÜ�8‰8ÚØØ	
ˆAˆØ
Ø	
ˆAˆØØ	
ˆAˆðð ô€Dô �x‰xÒ0°{ÔC€Hä�8‰8ò ô
 �H‰H‹Jô€Dð �<‰<‹>× Ñ  Ô&Ð&Ð&Ø�<‰<×Ñ˜xÔ(Ð(Ð(Ø�;‰;×Ñ˜dÔ#Ð#Ð#Ø�<‰<‹>× Ñ  Ô&Ð&Ð&Ø�<‰<×Ñ˜xÔ(Ð(Ð(Ø�;‰;×Ñ˜dÔ#Ð#Ð#Ø�<‰<‹>×!Ñ!Ó#×*Ñ*¨4Ô0Ð0Ð0Ø�;‰;×Ñ×$Ñ$ TÔ*Ð*Ð*Ø�<‰<˜Ó×$Ñ$ TÔ*Ð*Ñ*r   Ú	list_type©rà  c                 óÞ   — t        j                  ddgd d d gddgg| ¬«      }t        j                  g d¢t        j                  «       ¬«      }|j                  «       j	                  |«      sJ ‚y )Nr   r   r   rm   rS   )r   r   r   r   r   r   )r   r   r§   Úvalue_parent_indicesrÀ   )rÊ  r"   r=   s      r   Útest_list_value_parent_indicesrÎ    sj   € ô
 �(‰(à�ˆFØØ�4ˆLØ�ˆFð		
ð
 ô€Cô �x‰xÒ*´·±³Ô<€HØ×#Ñ#Ó%×,Ñ,¨XÔ6Ð6Ñ6r   )rÃ  rÊ  c                 óF  — t        |dd «      r;t        j                  ddgd d d gddgg|¬«      }t        j                  g d¢| ¬«      }n8t        j                  g d¢d g ddgg|¬«      }t        j                  g d	¢| ¬«      }|j                  «       j	                  |«      sJ ‚y )
Nrà  r   r   r   rm   rS   )r   Nr   r   r]  )r   Nr   r   )Úgetattrr   r   Úvalue_lengthsrÀ   )rÃ  rÊ  r"   r=   s       r   Útest_list_value_lengthsrÒ  +  s«   € ô ˆy˜+ tÔ,Ü�h‰hà�A�ØØ�t�Ø�A�ð	ð
 ôˆô —8‘8šO°+Ô>‰ô �h‰hâØØØ�A�ð	ð
 ôˆô —8‘8šO°+Ô>ˆØ×ÑÓ×%Ñ% hÔ/Ð/Ñ/r   c                 ó”  —  | t        j                  «       «      }t        j                  dgddgg d¢g|¬«      }|j                  «       d d }t        j                  d«      |d<   |j                  |j                  t        |«      ||j                  g¬«      }|j                  «       dgd g d¢gk(  sJ ‚|j                  j                  «       g d	¢k(  sJ ‚|j                  «       }|j                  d
¬«       |j                  |j                  k(  sJ ‚|j                  «       g d¢k(  sJ ‚|j                  j                  «       g d¢k(  sJ ‚y )Nr   r   r   rf  rS   ó   r   r^  )r   r   r   rø   Tr  )r   rm   rn   rø   ©r   r   r   rm   rn   rø   )r   r§   r   r^   rH  rJ  rT   r   rž   rî   r¬  rÆ  rú   Ú
value_type)r[  r®  r"   r^   Ú	flatteneds        r   Ú%test_list_array_flatten_non_canonicalrØ  K  s  € ñ œBŸH™H›JÓ
'€CÜ
�(‰(�Q�C˜!˜Q˜¢Ð+°#Ô
6€CØ�k‰k‹m˜B˜QÐ€GÜ—‘˜gÓ&€GˆA�JØ
×
Ñ
˜3Ÿ8™8¤S¨£X¨wÀ#Ç*Á*ÀÐ
Ó
N€CØ�=‰=‹? ˜s Dª)Ð4Ò4Ð4Ð4Ø�;‰;× Ñ Ó"¢lÒ2Ð2Ð2à—‘“€IØ×Ñ˜DÐÔ!Ø�>‰>˜SŸ^™^Ò+Ð+Ð+Ø×ÑÓ ¢LÒ0Ð0Ð0ð �:‰:×ÑÓ!Ò%7Ò7Ð7Ñ7r   Úklassc                 ó|  — | j                  g d¢g d¢¬«      }|j                  j                  «       g d¢k(  sJ ‚|j                  j                  «       g d¢k(  sJ ‚|dd  }|j                  j                  «       g d¢k(  sJ ‚|j                  j                  «       g d¢k(  sJ ‚|j	                  «       j                  «       g d¢k(  sJ ‚|j                  d   j                  «       }|j                  d   j                  «       }|d   j                  «       |j                  || j                  «       cxk(  rdgk(  sJ ‚ J ‚y )	N)r   r   rm   rø   rÕ  )r¬  rž   r   )r   rm   rø   rf  r   rm   ©rº   rž   rî   r¬  rÆ  r'   )rÙ  r"   r  r    r'  s        r   Ú%test_list_array_values_offsets_slicedrÜ  _  s  € ð ×
Ñ
¢LÒ9KÐ
Ó
L€CØ�:‰:×ÑÓ!Ò%7Ò7Ð7Ð7Ø�;‰;× Ñ Ó"¢lÒ2Ð2Ð2ð
 ˆqˆrˆ7€DØ�;‰;× Ñ Ó"Ò&8Ò8Ð8Ð8Ø�<‰<×!Ñ!Ó#¢yÒ0Ð0Ð0Ø�<‰<‹>×#Ñ#Ó%ªÒ2Ð2Ð2Ø�‰�Q‰×ÑÓ€AØ�‰�Q‰×ÑÓ€AØ�‰7�=‰=‹?˜dŸk™k¨!¨AÐ.×8Ñ8Ó:ÔA¸q¸cÒAÐAÑAÐAÑAr   c            	      óÞ  — t        j                  t        j                  t        j                  «       d«      d«      } t        j                  ddgddgddggd dd gd dd	ggg| ¬
«      }|j                  j                  | «      sJ ‚t        j                  t        j                  «       d«      }t        j                  ddgddgddgdd gd dd	gg|¬
«      }|j                  j                  |«      sJ ‚|j                  «       j                  |«      sJ ‚t        j                  «       }t        j                  g d¢|¬
«      }|j                  j                  |«      sJ ‚|j                  «       j                  |«      sJ ‚|j                  «       j                  «       j                  |«      sJ ‚|j                  «       j                  |«      sJ ‚|j                  d«      j                  |«      sJ ‚y )Nr   r   r   rm   rn   rø   rD  rÊ   rÌ   rS   )
r   r   r   rm   rn   rø   rD  NrÊ   rÌ   T)r   r  r§   r   rT   rÀ   rÆ  )r7  r  r6  r  Útyp0rÈ  s         r   Ú"test_fixed_size_list_array_flattenrß  r  s½  € Ü�8‰8”B—H‘HœRŸX™X›Z¨Ó+¨QÓ/€DÜ�8‰8à�ˆFØ�ˆFØ�ˆFð	
ð
 	à�ˆIØØ�ˆFð	
ðð ô€Dð �9‰9×Ñ˜DÔ!Ð!Ð!ä�8‰8”B—H‘H“J Ó"€DÜ�8‰8Ø	
ˆAˆ��A�˜˜A˜Ø	
ˆDˆ	�4˜!˜Q˜ðð ô€Dð �9‰9×Ñ˜DÔ!Ð!Ð!Ø�<‰<‹>× Ñ  Ô&Ð&Ð&ä�8‰8‹:€DÜ�8‰8ò àô€Dð �9‰9×Ñ˜DÔ!Ð!Ð!Ø�<‰<‹>× Ñ  Ô&Ð&Ð&Ø�<‰<‹>×!Ñ!Ó#×*Ñ*¨4Ô0Ð0Ð0Ø�<‰<‹>× Ñ  Ô&Ð&Ð&Ø�<‰<˜Ó×$Ñ$ TÔ*Ð*Ñ*r   c                  ó  — t        j                  dgdgdggt        j                  t        j                  «       d¬«      ¬«      } | dd  j	                  «       t        j                  dgt        j                  «       ¬«      k(  sJ ‚y )Nr   r   r   rË  rS   )r   r   r  r°   rÆ  )r   s    r   Ú-test_fixed_size_list_array_flatten_with_slicerá  –  sb   € Ü�H‰H�q�c˜A˜3  �_ÜŸ(™(¤2§:¡:£<¸1Ô=ô?€Eà��ˆ9×ÑÓ¤"§(¡(¨A¨3´R·Z±Z³\Ô"BÒBÐBÑBr   c            	      óZ  — t        j                  t        j                  «       t        j                  «       «      } t        j                  t        j
                  dt        j                  «       d¬«      t        j
                  dt        j                  «       «      g«      }t        j                  ddgdgg| ¬«      }|j                  j                  j                  |«      sJ ‚|j                  t        j                  d	d
dœdddœdddœg|¬«      k(  sJ ‚|j                  j                  t        j                  g d¢«      «      sJ ‚|j                  j                  t        j                  g d¢t        j                  «       ¬«      «      sJ ‚t         j                  j                  |j                  |j                  «      j                  t        j                  d	dgdgg«      «      sJ ‚t         j                  j                  |j                  |j                  «      j                  t        j                  d
dgdggt        j                  t        j                  «       «      ¬«      «      sJ ‚t!        j"                  t$        «      5  |j'                  «        d d d «       y # 1 sw Y   y xY w)NÚkeyFrg  rã   rÀ  rÁ  rÂ  rS   r—   r   )rã  rã   r˜   r   r³   r   r²   r   )r   rº  r  rõ   r0  r1  r   rž   rT   rÀ   r×  rØ  ræ  rº   r¬  r  r.   r/   r¶  rÆ  )r½   Ú	ty_valuesr—   s      r   Útest_map_array_values_offsetsrå  œ  sê  € Ü	�‰”—‘“œBŸH™H›JÓ	'€BÜ—	‘	œ2Ÿ8™8 E¬2¯7©7«9¸uÔEÜŸ8™8 G¬R¯X©X«ZÓ8ð:ó ;€Iä
�‰�8˜XÐ&¨¨
Ð3¸"Ô=€Aà�8‰8�=‰=×Ñ 	Ô*Ð*Ð*Ø�8‰8”r—x‘xØ˜aÑ Ø˜aÑ Ø˜aÑ ð!ð ô	ò ð ð ð
 �6‰6�=‰=œŸ™¢/Ó2Ô3Ð3Ð3Ø�7‰7�>‰>œ"Ÿ(™(¢9´2·8±8³:Ô>Ô?Ð?Ð?ä�<‰<×#Ñ# A§I¡I¨q¯v©vÓ6×=Ñ=Ü
�‰�3˜�*˜s˜eÐ$Ó%ô'ð 'ð 'ä�<‰<×#Ñ# A§I¡I¨q¯w©wÓ7×>Ñ>Ü
�‰�1�a�&˜1˜#�¤R§X¡X¬b¯h©h«jÓ%9Ô:ô<ð <ð <ô 
�‰Ô*Ó	+ñ Ø	�	‰	Œ÷÷ ñ ús   ÊJ!Ê!J*c                  óF  — t        j                  t        j                  dt        j                  «       «      t        j                  dt        j                  «       «      g«      } t        j
                  g d¢| ¬«      }|j                  «       \  }}|j                  t        j                  «       k(  sJ ‚|j                  t        j                  «       k(  sJ ‚|j                  «       g d¢k(  sJ ‚|j                  «       g d¢k(  sJ ‚|dd  j                  «       \  }}|j                  «       dd	gk(  sJ ‚|j                  «       d
dgk(  sJ ‚t        j
                  g d¢| ¬«      }|j                  «       \  }}|j                  «       g d¢k(  sJ ‚|j                  «       g d¢k(  sJ ‚|dd  j                  «       \  }}|j                  «       d dgk(  sJ ‚|j                  «       d d
gk(  sJ ‚t        j
                  g d¢| ¬«      }|j                  «       \  }}|j                  «       g d¢k(  sJ ‚|j                  «       g d¢k(  sJ ‚|dd  j                  «       \  }}|j                  «       dd gk(  sJ ‚|j                  «       dd
gk(  sJ ‚t        j
                  g d¢| ¬«      }|j                  «       \  }}|j                  «       g d¢k(  sJ ‚|j                  «       g d¢k(  sJ ‚|dd  j                  «       \  }}|j                  «       d d gk(  sJ ‚|j                  «       d dgk(  sJ ‚y )Nr2  r:  r*  rS   rÍ  ©r,  r.  r/  r   r   rn   r.  r/  )r+  Nr-  r®  )r,  Nr.  )©r   N)r   ç      @)Nr.  r~   )Nré  r.  r   ré  )rè  N)Nr,  )r   NN)NNr,  r,  )	r   r0  r1  rI  r2  r   rÆ  rT   rî   )r½   r—   ÚxsÚyss       r   Útest_struct_array_flattenrì  ´  s£  € Ü	�‰”B—H‘H˜S¤"§(¡(£*Ó-Ü—H‘H˜S¤"§*¡*£,Ó/ð1ó 
2€Bä
�‰Ò/°bÔ9€AØ�Y‰Y‹[�F€BˆØ�7‰7”b—h‘h“jÒ Ð Ð Ø�7‰7”b—j‘j“lÒ"Ð"Ð"Ø�<‰<‹>šYÒ&Ð&Ð&Ø�<‰<‹>š_Ò,Ð,Ð,ØˆqˆrˆU�]‰]‹_�F€BˆØ�<‰<‹>˜a ˜VÒ#Ð#Ð#Ø�<‰<‹>˜c 3˜ZÒ'Ð'Ð'ä
�‰Ò+°"Ô5€AØ�Y‰Y‹[�F€BˆØ�<‰<‹>š\Ò)Ð)Ð)Ø�<‰<‹>Ò-Ò-Ð-Ð-ØˆqˆrˆU�]‰]‹_�F€BˆØ�<‰<‹>˜d A˜YÒ&Ð&Ð&Ø�<‰<‹>˜d C˜[Ò(Ð(Ð(ä
�‰Ò3¸"Ô=€AØ�Y‰Y‹[�F€BˆØ�<‰<‹>š\Ò)Ð)Ð)Ø�<‰<‹>Ò-Ò-Ð-Ð-ØˆqˆrˆU�]‰]‹_�F€BˆØ�<‰<‹>˜a ˜YÒ&Ð&Ð&Ø�<‰<‹>˜c 3˜ZÒ'Ð'Ð'ä
�‰Ò/°bÔ9€AØ�Y‰Y‹[�F€BˆØ�<‰<‹>š_Ò,Ð,Ð,Ø�<‰<‹>Ò.Ò.Ð.Ð.ØˆqˆrˆU�]‰]‹_�F€BˆØ�<‰<‹>˜d D˜\Ò)Ð)Ð)Ø�<‰<‹>˜d C˜[Ò(Ð(Ñ(r   c                  ó´  — t        j                  t        j                  dt        j                  «       «      t        j                  dt        j                  «       «      g«      } t        j
                  g d¢| ¬«      }|j                  d«      }|j                  d«      }|j                  d«      }|j                  d«      }|j                  d«      }|j                  d«      }t        |t         j                  j                  «      sJ ‚t        |t         j                  j                  «      sJ ‚|j                  t        j
                  g d	¢t        j                  «       ¬«      «      sJ ‚|j                  t        j
                  g d
¢t        j                  «       ¬«      «      sJ ‚|j                  |«      sJ ‚|j                  |«      sJ ‚|j                  |«      sJ ‚|j                  |«      sJ ‚d t        j                  «       fD ]5  }t        j                  t        «      5  |j                  |«       d d d «       Œ7 dD ]5  }t        j                  t        «      5  |j                  |«       d d d «       Œ7 dD ]5  }	t        j                  t        «      5  |j                  |	«       d d d «       Œ7 y # 1 sw Y   Œ¶xY w# 1 sw Y   ŒˆxY w# 1 sw Y   ŒZxY w)Nr2  r:  r*  rS   r   r   rí   rÈ   rÍ  rç  ©r   r  ©ÚzrA   )r   r0  r1  rI  r2  r   r)   r¶   Ú
Int16ArrayÚ
FloatArrayrÀ   r.   r/   r0   rï   rò  ©
r½   r—   Úx0Úy0Úx1Úy1Úx2Úy2Úinvalid_indexÚinvalid_names
             r   Útest_struct_array_fieldrü  Ú  s'  € Ü	�‰”B—H‘H˜S¤"§(¡(£*Ó-Ü—H‘H˜S¤"§*¡*£,Ó/ð1ó 
2€Bä
�‰Ò/°bÔ9€Aà	
�‰�‹€BØ	
�‰�‹€BØ	
�‰�‹€BØ	
�‰�‹€BØ	
�‰�‹€BØ	
�‰�‹€Bä�bœ"Ÿ&™&×+Ñ+Ô,Ð,Ð,Ü�bœ"Ÿ&™&×+Ñ+Ô,Ð,Ð,Ø�9‰9”R—X‘Xši¬b¯h©h«jÔ9Ô:Ð:Ð:Ø�9‰9”R—X‘Xšo´B·J±J³LÔAÔBÐBÐBØ�9‰9�RŒ=Ðˆ=Ø�9‰9�RŒ=Ðˆ=Ø�9‰9�RŒ=Ðˆ=Ø�9‰9�RŒ=Ðˆ=à¤§¡£
Ð+ò #ˆÜ�]‰]œ9Ó%ñ 	#Ø�G‰G�MÔ"÷	#ð 	#ð#ð !ò #ˆÜ�]‰]œ:Ó&ñ 	#Ø�G‰G�MÔ"÷	#ð 	#ð#ð "ò "ˆÜ�]‰]œ8Ó$ñ 	"Ø�G‰G�LÔ!÷	"ð 	"ñ"÷	#ð 	#ú÷	#ð 	#ú÷	"ð 	"ús$   È%J6ÉKÊKÊ6J?	ËK	ËK	c                  óà  — t        j                  t        j                  dt        j                  «       «      t        j                  dt        j                  «       «      g«      } t        j
                  g d¢| t        j
                  g d¢«      ¬«      }|j                  d«      }|j                  d«      }|j                  d«      }|j                  d	«      }|j                  d«      }|j                  d«      }t        |t         j                  j                  «      sJ ‚t        |t         j                  j                  «      sJ ‚|j                  t        j
                  g d
¢t        j                  «       ¬«      «      sJ ‚|j                  t        j
                  g d¢t        j                  «       ¬«      «      sJ ‚|j                  |«      sJ ‚|j                  |«      sJ ‚|j                  |«      sJ ‚|j                  |«      sJ ‚d t        j                  «       fD ]5  }t        j                  t        «      5  |j                  |«       d d d «       Œ7 dD ]5  }t        j                  t        «      5  |j                  |«       d d d «       Œ7 dD ]5  }	t        j                  t         «      5  |j                  |	«       d d d «       Œ7 y # 1 sw Y   Œ¶xY w# 1 sw Y   ŒˆxY w# 1 sw Y   ŒZxY w)Nr2  r:  r*  rÌ  rß  r   r   rí   rÈ   )r   Nrn   rS   )r,  Nr/  rî  rï  )r   r0  r1  rI  r2  r   Ú_flattened_fieldr)   r¶   rñ  rò  rÀ   r.   r/   r0   rï   rò  ró  s
             r   Ú!test_struct_array_flattened_fieldrÿ  ü  sQ  € Ü	�‰”B—H‘H˜S¤"§(¡(£*Ó-Ü—H‘H˜S¤"§*¡*£,Ó/ð1ó 
2€Bä
�‰Ò/°bÜ—h‘hÒ3Ó4ô	6€Að 
×	Ñ	˜AÓ	€BØ	
×	Ñ	˜AÓ	€BØ	
×	Ñ	˜BÓ	€BØ	
×	Ñ	˜BÓ	€BØ	
×	Ñ	˜CÓ	 €BØ	
×	Ñ	˜CÓ	 €Bä�bœ"Ÿ&™&×+Ñ+Ô,Ð,Ð,Ü�bœ"Ÿ&™&×+Ñ+Ô,Ð,Ð,Ø�9‰9”R—X‘Xšl´·±³Ô<Ô=Ð=Ð=Ø�9‰9”R—X‘XÒ.´R·Z±Z³\ÔBÔCÐCÐCØ�9‰9�RŒ=Ðˆ=Ø�9‰9�RŒ=Ðˆ=Ø�9‰9�RŒ=Ðˆ=Ø�9‰9�RŒ=Ðˆ=à¤§¡£
Ð+ò .ˆÜ�]‰]œ9Ó%ñ 	.Ø×Ñ˜}Ô-÷	.ð 	.ð.ð !ò .ˆÜ�]‰]œ:Ó&ñ 	.Ø×Ñ˜}Ô-÷	.ð 	.ð.ð "ò -ˆÜ�]‰]œ8Ó$ñ 	-Ø×Ñ˜|Ô,÷	-ð 	-ñ-÷	.ð 	.ú÷	.ð 	.ú÷	-ð 	-ús$   È;KÉ5KÊ/K$ËK	ËK!	Ë$K-	c                  ó¨  — t        j                  «       t        j                  «       t        j                  «       t        j                  «       t        j
                  «       t        j                  «       t        j                  «       t        j                  «       t        j                  «       t        j                  «       t        j                  «       t        j                  «       t        j                  «       t        j                  «       t        j                  «       t        j                   «       t        j                   d¬«      t        j"                  «       g} t%        j&                  | | «      D ],  \  }}	 t        j(                  g |¬«      j+                  |«       Œ. y # t         j,                  j.                  t         j0                  f$ r Y Œ_w xY w)Nrm   )ÚlengthrS   )r   rÁ   rÐ  rÜ   rI  rõ   r§   rÙ   r#  rã  r~  r  r2  r°   r¸  rÌ  rR   rÉ   Ú	itertoolsÚproductr   r»  r¶   rÑ  r  )r   Út1Út2s      r   Útest_empty_castr    s  € ä
�‰‹	Ü
�‰‹
Ü
�‰‹	Ü
�‰‹
Ü
�‰‹
Ü
�‰‹
Ü
�‰‹
Ü
�	‰	‹Ü
�	‰	‹Ü
�	‰	‹Ü
�
‰
‹Ü
�
‰
‹Ü
�
‰
‹Ü
�	‰	‹Ü
�	‰	‹Ü
�	‰	‹Ü
�	‰	˜ÔÜ
�	‰	‹ð%€Eô* ×%Ñ% e¨UÓ3ò ‰ˆˆRð	ô �H‰H�R˜bÔ!×&Ñ& rÕ*ñ	øô
 —‘×/Ñ/´·±ÐAò 	Ùð	ús   Å8&F!Æ!-GÇGc                  ó~  — t         j                  j                  g d¢ddg«      } t         j                  j                  g d¢| «      }|j	                  «       ddgdggk(  sJ ‚t         j                  j                  g d¢ddg«      } t         j                  j                  g d¢| «      }|j	                  «       g 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È  Úlist_arrÚ	dict_arr2s      r   Útest_nested_dictionary_arrayr
  >  s¢   € Ü×!Ñ!×-Ñ-ªi¸#¸s¸ÓD€HÜ�|‰|×'Ñ'ª	°8Ó<€HØ×ÑÓ S¨# J°°Ð#6Ò6Ð6Ð6ä×!Ñ!×-Ñ-ªi¸#¸s¸ÓD€HÜ×"Ñ"×.Ñ.ªÀÓI€IØ×ÑÓ Ò$=Ò=Ð=Ñ=r   c                  ó  — t        j                  ddg«      } t        j                  ddgt        ¬«      }t        j                  | t        j                  «       «      }t        j                  |t        j                  «       «      }t        j                  ddg«      }|j                  |«      sJ ‚|j                  |«      sJ ‚t        j                  ddgt        ¬«      }t        j                  | t        j                  «       |¬«      }|j                  |«      sJ ‚t        j                  dj                  d«      g«      } t        j                  t        «      5  t        j                  | t        j                  «       «       d d d «       t        j                  t        «      5  t        j                  | t        j                  «       t        j                  dg«      ¬«       d d d «       y # 1 sw Y   ŒjxY w# 1 sw Y   y xY w)NÚtotoÚtatar|   Frl  rÁ  rÂ  )re   r   r   r   rÉ   rÀ   rá  rÄ  r.   r/   rt   )ÚvecÚvec2r"   r  r=   rj  s         r   Útest_array_from_numpy_str_utf8r  H  sk  € ô �(‰(�F˜FÐ#Ó
$€CÜ�8‰8�V˜VÐ$¬FÔ3€Dä
�(‰(�3œŸ	™	›Ó
$€CÜ�8‰8�Dœ"Ÿ)™)›+Ó&€DÜ�x‰x˜ Ð(Ó)€HØ�:‰:�hÔÐÐØ�;‰;�xÔ Ð Ð ô �8‰8�U˜E�N¬$Ô/€DÜ
�(‰(�3œŸ	™	›¨$Ô
/€CØ�:‰:�hÔÐÐô �(‰(�Y×&Ñ& {Ó3Ð4Ó
5€CÜ	�‰”zÓ	"ñ #Ü
�‰�”b—i‘i“kÔ"÷#ô 
�‰”zÓ	"ñ ;Ü
�‰�”b—i‘i“k¬¯©°%°Ó(9Õ:÷;ð ;÷#ð #ú÷;ð ;ús   Å)G,Æ$?G8Ç,G5Ç8HÚlarge_typesFc           	      óˆ  — dg}dg}t        d«      D �ci c]&  }|ddz  t        |dz  «      j                  d«      z   “Œ( }}|j                  «       D ��ci c]  \  }}||j	                  d«      “Œ }}}|t        d«      D �cg c]
  }||dz     ‘Œ c}z  }|t        d«      D �cg c]
  }||dz     ‘Œ c}z  }| rt        j                  «       nt        j                  «       }| rt        j                  «       nt        j                  «       }||f||ffD �]  \  }	}
t        j                  |	«      }t        j                  ||
«      }d }|j                  |
k(  sJ ‚| rSt        |t
        j                  «      sJ ‚t        t        |«      «      D ]  }||   }|j!                  «       |	|   k(  rŒJ ‚ Œšt        |t
        j"                  «      sJ ‚|j$                  dk(  sJ ‚d}t        |j$                  «      D ]7  }|j'                  |«      }|D ]  }|j!                  «       |	|   k(  sJ ‚|d	z  }Œ! Œ9 �Œ y c c}w c c}}w c c}w c c}w )
Nó   xr2  r7   iÿÿ r  i   é�   r   r   )rF   r¨   rÄ  rØ  Údecoder   rU   rR   r  r  re   r   rT   r)   r1   r   r'   r=  r-  rŸ  )r  rž   Úunicode_valuesr    Úunique_stringsr2  Úunicode_unique_stringsrG  rq  r	  Úex_typer"   rP  ÚvalÚvalue_indexrŸ  s                   r   Ú%test_numpy_binary_overflow_to_chunkedr  c  sX  € ð ˆV€FØ�U€Nô
 �r“öàð 	
ˆ4�=Ñ!¤C¨¨B©£K×$6Ñ$6°vÓ$>Ñ>Ñ>ð€Nð ð
 +9×*>Ñ*>Ó*@÷BÙ"& ! Qð   §¡¨&Ó!1Ñ1ð BÐñ Bà
¬u°W«~Ö>¨!ˆ~˜a "™fÓ%Ò>Ñ>€FØÜ % g£ö0Øð .¨a°"©fÓ5ò 0ñ 0€Nñ (3”"—/‘/Ô#¼¿	¹	»€KÙ%0”"—-‘-”/´b·g±g³i€KØ! ;Ð/Ø)¨;Ð7ð9ó %‰ˆˆgä�h‰h�t‹nˆÜ—H‘H˜S 'Ó*ˆ	Øˆà�~‰~ Ò(Ð(Ð(Ùä˜i¬¯©Ô2Ð2Ð2äœ3˜y›>Ó*ò .�Ø ‘l�Ø—y‘y“{ d¨1¡gÓ-Ð-Ð-ñ.ô ˜i¬¯©Ô9Ð9Ð9ð ×'Ñ'¨3Ò.Ð.Ð.àˆKÜ˜9×/Ñ/Ó0ò %�Ø!Ÿ™¨Ó*�Ø ò %�CØŸ9™9›;¨$¨{Ñ*;Ò;Ð;Ð;Ø 1Ñ$‘Kñ%ò%ñ+%ùòùóBùâ>ùò0s   ”+H/ÁH4ÂH:Â#H?c                  óº  — d} d}| gg|dz
  z  }t        j                  |«      }t        |t         j                  «      sJ ‚t	        |«      |dz
  k(  sJ ‚| gg|z  }t        j                  |«      }t        |t         j
                  «      sJ ‚t	        |«      |k(  sJ ‚t	        |j                  d«      «      |dz
  k(  sJ ‚t	        |j                  d«      «      dk(  sJ ‚y )NÁ   xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxi    r   r   )r   r   r)   r1   r   r=  rŸ  )Úkilobyte_stringÚtwo_megarP  r"   s       r   Ú#test_list_child_overflow_to_chunkedr!  —  sÔ   € à €OØ€HàÐÐ (¨Q¡,Ñ/€DÜ
�(‰(�4‹.€CÜ�cœ2Ÿ8™8Ô$Ð$Ð$Üˆs‹8�x !‘|Ò#Ð#Ð#àÐÐ Ñ)€DÜ
�(‰(�4‹.€CÜ�cœ2Ÿ?™?Ô+Ð+Ð+Üˆs‹8�xÒÐÐÜˆs�y‰y˜‹|Ó ¨1¡Ò,Ð,Ð,Üˆs�y‰y˜‹|Ó Ò!Ð!Ñ!r   c                  óV  — t        j                  g d¢g d¢¬«      } | t        j                  «       k(  sJ ‚t        j                  g d¢t        j                  g d¢«      ¬«      } | t        j
                  «       k(  sJ ‚t        j                  g g ¬«      t        j
                  «       k(  sJ ‚y )N)r5   r6   Nr   ©FFFTrl  rØ  )r   Ú
infer_typer  re   r   rÁ   )r½   s    r   Útest_infer_type_maskedr%  ©  s~   € ô 
�‰Ò.Ú7ô
9€Bà”—‘“Š?Ðˆ?ô 
�‰Ò.ÜŸH™HÒ%=Ó>ô
@€Bà”—‘“Š?Ðˆ?ô �=‰=˜ "Ô%¬¯©«Ò2Ð2Ñ2r   c                  ór  — t        j                  g d¢t        j                  g d¢«      ¬«      } | j                  t        j                  «       k(  sJ ‚t        j                  t        j                  g d¢d¬«      t        j                  g d¢«      ¬«      } | j                  t        j                  «       k(  sJ ‚y )N©rm   Nrm   rF  ©FTFTrl  r¦   r|   )r   r   re   rT   r§   r+   s    r   Útest_array_maskedr)  ¹  s}   € ô �(‰(Ò#ÜŸ™Ò!;Ó<ô>€Cà�8‰8”r—x‘x“zÒ!Ð!Ð!ô �(‰(”2—8‘8Ò,°CÔ8ÜŸ™Ò!;Ó<ô>€Cà�8‰8”r—x‘x“zÒ!Ð!Ñ!r   c                  ó‚  — t        j                  g d¢t        j                  g d¢«      ¬«      } | j                  «       g d¢k(  sJ ‚t        j                  g d¢t        j                  g d¢«      ¬«      } | j                  «       g d¢k(  sJ ‚t        j                  g d¢g d¢¬«      } | j                  «       g d¢k(  sJ ‚t        j                  g d¢g d¢¬«      } | j                  «       g d¢k(  sJ ‚t	        j
                  t         j                  «      5  t        j                  g d¢t        j                  g d¢«      ¬«      } d d d «       t	        j
                  t         j                  «      5  t        j                  g d¢g d¢¬«      } d d d «       t	        j
                  t         j                  «      5  t        j                  g d¢t        j                  g d¢«      ¬«      } d d d «       t	        j
                  t         j                  «      5  t        j                  g d¢t        j                  g d¢t        j                  g d	¢«      ¬«      ¬«      } d d d «       t	        j
                  t         j                  «      5  t        j                  g d¢t        j                  g d
¢«      ¬«      } d d d «       t	        j
                  t        «      5  t        j                  t        j                  g d¢«      g d¢¬«      } d d d «       t	        j
                  t        «      5  t        j                  t        j                  g d¢«      t        j                  g d¢«      ¬«      } 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   �Œ?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)Nr'  r(  rl  )rm   Nrm   N)rm   Nrm   r   )rm   r   Nr   )rm   NNN)r®   r¯   rF  g      @rØ  )FNFT©TFTF)r   r   re   rî   r.   r/   rÏ  r0   r+   s    r   Útest_array_supported_masksr,  Æ  s¼  € ô �(‰(Ò#ÜŸ™Ò!;Ó<ô>€Cà�=‰=‹?Ò0Ò0Ð0Ð0ä
�(‰(’?ÜŸ™Ò!;Ó<ô>€Cà�=‰=‹?Ò0Ò0Ð0Ð0ä
�(‰(’?Ú2ô4€Cà�=‰=‹?Ò0Ò0Ð0Ð0ä
�(‰(’?Ú2ô4€Cà�=‰=‹?Ò3Ò3Ð3Ð3ô 
�‰”r×(Ñ(Ó	)ñ <Ü�h‰h’ÜŸH™HÒ%9Ó:ô<ˆ÷<ô 
�‰”r×(Ñ(Ó	)ñ 2Ü�h‰h’Ú0ô2ˆ÷2ô 
�‰”r×(Ñ(Ó	)ñ <Ü�h‰h’ÜŸH™HÒ%9Ó:ô<ˆ÷<ô 
�‰”r×(Ñ(Ó	)ñ OÜ�h‰h’ÜŸH™HÒ%?Ü*,¯(©(Ò3KÓ*LôNôOˆ÷Oô
 
�‰”r×(Ñ(Ó	)ñ BÜ�h‰h’ÜŸH™HÒ%?Ó@ôBˆ÷Bô
 
�‰”yÓ	!ñ 8Ü�h‰h”r—x‘xÒ 0Ó1Ú6ô8ˆ÷8ô 
�‰”yÓ	!ñ BÜ�h‰h”r—x‘xÒ 0Ó1ÜŸH™HÒ%?Ó@ôBˆ÷Bð B÷5<ñ <ú÷2ñ 2ú÷<ñ <ú÷Oñ Oú÷
Bð Bú÷
8ð 8ú÷Bð BúsV   Ä/M)Å,M6Æ3/NÈANÉ>/NË/N)ÌAN5Í)M3Í6N ÎNÎNÎN&Î)N2Î5N>c                  ó¶   — dd l } t        j                  | j                  ddgdd¬«      | j                  ddgd¬	«      ¬
«      }|j	                  «       d dgk(  sJ ‚y )Nr   r   r—   r§   )r§  r}   TFrá  r|   rl  )r  r   r   ÚSeriesrî   )r  r"   s     r   Ú!test_array_supported_pandas_masksr/  ù  sU   € ãÜ
�(‰(�6—=‘= ! Q ¨c¸�=ÓAØŸ™ t¨U m¸6˜ÓBôD€Cà�=‰=‹?˜t Q˜iÒ'Ð'Ñ'r   c                  óò  — t        j                  dgt        j                  d«      t        j                  dg«      ¬«      } dg| j	                  «       k(  sJ ‚t        j                  t        j                  dg«      t        j                  d«      t        j                  dg«      ¬«      }dg|j	                  «       k(  sJ ‚t        j                  t        j                  dg«      t        j                  d«      t        j                  dg«      ¬«      }d g|j	                  «       k(  sJ ‚t        j                  t        j                  dg«      t        j                  «       t        j                  dg«      ¬«      }dg|j	                  «       k(  sJ ‚t        j                  t        j                  dg«      t        j                  «       t        j                  dg«      ¬«      }d g|j	                  «       k(  sJ ‚t        j                  g d¢dz  «      }t        j                  |t        j                  d«      t        j                  g d	¢dz  «      ¬«      }d
||dk(  <   g d¢dz  |j	                  «       k(  sJ ‚y )NrÔ  r   Frß  T)s   aaaó   bbbs   cccr7   r   )FFFs   XXXr1  )r   r   rR   re   rî   )Úmasked_basicÚmaskedÚmasked_nullsÚnpar’  s        r   Útest_binary_array_maskedr6    sä  € ô —8‘8˜W˜I¬B¯I©I°a«LÜ!#§¡¨5¨'Ó!2ô4€Làˆ9˜×.Ñ.Ó0Ò0Ð0Ð0ô �X‰X”b—h‘h ˜yÓ)´·	±	¸!³ÜŸ8™8 U GÓ,ô.€Fàˆ9˜×(Ñ(Ó*Ò*Ð*Ð*ä—8‘8œBŸH™H g YÓ/´b·i±iÀ³lÜ!#§¡¨4¨&Ó!1ô3€Làˆ6�\×+Ñ+Ó-Ò-Ð-Ð-ô �X‰X”b—h‘h ˜yÓ)´·	±	³ÜŸ8™8 U GÓ,ô.€Fàˆ9˜×(Ñ(Ó*Ò*Ð*Ð*ä—8‘8œBŸH™H g YÓ/´b·i±i³kÜ!#§¡¨4¨&Ó!1ô3€Làˆ6�\×+Ñ+Ó-Ò-Ð-Ð-ô �(‰(Ò+¨BÑ.Ó
/€CÜ—(‘(˜3¤R§Y¡Y¨q£\Ü "§¡Ò)>¸rÑ)AÓ BôD€Kà€Cˆˆv‰ÑÚ$ RÑ'¨K×,AÑ,AÓ,CÒCÐCÑCr   c                  ó¦  — t        j                  g d¢«      } t        j                  | d d d…   t        j                  d«      t        j                  ddg«      ¬«      }ddg|j	                  «       k(  sJ ‚t        j                  g d¢«      } t        j                  | d d d…   t        j                  d«      «      }ddg|j	                  «       k(  sJ ‚y )Nr‰  r   Frl  rŠ  r‹  )re   r   r   rR   rî   )r�  r’  s     r   Útest_binary_array_stridedr8  "  s¬   € ô �h‰hÒ,Ó-€GÜ—(‘(˜7¡3 Q 3™<¬¯©°1«Ü "§¡¨%°¨Ó 8ô:€Kà�5ˆ>˜[×2Ñ2Ó4Ò4Ð4Ð4ô �h‰hÒ,Ó-€GÜ—(‘(˜7¡3 Q 3™<¬¯©°1«Ó6€KØ�5ˆ>˜[×2Ñ2Ó4Ò4Ð4Ñ4r   c            
      óÐ  — ddgt        j                  ddgd¬«      t        dfddgt        j                  dgdgg«      t        j                  dfg d¢t        j                  ddg«      t        j                  d	ft        j                  ddg«      t        j                  ddgd¬«      t        dft        j                  ddg«      t        j                  dgdgg«      t
        dft        j                  g d¢«      t        j                  ddg«      t
        d	fg} | D ]>  \  }}}}t        j                  ||¬
«      5  t        j                  ||¬«       d d d «       Œ@ y # 1 sw Y   ŒKxY w)Nr   r   Fr¦   r|   zmust be boolean dtypezmust be 1D arrayr   zdifferent lengthro   rl  )re   r   r0   r   r  rt   r.   r/   )râ   Úobjrj  Úexrw   s        r   Útest_array_invalid_mask_raisesr<  0  sT  € ð ˆQˆ”—‘˜5 %˜.°Ô4Ü	Ð+ð	-ð ˆQˆ”—‘˜E˜7 U GÐ,Ó-Ü	�‰Ð,ð	.ò 
”B—H‘H˜e U˜^Ó,Ü	�‰Ð,ð	.ô 
�‰�1�a�&Ó	œ2Ÿ8™8 U¨E N¸#Ô>Ü	Ð+ð	-ô 
�‰�1�a�&Ó	œ2Ÿ8™8 e W¨u¨gÐ$6Ó7Ü	Ð'ð	)ô 
�‰’)Ó	œbŸh™h¨¨u ~Ó6Ü	Ð'ð	)ð!€Eð& $ò %ÑˆˆT�2�sÜ�]‰]˜2 SÔ)ñ 	%Ü�H‰H�S˜tÕ$÷	%ð 	%ñ%÷	%ð 	%ús   Ä9EÅE%	c                  óž   — t        j                  t        «      5  t        j                  t        d«      g«       d d d «       y # 1 sw Y   y xY w)Nr  )r.   r/   ÚOverflowErrorr   r   rü  r2   r   r   Útest_array_from_large_pyintsr?  K  s5   € ä	�‰”}Ó	%ñ !ä
�‰”#�g“,�Ô ÷!÷ !ñ !úrÀ  c                  ó$  — t        j                  g d¢«      } t        j                  | «      }t        j                  g d¢d¬«      }t        j                  j                  ||«       t        j                  | d¬«      }t        j                  j                  ||«       t        j                  | dd¬«      }t        j                  j                  ||«       t        j                  g d¢«      } t        j                  dd	t        j                  gd
¬«      }t        j                  | «      }t        j                  j                  ||«       t        t        j                  «      t        d«      k  rpt        j                  | d¬«      }t        j                  j                  ||«       t        j                  | d
d¬«      }t        j                  j                  ||«       nŒt        j                  t        d¬«      5  t        j                  | d¬«       d d d «       t        j                  g d¢«      } t        j                  t        «      5  t        j                  | d
d¬«       d d d «       t        j                  g d¢«      } | j                  d¬«      }|j                  j                  sJ ‚t        j                  g d¢«      } | j                  t        j                  d
«      d¬«      }|j                  d
k(  sJ ‚y # 1 sw Y   ŒêxY w# 1 sw Y   Œ¥xY w)Nr   r§   r|   F)Úcopy)r}   rA  r~   r   r   r°   z
2.0.0.dev0zUnable to avoid a copyro   T)r   r   re   r´   rg   rh   ro  r   Ú__version__r.   r/   rt   Ú	__array__ÚflagsÚ	writeabler}   r;   s      r   Útest_numpy_array_protocolrF  R  s  € ô �(‰(’9Ó
€CÜ�Z‰Z˜‹_€FÜ�x‰xš	¨Ô1€HÜ‡J�J×!Ñ! &¨(Ô3ô �X‰X�c Ô&€FÜ‡J�J×!Ñ! &¨(Ô3ä�X‰X�c ¨uÔ5€FÜ‡J�J×!Ñ! &¨(Ô3ô �(‰(’<Ó
 €CÜ�x‰x˜˜AœrŸv™v˜¨iÔ8€HÜ�Z‰Z˜‹_€FÜ‡J�J×!Ñ! &¨(Ô3äŒr�~‰~Ó¤¨Ó!6Ò6ä—‘˜# EÔ*ˆÜ
�
‰
×%Ñ% f¨hÔ7ä—‘˜# Y°UÔ;ˆÜ
�
‰
×%Ñ% f¨hÕ7ô �]‰]œ:Ð-EÔFñ 	&Ü�H‰H�S˜uÕ%÷	&ô �h‰h’yÓ!ˆÜ�]‰]œ:Ó&ñ 	7Ü�H‰H�S 	°Õ6÷	7ô �(‰(’9Ó
€CØ�]‰] ˆ]Ó%€FØ�<‰<×!Ò!Ð!Ð!ä
�(‰(’9Ó
€CØ�]‰]¤§¡¨)Ó!4¸4ˆ]Ó@€FØ�<‰<˜9Ò$Ð$Ñ$÷	&ð 	&ú÷	7ð 	7ús   Ç9K:É	LË:LÌLc                  ó²  —  G d„ d«      }  | t        j                  g d¢d¬«      «      }t        j                  |«      }t        j                  g d¢t        j                  «       ¬«      }|j	                  |«      sJ ‚t        j                  |t        j                  «       ¬«      }t        j                  g d¢t        j                  «       ¬«      }|j	                  |«      sJ ‚t        j                  |t        j
                  «       ¬«      }t        j                  g d¢t        j
                  «       ¬«      }|j	                  |«      sJ ‚t        j                  t        «      5  t        j                  |t        j                  g d¢«      ¬«       d d d «       t        j                  t        «      5  t        j                  |d	¬
«       d d d «        G d„ d«      } |t        j                  g d¢d¬«      «      }t        j                  t        «      5  t        j                  |«       d d d «        G d„ d«      } |t        j                  g d¢d¬«      «      }t        j                  |«      }t        j                  g d¢t        j                  «       ¬«      }|j	                  |«      sJ ‚ G d„ d«      }t        j                  g d¢d¬«      } |||«      }t        j                  |«      }t        j                  g d¢g d¢gt        j                  «       ¬«      }|j	                  |«      sJ ‚y # 1 sw Y   �Œ£xY w# 1 sw Y   �ŒwxY w# 1 sw Y   �Œ$xY w)Nc                   ó   — e Zd Zd„ Zdd„Zy)ú$test_array_protocol.<locals>.MyArrayc                 ó   — || _         y r:  ©ra   ©Úselfra   s     r   Ú__init__z-test_array_protocol.<locals>.MyArray.__init__…  ó	   € ØˆD�Ir   Nc                 óD   — t        j                  | j                  |¬«      S r5  )r   r   ra   ©rM  rT   s     r   Ú__arrow_array__z4test_array_protocol.<locals>.MyArray.__arrow_array__ˆ  s   € Ü—8‘8˜DŸI™I¨DÔ1Ð1r   r:  ©r7  r8  r9  rN  rR  r2   r   r   ÚMyArrayrI  „  s   „ ò	ô	2r   rT  r   r§   r|   rS   rz   rl  r   ró  c                   ó   — e Zd Zd„ Zdd„Zy)ú+test_array_protocol.<locals>.MyArrayInvalidc                 ó   — || _         y r:  rK  rL  s     r   rN  z4test_array_protocol.<locals>.MyArrayInvalid.__init__ž  rO  r   Nc                 ó@   — t        j                  | j                  «      S r:  )re   r   ra   rQ  s     r   rR  z;test_array_protocol.<locals>.MyArrayInvalid.__arrow_array__¡  s   € Ü—8‘8˜DŸI™IÓ&Ð&r   r:  rS  r2   r   r   ÚMyArrayInvalidrV  �  s   „ ò	ô	'r   rY  c                   ó   — e Zd Zd„ Zdd„Zy)ú%test_array_protocol.<locals>.MyArray2c                 ó   — || _         y r:  rK  rL  s     r   rN  z.test_array_protocol.<locals>.MyArray2.__init__«  rO  r   Nc                 óF   — t        j                  | j                  g|¬«      S r5  )r   rs   ra   rQ  s     r   rR  z5test_array_protocol.<locals>.MyArray2.__arrow_array__®  s   € Ü×#Ñ# T§Y¡Y K°dÔ;Ð;r   r:  rS  r2   r   r   ÚMyArray2r[  ª  s   „ ò	ô	<r   r^  c                   ó   — e Zd Zd„ Zdd„Zy)ú%test_array_protocol.<locals>.MyArray3c                 ó    — || _         || _        y r:  )Údata1Údata2)rM  rb  rc  s      r   rN  z.test_array_protocol.<locals>.MyArray3.__init__·  s   € ØˆDŒJØˆD�Jr   Nc                 ó\   — t        j                  | j                  | j                  g|¬«      S r5  )r   rs   rb  rc  rQ  s     r   rR  z5test_array_protocol.<locals>.MyArray3.__arrow_array__»  s"   € Ü×#Ñ# T§Z¡Z°·±Ð$<À4ÔHÐHr   r:  rS  r2   r   r   ÚMyArray3r`  ¶  s   „ ò	ô	Ir   re  )re   r   r   r§   rÀ   r°   r.   r/   rt   r0   rs   )rT  r"   r<   r=   rY  r^  re  ri   s           r   Útest_array_protocolrf  �  sH  € ÷2ñ 2ñ ”"—(‘(š9¨GÔ4Ó
5€CÜ�X‰X�c‹]€FÜ�x‰xš	¬¯©«
Ô3€HØ�=‰=˜Ô"Ð"Ð"Ü�X‰X�c¤§¡£
Ô+€FÜ�x‰xš	¬¯©«
Ô3€HØ�=‰=˜Ô"Ð"Ð"Ü�X‰X�c¤§
¡
£Ô-€FÜ�x‰xš	¬¯
©
«Ô5€HØ�=‰=˜Ô"Ð"Ð"ô 
�‰”zÓ	"ñ :Ü
�‰�œ2Ÿ8™8Ò$7Ó8Õ9÷:ä	�‰”zÓ	"ñ Ü
�‰�˜1Õ÷÷'ñ 'ñ œŸ™¢)°7Ô;Ó
<€CÜ	�‰”yÓ	!ñ Ü
�‰�Œ÷÷
<ñ <ñ ”2—8‘8šI¨WÔ5Ó
6€CÜ�X‰X�c‹]€FÜ�x‰xš	¬¯©«
Ô3€HØ�=‰=˜Ô"Ð"Ð"÷Iñ Iô �X‰X’i wÔ/€FÙ
�6˜6Ó
"€CÜ�X‰X�c‹]€FÜ×Ñ¢ªIÐ 6¼R¿X¹X»ZÔH€HØ�=‰=˜Ô"Ð"Ñ"÷W:ñ :ú÷ñ ú÷ñ ús$   Å$-L2Æ2L?ÈMÌ2L<Ì?M	ÍMc                   ó   — e Zd Zd„ Zdd„Zy)ÚArrayWrapperc                 ó   — || _         y r:  rK  rL  s     r   rN  zArrayWrapper.__init__Æ  ó	   € Øˆ�	r   Nc                 ó8   — | j                   j                  |«      S r:  )ra   Ú__arrow_c_array__)rM  Úrequested_schemas     r   rl  zArrayWrapper.__arrow_c_array__É  s   € Ø�y‰y×*Ñ*Ð+;Ó<Ð<r   r:  )r7  r8  r9  rN  rl  r2   r   r   rh  rh  Å  s   „ òô=r   rh  c                   ó   — e Zd Zd„ Zdd„Zy)ÚArrayDeviceWrapperc                 ó   — || _         y r:  rK  rL  s     r   rN  zArrayDeviceWrapper.__init__Î  rj  r   Nc                 ó<   —  | j                   j                  |fi |¤ŽS r:  )ra   Ú__arrow_c_device_array__)rM  rm  Úkwargss      r   rr  z+ArrayDeviceWrapper.__arrow_c_device_array__Ñ  s   € Ø1ˆt�y‰y×1Ñ1Ð2BÑMÀfÑMÐMr   r:  )r7  r8  r9  rN  rr  r2   r   r   ro  ro  Í  s   „ òôNr   ro  Úwrapper_classc                 ód  —  | t        j                  g d¢t        j                  «       ¬«      «      }t        j                  |«      }||j                  k(  sJ ‚t        j                  |t        j                  «       ¬«      }|t        j                  g d¢t        j                  «       ¬«      k(  sJ ‚y rv  )r   r   r§   ra   rõ   )rt  r"   r<   s      r   Útest_c_array_protocolrv  Õ  su   € ñ œŸ™¢´·±³Ô<Ó
=€CÜ�X‰X�c‹]€FØ�S—X‘XÒÐÐô �X‰X�c¤§¡£
Ô+€FØ”R—X‘Xši¬b¯h©h«jÔ9Ò9Ð9Ñ9r   c                  ó  — t        j                  g d¢t        j                  «       ¬«      } t        j                  t
        d¬«      5  | j                  d¬«       d d d «       | j                  d ¬«      }y # 1 sw Y   ŒxY w)Nr   rS   z7Received unsupported keyword argument\(s\): \['other'\]ro   znot-none)Úother)r   r   r§   r.   r/   r¶  rr  )r"   r»   s     r   Ú0test_c_array_protocol_device_unsupported_keywordry  â  sg   € ä
�(‰(’9¤2§8¡8£:Ô
.€Cä	�‰ÜØHô
ñ 7ð 	×$Ñ$¨:Ð$Ô6÷	7ð 	×$Ñ$¨4Ð$Ó0�A÷7ð 7ús   ÁA5Á5A>c                  óÖ   — t        j                  t        j                  ddg«      t        j                  ddg«      g«      } | j                  t        j                  g d¢«      «      sJ ‚y )Nr   r   r   rm   rå  )r   Úconcat_arraysr   rÀ   )Úconcatenateds    r   Útest_concat_arrayr}  ð  sQ   € Ü×#Ñ#Ü	�‰�1�a�&Ó	œ2Ÿ8™8 Q¨ FÓ+Ð,ó.€Là×ÑœrŸx™xªÓ5Ô6Ð6Ñ6r   c                  óò   — t        j                  t        j                  «      5  t        j                  t        j
                  dg«      t        j
                  dg«      g«       d d d «       y # 1 sw Y   y xY w)Nr   r¯   )r.   r/   r   r  r{  r   r2   r   r   Ú!test_concat_array_different_typesr  ö  sN   € Ü	�‰”r—‘Ó	'ñ :Ü
×Ñœ"Ÿ(™( A 3›-¬¯©°2°$«Ð8Ô9÷:÷ :ñ :ús   ¤A A-Á-A6c                  óP  — t        j                  t        d¬«      5  t        j                  d g«       d d d «       t        j
                  ddgddgg«      } t        j                  t        d¬«      5  t        j                  | «       d d d «       y # 1 sw Y   Œ^xY w# 1 sw Y   y xY w)Nzshould contain Array objectsro   r   r   r   rm   )r.   r/   r0   r   r{  rs   r+   s    r   Útest_concat_array_invalid_typer�  û  sŽ   € ô 
�‰”yÐ(FÔ	Gñ !Ü
×Ñ˜$˜Ô ÷!ô ×
Ñ
˜Q ˜F Q¨ FÐ+Ó
,€CÜ	�‰”yÐ(FÔ	Gñ Ü
×Ñ˜Ô÷ð ÷	!ð !ú÷ð ús   œBÁ1BÂBÂB%c                  ó,  — t        j                  g d¢t        j                  dd¬«      ¬«      } | j                  «       }|j                  j
                  €J ‚t        j                  | g«      } | j                  «       }|j                  j
                  €J ‚y )Nr   rˆ   zEurope/Brusselsr�   rS   )r   r   r‘   rœ   ÚdtrŒ   rs   )r"   rˆ   s     r   Útest_to_pandas_timezoner„    sp   € ô �(‰(’9¤2§<¡<°Ð8IÔ#JÔ
K€CØ�‰‹€AØ�4‰4�7‰7ÐÐÐÜ
×
Ñ
˜C˜5Ó
!€CØ�‰‹€AØ�4‰4�7‰7ÐÐÑr   c                  ó"  — t        j                  d«      gt        j                  d«      gt        j                  d«      gg} t        j                  | «      }|j	                  «       }|d   j
                  dk(  sJ ‚|j                  «       | k(  sJ ‚y )Nr   r   r   r   r  )re   r  r   r   rœ   r}   rµ   )r=   r"   r<   s      r   Útest_to_pandas_float16_listr†    sq   € ô —‘˜A“�¤"§*¡*¨Q£- ´2·:±:¸a³=°/ÐB€HÜ
�(‰(�8Ó
€CØ�]‰]‹_€FØ�!‰9�?‰?˜iÒ'Ð'Ð'Ø�=‰=‹?˜hÒ&Ð&Ñ&r   c                  ó.  — t        j                  g d¢t        j                  «       ¬«      } | j                  d«      }|j	                  «       g d¢k(  sJ ‚t        j
                  g d¢g d¢g«      } | j                  d«      }|j	                  «       g d¢k(  sJ ‚t        j                  g d¢t        j                  «       ¬«      } | j                  dd	¬
«      }|j	                  «       g d¢k(  sJ ‚| j                  dd¬
«      }|j	                  «       g d¢k(  sJ ‚y )N)rn   rD  é#   rS   Ú
descending)rˆ  rD  rn   r   rf  )rø   rn   rm   r   r   r   )rn   rD  rˆ  NÚat_end)Únull_placement)rˆ  rD  rn   NÚat_start)Nrˆ  rD  rn   )r   r   r§   Úsortrî   rs   )r"   Ú
sorted_arrs     r   Útest_array_sortr�    sã   € Ü
�(‰(’:¤B§H¡H£JÔ
/€CØ—‘˜,Ó'€JØ×ÑÓ!¢ZÒ/Ð/Ð/ä
×
Ñ
šI¢yÐ1Ó
2€CØ—‘˜,Ó'€JØ×ÑÓ!Ò%7Ò7Ð7Ð7ä
�(‰(Ò#¬"¯(©(«*Ô
5€CØ—‘˜,°x�Ó@€JØ×ÑÓ!Ò%5Ò5Ð5Ð5Ø—‘˜,°z�ÓB€JØ×ÑÓ!Ò%5Ò5Ð5Ñ5r   c                  ón  — t         j                  j                  t        j                  g d¢t        j                  «       ¬«      t        j                  g d¢«      gddg¬«      } | j                  dd¬«      }|j                  «       d	d
dœdddœdddœdddœgk(  sJ ‚| j                  «       }|j                  «       dddœdddœdddœd	d
dœgk(  sJ ‚t         j                  j                  t        j                  g d¢t        j                  «       ¬«      t        j                  g d¢«      gddgt        j                  g d¢«      ¬«      }|j                  ddd¬«      }|j                  «       d d	d
dœdddœdddœgk(  sJ ‚|j                  ddd¬«      }|j                  «       d	d
dœdddœdddœd gk(  sJ ‚y )N)rn   rD  rD  rˆ  rS   )r5   Úcarr6   Úfoobarr—   r˜   r  r‰  )Úbyrˆ  r’  rÍ   rD  r‘  r6   rn   r5   r×  rk  rŒ  )r“  r‹  rŠ  )r   rm  rº   r   r§   r�  rî   )r"   rŽ  Úarr_with_nullss      r   Útest_struct_array_sortr•  +  sô  € Ü
�.‰.×
$Ñ
$Ü
�‰’¤R§X¡X£ZÔ0Ü
�‰Ò0Ó1ð&ð �3ˆZð %ó €Cð
 —‘˜,¨3�Ó/€JØ×ÑÓ!Ø�xÑ Ø�eÑØ�eÑØ�eÑð	&ò ð ð ð —‘“€JØ×ÑÓ!Ø�eÑØ�eÑØ�eÑØ�xÑ ð	&ò ð ð ô —^‘^×/Ñ/Ü
�‰’¤R§X¡X£ZÔ0Ü
�‰Ò0Ó1ð1ð �3ˆZœbŸh™hÒ'BÓCð 0ó E€Nð
  ×$Ñ$Ø˜¨Zð %ó 9€Jà×ÑÓ!ØØ�xÑ Ø�eÑØ�eÑð	&ò ð ð ð  ×$Ñ$Ø˜¨Xð %ó 7€Jà×ÑÓ!Ø�xÑ Ø�eÑØ�eÑØð	&ò ð ñ r   c                  ó’  — t        j                  g d¢«      } t        j                  | «      }| |k(  sJ ‚t        j                  | t        j                  «       ¬«      }t        j                  g d¢t        j                  «       ¬«      }||k(  sJ ‚|j                  t        j                  «       k(  sJ ‚t        j                  dgt        j                  «       ¬«      } t        j                  t         j                  «      5  t        j                  | t        j                  «       ¬«       d d d «       t        j                  dgt        j                  «       ¬«      }t        j                  | t        j                  «       d¬«      }||k(  sJ ‚t        j                  | t        j                  «       ¬«      }| |k(  sJ ‚y # 1 sw Y   Œ•xY w)Nr   rS   l   ÿÿÿÿ rÈ   Fr  r  )
r   r   rÙ   rT   r§   r.   r/   r  rõ   r  r;   s      r   Ú test_array_accepts_pyarrow_arrayr—  Y  s7  € Ü
�(‰(’9Ó
€CÜ�X‰X�c‹]€FØ�&Š=Ðˆ=ô �X‰X�c¤§¡£
Ô+€FÜ�x‰xš	¬¯©«
Ô3€HØ�vÒÐÐØ�=‰=œBŸH™H›JÒ&Ð&Ð&ô �(‰(�K�=¤r§x¡x£zÔ
2€Cä	�‰”r—‘Ó	'ñ 'Ü
�‰�œ2Ÿ8™8›:Õ&÷'ô �x‰x˜˜¤2§8¡8£:Ô.€HÜ�X‰X�c¤§¡£
°Ô7€FØ�XÒÐÐô �X‰X�c¤r×'=Ñ'=Ó'?Ô@€FØ�&Š=Ð‰=÷'ð 'ús   Ã?*F=Æ=Gc                 óô   — | j                   j                  «       |k(  sJ ‚| j                  j                  «       |k(  sJ ‚t        | «      |k(  sJ ‚| j	                  «       |k(  sJ ‚| j                  «       |k(  sJ ‚y r:  )Úrun_endsrî   rž   r   Úfind_physical_lengthÚfind_physical_offset)Ú	ree_arrayr™  rž   Úlogical_lengthÚphysical_lengthÚphysical_offsets         r   Úcheck_run_end_encodedr   s  s|   € à×Ñ×'Ñ'Ó)¨XÒ5Ð5Ð5Ø×Ñ×%Ñ%Ó'¨6Ò1Ð1Ð1Üˆy‹>˜^Ò+Ð+Ð+Ø×)Ñ)Ó+¨Ò>Ð>Ð>Ø×)Ñ)Ó+¨Ò>Ð>Ñ>r   c                 óv   — g d¢}g d¢}t         j                  j                  ||| «      }t        |||ddd«       y ©N©r   rn   r7   rY  ©r   r   r   r   rY  rm   r   )r   ÚRunEndEncodedArrayrº   r   )Úree_typer™  rž   rœ  s       r   Ú+check_run_end_encoded_from_arrays_with_typer§  |  s8   € Ú€HÚ€FÜ×%Ñ%×1Ñ1°(¸FÀHÓM€IÜ˜) X¨v°r¸1¸aÕ@r   c                 ó  — g d¢}g d¢}t        j                  || j                  «      }t        j                  || j                  «      }t         j                  j                  ||«      }|j                  | k(  sJ ‚t        |||ddd«       y r¢  )r   r   Úrun_end_typerÖ  r¥  rº   rT   r   )r¦  r™  rž   Útyped_run_endsÚtyped_valuesrœ  s         r   Ú'check_run_end_encoded_from_typed_arraysr¬  ƒ  st   € Ú€HÚ€FÜ—X‘X˜h¨×(=Ñ(=Ó>€NÜ—8‘8˜F H×$7Ñ$7Ó8€LÜ×%Ñ%×1Ñ1°.À,ÓO€IØ�>‰>˜XÒ%Ð%Ð%Ü˜) X¨v°r¸1¸aÕ@r   c                  ó–  — t        «        t        j                  «       t        j                  «       t        j                  «       fD ]�  } t        j
                  «       t        j                  «       t        j                  «       t        j                  «       fD ].  }t        j                  | |«      }t        |«       t        |«       Œ0 Œƒ y r:  )	r§  r   rI  rõ   r§   rã  r~  Úrun_end_encodedr¬  )r©  rÖ  r¦  s      r   Ú test_run_end_encoded_from_arraysr¯  �  s‚   € Ü/Ô1ÜŸ™›¤R§X¡X£Z´·±³Ð<ò >ˆÜŸ9™9›;¬¯©«
´B·I±I³KÄÇÁÃÐLò 	>ˆJÜ×)Ñ)¨,¸
ÓCˆHÜ7¸ÔAÜ3°HÕ=ñ	>ñ>r   c            	      óæ  — g d¢} g d¢}t        j                  t        j                  «       t        j                  «       ¬«      }d}d g}d}d}| |g}t         j                  j                  ||||||«      }t        || |ddd«       t         j                  j                  ||g |||«      }t        || |ddd«       t         j                  j                  |||d||«      }t        || |ddd«       t         j                  j                  ||dz
  ||d|«      }t        || ||dz
  dd	«       t        j                  t        «      5  t         j                  j                  ||d d g|||«       d d d «       t        j                  t        «      5  t         j                  j                  |||||d «       d d d «       t        j                  t        «      5  t         j                  j                  |||||| g«       d d d «       t        j                  t        «      5  t         j                  j                  |||d	||«       d d d «       y # 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   y xY w)
Nr£  r¤  )r©  rÖ  rY  r   rm   rÈ   r   r   )
r   r®  rõ   rÙ   r¥  rJ  r   r.   r/   rt   )	r™  rž   r¦  r  r^   rÞ   rG  r_  rœ  s	            r   Ú!test_run_end_encoded_from_buffersr±  –  s^  € Ú€HÚ€Fä×!Ñ!¬r¯x©x«zÄbÇhÁhÃjÔQ€HØ€FØˆf€GØ€JØ€FØ˜&Ð!€Hä×%Ñ%×2Ñ2°8¸VÀWØ3=¸vØ3;ó=€Iô ˜) X¨v°r¸1¸aÔ@ä×%Ñ%×2Ñ2°8¸VÀRØ3=¸vØ3;ó=€Iô ˜) X¨v°r¸1¸aÔ@ä×%Ñ%×2Ñ2°8¸VÀWØ35°vØ3;ó=€Iô ˜) X¨v°r¸1¸aÔ@ä×%Ñ%×2Ñ2°8¸VÀa¹ZÈØ3=¸qÀ(óL€Iä˜) X¨v°vÀ±zÀ1ÀaÔHä	�‰”zÓ	"ñ IÜ
×Ñ×*Ñ*¨8°V¸dÀD¸\Ø+5°v¸xô	I÷Iô 
�‰”zÓ	"ñ EÜ
×Ñ×*Ñ*¨8°V¸WØ+5°v¸tô	E÷Eô 
�‰”zÓ	"ñ KÜ
×Ñ×*Ñ*¨8°V¸WØ+5°vÀ¸zô	K÷Kô 
�‰”zÓ	"ñ @Ü
×Ñ×*Ñ*¨8°V¸WØ+,¨f°hô	@÷@ð @÷Ið Iú÷Eð Eú÷Kð Kú÷@ð @ús0   Å 'IÆ%IÇ&IÈ%I'ÉIÉIÉI$É'I0c                  óT  — g d¢} g d¢}t        j                  t        j                  «       t        j                  «       «      }t         j                  j                  | ||«      }g d¢}t        j                  ||¬«      }|j                  |«      sJ ‚t        j                  t        j                  |«      |¬«      }|j                  |«      sJ ‚t        j                  t        j                  «       t        j                  «       «      }t        j                  ||¬«      }|j                  |«      rJ ‚t         j                  j                  | ||«      }|j                  |«      sJ ‚g d¢} g d¢}t         j                  j                  | ||«      }g d¢}t        j                  ||¬«      }|j                  |«      sJ ‚g d¢} g d	¢}t         j                  j                  | ||«      }t        j                  g d
¢«      }t        j                  |||¬«      }|j                  |«      sJ ‚y )N)r   r   rø   r   ©r   r   r   r   r   r   rS   )r   r   rn   rø   )r   r   r   N)r   r   r   r   r   N)r   r   rm   rn   rø   )r   r   Nr   N)FFFTFTrß  )r   r®  rõ   r§   r¥  rº   r   rÀ   re   rI  r2  )	r™  rž   r¦  r=   r"   r<   Ú
ree_type_2Ú
expected_2rj  s	            r   Ú)test_run_end_encoded_from_array_with_typer¶  Å  sµ  € â€HÚ€FÜ×!Ñ!¤"§(¡(£*¬b¯h©h«jÓ9€HÜ×$Ñ$×0Ñ0°¸6Ø19ó;€Hò €CÜ�X‰X�c Ô)€FØ�=‰=˜Ô"Ð"Ð"Ü�X‰X”b—h‘h˜s“m¨(Ô3€FØ�=‰=˜Ô"Ð"Ð"ä×#Ñ#¤B§H¡H£J´·
±
³Ó=€JÜ�X‰X�c 
Ô+€FØ�}‰}˜XÔ&Ð&Ð&Ü×&Ñ&×2Ñ2°8¸VØ3=ó?€Jà�=‰=˜Ô$Ð$Ð$â€HÚ€FÜ×$Ñ$×0Ñ0°¸6Ø19ó;€Hò  €CÜ�X‰X�c Ô)€FØ�=‰=˜Ô"Ð"Ð"â€HÚ"€FÜ×$Ñ$×0Ñ0°¸6Ø19ó;€Hô �8‰8Ò<Ó=€DÜ�X‰X�c ¨tÔ4€FØ�=‰=˜Ô"Ð"Ñ"r   c                  óÂ  — g d¢} t        j                  | t        j                  t        j                  «       t        j                  «       «      «      }t        j                  | «      }t
        j                  j                  |j                  d¬«      |«       t        j                  t         j                  «      5  |j                  «        d d d «       y # 1 sw Y   y xY w)Nr³  Frq   )r   r   r®  rõ   r§   re   rg   rh   r]   r.   r/   r  )r"   rœ  r=   s      r   Útest_run_end_encoded_to_numpyr¸  í  s�   € â
€CÜ—‘˜œb×0Ñ0´·±³¼R¿X¹X»ZÓHÓI€IÜ�x‰x˜‹}€Hä‡J�J×!Ñ! )×"4Ñ"4ÀEÐ"4Ó"JÈHÔUä	�‰”r—‘Ó	'ñ Ø×ÑÔ÷÷ ñ ús   Â;CÃCc                  ó‚  — g d¢} t        j                  | t        j                  t        j                  «       t        j                  «       «      «      }|j                  «       j                  «       | k(  sJ ‚t        j                  t         j                  «      5  |j                  d¬«       d d d «       y # 1 sw Y   y xY w)Nr³  Trq   )
r   r   r®  rõ   r§   rœ   rµ   r.   r/   r  )r"   rœ  s     r   Útest_run_end_encoded_to_pandasrº  ù  s†   € â
€CÜ—‘˜œb×0Ñ0´·±³¼R¿X¹X»ZÓHÓI€Ià×ÑÓ ×'Ñ'Ó)¨SÒ0Ð0Ð0ä	�‰”r—‘Ó	'ñ 1Ø×Ñ¨4ÐÔ0÷1÷ 1ñ 1ús   ÂB5Â5B>c                 óÈ  — g d¢}g d¢}g d¢}| j                  |||«      }|j                  «       ddgddgdd	gd d
ggk(  sJ ‚|j                  j                  «       |k(  sJ ‚|j                  j                  «       |k(  sJ ‚|j                  j                  «       |k(  sJ ‚ |t        j                  dt        j                  «       «      «      }| j                  ||||«      }|j                  |k(  sJ ‚|j                  j                  j                  dk(  sJ ‚ |t        j                  «       «      }t        j                  t        «      5  | j                  ||||¬«       d d d «       g d¢}g d¢}g d¢}| j                  |||«      }|j                  «       ddgddgddggk(  sJ ‚|j                  j                  «       |k(  sJ ‚|j                  j                  «       |k(  sJ ‚|j                  j                  «       |k(  sJ ‚g }dd g}ddg}| j                  |||«      }|j                  «       g d gk(  sJ ‚|j                  j                  «       |k(  sJ ‚|j                  j                  «       ddgk(  sJ ‚|j                  j                  «       |k(  sJ ‚g }ddg}d dg}| j                  |||«      }|j                  «       d g gk(  sJ ‚|j                  j                  «       |k(  sJ ‚|j                  j                  «       |k(  sJ ‚|j                  j                  «       ddgk(  sJ ‚ddg}g d¢}g d¢}t        j                  g d¢«      }| j                  ||||¬«      }|j                  «       dgd dggk(  sJ ‚|j                  j                  «       |k(  sJ ‚|j                  j                  «       |k(  sJ ‚|j                  j                  «       |k(  sJ ‚y # 1 sw Y   �ŒzxY w)N)r   r   r   rm   rn   rø   NrD  )r   r   rm   rø   )r   r   r   r   r   r   r   rm   rn   rø   rD  r§  rS   rå  )r   r   r   r�  r   )r   r   r   )r   r   r   rÌ  rl  )rº   rî   rž   r¬  Úsizesr   r1  r§   rT   rª  r§  rR   r.   r/   r0   r   )	r�  r[  rž   r¬  r¼  r   r®  r<   rj  s	            r   Útest_list_view_from_arraysr½    sÚ  € ò
 )€FÚ€GÚ€EØ×'Ñ'¨°¸Ó?€Eà�?‰?Ó ! Q ¨!¨Q¨°!°Q°¸$À¸Ð CÒCÐCÐCØ�<‰<×!Ñ!Ó# vÒ-Ð-Ð-Ø�=‰=×"Ñ"Ó$¨Ò/Ð/Ð/Ø�;‰;× Ñ Ó" eÒ+Ð+Ð+ñ œBŸH™H V¬R¯X©X«ZÓ8Ó
9€CØ×(Ñ(¨°%¸ÀÓE€FØ�;‰;˜#ÒÐÐØ�;‰;×"Ñ"×'Ñ'¨6Ò1Ð1Ð1ñ œBŸI™I›KÓ
(€CÜ	�‰”yÓ	!ñ FØ×#Ñ# G¨U°FÀÐ#ÔE÷Fò €FÚ€GÚ€EØ×'Ñ'¨°¸Ó?€Eà�?‰?Ó ! Q ¨!¨Q¨°!°Q°Ð 8Ò8Ð8Ð8Ø�<‰<×!Ñ!Ó# vÒ-Ð-Ð-Ø�=‰=×"Ñ"Ó$¨Ò/Ð/Ð/Ø�;‰;× Ñ Ó" eÒ+Ð+Ð+ð €FØ�$ˆi€GØ�ˆF€EØ×'Ñ'¨°¸Ó?€Eà�?‰?Ó  T 
Ò*Ð*Ð*Ø�<‰<×!Ñ!Ó# vÒ-Ð-Ð-Ø�=‰=×"Ñ"Ó$¨¨A¨Ò.Ð.Ð.Ø�;‰;× Ñ Ó" eÒ+Ð+Ð+ð €FØ�!ˆf€GØ�1ˆI€EØ×'Ñ'¨°¸Ó?€Eà�?‰?Ó  r 
Ò*Ð*Ð*Ø�<‰<×!Ñ!Ó# vÒ-Ð-Ð-Ø�=‰=×"Ñ"Ó$¨Ò/Ð/Ð/Ø�;‰;× Ñ Ó" q¨! fÒ,Ð,Ð,ð �ˆV€FÚ€GÚ€EÜ�8‰8Ò(Ó)€DØ×'Ñ'¨°¸ÀTÐ'ÓJ€Eà�?‰?Ó !  d¨Q¨CÐ 0Ò0Ð0Ð0Ø�<‰<×!Ñ!Ó# vÒ-Ð-Ð-Ø�=‰=×"Ñ"Ó$¨Ò/Ð/Ð/Ø�;‰;× Ñ Ó" eÒ+Ð+Ñ+÷]Fñ Fús   Å	OÏO!c                 ó:  — ddg}g d¢}g d¢}t        j                  g d¢«      }t        j                  t         j                  j
                  «      5  | j                  ||||¬«       d d d «       g d¢}| j                  ||||¬«      }|dd  }t        j                  t         j                  j
                  «      5  | j                  |j                  |j                  |j                  |j                  «       ¬«       d d d «       y # 1 sw Y   ŒŸxY w# 1 sw Y   y xY w)Nr   r   )r   r   N)r   r   r   )FFTrl  )r   r   r   )r   r   r.   r/   r¶   r  rº   r¬  r¼  rž   rn  )r�  r[  rž   r¬  r¼  rj  r   Úarray_slices           r   Ú test_list_view_from_arrays_failsrÀ  L  s  € ð �ˆV€FÚ€GÚ€EÜ�8‰8Ò(Ó)€Dô 
�‰”r—v‘v×*Ñ*Ó	+ñ GØ×#Ñ# G¨U°FÀÐ#ÔF÷Gò €GØ×'Ñ'¨°¸ÀTÐ'ÓJ€EØ˜˜�)€Kô 
�‰”r—v‘v×*Ñ*Ó	+ñ <Ø×#Ñ#Ø×Ñ ×!2Ñ!2Ø×Ñ [×%8Ñ%8Ó%:ð 	$ô 	<÷<ð <÷Gð Gú÷<ð <ús   ÁDÂ:ADÄDÄD)r�  r[  rÃ  c           
      ót  — t        j                  g d¢t        j                  «       ¬«      } |t        j                  «       «      }t        j                  g d¢d ddgg ddgd dd	gg|¬«      }t        j                  g d
¢|¬«      }t        j                  g d¢|¬«      } | |t        j                  «       «      «      }t        j                  d g d¢d ddggg g ddgd gdd	ggg|¬«      }	t        j                  g d¢|¬«      }
t        j                  g d¢|¬«      }|j                  «       j	                  |«      sJ ‚|j
                  j	                  |«      sJ ‚|j                  j	                  |«      sJ ‚|j                  j	                  |«      sJ ‚|	j                  «       j	                  |«      sJ ‚|	j
                  j	                  |
«      sJ ‚|	j                  j	                  |«      sJ ‚|	j                  j	                  |«      sJ ‚|	j                  «       j                  «       j	                  |«      sJ ‚|	j                  j                  j	                  |«      sJ ‚|	j                  d«      j	                  |«      sJ ‚g d¢}g d¢}g d¢}| j                  |||«      }|j                  «       j                  «       g d¢k(  sJ ‚t        j                  g d¢«      }| j                  ||||¬«      }|j                  «       j                  «       g d¢k(  sJ ‚|j                  j                  «       g d¢k(  sJ ‚y )NrÅ  rS   r&   r   rm   rn   rø   rD  rÊ   )r   r   r   rn   rn   rD  rD  )r   r   r   r   r   r   r   )r   r   r   r   rø   )r   r   r   r   r   Trå  )r   r   r   r   )r   r   r   r   )rm   r   r   r   r#  rl  )rm   r   r   )
r   r   r§   rÆ  rÀ   r¬  r¼  rž   rº   rî   )r�  r[  rÃ  rÈ  r6  r  rÇ  Úsizes1r7  r  r¯  Úsizes2rž   r¬  r¼  r   rj  s                    r   Útest_list_view_flattenrÄ  d  sè  € ô �8‰8ò ô
 �H‰H‹Jô€Dñ œRŸX™X›ZÓ(€DÜ�8‰8ÚØØ	
ˆAˆØ
Ø	
ˆAˆØØ	
ˆAˆðð ô€Dô �x‰xÒ-°KÔ@€HÜ�X‰XÒ+°+Ô>€FáÙÜ�H‰H‹Jó	
ó€Dô
 �8‰8ØâØØ�ˆFð	
ð
 	àØ�ˆFØð	
ð �ˆFð	
ðð  ô!€Dô" �x‰xš¨kÔ:€HÜ�X‰X’o¨KÔ8€Fà�<‰<‹>× Ñ  Ô&Ð&Ð&Ø�<‰<×Ñ˜xÔ(Ð(Ð(Ø�:‰:×Ñ˜VÔ$Ð$Ð$Ø�;‰;×Ñ˜dÔ#Ð#Ð#Ø�<‰<‹>× Ñ  Ô&Ð&Ð&Ø�<‰<×Ñ˜xÔ(Ð(Ð(Ø�:‰:×Ñ˜VÔ$Ð$Ð$Ø�;‰;×Ñ˜dÔ#Ð#Ð#Ø�<‰<‹>×!Ñ!Ó#×*Ñ*¨4Ô0Ð0Ð0Ø�;‰;×Ñ×$Ñ$ TÔ*Ð*Ð*Ø�<‰<˜Ó×$Ñ$ TÔ*Ð*Ð*ò €FÚ€GÚ€EØ×'Ñ'¨°¸Ó?€Eà�=‰=‹?×$Ñ$Ó&ª,Ò6Ð6Ð6ô �8‰8Ò/Ó0€DØ×'Ñ'¨°¸ÀTÐ'ÓJ€Eà�=‰=‹?×$Ñ$Ó&ª)Ò3Ð3Ð3Ø�<‰<×!Ñ!Ó#¢|Ò3Ð3Ñ3r   Úlist_view_typec                 óþ  — | j                  g d¢g d¢g d¢¬«      }|dd  }|j                  j                  «       g d¢k(  sJ ‚|j                  j                  «       ddgk(  sJ ‚|j	                  «       j                  «       g d¢k(  sJ ‚|j                  d	   j                  «       }|j                  d   j                  «       }|d	   j                  «       |j                  || j                  «       cxk(  rdgk(  sJ ‚ J ‚y )
N)r   r   rm   )r   r   r   rÕ  )r¬  r¼  rž   r   r   rm   rf  r   rÛ  )rÅ  r   Úsliced_arrayr    r'  s        r   Útest_list_view_slicerÈ  ±  sÿ   € ð ×&Ñ&ªyò A0Ú8Jð 'ó L€Eà˜˜�9€Là×Ñ×(Ñ(Ó*Ò.@Ò@Ð@Ð@Ø×Ñ×)Ñ)Ó+°°1¨vÒ5Ð5Ð5Ø×ÑÓ!×+Ñ+Ó-²Ò:Ð:Ð:à×Ñ˜QÑ×%Ñ%Ó'€AØ×Ñ˜QÑ×%Ñ%Ó'€Aà˜‰?× Ñ Ó" l×&9Ñ&9¸!¸AÐ&>×&HÑ&HÓ&JÔQÈqÈcÒQÐQÑQÐQÑQr   Únumpy_native_dtype)r$  r   r   c                 ó&  — t        j                  | «      j                  «       }t        j                  d|¬«      }t	        j
                  t        j                  «      5  t        j                  |«       d d d «       t	        j
                  t        j                  «      5  t        j                  |t        j                  «       ¬«       d d d «       t	        j
                  t        j                  «      5  t        j                  |g«       d d d «       t	        j
                  t        j                  «      5  t        j                  j                  |gdg¬«       d d d «       y # 1 sw Y   ŒðxY w# 1 sw Y   Œ§xY w# 1 sw Y   ŒqxY w# 1 sw Y   y xY w)Nr7   r|   rS   r—   r  )re   r}   Únewbyteorderrf   r.   r/   r   rÑ  r   r°   rm  rº   )rÉ  Únumpy_swapped_dtyperi   s      r   Útest_swapped_byte_order_failsrÍ  Å  s   € ô
 Ÿ(™(Ð#5Ó6×CÑCÓEÐÜ�Y‰Y�rÐ!4Ô5€Fô 
�‰”r×2Ñ2Ó	3ñ Ü
�‰�Ô÷ô 
�‰”r×2Ñ2Ó	3ñ ,Ü
�‰�œbŸj™j›lÕ+÷,ô 
�‰”r×2Ñ2Ó	3ñ Ü
�‰�&�Ô÷ô 
�‰”r×2Ñ2Ó	3ñ :Ü
�‰×"Ñ" F 8°C°5Ð"Ô9÷:ð :÷ð ú÷,ð ,ú÷ð ú÷:ð :ús0   ÁE#Â*E/Ã4E;Ä6$FÅ#E,Å/E8Å;FÆFc                  óè  — t        j                  d«      } | j                  d«      }t        j                  dt        j
                  ¬«      }t        j                  g d¢t        j                  ¬«      }|j                  |«      }|j                  |«      }t        j                  j                  t        j
                  «       dd |g«      }t        j                  j                  t        j
                  «       dd |g«      }t        j                  j                  t        j
                  «       d||g«      }|j                  «        |j                  dk(  sJ ‚|j                  «       d |gk(  sJ ‚|j                  t        j                   j"                  k(  sJ ‚|j$                  du sJ ‚t'        |«      dk(  sJ ‚|j)                  dd«      j                  dk(  sJ ‚t+        |«      sJ ‚t-        |«      sJ ‚t        j.                  t0        «      5  |j3                  «        d d d «       t        j.                  t0        «      5  |j5                  «        d d d «       t        j.                  t0        «      5  |j7                  |«       d d d «       t        j.                  t0        «      5  |j9                  t        j:                  «       «       d d d «       t        j.                  t0        «      5  |j=                  t        j:                  «       «       d d d «       t        j.                  t0        «      5  |j?                  «        d d d «       t        j.                  t0        «      5  |jA                  «        d d d «       t        j.                  t0        «      5  |jC                  «        d d d «       t        j.                  t0        «      5  |jE                  «        d d d «       t        j.                  t0        «      5  |jF                   d d d «       t        j.                  t0        «      5  |jH                   d d d «       t        j.                  t0        «      5  |jK                  «        d d d «       t        j.                  t0        «      5  tM        |«      D �	cg c]  }	|	‘Œ c}	 d d d «       t        j.                  t0        «      5  ||k(   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 «       t        j.                  t0        «      5  |jU                  d«       d d d «       t        j.                  t0        «      5  |d    d d d «       t        j.                  t0        «      5  |jW                  dg«       d d d «       t        j.                  t0        «      5  |jY                  «        d d d «       t        j.                  t0        «      5  |j[                  g d¢«       d d d «       t        j.                  t0        «      5  |j]                  d«       d d d «       t        j.                  t0        «      5  |j_                  «        d d d «       t        j.                  t0        «      5  |ja                  «        d d d «       t        j.                  t0        «      5  |jc                  «        d d d «       t        j.                  t0        «      5  |je                  «        d d d «       t        j.                  t0        «      5  |j                  d	¬
«       d d d «       y # 1 sw Y   �ŒlxY w# 1 sw Y   �ŒGx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   �Œgx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c c}	w # 1 sw Y   �Œ�xY w# 1 sw Y   �ŒsxY w# 1 sw Y   �ŒNx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   �ŒxxY w# 1 sw Y   �ŒPx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)Nzpyarrow.cudar   rm   r|   r+  Fr   )TTFFTr  )3r.   rÎ   ÚContextre   rf   rõ   r   rÐ  Úbuffer_from_datar   r1   rJ  rú   rG  r^   Údevice_typeÚDeviceAllocationTypeÚCUDAÚis_cpur   rY   r½  r¨   r/   r¶  Ú
__dlpack__Ú__dlpack_device__r  r»  r§   r…  rŸ   rŒ  r™   r’  rÞ   rµ  r¶  Úiterrn  Úis_nanr(   Ú	fill_nullÚtakeÚ	drop_nullÚfilterÚindexr�  rC  r]   rµ   )
ÚcudaÚctxra   ÚvalidityÚcuda_data_bufÚcuda_validity_bufr"   r  r”  r    s
             r   Útest_non_cpu_arrayrã  Þ  sw  € Ü×Ñ˜~Ó.€DØ
�,‰,�q‹/€Cä�9‰9�QœbŸh™hÔ'€DÜ�x‰xÒ2¼"¿(¹(ÔC€HØ×(Ñ(¨Ó.€MØ×,Ñ,¨XÓ6ÐÜ
�(‰(×
Ñ
¤§¡£
¨A°°mÐ/DÓ
E€CÜ�8‰8× Ñ ¤§¡£¨Q°°}Ð0EÓF€DÜ—X‘X×*Ñ*Ü
�‰‹
�AÐ)¨=Ð9ó;€Nð ‡L�L„NØ�:‰:˜Š?Ðˆ?Ø�;‰;‹=˜T =Ð1Ò1Ð1Ð1Ø�?‰?œb×5Ñ5×:Ñ:Ò:Ð:Ð:Ø�:‰:˜ÑÐÐÜˆs‹8�qŠ=Ðˆ=Ø�9‰9�Q˜‹?×!Ñ! QÒ&Ð&Ð&Ü�Œ9Ðˆ9ÜˆsŒ8€Oˆ8ô 
�‰Ô*Ó	+ñ Ø�‰Ô÷ä	�‰Ô*Ó	+ñ  Ø×ÑÔ÷ ô 
�‰Ô*Ó	+ñ Ø�‰�Œ÷ä	�‰Ô*Ó	+ñ Ø�‰”—‘“Ô÷ä	�‰Ô*Ó	+ñ Ø�‰”—‘“Ô÷ä	�‰Ô*Ó	+ñ Ø�‰Œ	÷ä	�‰Ô*Ó	+ñ Ø�
‰
Œ÷ä	�‰Ô*Ó	+ñ  Ø×ÑÔ÷ ä	�‰Ô*Ó	+ñ Ø×ÑÔ÷ä	�‰Ô*Ó	+ñ "Ø×!Ò!÷"ä	�‰Ô*Ó	+ñ Ø�
Š
÷ä	�‰Ô*Ó	+ñ $Ø×!Ñ!Ô#÷$ä	�‰Ô*Ó	+ñ Ü˜“IÖˆqŠÓ÷ä	�‰Ô*Ó	+ñ ØˆtŠ÷ä	�‰Ô*Ó	+ñ Ø�‰Œ÷ä	�‰Ô*Ó	+ñ Ø�
‰
Œ÷ä	�‰Ô*Ó	+ñ Ø�‰Œ÷ä	�‰Ô*Ó	+ñ Ø�‰�aÔ÷ä	�‰Ô*Ó	+ñ ØˆAŠ÷ä	�‰Ô*Ó	+ñ Ø�‰�!�Œ÷ä	�‰Ô*Ó	+ñ Ø�‰Œ÷ä	�‰Ô*Ó	+ñ /Ø�
‰
Ò-Ô.÷/ä	�‰Ô*Ó	+ñ Ø�	‰	�!Œ÷ä	�‰Ô*Ó	+ñ Ø�‰Œ
÷ä	�‰Ô*Ó	+ñ Ø�‰Œ÷ä	�‰Ô*Ó	+ñ Ø�‰Œ÷ä	�‰Ô*Ó	+ñ Ø�
‰
Œ÷ä	�‰Ô*Ó	+ñ  Ø�‰˜$ˆÔ÷ ð  ÷qñ ú÷ ñ  ú÷ñ ú÷ñ ú÷ñ ú÷ñ ú÷ñ ú÷ ñ  ú÷ñ ú÷"ñ "ú÷ñ ú÷$ñ $üò 	÷ñ ú÷ñ ú÷ñ ú÷ñ ú÷ñ ú÷ñ ú÷ñ ú÷ñ ú÷ñ ú÷/ñ /ú÷ñ ú÷ñ ú÷ñ ú÷ñ ú÷ñ ú÷ ð  úsb  È	^È;^É-^Ê $^+Ë%$^8Ì*_Í_Î_Ï _,Ï2_9Ð `Ñ`Ò `%Ò	` Ò`%Ò;`2Ó"`?ÔaÕaÕ8a&Ö+a3×b ØbØ8bÙ-b'Ú b4ÛcÜcÜ6cÝ(c(Þ^Þ^Þ^(Þ+^5Þ8_ß_ß_ß_)ß,_6ß9`à`à`à `%à%`/à2`<à?a	áaáa#á&a0á3a=â b
âbâb$â'b1â4b>ãcãcãc%ã(c1r:  (  Úcollections.abcr   rÏ   r^  Ú
hypothesisr*  Úhypothesis.strategiesÚ
strategiesÚstr  r.   r0  r	   r   r    Únumpyre   ÚImportErrorÚpyarrowr   Úpyarrow.tests.strategiesÚtestsÚpastÚpyarrow.vendored.versionr   ÚmarkÚ	processesr   r$   r,   r3   r>   rB   rG   rJ   rM   rP   r[   rk   rx   r‚   r†   Úparametrizer’   r•   rš   r  r£   Únopandasr¼   rÁ   rÜ   rÉ   rÃ   rå   rê   ró   rö   r  r
  r  r$  r(  r3  r<  r?  rA  rM  rU  rZ  r  rÛ   Ú	list_viewÚlarge_list_viewrb  rd  rv  rx  r~  rƒ  r�  r‘  rš  rœ  ræ  ÚLargeListArrayr°  r³  r¸  r¾  rÅ  rÉ  rÜ  rã  rç  r  r	  r  r  r  r'  r)  r+  r.  r3  r8  r>  rC  rI  rL  rQ  ra  rf  rk  rm  rp  rr  ry  r€  rƒ  r‡  rŽ  r–  rš  r   r¥  r¨  r«  r¯  r´  r¶  r½  r¿  rÊ  rÍ  rÕ  rà  rF   rR   ræ  rÐ  r§   r°   rI  r1  Úpickle_test_parametrizerí  rï  ÚsettingsÚHealthCheckÚtoo_slowÚgivenru  Ú	all_typesÚintegersrö  rþ  r  r  r  r  r  r  r  r  r   r‘   r$  r&  r5  r=  r?  r”   rB  rF  rU   Úbinary_viewrQ  r]  ri  rk  rp  r  r  rX  rt  rw  ry  r~  r€  r„  r‡  r“  r—  r¢  r«  r¹  r»  r¿  rÂ  rõ   rÉ  rÎ  rÒ  rØ  rÜ  rß  rá  rå  rì  rü  rÿ  r  r
  r  ÚslowÚlarge_memoryr  r!  r%  r)  r,  r/  r6  r8  r<  r?  rF  rf  rh  ro  rv  ry  r}  r  r�  r„  r†  r�  r•  r—  r   r§  r¬  r¯  r±  r¶  r¸  rº  ÚListViewArrayÚLargeListViewArrayr½  rÀ  rÄ  rÈ  rÍ  rã  r2   r   r   ú<module>r     sY  ðõ$ %Û Û Û Ý "Û Û Û Û Û 
Û ðÛó ß 'Ð 'Ý ,ð ‡�×Ññ-ó ð-òò.òòòB	òòòòò	;ð ‡�×Ññ4ó ð4ð& ‡�×Ññ4ó ð4ð ‡�×Ññó ðð4 ‡�×Ññ9ó ð9ð" ‡�×ÑØ‡�×Ñ˜Ò!8Ó9Ø‡�×Ñ˜  e˜}Ó-ñ4ó .ó :ó ð4ð ‡�×ÑØ‡�×Ñ˜Ò!8Ó9ñ4ó :ó ð4ð ‡�×Ññ4ó ð4ð ‡�×Ññó ðð: ‡�×ÑØ‡�×Ññ#8ó ó ð#8ðL ‡�×Ñ˜ØØ€B‡G�GƒIØ€B‡G�GƒIØ€B‡I�IƒKð	 ó ñ
óð
ò4'òn
#òð ‡�×Ññ6ó ð6ò&;òR'òBò4ò:%ò7ð ‡�×Ññó ðð ‡�×Ññ2ó ð2ò#ð  ‡�×ÑñAó ðAò( "òF8ð4 ‡�×ÑÐ,Ø‡H�Hˆb�m‰m˜RŸ\™\¨2×+=Ñ+=ð/?ó @ñ7ó@ð7ò*5ò*L-ò^;ð ‡�×Ñ˜ 6Ó*ñó +ðð ‡�×Ññ;ó ð;ð, ‡�×ÑñCó ðCðL ‡�×Ññ7ó ð7ò Eò*$ð ‡�×ÑØ‡�×ÑÐAØŸ<™<¨¯©Ð2Ø×,Ñ,¨b¯m©mÐ<ð>ó?ñ3?ó?ó ð3?ðl ‡�×ÑÐAØ‡\�\�2—8‘8ÐØ×Ñ˜Ÿ™Ð&ðDó ð ‡�×Ñ˜Ø	ˆAˆ3€KØ	ˆAˆtˆ9�q�cÐØ€Sˆ1ˆ#€Jð!ó ñ
$óó	ð$ð ‡�×ÑÐAØ‡\�\�2—8‘8ÐØ×Ñ˜Ÿ™Ð&ðDó ñKó	ðKò@	#òò$ð ‡�×ÑñI ó ðI òX1Iòh>ò&G òTBLòJGò,4ð& $(À$ô 'ð2 ‡�×Ññ"ó ð"ò8òò	ò#ò'ò,ð ‡�×Ññ+ó ð+ð( ‡�×Ññ
*ó ð
*ð ‡�×Ññ+ó ð+ò$:ò*ð4 ‡�×Ññ"Kó ð"KòJ +òF/ð8 ‡�×Ññ(ó ð(ð ‡�×Ññ	ó ð	ò%"òP*ò ò0/ò'òBò,Eò4,ò4'ò@ ò'ð( ‡�×Ññ#ó ð#ð ‡�×Ññ#ó ð#ð ‡�×Ññ#ó ð#òð  ‡�×Ññ#ó ð#ð ‡�×Ññ"ó ð"ð( ‡�×Ññ#ó ð#ò	0ò1(ðh ‡�×ÑÐ)ØÒ Ð!Ø‰e�A�s‹mÐØ‰U�1�c‹]ÐØ‰u�Q˜‹|ÐØ‰e�A�r‹lÐØ‰u�Q˜‹|ÐØ‰e�A�r‹lÐØ‰u�Q˜‹|ÐØ‰e�A�r‹lÐØŠoÐØŠÐØŠÐØÒ!Ð"Ø€R‡Y‚Yˆqƒ\Ò+Ð,ð,ó ñ $ó!ð $ð
 !Ÿ+™+×1Ñ1Øâ	" H B§H¢H£JÐ/Ú	�x�r—x’x“zÐ"Ú	˜:˜2Ÿ:š:›<Ð(Ú	˜9˜2Ÿ9™9›;Ð'Ø	ˆTˆ
Øˆaˆ&�1�#ˆ˜˜Ÿ™  §¢£Ó,Ð-Øˆaˆ&�1�#ˆ˜˜Ÿ™ h b§h¢h£jÓ1Ð2Øˆ%�˜˜S�zÐ	" H B§H¡H¨Y¨R¯Y©Y«[Ó$9Ð:Øˆaˆ&�1�#ˆ˜˜Ÿ™ X R§X¢X£ZÓ0Ð1Øˆaˆ&�1�#ˆÐ*˜×*Ñ*¨8¨2¯8ª8«:Ó6Ð7Øˆ%�˜˜S�zÐ	" L B§L¡L°°·±³Ó$=Ð>Ú	#ØˆB�I‰I�x�r—x’x  X R§X¢X£ZÓ0°(°"·(²(¸3À	ÀÇ	Á	ÃÓ2LÐMÓNð	PðóÐ ð( ñ$ó ð$ò$ð ‡�×ÑØ€‡‚ 1§=¢=×#9Ò#9Ð";Ô<Ø€‡‚Ø€D‡K‚KØ�ŠØˆR�[Š[ 1°Ô3ôóñ óó =ó ð ð ñ-ó ð-ð" ‡�×ÑñFó ðFð, ‡�×Ññ ó ð ð ‡�×Ññ$ó ð$ò#ð6 ‡�×Ññó ðð ‡�×Ññ?ó ð?ð: ‡�×Ññ#ó ð#ð ‡�×Ññ%ó ð%ò3ð ‡�×ÑØ‡�×ÑÐ*Ø�l�b—l’l 3Ó'Ð(Ø�|�r—|’| DÓ)Ð*Ø�|�r—|’| DÓ)Ð*Ø�|�r—|’| DÓ)Ð*ð	-ó ñ óó ð ð" ‡�×Ññó ðð ‡�×ÑØ‡�×Ñ˜ò 	"ó 	ñ	ó	ó ð	ð ‡�×ÑØ‡�×Ñ˜Ò!8Ó9ñ
ó :ó ð
ð ‡�×Ññó ðð ‡�×ÑØ‡�×ÑÐ*Ø�{�r—{’{ 3Ó'Ð(Ø˜˜Ÿš DÓ)Ð*Ø˜˜Ÿš DÓ)Ð*Ø˜˜Ÿš DÓ)Ð*ð	-ó ñ#óó ð#ð, ‡�×Ññó ðð ‡�×ÑØ‡�×Ñ˜ØØ€B‡I‚IƒKØ€B‡O‚OÓØ€B‡N‚NÓð	)ó ñ
&óó ð&ò@,ð, ‡�×Ññ&@ó ð&@òR,ð ‡�×Ññ 8ó ð 8ðF ‡�×ÑØ‡�×Ñ˜ØØ€B‡G‚GƒIØ€B‡M‚MƒOØ€B‡N‚NÓð	)ó ñ
 &óó ð &ðF ‡�×Ññ8ó ð8ð ‡�×Ññó ðð ‡�×ÑñAó ðAð ‡�×Ññ#ó ð#ð ‡�×Ññó ðð ‡�×Ññ#ó ð#ð ‡�×Ññ>ó ð>ò"#ð ‡�×Ññ""ó ð""òJ 1ðF ‡�×ÑñJó ðJò.òòð
 ‡�×ÑÐ=Ø#˜2Ÿ8š8›: r§x¡xÐ0°8°2·8²8³:¸r¿}¹}Ð2MÐNóPñ4+óPð4+ðn ‡�×Ñ˜Ø€B‡H�HˆXˆR�XŠX‹ZÓØ€B‡H�HˆXˆR�XŠX‹Z 1Ô%Ø€B‡M�M�(�"—(’(“*Óð'ó  ñ	7ó	 ð	7ð ‡�×ÑÐ5Ø#˜2Ÿ8š8›: x r§x¡x°°·²³
Ó';Ð<Ø#˜2Ÿ8š8›: x r§x¡x°°·²³
ÀaÔ'HÐIØ#˜2Ÿ8š8›: } r§}¡}°X°R·X²X³ZÓ'@ÐAØ#˜2Ÿ8š8›: | r§|¡|°H°B·H²H³JÓ'?Ð@Ø#˜2Ÿ8š8›:Ð'9 r×'9Ñ'9¸(¸"¿(º(»*Ó'EÐFð	HóIñ0óIð0ð4 ‡�×ÑÐ,¨r¯x©x¸¿¹Ð.GÓHñ8ó Ið8ð& ‡�×Ñ˜ 2§<¡<°×1BÑ1BÐ"CÓDñBó EðBò$!+òHCòò0#)òL"òD -òFò>>ð ‡�×Ññ;ó ð;ð4 ‡�×ÑØ‡�×ÒØ‡�×ÒØ‡�×Ñ˜¨°¨Ó6ñ-%ó 7ó ó ó ð-%ð` ‡�×Òñ"ó ð"ð" ‡�×Ññ3ó ð3ð ‡�×Ññ	"ó ð	"ð ‡�×Ññ/Bó ð/Bðd ‡�×Ññ(ó ð(ð ‡�×ÑñDó ðDð@ ‡�×Ññ
5ó ð
5ð ‡�×Ññ%ó ð%ò4!ð ‡�×Ññ+%ó ð+%ð\ ‡�×Ññ@#ó ð@#÷F=ñ =÷Nñ Nð ‡�×Ñ˜¨<Ð9KÐ*LÓMñ	:ó Nð	:ò1ò7ò:ò
ð ‡�×Ññó ðð ‡�×Ñò'ó ð'ó6ó +ó\ó4?õAóAó>ó,@ð^ ‡�×Ñò$#ó ð$#ðN ‡�×Ñòó ðð ‡�×Ñò1ó ð1ð ‡�×ÑÐAØ×+Ò+¨R¯\©\Ð:Ø×0Ò0°"×2DÑ2DÐEðGóHòB,óHðB,ðJ ‡�×ÑÐAØ×+Ò+¨R¯\©\Ð:Ø×0Ò0°"×2DÑ2DÐEðGóHò<óHð<ð* ‡�×ÑÑPØ×+Ò+¨R¯\©\¸8¸2¿8º8»:ÐFØ×0Ò0°"×2DÑ2DÀhÀbÇhÂhÃjÐQðSóTòG4óTðG4ðT ‡�×ÑÑ)¨B×,<Ò,<¸b×>SÒ>SÐ+TÓUòRó VðRð& ‡�×ÑØ‡�×ÑÑ-Ó/AÓBò:ó Có ð:õ.R øð}E ò Ø	ƒBðús   ²AV  ÁV AVÁV
AV