§
    2@Äji  ã                   ó   — d dl Z d dlZd dlZd dlmZmZmZmZ d dl	m
Z
mZmZ d dlmZmZmZ d dlZ e j        dd¦  «        Z e j        dd¦  «        Z e j        d	d¦  «        Z e j        d
d¦  «        Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z d„ Z!d„ Z"d„ Z#d„ Z$d„ Z%d„ Z&d„ Z'd„ Z(d„ Z)d„ Z*d „ Z+d!„ Z,d"„ Z-d#„ Z.d$„ Z/ G d%„ d&ej        ¦  «        Z0 G d'„ d(ej        ¦  «        Z1 G d)„ d*e¦  «        Z2 G d+„ d,e¦  «        Z3 G d-„ d.e¦  «        Z4 G d/„ d0ee¦  «        Z5 G d1„ d2ee¦  «        Z6 G d3„ d4ee¦  «        Z7 G d5„ d6e¦  «        Z8 G d7„ d8e¦  «        Z9 G d9„ d:e¦  «        Z:e;d;k    r ej<        ¦   «          dS dS )<é    N)ÚnjitÚjitÚtypeofÚ	literally)ÚtypesÚerrorsÚutils)ÚTestCaseÚMemoryLeakMixinÚtagÚRect©ÚwidthÚheightÚPoint)ÚxÚyÚzÚPoint2ÚEmpty© c                 ó
   — | |fS ©Nr   ©ÚaÚbs     úHC:\Projects\Historical\venv\Lib\site-packages\numba/tests/test_tuples.pyÚtuple_return_usecaser      s   € Øˆaˆ4€Kó    c                 ó   — | \  }}|S r   r   ©Útupr   r   s      r   Útuple_firstr#      ó   € Ø�D€A€qØ€Hr   c                 ó   — | \  }}|S r   r   r!   s      r   Útuple_secondr&      r$   r   c                 ó   — | |         S r   r   ©r"   Úidxs     r   Útuple_indexr*      s   € ØˆsŒ8€Or   c                 ó   — | d         S )Néþÿÿÿr   ©r"   s    r   Útuple_index_staticr.   "   s   € àˆrŒ7€Nr   c                 ó   — | dd…         S )Né   éÿÿÿÿr   r-   s    r   Útuple_slice2r2   &   s   € Øˆq�ˆtŒ9Ðr   c                 ó   — | dd d…         S )Nr0   é   r   r-   s    r   Útuple_slice3r5   )   s   € Øˆqˆt�!ˆtŒ9Ðr   c                 ó    — t          | ¦  «        S r   ©Úlenr-   s    r   Úlen_usecaser9   ,   s   € Ýˆs‰8Œ8€Or   c                 ó   — | |z   S r   r   r   s     r   Úadd_usecaser;   /   s   € Øˆq‰5€Lr   c                 ó   — | |k    S r   r   r   s     r   Ú
eq_usecaser=   2   ó   € Ø�Š6€Mr   c                 ó   — | |k    S r   r   r   s     r   Ú
ne_usecaser@   5   r>   r   c                 ó   — | |k    S r   r   r   s     r   Ú
gt_usecaserB   8   ó   € ØˆqŠ5€Lr   c                 ó   — | |k    S r   r   r   s     r   Ú
ge_usecaserE   ;   r>   r   c                 ó   — | |k     S r   r   r   s     r   Ú
lt_usecaserG   >   rC   r   c                 ó   — | |k    S r   r   r   s     r   Ú
le_usecaserI   A   r>   r   c                 ó
   — | |v S r   r   r   s     r   Ú
in_usecaserK   D   s   € Ø�ˆ6€Mr   c                 ó,   — t          | ¦  «        | rdndfS )Né   r4   )Úboolr-   s    r   Úbool_usecaserO   G   s   € Ý�‰9Œ9˜C��q�q QÐ'Ð'r   c                 ó*   — | j         | j        | j        fS r   ©r   r   r   r-   s    r   Úgetattr_usecaserR   J   s   € ØŒ5�#”%˜œÐÐr   c                 ó$   — t          | ||¦  «        S r   ©r   ©r   r   Úcs      r   Ú
make_pointrW   M   s   € Ý��A�q‰>Œ>Ðr   c                 ó&   — t          ||| ¬¦  «        S )NrQ   rT   rU   s      r   Úmake_point_kwsrY   P   s   € Ý�1˜˜QÐÑÔÐr   c                 óî   — t          t          t          | ¦  «        ¦  «        t          j        | dz   ¦  «        ¦  «        }t          |t          |j        ¦  «        t          |j        ¦  «        ¦  «        }|S ©Nr0   )	r   ÚlistÚrangeÚnpÚzerosr   r8   r   r   )ÚnÚrÚps      r   Úmake_point_nrtrc   S   sO   € Ý�T•%˜‘(”(‰^Œ^�RœX a¨!¡e™_œ_Ñ-Ô-€Aåˆa•�Q”W‘”�s 1¤8™}œ}Ñ-Ô-€AØ€Hr   c                 ó&   —  t          | ¦  «        |Ž S r   )Útype)r"   Úargss     r   Útype_usecaserg   Y   s   € Ø�4�‰9Œ9�dÐÐr   c                 ó   — | S r   r   r-   s    r   Úidentityri   \   s   € Ø€Jr   c                 ó,   — |                       |¦  «        S r   )Úindex)r"   Úvalues     r   Úindex_method_usecaserm   _   s   € Ø�9Š9�UÑÔÐr   c                  óp   — g g g df\  } }}}|                       d¦  «         |                      d¦  «         d S )Ng        r0   )Úappend)r   r   rV   Úds       r   Útuple_unpack_static_getitem_errrq   b   s:   € à�R˜˜S��J€A€qˆ!ˆQØ‡H‚HˆQ�K„K€KØ‡H‚HˆQ�K„K€KØ
€Fr   c                   ó   — e Zd Zd„ ZdS )ÚTestTupleLengthErrorc                 ó6  — t           d„ ¦   «         }|                      t          j        ¦  «        5 }t	          t          d¦  «        ¦  «        } ||¦  «         d d d ¦  «         n# 1 swxY w Y   d}|                      |t          |j        ¦  «        ¦  «         d S )Nc                 ó    — t          | ¦  «        S r   r7   r-   s    r   Úeattuplez>TestTupleLengthError.test_tuple_length_error.<locals>.eattupleo   s   € å�s‘8”8ˆOr   ié  z,Tuple 'tup' length must be smaller than 1000)	r   ÚassertRaisesr   ÚUnsupportedErrorÚtupler]   ÚassertInÚstrÚ	exception)Úselfrv   Úraisesr"   Úexpecteds        r   Útest_tuple_length_errorz,TestTupleLengthError.test_tuple_length_errorl   sÕ   € õ 
ð	ð 	ñ 
Œð	ð ×Ò�vÔ6Ñ7Ô7ð 	¸6Ý�˜d™œÑ$Ô$ˆCØˆH�S‰MŒMˆMð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð BˆØ�Š�h¥ FÔ$4Ñ 5Ô 5Ñ6Ô6Ð6Ð6Ð6s   °(A$Á$A(Á+A(N)Ú__name__Ú
__module__Ú__qualname__r€   r   r   r   rs   rs   j   s#   € € € € € ð7ð 7ð 7ð 7ð 7r   rs   c                   ó   — e Zd ZdZd„ Zd„ ZdS )ÚTestTupleTypeNotIterablezA
    issue 4369
    raise an error if 'type' is not iterable
    c                 ó  — |                       t          j        ¦  «        5 }t          j        t          j        d¦  «         d d d ¦  «         n# 1 swxY w Y   |                      dt          |j        ¦  «        ¦  «         d S )Nrb   ú Argument 'types' is not iterable)	rw   r   ÚTypingErrorr   Ú
NamedTupleÚuint32rz   r{   r|   ©r}   r~   s     r   Útest_namedtuple_types_exceptionz8TestTupleTypeNotIterable.test_namedtuple_types_exception   s±   € Ø×Ò�vÔ1Ñ2Ô2ð 	0°fÝÔ�Uœ\¨3Ñ/Ô/Ð/ð	0ð 	0ð 	0ñ 	0ô 	0ð 	0ð 	0ð 	0ð 	0ð 	0ð 	0øøøð 	0ð 	0ð 	0ð 	0à�ŠØ.Ý�Ô Ñ!Ô!ñ	
ô 	
ð 	
ð 	
ð 	
s     AÁAÁAc                 ó   — |                       t          j        ¦  «        5 }t          j        t          j        ¦  «         d d d ¦  «         n# 1 swxY w Y   |                      dt          |j        ¦  «        ¦  «         d S )Nr‡   )	rw   r   rˆ   r   ÚTuplerŠ   rz   r{   r|   r‹   s     r   Útest_tuple_types_exceptionz3TestTupleTypeNotIterable.test_tuple_types_exception‡   s®   € Ø×Ò�vÔ1Ñ2Ô2ð 	(°fÝŒK�œÑ'Ô'Ð'ð	(ð 	(ð 	(ñ 	(ô 	(ð 	(ð 	(ð 	(ð 	(ð 	(ð 	(øøøð 	(ð 	(ð 	(ð 	(à�ŠØ.Ý�Ô Ñ!Ô!ñ	
ô 	
ð 	
ð 	
ð 	
s    AÁAÁAN)r�   r‚   rƒ   Ú__doc__rŒ   r�   r   r   r   r…   r…   z   s<   € € € € € ðð ð
ð 
ð 
ð
ð 
ð 
ð 
ð 
r   r…   c                   ó    — e Zd Zd„ Zd„ Zd„ ZdS )ÚTestTupleReturnc                 óZ  — t          j        t           j        dd¦  «        } t          ||f¦  «        t          ¦  «        }t          j        dd¬¦  «        x}} |||¦  «        \  }}|                      ||¦  «         |                      ||¦  «         ~~|                      ||¦  «         d S )Nr0   ÚCé   Úfloat64)Údtype)r   ÚArrayr–   r   r   r^   ÚarangeÚassertPreciseEqual)r}   ÚarytyÚcfuncr   r   ÚraÚrbs          r   Útest_array_tuplez TestTupleReturn.test_array_tuple’   s¬   € Ý”�EœM¨1¨cÑ2Ô2ˆØ$•�e˜U�^Ñ$Ô$Õ%9Ñ:Ô:ˆÝ”	˜! 9Ð-Ñ-Ô-Ð-ˆˆAØ��q˜!‘”‰ˆˆBØ×Ò  AÑ&Ô&Ð&Ø×Ò  AÑ&Ô&Ð&ØˆqØ×Ò  BÑ'Ô'Ð'Ð'Ð'r   c                 óÚ   — t           j        } t          ||f¦  «        t          ¦  «        }dx}} |||¦  «        \  }}|                      ||¦  «         |                      ||¦  «         d S r[   )r   Úfloat32r   r   ÚassertEqual)r}   Úscalartyrœ   r   r   r�   rž   s          r   Útest_scalar_tuplez!TestTupleReturn.test_scalar_tupleœ   st   € Ý”=ˆØ*•�h Ð)Ñ*Ô*Õ+?Ñ@Ô@ˆØˆ	ˆˆAØ��q˜!‘”‰ˆˆBØ×Ò˜˜QÑÔÐØ×Ò˜˜QÑÔÐÐÐr   c                 óV  — g }g }|                      t          j        t          j        f¦  «         |                      d¦  «         |                      t          j        t          j        f¦  «         |                      d¦  «         |                      t          j        t          j        f¦  «         |                      d¦  «         t          ||¦  «        D ]S\  \  }}\  }} t          ||f¦  «        t          ¦  «        } |||¦  «        \  }}	|  	                    ||	f||f¦  «         ŒTd S )N©r0   r4   )g      ò?g      Ð?)iÏ  g      à?)
ro   r   Úint32Úint64r¡   r–   Úzipr   r   rš   )
r}   ÚalltypesÚ	allvaluesÚtaÚtbr   r   rœ   r�   rž   s
             r   Útest_hetero_tuplez!TestTupleReturn.test_hetero_tuple¤   s  € ØˆØˆ	à�Š�œ¥e¤kÐ2Ñ3Ô3Ð3Ø×Ò˜Ñ Ô Ð à�Š�œ­¬Ð6Ñ7Ô7Ð7Ø×Ò˜Ñ&Ô&Ð&à�Š�œ¥e¤mÐ4Ñ5Ô5Ð5Ø×Ò˜Ñ$Ô$Ð$å # H¨iÑ 8Ô 8ð 	6ð 	6Ñ‰HˆR�‘f�q˜!Ø"•D˜"˜b˜‘N”NÕ#7Ñ8Ô8ˆEØ�U˜1˜a‘[”[‰FˆB�Ø×#Ò# R¨ H¨q°!¨fÑ5Ô5Ð5Ð5ð	6ð 	6r   N)r�   r‚   rƒ   rŸ   r¤   r®   r   r   r   r’   r’   �   sA   € € € € € ð(ð (ð (ð ð  ð  ð6ð 6ð 6ð 6ð 6r   r’   c                   ó    — e Zd Zd„ Zd„ Zd„ ZdS )ÚTestTuplePassingc                 ó8  — t          j        t           j        d¦  «        } t          |f¦  «        t          ¦  «        } t          |f¦  «        t
          ¦  «        }|                       |d¦  «        d¦  «         |                       |d¦  «        d¦  «         d S )Nr4   ©é   r•   r³   r•   )r   ÚUniTupler§   r   r#   r&   rš   ©r}   Ú
