Ë
    u™ãj²— ã                   óš  — d dl Z d dl mZ d dlZd dlmZm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mZ d dlZd dlZd dlZd dlmZ d dlmZmZmZ d dlmZ d dlmc mZ d dlZd dl m!Z" d d	l#m$Z$ ejJ                  jM                  d
g d¢«      d„ «       Z'd„ Z( G d„ d«      Z)d„ Z*d„ Z+d„ Z, ejZ                  d«      d„ «       Z.d„ Z/d„ Z0d„ Z1ejJ                  jM                  dejd                  ejf                  g«      ejJ                  jM                  dddg«      d„ «       «       Z4d„ Z5ejJ                  jM                  ddd g«      d!„ «       Z6d"„ Z7d#„ Z8ejJ                  jM                  d$g d%¢d&d'gg d(¢g d)¢g«      d*„ «       Z9ejJ                  jM                  dg d+¢«      d,„ «       Z:ejJ                  jM                  d-d.d/gd0d1gd0d2gg«      d3„ «       Z;y)4é    N)Ú	timedelta)ÚBytesIOÚStringIO)ÚPath)Ú	HTTPError)Úusing_string_dtype)ÚIS64ÚWASMÚis_platform_windows)ÚPandas4Warning)Úujson_dumpszliteral, lines))z[{"a": 1, "b": 2}
        {"a": 3, "b": 4}
        {"a": 5, "b": 6}
        {"a": 7, "b": 8}F)ú!{"a": 1, "b": 2}
{"b":2, "a" :1}
T)ú4{"a\\":"foo\\","b":"bar"}
{"a\\":"foo\"","b":"bar"}
F)r   Fc                 ó  — t        j                  t        d¬«      5 }t        j                  | |¬«       d d d «       j
                  j                  t        j                  t        j                  fv sJ ‚y # 1 sw Y   ŒBxY w)Nz\[Errno \d+\]©Úmatch©Úlines)	ÚpytestÚraisesÚOSErrorÚpdÚ	read_jsonÚvalueÚerrnoÚENOENTÚEINVAL)Úliteralr   Úexcinfos      úk/var/www/html/python-recuperauto-other/env/lib/python3.12/site-packages/pandas/tests/io/json/test_pandas.pyÚtest_literal_json_raisesr!   #   s_   € ô" 
�‰”wÐ&6Ô	7ð +¸7Ü
�‰�W EÕ*÷+ð
 �=‰=×Ñ¤5§<¡<´·±Ð">Ñ>Ð>Ñ>÷+ð +ús   œA5Á5A>c                 ó¬   — |dv r|j                  d¬«      }|dk(  r#t        t        |j                  «      «      |_        t	        j
                  | |«       y )N)ÚrecordsÚvaluesT©Údropr$   )Úreset_indexÚrangeÚlenÚcolumnsÚtmÚassert_frame_equal)ÚresultÚexpectedÚorients      r    Úassert_json_roundtrip_equalr0   <   sN   € ØÐ&Ñ&Ø×'Ñ'¨TÐ'Ó2ˆØ�ÒÜ ¤ X×%5Ñ%5Ó!6Ó7ˆÔÜ×Ñ˜& (Õ+ó    c                   ó~(  — e Zd Zej                  d„ «       Zej                  d„ «       Zd„ Zej                  j                  dg d¢«      d„ «       Z
ej                  j                  dddg«      d	„ «       Zej                  j                  dd
dg«      ej                  j                  dddgddggddgddggddgddgg ej                  d«      dg ej                  d«      dggg«      d„ «       «       Zej                  j                  dg d¢«      d„ «       Zd„ Zej                  j                  ddeg«      ej                  j                  dd dg«      d!„ «       «       Zej                  j                  ddej(                  g«      ej                  j                  dd dg«      d"„ «       «       Zej                  j                  dd#ej,                  ed$g«      ej                  j                  dd dg«      d%„ «       «       Zej                  j                  dd dg«      d&„ «       Zej                  j                  dd dg«      d'„ «       Zej                  j                  d(d# ej6                  d) ej:                  d)«      ¬*«      g«      ej                  j                  dd dg«      d+„ «       «       Zej                  j                  dd dg«      d,„ «       Zej                  jA                  d-e!¬.«      ej                  j                  dd/d/gd0d1ggd/d2gd0d0ggd/d/gd0d0ggg«      d3„ «       «       Z"ej                  j                  d4d5d6d7jG                  d8g«      d
fd9d:g«      d;„ «       Z$ej                  j                  dd dg«      ej                  j                  dd dg«      d<„ «       «       Z%ej                  j                  dd dg«      d=„ «       Z&ej                  j                  d>ejN                  ejN                   g«      ej                  j                  dd dg«      d?„ «       «       Z(ej                  jS                  e* d@¬A«      ej                  j                  dBg dC¢«      dD„ «       «       Z+dE„ Z,dF„ Z-dG„ Z.dH„ Z/dI„ Z0dJ„ Z1dK„ Z2dL„ Z3dM„ Z4dN„ Z5dO„ Z6dP„ Z7ej                  j                  ddd#g«      dQ„ «       Z8dR„ Z9ej                  j                  d(d# ej6                  d) ej:                  d)«      ¬*«      g«      dS„ «       Z:ej                  j                  dej,                  eg«      dT„ «       Z;dU„ Z<dV„ Z=dW„ Z>ej                  j                  d(d# ej6                  d) ej:                  d)«      ¬*«      g«      ej                  j                  dXd  ej~                  dYgdZ¬[«      fd ej~                  d\g«      fg«      d]„ «       «       Z@d^„ ZAd_„ ZBd`„ ZCda„ ZDdb„ ZEdc„ ZFej                  j                  dddedfg«      ej                  j                  dgd dg«      ej                  j                  dheGj�                  eGjŽ                  ej                  g«      di„ «       «       «       ZIej                  j                  djg dk¢«      dl„ «       ZJdm„ ZKej                  j                  dng do¢«      dp„ «       ZLdq„ ZMej                  j                  dng do¢«      dr„ «       ZNds„ ZOdt„ ZPej                  j                  du ej¢                  g dv¢ ej¤                  d«      dwœ«      d#f ej¢                  dxg dy¢i«      d#f ej¢                  g dv¢ ej¦                   ej¤                  d«      dz¬{«      dwœ«      eTf ej¢                  dx ejª                  g d|¢«      i«      eTf ej¢                  dxg d}¢i ejª                  g d|¢«      ¬~«      eTf ej¢                  dxg d}¢i ej¦                   ej¤                  d«      dz¬{«      ¬~«      eTf ej¢                  ddgg ejª                  d€d�g«      ¬‚«      eTf ej~                  g d}¢ ejª                  g d|¢«      ¬~«      eTfg«      dƒ„ «       ZVej                  j                  d(d# ej6                  d) ej:                  d)«      ¬*«      g«      ej                  j                  d„g d…¢«      d†„ «       «       ZWej                  j                  d„g d‡¢«      dˆ„ «       ZXej                  j                  d‰g d‡¢«      ej                  j                  dŠd‹dŒg«      ej                  j                  d�d dg«      ej                  j                  d ej²                  dŽd�g«       ej´                  d�d‘g«      g«      d’„ «       «       «       «       Z[ej                  j                  d‰g d‡¢«      ej                  j                  d“ddg«      d”„ «       «       Z\ej                  j                  dŠd‹dŒg«      d•„ «       Z]ej                  j                  dg d–¢«      ej                  j                  d“ddg«      d—„ «       «       Z^d˜„ Z_d™„ Z`dš„ Zaej                  jÄ                  ej                  jÆ                  d›„ «       «       Zdej                  jÄ                  ej                  jÆ                  dœ„ «       «       Zed�„ Zfdž„ ZgdŸ„ Zhej                  j                  dgd dg«      ej                  j                  dddfdeg«      ej                  j                  d ejÒ                  ejg«      d¡„ «       «       «       Zkej                  j                  dgd dg«      d¢„ «       Zlej                  j                  d£eGj�                  eGjÔ                  g«      d¤„ «       Zmd¥„ Znd¦„ Zod§„ Zpd¨„ Zqd©„ Zrdª„ Zsd«„ Ztej                  j                  d¬ ej                  d­«       ej                  d®d¯¬°«       ej                  d±«      g«      d²„ «       Zud³„ Zvej                  j                  d´ ejî                  dµdd¶¬·«       ejî                  d¸dd¯d¶¬¹«       ejî                  dºdd¶¬·«      g«      d»„ «       Zxd¼„ Zyej                  j                  dg d½¢«      d¾„ «       Zzej                  j                  d¿dÀdÁg«      dÂ„ «       Z{dÃ„ Z|dÄ„ Z}ej                  jÆ                  ej                  jÄ                  dÅ„ «       «       Z~ej                  jÆ                  ej                  jÄ                  dÆ„ «       «       ZdÇ„ Z€dÈ„ Z�ej                  j                  dÉe‚�j                  dz   e‚�j                  dz    g«      dÊ„ «       Z„ej                  j                  dÉdËdÌg«      dÍ„ «       Z…dÎ„ Z†dÏ„ Z‡ej                  jA                  dÐeˆ¬.«      ej                  j                  dÑg dÒ¢g dÓ¢g dÔ¢g dÕ¢g dÖ¢g d×¢g dØ¢e�j                  dÙdÚdÛgdÜe�j                  dÙdÚdÛgg	«      ej                  j                  dd‹eŠg«      dÝ„ «       «       «       Z‹dÞ„ ZŒej                  j                  dd#ddgdßdàgddgdádâgdãdägg«      ej                  j                  dddgdádâgdãdägg«      då„ «       «       Z�dæ„ ZŽej                  j                  dg dç¢«      dè„ «       Z�dé„ Z�ej                  j                  dd eedêœg«      dë„ «       Z‘ej                  j                  dg dì¢«      dí„ «       Z’dî„ Z“ej                  j                  dï ej¢                  ddgdðdñggddg¬‚«      ddgddgdðdñggdòœf ej¢                  ddgdðdñggddg¬‚«      �j)                  dó«      ddgddgdðdñggdòœf ej¢                  ddgdðdñggddgddgddgg¬ô«      ddgddgdðdñggdòœf ej~                  g d}¢dx¬õ«      dxg d}¢döœf ej~                  g d}¢dx¬õ«      �j)                  dó«      dxg d}¢döœf ej~                  ddgdxddgddgg¬÷«      dxddgdöœfg«      dø„ «       Z•ej                  j                  d ej¢                  ddgdðdñggddg¬‚«       ej¢                  ddgdðdñggddg¬‚«      �j)                  dó«       ej¢                  ddgdðdñggddgddgddgg¬ô«       ej~                  g d}¢dx¬õ«       ej~                  g d}¢dx¬õ«      �j)                  dó«       ej~                  ddgdxddgddgg¬÷«      g«      dù„ «       Z–ej                  j                  dddg«      dú„ «       Z—ej                  j                  ddûdg«      dü„ «       Z˜ej                  j                  dd
dýg«      ej                  j                  dd dg«      dþ„ «       «       Z™dÿ„ Zšej                  j                  �d g �d¢«      �d„ «       Z›ej                  j                  �dg �d¢«      �d„ «       Zœej                  j                  �d�d�dg«      �d	„ «       Z�ej                  j                  �d�d�d
g«      �d„ «       Zžej                  j                  �d�d�d ej6                  d
�dej                  jA                  �d¬A«      ¬*«       ej6                  dý�dej                  jA                  �d¬A«      ¬*«      g«      �d„ «       ZŸej                  j                  �dg �d¢«      �d„ «       Z ej                  jS                   e¡«       �d¬A«      ej                  j                  �dg �d¢«      �d„ «       «       Z¢�d„ Z£�d„ Z¤�d„ Z¥�d„ Z¦ej                  jÆ                  ej                  jÄ                  �d„ «       «       Z§�d„ Z¨�d„ Z©�d„ Zª�d „ Z«ej                  j                  �d! ej~                  �d"�d#�d$�d%œ«      �d&f ej~                  �d'�d(�d)�d%œ«      �d*f ej¢                  �d+�d,g�d-�d.gg«      �d/f ej¢                  �d0�d1g�d2�d3gg«      �d4fg«      �d5„ «       Z¬�d6„ Z­�d7„ Z® ej:                  d)«      �d8„ «       Z¯ej                  j                  dg �d9¢«      �d:„ «       Z°�d;„ Z±y#(<  ÚTestPandasContainerc                 óì   — t        j                  dt        j                  dt        j                  ¬«      z  t        j
                  dd¬«      d¬«      }|j                  j                  d «      |_        |S )Ngš™™™™™ñ?é
   ©Údtypeú
2020-01-01©ÚperiodsÚts)ÚindexÚname)r   ÚSeriesÚnpÚarangeÚfloat64Ú
date_ranger<   Ú
_with_freq)ÚselfÚsers     r    Údatetime_seriesz#TestPandasContainer.datetime_seriesE   sW   € ô �i‰iØ”"—)‘)˜B¤b§j¡jÔ1Ñ1Ü—-‘- °bÔ9Øô
ˆð
 —I‘I×(Ñ(¨Ó.ˆŒ	Øˆ
r1   c           	      ó2  — t        j                  t        j                  j	                  d«      j                  d«      t        j                  t        d«      «      t        j                  ddd¬«      ¬«      }|j                  j                  d «      |_	        |S )	Né   )é   é   ÚABCDú
2000-01-01rI   ÚB)r:   Úfreq©r*   r<   )r   Ú	DataFramer?   ÚrandomÚdefault_rngÚstandard_normalÚIndexÚlistrB   r<   rC   ©rD   Údfs     r    Údatetime_framez"TestPandasContainer.datetime_frameQ   sl   € ô �\‰\Ü�I‰I×!Ñ! !Ó$×4Ñ4°WÓ=Ü—H‘HœT &›\Ó*Ü—-‘- °b¸sÔCô
ˆð
 —8‘8×&Ñ& tÓ,ˆŒØˆ	r1   c                 óæ   — t        j                  ddgddggddgddg¬	«      }t        |j                  |¬
