Ë
    ¤ehâ\  ã                   óž  — d 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	Z	ddl
Z
ddlmZ ddlZddlZddlZddlZddlmZ ddlmc mZ ddlZddlmZ ddlmc mZ ej@                  jC                  d«      Z" G d„ d	«      Z#e$e#egZ%	 dd
l&m'Z( e%jS                  e(«       e
jV                  jY                  e
jV                  j[                  e.«      «      Z/ G d„ d«      Z0ejb                  d„ «       Z2 G d„ d«      Z3d„ Z4ej@                  jk                  dddg«      ej@                  jk                  dddg«      d„ «       «       Z6d„ Z7ej@                  jk                  deddfeddfg«      d„ «       Z8ej@                  jk                  dg d¢«      ej@                  jk                  dddg«      d „ «       «       Z9d!„ Z:d"„ Z;d#„ Z<d$„ Z=ej@                  jk                  d%ej|                  ej~                  ej€                  ej‚                  ej„                  ej†                  ejˆ                  ejŠ                  ejŒ                  g	«      d&„ «       ZGy# e*$ r Y �Œ®w xY w)'z0
Tests for the pandas.io.common functionalities
é    N)Úpartial)ÚBytesIOÚStringIOÚUnsupportedOperation)ÚPath)Úis_platform_windowsz=ignore:Passing a BlockManager to DataFrame:DeprecationWarningc                   ó   — e Zd ZdZdd„Zd„ Zy)ÚCustomFSPathz%For testing fspath on unknown objectsNc                 ó   — || _         y ©N©Úpath)Úselfr   s     úY/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/pandas/tests/io/test_common.pyÚ__init__zCustomFSPath.__init__%   s	   € Øˆ�	ó    c                 ó   — | j                   S r   r   ©r   s    r   Ú
__fspath__zCustomFSPath.__fspath__(   s   € Ø�y‰yÐr   )ÚreturnN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   © r   r   r
   r
   "   s   „ Ù/óór   r
   )Úlocalc                   ó¨  — e Zd ZdZd„ Zd„ Zd„ Z ej                  d«      d„ «       Z	d„ Z