tuple_typeÚcf_firstÚ	cf_seconds       r   Útest_unituplezTestTuplePassing.test_unituple¹   s�   € Ý”^¥E¤K°Ñ3Ô3ˆ
Ø&•4˜˜Ñ&Ô&¥{Ñ3Ô3ˆØ'•D˜*˜Ñ'Ô'­Ñ5Ô5ˆ	Ø×Ò  ¨Ñ 0Ô 0°!Ñ4Ô4Ð4Ø×Ò 	 	¨&Ñ 1Ô 1°1Ñ5Ô5Ð5Ð5Ð5r   c                 óN  — t          j        t           j        t           j        f¦  «        } t	          |f¦  «        t
          ¦  «        } t	          |f¦  «        t          ¦  «        }|                       |d¦  «        d¦  «         |                       |d¦  «        d¦  «         d S )N)ì            ç      ø?r»   r¼   )r   rŽ   r¨   r¡   r   r#   r&   rš   rµ   s       r   r®   z"TestTuplePassing.test_hetero_tupleÀ   s’   € Ý”[¥%¤+­u¬}Ð!=Ñ>Ô>ˆ
Ø&•4˜˜Ñ&Ô&¥{Ñ3Ô3ˆØ'•D˜*˜Ñ'Ô'­Ñ5Ô5ˆ	Ø×Ò  ¨Ñ 6Ô 6¸Ñ>Ô>Ð>Ø×Ò 	 	¨,Ñ 7Ô 7¸Ñ=Ô=Ð=Ð=Ð=r   c                 ó„  — t          j        t           j        d¦  «        } t          |f¦  «        t          ¦  «        }|j        |j        d                  j        }|                      t          ¦  «        5 } |d¦  «         d d d ¦  «         n# 1 swxY w Y   |  
                    t          |j        ¦  «        d¦  «         d S )Nr4   r   ©r³   r•   é   z8size mismatch for tuple, expected 2 element(s) but got 3)r   r´   r§   r   r#   Ú	overloadsÚ
signaturesÚentry_pointrw   Ú
ValueErrorr¢   r{   r|   )r}   r¶   rœ   rÂ   r~   s        r   Útest_size_mismatchz#TestTuplePassing.test_size_mismatchÇ   sï   € å”^¥E¤K°Ñ3Ô3ˆ
Ø#•�j�]Ñ#Ô#¥KÑ0Ô0ˆØ”o eÔ&6°qÔ&9Ô:ÔFˆØ×Ò�zÑ*Ô*ð 	#¨fØˆK˜	Ñ"Ô"Ð"ð	#ð 	#ð 	#ñ 	#ô 	#ð 	#ð 	#ð 	#ð 	#ð 	#ð 	#øøøð 	#ð 	#ð 	#ð 	#à×Ò�˜VÔ-Ñ.Ô.ð<ñ	>ô 	>ð 	>ð 	>ð 	>s   Á5BÂBÂBN)r�   r‚   rƒ   r¹   r®   rÄ   r   r   r   r°   r°   ·   sA   € € € € € ð6ð 6ð 6ð>ð >ð >ð	>ð 	>ð 	>ð 	>ð 	>r   r°   c                   ón   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ ZdS )ÚTestOperationsc                 ó~  — t           } t          t          j        t          j        t          j        f¦  «        f¦  «        |¦  «        }|                       |d¦  «        d¦  «          t          t          j        t          j        d¦  «        f¦  «        |¦  «        }|                       |d¦  «        d¦  «         d S )Nr²   r4   rM   r¾   )r9   r   r   rŽ   r¨   r¡   rš   r´   )r}   Úpyfuncrœ   s      r   Útest_lenzTestOperations.test_lenÕ   s    € ÝˆØB••e”k¥5¤;µ´Ð">Ñ?Ô?ÐAÑBÔBÀ6ÑJÔJˆØ×Ò   f¡¤¨qÑ1Ô1Ð1Ø7••e”n¥U¤[°!Ñ4Ô4Ð6Ñ7Ô7¸Ñ?Ô?ˆØ×Ò   iÑ 0Ô 0°!Ñ4Ô4Ð4Ð4Ð4r   c                 ó¸   — d„ }t          |¦  «        }d}t          t          |¦  «        ¦  «        D ](}|                       |||¦  «        ||         ¦  «         Œ)d S )Nc                 ó0   — t          |¦  «        }| |         S r   )r   r(   s     r   rÈ   z1TestOperations.test_index_literal.<locals>.pyfuncÞ   s   € Ý˜C‘.”.ˆCØ�s”8ˆOr   )r³   gÍÌÌÌÌÌ@Ússs)r   r]   r8   rš   ©r}   rÈ   rœ   r"   Úis        r   Útest_index_literalz!TestOperations.test_index_literalÜ   so   € ð	ð 	ð 	õ �V‘”ˆàˆÝ•s˜3‘x”x‘”ð 	;ð 	;ˆAØ×#Ò# E E¨#¨q¡M¤M°3°q´6Ñ:Ô:Ð:Ð:ð	;ð 	;r   c           	      óB	  — t           } t          t          j        t          j        d¦  «        t          j        f¦  «        |¦  «        }d}t          t          |¦  «        ¦  «        D ](}|                       |||¦  «        ||         ¦  «         Œ)t          t          |¦  «        dz   ¦  «        D ]*}|                       ||| ¦  «        ||          ¦  «         Œ+|                      t          ¦  «        5 } ||t          |¦  «        ¦  «         d d d ¦  «         n# 1 swxY w Y   |  
                    dt          |j        ¦  «        ¦  «         |                      t          ¦  «        5 } ||t          |¦  «        dz    ¦  «         d d d ¦  «         n# 1 swxY w Y   |  
                    dt          |j        ¦  «        ¦  «         t          j        t          j        d¦  «        t          j        f} t          |¦  «        |¦  «        j        |         }|                      t          ¦  «        5 }|                     dd¦  «         d d d ¦  «         n# 1 swxY w Y   |  
                    dt          |j        ¦  «        ¦  «          t          t          j        t          j        d¦  «        t          j        f¦  «        |¦  «        }t          t          |¦  «        ¦  «        D ]:}|                       ||t          j        |¦  «        ¦  «        ||         ¦  «         Œ;t           }t          j        t          j        d¦  «        t          j        t          j        t          j        t          j        t          j        f¦  «        fD ]E} t          |f¦  «        |¦  «        }d}|                       ||¦  «         ||¦  «        ¦  «         ŒFt          j        t          j        d¦  «        }|                      ¦   «         5   t          |f¦  «        |¦  «         d d d ¦  «         n# 1 swxY w Y   t(          }|                      ¦   «         5 } t          d¦  «        |¦  «         d d d ¦  «         n# 1 swxY w Y   d	}	|                      |	t          |j        ¦  «        ¦  «         d S )