«      «      }t        j                  ||¬
«      }|j                  «       }t        |||«       y )NÚaÚbÚcÚdz	index " 1z	index / 2za \ bzy / z©r<   r*   ©r/   ©r   rP   r   Úto_jsonr   Úcopyr0   ©rD   r/   rW   Údatar-   r.   s         r    Ú test_frame_double_encoded_labelsz4TestPandasContainer.test_frame_double_encoded_labels]   sn   € Ü�\‰\Ø�3ˆZ˜#˜s˜Ð$Ø Ð,Ø˜wÐ'ô
ˆô ˜Ÿ
™
¨&˜
Ó1Ó2ˆÜ—‘˜d¨6Ô2ˆØ—7‘7“9ˆÜ# F¨H°fÕ=r1   r/   )Úsplitr#   r$   c                 óæ   — t        j                  ddgddggddgddg¬«      }t        |j                  |¬	«      «      }t        j                  ||¬	«      }|j                  «       }t        |||«       y )
NrZ   r[   r\   r]   é   ÚxÚyr^   r_   r`   rc   s         r    Útest_frame_non_unique_indexz/TestPandasContainer.test_frame_non_unique_indexi   sf   € ä�\‰\˜C ˜:¨¨S zÐ2¸1¸a¸&È3ÐPSÈ*ÔUˆÜ˜Ÿ
™
¨&˜
Ó1Ó2ˆÜ—‘˜d¨6Ô2ˆØ—7‘7“9ˆä# F¨H°fÕ=r1   r<   r*   c                 óØ   — t        j                  ddgddggddgddg¬«      }d	|› d
�}t        j                  t        |¬«      5  |j                  |¬«       d d d «       y # 1 sw Y   y xY w)NrZ   r[   r\   r]   rh   ri   rj   r^   z+DataFrame index must be unique for orient='ú'r   r_   ©r   rP   r   r   Ú
ValueErrorra   ©rD   r/   rW   Úmsgs       r    Ú"test_frame_non_unique_index_raisesz6TestPandasContainer.test_frame_non_unique_index_raisesr   si   € ä�\‰\˜C ˜:¨¨S zÐ2¸1¸a¸&È3ÐPSÈ*ÔUˆØ;¸F¸8À1ÐEˆÜ�]‰]œ:¨SÔ1ñ 	&Ø�J‰J˜fˆJÔ%÷	&÷ 	&ñ 	&úó   ÁA Á A)rf   r$   rd   rZ   r[   r\   r]   ç      ø?ç      @g      @g      @rh   é   Ú20130101Ú20130102c                 ó.  — t        j                  |ddgddg¬«      }d }d}|j                  d d …df   j                  dk(  rt        }t        j                  ||¬«      5  t        |j                  |¬	«      «      }d d d «       d
}t        j                  t        |¬«      5  t        j                  |dg¬«      }d d d «       |dk(  r‘t        j                  |«      }	|	j                  d d …df   j                  dk(  rl|	j                  d d …df   j                  }
|	j                  d|
j                  d«      j                  t        j                  «      «       n|dk(  r|}	ddg|	_        t        j"                  	«       y # 1 sw Y   �ŒxY w# 1 sw Y   ŒÓxY w)Nrh   rH   ri   r^   ú?The default formatting of datetime/timedelta values will changer   údatetime64[us]r   r_   ú6The 'convert_dates' keyword in read_json is deprecated)r/   Úconvert_datesr$   Úmsrf   zx.1)r   rP   Úilocr7   r   r+   Úassert_produces_warningr   ra   r   Ú_valuesÚisetitemÚas_unitÚastyper?   Úint64r*   r,   )rD   r/   rd   rW   Úexpected_warningrq   ÚjsonÚdepr_msgr-   r.   Údtas              r    Útest_frame_non_unique_columnsz1TestPandasContainer.test_frame_non_unique_columnsy   sd  € ô �\‰\˜$ q¨! f°s¸C°jÔAˆàÐØOˆØ�7‰7’1�a�4‰=×ÑÐ"2Ò2Ü-Ðä×'Ñ'Ð(8ÀÔDñ 	7Ü˜BŸJ™J¨f˜JÓ5Ó6ˆD÷	7àKˆÜ×'Ñ'¬¸hÔGñ 	LÜ—\‘\ $¨vÀcÀUÔKˆF÷	Là�XÒÜ—|‘| DÓ)ˆHØ�}‰}šQ ˜TÑ"×(Ñ(Ð,<Ò<ð —m‘m¢A q DÑ)×1Ñ1�Ø×!Ñ! ! S§[¡[°Ó%6×%=Ñ%=¼b¿h¹hÓ%GÕHØ�wÒØˆHØ # U˜|ˆHÔä
×Ñ˜f hÕ/÷#	7ñ 	7ú÷	Lð 	Lús   ÁE>ÂFÅ>FÆF)r<   r*   r#   c                 óØ   — t        j                  ddgddggddgddg¬«      }d	|› d
�}t        j                  t        |¬«      5  |j                  |¬«       d d d «       y # 1 sw Y   y xY w)NrZ   r[   r\   r]   rh   rH   ri   r^   z-DataFrame columns must be unique for orient='rm   r   r_   rn   rp   s       r    Ú$test_frame_non_unique_columns_raisesz8TestPandasContainer.test_frame_non_unique_columns_raisesž   si   € ä�\‰\˜C ˜:¨¨S zÐ2¸1¸a¸&È3ÐPSÈ*ÔUˆà=¸f¸XÀQÐGˆÜ�]‰]œ:¨SÔ1ñ 	&Ø�J‰J˜fˆJÔ%÷	&÷ 	&ñ 	&úrs   c                 óN   — |j                  «       |j                  d¬«      k(  sJ ‚y )Nr*   r_   ©ra   )rD   Úfloat_frames     r    Útest_frame_default_orientz-TestPandasContainer.test_frame_default_orient¦   s'   € Ø×"Ñ"Ó$¨×(;Ñ(;À9Ð(;Ó(MÒMÐMÑMr1   r7   FÚconvert_axesTc                 óŠ   — t        |j                  |¬«      «      }t        j                  ||||¬«      }|}t	        |||«       y ©Nr_   ©r/   r‘   r7   ©r   ra   r   r   r0   )rD   r/   r‘   r7   r�   rd   r-   r.   s           r    Útest_roundtrip_simplez)TestPandasContainer.test_roundtrip_simple©   sF   € ô ˜×+Ñ+°6Ð+Ó:Ó;ˆÜ—‘Ø˜¨lÀ%ô
ˆð ˆä# F¨H°fÕ=r1   c                 óŠ   — t        |j                  |¬«      «      }t        j                  ||||¬«      }|}t	        |||«       y r“   r•   )rD   r/   r‘   r7   Ú	int_framerd   r-   r.   s           r    Útest_roundtrip_intframez+TestPandasContainer.test_roundtrip_intframeµ   sF   € ô ˜	×)Ñ)°Ð)Ó8Ó9ˆÜ—‘Ø˜¨lÀ%ô
ˆð ˆÜ# F¨H°fÕ=r1   NÚU3c           
      óp  — t        j                  t        j                  d«      t	        d«      D �cg c]  }t        |«      ‘Œ c}t	        d«      D �cg c]  }t        |«      ‘Œ c}|¬«      }t        |j                  |¬«      «      }t        j                  ||||¬«      }|j                  «       }|s|j                  t        j                  «      }|ra|dv r]|j                  j                  t        j                  «      |_        |j                  j                  t        j                  «      |_        nk|dk(  r1|r/|j                  j                  t        j                  «      |_        n5|r3|d	k(  r.|j                  j                  t        j                  «      |_        t        |||«       y c c}w c c}w )
N)éÈ   rJ   rJ   rœ   )r*   r<   r7   r_   r”   r^   r#   rf   )r   rP   r?   Úzerosr(   Ústrr   ra   r   rb   r„   r…   r*   r<   r0   )	rD   r/   r‘   r7   ÚirW   rd   r-   r.   s	            r    Útest_roundtrip_str_axesz+TestPandasContainer.test_roundtrip_str_axes¿   sC  € ô �\‰\Ü�H‰H�XÓÜ%*¨1£XÖ. ”S˜•VÒ.Ü#(¨£:Ö.˜a”3�q•6Ò.Øô	
ˆô ˜Ÿ
™
¨&˜
Ó1Ó2ˆÜ—‘Ø˜¨lÀ%ô
ˆð —7‘7“9ˆÙØ—‘¤r§x¡xÓ0ˆHñ ˜VÐ';Ñ;Ø'×/Ñ/×6Ñ6´r·x±xÓ@ˆHÔØ%Ÿ^™^×2Ñ2´2·8±8Ó<ˆH�NØ�yÒ ¡\Ø'×/Ñ/×6Ñ6´r·x±xÓ@ˆHÕÙ˜f¨Ò/Ø'×/Ñ/×6Ñ6´r·x±xÓ@ˆHÔä# F¨H°fÕ=ùò7 /ùÚ.s   ±F.
ÁF3c                 ó&  — |dv r3|j                  t        j                  j                  d|› d�¬«      «       t	        t        d«      «      D ��ci c]4  \  }}|t        j                  j                  |«      j                  d«      “Œ6 }}}dgdz  d	gdz  z   d
gdz  z   dgdz  z   }t        t        |«      «      |d<   t        j                  dd¬«      |d<   t        j                  |t        j                  |d¬«      ¬«      }	t        |	j!                  |¬«      «      }t        j"                  |||¬«      }
|	j%                  «       }|j&                  j)                  |st*        nd«      |_        d |j&                  _        t/        |
||«       y c c}}w )Nr^   z.Can't have duplicate index values for orient 'z')©ÚreasonrK   rI   Úbahé   ÚbarÚbazÚfooé   ÚEr…   r6   Úsort©r=   ©r<   r_   ©r/   r‘   rž   )Úapplymarkerr   ÚmarkÚxfailÚ	enumeraterU   r?   rQ   rR   rS   Úreversedr@   r   rP   ÚCategoricalIndexr   ra   r   rb   r<   r„   rž   r=   r0   )rD   Úrequestr/   r‘   Úusing_infer_stringrŸ   r\   rd   ÚcatÚcategorical_framer-   r.   s               r    Útest_roundtrip_categoricalz.TestPandasContainer.test_roundtrip_categoricalá   sr  € ð
 Ð)Ñ)Ø×ÑÜ—‘×!Ñ!ØKÈFÈ8ÐSUÐVð "ó ôô "¤$ v£,Ó/÷
á��1ð Œr�y‰y×$Ñ$ QÓ'×7Ñ7¸Ó;Ñ;ð
ˆñ 
ð ˆg˜‰k˜U˜G a™KÑ'¨5¨'°A©+Ñ5¸¸À"¹ÑDˆÜœ #›Ó'ˆˆS‰	Ü—y‘y ¨7Ô3ˆˆV‰ÜŸL™L¨´R×5HÑ5HÈÐSVÔ5WÔXÐÜÐ)×1Ñ1¸Ð1Ó@ÓAˆÜ—‘˜d¨6ÀÔMˆà$×)Ñ)Ó+ˆØ!Ÿ™×.Ñ.Ù)�C¨uó
ˆŒð #ˆ�‰ÔÜ# F¨H°fÕ=ùó!
s   Á9Fc                 ó�  — t        j                  «       }t        |j                  |¬«      «      }t        j                  |||¬«      }|dk(  r;t        j
                  g |rt        nt        ¬«      }t        j                  ||¬«      }n)|dv rt        j                  «       }n|j                  «       }t        j                  ||«       y )Nr_   r®   rf   r6   r^   )r   rP   r   ra   r   rT   ÚfloatÚobjectrb   r+   r,   )rD   r/   r‘   Úempty_framerd   r-   Úidxr.   s           r    Útest_roundtrip_emptyz(TestPandasContainer.test_roundtrip_emptyÿ   s•   € ä—l‘l“nˆÜ˜×+Ñ+°6Ð+Ó:Ó;ˆÜ—‘˜d¨6ÀÔMˆØ�WÒÜ—(‘(˜2©|¥eÄÔIˆCÜ—|‘|¨#°sÔ;‰HØÐ+Ñ+Ü—|‘|“~‰Hà"×'Ñ'Ó)ˆHä
×Ñ˜f hÕ/r1   Údtype_backendÚpyarrow)Úmarksc                 ó  — |j                  «       }|�4t        j                  |j                  «      j	                  |¬«      |_        d}t        j                  t        |¬«      5  t        |j                  |¬«      «      }d d d «       t        j                  ||¬«      }|sM|j                  j                  t        j                  «      dz  }	|dk7  r|	j                  t        «      }	|	|_        t!        |||«       y # 1 sw Y   Œ~xY w)N©rÀ   rz   r   r_   r®   iè  rf   )rb   r   r>   r<   Úconvert_dtypesr+   r€   r   r   ra   r   Úviewr?   r…   r„   rž   r0   )
rD   r/   r‘   rÀ   rX   r.   rq   rd   r-   r¾   s
             r    Útest_roundtrip_timestamp_indexz2TestPandasContainer.test_roundtrip_timestamp_index  sæ   € ð "×&Ñ&Ó(ˆØÐ$Ü#%§9¡9¨^×-AÑ-AÓ#B×#QÑ#QØ+ð $Ró $ˆNÔ ð PˆÜ×'Ñ'¬¸cÔBñ 	CÜ˜N×2Ñ2¸&Ð2ÓAÓBˆD÷	Cä—‘˜d¨6ÀÔMˆáà—.‘.×%Ñ%¤b§h¡hÓ/°4Ñ7ˆCØ˜Ò Ø—j‘j¤“o�à ˆHŒNä# F¨H°fÕ=÷	Cð 	Cús   Á$C=Ã=Dc                 óš  — t        j                  g d¢«      }g d¢g d¢g d¢g d¢dœ}t        j                  ||¬«      }t        |j	                  |¬«      «      }t        j
                  |||¬	«      }|j                  «       } |j                  di |j                  d
«      j                  t        j                  «      ¤Ž}t        |||«       y )N)rZ   r[   r\   r]   Úe)ç        ç      ð?ç       @ç      @ç      @)rÊ   rË   rÊ   rË   rÊ   )Úfoo1Úfoo2Úfoo3Úfoo4Úfoo5)TFTFT©ÚArM   ÚCÚD©rd   r<   r_   r®   Únumber© )r   rT   rP   r   ra   r   rb   ÚassignÚselect_dtypesr„   r?   r…   r0   )	rD   r/   r‘   r<   r$   rW   rd   r-   r.   s	            r    Útest_roundtrip_mixedz(TestPandasContainer.test_roundtrip_mixed)  s¡   € ä—‘Ò2Ó3ˆâ*Ú*Ú9Ú1ñ	
ˆô �\‰\˜v¨UÔ3ˆä˜Ÿ
™
¨&˜
Ó1Ó2ˆÜ—‘˜d¨6ÀÔMˆà—7‘7“9ˆØ"�8—?‘?ÑW X×%;Ñ%;¸HÓ%E×%LÑ%LÌRÏXÉXÓ%VÑWˆä# F¨H°fÕ=r1   z9#50456 Column multiindex is stored and loaded differently)r£   r   Ú2022ÚJANÚFEBÚ2023c                 ó  — t        j                  ddgddggt         j                  j                  |«      ¬«      }t	        |j                  d¬«      «      }t        j                  |d¬«      }t        j                  ||«       y )Nrh   rH   rv   rJ   ©r*   rf   r_   )	r   rP   Ú
MultiIndexÚfrom_arraysr   ra   r   r+   r,   )rD   r*   rW   rd   r-   s        r    Útest_roundtrip_multiindexz-TestPandasContainer.test_roundtrip_multiindex=  sk   € ô �\‰\Ø�ˆV�a˜�VÐÜ—M‘M×-Ñ-¨gÓ6ô
ˆô ˜Ÿ
™
¨'˜
Ó2Ó3ˆÜ—‘˜d¨7Ô3ˆÜ
×Ñ˜f bÕ)r1   zdata,msg,orient)z{"key":b:a:d}zExpected object or valuer*   zO{"columns":["A","B"],"index":["2","3"],"data":[[1.0,"1"],[2.0,"2"],[null,"3"]]}ú|z;Length of values \(3\) does not match length of index \(2\))zW{"columns":["A","B","C"],"index":["1","2","3"],"data":[[1.0,"1"],[2.0,"2"],[null,"3"]]}z+3 columns passed, passed data had 2 columnsrf   )zN{"badkey":["A","B"],"index":["2","3"],"data":[[1.0,"1"],[2.0,"2"],[null,"3"]]}zunexpected key\(s\): badkeyrf   c                 ó¤   — t        j                  t        |¬«      5  t        j                  t        |«      |¬«       d d d «       y # 1 sw Y   y xY w)Nr   r_   )r   r   ro   r   r   r   )rD   rd   rq   r/   s       r    Ú$test_frame_from_json_bad_data_raisesz8TestPandasContainer.test_frame_from_json_bad_data_raisesR  s:   € ôF �]‰]œ:¨SÔ1ñ 	8Ü�L‰Lœ $›°Õ7÷	8÷ 	8ñ 	8ús   œ!AÁAc                 ó  — t        j                  ddt        j                  gg d¢g«      }t        j                  t        |j                  |¬«      «      |||¬«      }t        j                  |j                  d   «      sJ ‚t        j                  ddt        j                  gg d	¢g«      }t        j                  t        |j                  |¬«      «      |||¬«      }t        j                  |j                  d   «      sJ ‚y )
Nrh   rH   ©rJ   r¥   é   r_   r”   ©r   rH   Ú1Ú2)Ú4Ú5Ú6)	r   rP   r?   Únanr   r   ra   Úisnanr   )rD   r/   r‘   r7   Únum_dfr-   Úobj_dfs          r    Ú!test_frame_from_json_missing_dataz5TestPandasContainer.test_frame_from_json_missing_datax  sÍ   € ô —‘  1¤b§f¡f˜~ªyÐ9Ó:ˆä—‘Ü�V—^‘^¨6�^Ó2Ó3ØØ%Øô	
ˆô �x‰x˜Ÿ™ DÑ)Ô*Ð*Ð*ä—‘  S¬"¯&©&Ð1²?ÐCÓDˆÜ—‘Ü�V—^‘^¨6�^Ó2Ó3ØØ%Øô	
ˆô �x‰x˜Ÿ™ DÑ)Ô*Ð*Ñ*r1   c                 óÌ   — t        j                  t        d«      |¬«      }t        j                  t        j
                  g|st        nd ¬«      }t        j                  ||«       y )Nz[null]r6   )	r   r   r   rP   r?   ró   r¼   r+   r,   )rD   r7   r-   r.   s       r    Ú(test_frame_read_json_dtype_missing_valuez<TestPandasContainer.test_frame_read_json_dtype_missing_valueŽ  sC   € ô —‘œh xÓ0¸Ô>ˆÜ—<‘<¤§¡ ¹eµÈÔNˆä
×Ñ˜f hÕ/r1   Úinfc                 ó  — t        j                  ddt        j                  gg d¢g«      }||j                  d<   t        |j                  «       «      }t        j                  ||¬«      }t        j                  |j                  d   «      sJ ‚y )Nrh   rH   rë   rí   r6   )
r   rP   r?   ró   Úlocr   ra   r   rô   r   )rD   rú   r7   rW   rd   r-   s         r    Útest_frame_infinityz'TestPandasContainer.test_frame_infinity—  si   € ô
 �\‰\˜A˜q¤"§&¡&˜>ª9Ð5Ó6ˆØˆ�‰ˆt‰ä˜Ÿ
™
›Ó%ˆÜ—‘˜d¨%Ô0ˆÜ�x‰x˜Ÿ™ DÑ)Ô*Ð*Ñ*r1   z$not compliant on 32-bit, xref #15865r¢   zvalue,precision,expected_val))gffffffî?rh   rË   )g333333ÿ?rh   rÌ   )g333333ÿ¿rh   g       À)g×£p=
×ï?rH   rË   )g–C‹lçûï?rv   rË   )gûÿÿÿÿÿï?r©   rË   c                 ón   — t        j                  d|ig«      }|j                  |¬«      }|d|› d�k(  sJ ‚y )NÚa_float)Údouble_precisionz{"a_float":{"0":ú}}©r   rP   ra   )rD   r   Ú	precisionÚexpected_valrW   Úencodeds         r    Ú"test_frame_to_json_float_precisionz6TestPandasContainer.test_frame_to_json_float_precision£  sB   € ô �\‰\˜I uÐ-Ð.Ó/ˆØ—*‘*¨i�*Ó8ˆØÐ.¨|¨n¸DÐAÒAÐAÑAr1   c                 óº   — t        j                  g d¢«      }d}t        j                  t        |¬«      5  |j                  d¬«       d d d «       y # 1 sw Y   y xY w©N©rh   rH   rv   z+Invalid value 'garbage' for option 'orient'r   Úgarbager_   rn   )rD   rW   rq   s      r    Útest_frame_to_json_exceptz-TestPandasContainer.test_frame_to_json_except´  sF   € Ü�\‰\š)Ó$ˆØ;ˆÜ�]‰]œ:¨SÔ1ñ 	)Ø�J‰J˜iˆJÔ(÷	)÷ 	)ñ 	)úó   µAÁAc                 ó  — t        j                  ddg¬«      }|j                  rJ ‚t        |j	                  «       «      }t        j
                  |t        |j                  «      ¬«      }t        j                  ||d¬«       y )NÚjimÚjoerã   r6   F©Úcheck_index_type)
r   rP   Ú_is_mixed_typer   ra   r   ÚdictÚdtypesr+   r,   )rD   rW   rd   r-   s       r    Útest_frame_emptyz$TestPandasContainer.test_frame_emptyº  s]   € Ü�\‰\ 5¨% .Ô1ˆØ×$Ò$Ð$Ð$ä˜Ÿ
™
›Ó%ˆÜ—‘˜d¬$¨r¯y©y«/Ô:ˆÜ
×Ñ˜f b¸5ÖAr1   c                 ól   — t        j                  dg ig ¬«      }|j                  d¬«      }d}||k(  sJ ‚y )NÚtestr­   r*   r_   z{"test":{}}r  ©rD   rW   r-   r.   s       r    Útest_frame_empty_to_jsonz,TestPandasContainer.test_frame_empty_to_jsonÂ  s9   € ä�\‰\˜6 2˜,¨bÔ1ˆØ—‘ 9�Ó-ˆØ ˆØ˜Ò!Ð!Ñ!r1   c                 ó0  — t        j                  ddg¬«      }|d   j                  d«      |d<   |j                  sJ ‚|j	                  «       }t        j                  t        j                  t        |«      t        |j                  «      ¬«      |d¬«       y )Nr  r  rã   Úi8r6   Fr  )r   rP   r„   r  ra   r+   r,   r   r   r  r  )rD   rW   rd   s      r    Útest_frame_empty_mixedtypez.TestPandasContainer.test_frame_empty_mixedtypeÉ  st   € ä�\‰\ 5¨% .Ô1ˆØ�u‘I×$Ñ$ TÓ*ˆˆ5‰	Ø× Ò Ð Ð Ø�z‰z‹|ˆÜ
×ÑÜ�L‰Lœ $›¬t°B·I±I«Ô?ØØ"ö	
r1   c                 óú  — g d¢g d¢g d¢g d¢g}t        j                  |t        d«      g d¢¬«      }|j                  sJ ‚|j	                  «       }dD ]K  }t        |j                  |¬	«      «      }t        j                  ||d
¬«      }t        j                  ||«       ŒM t        j                  t        |«      «      |_        t        |j                  d¬	«      «      }t        j                  |dd
¬«      }t        j                  ||«       t        j                  |j                  d   «      |_        t        |j                  d¬	«      «      }t        j                  |dd
¬«      }t        j                  ||«       y )N)r5   rh   r¨   gš™™™™™¹?g{®Gáz„?)é   rH   r¦   gš™™™™™É?g{®Gáz”?)rI   rv   r§   g333333Ó?g¸…ëQ¸ž?)é(   rJ   Úquxgš™™™™™Ù?g{®Gáz¤?Úabcd)Ú1stÚ2ndÚ3rdÚ4thÚ5thr^   ©rf   r<   r*   r_   Fr®   r#   rh   r$   )r   rP   rU   r  rb   r   ra   r   r+   r,   Ú
RangeIndexr)   r<   Úshaper*   )rD   ÚvalsrW   Úrightr/   ÚinpÚlefts          r    Útest_frame_mixedtype_orientz/TestPandasContainer.test_frame_mixedtype_orientÕ  s/  € â%Ú%Ú%Ú%ð	
ˆô �\‰\Øœ˜V›Ò.Qô
ˆð × Ò Ð Ð Ø—‘“	ˆà3ò 	/ˆFÜ˜2Ÿ:™:¨V˜:Ó4Ó5ˆCÜ—<‘< ¨FÀÔGˆDÜ×!Ñ! $¨Õ.ð	/ô
 —m‘m¤C¨£GÓ,ˆŒÜ�r—z‘z¨�zÓ3Ó4ˆÜ�|‰|˜C¨	ÀÔFˆÜ
×Ñ˜d EÔ*äŸ™ b§h¡h¨q¡kÓ2ˆŒÜ�r—z‘z¨�zÓ2Ó3ˆÜ�|‰|˜C¨¸uÔEˆÜ
×Ñ˜d EÕ*r1   c                 óú  — t        j                  ddd¬«      j                  d «      }t        j                  g d¢g d¢g d¢g d¢g d	¢gg d
¢|¬«      }t        j                  d«      j                  d«      |d<   t        j                  d«      |j                  d|j                  j                  d«      f<   |d   |d<   t         j                  |j                  d|j                  j                  d«      f<    |ddd«      }t        j                  j                  |d«      }t        j                  |«      }|j                  «       }t        j                   ||«       t        j                  j                  |d«      }t        j                  |«      }	|j#                  dgd¬«      }
|
d   j$                  j                  d«      |
d<   |
j&                  j                  d«      |
_        t        j                   |	|
d¬«       y )Nz
2000-01-03z
2000-01-07Úns©Úunit)gÛÃ‰àù?gzÙ~Kcå?gäXî7 öü?g˜H/‹Æ¿)g±|§RÐ¿gµº¤ƒXª´¿gsõB…f ¿gÇÏëô(�Æ¿)g±à<¤1=ø?gÎâÅÂ9¾?gàÛôg?ú?gL¤—Å‚
õ¿)g¡¦¯J–Qœ¿g½[r?T˜Ü?gj<èDH>Õ?g-þ¾ØÑ¿)gI°ÄEæx®?gW!i`y’ÀgP0Æ4‘�ô?gè+«]Ñ5Ö?rÔ   rO   z19920106 18:21:32.12Údaterw   rv   Úmodifiedrh   Úior‡   rd   ztsframe_v012.jsonztsframe_iso_v012.json)ÚaxisÚusF©Úcheck_column_type)r   rB   rC   rP   Ú	Timestamprƒ   r   r*   Úget_locÚNaTÚosÚpathÚjoinr   rb   r+   r,   r&   Údtr<   )rD   ÚdatapathÚdtirW   ÚdirpathÚv12_jsonr-   r.   Úv12_iso_jsonÚ
result_isoÚexpected_isos              r    Útest_v12_compatz#TestPandasContainer.test_v12_compató  s•  € Ü�m‰m˜L¨,¸TÔB×MÑMÈdÓSˆÜ�\‰\âAÚCÚ?ÚBÚAðò )Øô

ˆô —\‘\Ð"8Ó9×AÑAÀ$ÓGˆˆ6‰
Ü13·±¸jÓ1Iˆ�‰��2—:‘:×%Ñ% fÓ-Ð-Ñ.Ø˜F™ˆˆ:‰Ü57·V±Vˆ�‰��2—:‘:×%Ñ% jÓ1Ð1Ñ2á˜4 ¨Ó0ˆÜ—7‘7—<‘< Ð)<Ó=ˆÜ—‘˜hÓ'ˆØ—7‘7“9ˆÜ
×Ñ˜f hÔ/ä—w‘w—|‘| GÐ-DÓEˆÜ—\‘\ ,Ó/ˆ
Ø—w‘w 
˜|°!�wÓ4ˆØ+¨FÑ3×6Ñ6×>Ñ>¸tÓDˆ�VÑØ)×/Ñ/×7Ñ7¸Ó=ˆÔÜ
×Ñ˜j¨,È%ÖPr1   c           	      óL  — t        j                  g d¢g d¢g d¢g d¢g d¢g d¢dœ«      }|j                  j                  |st        j
                  nd«      |_        t        |j                  d	¬
«      «      }t        j                  |d	¬
«      }t        j                  ||d¬«       y )N)
g}S? wí¿gÂôbÍmÇè?gz(~J�	ô?gðô1¼å¬ã?gk*¬ÐMã¿gv�TçjŽÏ?g7j	" YÒ?gp¢+KS(Àgñ’¬�µ£î?gZtÛS¬yð¿)
i¢L,i_�}i4zõiKeáiL&»iÞ%giûÜDiY)L i;ei­Dô )
Ú78c608f1Ú64a99743Ú13d2ff52Úca7f4af2Ú97236474Úbde7e214Ú1a6bde47Úb1190be5Ú7a669144Ú8d64d068)
gD!¸€†í¥¿gIxJ ˆðü¿gÛòµ%â
@g�¨PÝ\<è¿gòÐ�÷ÛÞ¿gPl‰…ï—ë?gFàzÚnñ?g5mH/î?gp®Hé%Ÿ¿gáIðö?)
Ú14f04af9Úd085da90Ú4bcfac83Ú81504cafÚ2ffef4a9Ú08e2f5c4Ú07e1af03Úaddbd4a7Ú1f6a09baÚ4bfc4d87)
i¥/iŽÞØiÑYiÛ6i‚IÀ i;ª>i¶Á	iÒ(¡ i0q{iÑª‰)Úfloat_1Úint_1Ústr_1Úfloat_2Ústr_2Úint_2rž   rf   r_   Tr8  )r   rP   r*   r„   r?   Ústr_r   ra   r   r+   r,   )rD   r¶   Údf_mixedrd   Údf_roundtrips        r    Útest_blocks_compat_GH9037z-TestPandasContainer.test_blocks_compat_GH9037  sž   € Ü—<‘<òòòòòòñ{IóK
ˆð\ $×+Ñ+×2Ñ2Ù-ŒB�GŠG°5ó
ˆÔô ˜×(Ñ(°Ð(Ó8Ó9ˆÜ—|‘| D°Ô9ˆÜ
×ÑØØØ"ö	
r1   c                 ó–  —  G d„ d«      }d} ||«      }t        j                  d|j                  gi«      }|j                  «       d|› d�k(  sJ ‚t        j                  d|gi«      }d}t	        j
                  t        |¬«      5  |j                  «        d d d «       t        j                  |gd	gd
œddg¬«      }t	        j
                  t        |¬«      5  |j                  «        d d d «       |j                  t        ¬«      }d|› d�}	||	k(  sJ ‚|j                  t        ¬«      d|› d�k(  sJ ‚y # 1 sw Y   ŒžxY w# 1 sw Y   ŒXxY w)Nc                   ó    — e Zd Zdd„Zdefd„Zy)úFTestPandasContainer.test_frame_nonprintable_bytes.<locals>.BinaryThingÚreturnNc                 óF   — || _         t        j                  |«      | _        y ©N)ÚhexedÚbytesÚfromhexÚbinary)rD   rn  s     r    Ú__init__zOTestPandasContainer.test_frame_nonprintable_bytes.<locals>.BinaryThing.__init__p  s   € Ø"�”
Ü#Ÿm™m¨EÓ2�•r1   c                 ó   — | j                   S rm  )rn  ©rD   s    r    Ú__str__zNTestPandasContainer.test_frame_nonprintable_bytes.<locals>.BinaryThing.__str__t  s   € Ø—z‘zÐ!r1   ©rk  N)Ú__name__Ú
__module__Ú__qualname__rr  rž   ru  rÚ   r1   r    ÚBinaryThingrj  o  s   „ ó3ð" ô "r1   rz  Ú574b4454ba8c5eb4f98a8f45rÕ   z{"A":{"0":"ú"}}z6Unsupported UTF-8 sequence length when encoding stringr   rh   ©rÕ   rM   rM   rã   ©Údefault_handlerz"},"B":{"0":1}})r   rP   rn  ra   r   r   ÚOverflowErrorrž   )
rD   rz  rn  ÚbinthingÚdf_printableÚdf_nonprintablerq   re  r-   r.   s
             r    Útest_frame_nonprintable_bytesz1TestPandasContainer.test_frame_nonprintable_bytesl  sP  € ÷	"ñ 	"ð +ˆÙ˜uÓ%ˆô —|‘| S¨8¯>©>Ð*:Ð$;Ó<ˆØ×#Ñ#Ó%¨=¸¸¸uÐ)EÒEÐEÐEô Ÿ,™,¨¨h¨ZÐ'8Ó9ˆØFˆÜ�]‰]œ=°Ô4ñ 	&Ø×#Ñ#Ô%÷	&ô —<‘< x j¸°sÑ ;ÀcÈ3ÀZÔPˆÜ�]‰]œ=°Ô4ñ 	Ø×ÑÔ÷	ð !×(Ñ(¼Ð(Ó=ˆØ" 5 '¨Ð/ˆØ˜Ò!Ð!Ð!à×Ñ¬SÐÓ1Ø˜u˜gÐ%8Ð9ò:ð	
ñ:÷	&ð 	&ú÷
	ð 	ús   ÂD3ÃD?Ä3D<Ä?Ec                 ó|   — t        j                  ddz  dgddgi«      j                  «       }dddz  › d�}||k(  sJ ‚y )Nr¦   i † rh   r¨   i9  ú{"z":{"0":1},"foo":{"0":1337}}r  ©rD   r-   r.   s      r    Útest_label_overflowz'TestPandasContainer.test_label_overflow’  sL   € ä—‘˜u v™~°¨s°E¸D¸6ÐBÓC×KÑKÓMˆØ˜ ™Ð(Ð(HÐIˆØ˜Ò!Ð!Ñ!r1   c           
      ó  — t        j                  ddgddg¬«      }d}t        j                  t        |¬«      5  |j                  d¬«       d d d «       t        j                  |t        j                  t        |j                  d	¬«      «      d	d