d„ Zej                  j                  d	e«      d
„ «       Zej                  j                  d	eeeg«      d„ «       Zd„ Zd„ Zd„ Zd„ Zej                  j                  dej4                  dedfej8                  dedfej:                  dedfej<                  dedfej@                  dedfejB                  dedfejD                  dedfejF                  dedfejH                  dedfg	«      d„ «       Z%ej                  j                  dejL                  jN                  dedfejL                  jP                  ded fejL                  jR                  dedfejL                  jT                  dedfejL                  jV                  ded!fejL                  jX                  dedfejL                  jZ                  dedfejL                  j\                  dedfg«      d"„ «       Z/ej                  j                  dej4                  dedfej`                  dedfej8                  dedfej:                  dedfej<                  dedfej@                  dedfejB                  dedfejD                  dedfejF                  dedfejH                  dedfg
«      d#„ «       Z1ej                  j                  d$ej4                  dd%fej`                  dd%fej8                  dd&fej:                  dd'fej<                  dd(fej@                  dd)fejB                  dd*fejD                  dd+fejF                  dd,fejH                  dd-fg
«      d.„ «       Z2ej                  j                  d/d0i dfd1d2d3id3fd4i dfd5i dfd6i dfd7i dfd8i dfd9d: ejf                  d;«      idfg«      d<„ «       Z4d=„ Z5y>)?ÚTestCommonIOCapabilitiesziindex,A,B,C,D
foo,2,3,4,5
bar,7,8,9,10
baz,12,13,14,15
qux,12,13,14,15
foo2,12,13,14,15
bar2,12,13,14,15
c                 óÊ   — d}t        j                  |«      }||k7  sJ ‚t        j                  j	                  |«      sJ ‚t        j                  j                  |«      |k(  sJ ‚y )Nz
~/sometest)ÚicomÚ_expand_userÚosr   ÚisabsÚ
expanduser©r   ÚfilenameÚexpanded_names      r   Útest_expand_userz)TestCommonIOCapabilities.test_expand_userD   sX   € ØˆÜ×)Ñ)¨(Ó3ˆà Ò(Ð(Ð(Ü�w‰w�}‰}˜]Ô+Ð+Ð+Ü�w‰w×!Ñ! (Ó+¨}Ò<Ð<Ñ<r   c                 óˆ   — d}t        j                  |«      }||k(  sJ ‚t        j                  j	                  |«      |k(  sJ ‚y )Nz/somefolder/sometest)r    r!   r"   r   r$   r%   s      r   Útest_expand_user_normal_pathz5TestCommonIOCapabilities.test_expand_user_normal_pathL   sB   € Ø)ˆÜ×)Ñ)¨(Ó3ˆà Ò(Ð(Ð(Ü�w‰w×!Ñ! (Ó+¨}Ò<Ð<Ñ<r   c                 óÔ   — t        j                  t        d«      «      }|dk(  sJ ‚t        j                  t        d«      «      }|t        j                  j                  dd«      k(  sJ ‚y )Nú.zfoo//barÚfooÚbar)r    Ústringify_pathr   r"   r   Újoin)r   Úrel_pathÚredundant_paths      r   Útest_stringify_path_pathlibz4TestCommonIOCapabilities.test_stringify_path_pathlibS   sT   € Ü×&Ñ&¤t¨C£yÓ1ˆØ˜3ŠÐˆÜ×,Ñ,¬T°*Ó-=Ó>ˆØ¤§¡§¡¨e°UÓ!;Ò;Ð;Ñ;r   zpy.pathc                 óÌ   — t         j                  j                  dd«      }t         j                  j                  |«      }t	        |«      }t        j                  |«      |k(  sJ ‚y )Nr-   r.   )r"   r   r0   ÚabspathÚ	LocalPathr    r/   )r   r   Úabs_pathÚlpaths       r   Útest_stringify_path_localpathz6TestCommonIOCapabilities.test_stringify_path_localpathY   sJ   € ä�w‰w�|‰|˜E 5Ó)ˆÜ—7‘7—?‘? 4Ó(ˆÜ˜$“ˆÜ×"Ñ" 5Ó)¨XÒ5Ð5Ñ5r   c                 óR   — t        d«      }t        j                  |«      }|dk(  sJ ‚y )Núfoo/bar.csv)r
   r    r/   )r   ÚpÚresults      r   Útest_stringify_path_fspathz3TestCommonIOCapabilities.test_stringify_path_fspath`   s*   € Ü˜Ó'ˆÜ×$Ñ$ QÓ'ˆØ˜Ò&Ð&Ñ&r   c                 ó  — t        j                  d«      }t        j                  «       5 }|j	                  d|› �d¬«      5 }|t        j                  |«      k(  sJ ‚	 d d d «       d d d «       y # 1 sw Y   ŒxY w# 1 sw Y   y xY w)NÚfsspeczfile://Úwb©Úmode)ÚpytestÚimportorskipÚtmÚensure_cleanÚopenr    r/   )r   r@   r   Ú
fsspec_objs       r   Ú!test_stringify_file_and_path_likez:TestCommonIOCapabilities.test_stringify_file_and_path_likee   sˆ   € ä×$Ñ$ XÓ.ˆÜ�_‰_Óð 	E $Ø—‘˜w t fÐ-°D�Ó9ð E¸ZØ!¤T×%8Ñ%8¸Ó%DÒDÐDÑD÷E÷	Eð 	E÷Eð Eú÷	Eð 	Eús#   ªA:ÁA.ÁA:Á.A7	Á3A:Á:BÚ	path_typec                 ó`   — |\  }} |d|z   «      }t        j                  |d¬«      }||k(  sJ ‚y )Nr;   Úinfer)Úcompression)r    Úinfer_compression)r   Úcompression_formatrK   Ú	extensionÚexpectedr   rN   s          r   Ú test_infer_compression_from_pathz9TestCommonIOCapabilities.test_infer_compression_from_pathl   s;   € à0Ñˆ	�8Ù˜¨Ñ2Ó3ˆÜ×,Ñ,¨T¸wÔGˆØ˜hÒ&Ð&Ñ&r   c                 óæ  — t        j                  t        j                  «       ¬«      5 } |dt        |«      j                  z   dz   «      }t        j                  |d«      5 }t        |j                  j                  «      j                  «       sJ ‚t        j                  j                  |«      |j                  j                  k(  sJ ‚	 d d d «       d d d «       y # 1 sw Y   ŒxY w# 1 sw Y   y xY w)N)Údirz~/z	/sometestÚw)ÚtempfileÚTemporaryDirectoryr   ÚhomeÚnamer    Ú
get_handleÚhandleÚis_absoluter"   r   r$   )r   rK   Útmpr&   Úhandless        r   Útest_get_handle_with_pathz2TestCommonIOCapabilities.test_get_handle_with_paths   sÆ   € ô ×(Ñ(¬T¯Y©Y«[Ô9ð 	K¸SÙ  ¬¨S«	¯©Ñ!6¸Ñ!DÓEˆHÜ—‘ ¨3Ó/ð K°7Ü˜GŸN™N×/Ñ/Ó0×<Ñ<Ô>Ð>Ð>Ü—w‘w×)Ñ)¨(Ó3°w·~±~×7JÑ7JÒJÐJÑJ÷K÷	Kð 	K÷Kð Kú÷	Kð 	Kús$   ©8C'Á!A(CÃ
C'ÃC$	Ã C'Ã'C0c                 óö   — t        «       5 }t        j                  |d«      5 }|j                  |k(  sJ ‚	 d d d «       |j                  rJ ‚	 d d d «       j                  sJ ‚y # 1 sw Y   Œ/xY w# 1 sw Y   Œ$xY w)NÚr)r   r    r[   r\   Úclosed)r   Úinput_bufferr_   s      r   Útest_get_handle_with_bufferz4TestCommonIOCapabilities.test_get_handle_with_buffer|   sx   € Ü‹Zð 	+˜<Ü—‘ ¨sÓ3ð 6°wØ—~‘~¨Ò5Ð5Ñ5÷6à#×*Ò*Ð*Ð*Ð*÷	+ð ×"Ò"Ð"Ñ"÷6ð 6ú÷	+ð 	+ús!   ‹A/¢A#µA/Á#A,	Á(A/Á/A8c                 ó†  — d}t        j                  t        |«      dd¬«      5 }d}d}	 |j                  j	                  |«      }t        |«      |k  sJ ‚t        |«      |k  r.t        |j                  j	                  «       «      dk(  sJ ‚||z  }n||z  }Œm||j                  d«      k(  sJ ‚	 d d d «       y # 1 sw Y   y xY w)	Nõ&   a,b,c
1,2,3
Â©,Â®,Â®
Look,a snake,ðŸ��ÚrbF©Úis_textr   é   r   úutf-8)r    r[   r   r\   ÚreadÚlenÚencode)r   Údatar_   r=   Ú	chunksizeÚchunks         r   Ú)test_bytesiowrapper_returns_correct_byteszBTestCommonIOCapabilities.test_bytesiowrapper_returns_correct_bytes„   sÊ   € ðˆô �_‰_œX d›^¨T¸5ÔAð 	2ÀWØˆFØˆIØØŸ™×+Ñ+¨IÓ6�ä˜5“z YÒ.Ð.Ð.Ü�u“: 	Ò)ô ˜wŸ~™~×2Ñ2Ó4Ó5¸Ò:Ð:Ð:Ø˜e‘O�FØØ˜%‘�ð ð ˜TŸ[™[¨Ó1Ò1Ð1Ñ1÷	2÷ 	2ñ 	2ús   ¤B	B7Â7C c                 ó|  — t        j                  d«      }d}t        j                  g d¢g d¢g d¢dœ«      }t	        |«      }t        j                  |dd¬	«      5 }|j                  |j                  «      j                  «       }t        j                  ||«       |j                  rJ ‚	 d d d «       y # 1 sw Y   y xY w)
Nzpyarrow.csvrg   )Ú1õ   Â©ÚLook)Ú2õ   Â®za snake)Ú3ry   u   ðŸ��©ÚaÚbÚcrh   Fri   )rD   rE   ÚpdÚ	DataFramer   r    r[   Úread_csvr\   Ú	to_pandasrF   Úassert_frame_equalrc   )r   Úpa_csvrp   rR   Úsr_   Údfs          r   Útest_get_handle_pyarrow_compatz7TestCommonIOCapabilities.test_get_handle_pyarrow_compat›   s    € Ü×$Ñ$ ]Ó3ˆðˆô —<‘<Ú%Ò,BÒI\Ñ]ó
ˆô �T‹NˆÜ�_‰_˜Q ¨eÔ4ð 	 ¸Ø—‘ §¡Ó0×:Ñ:Ó<ˆBÜ×!Ñ! " hÔ/Ø—x’xÐ�<�x÷	 ÷ 	 ñ 	 ús   ÁAB2Â2B;c                 ót  — t        j                  t        | j                  «      d¬«      5 }t        j                  |d¬«      }d d d «       t        j                  t        | j                  «      «      }t        j                  |«       t        j                  t        | j                  «      d¬«      5 }t        |«      }t        j                  ||j                  dg   «       t        j                  t        j                  |«      |j                  dd  «       d d d «       y # 1 sw Y   ŒàxY w# 1 sw Y   y xY w)Né   )rq   T)Úignore_indexr   )	r   r�   r   Údata1ÚconcatrF   rƒ   ÚnextÚiloc)r   Úreaderr=   rR   ÚitÚfirsts         r   Útest_iteratorz&TestCommonIOCapabilities.test_iterator¬   sè   € Ü�[‰[œ $§*¡*Ó-¸Ô;ð 	:¸vÜ—Y‘Y˜v°DÔ9ˆF÷	:ä—;‘;œx¨¯
©
Ó3Ó4ˆÜ
×Ñ˜f hÔ/ô �[‰[œ $§*¡*Ó-¸Ô;ð 	D¸rÜ˜“HˆEÜ×!Ñ! %¨¯©¸°sÑ);Ô<Ü×!Ñ!¤"§)¡)¨B£-°·±¸q¸rÐ1BÔC÷	Dð 	D÷	:ð 	:ú÷	Dð 	Dús   «D"Â3A&D.Ä"D+Ä.D7z#reader, module, error_class, fn_extr"   ÚcsvÚtxtÚxlrdÚxlsxÚpyarrowÚfeatherÚtablesÚh5ÚdtaÚsas7bdatÚjsonÚpicklec                 ól  — t        j                  |«       t        j                  j	                  t
        dd|z   «      }d|› d�}d|› d�}d}d}	d	|› d
