§
    €zIfõ¥  ã                   ó¤  — d Z ddlZddlZddlZddlZddlZddlZddlZddlZddl	Z	ddl
Z
ddlZddlZddlmZ ddlZddlmZ 	 ddlZn# e$ r dZY nw xY wddlZddlmZmZmZmZ ddlmZmZ ddlmZmZmZ ddl m!Z!m"Z" dd	l#m$Z$ dd
l%m&Z& ddl%m'Z' ddl%m(Z( ddl%m)Z) ddl*m+Z+m,Z,m-Z-m.Z.m/Z/ g Z0dZ1e0 2                    e1¦  «         e3Z4e0 2                    e4¦  «          e5d¦  «        Z6e0 2                    e6¦  «          e7d¦  «        Z8e0 2                    e8¦  «          e9d¦  «        Z:e0 2                    e:¦  «          e;d¦  «        Z<e0 2                    e<¦  «          e=d¦  «        Z>e0 2                    e>¦  «         dZ?e0 2                    e?¦  «         g Z@e0 2                    e@¦  «         i ZAe0 2                    eA¦  «         eBZCe0 2                    eC¦  «         d„ ZD G d„ d¦  «        ZE G d„ deF¦  «        ZGe0 2                    eD¦  «         e0 2                    eE¦  «         e0 2                    eG¦  «          eE¦   «         ZHe0 2                    eH¦  «          eG¦   «         ZIe0 2                    eI¦  «          edddg¦  «         ede0¦  «        d„ ¦   «         ¦   «         ZJd„ ZK eddd eL¦   «         g¦  «        d„ ¦   «         ZMe edg d¢¦  «        d„ ¦   «         ¦   «         ZNed „ ¦   «         ZOed!„ ¦   «         ZPed"„ ¦   «         ZQed#„ ¦   «         ZRed$„ ¦   «         ZSe ed%g d&¢¦  «        d'„ ¦   «         ¦   «         ZTee edd(d)g¦  «        d*„ ¦   «         ¦   «         ¦   «         ZUed+„ ¦   «         ZVd~d,„ZWed-„ ¦   «         ZXed.„ ¦   «         ZYed/„ ¦   «         ZZ ed0d1d2g¦  «        d3„ ¦   «         Z[ ed4d5d6d7 \                    d8¦  «        fd9d: \                    d8¦  «        fg¦  «        d;„ ¦   «         Z] ed<d=d>g¦  «        d?„ ¦   «         Z^e edg d@¢¦  «         edAe+¦  «        dB„ ¦   «         ¦   «         ¦   «         Z_dC„ Z`dD„ Za edEdFeafdGe`fg¦  «        dH„ ¦   «         Zb edIg dJ¢¦  «        dK„ ¦   «         ZcedL„ ¦   «         ZdedM„ ¦   «         ZeedN„ ¦   «         ZfedO„ ¦   «         ZgedP„ ¦   «         Zh edQdRdSdT \                     eji        ddU¦  «        dUz  ¦  «         j                    dV¦  «        z  gdWdXg¬Y¦  «         edZg d[¢¦  «        d\„ ¦   «         ¦   «         Zk ed]ddd^d_di g¦  «        d`„ ¦   «         Zl edag db¢¦  «        dc„ ¦   «         Zm eddddi g¦  «        de„ ¦   «         Zne�# G df„ dgejo        ¦  «        Zpdh„ Zq G di„ dj¦  «        Zredk„ ¦   «         Zsdl„ Ztedm„ ¦   «         Zuedn„ ¦   «         Zvedo„ ¦   «         Zwedp„ ¦   «         Zxdq„ Zy edrddi g¦  «        ds„ ¦   «         Zzdt„ Z{ G du„ dve-¦  «        Z| G dw„ dxe-¦  «        Z}dy„ Z~edz„ ¦   «         Zed{„ ¦   «         Z€ej�        gZ‚ejƒ        ej�        k    re‚ 2                    ejƒ        ¦  «         e ed|e‚¦  «        d}„ ¦   «         ¦   «         Z„dS )z@Test the numpy pickler as a replacement of the standard pickler.é    N)Úclosing)ÚPath)ÚnpÚ
with_numpyÚwith_lz4Úwithout_lz4)Úwith_memory_profilerÚmemory_used)ÚparametrizeÚraisesÚwarns)Únumpy_pickleÚregister_compressor)Údata)Ú_IO_BUFFER_SIZE)Ú_detect_compressor)Ú#_is_numpy_array_byte_order_mismatch)Ú_ensure_native_byte_order)Ú_COMPRESSORSÚ_LZ4_PREFIXÚCompressorWrapperÚLZ4_NOT_INSTALLED_ERRORÚBinaryZlibFileé   © c              #   ó   K  — | V — d S ©Nr   )Úxs    úQ/var/www/piapp/venv/lib/python3.11/site-packages/joblib/test/test_numpy_pickle.pyÚ	_functionr    K   s   è è € Ø
€G€G€G€G€Gó    c                   ó   — e Zd Zd„ ZdS )Ú_classc                 ó   — d S r   r   ©Úselfs    r   Ú_methodz_class._methodP   ó   € Øˆr!   N©Ú__name__Ú
__module__Ú__qualname__r'   r   r!   r   r#   r#   O   ó#   € € € € € ðð ð ð ð r!   r#   c                   ó   — e Zd Zd„ ZdS )Ú	_newclassc                 ó   — d S r   r   r%   s    r   r'   z_newclass._methodU   r(   r!   Nr)   r   r!   r   r/   r/   T   r-   r!   r/   ÚcompressÚmemberc                 óÔ   — |                       d¦  «        j        }t          j        |||¬¦  «         t          j        |¦  «        }|t          j        |¦  «        k    r||k    sJ ‚d S d S )Nútest.pkl©r1   )ÚjoinÚstrpathr   ÚdumpÚloadÚcopyÚdeepcopy)Útmpdirr1   r2   ÚfilenameÚ_members        r   Útest_standard_typesr?   e   sv   € ð �{Š{˜:Ñ&Ô&Ô.€HÝÔ�f˜h°Ð:Ñ:Ô:Ð:ÝÔ Ñ)Ô)€Gð •”˜vÑ&Ô&Ò&Ð&Ø˜Ò Ð Ð Ð ð 'Ð&Ø Ð r!   c                  ó¢   — t          t          ¦  «        5  t          j        dt	          ¦   «         ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NÚfoo)r   Ú
ValueErrorr   r8   Údictr   r!   r   Útest_value_errorrD   r   s‹   € å	•
Ñ	Ô	ð )ð )ÝÔ˜%¥¡¤Ñ(Ô(Ð(ð)ð )ð )ñ )ô )ð )ð )ð )ð )ð )ð )ð )øøøð )ð )ð )ð )ð )ð )s   •"AÁAÁAÚwrong_compresséÿÿÿÿé
   c                 óà   — d                      | ¦  «        }t          t          ¦  «        5 }t          j        dd| ¬¦  «         d d d ¦  «         n# 1 swxY w Y   |                     |¦  «         d S )Nz%Non valid compress level given: "{0}"ÚdummyrA   r5   )Úformatr   rB   r   r8   Úmatch)rE   Úexception_msgÚexcinfos      r   Útest_compress_level_errorrN   x   s¹   € ðß#šV NÑ3Ô3ð å	•
Ñ	Ô	ð C˜wÝÔ˜' 5°>ÐBÑBÔBÐBðCð Cð Cñ Cô Cð Cð Cð Cð Cð Cð Cøøøð Cð Cð Cð Cà‡M‚M�-Ñ Ô Ð Ð Ð s   ªAÁAÁA)FTr   é   Úzlibc                 ó  — |                       d¦  «        j        }t          j                             d¦  «        }|                     d¦  «        }t          |f|j        f||f|||gf¦  «        D ]ß\  }}t          j	        |||¬¦  «        }t          |¦  «        dk    sJ ‚|d         |k    sJ ‚t          j                             |d         ¦  «        sJ ‚t          j        |¦  «        }|D ]}	t          |	t          j        ¦  «        sJ ‚Œt          j                             t          j        |¦  «        t          j        |¦  «        ¦  «         Œàt          j        |dz   ddt          j        ¬	¦  «        }t          j	        |||¬¦  «        }t          |¦  «        dk    sJ ‚t          j        |¦  «        }t-          |¦  «        t          j        ur/t/          |d
¦  «        rt          |t-          |¦  «        ¦  «        sJ ‚t          j                             ||¦  «         t1          ¦   «         }t          j	        |||¬¦  «        }t          |¦  «        dk    sJ ‚t          j        |¦  «        }
t          |
t-          |¦  «        ¦  «        sJ ‚t          j                             |
j        |j        ¦  «         t          j                             |
j        |j        ¦  «         t          j                             |
j        |j        ¦  «         d S )Nr4   r   ©rG   é   r5   r   Úmmapúw+é   )ÚmodeÚshapeÚdtypeÚ__array_prepare__)r6   r7   r   ÚrandomÚRandomStateÚrandom_sampleÚ	enumerateÚTr   r8   ÚlenÚosÚpathÚexistsr9   Ú
isinstanceÚndarrayÚtestingÚassert_array_equalÚarrayÚmemmapÚfloat64ÚtypeÚhasattrÚComplexTestObjectÚarray_floatÚ	array_intÚ	array_obj)r<   r1   r=   ÚrndÚaÚindexÚobjÚ	filenamesÚobj_ÚitemÚ
obj_loadeds              r   Útest_numpy_persistencery   ‚   s¿  € ð �{Š{˜:Ñ&Ô&Ô.€HÝ
Œ)×
Ò
 Ñ
"Ô
"€CØ×Ò˜'Ñ"Ô"€Aå ! ¨¬ v°°1¨v¸¸1¸a°yÐ AÑBÔBð Eð E‰
ˆˆsÝ Ô% c¨8¸hÐGÑGÔGˆ	õ �9‰~Œ~ Ò"Ð"Ð"Ð"à˜Œ|˜xÒ'Ð'Ð'Ð'åŒw�~Š~˜i¨œlÑ+Ô+Ð+Ð+Ð+õ Ô  Ñ*Ô*ˆàð 	0ð 	0ˆDÝ˜d¥B¤JÑ/Ô/Ð/Ð/Ð/Ð/å
Œ
×%Ò%¥b¤h¨s¡m¤mµR´X¸d±^´^ÑDÔDÐDÐDõ Œ)�H˜vÑ%¨D¸ÅÄÐ
LÑ
LÔ
L€CÝÔ! # x¸(ÐCÑCÔC€Iåˆy‰>Œ>˜QÒÐÐÐåÔ˜XÑ&Ô&€DÝˆS‰	Œ	�œÐ"Ð"Ý�CÐ,Ñ-Ô-ð 	#õ ˜$¥ S¡	¤	Ñ*Ô*Ð*Ð*Ð*å„J×!Ò! $¨Ñ,Ô,Ð,õ Ñ
Ô
€CÝÔ! # x¸(ÐCÑCÔC€Iåˆy‰>Œ>˜QÒÐÐÐåÔ" 8Ñ,Ô,€JÝ�j¥$ s¡)¤)Ñ,Ô,Ð,Ð,Ð,Ý„J×!Ò! *Ô"8¸#¼/ÑJÔJÐJÝ„J×!Ò! *Ô"6¸¼ÑFÔFÐFÝ„J×!Ò! *Ô"6¸¼ÑFÔFÐFÐFÐFr!   c                 ó   — t          j        t          dz   t           j        ¬¦  «        }|                      d¦  «        j        }t          j        ||d¬¦  «         t          j        |¦  «        }t           j	         
                    ||¦  «         d S )Néd   ©rY   r4   Tr5   )r   Úonesr   Úuint8r6   r7   r   r8   r9   rf   rg   )r<   Ú	big_arrayr=   Úarr_reloadeds       r   Ú2test_numpy_persistence_bufferred_array_compressionr�   ¶   sw   € å”�¨3Ñ.µr´xÐ@Ñ@Ô@€IØ�{Š{˜:Ñ&Ô&Ô.€HÝÔ�i °DÐ9Ñ9Ô9Ð9ÝÔ$ XÑ.Ô.€Lå„J×!Ò! )¨\Ñ:Ô:Ð:Ð:Ð:r!   c                 ó^  — t           j                             d¦  «        }|                     d¦  «        }|                      d¦  «        j        }t          j        ||¦  «         t          j        |d¬¦  «        }t          |t           j
        ¦  «        sJ ‚|                      d¦  «        j        }t          ¦   «         }t          j        ||¦  «         t          j        |d¬¦  «        }t          |t          |¦  «        ¦  «        sJ ‚t          |j        t           j
        ¦  «        sJ ‚|j        j        j        rJ ‚t          |j        t           j
        ¦  «        sJ ‚|j        j        j        rJ ‚t          |j        t           j
        ¦  «        rJ ‚t           j                             |j        |j        ¦  «         t           j                             |j        |j        ¦  «         t           j                             |j        |j        ¦  «         t          j        |d¬¦  «        }|j        j        j        sJ ‚d|j        dd…<   |j        j        j        sJ ‚d|j        dd…<   t          j        |d¬¦  «        }t           j                             |j        |j        ¦  «         t           j                             |j        |j        ¦  «         t          j        |d	¬¦  «         |j        j        j        sJ ‚|j        j        dk    sJ ‚|j        j        j        sJ ‚|j        j        dk    sJ ‚d S )