¬«      «       t        j                  t        |j                  d¬«      «      dd
¬«      }t        j                  |j                  |j                  «       y # 1 sw Y   ŒªxY w)NrZ   r[   rh   r­   z.Series index must be unique for orient='index'r   r<   r_   rf   Úseries)r/   Útypr#   )r   r>   r   r   ro   ra   r+   Úassert_series_equalr   r   Úassert_equalr$   )rD   Úsrq   Úunserializeds       r    Útest_series_non_unique_indexz0TestPandasContainer.test_series_non_unique_index˜  sÇ   € Ü�I‰I�s˜C�j¨¨A¨Ô/ˆà>ˆÜ�]‰]œ:¨SÔ1ñ 	&Ø�I‰I˜WˆIÔ%÷	&ô 	×ÑØÜ�L‰LÜ˜Ÿ™¨'˜Ó2Ó3¸GÈôô	
ô —|‘|Ü�Q—Y‘Y i�YÓ0Ó1¸)Èô
ˆô 	�‰˜Ÿ™ ,×"5Ñ"5Õ6÷	&ð 	&ús   ¹C5Ã5C>c                 óN   — |j                  «       |j                  d¬«      k(  sJ ‚y )Nr<   r_   rŽ   )rD   Ústring_seriess     r    Útest_series_default_orientz.TestPandasContainer.test_series_default_orientª  s'   € Ø×$Ñ$Ó&¨-×*?Ñ*?ÀwÐ*?Ó*OÒOÐOÑOr1   c                 ó*  — t        |j                  |¬«      «      }t        j                  |d|¬«      }|}|r$|dv r |j                  j                  d«      |_        |dv r|j                  d¬«      }|d	k7  rd |_        t        j                  ||«       y )
Nr_   rŠ  ©r‹  r/   r'  rž   ©r$   r#   Tr%   rf   )
r   ra   r   r   r<   r„   r'   r=   r+   rŒ  )rD   r/   r’  r¶   rd   r-   r.   s          r    Útest_series_roundtrip_simplez0TestPandasContainer.test_series_roundtrip_simple­  s�   € Ü˜×-Ñ-°VÐ-Ó<Ó=ˆÜ—‘˜d¨¸Ô@ˆà ˆÙ &Ð,IÑ"Ià%Ÿ^™^×2Ñ2°5Ó9ˆHŒNØÐ*Ñ*Ø×+Ñ+°Ð+Ó6ˆHØ�WÒØ ˆHŒMä
×Ñ˜v xÕ0r1   c                 ó  — t        |j                  |¬«      «      }t        j                  |d||¬«      }|}|dv r|j	                  d¬«      }|dk7  rd |_        t        «       r|j                  d«      }t        j                  ||«       y )	Nr_   rŠ  )r‹  r/   r7   r–  Tr%   rf   rž   )
r   ra   r   r   r'   r=   r   r„   r+   rŒ  )rD   r/   r7   Úobject_seriesrd   r-   r.   s          r    Útest_series_roundtrip_objectz0TestPandasContainer.test_series_roundtrip_object¼  s‚   € ä˜×-Ñ-°VÐ-Ó<Ó=ˆÜ—‘˜d¨¸ÀuÔMˆà ˆØÐ*Ñ*Ø×+Ñ+°Ð+Ó6ˆHØ�WÒØ ˆHŒMäÔØ—‘ uÓ-ˆHä
×Ñ˜v xÕ0r1   c                 ój  — t        j                  g g t        j                  ¬«      }t	        |j                  |¬«      «      }t        j                  |d|¬«      }|j                  d¬«      }|dv r.|j                  j                  t        j                  «      |_        t        j                  ||«       y )N©r<   r7   r_   rŠ  r•  Tr%   rf   )r   r>   r?   rA   r   ra   r   r'   r<   r„   r+   rŒ  )rD   r/   Úempty_seriesrd   r-   r.   s         r    Útest_series_roundtrip_emptyz/TestPandasContainer.test_series_roundtrip_emptyÌ  s‡   € Ü—y‘y ¨2´R·Z±ZÔ@ˆÜ˜×,Ñ,°FÐ,Ó;Ó<ˆÜ—‘˜d¨¸Ô@ˆà×+Ñ+°Ð+Ó6ˆØ�gÑØ%Ÿ^™^×2Ñ2´2·:±:Ó>ˆHŒNä
×Ñ˜v xÕ0r1   c                 óÊ  — |j                  «       }|�4t        j                  |j                  «      j	                  |¬«      |_        d}t        j                  t        |¬«      5  t        |j                  |¬«      «      }d d d «       t        j                  d|¬«      }|dv r|j                  d¬	«      }|d
k7  rd |_        t        j                  ||«       y # 1 sw Y   ŒZxY w)NrÄ   rz   r   r_   rŠ  r•  r–  Tr%   rf   )rb   r   r>   r<   rÅ   r+   r€   r   r   ra   r   r'   r=   rŒ  )rD   rÀ   r/   rF   r.   rq   rd   r-   s           r    Ú test_series_roundtrip_timeseriesz4TestPandasContainer.test_series_roundtrip_timeseries×  sÙ   € ð #×'Ñ'Ó)ˆØÐ$Ü$&§I¡I¨o×.CÑ.CÓ$D×$SÑ$SØ+ð %Tó %ˆOÔ!ð PˆÜ×'Ñ'¬¸cÔBñ 	DÜ˜O×3Ñ3¸6Ð3ÓBÓCˆD÷	Dä—‘˜d¨¸Ô@ˆàÐ*Ñ*Ø×+Ñ+°Ð+Ó6ˆHØ�WÒØ ˆHŒMä
×Ñ˜v xÕ0÷	Dð 	Dús   Á$CÃC"c                 ó&  — t        j                  t        d«      g d¢¬«      }t        |j	                  |¬«      «      }t        j
                  |d|¬«      }|j                  «       }|dv r|j                  d¬	«      }t        j                  ||«       y )
Nrì   ©rZ   r[   r\   r]   rÉ   Úfr­   r_   rŠ  r•  r–  Tr%   )
r   r>   r(   r   ra   r   rb   r'   r+   rŒ  )rD   r/   r7   rŽ  rd   r-   r.   s          r    Útest_series_roundtrip_numericz1TestPandasContainer.test_series_roundtrip_numericí  su   € ä�I‰I”e˜A“hÒ&DÔEˆÜ˜Ÿ	™	¨˜	Ó0Ó1ˆÜ—‘˜d¨¸Ô@ˆà—6‘6“8ˆØÐ*Ñ*Ø×+Ñ+°Ð+Ó6ˆHä
×Ñ˜v xÕ0r1   c                 óº   — t        j                  g d¢«      }d}t        j                  t        |¬«      5  |j                  d¬«       d d d «       y # 1 sw Y   y xY wr  )r   r>   r   r   ro   ra   )rD   rŽ  rq   s      r    Útest_series_to_json_exceptz.TestPandasContainer.test_series_to_json_exceptù  sF   € Ü�I‰I’iÓ ˆØ;ˆÜ�]‰]œ:¨SÔ1ñ 	(Ø�I‰I˜YˆIÔ'÷	(÷ 	(ñ 	(úr  c                 óÀ   — t        j                  g d¢«      }t        j                  t        |j	                  «       «      dd¬«      }t        j                  ||d¬«       y )N©ç=
×£p=@r©  r©  rŠ  T)r‹  Úprecise_floatFr  )r   r>   r   r   ra   r+   rŒ  ©rD   rŽ  r-   s      r    Ú#test_series_from_json_precise_floatz7TestPandasContainer.test_series_from_json_precise_floatÿ  sA   € Ü�I‰IÒ(Ó)ˆÜ—‘œh q§y¡y£{Ó3¸ÐQUÔVˆÜ
×Ñ˜v q¸5ÖAr1   c                 ó
  — t        j                  g d¢«      }t        j                  t        |j	                  «       «      dt
        j                  ¬«      }t        j                  dgdz  «      }t        j                  ||«       y )Nr¨  rŠ  ©r‹  r7   rJ   rv   )	r   r>   r   r   ra   r?   r…   r+   rŒ  )rD   rŽ  r-   r.   s       r    Útest_series_with_dtypez*TestPandasContainer.test_series_with_dtype  sV   € ä�I‰IÒ(Ó)ˆÜ—‘œh q§y¡y£{Ó3¸ÌÏÉÔRˆÜ—9‘9˜a˜S 1™WÓ%ˆÜ
×Ñ˜v xÕ0r1   zdtype,expectedrL   r{   r6   l    ,ŸUqc                 óN  — t        j                  dgd¬«      }|�|j                  |¬«      }d}t        j                  t
        |¬«      5  t        |j                  «       «      }d d d «       t        j                  d|¬«      }t        j                  ||«       y # 1 sw Y   Œ8xY w)	NrL   údatetime64[ns]r6   rÄ   rz   r   rŠ  r®  )
r   r>   rÅ   r+   r€   r   r   ra   r   rŒ  )rD   r7   r.   rÀ   rŽ  rq   rd   r-   s           r    Útest_series_with_dtype_datetimez3TestPandasContainer.test_series_with_dtype_datetime  sŒ   € ô �I‰I�|�nÐ,<Ô=ˆØÐ$Ø× Ñ ¨}Ð Ó=ˆAØOˆÜ×'Ñ'¬¸cÔBñ 	)Ü˜AŸI™I›KÓ(ˆD÷	)ä—‘˜d¨¸Ô>ˆÜ
×Ñ˜v xÕ0÷	)ð 	)ús   Á
BÂB$c                 óÂ   — t        j                  g d¢g d¢g«      }t        j                  t        |j	                  «       «      d¬«      }t        j                  ||«       y )Nr¨  T)rª  ©r   rP   r   r   ra   r+   r,   ©rD   rW   r-   s      r    Ú"test_frame_from_json_precise_floatz6TestPandasContainer.test_frame_from_json_precise_float  sB   € Ü�\‰\Ò-Ò/AÐBÓCˆÜ—‘œh r§z¡z£|Ó4ÀDÔIˆÜ
×Ñ˜f bÕ)r1   c                 óÒ   — t        j                  t        d«      g d¢d¬«      }t        j                  t	        |j                  «       «      d¬«      }t        j                  ||«       y )Nrì   r¢  r…   rœ  rŠ  ©r‹  )r   r>   r(   r   r   ra   r+   rŒ  r«  s      r    Útest_typzTestPandasContainer.test_typ$  sD   € Ü�I‰I”e˜A“hÒ&DÈGÔTˆÜ—‘œh q§y¡y£{Ó3¸ÔBˆÜ
×Ñ˜v qÕ)r1   c                 ó‚  — t        j                  g d¢g d¢g«      }t        j                  t        |j	                  «       «      «      }t        j                  ||«       t        j                  g d¢g d¢dœg d¢¬«      }t        j                  t        |j	                  «       «      «      }t        j                  ||«       y )Nr	  rë   ©rZ   r[   ©rÕ   rM   rÖ   r­   r´  rµ  s      r    Útest_reconstruction_indexz-TestPandasContainer.test_reconstruction_index)  s|   € Ü�\‰\š9¢iÐ0Ó1ˆÜ—‘œh r§z¡z£|Ó4Ó5ˆÜ
×Ñ˜f bÔ)ä�\‰\¢	²	Ñ:Â/ÔRˆÜ—‘œh r§z¡z£|Ó4Ó5ˆÜ
×Ñ˜f bÕ)r1   c                 óØ   — d}|||fD ]T  }||u rt         nd }t        j                  ||¬«      5  |j                  |«       d d d «       t	        j
                  |«       ŒV y # 1 sw Y   Œ!xY w©Nrz   r   )r   r+   r€   ra   r   r   )rD   r�   r˜   rX   Ú	temp_filerq   rW   Úwarns           r    Ú	test_pathzTestPandasContainer.test_path2  sh   € ØOˆØ 	¨>Ð:ò 	$ˆBØ%'¨>Ñ%9•>¸tˆDÜ×+Ñ+¨D¸Ô<ñ &Ø—
‘
˜9Ô%÷&ä�L‰L˜Õ#ñ		$÷&ð &ús   ®A Á A)	c                 ó<  — d}t        j                  t        |¬«      5  t        |j	                  «       «      }d d d «       t        j                  «      }|j                  «       }t        j                  ||«       t        j                  t        |¬«      5  t        |j	                  «       «      }d d d «       t        j                  |d¬«      }|j                  «       }t        j                  ||d¬«       |j                  �J ‚y # 1 sw Y   ŒÏxY w# 1 sw Y   ŒcxY w)Nrz   r   rŠ  r¸  F)Úcheck_names)r+   r€   r   r   ra   r   r   rb   r,   rŒ  r=   )rD   rF   rX   rq   r‡   r-   r.   s          r    Útest_axis_datesz#TestPandasContainer.test_axis_dates:  så   € ØOˆä×'Ñ'¬¸cÔBñ 	6Ü˜N×2Ñ2Ó4Ó5ˆD÷	6ä—‘˜dÓ#ˆØ!×&Ñ&Ó(ˆÜ
×Ñ˜f hÔ/ô ×'Ñ'¬¸cÔBñ 	7Ü˜O×3Ñ3Ó5Ó6ˆD÷	7ä—‘˜d¨Ô1ˆØ"×'Ñ'Ó)ˆÜ
×Ñ˜v x¸UÕCØ�{‰{Ð"Ð"Ñ"÷	6ð 	6ú÷	7ð 	7ús   žDÂDÄDÄDc                 ó
  — |}t        j                  d«      |d<   d}t        j                  t        |¬«      5  t        |j                  «       «      }d d d «       t        j                  «      }|j                  «       }t        j                  ||«       d|d<   t        j                  t        |¬«      5  t        |j                  d¬«      «      }d d d «       d	}t        j                  t        |¬«      5  t        j                  |d
¬«      }d d d «       |j                  «       }|d   j                  j                  d«      j                  d«      |d<   |d   j                  d«      |d<   |j                  j                  d«      |_        t        j                  ||«       t        j                  t        j                  d«      |j                  ¬«      }	t        j                  t        |¬«      5  t        |	j                  «       «      }d d d «       t        j                  |d¬«      }|	j                  «       }t        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   ŒnxY w)Nrw   r3  rz   r   rË   r¨   r0  ©Ú	date_unitr|   F©r}   r…   r­   rŠ  r¸  )r   r:  r+   r€   r   r   ra   r   rb   r,   r@  rƒ   r„   r<   r>   rŒ  )
rD   rF   rX   rW   rq   r‡   r-   r.   rˆ   r;   s
             r    Útest_convert_datesz&TestPandasContainer.test_convert_datesK  sñ  € àˆÜ—\‘\ *Ó-ˆˆ6‰
àOˆÜ×'Ñ'¬¸cÔBñ 	*Ü˜BŸJ™J›LÓ)ˆD÷	*ä—‘˜dÓ#ˆØ—7‘7“9ˆÜ
×Ñ˜f hÔ/àˆˆ5‰	Ü×'Ñ'¬¸cÔBñ 	8Ü˜BŸJ™J°˜JÓ6Ó7ˆD÷	8ð LˆÜ×'Ñ'¬¸hÔGñ 	=Ü—\‘\ $°eÔ<ˆF÷	=à—7‘7“9ˆØ# FÑ+×.Ñ.×6Ñ6°tÓ<×CÑCÀGÓLˆ�ÑØ" 5™/×0Ñ0°Ó9ˆ�‰Ø!Ÿ™×/Ñ/°Ó5ˆŒÜ
×Ñ˜f hÔ/ô �Y‰Y”r—|‘| JÓ/°×7LÑ7LÔMˆÜ×'Ñ'¬¸cÔBñ 	*Ü˜BŸJ™J›LÓ)ˆD÷	*ä—‘˜d¨Ô1ˆØ—7‘7“9ˆÜ
×Ñ˜v xÕ0÷3	*ñ 	*ú÷	8ñ 	8ú÷	=ñ 	=ú÷	*ð 	*ús/   ¸IÂ5IÃ6I,Ç2I9ÉIÉI)É,I6É9JÚdate_formatÚepochÚisoÚ	as_objectÚdate_typc                 óh  —  |ddd¬«      t         j                  g}|r|j                  d«       t        j                  ||¬«      }d }|dk(  r	d}t        }nd}d	}t        j                  ||¬
«      5  |j                  |¬«      }	d d d «       |r|j                  dd«      }	|k(  sJ ‚y # 1 sw Y   Œ%xY w)Néä  rh   )ÚyearÚmonthÚdayrZ   r­   rÌ  z+{"1577836800000":1577836800000,"null":null}zA{"2020-01-01T00:00:00.000":"2020-01-01T00:00:00.000","null":null}úp'epoch' date format is deprecated and will be removed in a future version, please use 'iso' date format instead.r   ©rË  ú}ú	,"a":"a"})	r   r<  Úappendr>   r   r+   r€   ra   Úreplace)
rD   rË  rÎ  rÏ  rd   rE   r†   r.   rq   r-   s
             r    Útest_date_index_and_valuesz.TestPandasContainer.test_date_index_and_valuesl  sÅ   € ñ ˜d¨!°Ô3´R·V±VÐ<ˆÙØ�K‰K˜Ôä�i‰i˜ DÔ)ˆàÐØ˜'Ò!ØDˆHÜ-Ñð Tð ð
=ð 	ô ×'Ñ'Ð(8ÀÔDñ 	:Ø—[‘[¨[�[Ó9ˆF÷	:ñ Ø×'Ñ'¨¨[Ó9ˆHà˜Ò!Ð!Ñ!÷	:ð 	:ús   Á1B(Â(B1Ú
infer_word)Ú
trade_timer3  ÚdatetimeÚsold_atr4  Ú	timestampÚ
timestampsc                 ó  — dd|diddig}t        j                  dt        j                  d«      gdt         j                  ggd|g¬«      }t        j                  t        t        |«      «      «      d|g   }t        j                  ||«       y )NÚidrh   l    $äAÅrH   z
2002-11-08rã   )	r   rP   r:  r<  r   r   r   r+   r,   )rD   rÜ  rd   r.   r-   s        r    Útest_convert_dates_inferz,TestPandasContainer.test_convert_dates_infer�  s‚   € ð �q˜* mÐ4°t¸Q°iÐ@ˆÜ—<‘<Ø”—‘˜lÓ+Ð,¨q´"·&±&¨kÐ:ÀTÈ:ÐDVô
ˆô —‘œh¤{°4Ó'8Ó9Ó:¸DÀ*Ð;MÑNˆÜ
×Ñ˜f hÕ/r1   c                 óŽ   — dddœg}t        j                  t        t        |«      «      «      }|d   dk(  j	                  «       sJ ‚y )Nrh   zThursday, 10:00 p.m.)rã  Ú
event_timeræ  )r   r   r   r   Úall)rD   rd   r-   s      r    Ú0test_convert_dates_infer_unparseable_kept_as_strzDTestPandasContainer.test_convert_dates_infer_unparseable_kept_as_str¤  sG   € ð Ð(>Ñ?Ð@ˆÜ—‘œh¤{°4Ó'8Ó9Ó:ˆØ�|Ñ$Ð(>Ñ>×CÑCÔEÐEÑEr1   zdate,date_unit))ú2013-01-01T20:43:42.123N)z2013-01-01T20:43:42.000N)z2013-01-01T20:43:42rŽ  )ré  r~   )z2013-01-01T20:43:42.123456r7  )z2013-01-01T20:43:42.123456789r0  c                 óN  — |}t        j                  |«      |d<   t         j                  |j                  d|j                  j                  d«      f<   t         j                  |j                  d|j                  j                  d«      f<   |r|j                  d|¬«      }n|j                  d¬«      }d|› d�|v sJ ‚t        j                  t        |«      «      }|j                  «       }|dk(  r |j                  j                  d«      |_
        t        j                  ||«       y )	Nr3  rh   r¥   rÍ  ©rË  rÈ  rÖ  ú"r0  )r   r:  r<  r   r*   r;  ra   r   r   rb   r<   rƒ   r+   r,   )rD   r3  rÈ  rX   rW   r‡   r-   r.   s           r    Útest_date_format_framez*TestPandasContainer.test_date_format_frame¬  sí   € ð ˆä—\‘\ $Ó'ˆˆ6‰
Ü13·±ˆ�‰��2—:‘:×%Ñ% fÓ-Ð-Ñ.Ü13·±ˆ�‰��2—:‘:×%Ñ% fÓ-Ð-Ñ.ÙØ—:‘:¨%¸9�:ÓE‰Dà—:‘:¨%�:Ó0ˆDØ�4�&˜ˆ{˜dÑ"Ð"Ð"ä—‘œh t›nÓ-ˆØ—7‘7“9ˆØ˜ÒØ%Ÿ^™^×3Ñ3°DÓ9ˆHŒNÜ
×Ñ˜f hÕ/r1   c                 ó’   — |}d}t        j                  t        |¬«      5  |j                  dd¬«       d d d «       y # 1 sw Y   y xY w)Nú*Invalid value 'foo' for option 'date_unit'r   rÍ  r¨   rë  )r   r   ro   ra   )rD   rX   rW   rq   s       r    Útest_date_format_frame_raisesz1TestPandasContainer.test_date_format_frame_raisesÉ  s?   € ØˆØ:ˆÜ�]‰]œ:¨SÔ1ñ 	;Ø�J‰J 5°EˆJÔ:÷	;÷ 	;ñ 	;ús	    =½Ac                 ó  — t        j                  t        j                  |«      |j                  ¬«      }t         j                  |j
                  d<   t         j                  |j
                  d<   |r|j                  d|¬«      }n|j                  d¬«      }d|› d�|v sJ ‚t        j                  t        |«      d¬	«      }|j                  «       }|d
k(  r |j                  j                  d
«      |_        t        j                  ||«       y )Nr­   rh   r¥   rÍ  rë  rÖ  rì  rŠ  r¸  r0  )r   r>   r:  r<   r<  r   ra   r   r   rb   rƒ   r+   rŒ  )rD   r3  rÈ  rF   r;   r‡   r-   r.   s           r    Útest_date_format_seriesz+TestPandasContainer.test_date_format_seriesÏ  sÍ   € ô �Y‰Y”r—|‘| DÓ)°×1FÑ1FÔGˆÜ—V‘Vˆ�‰�‰
Ü—V‘Vˆ�‰�‰
ÙØ—:‘:¨%¸9�:ÓE‰Dà—:‘:¨%�:Ó0ˆDØ�4�&˜ˆ{˜dÑ"Ð"Ð"ä—‘œh t›n°(Ô;ˆØ—7‘7“9ˆØ˜ÒØ%Ÿ^™^×3Ñ3°DÓ9ˆHŒNÜ
×Ñ˜v xÕ0r1   c                 óö   — t        j                  t        j                  d«      |j                  ¬«      }d}t	        j
                  t        |¬«      5  |j                  dd¬«       d d d «       y # 1 sw Y   y xY w)Nz20130101 20:43:42.123r­   rï  r   rÍ  r¨   rë  )r   r>   r:  r<   r   r   ro   ra   )rD   rF   r;   rq   s       r    Útest_date_format_series_raisesz2TestPandasContainer.test_date_format_series_raisesê  s_   € Ü�Y‰YÜ�L‰LÐ0Ó1¸×9NÑ9Nô