|› d�}
d|› d�}d|› d�}d|› �}t        j                  |d|› d|› d|› d|	› d|
› d|› d|› d|› d�¬«      5   ||«       d d d «       y # 1 sw Y   y xY w)Nrp   údoes_not_exist.úFile (b')?.+does_not_exist\.ú'? does not existú:\[Errno 2\] No such file or directory: '.+does_not_exist\.ú'zExpected object or valueú7path_or_buf needs to be a string file path or file-likeú#\[Errno 2\] File .+does_not_exist\.ú$ does not exist: '.+does_not_exist\.õ<   \[Errno 2\] æ²¡æœ‰é‚£ä¸ªæ–‡ä»¶æˆ–ç›®å½•: '.+does_not_exist\.ú?\[Errno 2\] File o directory non esistente: '.+does_not_exist\.ú+Failed to open local file.+does_not_exist\.ú(ú|ú)©Úmatch)rD   rE   r"   r   r0   ÚHEREÚraises)r   r�   ÚmoduleÚerror_classÚfn_extr   Úmsg1Úmsg2Úmsg3Úmsg4Úmsg5Úmsg6Úmsg7Úmsg8s                 r   Útest_read_non_existentz/TestCommonIOCapabilities.test_read_non_existent¸   s  € ô 	×Ñ˜FÔ#ä�w‰w�|‰|œD &Ð*;¸fÑ*DÓEˆØ.¨v¨hÐ6GÐHˆØLÈVÈHÐTUÐVˆØ)ˆØHˆà2°6°(ð ;#Ø#) (¨!ð-ð 	ð OÈvÈhÐVWÐXˆàNÈvÈhÐVWÐXð 	ð >¸f¸XÐFˆä�]‰]ØØ�t�f˜A˜d˜V 1 T F¨!¨D¨6°°4°&¸¸$¸¸qÀÀÀaÈÀvÈQÐOô
ñ 	ñ �4ŒL÷		÷ 	ñ 	ús   Â	B*Â*B3z#method, module, error_class, fn_extÚhtmlÚparquetc                 ó(  — t        j                  |«       t        j                  g d¢g d¢g d¢dœ«      }t        j
                  j                  t        ddd|z   «      }t        j                  |d¬	«      5   |||«       d d d «       y # 1 sw Y   y xY w)
N)r‰   é   é   )rÁ   rÂ   é   )rÂ   rÃ   rk   r{   rp   Úmissing_folderr    z@Cannot save file into a non-existent directory: .*missing_folderr®   )	rD   rE   r   r€   r"   r   r0   r°   r±   )r   Úmethodr²   r³   r´   Údummy_framer   s          r   Ú#test_write_missing_parent_directoryz<TestCommonIOCapabilities.test_write_missing_parent_directoryÞ   sz   € ô 	×Ñ˜FÔ#ä—l‘lªºÊÑ#SÓTˆä�w‰w�|‰|œD &Ð*:Ð<MÐPVÑ<VÓWˆä�]‰]ØØUô
ñ 	&ñ �; Ô%÷		&÷ 	&ñ 	&ús   Á5
BÂBc                 ó’  — t        j                  |«       t        j                  j	                  dd|z   «      }|j                  t        dd„ «       d|› d�}d|› d�}d	}	d
}
d|› d|› d�}d|› d�}d|› d�}d|› �}t        j                  |d|› d|› d|	› d|
› d|› d|› d|› d|› d�¬«      5   ||«       d d d «       y # 1 sw Y   y xY w)Nú~r    r!   c                 óB   — t         j                  j                  d| «      S )Nr-   )r"   r   r0   )Úxs    r   ú<lambda>zJTestCommonIOCapabilities.test_read_expands_user_home_dir.<locals>.<lambda>  s   € ¼B¿G¹G¿L¹LÈÐPQÓ<R€ r   r¡   r¢   r£   r¤   z0Unexpected character found when decoding 'false'r¥   r¦   r§   r¨   r©   rª   r«   r¬   r­   r®   )rD   rE   r"   r   r0   Úsetattrr    r±   )r   r�   r²   r³   r´   Úmonkeypatchr   rµ   r¶   r·   r¸   r¹   rº   r»   r¼   s                  r   Útest_read_expands_user_home_dirz8TestCommonIOCapabilities.test_read_expands_user_home_dirù   s  € ô$ 	×Ñ˜FÔ#ä�w‰w�|‰|˜CÐ!2°VÑ!;Ó<ˆØ×ÑœD .Ñ2RÔSà.¨v¨hÐ6GÐHˆØLÈVÈHÐTUÐVˆØAˆØHˆà2°6°(ð ;#Ø#) (¨!ð-ð 	ð OÈvÈhÐVWÐXˆàNÈvÈhÐVWÐXð 	ð >¸f¸XÐFˆä�]‰]ØØ�t�f˜A˜d˜V 1 T F¨!¨D¨6°°4°&¸¸$¸¸qÀÀÀaÈÀvÈQÐOô
ñ 	ñ �4ŒL÷		÷ 	ñ 	ús   Â+	B=Â=Czreader, module, path)Úiorp   r“   ziris.csv)rÐ   rp   Úfixed_widthzfixed_width_format.txt)rÐ   rp   Úexcelz
test1.xlsx)rÐ   rp   r˜   zfeather-0_3_1.feather)rÐ   rp   Ú
legacy_hdfzdatetimetz_object.h5)rÐ   rp   Ústatazstata10_115.dta)rÐ   Úsasrp   ztest1.sas7bdat)rÐ   r�   rp   ztsframe_v012.json)rÐ   rp   rž   zcategorical.0.25.0.picklec                 óê   — t        j                  |«        ||Ž }t        |«      } ||«      } ||«      }|j                  d«      rt	        j
                  ||«       y t	        j                  ||«       y )Nz.pickle)rD   rE   r
   ÚendswithrF   Úassert_categorical_equalrƒ   )r   r�   r²   r   ÚdatapathÚmypathr=   rR   s           r   Útest_read_fspath_allz-TestCommonIOCapabilities.test_read_fspath_all$  sd   € ô@ 	×Ñ˜FÔ#Ù˜ˆˆä˜dÓ#ˆÙ˜“ˆÙ˜$“<ˆà�=‰=˜Ô#ä×'Ñ'¨°Õ9ä×!Ñ! &¨(Õ3r   z"writer_name, writer_kwargs, moduleÚto_csvÚto_excelÚengineÚopenpyxlÚ