Nr   rG   z	test1.pklÚr©Ú	mmap_modez	test2.pklúr+g      $@rU   )r   r[   r\   r]   r6   r7   r   r8   r9   rd   ri   rm   rk   rn   ÚflagsÚ	writeablero   rp   rf   rg   rW   )r<   rq   rr   r=   Úbrt   rx   Úobj_reloadeds           r   Útest_memmap_persistencer‹   À   s  € å
Œ)×
Ò
 Ñ
"Ô
"€CØ×Ò˜"ÑÔ€AØ�{Š{˜;Ñ'Ô'Ô/€HÝÔ�a˜Ñ"Ô"Ð"ÝÔ˜(¨cÐ2Ñ2Ô2€Aå�a�œÑ#Ô#Ð#Ð#Ð#ð �{Š{˜;Ñ'Ô'Ô/€HÝ
Ñ
Ô
€CÝÔ�c˜8Ñ$Ô$Ð$ÝÔ" 8°sÐ;Ñ;Ô;€JÝ�j¥$ s¡)¤)Ñ,Ô,Ð,Ð,Ð,Ý�jÔ,­b¬iÑ8Ô8Ð8Ð8Ð8ØÔ%Ô+Ô5Ð5Ð5Ð5Ý�jÔ*­B¬IÑ6Ô6Ð6Ð6Ð6ØÔ#Ô)Ô3Ð3Ð3Ð3å˜*Ô.µ´	Ñ:Ô:Ð:Ð:Ð:Ý„J×!Ò! *Ô"8Ø"%¤/ñ3ô 3ð 3å„J×!Ò! *Ô"6Ø"%¤-ñ1ô 1ð 1å„J×!Ò! *Ô"6Ø"%¤-ñ1ô 1ð 1õ Ô" 8°tÐ<Ñ<Ô<€JØÔ!Ô'Ô1Ð1Ð1Ð1Ø#'€JÔ˜1˜R˜4Ñ ØÔÔ%Ô/Ð/Ð/Ð/Ø!#€JÔ˜˜2˜ÑåÔ$ X¸Ð=Ñ=Ô=€LÝ„J×!Ò! ,Ô":Ø",Ô"8ñ:ô :ð :å„J×!Ò! ,Ô"8Ø",Ô"6ñ8ô 8ð 8õ Ô�h¨$Ð/Ñ/Ô/Ð/ØÔÔ%Ô/Ð/Ð/Ð/ØÔÔ$¨Ò,Ð,Ð,Ð,ØÔ!Ô'Ô1Ð1Ð1Ð1ØÔ!Ô&¨$Ò.Ð.Ð.Ð.Ð.Ð.r!   c                 ó°  — t           j                             d¦  «        }|                     d¦  «        }t          j        ddgt
          ¬¦  «        }||f}|                      d¦  «        j        }t          j	        ||¦  «         t          j
        |d¬¦  «        \  }}t          |t           j        ¦  «        sJ ‚t          |t           j        ¦  «        rJ ‚d S )	Nr   rG   r   r‰   r|   r4   rƒ   r„   )r   r[   r\   r]   rh   Úobjectr6   r7   r   r8   r9   rd   ri   )r<   rq   rr   r‰   Ú	constructr=   Úa_cloneÚb_clones           r   Ú$test_memmap_persistence_mixed_dtypesr‘   ò   sÈ   € õ Œ)×
Ò
 Ñ
"Ô
"€CØ×Ò˜"ÑÔ€AÝ
Œ�!�S�¥Ð(Ñ(Ô(€AØ�A�€IØ�{Š{˜:Ñ&Ô&Ô.€HÝÔ�i Ñ*Ô*Ð*Ý#Ô(¨¸SÐAÑAÔAÑ€GˆWõ �g�rœyÑ)Ô)Ð)Ð)Ð)õ ˜'¥2¤9Ñ-Ô-Ð-Ð-Ð-Ð-Ð-r!   c                 óz  — t           j                             d¦  «        }|                     d¦  «        }t           j                             |d¦  «        }|                      d¦  «        j        }t          j	        ||¦  «         t          j
        |d¬¦  «        }t          |t           j        j        ¦  «        sJ ‚d S )Nr   rG   g      à?r4   rƒ   r„   )r   r[   r\   r]   ÚmaÚmasked_greaterr6   r7   r   r8   r9   rd   Úmasked_array)r<   rq   rr   r=   r‰   s        r   Útest_masked_array_persistencer–     s    € õ Œ)×
Ò
 Ñ
"Ô
"€CØ×Ò˜"ÑÔ€AÝ
Œ×Ò˜Q Ñ$Ô$€AØ�{Š{˜:Ñ&Ô&Ô.€HÝÔ�a˜Ñ"Ô"Ð"ÝÔ˜(¨cÐ2Ñ2Ô2€AÝ�a�œÔ+Ñ,Ô,Ð,Ð,Ð,Ð,Ð,r!   c                 ó"  — t           j                             d¦  «        }|                     d¦  «        }|                      d¦  «        j        }t          j        ||d¬¦  «         t          t          ¦  «        5 }t          j
        |d¬¦  «         d d d ¦  «         n# 1 swxY w Y   d                     d	„ |D ¦   «         ¦  «        }d
„ |D ¦   «         }t          |¦  «        dk    s
J |¦   «         ‚t          |d         ¦  «        d|› d�k    sJ ‚d S )Nr   rG   r4   r   r5   r†   r„   ú
c                 ó,   — g | ]}t          |¦  «        ‘ŒS r   )Ústr©Ú.0Úws     r   ú
<listcomp>z3test_compress_mmap_mode_warning.<locals>.<listcomp>  s   € Ð4Ð4Ð4 a�3˜q™6œ6Ð4Ð4Ð4r!   c                 ó   — g | ]	}|j         ‘Œ
S r   )Úmessager›   s     r   rž   z3test_compress_mmap_mode_warning.<locals>.<listcomp>  s   € Ð,Ð,Ð,˜a�”	Ð,Ð,Ð,r!   z6mmap_mode "r+" is not compatible with compressed file z. "r+" flag will be ignored.)r   r[   r\   r]   r6   r7   r   r8   r   ÚUserWarningr9   r`   rš   )r<   rq   rr   Úthis_filenameÚwarninfoÚ	debug_msgs         r   Útest_compress_mmap_mode_warningr¥     sd  € õ Œ)×
Ò
 Ñ
"Ô
"€CØ×Ò˜"ÑÔ€AØ—K’K 
Ñ+Ô+Ô3€MÝÔ�a˜°Ð3Ñ3Ô3Ð3Ý	�{Ñ	Ô	ð 9˜xÝÔ˜-°4Ð8Ñ8Ô8Ð8ð9ð 9ð 9ñ 9ô 9ð 9ð 9ð 9ð 9ð 9ð 9øøøð 9ð 9ð 9ð 9à—	’	Ð4Ð4¨8Ð4Ñ4Ô4Ñ5Ô5€IØ,Ð, 8Ð,Ñ,Ô,€HÝˆx‰=Œ=˜AÒÐÐ˜yÑÔÐåˆH�QŒKÑÔð	<Øð	<ð 	<ð 	<ò	<ð 	<ð 	<ð 	<ð 	<ð 	<s   Á:BÂB!Â$B!Ú
cache_size)Nr   rG   c                 ó  — |                       d¦  «        j        }t          j                             d¦  «        }|                     d¦  «        }t          j        d¦  «         t          j        d¬¦  «        5 }t          j
        |||¬¦  «         d d d ¦  «         n# 1 swxY w Y   |�dnd}t          |¦  «        |k    sJ ‚|D ]A}|j        t          k    sJ ‚t          |j        ¦  «        d	                     |¦  «        k    sJ ‚ŒBd S )
Nr4   r   rR   ÚalwaysT©Úrecord)r¦   r   zzPlease do not set 'cache_size' in joblib.dump, this parameter has no effect and will be removed. You used 'cache_size={0}')r6   r7   r   r[   r\   r]   ÚwarningsÚsimplefilterÚcatch_warningsr   r8   r`   ÚcategoryÚDeprecationWarningrš   r    rJ   )r<   r¦   r=   rq   rr   r£   Úexpected_nb_warningsr�   s           r   Útest_cache_size_warningr±   %  sY  € ð �{Š{˜:Ñ&Ô&Ô.€HÝ
Œ)×
Ò
 Ñ
"Ô
"€CØ×Ò˜'Ñ"Ô"€AåÔ˜(Ñ#Ô#Ð#Ý	Ô	 ¨Ð	-Ñ	-Ô	-ð >°ÝÔ˜!˜X°*Ð=Ñ=Ô=Ð=ð>ð >ð >ñ >ô >ð >ð >ð >ð >ð >ð >øøøð >ð >ð >ð >à *Ð 6˜1˜1¸AÐÝˆx‰=Œ=Ð0Ò0Ð0Ð0Ð0Øð <ð <ˆØŒzÕ/Ò/Ð/Ð/Ð/Ý�A”I‘”ð(ç(.ª¨zÑ(:Ô(:ò;ð ;ð ;ð ;ð ;ð<ð <s   Á8BÂB Â#B TFc                 ó   — |                       d¦  «        j        }t          j        d¦  «        }t          j        dt	          d¦  «        z  t          j        ¬¦  «        }||fD ]š}|j        dz  }|t          t          j         	                    dd¦  «        ¦  «        z   }t          t          j        |||¬¦  «        }t          d	z   }	||	k    sJ ‚t          t          j        |¦  «        }d
t          z   }
|||
z   k     sJ ‚Œ›d S )Nr4   ©rG   rG   r{   g    €„.A©rX   rY   r   éè  r5   g�íµ ÷Æ0@é    )r6   r7   r   r}   Úintr~   Únbytesrš   r[   Úrandintr
   r   r8   r   r9   )r<   r1   r=   Úsmall_arrayr   rt   ÚsizeÚobj_filenameÚmem_usedÚwrite_buf_sizeÚread_buf_sizes              r   Útest_memory_usagerÀ   :  s  € ð
 �{Š{˜:Ñ&Ô&Ô.€HÝ”'˜(Ñ#Ô#€KÝ”˜c¥C¨¡H¤H™nµB´HÐ=Ñ=Ô=€Ià˜YÐ'ð /ð /ˆØŒz˜CÑˆØ¥#¥b¤i×&7Ò&7¸¸4Ñ&@Ô&@Ñ"AÔ"AÑAˆÝ�|Ô0Ø" L¸8ðEñ Eô Eˆõ
 )Ð+?Ñ?ˆØ˜>Ò)Ð)Ð)Ð)å�|Ô0°,Ñ?Ô?ˆð �_Ñ,ˆØ˜$ Ñ.Ò.Ð.Ð.Ð.Ð.ð/ð /r!   c                 ó„  — t          j        dt          j        d¦  «        ¬¦  «        t          j        dt          j        d¦  «        ¬¦  «        t          j        dt          j        d¦  «        ¬¦  «        t          j        dt          j        d¦  «        ¬¦  «        t          j        dddd	d
