§
    tŠtjáõ  ã                  óx  — d dl mZ d dlmZmZ d dlmZ d dlm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mZ d dlZd dlZd dlmc mZ d dlZd d	lmZmZmZmZmZ d dl m!Z" g d
¢Z# ej$        d ej%        d¦  «        g¬¦  «         ej$        d ej%        d¦  «        g¬¦  «         ej$        d ej%        d¦  «        g¬¦  «         ej$        d ej%        d¦  «        ¬¦  «         ej$        d ej%        d¦  «        ¬¦  «         ej$        d ej%        d¦  «        ¬¦  «        gZ&d+d„Z'd„ Z( ej)        d„ e&D ¦   «         e*¬¦  «        d„ ¦   «         Z+ej)        d„ ¦   «         Z,ej)        d„ ¦   «         Z-ej)        d„ ¦   «         Z.ej)        d„ ¦   «         Z/d,d!„Z0d-d%„Z1d&„ Z2 G d'„ d(¦  «        Z3 G d)„ d*¦  «        Z4dS ).é    )Úannotations)ÚdatetimeÚtime)Úpartial)ÚBytesION)ÚPath)ÚURLError)Ú
BadZipFile)Ú	DataFrameÚIndexÚ
MultiIndexÚSeriesÚread_csv)ú.xlsú.xlsxú.xlsmú.xlsbú.odsÚxlrd©ÚmarksÚopenpyxlÚpyxlsbÚodfÚcalamineÚpython_calamineÚread_extÚstrÚreturnÚboolc                óÀ   — | j         d         } | dk    r|dk    rdS | dk    r|dk    rdS |dk    r| dvrdS | dk    r|d	k    rdS |d	k    r| d
vrdS | dk    r|dk    rdS dS )zm
    Filter out invalid (engine, ext) pairs instead of skipping, as that
    produces 500+ pytest.skips.
    r   r   r   Fr   r   >   r   r   r   r   >   r   r   r   T)Úvalues)Úenginer   s     ú`/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/pandas/tests/io/excel/test_readers.pyÚ_is_valid_engine_ext_pairr%   =   s±   € ð
 Œ]˜1Ô€FØ�ÒÐ ¨FÒ 2Ð 2ØˆuØ�‚€˜8 vÒ-Ð-ØˆuØ�6ÒÐ˜fÐ,?Ð?Ð?ØˆuØ�ÒÐ˜h¨'Ò1Ð1ØˆuØ�7ÒÐ˜vÐ-CÐCÐCØˆuØ�ÒÐ˜H¨Ò.Ð.ØˆuØˆ4ó    c                óT   — g | j         ¢|‘R }t          j        || j        ¬¦  «        }|S )z�
    engine gives us a pytest.param object with some marks, read_ext is just
    a string.  We need to generate a new pytest.param inheriting the marks.
    r   )r"   ÚpytestÚparamr   )r#   r   r"   Ú	new_params       r$   Ú_transfer_marksr+   R   s4   € ð
 (ˆvŒ}Ð'˜hÐ'Ð'€FÝ”˜V¨6¬<Ð8Ñ8Ô8€IØÐr&   c                ób   — g | ],}t           D ]"}t          ||¦  «        ¯t          ||¦  «        ‘Œ#Œ-S © )Úread_ext_paramsr%   r+   )Ú.0ÚengÚexts      r$   ú
<listcomp>r2   ]   sY   € ð ð ð àÝ"ðð ð Ý$ S¨#Ñ.Ô.ð	Ý˜˜SÑ!Ô!ðð ð ð r&   )ÚparamsÚidsc                ó   — | j         S )zS
    Fixture for Excel reader engine and read_ext, only including valid pairs.
    )r)   )Úrequests    r$   Úengine_and_read_extr7   \   s   € ð Œ=Ðr&   c                ó   — | \  }}|S ©Nr-   ©r7   r#   r   s      r$   r#   r#   l   s   € à*Ñ€FˆHØ€Mr&   c                ó   — | \  }}|S r9   r-   r:   s      r$   r   r   r   s   € à*Ñ€FˆHØ€Or&   c                ó|   — |t          j        ¦   «         › | › �z  }|                     ¦   «          t          |¦  «        S r9   )ÚuuidÚuuid4Útouchr   )r   Útmp_pathÚtmps      r$   Ú	tmp_excelrB   x   s5   € à
�œ
™œÐ0 hÐ0Ð0Ñ
0€CØ‡I‚I�K„K€KÝˆs‰8Œ8€Or&   c                óH   —  | dddd¦  «        }t          |ddd¬¦  «        }|S )	zI
    Obtain the reference data from read_csv with the Python engine.
    ÚioÚdataÚcsvz	test1.csvr   TÚpython)Ú	index_colÚparse_datesr#   )r   )ÚdatapathÚfilepathÚdf_refs      r$   rL   rL      s4   € ð
 ˆx˜˜f e¨[Ñ9Ô9€HÝ�h¨!¸ÀhÐOÑOÔO€FØ€Mr&   r#   ú
str | Nonec                ó   — dS )NÚusr-   )r   r#   s     r$   Úget_exp_unitrP   ‰   s   € Øˆ4r&   Úexpectedr   ÚNonec                ó|   — d | j         _        t          ||¦  «        }| j                              |¦  «        | _         d S r9   )ÚindexÚnamerP   Úas_unit)rQ   r   r#   Úunits       r$   Úadjust_expectedrX   �   s6   € Ø€H„NÔÝ˜ &Ñ)Ô)€Dà”^×+Ò+¨DÑ1Ô1€H„N€N€Nr&   c                ó|   — | dk    r5|                      t          j                             d¬¦  «        ¦  «         d S d S )Nr   z3Sheets containing datetimes not supported by pyxlsb©Úreason)Úapplymarkerr(   ÚmarkÚxfail)r#   r6   s     r$   Úxfail_datetimes_with_pyxlsbr_   ”   sT   € Ø�ÒÐØ×ÒÝŒK×ÒØLð ñ ô ñ	
ô 	
ð 	
ð 	
ð 	
ð Ðr&   c                  ó‚  — e Zd Zej                             dg d¢dgddgg¦  «        d„ ¦   «         Zd„ Z ej        d¬¦  «        d„ ¦   «         Z	d	„ Z
d
„ Zd„ Zd„ Zd„ Zej                             dg d¢g d¢g d¢g d¢g d¢g d¢g¦  «        d„ ¦   «         Zej                             dddgddgg¦  «        d„ ¦   «         Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zej                             dd d!g¦  «        d"„ ¦   «         Zd#„ Zd$„ Zd%„ Zd&„ Zd'„ Zd(„ Zd)„ Zd*„ Zej                             d+d g d,¢g d-¢g d,¢d.d/e j!        d0gd1œfd2d3e"e"d1œ e#g d,¢d2¬4¦  «         e#g d-¢d3¬4¦  «         e#g d5¢d6¬4¦  «         e#d7d8e j!        d9gd6¬4¦  «        d1œfg¦  «        d:„ ¦   «         Z$d;„ Z%d<„ Z&d=„ Z'ej                             d>i d?fd@dAid?fg¦  «        dB„ ¦   «         Z(dC„ Z)ej                             dDdE e*dFdGgi¦  «        fdH e*dIg¬J¦  «        fg¦  «        dK„ ¦   «         Z+dL„ Z,dM„ Z-dN„ Z.dO„ Z/dP„ Z0dQ„ Z1ej         2                    dR¦  «        dS„ ¦   «         Z3dT„ Z4dU„ Z5dV„ Z6ej                             dWdXdYdXgdXdYgdZd[dZgdZd[gg¦  «        d\„ ¦   «         Z7d]„ Z8d^„ Z9ej        j:        ej        j;        d_„ ¦   «         ¦   «         Z<e=j>        ej        j;        d`„ ¦   «         ¦   «         Z?ej        j;        da„ ¦   «         Z@ej        jA        db„ ¦   «         ZBdc„ ZCdd„ ZDde„ ZEdf„ ZFej                             dgdhe j!        didjdigfdke j!        gdlz  fg¦  «        dm„ ¦   «         ZGdn„ ZHdo„ ZIdp„ ZJdq„ ZKdr„ ZLds„ ZMdt„ ZNdu„ ZOej                             dvdwdxdYd?gdYd fdwdyd dYd?gd fdwdzdYd?gdYd?gd fdwd{dYd?gdYd fd|d}d d dYd!gfd|d}d d d~„ fg¦  «        d„ ¦   «         ZPd€„ ZQd�„ ZRd‚„ ZSdƒ„ ZTd„„ ZUd…„ ZVd†„ ZWd‡„ ZXd S )ˆÚTestReadersÚcol)TNFTFc                óì   — |dv rt          j        d|› d�¦  «         t          d|id¬¦  «        }|                     |d¬¦  «         t	          j        |ddi¬¦  «        }t          j        ||¦  «         d S )	N©r   r   úNo engine for filetype: 'ú'Úbool_columnÚboolean©ÚdtypeF)rT   )r(   Úskipr   Úto_excelÚpdÚ
read_excelÚtmÚassert_frame_equal)Úselfrb   rB   r   ÚdfÚdf2s         r$   Útest_read_excel_type_checkz&TestReaders.test_read_excel_type_checkž   s‹   € ð Ð(Ð(Ð(ÝŒKÐ?°HÐ?Ð?Ð?Ñ@Ô@Ð@Ý˜ sÐ+°9Ð=Ñ=Ô=ˆØ
�Š�I UˆÑ+Ô+Ð+ÝŒm˜I¨m¸YÐ-GÐHÑHÔHˆÝ
Ô˜b #Ñ&Ô&Ð&Ð&Ð&r&   c           	     ó  —  |dddd¦  «        }t          j        |¦  «        5 }t          j        |ddg d¢dd	¬
¦  «        }d d d ¦  «         n# 1 swxY w Y   t          dg d¢id¬¦  «        }t	          j        ||¦  «         d S )NrD   rE   Úexcelztest_none_type.xlsxÚSheet1T)ÚnanrR   Úabcdrh   r   )Ú
sheet_nameÚkeep_default_naÚ	na_valuesrj   r#   ÚTest)TNFNFNTri   )rm   Ú	ExcelFilern   r   ro   rp   )rq   rJ   Úf_pathrv   ÚparsedrQ   s         r$   Útest_pass_none_typezTestReaders.test_pass_none_type¨   së   € à�˜$ ¨Ð1FÑGÔGˆåŒ\˜&Ñ!Ô!ð 	 UÝ”]ØØ#Ø $Ø1Ð1Ð1ØØ!ðñ ô ˆFð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	õ ØÐAÐAÐAÐBØð
ñ 
ô 
ˆõ
 	Ô˜f hÑ/Ô/Ð/Ð/Ð/s   £AÁAÁA©Úautousec                ó´   — t          t          j        |¬¦  «        }|                      |ddd¦  «        ¦  «         |                     t          d|¦  «         dS )zG
        Change directory and set engine for read_excel calls.
        ©r#   rD   rE   rv   rn   N)r   rm   rn   ÚchdirÚsetattr©rq   r#   rJ   ÚmonkeypatchÚfuncs        r$   Úcd_and_set_enginezTestReaders.cd_and_set_engine¼   sX   € õ
 •r”}¨VÐ4Ñ4Ô4ˆØ×Ò˜(˜( 4¨°Ñ9Ô9Ñ:Ô:Ð:Ø×Ò�B ¨dÑ3Ô3Ð3Ð3Ð3r&   c                ó  — d„ }|                      t          j        d|¦  «         ddddddœ}t          d|z   d	¦  «        5 }t          j        |¦  «        }d d d ¦  «         n# 1 swxY w Y   |�|}n||d
d …                  }||k    sJ ‚d S )Nc                ó   — | j         S r9   r…   )rq   ÚargsÚkwargss      r$   Úparserz,TestReaders.test_engine_used.<locals>.parserÇ   s
   € Ø”;Ðr&   Úparser   r   r   r   ©ÚxlsxÚxlsmÚxlsbÚxlsÚodsÚtest1Úrbé   )r‡   rm   r~   Úopenrn   )	rq   r   r#   r‰   r�   Úexpected_defaultsÚfÚresultrQ   s	            r$   Útest_engine_usedzTestReaders.test_engine_usedÅ   sû   € ð	ð 	ð 	ð 	×Ò�BœL¨'°6Ñ:Ô:Ð:ð ØØØØð
ð 
Ðõ �'˜HÑ$ dÑ+Ô+ð 	&¨qÝ”] 1Ñ%Ô%ˆFð	&ð 	&ð 	&ñ 	&ô 	&ð 	&ð 	&ð 	&ð 	&ð 	&ð 	&øøøð 	&ð 	&ð 	&ð 	&ð ÐØˆHˆHà(¨°!°"°"¬Ô6ˆHØ˜Ò!Ð!Ð!Ð!Ð!Ð!s   Á A!Á!A%Á(A%c           
     ó|  — ddiddiddiddiddidœ}|dv rt          j        d¦  «        }n/|d	k    rt          j        d