to_featherÚto_htmlÚto_jsonÚto_latexÚ	to_pickleÚto_stataÚ
time_stampz2019-01-01 00:00c           	      óö  — |dv rt        j                  d«       t        j                  d«      }t        j                  d«      }t	        j
                  dddgi«      }|5 }|5 }t        j                  |«       t        |«      }	t        ||«      }
 |
|fi |¤Ž  |
|	fi |¤Ž t        |d«      5 }t        |d«      5 }|d	k(  rCt	        j                  |fi |¤Ž}t	        j                  |fi |¤Ž}t        j                  ||«       n'|j                  «       }|j                  «       }||k(  sJ ‚d d d «       d d d «       d d d «       d d d «       y # 1 sw Y   Œ"xY w# 1 sw Y   Œ&xY w# 1 sw Y   Œ*xY w# 1 sw Y   y xY w)
N)rã   Újinja2ÚstringÚfspathÚAr‰   rÁ   rh   rÝ   )rD   rE   rF   rG   r   r€   r
   ÚgetattrrH   Ú
read_excelrƒ   rm   )r   Úwriter_nameÚwriter_kwargsr²   Úp1Úp2r†   ré   rê   rÚ   ÚwriterÚf_strÚf_pathr=   rR   s                  r   Útest_write_fspath_allz.TestCommonIOCapabilities.test_write_fspath_allQ  sg  € ð ˜,Ñ&Ü×Ñ Ô)Ü�_‰_˜XÓ&ˆÜ�_‰_˜XÓ&ˆÜ�\‰\˜3  A ˜-Ó(ˆàð 	.�6˜2ð 	. Ü×Ñ Ô'Ü! &Ó)ˆFÜ˜R Ó-ˆFá�6Ñ+˜]Ò+Ù�6Ñ+˜]Ò+Ü�f˜dÓ#ð 
. u¬d°6¸4Ó.@ð 
.ÀFØ *Ò,ô  Ÿ]™]¨5ÑB°MÑB�FÜ!Ÿ}™}¨VÑE°}ÑE�HÜ×)Ñ)¨&°(Õ;à"ŸZ™Z›\�FØ%Ÿ{™{›}�HØ! XÒ-Ð-Ð-÷
.÷ 
.÷	.÷ 	.ð 	.÷
.ð 
.ú÷ 
.ð 
.ú÷	.ð 	.ú÷ 	.ð 	.úsV   ÁE/Á"AE#Â-EÂ:A0E	Ä*EÄ2E#Ä:E/ÅEÅEÅE ÅE#Å#E,	Å(E/Å/E8c                 óú  — t        j                  d«       t        j                  dddgi«      }t	        j
                  d«      }t	        j
                  d«      }|5 }|5 }t        |«      }|j                  |d¬«       |j                  |d¬«       t        j                  |d¬«      }t        j                  |d¬«      }d d d «       d d d «       t	        j                  «       y # 1 sw Y   Œ(xY w# 1 sw Y   Œ,xY w)	Nr™   rë   r‰   rÁ   ré   rê   r.   )Úkey)
