+
    nDjs<              "          ^ RI t ^ RIt^ RIt^ RIHt ^ RIt^ RIt^ RI	H
u Ht ]P                  ! R4      t]P                  P                   t]P$                  ! RR7      R 4       tR tR tR tRMR	 lt]P                  P1                  R
]P2                  ! 4       R3]P4                  ! 4       R3]P6                  ! 4       R3]P8                  ! 4       R3]P:                  ! 4       R3]P<                  ! 4       R3]P>                  ! 4       R3]P@                  ! 4       R3]PB                  ! 4       R3]PD                  ! 4       R3]PF                  ! 4       R3]PH                  ! 4       R3]PJ                  ! 4       R3]PL                  ! R4      R3]PL                  ! R4      R3]PN                  ! R4      R3]PN                  ! R4      R3]PP                  ! R4      R 3]PP                  ! R4      R!3]PP                  ! R4      R"3]PP                  ! R4      R#3]PP                  ! RR$R%7      R&3]PP                  ! RR'R%7      R(3]PR                  ! 4       R)3]PT                  ! 4       R*3]PV                  ! ^^4      R+3]PX                  ! 4       R,3]PZ                  ! 4       R-3]PZ                  ! ^
4      R.3.4      ]P                  P1                  R/R0R1.4      R2 4       4       t.]P                  P1                  R3]P4                  ! 4       . RNOR43]P>                  ! 4       ]/! ]0! ^4      4      R53]P@                  ! 4       ]/! ]0! ^4      4      R63]P:                  ! 4       ]/! ]0! ^4      4      R73]P<                  ! 4       ]/! ]0! ^4      4      R83]PH                  ! 4       ]/! ]0! ^4      4      R93]PJ                  ! 4       ]/! ]0! ^4      4      R:3]PP                  ! R4      ]/! ]0! ^4      4      R;3]PP                  ! R4      ]/! ]0! ^4      4      R<3]PP                  ! R4      ]/! ]0! ^4      4      R=3]PP                  ! R4      ]/! ]0! ^4      4      R>3]PR                  ! 4       ]/! ]0! ^4      4      R?3]PT                  ! 4       ]/! ]0! ^4      4      R@3.4      RA 4       t1RB t2]P                  P1                  RC]P4                  ! 4       . RNOR4R3]P>                  ! 4       ]/! ]0! ^4      4      R5R3]P@                  ! 4       ]/! ]0! ^4      4      R6R3]PB                  ! 4       ]/! ]0! ^4      4      RDR3]PD                  ! 4       ]/! ]0! ^4      4      RER3]P6                  ! 4       ]/! ]0! ^4      4      RFR3]P8                  ! 4       ]/! ]0! ^4      4      RGR3]P:                  ! 4       ]/! ]0! ^4      4      R7R3]P<                  ! 4       ]/! ]0! ^4      4      R8R3]PH                  ! 4       ]/! ]0! ^4      4      R9R3]PJ                  ! 4       ]/! ]0! ^4      4      R:R3]PP                  ! R4      ]/! ]0! ^4      4      R;R 3]PP                  ! R4      ]/! ]0! ^4      4      R<R!3]PP                  ! R4      ]/! ]0! ^4      4      R=R"3]PP                  ! R4      ]/! ]0! ^4      4      R>R#3]PR                  ! 4       ]/! ]0! ^4      4      R?R)3]PT                  ! 4       ]/! ]0! ^4      4      R@R*3.4      RH 4       t3RI t4]P                  Pk                  RJRK7      RL 4       t6R# )O    Njpypesession)scopec            	      0    \         P                  R ,          p \         P                  P	                  V RR4      p\        P                  ! V4      pVP                  4       P                  RRR/R7      P                  p\         P                  P	                  V RRR	R
V R24      p\         P                  ! RV4      p/ pRVR&   \        P                  ! \        P                  4       RV,           3/ VB  \        P!                  R4      P"                  P$                  P&                  P)                  \*        P,                  4      #   \         dH    \         P                  P	                  \         P                  P                  \        4      RRR4      p  EL{i ; i)ARROW_SOURCE_DIRz..javazpom.xmlzPOM:versionPOMz!http://maven.apache.org/POM/4.0.0)
namespacestoolstargetzarrow-tools-z-jar-with-dependencies.jarARROW_TOOLS_JARFconvertStringsz-Djava.class.path=org)osenvironKeyErrorpathjoindirname__file__ETparsegetrootfindtextgetenvr   startJVMgetDefaultJVMPathJPackageapachearrowmemoryRootAllocatorsysmaxsize)	arrow_dirpom_pathtreeversionjar_pathkwargss         P/data/cameron/venvs/s3viz/lib/python3.14/site-packages/pyarrow/tests/test_jvm.pyroot_allocatorr-       sL   NJJ12	 ww||Ivy9H88HDlln!!6
 "  4	 
 ww||67H