ˆð ;ˆÜ�]‰]œ:¨SÔ1ñ 	;Ø�J‰J 5°EˆJÔ:÷	;÷ 	;ñ 	;ús   ÁA/Á/A8c                 óR  — |}t        j                  d«      |d<   |j                  j                  d«      }t        j                  d«      |j                  d|f<   t        j                  d«      |j                  d|f<   t         j
                  |j                  d|f<   d}t        j                  t        |¬	«      5  |j                  d
|¬«      }d d d «       t        j                  t        «      |¬«      }|j                  «       }|dk(  r|nd}	|d   j                  j                  |	«      |d<   |j                  j                  |	«      |_        t        j                   ||«       t        j                  t        |«      d ¬«      }t        j                   ||«       y # 1 sw Y   ŒÐxY w)Nz20130101 20:43:42r3  z19710101 20:43:42rh   z21460101 20:43:42rH   rJ   rÕ  r   rÌ  rë  rÇ  r0  r7  )r   r:  r*   r;  r   r<  r+   r€   r   ra   r   r   rb   r@  rƒ   r<   r,   )
rD   r2  rX   rW   Údlrq   r‡   r-   r.   Úout_units
             r    Útest_date_unitz"TestPandasContainer.test_date_unitò  sZ  € ØˆÜ—\‘\Ð"5Ó6ˆˆ6‰
Ø�Z‰Z×Ñ Ó'ˆÜŸ™Ð&9Ó:ˆ�‰��2�‰ÜŸ™Ð&9Ó:ˆ�‰��2�‰ÜŸ™ˆ�‰��2�‰ð=ð 	ô ×'Ñ'¬¸cÔBñ 	CØ—:‘:¨'¸T�:ÓBˆD÷	Cô —‘œh t›n¸Ô=ˆØ—7‘7“9ˆØ 4š<‘4¨TˆØ# FÑ+×.Ñ.×6Ñ6°xÓ@ˆ�ÑØ!Ÿ™×/Ñ/°Ó9ˆŒÜ
×Ñ˜f hÔ/ô —‘œh t›n¸Ô=ˆÜ
×Ñ˜f hÕ/÷	Cð 	Cús   Â:FÆF&zdf, warn©rZ   r[   r\   r}  rÕ   )TFFr×   r1  )r8   ú
2020-02-01z
2020-03-01r	  r­   rH   r8   rú  rã   c                 ó€   — d}t        j                  ||¬«      5  |j                  «        d d d «       y # 1 sw Y   y xY wr¿  )r+   r€   ra   )rD   rW   rÁ  rq   s       r    Ú)test_default_epoch_date_format_deprecatedz=TestPandasContainer.test_default_epoch_date_format_deprecated  s9   € ðd PˆÜ×'Ñ'¨°CÔ8ñ 	Ø�J‰JŒL÷	÷ 	ñ 	ús   š4´=r2  )rŽ  r~   r7  c           	      óB  — t        j                  t        j                  d|«      gd|› d�¬«      }t        j                  t        j
                  t        j                  d|«      gd|› d�|¬«      t        j
                  t        j                  d|«      gt        |¬«      dœ«      }|j                  «       }|j                  j                  d«      |_        |d	   j                  j                  d«      |d	<   |d
   j                  d«      |d
<   |�|j                  |¬«      }|j                  d|¬«      }d}t        j                  t         |¬«      5  t        j"                  t%        |«      d	d
g¬«      }d d d «       t        j&                  |«       y # 1 sw Y   Œ xY w)Nz2023-01-01T11:22:33.123456údatetime64[ú]r6   z2022-01-01T11:22:33.123456©r7   r<   )r3  Údate_objr7  r3  r  r{   rÄ   rÍ  rë  r|   r   rÉ  )r   ÚDatetimeIndexr?   Ú
datetime64rP   r>   r¼   rb   r<   rƒ   r@  r„   rÅ   ra   r+   r€   r   r   r   r,   )	rD   rÀ   r2  r<   rW   r.   r‡   rˆ   r-   s	            r    Útest_iso_non_nano_datetimesz/TestPandasContainer.test_iso_non_nano_datetimesC  sz  € ô × Ñ Ü�]‰]Ð7¸Ó>Ð?Ø ˜v QÐ'ô
ˆô �\‰\äŸ	™	Ü—]‘]Ð#?ÀÓFÐGØ'¨ v¨QÐ/Øôô
 ŸI™IÜ—]‘]Ð#?ÀÓFÐGÜ Øôñó
ˆð —7‘7“9ˆØ!Ÿ™×/Ñ/°Ó5ˆŒØ# FÑ+×.Ñ.×6Ñ6°tÓ<ˆ�ÑØ'¨
Ñ3×:Ñ:Ð;KÓLˆ�ÑàÐ$Ø×"Ñ"°Ð"Ó?ˆBà�z‰z e°tˆzÓ<ˆØKˆÜ×'Ñ'¬¸hÔGñ 	VÜ—\‘\¤(¨4£.ÀÈÐ@TÔUˆF÷	Vä
×Ñ˜f hÕ/÷	Vð 	Vús   Å#FÆF)rŽ  r~   r7  r0  c                 óL  — t        j                  ddgd|› d�¬«      }t        j                  dt        j                  ||¬«      i«      }d}t	        j
                  t        |¬	«      5  |j                  d
|¬«      }d d d «       t        |j                  «      }t        j                  «      d   }|D �cg c]  }t        |«      ‘Œ c}|k(  sJ ‚t        |j                  «       «      |k(  sJ ‚d}	t	        j
                  t        |	¬	«      5  t        j                  t        |«      dg¬«      }
d d d «       |dk(  r|nd}|j!                  d|› d�«      }|j"                  j%                  |«      |_        t	        j&                  
|«       y # 1 sw Y   �ŒxY wc c}w # 1 sw Y   ŒpxY w)Nz2023-09-29 02:55:54ú2023-09-29 02:56:03rþ  rÿ  r6   r3  r­   ú!'epoch' date format is deprecatedr   rÌ  rë  r|   rÉ  r0  r7  )r   r  rP   r>   r+   r€   r   ra   rU   Úasi8r‡   ÚloadsÚintr$   r   r   r„   r<   rƒ   r,   )rD   r2  r<   rW   rq   r-   r  ÚparsedÚkeyrˆ   Úroundtrippedr÷  r.   s                r    Útest_epoch_non_nano_datetimesz1TestPandasContainer.test_epoch_non_nano_datetimesl  sx  € ô
 × Ñ Ø"Ð$9Ð:Ø ˜v QÐ'ô
ˆô �\‰\˜6¤2§9¡9¨U¸%Ô#@ÐAÓBˆà1ˆÜ×'Ñ'¬¸cÔBñ 	EØ—Z‘Z¨G¸t�ZÓDˆF÷	Eô
 �%—*‘*ÓˆÜ—‘˜FÓ# FÑ+ˆØ$*Ö+˜S”�C•Ò+¨rÒ1Ð1Ð1Ü�F—M‘M“OÓ$¨Ò*Ð*Ð*ð LˆÜ×'Ñ'¬¸hÔGñ 	RÜŸ<™<¬°Ó(8ÈÈÔQˆL÷	Rà 4š<‘4¨TˆØ—9‘9˜{¨8¨*°AÐ6Ó7ˆØ!Ÿ™×/Ñ/°Ó9ˆŒÜ
×Ñ˜l¨HÕ5÷#	Eñ 	Eüò ,÷
	Rð 	Rús   Á'FÂ4FÄ	"FÆFÆF#rÈ  ÚwrapperÚcategoryÚsparseÚframeú1969-12-31 23:59:59.500000r  z-1 days +23:59:59.500000z2 daysc                 ó  — t        j                  |«      }|dk(  rdnt        j                  |j                  «      }|j	                  |«      }|r"|j                  d«      }|j                  d«      }d}t        j                  t        |¬«      5  |j                  d|¬«      }	d d d «       t        j                  t        |¬«      5  |j                  d|¬«      }
d d d «       
	k(  sJ ‚y # 1 sw Y   ŒHxY w# 1 sw Y   ŒxY w)Nr  rZ   r  r   rÌ  rë  )
r   r>   ÚSparseDtyper7   r„   Úto_framer+   r€   r   ra   )rD   r$   r  r  rÈ  Údenser7   Úwrappedrq   r.   r-   s              r    Ú*test_epoch_datetimelike_behind_other_dtypez>TestPandasContainer.test_epoch_datetimelike_behind_other_dtype‹  sç   € ô" —	‘	˜&Ó!ˆØ%¨Ò3‘
¼¿¹ÈÏÉÓ9UˆØ—,‘,˜uÓ%ˆÙð —N‘N 3Ó'ˆEØ×&Ñ& sÓ+ˆGà1ˆÜ×'Ñ'¬¸cÔBñ 	OØ—}‘}°ÀI�}ÓNˆH÷	Oä×'Ñ'¬¸cÔBñ 	OØ—_‘_°ÀI�_ÓNˆF÷	Oà˜Ò!Ð!Ñ!÷		Oð 	Oú÷	Oð 	Oús   ÂC)ÃC5Ã)C2Ã5C>r6  c                 óZ  ‡‡— t        j                  ddg«      }ˆˆfd„}d}t        j                  t        |¬«      5   ||«      }d d d «       t        j                  t        |¬«      5   |t        j
                  |«      «      }d d d «       k(  sJ ‚y # 1 sw Y   ŒPxY w# 1 sw Y   ŒxY w)Nr  z1970-01-01 00:00:00.500000c                 óœ   •— ‰dk(  rt        j                  ddg| ¬«      }nt        j                  ddgg| ¬«      }|j                  d‰¬«      S )Nr<   rh   rH   r­   rã   rÌ  rë  )r   r>   rP   ra   )ÚlabelsÚobjr6  rÈ  s     €€r    ra   zKTestPandasContainer.test_epoch_categorical_datetime_labels.<locals>.to_json¶  sG   ø€ Ø�wŠÜ—i‘i  A ¨fÔ5‘ä—l‘l Q¨ F 8°VÔ<�Ø—;‘;¨7¸i�;ÓHÐHr1   r  r   )r   r  r+   r€   r   r´   )rD   r6  rÈ  r<   ra   rq   r.   r-   s    ``     r    Ú&test_epoch_categorical_datetime_labelsz:TestPandasContainer.test_epoch_categorical_datetime_labels¬  s¡   ù€ ô × Ñ Ø)Ð+GÐHó
ˆõ	Ið 2ˆÜ×'Ñ'¬¸cÔBñ 	&Ù˜u“~ˆH÷	&ä×'Ñ'¬¸cÔBñ 	9ÙœR×0Ñ0°Ó7Ó8ˆF÷	9à˜Ò!Ð!Ñ!÷		&ð 	&ú÷	9ð 	9ús   ½	BÁ)B!ÂBÂ!B*c                 óª  — t        j                  dg«      }|dk(  rdnt        j                  |j                  «      }d}t	        j
                  t        |¬«      5  t        j                  t        d¬«      5  t        j                  |«      j                  |«      j                  dd¬«       d d d «       d d d «       y # 1 sw Y   ŒxY w# 1 sw Y   y xY w)	Nú
9999-01-01r  ú;Datetime value is out of bounds for the requested date_unitr   r  rÌ  r0  rë  )r   r  r  r7   r   r   r€  r+   r€   r   r>   r„   ra   )rD   r  r$   r7   rq   s        r    Ú&test_epoch_out_of_bounds_for_date_unitz:TestPandasContainer.test_epoch_out_of_bounds_for_date_unitÄ  sµ   € ô ×!Ñ! < .Ó1ˆØ%¨Ò3‘
¼¿¹ÈÏÉÓ9UˆàKˆÜ�]‰]œ=°Ô4ñ 	Ü×+Ñ+ÜÐ&Iôñ ô —	‘	˜&Ó!×(Ñ(¨Ó/×7Ñ7Ø '°4ð 8ô ÷÷	ð 	÷ð ú÷	ð 	ús$   ÁC	Á66B=Â,C	Â=C	ÃC	Ã	C)r<   r*   rf   c                 óv  — t        j                  t        j                  dg«      «      }t        j                  dggfi ||i¤Ž}d}t	        j
                  t        |¬«      5  t        j                  t        d¬«      5  |j                  |dd¬«       d d d «       d d d «       y # 1 sw Y   ŒxY w# 1 sw Y   y xY w)	Nr   rh   r!  r   r  rÌ  r0  )r/   rË  rÈ  )r   r´   r  rP   r   r   r€  r+   r€   r   ra   )rD   r6  r/   r  rW   rq   s         r    Ú-test_epoch_out_of_bounds_for_date_unit_labelszATestPandasContainer.test_epoch_out_of_bounds_for_date_unit_labelsÔ  s¯   € ô
 ×$Ñ$¤R×%5Ñ%5°|°nÓ%EÓFˆÜ�\‰\˜A˜3˜%Ñ2 D¨& >Ñ2ˆàKˆÜ�]‰]œ=°Ô4ñ 	OÜ×+Ñ+ÜÐ&Iôñ Oð —
‘
 &°gÈ�
ÔN÷O÷	Oð 	O÷Oð Oú÷	Oð 	Oús$   Á!B/Á=B#ÂB/Â#B,	Â(B/Â/B8c                 óD   — d}t        j                  t        |«      «       y )Nad  {
        "status": "success",
        "data": {
        "posts": [
            {
            "id": 1,
            "title": "A blog post",
            "body": "Some useful content"
            },
            {
            "id": 2,
            "title": "Another blog post",
            "body": "More content"
            }
           ]
          }
        })r   r   r   )rD   rŽ  s     r    Útest_weird_nested_jsonz*TestPandasContainer.test_weird_nested_jsonã  s   € ðˆô" 	�‰”X˜a“[Õ!r1   c                 óX  — t        j                  t        j                  j	                  d«      j                  d«      t        d«      ¬«      }t        j                  d«      |d<   t        d«      |d<   d	|d
<   t        j                  dd¬«      |_
        d}t        j                  t        |¬«      5  t        |j                  «       «      }d d d «       t        j                   t        j"                  t        j$                  dœ¬«      }t        j&                  ||«       y # 1 sw Y   ŒVxY w)NrH   )r¥   rH   ÚABrã   rw   r3  r¥   ÚintsTÚboolsr9   rz   r   )r)  r*  r6   )r   rP   r?   rQ   rR   rS   rU   r:  r(   rB   r<   r+   r€   r   r   ra   r   r…   Úbool_r,   )rD   Údfj2rq   r‡   r-   s        r    Útest_doc_examplez$TestPandasContainer.test_doc_exampleø  sÖ   € Ü�|‰|Ü�I‰I×!Ñ! !Ó$×4Ñ4°VÓ<ÄdÈ4Ãjô
ˆô —|‘| JÓ/ˆˆV‰Ü˜Q“xˆˆV‰ØˆˆW‰Ü—]‘] :°qÔ9ˆŒ
àOˆÜ×'Ñ'¬¸cÔBñ 	,Ü˜DŸL™L›NÓ+ˆD÷	,ä—‘˜d´2·8±8ÄbÇhÁhÑ*OÔPˆÜ
×Ñ˜f fÕ-÷	,ð 	,ús   Â1D Ä D)c                 óX  —  |dddd«      }t        j                  |«      }|j                  «       }t        j                  t	        |«      «      }|j                  |j                  |j                  ¬«      }|j                  t        j                  «      }t        j                  ||«       y )Nr5  r‡   rd   z	teams.csvr^   )r   Úread_csvra   r   r   Úreindexr<   r*   Úfillnar?   ró   r+   r,   )rD   rA  r>  rW   rŽ  r-   Úress          r    Útest_round_trip_exceptionz-TestPandasContainer.test_round_trip_exception  sy   € á˜˜f f¨kÓ:ˆÜ�[‰[˜ÓˆØ�J‰J‹Lˆä—‘œh q›kÓ*ˆØ�n‰n 2§8¡8°R·Z±ZˆnÓ@ˆØ�j‰jœŸ™Ó ˆÜ
×Ñ˜c 2Õ&r1   c                 ó<  — |j                  dd¬«       	 t        j                  t        d¬«      5 }t	        j
                  |j                  «       d d d «       j                  j                  «        y # 1 sw Y   Œ$xY w# j                  j                  «        w xY w)Nz	not foundi”  )ÚcodezHTTP Error 404r   )	Úserve_contentr   r   r   r   r   Úurlr   Úclose)rD   Ú
httpserverÚerrs      r    Útest_url_not_foundz&TestPandasContainer.test_url_not_found  ss   € ð 	× Ñ  °3Ð Ô7ð	Ü—‘œyÐ0@ÔAð -ÀSÜ—‘˜ZŸ^™^Ô,÷-ð �I‰I�O‰OÕ÷	-ð -ûð �I‰I�O‰OÕús"   •A? ° A3ÁA? Á3A<Á8A? Á?Bc                 ót  — d}|j                  |¬«       d}t        j                  t        |¬«      5  t	        j
                  |j                  d¬«      }d d d «       dt	        j                  dd	¬
«      gddgdt	        j                  dd	¬
«      gfD ]  \  }}|   j                  |k(  rŒJ ‚ y # 1 sw Y   Œ[xY w)Nzw{"created_at": ["2023-06-23T18:21:36Z"], "closed_at": ["2023-06-23T18:21:36"], "updated_at": ["2023-06-23T18:21:36Z"]}
)Úcontentr|   r   TrÉ  Ú
created_atr7  ÚUTC©ÚtzÚ	closed_atr{   Ú
updated_at)	r6  r+   r€   r   r   r   r7  ÚDatetimeTZDtyper7   )rD   r9  rd   rˆ   r-   Úfieldr7   s          r    Útest_urlzTestPandasContainer.test_url  sÁ   € ð JˆØ× Ñ ¨Ð Ô.ØKˆÜ×'Ñ'¬¸hÔGñ 	FÜ—\‘\ *§.¡.ÀÔEˆF÷	Fð œ2×-Ñ-¨d°uÔ=Ð>ØÐ*Ð+Øœ2×-Ñ-¨d°uÔ=Ð>ð
ò 	0‰LˆE�5ð
 ˜%‘=×&Ñ&¨%Ó/Ð/Ð/ñ	0÷	Fð 	Fús   ²"B.Â.B7c                 óh  — t        j                  t        d«      t        d¬«      gd|› d�¬«      }|j                  d|› d�k(  sJ ‚d}t	        j
                  t        |¬	«      5  t        j                  t        |j                  «       «      d
¬«      }d d d «       |j                  j                  d«      j                  d«      }t	        j                  |«       t        j                  t        d«      t        d¬«      gt        j                  ddg«      d|› d�¬«      }|j                  d|› d�k(  sJ ‚t	        j
                  t        |¬	«      5  t        j                  t        |j                  «       «      d
¬«      }d d d «       t	        j                  ||«       t        j                  t        d«      t        d¬«      gd|› d�¬«      }|d   j                  d|› d�k(  sJ ‚t	        j
                  t        |¬	«      5  |j                  «       }d d d «       t        j                  t        «      «      }|j!                  «       }|d   j                  j                  d«      j                  d«      |d<   t	        j"                  ||«       y # 1 sw Y   �ŒþxY w# 1 sw Y   �ŒxY w# 1 sw Y   Œ˜xY w)Né   r¥   ©Úsecondszm8[rÿ  r6   ztimedelta64[rz   r   rŠ  r¸  r~   r…   r   rh   rœ  )r   r>   r   r7   r+   r€   r   r   r   ra   r@  rƒ   r„   rŒ  rT   rP   rb   r,   )rD   r2  rE   rq   r-   r.   r  r‡   s           r    Útest_timedeltaz"TestPandasContainer.test_timedelta.  s0  € Ü�i‰iœ 2›¬	¸!Ô(<Ð=ÀsÈ4È&ÐPQÀ]ÔSˆØ�y‰y˜l¨4¨&°Ð2Ò2Ð2Ð2àOˆÜ×'Ñ'¬¸cÔBñ 	IÜ—\‘\¤(¨3¯;©;«=Ó"9¸xÔHˆF÷	Ià—6‘6—>‘> $Ó'×.Ñ.¨wÓ7ˆÜ
×Ñ˜v xÔ0ä�i‰iÜ�r‹]œI¨aÔ0Ð1Ü—(‘(˜A˜q˜6Ó"Ø˜�v˜Q�-ô
ˆð
 �y‰y˜l¨4¨&°Ð2Ò2Ð2Ð2Ü×'Ñ'¬¸cÔBñ 	IÜ—\‘\¤(¨3¯;©;«=Ó"9¸xÔHˆF÷	Iä
×Ñ˜v xÔ0ä—‘œi¨›m¬Y¸qÔ-AÐBÈCÐPTÈvÐUVÈ-ÔXˆØ�Q‰x�~‰~ <°¨v°QÐ!7Ò7Ð7Ð7ä×'Ñ'¬¸cÔBñ 	#Ø—=‘=“?ˆD÷	#ä—‘œh t›nÓ-ˆØ—:‘:“<ˆØ˜q‘k—n‘n×,Ñ,¨TÓ2×9Ñ9¸'ÓBˆ�‰Ü
×Ñ˜f hÕ/÷/	Iñ 	Iú÷	Iñ 	Iú÷	#ð 	#ús$   Á#/JÅ/JÈ J(ÊJÊJ%Ê(J1c                 ó`  — t        j                  t        d¬«      t        d¬«      gddgt        j                  dd¬«      d	œ«      }d
}t	        j
                  t        |¬«      5  t        |j                  d¬«      «      }d d d «       t        j                  «      }|j                  «       }|d   j                  j                  d«      j                  d«      |d<   |d   j                  j                  d«      j                  d«      |d<   t	        j                  ||«       y # 1 sw Y   Œ¥xY w)NrH  ©Údaysr¥   rI  rh   rH   rw   )Ústartr:   rù  rz   r   r0  rÇ  rZ   r…   r\   )r   rP   r   rB   r+   r€   r   r   ra   r   rb   r@  rƒ   r„   r,   )rD   r  rq   rd   r-   r.   s         r    Útest_timedelta2z#TestPandasContainer.test_timedelta2L  sù   € Ü—‘ä RÔ(¬)¸AÔ*>Ð?Ø˜�VÜ—]‘]¨¸QÔ?ñó
ˆð PˆÜ×'Ñ'¬¸cÔBñ 	;Ü˜EŸM™M°D˜MÓ9Ó:ˆD÷	;ä—‘˜dÓ#ˆØ—:‘:“<ˆØ  ™×(Ñ(×0Ñ0°Ó6×=Ñ=¸gÓFˆ�‰Ø  ™×(Ñ(×0Ñ0°Ó6×=Ñ=¸gÓFˆ�‰Ü
×Ñ˜f hÕ/÷	;ð 	;ús   Á$D$Ä$D-c                 óÖ  — t        d«      }t        j                  d«      }t        j                  d||git        ¬«      }t        j                  dt        j
                  |«      j                  d«      j                  |j                  d«      j                  gi«      }t        |j                  d¬«      «      }t        j                  |ddi¬«      }t        j                  ||d¬	«       y )