NrM   )r³   rM   r¿   r0   ztuple index out of ranger   r   r³   )r³   rM   é*   r¿   zUCannot infer the type of variable 'c', have imprecise type: list(undefined)<iv=None>.)r*   r   r   r´   r¨   r]   r8   rš   rw   Ú
IndexErrorr¢   r{   r|   rÀ   rÂ   Úuintpr.   rŽ   r§   ÚassertTypingErrorrq   rz   )
r}   rÈ   rœ   r"   rÎ   r~   rf   ÚcrÚtypÚmsgs
             r   Ú
test_indexzTestOperations.test_indexç   s.  € ÝˆØD••e”n¥U¤[°!Ñ4Ô4µe´kÐBÑDÔDÀVÑLÔLˆØˆÝ•s˜3‘x”x‘”ð 	;ð 	;ˆAØ×#Ò# E E¨#¨q¡M¤M°3°q´6Ñ:Ô:Ð:Ð:õ •s˜3‘x”x !‘|Ñ$Ô$ð 	=ð 	=ˆAØ×#Ò# E E¨#°¨r¡N¤N°C¸¸´GÑ<Ô<Ð<Ð<ð ×Ò�zÑ*Ô*ð 	!¨fØˆE�#•s˜3‘x”xÑ Ô Ð ð	!ð 	!ð 	!ñ 	!ô 	!ð 	!ð 	!ð 	!ð 	!ð 	!ð 	!øøøð 	!ð 	!ð 	!ð 	!à×ÒÐ3µS¸Ô9IÑ5JÔ5JÑKÔKÐKØ×Ò�zÑ*Ô*ð 	(¨fØˆE�#�˜S™œ A™�Ñ'Ô'Ð'ð	(ð 	(ð 	(ñ 	(ô 	(ð 	(ð 	(ð 	(ð 	(ð 	(ð 	(øøøð 	(ð 	(ð 	(ð 	(à×ÒÐ3µS¸Ô9IÑ5JÔ5JÑKÔKÐKõ ”�uœ{¨AÑ.Ô.µ´Ð=ˆØ�T�$‰ZŒZ˜ÑÔÔ)¨$Ô/ˆØ×Ò�zÑ*Ô*ð 	"¨fØ�NŠN˜2˜qÑ!Ô!Ð!ð	"ð 	"ð 	"ñ 	"ô 	"ð 	"ð 	"ð 	"ð 	"ð 	"ð 	"øøøð 	"ð 	"ð 	"ð 	"à×ÒÐ3µS¸Ô9IÑ5JÔ5JÑKÔKÐKð F••e”n¥U¤[°!Ñ4Ô4µe´kÐCÑEÔEÀfÑMÔMˆÝ•s˜3‘x”x‘”ð 	Hð 	HˆAØ×#Ò# E E¨#­u¬{¸1©~¬~Ñ$>Ô$>ÀÀAÄÑGÔGÐGÐGõ $ˆÝ”N¥5¤;°Ñ2Ô2Ý”K¥¤­e¬k½5¼;ÍÌÐ TÑUÔUðWð 	=ð 	=ˆCà •D˜#˜‘L”L Ñ(Ô(ˆEØˆCØ×#Ò# E E¨#¡J¤J°°°s±´Ñ<Ô<Ð<Ð<åŒn�Uœ[¨!Ñ,Ô,ˆØ×#Ò#Ñ%Ô%ð 	!ð 	!Ø�D�#�‰LŒL˜Ñ Ô Ð ð	!ð 	!ð 	!ñ 	!ô 	!ð 	!ð 	!ð 	!ð 	!ð 	!ð 	!øøøð 	!ð 	!ð 	!ð 	!õ 1ˆØ×#Ò#Ñ%Ô%ð 	¨Ø�D�‰IŒI�fÑÔÐð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð+ˆà�Š�c�3˜vÔ/Ñ0Ô0Ñ1Ô1Ð1Ð1Ð1sZ   Ã4DÄDÄ!DÅ'FÆFÆFÈ,IÉIÉIÏ9PÐP#Ð&P#ÑQ*Ñ*Q.Ñ1Q.c                 óÒ  — t           } t          t          j        t          j        t          j        d¦  «        f¦  «        |¦  «        }d}t          d¦  «        D ],}|                       |||¦  «         |||¦  «        ¦  «         Œ- t          t          j        t          j        g ¦  «        f¦  «        |¦  «        }|                       |dd¦  «         |dd¦  «        ¦  «         d S )NrM   )r³   r0   r•   r•   r0   r   )rK   r   r   r¨   r´   r]   rš   rŽ   rÍ   s        r   Útest_inzTestOperations.test_in  sÔ   € ÝˆØE••e”k¥5¤>µ%´+¸qÑ#AÔ#AÐCÑEÔEÀfÑMÔMˆØˆÝ�q‘”ð 	Cð 	CˆAØ×#Ò# E E¨!¨S¡M¤M°6°6¸!¸S±>´>ÑBÔBÐBÐBð 7••e”k¥5¤;¨r¡?¤?Ð4Ñ6Ô6°vÑ>Ô>ˆØ×Ò   a¨¡¤¨f¨f°Q¸©m¬mÑ<Ô<Ð<Ð<Ð<r   c                 óÈ  — d} t          t          j        t          j        d¦  «        f¦  «        |¦  «        }|                       ||¦  «         ||¦  «        ¦  «         t          j        t          j        t          j        t          j        t          j        f¦  «        } t          |f¦  «        |¦  «        }|                       ||¦  «         ||¦  «        ¦  «         d S )N)r³   r•   r¿   é   r³   )r   r   r´   r¨   rš   rŽ   r§   )r}   rÈ   r"   rœ   rf   s        r   Úcheck_slicezTestOperations.check_slice)  s¸   € ØˆØ8••e”n¥U¤[°!Ñ4Ô4Ð6Ñ8Ô8¸Ñ@Ô@ˆØ×Ò   c¡
¤
¨F¨F°3©K¬KÑ8Ô8Ð8ÝŒ{�EœK­¬µe´kÅ5Ä;ÐOÑPÔPˆØ•�d�W‘”˜fÑ%Ô%ˆØ×Ò   c¡
¤
¨F¨F°3©K¬KÑ8Ô8Ð8Ð8Ð8r   c                 ó:   — |                       t          ¦  «         d S r   )rÝ   r2   ©r}   s    r   Útest_slice2zTestOperations.test_slice21  ó   € Ø×Ò�Ñ&Ô&Ð&Ð&Ð&r   c                 ó:   — |                       t          ¦  «         d S r   )rÝ   r5   rß   s    r   Útest_slice3zTestOperations.test_slice34  rá   r   c                 ó   — t           } t          t          j        t          j        t          j        f¦  «        f¦  «        |¦  «        }d}|                       ||Ž  ||Ž ¦  «          t          t          j        t          j        d¦  «        f¦  «        |¦  «        }d}|                       ||Ž  ||Ž ¦  «          t          t          j        d¦  «        f¦  «        |¦  «        }|                       |d¦  «         |d¦  «        ¦  «         d S )N)r²   rM   )r¾   r   )rO   r   r   rŽ   r¨   r§   rš   r´   )r}   rÈ   rœ   rf   s       r   Ú	test_boolzTestOperations.test_bool7  sø   € ÝˆØA••e”k¥5¤;µ´Ð"<Ñ=Ô=Ð?ÑAÔAÀ&ÑIÔIˆØˆØ×Ò   t ¨f¨f°d¨mÑ<Ô<Ð<Ø8••e”n¥U¤[°!Ñ4Ô4Ð6Ñ8Ô8¸Ñ@Ô@ˆØˆØ×Ò   t ¨f¨f°d¨mÑ<Ô<Ð<Ø)••e”k "‘o”oÐ'Ñ)Ô)¨&Ñ1Ô1ˆØ×Ò   b¡	¤	¨6¨6°"©:¬:Ñ6Ô6Ð6Ð6Ð6r   c                 óò  — t           }t          j        d¦  «        dft          j        t          j        d¦  «        dft          j        t          j        d¦  «        dft          j        t          j        t          j        f¦  «        dfg}t          j        ||¦  «        D ]W\  \  }}\  }} t          ||f¦  «        |¦  «        } |||¦  «        } |||¦  «        }	|  
                    |	|||f¬¦  «         ŒXd S )Nr   r   r0   )rÑ   )rM   g      @)r×   )r;   r   rŽ   r´   r§   r¨   r¡   Ú	itertoolsÚproductr   rš   )
