K isddlZddlZddlZddlZddlmZmZ ddlZddl Z ddl m Zejj!gdgdde j"fdde j"fdde j$fdde j$fde j&e j(fde j*e j,fde j.e j0fde j2e j4fde j6e j8fde j:e j<fde j>e j$fde j@e jBfde jDe jFfdde jHfde jJe jLfejNd de jPfejNd de jRfd de jTfd de jVfd e jXe jZfde j\e j^fde j`e jbfde jde jffde jhde jjfgdde jlfgde jne j&e jpfgde jre j&de jtfgde jve j&e jxfgde jze j&e j|fej~jde jfej~je je jfejjde jfejjjjde jde jfejjjde jfejdde jfe jgdde jfdddgdde jfddge je je j&e jfdZSejjd ZTd!ZUd"ZVd#ZWd$ZXd%ZYejjd&Z[d'Z\d(Z]d)Z^d*Z_d+Z`d,Zad-Zbejj!d.d/gde jdfd0e jdfde jdfde jd1fd0e jd1fde jd1fde jd2fd3e jd2fde jd2fde jd4fd3e jd4fde jd4fde jfd0e jfde jfde jfd3e jfde jfde jd4fd3e jd4fde jd4fde jd4fd3e jd4fde jd4fd5e jfde jfgd/e jfd6Zid7Zjejjd8Zkd9Zld:Zmejj!d;e je jgd<Znejjd=Zpejjd>Zrd?Zsd@ZtejjdAZuejjdBZvejjdCZwdDZxejj!d.dEdFgejj!dGe je jTfe jXe jZfe j`e jbfgdHZyejj!d.gdIejj!dGe jhe jVfe j\e j^fe jde jffgdJZzdKZ{ejj!dLe jre je jlfe jne je jpfe jve je jxfe jze je j|fgdMZ|ejjejj!dNe jre j>e jne j>e jve j>e jze j>dgdOZ}ejjejj!dPe jre jne jve jzgdQZ~dRZdSZdTZdUZdVZdWZdXZdYZdZZd[Zy#e $rdZY wxYw)\N)SequenceMapping)valuetyklassFT?1.123z*1.1234567890123456789012345678901234567890stringsbytes largestrings largebytes string_views bytes_viewsabcrrrrr)rrrrr) microseconds)days)rr irabrrrrctj||}|j|jdt||sJ|j |k(sJ|tj||k(sJ||k7sJ|dk7sJt |t |k(sJ|j dusJ|dk7sJtjd|j}|j dusJ|j J|tj||k7sJ|j|j|}|j|sJtj|}|J~|Jy)NtypeTfullelseF) pascalarvalidate isinstanceas_pyhashis_validrloadsdumpsequalsweakrefref)rrr pickle_modulerrestoredwrs `/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/pyarrow/tests/test_scalars.py test_basicsr3!saX %b!AJJLJJDJ a   779    %b) )) ) :: ;; 7d1g   ::   99 $QVV$A ::   779    %b) )) )""=#6#6q#9:H 88H   QB 4   4<<cVtjdtjtj}}}tj||}|j |j dt ||sJ|j|k(sJ|tj||k(sJ||k7sJ|dk7sJt|t|k(sJ|jdusJ|dk7sJtjd|j}|jdusJ|jJ|tj||k7sJ|j|j|}|j|sJtj|}|J~|Jy)Nr rTr r"F)npfloat16r#HalfFloatScalarr$r%r&r'r(r)rr*r+r,r-r.)r/rrrrr0r1s r2test_basics_np_requiredr9lszz# b6H6Hu2E %b!AJJLJJDJ a   779    %b) )) ) :: ;; 7d1g   ::   99 $QVV$A ::   779    %b) )) )""=#6#6q#9:H 88H   QB 4   4<> 55   ((D$< C !BEEzzwwy   ! ""=#6#6t#<=H ??4   T B 4   4  r4cttd}tj||z}t |}t |tsJt |dk(sJy)Ni)listranger#rOsetr&len)valuesrQset_from_arrays r2 test_hashingr[sN %* F ((6F? #CXN nc ** * ~ # %% %r4ctjddiddigddidgg}tjddidgg}t|d}t|d}||k(sJy)Nrrrr)r#rOr()rrhash1hash2s r2test_hashing_struct_scalarrask C8c1X&#q4(89:A C8T"#$A 1JE 1JE E>>r4c ttjdjtjd}|dk(sJttjt j dddtjdd}|d k(sJttjt j dddtjd }|d k(sJtt jtjd jtjdd }|dk(sJy)Nz 0000-01-01rz0irUTCtzrz5usz7z 2000-01-01America/New_Yorkz5)reprr#r$rA timestampdatetimer@assume_timezonerrcds r2test_timestamp_scalarros RYY| $ ) )",,s*; <=A B BB B RYYx((q!42<<PU;V WXA G GG G RYYx((q!42<<;M NOA I II I R   ,$$R\\#%679KM NA G GG Gr4ctjd}tjd}tjdtj}t|tjsJt|tjsJt|tjsJt |dk(sJt |dk(sJt |dk(sJt |dk(sJt |dk(sJt |d k(sJ|jdusJ|jdusJ|jJt|dusJt|dusJt|dusJy) NFTrzTruezFalsezNone) r#r$bool_r& BooleanScalarrhstrr'bool)falsetruerPs r2 test_boolrzsT IIe E 99T?D 99T +D eR-- .. . dB,, -- - dB,, -- - :8 88 8 t9   ;: :: : u:  :8 88 8 t9   ::<4   ;;=E !! ! ::<   :   ;%   :  r4ctjd}t|tjsJt |dk(sJt |dk(sJ|j dk(sJt|dk(sJtjt5tjdddddtjd}t|tjsJt |dk(sJt |d k(sJ|j dk(sJt|dk(sJt|dk(sJtjd d }t|tjsJt |d k(sJt |d k(sJ|j d k(sJt|d k(sJt|dk(sJy#1swYxYw)Nrz1r uint8r?zz1.5g?r7zz0.5r)r#r$r& Int64Scalarrhrvr'intrBrC OverflowError DoubleScalarfloatr8rEs r2 test_numericsrs ! A a (( ( 70 00 0 q6S== 779>> q6Q;; } %$ "7#$ #A a )) ) 73 33 3 q6U?? 779   8s?? q6Q;; #I&A a++ ,, , 76 66 6 q6U?? 779   8s?? q6Q;;'$$s F??G cxtjd}tj|}t |tj sJ|j |k(sJ|jtjddk(sJtjd}tjtj5tj|tjdddddtjtj5tj|tjdddddtj|tjdd}t |tj sJ|j |k(sJy#1swYxYw#1swYsxYw)Nr rr1.1234scalerr) decimalDecimalr#r$r&Decimal128Scalarr'r decimal128rBrC ArrowInvalidrRrs r2test_decimal128r s1 A ! A a,, -- - 779>> 66R]]1a( (( (!A r '5 !"--345 r '5 !"--345 !"--34A a,, -- - 779>>55559-F$-F0$F-0F9cxtjd}tj|}t |tj sJ|j |k(sJ|jtjddk(sJtjd}tjtj5tj|tjdddddtjtj5tj|tjdddddtj|tjdd}t |tj sJ|j |k(sJy#1swYxYw#1swYsxYw) Nz,1234567890123456789012345678901234567890.123+rrrrrr) rrr#r$r&Decimal256Scalarr'r decimal256rBrCrrs r2test_decimal256rs2FGA ! A a,, -- - 779>> 66R]]2q) )) )!A r '5 !"--345 r '5 !"--345 !"--34A a,, -- - 779>>5555rc$tjddd}tjddd}tjtjfD]7}||fD].}tj ||}|j |k(r.J9y)Ni rir)rjdater#date32date64r$r')d1d2rrnrs r2 test_dater-s{ tQ "B tQ "Byy{BIIK("b "A !"%A779> !> ""r4cVtjtjdddtjd}tjddd}tj tj fD](}|j|}|j|k(r(Jy)Nirrfr) r#r$rjrirrrrAr')r$expectedrresults r2test_date_castr8s} YYx((q!42<<;M NF}}T1a(Hyy{BIIK(*R||~)))*r4cxtjdd}tjdd}tjdtjdtjdtjdg}|D]7}||fD].}tj ||}|j |k(r.J9y) Nrrmsrfnsr)rjtimer#time32time64r$r')t1t2typesrtrs r2test_time_from_datetime_timerAs r1 B r1 B YYs^RYYt_biioryy OE"b "A !"%A779> !> ""r4r time_typei@rrflr)rrcxtj||}|jd|j|k(sJy)NrTr )r#r$r%r)rr time_scalars r2test_temporal_valuesrLs9:))E 2Kd#    %% %r4ctjdd}|jdtjddk(sJ|jdtjddk(sJ|jdtjddk(sJtjt 5tjdjd dddy#1swYyxYw) Nrint8rint64uint32r 5fooint32)r#r$rArBrCrD)vals r2 test_castrns ))AF #C 88G  !' : :: : 88H 18!< << < 88H 3X!> >> > z "' %g&'''s 2%C  C)c Ptjdddl}tjdddddd|j}t j |t jdd }|jt jt j d k(sJy) Npytzrrtzinforrcrdrz2000-01-01 00:00:00.000000000Z) rB importorskiprrjutcr#r$rirAr )rdttss r2test_cast_timestamp_to_stringrwsw    4Aq!Qtxx @B 2BLL%8 9B 77299; 299-M#N NN Nr4ctjdtj}|jtjd}tjdtj}||k(sJt j tj5|jtjdddy#1swYyxYw)Nr~rFr<r)r#r$float64rArrBrCr) float_scalar unsafe_castexpected_unsafe_casts r2test_cast_float_to_intrs99Srzz|4L##BHHJU#;K99QRXXZ8 . .. . r '&"((*%&&& "$CCctjdtj}|jtjd}tjdtj}||k(sJt j tj5|jtjdddy#1swYyxYw)NlrFr<gPC)r#r$rrArrBrCr) int_scalarrrs r2test_cast_int_to_floatrs,288:>J//"**,U/;K99%8rzz|L . .. . r '& %&&&rtypctjd}|j|}|tjtjddd|k(sJy)Nz 2021-01-01irr)r#r$rArjr)rr$rs r2test_cast_string_to_datersD YY| $F [[ F RYYx}}T1a8sC CC Cr4cddl}|jddj}gd}t|D]A\}}d|d}tj j |j|}|jd}|dj|k(sJ|djd|zz|jk(sJd }t j|| } d|d}tj j |j|| }|jdjd j|}|dj|k(sJ|djd|zz|jk(rBJy) Nrz2000-01-01 12:34:56 )periods)rrfrrz datetime64[]rgrdrr)pandas date_rangerY enumerater#Array from_pandasastype Timestampr'rri tz_localize tz_convert) pdrQunitsiunitdtype arrow_arrrre arrow_types r2test_timestamprsa ---r- : A AC #EU#>4dV1%HH((E):; << 56|!!#x///|!!D!G+x~~=== \\$2. dV1%HH((E):(L LL!67 ['Z^ |!!#x///|!!D!G+x~~===%>r4c*tjdddl}d}tjd|}tj d|}|j |}tjdd d d | }|j|}|j}||k(sJ|jd k(sJ|jd k(sJtj d |}tjt5|jdddy#1swYyxYw)Nrrrgrrdl$=3irrr)rri$=3i)rBrrr#rir$timezonerjfromutcr'yearhourrCrD)rrerrrrrs r2test_timestamp_nanos_nopandasrs  B dr "B +"5A ]]2 F  q!6JH~~h'H WWYF X   ;;$   ;;"   $2.A z "  s /D  Dc tjdddl}tjdddddd|jtjddddd d d |jtjd ddddd|jg}|D]C}t j |t jd d }|j|k(rCJy)Nrrrri' ;i?Birfrcrdr) rBrrrjrr#r$rir')r timestampsrrs r2test_timestamp_no_overflowrs  !Q1a488<$BBF488L$1aAdhh?J  IIbr||DU; <wwyBr4ctjdtjdgtjdd}t |ddk(sJy)Nrrrz+02:00rdz1970-01-01 02:00:00+02:00)rBrr#rOrirv)rQs r2!test_timestamp_fixed_offset_printrsD  ((A3 SX6 7C s1v;5 55 5r4ctjddgd}gd}t|D]\}}d|d}tj|j |}t j d }t|d jt j sJ|d j|k(sJ|d jd |d zzz|jd zk(rJy) Nr qa ztimedelta64[ns]r)rfrrz timedelta64[rsecondsrreA) r6rOrr#rrj timedeltar&r'r total_seconds)rQrrrrrrs r2 test_durationrs ((A}%-> ?C EU#04tfA&HHSZZ./ %%e4)A,,,.0B0BCCC|!!#x///! ""TAaC[0&&(3./ 0/ 0r4cddl}tjddgtjd}|j d}t |dj |jsJ|dj |k(sJ|dj|jk(sJtjdgtjd}|dj |j ddk(sJy) Nrrrrz1 hourrr)r)rr#rOduration Timedeltar&r'r)rrQrs r2test_duration_nanos_pandasrs ((A}%BKK,= >C||H%H c!fllnbll 33 3 q6<<>X %% % q6<<8>> )) ) ((&'bkk$.? @C q6<<>R\\*<4\H HH Hr4c2tjddgtjd}tjd}t |dj tjsJ|dj |k(sJ|dj|jdzk(sJtjdgtjd }tjt5|dj dddy#1swYyxYw) Nrrrrrrrrr) r#rOrrjrr&r'rrrBrCrD)rQrs r2test_duration_nanos_nopandasr s ((A}%r{{4'8 9C!!%0H c!fllnh&8&8 99 9 q6<<>X %% % q6<<8113c9 99 9 ((&'bkk$.? @C z " A s 0D  Dctjgd}tj|g}t|dj tjsJ|dj |k(sJ|dj |k(sJy)N)iiir)r# MonthDayNanorOr&r'r)triplerQs r2test_month_day_nano_intervalr sm __/ 0F ((F8 C c!fllnboo 66 6 q6<<>V ## # q6<<6 !! !r4rumañana)r scalar_typctj||}t||sJ|j|k(sJ|jdk7sJt |t |vsJt |t |k(sJ|j }t|tjsJ|j|jk(sJy)NrrM) r#r$r&r'rhrv as_bufferBuffer to_pybytesencode)rrrrbufs r2 test_stringrs %b!A a $$ $ 779   779 ## # ;$q' !! ! q6SZ   ++-C c299 %% % >> u||~ -- -r4)sfoosbarr4Nc2tj||}t||sJ|j|k(sJt |t |k(sJt |t |vsJ|j|k(sJ|dk7sJ|j }|2|Jtjt5t|dddy|j|k(sJt|tjsJt||k(sJt|}|j|k(sJ|jdk(sJ|j dk(sJ|j"dk(sJ|j$t'|fk(sJ|j(dk(sJy#1swYyxYw)Nrsxxxxxrr)r)r#r$r&r'rvrhrrBrCrD memoryviewrrbytestobytesformatitemsizendimshaperXstrides)rrrrrmemviews r2 test_binaryr .s %b!A a $$ $ 779   q6SZ   ;$q' !! ! 779   == ++-C }{{ ]]: &  qM  ~~5(((#ryy)))Qx5   Q- E)))~~$$$1$$$||q   }}U ---$&&&  s 7 F  Fctjdtjd}t|tjsJ|j dk(sJt |dk(sJtjtj5tjdtjddddy#1swYyxYw)Nsfoofrrsfoof5) r#r$binaryr&FixedSizeBinaryScalarr'rrBrCrrEs r2test_fixed_size_binaryr$Qs ' ! -A a11 22 2 779   8w   r '/ (1.///s +CC )rrcddg}tj||}|j|k(sJt|dk(sJt |j tj sJ|j j|k(sJt ||sJt|t|vsJ|j|k(sJ|djdk(sJ|djJ|d|dk(sJ|d|dk(sJtjt5|ddddtjt5|ddddt |tsJy#1swYCxYw#1swY(xYw) Nrrrrrr r)r#r$rrXr&rYr to_pylistrhr'rBrC IndexErrorr)rrrRrs r2 test_listr)[s^  A !"A 66R<< q6Q;; ahh )) ) 88   1 $$ $ a   7d1g   779>> Q4::<5  Q4::<   R5AaD== R5AaD== z " " z "  ! a "" "   sE%E1%E.1E:rc&tjtjgdtj|}|'tj tj}|j |k(sJ|jgdk(sJy)Nrrr)r#r$r6rOrlist_rr'rrs r2test_list_from_numpyr-vsb "((9BHHJ7bAA z XXbhhj ! 66R<< 779 !! !r4factoryc `ddl}tj|jgd}|j gdk(sJt j dfdt j g|tjfdt j g|tjfdt j g|tjdfdt j g|tjftjdt j g|tjd d fg}|D]\\}}tjtt f5tj|| dddtj||d }^y#1swY$xYw) NrrrPr sstringr]T0rrr)rr)rr#r$Seriesr'r6nanr"utf8rtrrrrBrCrD TypeError)r.rrcasescasers r2test_list_from_pandasr7s? "))I&'A 779 !! !  BFF WRYY[12 BFF WRWWY/0 RVV gbiil34 ,- //#  'r11E)FG  E7b ]]J 2 3 % IId $ % IId 6 7 % %s )F$$F- chtjgdtjtjd}t |dk(sJt |tj sJt|dk(sJ|jgdk(sJ|djdk(sJ|djJ|d|dk(sJtjt5|d dddtjt5|ddddy#1swY1xYw#1swYyxYw) N)rNrrrz+rrr r) r#r$r+rrXr&FixedSizeListScalarrhr'rBrCr(rEs r2test_fixed_size_listr;s ,RXXbhhj!%<=A q6Q;; a// 00 0 7C CC C 779 $$ $ Q4::<1   Q4::<   R5AaD== z " " z "  !    s&D D(D%(D1ctjtjdtjtjdtjg}ddd}tj ||}t |t |jcxk(rddgk(sJJt |jtj dtjtj dtjgk(sJt |jdtj dtjfdtj dtjfgk(sJd|vsJd|vsJd|vsJd|vsJ|j|k(sJt|t|k7sJt|jt|k(sJt|dk(sJt|dtjsJt|dtjsJ|djdk(sJ|djdk(sJt|t sJt#j$t&5|d dddtj d|}t |t |jcxk(rddgk(sJJ|jJd|vsJd|vsJt|dtjsJt|dtjsJt|dtjsJt|d tjsJ|dj(d usJ|dj(d usJ|djJ|djJt|t sJy#1swYPxYw) Nxyrg @r=r>rzr nonexistentrF)r#structfieldint16float32r$rUkeysrYitemsr'rhrXr& Int16Scalar FloatScalarrrBrCKeyErrorr)rrRrs r2 test_structrLsm  bhhj! bjjl# B cA !"A 7d1668n 2c 22 22 2   !"((*% #BJJL)     ? bii +, bii"**,/0   !8O8 !8O8 a<< A:: 779>> 7d1g    ?d1g %% % q6Q;; afbnn -- - afbnn -- - S6<<>Q   S6<<>S  a !! ! x  - $R A 7d1668n 2c 22 22 2 779   !8O8 !8O8 afbnn -- - afbnn -- - adBNN ++ + adBNN ++ + S6??e ## # S6??e ## # S6<<> !! ! S6<<> !! ! a !! !!s (O<<Pc tjtjdtjtjdtjtjdtj g}tj gd|}t|t|jcxk(rgdk(sJJt|dk(sJ||k(sJt|jdtj dtjfdtj dtjfdtj dtj fgk(sJd|vsJd|vsJd |vsJd |vsJtjt5|ddddt|dtjsJ|dj!dk(sJt|d tj"sJ|d j!dk(sJt|dtjsJ|dj!dk(sJt|d tj$sJ|d j!dk(sJd t'|vsJtjt(d 5|j!dddy#1swY*xYw#1swYyxYw)Nr=r>))r=r)r>@)r=rr)r=r>r=rrrNr@rrzpyarrow.StructScalarzduplicate field namesr>)r#rBrCrDrErr$rUrFrXrGrBrCrJr&rIr'rHrrhrDr,s r2test_struct_duplicate_fieldsrOst  bhhj! bjjl# bhhj! B 2S   adBNN ++ + Q4::<1   adBNN ++ + Q4::<3   adBNN ++ + Q4::<1   !T!W ,, , z)@ A  ! s7K% K2%K/2K;ctjtjtj}ddg}tj||}t |dk(sJt |tjsJt |jtjsJt|dk(sJ|jjdddd ddgk(sJt||D] \}}||k(r Jtjd|D]}|j|k(sJ|dtjd tjtjdtjfk(sJ|d |dk(sJ|d |d k(sJ|d tjdtjk(sJtjt 5|d dddtjt 5|ddddtjt"5|dddd|j%|j'|}|j)|sJ|jddddk(sJt |t*sJy#1swYxYw#1swYxYw#1swYxYw)Nrrrrz)rr)keyrrr r&rrfake_keystrictmaps_as_pydictsr)r#map_r rr$rXr& MapScalarrYrrhr'zipr'rBrCr(rJr*r+r,r)r/rrRrrj_r0s r2test_mapr[sy bggi (B 8A !"A q6Q;; a && & ahh )) ) 7A AA A 88   a a $   Aq 1Av vYYt" %    779>> Q4 #BIIK( !"'')$   R5AaD== R5AaD== S6RYYqrwwy1 11 1 z " " z "  ! x  * ""=#6#6q#9:H ??1   7787 ,aa0@ @@ @ a !! !  s$)J%J17J=%J.1J:=Kctjtjtj}ddg}tj||}|j d|k(sJt jt5|j dsJ dddt jd5|j dd d ik(sJ dddy#1swYCxYw#1swYyxYw) Nr)rrrrTrSz1Encountered key 'a' which was already encounteredr>lossyrr) r#rVr rr$r'rBrCrJwarnsrKs r2test_map_duplicate_fieldsr_@s bggi (B 8A !"A 7747 (A -- - x 1wwxw0001 O P<wwww/C8;;;<<11<q!!! "r4c gd}gd}tjj||}|d}t|tjsJt|j tj sJ|j tj|dk(sJ|jdk(sJ|d}t|j tj sJ|jJtjt5tjdtjtjtjdddy#1swYyxYw)N)rrrrr)rrrNrrrr)r#RunEndEncodedArrayrdr&RunEndEncodedScalarrrrOr'rBrCNotImplementedErrorr$run_end_encodedr)run_endsrYrQr$s r2test_run_end_encodedrobs!H F   + +Hf =C VF fb44 55 5 fllBNN 33 3 <<288F+A. .. . <<>Q  WF fllBNN 33 3 <<> !! ! * +A !R'' BHHJ?@AAAs AEE#c tjjtjgdtjtjgdtjgdg}|D]}|j dt |tjsJ|jj|jsJ|jdusJtjtj5|j|j|ddd|dj dk(sJ|dj#dk(sJ|d j dk(sJ|d j#d k(sJ|d j d k(sJ|d j#d k(sJ|d j d k(sJ|d j#d k(sJtjj%tjgddtjgddtjgddtjgddg}|D]}|j dt |tjsJ|jj|jsJ|jdusJtjtj5|j|j|ddd|dj dk(sJ|dj#dk(sJ|dj d k(sJ|dj#d k(sJy#1swYxYw#1swY&xYw)N)rrrrrrlrTr rrrrrrr)rrrrrrrr)rrrrrrrr)abcdr"rr)r value_offsetschildrenrqr)r# UnionArray from_sparserOrr%r& UnionScalarrr,r)rBrCArrowNotImplementedErrorr*r+ type_coder' from_dense)r/rQrs r2 test_unionr}ws -- # # BGGI. HH) * HH\ "  C8  !R^^,,,vv}}SXX&&&zzT!!! ]]266 7 8    3 3A 6 7 8 8 8 q6  q  q6<<>S  q6  q  q6<<>S  q6  q  q6<<>Q   q6  q  q6<<>Q   -- " "hh,6:hh47C HH-H = HHYW -  # C8  !R^^,,,vv}}SXX&&&zzT!!! ]]266 7 8    3 3A 6 7 8 8 8 q6  q  q6<<>T !! ! q6  q  q6<<>Q  A 8 84 8 8s!M/+!M</M9 <N c tjdgtjtjtjj dgk(sJtjdgtjtj dtjdtj dtjj dgk(sJy)z{ Check we can call `MapScalar.as_py` with custom field names See https://github.com/apache/arrow/issues/36809 )rra custom_keyF)nullable custom_valueN)r#r$rVr r'rCrJr4r2,test_map_scalar_as_py_with_custom_field_namers 99   IIK IIK    eg.!  "" " 99   HH\299; ? HH^RYY[ 1    eg.!  "" "r4c tjtjdtjtjtj tjdtj tjtjtj g}ddiddiddigd }tj|| }|jd |k(sJy) Nr=r>rrrrrmrr?rrSrT) r#rBrCrVr rr+r$r'rKs r2*test_nested_map_types_with_maps_as_pydictsrs  bggbiik277956 bhhrwwryy{BGGI>?@ B AhsAha12A !"A 7787 , 11 1r4)rjrrBr-collections.abcrrnumpyr6 ImportErrorpyarrowr#pyarrow.computecomputer@mark parametrizerurr Int8Scalarr} UInt8ScalarrDrHuint16 UInt16Scalarr Int32Scalarr UInt32Scalarruint64 UInt64Scalarr7r8rrErIrrr StringScalar BinaryScalar large_stringLargeStringScalar large_binaryLargeBinaryScalarrStringViewScalar binary_viewBinaryViewScalarr"r# ListScalar large_listLargeListScalarr+r: list_viewListViewScalarlarge_list_viewLargeListViewScalarrtoday Date32Scalarr Date64ScalarnowTimestampScalarrreplacer Time32Scalar Time64ScalarrDurationScalarr MonthDayNanoIntervalScalar StructScalarrVr rWr3r9rFrKrSr[ra timezone_datarorzrrrrrrrrrirmonth_day_nano_intervalDataTyperrrrrrrrnopandasrrrrrr r rr r$r)r-r7r;rLrOr[r_rhror}rrrJr4r2rs $ -1*4 D"""#*4 4!!"*4bnn*4r~~ *4  2==! *4  BNN# *4 BNN#*4  R__%*4 BNN#*4  R__%*4 BNN#*4  R__%*4 *"**,**+*4 $ *4 *"**,'*4 W__WtR%8%89!*4"W__AB 2   #*4&tR__%'*4(tR__%)*4*OBOO%r';';<+*4,OBOO%r';';<-*4.NBNN$b&9&9:/*40NBNN$b&9&9:1*42 YRYYq\23343*44bmm$5*46=2==+R-?-?@7*48hbhhwrwwy!,b.D.DE9*4:  WRWWY'):):;;*4<%2%%gbggi0"2H2HI=*4>]]D"//2?*4@]]IBIIK9A*4BdB$6$67C*4D!!#+++:IBIIcN__E*4H!!#T2??;I*4JXQr'8'89K*4LR___%t""$M*4P Aq6D"//2Q*4R72779299; :BLLIS*4*VW*V@< 4& H H2>$$"*"';/  # IBIIcN 9299S>  $ IBIIdO 9299T?  $ IBIIdO 9299T?  $ IBIIdO 9299T?   IBIIK 9299;   IBIIK 9299;  T LBLL  <2<<   D KBKK  ;2;;t +++-. %2 % % '(528&2;;&98& 'OO&&ibiik :;D<D >>60 6 0 0 I I  "5)"45-RYY["//"R__,,-R^^r**+0 . 6 ."=>-RYY["//"R__,,-R^^r**+0 ' ? ':/ RXXibiikBMM*R]]9299;!3!34R\\)"))+ 1 12R  $b&<&<= + #  #* BHHXRXXZBMM("((*BLLBxrxxz"  ""HHMMLL % 7 7.  1"h(V*"Z <"(A*.b". 2K Bsoo*)o*