¦  «        }nt          j        d¦  «        }|�_t          j        t          |¬¦  «        5  t          j        d|z   dd||dd …                  ¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S d S )NÚfoory   é{   ÚTrueTr’   >   r   r   z8open_workbook() got an unexpected keyword argument 'foo'r   z/load() got an unexpected keyword argument 'foo'z8load_workbook() got an unexpected keyword argument 'foo'©Úmatchr˜   rw   r   rš   )rz   rH   Úengine_kwargs)ÚreÚescaper(   ÚraisesÚ	TypeErrorrm   rn   )rq   r   r#   rœ   Úmsgs        r$   Útest_engine_kwargszTestReaders.test_engine_kwargsÝ   s=  € ð ˜F�OØ˜C�LØ˜F�OØ˜4�=Ø˜6�?ð
ð 
Ðð Ð'Ð'Ð'Ý”)ÐWÑXÔXˆCˆCØ�uŠ_ˆ_Ý”)ÐNÑOÔOˆCˆCå”)ÐWÑXÔXˆCàÐÝ”�y°Ð4Ñ4Ô4ð ð Ý”Ø˜hÑ&Ø'ØØ"3°H¸Q¸R¸R´LÔ"Að	ñ ô ð ðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð ð Ðs   Á8*B/Â/B3Â6B3c                óH  — d}t          j        t          |¬¦  «        5  t          j        d|z   ddd¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          |¬¦  «        5  t          j        d|z   dd	gdd¬
¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nz Passing an integer for `usecols`r¤   r˜   rw   r   é   ©rz   rH   ÚusecolsÚSheet2rš   ©rz   ÚskiprowsrH   r°   ©r(   r©   Ú
ValueErrorrm   rn   ©rq   r   r«   s      r$   Útest_usecols_intzTestReaders.test_usecols_int÷   sB  € à0ˆÝŒ]�:¨SÐ1Ñ1Ô1ð 	ð 	ÝŒMØ˜(Ñ"¨xÀ1Èaðñ ô ð ð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	õ Œ]�:¨SÐ1Ñ1Ô1ð 	ð 	ÝŒMØ˜(Ñ"Ø#Ø˜ØØðñ ô ð ð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	s#   žAÁA
ÁA
Á,BÂBÂBc                ó(  — t          ||¦  «         |ddg         }t          |||¦  «         t          j        d|z   ddg d¢¬¦  «        }t          j        d|z   dd	gdg d¢¬
¦  «        }t	          j        ||¦  «         t	          j        ||¦  «         d S )NÚBÚCr˜   rw   r   )r   é   r®   r¯   r±   rš   r²   ©r_   rX   rm   rn   ro   rp   )rq   r6   r#   r   rL   rQ   Údf1rs   s           r$   Útest_usecols_listzTestReaders.test_usecols_list	  sº   € Ý# F¨GÑ4Ô4Ð4à˜3 ˜*Ô%ˆÝ˜ (¨FÑ3Ô3Ð3åŒmØ�hÑ¨8¸qÈ)È)È)ð
ñ 
ô 
ˆõ ŒmØ�hÑØØ�SØØ�I�Ið
ñ 
ô 
ˆõ 	Ô˜c 8Ñ,Ô,Ð,Ý
Ô˜c 8Ñ,Ô,Ð,Ð,Ð,r&   c                óÞ  — t          ||¦  «         |g d¢         }t          |||¦  «         t          j        d|z   ddd¬¦  «        }t          j        d|z   ddgdd¬	¦  «        }t	          j        ||¦  «         t	          j        ||¦  «         |d
dg         }t          |||¦  «         t          j        d|z   ddd¬¦  «        }t          j        d|z   ddgdd¬	¦  «        }t	          j        ||¦  «         t	          j        ||¦  «         t          j        d|z   ddd¬¦  «        }t          j        d|z   ddgdd¬	¦  «        }t	          j        ||¦  «         t	          j        ||¦  «         d S )N©ÚAr¹   rº   r˜   rw   r   zA:Dr¯   r±   rš   r²   r¹   rº   zA,C,DzA,C:Dr¼   )rq   r6   r#   r   rL   rQ   rs   Údf3s           r$   Útest_usecols_strzTestReaders.test_usecols_str  sÆ  € Ý# F¨GÑ4Ô4Ð4à˜/˜/˜/Ô*ˆÝ˜ (¨FÑ3Ô3Ð3åŒmØ�hÑ¨8¸qÈ%ð
ñ 
ô 
ˆõ ŒmØ�hÑØØ�SØØð
ñ 
ô 
ˆõ 	Ô˜c 8Ñ,Ô,Ð,Ý
Ô˜c 8Ñ,Ô,Ð,à˜3 ˜*Ô%ˆÝ˜ (¨FÑ3Ô3Ð3åŒmØ�hÑ¨8¸qÈ'ð
ñ 
ô 
ˆõ ŒmØ�hÑØØ�SØØð
ñ 
ô 
ˆõ 	Ô˜c 8Ñ,Ô,Ð,Ý
Ô˜c 8Ñ,Ô,Ð,åŒmØ�hÑ¨8¸qÈ'ð
ñ 
ô 
ˆõ ŒmØ�hÑØØ�SØØð
ñ 
ô 
ˆõ 	Ô˜c 8Ñ,Ô,Ð,Ý
Ô˜c 8Ñ,Ô,Ð,Ð,Ð,r&   r°   )r   rš   r®   )r   r®   rš   )rš   r   r®   )rš   r®   r   )r®   r   rš   )r®   rš   r   c                ó¼   — t          ||¦  «         |ddg         }t          |||¦  «         t          j        d|z   dd|¬¦  «        }t	          j        ||¦  «         d S )NrÁ   rº   r˜   rw   r   r¯   r¼   )rq   r6   r#   r   r°   rL   rQ   rž   s           r$   Ú.test_usecols_diff_positional_int_columns_orderz:TestReaders.test_usecols_diff_positional_int_columns_orderQ  ss   € õ 	$ F¨GÑ4Ô4Ð4à˜3 ˜*Ô%ˆÝ˜ (¨FÑ3Ô3Ð3å”Ø�hÑ¨8¸qÈ'ð
ñ 
ô 
ˆõ 	Ô˜f hÑ/Ô/Ð/Ð/Ð/r&   r¹   ÚDc                óº   — |ddg         }t          t          |¦  «        ¦  «        |_        t          j        d|z   d|¬¦  «        }t          j        ||¦  «         d S )Nr¹   rÆ   r˜   rw   ©rz   r°   )ÚrangeÚlenrT   rm   rn   ro   rp   )rq   r   r°   rL   rQ   rž   s         r$   Ú.test_usecols_diff_positional_str_columns_orderz:TestReaders.test_usecols_diff_positional_str_columns_ordera  sZ   € à˜3 ˜*Ô%ˆÝ�s 8™}œ}Ñ-Ô-ˆŒå”˜w¨Ñ1¸hÐPWÐXÑXÔXˆÝ
Ô˜f hÑ/Ô/Ð/Ð/Ð/r&   c                óª   — t          ||¦  «         |}t          |||¦  «         t          j        d|z   dd¬¦  «        }t	          j        ||¦  «         d S ©Nr˜   rw   r   ©rz   rH   r¼   ©rq   r6   r#   r   rL   rQ   rž   s          r$   Útest_read_excel_without_slicingz+TestReaders.test_read_excel_without_slicingi  s^   € Ý# F¨GÑ4Ô4Ð4àˆÝ˜ (¨FÑ3Ô3Ð3å”˜w¨Ñ1¸hÐRSÐTÑTÔTˆÝ
Ô˜f hÑ/Ô/Ð/Ð/Ð/r&   c                ó¼   — t          ||¦  «         |ddg         }t          |||¦  «         t          j        d|z   ddd¬¦  «        }t	          j        ||¦  «         d S )Nrº   rÆ   r˜   rw   r   zA,D:Er¯   r¼   rÏ   s          r$   Útest_usecols_excel_range_strz(TestReaders.test_usecols_excel_range_strr  sq   € Ý# F¨GÑ4Ô4Ð4à˜3 ˜*Ô%ˆÝ˜ (¨FÑ3Ô3Ð3å”Ø�hÑ¨8¸qÈ'ð
ñ 
ô 
ˆõ 	Ô˜f hÑ/Ô/Ð/Ð/Ð/r&   c                ó¦   — d}t          j        t          |¬¦  «        5  t          j        d|z   dd¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NzInvalid column name: E1r¤   r˜   rw   zD:E1rÈ   r´   r¶   s      r$   Ú$test_usecols_excel_range_str_invalidz0TestReaders.test_usecols_excel_range_str_invalid}  s°   € Ø'ˆåŒ]�:¨SÐ1Ñ1Ô1ð 	Sð 	SÝŒM˜' HÑ,¸È6ÐRÑRÔRÐRð	Sð 	Sð 	Sñ 	Sô 	Sð 	Sð 	Sð 	Sð 	Sð 	Sð 	Sð 	Søøøð 	Sð 	Sð 	Sð 	Sð 	Sð 	Só   žAÁA
ÁA
c                ó®   — d}t          j        t          |¬¦  «        5  t          j        d|z   ddgddg¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nz(list indices must be integers.*, not strr¤   r˜   rw   rÁ   rº   r¯   ©r(   r©   rª   rm   rn   r¶   s      r$   Útest_index_col_label_errorz&TestReaders.test_index_col_label_errorƒ  s°   € Ø8ˆåŒ]�9¨CÐ0Ñ0Ô0ð 	ð 	ÝŒMØ˜(Ñ"Ø#Ø˜%Ø˜c˜
ð	ñ ô ð ð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	s   žA
Á
AÁAc                ó¨   — t          j        d|z   dd¬¦  «        }t          g d¢t          g d¬¦  «        ¬¦  «        }t	          j        ||¦  «         d S )Nr˜   ÚSheet3rÁ   rÎ   )r¹   rº   rÆ   ÚEÚF©rU   ©ÚcolumnsrT   )rm   rn   r   r   ro   rp   ©rq   r   rž   rQ   s       r$   Útest_index_col_strzTestReaders.test_index_col_strŽ  se   € å”˜w¨Ñ1¸hÐRUÐVÑVÔVˆÝØ-Ð-Ð-µU¸2ÀCÐ5HÑ5HÔ5Hð
ñ 
ô 
ˆõ 	Ô˜f hÑ/Ô/Ð/Ð/Ð/r&   c           	     óÂ   — t          j        d|z   dg d¢¬¦  «        }t          g d¢t          g gdz  g gdz  g d¢¬¦  «        ¬¦  «        }t	          j        ||¦  «         d S )	Nr˜   rÚ   rÀ   rÎ   )rÆ   rÛ   rÜ   r®   ©ÚlevelsÚcodesÚnamesrÞ   )rm   rn   r   r   ro   rp   rà   s       r$   Útest_index_col_emptyz TestReaders.test_index_col_empty–  s‚   € å”Ø�hÑ¨8¸¸¸ð
ñ 
ô 
ˆõ Ø#�O�OÝ R D¨1¡H°R°D¸1±HÀOÀOÀOÐTÑTÔTð
ñ 
ô 
ˆõ 	Ô˜f hÑ/Ô/Ð/Ð/Ð/r&   rH   Nr»   c                óÚ   — t          j        d|z   d|¬¦  «        }t          g d¢g d¢gg d¢¬¦  «        }|r |                     |j        |         ¦  «        }t          j        ||¦  «         d S )Nr˜   ÚSheet4rÎ   )Úi1ÚaÚx)Úi2ÚbÚy)z
Unnamed: 0Úcol1Úcol2©rß   )rm   rn   r   Ú	set_indexrß   ro   rp   )rq   r   rH   rž   rQ   s        r$   Útest_index_col_with_unnamedz'TestReaders.test_index_col_with_unnamed¡  s™   € õ ”Ø�hÑ¨8¸yð
ñ 
ô 
ˆõ ØÐÐÐ/Ð/Ð/Ð0Ð:XÐ:XÐ:Xð
ñ 
ô 
ˆð ð 	GØ×)Ò)¨(Ô*:¸9Ô*EÑFÔFˆHå
Ô˜f hÑ/Ô/Ð/Ð/Ð/r&   c                ó¦   — d}t          j        t          |¬¦  «        5  t          j        d|z   dg¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NzEUsecols do not match columns, columns expected but not found: \['E'\]r¤   r˜   rÛ   ©r°   r´   r¶   s      r$   Ú%test_usecols_pass_non_existent_columnz1TestReaders.test_usecols_pass_non_existent_column¯  s£   € ðð 	õ Œ]�:¨SÐ1Ñ1Ô1ð 	=ð 	=ÝŒM˜' HÑ,°s°eÐ<Ñ<Ô<Ð<ð	=ð 	=ð 	=ñ 	=ô 	=ð 	=ð 	=ð 	=ð 	=ð 	=ð 	=ð 	=øøøð 	=ð 	=ð 	=ð 	=ð 	=ð 	=rÕ   c                ó¨   — d}t          j        t          |¬¦  «        5  t          j        d|z   ddg¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nz['usecols' must either be list-like of all strings, all unicode, all integers or a callable.r¤   r˜   ÚE1r   rö   r´   r¶   s      r$   Útest_usecols_wrong_typez#TestReaders.test_usecols_wrong_type¹  sº   € ðDð 	õ
 Œ]�:¨SÐ1Ñ1Ô1ð 	Að 	AÝŒM˜' HÑ,°t¸Q°iÐ@Ñ@Ô@Ð@ð	Að 	Að 	Añ 	Aô 	Að 	Að 	Að 	Að 	Að 	Að 	Að 	Aøøøð 	Að 	Að 	Að 	Að 	Að 	As   žAÁAÁAc                óŽ   — t          j        d|z   d¬¦  «        }t          ddggddg¬¦  «        }t          j        ||¦  «         d S )	NÚtest2rw   ©rz   ÚaaaaÚbbbbbr}   ÚTest1rò   ©rm   rn   r   ro   rp   )rq   r   r€   rQ   s       r$   Útest_excel_stop_iteratorz$TestReaders.test_excel_stop_iteratorÂ  sS   € Ý”˜w¨Ñ1¸hÐGÑGÔGˆÝ˜v wÐ/Ð0¸6À7Ð:KÐLÑLÔLˆÝ
Ô˜f hÑ/Ô/Ð/Ð/Ð/r&   c                ó<  — t          ||¦  «         |dk    r9|dk    r3|                     t          j                             d¬¦  «        ¦  «         t          j        d|z   d¬¦  «        }t          t          j	        ggdg¬	¦  «        }t          j        ||¦  «         d S )
Nr   r   z+Calamine can't extract error from ods filesrZ   Útest3rw   rý   r}   rò   )r_   r\   r(   r]   r^   rm   rn   r   Únprx   ro   rp   )rq   r6   r#   r   r€   rQ   s         r$   Útest_excel_cell_error_naz$TestReaders.test_excel_cell_error_naÇ  s¦   € Ý# F¨GÑ4Ô4Ð4ð �ZÒÐ H°Ò$6Ð$6Ø×ÒÝ”×!Ò!Ð)VÐ!ÑWÔWñô ð õ ”˜w¨Ñ1¸hÐGÑGÔGˆÝ�rœv˜h˜Z°&°Ð:Ñ:Ô:ˆÝ
Ô˜f hÑ/Ô/Ð/Ð/Ð/r&   c                ó†  — t          ||¦  «         |}t          |||¦  «         t          j        d|z   dd¬¦  «        }t          j        d|z   ddgd¬¦  «        }t	          j        ||¦  «         t	          j        ||¦  «         t          j        d|z   ddd¬¦  «        }t	          j        ||j        d d	…         ¦  «         d S )
Nr˜   rw   r   rÎ   r±   rš   ©rz   r³   rH   ©rz   rH   Ú
skipfooteréÿÿÿÿ)r_   rX   rm   rn   ro   rp   Úiloc)	rq   r6   r#   r   rL   rQ   r½   rs   rÂ   s	            r$   Útest_excel_tablezTestReaders.test_excel_tableÔ  sÛ   € Ý# F¨GÑ4Ô4Ð4àˆÝ˜ (¨FÑ3Ô3Ð3åŒm˜G hÑ.¸8ÈqÐQÑQÔQˆÝŒmØ�hÑ¨8¸q¸cÈQð
ñ 
ô 
ˆõ 	Ô˜c 8Ñ,Ô,Ð,Ý
Ô˜c 8Ñ,Ô,Ð,åŒmØ�hÑ¨8¸qÈQð
ñ 
ô 
ˆõ 	Ô˜c 3¤8¨C¨R¨C¤=Ñ1Ô1Ð1Ð1Ð1r&   c                óÖ  — t          ||¦  «         t          ||¦  «        }t          j        g d¢g d¢g d¢g d¢g d¢t	          t          ddd¦  «        t          ddd	¦  «        t          d
dd¦  «        t          ddd¦  «        t          ddd¦  «        gd|› d�¬¦  «        dœ¦  «        }d}t          j        ||z   d¬¦  «        }t          j	        ||¦  «         | 
                    ¦   «         }d|j        |j        d         df<   t          j        ||z   d¬¦  «        }t          j	        ||¦  «         t          |j        ¦  «        D ]I\  }	}
t          j        ||z   d|	¬¦  «        }|                     |
¦  «        }t          j	        ||¦  «         ŒJ|d                              t"          ¦  «        |d<   t          j        ||z   ddt"          i¬¦  «        }t          j	        ||¦  «         d S )N)rš   r»   éýÿÿÿé   r   )g      ô?g      @gHáz®Gý?g¸…ëQ¸þ?g•Ö&è.>)TFTTF)rš   r»   r®   r  é   )rë   r®   ÚcÚdÚeiÝ  é
   é   é   iq  rš   é   é   iß  r®   úM8[ú]ri   )ÚIntColÚFloatColÚBoolColÚStrColÚStr2ColÚDateColÚ
test_typesrw   rý   g      @r   rÎ   r  ©rz   Ú
converters)r_   rP   r   Ú	from_dictr   r   rm   rn   ro   rp   ÚcopyÚlocrT   Ú	enumeraterß   ró   Úapplyr   )rq   r6   r#   r   rW   rQ   ÚbasenameÚactualÚfloat_expectedÚicolrU   Úexps               r$   Útest_reader_special_dtypesz&TestReaders.test_reader_special_dtypesç  s,  € Ý# F¨GÑ4Ô4Ð4å˜H fÑ-Ô-ˆÝÔ&à*Ð*Ð*ØBÐBÐBØ;Ð;Ð;Ø)˜/˜/Ø2Ð2Ð2Ý å   r¨2Ñ.Ô.Ý   r¨2Ñ.Ô.Ý   q¨!Ñ,Ô,Ý   r¨2Ñ.Ô.Ý   q¨"Ñ-Ô-ðð ( ˜-˜-˜-ð	ñ 	ô 	ðð ñ
ô 
ˆð&  ˆõ ”˜x¨(Ñ2¸xÐHÑHÔHˆÝ
Ô˜f hÑ/Ô/Ð/ð "Ÿš™œˆØADˆÔ˜>Ô/°Ô2°IÐ=Ñ>Ý”˜x¨(Ñ2¸xÐHÑHÔHˆÝ
Ô˜f nÑ5Ô5Ð5õ $ HÔ$4Ñ5Ô5ð 	/ð 	/‰JˆD�$Ý”]Ø˜8Ñ#°ÀDðñ ô ˆFð ×$Ò$ TÑ*Ô*ˆCÝÔ! &¨#Ñ.Ô.Ð.Ð.à% hÔ/×5Ò5µcÑ:Ô:ˆ�ÑÝ”Ø�xÑ¨HÀ(ÍCÀð
ñ 
ô 
ˆõ 	Ô˜f hÑ/Ô/Ð/Ð/Ð/r&   c           
     óô   — d}t          j        g d¢dt          j        dddgg d¢dt          j        d	d