œgd¬¦  «        t          j        dt           j        ¬¦  «                             ¦   «         dg}|                      d¦  «        j        }t          j	        ||d¬¦  «        }t          |¦  «        dk    sJ ‚t          j        |¦  «        }t          ||¦  «        D ]i\  }}t          |t           j        ¦  «        rBt          |¦  «        }|j        |j        k    sJ ‚t           j                             ||¦  «         Œa||k    sJ ‚Œjd S )Né   ú<i8r|   ú>i8ú<f8ú>f8r   ÚabcrS   ©rr   r‰   ÚOé   õ   C'est l'Ã©tÃ© !ztemp.pkl.gzr5   )r   ÚarangerY   rh   r~   Útobytesr6   r7   r   r8   r`   r9   Úziprd   re   r   rf   Úassert_equal)r<   Úexpected_listÚfnameÚdumped_filenamesÚresult_listÚresultÚexpecteds          r   Ú$test_compressed_pickle_dump_and_loadrÖ   U  sš  € å”Y˜q­¬°©¬Ð8Ñ8Ô8Ý”Y˜q­¬°©¬Ð8Ñ8Ô8Ý”Y˜q­¬°©¬Ð8Ñ8Ô8Ý”Y˜q­¬°©¬Ð8Ñ8Ô8Ý”X˜q %¨q°qÐ)9Ð)9Ð:À#ÐFÑFÔFÝ”Y˜s­"¬(Ð3Ñ3Ô3×;Ò;Ñ=Ô=Ø+ð-€Mð �KŠK˜Ñ&Ô&Ô.€Eå#Ô(¨¸ÈÐJÑJÔJÐÝÐÑ Ô  AÒ%Ð%Ð%Ð%ÝÔ# EÑ*Ô*€KÝ ¨]Ñ;Ô;ð &ð &Ñˆ�Ý�h¥¤
Ñ+Ô+ð 	&Ý0°Ñ:Ô:ˆHØ”< 8¤>Ò1Ð1Ð1Ð1ÝŒJ×#Ò# F¨HÑ5Ô5Ð5Ð5à˜XÒ%Ð%Ð%Ð%Ð%ð&ð &r!   c                 óº  — t          j        d| ¦  «        }t          |                     d¦  «        ¦  «        }dddœ}|                     dd¦  «        }|                     |d¦  «        }||k    �r„	 t          j        d¬¦  «        5 }t          j        d	¦  «         t          j        d
dd¬¦  «         t          j
        | |¬¦  «        }	ddd¦  «         n# 1 swxY w Y   t          j                             | ¦  «        }
d|
v sd|
v rdnd}t          j        d|
¦  «        r|�dnd}||z   }t          |¦  «        |k    sJ ‚d„ |D ¦   «         }d„ |D ¦   «         }|D ]/}t!          |j        ¦  «        d                     | ¦  «        k    sJ ‚Œ0|D ]C}t          j        | ¦  «        }t          j        d|› d�t!          |j        ¦  «        ¦  «        sJ ‚ŒDt)          |	|¦  «        D ]i\  }}t+          |t,          j        ¦  «        rBt1          |¦  «        }|j        |j        k    sJ ‚t,          j                             ||¦  «         Œa||k    sJ ‚ŒjdS # t8          $ rœ}|dk    r-t+          |t:          ¦  «        sJ ‚d}|t!          |¦  «        v sJ ‚nX|                      d¦  «        rBt>          j         d         r0t+          |t:          ¦  «        sJ ‚tB          t!          |¦  «        v sJ ‚n‚ Y d}~dS Y d}~dS d}~ww xY w	 t          j
        | ¦  «         tE          d¦  «        ‚# t:          $ r8}d                     |¦  «        }|t!          |j         ¦  «        v sJ ‚Y d}~dS d}~ww xY w)z�Helper function to test joblib pickle content.

    Note: currently only pickles containing an iterable are supported
    by this function.
    z.+py(\d)(\d).+r   rS   rO   )rS   rO   rV   Tr©   r¨   ÚignoreÚnumpyz"The compiler package is deprecated)Úmoduler    r„   Nz_0.9z_0.8.4r   z_0.1.+.pkl$c                 óF   — g | ]}t          |j        t          ¦  «        ¯|‘ŒS r   )Ú
issubclassr®   r¯   r›   s     r   rž   z!_check_pickle.<locals>.<listcomp>�  s?   € ð $5ð $5ð $5Ø¥zØ”JÕ 2ñ(4ô (4ð$5Øð$5ð $5ð $5r!   c                 óF   — g | ]}t          |j        t          ¦  «        ¯|‘ŒS r   )rÜ   r®   r¡   r›   s     r   rž   z!_check_pickle.<locals>.<listcomp>�  s>   € ð .ð .ð .Ø¥zØ”J¥ñ(-ô (-ð.Øð.ð .ð .r!   zkThe file '{0}' has been generated with a joblib version less than 0.10. Please regenerate this pickle file.zmemmapped.+z.+segmentation faultzPYou may be trying to read with python 3 a joblib pickle generated with python 2.ú.lz4z>Numpy pickle loading should have raised a ValueError exceptionz unsupported pickle protocol: {0})#ÚrerK   r·   ÚgroupÚgetr«   r­   r¬   Úfilterwarningsr   r9   ra   rb   ÚbasenameÚsearchr`   rš   r    rJ   ÚescaperÎ   rd   r   re   r   rY   rf   rÏ   Ú	ExceptionrB   Úendswithr   Úargsr   ÚAssertionError)r=   rÐ   r…   Úversion_matchÚpy_version_used_for_writingÚ%py_version_to_default_pickle_protocolÚpickle_reading_protocolÚpickle_writing_protocolr£   rÓ   Úfilename_baseÚ expected_nb_deprecation_warningsÚexpected_nb_user_warningsr°   Údeprecation_warningsÚuser_warningsr�   Úescaped_filenamerÔ   rÕ   Úexcr    Úes                          r   Ú_check_pickler÷   m  s»  € õ ”HÐ.°Ñ9Ô9€MÝ"% m×&9Ò&9¸!Ñ&<Ô&<Ñ"=Ô"=Ðà01°a¨L¨LÐ)ØC×GÒGÈÈ1ÑMÔMÐØC×GÒGØ# Qñ(ô (ÐàÐ"9Ò9Ñ9ð7	ÝÔ(°Ð5Ñ5Ô5ð O¸ÝÔ% hÑ/Ô/Ð/ÝÔ'Ø WØ@ðBñ Bô Bð Bõ +Ô/°ÀIÐNÑNÔN�ðOð Oð Oñ Oô Oð Oð Oð Oð Oð Oð Oøøøð Oð Oð Oð Oõ œG×,Ò,¨XÑ6Ô6ˆMà˜-Ð'Ð'¨8°}Ð+DÐ+Dð 01¨qØKLð -õ ”	˜-¨Ñ7Ô7ð).àÐ%ð )*¨à,-ð &ð 1Ð3LÑLð !å�x‘=”=Ð$8Ò8Ð8Ð8Ð8ð$5ð $5Ø#ð$5ñ $5ô $5Ð ð.ð .Ø#ð.ñ .ô .ˆMð *ð 9ð 9�Ý˜AœI™œð'ç'-¢v¨hÑ'7Ô'7ò8ð 8ð 8ð 8ð 8ð
 #ð $ð $�Ý#%¤9¨XÑ#6Ô#6Ð Ý”yØHÐ"2ÐHÐHÐHÝ˜œ	‘N”Nñ$ô $ð $ð $ð $ð $õ %(¨°]Ñ$CÔ$Cð .ð .Ñ �˜Ý˜h­¬
Ñ3Ô3ð .Ý8¸ÑBÔB�HØ!œ<¨8¬>Ò9Ð9Ð9Ð9Ý”J×+Ò+¨F°HÑ=Ô=Ð=Ð=à! XÒ-Ð-Ð-Ð-Ð-ð.ð .øõ ð 	ð 	ð 	ð +¨aÒ/Ð/Ý! #¥zÑ2Ô2Ð2Ð2Ð2ðO�à¥# c¡(¤(Ð*Ð*Ð*Ð*Ð*Ø×"Ò" 6Ñ*Ô*ð ­x¬}¸QÔ/?ð Ý! #¥zÑ2Ô2Ð2Ð2Ð2Ý.µ#°c±(´(Ð:Ð:Ð:Ð:Ð:àð +Ð*Ð*Ð*Ð*Ð*ð ;Ð:Ð:Ð:Ð:Ð:øøøøð	øøøð 	*ÝÔ˜hÑ'Ô'Ð'Ý ð "Fñ Gô Gð Gøåð 	*ð 	*ð 	*Ø8×?Ò?Ø'ñ)ô )ˆGà�c !¤&™kœkÐ)Ð)Ð)Ð)Ð)Ð)Ð)Ð)Ð)Ð)øøøøð	*øøøsW   Á1I ÂACÃI ÃCÃI ÃCÃE-I É
K1ÉBK,Ë,K1Ë5#L Ì
MÌ"-MÍMc            
      óª  ‡‡— t          j        dt          j        d¦  «        ¬¦  «        t          j        dt          j        d¦  «        ¬¦  «        t          j        dddddœgd	¬¦  «        t          j        d
t           j        ¬¦  «                             ¦   «         t          j        g d¢t          j        d¦  «        ¬¦  «        dg} t          j         	                    t          j         
                    t          j        ¦  «        ¦  «        ŠdŠt          �‰dz  Šˆˆfd„t          j        ‰¦  «        D ¦   «         }|D ]}t          || ¦  «         Œd S )NrÂ   rÃ   r|   rÅ   r   rÇ   rS   rÈ   rÉ   rÊ   ©r   r   rS   rË   )ú.pklú.gzz.gzipú.bz2Úlz4)ú.xzú.lzmac                 óˆ   •‡— g | ]=Št          ˆfd „‰D ¦   «         ¦  «        ¯t          j                             ‰‰¦  «        ‘Œ>S )c              3   óB   •K  — | ]}‰                      |¦  «        V — Œd S r   )rç   )rœ   ÚextÚfns     €r   ú	<genexpr>zGtest_joblib_pickle_across_python_versions.<locals>.<listcomp>.<genexpr>Û  s/   øè è € ÐMÐM°C˜rŸ{š{¨3Ñ/Ô/ÐMÐMÐMÐMÐMÐMr!   )Úanyra   rb   r6   )rœ   r  Úpickle_extensionsÚtest_data_dirs    @€€r   rž   z=test_joblib_pickle_across_python_versions.<locals>.<listcomp>Ù  sd   øø€ ð Oð Oð OØÝÐMÐMÐMÐMÐ;LÐMÑMÔMÑMÔMðO�œŸš ]°BÑ7Ô7ð Oð Oð Or!   )r   rÌ   rY   rh   r~   rÍ   Úmatrixra   rb   ÚdirnameÚabspathr   Ú__file__ÚlzmaÚlistdirr÷   )rÐ   Úpickle_filenamesrÑ   r  r  s      @@r   Ú)test_joblib_pickle_across_python_versionsr  À  sP  øø€ õ ”Y˜q­¬°©¬Ð8Ñ8Ô8Ý”Y˜q­¬°©¬Ð8Ñ8Ô8Ý”X˜q %¨q°qÐ)9Ð)9Ð:À#ÐFÑFÔFÝ”Y˜s­"¬(Ð3Ñ3Ô3×;Ò;Ñ=Ô=õ ”Y˜y˜y˜yµ´¸±´Ð@Ñ@Ô@Ø+ð-€Mõ ”G—O’O¥B¤G§O¢OµD´MÑ$BÔ$BÑCÔC€Mà?ÐÝÐØÐ-Ñ-ÐðOð Oð Oð Oð OÝ"$¤*¨]Ñ";Ô";ðOñ Oô OÐð "ð ,ð ,ˆÝ�e˜]Ñ+Ô+Ð+Ð+ð,ð ,r!   c            
      óŽ  ‡— t          j        dt          j        d¦  «        ¬¦  «        t          j        dt          j        d¦  «        ¬¦  «        t          j        dddddœgd	¬¦  «        t          j        d