NrH  rw   rZ   r6   r0  rÇ  r…   Fr  )r   r   r:  rP   r¼   Ú	Timedeltarƒ   Ú_valuer   ra   r   r+   r,   )rD   Útdr;   r  r.   rd   r-   s          r    Útest_mixed_timedelta_datetimez1TestPandasContainer.test_mixed_timedelta_datetime]  s²   € Ü�r‹]ˆÜ�\‰\˜*Ó%ˆÜ—‘˜c B¨ 8˜_´FÔ;ˆä—<‘<Ø”2—<‘< Ó#×+Ñ+¨DÓ1×8Ñ8¸"¿*¹*ÀTÓ:J×:QÑ:QÐRÐSó
ˆô ˜Ÿ™°˜Ó5Ó6ˆÜ—‘˜d¨3°¨.Ô9ˆÜ
×Ñ˜f hÀÖGr1   Útimedelta_typc                 óÚ  —  |d¬«       |d¬«      t         j                  g}|r|j                  d«       t        j                  ||¬«      }|s1|j	                  d«      }|j
                  j	                  d«      |_        d }|dk(  rd}nt        }d	}|r|j                  d
d«      }d}t        j                  ||¬«      5  |j                  |¬«      }	d d d «       	|k(  sJ ‚y # 1 sw Y   ŒxY w)Nrh   rM  rH   rZ   r­   zm8[ns]rÍ  zA{"P1DT0H0M0S":"P1DT0H0M0S","P2DT0H0M0S":"P2DT0H0M0S","null":null}z7{"86400000":86400000,"172800000":172800000,"null":null}r×  rØ  rÕ  r   rÖ  )r   r<  rÙ  r>   r„   r<   r   rÚ  r+   r€   ra   )
rD   rÎ  rË  rV  rd   rE   r†   r.   rq   r-   s
             r    Útest_timedelta_to_jsonz*TestPandasContainer.test_timedelta_to_jsoni  sì   € ñ
  1Ô%¡}¸!Ô'<¼b¿f¹fÐEˆÙØ�K‰K˜Ôä�i‰i˜ DÔ)ˆÙØ—*‘*˜XÓ&ˆCØŸ	™	×(Ñ(¨Ó2ˆCŒIØÐØ˜%ÒàSñ ô  .ÐØPˆHáØ×'Ñ'¨¨[Ó9ˆHð=ð 	ô ×'Ñ'Ð(8ÀÔDñ 	:Ø—[‘[¨[�[Ó9ˆF÷	:à˜Ò!Ð!Ñ!÷	:ð 	:ús   Â>C!Ã!C*c                 ót  — t        j                  d¬«      g}t        j                  ||¬«      }t        }|r;|j	                  t
        «      }|j                  j	                  t
        «      |_        d }d}t        j                  ||¬«      5  |j                  «       }d d d «       d}|k(  sJ ‚y # 1 sw Y   ŒxY w)Né*   )Úmillisecondsr­   rz   r   z	{"42":42})
r   rR  r>   r   r„   r¼   r<   r+   r€   ra   )rD   rÎ  rd   rE   rÁ  rq   r-   r.   s           r    Ú+test_timedelta_to_json_fractional_precisionz?TestPandasContainer.test_timedelta_to_json_fractional_precisionŠ  sž   € ä—‘¨"Ô-Ð.ˆÜ�i‰i˜ DÔ)ˆô ˆÙØ—*‘*œVÓ$ˆCØŸ	™	×(Ñ(¬Ó0ˆCŒIØˆDàOˆÜ×'Ñ'¨°CÔ8ñ 	#Ø—[‘[“]ˆF÷	#àˆØ˜Ò!Ð!Ñ!÷	#ð 	#ús   ÂB.Â.B7Úbase_typc                 óN  —  G d„ d|«      }|t         j                  u r
 |ddd«      n |d«      }t        j                  |gt        ¬«      }t        j
                  dg|¬«      }t        j                  t        d¬	«      5  |j                  d
¬«       d d d «       y # 1 sw Y   y xY w)Nc                   ó   — e Zd ZdZy)úRTestPandasContainer.test_to_json_datetimelike_subclass_missing_creso.<locals>.Faker¥   N)rw  rx  ry  rS  rÚ   r1   r    ÚFaker`  ¡  s   „ Ø‰Fr1   ra  rÑ  rh   r¥   r6   r­   Ú_cresor   rÍ  rÖ  )
rÞ  r3  r   rT   r¼   r>   r   r   ÚAttributeErrorra   )rD   r]  ra  r  r<   rE   s         r    Ú0test_to_json_datetimelike_subclass_missing_cresozDTestPandasContainer.test_to_json_datetimelike_subclass_missing_cresoœ  s†   € ô
	�8ô 	ð #+¬h¯m©mÑ";‰d�4˜˜AÔÁÀaÃˆô —‘˜#˜¤fÔ-ˆÜ�i‰i˜˜ 5Ô)ˆÜ�]‰]œ>°Ô:ñ 	+Ø�K‰K EˆKÔ*÷	+÷ 	+ñ 	+ús   Á?BÂB$c                 ó"  — t        «       }t        j                  dd|gi«      }t        j                  ddt        |«      gi«      }t        j                  t        |j                  t        ¬«      «      «      }t        j                  ||d¬«       y )NrZ   é   r~  Fr  )	r¼   r   rP   rž   r   r   ra   r+   r,   )rD   r   r  r.   r-   s        r    Útest_default_handlerz(TestPandasContainer.test_default_handler¬  sk   € Ü“ˆÜ—‘˜c A u :Ð.Ó/ˆÜ—<‘<  q¬#¨e«* oÐ 6Ó7ˆÜ—‘œh u§}¡}ÄS }Ó'IÓJÓKˆÜ
×Ñ˜h¨ÀÖGr1   c           	      ó¢   — d„ }dt        j                  ddt        dd«      gt        d«      d dgd	œd
dg¬«      g}d}t	        ||d¬«      |k(  sJ ‚y )Nc                 ór   — t        | t        «      rdd| j                  fd| j                  fgS t	        | «      S )N)ÚmathjsÚComplexÚreÚim)Ú
isinstanceÚcomplexÚrealÚimagrž   )r  s    r    ÚdefaultzBTestPandasContainer.test_default_handler_indirect.<locals>.default´  s4   € Ü˜#œwÔ'Ø-°°c·h±hÐ/?À$ÈÏÉÐAQÐRÐRÜ�s“8ˆOr1   é	   rh   ÚSTRrJ   éûÿÿÿró   zN/Ar»  rZ   r[   rã   zR[9,[[1,null],["STR",null],[[["mathjs","Complex"],["re",4.0],["im",-5.0]],"N\/A"]]]r$   ©r  r/   )r   rP   ro  r»   r   )rD   rr  Údf_listr.   s       r    Útest_default_handler_indirectz1TestPandasContainer.test_default_handler_indirect³  sk   € ò	ð Ü�L‰LØ˜%¤¨¨B£Ð0¼¸e»ÀdÈEÐ7RÑSØ˜c˜
ôð
ˆð1ð 	ô
 ˜°ÀÔJÈhÒVð	
ÙVr1   c           	      ó¾   — t        j                  ddt        dd«      gt        d«      d t        dd«      gdœd	d
g¬«      }d}|j	                  t
        d¬«      |k(  sJ ‚y )Nrh   gffffff@rJ   ru  ró   g333333ó?r   r»  rZ   r[   rã   zE[["(1+0j)","(nan+0j)"],["(2.3+0j)","(nan+0j)"],["(4-5j)","(1.2+0j)"]]r$   rv  )r   rP   ro  r»   ra   rž   )rD   rW   r.   s      r    Ú,test_default_handler_numpy_unsupported_dtypez@TestPandasContainer.test_default_handler_numpy_unsupported_dtypeÈ  sf   € ä�\‰\Ø�cœ7 1 b›>Ð*´%¸³,ÀÄgÈcÐSTÃoÐ1VÑWØ˜#�Jô
ˆð
 Tð 	ð �z‰z¬#°hˆzÓ?À8ÒKÐKÑKr1   c           
      ó   ‡— dŠˆfd„}t        j                  t        ‰¬«      5  t        j                  dddt        «       gi«      j                  |¬«       d d d «       t        j                  t        ‰¬«      5  t        j                  dddt        dd	«      gi«      j                  |¬«       d d d «       y # 1 sw Y   ŒbxY w# 1 sw Y   y xY w)
NÚraisinc                 ó   •— t        ‰«      ‚rm  )Ú	TypeError)r  rq   s    €r    Úmy_handler_raiseszJTestPandasContainer.test_default_handler_raises.<locals>.my_handler_raisesÖ  s   ø€ Ü˜C“.Ð r1   r   rZ   rh   rH   r~  rJ   ru  )r   r   r~  r   rP   r¼   ra   ro  )rD   r  rq   s     @r    Útest_default_handler_raisesz/TestPandasContainer.test_default_handler_raisesÓ  s»   ø€ Øˆô	!ô �]‰]œ9¨CÔ0ñ 	Ü�L‰L˜#  1¤f£hÐ/Ð0Ó1×9Ñ9Ø 1ð :ô ÷	ô �]‰]œ9¨CÔ0ñ 	Ü�L‰L˜#  1¤g¨a°£nÐ5Ð6Ó7×?Ñ?Ø 1ð @ô ÷	ð 	÷		ð 	ú÷	ð 	ús   ¤3B8Á:5CÂ8CÃCc                 ó  — t        j                  dg d¢i«      }|d   |d<   |j                  «       }|d   j                  d«      |d<   ||j                  «       k(  sJ ‚|d   }|d   }|j                  «       |j                  «       k(  sJ ‚y )NrÕ   )rZ   r[   r\   rZ   r[   r[   rZ   rM   r  )r   rP   ra   r„   )rD   rW   r.   rŽ  Úscs        r    Útest_categoricalz$TestPandasContainer.test_categoricalâ  s„   € ä�\‰\˜3Ò CÐDÓEˆØ�S‘'ˆˆ3‰Ø—:‘:“<ˆà�S‘'—.‘. Ó,ˆˆ3‰Ø˜2Ÿ:™:›<Ò'Ð'Ð'àˆs‰GˆØ�‰WˆØ�y‰y‹{˜bŸj™j›lÒ*Ð*Ñ*r1   c                 óà  — t        j                  ddd¬«      j                  |«      }|j                  d«      j	                  d «      }t        j
                  |t        j                  dd¬«      j                  |«      dœ«      }|j                  «       }||d<   d	}t        j                  t        |¬
«      5  |j                  «       }||j                  «       k(  sJ ‚	 d d d «       t        j                  |«      }t        j                  |«      }	t        j                  t        |¬
«      5  |j                  «       |	j                  «       k(  sJ ‚	 d d d «       y # 1 sw Y   Œ|xY w# 1 sw Y   y xY w)Nrw   rv   ú
US/Eastern©r:   rA  Úutcr9   r}  rÕ   rz   r   )r   rB   rƒ   Ú
tz_convertÚtz_localizerP   rb   r+   r€   r   ra   r>   )
rD   r2  Útz_rangeÚtz_naiverW   Údf_naiverq   r.   ÚstzÚs_naives
             r    Útest_datetime_tzz$TestPandasContainer.test_datetime_tzï  s,  € ä—=‘= °Q¸<ÔH×PÑPÐQUÓVˆØ×&Ñ& uÓ-×9Ñ9¸$Ó?ˆä�\‰\Ø¤§¡¨zÀ1Ô!E×!MÑ!MÈdÓ!SÑTó
ˆð —7‘7“9ˆØ ˆ�‰ØOˆÜ×'Ñ'¬¸cÔBñ 	,Ø×'Ñ'Ó)ˆHØ˜rŸz™z›|Ò+Ð+Ñ+÷	,ô �i‰i˜Ó!ˆÜ—)‘)˜HÓ%ˆÜ×'Ñ'¬¸cÔBñ 	6Ø—;‘;“= G§O¡OÓ$5Ò5Ð5Ñ5÷	6ð 	6÷	,ð 	,ú÷	6ð 	6ús   Â6&EÄ*$E$ÅE!Å$E-c                 óT  — t        j                  t        j                  j	                  d«      j                  d«      «      }t        j                  |j                  d d |j                  d«      }|j                  «       }||j                  «       k(  sJ ‚t        j                  t        j                  j	                  d«      j                  d«      «      }t        j                  |j                  d d |j                  d«      }|j                  «       }||j                  «       k(  sJ ‚y )NrH   )r5   rJ   é   ÚSparser5   )r   rP   r?   rQ   rR   rS   ró   rü   r„   ra   r>   )rD   rW   Úsdfr.   rŽ  Ússs         r    Útest_sparsezTestPandasContainer.test_sparse  sÒ   € ä�\‰\œ"Ÿ)™)×/Ñ/°Ó2×BÑBÀ7ÓKÓLˆÜ—V‘Vˆ�‰ˆr�ˆ
à�i‰i˜Ó!ˆØ—:‘:“<ˆØ˜3Ÿ;™;›=Ò(Ð(Ð(ä�I‰I”b—i‘i×+Ñ+¨AÓ.×>Ñ>¸rÓBÓCˆÜ—F‘Fˆ�‰ˆbˆqˆ	Ø�X‰X�hÓˆà—9‘9“;ˆØ˜2Ÿ:™:›<Ò'Ð'Ñ'r1   r;   z2013-01-10 05:00:00Zz2013-01-10 00:00:00r…  r@  z2013-01-10 00:00:00-0500c                 óp   — d}t        |d¬«      |k(  sJ ‚|j                  «       }t        |d¬«      |k(  sJ ‚y )Nz"2013-01-10T05:00:00.000Z"T©Ú	iso_dates)r   Úto_pydatetime©rD   r;   Úexpr@  s       r    Útest_tz_is_utcz"TestPandasContainer.test_tz_is_utc  sA   € ð +ˆä˜2¨Ô.°#Ò5Ð5Ð5Ø×ÑÓˆÜ˜2¨Ô.°#Ò5Ð5Ñ5r1   c                 óš   — t        j                  d«      }d}t        |d¬«      |k(  sJ ‚|j                  «       }t        |d¬«      |k(  sJ ‚y )Nz2013-01-10 05:00:00z"2013-01-10T05:00:00.000"Tr—  )r   r:  r   r™  rš  s       r    Útest_tz_is_naivez$TestPandasContainer.test_tz_is_naive#  sN   € Ü�\‰\Ð/Ó0ˆØ)ˆä˜2¨Ô.°#Ò5Ð5Ð5Ø×ÑÓˆÜ˜2¨Ô.°#Ò5Ð5Ñ5r1   rŠ  z2013-01-01 05:00:00Zr0  ©r:   r2  z2013-01-01 00:00:00)r:   rA  r2  z2013-01-01 00:00:00-0500c                 óä  — d}d}d}d}t        |d¬«      |k(  sJ ‚t        j                  |«      }t        |d¬«      |k(  sJ ‚t        |dd¬«      |k(  sJ ‚t        |j                  t        «      d¬«      |k(  sJ ‚t        t        j
                  |«      d¬«      |k(  sJ ‚t        j                  d	|i«      }t        |d¬«      }||k(  sJ ‚t        |j                  d	t        i«      d¬«      |k(  sJ ‚y )
Nz7["2013-01-01T05:00:00.000Z","2013-01-02T05:00:00.000Z"]z?{"0":"2013-01-01T05:00:00.000Z","1":"2013-01-02T05:00:00.000Z"}zF{"DT":{"0":"2013-01-01T05:00:00.000Z","1":"2013-01-02T05:00:00.000Z"}}zL{"name":null,"data":["2013-01-01T05:00:00.000Z","2013-01-02T05:00:00.000Z"]}Tr—  rf   ©r/   r˜  ÚDT)r   r   r  r„   r¼   r>   rP   )	rD   rŠ  r›  ÚserexpÚdfexpÚsplitexprB  rW   r-   s	            r    Útest_tz_range_is_utcz(TestPandasContainer.test_tz_range_is_utc+  sû   € ð HˆØRˆØXˆðNð 	ô
 ˜8¨tÔ4¸Ò;Ð;Ð;Ü×Ñ˜xÓ(ˆô ˜3¨$Ô/°3Ò6Ð6Ð6Ü˜3 w¸$Ô?À8ÒKÐKÐKÜ˜3Ÿ:™:¤fÓ-¸Ô>À#ÒEÐEÐEäœ2Ÿ9™9 S›>°TÔ:¸fÒDÐDÐDÜ�\‰\˜4 ˜+Ó&ˆÜ˜R¨4Ô0ˆØ˜ŠÐˆÜ˜2Ÿ9™9 d¬F ^Ó4ÀÔEÈÒNÐNÑNr1   c                 óÆ  — t        j                  ddd¬«      }d}d}d}d}t        |d	¬
«      |k(  sJ ‚t        |dd	¬«      |k(  sJ ‚t        |j                  t        «      d	¬
«      |k(  sJ ‚t        t        j
                  |«      d	¬
«      |k(  sJ ‚t        j                  d|i«      }t        |d	¬
«      }||k(  sJ ‚t        |j                  dt        i«      d	¬
«      |k(  sJ ‚y )Nú2013-01-01 05:00:00rH   r0  rŸ  z5["2013-01-01T05:00:00.000","2013-01-02T05:00:00.000"]z={"0":"2013-01-01T05:00:00.000","1":"2013-01-02T05:00:00.000"}zD{"DT":{"0":"2013-01-01T05:00:00.000","1":"2013-01-02T05:00:00.000"}}zJ{"name":null,"data":["2013-01-01T05:00:00.000","2013-01-02T05:00:00.000"]}Tr—  rf   r¡  r¢  )r   rB   r   r„   r¼   r>   rP   )rD   rB  r›  r£  r¤  r¥  rW   r-   s           r    Útest_tz_range_is_naivez*TestPandasContainer.test_tz_range_is_naiveJ  sá   € Ü�m‰mÐ1¸1À4ÔHˆàEˆØPˆØVˆàXð 	ô ˜3¨$Ô/°3Ò6Ð6Ð6Ü˜3 w¸$Ô?À8ÒKÐKÐKÜ˜3Ÿ:™:¤fÓ-¸Ô>À#ÒEÐEÐEÜœ2Ÿ9™9 S›>°TÔ:¸fÒDÐDÐDÜ�\‰\˜4 ˜+Ó&ˆÜ˜R¨4Ô0ˆØ˜ŠÐˆÜ˜2Ÿ9™9 d¬F ^Ó4ÀÔEÈÒNÐNÑNr1   )rf   r#   r<   r*   r$   c                 ó0  — t        j                  ddd¬«      }t        j                  ||¬«      }t        j                  |j                  t        «      |j                  t        «      ¬«      }|j                  |d¬«      |j                  |d¬«      k(  sJ ‚t        j                  d|i|¬«      }t        j                  d|j                  t        «      i|j                  t        «      ¬«      }|j                  |d¬«      |j                  |d¬«      k(  sJ ‚y )	Nr¨  rH   r…  r†  r­   rÍ  ©r/   rË  rÕ   )r   rB   r>   r„   r¼   ra   rP   )rD   r/   rB  rE   r.   rW   Údf_expecteds          r    Ú$test_tz_aware_to_json_matches_objectz8TestPandasContainer.test_tz_aware_to_json_matches_object_  sø   € ô �m‰mÐ1¸1ÀÔNˆÜ�i‰i˜ 3Ô'ˆÜ—9‘9˜SŸZ™Z¬Ó/°s·z±zÄ&Ó7IÔJˆØ�{‰{ &°eˆ{Ó<À×@PÑ@PØ uð AQó A
ò 
ð 	
ð 
ô �\‰\˜3 ˜*¨CÔ0ˆÜ—l‘l C¨¯©´FÓ);Ð#<ÀCÇJÁJÌvÓDVÔWˆØ�z‰z °UˆzÓ;¸{×?RÑ?RØ uð @Só @
ò 
ð 	
ñ 
r1   rA  z
Asia/Tokyoz
US/Pacificc                 óî  — t        j                  dgd¬«      j                  |«      }|d   j                  «       j	                  «       dz  dk7  sJ ‚t        j
                  d|i«      t        j
                  d|j                  t        «      i«      fD ]  }|j                  dd¬	«      }|d
k(  rŒJ ‚ t        j
                  ddgi|j                  t        «      ¬«      j                  dd¬	«      }|dk(  sJ ‚y )Nz
1800-01-01r?  r@  r   é<   rZ   rÍ  rŽ  rë  z"{"a":{"0":"1800-01-01T00:00:00Z"}}rh   r­   z {"a":{"1800-01-01T00:00:00Z":1}})	r   r  rˆ  Ú	utcoffsetÚtotal_secondsrP   r„   r¼   ra   )rD   rA  rB  r  r-   s        r    Útest_tz_aware_sub_minute_offsetz3TestPandasContainer.test_tz_aware_sub_minute_offsets  sö   € ô
 ×Ñ ˜~°%Ô8×CÑCÀBÓGˆØ�1‰v×ÑÓ!×/Ñ/Ó1°BÑ6¸!Ò;Ð;Ð;ô �L‰L˜#˜s˜Ó$Ü�L‰L˜#˜sŸz™z¬&Ó1Ð2Ó3ð
ò 	BˆEð —]‘]¨uÀ�]ÓDˆFØÐAÓAÐAÐAð	Bô —‘˜s Q C˜j°·
±
¼6Ó0BÔC×KÑKØ¨ð Ló 
ˆð Ð;Ò;Ð;Ñ;r1   c                 ó  — t        j                  ddgd¬«      }t        j                  t        j                  t        j
                  d«      t        j
                  d«      gt        ¬«      |¬«      }|j                  d	d
¬«      }d}||k(  sJ ‚y )Nr8   z
2020-01-02r?  r@  z
2021-06-01z
2021-06-02r6   r­   rf   rÍ  r«  zŠ{"name":null,"index":["2020-01-01T00:00:00.000Z","2020-01-02T00:00:00.000Z"],"data":["2021-06-01T00:00:00.000","2021-06-02T00:00:00.000"]})r   r  r>   r?   Úarrayr  r¼   ra   )rD   r¾   rE   r-   r.   s        r    Ú)test_tz_aware_index_naive_datetime64_dataz=TestPandasContainer.test_tz_aware_index_naive_datetime64_dataˆ  s†   € ô ×Ñ ¨lÐ;ÀÔFˆÜ�i‰iÜ�H‰HÜ—‘˜|Ó,¬b¯m©m¸LÓ.IÐJÜôð ô
ˆð —‘ G¸�Ó?ˆðLð 	ð
 ˜Ò!Ð!Ñ!r1   c                 ó®   — t        j                  t        d«      d¬«      }t        j                  ddgddggddg¬«      }t	        j
                  ||«       y )	Nr   Tr   rh   rH   rZ   r[   rã   ©r   r   r   rP   r+   r,   r‡  s      r    Útest_read_inline_jsonlz*TestPandasContainer.test_read_inline_jsonl›  sP   € ô —‘ÜÐ:Ó;À4ô
ˆô —<‘< ! Q ¨!¨Q¨Ð 0¸3À¸*ÔEˆÜ
×Ñ˜f hÕ/r1   c                 óº   — t        j                  d|j                  › d�d|¬«      }t        j                  ddgddggddg¬	«      }t	        j
                  ||«       y )