dgdœ¦  «        }d„ d„ d„ d„ dœ}t	          j        ||z   d|¬¦  «        }t          j        ||¦  «         d S )NÚtest_converters)rš   r»   r  éüÿÿr   g      )@gÍÌÌÌÌL2@g3333333@g:Œ0âŽy5>)ÚFoundr3  r3  ú	Not foundr3  Ú1Ú3Ú4Ú5)r  r  r  r  c                ó0   — | dk    rt          | ¦  «        ndS )NÚ r2  )Úint©rì   s    r$   ú<lambda>z4TestReaders.test_reader_converters.<locals>.<lambda>&  s   € ¨!¨rª'¨'¥ A¡¤ °u€ r&   c                ó(   — | rd| z  nt           j        S )Nr  )r  rx   r<  s    r$   r=  z4TestReaders.test_reader_converters.<locals>.<lambda>'  s   € ¨AÐ"9 " q¡& &µ2´6€ r&   c                ó   — | dk    rdndS )Nr:  r3  r4  r-   r<  s    r$   r=  z4TestReaders.test_reader_converters.<locals>.<lambda>(  s   €  A¨¢G G˜˜°€ r&   c                ó(   — | rt          | ¦  «        ndS )Nr:  )r   r<  s    r$   r=  z4TestReaders.test_reader_converters.<locals>.<lambda>)  s   €  1Ð,�˜Q™œ˜¨"€ r&   )r  r  r»   r®   rw   r#  )r   r%  r  rx   rm   rn   ro   rp   )rq   r   r*  rQ   r$  r+  s         r$   Útest_reader_convertersz"TestReaders.test_reader_converters  sº   € Ø$ˆåÔ&à.Ð.Ð.Ø!¥2¤6¨4°°{ÐCØLÐLÐLØ¥¤¨¨S°#Ð6ð	ð ñ
ô 
ˆð =Ð<Ø9Ð9Ø<Ð<Ø,Ð,ð	
ð 
ˆ
õ ”Ø�xÑ¨HÀð
ñ 
ô 
ˆõ 	Ô˜f hÑ/Ô/Ð/Ð/Ð/r&   c           	     óf  — d}t          j        ||z   ¦  «        }t          g d¢g d¢g d¢ddt          j        dgdœ¦  «        }t          j        ||¦  «         t          j        ||z   dd	t          d
œ¬¦  «        }|d                              d¦  «        |d<   |d                              d	¦  «        |d<   t          g d¢d¬¦  «        |d<   t          j        ||¦  «         d}t          j        t          |¬¦  «        5  t          j        ||z   ddi¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NÚ	testdtype©rš   r»   r®   r  ©ç      @ç      @ç      @ç      @ç      ð?ç       @ç      @©rë   rî   r  r  Úfloat64Úfloat32)rë   rî   r  ri   rë   rî   ©Ú001Ú002Ú003Ú004r   r  z(Unable to convert column d to type int64r¤   r  Úint64)rm   rn   r   r  rx   ro   rp   r   Úastyper   r(   r©   rµ   )rq   r   r*  r+  rQ   r«   s         r$   Útest_reader_dtypezTestReaders.test_reader_dtype3  s°  € àˆÝ”˜x¨(Ñ2Ñ3Ô3ˆåà!�\�\Ø)Ð)Ð)Ø!�\�\Ø˜3¥¤¨Ð,ð	ð ñ
ô 
ˆõ 	Ô˜f hÑ/Ô/Ð/å”Ø�xÑ¨Y¸YÍSÐ'QÐ'Qð
ñ 
ô 
ˆð ! œ×,Ò,¨YÑ7Ô7ˆ�‰Ø  œ×,Ò,¨YÑ7Ô7ˆ�‰ÝÐ;Ð;Ð;À5ÐIÑIÔIˆ�‰Ý
Ô˜f hÑ/Ô/Ð/à8ˆÝŒ]�:¨SÐ1Ñ1Ô1ð 	Eð 	EÝŒM˜( XÑ-°c¸7°^ÐDÑDÔDÐDð	Eð 	Eð 	Eñ 	Eô 	Eð 	Eð 	Eð 	Eð 	Eð 	Eð 	Eð 	Eøøøð 	Eð 	Eð 	Eð 	Eð 	Eð 	Es   Ã=D&Ä&D*Ä-D*zdtype,expectedrD  rE  rJ  rK  rL  rM  rN  rO  ri   rP  r   r5  Ú2r7  c                ó„   — d}t          j        ||z   |¬¦  «        }t          |¦  «        }t          j        ||¦  «         d S )NrC  ri   r  )rq   r   rj   rQ   r*  r+  s         r$   Útest_reader_dtype_strz!TestReaders.test_reader_dtype_strP  sH   € ð2 ˆå”˜x¨(Ñ2¸%Ð@Ñ@Ô@ˆÝ˜XÑ&Ô&ˆÝ
Ô˜f hÑ/Ô/Ð/Ð/Ð/r&   c                ó˜  ‡‡	‡
— |dv rt          j        d|› d�¦  «         t          t          ddgd¬¦  «        t          dd	gd
¬¦  «        t          ddgd¬¦  «        t          ddgd¬¦  «        t          t          j        dgd¬¦  «        t          t          j        dgd
¬¦  «        t          t          j        dgd¬¦  «        t          t          j        dgd¬¦  «        t          t	          j        d¦  «        gdz  ¦  «        t          t          j        t          j        gd¬¦  «        dœ
¦  «        Š	‰	                     |dd¬¦  «         t	          j        |d|¬¦  «        }|dk    �rdd l	Š
ddl
mŠ t          ˆˆ	ˆ
fd„‰	j        D ¦   «         ¦  «        }|d                              t	          j        ‰
                     ¦   «         ¦  «        ¦  «        |d<   |d                              t	          j        ‰
                     ¦   «         ¦  «        ¦  «        |d<    ‰|d         j        j                             ‰
                     d ¬!¦  «        ¦  «        ¦  «        |d<    ‰‰
                     d d g¦  «        ¦  «        |d"<   n4‰	}t)          ||¦  «        }|d                              d#|› d$�¦  «        |d<   t+          j        ||¦  «         d S )%Nrd   re   rf   rš   r®   ÚInt64ri   rF  rH  ÚFloat64TFrh   rë   rî   Ústringé   g      @z
2019-12-31r»   )
rë   rî   r  r  r  r�   ÚgÚhÚiÚjÚtest©rz   rT   ©rz   Údtype_backendÚpyarrowr   )ÚArrowExtensionArrayc           	     ó^   •— i | ])}| ‰‰                      ‰|         d ¬¦  «        ¦  «        “Œ*S )T)Úfrom_pandas)Úarray)r/   rb   ri  rr   Úpas     €€€r$   ú
<dictcomp>z2TestReaders.test_dtype_backend.<locals>.<dictcomp>Œ  sK   ø€ ð ð ð àð Ð,Ð,¨R¯XªX°b¸´gÈ4¨XÑ-PÔ-PÑQÔQðð ð r&   r  ra  rb  rO   )rW   rc  r  r  )r(   rk   r   r   rm   ÚNAÚ	Timestamprl   rn   rh  Úpandas.arraysri  rß   rV  Ú
ArrowDtyper^  rl  Ú	_pa_arrayÚcastÚ	timestamprP   ro   rp   )rq   r   rg  r#   rB   rž   rQ   rW   ri  rr   rm  s           @@@r$   Útest_dtype_backendzTestReaders.test_dtype_backendo  sÙ  øøø€ àÐ(Ð(Ð(ÝŒKÐ?°HÐ?Ð?Ð?Ñ@Ô@Ð@åå˜Q ˜F¨'Ð2Ñ2Ô2Ý˜S #˜J¨iÐ8Ñ8Ô8Ý˜T 5˜M°Ð;Ñ;Ô;Ý˜S #˜J¨hÐ7Ñ7Ô7Ý�RœU A˜J¨gÐ6Ñ6Ô6Ý�RœU C˜L°	Ð:Ñ:Ô:Ý�RœU D˜M°Ð;Ñ;Ô;Ý�RœU C˜L°Ð9Ñ9Ô9Ý�Rœ\¨,Ñ7Ô7Ð8¸1Ñ<Ñ=Ô=Ý�RœU¥B¤E˜N°'Ð:Ñ:Ô:ðð ñ
ô 
ˆð 	�Š�I¨&¸ˆÑ>Ô>Ð>Ý”Ø &¸ð
ñ 
ô 
ˆð ˜IÒ%Ñ%Ø Ð Ð Ð à9Ð9Ð9Ð9Ð9Ð9å ðð ð ð ð ð à!œzðñ ô ñô ˆHð % SœM×0Ò0µ´¸r¿yºy¹{¼{Ñ1KÔ1KÑLÔLˆH�S‰MØ$ SœM×0Ò0µ´¸r¿yºy¹{¼{Ñ1KÔ1KÑLÔLˆH�S‰Mà/Ð/Ø˜”Ô#Ô-×2Ò2°2·<²<ÀT°<Ñ3JÔ3JÑKÔKñô ˆH�S‰Mð 0Ð/°·²¸$À¸Ñ0FÔ0FÑGÔGˆH�S‰MˆMàˆHÝ ¨&Ñ1Ô1ˆDØ$ SœM×0Ò0°°t°°°Ñ?Ô?ˆH�S‰Må
Ô˜f hÑ/Ô/Ð/Ð/Ð/r&   c                ó  — |dv rt          j        d|› d�¦  «         t          t          j        dgdt          j        gdœ¦  «        }|                     |dd¬	¦  «         t          j        |dd
d¬¦  «        }t          j	        ||¦  «         d S )Nrd   re   rf   rJ  rF  ©rë   rî   rd  Fre  Únumpy_nullablerN  )rz   rg  rj   )
r(   rk   r   r  rx   rl   rm   rn   ro   rp   )rq   r   rB   rr   rž   s        r$   Útest_dtype_backend_and_dtypez(TestReaders.test_dtype_backend_and_dtype¢  s    € àÐ(Ð(Ð(ÝŒKÐ?°HÐ?Ð?Ð?Ñ@Ô@Ð@å�bœf c˜]°#µr´v°Ð?Ð?Ñ@Ô@ˆØ
�Š�I¨&¸ˆÑ>Ô>Ð>Ý”ØØØ*Øð	
ñ 
ô 
ˆõ 	Ô˜f bÑ)Ô)Ð)Ð)Ð)r&   c           	     óŒ  — |dv rt          j        d|› d�¦  «         t          t          j        ddgt          j        ¬¦  «        t          j        dt          j        gt          j        ¬¦  «        dœ¦  «        }|                     |d	d
¬¦  «         t          j	        d|¦  «        5  t          j
        |d	d¬¦  «        }d d d ¦  «         n# 1 swxY w Y   t          t          ddgt          j        |¦  «        ¬¦  «        t          dd gt          j        |¦  «        ¬¦  «        dœ¦  «        }t          j        ||d
¬¦  «         d S )Nrd   re   rf   rë   rî   ri   rì   rx  rd  Fre  zmode.string_storagery  rf  )Úcheck_column_type)r(   rk   r   r  rl  Úobject_rm   ro  rl   Úoption_contextrn   r   ÚStringDtypero   rp   )rq   r   Ústring_storagerB   rr   rž   rQ   s          r$   Útest_dtype_backend_stringz%TestReaders.test_dtype_backend_string±  s�  € àÐ(Ð(Ð(ÝŒKÐ?°HÐ?Ð?Ð?Ñ@Ô@Ð@åå”X˜s C˜jµ´
Ð;Ñ;Ô;Ý”X˜s¥B¤E˜lµ"´*Ð=Ñ=Ô=ðð ñ
ô 
ˆð 	�Š�I¨&¸ˆÑ>Ô>Ð>åÔÐ4°nÑEÔEð 	ð 	Ý”]Ø fÐ<Lðñ ô ˆFð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	õ
 å˜S #˜J­b¬n¸^Ñ.LÔ.LÐMÑMÔMÝ˜S $˜K­r¬~¸nÑ/MÔ/MÐNÑNÔNðð ñ
ô 
ˆõ 	Ô˜f hÀ%ÐHÑHÔHÐHÐHÐHs   Â&C
Ã
CÃCzdtypes, exp_valuerš   úa.1rU  c                óD  — d}dt           i|¥}|                     ¦   «         }t          j        ||z   |¬¦  «        }t	          t          dgt           ¬¦  «        t          |g|st           nd ¬¦  «        dœ¦  «        }||k    s
J d¦   «         ‚t          j        ||¦  «         d S )NÚdf_mangle_dup_col_dtypesrë   ri   rš   )rë   r‚  zdtype dict changed)Úobjectr&  rm   rn   r   r   ro   rp   )	rq   r   ÚdtypesÚ	exp_valuer*  Ú
dtype_dictÚdtype_dict_copyrž   rQ   s	            r$   Útest_dtype_mangle_dup_colsz&TestReaders.test_dtype_mangle_dup_colsÍ  s»   € ð .ˆØ�6Ð, VÐ,ˆ
Ø$Ÿ/š/Ñ+Ô+ˆå”˜x¨(Ñ2¸*ÐEÑEÔEˆÝå˜Q˜C¥vÐ.Ñ.Ô.Ý˜y˜k¸vÐ1Oµ°È4ÐPÑPÔPðð ñ
ô 
ˆð ˜_Ò,Ð,Ð,Ð.BÑ,Ô,Ð,Ý
Ô˜f hÑ/Ô/Ð/Ð/Ð/r&   c                óˆ   — d}t          j        ||z   ¦  «        }t          dg d¢i¦  «        }t          j        ||¦  «         d S )NÚtest_spacesÚtestcol)zthis is greatz4    spacesz1 trailing z
 1 leadingz2  spaces  multiple  timesr  )rq   r   r*  r+  rQ   s        r$   Útest_reader_spaceszTestReaders.test_reader_spacesÞ  s\   € à ˆå”˜x¨(Ñ2Ñ3Ô3ˆÝàð ð ð ðñ

ô 

ˆõ 	Ô˜f hÑ/Ô/Ð/Ð/Ð/r&   zbasename,expectedzgh-35802ÚCOLUMNzTest (1)zgh-36122z
got 2nd sarò   c                ó˜   — |dk    rt          j        d|› �¦  «         t          j        ||z   ¦  «        }t	          j        ||¦  «         d S )Nr   zSkipped for engine: )r(   rk   rm   rn   ro   rp   )rq   r#   r   r*  rQ   r+  s         r$   Útest_read_excel_ods_nested_xmlz*TestReaders.test_read_excel_ods_nested_xmlñ  sS   € ð �UŠ?ˆ?ÝŒKÐ7¨vÐ7Ð7Ñ8Ô8Ð8å”˜x¨(Ñ2Ñ3Ô3ˆÝ
Ô˜f hÑ/Ô/Ð/Ð/Ð/r&   c                óà   — d}t          j        ||z   d ¬¦  «        }g d¢}t          j        ||                     ¦   «         ¦  «         |t          |                     ¦   «         ¦  «        k    sJ ‚d S )NÚtest_multisheetrý   )ÚCharlieÚAlphaÚBeta)rm   rn   ro   Úassert_contains_allÚkeysÚlist©rq   r   r*  ÚdfsÚexpected_keyss        r$   Útest_reading_all_sheetsz#TestReaders.test_reading_all_sheets   sq   € ð %ˆÝŒm˜H xÑ/¸DÐAÑAÔAˆà4Ð4Ð4ˆÝ
Ô˜}¨c¯hªh©j¬jÑ9Ô9Ð9ð ¥ S§X¢X¡Z¤ZÑ 0Ô 0Ò0Ð0Ð0Ð0Ð0Ð0r&   c                ó2  — d}g d¢}t          j        ||z   |¬¦  «        }t          t          |¦  «        ¦  «        }t	          j        ||                     ¦   «         ¦  «         t          |¦  «        t          |                     ¦   «         ¦  «        k    sJ ‚d S )Nr“  )r»   r”  r”  rý   )rm   rn   r™  Úsetro   r—  r˜  rÊ   )rq   r   r*  rœ  r›  s        r$   Ú%test_reading_multiple_specific_sheetsz1TestReaders.test_reading_multiple_specific_sheets  sŠ   € ð %ˆà1Ð1Ð1ˆÝŒm˜H xÑ/¸MÐJÑJÔJˆÝ�S Ñ/Ô/Ñ0Ô0ˆÝ
Ô˜}¨c¯hªh©j¬jÑ9Ô9Ð9Ý�=Ñ!Ô!¥S¨¯ª©¬¡_¤_Ò4Ð4Ð4Ð4Ð4Ð4r&   c                ó’   — d}t          j        ||z   d ¬¦  «        }g d¢}t          j        ||                     ¦   «         ¦  «         d S )NÚblank_with_headerrý   )rw   r±   rÚ   )rm   rn   ro   r—  r˜  rš  s        r$   Ú"test_reading_all_sheets_with_blankz.TestReaders.test_reading_all_sheets_with_blank  sN   € ð 'ˆÝŒm˜H xÑ/¸DÐAÑAÔAˆØ6Ð6Ð6ˆÝ
Ô˜}¨c¯hªh©j¬jÑ9Ô9Ð9Ð9Ð9r&   c                óz   — t          j        d|z   d¬¦  «        }t          j        |t	          ¦   «         ¦  «         d S )NÚblankrw   rý   )rm   rn   ro   rp   r   )rq   r   r+  s      r$   Útest_read_excel_blankz!TestReaders.test_read_excel_blank%  s8   € Ý”˜w¨Ñ1¸hÐGÑGÔGˆÝ
Ô˜f¥i¡k¤kÑ2Ô2Ð2Ð2Ð2r&   c                ó†   — t          ddg¬¦  «        }t          j        d|z   d¬¦  «        }t          j        ||¦  «         d S )NÚcol_1Úcol_2rò   r¢  rw   rý   )r   rm   rn   ro   rp   )rq   r   rQ   r+  s       r$   Ú!test_read_excel_blank_with_headerz-TestReaders.test_read_excel_blank_with_header)  sJ   € Ý g¨wÐ%7Ð8Ñ8Ô8ˆÝ”Ð2°XÑ=È(ÐSÑSÔSˆÝ
Ô˜f hÑ/Ô/Ð/Ð/Ð/r&   c                ó@  — t          j        t          d¬¦  «        5  t          j        d|z   dgd ¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t
          d¬¦  «        5  t          j        d|z   d„ d ¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )	Nz \(sheet: Sheet1\)$r¤   r¢  rš   )Úheaderrz   r˜   c                ó   — ddz  S )Nrš   r   r-   r<  s    r$   r=  zHTestReaders.test_exception_message_includes_sheet_name.<locals>.<lambda>3  s
   € ÀÀAÁ€ r&   )r°   rz   )r(   r©   rµ   rm   rn   ÚZeroDivisionError©rq   r   s     r$   Ú*test_exception_message_includes_sheet_namez6TestReaders.test_exception_message_includes_sheet_name.  sL  € åŒ]�:Ð-CÐDÑDÔDð 	Wð 	WÝŒMÐ-°Ñ8À!ÀÐQUÐVÑVÔVÐVð	Wð 	Wð 	Wñ 	Wô 	Wð 	Wð 	Wð 	Wð 	Wð 	Wð 	Wøøøð 	Wð 	Wð 	Wð 	WåŒ]Õ,Ð4JÐKÑKÔKð 	Xð 	XÝŒM˜' HÑ,°o°oÐRVÐWÑWÔWÐWð	Xð 	Xð 	Xñ 	Xô 	Xð 	Xð 	Xð 	Xð 	Xð 	Xð 	Xð 	Xøøøð 	Xð 	Xð 	Xð 	Xð 	Xð 	Xs#   œAÁAÁAÁ*BÂBÂBz-ignore:Cell A4 is marked:UserWarning:openpyxlc                óâ  — t          ||¦  «         t          t          j        d¦  «        dgt          j        d¦  «        dgddggddg¬	¦  «        }|d