wi9:<H yy*H5HF$F	NN5**,.BX.M >>% ''--44BB3;;OO%  NGGLL!:D$M	Ns   E AFFc                 d   V P                  ^4      p\        ^4       F  pVP                  V^V,
          4       K  	  VP                  4       p\        P
                  ! V4      pVP                  4       R8X  g   Q hVP                  4       V^,           8X  g   Q h?VP                  4       V8X  g   Q hR# )   s   N)bufferrangesetByterefCntpa_jvm
jvm_buffer
to_pybytes)r-   r5   iorig_refcntbufs   &    r,   test_jvm_bufferr:   :   s    &&q)J1X1a!e$  ##%K 

J
'C >>BBBB +/111+---    c                     ^ RI p^ RIHp V P                  ^4      pVP	                  4        \
        P                  ! V4      ;_uu_ 4        \        P                  ! V4       RRR4       R#   + '       g   i     R# ; i)r   N)IllegalArgumentException)	jpype.imports	java.langr=   r0   releasepytestraisesr4   r5   )r-   r   r=   r5   s   &   r,   test_jvm_buffer_releasedrC   N   sQ    2&&q)J	/	0	0*% 
1	0	0	0s   
A++A<	c                     \         P                  R 4      ! 4       p\         P                  R4      pVP                  W4      # )z+com.fasterxml.jackson.databind.ObjectMapperz(org.apache.arrow.vector.types.pojo.Field)r   JClass	readValue)jvm_specom
pojo_Fields   &  r,   
_jvm_fieldrJ   Y   s2    	C	D	FBHIJ<<--r;   c                 P   \        V 4      p\        P                  R 4      p\        P                  R4      ! 4       pVP                  V4       V'       dM   \        P                  R4      ! 4       pVP	                  4        F  w  rgVP                  Wg4       K  	  V! WE4      # V! V4      # )z)org.apache.arrow.vector.types.pojo.Schemajava.util.ArrayListzjava.util.HashMap)rJ   r   rE   additemsput)rG   metadatafield
schema_clsfieldsdctkvs   &&      r,   _jvm_schemarW   _   s    x EIJJ\\/02F
JJull./1NN$DAGGAM %&&&&!!r;   zpa_type,jvm_specz{"name":"null"}z{"name":"bool"}z+{"name":"int","bitWidth":8,"isSigned":true}z,{"name":"int","bitWidth":16,"isSigned":true}z,{"name":"int","bitWidth":32,"isSigned":true}z,{"name":"int","bitWidth":64,"isSigned":true}z,{"name":"int","bitWidth":8,"isSigned":false}z-{"name":"int","bitWidth":16,"isSigned":false}z-{"name":"int","bitWidth":32,"isSigned":false}z-{"name":"int","bitWidth":64,"isSigned":false}z+{"name":"floatingpoint","precision":"HALF"}z-{"name":"floatingpoint","precision":"SINGLE"}z-{"name":"floatingpoint","precision":"DOUBLE"}sz-{"name":"time","unit":"SECOND","bitWidth":32}msz2{"name":"time","unit":"MILLISECOND","bitWidth":32}usz2{"name":"time","unit":"MICROSECOND","bitWidth":64}nsz1{"name":"time","unit":"NANOSECOND","bitWidth":64}z4{"name":"timestamp","unit":"SECOND","timezone":null}z9{"name":"timestamp","unit":"MILLISECOND","timezone":null}z9{"name":"timestamp","unit":"MICROSECOND","timezone":null}z8{"name":"timestamp","unit":"NANOSECOND","timezone":null}UTC)tzz9{"name":"timestamp","unit":"NANOSECOND","timezone":"UTC"}zEurope/PariszB{"name":"timestamp","unit":"NANOSECOND","timezone":"Europe/Paris"}z{"name":"date","unit":"DAY"}z${"name":"date","unit":"MILLISECOND"}z+{"name":"decimal","precision":19,"scale":4}z{"name":"utf8"}z{"name":"binary"}z){"name":"fixedsizebinary","byteWidth":10}nullableTFc                 l   V\         P                  ! 4       8X  d   V'       g   R # RRRVR\        P                  ! V4      R. /p\	        \        P
                  ! V4      4      p\        P                  ! V4      p\         P                  ! RWR7      pWg8X  g   Q h\        \        P
                  ! V4      4      p\        P                  ! V4      pV\         P                  ! V.4      8X  g   Q h\        \        P
                  ! V4      RR/4      p\        P                  ! V4      pV\         P                  ! V.RR/4      8X  g   Q hR	R