t           j        ¬¦  «                             ¦   «         t          j        g d¢t          j        d¦  «        ¬¦  «        dg} t          j         	                    t          j         
                    t          j        ¦  «        ¦  «        Šˆfd„t          j        ‰¦  «        D ¦   «         }|D ]}t          || d¬¦  «         Œd S )NrÂ   rÃ   r|   rÅ   r   rÇ   rS   rÈ   rÉ   rÊ   rù   rË   c                 óz   •— g | ]7}|                      d ¦  «        ¯t          j                             ‰|¦  «        ‘Œ8S )rú   )rç   ra   rb   r6   )rœ   r  r  s     €r   rž   zGtest_joblib_pickle_across_python_versions_with_mmap.<locals>.<listcomp>ï  sQ   ø€ ð Dð Dð Dà¨r¯{ª{¸6Ñ/BÔ/BðDÝ
Œ�Š�] BÑ'Ô'ðDð Dð Dr!   rƒ   r„   )r   rÌ   rY   rh   r~   rÍ   r  ra   rb   r	  r
  r   r  r  r÷   )rÐ   r  rÑ   r  s      @r   Ú3test_joblib_pickle_across_python_versions_with_mmapr  á  s4  ø€ å”Y˜q­¬°©¬Ð8Ñ8Ô8Ý”Y˜q­¬°©¬Ð8Ñ8Ô8Ý”X˜q %¨q°qÐ)9Ð)9Ð:À#ÐFÑFÔFÝ”Y˜s­"¬(Ð3Ñ3Ô3×;Ò;Ñ=Ô=õ ”Y˜y˜y˜yµ´¸±´Ð@Ñ@Ô@Ø+ð-€Mõ ”G—O’O¥B¤G§O¢OµD´MÑ$BÔ$BÑCÔC€MðDð Dð Dð Då”*˜]Ñ+Ô+ðDñ Dô DÐð "ð ;ð ;ˆÝ�e˜]°cÐ:Ñ:Ô:Ð:Ð:ð;ð ;r!   c                  ó
  — t          j        ddgddg¬¦  «        t          j        dt          j        d¦  «        ¬¦  «        t          j        dt          j        d¦  «        ¬¦  «        g} | D ]•}t          j        d	k    rt          |¦  «        rJ ‚nt          |¦  «        sJ ‚t          |¦  «        }|j        j        r3|j        j         	                    ¦   «         D ]}|d
         j        dk     ŒŒƒ|j        j        dk    sJ ‚Œ–t          j        ddgddg¬¦  «        t          j        dt          j        d¦  «        ¬¦  «        t          j        dt          j        d¦  «        ¬¦  «        g}|D ]•}t          j        dk    rt          |¦  «        rJ ‚nt          |¦  «        sJ ‚t          |¦  «        }|j        j        r3|j        j         	                    ¦   «         D ]}|d
         j        dk     ŒŒƒ|j        j        dk    sJ ‚Œ–d S )N)r   g       @)rO   g      @)Ú rÄ   )r  rÆ   r|   rO   rÄ   rÆ   Úbigr   ú=)r  rÃ   )r  rÅ   rÃ   rÅ   Úlittle)
r   rh   rÌ   rY   ÚsysÚ	byteorderr   r   ÚfieldsÚvalues)Ú	be_arraysrh   Ú	convertedÚfÚ	le_arrayss        r   Ú.test_numpy_array_byte_order_mismatch_detectionr   ö  s:  € õ ”˜8 XÐ.Ø!,¨kÐ :ð<ñ <ô <å”˜1¥B¤H¨U¡O¤OÐ4Ñ4Ô4Ý”˜1¥B¤H¨U¡O¤OÐ4Ñ4Ô4ð6€Ið ð 
4ð 
4ˆÝŒ=˜EÒ!Ð!Ý:¸5ÑAÔAÐAÐAÐAÐAå6°uÑ=Ô=Ð=Ð=Ð=Ý-¨eÑ4Ô4ˆ	ØŒ?Ô!ð 	4Ø”_Ô+×2Ò2Ñ4Ô4ð &ð &�Ø�!”” #Ò%Ð%Ð%ð&ð ”?Ô,°Ò3Ð3Ð3Ð3Ð3õ ”˜8 XÐ.Ø!,¨kÐ :ð<ñ <ô <å”˜1¥B¤H¨U¡O¤OÐ4Ñ4Ô4Ý”˜1¥B¤H¨U¡O¤OÐ4Ñ4Ô4ð6€Ið ð 
4ð 
4ˆÝŒ=˜HÒ$Ð$Ý:¸5ÑAÔAÐAÐAÐAÐAå6°uÑ=Ô=Ð=Ð=Ð=Ý-¨eÑ4Ô4ˆ	ØŒ?Ô!ð 	4Ø”_Ô+×2Ò2Ñ4Ô4ð &ð &�Ø�!”” #Ò%Ð%Ð%ð&ð ”?Ô,°Ò3Ð3Ð3Ð3Ð3ð
4ð 
4r!   Úcompress_tuple)rP   rO   ©ÚgziprO   c                 óò   — |                       d¦  «        j        }t          j        d||¬¦  «         t	          |d¦  «        5 }t          |¦  «        |d         k    sJ ‚	 d d d ¦  «         d S # 1 swxY w Y   d S )Nr4   rI   r5   Úrbr   ©r6   r7   r   r8   Úopenr   )r<   r!  r=   r  s       r   Útest_compress_tuple_argumentr(    sÍ   € ð �{Š{˜:Ñ&Ô&Ô.€HÝÔ�g˜xØ-ð/ñ /ô /ð /õ 
ˆh˜Ñ	Ô	ð : Ý! !Ñ$Ô$¨°qÔ(9Ò9Ð9Ð9Ð9Ð9ð:ð :ð :ñ :ô :ð :ð :ð :ð :ð :ð :ð :øøøð :ð :ð :ð :ð :ð :s   ÁA,Á,A0Á3A0zcompress_tuple,message))rP   rO   Úextraz9Compress argument tuple should contain exactly 2 elements)ÚwrongrO   z(Non valid compression method given: "{}"r*  )rP   r*  z$Non valid compress level given: "{}"c                 óê   — |                       d¦  «        j        }t          t          ¦  «        5 }t	          j        d||¬¦  «         d d d ¦  «         n# 1 swxY w Y   |                     |¦  «         d S )Nr4   rI   r5   )r6   r7   r   rB   r   r8   rK   )r<   r!  r    r=   rM   s        r   Ú&test_compress_tuple_argument_exceptionr,  *  s¸   € ð �{Š{˜:Ñ&Ô&Ô.€Hå	•
Ñ	Ô	ð F˜wÝÔ˜' 8°nÐEÑEÔEÐEðFð Fð Fñ Fô Fð Fð Fð Fð Fð Fð Føøøð Fð Fð Fð Fà‡M‚M�'ÑÔÐÐÐs   ¯AÁAÁAÚcompress_stringrP   r#  c                 óæ   — |                       d¦  «        j        }t          j        d||¬¦  «         t	          |d¦  «        5 }t          |¦  «        |k    sJ ‚	 d d d ¦  «         d S # 1 swxY w Y   d S )Nr4   rI   r5   r%  r&  )r<   r-  r=   r  s       r   Útest_compress_string_argumentr/  9  sÈ   € ð �{Š{˜:Ñ&Ô&Ô.€HÝÔ�g˜xØ.ð0ñ 0ô 0ð 0õ 
ˆh˜Ñ	Ô	ð 8 Ý! !Ñ$Ô$¨Ò7Ð7Ð7Ð7Ð7ð8ð 8ð 8ñ 8ô 8ð 8ð 8ð 8ð 8ð 8ð 8ð 8øøøð 8ð 8ð 8ð 8ð 8ð 8s   ÁA&Á&A*Á-A*)r   rO   é   Úcmethodc                 óâ  — |                       d¦  «        j        }t          j        dd¬¦  «        t	          d¦  «        dddœg d	i d
df}|dv rt
          €t          j        d¦  «         n,|dk    r&t          j	        d
         rt          j        d¦  «         |dz   |z   }|D ]Ï}t          j        ||||f¬¦  «         t          |d¦  «        5 }t          |¦  «        |k    sJ ‚	 d d d ¦  «         n# 1 swxY w Y   t          j        |¦  «        }t          |t!          |¦  «        ¦  «        sJ ‚t          |t          j        ¦  «        r!t          j                             ||¦  «         ŒÇ||k    sJ ‚ŒÐd S )Nr4   )r{   r{   Úf8r´   rG   r   r‰   )rr   rS   r   r   g      ð?©r  Úxzzlzma is support not availablerý   zlz4 is not installed.ú.r5   r%  )r6   r7   r   r}   Úranger  ÚpytestÚskipr   rè   r   r8   r'  r   r9   rd   rk   re   rf   rg   )	r<   r1   r1  r=   ÚobjectsÚdump_filenamert   r  rŠ   s	            r   Útest_joblib_compression_formatsr<  D  sÑ  € ð �{Š{˜:Ñ&Ô&Ô.€HÝŒw˜Z¨tÐ4Ñ4Ô4Ý�R‰yŒyØ˜3ÐÐ  R¨¨Q°ð5€Gð �.Ð Ð ¥T \ÝŒÐ3Ñ4Ô4Ð4Ð4à	�EÒ	Ð	�hœm¨AÔ.Ð	õ 	ŒÐ+Ñ,Ô,Ð,à˜s‘N WÑ,€MØð 'ð 'ˆÝÔ˜#˜}¸ÀÐ7JÐKÑKÔKÐKå�- Ñ&Ô&ð 	4¨!Ý% aÑ(Ô(¨GÒ3Ð3Ð3Ð3Ð3ð	4ð 	4ð 	4ñ 	4ô 	4ð 	4ð 	4ð 	4ð 	4ð 	4ð 	4øøøð 	4ð 	4ð 	4ð 	4õ $Ô(¨Ñ7Ô7ˆÝ˜,­¨S©	¬	Ñ2Ô2Ð2Ð2Ð2Ý�c�2œ:Ñ&Ô&ð 	'ÝŒJ×)Ò)¨,¸Ñ<Ô<Ð<Ð<à 3Ò&Ð&Ð&Ð&Ð&ð'ð 's   Ã
C-Ã-C1	Ã4C1	c                 ó  — t          t          j        | d¦  «        ¦  «        5 }|                     ¦   «         }ddd¦  «         n# 1 swxY w Y   t	          |d¦  «        5 }|                     |¦  «         ddd¦  «         dS # 1 swxY w Y   dS )zDecompress a gzip file.r%  NÚwb)r   r#  ÚGzipFileÚreadr'  Úwrite©Úsource_filenameÚtarget_filenameÚfoÚbufs       r   Ú_gzip_file_decompressrG  d  sý   € å	•”˜°Ñ5Ô5Ñ	6Ô	6ð ¸"Ø�gŠg‰iŒiˆðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ 
ˆo˜tÑ	$Ô	$ð ¨Ø
�Š�‰Œˆðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s#   £AÁAÁAÁBÂBÂ	Bc                 ó  — t          | d¦  «        5 }t          j        |                     ¦   «         ¦  «        }ddd¦  «         n# 1 swxY w Y   t          |d¦  «        5 }|                     |¦  «         ddd¦  «         dS # 1 swxY w Y   dS )zDecompress a zlib file.r%  Nr>  )r'  rP   Ú
decompressr@  rA  rB  s       r   Ú_zlib_file_decompressrJ  m  sý   € å	ˆo˜tÑ	$Ô	$ð )¨ÝŒo˜bŸgšg™iœiÑ(Ô(ˆð)ð )ð )ñ )ô )ð )ð )ð )ð )ð )ð )øøøð )ð )ð )ð )õ 
ˆo˜tÑ	$Ô	$ð ¨Ø
�Š�‰Œˆðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s#   ‘'AÁAÁAÁBÂBÂ	Bzextension,decompressú.zrû   c                 óÂ   — d}|                       d¦  «        j        }||z   }t          j        ||¦  «          |||¦  «         t          j        |¦  «        }||k    sJ ‚d S )Nza string to persistr4   )r6   r7   r   r8   r9   )r<   Ú	extensionrI  rt   Úfilename_rawÚfilename_compressedrŠ   s          r   Ú'test_load_externally_decompressed_filesrP  v  sz   € ð
  €CØ—;’;˜zÑ*Ô*Ô2€Là&¨Ñ2ÐåÔ�cÐ.Ñ/Ô/Ð/ð €JÐ" LÑ1Ô1Ð1õ  Ô$ \Ñ2Ô2€LØ�,ÒÐÐÐÐÐr!   zextension,cmethod))rK  rP   )rû   r#  )rü   Úbz2)rÿ   r  )rþ   r5  )rú   únot-compressed)r  rR  c                 ó¢  — |dv rt           €t          j        d¦  «         |                      d¦  «        j        }d}||z   }t          j        ||¦  «         t          |d¦  «        5 }t          |¦  «        |k    sJ ‚	 d d d ¦  «         n# 1 swxY w Y   t          j	        |¦  «        }t          |t          |¦  «        ¦  «        sJ ‚||k    sJ ‚d S )Nr4  zlzma is missingr4   zobject to dumpr%  )r  r8  r9  r6   r7   r   r8   r'  r   r9   rd   rk   )r<   rM  r1  r=   rt   Ú