Nús3n://ú/items.jsonlT)r   Ústorage_optionsrh   rH   rZ   r[   rã   )r   r   r=   rP   r+   r,   )rD   Ús3_bucket_public_with_dataÚs3sor-   r.   s        r    Útest_read_s3_jsonlz&TestPandasContainer.test_read_s3_jsonl¤  s_   € ô —‘ØÐ/×4Ñ4Ð5°\ÐBØØ ô
ˆô
 —<‘< ! Q ¨!¨Q¨Ð 0¸3À¸*ÔEˆÜ
×Ñ˜f hÕ/r1   c                 ó  — t        j                  d|j                  › d�dd|¬«      5 }t        j                  |«      }d d d «       t        j                  ddgddggddg¬	«      }t        j                  |«       y # 1 sw Y   Œ?xY w)
Nrº  r»  Trh   )r   Ú	chunksizer¼  rH   rZ   r[   rã   )r   r   r=   ÚconcatrP   r+   r,   )rD   r½  r¾  Úreaderr-   r.   s         r    Útest_read_s3_jsonl_chunksizez0TestPandasContainer.test_read_s3_jsonl_chunksize°  sˆ   € ô
 �\‰\ØÐ/×4Ñ4Ð5°\ÐBØØØ ô	
ð 	'ð
 Ü—Y‘Y˜vÓ&ˆF÷	'ô —<‘< ! Q ¨!¨Q¨Ð 0¸3À¸*ÔEˆÜ
×Ñ˜f hÕ/÷	'ð 	'ús   ¨A<Á<Bc                 ó  — t        |dd¬«      5 }|j                  d«       d d d «       t        j                  |d¬«      }t        j                  ddgddggd	d
g¬«      }t        j                  ||«       y # 1 sw Y   ŒVxY w)NÚwzutf-8©Úencodingr   Tr   rh   rH   rZ   r[   rã   )ÚopenÚwriter   r   rP   r+   r,   )rD   rÀ  Úinfiler-   r.   s        r    Útest_read_local_jsonlz)TestPandasContainer.test_read_local_jsonl¿  sw   € ä�)˜S¨7Ô3ð 	@°vØ�L‰LÐ>Ô?÷	@ä—‘˜i¨tÔ4ˆÜ—<‘< ! Q ¨!¨Q¨Ð 0¸3À¸*ÔEˆÜ
×Ñ˜f hÕ/÷		@ð 	@ús   �A6Á6A?c                 ód  — d}t        |«      }t        j                  |d¬«      }t        j                  ddgddggddg¬	«      }t	        j
                  ||«       t        d«      }t        j                  |d¬«      }t        j                  ddgddggddg¬	«      }t	        j
                  ||«       y )
Nu5   {"a": "fooâ€�", "b": "bar"}
{"a": "foo", "b": "bar"}
Tr   u   fooâ€�r¦   r¨   rZ   r[   rã   )r   r   r   rP   r+   r,   ©rD   r‡   r-   r.   s       r    Útest_read_jsonl_unicode_charsz1TestPandasContainer.test_read_jsonl_unicode_charsÇ  s®   € ð
 IˆÜ˜‹~ˆÜ—‘˜d¨$Ô/ˆÜ—<‘<Ø˜5Ð! E¨5 >Ð2¸SÀ#¸Jô
ˆô 	×Ñ˜f hÔ/ô ÐQÓRˆÜ—‘˜d¨$Ô/ˆÜ—<‘<Ø˜5Ð! E¨5 >Ð2¸SÀ#¸Jô
ˆô 	×Ñ˜f hÕ/r1   ÚbigNumc                 ó  — t        j                  |t        dg¬«      }|j                  «       }dt	        |«      z   dz   }||k(  sJ ‚t        j
                  |t        dgdg¬«      }|j                  «       }dt	        |«      z   dz   }||k(  sJ ‚y )	NÚ	articleIdr   ú{"articleId":r×  r   )r7   r<   r*   ú{"0":{"articleId":r  )r   r>   r¼   ra   rž   rP   )rD   rÐ  rŠ  r‡   r.   rW   s         r    Útest_to_json_large_numbersz.TestPandasContainer.test_to_json_large_numbersÜ  s‰   € ô —‘˜6¬¸°}ÔEˆØ�~‰~ÓˆØ"¤S¨£[Ñ0°3Ñ6ˆØ�xÒÐÐä�\‰\˜&¬°{°mÈaÈSÔQˆØ�z‰z‹|ˆØ'¬#¨f«+Ñ5¸Ñ<ˆØ�xÒÐÑr1   lûÿÿÿ        l            c                 ó¦  — t        dt        |«      z   dz   «      }dj                  ddg«      }t        j                  t
        |¬«      5  t        j                  |«       d d d «       t        dt        |«      z   dz   «      }t        j                  t
        |¬«      5  t        j                  |«       d d d «       y # 1 sw Y   Œ]xY w# 1 sw Y   y xY w)	NrÓ  r×  rç   zValue is too smallzValue is too bigr   rÔ  r  )r   rž   r?  r   r   ro   r   r   )rD   rÐ  r‡   rq   s       r    Útest_read_json_large_numbersz0TestPandasContainer.test_read_json_large_numbersé  s¯   € ô ˜¬#¨f«+Ñ5¸Ñ;Ó<ˆØ�h‰hÐ,Ð.@ÐAÓBˆÜ�]‰]œ:¨SÔ1ñ 	Ü�L‰L˜Ô÷	ô Ð,¬s°6«{Ñ:¸TÑAÓBˆÜ�]‰]œ:¨SÔ1ñ 	Ü�L‰L˜Ô÷	ð 	÷		ð 	ú÷	ð 	ús   Á	B;ÂCÂ;CÃCc                 óL  — d}t        |«      }t        j                  |d¬«      }t        j                  ddg¬«      }t	        j
                  ||«       d}t        |«      }t        j                  |«      }t        j                  ddgdg¬	«      }t	        j                  ||«       y )
Nz'{"articleId": "1404366058080022500245"}rŠ  r¸  gg“_SDrÒ  r­   z.{"0": {"articleId": "1404366058080022500245"}}r   r^   )r   r   r   r>   r+   rŒ  rP   r,   rÎ  s       r    Útest_read_json_large_numbers2z1TestPandasContainer.test_read_json_large_numbers2õ  s„   € à8ˆÜ˜‹~ˆÜ—‘˜d¨Ô1ˆÜ—9‘9˜[°°Ô>ˆÜ
×Ñ˜v xÔ0à?ˆÜ˜‹~ˆÜ—‘˜dÓ#ˆÜ—<‘< °K°=È1È#ÔNˆÜ
×Ñ˜f hÕ/r1   c                 ó6  — t        j                  ddgddggddg¬«      }|j                  dd¬«      }d	}||k(  sJ ‚t        j                  d
dgddggddg¬«      }|j                  dd¬«      }d}||k(  sJ ‚t        j                  t        j
                  t        |«      d¬«      |«       t        j                  ddgddggddg¬«      }|j                  dd¬«      }d}||k(  sJ ‚t        j                  t        j
                  t        |«      d¬«      |«       y )Nrh   rH   rZ   r[   rã   r#   T©r/   r   z{"a":1,"b":2}
{"a":1,"b":2}
zfoo}r¦   zfoo"z/{"a":"foo}","b":"bar"}
{"a":"foo\"","b":"bar"}
r   zfoo\za\r   )r   rP   ra   r+   r,   r   r   r  s       r    Útest_to_jsonlz!TestPandasContainer.test_to_jsonl  s  € ä�\‰\˜A˜q˜6 A q 6Ð*°S¸#°JÔ?ˆØ—‘ 9°D�Ó9ˆØ3ˆØ˜Ò!Ð!Ð!ä�\‰\˜F E˜?¨V°U¨OÐ<ÀsÈCÀjÔQˆØ—‘ 9°D�Ó9ˆØGˆØ˜Ò!Ð!Ð!Ü
×ÑœbŸl™l¬8°FÓ+;À4ÔHÈ"ÔMô �\‰\˜G UÐ+¨f°e¨_Ð=ÈÈsÀ|ÔTˆØ—‘ 9°D�Ó9ˆØRˆØ˜Ò!Ð!Ð!ä
×ÑœbŸl™l¬8°FÓ+;À4ÔHÈ"ÕMr1   z%GH#13774 encoding kwarg not supportedÚval)ó   EÉ, 17r1   ó   aó   bó   c)rÞ  rß  rà  rá  )s   EE, 17r1   rß  rà  rá  )rÞ  ó   øürß  rà  rá  )r1   rß  rà  rá  )râ  rß  rà  rá  )ó   Aøür1   rß  rà  rá  r1   rà  rá  rã  c           	      ó4  — t        j                  |D �cg c]%  }t        |t        «      r|j	                  d«      n|‘Œ' c}|¬«      }d}|j                  ||¬«       t        j                  t        |«      |¬«      }t        j                  ||d¬«       y c c}w )Nzlatin-1r6   rÇ  F)Úcheck_categorical)
r   r>   rn  ro  Údecodera   r   r   r+   rŒ  )rD   r7   rÝ  rÀ  ri   rE   rÈ  Úretrs           r    Útest_latin_encodingz'TestPandasContainer.test_latin_encoding  s~   € ô$ �i‰iØILÖMÀA¤J¨q´%Ô$8ˆQ�X‰X�iÔ ¸aÑ?ÒMØô
ˆð ˆØ�‰�I¨ˆÔ1Ü�|‰|œH YÓ/¸(ÔCˆÜ
×Ñ˜s D¸EÖBùò Ns   ”*Bc                 óø   — t        j                  dt        d«      gi«      }|j                  dd¬«      j	                  «       }|j                  «        |j                  dd¬«      j	                  «       }||k(  sJ ‚y )NrZ   rh   T)r<   Údeep)r   rP   rž   Úmemory_usageÚsumra   )rD   rW   Úsize_beforeÚ
size_afters       r    Ú"test_data_frame_size_after_to_jsonz6TestPandasContainer.test_data_frame_size_after_to_json4  sg   € ä�\‰\˜3¤ Q£ ˜/Ó*ˆà—o‘o¨D°t�oÓ<×@Ñ@ÓBˆØ
�
‰
ŒØ—_‘_¨4°d�_Ó;×?Ñ?ÓAˆ
à˜jÒ(Ð(Ñ(r1   rË   rÌ   rî   rï   ú1.ú2.c                 óÐ   — t        j                  ddgddgg||¬«      }|j                  d¬«      }t        j                  t	        |«      d¬«      }t        j                  ||«       y )Nrh   rH   rv   rJ   r^   Útabler_   ©r   rP   ra   r   r   r+   r,   )rD   r<   r*   r.   Údfjsonr-   s         r    Ú.test_from_json_to_json_table_index_and_columnszBTestPandasContainer.test_from_json_to_json_table_index_and_columns>  s[   € ô —<‘< ! Q ¨!¨Q¨Ð 0¸ÀwÔOˆØ×!Ñ!¨Ð!Ó1ˆä—‘œh vÓ.°wÔ?ˆÜ
×Ñ˜f hÕ/r1   c                 óÒ   — t        j                  ddgddgddgdœ«      }|j                  d¬	«      }t        j                  t	        |«      d¬	«      }t        j                  ||«       y )
Nrh   rH   rÍ   rÎ   rñ   rò   rù  ró  r_   rô  )rD   r.   rõ  r-   s       r    Ú#test_from_json_to_json_table_dtypesz7TestPandasContainer.test_from_json_to_json_table_dtypesJ  s[   € ä—<‘< q¨! f°C¸°:ÀSÈ#ÀJÑ OÓPˆØ×!Ñ!¨Ð!Ó1ˆÜ—‘œh vÓ.°wÔ?ˆÜ
×Ñ˜f hÕ/r1   )rf   r#   r<   r*   c                 ó¦  — t         j                  j                  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¬«      t        j                  g d¢d¬«      dœ«      }d}t	        j
                  t        |¬«      5  |j                  |¬«      }d d d «       |rt        j                  |j                  d<   t        j                  t        «      |dddd	dddœ¬«      }t	        j                  ||«       y # 1 sw Y   ŒgxY w)Nr	  r…   r6   )NrÌ   rÍ   rA   )NÚ r\   r¼   ©TFTÚbool©rZ   r[   Nr  )r8   Nz
2020-01-03r{   )ÚIntegerÚFloatÚObjectÚBoolÚCategoryÚDatetimerz   r   r_   )r   r   r±  ©r/   r7   )r   rP   Ú	from_dictr>   r+   r€   r   ra   r?   ró   rü   r   r   r,   )rD   r/   r¶   r.   rq   rõ  r-   s          r    Ú%test_to_json_from_json_columns_dtypesz9TestPandasContainer.test_to_json_from_json_columns_dtypesQ  s  € ô —<‘<×)Ñ)äŸ9™9¢Y°gÔ>ÜŸ™Ò#3¸9ÔEÜŸ)™)¢O¸8ÔDÜŸ	™	Ò"5¸VÔDÜŸI™IÒ&6¸jÔIÜŸI™IÚ6Ð>Nôñ	ó
ˆð PˆÜ×'Ñ'¬¸cÔBñ 	5Ø×%Ñ%¨VÐ%Ó4ˆF÷	5ñ ô )+¯©ˆH�L‰L˜Ñ%ä—‘Ü�VÓØà"Ø"Ø"ØØ&Ø,ñô
ˆô 	×Ñ˜f hÕ/÷)	5ð 	5ús   ÃEÅEc                 óÂ   — t        j                  ddgddgdœ¬«      }t        j                  t        d¬«      5  |j                  d¬	«       d d d «       y # 1 sw Y   y xY w)
Nrh   rH   rv   )r<   rZ   ©rd   z/Overlapping names between the index and columnsr   ró  r_   rn   rV   s     r    Ú(test_to_json_with_index_as_a_column_namez<TestPandasContainer.test_to_json_with_index_as_a_column_namew  sT   € Ü�\‰\¨!¨Q¨°q¸!°fÑ=Ô>ˆÜ�]‰]ÜÐOô
ñ 	'ð �J‰J˜gˆJÔ&÷	'÷ 	'ñ 	'ús   ¹AÁA)r[   r\   c                 óú   — t        j                  ddgddgddgdœ«      }|j                  d¬	«      }d
}t        j                  t
        |¬«      5  t        j                  |d|¬«       d d d «       y # 1 sw Y   y xY w)Nrh   rH   rÍ   rÎ   rñ   rò   rù  ró  r_   z)cannot pass both dtype and orient='table'r   r  ©r   rP   ra   r   r   ro   r   )rD   r7   rW   rõ  rq   s        r    Ú!test_read_json_table_dtype_raisesz5TestPandasContainer.test_read_json_table_dtype_raises~  sm   € ô �\‰\  A ¨c°3¨Z¸sÀC¸jÑIÓJˆØ—‘ 7�Ó+ˆØ9ˆÜ�]‰]œ:¨SÔ1ñ 	>Ü�L‰L˜¨°uÕ=÷	>÷ 	>ñ 	>ús   ÁA1Á1A:)r<   r*   r#   r$   c                 ó  — t        j                  «       }t        j                  t        d«      |d¬«      }t	        j
                  |j                  |j                  «       t	        j
                  |j                  |j                  «       y )Nz{}Tr®   )r   rP   r   r   r+   Úassert_index_equalr<   r*   )rD   r/   r.   r-   s       r    Ú%test_read_json_table_empty_axes_dtypez9TestPandasContainer.test_read_json_table_empty_axes_dtype‡  sW   € ô —<‘<“>ˆÜ—‘œh t›n°VÈ$ÔOˆÜ
×Ñ˜fŸl™l¨H¯N©NÔ;Ü
×Ñ˜fŸn™n¨h×.>Ñ.>Õ?r1   c                 ó   — t        j                  ddgddggddgddg¬	«      }|j                  d
¬«      }d}t        j                  t
        |¬«      5  t        j                  |d
d¬«       d d d «       y # 1 sw Y   y xY w)Nrh   rH   rv   rJ   rË   rÌ   rð  rñ  r^   ró  r_   z0cannot pass both convert_axes and orient='table'r   Tr®   r  )rD   rW   rõ  rq   s       r    Ú(test_read_json_table_convert_axes_raisesz<TestPandasContainer.test_read_json_table_convert_axes_raises�  su   € ä�\‰\˜A˜q˜6 A q 6Ð*°3¸°*ÀtÈTÀlÔSˆØ—‘ 7�Ó+ˆØ@ˆÜ�]‰]œ:¨SÔ1ñ 	DÜ�L‰L˜¨¸dÕC÷	D÷ 	Dñ 	Dús   ÁA4Á4A=zdata, expectedrJ   r¥   )r*   rd   r¨   rO   r¬   )r=   rd   )r=   r<   c                 ób   — |j                  dd¬«      }t        j                  |«      }||k(  sJ ‚y )Nrf   F©r/   r<   )ra   r‡   r	  ©rD   rd   r.   r-   s       r    Útest_index_false_to_json_splitz2TestPandasContainer.test_index_false_to_json_split˜  s3   € ð@ —‘ W°E�Ó:ˆÜ—‘˜FÓ#ˆà˜Ò!Ð!Ñ!r1   c                 ó  — |j                  dd¬«      }t        j                  |«      }t        j                  j                  j                  |d¬«      t        j                  |«      j                  d¬«      dœ}||k(  sJ ‚y )Nró  Fr  r­   r#   r_   )Úschemard   )ra   r‡   r	  r   r5  Úbuild_table_schemarP   Úto_dict©rD   rd   r-   r.   s       r    Útest_index_false_to_json_tablez2TestPandasContainer.test_index_false_to_json_table½  sr   € ð& —‘ W°E�Ó:ˆÜ—‘˜FÓ#ˆô —e‘e—j‘j×3Ñ3°DÀÐ3ÓFÜ—L‘L Ó&×.Ñ.°iÐ.Ó@ñ
ˆð
 ˜Ò!Ð!Ñ!r1   c                 óÌ   — t        j                  ddgddggddg¬«      }d}t        j                  t        |¬	«      5  |j                  |d
¬«       d d d «       y # 1 sw Y   y xY w)Nrh   rH   rJ   r¥   rZ   r[   rã   zU'index=False' is only valid when 'orient' is 'split', 'table', 'records', or 'values'r   Fr  rn   rp   s       r    Útest_index_false_error_to_jsonz2TestPandasContainer.test_index_false_error_to_jsonÚ  sd   € ô
 �\‰\˜A˜q˜6 A q 6Ð*°S¸#°JÔ?ˆð.ð 	ô �]‰]œ:¨SÔ1ñ 	3Ø�J‰J˜f¨EˆJÔ2÷	3÷ 	3ñ 	3úó   ½AÁA#r#   c                 óÌ   — t        j                  ddgddggddg¬«      }d}t        j                  t        |¬	«      5  |j                  |d
¬«       d d d «       y # 1 sw Y   y xY w)Nrh   rH   rJ   r¥   rZ   r[   rã   zS'index=True' is only valid when 'orient' is 'split', 'table', 'index', or 'columns'r   Tr  rn   rp   s       r    Útest_index_true_error_to_jsonz1TestPandasContainer.test_index_true_error_to_jsonè  sd   € ô
 �\‰\˜A˜q˜6 A q 6Ð*°S¸#°JÔ?ˆð-ð 	ô �]‰]œ:¨SÔ1ñ 	2Ø�J‰J˜f¨DˆJÔ1÷	2÷ 	2ñ 	2úr  ró  c                 óÎ   — t        j                  ddgddgdœ«      }|j                  ||¬«      }t        j                  t	        |«      |¬«      }t        j                  ||«       y )Nrh   rH   rv   rJ   r»  r  r_   rô  )rD   r/   r<   r.   rõ  r-   s         r    Ú"test_index_false_from_json_to_jsonz6TestPandasContainer.test_index_false_from_json_to_jsonö  sY   € ô
 —<‘< q¨! f°A°q°6Ñ :Ó;ˆØ×!Ñ!¨°uÐ!Ó=ˆÜ—‘œh vÓ.°vÔ>ˆÜ
×Ñ˜f hÕ/r1   c                 óÒ   — t        j                  t        d«      dd¬«      }t        j                  dgd¬«      }t        j                  dg|¬	«      }t        j                  ||«       y )
Nz{"2019-01-01T11:00:00.000Z":88}rŠ  r<   r•  z2019-01-01 11:00:00zM8[us, UTC]r6   éX   r­   )r   r   r   r  r>   r+   rŒ  )rD   r-   Úexp_dtir.   s       r    Útest_read_timezone_informationz2TestPandasContainer.test_read_timezone_information   sW   € ä—‘ÜÐ6Ó7¸XÈgô
ˆô ×"Ñ"Ð$9Ð#:À-ÔPˆÜ—9‘9˜b˜T¨Ô1ˆÜ
×Ñ˜v xÕ0r1   r7  )zs3://example-fsspec/zgcs://another-fsspec/file.jsonz,filecache::s3://yet-another-fsspec/file.jsonzhttps://example-site.com/datazsome-protocol://data.txtc                 ó¤   — t        j                  t        d|› d�«      «      }t        j                  d|gi«      }t	        j
                  ||«       y )Nz{"url":{"0":"r|  r7  r·  )rD   r7  r-   r.   s       r    Útest_read_json_with_url_valuez1TestPandasContainer.test_read_json_with_url_value	  sD   € ô —‘œh¨¸¸¸UÐ'CÓDÓEˆÜ—<‘< ¨¨ Ó/ˆÜ
×Ñ˜f hÕ/r1   Úcompression)rú  z.gzz.bz2z.tarc                 ó8  — d› d|› �}t        j                  t        t        j                  |«      ¬«      5 }t        j                  |«       d d d «       t        «       s1t        s*j                  j                  t        j                  k(  sJ ‚y y y # 1 sw Y   ŒExY w)NÁè  aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaú.jsonr   )r   r   r   rl  Úescaper   r   r   r
   r   r   ÚENAMETOOLONG)rD   r)  Úlong_json_pathr   s       r    Ú'test_read_json_with_very_long_file_pathz;TestPandasContainer.test_read_json_with_very_long_file_path  s~   € ð '˜< u¨[¨MÐ:ˆä�]‰]œ7¬"¯)©)°NÓ*CÔDð 	)ÈÜ�L‰L˜Ô(÷	)ô
 $Ô%­Ø—=‘=×&Ñ&¬%×*<Ñ*<Ò<Ð<Ñ<ð *.Ð%÷	)ð 	)ús   ¶BÂBzdate_format,key)rÌ  i \&)rÍ  z1970-01-02T00:00:00.000c                 ó\  — t        j                  dggt        j                  d«      t        j                  d«      z   j	                  |«      g¬«      }d|› d�}d }|dk(  rt
        }d}t        j                  ||¬	«      5  |j                  |¬