RR/.VR&   \        \        P
                  ! V4      4      p\        P                  ! V4      pVP                  R
R/4      pV\         P                  ! V.4      8X  g   Q hR # )Nname
field_namer^   typechildren)r^   metadatakeyz
field metavaluez
field datarP   )panulljsonloadsrJ   dumpsr4   rQ   rW   schemawith_metadata)	r-   pa_typerG   r^   spec	jvm_fieldresultexpected_field
jvm_schemas	   &&&&     r,   test_jvm_typesru   w   sl   d "'')HH

8$BD 4::d+,I\\)$FXXlGGN###TZZ-.J]]:&FRYY/0000 TZZ-/?@J]]:&FRYY/&&1ABBBB g|DEDTZZ-.J]]:&F#11	|$&NRYY/0000r;   zpa_type,py_data,jvm_type	BitVectorUInt1VectorUInt2Vector	IntVectorBigIntVectorFloat4VectorFloat8VectorTimeStampSecVectorTimeStampMilliVectorTimeStampMicroVectorTimeStampNanoVectorDateDayVectorDateMilliVectorc                    R V 2p\         P                  V4      ! RV 4      pVP                  \        V4      4       \	        V4       F2  w  rgVR9   d   \         P                  V4      pVP                  Wg4       K4  	  VP                  \        V4      4       \        P                  ! W!R7      p\        P                  ! V4      p	VP                  V	4      '       g   Q hR# )org.apache.arrow.vector.vectorrb   N   rw   rx   )r   rE   allocateNewlen	enumerateJIntsetSafesetValueCountrh   arrayr4   equals)
r-   ro   py_datajvm_typecls
jvm_vectorr7   valpy_array	jvm_arrays
   &&&&      r,   test_jvm_arrayr      s    . %XJ