dump_fnamer  rŠ   s           r   Ú%test_compression_using_file_extensionrU  ‹  s  € ð �.Ð Ð ¥T \ÝŒÐ%Ñ&Ô&Ð&à�{Š{˜:Ñ&Ô&Ô.€HØ
€Cà˜IÑ%€JÝÔ�c˜:Ñ&Ô&Ð&å	ˆj˜$Ñ	Ô	ð 0 1Ý! !Ñ$Ô$¨Ò/Ð/Ð/Ð/Ð/ð0ð 0ð 0ñ 0ô 0ð 0ð 0ð 0ð 0ð 0ð 0øøøð 0ð 0ð 0ð 0õ  Ô$ ZÑ0Ô0€LÝ�l¥D¨¡I¤IÑ.Ô.Ð.Ð.Ð.Ø˜3ÒÐÐÐÐÐs   Á&B	Â	BÂBc                 ó(  — t           j                             d¦  «        dg}t          j        t          j        g}t          �|t          j        gz  }|                      d¦  «        j	        }|D �]#}|D �]} ||d¦  «        5 }t          j        ||¦  «         d d d ¦  «         n# 1 swxY w Y    ||d¦  «        5 }t          j        |¦  «        }d d d ¦  «         n# 1 swxY w Y   t          |d¦  «        5 }t          j        |¦  «        }d d d ¦  «         n# 1 swxY w Y   t          |t           j        ¦  «        rBt           j                             ||¦  «         t           j                             ||¦  «         �Œ||k    sJ ‚||k    sJ ‚�Œ�Œ%d S )Nr³   ú	some datar4   r>  r%  )r   r[   rQ  ÚBZ2Filer#  r?  r  ÚLZMAFiler6   r7   r   r8   r9   r'  rd   re   rf   rg   )	r<   ÚobjsÚfobjsr=   rt   Úfobjr  rŠ   Úobj_reloaded_2s	            r   Útest_file_handle_persistencer^  §  sN  € åŒI×Ò˜XÑ&Ô&¨Ð4€DÝŒ[�$œ-Ð(€EÝÐØ•$”-�Ñ ˆØ�{Š{˜:Ñ&Ô&Ô.€Hàð -ñ -ˆØð 	-ñ 	-ˆDØ��h Ñ%Ô%ð *¨ÝÔ! # qÑ)Ô)Ð)ð*ð *ð *ñ *ô *ð *ð *ð *ð *ð *ð *øøøð *ð *ð *ð *ð
 ��h Ñ%Ô%ð 4¨Ý+Ô0°Ñ3Ô3�ð4ð 4ð 4ñ 4ô 4ð 4ð 4ð 4ð 4ð 4ð 4øøøð 4ð 4ð 4ð 4õ
 �h Ñ%Ô%ð 6¨Ý!-Ô!2°1Ñ!5Ô!5�ð6ð 6ð 6ñ 6ô 6ð 6ð 6ð 6ð 6ð 6ð 6øøøð 6ð 6ð 6ð 6õ ˜#�rœzÑ*Ô*ð -Ý”
×-Ò-¨l¸CÑ@Ô@Ð@Ý”
×-Ò-¨n¸cÑBÔBÐBÑBà# sÒ*Ð*Ð*Ð*Ø%¨Ò,Ð,Ð,Ð,Ñ,ñ'	-ð-ð -s6   ÂB#Â#B'Â*B'Â:CÃCÃ"CÃ6DÄDÄDc                  óP  — t           j                             d¦  «        dg} | D ]�}t          j        ¦   «         }t	          j        ||¦  «         t	          j        |¦  «        }t          |t           j        ¦  «        r!t           j	         
                    ||¦  «         Œy||k    sJ ‚Œ‚d S )Nr³   rW  )r   r[   ÚioÚBytesIOr   r8   r9   rd   re   rf   rg   )rZ  rt   r  rŠ   s       r   Útest_in_memory_persistencerb  Æ  s¦   € åŒI×Ò˜XÑ&Ô&¨Ð4€DØð 'ð 'ˆÝŒJ‰LŒLˆÝÔ˜#˜qÑ!Ô!Ð!Ý#Ô(¨Ñ+Ô+ˆÝ�c�2œ:Ñ&Ô&ð 	'ÝŒJ×)Ò)¨,¸Ñ<Ô<Ð<Ð<à 3Ò&Ð&Ð&Ð&Ð&ð'ð 'r!   c                 ó®  — t           j                             d¦  «        }|                      d¦  «        j        }t	          |d¦  «        5 }t          j        ||¦  «         d d d ¦  «         n# 1 swxY w Y   t	          |d¦  «        5 }t          j        |d¬¦  «        }d d d ¦  «         n# 1 swxY w Y   t           j         	                    ||¦  «         d S )Nr³   r4   r>  r%  r†   r„   )
r   r[   r6   r7   r'  r   r8   r9   rf   rg   )r<   rt   r=   r  rŠ   s        r   Ú!test_file_handle_persistence_mmaprd  Ó  s9  € å
Œ)×
Ò
˜8Ñ
$Ô
$€CØ�{Š{˜:Ñ&Ô&Ô.€Hå	ˆh˜Ñ	Ô	ð " ÝÔ˜#˜qÑ!Ô!Ð!ð"ð "ð "ñ "ô "ð "ð "ð "ð "ð "ð "øøøð "ð "ð "ð "õ 
ˆh˜Ñ	Ô	ð < Ý#Ô(¨°dÐ;Ñ;Ô;ˆð<ð <ð <ñ <ô <ð <ð <ð <ð <ð <ð <øøøð <ð <ð <ð <õ „J×!Ò! ,°Ñ4Ô4Ð4Ð4Ð4s$   Á
A,Á,A0Á3A0ÂB*Â*B.Â1B.c                 óh  — t           j                             d¦  «        }|                      d¦  «        j        }t	          |d¦  «        5 }t          j        ||d¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          t          j	        |d¦  «        ¦  «        5 }t          t          ¦  «        5 }t          j        |d¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          |¦  «        d	k    sJ ‚t          |d
         j        ¦  «        d|ddœz  k    sJ ‚	 d d d ¦  «         d S # 1 swxY w Y   d S )Nr³   r4   r>  r"  r5   r%  r†   r„   r   r   zP"%(fileobj)r" is not a raw file, mmap_mode "%(mmap_mode)s" flag will be ignored.)Úfileobjr…   )r   r[   r6   r7   r'  r   r8   r   r#  r?  r   r¡   r9   r`   rš   r    )r<   rt   r=   r  r£   s        r   Ú,test_file_handle_persistence_compressed_mmaprg  á  s  € å