r}   rÈ   Úsamplesr¬   r   r­   r   rœ   r   Úgots
             r   Útest_addzTestOperations.test_addB  s÷   € ÝˆÝ”K ‘O”O RÐ(Ý”N¥5¤;°Ñ2Ô2°BÐ7Ý”N¥5¤;°Ñ2Ô2°EÐ:Ý”K¥¤­e¬mÐ <Ñ=Ô=¸xÐHðˆõ
 !*Ô 1°'¸7Ñ CÔ Cð 	Að 	AÑ‰GˆR�‘W�b˜!Ø#•D˜"˜b˜‘O”O FÑ+Ô+ˆEØ�v˜a ‘|”|ˆHØ�%˜˜1‘+”+ˆCØ×#Ò# C¨¸¸B°xÐ#Ñ@Ô@Ð@Ð@ð		Að 	Ar   c                 ó2  ‡ — ˆ fd„}t          j        t           j        t           j        f¦  «        t          j        t           j        d¦  «        g}t          j        ||¦  «        D ]1\  }} t          ||f¦  «        |¦  «        }dD ]} ||||¦  «         ŒŒ2t          j        t           j        t           j        f¦  «        t          j        t           j        d¦  «        g} t          t          |¦  «        ¦  «        |¦  «        }dD ]} ||||¦  «         Œd S )Nc                 óH   •— ‰                       ||Ž  | |Ž d|›�¦  «         d S ©Nzmismatch for arguments ©ÚassertIs©rÈ   rœ   rf   r}   s      €r   Úeqz(TestOperations._test_compare.<locals>.eqP  óB   ø€ Ø�MŠM˜%˜% ˜,¨¨°¨¨Ø9=¸Ð?ñAô Að Að Að Ar   r4   ©)r²   r²   )r²   ©r³   r¿   )rõ   r²   )r²   )r•   r³   rM   ©)r²   r¾   )r²   )r³   r³   r¿   )r²   )r³   r¿   rÜ   )
r   rŽ   r¨   r¡   r´   r§   rç   rè   r   ry   )r}   rÈ   rò   Úargtypesr¬   r­   rœ   rf   s   `       r   Ú_test_comparezTestOperations._test_compareO  s:  ø€ ð	Að 	Að 	Að 	Að 	Aõ
 ”K¥¤­e¬mÐ <Ñ=Ô=Ý”N¥5¤;°Ñ2Ô2ð4ˆåÔ'¨°(Ñ;Ô;ð 	(ð 	(‰FˆB�Ø#•D˜"˜b˜‘O”O FÑ+Ô+ˆEð+ð (ð (�ð ��6˜5 $Ñ'Ô'Ð'Ð'ð	(õ ”K¥¤­e¬mÐ <Ñ=Ô=Ý”N¥5¤;°Ñ2Ô2ð4ˆà&••U˜8‘_”_Ñ&Ô& vÑ.Ô.ˆð*ð 	$ð 	$ˆDð ˆBˆv�u˜dÑ#Ô#Ð#Ð#ð	$ð 	$r   c                 ó:   — |                       t          ¦  «         d S r   ©rø   r=   rß   s    r   Útest_eqzTestOperations.test_eqg  ó   € Ø×Ò�:Ñ&Ô&Ð&Ð&Ð&r   c                 ó:   — |                       t          ¦  «         d S r   ©rø   r@   rß   s    r   Útest_nezTestOperations.test_nej  rü   r   c                 ó:   — |                       t          ¦  «         d S r   ©rø   rB   rß   s    r   Útest_gtzTestOperations.test_gtm  rü   r   c                 ó:   — |                       t          ¦  «         d S r   ©rø   rE   rß   s    r   Útest_gezTestOperations.test_gep  rü   r   c                 ó:   — |                       t          ¦  «         d S r   ©rø   rG   rß   s    r   Útest_ltzTestOperations.test_lts  rü   r   c                 ó:   — |                       t          ¦  «         d S r   ©rø   rI   rß   s    r   Útest_lezTestOperations.test_lev  rü   r   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Æ   Ó   s  € € € € € ð5ð 5ð 5ð	;ð 	;ð 	;ð52ð 52ð 52ðn	=ð 	=ð 	=ð9ð 9ð 9ð'ð 'ð 'ð'ð 'ð 'ð	7ð 	7ð 	7ðAð Að Að$ð $ð $ð0'ð 'ð 'ð'ð 'ð 'ð'ð 'ð 'ð'ð 'ð 'ð'ð 'ð 'ð'ð 'ð 'ð 'ð 'r   rÆ   c                   ót   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ ZdS )ÚTestNamedTuplec                 óv   ‡ — ˆ fd„} |t          dd¦  «        ¦  «          |t          dd¦  «        ¦  «         d S )Nc                 ó¬   •— t           t          fD ]C} t          d¬¦  «        |¦  «        }‰                      || ¦  «         || ¦  «        ¦  «         ŒDd S ©NT©Únopython)r#   r&   r   rš   ©rb   rÈ   rœ   r}   s      €r   Úcheckz)TestNamedTuple.test_unpack.<locals>.check}  sd   ø€ Ý%¥|Ð3ð =ð =�Ø*� TÐ*Ñ*Ô*¨6Ñ2Ô2�Ø×'Ò'¨¨¨a©¬°&°&¸±)´)Ñ<Ô<Ð<Ð<ð=ð =r   r³   r•   ç      @©r   ©r}   r  s   ` r   Útest_unpackzTestNamedTuple.test_unpack|  sT   ø€ ð	=ð 	=ð 	=ð 	=ð 	=ð 	ˆ�d�1�a‰jŒjÑÔÐàˆ�d�1�c‰lŒlÑÔÐÐÐr   c                 óÞ   ‡ — ˆ fd„} |t          dd¦  «        ¦  «          |t          ddd¦  «        ¦  «          |t          dd¦  «        ¦  «          |t          ddd¦  «        ¦  «         d S )Nc                 ó˜   •— t           } t          d¬¦  «        |¦  «        }‰                      || ¦  «         || ¦  «        ¦  «         d S r  )r9   r   rš   r  s      €r   r  z&TestNamedTuple.test_len.<locals>.checkˆ  sN   ø€ Ý ˆFØ&•C Ð&Ñ&Ô& vÑ.Ô.ˆEØ×#Ò# E E¨!¡H¤H¨f¨f°Q©i¬iÑ8Ô8Ð8Ð8Ð8r   r³   r•   r¿   r  ù              @)r   r   r  s   ` r   rÉ   zTestNamedTuple.test_len‡  sŠ   ø€ ð	9ð 	9ð 	9ð 	9ð 	9ð 	ˆ�d�1�a‰jŒjÑÔÐØˆ�e�A�q˜!‰nŒnÑÔÐàˆ�d�1�c‰lŒlÑÔÐØˆ�e�A�s˜BÑÔÑ Ô Ð Ð Ð r   c           	      ó°  — t           } t          d¬¦  «        |¦  «        }t          ddd¦  «        }t          t	          |¦  «        ¦  «        D ],}|                       |||¦  «         |||¦  «        ¦  «         Œ-t          t	          |¦  «        ¦  «        D ]>}|                       ||t          j        |¦  «        ¦  «         |||¦  «        ¦  «         Œ?d S )NTr  r³   r•   r¿   )r*   r   r   r]   r8   rš   r   rÓ   )r}   rÈ   rœ   rb   rÎ   s        r   rØ   zTestNamedTuple.test_index”  sÚ   € ÝˆØ"•˜TÐ"Ñ"Ô" 6Ñ*Ô*ˆå�!�Q˜‰NŒNˆÝ•s˜1‘v”v‘”ð 	?ð 	?ˆAØ×#Ò# E E¨!¨Q¡K¤K°°¸¸1±´Ñ>Ô>Ð>Ð>õ •s˜1‘v”v‘”ð 	Lð 	LˆAØ×#Ò# E E¨!­U¬[¸©^¬^Ñ$<Ô$<¸f¸fÀQÈ¹l¼lÑKÔKÐKÐKð	Lð 	Lr   c                 ó¤   ‡ — ˆ fd„} |t          dd¦  «        ¦  «          |t          dd¦  «        ¦  «          |t          ¦   «         ¦  «         d S )Nc                 ó˜   •— t           } t          d¬¦  «        |¦  «        }‰                      || ¦  «         || ¦  «        ¦  «         d S r  )rO   r   rš   r  s      €r   r  z'TestNamedTuple.test_bool.<locals>.check¡  sN   ø€ Ý!ˆFØ&•C Ð&Ñ&Ô& vÑ.Ô.ˆEØ×#Ò# E E¨!¡H¤H¨f¨f°Q©i¬iÑ8Ô8Ð8Ð8Ð8r   r³   r•   r  )r   r   r  s   ` r   rå   zTestNamedTuple.test_bool   sc   ø€ ð	9ð 	9ð 	9ð 	9ð 	9ð 	ˆ�d�1�a‰jŒjÑÔÐàˆ�d�1�c‰lŒlÑÔÐØˆ�e‰gŒg‰Œˆˆˆr   c           	      óØ   ‡ — ˆ fd„} t          d¬¦  «        |¦  «        }dD ]"\  }} |||t          |Ž t          |Ž f¦  «         Œ#dD ]"\  }} |||t          |Ž t          |Ž f¦  «         Œ#d S )Nc                 óH   •— ‰                       ||Ž  | |Ž d|›�¦  «         d S rî   rï   rñ   s      €r   rò   z(TestNamedTuple._test_compare.<locals>.eq­  ró   r   Tr  rô   rö   )r   r   r   )r}   rÈ   rò   rœ   r   r   s   `     r   rø   zTestNamedTuple._test_compare¬  s½   ø€ ð	Að 	Að 	Að 	Að 	Að #•˜TÐ"Ñ"Ô" 6Ñ*Ô*ˆð'ð 	4ð 	4‰DˆAˆqð ˆBˆv�u�t Q˜x­¨q¨Ð2Ñ3Ô3Ð3Ð3ð*ð 	5ð 	5‰DˆAˆqð ˆBˆv�u�t Q˜x­°¨Ð3Ñ4Ô4Ð4Ð4ð	5ð 	5r   c                 ó:   — |                       t          ¦  «         d S r   rú   rß   s    r   rû   zTestNamedTuple.test_eqÀ  rü   r   c                 ó:   — |                       t          ¦  «         d S r   rþ   rß   s    r   rÿ   zTestNamedTuple.test_neÃ  rü   r   c                 ó:   — |                       t          ¦  «         d S r   r  rß   s    r   r  zTestNamedTuple.test_gtÆ  rü   r   c                 ó:   — |                       t          ¦  «         d S r   r  rß   s    r   r  zTestNamedTuple.test_geÉ  rü   r   c                 ó:   — |                       t          ¦  «         d S r   r  rß   s    r   r  zTestNamedTuple.test_ltÌ  rü   r   c                 ó:   — |                       t          ¦  «         d S r   r
  rß   s    r   r  zTestNamedTuple.test_leÏ  rü   r   c                 ó²   — t           } t          d¬¦  «        |¦  «        }dD ]3}t          |Ž }|                       ||¦  «         ||¦  «        ¦  «         Œ4d S ©NTr  )r¾   ©r³   r  r  )rR   r   r   rš   )r}   rÈ   rœ   rf   rb   s        r   Útest_getattrzTestNamedTuple.test_getattrÒ  sl   € Ý ˆØ"•˜TÐ"Ñ"Ô" 6Ñ*Ô*ˆà+ð 	9ð 	9ˆDÝ�t�ˆAØ×#Ò# E E¨!¡H¤H¨f¨f°Q©i¬iÑ8Ô8Ð8Ð8ð	9ð 	9r   c                 óR   ‡ — ˆ fd„} |t           ¦  «          |t          ¦  «         d S )Nc                 óä   •—  t          d¬¦  «        | ¦  «        }dD ]R} | |Ž } ||Ž }‰                     t          |¦  «        t          |¦  «        ¦  «         ‰                     ||¦  «         ŒSd S r(  )r   rð   re   rš   )rÈ   rœ   rf   r   rê   r}   s        €r   r  z,TestNamedTuple.test_construct.<locals>.checkÛ  s…   ø€ Ø&•C Ð&Ñ&Ô& vÑ.Ô.ˆEØ/ð 7ð 7�Ø!˜6 4˜=�Ø�e˜T�l�Ø—’�d 3™iœi­¨h©¬Ñ8Ô8Ð8Ø×'Ò'¨¨XÑ6Ô6Ð6Ð6ð	7ð 7r   )rW   rY   r  s   ` r   Útest_constructzTestNamedTuple.test_constructÚ  sD   ø€ ð	7ð 	7ð 	7ð 	7ð 	7ð 	ˆ�jÑÔÐØˆ�nÑÔÐÐÐr   c                 óF  — t           } t          d¬¦  «        |¦  «        }ddg}t          j        ||¦  «        D ]f\  }}t	          |Ž } ||g|¢R Ž } ||g|¢R Ž }|                      t          |¦  «        t          |¦  «        ¦  «         |                      ||¦  «         Œgd S )NTr  r¾   r)  )rg   r   rç   rè   r   rð   re   rš   )	r}   rÈ   rœ   Ú