rD   rE   r   r€   rF   rG   r
   Úto_hdfÚread_hdfrƒ   )	r   r†   rð   rñ   ré   rê   rÚ   r=   rR   s	            r   Útest_write_fspath_hdf5z/TestCommonIOCapabilities.test_write_fspath_hdf5x  sÓ   € ô 	×Ñ˜HÔ%ä�\‰\˜3  A ˜-Ó(ˆÜ�_‰_˜XÓ&ˆÜ�_‰_˜XÓ&ˆàð 	6�6˜2ð 	6 Ü! &Ó)ˆFØ�I‰I�f %ˆIÔ(Ø�I‰I�f %ˆIÔ(ä—[‘[ ¨UÔ3ˆFÜ—{‘{ 6¨uÔ5ˆH÷	6÷ 	6ô 	×Ñ˜f hÕ/÷	6ð 	6ú÷ 	6ð 	6ús%   ÁC1ÁA C%Â>C1Ã%C.	Ã*C1Ã1C:N)6r   r   r   r‹   r(   r*   r3   ÚtdÚ
skip_if_nor9   r>   rJ   rD   ÚmarkÚparametrizeÚ
path_typesrS   Ústrr
   r   r`   re   rs   r‡   r’   r   r�   ÚFileNotFoundErrorÚread_fwfrí   Úread_featherÚOSErrorrù   Ú
read_stataÚread_sasÚ	read_jsonÚread_pickler½   r€   rÜ   rá   rÝ   rà   Ú
to_parquetrå   râ   rä   rÇ   Ú
read_tablerÏ   rÛ   Úto_datetimerõ   rú   r   r   r   r   r   :   s†  „ ð€Eò=ò=ò<ð €R‡]�]�9Óñ6ó ð6ò'ò
Eð ‡[�[×Ñ˜[¨*Ó5ñ'ó 6ð'ð ‡[�[×Ñ˜[¨3°¸dÐ*CÓDñKó EðKò#ò2ò. ò"
Dð ‡[�[×ÑØ-à�[‰[˜$Ð 1°5Ð9Ø�[‰[˜$Ð 1°5Ð9Ø�]‰]˜FÐ$5°vÐ>Ø�_‰_˜i¨°)Ð<Ø�[‰[˜(Ð$5°tÐ<Ø�]‰]˜DÐ"3°UÐ;Ø�[‰[˜$Ð 1°:Ð>Ø�\‰\˜4Ð!2°FÐ;Ø�^‰^˜TÐ#4°hÐ?ð
	
óñóðð0 ‡[�[×ÑØ-à�\‰\× Ñ  $¨°Ð7Ø�\‰\×!Ñ! 4¨°&Ð9Ø�\‰\×"Ñ" F¨G°VÐ<Ø�\‰\×$Ñ$ i°¸)ÐDØ�\‰\×$Ñ$ i°¸)ÐDØ�\‰\×"Ñ" D¨'°5Ð9Ø�\‰\×!Ñ! 4¨°&Ð9Ø�\‰\×#Ñ# T¨7°HÐ=ð		
óñ&óð&ð ‡[�[×ÑØ-à�[‰[˜$Ð 1°5Ð9Ø�]‰]˜DÐ"3°UÐ;Ø�[‰[˜$Ð 1°5Ð9Ø�]‰]˜FÐ$5°vÐ>Ø�_‰_˜i¨°)Ð<Ø�[‰[˜(Ð$5°tÐ<Ø�]‰]˜DÐ"3°UÐ;Ø�[‰[˜$Ð 1°:Ð>Ø�\‰\˜4Ð!2°FÐ;Ø�^‰^˜TÐ#4°hÐ?ð	
óñóðð8 ‡[�[×ÑØà�[‰[˜$Ð AÐBØ�]‰]˜DÐ"CÐDà—‘ØØGðð
 �]‰]˜FÐ$IÐJà—‘ØØBðð —‘ØØDðð
 �]‰]˜DÐ"LÐMØ�[‰[˜$Ð GÐHØ�\‰\˜4Ð!LÐMà—‘ØØEðð-	
óñ>4ó?ð>4ð ‡[�[×ÑØ,à�r˜4Ð Ø˜( JÐ/°Ð<Ø˜2˜yÐ)Ø˜˜DÐ!Ø˜˜DÐ!Ø˜˜TÐ"Ø˜"˜dÐ#Ø˜,¨¨¯©Ð7IÓ(JÐKÈTÐRð		
óñ.óð.ó40r   r   c                 ó   —  | dddd«      S )NrÐ   rp   r“   ztest_mmap.csvr   )rÙ   s    r   Ú	mmap_filer  �  s   € á�D˜& %¨Ó9Ð9r   c                   ó®   — e Zd Zd„ Zd„ Zd„ Zd„ Zej                  j                  dddg«      ej                  j                  dd	d
g«      d„ «       «       Z
y)ÚTestMMapWrapperc                 óÎ  — t        d«      }d„ |_        t        «       r	d}t        }nd}t        j
                  }t        j                  ||¬«      5  t        j                  |d«       d d d «       t        |d¬«      5 }	 d d d «       d	}t        j                  t        |¬«      5  t        j                  d«       d d d «       y # 1 sw Y   Œ]xY w# 1 sw Y   ŒRxY w# 1 sw Y   y xY w)
NzI am not a filec                   ó   — y)Néÿÿÿÿr   r   r   r   rÌ   z;TestMMapWrapper.test_constructor_bad_file.<locals>.<lambda>•  s   � r   zThe parameter is incorrectz
[Errno 22]r®   Trl   ©ÚencodingzI/O operation on closed file)r   Úfilenor   r  ÚmmapÚerrorrD   r±   r    Ú_maybe_memory_maprH   Ú
ValueError)r   r  Únon_fileÚmsgÚerrÚtargets         r   Útest_constructor_bad_filez)TestMMapWrapper.test_constructor_bad_file“  sÌ   € ÜÐ-Ó.ˆÙ$ˆŒô Ô Ø.ˆCÜ‰CàˆCÜ—*‘*ˆCä�]‰]˜3 cÔ*ñ 	3Ü×"Ñ" 8¨TÔ2÷	3ô �) gÔ.ð 	°&Ø÷	ð -ˆÜ�]‰]œ:¨SÔ1ñ 	1Ü×"Ñ" 6¨4Ô0÷	1ð 	1÷	3ð 	3ú÷	ð 	ú÷	1ð 	1ús$   ÁCÁ<CÂ#CÃCÃCÃC$c                 ó  — t        |d¬«      5 }|j                  «       }t        j                  |ddd¬«      5 }|j                  }t        |j                  j                  t        j                  «      sJ ‚|D ]0  }t        |«      }|j                  «       |j                  «       k(  rŒ0J ‚ t        j                  t        d¬«      5  t        |«       d d d «       d d d «       d d d «       y # 1 sw Y   ŒxY w# 1 sw Y   ŒxY w# 1 sw Y   y xY w)Nrl   r  rb   T)rj   Ú
memory_mapz^$r®   )rH   Ú	readlinesr    r[   r\   Ú
isinstanceÚbufferr  r�   ÚstriprD   r±   ÚStopIteration)r   r  r  ÚlinesÚwrappersÚwrapperÚlineÚ	next_lines           r   Ú	test_nextzTestMMapWrapper.test_next©  sé   € Ü�) gÔ.ð 	"°&Ø×$Ñ$Ó&ˆEä—‘Ø˜ T°dôð "àØ"Ÿ/™/�Ü! '§.¡.×"7Ñ"7¼¿¹ÔCÐCÐCà!ò =�DÜ $ W£�IØ$Ÿ?™?Ó,°·
±
³Ó<Ð<Ð<ð=ô —]‘]¤=¸Ô>ñ "Ü˜”M÷"÷"÷	"ð 	"÷"ð "ú÷"ð "ú÷	"ð 	"úsA   Ž*D¸A.C6Â'C6ÃC*ÃC6ÃDÃ*C3Ã/C6Ã6C?	Ã;DÄDc                 ó4  — t        j                  «       5 }t        j                  dt	        j
                  d«      j                  d«      z  t        j                  t        d«      t        ¬«      t        j                  t        d«      D �cg c]  }d|› �‘Œ	 c}t        ¬«      ¬«      }|j                  |«       t        j                  t        d	¬
«      5  t        j                  |d¬«       d d d «       d d d «       y c c}w # 1 sw Y   ŒxY w# 1 sw Y   y xY w)Nçš™™™™™ñ?éx   ©é   rÃ   ÚABCD©Údtyper0  úi-©ÚcolumnsÚindexzUnknown enginer®   Úpyt)rÞ   )rF   rG   r   r€   ÚnpÚarangeÚreshapeÚIndexÚlistÚobjectÚrangerÜ   rD   r±   r  r�   ©r   r   Úir†   s       r   Útest_unknown_enginez#TestMMapWrapper.test_unknown_engineº  sÊ   € Ü�_‰_Óð 	0 $Ü—‘Ø”b—i‘i “n×,Ñ,¨WÓ5Ñ5ÜŸ™¤ f£´VÔ<Ü—h‘h´%¸³)Ö<¨Q " Q C¢Ò<ÄFÔKôˆBð
 �I‰I�dŒOÜ—‘œzÐ1AÔBñ 0Ü—‘˜D¨Õ/÷0÷	0ð 	0ùò  =÷0ð 0ú÷	0ð 	0ús6   •A5DÂ
C=Â>DÃDÃ,DÃ=DÄD	ÄDÄDc                 ó   — t        j                  «       5 }t        j                  dt	        j
                  d«      j                  d«      z  t        j                  t        d«      t        ¬«      t        j                  t        d«      D �cg c]  }d|› �‘Œ	 c}t        ¬«      ¬«      }|j                  |d	¬
«       t        j                  |t        j                  |d¬«      «       ddd«       yc c}w # 1 sw Y   yxY w)z\
        'encoding' shouldn't be passed to 'open' in binary mode.

        GH 35058
        r-  r.  r/  r1  r2  r0  r4  r5  zw+brB   r   ©Ú	index_colN)rF   rG   r   r€   r9  r:  r;  r<  r=  r>  r?  rÜ   rƒ   r�   r@  s       r   Útest_binary_modez TestMMapWrapper.test_binary_modeÅ  s¿   € ô �_‰_Óð 	F $Ü—‘Ø”b—i‘i “n×,Ñ,¨WÓ5Ñ5ÜŸ™¤ f£´VÔ<Ü—h‘h´%¸³)Ö<¨Q " Q C¢Ò<ÄFÔKôˆBð
 �I‰I�d ˆIÔ'Ü×!Ñ! "¤b§k¡k°$À!Ô&DÔE÷	Fð 	Fùò  =÷		Fð 	Fús   •A5C4Â
C/ÂAC4Ã/C4Ã4C=r  zutf-16zutf-32Úcompression_Úbz2Úxzc                 óœ  — t        j                  dt        j                  d«      j	                  d«      z  t        j
                  t        d«      t        ¬«      t        j
                  t        d«      D �cg c]  }d|› �‘Œ	 c}t        ¬«      ¬«      }t        j                  «       5 }t        j                  t        «      5  |j                  |||¬	«       d
d
d
«       d}t        j                  t         |¬«      5  t        j"                  |||¬	«       d
d
d
«       d
d
d
«       y
c c}w # 1 sw Y   ŒUxY w# 1 sw Y   Œ#xY w# 1 sw Y   y
xY w)zš
        bz2 and xz do not write the byte order mark (BOM) for utf-16/32.

        https://stackoverflow.com/questions/55171439

        GH 35681
        r-  r.  r/  r1  r2  r0  r4  r5  )rN   r  NzHUTF-\d+ stream does not start with BOM|'utf-\d+' codec can't decode byter®   )r   r€   r9  r:  r;  r<  r=  r>  r?  rF   rG   Úassert_produces_warningÚUnicodeWarningrÜ   rD   r±   ÚUnicodeErrorr�   )r   r  rG  rA  r†   r   r  s          r   Útest_warning_missing_utf_bomz,TestMMapWrapper.test_warning_missing_utf_bomÔ  s  € ô �\‰\Ø”"—)‘)˜C“.×(Ñ(¨Ó1Ñ1Ü—H‘HœT &›\´Ô8Ü—(‘(¬e°B«iÖ8¨˜b  šHÒ8ÄÔGô
ˆô
 �_‰_Óð 
	O $Ü×+Ñ+¬NÓ;ñ MØ—	‘	˜$¨LÀ8�	ÔL÷Mð
5ð ô —‘œ|°3Ô7ñ OÜ—‘˜D¨lÀXÕN÷O÷
	Oð 
	Oùò 9÷Mð Mú÷Oð Oú÷
	Oð 
	OúsB   Á5D%Â'EÃD*Ã%EÃ;D6ÄEÄ*D3	Ä/EÄ6D?	Ä;EÅEN)r   r   r   r  r+  rB  rF  rD   rý   rþ   rN  r   r   r   r  r  ’  s`   „ ò1ò,"ò"	0òFð ‡[�[×Ñ˜Z¨(°HÐ)=Ó>Ø‡[�[×Ñ˜^¨e°T¨]Ó;ñOó <ó ?ñOr   r  c                  ó¢  — t        j                  d«      sJ ‚t        j                  d«      sJ ‚t        j                  d«      rJ ‚t        j                  d«      rJ ‚t        j                  d«      rJ ‚t        j                  d«      rJ ‚t        j                  d«      rJ ‚t        j                  d«      rJ ‚t        j                  d	«      sJ ‚y )
Nzgcs://pandas/somethingelse.comzgs://pandas/somethingelse.comzhttp://pandas/somethingelse.comzrandom:pandas/somethingelse.comz/local/pathzrelative/local/pathzthis is not fsspec://urlz({'url': 'gs://pandas/somethingelse.com'}z#RFC-3986+compliant.spec://something)r    Úis_fsspec_urlr   r   r   Útest_is_fsspec_urlrQ  ð  s¾   € Ü×ÑÐ>Ô?Ð?Ð?Ü×ÑÐ=Ô>Ð>Ð>ä×!Ñ!Ð"CÔDÐDÐDÜ×!Ñ!Ð"CÔDÐDÐDÜ×!Ñ! -Ô0Ð0Ð0Ü×!Ñ!Ð"7Ô8Ð8Ð8ä×!Ñ!Ð"<Ô=Ð=Ð=Ü×!Ñ!Ð"LÔMÐMÐMä×ÑÐCÔDÐDÑDr   r  rl   Úformatr“   r�   c                 óò  — t        j                  dt        j                  d«      j	                  d«      z  t        j
                  t        d«      t        ¬«      t        j
                  t        d«      D �cg c]  }d|› �‘Œ	 c}t        ¬«      ¬«      }t        j                  «       5 }t        j                  |d	| ¬
«      5 } t        |d|› �«      |«       d d d «       t        j                  |d| ¬
«      5 }|dk(  rt        j                  |d¬«      }nt        j                  |«      }d d d «       d d d «       t        j                   |«       y c c}w # 1 sw Y   Œ€xY w# 1 sw Y   Œ9xY w# 1 sw Y   Œ=xY w)Nr-  r.  r/  r1  r2  r0  r4  r5  rV   )rC   r  Úto_rb   r“   r   rD  )r   r€   r9  r:  r;  r<  r=  r>  r?  rF   rG   ÚcodecsrH   rì   r�   r  rƒ   )r  rR  rA  rR   r   r\   r†   s          r   Útest_codecs_encodingrV  ÿ  s&  € ô �|‰|ØŒb�i‰i˜‹n×$Ñ$ WÓ-Ñ-Ü—‘œ˜f›¬VÔ4Ü�h‰h¬%°«)Ö4 Q˜"˜Q˜CšÒ4¼FÔCô€Hô
 