k    r3|                     t
          j                             d¬¦  «        ¦  «         |€7|dv r3|                     t
          j                             d¬¦  «        ¦  «         t          j        d|z   ¦  «        }t          j
        ||¦  «         d S )Nz
2016-03-12zMarc Johnsonz
2016-03-16z
Jack Blackg@Œµx¯DzTimothy BrownÚDateColWithBigIntÚ	StringColrò   r   zMaybe not supported by openpyxlrZ   )r   r   z)Defaults to openpyxl, maybe not supportedÚtestdateoverflow)r_   r   rm   rp  r\   r(   r]   r^   rn   ro   rp   )rq   r6   r#   r   rQ   rž   s         r$   Útest_date_conversion_overflowz)TestReaders.test_date_conversion_overflow5  s  € õ 	$ F¨GÑ4Ô4Ð4åå”˜lÑ+Ô+¨^Ð<Ý”˜lÑ+Ô+¨\Ð:Ø�Ð'ðð
 )¨+Ð6ð
ñ 
ô 
ˆð �ZÒÐØ×ÒÝ”×!Ò!Ð)JÐ!ÑKÔKñô ð ð ˆ>˜hÐ*<Ð<Ð<à×ÒÝ”×!Ò!Ð)TÐ!ÑUÔUñô ð õ ”Ð1°HÑ<Ñ=Ô=ˆÝ
Ô˜f hÑ/Ô/Ð/Ð/Ð/r&   c                ó  — t          ||¦  «         d}d}|}t          |||¦  «         t          j        ||z   |d¬¦  «        }t          j        ||z   d|¬¦  «        }	t	          j        ||¦  «         t	          j        |	|¦  «         d S ©Nr˜   rw   r   rÎ   )rH   rz   r¼   )
rq   r6   r   r#   rL   Úfilenamerz   rQ   r½   rs   s
             r$   Útest_sheet_namezTestReaders.test_sheet_nameQ  sž   € Ý# F¨GÑ4Ô4Ð4àˆØˆ
àˆÝ˜ (¨FÑ3Ô3Ð3åŒmØ�xÑ¨JÀ!ð
ñ 
ô 
ˆõ Œm˜H xÑ/¸1ÈÐTÑTÔTˆå
Ô˜c 8Ñ,Ô,Ð,Ý
Ô˜c 8Ñ,Ô,Ð,Ð,Ð,r&   c                óè   — d|z   }t          j        |dd¬¦  «        }t          |d¦  «        5 }t          j        |dd¬¦  «        }t          j        ||¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr˜   rw   r   rÎ   r™   )rm   rn   r›   ro   rp   )rq   r   ÚpthrQ   r�   r+  s         r$   Útest_excel_read_bufferz"TestReaders.test_excel_read_bufferb  sº   € Ø˜Ñ ˆÝ”= °ÀQÐGÑGÔGˆÝ�#�t‰_Œ_ð 	4 Ý”] 1°ÀQÐGÑGÔGˆFÝÔ! (¨FÑ3Ô3Ð3ð	4ð 	4ð 	4ñ 	4ô 	4ð 	4ð 	4ð 	4ð 	4ð 	4ð 	4ð 	4øøøð 	4ð 	4ð 	4ð 	4ð 	4ð 	4s   ­-A'Á'A+Á.A+c                óž   — d}t          j        t          d¬¦  «        5  t          j        d|¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr¡   zUnknown engine: foor¤   r:  r…   r´   )rq   Ú
bad_engines     r$   Útest_bad_engine_raisesz"TestReaders.test_bad_engine_raisesi  s–   € Øˆ
ÝŒ]�:Ð-BÐCÑCÔCð 	1ð 	1ÝŒM˜" ZÐ0Ñ0Ô0Ð0ð	1ð 	1ð 	1ñ 	1ô 	1ð 	1ð 	1ð 	1ð 	1ð 	1ð 	1ð 	1øøøð 	1ð 	1ð 	1ð 	1ð 	1ð 	1s   žAÁAÁ	Arz   r®   r   ré   rw   c                ó¤   — d}t          j        t          |¬¦  «        5  t          j        d|z   |¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S ©Nz?Worksheet index 3 is invalid|Worksheet named 'Sheet4' not foundr¤   r¥  rý   r´   )rq   r   rz   r«   s       r$   Útest_bad_sheetname_raisesz%TestReaders.test_bad_sheetname_raisesn  s±   € ð PˆÝŒ]�:¨SÐ1Ñ1Ô1ð 	Eð 	EÝŒM˜' HÑ,¸ÐDÑDÔDÐDð	Eð 	Eð 	Eñ 	Eô 	Eð 	Eð 	Eð 	Eð 	Eð 	Eð 	Eð 	Eøøøð 	Eð 	Eð 	Eð 	Eð 	Eð 	Eó   žAÁA	ÁA	c                óÎ   — d|› �}d                      g d¢¦  «        }t          j        t          |¬¦  «        5  t	          j        |¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr¡   ú|)z(No such file or directoryu   æ²¡æœ‰é‚£ä¸ªæ–‡ä»¶æˆ–ç›®å½•zFile o directory non esistente)r¤   )Újoinr(   r©   ÚFileNotFoundErrorrm   rn   )rq   r   Úbad_filer¥   s       r$   Útest_missing_file_raisesz$TestReaders.test_missing_file_raisesx  s½   € Ø#˜Ð#Ð#ˆà—’ðð ð ñ
ô 
ˆõ Œ]Õ,°EÐ:Ñ:Ô:ð 	$ð 	$ÝŒM˜(Ñ#Ô#Ð#ð	$ð 	$ð 	$ñ 	$ô 	$ð 	$ð 	$ð 	$ð 	$ð 	$ð 	$ð 	$øøøð 	$ð 	$ð 	$ð 	$ð 	$ð 	$s   ¸AÁAÁ!Ac                ó  — d}|€
t           }d}n+|dk    rddlm} |}d}n|dk    rddlm} |}d	}n	t
          }d
}t          j        ||¬¦  «        5  t          j	        t          |¦  «        ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Ns   foozLExcel file format cannot be determined, you must specify an engine manually.r   r   )Ú	XLRDErrorzFUnsupported format, or corrupt file: Expected BOF record; found b'foo'r   ©ÚCalamineErrorzCannot detect file formatzFile is not a zip filer¤   )rµ   r   rË  r   rÍ  r
   r(   r©   rm   rn   r   )rq   r#   Ú
bad_streamÚerrorr«   rË  rÍ  s          r$   Útest_corrupt_bytes_raisesz%TestReaders.test_corrupt_bytes_raises…  s  € Øˆ
Øˆ>ÝˆEð.ð ˆCð �vÒÐØ&Ð&Ð&Ð&Ð&Ð&àˆEàXð ˆCð �zÒ!Ð!Ø5Ð5Ð5Ð5Ð5Ð5à!ˆEØ-ˆCˆCåˆEØ*ˆCÝŒ]˜5¨Ð,Ñ,Ô,ð 	/ð 	/ÝŒM�' *Ñ-Ô-Ñ.Ô.Ð.ð	/ð 	/ð 	/ñ 	/ô 	/ð 	/ð 	/ð 	/ð 	/ð 	/ð 	/ð 	/øøøð 	/ð 	/ð 	/ð 	/ð 	/ð 	/s   Á"A?Á?BÂBc                ó6  — t          d|z   d¦  «        5 }|                     |                     ¦   «         ¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        |j        ¦  «        }t          j        d|z   ¦  «        }t          j        ||¦  «         d S )Nr˜   r™   )Úcontent)r›   Úserve_contentÚreadrm   rn   Úurlro   rp   )rq   Ú
httpserverr   r�   Ú	url_tableÚlocal_tables         r$   Útest_read_from_http_urlz#TestReaders.test_read_from_http_urlŸ  sÈ   € õ �'˜HÑ$ dÑ+Ô+ð 	7¨qØ×$Ò$¨Q¯VªV©X¬XÐ$Ñ6Ô6Ð6ð	7ð 	7ð 	7ñ 	7ô 	7ð 	7ð 	7ð 	7ð 	7ð 	7ð 	7øøøð 	7ð 	7ð 	7ð 	7å”M *¤.Ñ1Ô1ˆ	Ý”m G¨hÑ$6Ñ7Ô7ˆÝ
Ô˜i¨Ñ5Ô5Ð5Ð5Ð5s   ”)A	Á	AÁAc                ó0  — t          d|z   d¦  «        5 }|                     d|z   |¬¦  «         d d d ¦  «         n# 1 swxY w Y   d|j        › d�|z   }t          j        ||¬¦  «        }t          j        d|z   ¦  «        }t          j        ||¦  «         d S )Nr˜   r™   ©ÚKeyÚBodyús3://ú/test1)Ústorage_options)r›   Ú
put_objectrU   rm   rn   ro   rp   )rq   r   Ús3_bucket_publicÚs3sor�   rÕ  r×  rØ  s           r$   Útest_read_from_s3_urlz!TestReaders.test_read_from_s3_url¨  sõ   € õ �'˜HÑ$ dÑ+Ô+ð 	H¨qØ×'Ò'¨G°hÑ,>ÀQÐ'ÑGÔGÐGð	Hð 	Hð 	Hñ 	Hô 	Hð 	Hð 	Hð 	Hð 	Hð 	Hð 	Høøøð 	Hð 	Hð 	Hð 	Hð 4Ð&Ô+Ð3Ð3Ð3°hÑ>ˆå”M #°tÐ<Ñ<Ô<ˆ	Ý”m G¨hÑ$6Ñ7Ô7ˆÝ
Ô˜i¨Ñ5Ô5Ð5Ð5Ð5s   ”;»?Á?c                ó¤  — t          d|z   d¦  «        5 }|                     d|z   |¬¦  «         d d d ¦  «         n# 1 swxY w Y   dd l} |j        di |¤Ž}|                      d|j        › d�|z   ¦  «        5 }t          j        |¦  «        }d d d ¦  «         n# 1 swxY w Y   t          j        d|z   ¦  «        }t          j        ||¦  «         d S )Nr˜   r™   rÛ  r   rÞ  rß  r-   )	r›   rá  Ús3fsÚS3FileSystemrU   rm   rn   ro   rp   )	rq   r   râ  rã  r�   ræ  Ús3r×  rØ  s	            r$   Útest_read_from_s3_objectz$TestReaders.test_read_from_s3_object´  ss  € õ �'˜HÑ$ dÑ+Ô+ð 	H¨qØ×'Ò'¨G°hÑ,>ÀQÐ'ÑGÔGÐGð	Hð 	Hð 	Hñ 	Hô 	Hð 	Hð 	Hð 	Hð 	Hð 	Hð 	Høøøð 	Hð 	Hð 	Hð 	Hð 	ˆˆˆàˆTÔÐ&Ð& Ð&Ð&ˆà�WŠWÐ:Ð-Ô2Ð:Ð:Ð:¸XÑEÑFÔFð 	)È!Ýœ aÑ(Ô(ˆIð	)ð 	)ð 	)ñ 	)ô 	)ð 	)ð 	)ð 	)ð 	)ð 	)ð 	)øøøð 	)ð 	)ð 	)ð 	)õ ”m G¨hÑ$6Ñ7Ô7ˆÝ
Ô˜i¨Ñ5Ô5Ð5Ð5Ð5s   ”;»?Á?Á8BÂBÂ Bc                ó¤  — t           j                              |ddd¦  «        d|z   ¦  «        }t          j        |¦  «        }	 t          j        d|z   ¦  «        }n_# t
          $ rR d                     t          j        ¦   «         ¦  «                             ¦   «         }t          j
        d|› �¦  «         Y nw xY wt          j        ||¦  «         d S )NrD   rE   rv   r˜   zfile://localhost/ú zfailing on )ÚosÚpathrÆ  rm   rn   r	   ÚplatformÚunameÚstripr(   rk   ro   rp   )rq   r   rJ   Ú
localtablerØ  r×  Úplatform_infos          r$   Útest_read_from_file_urlz#TestReaders.test_read_from_file_urlÄ  sÑ   € õ ”W—\’\ ( (¨4°¸Ñ"AÔ"AÀ7ÈXÑCUÑVÔVˆ
Ý”m JÑ/Ô/ˆð	7ÝœÐ&9¸JÑ&FÑGÔGˆIˆIøÝð 	7ð 	7ð 	7àŸHšH¥X¤^Ñ%5Ô%5Ñ6Ô6×<Ò<Ñ>Ô>ˆMÝŒKÐ5 mÐ5Ð5Ñ6Ô6Ð6Ð6Ð6ð	7øøøõ
 	Ô˜i¨Ñ5Ô5Ð5Ð5Ð5s   ÁA ÁAB8Â7B8c                óº   — d|z   }t          j        |dd¬¦  «        }t          d|z   ¦  «        }t          j        |dd¬¦  «        }t          j        ||¦  «         d S rÍ   )rm   rn   r   ro   rp   )rq   r   Ústr_pathrQ   Úpath_objr+  s         r$   Útest_read_from_pathlib_pathz'TestReaders.test_read_from_pathlib_pathÓ  sc   € à˜XÑ%ˆÝ”= °hÈ!ÐLÑLÔLˆå˜ (Ñ*Ñ+Ô+ˆÝ”˜x°HÈÐJÑJÔJˆå