arg_tuplesÚtup_argsrf   r"   r   rê   s	            r   Ú	test_typezTestNamedTuple.test_typeæ  sÆ   € åˆØ"•˜TÐ"Ñ"Ô" 6Ñ*Ô*ˆà Ð.ˆ
Ý'Ô/°
¸JÑGÔGð 	3ð 	3‰NˆH�dÝ˜Ð"ˆCØ�v˜cÐ) DÐ)Ð)Ð)ˆHØ�%˜Ð#˜dÐ#Ð#Ð#ˆCØ�MŠM�$˜s™)œ)¥T¨(¡^¤^Ñ4Ô4Ð4Ø×#Ò# C¨Ñ2Ô2Ð2Ð2ð	3ð 	3r   c                 ó4  ‡— t          d¬¦  «        d„ ¦   «         Št          d¬¦  «        ˆfd„¦   «         } |dd¦  «        }|                      |t          dd¬¦  «        ¦  «          |dd¦  «        }|                      |t          dd	¬¦  «        ¦  «         d S )
NTr  c                 ó"   — t          | d¦  «        S )Né¿þÿÿr  )rl   s    r   ÚData1z6TestNamedTuple.test_literal_unification.<locals>.Data1õ  s   € å˜˜tÑ$Ô$Ð$r   c                 óL   •— |dk    r ‰| ¦  «        }nt          | |¦  «        }|S )Nr   r  )rÎ   ÚjÚresultr5  s      €r   Úcallz5TestNamedTuple.test_literal_unification.<locals>.callù  s1   ø€ à�AŠvˆvð ˜˜q™œ��õ ˜a ™œ�ØˆMr   é{   i)  r   r   r4  ©r   r¢   r   )r}   r9  ra   r5  s      @r   Útest_literal_unificationz'TestNamedTuple.test_literal_unificationó  sÅ   ø€ å	�dÐ	Ñ	Ô	ð	%ð 	%ñ 
Ô	ð	%õ 
�dÐ	Ñ	Ô	ð		ð 		ð 		ð 		ñ 
Ô	ð		ð ˆD��d‰OŒOˆØ×Ò˜�D s°4Ð8Ñ8Ô8Ñ9Ô9Ð9ØˆD��a‰LŒLˆØ×Ò˜�D s°4Ð8Ñ8Ô8Ñ9Ô9Ð9Ð9Ð9r   c                 ó–   — t          d¬¦  «        d„ ¦   «         } |¦   «         }|                      |t          dd¬¦  «        ¦  «         d S )NTr  c                  ó"   — t          dd¦  «        S )Né
   Ú
somestringr  r   r   r   Úfooz7TestNamedTuple.test_string_literal_in_ctor.<locals>.foo  s   € å˜˜LÑ)Ô)Ð)r   r?  r@  r   r;  )r}   rA  ra   s      r   Útest_string_literal_in_ctorz*TestNamedTuple.test_string_literal_in_ctor
  s_   € õ 