�‰Ó	ð *˜dÜ�[‰[˜ C°(Ô;ð 	6¸vØ-ŒG�H  F 8˜nÓ-¨fÔ5÷	6ä�[‰[˜ C°(Ô;ð 	*¸vØ˜ŠÜ—[‘[ °1Ô5‘ä—\‘\ &Ó)�÷		*÷*ô ×Ñ˜( BÕ'ùò 5÷	6ð 	6ú÷	*ð 	*ú÷*ð *úsB   Á5EÂ'E-Ã EÃ E-Ã63E!Ä)E-ÅE	ÅE-Å!E*	Å&E-Å-E6c                  óD  — t        j                  dt        j                  d«      j	                  d«      z  t        j
                  t        d«      t        ¬«      t        j
                  t        d«      D � cg c]  } d| › �‘Œ	 c} t        ¬«      ¬«      }t        j                  «       5 }t        |d	«      5 } t        j                  d
«      |«      5 }|j                  |«       d d d «       d d d «       t        |d«      5 } t        j                  d
«      |«      5 }t        j                   |d¬«      }d d d «       d d d «       d d d «       t        j"                  |«       y c c} w # 1 sw Y   Œ…xY w# 1 sw Y   Œ‰xY w# 1 sw Y   ŒMxY w# 1 sw Y   ŒQxY w# 1 sw Y   ŒUxY w)Nr-  r.  r/  r1  r2  r0  r4  r5  rA   rl   rh   r   rD  )r   r€   r9  r:  r;  r<  r=  r>  r?  rF   rG   rH   rU  Ú	getwriterrÜ   Ú	getreaderr�   rƒ   )rA  rR   r   r\   Úencodedr†   s         r   Útest_codecs_get_writer_readerr[    sR  € ä�|‰|ØŒb�i‰i˜‹n×$Ñ$ WÓ-Ñ-Ü—‘œ˜f›¬VÔ4Ü�h‰h¬%°«)Ö4 Q˜"˜Q˜CšÒ4¼FÔCô€Hô
 