«      }d d d «       |k(  sJ ‚y # 1 sw Y   ŒxY w)Nrh   r   Ú1Drã   r†  ú
":{"0":1}}rÌ  rÕ  r   rÖ  )	r   rP   r:  rR  rƒ   r   r+   r€   ra   ©	rD   rË  r  r2  rW   r.   r†   rq   r-   s	            r    Útest_datetime_as_labelz*TestPandasContainer.test_datetime_as_label)  sµ   € ô �\‰\ØˆSˆEœRŸ\™\¨!›_¬r¯|©|¸DÓ/AÑA×JÑJÈ4ÓPÐQô
ˆð ˜˜˜]Ð+ˆàÐØ˜'Ò!Ü-Ðð=ð 	ô ×'Ñ'Ð(8ÀÔDñ 	9Ø—Z‘Z¨K�ZÓ8ˆF÷	9ð ˜Ò!Ð!Ñ!÷	9ð 	9ús   Á?B"Â"B+)rÍ  Ú
P1DT0H0M0Sc                 ó0  — t        j                  dggt        j                  d«      j                  |«      g¬«      }d|› d�}d }|dk(  rt        }d}t        j                  ||¬«      5  |j                  |¬	«      }d d d «       |k(  sJ ‚y # 1 sw Y   ŒxY w)
Nrh   r2  rã   r†  r3  rÌ  rÕ  r   rÖ  )r   rP   rR  rƒ   r   r+   r€   ra   r4  s	            r    Útest_timedelta_as_labelz+TestPandasContainer.test_timedelta_as_label?  s£   € ô �\‰\˜A˜3˜%¬"¯,©,°tÓ*<×*DÑ*DÀTÓ*JÐ)KÔLˆØ˜˜˜]Ð+ˆàÐØ˜'Ò!Ü-Ðð=ð 	ô ×'Ñ'Ð(8ÀÔDñ 	9Ø—Z‘Z¨K�ZÓ8ˆF÷	9ð ˜Ò!Ð!Ñ!÷	9ð 	9ús   Á)BÂBzorient,expected)r<   z{"('a', 'b')":{"('c', 'd')":1}})r*   z{"('c', 'd')":{"('a', 'b')":1}}rú  z,Produces JSON but not in a consistent mannerc                 ón   — t        j                  dggdgdg¬«      }|j                  |¬«      }||k(  sJ ‚y )Nrh   r»  )r\   r]   r^   r_   r  ©rD   r/   r.   rW   r-   s        r    Útest_tuple_labelsz%TestPandasContainer.test_tuple_labelsS  s<   € ô0 �\‰\˜A˜3˜%¨
 |¸j¸\ÔJˆØ—‘ 6�Ó*ˆØ˜Ò!Ð!Ñ!r1   Úindent)rh   rH   rJ   c                 óÄ   — t        j                  ddgddggddg¬«      }|j                  |¬«      }d	|z  }d
|› d|› |› d|› |› d|› d|› d|› |› d|› |› d|› d�}||k(  sJ ‚y )Nr¨   r¦   r§   r   rZ   r[   rã   ©r<  ú z{
z"a":{
z"0":"foo",
z
"1":"baz"
z},
z"b":{
z"0":"bar",
z
"1":"qux"
z}
}r  )rD   r<  rW   r-   Úspacesr.   s         r    Útest_to_json_indentz'TestPandasContainer.test_to_json_indento  sº   € ô �\‰\˜E 5˜>¨E°5¨>Ð:ÀSÈ#ÀJÔOˆà—‘ 6�Ó*ˆØ�v‘ˆðØ€ð 	Ø€ˆˆð Ø€ˆˆð Ø€ð 	Ø€ð 	Ø€ˆˆð Ø€ˆˆð Ø€ð 	ð	ˆð ˜Ò!Ð!Ñ!r1   z]Adjust expected when infer_string is default, no bug here, just a complicated parametrization))rf   zã{
    "columns":[
        "a",
        "b"
    ],
    "index":[
        0,
        1
    ],
    "data":[
        [
            "foo",
            "bar"
        ],
        [
            "baz",
            "qux"
        ]
    ]
})r#   zf[
    {
        "a":"foo",
        "b":"bar"
    },
    {
        "a":"baz",
        "b":"qux"
    }
])r<   zn{
    "0":{
        "a":"foo",
        "b":"bar"
    },
    "1":{
        "a":"baz",
        "b":"qux"
    }
})r*   zn{
    "a":{
        "0":"foo",
        "1":"baz"
    },
    "b":{
        "0":"bar",
        "1":"qux"
    }
})r$   zV[
    [
        "foo",
        "bar"
    ],
    [
        "baz",
        "qux"
    ]
])ró  aa  {
    "schema":{
        "fields":[
            {
                "name":"index",
                "type":"integer"
            },
            {
                "name":"a",
                "type":"string"
            },
            {
                "name":"b",
                "type":"string"
            }
        ],
        "primaryKey":[
            "index"
        ],
        "pandas_version":"1.4.0"
    },
    "data":[
        {
            "index":0,
            "a":"foo",
            "b":"bar"
        },
        {
            "index":1,
            "a":"baz",
            "b":"qux"
        }
    ]
}c                 óv   — t        j                  ddgddggddg¬«      }|j                  |d¬	«      }||k(  sJ ‚y )
Nr¨   r¦   r§   r   rZ   r[   rã   rJ   )r/   r<  r  r:  s        r    Útest_json_indent_all_orientsz0TestPandasContainer.test_json_indent_all_orientsƒ  sF   € ôx �\‰\˜E 5˜>¨E°5¨>Ð:ÀSÈ#ÀJÔOˆØ—‘ 6°!�Ó4ˆØ˜Ò!Ð!Ñ!r1   c                 ó¬   — t        j                  t        d¬«      5  t        j                  «       j                  d¬«       d d d «       y # 1 sw Y   y xY w)Nzmust be a nonnegative integerr   éÿÿÿÿr>  )r   r   ro   r   rP   ra   rt  s    r    Ú test_json_negative_indent_raisesz4TestPandasContainer.test_json_negative_indent_raises	  s=   € Ü�]‰]œ:Ð-LÔMñ 	.Ü�L‰L‹N×"Ñ"¨"Ð"Ô-÷	.÷ 	.ñ 	.ús   œ%A
Á
Ac           	      óâ   — t        d«      }t        j                  |«      }t        j                  dd dt        j
                  dt        j
                   dg«      }t        j                  ||«       y )Nz?["a", NaN, "NaN", Infinity, "Infinity", -Infinity, "-Infinity"]rZ   ÚNaNÚInfinityz	-Infinity)r   r   r   rP   r?   rú   r+   r,   r  s       r    Útest_emca_262_nan_inf_supportz1TestPandasContainer.test_emca_262_nan_inf_support	  s[   € äØMó
ˆô —‘˜dÓ#ˆÜ—<‘<Ø�$˜œrŸv™v z´B·F±F°7¸KÐHó
ˆô 	×Ñ˜f hÕ/r1   c                 óÔ   — t        j                  ddiddig«      }t        j                  dddgi«      }t        j                  t        |«      «      }t        j                  ||«       y )NÚcolÚ31900441201190696999ÚText)r‡   Údumpsr   rP   r   r   r+   r,   )rD   Úencoded_jsonr.   r-   s       r    Útest_frame_int_overflowz+TestPandasContainer.test_frame_int_overflow	  s[   € ä—z‘z EÐ+AÐ#BÀUÈFÀOÐ"TÓUˆÜ—<‘< Ð)?ÀÐ(HÐ IÓJˆÜ—‘œh |Ó4Ó5ˆÜ
×Ñ˜f hÕ/r1   c                 ó’   — t        j                  g d¢g d¢dœ«      }d}|j                  «       }|j                  d¬«      }||k(  sJ ‚y )Nr	  rù  ©ri   rj   zU{"(0, 'x')":1,"(0, 'y')":"a","(1, 'x')":2,"(1, 'y')":"b","(2, 'x')":3,"(2, 'y')":"c"}r<   r_   )r   rP   Ústackra   )rD   Ú	dataframer.   rŠ  r-   s        r    Útest_json_multiindexz(TestPandasContainer.test_json_multiindex	  sL   € Ü—L‘L¢y²Ñ!GÓHˆ	ð@ð 	ð —‘Ó"ˆØ—‘ w�Ó/ˆØ˜Ò!Ð!Ñ!r1   c                 ó  — |j                   }t        j                  «       › d�}t        j                  g d¢g d¢dœ«      }d|› d|› �}|j                  ||¬«       t        j                  ||¬«      }t        j                  ||«       y )Nr,  r	  )rH   rJ   rì   rS  zs3://ú/)r¼  )	r=   ÚuuidÚuuid4r   rP   ra   r   r+   r,   )rD   Ús3_bucket_publicr¾  Úmock_bucket_nameÚtarget_filerW   Úurir-   s           r    Ú
test_to_s3zTestPandasContainer.test_to_s3#	  sy   € ð ,×0Ñ0ÐÜŸ™›˜ eÐ,ˆÜ�\‰\¢	²	Ñ:Ó;ˆØÐ&Ð' q¨¨Ð6ˆØ
�
‰
�3¨ˆ
Ô-Ü—‘˜c°4Ô8ˆÜ
×Ñ˜f bÕ)r1   c                 óì   — d }d}|t         j                  u rt        }t        j                  ||¬«      5  t        j
                  |gg«      j                  «       }d d d «       dk(  sJ ‚y # 1 sw Y   ŒxY w)Nrz   r   z{"0":{"0":null}})r   r<  r   r+   r€   rP   ra   )rD   Únulls_fixturer†   rq   r-   s        r    Útest_json_pandas_nullsz*TestPandasContainer.test_json_pandas_nulls/	  sp   € àÐØOˆØœBŸF™FÑ"Ü-Ðä×'Ñ'Ð(8ÀÔDñ 	?Ü—\‘\ M ?Ð"3Ó4×<Ñ<Ó>ˆF÷	?àÐ+Ò+Ð+Ñ+÷	?ð 	?ús   ´&A*Á*A3c                 óž   — t        j                  t        d«      d¬«      }t        j                  g d¢«      }t	        j
                  ||«       y )Nz[true, true, false]rŠ  r¸  )TTF)r   r   r   r>   r+   rŒ  r‡  s      r    Útest_readjson_bool_seriesz-TestPandasContainer.test_readjson_bool_series:	  s7   € ä—‘œhÐ'<Ó=À8ÔLˆÜ—9‘9Ò0Ó1ˆÜ
×Ñ˜v xÕ0r1   c                 ó®   — t        j                  dt        j                  dd«      ddg¬«      j                  «       }|j	                  «       }d}||k(  sJ ‚y )NTz
2017-01-20z
2017-01-23r¨   r¦   r^   a‰  {"(Timestamp('2017-01-20 00:00:00'), 'foo')":true,"(Timestamp('2017-01-20 00:00:00'), 'bar')":true,"(Timestamp('2017-01-21 00:00:00'), 'foo')":true,"(Timestamp('2017-01-21 00:00:00'), 'bar')":true,"(Timestamp('2017-01-22 00:00:00'), 'foo')":true,"(Timestamp('2017-01-22 00:00:00'), 'bar')":true,"(Timestamp('2017-01-23 00:00:00'), 'foo')":true,"(Timestamp('2017-01-23 00:00:00'), 'bar')":true})r   rP   rB   rT  ra   r  s       r    Útest_to_json_multiindex_escapez2TestPandasContainer.test_to_json_multiindex_escape@	  s\   € ä�\‰\ØÜ—-‘- ¨lÓ;Ø˜E�Nô
÷ ‰%‹'ð	 	ð
 —‘“ˆðBð 	ð ˜Ò!Ð!Ñ!r1   c                 ó´   —  G d„ d«      }t        j                   |dddd¬«      g«      }t        j                  |j	                  «       «      ddddd	œik(  sJ ‚y )
Nc                   ó   — e Zd Zdd„Zd„ Zy)úGTestPandasContainer.test_to_json_series_of_objects.<locals>._TestObjectNc                 ó<   — || _         || _        || _        || _        y rm  ©rZ   r[   Ú_cr]   )rD   rZ   r[   rl  r]   s        r    rr  zPTestPandasContainer.test_to_json_series_of_objects.<locals>._TestObject.__init__V	  s   € Ø�”Ø�”Ø�”Ø�•r1   c                  ó   — y)Nr¥   rÚ   rt  s    r    rÉ   zITestPandasContainer.test_to_json_series_of_objects.<locals>._TestObject.e\	  s   € Ør1   rv  )rw  rx  ry  rr  rÉ   rÚ   r1   r    Ú_TestObjectri  U	  s   „ óór1   rn  rh   rH   rv   rJ   rk  Ú0)rZ   r[   r]   )r   r>   r‡   r	  ra   )rD   rn  rŠ  s      r    Útest_to_json_series_of_objectsz2TestPandasContainer.test_to_json_series_of_objectsT	  sT   € ÷	ñ 	ô —‘™K¨!¨q°Q¸!Ô<Ð=Ó>ˆÜ�z‰z˜&Ÿ.™.Ó*Ó+°¸1À1È1Ñ5MÐ/NÒNÐNÑNr1   zdata,expectedy      À       @y              ð?y      "@      À)r   rh   rH   zW{"0":{"imag":8.0,"real":-6.0},"1":{"imag":1.0,"real":0.0},"2":{"imag":-5.0,"real":9.0}}yHáz®Ç"À…ëQ¸å?yš™™™™™@¤p=
×£"@y…ëQ¸@Ãõ(\�ÂÅ¿z]{"0":{"imag":0.66,"real":-9.39},"1":{"imag":9.32,"real":3.95},"2":{"imag":-0.17,"real":4.03}}y       À      @y      ð¿        y      @      Ày              $Àz‚{"0":{"0":{"imag":3.0,"real":-2.0},"1":{"imag":-3.0,"real":4.0}},"1":{"0":{"imag":0.0,"real":-1.0},"1":{"imag":-10.0,"real":0.0}}}yìQ¸…ëÑ¿Ãõ(\�ÂÕ?yHáz®Gñ¿ö(\�ÂõØ¿y=
×£p=Ú?Ãõ(\�ÂÕ¿yö(\�Âõè¿š™™™™™õ¿z‹{"0":{"0":{"imag":0.34,"real":-0.28},"1":{"imag":-0.34,"real":0.41}},"1":{"0":{"imag":-0.39,"real":-1.08},"1":{"imag":-1.35,"real":-0.78}}}c                 ó2   — |j                  «       }||k(  sJ ‚y rm  rŽ   r  s       r    Útest_complex_data_tojsonz,TestPandasContainer.test_complex_data_tojsonc	  s   € ðF —‘“ˆØ˜Ò!Ð!Ñ!r1   c                 ón   — d}t        j                  dddgi¬«      }|j                  d¬«      }||k(  sJ ‚y )NzY{"columns":["col1"],"index":[0,1],"data":[[13342205958987758245],[12388075603347835679]]}Úcol1l   ¥:!c„&HI l   v8�$Z_
 r  rf   r_   r  )rD   r.   rW   r-   s       r    Útest_json_uint64z$TestPandasContainer.test_json_uint64‰	  sG   € ðFð 	ô �\‰\ Ð)=Ð?SÐ(TÐUÔVˆØ—‘ 7�Ó+ˆØ˜Ò!Ð!Ñ!r1   c                 óô  — t        j                  t        j                  dt         j                  dgd¬«      t        j                  g d¢d¬«      t        j                  dt         j                  dgd¬«      t        j                  g d	¢d¬«      g d
¢g d¢g d¢g d¢dœ«      }|j	                  |¬«      }t        j
                  d|«      5  t        j                  t        |«      ||¬«      }d d d «       |dk(  r9t        j                  d«      }t        j                  |j                  «       «      }	nt        j                  |«      }	t        j                  t        j                  dt         j                  dgd¬«      t        j                  g d¢d¬«      t        j                  dt         j                  dgd¬«      t        j                  g d	¢d¬«      t        j                  ddt         j                  gd¬«      t        j                  g d¢d¬«      t        j                  g d¢|	¬«      t        j                  g d¢|	¬«      dœ«      }
|dk(  rct        j                  d«      }ddlm} t        j                  |
j                  D �ci c]  }| ||j!                  |
|   d¬«      «      “Œ! c}«      }
|dk(  rt#        t%        d«      «      |
_        t'        j(                  |
d¬«       y # 1 sw Y   �ŒÿxY wc c}w )Nrh   rv   ÚInt64r6   r	  rt   ru   ÚFloat64)rt   rÌ   ru   )TFNrû  rù  rý  )rZ   r[   r\   r]   rÉ   r£  ÚgÚhr_   úmode.string_storage)rÀ   r/   rÁ   TFÚbooleanr   ©ÚArrowExtensionArray©Úfrom_pandasr$   r‘  r8  )r   rP   r>   ÚNAra   Úoption_contextr   r   r   ÚimportorskipÚ
ArrowDtypeÚstringÚStringDtypeÚpandas.arraysr~  r*   r´  rU   r(   r+   r,   )rD   Ústring_storagerÀ   r/   r¶   rW   Úoutr-   ÚpaÚstring_dtyper.   r~  rL  s                r    Útest_read_json_dtype_backendz0TestPandasContainer.test_read_json_dtype_backend“	  s;  € ô �\‰\ä—Y‘Y ¤2§5¡5¨!˜}°GÔ<Ü—Y‘Yšy°Ô8Ü—Y‘Y ¤R§U¡U¨CÐ0¸	ÔBÜ—Y‘Yš°iÔ@Ú(Ú(Ú$Ú%ñ	ó
ˆð �j‰j ˆjÓ'ˆÜ×ÑÐ4°nÓEñ 	Ü—\‘\Ü˜“¨]À6ôˆF÷	ð
 ˜IÒ%Ü×$Ñ$ YÓ/ˆBÜŸ=™=¨¯©«Ó5‰LäŸ>™>¨.Ó9ˆLä—<‘<ä—Y‘Y ¤2§5¡5¨!˜}°GÔ<Ü—Y‘Yšy°Ô8Ü—Y‘Y ¤R§U¡U¨CÐ0¸	ÔBÜ—Y‘Yš°iÔ@Ü—Y‘Y  e¬R¯U©UÐ3¸9ÔEÜ—Y‘YÒ2¸)ÔDÜ—Y‘Yš°lÔCÜ—Y‘YÒ/°|ÔDñ	ó
ˆð ˜IÒ%Ü×$Ñ$ YÓ/ˆBÝ9ä—|‘|ð  (×/Ñ/öàð Ñ,¨R¯X©X°h¸s±mÐQU¨XÓ-VÓWÑWòóˆHð �XÒÜ#¤E¨!£H›~ˆHÔô 	×Ñ˜f hÀ%ÖH÷Q	ñ 	üò:s   Ã	"K(Ê$K5Ë(K2c                 óF  — dddœ}d}t        j                  t        |«      |ddd¬«      }|j                  }t        j                  t         j
                  j                  d«      t         j
                  j                  d«      gdd	g¬
«      }t        j                  ||«       y )Nzint32[pyarrow]úint64[pyarrow]r»  s   {"a": 1, "b": 2}
TrÁ   )r7   r   ÚenginerÀ   rZ   r[   rØ   )	r   r   r   r  r>   r„  Úconstruct_from_stringr+   rŒ  )rD   r7   r‡   rW   r-   r.   s         r    Ú!test_read_json_pyarrow_with_dtypez5TestPandasContainer.test_read_json_pyarrow_with_dtypeÏ	  s’   € à&Ð-=Ñ>ˆØ$ˆä�\‰\Ü�D‹MØØØØ#ô
ˆð —‘ˆÜ—9‘9ä—‘×3Ñ3Ð4DÓEÜ—‘×3Ñ3Ð4DÓEðð ˜�*ô
ˆô 	×Ñ˜v xÕ0r1   )rf   r#   r<   c                 ó&  — t        j                  d«      }t        j                  dt        j                  dgd¬«      }|j                  |¬«      }t        j                  d|«      5  t        j                  t        |«      ||d¬	«      }d d d «       t        j                  dt        j                  dgd¬«      }|dk(  r2d
dl	m
}	 t        j                   |	|j                  |d¬«      «      «      }t        j                  |«       y # 1 sw Y   ŒxY w)NrÁ   rh   rv   rw  r6   r_   r{  rŠ  )rÀ   r/   r‹  r   r}  Tr  )r   rƒ  r   r>   r�  ra   r‚  r   r   r‡  r~  r´  r+   rŒ  )
rD   rˆ  rÀ   r/   rŠ  rE   r‰  r-   r.   r~  s
             r    Útest_read_json_nullable_seriesz2TestPandasContainer.test_read_json_nullable_seriesæ	  sÛ   € ô × Ñ  Ó+ˆÜ�i‰i˜œBŸE™E 1˜¨WÔ5ˆà�k‰k ˆkÓ(ˆÜ×ÑÐ4°nÓEñ 	Ü—\‘\Ü˜“¨]À6ÈxôˆF÷	ô
 —9‘9˜a¤§¡¨˜]°'Ô:ˆà˜IÒ%Ý9ä—y‘yÙ# B§H¡H¨XÀ4 HÓ$HÓIóˆHô 	×Ñ˜v xÕ0÷	ð 	ús   Á&#DÄDc                 ó–   — d}t        j                  t        |¬«      5  t        j                  dd¬«       d d d «       y # 1 sw Y   y xY w)NzPdtype_backend numpy is invalid, only 'numpy_nullable' and 'pyarrow' are allowed.r   r  ÚnumpyrÄ   )r   r   ro   r   r   )rD   rq   s     r    Útest_invalid_dtype_backendz.TestPandasContainer.test_invalid_dtype_backendý	  s?   € ð%ð 	ô �]‰]œ:¨SÔ1ñ 	8Ü�L‰L˜¨wÕ7÷	8÷ 	8ñ 	8ús	   ž?¿A)²rw  rx  ry  r   ÚfixturerF   rX   re   r°   Úparametrizerk   rr   r   r:  rŠ   rŒ   r�   r»   r–   r?   r…   r™   rA   r
  r    r¹   r¿   ÚparamrT  Ú