�dÐ	Ñ	Ô	ð	*ð 	*ñ 
Ô	ð	*ð ˆC‰EŒEˆØ×Ò˜�D r°,Ð?Ñ?Ô?Ñ@Ô@Ð@Ð@Ð@r   c                 ó<  — t          d¬¦  «        d„ ¦   «         }d} ||¦  «        }|                      ||¦  «         t          ddd¦  «        } ||¦  «        }|                      ||¦  «         |                      t          |j        ¦  «        d¦  «         |                      |j        d         j        d         t          |¦  «        ¦  «         |                      |j        d         j        d         t          |¦  «        ¦  «         t          ddd¦  «        } ||¦  «        }|                      ||¦  «         |                      t          |j        ¦  «        d¦  «         |                      |j        d         j        d         t          |¦  «        ¦  «         d S )	NTr  c                 ó   — | S r   r   )r   s    r   rA  z4TestNamedTuple.test_dispatcher_mistreat.<locals>.foo  s   € àˆHr   ©r0   r4   rM   r0   r4   rM   r   )r   r¢   r   r8   Únopython_signaturesrf   r   r   )r}   rA  Úin1Úout1Úin2Úout2Úin3Úout3s           r   Útest_dispatcher_mistreatz'TestNamedTuple.test_dispatcher_mistreat  s…  € å	�dÐ	Ñ	Ô	ð	ð 	ñ 
Ô	ð	ð ˆØˆs�3‰xŒxˆØ×Ò˜˜dÑ#Ô#Ð#å�A�q˜!‰nŒnˆØˆs�3‰xŒxˆØ×Ò˜˜dÑ#Ô#Ð#ð 	×Ò�˜SÔ4Ñ5Ô5°qÑ9Ô9Ð9Ø×Ò˜Ô0°Ô3Ô8¸Ô;½VÀC¹[¼[ÑIÔIÐIØ×Ò˜Ô0°Ô3Ô8¸Ô;½VÀC¹[¼[ÑIÔIÐIõ �Q˜˜1‰oŒoˆØˆs�3‰xŒxˆØ×Ò˜˜dÑ#Ô#Ð#Ø×Ò�˜SÔ4Ñ5Ô5°qÑ9Ô9Ð9Ø×Ò˜Ô0°Ô3Ô8¸Ô;½VÀC¹[¼[ÑIÔIÐIÐIÐIr   N)r�   r‚   rƒ   r  rÉ   rØ   rå   rø   rû   rÿ   r  r  r  r  r*  r-  r1  r<  rB  rM  r   r   r   r  r  z  s  € € € € € ð	ð 	ð 	ð!ð !ð !ð
Lð 
Lð 
Lð
ð 
ð 
ð5ð 5ð 5ð('ð 'ð 'ð'ð 'ð 'ð'ð 'ð 'ð'ð 'ð 'ð'ð 'ð 'ð'ð 'ð 'ð9ð 9ð 9ð
ð 
ð 
ð3ð 3ð 3ð:ð :ð :ð.Að Að AðJð Jð Jð Jð Jr   r  c                   ó   — e Zd Zd„ ZdS )ÚTestTupleNRTc                 óæ   — d„ } t          d¬¦  «        |¦  «        }d} ||¦  «        \  }} ||¦  «        \  }}t          j                             ||¦  «         |                      ||¦  «         d S )Nc                 ó8   — t          j        d¦  «        }|f| fz   S )NrM   )r^   r™   )r   r   s     r   rÈ   z+TestTupleNRT.test_tuple_add.<locals>.pyfunc1  s   € Ý”	˜!‘”ˆAØ�4˜1˜$‘;Ðr   Tr  r:  )r   r^   ÚtestingÚassert_equalr¢   )r}   rÈ   rœ   r   Úexpect_aÚexpect_xÚgot_aÚgot_xs           r   Útest_tuple_addzTestTupleNRT.test_tuple_add0  s‰   € ð	ð 	ð 	ð #•˜TÐ"Ñ"Ô" 6Ñ*Ô*ˆØˆØ#˜V A™YœYÑˆ�(Ø�u˜Q‘x”x‰ˆˆuÝ
Œ
×Ò  xÑ0Ô0Ð0Ø×Ò˜ Ñ)Ô)Ð)Ð)Ð)r   N)r�   r‚   rƒ   rX  r   r   r   rO  rO  /  s#   € € € € € ð
*ð 
*ð 
*ð 
*ð 
*r   rO  c                   ó   — e Zd Zd„ ZdS )ÚTestNamedTupleNRTc                 ó  — t           } t          d¬¦  «        |¦  «        }dD ]^} ||¦  «        } ||¦  «        }|                      t          |¦  «        t          |¦  «        ¦  «         |                      ||¦  «         Œ_d S )NTr  )rM   r   )rc   r   rð   re   rš   )r}   rÈ   rœ   Úargr   rê   s         r   Útest_returnzTestNamedTupleNRT.test_return?  s�   € åˆØ"•˜TÐ"Ñ"Ô" 6Ñ*Ô*ˆàð 	3ð 	3ˆCØ�v˜c‘{”{ˆHØ�%˜‘*”*ˆCØ�MŠM�$˜s™)œ)¥T¨(¡^¤^Ñ4Ô4Ð4Ø×#Ò# C¨Ñ2Ô2Ð2Ð2ð		3ð 	3r   N)r�   r‚   rƒ   r]  r   r   r   rZ  rZ  =  s#   € € € € € ð	3ð 	3ð 	3ð 	3ð 	3r   rZ  c                   ó   — e Zd ZdZd„ Zd„ ZdS )ÚTestConversionsz8
    Test implicit conversions between tuple types.
    c                 ó˜   — t           } t           ||¦  «        ¦  «        |¦  «        } ||¦  «        }|                      ||¦  «         d S r   )ri   r   r¢   )r}   ÚfromtyÚtotyÚvalrÈ   rœ   Úress          r   Úcheck_conversionz TestConversions.check_conversionP  sO   € ÝˆØ"•�T�T˜&‘\”\Ñ"Ô" 6Ñ*Ô*ˆØˆe�C‰jŒjˆØ×Ò˜˜cÑ"Ô"Ð"Ð"Ð"r   c                 óÀ  — | j         }t          j        t          j        d¦  «        } ||t          j        t          j        d¦  «        d¦  «          ||t          j        t          j        t          j        f¦  «        d¦  «         t          j        t          j        d¦  «        }t          j        d¦  «        } |||d¦  «          |||d¦  «         |                      t          j	        ¦  «        5 } ||t          j        t          j        f¦  «        d¦  «         d d d ¦  «         n# 1 swxY w Y   d}|  
                    |t          |j        ¦  «        ¦  «         d S )Nr4   r²   r   r   z?No conversion from UniTuple(int32 x 2) to UniTuple(float32 x 1))re  r   r´   r§   r¡   rŽ   Úint16rw   r   rˆ   rz   r{   r|   )r}   r  ra  ÚatyÚbtyr~   r×   s          r   Útest_conversionsz TestConversions.test_conversionsV  st  € ØÔ%ˆÝ”¥¤¨QÑ/Ô/ˆØˆˆf•e”n¥U¤]°AÑ6Ô6¸Ñ?Ô?Ð?Øˆˆf•e”k¥5¤=µ%´+Ð">Ñ?Ô?ÀÑHÔHÐHÝŒn�Uœ[¨!Ñ,Ô,ˆÝŒk˜"‰oŒoˆØˆˆc�3˜ÑÔÐØˆˆc�3˜ÑÔÐà×Ò�vÔ1Ñ2Ô2ð 	A°fØˆE�&�%œ+¥u¤}Ð&6Ñ7Ô7¸Ñ@Ô@Ð@ð	Að 	Að 	Añ 	Aô 	Að 	Að 	Að 	Að 	Að 	Að 	Aøøøð 	Að 	Að 	Að 	AàOˆØ�Š�c�3˜vÔ/Ñ0Ô0Ñ1Ô1Ð1Ð1Ð1s   Ã2+D)Ä)D-Ä0D-N)r�   r‚   rƒ   r�   re  rj  r   r   r   r_  r_  K  s<   € € € € € ðð ð#ð #ð #ð2ð 2ð 2ð 2ð 2r   r_  c                   ó   — e Zd Zd„ ZdS )ÚTestMethodsc                 óV  — t           } t          d¬¦  «        |¦  «        }|                       |dd¦  «        d¦  «         |                      t          ¦  «        5 } |dd¦  «         d d d ¦  «         n# 1 swxY w Y   d}|                      |t          |j        ¦  «        ¦  «         d S )NTr  rE  r4   r0   r³   ztuple.index(x): x not in tuple)rm   r   r¢   rw   rÃ   r{   r|   )r}   rÈ   rœ   r~   r×   s        r   rØ   zTestMethods.test_indexh  sç   € Ý%ˆØ"•˜TÐ"Ñ"Ô" 6Ñ*Ô*ˆØ×Ò˜˜˜y¨!Ñ,Ô,¨aÑ0Ô0Ð0à×Ò�zÑ*Ô*ð 	 ¨fØˆE�)˜QÑÔÐð	 ð 	 ð 	 ñ 	 ô 	 ð 	 ð 	 ð 	 ð 	 ð 	 ð 	 øøøð 	 ð 	 ð 	 ð 	 à.ˆØ×Ò˜�c &Ô"2Ñ3Ô3Ñ4Ô4Ð4Ð4Ð4s   ÁA4Á4A8Á;A8N)r�   r‚   rƒ   rØ   r   r   r   rl  rl  f  s#   € € € € € ð5ð 5ð 5ð 5ð 5r   rl  c                   óV   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
