§
    ªöÉg"  ã                  ó  — d dl mZ d dlZd dlZd dlmZ d dlmZmZ d dl	m
Z  G d„ d¦  «        Z G d„ de¦  «        Z G d	„ d
e¦  «        Z G d„ de¦  «        Z G d„ de¦  «        Z G d„ de¦  «        Zej        d„ ¦   «         Zej        d„ ¦   «         ZeZeZeZeZegZeegZ ej        eej        j        ¬¦  «        gZg e¢e¢e¢ZdgZ ddgZ!dgZ"g e!¢e ¢e"¢Z# ej        ee#¬¦  «        d„ ¦   «         Z$ ej        ee!¬¦  «        d„ ¦   «         Z% ej        ee ¬¦  «        d„ ¦   «         Z& ej        ee"¬¦  «        d„ ¦   «         Z'd„ Z( ej         e(¦   «         d          e(¦   «         d         ¬¦  «        d „ ¦   «         Z)g d!¢Z*g d"¢Z+d#d$gZ,d%„ e+D ¦   «         Z- ej        e*¬&¦  «        d'„ ¦   «         Z. ej        e-¬&¦  «        d(„ ¦   «         Z/ ej        g d)¢¬&¦  «        d*„ ¦   «         Z0ej        d+„ ¦   «         Z1ej        d,„ ¦   «         Z2dS )-é    )ÚannotationsN)ÚVERSIONS)Úread_csvÚ
read_tablec                  ó`   — e Zd ZU dZded<   dZg Zded<   d„ Zd„ Zddd	œdd„Z	d„ Z
ddœdd„ZdS )Ú
BaseParserNz
str | NoneÚengineTzlist[str | None]Úfloat_precision_choicesc                ór   — |                      ¦   «         }|                     | j        | j        dœ¦  «         |S )N)r	   Ú
low_memory)ÚcopyÚupdater	   r   )ÚselfÚkwargss     úk/var/www/html/nodeJS/PythonScripts/venv3.11/lib/python3.11/site-packages/pandas/tests/io/parser/conftest.pyÚupdate_kwargszBaseParser.update_kwargs   s2   € Ø—’‘”ˆØ�Š ¤¸D¼OÐLÐLÑMÔMÐMàˆó    c                óD   — |                       |¦  «        }t          |i |¤ŽS ©N)r   r   ©r   Úargsr   s      r   r   zBaseParser.read_csv   s(   € Ø×#Ò# FÑ+Ô+ˆÝ˜Ð( Ð(Ð(Ð(r   )Úraise_on_extra_warningsÚcheck_stacklevelÚ	warn_typeútype[Warning]Úwarn_msgÚstrr   Úboolc               ó¨   — |                       |¦  «        }t          j        ||||¬¦  «        5  t          |i |¤Žcd d d ¦  «         S # 1 swxY w Y   d S )N)Úmatchr   r   )r   ÚtmÚassert_produces_warningr   )r   r   r   r   r   r   r   s          r   Úread_csv_check_warningsz"BaseParser.read_csv_check_warnings   s±   € ð ×#Ò# FÑ+Ô+ˆÝÔ'ØØØ$;Ø-ð	
ñ 
ô 
ð 	-ð 	-õ ˜TÐ, VÐ,Ð,ð	-ð 	-ð 	-ð 	-ñ 	-ô 	-ð 	-ð 	-ð 	-ð 	-ð 	-ð 	-øøøð 	-ð 	-ð 	-ð 	-ð 	-ð 	-s   ®AÁAÁAc                óD   — |                       |¦  «        }t          |i |¤ŽS r   )r   r   r   s      r   r   zBaseParser.read_table4   s(   € Ø×#Ò# FÑ+Ô+ˆÝ˜4Ð* 6Ð*Ð*Ð*r   )r   c               ó¦   — |                       |¦  «        }t          j        |||¬¦  «        5  t          |i |¤Žcd d d ¦  «         S # 1 swxY w Y   d S )N)r    r   )r   r!   r"   r   )r   r   r   r   r   r   s         r   Úread_table_check_warningsz$BaseParser.read_table_check_warnings8   s­   € ð ×#Ò# FÑ+Ô+ˆÝÔ'Ø˜XÐ?Vð
ñ 
ô 
ð 	/ð 	/õ ˜tÐ. vÐ.Ð.ð	/ð 	/ð 	/ð 	/ñ 	/ô 	/ð 	/ð 	/ð 	/ð 	/ð 	/ð 	/øøøð 	/ð 	/ð 	/ð 	/ð 	/ð 	/s   ­AÁA
ÁA
)r   r   r   r   r   r   )r   r   r   r   )Ú__name__Ú
__module__Ú__qualname__r	   Ú__annotations__r   r
   r   r   r#   r   r&   © r   r   r   r      s´   € € € € € € Ø€FÐÐÐÑØ€JØ02ÐÐ2Ð2Ð2Ñ2ðð ð ð)ð )ð )ð !%Ø!%ð-ð -ð -ð -ð -ð -ð*+ð +ð +ð !%ð/ð /ð /ð /ð /ð /ð /ð /r   r   c                  ó   — e Zd ZdZg d¢ZdS )ÚCParserÚc)NÚhighÚ
round_tripN©r'   r(   r)   r	   r
   r+   r   r   r-   r-   J   s!   € € € € € Ø€FØ:Ð:Ð:ÐÐÐr   r-   c                  ó   — e Zd ZdZdS )ÚCParserHighMemoryFN©r'   r(   r)   r   r+   r   r   r3   r3   O   s   € € € € € Ø€J€J€Jr   r3   c                  ó   — e Zd ZdZdS )ÚCParserLowMemoryTNr4   r+   r   r   r6   r6   S   s   € € € € € Ø€J€J€Jr   r6   c                  ó   — e Zd ZdZdgZdS )ÚPythonParserÚpythonNr1   r+   r   r   r8   r8   W   s   € € € € € Ø€FØ#˜fÐÐÐr   r8   c                  ó   — e Zd ZdZdgZdS )ÚPyArrowParserÚpyarrowNr1   r+   r   r   r;   r;   \   s   € € € € € Ø€FØ#˜fÐÐÐr   r;   c                ó   —  | ddd¦  «        S )zG
    The directory path to the data files needed for parser tests.
    ÚioÚparserÚdatar+   ©Údatapaths    r   Úcsv_dir_pathrC   a   s   € ð
 ˆ8�D˜( FÑ+Ô+Ð+r   c                óX   — t           j                              | ddd¦  «        d¦  «        S )zH
    The path to the data file "test1.csv" needed for parser tests.
    r>   r@   Úcsvz	test1.csv)ÚosÚpathÚjoinrA   s    r   Úcsv1rI   i   s(   € õ
 Œ7�<Š<˜˜  v¨uÑ5Ô5°{ÑCÔCÐCr   ©Úmarksr9   Úc_highÚc_lowr<   ©ÚparamsÚidsc                ó¶   — |                       ¦   «         }|j        dk    r9t          j        dt          d         ¦  «         ddl}|                     d¦  «         |S )z)
    Fixture all of the CSV parsers.
    r<   r   Né   )Úparamr	   ÚpytestÚimportorskipr   r<   Úset_cpu_count)Úrequestr?   r<   s      r   Úall_parsersrX   ƒ   sZ   € ð
 �]Š]‰_Œ_€FØ„}˜	Ò!Ð!ÝÔ˜I¥x°	Ô':Ñ;Ô;Ð;ð 	ˆˆˆà×Ò˜aÑ Ô Ð Ø€Mr   c                ó*   — |                       ¦   «         S )z<
    Fixture all of the CSV parsers using the C engine.
    ©rS   ©rW   s    r   Úc_parser_onlyr\   “   ó   € ð
 �=Š=‰?Œ?Ðr   c                ó*   — |                       ¦   «         S )zA
    Fixture all of the CSV parsers using the Python engine.
    rZ   r[   s    r   Úpython_parser_onlyr_   ›   r]   r   c                ó*   — |                       ¦   «         S )zB
    Fixture all of the CSV parsers using the Pyarrow engine.
    rZ   r[   s    r   Úpyarrow_parser_onlyra   £   r]   r   c                 ó|  — g } g }t          t          t          ¦  «        D ]™\  }}t          |d¦  «        r|j        d         }|j        D ]o}|j        dk    rt          j        j	        nd}t          j
         |¦   «         |f|¬¦  «        }|                      |¦  «         |                     |› d|› �¦  «         ŒpŒš| |dœS )za
    Return all allowable parser and float precision
    combinations and corresponding ids.
    Úvaluesr   r<   r+   rJ   ú-rN   )ÚzipÚ_all_parsersÚ_all_parser_idsÚhasattrrc   r
   r	   rT   ÚmarkÚ
single_cpurS   Úappend)rO   rP   r?   Ú	parser_idÚ	precisionri   rS   s          r   Ú,_get_all_parser_float_precision_combinationsrn   «   sà   € ð
 €FØ
€CÝ ¥­Ñ?Ô?ð 	3ð 	3Ñˆ�	Ý�6˜8Ñ$Ô$ð 	&à”] 1Ô%ˆFØÔ7ð 	3ð 	3ˆIà-3¬]¸iÒ-GÐ-G•6”;Ô)Ð)ÈRˆDÝ”L & &¡(¤(¨IÐ!6¸dÐCÑCÔCˆEØ�MŠM˜%Ñ Ô Ð Ø�JŠJ˜)Ð1Ð1 iÐ1Ð1Ñ2Ô2Ð2Ð2ð	3ð  SÐ)Ð)Ð)r   rO   rP   c                ó   — | j         S )zR
    Fixture for all allowable combinations of parser
    and float precision
    rZ   r[   s    r   Úall_parsers_all_precisionsrp   À   s   € ð Œ=Ðr   )é   é   é    )Ú rd   Ú_ÚutfÚUTFc                ó0   — g | ]}t           D ]	}|› |› d �‘Œ
ŒS )z{0})Ú_encoding_prefixes)Ú.0ÚsepÚprefixs      r   ú
<listcomp>r}   Ñ   sH   € ð ð ð Ø!ÕBTðð Ø8>€vÐˆsÐÐÐðð ð ð r   )rO   c                ó   — | j         S )zE
    Fixture for all possible integer values for a UTF encoding.
    rZ   r[   s    r   Ú	utf_valuer   Ö   ó   € ð
 Œ=Ðr   c                ó   — | j         S )zD
    Fixture for all possible string formats of a UTF encoding.
    rZ   r[   s    r   Úencoding_fmtr‚   Þ   r€   r   )*)z-1,0ç      ð¿)z-1,2e0g333333ó¿)z-1e0rƒ   )z+1e0ç      ð?)z+1e+0r„   )z+1e-1çš™™™™™¹?)z+,1e1r„   )z+1,e0r„   )z-,1e1rƒ   )z-1,e0rƒ   )z0,1r…   )z1,r„   )z,1r…   )z-,1gš™™™™™¹¿)z1_,r„   )z1_234,56ç
×£p=J“@)z
1_234,56e0r†   )ru   ru   )ú-_r‡   )ú-_1rˆ   )ú-_1e0r‰   )Ú_1rŠ   )ú_1,r‹   )ú_1,_rŒ   )Ú_1e0r�   )ú1,2e_1rŽ   )ú1,2e1_0r�   )ú1,_2r�   )ú,1__2r‘   )ú,1er’   )ú-,1er“   )ú1_000,000_000r”   )ú1,e1_2r•   )úe11,2r–   )ú1e11,2r—   )ú1,2,2r˜   )ú1,2_1r™   )ú	1,2e-10e1rš   )ú--1,2r›   )ú1a_2,1rœ   )z1,2E-1g¸…ëQ¸¾?)z1,2E1g      (@c                ó   — | j         S )z¨
    Fixture for all numeric formats which should get recognized. The first entry
    represents the value to read while the second represents the expected result.
    rZ   r[   s    r   Únumeric_decimalrž   æ   s   € ðh Œ=Ðr   c                ó  — d| j         v r|                      d¦  «        }n'd| j         v r|                      d¦  «        d         }ndS |j        dk    r7t          j                             d¬¦  «        }|                      |¦  «         dS dS )z‰
    Fixture that xfails a test if the engine is pyarrow.

    Use if failure is do to unsupported keywords or inconsistent results.
    rX   rp   r   Nr<   zpyarrow doesn't support this.©Úreason)ÚfixturenamesÚgetfixturevaluer	   rT   ri   ÚxfailÚapplymarker)rW   r?   ri   s      r   Úpyarrow_xfailr¦     s�   € ð ˜Ô,Ð,Ð,Ø×(Ò(¨Ñ7Ô7ˆˆØ	%¨Ô)=Ð	=Ð	=à×(Ò(Ð)EÑFÔFÀqÔIˆˆàˆØ„}˜	Ò!Ð!ÝŒ{× Ò Ð(GÐ ÑHÔHˆØ×Ò˜DÑ!Ô!Ð!Ð!Ð!ð "Ð!r   c                óÖ   — d| j         v r|                      d¦  «        }n'd| j         v r|                      d¦  «        d         }ndS |j        dk    rt          j        d¬¦  «         dS dS )zƒ
    Fixture that skips a test if the engine is pyarrow.

    Use if failure is do a parsing failure from pyarrow.csv.read_csv
    rX   rp   r   Nr<   z,https://github.com/apache/arrow/issues/38676r    )r¢   r£   r	   rT   Úskip)rW   r?   s     r   Úpyarrow_skipr©   0  s„   € ð ˜Ô,Ð,Ð,Ø×(Ò(¨Ñ7Ô7ˆˆØ	%¨Ô)=Ð	=Ð	=à×(Ò(Ð)EÑFÔFÀqÔIˆˆàˆØ„}˜	Ò!Ð!ÝŒÐIÐJÑJÔJÐJÐJÐJð "Ð!r   )3Ú
__future__r   rF   rT   Úpandas.compat._optionalr   Úpandasr   r   Úpandas._testingÚ_testingr!   r   r-   r3   r6   r8   r;   ÚfixturerC   rI   Ú_cParserHighMemoryÚ_cParserLowMemoryÚ_pythonParserÚ_pyarrowParserÚ_py_parsers_onlyÚ_c_parsers_onlyrS   ri   rj   Ú_pyarrow_parsers_onlyrf   Ú_py_parser_idsÚ_c_parser_idsÚ_pyarrow_parsers_idsrg   rX   r\   r_   ra   rn   rp   Ú_utf_valuesÚ_encoding_sepsry   Ú_encoding_fmtsr   r‚   rž   r¦   r©   r+   r   r   ú<module>r½      su  ðØ "Ð "Ð "Ð "Ð "Ð "à 	€	€	€	à €€€à ,Ð ,Ð ,Ð ,Ð ,Ð ,ðð ð ð ð ð ð ð ð Ð Ð Ð Ð Ð ð7/ð 7/ð 7/ð 7/ð 7/ñ 7/ô 7/ð 7/ðt;ð ;ð ;ð ;ð ;ˆjñ ;ô ;ð ;ð
ð ð ð ð ˜ñ ô ð ðð ð ð ð �wñ ô ð ð%ð %ð %ð %ð %�:ñ %ô %ð %ð
%ð %ð %ð %ð %�Jñ %ô %ð %ð
 „ð,ð ,ñ „ð,ð „ðDð Dñ „ðDð 'Ð Ø$Ð Ø€Ø€à!�?Ð Ø%Ð'8Ð9€Ø%˜œ n¸F¼KÔ<RÐSÑSÔSÐTÐ àL�ÐLÐ#3ÐLÐ6KÐL€à�€Ø˜7Ð#€Ø!�{Ð àJ�MÐJ NÐJÐ5IÐJ€ð €„�|¨Ð9Ñ9Ô9ðð ñ :Ô9ðð €„�¨MÐ:Ñ:Ô:ðð ñ ;Ô:ðð €„Ð'¨^Ð<Ñ<Ô<ðð ñ =Ô<ðð €„Ð,Ð2FÐGÑGÔGðð ñ HÔGðð*ð *ð *ð* €„Ø7Ð7Ñ9Ô9¸(ÔCØ4Ð4Ñ6Ô6°uÔ=ðñ ô ðð ñ	ô ðð ˆkˆk€à��€Ø˜U�^Ð ðð Ø%3ðñ ô €ð
 €„�{Ð#Ñ#Ô#ðð ñ $Ô#ðð €„�~Ð&Ñ&Ô&ðð ñ 'Ô&ðð €„ð,ð ,ð ,ð.ñ .ô .ð^ð ñ_.ô .ð^ð „ð"ð "ñ „ð"ð$ „ðKð Kñ „ðKð Kð Kr   