/Cc"8^<J3w<(G$55**S/C1"	 %
 S\*xx.HZ(I??9%%%%r;   c                    R R 2p\         P                  V4      ! RV 4      pVP                  4        \        P                  ! V4      p\        V4      ^ 8X  g   Q hVP                  \        P                  ! 4       8X  g   Q hR# )r   ry   r   N)	r   rE   r   r4   r   r   rb   rh   int32)r-   r   r   r   s   &   r,   test_jvm_array_emptyr      sg    $[M
2Cc"8^<JZ(Iy>Q>>RXXZ'''r;   z!pa_type,py_data,jvm_type,jvm_specUInt4VectorUInt8VectorTinyIntVectorSmallIntVectorc                 r   R V 2p\         P                  V4      ! RV 4      pVP                  \        V4      4       \	        V4       F2  w  rxVR9   d   \         P                  V4      pVP                  Wx4       K4  	  VP                  \        V4      4       RRRRR\        P                  ! V4      R. /p	\        \        P                  ! V	4      4      p
\         P                  R4      ! 4       pVP                  V
4       \         P                  R4      ! 4       pVP                  V4       \         P                  R	4      pV! W\        V4      4      p\        P                  P                  \        P                   ! W!R
7      .R.4      p\"        P$                  ! V4      pVP'                  V4      '       g   Q hR# )r   r   r`   ra   r^   Frb   rc   rL   z(org.apache.arrow.vector.VectorSchemaRootr   colNr   )r   rE   r   r   r   r   r   r   rj   rk   rJ   rl   rM   rh   RecordBatchfrom_arraysr   r4   record_batchr   )r-   ro   r   r   rG   r   r   r7   r   rp   rq   
jvm_fieldsjvm_vectorsjvm_vsrpy_record_batchjvm_record_batchs   &&&&&           r,   test_jvm_record_batchr      sl   \ %XJ
/Cc"8^<J3w<(G$55**S/C1" % S\* 	E

8$BD 4::d+,I 346JNN9,,457KOOJllEFGjs7|<Gnn00	'	()	O **73!!"23333r;   c                    R p\         P                  V4      ! 4       pVf
   ^ Vn        V# ^Vn        \         P                  R4      ! R4      p\         P                  R4      pVP                  VP                  4      pV P                  \        V4      4      Vn        VP
                  P                  ^ V^ \        V4      4       ^ Vn        \        V4      Vn	        V# )z5org.apache.arrow.vector.holders.NullableVarCharHolderzjava.lang.Stringstringz!java.nio.charset.StandardCharsets)
r   rE   isSetgetBytesUTF_8r0   r   setBytesstartend)rar   nvch_clsholderrg   std_charsetsbytes_s   &&     r,   _string_to_varchar_holderr     s    FH\\(#%F~ M /0:||$GH 2 23		#f+.q&!S[9[
Mr;   z7from_buffers is only supported for primitive arrays yet)reasonc                    . ROpRp\         P                  V4      ! RV 4      pVP                  4        \        V4       F:  w  rE\	        V R 4      pVP                  WF4       VP                  V^,           4       K<  	  \        P                  ! V\        P                  ! 4       R7      p\        P                  ! V4      pVP                  V4      '       g   Q hR# )r   Nz%org.apache.arrow.vector.VarCharVectorr   r   )r   Nu   töst)r   rE   r   r   r   r   r   rh   r   r   r4   r   )	r-   re   r   r   r7   r   r   r   r   s	   &        r,   test_jvm_string_arrayr     s     %D
1Cc"8^<Jt_	*>8D1%  Q' %
 xx299;/HZ(I??9%%%%r;   )N)TFTT)7rj   r   pyarrowrh   pyarrow.jvmjvmr4   rA   r$   xml.etree.ElementTreeetreeElementTreer   importorskipr   mark	processes
pytestmarkfixturer-   r:   rC   rJ   rW   parametrizeri   bool_int8int16r   int64uint8uint16uint32uint64float16float32float64time32time64	timestampdate32date64
decimal128r   binaryru   listr1   r   r   r   r   xfailr    r;   r,   <module>r      s  $  	    
 " " 	G$[[""
 i P !P2.(&."0 +WWY!"XXZ"#WWY=>XXZ?@XXZ?@XXZ?@XXZ?@YY[ABYY[ABYY[ABZZ\@AZZ\BCZZ\BCYYs^DEYYt_JKYYt_JKYYt_IJ\\#  \\$  \\$  \\$  \\$5! $ \\$>* -9 :YY[01YY[89]]2qHIYY[#$YY[%&YYr]?@G/. /` dE]31 4a/b1H 3XXZ*K8XXZeCj!=1YY[$uSz"M2XXZeCj!;/XXZeCj!>2ZZ\4c
#^4ZZ\4c
#^4\\#U3Z(*>?\\$eCj)+AB\\$eCj)+AB\\$eCj)+@A YY[$uSz"O4YY[$uSz"$56%6 *&+*&$( <XXZ*K9JK

U3Z6	 			U3Z7	 			U3Z7	 			U3Z7	 		U3Z5	 	
U3Z6	 	
U3Z6	 	
U3Z6	 	

U3Z7	 	

U3Z7	 	SU3Z>	 	TU3ZC	 	TU3ZC	 	TU3ZB	 			U3Z&	 			U3Z.	Gj? jV$4WjV$4N$  1 2&2&r;   