„ Zd„ Zd„ ZdS )ÚTestTupleBuildc                 ó>   ‡ — ˆ fd„} |d¦  «          |d¦  «         d S )Nc                 ó�   •— d„ } t          d¬¦  «        |¦  «        }‰                      || ¦  «         || ¦  «        ¦  «         d S )Nc                 ó   — dg| ¢R S r[   r   ©r   s    r   ú<lambda>zATestTupleBuild.test_build_unpack.<locals>.check.<locals>.<lambda>w  s   €  ˜w A˜w˜w€ r   Tr  ©r   rš   r  s      €r   r  z/TestTupleBuild.test_build_unpack.<locals>.checkv  sQ   ø€ Ø&Ð&ˆFØ&•C Ð&Ñ&Ô& vÑ.Ô.ˆEØ×#Ò# E E¨!¡H¤H¨f¨f°Q©i¬iÑ8Ô8Ð8Ð8Ð8r   r²   ©r³   r  r   r  s   ` r   Útest_build_unpackz TestTupleBuild.test_build_unpacku  ó<   ø€ ð	9ð 	9ð 	9ð 	9ð 	9ð 	ˆˆf‰Œˆàˆˆh‰Œˆˆˆr   c                 ó>   ‡ — ˆ fd„} |d¦  «          |d¦  «         d S )Nc                 ó�   •— d„ } t          d¬¦  «        |¦  «        }‰                      || ¦  «         || ¦  «        ¦  «         d S )Nc                 ó   — g | ¢R S r   r   rs  s    r   rt  zMTestTupleBuild.test_build_unpack_assign_like.<locals>.check.<locals>.<lambda>ƒ  ó   € ˜u ˜u˜u€ r   Tr  ru  r  s      €r   r  z;TestTupleBuild.test_build_unpack_assign_like.<locals>.check‚  óP   ø€ Ø$�_ˆFØ&•C Ð&Ñ&Ô& vÑ.Ô.ˆEØ×#Ò# E E¨!¡H¤H¨f¨f°Q©i¬iÑ8Ô8Ð8Ð8Ð8r   r²   rv  r   r  s   ` r   Útest_build_unpack_assign_likez,TestTupleBuild.test_build_unpack_assign_like€  s<   ø€ ð	9ð 	9ð 	9ð 	9ð 	9ð 	ˆˆf‰Œˆàˆˆh‰Œˆˆˆr   c                 óB  ‡ — ˆ fd„}‰                       t          j        ¦  «        5 } |ddg¦  «         d d d ¦  «         n# 1 swxY w Y   d}‰                      |t	          |j        ¦  «        ¦  «         d}‰                      |t	          |j        ¦  «        ¦  «         d S )Nc                 ó�   •— d„ } t          d¬¦  «        |¦  «        }‰                      || ¦  «         || ¦  «        ¦  «         d S )Nc                 ó   — g | ¢R S r   r   rs  s    r   rt  zZTestTupleBuild.test_build_unpack_fail_on_list_assign_like.<locals>.check.<locals>.<lambda>�  r|  r   Tr  ru  r  s      €r   r  zHTestTupleBuild.test_build_unpack_fail_on_list_assign_like.<locals>.checkŽ  r}  r   r³   r•   zNo implementation of functionztuple(reflected list()rw   r   rˆ   rz   r{   r|   )r}   r  r~   Úmsg1Úmsg2s   `    r   Ú*test_build_unpack_fail_on_list_assign_likez9TestTupleBuild.test_build_unpack_fail_on_list_assign_likeŒ  sè   ø€ ð	9ð 	9ð 	9ð 	9ð 	9ð
 ×Ò�vÔ1Ñ2Ô2ð 	°fØˆE�1�a�&‰MŒMˆMð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð /ˆØ�Š�d�C Ô 0Ñ1Ô1Ñ2Ô2Ð2Ø&ˆà�Š�d�C Ô 0Ñ1Ô1Ñ2Ô2Ð2Ð2Ð2s   ¦A Á AÁAc                 ó>   ‡ — ˆ fd„} |d¦  «          |d¦  «         d S )Nc                 ó�   •— d„ } t          d¬¦  «        |¦  «        }‰                      || ¦  «         || ¦  «        ¦  «         d S )Nc                 ó   — dg| ¢d‘| ¢R S ©Nr0   r¦   r   rs  s    r   rt  zFTestTupleBuild.test_build_unpack_more.<locals>.check.<locals>.<lambda>£  s   €  Ð2 AÐ2 vÐ2°Ð2Ð2€ r   Tr  ru  r  s      €r   r  z4TestTupleBuild.test_build_unpack_more.<locals>.check¢  sQ   ø€ Ø2Ð2ˆFØ&•C Ð&Ñ&Ô& vÑ.Ô.ˆEØ×#Ò# E E¨!¡H¤H¨f¨f°Q©i¬iÑ8Ô8Ð8Ð8Ð8r   r²   rv  r   r  s   ` r   Útest_build_unpack_morez%TestTupleBuild.test_build_unpack_more¡  rx  r   c                 ó>   ‡ — ˆ fd„} |d¦  «          |d¦  «         d S )Nc                 ó¶   •‡— t           d„ ¦   «         Šˆfd„} t          d¬¦  «        |¦  «        }‰                      || ¦  «         || ¦  «        ¦  «         d S )Nc                  ó   — | S r   r   ©rf   s    r   ÚinnerzCTestTupleBuild.test_build_unpack_call.<locals>.check.<locals>.inner®  ó   € à�r   c                 ó   •—  ‰dg| ¢R Ž S r[   r   ©r   rŽ  s    €r   rt  zFTestTupleBuild.test_build_unpack_call.<locals>.check.<locals>.<lambda>±  s   ø€ ˜u˜u Q˜|¨˜|˜|˜|€ r   Tr  ru  ©rb   rÈ   rœ   rŽ  r}   s      @€r   r  z4TestTupleBuild.test_build_unpack_call.<locals>.check­  sq   øø€ Ýðð ñ ŒSðà+Ð+Ð+Ð+ˆFØ&•C Ð&Ñ&Ô& vÑ.Ô.ˆEØ×#Ò# E E¨!¡H¤H¨f¨f°Q©i¬iÑ8Ô8Ð8Ð8Ð8r   r²   rv  r   r  s   ` r   Útest_build_unpack_callz%TestTupleBuild.test_build_unpack_call¬  ó<   ø€ ð	9ð 	9ð 	9ð 	9ð 	9ð 	ˆˆf‰Œˆàˆˆh‰Œˆˆˆr   c                 ó>   ‡ — ˆ fd„} |d¦  «          |d¦  «         d S )Nc                 ó¶   •‡— t           d„ ¦   «         Šˆfd„} t          d¬¦  «        |¦  «        }‰                      || ¦  «         || ¦  «        ¦  «         d S )Nc                  ó   — | S r   r   r�  s    r   rŽ  zHTestTupleBuild.test_build_unpack_call_more.<locals>.check.<locals>.inner¼  r�  r   c                 ó   •—  ‰dg| ¢d¢| ¢R Ž S rˆ  r   r‘  s    €r   rt  zKTestTupleBuild.test_build_unpack_call_more.<locals>.check.<locals>.<lambda>¿  s#   ø€ ˜u˜u QÐ8¨Ð8¨VÐ8°aÐ8Ð8Ð8€ r   Tr  ru  r’  s      @€r   r  z9TestTupleBuild.test_build_unpack_call_more.<locals>.check»  sq   øø€ Ýðð ñ ŒSðà8Ð8Ð8Ð8ˆFØ&•C Ð&Ñ&Ô& vÑ.Ô.ˆEØ×#Ò# E E¨!¡H¤H¨f¨f°Q©i¬iÑ8Ô8Ð8Ð8Ð8r   r²   rv  r   r  s   ` r   Útest_build_unpack_call_morez*TestTupleBuild.test_build_unpack_call_moreº  r”  r   c                 ó`   ‡ — ˆ fd„} |d„ d¦  «          |d„ d¦  «          |d„ d¦  «         d S )Nc                 óŠ   •—  t          d¬¦  «        | ¦  «        }‰                      ||¦  «         | |¦  «        ¦  «         d S r  ru  )rÈ   r\  rœ   r}   s      €r   r  z4TestTupleBuild.test_tuple_constructor.<locals>.checkÉ  sI   ø€ Ø&•C Ð&Ñ&Ô& vÑ.Ô.ˆEØ×#Ò# E E¨#¡J¤J°°°s±´Ñ<Ô<Ð<Ð<Ð<r   c                 ó   — t          ¦   «         S r   ©ry   )Ú_s    r   rt  z7TestTupleBuild.test_tuple_constructor.<locals>.<lambda>Î  s
   € �™œ€ r   r   c                 ó    — t          | ¦  «        S r   r�  rs  s    r   rt  z7TestTupleBuild.test_tuple_constructor.<locals>.<lambda>Ð  ó   € �˜a™œ€ r   r²   c                 ó    — t          | ¦  «        S r   r�  rs  s    r   rt  z7TestTupleBuild.test_tuple_constructor.<locals>.<lambda>Ò  r   r   rv  r   r  s   ` r   Útest_tuple_constructorz%TestTupleBuild.test_tuple_constructorÈ  sf   ø€ ð	=ð 	=ð 	=ð 	=ð 	=ð
 	ˆÐÐ Ñ$Ô$Ð$àˆÐ Ð  &Ñ)Ô)Ð)àˆÐ Ð  (Ñ+Ô+Ð+Ð+Ð+r   c                 ó  ‡— ddl m}mŠ d}dt          d„ ¦  «        i}dd                     dg|z  ¦  «        z  }t          ||¦  «         |                     |d	         ¦  «        }ˆfd
„|j                             ¦   «         D ¦   «         }|  	                    d„ |D ¦   «         |g¦  «         ˆfd„|j                             ¦   «         D ¦   «         }|  
                    |¦  «         |                       |d	         d¦  «        d|z  ¦  «         d S )Nr   )ÚcompilerÚiré#   Úgc                  ó   — | S r   r   rs  s    r   rt  zNTestTupleBuild.test_many_positional_args_are_one_build_tuple.<locals>.<lambda>Ü  s   €  Q€ r   zdef f(x):
    return g(%s)
ú, r   Úfc                 ó°   •— g | ]R}|j         D ]H}t          |‰j        ¦  «        r1t          |j        ‰j        ¦  «        r|j        j        d k    ¯A|j        ‘ŒIŒSS )Úbuild_tuple©ÚbodyÚ
isinstanceÚAssignrl   ÚExprÚop©Ú.0ÚblkÚstmtr¥  s      €r   ú
<listcomp>zPTestTupleBuild.test_many_positional_args_are_one_build_tuple.<locals>.<listcomp>ã  s{   ø€ ð 
ð 
ð 
àØœð
ð 
ð Ý˜$ ¤	Ñ*Ô*ð	
õ
 ˜4œ: r¤wÑ/Ô/ð
ð ”
” Ò.Ð.ð ŒJð
 /Ð.Ð.Ð.r   c                 óD   — g | ]}|j         ¯	t          |j         ¦  «        ‘ŒS r   )Úitemsr8   )r´  Úbts     r   r·  zPTestTupleBuild.test_many_positional_args_are_one_build_tuple.<locals>.<listcomp>î  s'   € Ð>Ð>Ð>˜r°R´XÐ>�S�”‰]Œ]Ð>Ð>Ð>r   c                 ó¦   •— g | ]M}|j         D ]C}t          |‰j        ¦  «        r,t          |j        ‰j        ¦  «        r|j        j        d k    ¯A|‘ŒDŒNS )Úbinopr­  r³  s      €r   r·  zPTestTupleBuild.test_many_positional_args_are_one_build_tuple.<locals>.<listcomp>ð  sy   ø€ ð 
ð 
ð 
àØœð
ð 
ð Ý˜$ ¤	Ñ*Ô*ð	
õ
 ˜4œ: r¤wÑ/Ô/ð
ð ”
” Ò(Ð(ð ð
 )Ð(Ð(Ð(r   rM   ©rM   )Ú
numba.corer¤  r¥  r   ÚjoinÚexecÚrun_frontendÚblocksÚvaluesr¢   ÚassertFalserš   )	r}   r¤  Ún_argsÚglblsÚsrcÚfunc_irÚbuild_tuplesÚbinopsr¥  s	           @r   Ú-test_many_positional_args_are_one_build_tuplez<TestTupleBuild.test_many_positional_args_are_one_build_tupleÔ  sX  ø€ ð
 	,Ð+Ð+Ð+Ð+Ð+Ð+Ð+àˆØ•c˜,˜,Ñ'Ô'Ð(ˆð .°·	²	¸3¸%À&¹.Ñ0IÔ0IÑIˆÝˆS�%ÑÔÐà×'Ò'¨¨c¬
Ñ3Ô3ˆð
ð 
ð 
ð 
à”~×,Ò,Ñ.Ô.ð
ñ 
ô 
ˆð 	×ÒØ>Ð> \Ð>Ñ>Ô>ÀÀñ	
ô 	
ð 	
ð
ð 
ð 
ð 
à”~×,Ò,Ñ.Ô.ð
ñ 
ô 
ˆð 	×Ò˜Ñ Ô Ð à×Ò 
  c¤
¨1¡¤¨t°f©}Ñ=Ô=Ð=Ð=Ð=r   c                 ó  — t           d„ ¦   «         }d}d|i}dd                     dg|z  ¦  «        z  }t          ||¦  «         |d         }t          |¦  «        }dD ],}|                       ||d	¦  «         ||d	¦  «        ¦  «         Œ-d S )
Nc                  ó   — | S r   r   r�  s    r   rŽ  zITestTupleBuild.test_many_positional_args_mixed_with_unpack.<locals>.innerþ  s   € àˆKr   é!   rŽ  z-def f(t, x):
    return inner(%s, *t, x, *t)
r©  r   rª  )r²   rv  r0   )r   r¿  rÀ  rš   )r}   rŽ  r`   rÆ  rÇ  rÈ   rœ   r\  s           r   Ú+test_many_positional_args_mixed_with_unpackz:TestTupleBuild.test_many_positional_args_mixed_with_unpackü  s¾   € å	ð	ð 	ñ 
Œð	ð ˆØ˜%Ð ˆà=Ø�iŠi˜˜ ™	Ñ"Ô"ñ#ð 	õ 	ˆS�%ÑÔÐØ�s”ˆÝ�F‘”ˆØ%ð 	Cð 	CˆCØ×#Ò# E E¨#¨q¡M¤M°6°6¸#¸q±>´>ÑBÔBÐBÐBð	Cð 	Cr   c                 óü   — t           d„ ¦   «         }|                      t          j        ¦  «        5 } |¦   «          d d d ¦  «         n# 1 swxY w Y   d}|                      |t          |j        ¦  «        ¦  «         d S )Nc                  ó(   — d} d}g | d         r|nd¢R S )N©r0   )rM   r4   r³   r   )r•   r¿   r   r   s     r   rA  z<TestTupleBuild.test_unpack_with_predicate_fails.<locals>.foo  s'   € àˆAØˆAØ.˜1˜Qœ4Ð+�a�a VÐ.Ð.Ð.r   z&op_LIST_EXTEND at the start of a block)r   rw   r   ÚUnsupportedBytecodeErrorrz   r{   r|   )r}   rA  r~   r×   s       r   Ú test_unpack_with_predicate_failsz/TestTupleBuild.test_unpack_with_predicate_fails  s½   € õ 
ð	/ð 	/ñ 
Œð	/ð
 ×Ò�vÔ>Ñ?Ô?ð 	À6ØˆC‰EŒEˆEð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	à6ˆØ�Š�c�3˜vÔ/Ñ0Ô0Ñ1Ô1Ð1Ð1Ð1s   °AÁAÁAc                 ó(   ‡ — ˆ fd„} |d¦  «         d S )Nc                 ó�   •— d„ } t          d¬¦  «        |¦  «        }‰                      || ¦  «         || ¦  «        ¦  «         d S )Nc                 ó”   — ddg}g | ¢|                      d¦  «        ‘|                     | ¦  «        ‘t          j        d¦  «        ‘R |fS )Nr0   r4   rM   )ro   Úextendr^   Úones©r   r   s     r   rÈ   zTTestTupleBuild.test_build_unpack_with_calls_in_unpack.<locals>.check.<locals>.pyfunc  sI   € Ø˜�F�ØA˜ÐA˜AŸHšH Q™KœKÐA¨¯ª°!©¬ÐAµb´g¸a±j´jÐAÐAÀ1ÐDÐDr   Tr  ru  r  s      €r   r  zDTestTupleBuild.test_build_unpack_with_calls_in_unpack.<locals>.check  s]   ø€ ðEð Eð Eð '•C Ð&Ñ&Ô& vÑ.Ô.ˆEØ×#Ò# E E¨!¡H¤H¨f¨f°Q©i¬iÑ8Ô8Ð8Ð8Ð8r   r²   r   r  s   ` r   Ú&test_build_unpack_with_calls_in_unpackz5TestTupleBuild.test_build_unpack_with_calls_in_unpack  s/   ø€ ð	9ð 	9ð 	9ð 	9ð 	9ð 	ˆˆf‰Œˆˆˆr   c                 ó(   ‡ — ˆ fd„} |d¦  «         d S )Nc                 ó�   •— d„ } t          d¬¦  «        |¦  «        }‰                      || ¦  «         || ¦  «        ¦  «         d S )Nc                 ó®   — ddg}g | ¢g | ¢| ‘R ¢| g | dgd¢| ¢R ¢| ddg| ¢d‘R ‘d‘R f¢|                      d¦  «        |                     | ¦  «        f¢R |fS )Nr0   r4   r¦   r½  )r4   rM   rÒ  r³   )ro   rØ  rÚ  s     r   rÈ   zKTestTupleBuild.test_build_unpack_complicated.<locals>.check.<locals>.pyfunc)  s®   € Ø˜�F�ð5˜ð 5˜W˜q˜W !˜W˜Wð 5¨ð ,5¨a°Ð-C¸$Ð-CÀÐ-CÐ-Cð ,5Ø˜A˜vÐ-¨Ð-¨1Ð-Ð-ð,5Ø/3ð,5ð ,5ð (6ð 5àŸ(š( 1™+œ+ q§x¢x°¡{¤{Ð3ð5ð 5à67ð8ð 8r   Tr  ru  r  s      €r   r  z;TestTupleBuild.test_build_unpack_complicated.<locals>.check(  sZ   ø€ ð8ð 8ð 8ð '•C Ð&Ñ&Ô& vÑ.Ô.ˆEØ×#Ò# E E¨!¡H¤H¨f¨f°Q©i¬iÑ8Ô8Ð8Ð8Ð8r   )r?  é   r   r  s   ` r   Útest_build_unpack_complicatedz,TestTupleBuild.test_build_unpack_complicated'  s/   ø€ ð	9ð 	9ð 	9ð 	9ð 	9ð 	ˆˆh‰Œˆˆˆr   N)r�   r‚   rƒ   rw  r~  r„  r‰  r“  r™  r¢  rË  rÏ  rÔ  rÛ  rà  r   r   r   ro  ro  s  sÌ   € € € € € ð	ð 	ð 	ð