Œ)×
Ò
˜8Ñ
$Ô
$€CØ�{Š{˜:Ñ&Ô&Ô.€Hå	ˆh˜Ñ	Ô	ð 8 ÝÔ˜#˜q¨;Ð7Ñ7Ô7Ð7ð8ð 8ð 8ñ 8ô 8ð 8ð 8ð 8ð 8ð 8ð 8øøøð 8ð 8ð 8ð 8õ 
•”˜x¨Ñ.Ô.Ñ	/Ô	/ð M°1Ý•;ÑÔð 	1 8ÝÔ˜a¨4Ð0Ñ0Ô0Ð0ð	1ð 	1ð 	1ñ 	1ô 	1ð 	1ð 	1ð 	1ð 	1ð 	1ð 	1øøøð 	1ð 	1ð 	1ð 	1å�8‰}Œ} Ò!Ð!Ð!Ð!Ý�H˜Q”KÔ'Ñ(Ô(ð(Ø67ÀdÐ*KÐ*KñLòLð Lð Lð Lð Lð	Mð Mð Mñ Mô Mð Mð Mð Mð Mð Mð Mð Møøøð Mð Mð Mð Mð Mð MsH   Á
A.Á.A2Á5A2ÂD'Â0CÃD'ÃC	ÃD'ÃC	Ã>D'Ä'D+Ä.D+c                  óŒ  — t           j                             d¦  «        } t          j        ¦   «         }t	          j        | |¦  «         t          t          ¦  «        5 }t	          j        |d¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          |¦  «        dk    sJ ‚t          |d         j        ¦  «        dddiz  k    sJ ‚d S )Nr³   r†   r„   r   r   zuIn memory persistence is not compatible with mmap_mode "%(mmap_mode)s" flag passed. mmap_mode option will be ignored.r…   )r   r[   r`  ra  r   r8   r   r¡   r9   r`   rš   r    )rt   rF  r£   s      r   Ú+test_file_handle_persistence_in_memory_mmapri  ò  s  € å
Œ)×
Ò
˜8Ñ
$Ô
$€CÝ
Œ*‰,Œ,€CåÔ�c˜3ÑÔÐå	�{Ñ	Ô	ð /˜xÝÔ˜#¨Ð.Ñ.Ô.Ð.ð/ð /ð /ñ /ô /ð /ð /ð /ð /ð /ð /øøøð /ð /ð /ð /åˆx‰=Œ=˜AÒÐÐÐÝ�˜”Ô#Ñ$Ô$ðà% tÐ,ñ-ò-ð -ð -ð -ð -ð -s   ÁA?Á?BÂBr   s   a little data as bytes.i'  z{}rµ   zlatin-1za little data as bytes.za large data as bytes.)ÚidsÚcompress_level)r   rO   é	   c                 óX  — |                       d¦  «        j        }t          |d¦  «        5 }t          |d|¬¦  «        5 }|                     ¦   «         sJ ‚|                     |¦  «         |                     ¦   «         |                     ¦   «         k    sJ ‚t          t          j	        ¦  «        5  | 
                    ¦   «          d d d ¦  «         n# 1 swxY w Y   t          t          j	        ¦  «        5  |                     ¦   «          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 ‚t          t          ¦  «        5  |                     ¦   «          d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         n# 1 swxY w Y   t          |d¦  «        5 }t          |¦  «        5 }|                     ¦   «         sJ ‚|                     ¦   «         sJ ‚|                     ¦   «         |                     ¦   «         k    sJ ‚|                     ¦   «         |k    sJ ‚t          t          j	        ¦  «        5  |                     ¦   «          d d d ¦  «         n# 1 swxY w Y   |                     ¦   «         sJ ‚|                     d¦  «         |                     ¦   «         dk    sJ ‚	 d d d ¦  «         n# 1 swxY w Y   |j        sJ ‚	 d d d ¦  «         n# 1 swxY w Y   t          |d|¬¦  «        5 }|                     ¦   «         sJ ‚|                     |¦  «         d d d ¦  «         n# 1 swxY w Y   t          |d¦  «        5 }|                     ¦   «         |k    sJ ‚|                     ¦   «         sJ ‚	 d d d ¦  «         n# 1 swxY w Y   t          |d|¬¦  «        }|                     ¦   «         sJ ‚|                     |¦  «         |                     ¦   «          t          |d¦  «        }|                     ¦   «         |k    sJ ‚|                     ¦   «          d S )Nr4   r>  ©Úcompresslevelr%  r   )r6   r7   r'  r   ÚwritablerA  Úfilenor   r`  ÚUnsupportedOperationÚ_check_can_readÚ_check_can_seekÚclosedrB   Ú_check_not_closedÚreadableÚseekabler@  Ú_check_can_writeÚseekÚtellÚclose)r<   r   rk  r=   r  Úfzs         r   Útest_binary_zlibfiler~    s6  € ð �{Š{˜:Ñ&Ô&Ô.€Hå	ˆh˜Ñ	Ô	ð # Ý˜A˜tØ*8ð:ñ :ô :ð 		%Ø=?Ø—;’;‘=”=Ð Ð Ð Ø�HŠH�T‰NŒNˆNØ—9’9‘;”; !§(¢(¡*¤*Ò,Ð,Ð,Ð,Ý�Ô/Ñ0Ô0ð %ð %Ø×"Ò"Ñ$Ô$Ð$ð%ð %ð %ñ %ô %ð %ð %ð %ð %ð %ð %øøøð %ð %ð %ð %õ �Ô/Ñ0Ô0ð %ð %Ø×"Ò"Ñ$Ô$Ð$ð%ð %ð %ñ %ô %ð %ð %ð %ð %ð %ð %øøøð %ð %ð %ð %ð		%ð 		%ð 		%ñ 		%ô 		%ð 		%ð 		%ð 		%ð 		%ð 		%ð 		%øøøð 		%ð 		%ð 		%ð 		%ð ŒyÐÐÐÝ•JÑÔð 	#ð 	#Ø× Ò Ñ"Ô"Ð"ð	#ð 	#ð 	#ñ 	#ô 	#ð 	#ð 	#ð 	#ð 	#ð 	#ð 	#øøøð 	#ð 	#ð 	#ð 	#ð#ð #ð #ñ #ô #ð #ð #ð #ð #ð #ð #øøøð #ð #ð #ð #õ 
ˆh˜Ñ	Ô	ð  Ý˜AÑÔð 		" "Ø—;’;‘=”=Ð Ð Ð Ø—;’;‘=”=Ð Ð Ð Ø—9’9‘;”; !§(¢(¡*¤*Ò,Ð,Ð,Ð,Ø—7’7‘9”9 Ò$Ð$Ð$Ð$Ý�Ô/Ñ0Ô0ð &ð &Ø×#Ò#Ñ%Ô%Ð%ð&ð &ð &ñ &ô &ð &ð &ð &ð &ð &ð &øøøð &ð &ð &ð &à—;’;‘=”=Ð Ð Ð Ø�GŠG�A‰JŒJˆJØ—7’7‘9”9 ’>�>�>�>�>ð		"ð 		"ð 		"ñ 		"ô 		"ð 		"ð 		"ð 		"ð 		"ð 		"ð 		"øøøð 		"ð 		"ð 		"ð 		"ð ŒyÐÐÐÐðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ 
˜ $Ø&4ð
6ñ 
6ô 
6ð Ø9;Ø�{Š{‰}Œ}ÐÐÐØ
�Š�‰Œˆðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ
 
˜ $Ñ	'Ô	'ð ¨2Ø�wŠw‰yŒy˜DÒ Ð Ð Ð Ø�{Š{‰}Œ}ÐÐÐÐðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ
 
˜ $°nÐ	EÑ	EÔ	E€BØ�;Š;‰=Œ=ÐÐÐØ‡H‚HˆT�N„N€NØ‡H‚H�J„J€Jå	˜ $Ñ	'Ô	'€BØ�7Š7‰9Œ9˜ÒÐÐÐØ‡H‚H�J„J€J€J€Js!  «F¾A1D,Â/CÃD,ÃCÃD,ÃCÃD,Ã4DÄ	D,ÄDÄD,ÄDÄD,Ä FÄ,D0	Ä0FÄ3D0	Ä4 FÅE5Å)FÅ5E9	Å9FÅ<E9	Å=FÆFÆFÆ'K"Æ7BKÉI$ÉKÉ$I(É(KÉ+I(É,AKÊ5K"ËK	ËK"ËK	Ë	K"Ë"K&Ë)K&Ë?,L7Ì7L;Ì>L;Í1NÎNÎNÚ	bad_valueé   rr   c                 ó.  — |                       d¦  «        j        }t          t          ¦  «        5 }t	          |d|¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        d                     |¦  «        ¦  «        }|                     |¦  «         d S )Nr4   r>  rn  zS'compresslevel' must be an integer between 1 and 9. You provided 'compresslevel={}')	r6   r7   r   rB   r   rß   rå   rJ   rK   )r<   r  r=   rM   Úpatterns        r   Ú+test_binary_zlibfile_bad_compression_levelsrƒ  <  sØ   € à�{Š{˜:Ñ&Ô&Ô.€HÝ	•
Ñ	Ô	ð @˜wÝ�x °YÐ?Ñ?Ô?Ð?ð@ð @ð @ñ @ô @ð @ð @ð @ð @ð @ð @øøøð @ð @ð @ð @åŒið :ß:@º&ÀÑ:KÔ:KñMô M€Gà‡M‚M�'ÑÔÐÐÐs   ¯AÁAÁAÚbad_mode)rr   r   rƒ   r�   r   rS   c                 óÜ   — |                       d¦  «        j        }t          t          ¦  «        5 }t	          ||¦  «         d d d ¦  «         n# 1 swxY w Y   |                     d¦  «         d S )Nr4   zInvalid mode)r6   r7   r   rB   r   rK   )r<   r„  r=   rM   s       r   Ú"test_binary_zlibfile_invalid_modesr†  F  sž   € à�{Š{˜:Ñ&Ô&Ô.€HÝ	•
Ñ	Ô	ð +˜wÝ�x Ñ*Ô*Ð*ð+ð +ð +ñ +ô +ð +ð +ð +ð +ð +ð +øøøð +ð +ð +ð +à‡M‚M�.Ñ!Ô!Ð!Ð!Ð!s   ¯AÁAÁAÚbad_filec                 ó¨   — t          t          ¦  «        5 }t          | d¦  «         d d d ¦  «         n# 1 swxY w Y   |                     d¦  «         d S )Nr%  z1filename must be a str or bytes object, or a file)r   Ú	TypeErrorr   rK   )r‡  rM   s     r   Ú*test_binary_zlibfile_invalid_filename_typerŠ  N  s‹   € å	•	Ñ	Ô	ð '˜gÝ�x Ñ&Ô&Ð&ð'ð 'ð 'ñ 'ô 'ð 'ð 'ð 'ð 'ð 'ð 'øøøð 'ð 'ð 'ð 'à‡M‚MÐEÑFÔFÐFÐFÐFó   •2²6¹6c                   ó   — e Zd Zd„ ZdS )ÚSubArrayc                 ó:   — t           t          j        | ¦  «        ffS r   )Ú_load_sub_arrayr   Úasarrayr%   s    r   Ú
__reduce__zSubArray.__reduce__[  s   € Ý"¥R¤Z°Ñ%5Ô%5Ð$8Ð8Ð8r!   N)r*   r+   r,   r‘  r   r!   r   r�  r�  Y  s#   € € € € € ð	9ð 	9ð 	9ð 	9ð 	9r!   r�  c                 ó<   — t          | j        ¦  «        }| |d d …<   |S r   )r�  rX   )ÚarrÚds     r   r�  r�  ^  s#   € Ý�S”YÑÔˆØˆˆ!ˆ!ˆ!‰Øˆr!   c                   ó   — e Zd ZdZd„ ZdS )rm   z7A complex object containing numpy arrays as attributes.c                 ó¬   — t          j        dd¬¦  «        | _        t          j        dd¬¦  «        | _        t          j        g d¢d¬¦  «        | _        d S )Nr{   rj   r|   Úint32)rr   rG   g      4@r�   )r   rÌ   rn   r}   ro   rh   rp   r%   s    r   Ú__init__zComplexTestObject.__init__f  sM   € Ý!œy¨°IÐ>Ñ>Ô>ˆDÔÝœW S°Ð8Ñ8Ô8ˆDŒNÝœX o o o¸XÐFÑFÔFˆDŒNˆNˆNr!   N)r*   r+   r,   Ú__doc__r˜  r   r!   r   rm   rm   c  s.   € € € € € ØEÐEð	Gð 	Gð 	Gð 	Gð 	Gr!   rm   c                 ó  — |                       d¦  «        j        }t          d¦  «        }t          j        ||¦  «         t          j        |¦  «        }t          |t          ¦  «        sJ ‚t          j         	                    ||¦  «         d S )Nr4   )rG   )
r6   r7   r�  r   r8   r9   rd   r   rf   rg   )r<   r=   rr   Úcs       r   Útest_numpy_subclassrœ  l  sx   € à�{Š{˜:Ñ&Ô&Ô.€HÝ�‰Œ€AÝÔ�a˜Ñ"Ô"Ð"ÝÔ˜(Ñ#Ô#€AÝ�a�Ñ"Ô"Ð"Ð"Ð"Ý„J×!Ò! ! QÑ'Ô'Ð'Ð'Ð'r!   c                 ó.  — |                       d¦  «        j        }d}t          j        |t	          |¦  «        ¦  «         t          j        |¦  «        |k    sJ ‚t          j        ||¦  «         t          j        t	          |¦  «        ¦  «        |k    sJ ‚d S )Nr4   é{   )r6   r7   r   r8   r   r9   )r<   r=   Úvalues      r   Útest_pathlibr   v  s‹   € Ø�{Š{˜:Ñ&Ô&Ô.€HØ€EÝÔ�e�T (™^œ^Ñ,Ô,Ð,ÝÔ˜XÑ&Ô&¨%Ò/Ð/Ð/Ð/ÝÔ�e˜XÑ&Ô&Ð&ÝÔ�T (™^œ^Ñ,Ô,°Ò5Ð5Ð5Ð5Ð5Ð5r!   c                 ó˜  — |                       d¦  «        j        }t          j        ddgddgg¦  «        dd …         t          j        dd¬¦  «        d d …d d…d d …f         fD ]g}|j        j        rJ ‚|j        j        rJ ‚t          j	        ||¦  «         t          j
        |¦  «        }t          j                             ||¦  «         Œhd S )	Nr4   r   rS   rO   rV   )rG   é2   é   ÚF)Úorder)r6   r7   r   Úasfortranarrayr}   r‡   Úc_contiguousÚf_contiguousr   r8   r9   rf   rg   )r<   r=   rh   Úarray_reloadeds       r   Ú"test_non_contiguous_array_picklingrª    sã   € à�{Š{˜:Ñ&Ô&Ô.€Hõ
 Ô%¨¨1 v°°1¨vÐ&6Ñ7Ô7¸¸¸Ô;å”G˜L°Ð4Ñ4Ô4°Q°Q°Q¸¸¸¸A¸A¸A°XÔ>ð@ð 
=ð 
=ˆð ”;Ô+Ð+Ð+Ð+Ø”;Ô+Ð+Ð+Ð+ÝÔ˜% Ñ*Ô*Ð*Ý%Ô*¨8Ñ4Ô4ˆÝ
Œ
×%Ò% n°eÑ<Ô<Ð<Ð<ð
=ð 
=r!   c                 ó  — |                       d¦  «        j        }t          j        d¦  «        }t	          j        ||t          j        ¬¦  «         t	          j        |¦  «        }t          j	         
                    ||¦  «         d S )Nr4   rG   ©Úprotocol)r6   r7   r   Úzerosr   r8   ÚpickleÚHIGHEST_PROTOCOLr9   rf   rg   )r<   r=   Ú