�‰Ó	ð 7˜dÜ�$˜Óð 	) Ø*”×!Ñ! 'Ó*¨6Ó2ð )°gØ—‘ Ô(÷)÷	)ô �$˜Óð 	7 Ø*”×!Ñ! 'Ó*¨6Ó2ð 7°gÜ—[‘[ °AÔ6�÷7÷	7÷	7ô ×Ñ˜( BÕ'ùò 5÷)ð )ú÷	)ð 	)ú÷7ð 7ú÷	7ð 	7ú÷	7ð 7úsr   Á5E!Â'FÂ4E2ÃE&Ã"E2Ã*FÃ>F
ÄE>Ä2F
Ä:FÅ&E/Å+E2Å2E;	Å7FÅ>FÆF
Æ
F	ÆFÆFzio_class,mode,msgÚtz*a bytes-like object is required, not 'str'r}   z%string argument expected, got 'bytes'c                 óö  — t        j                  dt        j                  d«      j	                  d«      z  t        j
                  t        d«      t        ¬«      t        j
                  t        d«      D �cg c]  }d|› �‘Œ	 c}t        ¬«      ¬«      } | «       5 }t        j                  t        |¬	«      5  |j                  |d
|› �¬«       d d d «       d d d «       y c c}w # 1 sw Y   ŒxY w# 1 sw Y   y xY w)Nr-  r.  r/  r1  r2  r0  r4  r5  r®   rV   rB   )r   r€   r9  r:  r;  r<  r=  r>  r?  rD   r±   Ú	TypeErrorrÜ   )Úio_classrC   r  rA  rR   r#  s         r   Útest_explicit_encodingr`  $  sÃ   € ô �|‰|ØŒb�i‰i˜‹n×$Ñ$ WÓ-Ñ-Ü—‘œ˜f›¬VÔ4Ü�h‰h¬%°«)Ö4 Q˜"˜Q˜CšÒ4¼FÔCô€Hñ
 
‹ð 5�vÜ�]‰]œ9¨CÔ0ñ 	5Ø�O‰O˜F¨1¨T¨F¨ˆOÔ4÷	5÷5ð 5ùò 5÷	5ð 	5ú÷5ð 5ús*   Á5CÂC/Â6C#ÃC/Ã#C,	Ã(C/Ã/C8Úencoding_errors)NÚstrictÚreplacec                 ó„  — d}d}|dk(  r0d|z   dz   |dz  z   dz   |z   }t        t        j                  d¬«      }n2d	|dz  z   d
z   |z   dz   |z   dz   }t        t        j                  d¬«      }t	        j
                  «       5 }t        |«      }|j                  |«       | dk7  r/t        j                  t        |¬«      5   ||| ¬«       d d d «       nP ||| ¬«      }|j                  | ¬«      }	t        j                  |	|	gi|	dz  g¬«      }