Ô˜h¨Ñ/Ô/Ð/Ð/Ð/r&   c                óô   — t           j                             d|z   ¦  «        }t          |d¦  «        5 }t	          j        |dd¬¦  «        }~|                     ¦   «          d d d ¦  «         d S # 1 swxY w Y   d S )Nr˜   r™   rw   r   rÎ   )rì  rí  rÆ  r›   rm   rn   rÔ  )rq   r   rõ  r�   rì   s        r$   Útest_close_from_py_localpathz(TestReaders.test_close_from_py_localpathÝ  s±   € å”7—<’< ¨(Ñ 2Ñ3Ô3ˆÝ�(˜DÑ!Ô!ð 	 QÝ”˜a¨HÀÐBÑBÔBˆAØà�FŠF‰HŒHˆHð		ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	s   ³-A-Á-A1Á4A1c                óú  — t          ||¦  «         |dk    r9|dk    r3|                     t          j                             d¬¦  «        ¦  «         t          j        dt          ddd¦  «        t          dd	d
d¦  «        t          dddd¦  «        t          dddd¦  «        t          dddd¦  «        t          dddd¦  «        t          dddd¦  «        t          ddd d!¦  «        t          d d"dd#¦  «        t          d$d%d&d'¦  «        t          d(d)d*¦  «        gi¦  «        }t          j	        d+|z   d,¬-¦  «        }t          j        ||¦  «         t          j	        d.|z   d,¬-¦  «        }t          j        ||¦  «         d S )/Nr   r   z0ODS file contains bad datetime (seconds as text)rZ   ÚTimerš   r»   r®   é-   é8   i † r  é   é1   i@ r_  é   é*   ià“ é   é9   é#   i€ é	   é)   é   i ¡ é   é   é   iÀ'	 r  i`®
 é5   i 5 é   é%   r   i » é   é   é6   Ú
times_1900rw   rý   Ú
times_1904)r_   r\   r(   r]   r^   r   r%  r   rm   rn   ro   rp   )rq   r6   r#   r   rQ   r+  s         r$   Útest_reader_secondszTestReaders.test_reader_secondsæ  s”  € Ý# F¨GÑ4Ô4Ð4ð �ZÒÐ H°Ò$6Ð$6Ø×ÒÝ”×!Ò!ØMð "ñ ô ñô ð õ Ô&àÝ˜˜A˜q‘M”MÝ˜˜B  FÑ+Ô+Ý˜˜B  FÑ+Ô+Ý˜˜B  FÑ+Ô+Ý˜˜B  FÑ+Ô+Ý˜˜B  FÑ+Ô+Ý˜˜R  VÑ,Ô,Ý˜˜Q  FÑ+Ô+Ý˜˜R  FÑ+Ô+Ý˜˜R  FÑ+Ô+Ý˜˜R Ñ$Ô$ððñ
ô 
ˆõ$ ”˜|¨hÑ6À8ÐLÑLÔLˆÝ
Ô˜f hÑ/Ô/Ð/å”˜|¨hÑ6À8ÐLÑLÔLˆÝ
Ô˜f hÑ/Ô/Ð/Ð/Ð/r&   c           
     ób  — t          ||¦  «         t          ||¦  «        }t          j        ddgddgg¦  «        }d|z   }t	          ddt          j        d¦  «        d	gd
dt          j        d¦  «        dgddt          j        d¦  «        dgddt          j        d¦  «        d	gg|¬¦  «        }||d
                                       d|› d�¦  «        ||d
         <   t          j        |dddgd¬¦  «        }t          j
        ||¦  «         ||_        g d¢|_        t          j        |dddg¬¦  «        }t          j
        ||¦  «         ||_        t          j        |dddgddg¬¦  «        }t          j
        ||¦  «         g d¢|_        |                     dd g¦  «        |_        t          j        |d!ddg¬¦  «        }t          j
        ||¦  «         t          d¦  «        |_        |                     d"d#g¦  «        |_        t          j        |d$ddgd¬¦  «        }t          j
        ||¦  «         |                     dd
gd¬%¦  «                             d"d#g¦  «        |_        t          j        |d&dddg¬¦  «        }t          j
        ||¦  «         |                     d"d#g¦  «        |_        |                     dd g¦  «        |_        t          j        |d'ddgddg¬¦  «        }t          j
        ||¦  «         t          j        |d(ddgddgd
¬)¦  «        }t          j
        ||¦  «         d S )*Nr¡   Úbarrë   rî   Útestmultiindexrš   rF  ú
2015-01-01Tr»   rG  ú
2015-01-02Fr®   rH  ú
2015-01-03r  rI  ú
2015-01-04rò   r  r  Ú	mi_columnr   )rz   r¬  rH   rM  Úmi_indexrÎ   Úboth©rz   rH   r¬  Úilvl1Úilvl2Úmi_index_nameÚc1Úc2Úmi_column_name)ÚlevelÚname_with_intÚ	both_nameÚboth_name_skiprows)rz   rH   r¬  r³   )r_   rP   r   Úfrom_productr   rm   rp  rV  rn   ro   rp   rT   rß   Ú	set_namesrÉ   Ú
set_levels)	rq   r6   r#   r   rW   ÚmiÚmi_filerQ   r+  s	            r$   Útest_read_excel_multiindexz&TestReaders.test_read_excel_multiindex
  s…  € å# F¨GÑ4Ô4Ð4å˜H fÑ-Ô-ˆåÔ$ u¨e n°s¸C°jÐ%AÑBÔBˆØ" XÑ-ˆõ à�C�œ lÑ3Ô3°TÐ:Ø�C�œ lÑ3Ô3°UÐ;Ø�C�œ lÑ3Ô3°UÐ;Ø�C�œ lÑ3Ô3°TÐ:ð	ð ð
ñ 
ô 
ˆð # 2 a¤5œ/×0Ò0°°t°°°Ñ?Ô?ˆ��A”‰å”Ø °Q¸°FÀað
ñ 
ô 
ˆõ 	Ô˜f hÑ/Ô/Ð/ð ˆŒØ/Ð/Ð/ˆÔå”˜w°:È!ÈQÈÐPÑPÔPˆÝ
Ô˜f hÑ/Ô/Ð/ð ˆÔå”Ø °1°a°&À!ÀQÀð
ñ 
ô 
ˆõ 	Ô˜f hÑ/Ô/Ð/ð 0Ð/Ð/ˆÔØŸš w°Ð&8Ñ9Ô9ˆŒå”˜w°?ÈqÐRSÈfÐUÑUÔUˆÝ
Ô˜f hÑ/Ô/Ð/õ ˜q™œˆŒØŸ<š<¨¨t¨Ñ5Ô5ˆÔÝ”ØÐ 0¸!¸Q¸È1ð
ñ 
ô 
ˆõ 	Ô˜f hÑ/Ô/Ð/ð Ÿ=š=¨!¨Q¨°q˜=Ñ9Ô9×CÒCÀTÈ4ÀLÑQÔQˆÔå”Ø ¸1ÀaÈÀVð
ñ 
ô 
ˆõ 	Ô˜f hÑ/Ô/Ð/ð Ÿ<š<¨¨t¨Ñ5Ô5ˆÔØŸš w°Ð&8Ñ9Ô9ˆŒå”Ø ¸¸1°vÀqÈ!Àfð
ñ 
ô 
ˆõ 	Ô˜f hÑ/Ô/Ð/õ ”ØØ+Ø˜!�fØ�q�6Øð
ñ 
ô 
ˆõ 	Ô˜f hÑ/Ô/Ð/Ð/Ð/r&   zsheet_name,idx_lvl2Úboth_name_blank_after_mi_namerî   rë   Úboth_name_multiple_blanksr  c           
     óZ  — t          ||¦  «         d|z   }t          j        ddgddggddg¬¦  «        }t          ||¦  «        }t	          d	d