test_arrayr©  s       r   Útest_pickle_highest_protocolr²  �  sn   € ð �{Š{˜:Ñ&Ô&Ô.€HÝ”˜"‘”€JåÔ�j (µVÔ5LÐMÑMÔMÐMÝ!Ô& xÑ0Ô0€Nå„J×!Ò! .°*Ñ=Ô=Ð=Ð=Ð=r!   c                  ó  — t          j        d¦  «        } d}t          j        t          j        t          j        ¦  «        }|                     |¦  «         |                     d¦  «         t          j        |¦  «        5 }|                     ¦   «         \  }}| 	                    d¦  «        5 }t          j        | |¦  «         d d d ¦  «         n# 1 swxY w Y   | 	                    d¦  «        5 }t          j        |¦  «        }d d d ¦  «         n# 1 swxY w Y   t           j                             || ¦  «         t          j        ¦   «         }	t          j        | |	¦  «         |                     |	                     ¦   «         ¦  «         | 	                    d¦  «        5 }t          j        |¦  «        }d d d ¦  «         n# 1 swxY w Y   t           j                             || ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NrG   )Ú	localhosti90  r   r>  r%  )r   rÌ   ÚsocketÚAF_INETÚSOCK_STREAMÚbindÚlistenÚcreate_connectionÚacceptÚmakefiler   r8   r9   rf   rg   r`  ra  ÚsendÚgetvalue)
r±  Ú_ADDRÚlistenerÚclientÚserverÚclient_addrÚsfÚcfr©  Úbytes_to_sends
             r   Útest_pickle_in_socketrÇ  Ÿ  s¼  € õ ”˜2‘”€JØ €EÝŒ}�Vœ^­VÔ-?Ñ@Ô@€HØ‡M‚M�%ÑÔÐØ‡O‚O�AÑÔÐå	Ô	! %Ñ	(Ô	(ð B¨FØ&ŸošoÑ/Ô/Ñˆ�à�_Š_˜TÑ"Ô"ð 	. bÝÔ˜j¨"Ñ-Ô-Ð-ð	.ð 	.ð 	.ñ 	.ô 	.ð 	.ð 	.ð 	.ð 	.ð 	.ð 	.øøøð 	.ð 	.ð 	.ð 	.ð �_Š_˜TÑ"Ô"ð 	3 bÝ)Ô.¨rÑ2Ô2ˆNð	3ð 	3ð 	3ñ 	3ô 	3ð 	3ð 	3ð 	3ð 	3ð 	3ð 	3øøøð 	3ð 	3ð 	3ð 	3õ 	Œ
×%Ò% n°jÑAÔAÐAõ œ
™œˆÝÔ˜* mÑ4Ô4Ð4Ø�Š�M×*Ò*Ñ,Ô,Ñ-Ô-Ð-à�_Š_˜TÑ"Ô"ð 	3 bÝ)Ô.¨rÑ2Ô2ˆNð	3ð 	3ð 	3ñ 	3ô 	3ð 	3ð 	3ð 	3ð 	3ð 	3ð 	3øøøð 	3ð 	3ð 	3ð 	3õ 	Œ
×%Ò% n°jÑAÔAÐAð)Bð Bð Bñ Bô Bð Bð Bð Bð Bð Bð Bð Bøøøð Bð Bð Bð Bð Bð Bs   Á>-G6Â+CÃG6ÃC	ÃG6ÃC	ÃG6Ã-DÄG6ÄD	ÄG6ÄD	ÄBG6ÆF>Æ2G6Æ>G	ÇG6ÇG	Ç#G6Ç6G:Ç=G:c                 óª  — |                       d¦  «        j        }t          j        }t	          j        |d¬¦  «        t	          j        |d¬¦  «        g}t          j        ||¦  «         t          j	        |d¬¦  «        }t          |d         t          j        ¦  «        sJ ‚|d         j        |k    sJ ‚t          j                             ||¦  «         d S )Nú	test.mmapr~   r|   rƒ   r„   r   )r6   r7   rT   ÚALLOCATIONGRANULARITYr   r®  r}   r   r8   r9   rd   ri   Úoffsetrf   rg   )r<   rÑ   r»   rt   Úmemmapss        r   Ú test_load_memmap_with_big_offsetrÍ  ¿  sÂ   € ð �KŠK˜Ñ$Ô$Ô,€EÝÔ%€DÝŒ8�D Ð(Ñ(Ô(­"¬'°$¸gÐ*FÑ*FÔ*FÐ
G€CÝÔ�c˜5Ñ!Ô!Ð!ÝÔ °Ð5Ñ5Ô5€GÝ�g˜a”j¥"¤)Ñ,Ô,Ð,Ð,Ð,Ø�1Œ:Ô˜tÒ#Ð#Ð#Ð#Ý„J×!Ò! # wÑ/Ô/Ð/Ð/Ð/r!   c                 ó&  ‡‡— d}dŠ G d„ dt           j        ¦  «        Š G ˆˆfd„dt          ¦  «        }t          | |¦   «         ¦  «         t          |         j        ‰k    sJ ‚t          |         j        ‰k    sJ ‚t	          j        |¦  «         d S )Nú	test-nameztest-prefixc                   ó   — e Zd ZdS )ú:test_register_compressor.<locals>.BinaryCompressorTestFileN©r*   r+   r,   r   r!   r   ÚBinaryCompressorTestFilerÑ  Ô  ó   € € € € € Øˆr!   rÓ  c                   ó   •— e Zd Zˆ ˆfd„ZdS )ú=test_register_compressor.<locals>.BinaryCompressorTestWrapperc                 ó6   •— t          j        | ‰‰¬¦  «         d S )N©rt   Úprefix©r   r˜  )r&   rÓ  Úcompressor_prefixs    €€r   r˜  zFtest_register_compressor.<locals>.BinaryCompressorTestWrapper.__init__Ù  s5   ø€ ÝÔ& tÐ1IØ.?ðAñ Aô Að Að Að Ar!   N©r*   r+   r,   r˜  )rÓ  rÛ  s   €€r   ÚBinaryCompressorTestWrapperrÖ  ×  s;   ø€ € € € € ð	Að 	Að 	Að 	Að 	Að 	Að 	Að 	Ar!   rÝ  )r`  ÚBufferedIOBaser   r   r   Úfileobj_factoryrÙ  Úpop)r<   Úcompressor_namerÝ  rÓ  rÛ  s      @@r   Útest_register_compressorrâ  Ï  sò   øø€ à!€OØ%Ððð ð ð ð ¥2Ô#4ñ ô ð ðAð Að Að Að Að Að Að AÕ&7ñ Aô Að Aõ ˜Ð)DÐ)DÑ)FÔ)FÑGÔGÐGå˜Ô)Ô9Ø$ò%ð %ð %ð %å˜Ô(Ô/Ð3DÒDÐDÐDÐDõ Ô�_Ñ%Ô%Ð%Ð%Ð%r!   Úinvalid_namec                 ó¨   — t          t          ¦  «        5 }t          | d ¦  «         d d d ¦  «         n# 1 swxY w Y   |                     d¦  «         d S )Nz"Compressor name should be a string)r   rB   r   rK   )rã  rM   s     r   Ú%test_register_compressor_invalid_namerå  è  s�   € õ 
•
Ñ	Ô	ð 0˜wÝ˜L¨$Ñ/Ô/Ð/ð0ð 0ð 0ñ 0ô 0ð 0ð 0ð 0ð 0ð 0ð 0øøøð 0ð 0ð 0ð 0à‡M‚MÐ6Ñ7Ô7Ð7Ð7Ð7r‹  c                  óþ   ‡—  G d„ d¦  «        Š G ˆfd„dt           ¦  «        } t          t          ¦  «        5 }t          d | ¦   «         ¦  «         d d d ¦  «         n# 1 swxY w Y   |                     d¦  «         d S )Nc                   ó   — e Zd ZdS )úCtest_register_compressor_invalid_fileobj.<locals>.InvalidFileObjectNrÒ  r   r!   r   ÚInvalidFileObjectrè  ó  rÔ  r!   ré  c                   ó   •— e Zd Zˆ fd„ZdS )úJtest_register_compressor_invalid_fileobj.<locals>.InvalidFileObjectWrapperc                 ó6   •— t          j        | ‰d¬¦  «         d S ©Ns   prefixrØ  rÚ  )r&   ré  s    €r   r˜  zStest_register_compressor_invalid_fileobj.<locals>.InvalidFileObjectWrapper.__init__÷  s/   ø€ ÝÔ& tÐ1BØ.7ð9ñ 9ô 9ð 9ð 9ð 9r!   NrÜ  )ré  s   €r   ÚInvalidFileObjectWrapperrë  ö  s.   ø€ € € € € ð	9ð 	9ð 	9ð 	9ð 	9ð 	9ð 	9r!   rî  ÚinvalidzQCompressor 'fileobj_factory' attribute should implement the file object interface)r   r   rB   r   rK   )rî  rM   ré  s     @r   Ú(test_register_compressor_invalid_fileobjrð  ð  s  ø€ ðð ð ð ð ñ ô ð ð9ð 9ð 9ð 9ð 9ð 9ð 9Õ#4ñ 9ô 9ð 9õ
 
•
Ñ	Ô	ð C˜wÝ˜IÐ'?Ð'?Ñ'AÔ'AÑBÔBÐBðCð Cð Cñ Cô Cð Cð Cð Cð Cð Cð Cøøøð Cð Cð Cð Cð ‡M‚Mð .ñ /ô /ð /ð /ð /s   ¸AÁA!Á$A!c                   ó   — e Zd Zd„ ZdS )ÚAnotherZlibCompressorWrapperc                 ó>   — t          j        | t          d¬¦  «         d S rí  )r   r˜  r   r%   s    r   r˜  z%AnotherZlibCompressorWrapper.__init__  s    € ÝÔ" 4­^ÀIÐNÑNÔNÐNÐNÐNr!   NrÜ  r   r!   r   rò  rò    s(   € € € € € ðOð Oð Oð Oð Or!   rò  c                   ó   — e Zd Zd„ ZdS )Ú StandardLibGzipCompressorWrapperc                 óH   — t          j        | t          j        d¬¦  «         d S rí  )r   r˜  r#  r?  r%   s    r   r˜  z)StandardLibGzipCompressorWrapper.__init__
  s"   € ÝÔ" 4­T¬]À9ÐMÑMÔMÐMÐMÐMr!   NrÜ  r   r!   r   rõ  rõ    s(   € € € € € ðNð Nð Nð Nð Nr!   rõ  c                  óà  — d} t          | t          ¦   «         ¦  «         t          t          ¦  «        5 }t          | t	          ¦   «         ¦  «         d d d ¦  «         n# 1 swxY w Y   |                     d                     | ¦  «        ¦  «         t          | t	          ¦   «         d¬¦  «         | t          v sJ ‚t          |          j        t          j
        k    sJ ‚t          j        | ¦  «         d S )NrÏ  z#Compressor '{}' already registered.T)Úforce)r   rò  r   rB   rõ  rK   rJ   r   rß  r#  r?  rà  )rá  rM   s     r   Ú+test_register_compressor_already_registeredrù    sF  € à!€Oõ ˜Õ)EÑ)GÔ)GÑHÔHÐHå	•
Ñ	Ô	ð @˜wÝ˜OÝ<Ñ>Ô>ñ	@ô 	@ð 	@ð@ð @ð @ñ @ô @ð @ð @ð @ð @ð @ð @øøøð @ð @ð @ð @ð ‡M‚MÐ7ß’6˜/Ñ*Ô*ñ,ô ,ð ,õ ˜Õ)IÑ)KÔ)KØ"ð$ñ $ô $ð $ð �lÐ*Ð*Ð*Ð*Ý˜Ô(Ô8½D¼MÒIÐIÐIÐIõ Ô�_Ñ%Ô%Ð%Ð%Ð%s   ³AÁA Á#A c                 óÖ  — dd l }d}|t          v sJ ‚t          |         j        |j        j        k    sJ ‚|                      d¦  «        j        }d}t          j        |||¬¦  «         t          |d¦  «        5 }| 
                    t          t          ¦  «        ¦  «        t          k    sJ ‚	 d d d ¦  «         n# 1 swxY w Y   t          j        |¦  «        |k    sJ ‚t          j        ||dz   ¦  «         t          |d¦  «        5 }| 
                    t          t          ¦  «        ¦  «        t          k    sJ ‚	 d d d ¦  «         n# 1 swxY w Y   t          j        |¦  «        |k    sJ ‚d S )Nr   rý   r4   ú	test datar5   r%  rÞ   )Ú	lz4.framer   rß  ÚframeÚLZ4FrameFiler6   r7   r   r8   r'  r@  r`   r   r9   )r<   rý   Ú
compressorrÑ   r   r  s         r   Útest_lz4_compressionr   &  sà  € ð ÐÐÐØ€JØ�Ð%Ð%Ð%Ð%Ý˜
Ô#Ô3°s´yÔ7MÒMÐMÐMÐMà�KŠK˜
Ñ#Ô#Ô+€EØ€DÝÔ�d˜E¨JÐ7Ñ7Ô7Ð7å	ˆe�TÑ	Ô	ð 7˜aØ�vŠv•c�+Ñ&Ô&Ñ'Ô'­;Ò6Ð6Ð6Ð6Ð6ð7ð 7ð 7ñ 7ô 7ð 7ð 7ð 7ð 7ð 7ð 7øøøð 7ð 7ð 7ð 7åÔ˜UÑ#Ô# tÒ+Ð+Ð+Ð+õ Ô�d˜E F™NÑ+Ô+Ð+Ý	ˆe�TÑ	Ô	ð 7˜aØ�vŠv•c�+Ñ&Ô&Ñ'Ô'­;Ò6Ð6Ð6Ð6Ð6ð7ð 7ð 7ñ 7ô 7ð 7ð 7ð 7ð 7ð 7ð 7øøøð 7ð 7ð 7ð 7åÔ˜UÑ#Ô# tÒ+Ð+Ð+Ð+Ð+Ð+s$   Á73B7Â7B;Â>B;Ä3EÅEÅEc                 ó®  — |                       d¦  «        j        }d}t          }t          t          ¦  «        5 }t          j        ||d¬¦  «         d d d ¦  «         n# 1 swxY w Y   |                     |¦  «         t          t          ¦  «        5 }t          j        ||dz   ¦  «         d d d ¦  «         n# 1 swxY w Y   |                     |¦  «         d S )Nz
test.nolz4rû  rý   r5   rÞ   )r6   r7   r   r   rB   r   r8   rK   )r<   rÑ   r   ÚmsgrM   s        r   Ú test_lz4_compression_without_lz4r  =  s;  € ð �KŠK˜Ñ%Ô%Ô-€EØ€DÝ
!€CÝ	•
Ñ	Ô	ð 7˜wÝÔ˜$ °Ð6Ñ6Ô6Ð6ð7ð 7ð 7ñ 7ô 7ð 7ð 7ð 7ð 7ð 7ð 7øøøð 7ð 7ð 7ð 7à‡M‚M�#ÑÔÐå	•
Ñ	Ô	ð 0˜wÝÔ˜$ ¨¡Ñ/Ô/Ð/ð0ð 0ð 0ñ 0ô 0ð 0ð 0ð 0ð 0ð 0ð 0øøøð 0ð 0ð 0ð 0à‡M‚M�#ÑÔÐÐÐs#   ¸AÁA Á#A ÂB5Â5B9Â<B9r­  c                 ó  — |                       d¦  «        j        }t          j                             d¦  «        }t          j        |||¬¦  «         t          j        |d¬¦  «        }t          |t          j	        ¦  «        sJ ‚t          j
                             ||¦  «         |j        j        t
          j        z  dk    sJ ‚|j        j        sJ ‚t          j                             d¦  «        t          j                             d¦  «        t          j                             d¦  «        t          j                             d¦  «        g}|                       d¦  «        j        }t          j        |||¬¦  «         t          j        |d¬¦  «        }t#          |¦  «        D ]t\  }}t          |t          j	        ¦  «        sJ ‚t          j
                             ||         |¦  «         |j        j        t
          j        z  dk    sJ ‚|j        j        sJ ‚Œut          j        dt          j        ¬¦  «        t          j        d	t          j        ¬¦  «        t          j        d