t	        j                  ||
«       d d d «       y # 1 sw Y   ŒxY w# 1 sw Y   y xY w)Nz'utf-8' codec can't decode byteó   är“   ó   ,ó   
rÁ   r   rD  s   {"s   ": {"s   ":"s   "}}r7  )Úorientrc  r®   )ra  ©Úerrors)r7  )r   r   r�   r  rF   rG   r   Úwrite_bytesrD   r±   ÚUnicodeDecodeErrorÚdecoder€   rƒ   )ra  rR  r  Úbad_encodingÚcontentr�   r   Úfiler†   ÚdecodedrR   s              r   Útest_encoding_errorsrr  9  sg  € ð ,€CØ€Là�‚Ø˜Ñ%¨Ñ-°¸qÑ0@Ñ@À4ÑGÈ,ÑVˆÜœŸ™°Ô2‰ð Ø˜QÑñàñð ñð ñ	ð
 ñð ñð 	ô œŸ™¨gÔ6ˆÜ	�‰Ó	ð 0˜dÜ�D‹zˆØ×Ñ˜Ô!à˜iÒ'Ü—‘Ô1¸Ô=ñ >Ù�t¨_Õ=÷>ð >ñ ˜¨oÔ>ˆBØ"×)Ñ)°Ð)ÓAˆGÜ—|‘| W¨w¨iÐ$8ÀÈ1ÁÀÔNˆHÜ×!Ñ! " hÔ/÷0ð 0÷
>ð >ú÷0ð 0ús%   Â =D6Â=D*ÃAD6Ä*D3	Ä/D6Ä6D?c                  óæ   — t        j                  «       5 } t        j                  t        d¬«      5  t        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)Nzunknown error handler namer®   rV   Úbadri  )rF   rG   rD   r±   ÚLookupErrorr    r[   r   s    r   Útest_bad_encdoing_errorsrv  \  s\   € ä	�‰Ó	ð 5˜dÜ�]‰]œ;Ð.JÔKñ 	5Ü�O‰O˜D #¨eÕ4÷	5÷5ð 5÷	5ð 	5ú÷5ð 5ús"   •A'±AÁ
A'ÁA$	Á A'Á'A0c                  óÎ   — t        j                  t        d¬«      5 } t        j                  d«       | j
                  t
        j                  k(  sJ ‚	 d d d «       y # 1 sw Y   y xY w)Nz\[Errno 2\]r®   Údoesnt_exist)rD   r±   r  r   r�   ÚerrnoÚENOENT)r  s    r   Útest_errno_attributer{  c  sJ   € ä	�‰Ô(°Ô	@ð )ÀCÜ
�‰�NÔ#Ø�y‰yœEŸL™LÒ(Ð(Ñ(÷)÷ )ñ )ús   œ5AÁA$c                  óÒ   — t        j                  t        d¬«      5  t        «       5 } t	        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  r®   rh   T)r   )rD   r±   r   r   r    r[   )r#  s    r   Útest_fail_mmapr}  j  sW   € Ü	�‰Ô+°8Ô	<ñ ;Ü‹Yð 	;˜&Ü�O‰O˜F D°TÕ:÷	;÷;ð ;÷	;ð 	;ú÷;ð ;ús"   œA§AÁ AÁA	ÁAÁA&c                  óL  —  G d„ d«      } t        j                  t        d¬«      5  t        «       5 }t	        j
                  |d«      5 }|j                  j                   | «       «       d d d «       d d d «       d d d «       y # 1 sw Y   ŒxY w# 1 sw Y   ŒxY w# 1 sw Y   y xY w)Nc                   ó   — e Zd Zd„ Zy)ú&test_close_on_error.<locals>.TestErrorc                 ó   — t        d«      ‚)NÚtest)r  r   s    r   Úclosez,test_close_on_error.<locals>.TestError.closes  s   € Ü˜&“/Ð!r   N)r   r   r   rƒ  r   r   r   Ú	TestErrorr€  r  s   „ ó	"r   r„  r‚  r®   rh   )rD   r±   r  r   r    r[   Úcreated_handlesÚappend)r„  r#  r_   s      r   Útest_close_on_errorr‡  p  s�   € ÷"ñ "ô 
�‰”w fÔ	-ñ <Ü‹Yð 	<˜&Ü—‘ ¨Ó.ð <°'Ø×'Ñ'×.Ñ.©y«{Ô;÷<÷	<÷<ð <÷<ð <ú÷	<ð 	<ú÷<ð <ús:   ¦B±BÁ!BÁ)BÁ1BÂBÂBÂB	ÂBÂB#r�   c                 ón   — t        «       5 }t        j                  | |«       d d d «       y # 1 sw Y   y xY wr   )r   rž   Údump)r�   r#  s     r   Útest_pickle_readerrŠ  |  s.   € ô  
‹ð $�fÜ�‰�F˜FÔ#÷$÷ $ñ $ús   ‹+«4)Hr   rU  ry  Ú	functoolsr   rÐ   r   r   r   r  r"   Úpathlibr   rž   rW   Únumpyr9  rD   Úpandas.compatr   Úpandas.util._test_decoratorsÚutilÚ_test_decoratorsrû   Úpandasr   Úpandas._testingÚ_testingrF   Úpandas.io.commonÚcommonr    rý   ÚfilterwarningsÚ
pytestmarkr
   r   rÿ   Úpy.pathr   r6   r†  ÚImportErrorr   r5   ÚdirnameÚ__file__r°   r   Úfixturer  r  rQ  rþ   rV  r[  r`  rr  rv  r{  r}  r‡  r�   r  rí   r  rù   r  r  r  r  rŠ  r   r   r   ú<module>rž     sP  ðñó Û Ý ÷ñ ó
 Û 	Ý Û Û ã Û å -ß )Ð )ã Ý ç Ð à�[‰[×'Ñ'ØCó€
÷
ñ ð �< Ð&€
ð	Ý*à×Ñ�iÔ ð 
‡w�w‡��r—w‘w—‘ xÓ0Ó1€÷P0ñ P0ðf
 ‡�ñ:ó ð:÷[Oñ [Oò|Eð ‡�×Ñ˜ d¨G _Ó5Ø‡�×Ñ˜ E¨6 ?Ó3ñ(ó 4ó 6ð(ò$(ð" ‡�×ÑØà	�#ÐCÐDØ	�3Ð?Ð@ðóñ5óð5ð ‡�×ÑÐ*Ò,GÓHØ‡�×Ñ˜ E¨6 ?Ó3ñ0ó 4ó Ið0òB5ò)ò;ò	<ð ‡�×ÑØà
�‰Ø
�‰Ø
�‰Ø
�‰Ø
�‰Ø
�‰Ø
�‰Ø
�‰Ø
�‰ð
óñ$óñ$øðo ò 	Úð	ús   ÂI ÉIÉI