t          j        d¦  «        dgddt          j        d¦  «        dgddt          j        d¦  «        dgddt          j        d¦  «        dgg|t          j        g d¢|fddg¬¦  «        ¬¦  «        }	|	|d                                       d|› d�¦  «        |	|d         <   t          j	        ||dd	gdd	g¬¦  «        }
t          j        |
|	¦  «         d S )Nr  r¡   r  rë   rî   r"  r#  ©ræ   rš   rF  r  Tr»   rG  r  Fr®   rH  r  r  rI  r  )r¡   r¡   r  r  r  r   rÞ   r  r  r   r  )r_   r   r)  rP   r   rm   rp  Úfrom_arraysrV  rn   ro   rp   )rq   r6   r#   r   rz   Úidx_lvl2r-  r,  rW   rQ   rž   s              r$   Ú+test_read_excel_multiindex_blank_after_namez7TestReaders.test_read_excel_multiindex_blank_after_name^  sg  € õ 	$ F¨GÑ4Ô4Ð4à" XÑ-ˆÝÔ$ u¨e n°s¸C°jÐ%AÈ$ÐPTÈÐVÑVÔVˆå˜H fÑ-Ô-ˆÝà�C�œ lÑ3Ô3°TÐ:Ø�C�œ lÑ3Ô3°UÐ;Ø�C�œ lÑ3Ô3°UÐ;Ø�C�œ lÑ3Ô3°TÐ:ð	ð ÝÔ(Ø-Ð-Ð-¨xÐ8Ø Ð(ðñ ô ð
ñ 
ô 
ˆð # 2 a¤5œ/×0Ò0°°t°°°Ñ?Ô?ˆ��A”‰Ý”ØØ!Ø˜!�fØ�q�6ð	
ñ 
ô 
ˆõ 	Ô˜f hÑ/Ô/Ð/Ð/Ð/r&   c                óÆ   — d|z   }t          j        |dddg¬¦  «        }t          j        ddg¦  «        }t	          g d¢gd	z  |¬
¦  «        }t          j        ||¦  «         d S )Nr  Úindex_col_noner   rš   ©rz   r¬  ©rÁ   r¹   ©ÚkeyÚvalrD  r»   rò   )rm   rn   r   r)  r   ro   rp   )rq   r   r-  rž   Úexp_columnsrQ   s         r$   Ú&test_read_excel_multiindex_header_onlyz2TestReaders.test_read_excel_multiindex_header_only…  su   € ð # XÑ-ˆÝ”˜wÐ3CÈQÐPQÈFÐSÑSÔSˆå Ô-¨z¸>Ð.JÑKÔKˆÝ˜l˜l˜l˜^¨aÑ/¸ÐEÑEÔEˆÝ
Ô˜f hÑ/Ô/Ð/Ð/Ð/r&   c           	     óÂ  — d|z   }t          j        t           j        t           j        t           j        t           j        t           j        gg d¢g d¢g d¢g d¢g d¢gt          ¬¦  «        }g d¢}t	          g d	¢g d
¢gg d¢g d¢gd d g¬¦  «        }t          g d	¢d ¬¦  «        }t          |||¬¦  «        }t          j        |dd¬¦  «        }t          j
        ||¦  «         ||_        t          j        |dddg¬¦  «        }t          j
        ||¦  «         t          j        g d¢g d¢g d¢g d¢g d¢g¦  «        }g d¢}t	          g d¢g d¢gg d¢g d¢gd d g¬¦  «        }t          g d¢d ¬¦  «        }t          |||¬¦  «        }t          j        |dd¬¦  «        }t          j
        ||¦  «         ||_        t          j        |dddg¬¦  «        }t          j
        ||¦  «         d S )NÚtest_index_name_pre17)ÚR0C0ÚR0C1ÚR0C2ÚR0C3ÚR0C4)ÚR1C0ÚR1C1ÚR1C2ÚR1C3ÚR1C4)ÚR2C0ÚR2C1ÚR2C2ÚR2C3ÚR2C4)ÚR3C0ÚR3C1ÚR3C2ÚR3C3ÚR3C4)ÚR4C0ÚR4C1ÚR4C2ÚR4C3ÚR4C4ri   )ÚC_l0_g0ÚC_l0_g1ÚC_l0_g2ÚC_l0_g3ÚC_l0_g4)ÚR0ÚR_l0_g0ÚR_l0_g1ÚR_l0_g2ÚR_l0_g3ÚR_l0_g4)ÚR1ÚR_l1_g0ÚR_l1_g1ÚR_l1_g2ÚR_l1_g3ÚR_l1_g4)r   rš   r»   r®   r  r  rã   rÝ   ©rT   rß   Úsingle_namesr   rÎ   Úmulti_namesrš   )r`  ra  rb  rc  rd  )rf  rg  rh  ri  rj  )r   rš   r»   r®   r  Úsingle_no_namesÚmulti_no_names)r  rl  rx   r…  r   r   r   rm   rn   ro   rp   rT   )	rq   r   r¸  rE   rß   r,  ÚsirQ   r+  s	            r$   Útest_excel_old_index_formatz'TestReaders.test_excel_old_index_format�  s�  € à*¨XÑ5ˆõ
 Œxå”�œ¥¤­¬µ´Ð8Ø8Ð8Ð8Ø8Ð8Ð8Ø8Ð8Ð8Ø8Ð8Ð8Ø8Ð8Ð8ðõ ð

ñ 

ô 

ˆð JÐIÐIˆÝàMÐMÐMØMÐMÐMðð &Ð%Ð%Ð'9Ð'9Ð'9Ð:Ø˜�,ð
ñ 
ô 
ˆõ ØIÐIÐIÐPTð
ñ 
ô 
ˆõ ˜T¨°WÐ=Ñ=Ô=ˆå”˜x°NÈaÐPÑPÔPˆÝ
Ô˜f hÑ/Ô/Ð/àˆŒå”˜x°MÈaÐQRÈVÐTÑTÔTˆÝ
Ô˜f hÑ/Ô/Ð/õ Œxà8Ð8Ð8Ø8Ð8Ð8Ø8Ð8Ð8Ø8Ð8Ð8Ø8Ð8Ð8ðñ
ô 
ˆð JÐIÐIˆÝàGÐGÐGØGÐGÐGðð #�?�? O O OÐ4Ø˜�,ð
ñ 
ô 
ˆõ ÐJÐJÐJÐQUÐVÑVÔVˆå˜T¨°WÐ=Ñ=Ô=ˆå”˜xÐ4EÐQRÐSÑSÔSˆÝ
Ô˜f hÑ/Ô/Ð/àˆŒå”˜xÐ4DÐQRÐTUÐPVÐWÑWÔWˆÝ
Ô˜f hÑ/Ô/Ð/Ð/Ð/r&   c                ó¬   — d}dD ]N}t          j        t          |¬¦  «        5  t          j        d|z   |¬¦  «         d d d ¦  «         n# 1 swxY w Y   ŒOd S )Nz#Passing a bool to header is invalid)TFr¤   r˜   ©r¬  r×   )rq   r   r«   Úargs       r$   Útest_read_excel_bool_header_argz+TestReaders.test_read_excel_bool_header_argÙ  s¥   € à3ˆØ ð 	>ð 	>ˆCÝ”�y°Ð4Ñ4Ô4ð >ð >Ý”˜g¨Ñ0¸Ð=Ñ=Ô=Ð=ð>ð >ð >ñ >ô >ð >ð >ð >ð >ð >ð >øøøð >ð >ð >ð >øð	>ð 	>s   ¢AÁA	ÁA	c           
     ó  — t          ||¦  «         t          ||¦  «        }t          j        d|z   dddg¬¦  «        }t	          ddt          j        d¦  «        d	gdd
t          j        d¦  «        dgddt          j        d¦  «        dgddt          j        d¦  «        d	ggg d¢¬¦  «        }|d                              d|› d�¦  «        |d<   t          j        ||¦  «         t          j        d|z   dt          j
        ddg¦  «        ¬¦  «        }t          j        ||¦  «         t          j        d|z   dd„ ¬¦  «        }t          j        ||¦  «         t          j        d|z   ddg d¢¬¦  «        }t	          dd
t          j        d¦  «        dgddt          j        d¦  «        dgddt          j        d¦  «        d	ggg d¢¬¦  «        }|d                              d|› d�¦  «        |d<   t          j        ||¦  «         d S )NÚtestskiprowsÚskiprows_listr   r»   ©rz   r³   rš   rF  r  TrG  r  Fr®   rH  r  r  rI  r  rM  rò   r  r  r  c                ó
   — | dv S ©N)r   r»   r-   r<  s    r$   r=  z6TestReaders.test_read_excel_skiprows.<locals>.<lambda>   s
   € ˜q F˜{€ r&   )rz   r³   ræ   )r_   rP   rm   rn   r   rp  rV  ro   rp   r  rl  ©rq   r6   r#   r   rW   r+  rQ   s          r$   Útest_read_excel_skiprowsz$TestReaders.test_read_excel_skiprowsà  sX  € å# F¨GÑ4Ô4Ð4å˜H fÑ-Ô-ˆå”Ø˜XÑ%°/ÈQÐPQÈFð
ñ 
ô 
ˆõ à�C�œ lÑ3Ô3°TÐ:Ø�C�œ lÑ3Ô3°UÐ;Ø�C�œ lÑ3Ô3°UÐ;Ø�C�œ lÑ3Ô3°TÐ:ð	ð )Ð(Ð(ð
ñ 
ô 
ˆð ! œ×,Ò,¨]°4¨]¨]¨]Ñ;Ô;ˆ�‰Ý
Ô˜f hÑ/Ô/Ð/å”Ø˜XÑ%Ø&Ý”X˜q !˜fÑ%Ô%ð
ñ 
ô 
ˆõ
 	Ô˜f hÑ/Ô/Ð/õ ”Ø˜XÑ%Ø&Ø*Ð*ð
ñ 
ô 
ˆõ
 	Ô˜f hÑ/Ô/Ð/å”Ø˜XÑ%Ø&ØØ&Ð&Ð&ð	
ñ 
ô 
ˆõ ð �C�œ lÑ3Ô3°UÐ;Ø�C�œ lÑ3Ô3°UÐ;Ø�C�œ lÑ3Ô3°TÐ:ð	ð )Ð(Ð(ð
ñ 
ô 
ˆð ! œ×,Ò,¨]°4¨]¨]¨]Ñ;Ô;ˆ�‰Ý
Ô˜f hÑ/Ô/Ð/Ð/Ð/r&   c                ól  — t          ||¦  «         t          ||¦  «        }t          j        d|z   dd„ ¬¦  «        }t	          ddt          j        d¦  «        dgd	d
t          j        d¦  «        dggg d¢¬¦  «        }|d                              d|› d�¦  «        |d<   t          j        ||¦  «         d S )Nrw  rx  c                ó
   — | dvS )N)rš   r®   r  r-   r<  s    r$   r=  zFTestReaders.test_read_excel_skiprows_callable_not_in.<locals>.<lambda>  s   € ˜q¨	Ð1€ r&   ry  rš   rF  r  Tr®   rH  r  FrM  rò   r  r  r  )	r_   rP   rm   rn   r   rp  rV  ro   rp   r|  s          r$   Ú(test_read_excel_skiprows_callable_not_inz4TestReaders.test_read_excel_skiprows_callable_not_in  sØ   € å# F¨GÑ4Ô4Ð4Ý˜H fÑ-Ô-ˆå”Ø˜XÑ%Ø&Ø1Ð1ð
ñ 
ô 
ˆõ
 à�C�œ lÑ3Ô3°TÐ:à�C�œ lÑ3Ô3°UÐ;ðð )Ð(Ð(ð
ñ 
ô 
ˆð ! œ×,Ò,¨]°4¨]¨]¨]Ñ;Ô;ˆ�‰Ý
Ô˜f hÑ/Ô/Ð/Ð/Ð/r&   c                ó¨   — d}t          j        d|z   |¬¦  «        }t          j        d|z   ¦  «        }|d |…         }t          j        ||¦  «         d S )Nr  r˜   ©Únrows)rm   rn   ro   rp   )rq   r   Únum_rows_to_pullr+  rQ   s        r$   Útest_read_excel_nrowsz!TestReaders.test_read_excel_nrows,  s`   € àÐÝ”˜w¨Ñ1Ð9IÐJÑJÔJˆÝ”= ¨8Ñ!3Ñ4Ô4ˆØÐ-Ð-Ð-Ô.ˆÝ
Ô˜f hÑ/Ô/Ð/Ð/Ð/r&   c                ó¸   — t          j        d|z   ¦  «        }t          |¦  «        }|dz   }t          j        d|z   |¬¦  «        }t          j        ||¦  «         d S )Nr˜   r  r‚  )rm   rn   rÊ   ro   rp   )rq   r   rQ   Únum_records_in_filer„  r+  s         r$   Ú0test_read_excel_nrows_greater_than_nrows_in_filez<TestReaders.test_read_excel_nrows_greater_than_nrows_in_file4  s`   € å”= ¨8Ñ!3Ñ4Ô4ˆÝ! (™mœmÐØ.°Ñ3ÐÝ”˜w¨Ñ1Ð9IÐJÑJÔJˆÝ
Ô˜f hÑ/Ô/Ð/Ð/Ð/r&   c                ó¤   — d}t          j        t          |¬¦  «        5  t          j        d|z   d¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nz'nrows' must be an integer >=0r¤   r˜   r8  r‚  r´   r¶   s      r$   Ú+test_read_excel_nrows_non_integer_parameterz7TestReaders.test_read_excel_nrows_non_integer_parameter<  sš   € à.ˆÝŒ]�:¨SÐ1Ñ1Ô1ð 	9ð 	9ÝŒM˜' HÑ,°CÐ8Ñ8Ô8Ð8ð	9ð 	9ð 	9ñ 	9ô 	9ð 	9ð 	9ð 	9ð 	9ð 	9ð 	9ð 	9øøøð 	9ð 	9ð 	9ð 	9ð 	9ð 	9rÃ  z-filename,sheet_name,header,index_col,skiprowsr  r  r  r  r$  rw  rx  c                ó
   — | dv S r{  r-   r<  s    r$   r=  zTestReaders.<lambda>J  s
   € ÀAÈÀK€ r&   c                ó¼   — t          j        ||z   ||||¬¦  «        j        dd…         }t          j        ||z   ||||d¬¦  «        }t          j        ||¦  «         dS )z—
        For various parameters, we should get the same result whether we
        limit the rows during load (nrows=3) or after (df.iloc[:3]).
        )rz   r¬  rH   r³   Nr®   )rz   r¬  rH   r³   rƒ  )rm   rn   r  ro   rp   )	rq   r   r¸  rz   r¬  rH   r³   rQ   r+  s	            r$   Útest_read_excel_nrows_paramsz(TestReaders.test_read_excel_nrows_paramsB  sˆ   € õ& ”=Ø�xÑØ!ØØØð
ñ 
ô 
ô ˆr�ˆrôˆõ ”Ø�xÑØ!ØØØØð
ñ 
ô 
ˆõ 	Ô˜f hÑ/Ô/Ð/Ð/Ð/r&   c                ó    — t          j        t          d¬¦  «        5  t          j        d|z   dd¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nzbut 3 positional argumentsr¤   r˜   rw   r   r×   r¯  s     r$   Útest_deprecated_kwargsz"TestReaders.test_deprecated_kwargsf  s•   € ÝŒ]�9Ð,HÐIÑIÔIð 	;ð 	;ÝŒM˜' HÑ,¨h¸Ñ:Ô:Ð:ð	;ð 	;ð 	;ñ 	;ô 	;ð 	;ð 	;ð 	;ð 	;ð 	;ð 	;ð 	;øøøð 	;ð 	;ð 	;ð 	;ð 	;ð 	;s   œAÁAÁ
Ac                óÊ   — d|z   }g d¢}t          j        g d¢d¬¦  «        }t          ||d¬¦  «        }t          j        |dd	d
gd ¬¦  «        }t          j        ||¦  «         d S )Nr  ))r¹   r¹   r:  ©r®   r  r‘  ))rÁ   rÁ   r:  ©rš   r»   r’  )r   rš   r2  )r»   r®   rk  r7  r   rš   r  )r   Úfrom_tuplesr   rm   rn   ro   rp   )rq   r   Ú	file_namerE   ÚidxrQ   rž   s          r$   Ú"test_no_header_with_list_index_colz.TestReaders.test_no_header_with_list_index_colj  sŽ   € à$ xÑ/ˆ	Ø;Ð;Ð;ˆÝÔ$Ø8Ð8Ð8Àð
ñ 
ô 
ˆõ ˜T¨°fÐ=Ñ=Ô=ˆÝ”ØÐ"2¸qÀ!¸fÈTð
ñ 
ô 
ˆõ 	Ô˜h¨Ñ/Ô/Ð/Ð/Ð/r&   c                ó¦   — d|z   }dt           j        ddg}t          |dg¬¦  «        }t          j        |¦  «        }t          j        ||¦  «         d S )NÚone_col_blank_lineg      à?rš   r»   Únumbersrò   )r  rx   r   rm   rn   ro   rp   )rq   r   r”  rE   rQ   rž   s         r$   Útest_one_col_noskip_blank_linez*TestReaders.test_one_col_noskip_blank_linew  sX   € à(¨8Ñ3ˆ	Ø•R”V˜Q Ð"ˆÝ˜T¨I¨;Ð7Ñ7Ô7ˆÝ”˜yÑ)Ô)ˆÝ
Ô˜f hÑ/Ô/Ð/Ð/Ð/r&   c                ó&  — d|z   }t          j        ddg¦  «        }t          j        t          j        gt          j        t          j        gddgddgg}t	          ||¬¦  «        }t          j        |d	d
dg¬¦  «        }t          j        ||¦  «         d S )Nr  )rë   rÁ   )rî   r¹   rš   r®   r»   r  rò   Úmi_column_empty_rowsr   r8  )	r   r“  r  rx   r   rm   rn   ro   rp   )rq   r   r”  rß   rE   rQ   rž   s          r$   Ú test_multiheader_two_blank_linesz,TestReaders.test_multiheader_two_blank_lines  s˜   € à$ xÑ/ˆ	ÝÔ(¨*°jÐ)AÑBÔBˆÝ”�œÐ ¥2¤6­2¬6Ð"2°Q¸°F¸QÀ¸FÐCˆÝ˜T¨7Ð3Ñ3Ô3ˆÝ”ØÐ"8À!ÀQÀð
ñ 
ô 
ˆõ 	Ô˜f hÑ/Ô/Ð/Ð/Ð/r&   c                óR   — d|z   }t          j        |¦  «        }|j        dk    sJ ‚dS )z›
        Sheets can contain blank cells with no data. Some of our readers
        were including those cells, creating many empty rows and columns
        Útrailing_blanks)r®   r®   N)rm   rn   Úshape)rq   r   r”  rž   s       r$   Útest_trailing_blanksz TestReaders.test_trailing_blanksŠ  s6   € ð
 &¨Ñ0ˆ	Ý”˜yÑ)Ô)ˆØŒ|˜vÒ%Ð%Ð%Ð%Ð%Ð%r&   c                óF  — |dk    rt          j        d¦  «         |dk    r3|                     t           j                             d¬¦  «        ¦  «         t          j        t          d¬¦  «        5  t          j        d|z   d	¬
¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr   ú*chartsheets do not exist in the ODF formatr   ú4pyxlsb can't distinguish chartsheets from worksheetsrZ   z"Worksheet named 'Chart1' not foundr¤   Ú
chartsheetÚChart1rý   ©	r(   rk   r\   r]   r^   r©   rµ   rm   rn   ©rq   r6   r#   r   s       r$   Útest_ignore_chartsheets_by_strz*TestReaders.test_ignore_chartsheets_by_str“  s  € à�vÒÐÝŒKÐDÑEÔEÐEØ�XÒÐØ×ÒÝ”×!Ò!ØQð "ñ ô ñô ð õ
 Œ]�:Ð-QÐRÑRÔRð 	Hð 	HÝŒM˜,¨Ñ1¸hÐGÑGÔGÐGð	Hð 	Hð 	Hñ 	Hô 	Hð 	Hð 	Hð 	Hð 	Hð 	Hð 	Hð 	Høøøð 	Hð 	Hð 	Hð 	Hð 	Hð 	Hó   Á/BÂBÂBc                óF  — |dk    rt          j        d¦  «         |dk    r3|                     t           j                             d¬¦  «        ¦  «         t          j        t          d¬¦  «        5  t          j        d|z   d	¬
¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr   r£  r   r¤  rZ   z0Worksheet index 1 is invalid, 1 worksheets foundr¤   r¥  rš   rý   r§  r¨  s       r$   Útest_ignore_chartsheets_by_intz*TestReaders.test_ignore_chartsheets_by_int   s  € à�vÒÐÝŒKÐDÑEÔEÐEØ�XÒÐØ×ÒÝ”×!Ò!ØQð "ñ ô ñô ð õ
 Œ]ÝÐPð
ñ 
ô 
ð 	Að 	Aõ ŒM˜,¨Ñ1¸aÐ@Ñ@Ô@Ð@ð	Að 	Að 	Añ 	Aô 	Að 	Að 	Að 	Að 	Að 	Að 	Að 	Aøøøð 	Að 	Að 	Að 	Að 	Að 	Arª  c                óœ   — t          j        d|z   dd¬¦  «        }t          g d¢g d¢g d¢gg d¢¬	¦  «        }t          j        ||¦  «         d S )
NÚtest_decimalú,rš   )Údecimalr³   )rš   gAñcÌ�Ä—@gÕ	h¢ïÖAÚABCÚpoig2Ø[j‡ô@)r»   gHáz®G^@g{®GáÍ@ÚDEFÚuytg¥Uq&Ø?)r®   g%�•Cq‹@gçû©ñÖ^ú@ÚGHIÚrezgÈ)¬ç³â@)ÚIdÚNumber1ÚNumber2ÚText1ÚText2ÚNumber3rò   r  rà   s       r$   Útest_euro_decimal_formatz$TestReaders.test_euro_decimal_format¯  sy   € å”˜~°Ñ8À#ÐPQÐRÑRÔRˆÝàFÐFÐFØ@Ð@Ð@ØCÐCÐCðð
 NÐMÐMð
ñ 
ô 
ˆõ 	Ô˜f hÑ/Ô/Ð/Ð/Ð/r&   )YÚ__name__Ú
__module__Ú__qualname__r(   r]   Úparametrizert   r�   Úfixturer‹   rŸ   r¬   r·   r¾   rÃ   rÅ   rË   rÐ   rÒ   rÔ   rØ   rá   rç   rô   r÷   rú   r  r  r  r/  rA  rW  r  rx   r   r   rZ  rv  rz  r�  rŠ  rŽ  r   r‘  r�  r   r£  r¦  rª  r°  Úfilterwarningsrµ  r¹  r¼  r¿  rÂ  rÉ  rÐ  ÚnetworkÚ
single_cpurÙ  ÚtdÚskip_if_not_us_localerä  ré  Úslowró  r÷  rù  r  r.  r5  r>  rq  ru  r}  r€  r…  rˆ  rŠ  r�  r�  r–  rš  r�  r¡  r©  r¬  r½  r-   r&   r$   ra   ra   �   sq  € € € € € Ø„[×Ò˜UÐ%8Ð%8Ð%8¸4¸&À4ÈÀ-Ð$PÑQÔQð'ð 'ñ RÔQð'ð0ð 0ð 0ð( €V„^˜DÐ!Ñ!Ô!ð4ð 4ñ "Ô!ð4ð"ð "ð "ð0ð ð ð4ð ð ð$-ð -ð -ð*1-ð 1-ð 1-ðf „[×ÒØ�I�I�I˜y˜y˜y¨)¨)¨)°Y°Y°YÀ	À	À	È9È9È9ÐUñô ð0ð 0ñô ð0ð „[×Ò˜Y¨#¨s¨°c¸3°ZÐ(@ÑAÔAð0ð 0ñ BÔAð0ð0ð 0ð 0ð	0ð 	0ð 	0ðSð Sð Sð	ð 	ð 	ð0ð 0ð 0ð	0ð 	0ð 	0ð „[×Ò˜[¨4°¨)Ñ4Ô4ð0ð 0ñ 5Ô4ð0ð=ð =ð =ðAð Að Að0ð 0ð 0ð
0ð 0ð 0ð2ð 2ð 2ð&/0ð /0ð /0ðd0ð 0ð 0ð4Eð Eð Eð: „[×ÒØð à%˜˜Ø-Ð-Ð-Ø%˜˜Ø˜s B¤F¨CÐ0ð	ð ðð   i°cÀÐDÐDà˜   °IÐ>Ñ>Ô>Ø˜Ð 4Ð 4Ð 4¸IÐFÑFÔFØ˜Ð <Ð <Ð <ÀEÐJÑJÔJØ˜  c¨2¬6°3Ð 7¸uÐEÑEÔEð	ð ðð	
ñô ð.0ð 0ñ/ô ð.0ð10ð 10ð 10ðf*ð *ð *ðIð Ið Ið8 „[×ÒÐ0°B¸°7¸eÀWÐ=MÈqÐ<QÐ2RÑSÔSð0ð 0ñ TÔSð0ð 0ð 0ð 0ð& „[×ÒØà˜˜ H¨z¨lÐ#;Ñ<Ô<Ð=Ø˜˜¨L¨>Ð:Ñ:Ô:Ð;ð	
ñô ð0ð 0ñô ð0ð1ð 1ð 1ð5ð 5ð 5ð:ð :ð :ð3ð 3ð 3ð0ð 0ð 0ð
Xð Xð Xð „[×ÒÐ OÑPÔPð0ð 0ñ QÔPð0ð6-ð -ð -ð"4ð 4ð 4ð1ð 1ð 1ð
 „[×ÒØØ	
ˆQ�ˆF�Q˜�F˜H x°Ð&:¸XÀxÐ<PÐQñô ðEð Eñ	ô ðEð$ð $ð $ð/ð /ð /ð4 „[ÔØ„[Ôð6ð 6ñ Ôñ Ôð6ð ÔØ„[Ôð6ð 6ñ Ôñ Ôð6ð „[Ôð6ð 6ñ Ôð6ð „[Ôð6ð 6ñ Ôð6ð0ð 0ð 0ðð ð ð"0ð "0ð "0ðHR0ð R0ð R0ðh „[×ÒØà,¨r¬v°s¸CÀÐ.EÐFØ(¨2¬6¨(°Q©,Ð7ð	
ñô ð0ð 0ñô ð0ð@	0ð 	0ð 	0ðG0ð G0ð G0ðR>ð >ð >ð40ð 40ð 40ðl0ð 0ð 0ð,0ð 0ð 0ð0ð 0ð 0ð9ð 9ð 9ð „[×ÒØ7à˜{¨Q°¨F°A°tÐ<Ø˜z¨4°!°Q°¸Ð>Ø˜v¨¨1 v°°1¨v°tÐ<ØÐ/°!°Q°¸¸DÐAØ˜_¨d°D¸1¸a¸&ÐAØ˜_¨d°DÐ:OÐ:OÐPð	
ñ
ô 
ð0ð 0ñ
ô 
ð0ð2;ð ;ð ;ð0ð 0ð 0ð0ð 0ð 0ð	0ð 	0ð 	0ð&ð &ð &ðHð Hð HðAð Að Að0ð 0ð 0ð 0ð 0r&   ra   c            
      ó˜  — e Zd Zd„ Z ej        d¬¦  «        d„ ¦   «         Zd„ Zd„ Zej	         
                    dg d¢¦  «        d	„ ¦   «         Zd
„ Zd„ Zej	         
                    ddddgddgdddgddgg¦  «        d„ ¦   «         Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zej	         
                    dddg¦  «        d„ ¦   «         Zd„ Zd„ Zd„ Zd„ Zd S )!ÚTestExcelFileReadc                ó  — d}t          j        t          |¬¦  «        5  t          d|z   d¦  «        5 }t	          j        |                     ¦   «         |¬¦  «         d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         d S # 1 swxY w Y   d S )Nz+Expected file path name or file-like objectr¤   r˜   r™   r…   )r(   r©   rª   r›   rm   rn   rÔ  )rq   r#   r   r«   r�   s        r$   Útest_raises_bytes_inputz)TestExcelFileRead.test_raises_bytes_input¾  s  € à;ˆÝŒ]�9¨CÐ0Ñ0Ô0ð 	7ð 	7Ý�g Ñ(¨$Ñ/Ô/ð 7°1Ý”˜aŸfšf™hœh¨vÐ6Ñ6Ô6Ð6ð7ð 7ð 7ñ 7ô 7ð 7ð 7ð 7ð 7ð 7ð 7øøøð 7ð 7ð 7ð 7ð	7ð 	7ð 	7ñ 	7ô 	7ð 	7ð 	7ð 	7ð 	7ð 	7ð 	7ð 	7øøøð 	7ð 	7ð 	7ð 	7ð 	7ð 	7s4   žA?²)A'ÁA?Á'A+	Á+A?Á.A+	Á/A?Á?BÂBTr‚   c                ó´   — t          t          j        |¬¦  «        }|                      |ddd¦  «        ¦  «         |                     t          d|¦  «         dS )zH
        Change directory and set engine for ExcelFile objects.
        r…   rD   rE   rv   r~   N)r   rm   r~   r†   r‡   rˆ   s        r$   r‹   z#TestExcelFileRead.cd_and_set_engineÅ  sX   € õ
 •r”|¨FÐ3Ñ3Ô3ˆØ×Ò˜(˜( 4¨°Ñ9Ô9Ñ:Ô:Ð:Ø×Ò�B ¨TÑ2Ô2Ð2Ð2Ð2r&   c                ó¼   — ddddddœ}t          j        d|z   ¦  «        5 }|j        }d d d ¦  «         n# 1 swxY w Y   |�|}n||dd …                  }||k    sJ ‚d S )Nr   r   r   r   r’   r˜   rš   )rm   r~   r#   )rq   r   r#   rœ   rv   rž   rQ   s          r$   rŸ   z"TestExcelFileRead.test_engine_usedÎ  sÆ   € àØØØØð
ð 
Ðõ Œ\˜' HÑ,Ñ-Ô-ð 	"°Ø”\ˆFð	"ð 	"ð 	"ñ 	"ô 	"ð 	"ð 	"ð 	"ð 	"ð 	"ð 	"øøøð 	"ð 	"ð 	"ð 	"ð ÐØˆHˆHà(¨°!°"°"¬Ô6ˆHØ˜Ò!Ð!Ð!Ð!Ð!Ð!s    4´8»8c                ón  — t          j        d|z   ¦  «        5 }t          j        |dddg¬¦  «        }d d d ¦  «         n# 1 swxY w Y   t          dgdgdgt          j        gdggd	g¬
¦  «        }t          j        ||¦  «         t          j        d|z   ¦  «        5 }t          j        |dddg¬¦  «        }d d d ¦  «         n# 1 swxY w Y   t          t          j        gdgt          j        gt          j        gdggd	g¬
¦  «        }t          j        ||¦  «         t          j        d|z   ¦  «        5 }t          j        |dddg¬¦  «        }d d d ¦  «         n# 1 swxY w Y   t          dgdgdgt          j        gdggd	g¬
¦  «        }t          j        ||¦  «         t          j        d|z   ¦  «        5 }t          j        |dddg¬¦  «        }d d d ¦  «         n# 1 swxY w Y   t          t          j        gdgt          j        gt          j        gdggd	g¬
¦  «        }t          j        ||¦  «         d S )NÚtest4rw   FÚapple©rz   r{   r|   ro  rš   Úrabbitr}   rò   TÚtest5ú1.#QNANrx   )rm   r~   rn   r   r  rx   ro   rp   )rq   r   rv   r€   rQ   s        r$   Útest_excel_passes_naz&TestExcelFileRead.test_excel_passes_naà  sV  € ÝŒ\˜' HÑ,Ñ-Ô-ð 	°Ý”]Ø (¸EÈgÈYðñ ô ˆFð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	õ ØˆV�a�S˜4˜&¥2¤6 (¨X¨JÐ7À&Àð
ñ 
ô 
ˆõ 	Ô˜f hÑ/Ô/Ð/åŒ\˜' HÑ,Ñ-Ô-ð 	°Ý”]Ø (¸DÈWÈIðñ ô ˆFð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	õ ÝŒfˆX˜�s�RœV˜H¥r¤v h°°
Ð;ÀfÀXð
ñ 
ô 
ˆõ 	Ô˜f hÑ/Ô/Ð/õ Œ\˜' HÑ,Ñ-Ô-ð 	°Ý”]Ø (¸EÈgÈYðñ ô ˆFð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	õ Øˆ[˜1˜# ˜w­¬¨°8°*Ð=ÈÀxð
ñ 
ô 
ˆõ 	Ô˜f hÑ/Ô/Ð/åŒ\˜' HÑ,Ñ-Ô-ð 	°Ý”]Ø (¸DÈWÈIðñ ô ˆFð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	õ ÝŒfˆX˜�s�RœV˜H¥r¤v h°°
Ð;ÀfÀXð
ñ 
ô 
ˆõ 	Ô˜f hÑ/Ô/Ð/Ð/Ð/sE   ˜>¾AÁAÂCÃCÃCÄ2EÅEÅEÆ5GÇGÇ"GÚ	na_filter)NTFc                óh  — i }|�||d<   t          j        d|z   ¦  «        5 }t          j        |fdddgdœ|¤Ž}d d d ¦  «         n# 1 swxY w Y   |du rdgd	gd
gdgdgg}n*t          j        gd	gt          j        gt          j        gdgg}t          |dg¬¦  «        }t          j        ||¦  «         d S )Nr×  rÔ  rw   TrÑ  rÒ  FrÕ  rš   rx   rÓ  r}   rò   )rm   r~   rn   r  rx   r   ro   rp   )rq   r   r×  r�   rv   r€   rQ   s          r$   Útest_excel_passes_na_filterz-TestExcelFileRead.test_excel_passes_na_filter  s)  € ð ˆàÐ Ø"+ˆF�;ÑåŒ\˜' HÑ,Ñ-Ô-ð 	°Ý”]Øðà#Ø $Ø"˜)ð	ð ð
 ðð ˆFð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð ˜ÐÐØ"˜ a S¨5¨'°G°9¸x¸jÐIˆHˆHåœ˜ 1 #­¬ xµ"´&°¸H¸:ÐFˆHå˜X°¨xÐ8Ñ8Ô8ˆÝ
Ô˜f hÑ/Ô/Ð/Ð/Ð/s   ¡AÁA	ÁA	c                ó  — t          ||¦  «         |}t          |||¦  «         t          j        d|z   ¦  «        5 }t          j        |dd¬¦  «        }t          j        |ddgd¬¦  «        }d d d ¦  «         n# 1 swxY w Y   t          j        ||¦  «         t          j        ||¦  «         t          j        d|z   ¦  «        5 }|                     dd¬¦  «        }|                     ddgd¬¦  «        }d d d ¦  «         n# 1 swxY w Y   t          j        ||¦  «         t          j        ||¦  «         t          j        d|z   ¦  «        5 }t          j        |ddd¬¦  «        }	d d d ¦  «         n# 1 swxY w Y   t          j        |	|j        d d	…         ¦  «         t          j        d|z   ¦  «        5 }|                     ddd¬
¦  «        }	d d d ¦  «         n# 1 swxY w Y   t          j        |	|j        d d	…         ¦  «         d S )Nr˜   r   rÎ   rš   r  )rH   )r³   rH   r	  r  )rH   r
  )	r_   rX   rm   r~   rn   ro   rp   r‘   r  )
rq   r6   r#   r   rL   rQ   rv   r½   rs   rÂ   s
             r$   Útest_excel_table_sheet_by_indexz1TestExcelFileRead.test_excel_table_sheet_by_index  s  € Ý# F¨GÑ4Ô4Ð4àˆÝ˜ (¨FÑ3Ô3Ð3åŒ\˜' HÑ,Ñ-Ô-ð 	P°Ý”- °!¸qÐAÑAÔAˆCÝ”- °!¸q¸cÈQÐOÑOÔOˆCð	Pð 	Pð 	Pñ 	Pô 	Pð 	Pð 	Pð 	Pð 	Pð 	Pð 	Pøøøð 	Pð 	Pð 	Pð 	Põ 	Ô˜c 8Ñ,Ô,Ð,Ý
Ô˜c 8Ñ,Ô,Ð,åŒ\˜' HÑ,Ñ-Ô-ð 	<°Ø—+’+˜a¨1�+Ñ-Ô-ˆCØ—+’+˜a¨1¨#¸�+Ñ;Ô;ˆCð	<ð 	<ð 	<ñ 	<ô 	<ð 	<ð 	<ð 	<ð 	<ð 	<ð 	<øøøð 	<ð 	<ð 	<ð 	<õ 	Ô˜c 8Ñ,Ô,Ð,Ý
Ô˜c 8Ñ,Ô,Ð,åŒ\˜' HÑ,Ñ-Ô-ð 	P°Ý”- °!¸qÈQÐOÑOÔOˆCð	Pð 	Pð 	Pñ 	Pô 	Pð 	Pð 	Pð 	Pð 	Pð 	Pð 	Pøøøð 	Pð 	Pð 	Pð 	På
Ô˜c 3¤8¨C¨R¨C¤=Ñ1Ô1Ð1åŒ\˜' HÑ,Ñ-Ô-ð 	<°Ø—+’+˜a¨1¸�+Ñ;Ô;ˆCð	<ð 	<ð 	<ñ 	<ô 	<ð 	<ð 	<ð 	<ð 	<ð 	<ð 	<øøøð 	<ð 	<ð 	<ð 	<õ 	Ô˜c 3¤8¨C¨R¨C¤=Ñ1Ô1Ð1Ð1Ð1sG   »1A8Á8A<Á?A<Ã1DÄDÄDÅE2Å2E6Å9E6Æ6GÇGÇ"Gc                óÀ  — t          ||¦  «         |}t          |||¦  «         d}d}t          j        ||z   ¦  «        5 }|                     |d¬¦  «        }	d d d ¦  «         n# 1 swxY w Y   t          j        ||z   ¦  «        5 }|                     d|¬¦  «        }
d d d ¦  «         n# 1 swxY w Y   t          j        |	|¦  «         t          j        |
|¦  «         d S r·  )r_   rX   rm   r~   r‘   ro   rp   )rq   r6   r#   r   rL   rQ   r¸  rz   rv   Ú	df1_parseÚ	df2_parses              r$   r¹  z!TestExcelFileRead.test_sheet_name:  s{  € Ý# F¨GÑ4Ô4Ð4àˆÝ˜ (¨FÑ3Ô3Ð3àˆØˆ
åŒ\˜( XÑ-Ñ.Ô.ð 	H°%ØŸš¨zÀQ˜ÑGÔGˆIð	Hð 	Hð 	Hñ 	Hô 	Hð 	Hð 	Hð 	Hð 	Hð 	Hð 	Høøøð 	Hð 	Hð 	Hð 	Hõ Œ\˜( XÑ-Ñ.Ô.ð 	H°%ØŸš¨a¸J˜ÑGÔGˆIð	Hð 	Hð 	Hñ 	Hô 	Hð 	Hð 	Hð 	Hð 	Hð 	Hð 	Høøøð 	Hð 	Hð 	Hð 	Hõ 	Ô˜i¨Ñ2Ô2Ð2Ý
Ô˜i¨Ñ2Ô2Ð2Ð2Ð2s#   ¿A#Á#A'Á*A'ÂB)Â)B-Â0B-rz   r®   r   ré   rw   c                óü   — d}t          j        t          |¬¦  «        5  t          j        d|z   ¦  «        5 }|                     |¬¦  «         d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         d S # 1 swxY w Y   d S rÁ  )r(   r©   rµ   rm   r~   r‘   )rq   r   rz   r«   rv   s        r$   rÂ  z+TestExcelFileRead.test_bad_sheetname_raisesL  sþ   € ð PˆÝŒ]�:¨SÐ1Ñ1Ô1ð 	3ð 	3Ý”˜g¨Ñ0Ñ1Ô1ð 3°UØ—’ z�Ñ2Ô2Ð2ð3ð 3ð 3ñ 3ô 3ð 3ð 3ð 3ð 3ð 3ð 3øøøð 3ð 3ð 3ð 3ð	3ð 	3ð 	3ñ 	3ô 	3ð 	3ð 	3ð 	3ð 	3ð 	3ð 	3ð 	3øøøð 	3ð 	3ð 	3ð 	3ð 	3ð 	3s4   žA1¶AÁA1ÁA	ÁA1Á A	Á!A1Á1A5Á8A5c                ó@  — d|z   }t          j        |dd|¬¦  «        }t          |d¦  «        5 }t          j        |¦  «        5 }t          j        |dd¬¦  «        }d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         n# 1 swxY w Y   t	          j        ||¦  «         d S )Nr˜   rw   r   ©rz   rH   r#   r™   rÎ   )rm   rn   r›   r~   ro   rp   )rq   r#   r   r»  rQ   r�   r–   r+  s           r$   r¼  z(TestExcelFileRead.test_excel_read_bufferW  s5  € Ø˜Ñ ˆÝ”= °ÀQÈvÐVÑVÔVˆå�#�t‰_Œ_ð 	N Ý”˜a‘”ð N CÝœ s°xÈ1ÐMÑMÔM�ðNð Nð Nñ Nô Nð Nð Nð Nð Nð Nð Nøøøð Nð Nð Nð Nð	Nð 	Nð 	Nñ 	Nô 	Nð 	Nð 	Nð 	Nð 	Nð 	Nð 	Nøøøð 	Nð 	Nð 	Nð 	Nõ 	Ô˜h¨Ñ/Ô/Ð/Ð/Ð/s5   ®A>ÁA'ÁA>Á'A+	Á+A>Á.A+	Á/A>Á>BÂBc                óö   — t          d|z   d¦  «        5 }t          j        |¦  «        5 }t          j        |dd|¬¦  «         d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         n# 1 swxY w Y   |j        sJ ‚d S )Nr˜   r™   rw   r   rá  )r›   rm   r~   rn   Úclosed)rq   r#   r   r�   r“   s        r$   Útest_reader_closes_filez)TestExcelFileRead.test_reader_closes_filea  s  € Ý�'˜HÑ$ dÑ+Ô+ð 	U¨qÝ”˜a‘”ð U Då”˜d¨xÀ1ÈVÐTÑTÔTÐTðUð Uð Uñ Uô Uð Uð Uð Uð Uð Uð Uøøøð Uð Uð Uð Uð	Uð 	Uð 	Uñ 	Uô 	Uð 	Uð 	Uð 	Uð 	Uð 	Uð 	Uøøøð 	Uð 	Uð 	Uð 	Uð
 Œxˆˆˆxˆˆs4   ”A%©AÁA%ÁA	ÁA%ÁA	ÁA%Á%A)Á,A)c                óü   — d}t          j        d|z   ¦  «        5 }t          j        t          |¬¦  «        5  t          j        |d¬¦  «         d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         d S # 1 swxY w Y   d S )Nz8Engine should not be specified when passing an ExcelFiler˜   r¤   r¡   r…   )rm   r~   r(   r©   rµ   rn   )rq   r   r«   Úxls       r$   Útest_conflicting_excel_enginesz0TestExcelFileRead.test_conflicting_excel_enginesi  sü   € àHˆåŒ\˜' HÑ,Ñ-Ô-ð 	0°Ý”�z°Ð5Ñ5Ô5ð 0ð 0Ý”˜b¨Ð/Ñ/Ô/Ð/ð0ð 0ð 0ñ 0ô 0ð 0ð 0ð 0ð 0ð 0ð 0øøøð 0ð 0ð 0ð 0ð	0ð 	0ð 	0ñ 	0ô 	0ð 	0ð 	0ð 	0ð 	0ð 	0ð 	0ð 	0øøøð 	0ð 	0ð 	0ð 	0ð 	0ð 	0s4   šA1¶AÁA1ÁA	ÁA1Á A	Á!A1Á1A5Á8A5c                ó&  — t          j        d|z   |¬¦  «        }t          d|z   d¦  «        5 }|                     ¦   «         }d d d ¦  «         n# 1 swxY w Y   t          j        t	          |¦  «        |¬¦  «        }t          j        ||¦  «         d S )Nr˜   r…   r™   )rm   rn   r›   rÔ  r   ro   rp   )rq   r#   r   rQ   r�   rE   r+  s          r$   Útest_excel_read_binaryz(TestExcelFileRead.test_excel_read_binaryq  sÄ   € å”= ¨8Ñ!3¸FÐCÑCÔCˆå�'˜HÑ$ dÑ+Ô+ð 	¨qØ—6’6‘8”8ˆDð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	õ ”�w t™}œ}°VÐ<Ñ<Ô<ˆÝ
Ô˜h¨Ñ/Ô/Ð/Ð/Ð/s   ­AÁAÁAc                óä   — t          d|z   d¦  «        5 }t          j        ||¬¦  «        }d d d ¦  «         n# 1 swxY w Y   t          j        d|z   |¬¦  «        }t          j        ||¦  «         d S )Nr˜   r™   r…   )r›   rm   rn   ro   rp   )rq   r   r#   r�   rž   rQ   s         r$   Ú%test_excel_read_binary_via_read_excelz7TestExcelFileRead.test_excel_read_binary_via_read_excel{  s¯   € å�'˜HÑ$ dÑ+Ô+ð 	5¨qÝ”] 1¨VÐ4Ñ4Ô4ˆFð	5ð 	5ð 	5ñ 	5ô 	5ð 	5ð 	5ð 	5ð 	5ð 	5ð 	5øøøð 	5ð 	5ð 	5ð 	5å”= ¨8Ñ!3¸FÐCÑCÔCˆÝ
Ô˜f hÑ/Ô/Ð/Ð/Ð/s   ”7·;¾;c                óî   — t          dd¦  «        5 }t          j        t          d¬¦  «        5  t	          j        |ddg¬¦  «         d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         d S # 1 swxY w Y   d S )Nzdf_header_oob.xlsxr™   zexceeds maximumr¤   r   rš   rs  )r›   r(   r©   rµ   rm   rn   )rq   r#   r�   s      r$   Ú)test_read_excel_header_index_out_of_rangez;TestExcelFileRead.test_read_excel_header_index_out_of_range‚  sø   € åÐ&¨Ñ-Ô-ð 	0°Ý”�zÐ1BÐCÑCÔCð 0ð 0Ý”˜a¨¨A¨Ð/Ñ/Ô/Ð/ð0ð 0ð 0ñ 0ô 0ð 0ð 0ð 0ð 0ð 0ð 0øøøð 0ð 0ð 0ð 0ð	0ð 	0ð 	0ñ 	0ô 	0ð 	0ð 	0ð 	0ð 	0ð 	0ð 	0ð 	0øøøð 	0ð 	0ð 	0ð 	0ð 	0ð 	0s4   ‘A*­AÁA*ÁA	ÁA*ÁA	ÁA*Á*A.Á1A.r¸  zdf_empty.xlsxzdf_equals.xlsxc                óè   — t          dgd¬¦  «        }t          j        ddgddg¬¦  «        }t          d	d
gg||d¬¦  «        }t	          j        |dddd	g¬¦  «        }t          j        ||¦  «         d S )NÚZÚI2rÝ   r9  )rÁ   zB.1ÚI11ÚI12r2  rš   r®   rU  )rT   rß   rj   rw   r   r  )r   r   r“  r   rm   rn   ro   rp   )rq   r¸  r•  ÚcolsrQ   rž   s         r$   Útest_header_with_index_colz,TestExcelFileRead.test_header_with_index_colˆ  s‘   € õ �S�E Ð%Ñ%Ô%ˆÝÔ% z°<Ð&@ÈÐPUÈÐWÑWÔWˆÝ˜q !˜f˜X¨S¸$ÀgÐNÑNÔNˆÝ”Ø °QÀÀ1¸vð
ñ 
ô 
ˆõ 	Ô˜h¨Ñ/Ô/Ð/Ð/Ð/r&   c                ó  — t          ||¦  «         d|z   }t          j        |¦  «        5 }t          j        |ddgd|¬¦  «        }d d d ¦  «         n# 1 swxY w Y   t	          ||¦  «        }t          j        ddgd|› d�¬	¦  «        }t          j        |d d…         |dd …         g|d                              ¦   «         |d                              ¦   «         g¬
¦  «        }	t          g g |	¬¦  «        }
t          j        |
|¦  «         d S )NÚtest_datetime_mir   rš   )r¬  rH   r#   z
2020-02-29z
2020-03-01r  r  ri   r2  rk  )r_   rm   r~   rn   rP   ÚDatetimeIndexr   r3  Úto_pydatetimer   ro   rp   )rq   r6   r#   r   r�   rv   r+  rW   ÚdtiÚexpected_column_indexrQ   s              r$   Útest_read_datetime_multiindexz/TestExcelFileRead.test_read_datetime_multiindex“  sf  € å# F¨GÑ4Ô4Ð4à Ñ)ˆÝŒ\˜!‰_Œ_ð 	U Ý”] 5°!°Q°À1ÈVÐTÑTÔTˆFð	Uð 	Uð 	Uñ 	Uô 	Uð 	Uð 	Uð 	Uð 	Uð 	Uð 	Uøøøð 	Uð 	Uð 	Uð 	Uõ ˜H fÑ-Ô-ˆåÔ ¨lÐ;À=ÈÀ=À=À=ÐQÑQÔQˆÝ *Ô 6Ø��!�ŒW�c˜!˜"˜"”gÐà�A”×$Ò$Ñ&Ô&Ø�A”×$Ò$Ñ&Ô&ðð!
ñ !
ô !
Ðõ ˜R rÐ3HÐIÑIÔIˆå
Ô˜h¨Ñ/Ô/Ð/Ð/Ð/s   ªAÁAÁAc                óÒ   — t          j        t          d¬¦  «        5  t          j        d|› d�d¦  «        5  	 d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         d S # 1 swxY w Y   d S )NzValue must be one of *r¤   zio.excelz.readerÚabc)r(   r©   rµ   rm   r~  r¯  s     r$   Útest_engine_invalid_optionz,TestExcelFileRead.test_engine_invalid_option©  só   € åŒ]�:Ð-EÐFÑFÔFð 	ð 	ÝÔ"Ð#?¨hÐ#?Ð#?Ð#?ÀÑGÔGð ð Øðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	s3   œA¶A¸AÁA	ÁAÁA	ÁAÁA Á#A c                ó*  — |dk    rt          j        d¦  «         |dk    r3|                     t           j                             d¬¦  «        ¦  «         t          j        d|z   ¦  «        5 }|j        dgk    sJ ‚	 d d d ¦  «         d S # 1 swxY w Y   d S )Nr   r£  r   r¤  rZ   r¥  rw   )r(   rk   r\   r]   r^   rm   r~   Úsheet_names)rq   r6   r#   r   rv   s        r$   Útest_ignore_chartsheetsz)TestExcelFileRead.test_ignore_chartsheets¯  sï   € à�vÒÐÝŒKÐDÑEÔEÐEØ�XÒÐØ×ÒÝ”×!Ò!ØQð "ñ ô ñô ð õ
 Œ\˜,¨Ñ1Ñ2Ô2ð 	3°eØÔ$¨¨
Ò2Ð2Ð2Ð2Ð2ð	3ð 	3ð 	3ñ 	3ô 	3ð 	3ð 	3ð 	3ð 	3ð 	3ð 	3ð 	3øøøð 	3ð 	3ð 	3ð 	3ð 	3ð 	3s   Á+BÂBÂBc                óŒ  — t           f}|€t          j        d|› �¦  «         n-|dk    rdd l}t           |j        j        f}n|dk    r	ddlm} |f}t          |¦  «         	                    dd¬¦  «         t          j        d	¦  «        5  	 t          j        ||¬
¦  «         n# |$ r Y nw xY wd d d ¦  «         d S # 1 swxY w Y   d S )NzInvalid test for engine=r   r   r   rÌ  Úcorruptzutf-8)ÚencodingFr…   )r
   r(   rk   r   ÚbiffhrË  r   rÍ  r   Ú
write_textro   Úassert_produces_warningrm   r~   )rq   r#   rB   Úerrorsr   rÍ  s         r$   Útest_corrupt_files_closedz+TestExcelFileRead.test_corrupt_files_closed¼  sE  € å�ˆØˆ>ÝŒKÐ;°6Ð;Ð;Ñ<Ô<Ð<Ð<Ø�vÒÐØˆKˆKˆKå  $¤*Ô"6Ð7ˆFˆFØ�zÒ!Ð!Ø5Ð5Ð5Ð5Ð5Ð5à#Ð%ˆFåˆY‰Œ×"Ò" 9°wÐ"Ñ?Ô?Ð?ÝÔ'¨Ñ.Ô.ð 	ð 	ðÝ”˜Y¨vÐ6Ñ6Ô6Ð6Ð6øØð ð ð Ø�ðøøøð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	s6   ÂB9Â
B!Â B9Â!B)Â&B9Â(B)Â)B9Â9B=Ã B=N)r¾  r¿  rÀ  rÌ  r(   rÂ  r‹   rŸ   rÖ  r]   rÁ  rÙ  rÛ  r¹  rÂ  r¼  rä  rç  ré  rë  rí  rô  rû  rþ  r  r	  r-   r&   r$   rÊ  rÊ  ½  sà  € € € € € ð7ð 7ð 7ð €V„^˜DÐ!Ñ!Ô!ð3ð 3ñ "Ô!ð3ð"ð "ð "ð$$0ð $0ð $0ðL „[×Ò˜[Ð*=Ð*=Ð*=Ñ>Ô>ð0ð 0ñ ?Ô>ð0ð02ð 2ð 2ð63ð 3ð 3ð$ „[×ÒØØ	
ˆQ�ˆF�Q˜�F˜H x°Ð&:¸XÀxÐ<PÐQñô ð3ð 3ñ	ô ð3ð0ð 0ð 0ðð ð ð0ð 0ð 0ð0ð 0ð 0ð0ð 0ð 0ð0ð 0ð 0ð „[×Ò˜Z¨/Ð;KÐ)LÑMÔMð0ð 0ñ NÔMð0ð0ð 0ð 0ð,ð ð ð3ð 3ð 3ðð ð ð ð r&   rÊ  )r   r   r   r    )r   r   r#   rM   r   r   )rQ   r   r   r   r#   rM   r   rR   )5Ú
__future__r   r   r   Ú	functoolsr   rD   r   rì  Úpathlibr   rî  r§   Úurllib.errorr	   r=   Úzipfiler
   Únumpyr  r(   Úpandas.util._test_decoratorsÚutilÚ_test_decoratorsrÆ  Úpandasrm   r   r   r   r   r   Úpandas._testingÚ_testingro   r.   r)   Ú
skip_if_noÚengine_paramsr%   r+   rÂ  r   r7   r#   r   rB   rL   rP   rX   r_   ra   rÊ  r-   r&   r$   ú<module>r     sä  ðØ "Ð "Ð "Ð "Ð "Ð "ðð ð ð ð ð ð ð ð Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø 	€	€	€	Ø Ð Ð Ð Ð Ð Ø €€€Ø 	€	€	€	Ø !Ð !Ð !Ð !Ð !Ð !Ø €€€Ø Ð Ð Ð Ð Ð à Ð Ð Ð Ø €€€à )Ð )Ð )Ð )Ð )Ð )Ð )Ð )Ð )à Ð Ð Ð ðð ð ð ð ð ð ð ð ð ð ð ð ð ð Ð Ð Ð Ð Ð à=Ð=Ð=€ð
 €F„LØàˆBŒM˜&Ñ!Ô!ð
ðñ ô ð €F„LØàˆBŒM˜*Ñ%Ô%ð
ðñ ô ð €F„LØàˆBŒM˜&Ñ!Ô!ð
ðñ ô ð €F„L�  ¤¨xÑ!8Ô!8Ð9Ñ9Ô9Ø€F„L�˜m˜bœm¨EÑ2Ô2Ð3Ñ3Ô3Ø€F„L� = 2¤=Ð1BÑ#CÔ#CÐDÑDÔDð1€ð8ð ð ð ð*ð ð ð €„ðð à ðñ ô ð 	ðñ ô ðð ñô ðð „ðð ñ „ðð
 „ðð ñ „ðð
 „ðð ñ „ðð „ðð ñ „ððð ð ð ð2ð 2ð 2ð 2ð
ð 
ð 
ð]0ð ]0ð ]0ð ]0ð ]0ñ ]0ô ]0ð ]0ð@)Rð Rð Rð Rð Rñ Rô Rð Rð Rð Rr&   