t          j        ¬¦  «        t          j        dt          j        ¬¦  «        t          j        dt          j        ¬¦  «        t          j        dt          j        ¬¦  «        t          j        dt          j        ¬¦  «        t          j        dt          j        ¬¦  «        t          j        dt          j        ¬¦  «        dœ	}|                       d¦  «        j        }t          j        |||¬¦  «         t          j        |d¬¦  «        }	|	                     ¦   «         D ]t\  }
}t          |t          j	        ¦  «        sJ ‚t          j
                             ||
         |¦  «         |j        j        t
          j        z  dk    sJ ‚|j        j        sJ ‚Œud S )NrÉ  rS   r¬  rƒ   r„   r   z
test1.mmapr|   rO   rÂ   é   é   é   é   é   é   )	Úa0Úa1Úa2Úa3Úa4Úa5Úa6Úa7Úa8z
test2.mmap)r6   r7   r   r[   Úrandnr   r8   r9   rd   ri   rf   rg   Úctypesr   ÚNUMPY_ARRAY_ALIGNMENT_BYTESr‡   Úalignedr^   rÌ   r~   Úitems)r<   r­  rÑ   rr   ri   Ú
array_listÚ
l_reloadedÚidxÚ
array_dictÚ
d_reloadedÚkeys              r   Útest_memmap_alignment_paddingr  Q  sZ  € ð �KŠK˜Ñ$Ô$Ô,€Eå
Œ	�Š˜ÑÔ€AÝÔ�a˜¨Ð2Ñ2Ô2Ð2ÝÔ˜u°Ð4Ñ4Ô4€FÝ�f�bœiÑ(Ô(Ð(Ð(Ð(Ý„J×!Ò! ! VÑ,Ô,Ð,àŒÔ�\ÔEÑEÈÒJÐJÐJÐJØŒ<ÔÐÐÐõ 	Œ	�Š˜ÑÔ�BœIŸOšO¨AÑ.Ô.Ý
Œ	�Š˜ÑÔ�BœIŸOšO¨AÑ.Ô.ð€Jð �KŠK˜Ñ%Ô%Ô-€EÝÔ�j %°(Ð;Ñ;Ô;Ð;ÝÔ" 5°CÐ8Ñ8Ô8€Jå  Ñ,Ô,ð $ð $‰ˆˆVÝ˜&¥"¤)Ñ,Ô,Ð,Ð,Ð,Ý
Œ
×%Ò% j°¤o°vÑ>Ô>Ð>àŒMÔ¥Ô!IÑIÈQÒNÐNÐNÐNØŒ|Ô#Ð#Ð#Ð#Ð#õ Œi˜¥¤Ð*Ñ*Ô*ÝŒi˜¥¤Ð*Ñ*Ô*ÝŒi˜¥¤Ð*Ñ*Ô*ÝŒi˜¥¤Ð*Ñ*Ô*ÝŒi˜¥"¤(Ð+Ñ+Ô+ÝŒi˜¥"¤(Ð+Ñ+Ô+ÝŒi˜¥"¤(Ð+Ñ+Ô+ÝŒi˜¥"¤(Ð+Ñ+Ô+ÝŒi˜¥"¤(Ð+Ñ+Ô+ð
ð 
€Jð �KŠK˜Ñ%Ô%Ô-€EÝÔ�j %°(Ð;Ñ;Ô;Ð;ÝÔ" 5°CÐ8Ñ8Ô8€Jà!×'Ò'Ñ)Ô)ð $ð $‰ˆˆVÝ˜&¥"¤)Ñ,Ô,Ð,Ð,Ð,Ý
Œ
×%Ò% j°¤o°vÑ>Ô>Ð>àŒMÔ¥Ô!IÑIÈQÒNÐNÐNÐNØŒ|Ô#Ð#Ð#Ð#Ð#ð$ð $r!   r   )…r™  r:   ra   r[   rß   r`  r  r«   r#  rP   rQ  r¯  rµ  Ú
contextlibr   rT   Úpathlibr   r  ÚImportErrorr8  Újoblib.test.commonr   r   r   r   r	   r
   Újoblib.testingr   r   r   Újoblibr   r   Újoblib.testr   Újoblib.numpy_pickle_utilsr   r   r   r   Újoblib.compressorr   r   r   r   r   ÚtypelistÚ_noneÚappendrk   Ú_typeÚboolÚ_boolr·   Ú_intÚfloatÚ_floatÚcomplexÚ_complexrš   Ú_stringÚ_tupleÚ_listÚ_dictr`   Ú_builtinr    r#   r�   r/   Ú	_instanceÚ_objectr?   rD   rC   rN   ry   r�   r‹   r‘   r–   r¥   r±   rÀ   rÖ   r÷   r  r  r   r(  rJ   r,  r/  r<  rG  rJ  rP  rU  r^  rb  rd  rg  ri  r¹   Úencoder~  rƒ  r†  rŠ  re   r�  r�  rm   rœ  r   rª  r²  rÇ  rÍ  râ  rå  rð  rò  rõ  rù  r   r  ÚDEFAULT_PROTOCOLÚ	protocolsr°  r  r   r!   r   ú<module>r>     s@  ðØ FÐ Fà €€€Ø 	€	€	€	Ø €€€Ø 	€	€	€	Ø 	€	€	€	Ø 
€
€
€
Ø €€€Ø €€€Ø €€€Ø 
€
€
€
Ø €€€Ø €€€Ø Ð Ð Ð Ð Ð Ø €€€Ø Ð Ð Ð Ð Ð ðØ€K€K€K€KøØð ð ð Ø€D€D€Dðøøøð €€€à DÐ DÐ DÐ DÐ DÐ DÐ DÐ DÐ DÐ DÐ DÐ DØ @Ð @Ð @Ð @Ð @Ð @Ð @Ð @Ø 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5ð 5Ð 4Ð 4Ð 4Ð 4Ð 4Ð 4Ð 4Ø Ð Ð Ð Ð Ð à 5Ð 5Ð 5Ð 5Ð 5Ð 5Ø 8Ð 8Ð 8Ð 8Ð 8Ð 8Ø IÐ IÐ IÐ IÐ IÐ IØ ?Ð ?Ð ?Ð ?Ð ?Ð ?ðHð Hð Hð Hð Hð Hð Hð Hð Hð Hð Hð Hð Hð Hð €ð 	€Ø ‡‚�Ñ Ô Ð Ø€Ø ‡‚�Ñ Ô Ð ØˆˆQ‰Œ€Ø ‡‚�Ñ Ô Ð Ø
€sˆ1�v„v€Ø ‡‚�Ñ Ô Ð Ø	ˆˆq‰Œ€Ø ‡‚�Ñ Ô Ð Øˆ7�1‰:Œ:€Ø ‡‚�Ñ Ô Ð Ø
ˆ#ˆa‰&Œ&€Ø ‡‚�Ñ Ô Ð Ø	€Ø ‡‚�Ñ Ô Ð Ø
€Ø ‡‚�Ñ Ô Ð Ø
€Ø ‡‚�Ñ Ô Ð Ø€Ø ‡‚�Ñ Ô Ð ðð ð ðð ð ð ð ñ ô ð ð
ð ð ð ð �ñ ô ð ð
 	‡‚�	Ñ Ô Ð Ø ‡‚�Ñ Ô Ð Ø ‡‚�	Ñ Ô Ð ØˆF‰HŒH€	Ø ‡‚�	Ñ Ô Ð Ø
ˆ)‰+Œ+€Ø ‡‚�Ñ Ô Ð ð €ˆZ˜!˜Q˜Ñ Ô Ø€ˆX�xÑ Ô ð!ð !ñ !Ô ñ !Ô ð!ð)ð )ð )ð €Ð  B¨¨©¬Ð/Ñ0Ô0ð!ð !ñ 1Ô0ð!ð Ø€ˆZÐ4Ð4Ð4Ñ5Ô5ð/Gð /Gñ 6Ô5ñ „ð/Gðd ð;ð ;ñ „ð;ð ð./ð ./ñ „ð./ðb ð.ð .ñ „ð.ð$ ð	-ð 	-ñ „ð	-ð ðð ñ „ðð$ Ø€ˆ\˜=˜=˜=Ñ)Ô)ð<ð <ñ *Ô)ñ „ð<ð& ØØ€ˆZ˜$ ˜Ñ'Ô'ð/ð /ñ (Ô'ñ Ôñ „ð/ð0 ð&ð &ñ „ð&ð.P*ð P*ð P*ð P*ðf ð,ð ,ñ „ð,ð@ ð;ð ;ñ „ð;ð( ð%4ð %4ñ „ð%4ðP €Ð ¨[Ð9Ñ:Ô:ð:ð :ñ ;Ô:ð:ð €Ð%ðLàØ9×@Ò@ÀÑIÔIðKà Ø5×<Ò<¸WÑEÔEðGð	HñIô Iðð ñIô Iðð €Ð ¨Ð 0Ñ1Ô1ð8ð 8ñ 2Ô1ð8ð Ø€ˆZ˜˜˜Ñ#Ô#Ø€ˆY˜Ñ%Ô%ð'ð 'ñ &Ô%ñ $Ô#ñ „ð'ð:ð ð ðð ð ð €Ð#ØÐ*Ð+ØÐ+Ð,ð.ñ/ô /ðð ñ/ô /ðð$ €Ð ð&ð &ð &ñ	'ô 	'ðð ñ	'ô 	'ðð$ ð-ð -ñ „ð-ð< ð	'ð 	'ñ „ð	'ð ð
5ð 
5ñ „ð
5ð ðMð Mñ „ðMð  ð.ð .ñ „ð.ð €ˆVÐ0à˜dŸkškØ(˜&œ.¨¨DÑ1Ô1°DÑ8ñ:ô :ß:@º&ÀÑ:KÔ:KñLðMð ,Ð-EÐFð	Hñ Hô Hð
 €Ð˜y˜y˜yÑ)Ô)ð1ð 1ñ *Ô)ñHô Hð1ðh €ˆ[˜2˜r 2 s¨B°Ð3Ñ4Ô4ðð ñ 5Ô4ðð €ˆZÐ3Ð3Ð3Ñ4Ô4ð"ð "ñ 5Ô4ð"ð €ˆZ˜!˜R ˜Ñ%Ô%ðGð Gñ &Ô%ðGð €>ð9ð 9ð 9ð 9ð 9�2”:ñ 9ô 9ð 9ð
ð ð ð
Gð Gð Gð Gð Gñ Gô Gð Gð ð(ð (ñ „ð(ð6ð 6ð 6ð ð=ð =ñ „ð=ð  ð>ð >ñ „ð>ð ðBð Bñ „ðBð> ð0ð 0ñ „ð0ð&ð &ð &ð2 €ˆ^˜a  R˜[Ñ)Ô)ð8ð 8ñ *Ô)ð8ð/ð /ð /ð$Oð Oð Oð Oð OÐ#4ñ Oô Oð OðNð Nð Nð Nð NÐ'8ñ Nô Nð Nð&ð &ð &ð0 
ð,ð ,ñ 
„ð,ð, ðð ñ „ðð Ô$Ð%€	Ø	Ô˜fÔ5Ò5Ð5Ø×Ò�VÔ,Ñ-Ô-Ð-ð Ø€ˆZ˜Ñ#Ô#ð4$ð 4$ñ $Ô#ñ „ð4$ð 4$ð 4$s   ÁA	 Á	AÁA