skip_if_norÇ   rÝ   r±   ÚAssertionErrorræ   r?  ré   r÷   rù   rú   rý   Úskipifr	   r  r  r  r  r  r.  rH  rg  r„  rˆ  r�  r“  r—  rš  rž  r   r¤  r¦  r¬  r¯  r>   r²  r¶  r¹  r½  rÂ  rÅ  rÊ  rÞ  r3  rÛ  rä  rè  rí  rð  rò  rô  rø  rP   r@   Úto_timedeltar   Úto_datetimerü  r  r  r  ÚTimedeltaIndexr  r  r"  r$  r&  r-  r3  ÚnetworkÚ
single_cpur;  rF  rK  rP  rU  rR  r   rX  r\  rd  rg  rx  rz  r€  rƒ  r�  r•  rœ  rž  rB   r¦  r©  r­  r²  rµ  r¸  r¿  rÄ  rÌ  rÏ  ÚsysÚmaxsizerÕ  r×  rÙ  rÜ  r~  ró   r¼   rè  rï  rö  rø  r  r	  r  r  r  Úrename_axisr  r  r  r   r"  r&  r(  r0  r5  r8  r;  rA  r   rC  rF  rJ  rQ  rV  r_  rb  rd  rf  rp  rr  ru  rŒ  r‘  r“  r–  rÚ   r1   r    r3   r3   D   sÂ  „ Ø‡^�^ñ	ó ð	ð ‡^�^ñ	ó ð	ò
>ð ‡[�[×Ñ˜XÒ'EÓFñ>ó Gð>ð ‡[�[×Ñ˜X¨°Ð';Ó<ñ&ó =ð&ð ‡[�[×Ñ˜X¨°Ð':Ó;Ø‡[�[×ÑØà�3ˆZ˜#˜s˜Ð$Ø�3ˆZ˜#˜s˜Ð$Ø�ˆX˜˜3�xÐ Øˆb�l‰l˜:Ó&¨Ð,¨|¨r¯|©|¸JÓ/GÈÐ.MÐNð		
óñ0óó <ð0ð6 ‡[�[×Ñ˜XÒ'FÓGñ&ó Hð&òNð ‡[�[×Ñ˜W u¨e nÓ5Ø‡[�[×Ñ˜^¨d°E¨]Ó;ñ>ó <ó 6ð>ð ‡[�[×Ñ˜W u¨b¯h©hÐ&7Ó8Ø‡[�[×Ñ˜^¨d°E¨]Ó;ñ>ó <ó 9ð>ð ‡[�[×Ñ˜W t¨R¯Z©Z¸¸dÐ&CÓDØ‡[�[×Ñ˜^¨d°E¨]Ó;ñ>ó <ó Eð>ð@ ‡[�[×Ñ˜^¨d°E¨]Ó;ñ>ó <ð>ð: ‡[�[×Ñ˜^¨d°E¨]Ó;ñ0ó <ð0ð ‡[�[×ÑØ˜$  §¡¨Y¸m¸b¿m¹mÈIÓ>VÔ WÐXóð ‡[�[×Ñ˜^¨d°E¨]Ó;ñ>ó <óð>ð. ‡[�[×Ñ˜^¨d°E¨]Ó;ñ>ó <ð>ð& ‡[�[×ÑØJØð ó ð ‡[�[×ÑØà�fÐ  u˜~Ð.Ø�fÐ  u˜~Ð.Ø�fÐ  u˜~Ð.ð	
óñ*óó	ð*ð ‡[�[×ÑØàDð;ð —‘àVðóð
 ð
ððð/	
ó!ñD8óE!ðD8ð ‡[�[×Ñ˜W t¨U mÓ4Ø‡[�[×Ñ˜^¨d°E¨]Ó;ñ+ó <ó 5ð+ð( ‡[�[×Ñ˜W t¨U mÓ4ñ0ó 5ð0ð ‡[�[×Ñ˜U R§V¡V¨b¯f©f¨WÐ$5Ó6Ø‡[�[×Ñ˜W t¨U mÓ4ñ+ó 5ó 7ð+ð ‡[�[×Ñ˜D˜Ð)OÐÓPØ‡[�[×ÑØ&ò	
ó
ñBó
ó QðBò
)òBò"ò

ò+ò<Qò>X
òt$
òL"ò7ò$Pò1ð ‡[�[×Ñ˜W u¨d mÓ4ñ1ó 5ð1ò	1ð ‡[�[×ÑØ˜$  §¡¨Y¸m¸b¿m¹mÈIÓ>VÔ WÐXóñ1óð1ð& ‡[�[×Ñ˜W r§z¡z°3Ð&7Ó8ñ	1ó 9ð	1ò(òBò
1ð ‡[�[×ÑØ˜$  §¡¨Y¸m¸b¿m¹mÈIÓ>VÔ WÐXóð ‡[�[×ÑØà�9�2—9‘9˜l˜^Ð3CÔDÐEØ�I�B—I‘I˜|˜nÓ-Ð.ð	
óñ1óóð1ò*ò
*ò
*ò$ò#ò"1ðB ‡[�[×Ñ˜]¨W°eÐ,<Ó=Ø‡[�[×Ñ˜[¨4°¨-Ó8Ø‡[�[×ÑØ�X—]‘] H×$5Ñ$5°r·|±|ÐDóñ"óó 9ó >ð
"ð8 ‡[�[×ÑØò	
óñ	0óð	0òFð ‡[�[×ÑØò	
ó
ñ0ó
ð0ò$;ð ‡[�[×ÑØò	
ó
ñ1ó
ð1ò ;ò0ð6 ‡[�[×ÑØàˆR�\‰\¢°i°b·i±iÀ³lÑCÓDÀdÐKØˆR�\‰\˜3Ò 4Ð5Ó6¸Ð=à�—‘Ú)°°·±À	ÀÇ	Á	È!ÃÐSVÔ0WÑXóð ð	ð �—‘Ø˜.˜"Ÿ.™.Ò)SÓTÐUóð ð	ð �—‘Øš)Ð$Ø(˜"Ÿ.™.Ò)SÓTôð ðð �—‘Øš)Ð$¨O¨B¯O©O¸I¸B¿I¹IÀa»LÈsÔ,Sôð ð	ð �—‘Ø˜�V�H n b§n¡n°lÀLÐ5QÓ&Rôð ð	ð �—	‘	ÚØ(˜"Ÿ.™.Ò)SÓTôð ððK,	
ó/ñ`óa/ð`ð ‡[�[×ÑØ˜$  §¡¨Y¸m¸b¿m¹mÈIÓ>VÔ WÐXóð ‡[�[×Ñ˜VÒ%6Ó7ñ#0ó 8óð#0ðJ ‡[�[×Ñ˜VÒ%<Ó=ñ6ó >ð6ð< ‡[�[×Ñ˜[Ò*AÓBØ‡[�[×Ñ˜Y¨°XÐ(>Ó?Ø‡[�[×Ñ˜W t¨U mÓ4Ø‡[�[×ÑØð ˆB×ÑÐ:Ð<QÐRÓSØˆB×ÑÐ9¸8ÐDÓEð		
óñ"óó 5ó @ó Cð"ð* ‡[�[×Ñ˜[Ò*AÓBØ‡[�[×Ñ˜V g¨yÐ%9Ó:ñ"ó ;ó Cð"ð, ‡[�[×Ñ˜Y¨°XÐ(>Ó?ñó @ðð ‡[�[×Ñ˜XÒ'DÓEØ‡[�[×Ñ˜V g¨yÐ%9Ó:ñOó ;ó FðOò"ò*.ò	'ð ‡[�[×ÑØ‡[�[×Ññ	ó ó ð	ð ‡[�[×ÑØ‡[�[×Ññ0ó ó ð0ò0ò<0ò"
Hð ‡[�[×Ñ˜[¨4°¨-Ó8Ø‡[�[×Ñ˜]¨U°GÐ,<Ó=Ø‡[�[×Ñ˜_¨r¯|©|¸YÐ.GÓHñ"ó Ió >ó 9ð"ð< ‡[�[×Ñ˜[¨4°¨-Ó8ñ"ó 9ð"ð" ‡[�[×Ñ˜Z¨(¯-©-¸×9KÑ9KÐ)LÓMñ+ó Nð+òHò
ò*	Lòò+ò6ò*(ð  ‡[�[×ÑØàˆB�L‰LÐ/Ó0ØˆB�L‰LÐ.°<Ô@ØˆB�L‰LÐ3Ó4ð	
óñ6óð6ò6ð ‡[�[×ÑØàˆB�M‰MÐ0¸!À$ÔGØˆB�M‰MÐ/¸¸|ÐRVÔWØˆB�M‰MÐ4¸aÀdÔKð	
óñOóðOò.Oð* ‡[�[×ÑØÒDóñ
óð
ð" ‡[�[×Ñ˜T L°,Ð#?Ó@ñ<ó Að<ò("ò&0ð ‡[�[×ÑØ‡[�[×Ññ0ó ó ð0ð ‡[�[×ÑØ‡[�[×Ññ0ó ó ð0ò0ò0ð* ‡[�[×Ñ˜X¨¯ª°a©¸3¿;º;È¹?Ð9KÐ'LÓMñ
 ó Nð
 ð ‡[�[×Ñ˜X¨°eÐ'<Ó=ñ	ó >ð	ò0òNð, ‡[�[×ÑÐEÈiÐÓXØ‡[�[×ÑØâ1Ú,Ú.Ú9Ú#Ú+Ú1Ø�VŠV�S˜$ Ð%Ø˜2Ÿ6š6 3¨¨dÐ3ð
	
óð ‡[�[×Ñ˜W z°6Ð&:Ó;ñ	Có <óó Yð 	Cò)ð ‡[�[×ÑØ�$˜˜A˜  c 
¨S°#¨J¸¸c¸
ÀTÈ4ÀLÐQóð ‡[�[×Ñ˜Y¨#¨s¨°c¸3°ZÀ$ÈÀÐ(NÓOñ0ó Póð0ò0ð ‡[�[×Ñ˜XÒ'OÓPñ#0ó Qð#0òJ'ð ‡[�[×Ñ˜W t°3¸SÑ-AÐ&BÓCñ>ó Dð>ð ‡[�[×Ñ˜XÒ'PÓQñ@ó Rð@òDð ‡[�[×ÑØð �—‘˜q !˜f q¨! fÐ-¸¸S°zÔBØ  #˜J°!°Q°¸!¸Q¸Ð0@ÑAðð
 �—‘˜q !˜f q¨! fÐ-¸¸S°zÔB×NÒNÈuÓUØ  #˜J°!°Q°¸!¸Q¸Ð0@ÑAðð
 �—‘Ø˜�V˜a ˜VÐ$¨s°C¨jÀ#ÀsÀÈcÐSVÈZÐ@Xôð ! #˜J°!°Q°¸!¸Q¸Ð0@ÑAð	ð ˆR�Y‰Y’y sÔ+°cÂ9Ñ-MÐNà�—	‘	š)¨#Ô.×:Ò:¸5ÓAØ¢iÑ0ðð
 �—	‘	˜1˜a˜& s°C¸°:ÀÀS¸zÐ2JÔKØ q¨! fÑ-ðð)	
óñ8"ó9ð8"ð ‡[�[×ÑØàˆR�\‰\˜A˜q˜6 A q 6Ð*°S¸#°JÔ?ØˆR�\‰\˜A˜q˜6 A q 6Ð*°S¸#°JÔ?×KÒKÈEÓRà�—‘Ø˜�V˜a ˜VÐ$¨s°C¨jÀ#ÀsÀÈcÐSVÈZÐ@Xôð ˆR�Y‰Y’y sÔ+ØˆR�Y‰Y’y sÔ+×7Ò7¸Ó>ØˆR�Y‰Y˜˜1�v C°°c°
¸SÀ#¸JÐ/GÔHð	
óñ"óð"ð ‡[�[×Ñ˜X¨°Ð';Ó<ñ3ó =ð3ð ‡[�[×Ñ˜X¨	°8Ð'<Ó=ñ2ó >ð2ð ‡[�[×Ñ˜X¨°Ð'9Ó:Ø‡[�[×Ñ˜W t¨U mÓ4ñ0ó 5ó ;ð0ò1ð ‡[�[×ÑÙó	
ó	ò0ó	ð0ð ‡[�[×ÑÙÛ#óò
=ó	ð
=ð ‡[�[×ÑÙÑ/Ñ1SÐTóò"óð"ð& ‡[�[×ÑÙÑ/Ñ1FÐGóò"óð"ð" ‡[�[×ÑÙá<Ù>àˆF�L‰LØÙØ—k‘k×'Ñ'ÙIð (ó ôð ˆF�L‰LØÙØ—k‘k×'Ñ'ÙIð (ó ôð	
óò,"ó-ð,"ð ‡[�[×Ñ™X£yÓ1ò"ó 2ð"ð& ‡[�[×ÑÙÓñ-ð ó ð
 ‡[�[×ÑÙóq	
ótòj"óktóðt"ó.ó	0ó0ó"ð ‡[�[×ÑØ‡[�[×Ñò*ó ó ð*ó	,ó1ó"ó(Oð ‡[�[×ÑÙð �—	‘	™g©&±VÒ<Ó=ñ0ðð �—	‘	™m±ÁÒNÓOñ2ðð �—‘™w©Ð0±6¹8Ð2DÐEÓFñ2ðð �—‘Ù#¡]Ð3±lÁMÐ5RÐSóñ4ð	ð)	
ó òB"óC ðB"ó
"ó:Iðx €R‡]�]�9Óò1ó ð1ð, ‡[�[×Ñ˜XÓ'DÓEò1ó Fð1ô,8r1   r3   c                  óî   — t        j                  t        d«      «      } | j                  «       }t	        j
                  t        d¬«      5  t        j                  |d¬«       d d d «       y # 1 sw Y   y xY w)Nrh   zThe engine type foor   r¨   )r�  ©r   r>   r(   ra   r   r   ro   r   ©rE   r‰  s     r    Útest_invalid_enginer¨  
  sQ   € ä
�)‰)”E˜!“HÓ
€CØ
�+‰+‹-€CÜ	�‰”zÐ)>Ô	?ñ (Ü
�‰�S Õ'÷(÷ (ñ (ús   Á
A+Á+A4c                  óð   — t        j                  t        d«      «      } | j                  «       }t	        j
                  t        d¬«      5  t        j                  |dd¬«       d d d «       y # 1 sw Y   y xY w)Nrh   z&currently pyarrow engine only supportsr   rÁ   F)r�  r   r¦  r§  s     r    Útest_pyarrow_engine_lines_falserª  
  sS   € ä
�)‰)”E˜!“HÓ
€CØ
�+‰+‹-€CÜ	�‰”zÐ)QÔ	Rñ 9Ü
�‰�S °%Õ8÷9÷ 9ñ 9ús   Á
A,Á,A5c                 óð   — t        j                  ddgddggddgddg¬	«      }|j                  «       }|j                  «       }t        j                  t        |«      «      }t        j                  ||«       y )
NrZ   r[   r\   r]   zrow 1zrow 2zcol 1zcol 2r^   )r   rP   rb   ra   r   r   r+   r,   )r/   rW   r.   r‰  r-   s        r    Ú$test_json_roundtrip_string_inferencer¬  
  sh   € Ü	�‰Ø
ˆsˆ�c˜3�ZÐ ¨°'Ð(:ÀWÈgÐDVô
€Bð �w‰w‹y€HØ
�*‰*‹,€CÜ�\‰\œ( 3›-Ó(€FÜ×Ñ˜& (Õ+r1   rÁ   c                  ó   — t        j                  t        j                  dt         j                  gd¬«      t        j                  dt         j                  gd¬«      dœ«      } | j	                  dd¬	«      }d
}||k(  sJ ‚y )Nrh   rŽ  r6   rH   rw  r»  r#   TrÛ  z"{"a":1,"b":2}
{"a":null,"b":null}
)r   rP   r>   r�  ra   )rW   r-   r.   s      r    Útest_to_json_ea_nullr®   
  so   € ô 
�‰ä—‘˜AœrŸu™u˜:Ð-=Ô>Ü—‘˜AœrŸu™u˜:¨WÔ5ñ	
ó
€Bð �Z‰Z˜y°ˆZÓ5€Fð€Hð �XÒÐÑr1   c                  ó¶   — d} t        j                  t        | «      d¬«      j                  }t        j                  d«      }t        j                  ||d¬«       y )Nz#
{"a": 1, "b": 2}
{"a": 3, "b": 4}
Tr   rH   )Úexact)r   r   r   r<   r(  r+   r  ©rd   r-   r.   s      r    Útest_read_json_lines_rangeindexr²  0
  sE   € ð€Dô �\‰\œ( 4›.°Ô5×;Ñ;€FÜ�}‰}˜QÓ€HÜ×Ñ˜& (°$Ö7r1   c                  ó  — d} t        j                  t        | ¬«      5  t        j                  t        d«      ddd¬«      }d d d «       t        j                  dg«      }t        j                  |«       y # 1 sw Y   Œ6xY w)	Nr|   r   z["9999999999999999"]r$   rŠ  F)r/   r‹  r}   l   ÿ�_É)r+   r€   r   r   r   r   r>   rŒ  )rˆ   r-   r.   s      r    Útest_large_numberr´  ;
  sp   € àG€HÜ	×	#Ñ	#¤N¸(Ô	Cñ 
Ü—‘ÜÐ+Ó,ØØØô	
ˆ÷
ô �y‰yÐ*Ð+Ó,€HÜ×Ñ˜6 8Õ,÷
ð 
ús   ž#A6Á6A?c                  ó¨   — d} t        j                  t        | «      «      }t        j                  g d¢g d¢dœ«      }t	        j
                  ||«       y )Nz�[{"NO": "202101010000000003", "NAME": "A"}, {"NO": "202101010000000013", "NAME": "B"}, {"NO": "202101010000000023", "NAME": "C"}])l   4˜{0pl   4˜{0pl   4˜{0pr¼  )ÚNOÚNAMEr·  r±  s      r    Útest_large_number_string_columnr¸  I
  sK   € ð	5ð 	ô
 �\‰\œ( 4›.Ó)€FÜ�|‰|âNÚ#ñ	
ó€Hô ×Ñ˜& (Õ+r1   Úscalar_typer   l            l   ÿÿÿÿ c                 óä   —  | |«      }t        j                  |gt        ¬«      j                  «       d|› d�k(  sJ ‚t        j                  d|git        ¬«      j                  «       d|› d�k(  sJ ‚y )Nr6   z{"0":r×  rZ   z
{"a":{"0":r  )r   r>   r¼   ra   rP   )r¹  r   r  s      r    Ú)test_to_json_object_dtype_unsigned_scalarr»  [
  so   € ñ �eÓ
€CÜ�9‰9�c�U¤&Ô)×1Ñ1Ó3¸À¸wÀbÐ7IÒIÐIÐIä
�‰�c˜C˜5�\¬Ô0×8Ñ8Ó:ÀÈUÈGÐSWÐ>XÒXðÙXr1   c                  óÊ   — t        j                  dt        d«      gi«      } d}t        j                  t
        |¬«      5  | j                  «        d d d «       y # 1 sw Y   y xY w)NrZ   Úm1zJUnable to serialize object to JSON: encountered an unsupported object typer   )r   rP   r   r   r   ro   ra   )rW   rq   s     r    Ú'test_to_json_unsupported_object_gh36211r¾  f
  sL   € ä	�‰�sœT $›Z˜LÐ)Ó	*€BØ
V€CÜ	�‰”z¨Ô	-ñ Ø
�
‰
Œ÷÷ ñ ús   ¿AÁA"Úotherz
"notadate"Útruec                 óØ   — t        j                  d «      5  t        j                  t	        d| › d�«      «      }d d d «       d   j
                  j                  dk7  sJ ‚y # 1 sw Y   Œ(xY w)Nz{"date":{"0":"2014Q2","1":r  r3  ÚM)r+   r€   r   r   r   r7   Úkind)r¿  r-   s     r    Ú:test_read_json_quarterly_string_discarded_parse_no_warningrÄ  n
  sf   € ô 
×	#Ñ	# DÓ	)ñ TÜ—‘œhÐ)EÀeÀWÈDÐ'QÓRÓSˆ÷Tà�&‰>×Ñ×$Ñ$¨Ò+Ð+Ñ+÷Tð Tús   –#A Á A)c                  ó   — t        j                  t        d¬«      5 } t        j                  t        d«      «      }d d d «       t         «      dk(  sJ ‚d   d   t        j                  d«      k(  sJ ‚y # 1 sw Y   Œ:xY w)Núquarterly string is deprecatedr   z{"date":{"0":"9999Q4","1":1}}rh   r3  r   z
9999-10-01)r+   r€   r   r   r   r   r)   r:  ©Úrecordr-   s     r    Ú6test_read_json_quarterly_string_out_of_ns_bounds_warnsrÉ  y
  s|   € ô 
×	#Ñ	#ÜÐ>ô
ð Ià	Ü—‘œhÐ'FÓGÓHˆ÷Iô ˆv‹;˜!ÒÐÐØ�&‰>˜!Ñ¤§¡¨\Ó :Ò:Ð:Ñ:÷Ið Iús   œA4Á4A=c                  ó<  — t        j                  t        d¬«      5 } t        j                  t        d«      «      }d d d «       t         «      dk(  sJ ‚d   j                  j                  dk(  sJ ‚|d   d   t        j                  d«      k(  sJ ‚y # 1 sw Y   ŒXxY w)	NrÆ  r   z${"date":{"0":"2014Q2","1":"2014Q3"}}rh   r3  rÂ  r   z
2014-04-01)
r+   r€   r   r   r   r   r)   r7   rÃ  r:  rÇ  s     r    Ú5test_read_json_quarterly_string_kept_parse_warns_oncerË  „
  s˜   € ä	×	#Ñ	#ÜÐ>ô
ð Pà	Ü—‘œhÐ'MÓNÓOˆ÷Pô ˆv‹;˜!ÒÐÐØ�&‰>×Ñ×$Ñ$¨Ò+Ð+Ð+Ø�&‰>˜!Ñ¤§¡¨\Ó :Ò:Ð:Ñ:÷Pð Pús   œBÂBr  )ÚJanÚFebÚMarÚMarchÚApril)r"  r#  r$  )ÚT1ÚT2ÚT3c                 óÊ  — t        j                  dt        t        | «      «      i| ¬«      }t        j                  t        |j                  «       «      «      }t        j                  |j                  t        j                  | «      «       t        j                  d| i«      }t        j                  t        |j                  «       «      «      }t        j                  ||«       y )NÚsalesr­   r3  )r   rP   r(   r)   r   r   ra   r+   r  r<   rT   r,   )r  rW   r-   s      r    Ú+test_read_json_non_date_strings_kept_as_strrÖ  �
  s”   € ô 
�‰�w¤¤c¨&£kÓ 2Ð3¸6Ô	B€BÜ�\‰\œ( 2§:¡:£<Ó0Ó1€FÜ×Ñ˜&Ÿ,™,¬¯©°Ó(8Ô9ä	�‰�v˜vÐ&Ó	'€BÜ�\‰\œ( 2§:¡:£<Ó0Ó1€FÜ×Ñ˜& "Õ%r1   )rh   r¥   i /hYc                 ó²   — t        j                  t        d| › d�«      «      }t        j                  dd| git        ¬«      }t        j                  ||«       y )Nz{"date":{"0":"Jan","1":r  r3  rÌ  r6   )r   r   r   rP   r¼   r+   r,   )r¿  r-   r.   s      r    Ú1test_read_json_mixed_non_date_string_and_int_keptrØ  ¥
  sJ   € ô
 �\‰\œ(Ð%>¸u¸gÀTÐ#JÓKÓL€FÜ�|‰|˜V e¨U ^Ð4¼FÔC€HÜ×Ñ˜& (Õ+r1   Údatesz
1500-01-01z
2500-01-01z
0001-01-01z
0001-06-05r8   c                 ó  — t        j                  d| i«      }t        j                  t        |j	                  «       «      «      }t        j                  dt        j                  | d¬«      i«      }t        j                  ||«       y )Nr3  zM8[us]r6   )	r   rP   r   r   ra   r?   r´  r+   r,   )rÙ  rW   r-   r.   s       r    Ú6test_read_json_out_of_ns_bounds_date_strings_convertedrÛ  ¯
  s]   € ô 
�‰�v˜u�oÓ	&€BÜ�\‰\œ( 2§:¡:£<Ó0Ó1€FÜ�|‰|˜V¤R§X¡X¨e¸8Ô%DÐEÓF€HÜ×Ñ˜& (Õ+r1   )<rÞ  r   r   r5  r   r   r‡   r=  Úpathlibr   rl  r¢  Úurllib.errorr   rY  r•  r?   r   Úpandas._configr   Úpandas.compatr	   r
   r   Úpandas.errorsr   Úpandas.util._test_decoratorsÚutilÚ_test_decoratorsrT  Úpandasr   Úpandas._testingÚ_testingr+   Úpandas.io.jsonr   r°   r˜  r!   r0   r3   r¨  rª  r¬  rš  r®  r²  r´  r¸  Úuint64Ú	ulonglongr»  r¾  rÄ  rÉ  rË  rÖ  rØ  rÛ  rÚ   r1   r    ú<module>rê     sý  ðÛ Ý Û ÷ó Û 	Ý Û 	Û 
Ý "Û ã Û å -÷ñ õ
 )ß )Ð )ã Ý å &ð ‡�×ÑØòóñ?óð?ò,÷&8ñ &8òDN(ò9ò,ð €‡�ˆyÓñó ðò8ò-ò,ð$ ‡�×Ñ˜¨¯©°B·L±LÐ(AÓBØ‡�×Ñ˜ 5¨)Ð"4Ó5ñó 6ó Cðòð ‡�×Ñ˜ <°Ð"8Ó9ñ,ó :ð,ò;ò;ð ‡�×ÑØâØ	�'ÐÚÚð	óñ
&óð
&ð ‡�×Ñ˜Ò"4Ó5ñ,ó 6ð,ð ‡�×ÑØà	�|Ð$ð 
�|Ð$Ø	�|Ð$ðó	ñ,ó	ñ,r1   