ð 
ð 
ð3ð 3ð 3ð*	ð 	ð 	ðð ð ðð ð ð
,ð 
,ð 
,ð&>ð &>ð &>ðPCð Cð Cð$2ð 2ð 2ð	ð 	ð 	ðð ð ð ð r   ro  Ú__main__)=Úcollectionsrç   Únumpyr^   Únumbar   r   r   r   r¾  r   r   r	   Únumba.tests.supportr
   r   r   ÚunittestÚ
namedtupler   r   r   r   r   r#   r&   r*   r.   r2   r5   r9   r;   r=   r@   rB   rE   rG   rI   rK   rO   rR   rW   rY   rc   rg   ri   rm   rq   rs   r…   r’   r°   rÆ   r  rO  rZ  r_  rl  ro  r�   Úmainr   r   r   ú<module>ré     s€  ðØ Ð Ð Ð Ø Ð Ð Ð à Ð Ð Ð à .Ð .Ð .Ð .Ð .Ð .Ð .Ð .Ð .Ð .Ð .Ð .Ø +Ð +Ð +Ð +Ð +Ð +Ð +Ð +Ð +Ð +Ø >Ð >Ð >Ð >Ð >Ð >Ð >Ð >Ð >Ð >Ø €€€ð €{Ô˜fÐ&9Ñ:Ô:€àˆÔ˜w¨Ñ8Ô8€à	ˆÔ	 ¨/Ñ	:Ô	:€àˆÔ˜w¨Ñ+Ô+€ðð ð ðð ð ðð ð ðð ð ðð ð ðð ð ðð ð ðð ð ðð ð ðð ð ðð ð ðð ð ðð ð ðð ð ðð ð ðð ð ð(ð (ð (ðð ð ðð ð ð ð  ð  ðð ð ðð ð ðð ð ðð ð ðð ð ð7ð 7ð 7ð 7ð 7˜8Ô,ñ 7ô 7ð 7ð 
ð 
ð 
ð 
ð 
˜xÔ0ñ 
ô 
ð 
ð,$6ð $6ð $6ð $6ð $6�hñ $6ô $6ð $6ðN>ð >ð >ð >ð >�xñ >ô >ð >ð8d'ð d'ð d'ð d'ð d'�Xñ d'ô d'ð d'ðNrJð rJð rJð rJð rJ�X˜ñ rJô rJð rJðj*ð *ð *ð *ð *�8˜_ñ *ô *ð *ð3ð 3ð 3ð 3ð 3˜ /ñ 3ô 3ð 3ð2ð 2ð 2ð 2ð 2�hñ 2ô 2ð 2ð6
5ð 
5ð 
5ð 
5ð 
5�(ñ 
5ô 
5ð 
5ðð ð ð ð �Xñ ô ð ðD ˆzÒÐØ€H„M�O„O€O€O€Oð Ðr   