Current File : //usr/local/apps/python3/lib/python3.11/test/__pycache__/test_itertools.cpython-311.opt-2.pyc
�

�Ke������ddlZddlZddlmZddlmZddlTddlZddlm	Z	ddl
mZddlZddl
Z
ddlZddlZddlmZddlZddlZddlZddlZejZedz
Zd	�Zd
�Zd�Zd�Zd
�Zd�Zd�Zd�Z Gd�d��Z!d�Z"d�Z#d�Z$d�Z%d�Z&d�Z'd�e(ej)dz��D��Z*Gd�dej+��Z,Gd�dej+��Z-Gd�dej+��Z.Gd �d!ej+��Z/d"�Z0Gd#�d$��Z1Gd%�d&��Z2Gd'�d(��Z3Gd)�d*��Z4Gd+�d,��Z5Gd-�d.��Z6Gd/�d0��Z7d1�Z8Gd2�d3ej+��Z9Gd4�d5ej+��Z:Gd6�d7ej+��Z;Gd8�d9ej+��Z<ej=Gd:�d;ej+����Z>d<�Z?e@d=krejA��dSdS)>�N)�support)�threading_helper)�*)�Decimal)�Fraction)�reduce�c�.�tt|���S�N)�list�zip��argss �=/usr/local/apps/python3/lib/python3.11/test/test_itertools.py�lziprs����T�
����c��	d|zS�N����xs r�oneargrs��#��Q�3�Jrc��	t�r)�
ValueErrorrs r�errfuncrs��(�
�rc#�K�	dD]}|V��dS)N�rr	rr)�is r�gen3r !s-����%�
����������rc��	|dzdkS)Nrrrrs r�isEvenr"&�����Q�3��6�Mrc��	|dzdkS)Nrr	rrs r�isOddr%*r#rc��|Srrrs r�tupleizer'.s���Krc#�6K�t|��D]}|V��dSr��range)�nrs  r�iranger,1s0����
�1�X�X����������rc��eZdZ	d�Zd�ZdS)�StopNowc��|Srr��selfs r�__iter__zStopNow.__iter__7����rc��t�r��
StopIterationr0s r�__next__zStopNow.__next__9����rN��__name__�
__module__�__qualname__r2r7rrrr.r.5s5������(��������rr.c�>�	tt||����Sr�r�islice)r+�seqs  r�takerA<s��N���s�A�����rc�8�ttj|d��S�Nr	)r�operator�mul��iterables r�prodrH@s���(�,��!�,�,�,rc�D�	ttd|dz����SrC)rHr*)r+s r�factrJCs�����a��1��
�
���rc��|dS�Nrr��rs r�testRrOH����Q�4�Krc��|dSrrrMs r�testR2rRKrPrc��|dkS)N�
rrs r�undertenrUNs���R�4�Krc��g|]}|fd���S)c�P�tjtj||����Sr)�pickle�loads�dumps)�s�protos  r�<lambda>z<listcomp>.<lambda>Qs����V�\�!�U�5K�5K�(L�(L�rr)�.0r\s  r�
<listcomp>r_Qs7��B�B�B��"'�L�L�L�B�B�Brc�|�eZdZd=d�Zd�Zd�Zd�Zd�Zd	�Zd
�Z	e
jd���Ze
j
d��d
���Zd�Ze
jd���Ze
j
d��d���Zd�Ze
jd���Ze
j
d��d���Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Z e
j
d��d ���Z!d!�Z"e
j
d��d"���Z#d#�Z$d$�Z%d%�Z&d&�Z'd'�Z(e
jd(���Z)e
j
d��d)���Z*d*�Z+d+�Z,d,�Z-d-�Z.d.�Z/d/�Z0d0�Z1d1�Z2d2�Z3d3�Z4d4�Z5d5�Z6e7j8��d6���Z9d7�Z:e
j;d8���Z<e
j;d9���Z=e
j;d:���Z>e
j;d;���Z?e
j;d<���Z@dS)>�TestBasicOps�r	Nc�
���	d��fd�	�tj||��}tj|��}|�t	|��t	|�����|���|��}	}|�||	��|r!�|��}
|�||
��tj|��}d}	t|��D]}
t
|��|dz
}�n#t$rYnwxYwtj||��}tj|��}�|���|��}	}|�||	��|r+�||d���}
|�||
��dSdS)Nrc������dkrtd���t|t��r|S	tt	|�����}n#t
$r|cYSwxYw��fd�|D��S)NrTzinfinite recursion encounteredc�.��g|]}�|�dz����S)r	r)r^�e�expandrs  ��rr_z;TestBasicOps.pickletest.<locals>.expand.<locals>.<listcomp>bs'���.�.�.�q�F�F�1�a��c�N�N�.�.�.r)�RuntimeError�
isinstance�strrr?�	TypeError)�itr�lrg�stops ` ��rrgz'TestBasicOps.pickletest.<locals>.expandXs������2�v�v�"�#C�D�D�D��"�c�"�"�
��	�
����D�)�)�*�*�����
�
�
��	�	�	�
����.�.�.�.�.�A�.�.�.�.s�A�A�Ar	�r)rXrZrY�assertEqual�typer*�nextr6)r1�protocolrlrnrA�compare�dump�i2�a�b�c�i3�tookr�i4rgs   `           @r�
pickletestzTestBasicOps.pickletestVs�����W�
	/�
	/�
	/�
	/�
	/�
	/�
	/��|�B��)�)��
�\�$�
�
������b���4��8�8�,�,�,��v�b�z�z�6�6�"�:�:�1������A�����	#���w���A����Q��"�"�"��\�$�
�
����	��4�[�[�
�
���R������	���
���	�	�	��D�	�����|�B��)�)��
�\�$�
�
���v�b�z�z�6�6�"�:�:�1������A�����	$���w�t�u�u�~�&�&�A����Q��"�"�"�"�"�	$�	$s�
&C1�1
C>�=C>c
�	�|�tttd������gd���|�tttd�������gd���tt
ttfD]j}|�ttt|td��������tt|gd��������k|�ttd����gd���|�ttg����g��|�ttdg����dg��|�	tttd��dd��|�	tt��|�	tttd���	��|�	tttd
gg����gd�}|�tt|t����gd���|�tt|t����gd
���|�tt|tj����gd���|�	t��5tt|t����ddd��n#1swxYwYtt jd
z��D]d}|�|ttd������|�|ttd��d������e|�ttgd�d�����gd���|�ttgd�d�����gd���|�ttgd�����dg��|�	t��5ttddgd����ddd��dS#1swxYwYdS)NrT)
rr	��rT����$�-rF�abc)rw�abr���r�rr	)
r��	r�r�rrrbr	r�)
rrrrrrrrrr)
rr�r�r�r�r�r�r�r�r�)
r��i�i�rrrrr)�initial)rTr�r	)rTr�r��d)r��n�s�t�)rpr�
accumulater*�int�complexrr�map�assertRaisesrk�min�maxrDrE�chrrX�HIGHEST_PROTOCOLr})r1�typr[r\s    r�test_accumulatezTestBasicOps.test_accumulates�������j��r���3�3�4�4�>�>�>�	@�	@�	@�����j�%��)�)�<�<�<�=�=�>�>�>�	@�	@�	@����(�2�	F�	F�C�����Z��C��r��� 3� 3�4�4�5�5��S��B�B�B�C�C�D�D�
F�
F�
F�
F�	
����j��/�/�0�0�2D�2D�2D�E�E�E�����j��n�n�-�-�r�2�2�2�����j�!��o�o�.�.���4�4�4����)�Z��r���A�q�A�A�A����)�Z�0�0�0����)�Z�5��9�9��=�=�=����)�T�:�q�"�g�+>�+>�?�?�?�*�*�*������j��C�0�0�1�1�7�7�7�	9�	9�	9�����j��C�0�0�1�1�7�7�7�	9�	9�	9�����j��H�L�9�9�:�:�?�?�?�	A�	A�	A�
�
�
�y�
)�
)�	%�	%���A�s�#�#�$�$�$�	%�	%�	%�	%�	%�	%�	%�	%�	%�	%�	%����	%�	%�	%�	%��6�2�Q�6�7�7�	E�	E�E��O�O�E�:�e�B�i�i�#8�#8�9�9�9��O�O�E�:�e�B�i�i��#C�#C�#C�D�D�D�D�����j����T�B�B�B�C�C�\�\�\�R�R�R�����j����S�A�A�A�B�B�DX�DX�DX�Y�Y�Y�����j��S�9�9�9�:�:�S�E�B�B�B�
�
�
�y�
)�
)�	,�	,���R��H�c�*�*�+�+�+�	,�	,�	,�	,�	,�	,�	,�	,�	,�	,�	,�	,����	,�	,�	,�	,�	,�	,s$�#M�M�	M� R4�4R8�;R8c
�2�d�}t|fD�]}|�t|dd����td����|�t|d����td����|�t|d����g��|�td|dd����td����|�t
t|dd	������
dS)
Nc7�(K�	|D]}|D]}|V���dSrr)�	iterablesrl�elements   r�chain2z'TestBasicOps.test_chain.<locals>.chain2�sA����-��
"�
"��!�"�"�G�!�M�M�M�M�"�
"�
"rr��def�abcdef�rb�abcdrr)�chainrprrAr�rk)r1r�rys   r�
test_chainzTestBasicOps.test_chain�s��	"�	"�	"����	7�	7�A����T�!�!�E�5�/�/�2�2�D��N�N�C�C�C����T�!�!�E�(�(�^�^�T�%�[�[�9�9�9����T�!�!�B�%�%�[�[�"�-�-�-����T�!�Q�Q�u�e�_�_�5�5�t�F�|�|�D�D�D����i��a�a��1�g�g�6�6�6�6�	7�	7rc	��|�tt�ddg����td����|�tt�dg����td����|�tt�dg����g��|�t	dt�ddg����td����|�ttt�ddg����dS)	Nr�r�r�r�rbr�rr)rprr��
from_iterablerAr�rkr0s r�test_chain_from_iterablez%TestBasicOps.test_chain_from_iterable�s������e�1�1�5�%�.�A�A�B�B�D��N�N�S�S�S�����e�1�1�5�'�:�:�;�;�T�%�[�[�I�I�I�����e�1�1�2�$�7�7�8�8�"�=�=�=�����a��!4�!4�e�U�^�!D�!D�E�E�t�F�|�|�T�T�T����)�T�5�+>�+>��1�v�+F�+F�G�G�G�G�Grc��tjgtzD�]a}tdd��}|�t||����td����|�t
|��d��|�t||����td����|�t|td������g��|�td|tdd������td����|�tt
|td	d
��������cttjdz��D]5}|�
|tdd��td������6dS)
Nr�r�r�rw�bcdefr�rbr�rrr	�rt)�copy�deepcopy�
picklecopiersr�rprrrrAr�rkr*rXr�r})r1�operrlr\s    r�test_chain_reduciblez!TestBasicOps.test_chain_reducible�s����]�O�m�3�	B�	B�D��u�e�$�$�B����T�$�$�r�(�(�^�^�T�(�^�^�<�<�<����T�"�X�X�s�+�+�+����T�$�$�r�(�(�^�^�T�'�]�]�;�;�;����T�$�$�u�R�y�y�/�/�2�2�B�7�7�7����T�!�T�T�%��u�*=�*=�%>�%>�?�?��f���N�N�N����i��t�t�E�!�Q�K�K�/@�/@�A�A�A�A��6�2�Q�6�7�7�	P�	P�E��O�O�E�5���#6�#6��X���O�O�O�O�O�	P�	Prc�f�|�tt��jd��|�tt��jg��|�tt��jd��|�tt��jgf��|�tt��jt	g��gf��t��}|�t	ddg��f��|�t
|��gd���t��}|�t	ddg��t	dg��f��|�t
|��gd���dS)Nrrr�r�)rwrxry�drf�f�ghi)r�rwrxryr�rfr�)r�rkr��__setstate__�iterrpr�r1rls  r�test_chain_setstatez TestBasicOps.test_chain_setstate�sS�����)�U�W�W�%9�2�>�>�>����)�U�W�W�%9�2�>�>�>����)�U�W�W�%9�1�=�=�=����)�U�W�W�%9�B�5�A�A�A����)�U�W�W�%9�D��H�H�b�>�J�J�J�
�W�W��
����u�e�n�-�-�/�0�0�0�����b���#A�#A�#A�B�B�B�
�W�W��
����u�e�n�-�-�t�U�G�}�}�=�>�>�>�����b���#H�#H�#H�I�I�I�I�Irc�	�
��|�ttd��|�ttddd��|�ttd��|�ttdd��d�gtzD�]i}|�t
|tdd������g��|�t
|tdd������gd���tdd��}t|��|�t
||����gd	���|�t
|ttd
��d������gd���ttd
��d��}t|��|�t
||����gd
�����kd�}d�}d�}td��D�]�}d�t|��D���t|dz��D�]�}t
t�|����}|�t|��||krdn1t|��t|��zt||z
��z��|�t|��tt|������|�|t|����|D]�
|�t�
��|��|�tt�
����|��|�t
�
��t�
����|�
t�fd��
D������|�t
�
���
fd��D������|�|t
|�|������|�|t
|�|������|�|t
|�|������ttjdz��D]&}	|�|	t�|�����'������dS)Nr�rr	���c��|Srr�rws rr]z0TestBasicOps.test_combinations.<locals>.<lambda>����A�r� �ABCD���A�B�r��C�r��D�r�r��r�r��r�r�)r�r�r�r�r�rbr�r�rr	r�rrr�r	rr)r�r�r�c3���K�	t|���t���}||krdStt|����}t�fd�|D����V�	t	t|����D]}||||z|z
krn�dS||xxdz
cc<t|dz|��D]}||dz
dz||<�t�fd�|D����V���)Nc3�(�K�|]}�|V��
dSrr�r^r�pools  �r�	<genexpr>zHTestBasicOps.test_combinations.<locals>.combinations1.<locals>.<genexpr>��'�����1�1�A��Q��1�1�1�1�1�1rr	c3�(�K�|]}�|V��
dSrrr�s  �rr�zHTestBasicOps.test_combinations.<locals>.combinations1.<locals>.<genexpr>��'�����5�5��D��G�5�5�5�5�5�5r��tuple�lenrr*�reversed)rGrNr+�indicesr�jr�s      @r�
combinations1z5TestBasicOps.test_combinations.<locals>.combinations1�s(�����3���?�?�D��D�	�	�A��1�u�u����5��8�8�n�n�G��1�1�1�1��1�1�1�1�1�1�1�1�	
6�!�%��(�(�+�+���A��q�z�Q��U�Q�Y�.�.���/��F���
�
�
�a��
�
�
��q��s�A���2�2�A�!(��1����!1�G�A�J�J��5�5�5�5�W�5�5�5�5�5�5�5�5�	
6rc3��K�	t|���t���}tt|��|��D]?}t	|��t|��krt�fd�|D����V��@dS)Nc3�(�K�|]}�|V��
dSrrr�s  �rr�zHTestBasicOps.test_combinations.<locals>.combinations2.<locals>.<genexpr>�'�����9�9�A��Q��9�9�9�9�9�9r)r�r��permutationsr*�sortedr�rGrNr+r�r�s    @r�
combinations2z5TestBasicOps.test_combinations.<locals>.combinations2�s������3���?�?�D��D�	�	�A�'��a���!�4�4�
:�
:���'�?�?�d�7�m�m�3�3��9�9�9�9��9�9�9�9�9�9�9�9��
:�
:rc3��K�	t|���t���}tt|��|��D]?}tt	|����|krt�fd�|D����V��@dS)Nc3�(�K�|]}�|V��
dSrrr�s  �rr�zHTestBasicOps.test_combinations.<locals>.combinations3.<locals>.<genexpr>r�r)r�r��combinations_with_replacementr*�setr�s    @r�
combinations3z5TestBasicOps.test_combinations.<locals>.combinations3s������,���?�?�D��D�	�	�A�8��q���1�E�E�
:�
:���s�7�|�|�$�$��)�)��9�9�9�9��9�9�9�9�9�9�9�9��
:�
:rr�c��g|]
}d|zdz
��S�r��r�r^rs  rr_z2TestBasicOps.test_combinations.<locals>.<listcomp>� ��/�/�/��a��c�"�f�/�/�/rrc3� �K�|]}|�vV��	dSrr�r^rf�valuess  �rr�z1TestBasicOps.test_combinations.<locals>.<genexpr>�'�����'?�'?���V��'?�'?�'?�'?�'?�'?rc���g|]}|�v�|��	Srr�r^rfrys  �rr_z2TestBasicOps.test_combinations.<locals>.<listcomp>����%B�%B�%B�A�1��6�6�a�6�6�6r)r�rk�combinationsrr�rprrrr*r�rJr�r��
assertTrue�allrXr�r})r1�op�testIntermediater�r�r�r+rN�resultr\ryr�s          @@r�test_combinationszTestBasicOps.test_combinations�s��������)�\�5�9�9�9����)�\�5�!�Q�?�?�?����)�\�4�8�8�8����*�l�E�2�>�>�>��:�,��.�	:�	:�B����T�"�"�\�%��%<�%<�"=�"=�>�>��C�C�C����T�"�"�\�&�!�%<�%<�"=�"=�>�>�_�_�_�
a�
a�
a�+�F�A�6�6���!�"�"�"����T�"�"�%5�"6�"6�7�7�T�T�T�
V�
V�
V�
���T�"�"�\�%��(�(�A�%>�%>�"?�"?�@�@�A�A�A�
C�
C�
C�+�E�!�H�H�a�8�8���!�"�"�"����T�"�"�%5�"6�"6�7�7�8�8�8�
:�
:�
:�
:�	6�	6�	6�&	:�	:�	:�	:�	:�	:��q���	D�	D�A�/�/�e�A�h�h�/�/�/�F��1�Q�3�Z�Z�
D�
D���l�6�1�5�5�6�6��� � ��V���1�Q�3�3�a�a�D��G�G�d�1�g�g�<M�PT�UV�WX�UX�PY�PY�<Y�Z�Z�Z�� � ��V���c�#�f�+�+�.>�.>�?�?�?�� � ������8�8�8��D�D�A��$�$�S��V�V�Q�/�/�/��$�$�S��Q���[�[�!�4�4�4��$�$�T�!�W�W�f�Q�i�i�8�8�8��O�O�C�'?�'?�'?�'?�Q�'?�'?�'?�$?�$?�@�@�@��$�$�T�!�W�W�%B�%B�%B�%B��%B�%B�%B�D�D�D�D�� � ���m�m�F�A�.F�.F�)G�)G�H�H�H�� � ���m�m�F�A�.F�.F�)G�)G�H�H�H�� � ���m�m�F�A�.F�.F�)G�)G�H�H�H�"�6�#:�Q�#>�?�?�D�D�E��O�O�E�<���+B�+B�C�C�C�C�D�!
D�	D�	Drc��|�ttf��5tdd��ddd��dS#1swxYwYdS)N�AAi )r��
OverflowError�MemoryErrorr�r0s r�test_combinations_overflowz'TestBasicOps.test_combinations_overflow"s���
�
�
�
�{�;�
<�
<�	&�	&���u�%�%�%�	&�	&�	&�	&�	&�	&�	&�	&�	&�	&�	&�	&����	&�	&�	&�	&�	&�	&��A�A�Az"tuple reuse is specific to CPythonc�d�|�tttttdd��������d��|�ttttttdd����������d��dS�N�abcderr	)rpr�r�r��idr��assertNotEqualrr0s r�test_combinations_tuple_reusez*TestBasicOps.test_combinations_tuple_reuse(�������S��R��g�q�)A�)A�!B�!B�C�C�D�D�a�H�H�H����C��C��D��g�q�1I�1I�,J�,J�$K�$K� L� L�M�M�q�Q�Q�Q�Q�Qrc��
��t}|�t|d��|�t|ddd��|�t|d��|�t|dd��d�gtzD]�}|�t
||dd������gd���|dd��}t|��|�t
||����gd�����d	�}d
�}d�}td��D�]�}d
�t|��D���t|dz��D�]�}t
|�|����}	|�t|	��|||����|�t|	��tt|	������|�|	t|	����t
t�|����}
|dks|dkr|�|	|
��n3|�
t|	��t|
��k��|	D]��
|�t�
��|��d�t�
��D��}|�t|��tt|������|�t
�
��t�
����|�
t�fd��
D������|�|�
fd��D������|�|	t
|�|������|�|	t
|�|������tt jdz��D]"}|�||�|�����#������dS)Nr�rr	r�c��|Srrr�s rr]zATestBasicOps.test_combinations_with_replacement.<locals>.<lambda>4r�r�ABC�)r�r�r�r��r�r�r��r�r�)r�r�rr�rc3�h�K�	t|���t���}|s|rdSdg|z}t�fd�|D����V�	tt|����D]}|||dz
krn�dS||dzg||z
z||d�<t�fd�|D����V��g)Nrc3�(�K�|]}�|V��
dSrrr�s  �rr�zPTestBasicOps.test_combinations_with_replacement.<locals>.cwr1.<locals>.<genexpr>Er�rr	c3�(�K�|]}�|V��
dSrrr�s  �rr�zPTestBasicOps.test_combinations_with_replacement.<locals>.cwr1.<locals>.<genexpr>Mr�r)r�r�r�r*)rGrNr+r�rr�s     @r�cwr1z=TestBasicOps.test_combinations_with_replacement.<locals>.cwr1=s������3���?�?�D��D�	�	�A��
��
����c�A�g�G��1�1�1�1��1�1�1�1�1�1�1�1�
6�!�%��(�(�+�+���A��q�z�Q��U�*�*���+��F�&�q�z�A�~�.�!�a�%�8�������5�5�5�5�W�5�5�5�5�5�5�5�5�
6rc3��K�	t|���t���}tt|��|���D]?}t	|��t|��krt�fd�|D����V��@dS)N��repeatc3�(�K�|]}�|V��
dSrrr�s  �rr�zPTestBasicOps.test_combinations_with_replacement.<locals>.cwr2.<locals>.<genexpr>Ur�r)r�r��productr*r�rr�s    @r�cwr2z=TestBasicOps.test_combinations_with_replacement.<locals>.cwr2Os������3���?�?�D��D�	�	�A�"�5��8�8�A�6�6�6�
:�
:���'�?�?�d�7�m�m�3�3��9�9�9�9��9�9�9�9�9�9�9�9��
:�
:rc��|s|rdndSt||zdz
��t|��zt|dz
��zS�Nrr	)rJ)r+rNs  r�numcombszATestBasicOps.test_combinations_with_replacement.<locals>.numcombsWsF���
%��}�q�q�1�$���!��A��;�;��a���(�$�q��s�)�)�3�3rr�c��g|]
}d|zdz
��Sr�rr�s  rr_zCTestBasicOps.test_combinations_with_replacement.<locals>.<listcomp>]r�rrc��g|]\}}|��Srr)r^�k�vs   rr_zCTestBasicOps.test_combinations_with_replacement.<locals>.<listcomp>ms��6�6�6�C�A�a�a�6�6�6rc3� �K�|]}|�vV��	dSrrr�s  �rr�zBTestBasicOps.test_combinations_with_replacement.<locals>.<genexpr>pr�rc���g|]}|�v�|��	Srrr�s  �rr_zCTestBasicOps.test_combinations_with_replacement.<locals>.<listcomp>rr�r)r�r�rkrr�rprrrr*r�r�r�r�r��groupbyr�rXr�r})r1�cwrr�r�rrr r+rNr��
regular_combs�norunsr\ryr�s             @@r�"test_combinations_with_replacementz/TestBasicOps.test_combinations_with_replacement-s'����+�����)�S�%�0�0�0����)�S�%��A�6�6�6����)�S�$�/�/�/����*�c�5�"�5�5�5��:�,��.�	V�	V�B����T�"�"�S�S���]�]�"3�"3�4�4�_�_�_�
a�
a�
a�"�s�5�!�}�}���!�"�"�"����T�"�"�%5�"6�"6�7�7�T�T�T�
V�
V�
V�
V�	6�	6�	6�$	:�	:�	:�	4�	4�	4�
�q���	:�	:�A�/�/�e�A�h�h�/�/�/�F��1�Q�3�Z�Z�
:�
:���c�c�&�!�n�n�-�-��� � ��V���h�h�q�!�n�n�=�=�=�� � ��V���c�#�f�+�+�.>�.>�?�?�?�� � ������8�8�8� $�\�&�!�%<�%<� =� =�
���6�6�Q�!�V�V��$�$�V�]�;�;�;�;��O�O�C��K�K�3�}�3E�3E�$E�F�F�F��D�D�A��$�$�S��V�V�Q�/�/�/�6�6�7�1�:�:�6�6�6�F��$�$�S��[�[�#�c�&�k�k�2B�2B�C�C�C��$�$�T�!�W�W�f�Q�i�i�8�8�8��O�O�C�'?�'?�'?�'?�Q�'?�'?�'?�$?�$?�@�@�@��$�$�V�%B�%B�%B�%B��%B�%B�%B�D�D�D�D�� � ���d�d�6�1�o�o�)>�)>�?�?�?�� � ���d�d�6�1�o�o�)>�)>�?�?�?�"�6�#:�Q�#>�?�?�:�:�E��O�O�E�3�3�v�a�=�=�9�9�9�9�:�1
:�	:�	:rc��|�ttf��5tdd��ddd��dS#1swxYwYdS)Nr�@)r�rrr�r0s r�+test_combinations_with_replacement_overflowz8TestBasicOps.test_combinations_with_replacement_overflowys���
�
�
�
�{�;�
<�
<�	7�	7�)�$��6�6�6�	7�	7�	7�	7�	7�	7�	7�	7�	7�	7�	7�	7����	7�	7�	7�	7�	7�	7rc�b�t}|�ttt	t
|dd��������d��|�ttt	t
t|dd����������d��dSr)r�rpr�r�r�r
rr)r1r(s  r�.test_combinations_with_replacement_tuple_reusez;TestBasicOps.test_combinations_with_replacement_tuple_reuses���+������S��R���W�a���!9�!9�:�:�;�;�Q�?�?�?����C��C��D���W�a���,A�,A�$B�$B� C� C�D�D�a�H�H�H�H�Hrc�v��|�tt��|�ttddd��|�ttd��|�ttdd��|�ttdd����g��|�ttdd��|�ttt
d��d����gd���dd	�}dd
�}t
d��D�]�}d�t
|��D���t
|dz��D�]U}tt�|����}|�t|��||krd
n!t|��t||z
��z��|�t|��tt|������|�|t|����|D]�}|�t|��|��|�tt|����|��|�t�fd�|D��������|�|t|�|������|�|t|�|������||kra|�|tt�d������|�|tt�������t
tjdz��D]&}|�|t�|�����'��W���dS)Nr�rr	r�r�r[r)�rr	�rr�r	r�r	r)rr)rr	c3��K�	t|���t���}|�|n|}||krdStt|����}tt||z
dz|dz����ddd�}t�fd�|d|�D����V�|r�t	t|����D]�}||xxdzcc<||dkr)||dzd�|||dz�z||d�<||z
||<�G||}||||c||<||<t�fd�|d|�D����V�ndS|��dSdS)Nr	���c3�(�K�|]}�|V��
dSrrr�s  �rr�zHTestBasicOps.test_permutations.<locals>.permutations1.<locals>.<genexpr>�s'�����5�5�A��Q��5�5�5�5�5�5rrc3�(�K�|]}�|V��
dSrrr�s  �rr�zHTestBasicOps.test_permutations.<locals>.permutations1.<locals>.<genexpr>�s'�����#A�#A��D��G�#A�#A�#A�#A�#A�#Arr�)rGrNr+r��cyclesrr�r�s       @r�
permutations1z5TestBasicOps.test_permutations.<locals>.permutations1�s������3���?�?�D��D�	�	�A��Y���A�A��1�u�u����5��8�8�n�n�G��%��!��A��q��s�+�+�,�,�T�T�r�T�2�F��5�5�5�5���!���5�5�5�5�5�5�5�5��
�!�%��(�(�+�+���A��1�I�I�I��N�I�I�I��a�y�A�~�~�&-�a��c�d�d�m�g�a��!��e�n�&D������$%��E��q�	�	�"�1�I��29�1�"�+�w�q�z�/���
�G�Q�B�K�#�#A�#A�#A�#A�W�R�a�R�[�#A�#A�#A�A�A�A�A�A����F��
�
�
�
�
rc3��K�	t|���t���}|�|n|}tt|��|���D]?}tt	|����|krt�fd�|D����V��@dS)Nrc3�(�K�|]}�|V��
dSrrr�s  �rr�zHTestBasicOps.test_permutations.<locals>.permutations2.<locals>.<genexpr>�r�r)r�r�rr*r�r�s    @r�
permutations2z5TestBasicOps.test_permutations.<locals>.permutations2�s������3���?�?�D��D�	�	�A��Y���A�A�"�5��8�8�A�6�6�6�
:�
:���s�7�|�|�$�$��)�)��9�9�9�9��9�9�9�9�9�9�9�9��
:�
:rr�c��g|]
}d|zdz
��Sr�rr�s  rr_z2TestBasicOps.test_permutations.<locals>.<listcomp>�r�rrc3� �K�|]}|�vV��	dSrrr�s  �rr�z1TestBasicOps.test_permutations.<locals>.<genexpr>�r�rr)r�rkr�rrprr*r�rJr�r�r�r�rXr�r})	r1r;r>r+rNr��pr\r�s	        @r�test_permutationszTestBasicOps.test_permutations�s|������)�\�2�2�2����)�\�5�!�Q�?�?�?����)�\�4�8�8�8����*�l�E�2�>�>�>�����l�5�"�5�5�6�6��;�;�;����)�\�5�#�>�>�>�����l�5��8�8�Q�7�7�8�8�+U�+U�+U�	W�	W�	W�	�	�	�	�0	:�	:�	:�	:��q���	D�	D�A�/�/�e�A�h�h�/�/�/�F��1�Q�3�Z�Z�
D�
D���l�6�1�5�5�6�6��� � ��V���1�Q�3�3�a�a�D��G�G�d�1�Q�3�i�i�<O�P�P�P�� � ��V���c�#�f�+�+�.>�.>�?�?�?�� � ������8�8�8��A�A�A��$�$�S��V�V�Q�/�/�/��$�$�S��Q���[�[�!�4�4�4��O�O�C�'?�'?�'?�'?�Q�'?�'?�'?�$?�$?�@�@�@�@�� � ���m�m�F�A�.F�.F�)G�)G�H�H�H�� � ���m�m�F�A�.F�.F�)G�)G�H�H�H���6�6��$�$�V�T�,�v�t�2L�2L�-M�-M�N�N�N��$�$�V�T�,�v�2F�2F�-G�-G�H�H�H�"�6�#:�Q�#>�?�?�D�D�E��O�O�E�<���+B�+B�C�C�C�C�D�
D�	D�	Drc��|�ttf��5tdd��ddd��dS#1swxYwYdS)Nr�r-)r�rrr�r0s r�test_permutations_overflowz'TestBasicOps.test_permutations_overflow�s���
�
�
�
�{�;�
<�
<�	%�	%���e�$�$�$�	%�	%�	%�	%�	%�	%�	%�	%�	%�	%�	%�	%����	%�	%�	%�	%�	%�	%rc�d�|�tttttdd��������d��|�ttttttdd����������d��dSr)rpr�r�r�r
r�rrr0s r�test_permutations_tuple_reusez*TestBasicOps.test_permutations_tuple_reuse�r
rc���td��D�]�}dd|�}td��D�]��tt|������}tt|�����}tt	|�����}tt|�����}|�t|��|�z��|�t|��|r8t|�zdz
��t���zt|dz
��zn���|�t|���|krdn!t|��t|�z
��z��|�t|���|krdn1t|��t���zt|�z
��z��|�|tt|������|�|tt|������|�|tt|������|�|tt|������|�|d�|D����|�|�fd�|D����|�|d	�|D����|�|�fd
�|D����|�|ttt|��j|������|�|ttt|��j|������|�|tt|��t|��z����������dS)Nr��ABCDEFGr�rr	rc�R�g|]$}t|��t|��k�"|��%Sr�r�r�r^�ts  rr_z3TestBasicOps.test_combinatorics.<locals>.<listcomp>�s.��&M�&M�&M�Q�&��)�)�T�!�W�W�:L�:L�q�:L�:L�:Lrc�T��g|]$}tt|�����k�"|��%Sr�r�r��r^rLrNs  �rr_z3TestBasicOps.test_combinatorics.<locals>.<listcomp>�s*���'J�'J�'J�a�3�s�1�v�v�;�;��>�>��>�>�>rc�R�g|]$}t|��t|��k�"|��%SrrJrKs  rr_z3TestBasicOps.test_combinatorics.<locals>.<listcomp>�s.��'N�'N�'N�a�6�!�9�9�d�1�g�g�;M�;M��;M�;M�;Mrc�T��g|]$}tt|�����k�"|��%SrrNrOs  �rr_z3TestBasicOps.test_combinatorics.<locals>.<listcomp>�s*���'I�'I�'I�a�#�c�!�f�f�+�+�q�.�.��.�.�.r)
r*rrr�r�r�rpr�rJr�r��filter�__contains__)r1r+r[rHr(�perm�combrNs       @r�test_combinatoricszTestBasicOps.test_combinatorics�sw����q���	E�	E�A��"�1�"�
�A��1�X�X�
E�
E���G�A�a�0�0�0�1�1���8��A�>�>�?�?���L��A�.�.�/�/���L��A�.�.�/�/��� � ��T���A�q�D�1�1�1�� � ��S���QR�+_�D��1��Q��K�K�$�q�'�'�,A�4��!��9�9�,L�,L�]^�Y^�`�`�`�� � ��T����1���A�A�$�q�'�'�D��1��I�I�:M�N�N�N�� � ��T����1���A�A�$�q�'�'�D��G�G�:K�d�ST�UV�SV�i�i�:W�X�X�X�� � ��v�c�$�i�i�'8�'8�9�9�9�� � ��f�S��X�X�&6�&6�7�7�7�� � ��v�c�$�i�i�'8�'8�9�9�9�� � ��v�c�$�i�i�'8�'8�9�9�9�� � ��&M�&M�$�&M�&M�&M�N�N�N�� � ��'J�'J�'J�'J�4�'J�'J�'J�K�K�K�� � ��'N�'N�4�'N�'N�'N�O�O�O�� � ��'I�'I�'I�'I�3�'I�'I�'I�J�J�J�� � ��t�F�3�s�8�8�3H�$�,O�,O�'P�'P�Q�Q�Q�� � ��t�F�3�t�9�9�3I�3�,O�,O�'P�'P�Q�Q�Q�� � ��v�c�#�h�h��T���.B�'C�'C�D�D�D�D�3
E�	E�	Erc��|�ttdgd������td����|�ttdgd�����td����|�ttdgd�����td����|�ttdgd�����td����|�ttdgd�����td	����|�ttd
gd�����td����d
}t�tt
d��|����}t�td����}|�tt||����gd�|z��|�ttdt
d����|�ttt
d��d��|�ttt
d����|�ttt
d��d��d�d�gtzD�]}dgd�ddfdgd�ddfdgd�ddfdgd�d	dfd
gd�ddffD]�\}}}}|�t|t||�������t|����|�t|t||������t|����t||��}|rHt|��|�t||����t|�������dS)N�ABCDEF�r	rr	rr	r	)�data�	selectors�ACEF)rrrrrrr�)r	r	r	r	r	r	�r	rr	�ACr)rr	r	r	r	r	�BC�'r�r2�r	rr�c�*�tj|��Sr)r�r�s rr]z,TestBasicOps.test_compress.<locals>.<lambda>s��D�I�a�L�L�rc�*�tj|��Sr)r�r�r�s rr]z,TestBasicOps.test_compress.<locals>.<lambda>s��4�=��3C�3C�r�CEF�BCDEFr�)rpr�compressr�r�rr*r�rkr�rr)r1r+rZr[r��result1�result2r�s        r�
test_compresszTestBasicOps.test_compress�s�������h�H�
�
�
�N�N�N�O�O�QU�V\�Q]�Q]�^�^�^�����h�x����?�?�@�@�$�v�,�,�O�O�O�����h�x����?�?�@�@�$�r�(�(�K�K�K�����h�x����?�?�@�@�$�x�.�.�Q�Q�Q�����h�x����9�9�:�:�D��J�J�G�G�G�����h�u�m�m�m�<�<�=�=�t�D�z�z�J�J�J����"�"�6�%��(�(�A�#6�#6�7�7���'�'��v���7�7�	�����h�t�Y�7�7�8�8�'�'�'�A�+�F�F�F����)�X�t�U�1�X�X�>�>�>����)�X�u�Q�x�x��>�>�>����)�X�u�Q�x�x�8�8�8����)�X�u�Q�x�x��>�>�>�)�(�*C�*C�D�}�T�	P�	P�B��=�=�=�&�%�8��=�=�=�"�b�1��=�=�=�(�G�<��7�7�7�D�#�.��
�
�
�t�S�1�6�

P�

P�1��i��'�� � ��b�b��t�y�)Q�)Q�)Q�&R�&R�!S�!S�UY�Za�Ub�Ub�c�c�c�� � ��b�b��$�	�)B�)B�&C�&C�!D�!D�d�7�m�m�T�T�T�#+�D�)�#<�#<� ��P��)�*�*�*��$�$�T�"�"�-=�*>�*>�%?�%?��g���O�O�O��

P�	P�	Prc�L
�|�tdt����gd���|�tdtd����gd���|�tdtdtd������ddg��|�tdt	dtd������d	d
g��|�tdt	dtd������dd
g��|�ttddd��|�ttd��|�tdttdz
����tttdz
tdz������|�tdttdz
����tttdz
tdz������|�tdtd����gd���|�tdtd����gd���|�tdttd������td��td��td��g��|�tdttdd������tdd��tdd��tdd��g��ddz}|�tdt|����||dz|dzg��td��}|�t|��d��t|��|�t|��d��td��}|�t|��d��t|��|�t|��d ��|�ttd!����d"��|�ttd#����d$��|�tttd#������t��t jdz
t jdzd%dd&dt jdz
t jdzfD]I}tt|����}d'�|��}|�||���Jddtdz
tdzfD]�}t|��}|�tt%j|����|��|�tt%j|����|��tt(jdz��D]%}|�|t|�����&��tdtdz��t!j��dS)(Nr���rwr�rxr	�ryrr)�rwr�rxrb)ryr�rrorpr7)rwr7)rxr���)rwrq)rxr�rbrwrTr��
@)rrg@g@�
@�)rsy@��@��1.1z2.1z3.1r�r	��zcount(3)zcount(4)���z	count(-9)i����g�$@zcount(10.25)g$@zcount(10.0)���r�	count(%r))rpr�countrAr
r�rk�maxsizerr*rr�reprrrrq�float�sys�__mod__r�r�rXr�r}�exc_info)r1�BIGINTryr�r1�r2�valuer\s        r�
test_countzTestBasicOps.test_counts|������e�E�G�G�,�,�.L�.L�.L�M�M�M�����e�E�!�H�H�-�-�/M�/M�/M�N�N�N�����a��e�E�!�H�H�!5�!5�6�6��8�8L�M�M�M�����a��U�5��9�9�!5�!5�6�6��H�8M�N�N�N�����a��U�5��9�9�!5�!5�6�6��I�8N�O�O�O����)�U�A�q�!�4�4�4����)�U�C�0�0�0�����b�%���	�"2�"2�3�3��e�G�A�I�w�q�y�9�9�:�:�	<�	<�	<�����b�%����
�"3�"3�4�4��e�W�H�Q�J����
�;�;�<�<�	>�	>�	>�����a��t���-�-�/A�/A�/A�B�B�B�����a��w���0�0�2M�2M�2M�N�N�N�����a��w�u�~�~�!6�!6�7�7�!�%�.�.�'�%�.�.�'�%�.�.�I�	K�	K�	K�����a��x��1�~�~�!6�!6�7�7�"�1�a�.�.�(�1�a�.�.�(�1�a�.�.�I�	K�	K�	K��D�������a��v���/�/�&�&��(�F�1�H�1M�N�N�N��!�H�H������a���*�-�-�-��Q��������a���*�-�-�-��"�I�I������a���+�.�.�.��Q��������a���"�%�%�%�����e�E�l�l�+�+�^�<�<�<�����e�D�k�k�*�*�M�:�:�:�����d�5��;�;�/�/�0�0�%�8�8�8��;�,�q�.�3�;�,�q�.�#�r�1�b�#�+�a�-�QT�Q\�]^�Q^�_�	%�	%�A��e�A�h�h���B��$�$�Q�'�'�B����R��$�$�$�$���G�A�I�w�q�y�0�	5�	5�E��e���A����T�$�)�A�,�,�/�/��7�7�7����T�$�-��"2�"2�3�3�U�;�;�;��v�6��:�;�;�
5�
5������u�U�|�|�4�4�4�4�
5�	�a�������S�\�^�^�^�^�^rc�B�|�tdtdd����gd���|�tdtdd�����gd���|�tdtd�����gd���|�ttd	d
��|�tdtdd����gd���|�tdtdd
����gd���|�tdtdd����gd���|�tdttdz
d����tdttdz
tdzd������|�tdttdz
d����tdttdz
tdzd������|�tdtdtdz����ttdddtdzzztdz������|�tdtdd����gd���|�tdtdd����gd���|�tdttd��td������td��td��td��g��|�tdttdd��td
d������tdd��tdd��tdd��g��d
dz}|�tdt|�����d|d|zg��|�ttdtdd ������tgd!�����tdd��}|�t|��d"��t|��|�t|��d#��td$d��}|�t|��d%��t|��|�t|��d%��td$d&��}|�t|��d'��t|��|�t|��d(��|�t|��d(��|�ttd)d����d*��|�ttd)d
����d+��|�ttd)d,����d-��|�ttdd,����d.��tdd,��}|�tt|����t��|�tt|����t��t jdz
t jdzd/dddt jdz
t jdzfD]�}t jdz
t jdzd/ddd
dt jdz
t jdzf	D]�}tt||����}|d
krd0|z}n	d1|�d2|�d3�}|�||��tt"jd
z��D]&}|�|t||�����'����dS)4Nr�rr)�rwr)rxr�)ryr�)�start�stepr7)r�)rl)rxr7)ryr�rwrxr)r�)rxrrnr	)r�)rxr)ryrbr�r�r�rTr�g�?)rrrg@rs)rrty!@ �ruz.1z1.2z1.3r��r�rvg@)rTg)@g.@zcount(3, 5)zcount(8, 5)rwzcount(-9, 0)rqz
count(-9, -3)zcount(-12, -3)g%@zcount(10.5, 1.25)zcount(10.5)g�?zcount(10.5, 1.0)zcount(10, 1.0)rxryzcount(z, �))rprrzr�rkrAr{r*rrrr|rrrqr�r}r~rXr�r})r1r�ryrr�r�r�r\s        r�test_count_with_stridez#TestBasicOps.test_count_with_strideAs������e�E�!�A�J�J�/�/�1O�1O�1O�P�P�P�����e�E��q�$9�$9�$9�:�:�7�7�7�	9�	9�	9�����e�E�r�N�N�N�3�3�9�9�9�	;�	;�	;����)�U�C��5�5�5�����e�E�!�A�J�J�/�/�1O�1O�1O�P�P�P�����e�E�!�A�J�J�/�/�1O�1O�1O�P�P�P�����e�E�!�A�J�J�/�/�1O�1O�1O�P�P�P�����b�%���
�A�"6�"6�7�7��b�%��PR�
�T[�\_�T_�ab�Bc�Bc�9d�9d�e�e�e�����b�%�����Q�"7�"7�8�8�$�r�5�'��RT��V]�U]�^a�Ua�cd�Ce�Ce�:f�:f�g�g�g�����a��r�7�1�9�!5�!5�6�6��e�B��1�g�a�i�=�(8�'�!�)�D�D�E�E�	G�	G�	G�����a��q�$���0�0�.�.�.�A�A�A�����a��q�'�!2�!2�3�3�5I�5I�5I�J�J�J�����a��w�u�~�~�w�t�}�}�!E�!E�F�F�!�%�.�.�'�%�.�.�'�%�.�.�I�	K�	K�	K�����a��x��!�}�}�h�q��m�m�!D�!D�E�E�"�1�Q�-�-��"�R���(�2�b�/�/�J�	L�	L�	L��D�������a��F�!3�!3�!3�4�4�q�&�!�F�(�6K�L�L�L�����d�1�e�B��n�n�5�5�6�6��=M�=M�=M�8N�8N�O�O�O��!�Q�K�K������a���-�0�0�0��Q��������a���-�0�0�0��"�a�L�L������a���.�1�1�1��Q��������a���.�1�1�1��"�b�M�M������a���/�2�2�2��Q��������a���"2�3�3�3�����a���"2�3�3�3�����e�D�$�/�/�0�0�2E�F�F�F�����e�D�!�n�n�-�-�}�=�=�=�����e�D�$�/�/�0�0�2D�E�E�E�����e�B��o�o�.�.�0@�A�A�A��"�c�N�N������d�1�g�g����,�,�,�����d�1�g�g����.�.�.��;�,�q�.�3�;�,�q�.�#�r�1�b�#�+�a�-�QT�Q\�]^�Q^�_�
	8�
	8�A���|�A�~���|�A�~�s�B��1�b�#�+�VW�-�Y\�Yd�ef�Yf�g�	
8�	
8���%��1�+�+�&�&����6�6�%��/�B�B��./�Q�Q����2�B�� � ��R�(�(�(�"�6�#:�Q�#>�?�?�8�8�E��O�O�E�5��A�;�;�7�7�7�7�8�	
8�
	8�
	8rc
��|�tdtd����td����|�ttd����g��|�t
t��|�t
td��|�tt
tt����d����gd���dS)NrTr��
abcabcabcar�r�)
rr	rrr	rrr	rr)rprA�cyclerr�rkr?r r0s r�
test_cyclezTestBasicOps.test_cyclexs�������b�%��,�,�/�/��l�1C�1C�D�D�D�����e�B�i�i���"�-�-�-����)�U�+�+�+����)�U�A�.�.�.�����f�U�4�6�6�]�]�2�6�6�7�7�9N�9N�9N�O�O�O�O�Orc����td���|�t���d��|�tdt	j�����t
d����ttj	dz��D]�}|�tdtj
tj�|������t
d����t���|�tdtj
tj�|������t
d����t���t�����ttj	dz��D]%}|�|td�����&ttj	dz��D�])}td��}t|����fd�td	��D��}tj�|��}tj
|��}|�td
|��t
d����td��}t|����fd�td
��D��}tj�|��}tj
|��}|�td
|��t
d������+dS)Nr�rwrT�
bcabcabcabr	�
cabcabcabcr	c�.��g|]}t�����Sr�rr�r^rrys  �rr_z7TestBasicOps.test_cycle_copy_pickle.<locals>.<listcomp>�����+�+�+�Q��a���+�+�+rrr��cdeabcdeabcdeabcdeabc�.��g|]}t�����Srr�r�s  �rr_z7TestBasicOps.test_cycle_copy_pickle.<locals>.<listcomp>�r�rr�)r�rprrrAr�r�rr*rXr�rYrZr}r�)r1r\rl�_rAr�rys      @r�test_cycle_copy_picklez#TestBasicOps.test_cycle_copy_pickles�����%�L�L������a���#�&�&�&�	
����b�$�-��"2�"2�3�3�T�,�5G�5G�H�H�H��6�2�Q�6�7�7�	�	�E����T�"�f�l�6�<��5�3I�3I�&J�&J�K�K�!�,�/�/�
1�
1�
1���G�G�G����T�"�f�l�6�<��5�3I�3I�&J�&J�K�K�!�,�/�/�
1�
1�
1���G�G�G���G�G�G�G��6�2�Q�6�7�7�	1�	1�E��O�O�E�5��<�<�0�0�0�0��6�2�Q�6�7�7�	H�	H�E��g���B��b�	�	�A�+�+�+�+�%��(�(�+�+�+�A���Q��&�&�A���Q���A����T�"�a�[�[�$�/E�*F�*F�G�G�G��g���B��b�	�	�A�+�+�+�+�%��(�(�+�+�+�A���Q��&�&�A���Q���A����T�"�a�[�[�$�/E�*F�*F�G�G�G�G�	H�	Hrc��gd�}|D]<}tj|��}|�td|��gd����=dS)N)sHcitertools
cycle
(c__builtin__
iter
((lI1
aI2
aI3
atRI1
btR((lI1
aI0
tb.s?citertools
cycle
(c__builtin__
iter
(](KKKetRKbtR(]KaKtb.s>�citertools
cycle
c__builtin__
iter
](KKKe�RKb�R]KaK�b.s;�citertools
cycle
cbuiltins
iter
](KKKe�RKb�R]KaK�b.sH��=�	itertools�cycle��builtins�iter�](KKKe�RKb�R]KaK�b.sHcitertools
cycle
(c__builtin__
iter
((lp0
I1
aI2
aI3
atRI1
btR(g0
I1
tb.s?citertools
cycle
(c__builtin__
iter
(]q(KKKetRKbtR(hKtb.s>�citertools
cycle
c__builtin__
iter
]q(KKKe�RKb�RhK�b.s;�citertools
cycle
cbuiltins
iter
]q(KKKe�RKb�RhK�b.sG��<�	itertools�cycle��builtins�iter�]�(KKKe�RKb�RhK�b.sIcitertools
cycle
(c__builtin__
iter
((lI1
aI2
aI3
atRI1
btR((lI1
aI00
tb.sAcitertools
cycle
(c__builtin__
iter
(](KKKetRKbtR(]KaI00
tb.s=�citertools
cycle
c__builtin__
iter
](KKKe�RKb�R]Ka��b.s:�citertools
cycle
cbuiltins
iter
](KKKe�RKb�R]Ka��b.sG��<�	itertools�cycle��builtins�iter�](KKKe�RKb�R]Ka��b.sIcitertools
cycle
(c__builtin__
iter
((lp0
I1
aI2
aI3
atRI1
btR(g0
I01
tb.sAcitertools
cycle
(c__builtin__
iter
(]q(KKKetRKbtR(hI01
tb.s=�citertools
cycle
c__builtin__
iter
]q(KKKe�RKb�Rh��b.s:�citertools
cycle
cbuiltins
iter
]q(KKKe�RKb�Rh��b.sF��;�	itertools�cycle��builtins�iter�]�(KKKe�RKb�Rh��b.rT)
rrr	rrr	rrr	r)rXrYrprA)r1�	testcasesrLrls    r�test_cycle_unpickle_compatz'TestBasicOps.test_cycle_unpickle_compat�sg��
�
�
�	�4�	K�	K�A���a���B����T�"�b�\�\�+I�+I�+I�J�J�J�J�	K�	Krc���td��}|�td��df��|�t	d|��td����td��}|�td��df��|�t	d|��td����|�t��5td���td��dg��ddd��n#1swxYwY|�t��5td��}|�td��df��ddd��n#1swxYwYt	d|��|�t��5td���td��df��ddd��n#1swxYwY|�ttd	��jd
��|�ttd	��jgf��dS)N�defgr�rr��defgabcdefgabcdefgab�abcdefgr	rr�r)r�r�rrprAr�rkr�)r1rys  r�test_cycle_setstatez TestBasicOps.test_cycle_setstate�s���
�&�M�M��	����U���Q�'�(�(�(�����b�!���d�+A�&B�&B�C�C�C�
�&�M�M��	����Y����+�,�,�,�����b�!���d�+A�&B�&B�C�C�C��
�
�y�
)�
)�	=�	=��&�M�M�&�&��Y����';�<�<�<�	=�	=�	=�	=�	=�	=�	=�	=�	=�	=�	=����	=�	=�	=�	=��
�
�y�
)�
)�	/�	/��f�
�
�A�
�N�N�E�&�M�M�1�-�.�.�.�	/�	/�	/�	/�	/�	/�	/�	/�	/�	/�	/����	/�	/�	/�	/�	
�R������
�
�y�
)�
)�	?�	?��&�M�M�&�&��Y����'=�>�>�>�	?�	?�	?�	?�	?�	?�	?�	?�	?�	?�	?����	?�	?�	?�	?�	
���)�U�2�Y�Y�%;�R�@�@�@����)�U�2�Y�Y�%;�b�U�C�C�C�C�Cs6�#2D!�!D%�(D%�4F�F
�
F
�;2G9�9G=�G=c����|�gttg������|�gttgt�������|�t
ttdg����|�t
td��|�t
tdd�d��gd�}g}t|d���D];\}}|D]3}|�||d��|�|���4�<|�||��ttj	dz��D]�}g}tj
tjt|t��|����D];\}}|D]3}|�||d��|�|���4�<|�||����g}t|t��D]r\}}t|t��D]W\}}|D]O}|�||d��|�||d	��|�|���P�X�s|�||��ttj	dz��D]�}g}tj
tjt|t��|����D]�\}}tj
tjt|t��|����D]W\}}|D]O}|�||d��|�||d	��|�|���P�X��|�||����d
�t|t��D��}	td�|D����}
|�t|	��|
��|�t|	��t|
����tt!dtd
������}t|t��}t#|��\}}
t#|��\}}t#|��\}}|�t|
��g��|�t|��g��|�t#|��d��t|��|�t|��g��ttj	dz��D]�}t|t��}t#|��\}}t#|��t#|��|�ttj
tj||������g����d}d�tt%|����D��}|�|gd���d�tt%|����D��}|�|gd���d�tt%|����D��}|�|gd���t%d�tt%|����D��d���dd�}|�|gd���Gd�dt&���d#�fd�	}dtfd�}|��||d����|��||d����G�fd�d ��}|��|��dg}|��||t�!��|��||����fd"��d�_|��|dg���d�_|��|ddg���dS)$N��keyr�c��|Srrrs rr]z+TestBasicOps.test_groupby.<locals>.<lambda>����a�rrT))rrTr�)r�r�)rr�r�)r	�
r�)r	��)rr�r�)rr��)rr�r�c��|dSrLrrMs rr]z+TestBasicOps.test_groupby.<locals>.<lambda>�s
���!��rrr	rc��g|]\}}|��Srr�r^r#�gs   rr_z-TestBasicOps.test_groupby.<locals>.<listcomp>s��0�0�0�d�a���0�0�0rc��g|]
}|d��Sror)r^rNs  rr_z-TestBasicOps.test_groupby.<locals>.<listcomp>s��,�,�,�Q�A�a�D�,�,�,r�	AABBBAAAAr�)r�r��abracadabrac��g|]\}}|��Srrr�s   rr_z-TestBasicOps.test_groupby.<locals>.<listcomp>4s��.�.�.�4�1�a�Q�.�.�.r)rwrxryr�rNc	�T�g|]%\}}tt|dd�����#|��&Sr5r>r�s   rr_z-TestBasicOps.test_groupby.<locals>.<listcomp>7s3��E�E�E�4�1�a��f�Q�q��m�m�1D�1D�E�Q�E�E�Er)rwrxrNc�P�g|]#\}}tt|����|f��$Sr�r�rr�s   rr_z-TestBasicOps.test_groupby.<locals>.<listcomp>:s-��>�>�>�4�1�a�c�$�q�'�'�l�l�A�
�>�>�>r)�r�rw�rrx)r	ry)r	r��rrNc�P�g|]#\}}tt|����|f��$Srr�r�s   rr_z-TestBasicOps.test_groupby.<locals>.<listcomp>=s-��F�F�F�4�1�a�S��a���\�\�A�&�F�F�FrT)�reverser)r�r�r�c��eZdZdS)�0TestBasicOps.test_groupby.<locals>.ExpectedErrorN�r:r;r<rrr�
ExpectedErrorr�As�������Drr�c3�8�K�t|��D]}dV����)N�yor))r+rr�s  �r�
delayed_raisez0TestBasicOps.test_groupby.<locals>.delayed_raiseCs-������1�X�X�
�
���
�
�
�
��rc�<���fd�t||��D��S)Nc�,��g|]\}}�|����Srr)r^r#r��funcs   �rr_z;TestBasicOps.test_groupby.<locals>.gulp.<locals>.<listcomp>Hs%���@�@�@���1�D�D��G�G�@�@�@r)r')rG�keypr�s  `r�gulpz'TestBasicOps.test_groupby.<locals>.gulpGs'���@�@�@�@���$�(?�(?�@�@�@�@rc���eZdZ�fd�ZdS)�+TestBasicOps.test_groupby.<locals>.DummyCmpc�����rr)r1�dstr�s  �r�__eq__z2TestBasicOps.test_groupby.<locals>.DummyCmp.__eq__Qs	���#�#rN)r:r;r<r�)r�s�r�DummyCmpr�Ps.�������
$�
$�
$�
$�
$�
$�
$rr�)r�c�B���jdkr�xjdzc_|S��r)�skip)�objr��keyfuncs ��rr�z*TestBasicOps.test_groupby.<locals>.keyfunc[s+����|�a�������!����
�#�#rro)rprr'r
r�rk�appendr*rXr�rYrZrOrRr�r�r
rrr��	Exceptionr�)r1r[�dupr#r��elemr\�ik�ig�keys�expectedkeysrlr��g1�g2�g3rNr�r�r�r�r�s                    @@r�test_groupbyzTestBasicOps.test_groupby�sH��������T�'�"�+�+�.�.�/�/�/�����T�'�"�"�"5�"5�"5�6�6�7�7�7����)�T�7�5�"�+=�+=�>�>�>����)�W�d�3�3�3����)�W�e�Z�Z��D�D�D�
.�
.�
.�����A�}�}�-�-�	!�	!�D�A�q��
!�
!��� � ��D��G�,�,�,��
�
�4� � � � �
!�	
����C� � � ��6�2�Q�6�7�7�	%�	%�E��C���V�\�'�!�U�2C�2C�U�%K�%K�L�L�
%�
%���1��%�%�D��$�$�Q��Q��0�0�0��J�J�t�$�$�$�$�%�
���Q��$�$�$�$����A�u�%�%�	%�	%�D�A�q�!�!�V�,�,�
%�
%���B��%�%�D��$�$�Q��Q��0�0�0��$�$�R��a��1�1�1��J�J�t�$�$�$�$�%�
%�
	
����C� � � ��6�2�Q�6�7�7�	%�	%�E��C���V�\�'�!�U�2C�2C�U�%K�%K�L�L�
)�
)���1�$�l�6�<���6�8J�8J�E�+R�+R�S�S�)�)�F�B�� "�)�)���(�(��D��G�4�4�4��(�(��T�!�W�5�5�5��
�
�4�(�(�(�(�)�)�

���Q��$�$�$�$�1�0�g�a��/�/�0�0�0���,�,�!�,�,�,�-�-������T���L�1�1�1�����T���C��$5�$5�6�6�6�
��[�%��(�(�+�+�,�,��
�Q��
�
���R�����2��R�����2��R�����2�����b���2�&�&�&�����b���2�&�&�&�����b���8�,�,�,��R��������b���2�&�&�&��6�2�Q�6�7�7�	M�	M�E���E�"�"�B���8�8�D�A�q���H�H�H���H�H�H����T�&�,�v�|�A�u�/E�/E�"F�"F�G�G��L�L�L�L�
��.�.�7�6�!�9�9�-�-�.�.�.������5�5�5�6�6�6�E�E�7�6�!�9�9�-�-�E�E�E������O�O�O�,�,�,�>�>�7�6�!�9�9�+=�+=�>�>�>������N�N�N�O�O�O��F�F�7�6�!�9�9�3E�3E�F�F�F�PT�U�U�U�VX�WX�VX�Y������:�:�:�;�;�;�	�	�	�	�	�I�	�	�	�	 �	 �	 �	 �	 �	 �!%�4�	A�	A�	A�	A�	
���-��}�}�Q�/?�/?�@�@�@����-��}�}�Q�/?�/?�@�@�@�	$�	$�	$�	$�	$�	$�	$�	$�	$�	$��X�Z�Z�����T�*��	
���-��q�r��:�:�:����-��q�1�1�1�	$�	$�	$�	$�	$�	$�������-���v�w�?�?�?�������-���d�|�W�E�E�E�E�Erc��|�tttt	d������gd���|�ttdgd�����ddg��|�ttt
gd�����ddg��|�t
dttt������gd���|�tt��|�ttd���|�ttd	�t	d��d
��|�tttd��|�tttt	d��t	d������gd�}ttt	d����}|�ttj|����|��ttt	d����}|�ttj|����|��t	tjdz��D]�}ttt	d����}|�ttjtj||������|��t|��|�ttjtj||������|dd�����t	tjdz��D]:}ttt	d����}|�||���;dS)Nr�)rrrb�rr	rrrr	rrb)rrrbr�c��|Srrrs rr]z*TestBasicOps.test_filter.<locals>.<lambda>n���a�rc��|Srrrs rr]z*TestBasicOps.test_filter.<locals>.<lambda>or�rr�r)rprrRr"r*�boolrArzr�rkrrr�r�rXr�rYrZr}�r1�ansryr\s    r�test_filterzTestBasicOps.test_filterhs�������f�V�U�1�X�X�6�6�7�7����A�A�A�����f�T�;�;�;�7�7�8�8�1�Q�%�@�@�@�����f�T�;�;�;�7�7�8�8�1�Q�%�@�@�@�����a������!8�!8�9�9�9�9�9�E�E�E����)�V�,�,�,����)�V�Z�Z�8�8�8����)�V�Z�Z��q���1�E�E�E����)�V�V�Q�7�7�7����)�T�6�%��(�(�E�!�H�H�+E�+E�F�F�F��g�g���6�5��8�8�$�$������d�i��l�l�+�+�S�1�1�1��6�5��8�8�$�$������d�m�A�.�.�/�/��5�5�5��6�2�Q�6�7�7�	R�	R�E��v�u�Q�x�x�(�(�A����T�&�,�v�|�A�u�/E�/E�"F�"F�G�G��M�M�M���G�G�G����T�&�,�v�|�A�u�/E�/E�"F�"F�G�G��Q�R�R��Q�Q�Q�Q��6�2�Q�6�7�7�	&�	&�E��v�u�Q�x�x�(�(�A��O�O�E�1�%�%�%�%�	&�	&rc
�h�|�tttt	d������gd���|�ttdgd�����gd���|�ttt
gd�����gd���|�t
dttt������gd���|�tt��|�ttd���|�ttd�t	d��d	��|�tttd
��|�tttt	d��t	d������t	tjdz��D]8}|�
|ttt	d�������9dS)Nr�rar��rrrrb)r	rr�r�c��|Srrrs rr]z/TestBasicOps.test_filterfalse.<locals>.<lambda>����1�rc��|Srrrs rr]z/TestBasicOps.test_filterfalse.<locals>.<lambda>�r�rr�rr	)rpr�filterfalser"r*r�rArzr�rkrrrXr�r}�r1r\s  r�test_filterfalsezTestBasicOps.test_filterfalse�s�������k�&�%��(�(�;�;�<�<�g�g�g�F�F�F�����k�$����<�<�=�=�w�w�w�G�G�G�����k�$����<�<�=�=�w�w�w�G�G�G�����a��V�U�W�W�!=�!=�>�>�	�	�	�J�J�J����)�[�1�1�1����)�[�*�*�=�=�=����)�[�*�*�e�A�h�h��J�J�J����)�[�&�!�<�<�<����)�T�;�u�Q�x�x��q���+J�+J�K�K�K��6�2�Q�6�7�7�	B�	B�E��O�O�E�;�v�u�Q�x�x�#@�#@�A�A�A�A�	B�	Brc
��d�tdt����D��}|�|gd���|�ttdt	d������tdt	d������|�ttdt	d������tdt	d������|�t
dtdt������tdt	d������|�ttd����td����|�tt����t����|�ttd��|�ttt	d��d��|�d�tdd��D��tdd����|�d	�tdd��D��tdd����dS)
Nc��g|]	\}}||f��
Srr�r^r�ys   rr_z)TestBasicOps.test_zip.<locals>.<listcomp>�s ��4�4�4���A��!�u�4�4�4rr�rkr�r�rc�F�g|]}tt|������Sr�r�r�r^�pairs  rr_z)TestBasicOps.test_zip.<locals>.<listcomp>�s&��J�J�J��%��T�
�
�+�+�J�J�Jrr�c��g|]}|��Srrr�s  rr_z)TestBasicOps.test_zip.<locals>.<listcomp>�s��=�=�=�4�$�=�=�=r)	r
rzrprr*rrAr�rk)r1r�s  r�test_zipzTestBasicOps.test_zip�s
��4�4��U�5�7�7�!3�!3�4�4�4������<�<�<�=�=�=�����c�%��q���2�2�3�3�T�%��q���5J�5J�K�K�K�����c�(�E�!�H�H�5�5�6�6��X�u�Q�x�x�8P�8P�Q�Q�Q�����a��H�e�g�g� 6� 6�7�7��h��a���9Q�9Q�R�R�R�����c�(�m�m�,�,�d�8�n�n�=�=�=�����c�e�e���d�f�f�-�-�-����)�S�!�,�,�,����)�S�%��(�(�A�6�6�6����J�J��E�5�8I�8I�J�J�J��e�U�+�+�	-�	-�	-����=�=�3�u�e�+<�+<�=�=�=��e�U�+�+�	-�	-�	-�	-�	-rc���ttttdd������}|�t|��t
|����tttttdd��������}|�tt�	|����t|����d�tj
tdt������D��}|�|gd���d�tjtdt������D��}|�|gd���ttjdz��D]e}d�tjtjtdt����|����D��}|�|gd����fttjdz��D]v}tdt����}t%|��d�tjtj||����D��}|�|d	d
g���wttjdz��D]2}|�|tdt�������3dS)Nr�r�c��g|]	\}}||f��
Srrr�s   rr_z5TestBasicOps.test_zip_tuple_reuse.<locals>.<listcomp>�s ��?�?�?���A��!�u�?�?�?rrkc��g|]	\}}||f��
Srrr�s   rr_z5TestBasicOps.test_zip_tuple_reuse.<locals>.<listcomp>�s ��C�C�C���A��!�u�C�C�Crr	c��g|]	\}}||f��
Srrr�s   rr_z5TestBasicOps.test_zip_tuple_reuse.<locals>.<listcomp>�s ��[�[�[�T�Q��A�a�5�[�[�[rc��g|]	\}}||f��
Srrr�s   rr_z5TestBasicOps.test_zip_tuple_reuse.<locals>.<listcomp>�s ��Y�Y�Y�T�Q��A�a�5�Y�Y�Yrrmrn)rr�r
r
rpr�r�r��dict�fromkeysr�rzr�r*rXr�rYrZrrr})r1�idsr�r\r�s     r�test_zip_tuple_reusez!TestBasicOps.test_zip_tuple_reuse�s����3�r�3�u�e�,�,�-�-�.�.������S���3�s�8�8�,�,�,��3�r�4��E�5� 1� 1�2�2�3�3�4�4������T�]�]�3�/�/�0�0�#�c�(�(�;�;�;�@�?���3�u�U�W�W�+=�+=�!>�!>�?�?�?������<�<�<�=�=�=�C�C���s�5����/A�/A�!B�!B�C�C�C������<�<�<�=�=�=��6�2�Q�6�7�7�	B�	B�E�[�[�V�\�&�,�s�5����?Q�?Q�SX�2Y�2Y�%Z�%Z�[�[�[�C����S�"@�"@�"@�A�A�A�A��6�2�Q�6�7�7�	8�	8�E�"�5����1�1���!�"�"�"�Y�Y�V�\�&�,�?O�QV�2W�2W�%X�%X�Y�Y�Y�C����S�8�X�"6�7�7�7�7��6�2�Q�6�7�7�	8�	8�E��O�O�E�3�u�e�g�g�#6�#6�7�7�7�7�	8�	8rc�B	��dtd��gtd��dgtd��tdd��tdd��gtd��td��tdd��td	��td
��gtd��td��tdd��td	��td
��td��gfD]ۊ�fd�tttt�������D��}|�tt
����|��|�tt
�ii����|��d�|D��}|�tt
�itd
�������|����|�tdt
dt������ttdtd��������|�tt
����tt������|�tt
g����ttg������|�tt
d����ttd������|�tt
dii����tttd��dgzd������|�ttd��|�tttd��d��dD]T}	t|t��t����|�d|z���E#t$rY�QwxYw|�d�t
dd��D��ttdd������|�d�t
dd��D��ttdd������dS)Nr�r�rv��i4i�i�ri�i�c�H���g|]�t�fd��D������S)c�J��g|]}�t|��kr|�nd�� Sr�r�)r^�argrs  �rr_z;TestBasicOps.test_ziplongest.<locals>.<listcomp>.<listcomp>�s/���N�N�N�#�q�3�s�8�8�|�|�S��V�V��N�N�Nr�r�)r^rrs @�rr_z0TestBasicOps.test_ziplongest.<locals>.<listcomp>�sG����;�;�;���N�N�N�N��N�N�N�O�O�;�;�;rc�@�g|]}td�|D������S)c3�&K�|]}|durdp|V��
dS)N�Xr)r^rfs  rr�z:TestBasicOps.test_ziplongest.<locals>.<listcomp>.<genexpr>�s0����@�@��Q�$�Y�.�3�3�!�@�@�@�@�@�@rr
rKs  rr_z0TestBasicOps.test_ziplongest.<locals>.<listcomp>�s/��Q�Q�Q�Q�e�@�@�a�@�@�@�@�@�Q�Q�Qrr
��	fillvaluerr�r�)zzip_longest('abc', fv=1)z3zip_longest('abc', fillvalue=1, bogus_keyword=None)zDid not raise Type in:  c�F�g|]}tt|������Srr�r�s  rr_z0TestBasicOps.test_ziplongest.<locals>.<listcomp>�s&��R�R�R��%��T�
�
�+�+�R�R�Rrr�c��g|]}|��Srrr�s  rr_z0TestBasicOps.test_ziplongest.<locals>.<listcomp>�s��E�E�E�4�$�E�E�Er)r�r�)r*r�r�r�rpr�zip_longestrrArzr
r�rk�eval�globals�locals�fail)r1�target�stmtrs   @r�test_ziplongestzTestBasicOps.test_ziplongest�s�����a���!��q���5�!��t���e�D��.�.��d�4�0@�0@�A��t���e�A�h�h��d�4�(8�(8�%��+�+�u�T�{�{�S��t���e�A�h�h��d�4�(8�(8�%��+�+�u�T�{�{�TY�Z[�T\�T\�]��	V�	V�D�;�;�;�;�$�S��S�$���%8�%8�9�9�;�;�;�F����T�+�t�"4�5�5�v�>�>�>����T�+�t�":�r�":�":�;�;�V�D�D�D�Q�Q�&�Q�Q�Q�F����T�+�t�"K�t�c�7J�7J�7J�"K�"K�L�L�f�U�U�U�U�����a��H�e�g�g� >� >�?�?��c�(�TY�Z[�T\�T\�F]�F]�A^�A^�_�_�_�����k�m�m�,�,�d�3�5�5�k�k�:�:�:�����k�"�o�o�.�.��S��W�W�
�
�>�>�>�����k�(�3�3�4�4�d�3�x�=�=�6I�6I�J�J�J�����k�>�>�2�>�>�?�?��c�$�u�+�+�t�f�"4�f�=�=�>�>�	@�	@�	@����)�[�!�4�4�4����)�[�%��(�(�A�>�>�>�
�		=�		=�D�
=��T�7�9�9�f�h�h�/�/�/��	�	�4�t�;�<�<�<�<���
�
�
���
����
	
���R�R��E�5�8Q�8Q�R�R�R��c�%��/�/�0�0�	2�	2�	2����E�E�;�u�e�+D�+D�E�E�E��c�%��/�/�0�0�	2�	2�	2�	2�	2s�;)O=�=
P
�	P
c���ttttdd������}|�t|��t
|����tttttdd��������}|�tt�	|����t|����dS)Nr�r�)
rr�r
rrpr�r�r�rr)r1rs  r�test_zip_longest_tuple_reusez)TestBasicOps.test_zip_longest_tuple_reuse�s����3�r�;�u�e�4�4�5�5�6�6������S���3�s�8�8�,�,�,��3�r�4��E�5� 9� 9�:�:�;�;�<�<������T�]�]�3�/�/�0�0�#�c�(�(�;�;�;�;�;rc	�h�ttjdz��D]�}|�|t	dd����|�|t	dd����|�|t	ddd�����|�|t	dd������dS)Nr	r�r��defghrr�)r*rXr�r}rr�s  r�test_zip_longest_picklingz&TestBasicOps.test_zip_longest_pickling�s����6�2�Q�6�7�7�	=�	=�E��O�O�E�;�u�e�#<�#<�=�=�=��O�O�E�;�u�g�#>�#>�?�?�?��O�O�E�;�u�g��#K�#K�#K�L�L�L��O�O�E�;�r�7�#;�#;�<�<�<�<�		=�	=rc�
��t���G�fd�d��}|�t��5}t|����ddd��n#1swxYwY|�|j���dS)Nc���eZdZ�fd�ZdS)�?TestBasicOps.test_zip_longest_bad_iterable.<locals>.BadIterablec�����rr)r1�	exceptions �rr2zHTestBasicOps.test_zip_longest_bad_iterable.<locals>.BadIterable.__iter__�s����rN)r:r;r<r2)r#s�r�BadIterabler!�s.�������
 �
 �
 �
 �
 �
 �
 rr$)rkr�r�assertIsr#)r1r$�cmr#s   @r�test_zip_longest_bad_iterablez*TestBasicOps.test_zip_longest_bad_iterable�s�����K�K�	�	 �	 �	 �	 �	 �	 �	 �	 �	 �	 ��
�
�y�
)�
)�	'�R����
�
�&�&�&�	'�	'�	'�	'�	'�	'�	'�	'�	'�	'�	'����	'�	'�	'�	'�	
�
�
�b�l�I�.�.�.�.�.s�A�A!�$A!c�2�Gd�d��}|ddt��}|ddt��}d�}|�|||��gd���|ddt��}|ddt��}t||d	�
��}|�t	|��d��|�t	|��d��|�t	|��d��|�tt|��dS)Nc� �eZdZd�Zd�Zd�ZdS)�,TestBasicOps.test_bug_7244.<locals>.Repeaterc�J�||_t|��|_||_dSr)�or�rLrf)r1r,rLrfs    r�__init__z5TestBasicOps.test_bug_7244.<locals>.Repeater.__init__s!������Q���������rc��|Srrr0s rr2z5TestBasicOps.test_bug_7244.<locals>.Repeater.__iter__����rc�T�|jdkr|xjdzc_|jS|j�r)rLr,rfr0s rr7z5TestBasicOps.test_bug_7244.<locals>.Repeater.__next__	s*���6�A�:�:��F�F�a�K�F�F��6�M��&�LrN�r:r;r<r-r2r7rrr�Repeaterr*sA������
�
�
�
�
�
�
!�
!�
!�
!�
!rr2r	rrrbc���g}t||d���D]Y\}}tjd��5t||f��ddd��n#1swxYwY|�||f���Z|S)Nrr�stdout)rr�captured_output�printr�)r�r�r�rr�s     r�runz'TestBasicOps.test_bug_7244.<locals>.runs����F�#�B��a�8�8�8�
&�
&���1��,�X�6�6�"�"��1�a�&�M�M�M�"�"�"�"�"�"�"�"�"�"�"����"�"�"�"��
�
�q�!�f�%�%�%�%��Ms�A�A	�A	)r5r5r5r3rrr5)r6rprhrrrr�)r1r2r�r�r7rls      r�
test_bug_7244zTestBasicOps.test_bug_7244�s8��
	!�
	!�
	!�
	!�
	!�
	!�
	!�
	!�"�X�a��M�
*�
*��
�X�a��M�
*�
*��	�	�	�	
�����R����&B�&B�&B�C�C�C��X�a��L�
)�
)��
�X�a��M�
*�
*��
��R�1�
-�
-�
-������b���6�*�*�*�����b���6�*�*�*�����b���6�*�*�*����,��b�1�1�1�1�1rc��|�ttd����g��|�ttd����g��|�ttd����dg��f|�ttd����gd���|�tttd������tt	td��tdd��������|�t��5t��ddd��n#1swxYwY|�t��5td	d
��ddd��n#1swxYwY|�t��5td	���ddd��n#1swxYwY|�t��5td��ddd��dS#1swxYwYdS)Nr�rwr��rwrxr	)r:)rxry)ryr�)r�rfr`r	r�rTrF)rpr�pairwiser*r
r�rkr0s r�
test_pairwisezTestBasicOps.test_pairwise's�������h�r�l�l�+�+�R�0�0�0�����h�s�m�m�,�,�b�1�1�1�����h�t�n�n�-�-�)�l�	,�	,�	-�	-�����h�w�/�/�0�0�N�N�N�	P�	P�	P�����h�u�V�}�}�5�5�6�6��c�%��-�-��q�&�1A�1A�B�B�C�C�	E�	E�	E��
�
�y�
)�
)�	�	��J�J�J�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�
�
�y�
)�
)�	 �	 ��U�B����	 �	 �	 �	 �	 �	 �	 �	 �	 �	 �	 ����	 �	 �	 �	 �
�
�
�y�
)�
)�	%�	%��e�$�$�$�$�	%�	%�	%�	%�	%�	%�	%�	%�	%�	%�	%����	%�	%�	%�	%�
�
�
�y�
)�
)�	�	��T�N�N�N�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	sH�E-�-E1�4E1�F/�/F3�6F3�G1�1G5�8G5�H3�3H7�:H7c���gdgfdgddgftd��td��ggd�ftd��td��td��ggftd��td��td��ggftd��td��td��ggffD]�\}}|�tt|���|��td	��D]T}|�tt||z���tt|it	|�
���������U��|�ttttd��gdz�����d
��|�tttd��d��d�}d�}dddtd��td	��t	ddd���td��td��ttd����g	�td��D�]I}�fd�ttjd����D��}ttt
|����}|�ttt|�����|��|�tt|���t||�����|�tt|���t||�����tt|��}|�ttt|�����|����KdS)Nrr�r��rxrr�)rrr2r3r4)r	r	r5rrbrr�r�i��c?�xK�ttt|����|�dd��z}t	|��}|dkrdV�dStd�|D����rdSdg|z}td�t
||��D����V�	tt|����D]z}||t	||��dz
kr�%||xxdz
cc<t|dz|��D]}d||<�td�t
||��D����V�ndS��)Nrr	rrc3�<K�|]}t|��dkV��dS)rNr)r^r�s  rr�z>TestBasicOps.test_product.<locals>.product1.<locals>.<genexpr>Ps,����4�4�d�3�t�9�9��>�4�4�4�4�4�4rc3�,K�|]\}}||V��dSrr�r^r�rs   rr�z>TestBasicOps.test_product.<locals>.product1.<locals>.<genexpr>Ss*����C�C�G�D�!��Q��C�C�C�C�C�Crc3�,K�|]\}}||V��dSrrrCs   rr�z>TestBasicOps.test_product.<locals>.product1.<locals>.<genexpr>[s*����K�K�G�D�!��Q��K�K�K�K�K�Kr)	rr�r��getr��anyr
r�r*)r�kwds�poolsr+r�rr�s       r�product1z+TestBasicOps.test_product.<locals>.product1Jsh������U�D�)�)�*�*�T�X�X�h��-B�-B�B�E��E�
�
�A��A�v�v��������4�4�e�4�4�4�4�4�
����c�A�g�G��C�C�s�5�'�/B�/B�C�C�C�C�C�C�C�C�

�!�%��(�(�+�+�	�	�A��q�z�S��q��]�]�Q�%6�6�6� ��A�J�J�J�!�O�J�J�J�"�1�Q�3��]�]�'�'��%&���
�
��K�K�s�5�'�7J�7J�K�K�K�K�K�K�K�K��E��F�

rc?���K�	ttt|����|�dd��z}gg}|D]��fd�|D��}�|D]}t|��V��dS)Nrr	c�&��g|]
}�D]}||gz��	�Srr)r^rr�r�s   �rr_z?TestBasicOps.test_product.<locals>.product2.<locals>.<listcomp>es,���>�>�>�A��>�>�A�!�Q�C�%�>�>�>�>r)rr�r�rE)rrGrHr�rHr�s     @r�product2z+TestBasicOps.test_product.<locals>.product2`s������.���U�D�)�)�*�*�T�X�X�h��-B�-B�B�E��T�F��
?�
?��>�>�>�>��>�>�>����
"�
"���D�k�k�!�!�!�!�
"�
"rr�r�r	)rwrxryr�r�r�r�c�8��g|]}tj�����Sr)�random�choice)r^r��argtypess  �rr_z-TestBasicOps.test_product.<locals>.<listcomp>ls#���P�P�P��F�M�(�+�+�P�P�Prr�)r*rprrrr�r�rkr�r�rN�	randrangerHr�r�)	r1rr�rNrIrLr�expected_lenrPs	        @r�test_productzTestBasicOps.test_product:s<���
�"��J��V�f�f�%�&��A�h�h��a���
!�#M�#M�#M�N��A�h�h��a���%��(�(�
+�R�0��A�h�h��a���%��(�(�
+�R�0��A�h�h��a���%��(�(�
+�R�0�
�	I�	I�L�D�&�
���T�'�4�.�1�1�6�:�:�:��1�X�X�
I�
I��� � ��g��Q��&8�!9�!9�!%�g�t�&F�t�1�~�~�~�&F�&F�!G�!G�I�I�I�I�
I�	
����T�'�E�!�H�H�:�a�<�"8�9�9�:�:�D�A�A�A����)�W�e�A�h�h��=�=�=�	�	�	�,	"�	"�	"���r�5��8�8�U�1�X�X�t�a�1��7J�7J�7J��	�N�N�E�"�I�I�u�U�2�Y�Y�/?�/?�A���s���	F�	F�A�P�P�P�P�U�6�;K�A�;N�;N�5O�5O�P�P�P�D���C����/�/�L����S��g�t�n�!5�!5�6�6��E�E�E����T�'�4�.�1�1�4���$��3H�3H�I�I�I����T�'�4�.�1�1�4���$��3H�3H�I�I�I��t�T�?�?�D����S��g�t�n�!5�!5�6�6��E�E�E�E�	F�	Frc��|�ttf��5tdgdzddi�ddd��dS#1swxYwYdS)Nr�r�ri)r�rrrr0s r�test_product_overflowz"TestBasicOps.test_product_overflowts���
�
�
�
�{�;�
<�
<�	2�	2��t�f�T�k�1�5�1�1�1�	2�	2�	2�	2�	2�	2�	2�	2�	2�	2�	2�	2����	2�	2�	2�	2�	2�	2rc�d�|�tttttdd��������d��|�ttttttdd����������d��dS)Nr�r�r	)rpr�r�r�r
rrrr0s r�test_product_tuple_reusez%TestBasicOps.test_product_tuple_reuseys�������S��R����)>�)>�!?�!?�@�@�A�A�1�E�E�E����C��C��D����1F�1F�,G�,G�$H�$H� I� I�J�J�A�N�N�N�N�Nrc
���gdgfdgddgftd��td��ggd�ftd��td��td��ggftd��td��td��ggftd��td��td��ggffD]�\}}|�ttjt	|�����|��|�ttjt	|�����|��ttjd	z��D]}|�|t	|���� ��dS)
Nrr�r�r>rrr?rr	)	r*rprr�rr�rXr�r})r1rr�r\s    r�test_product_picklingz"TestBasicOps.test_product_pickling~sW���"��J��V�f�f�%�&��A�h�h��a���
!�#M�#M�#M�N��A�h�h��a���%��(�(�
+�R�0��A�h�h��a���%��(�(�
+�R�0��A�h�h��a���%��(�(�
+�R�0�
�	7�	7�L�D�&�
���T�$�)�G�T�N�";�";�<�<�f�E�E�E����T�$�-����"?�"?�@�@�&�I�I�I��v�6��:�;�;�
7�
7������w��~�6�6�6�6�
7�	7�	7rc�$�tdd��}|�d��|�t|��d��tddd��}|�d��|�t
t|��dS)Nr5)r)r��rrr)rrr[)rr�rprrr�r6)r1rAs  r�test_product_issue_25021z%TestBasicOps.test_product_issue_25021�s����F�4� � ��	���{�#�#�#�����a���&�)�)�)��F�B��%�%��	���~�&�&�&����-��q�1�1�1�1�1rc�r�|�ttdd�����gd���|�tt	d��td����gd���|�ttdd����gd���|�tdtd����gd���|�ttdd����g��|�ttdd����g��|�tt��|�ttddd��|�ttdd��td	��}|�t|��d
��td	d��}|�t|��d��t|��|�t|��d
��tdd���}|�t|��d��|�tdtj
|����td����|�tdtj|����td����t	tj
dz��D]'}|�|tdd������(dS)Nrwr)�object�times)rwrwrw))rrw�r	rw)rrwrrqrby�?zrepeat((1+0j))r�zrepeat((1+0j), 5)zrepeat((1+0j), 0)rTr�aar	)rprrrr*rAr�rkr|rrr�r�rXr�r})r1rNryr\s    r�test_repeatzTestBasicOps.test_repeat�s�������f�C�q�9�9�9�:�:�O�O�O�L�L�L�����e�A�h�h�v�c�{�{�3�3�7�7�7�	9�	9�	9�����f�S�!�n�n�-�-����?�?�?�����a�����-�-����?�?�?�����f�S�!�n�n�-�-�r�2�2�2�����f�S�"�o�o�.�.��3�3�3����)�V�,�,�,����)�V�T�1�a�8�8�8����)�V�T�3�7�7�7��4�L�L������a���"2�3�3�3��4��O�O������a���"5�6�6�6��Q��������a���"5�6�6�6�
�#�R�(�(�(������a���#�&�&�&�����a���1���.�.��W�
�
�>�>�>�����a���q�!1�!1�2�2�D��M�M�B�B�B��6�2�Q�6�7�7�	A�	A�E��O�O�E�6��B�#?�#?�#?�@�@�@�@�	A�	Arc��|�ttdd����d��|�ttdd����d��|�ttdd�����d��|�ttdd�����d��dS)Nrwr7zrepeat('a', 0)r��r`)rpr|rr0s r�test_repeat_with_negative_timesz,TestBasicOps.test_repeat_with_negative_times�s�������f�S�"�o�o�.�.�0@�A�A�A�����f�S�"�o�o�.�.�0@�A�A�A�����f�S��3�3�3�4�4�6F�G�G�G�����f�S��3�3�3�4�4�6F�G�G�G�G�Grc�`�|�tttjtd��tdd������gd���|�tttdtd������gd���|�tttdt������gd���|�tdttdt������d	d
g��|�tttjg����g��|�	tt��|�	tttdtd��td������|�	tttj��|�	tttdtd������|�	ttttdgdg����|�	ttttdgdg����gd�}ttdt����}|�tt!j|����|��ttdt����}|�tt!j|����|��tt$jdz��D]:}ttdt����}|�||���;dS)
Nrr	r��rr	r�r�r�rkrrlrmrTrb)rprr�rD�powr*r'rzrAr�rk�negrrrrrr�r�rXr�r}r�s    r�test_mapzTestBasicOps.test_map�s�������c�(�,��a���%��!�*�*�E�E�F�F�+�+�+�	-�	-�	-�����c�(�E�5��8�8�<�<�=�=�2�2�2�	4�	4�	4�����c�(�E�5�7�7�;�;�<�<�2�2�2�	4�	4�	4�����a��H�e�U�W�W� =� =�>�>�!�'�*�	,�	,�	,�����c�(�,��3�3�4�4�b�9�9�9����)�S�)�)�)����)�T�3�t�U�1�X�X�u�Q�x�x�+H�+H�I�I�I����)�S�(�,�7�7�7����)�T�3�r�5��8�8�+<�+<�=�=�=����*�d�C��!��q�c�,B�,B�C�C�C����)�T�3�v��s�Q�C�+@�+@�A�A�A�(�'�'����%����)�)������d�i��l�l�+�+�S�1�1�1���%����)�)������d�m�A�.�.�/�/��5�5�5��6�2�Q�6�7�7�	&�	&�E��H�e�U�W�W�-�-�A��O�O�E�1�%�%�%�%�	&�	&rc���|�tttjtt
d��t
dd��������gd���|�tdttjtt��td��������gd���|�tttjg����g��|�tttjtddg��g����dg��|�
ttttjdg����|�
tt��|�
tttjdgd	��|�
tttd
dg����|�
ttttdg����|�
ttttdg����gd�}ttjtt
d��t
dd������}|�tt!j|����|��ttjtt
d��t
dd������}|�tt!j|����|��t
t$jdz��D][}ttjtt
d��t
dd������}|�||���\dS)Nrr	r�rhrbr�i�rbr��extrarT)rpr�starmaprDrir
r*rArzr�r�rkrrrrrr�r�rXr�r}r�s    r�test_starmapzTestBasicOps.test_starmap�s�������g�h�l�C��a���%��!�*�*�4M�4M�N�N�O�O�+�+�+�	-�	-�	-�����a����s�5�7�7�E�!�H�H�7M�7M�!N�!N�O�O�+�+�+�	-�	-�	-�����g�h�l�B�7�7�8�8�"�=�=�=�����g�h�l�T�1�Q�%�[�[�M�B�B�C�C�d�V�L�L�L����)�T�7�8�<�$��+H�+H�I�I�I����)�W�-�-�-����)�W�h�l�U�G�W�M�M�M����)�T�7�2��w�+?�+?�@�@�@����*�d�G�G�e�W�,E�,E�F�F�F����)�T�7�6�E�7�+C�+C�D�D�D�!� � ���H�L�#�e�A�h�h��a��
�
�";�";�<�<������d�i��l�l�+�+�S�1�1�1��H�L�#�e�A�h�h��a��
�
�";�";�<�<������d�m�A�.�.�/�/��5�5�5��6�2�Q�6�7�7�	&�	&�E����c�%��(�(�E�!�A�J�J�&?�&?�@�@�A��O�O�E�1�%�%�%�%�	&�	&rc���dD]Q}|�tttd��g|�R���tt|������RdD]T\}}|�tttd��g|�R���tt|������U|�tttd��d����ttd������|�tttd��dd����ttd������|�tttd��ddd����ttd������|�tttd��dd����ttdd������|�tttd��ddd����ttddd������t	td����}|�tt|d����ttd������|�t|��ttdd������t	td����}|�tt|dd����g��|�t|��ttdd������td��}|�tt|��|�tt|dddd��|�tt|d	dd��|�tt|dd	d
��|�tt|ddd
��|�tt|ddd��|�tt|d��|�tt|dd��|�tt|dd��|�tt|ddd��|�tt|ddd��|�tttt��ddt������d��t��}|�tt|ddd
����dg��|�t|��d��dD�]}|�ttjttd��g|�R�����tt|�����|�ttj
ttd��g|�R�����tt|�����ttjdz��D]0}|�|ttd��g|�R����1��d�dD��}t#j|��}t|d��}|�|����t|��t)j��|�|����Gd�dt.��}|�tttd��|d������ttd������|�tttd��|d��|d
������ttdd
������|�tttd��|d��|d
��|d������ttdd
d������dS)N)�rTr�r�rTrr��rTr�)rTrT�rTr�r�r�)))rTr�r)rTr�r))rTr�)rTr�))r�)r�rTrr	rrb���r7rrw�2)rrrsrtrurvc3�K�|]}|V��dSrrr�s  rr�z+TestBasicOps.test_islice.<locals>.<genexpr>9s"����
 �
 �A�a�
 �
 �
 �
 �
 �
 rr5c��eZdZd�Zd�ZdS)�)TestBasicOps.test_islice.<locals>.IntLikec��||_dSr��val�r1r~s  rr-z2TestBasicOps.test_islice.<locals>.IntLike.__init__Ds
������rc��|jSrr}r0s r�	__index__z3TestBasicOps.test_islice.<locals>.IntLike.__index__Fs	���x�rN)r:r;r<r-r�rrr�IntLiker{Cs2������
�
�
�
 �
 �
 �
 �
 rr�r�)rprr?r*r�r�rkrr�rzr{rrr�r�rXr�r}�weakref�ref�assertIsNotNoner�
gc_collect�assertIsNoner_)	r1r�tgtargsrl�raryr\�wrr�s	         r�test_islicezTestBasicOps.test_islice�sj���		1�		1�D�
���T�&��s���";�d�";�";�";�<�<�!�%��,�/�/�
1�
1�
1�
1��	4�	4�M�D�'�

���T�&��s���";�d�";�";�";�<�<�!�%��/�2�2�
4�
4�
4�
4�	
����f�U�2�Y�Y��5�5�6�6��U�2�Y�Y���H�H�H�����f�U�2�Y�Y��d�;�;�<�<�d�5��9�9�o�o�N�N�N�����f�U�2�Y�Y��d�D�A�A�B�B�D��r���O�O�T�T�T�����f�U�2�Y�Y��4�8�8�9�9�4��a����;M�;M�N�N�N�����f�U�2�Y�Y��4��;�;�<�<�d�5��B�PQ�?�?�>S�>S�T�T�T��%��)�)�_�_������f�R��m�m�,�,�d�5��8�8�n�n�=�=�=�����b���4��a����#5�#5�6�6�6�
�%��)�)�_�_������f�R��A�.�.�/�/��4�4�4�����b���4��a����#5�#5�6�6�6��2�Y�Y�����)�V�R�0�0�0����)�V�R��A�q�!�<�<�<����*�f�b�"�b�!�<�<�<����*�f�b�!�R��<�<�<����*�f�b�!�R��<�<�<����*�f�b�!�R��;�;�;����*�f�b�#�6�6�6����*�f�b�#�q�9�9�9����*�f�b�!�S�9�9�9����*�f�b�#�q�!�<�<�<����*�f�b�!�S�!�<�<�<�����T�&����!�R��"A�"A�B�B�C�C�Q�G�G�G�
�G�G������f�Q��1�b�1�1�2�2�Q�C�8�8�8�����a���!�$�$�$��	B�	B�D�
���T�$�)�F�5��:�:�,E��,E�,E�,E�"F�"F�G�G�!�%��,�/�/�
1�
1�
1����T�$�-��u�S�z�z�0I�D�0I�0I�0I�"J�"J�K�K�!�%��,�/�/�
1�
1�
1��v�6��:�;�;�
B�
B������v�e�C�j�j�'@�4�'@�'@�'@�A�A�A�A�
B�
!�
 ��
 �
 �
 ��
�[��_�_��
�B��]�]�����R�R�T�T�"�"�"��R������������"�"�$�$����	 �	 �	 �	 �	 �f�	 �	 �	 �
	
����f�U�3�Z�Z������=�=�>�>��U�2�Y�Y���P�P�P�����f�U�3�Z�Z������g�g�b�k�k�J�J�K�K��e�B��m�m�,�,�	.�	.�	.�����f�U�3�Z�Z������g�g�b�k�k�7�7�ST�:�:�V�V�W�W��e�B�r�!�n�n�-�-�	/�	/�	/�	/�	/rc
��gd�}|�ttt|����gd���|�tttg����g��|�t
t��|�t
ttj��|�t
ttjdgd��|�t
ttddg����|�ttttdg����ttgd���}|�t|��gd���|�tt|��|�ttj
tt|������gd���|�ttjtt|������gd���tt jdz��D]+}|�|tt|�����,dS)	N�r	rr�r�rrbr�r�rarmrnrT)r	r	r	rrr�r	r	r	r	)rpr�	takewhilerUr�rkrDrirrrrr�r6r�r�r*rXr�r})r1rZrLr\s    r�test_takewhilezTestBasicOps.test_takewhileNs��(�(�(������i��$�7�7�8�8�)�)�)�D�D�D�����i��"�5�5�6�6��;�;�;����)�Y�/�/�/����)�Y���=�=�=����)�Y���u�g�w�O�O�O����)�T�9�R�%��+A�+A�B�B�B����*�d�I�g��w�,G�,G�H�H�H��d�.�.�.�/�/������a���)�)�)�,�,�,����-��q�1�1�1�	
����d�i�	�(�D�(A�(A�B�B�C�C�Y�Y�Y�O�O�O�����d�m�I�h��,E�,E�F�F�G�G�!�	�	�	#�	#�	#��6�2�Q�6�7�7�	>�	>�E��O�O�E�9�X�t�#<�#<�=�=�=�=�	>�	>rc
�^�gd�}|�ttt|����gd���|�tttg����g��|�t
t��|�t
ttj��|�t
ttjdgd��|�t
ttddg����|�ttttdg����|�ttjtt|������gd���|�ttjtt|������gd���ttjdz��D]+}|�|tt|�����,dS)Nr�)r�rrbr�r�rmrnrTr	)rpr�	dropwhilerUr�rkrDrirrrrr�r�r*rXr�r})r1rZr\s   r�test_dropwhilezTestBasicOps.test_dropwhilebs���(�(�(������i��$�7�7�8�8�:J�:J�:J�K�K�K�����i��"�5�5�6�6��;�;�;����)�Y�/�/�/����)�Y���=�=�=����)�Y���u�g�w�O�O�O����)�T�9�R�%��+A�+A�B�B�B����*�d�I�g��w�,G�,G�H�H�H�	
����d�i�	�(�D�(A�(A�B�B�C�C�EU�EU�EU�V�V�V�����d�m�I�h��,E�,E�F�F�G�G�(�(�(�	*�	*�	*��6�2�Q�6�7�7�	>�	>�E��O�O�E�9�X�t�#<�#<�=�=�=�=�	>�	>rc	�d�d}tg��\}}|�t|��g��|�t|��g��tt|����\}}|�t	||��t	t|��t|������tt|����\}}|�t|��tt|������|�t|��tt|������tt|����\}}td��D]%}|�t
|��|���&~|�t|��tt|������tt|����\}}td��D]%}|�t
|��|���&~|�t|��ttd|������td��D]�}dg|zdg|zz}tj|��ggf}tt|����}|D]2}t
||��}	||�	|	���3|�|dtt|������|�|dtt|��������|�
tt��|�
ttd��|�
ttddgd��|�
ttddgdd��td	��\}}t|��d
��}
|�t|
��td
����ttd��d��\}}}
td��D]%}|�t
|��|���&|�t|��ttd������|�t
|
��t
|
��gttd������|�t|��ttdd������|�t|
��ttdd������|�
ttd	d��|�
ttgd
��td��D]�}td	|��}|�t|��t��|�t|��|��|�d�|D��td	��g|z����td	��\}}t|��\}
}|�||
u��td	��\}
}t|
��}|�
t|��|�
t|d��||
��}|�t|
��t|��cxko&t|��cxkotd	��knc��ttd����\}}t#j|��}|�t'|d��t|����~t)j��|�
t,t&|d��td	��}ttd����}td	��\}}|�tt/j|����|��|�tt/j|����|��tttd������\}}|�tt/j|����|��|�tt/j|����|��td	��\}}t1d|��t1d|��|�tt/j|����|dd���|�tt/j|����|dd���|�t|��|dd���|�t|��|dd���ttd����\}}t1d|��t1d|��|�tt/j|����|dd���|�tt/j|����|dd���|�t|��|dd���|�t|��|dd���td	��\}}|�tt/j|����|��|�tt/j|����|��|�t|��|��|�t|��|��ttd����\}}|�tt/j|����|��|�tt/j|����|��|�t|��|��|�t|��|��td	��\}}t1d|��t1d|��|�tt/j|����|dd���|�tt/j|����|dd���|�t|��|dd���|�t|��|dd���ttd����\}}t1d|��t1d|��|�tt/j|����|dd���|�tt/j|����|dd���|�t|��|dd���|�t|��|dd���tt4jdz��D]t}|�|t;td	������td	��\}}|�|||���|�|||����udS)N��r�r�rr	rrrr�r�r�invalidr7c�,�g|]}t|����Sr�rr�s  rr_z)TestBasicOps.test_tee.<locals>.<listcomp>�s��6�6�6�!�d�1�g�g�6�6�6rrT�	__class__r`�<r�)�teerprr,rr*rrrN�shuffler�r�rkrqrr�r�r�r��proxy�getattrrr��ReferenceErrorr�rAr�rXr�r}r�)r1r+rwrxrr��order�lists�itsr�ryr�r��t1�t2�tnew�t3rAr��long_ansr\s                     r�test_teezTestBasicOps.test_teess������2�w�w���1�����a���"�%�%�%�����a���"�%�%�%��6�!�9�9�~�~���1�����a����D��q���5��8�8�$<�$<�=�=�=��6�!�9�9�~�~���1�����a���$�u�Q�x�x�.�.�1�1�1�����a���$�u�Q�x�x�.�.�1�1�1��6�!�9�9�~�~���1��s���	)�	)�A����T�!�W�W�a�(�(�(�(�
�����a���$�u�Q�x�x�.�.�1�1�1��6�!�9�9�~�~���1��s���	)�	)�A����T�!�W�W�a�(�(�(�(�
�����a���$�u�S�!�}�}�"5�"5�6�6�6��q���		7�		7�A��C��E�Q�C��E�M�E��N�5�!�!�!���H�E��f�Q�i�i�.�.�C��
'�
'���S��V�����a�����&�&�&�&����U�1�X�t�E�!�H�H�~�~�6�6�6����U�1�X�t�E�!�H�H�~�~�6�6�6�6�	
���)�S�)�)�)����)�S�!�,�,�,����)�S�1�Q�%��5�5�5����)�S�1�Q�%��C�8�8�8��5�z�z���1��D��G�G�E�N�N������a���$�u�+�+�.�.�.��e�D�k�k�1�%�%���1�a��s���	)�	)�A����T�!�W�W�a�(�(�(�(�����a���$�u�T�{�{�"3�"3�4�4�4����$�q�'�'�4��7�7�+�T�%��(�(�^�^�<�<�<�����a���$�u�S����"7�"7�8�8�8�����a���$�u�Q�t�}�}�"5�"5�6�6�6�	
���)�S�%��;�;�;����*�c�2�r�2�2�2��q���	I�	I�A����]�]�F����T�&�\�\�5�1�1�1����S��[�[�!�,�,�,����6�6�v�6�6�6��e���
�a��H�H�H�H��5�z�z���1��1�v�v���1�����Q������U�����B��B�x�x�����)�T�*�*�*����)�T�2�.�.�.�
�T�"�X�X������R���D��H�H�G�G�G�G��R���G�G�G�G�D��K�K�G�G�G�G�H�H�H��5��9�9�~�~���1��M�!���������K�0�0�$�q�'�'�:�:�:�
���������.�'�1�k�B�B�B��5�k�k����e���%�%���5�z�z���1�����d�i��l�l�+�+�S�1�1�1�����d�i��l�l�+�+�S�1�1�1��4��e���%�%�&�&���1�����d�i��l�l�+�+�X�6�6�6�����d�i��l�l�+�+�X�6�6�6��5�z�z���1��Q��
�
�
��Q��
�
�
�����d�i��l�l�+�+�S����W�5�5�5�����d�i��l�l�+�+�S����W�5�5�5�����a���#�a�b�b�'�*�*�*�����a���#�a�b�b�'�*�*�*��5��<�<� � ���1��S�!�����R���������d�i��l�l�+�+�X�c�d�d�^�<�<�<�����d�i��l�l�+�+�X�b�c�c�]�;�;�;�����a���(�3�4�4�.�1�1�1�����a���(�2�3�3�-�0�0�0��5�z�z���1�����d�m�A�.�.�/�/��5�5�5�����d�m�A�.�.�/�/��5�5�5�����a���#�&�&�&�����a���#�&�&�&��5��<�<� � ���1�����d�m�A�.�.�/�/��:�:�:�����d�m�A�.�.�/�/��:�:�:�����a���(�+�+�+�����a���(�+�+�+��5�z�z���1��Q��
�
�
��Q��
�
�
�����d�m�A�.�.�/�/��Q�R�R��9�9�9�����d�m�A�.�.�/�/��Q�R�R��9�9�9�����a���#�a�b�b�'�*�*�*�����a���#�a�b�b�'�*�*�*��5��<�<� � ���1��S�!�����R���������d�m�A�.�.�/�/��#�$�$��@�@�@�����d�m�A�.�.�/�/��"�#�#��?�?�?�����a���(�3�4�4�.�1�1�1�����a���(�2�3�3�-�0�0�0��6�2�Q�6�7�7�	3�	3�E��O�O�E�4��E�
�
�#3�#3�4�4�4��u�:�:�D�A�q��O�O�E�1�c�O�2�2�2��O�O�E�1�c�O�2�2�2�2�		3�	3rc�x�ttdd����\}}	t|��~dS#~~�xYw)Ni-1)r�rrF)r1�forward�backwards   r�test_tee_del_backwardz"TestBasicOps.test_tee_del_backward	sF����t�X� 6� 6�7�7����	���L�L�L�����	������s�4�9c����G�fd�d��}t|����\}�|�td��5t|��ddd��dS#1swxYwYdS)Nc�$��eZdZdZd�Z�fd�ZdS)�(TestBasicOps.test_tee_reenter.<locals>.ITc��|Srrr0s rr2z1TestBasicOps.test_tee_reenter.<locals>.I.__iter__r/rc�F��|j}d|_|rt���SdS�NF)�firstrr)r1r�rxs  �rr7z1TestBasicOps.test_tee_reenter.<locals>.I.__next__s.����
��"��
��#���7�7�N�#�#rN)r:r;r<r�r2r7r>s�r�Ir�sB��������E�
�
�
�
#�
#�
#�
#�
#�
#�
#rr�r�)r��assertRaisesRegexrhrr)r1r�rwrxs   @r�test_tee_reenterzTestBasicOps.test_tee_reenters����	#�	#�	#�	#�	#�	#�	#�	#�	#�	#��1�1�3�3�x�x���1�
�
#�
#�L�%�
8�
8�	�	���G�G�G�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	s�A#�#A'�*A'c�b���tj���tj���G��fd�d��}t|����\}}tjt|g���}|���	����|�td��5t	|��ddd��n#1swxYwY��	��|�
��dS#��	��|�
��wxYw)Nc�"��eZdZd�Z��fd�ZdS)�+TestBasicOps.test_tee_concurrent.<locals>.Ic��|Srrr0s rr2z4TestBasicOps.test_tee_concurrent.<locals>.I.__iter__&r/rc�X����������dSr)r��wait)r1�finishr�s ��rr7z4TestBasicOps.test_tee_concurrent.<locals>.I.__next__(s!����	�	�������
�
�
�
�
rNr9)r�r�s��rr�r�%sB�������
�
�
�
�
�
�
�
�
�
�
rr�)rrr�)�	threading�Eventr��Threadrrr�r�r�rhr��join)r1r�rwrx�threadr�r�s     @@r�test_tee_concurrentz TestBasicOps.test_tee_concurrent!sZ������!�!����"�"��	�	�	�	�	�	�	�	�	�	�	��1�1�3�3�x�x���1��!��Q�C�8�8�8��������	��J�J�L�L�L��'�'��e�<�<�
�
��Q����
�
�
�
�
�
�
�
�
�
�
����
�
�
�
�
�J�J�L�L�L��K�K�M�M�M�M�M��
�J�J�L�L�L��K�K�M�M�M�M���s0�/D�3C�D�C�D�C�D�*D.c
��|�ttt����tt
ttfD]b}|�tt|g����|�tt|t�������c|�tttgd����|�tttt��d����tg��\}}|�tt|��|�tt|��tt����\}}|�tt|��|�tt|��|�tttdd����tttttt fD]f}|�tt|d�g����|�tt|d�t�������gdS)Nrc��|Srrrs rr]z1TestBasicOps.test_StopIteration.<locals>.<lambda>Kr�rc��|Srrrs rr]z1TestBasicOps.test_StopIteration.<locals>.<lambda>Lr�r)r�r6rrr
r�r�r'r.r?r�rrRr�r�r�r�ro)r1r�rA�qs    r�test_StopIterationzTestBasicOps.test_StopIteration7s������-��s�u�u�5�5�5����W�-�	A�	A�A����m�T�1�1�R�5�5�9�9�9����m�T�1�1�W�Y�Y�<�<�@�@�@�@����-��v�b�$�/?�/?�@�@�@����-��v�g�i�i��/F�/F�G�G�G��2�w�w���1����-��q�1�1�1����-��q�1�1�1��7�9�9�~�~���1����-��q�1�1�1����-��q�1�1�1����-��v�d�A���?�?�?��+�s�I�y�'�J�	M�	M�A����m�T�1�1�Z�Z��3D�3D�E�E�E����m�T�1�1�Z�Z����3K�3K�L�L�L�L�	M�	Mrc���tdggd��}t|��tj��|�tjt|������dSrC)r�rr�gc�collectr��
is_trackedr�s  r�test_combinations_result_gcz(TestBasicOps.test_combinations_result_gcNsW��
�4��*�a�
(�
(���R����
�
����	
����
�d�2�h�h�/�/�0�0�0�0�0rc���tdggd��}t|��tj��|�tjt|������dSrC)r�rrr�r�r�r�r�s  r�,test_combinations_with_replacement_result_gcz9TestBasicOps.test_combinations_with_replacement_result_gc[sU��+�D�"�:�q�
9�
9���R����
�
��������
�d�2�h�h�/�/�0�0�0�0�0rc���tdggd��}t|��tj��|�tjt|������dSrC)r�rrr�r�r�r�r�s  r�test_permutations_result_gcz(TestBasicOps.test_permutations_result_gccsU���4��*�a�
(�
(���R����
�
��������
�d�2�h�h�/�/�0�0�0�0�0rc���tdgg��}t|��tj��|�tjt|������dSr)rrrr�r�r�r�r�s  r�test_product_result_gcz#TestBasicOps.test_product_result_gcksS���d�B�Z�
 �
 ���R����
�
��������
�d�2�h�h�/�/�0�0�0�0�0rc��tgg��}tj��|�tjt|������dSr)rr�r�r�r�rrr�s  r�test_zip_longest_result_gcz'TestBasicOps.test_zip_longest_result_gcssF���"��
�
��
�
��������
�d�2�h�h�/�/�0�0�0�0�0r)rbr	N)Ar:r;r<r}r�r�r�r�r�rr�bigaddrspacetestr�impl_detailrr+r.r0rBrDrFrVrir�r�r�r�r�r�r�r�r�r�rrrrr'r8r<rSrUrWrYr]rcrfrkrpr�r�r�r�r�r�r�requires_working_threadingr�r��cpython_onlyr�r�r�r�r�rrrraraTs������'$�'$�'$�'$�R!,�!,�!,�F
7�
7�
7�H�H�H�P�P�P�J�J�J�ND�ND�ND�`
��&�&���&�
�W��=�>�>�R�R�?�>�R�J:�J:�J:�X
��7�7���7�
�W��=�>�>�I�I�?�>�I�
=D�=D�=D�~
��%�%���%��W��=�>�>�R�R�?�>�R�E�E�E�BP�P�P�D.,�.,�.,�`58�58�58�nP�P�P�"H�"H�"H�HK�K�K�>"D�"D�"D�H@F�@F�@F�D&�&�&�6B�B�B�-�-�-� �W��=�>�>�8�8�?�>�8�4(2�(2�(2�T�W��=�>�>�<�<�?�>�<�=�=�=�
/�
/�
/�&2�&2�&2�P���&8F�8F�8F�t
��2�2���2��W��=�>�>�O�O�?�>�O�
7�
7�
7�2�2�2�A�A�A�4H�H�H�&�&�&�<&�&�&�6\/�\/�\/�|>�>�>�(>�>�>�"S3�S3�S3�l���
�
�
�1��0�2�2���3�2��*M�M�M�.
��
1�
1���
1�
��1�1���1�
��1�1���1�
��1�1���1�
��1�1���1�1�1rrac��eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�ZdS)�TestExamplesc�n�|�ttgd�����gd���dS�N�r	rrrbr��r	rr�rTr�)rprr�r0s rr�zTestExamples.test_accumulate}s9������j����5�5�6�6�8I�8I�8I�J�J�J�J�Jrc�P�gd�}gd�}ttjdz��D]�}t|��}|�ttjtj||������|dd���|�t|��d��|�ttjtj||������|dd�����t|��}|�t|��d��|�ttj
|����|dd���|�ttj	|����|dd���dS)Nr�r�r	)r*rXr�r�rprrYrZrrr�r�)r1rZ�accumulatedr\rls     r�test_accumulate_reduciblez&TestExamples.test_accumulate_reducible�sn������'�'�'���6�2�Q�6�7�7�	[�	[�E��D�!�!�B����T�&�,�v�|�B��/F�/F�"G�"G�H�H�+�VW�VW�VW�.�Y�Y�Y����T�"�X�X�q�)�)�)����T�&�,�v�|�B��/F�/F�"G�"G�H�H�+�VW�VX�VX�/�Z�Z�Z�Z�
��
�
������b���1�%�%�%�����d�m�B�/�/�0�0�+�a�b�b�/�B�B�B�����d�i��m�m�,�,�k�!�"�"�o�>�>�>�>�>rc�6�tgd�tj��}|�t	|��d��ttjdz��D]N}t
jt
j	||����}|�t|��ddg���O|�ttj|����ddg��|�ttj|����ddg��dS)N)NNNr	TF)
r�rD�is_rprrr*rXr�rYrZrr�r�)r1rlr\�it_copys    r�test_accumulate_reducible_nonez+TestExamples.test_accumulate_reducible_none�s���
�*�*�*�H�L�
9�
9������b���4�(�(�(��6�2�Q�6�7�7�	;�	;�E��l�6�<��E�#:�#:�;�;�G����T�'�]�]�T�5�M�:�:�:�:�����d�m�B�/�/�0�0�4��-�@�@�@�����d�i��m�m�,�,�t�U�m�<�<�<�<�<rc�t�|�d�tdd����d��dS�Nr�r�DEFrX)rpr�r�r0s rr�zTestExamples.test_chain�s4���������u�e�!4�!4�5�5�x�@�@�@�@�@rc��|�d�t�ddg����d��dSr�)rpr�r�r�r0s rr�z%TestExamples.test_chain_from_iterable�s<���������!4�!4�e�U�^�!D�!D�E�E�x�P�P�P�P�Prc	���|�ttdd����gd���|�tttd��d����gd���dS)Nr�rr�rbrr�)rprr�r*r0s rrzTestExamples.test_combinations�s������l�6�1�5�5�6�6�[�[�[�	]�	]�	]�����l�5��8�8�Q�7�7�8�8�=�=�=�	?�	?�	?�	?�	?rc�l�|�ttdd����gd���dS)Nrrr)rprr�r0s rr+z/TestExamples.test_combinations_with_replacement�sG������;�E�1�E�E�F�F�[�[�[�	]�	]�	]�	]�	]rc	��|�ttdgd�����td����dS)NrXrYr\)rprrfr0s rrizTestExamples.test_compress�s:������h�x����?�?�@�@�$�v�,�,�O�O�O�O�Orc	��|�tttd��d����gd���dS)NrTr�)rTr�r�r�r�)rprr?rzr0s rr�zTestExamples.test_count�s=������f�U�2�Y�Y��2�2�3�3�5I�5I�5I�J�J�J�J�Jrc	��|�tttd��d����td����dS)Nr�r��ABCDABCDABCD)rprr?r�r0s rr�zTestExamples.test_cycle�s>������f�U�6�]�]�B�7�7�8�8�$�~�:N�:N�O�O�O�O�Orc	�r�|�ttd�gd�����gd���dS)Nc��|dkS�Nr�rrs rr]z-TestExamples.test_dropwhile.<locals>.<lambda>��
��!�A�#�r�r	rbr�rbr	)r�rbr	)rprr�r0s rr�zTestExamples.test_dropwhile�s:������i�
�
�{�{�{�C�C�D�D�g�g�g�N�N�N�N�Nrc	�D�|�d�td��D��td����|�d�td��D��td��td��td��td	��g��dS)
Nc��g|]\}}|��Srrr�s   rr_z-TestExamples.test_groupby.<locals>.<listcomp>�s��C�C�C���1�!�C�C�Cr�AAAABBBCCDAABBB�ABCDABc�2�g|]\}}t|����Srr�r�s   rr_z-TestExamples.test_groupby.<locals>.<listcomp>�s"��F�F�F���1�4��7�7�F�F�Fr�
AAAABBBCCD�AAAA�BBB�CCr�)rpr'rr0s rr�zTestExamples.test_groupby�s������C�C��0A�(B�(B�C�C�C��h���	)�	)�	)����F�F���0E�0E�F�F�F��v�,�,��U���T�$�Z�Z��c���K�	M�	M�	M�	M�	Mrc
��|�ttd�td������gd���dS)Nc��|dzSrrrs rr]z*TestExamples.test_filter.<locals>.<lambda>�s
��q��s�rrT)r	rr�r�r�)rprrRr*r0s rr�zTestExamples.test_filter�s<������f�]�]�E�"�I�I�>�>�?�?����M�M�M�M�Mrc
��|�ttd�td������gd���dS)Nc��|dzSrrrs rr]z/TestExamples.test_filterfalse.<locals>.<lambda>�s
��A�a�C�rrT)rrrbr�r�)rprr�r*r0s rr�zTestExamples.test_filterfalse�s<������k�-�-��r���C�C�D�D�k�k�k�R�R�R�R�Rrc	�x�|�tttdd����gd���dS)N)rrrT)r�rr�r�r�rv)rprr�rir0s rrkzTestExamples.test_map�s6������c�#�x��9�9�:�:�M�M�M�J�J�J�J�Jrc
��|�ttdd����td����|�ttddd����td����|�ttddd����td����|�ttdddd����td����dS)	NrHr�ABrb�CD�CDEFGr�ACEG)rprr?r0s rr�zTestExamples.test_islice�s�������f�Y��2�2�3�3�T�$�Z�Z�@�@�@�����f�Y��1�5�5�6�6��T�
�
�C�C�C�����f�Y��4�8�8�9�9�4��=�=�I�I�I�����f�Y��4��;�;�<�<�d�6�l�l�K�K�K�K�Krc�l�|�ttdd����ddg��dS)Nr��xy�r�r�r�r�)rprr
r0s rr�zTestExamples.test_zip�s5������c�&�$�/�/�0�0�:�z�2J�K�K�K�K�Krc	�p�|�ttddd�����gd���dS)Nr�r�-r)rr
)r�r)r�r)rprrr0s r�test_zip_longestzTestExamples.test_zip_longest�sK������k�&�$�#�F�F�F�G�G�I�I�I�	K�	K�	K�	K�	Krc
�J�|�ttdd����tttd���������|�ttt
d������gd���dS)Nr�rz#AB AC AD BA BC BD CA CB CD DA DB DCr)r)rrr	)r	rr)r	rr)rrr	)rr	r)rprr�r�r��splitr*r0s rrBzTestExamples.test_permutations�s�������l�6�1�5�5�6�6��c�%�)N�)T�)T�)V�)V�W�W�X�X�	Z�	Z�	Z�����l�5��8�8�4�4�5�5�O�O�O�	Q�	Q�	Q�	Q�	Qrc
�N�|�ttdd����tttd���������|�ttt
d��d�����gd���dS)Nr�rzAx Ay Bx By Cx Cy Dx Dyrrr)r�)rrr	)rr	r)rr	r	)r	rrr])r	r	rr�)rprrr�r�rr*r0s rrSzTestExamples.test_product�s�������g�f�d�3�3�4�4��c�%�)B�)H�)H�)J�)J�K�K�L�L�	N�	N�	N�����g�e�A�h�h�q�9�9�9�:�:�=�=�=�	>�	>�	>�	>�	>rc�l�|�ttdd����gd���dS)NrTr)rTrTrT)rprrr0s rrczTestExamples.test_repeat�s2������f�R��m�m�,�,�l�l�l�;�;�;�;�;rc	�z�|�tttgd�����gd���dS)N))rr��rrrur)rprrorir0s r�test_stapmapzTestExamples.test_stapmap�sF������g�c�+A�+A�+A�B�B�C�C�&���	(�	(�	(�	(�	(rc	�r�|�ttd�gd�����ddg��dS)Nc��|dkSr�rrs rr]z-TestExamples.test_takewhile.<locals>.<lambda>�r�rr�r	rb)rprr�r0s rr�zTestExamples.test_takewhile�s:������i�
�
�{�{�{�C�C�D�D�q��e�L�L�L�L�LrN)r:r;r<r�r�r�r�r�rr+rir�r�r�r�r�r�rkr�r�rrBrSrcrr�rrrr�r�{s�������K�K�K�
?�
?�
?�=�=�=�A�A�A�Q�Q�Q�?�?�?�]�]�]�P�P�P�K�K�K�P�P�P�O�O�O�M�M�M�N�N�N�S�S�S�K�K�K�L�L�L�L�L�L�K�K�K�Q�Q�Q�>�>�>�<�<�<�(�(�(�M�M�M�M�Mrr�c�*�eZdZed���Zd�ZdS)�TestPurePythonRoughEquivalentsc'�K�t|�}|jpd|jptj|jpd}}}t
t|||����}	t|��}n4#t$r'tt|��|��D]\}}	�YdSwxYw	t|��D]\}}	||kr|	V�t|��}�dS#t$r+tt|dz|��|��D]\}}	�YdSwxYwr)�slicer�rnr~r{r�r�r*rrr6r
�	enumerate)
rGrr[r�rnr�rl�nextirr�s
          rr?z%TestPurePythonRoughEquivalents.islice�sF�����4�L���G�L�q�!�&�*?�C�K����1�T�t��
�%��t�T�*�*�
+�
+��	���H�H�E�E���	�	�	�!�%��,�,��9�9�
�
�
��7���F�F�		����
	�'��1�1�
%�
%�
��7���:�:�!�M�M�M� ��H�H�E��
%�
%���	�	�	�!�%��A��t�"4�"4�h�?�?�
�
�
��7��
�
�
�	���s$�A � -B�B�.C�1C:�9C:c
�~�|�t|�dd����td����|�t|�ddd����td����|�t|�ddd����td����|�t|�dddd����td����tt	d	����}|�t|�|d
����tt	d
������|�t|��tt	d
d	������tt	d	����}|�t|�|d
d
����g��|�t|��tt	d
d	������t��}|�t|�|dd
d����dg��|�t
|��d
��dS)
NrHrrrbrrrr	rTrr	rx)rprr?r�r*rzrr)r1rlrys   r�test_islice_recipez1TestPurePythonRoughEquivalents.test_islice_recipes������d�k�k�)�Q�7�7�8�8�$�t�*�*�E�E�E�����d�k�k�)�Q��:�:�;�;�T�$�Z�Z�H�H�H�����d�k�k�)�Q��=�=�>�>��W�
�
�N�N�N�����d�k�k�)�Q��a�@�@�A�A�4��<�<�P�P�P�
�%��)�)�_�_������d�k�k�"�a�0�0�1�1�4��a���>�>�B�B�B�����b���4��a����#5�#5�6�6�6�
�%��)�)�_�_������d�k�k�"�a��3�3�4�4�b�9�9�9�����b���4��a����#5�#5�6�6�6��G�G������d�k�k�!�Q��2�6�6�7�7�!��=�=�=�����a���!�$�$�$�$�$rN)r:r;r<�staticmethodr?r!rrrrr�s<����������\��*%�%�%�%�%rrc��eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�ZdS)�TestGCc�R�|�|��t|��~~dSr)r�rr)r1�iterator�	containers   r�	makecyclezTestGC.makecycles*������"�"�"��X�����x�x�xrc�X�g}|�tdd|dg��|��dS�Nr	rr)r(r��r1rws  rr�zTestGC.test_accumulates1�������z�1�Q�q��)�,�,�a�0�0�0�0�0rc�P�g}|�t|��|��dSr)r(r�r+s  rr�zTestGC.test_chains'�������u�Q�x�x��#�#�#�#�#rc�h�g}|�t�|g��|��dSr)r(r�r�r+s  rr�zTestGC.test_chain_from_iterable"s1�������u�*�*�A�3�/�/��3�3�3�3�3rc�Z�g}|�tdd|dgd��|��dSr*)r(r�r+s  rrzTestGC.test_combinations&�3�������|�Q�q��1�I�q�1�1�1�5�5�5�5�5rc�Z�g}|�tdd|dgd��|��dSr*)r(r�r+s  rr+z)TestGC.test_combinations_with_replacement*s4�������4�a��!�A�Y��B�B�A�F�F�F�F�Frc�V�g}|�tdgd���|��dS)NrX)r	rr	rr	r)r(rfr+s  rrizTestGC.test_compress.s/�������x��-�-�-�8�8�!�<�<�<�<�<rc��g}tdtft|�����}|�t	|d��|d����|��dS)N�Intrrr	)rqr�rr(rz)r1rwr3s   rr�zTestGC.test_count2sV�����5�3�&�$��)�)�)�,�,�����u�S�S��V�V�S�S��V�V�,�,�a�0�0�0�0�0rc�X�g}|�t|gdz��|��dSr)r(r�r+s  rr�zTestGC.test_cycle7s-�������u�a�S��U�|�|�Q�'�'�'�'�'rc�b�g}|�ttd||g��|��dSrL)r(r�r�r+s  rr�zTestGC.test_dropwhile;s1�������y���1�a�y�1�1�1�5�5�5�5�5rc�\�g}|�t|gdzd���|��dS)Nrc��|Srrrs rr]z%TestGC.test_groupby.<locals>.<lambda>As��q�r)r(r'r+s  rr�zTestGC.test_groupby?s3�������w��s�1�u�j�j�1�1�1�5�5�5�5�5rc��d}d�}tt|��|���D]3\}}|j�dg���|���4dS)NrTc��|Srrrs rr]z'TestGC.test_issue2246.<locals>.<lambda>Fr�rr�r)r'r*�__dict__�
setdefaultr�)r1r+r�rr�s     r�test_issue2246zTestGC.test_issue2246Csh�����+���E�!�H�H�'�2�2�2�	:�	:�D�A�q���'�'��B�/�/�6�6�q�9�9�9�9�	:�	:rc�\�g}|�td�|gdz��|��dS)Nc��dS)NTrrs rr]z$TestGC.test_filter.<locals>.<lambda>Ls��t�rr)r(rRr+s  rr�zTestGC.test_filterJs3�������v�m�m�a�S��U�3�3�Q�7�7�7�7�7rc�T�g}|�td�|��|��dS)Nc��dSr�rrs rr]z)TestGC.test_filterfalse.<locals>.<lambda>Ps��E�r)r(r�r+s  rr�zTestGC.test_filterfalseNs-�������{�>�>�1�5�5�q�9�9�9�9�9rc�b�g}|�t|gdz|gdz��|��dS)Nrr)r(r
r+s  rr�zTestGC.test_zipRs7�������s�A�3�q�5�1�#�a�%�(�(�!�,�,�,�,�,rc���g}|�t|gdz|gdz��|��|dg}|�t|gdz|gdz|���|��dS)Nrrr)r(r)r1rwrxs   rrzTestGC.test_zip_longestVso�������{�A�3�q�5�1�#�a�%�0�0�!�4�4�4�
��I�����{�A�3�q�5�1�#�a�%�1�=�=�=�q�A�A�A�A�Arc�\�g}|�td�|gdz��|��dS)Nc��|Srrrs rr]z!TestGC.test_map.<locals>.<lambda>^s��A�rr)r(r�r+s  rrkzTestGC.test_map\s3�������s�:�:��s�1�u�-�-�q�1�1�1�1�1rc�Z�g}|�t|gdzd��|��dSr)r(r?r+s  rr�zTestGC.test_islice`s1�������v�q�c�!�e�T�*�*�A�.�.�.�.�.rc�X�g}|�t|gdz��|��dSr�)r(r;r+s  rr<zTestGC.test_pairwiseds-�������x���A�����*�*�*�*�*rc�Z�g}|�tdd|dgd��|��dSr*)r(r�r+s  rrBzTestGC.test_permutationshr/rc�\�g}|�tdd|dgd���|��dS)Nr	rrr)r(rr+s  rrSzTestGC.test_productls6�������w��!�A�a�y��3�3�3�Q�7�7�7�7�7rc�P�g}|�t|��|��dSr)r(rr+s  rrczTestGC.test_repeatps'�������v�a�y�y�!�$�$�$�$�$rc�`�g}|�td�||fgdz��|��dS)Nc��|Srr)rLs rr]z%TestGC.test_starmap.<locals>.<lambda>vs��!�rr)r(ror+s  rrpzTestGC.test_starmapts7�������w�|�|�q��e�W�Q�Y�7�7��;�;�;�;�;rc	�d�g}|�ttdd||g��|��dS)Nr	r)r(r�r�r+s  rr�zTestGC.test_takewhilexs3�������y���1�a��|�4�4�a�8�8�8�8�8rN)r:r;r<r(r�r�r�rr+rir�r�r�r�r<r�r�r�rrkr�r<rBrSrcrpr�rrrr$r$s������� � � �
1�1�1�$�$�$�4�4�4�6�6�6�G�G�G�=�=�=�1�1�1�
(�(�(�6�6�6�6�6�6�:�:�:�8�8�8�:�:�:�-�-�-�B�B�B�2�2�2�/�/�/�+�+�+�6�6�6�8�8�8�%�%�%�<�<�<�9�9�9�9�9rr$c#�K�	|D]}|V��dSrr��seqnrs  r�RrP|s-�����
����������rc��eZdZ	d�Zd�ZdS)�Gc��||_dSr�rO�r1rOs  rr-z
G.__init__�s
����	�	�	rc��|j|SrrT)r1rs  r�__getitem__z
G.__getitem__�s���y��|�rN)r:r;r<r-rWrrrrRrR�s5������ ��������rrRc�"�eZdZ	d�Zd�Zd�ZdS)r�c�"�||_d|_dSrLrNrUs  rr-z
I.__init__������	�����rc��|Srrr0s rr2z
I.__iter__�r3rc��|jt|j��krt�|j|j}|xjdz
c_|SrC�rr�rOr6�r1r$s  rr7z
I.__next__��>���6�S���^�^�#�#�=�%8��I�d�f������!�����rNr1rrrr�r��sD������&�����������rr�c��eZdZ	d�Zd�ZdS)�Igc�"�||_d|_dSrLrNrUs  rr-zIg.__init__�rZrc#�&K�|jD]}|V��dSrrTrs  rr2zIg.__iter__�s,�����9�	�	�C��I�I�I�I�	�	rN�r:r;r<r-r2rrrrara�s5������?��������rrac��eZdZ	d�Zd�ZdS)r
c�"�||_d|_dSrLrNrUs  rr-z
X.__init__�rZrc��|jt|j��krt�|j|j}|xjdz
c_|SrCr]r^s  rr7z
X.__next__�r_rN)r:r;r<r-r7rrrr
r
�s5������&��������rr
c��eZdZ	d�Zd�ZdS)�Nc�"�||_d|_dSrLrNrUs  rr-z
N.__init__�rZrc��|Srrr0s rr2z
N.__iter__�r3rNrdrrrriri�s5������!��������rric�"�eZdZ	d�Zd�Zd�ZdS)�Ec�"�||_d|_dSrLrNrUs  rr-z
E.__init__�rZrc��|Srrr0s rr2z
E.__iter__�r3rc��ddzdS)Nrrrr0s rr7z
E.__next__�s��	�Q����rNr1rrrrmrm�sD������$�����������rrmc�"�eZdZ	d�Zd�Zd�ZdS)�Sc��dSrrrUs  rr-z
S.__init__�s���rc��|Srrr0s rr2z
S.__iter__�r3rc��t�rr5r0s rr7z
S.__next__�r8rNr1rrrrrrr�sD�������
�
�
��������rrrc��	ttd�ttt	|����������S)Nc��|Srrrs rr]zL.<locals>.<lambda>�s��a�r)r�r�rPrarRrTs r�Lrx�s1��&���Z�Z��2�a��g�g�;�;���0�0�1�1�1rc�t�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�Zd�Zd�Zd�ZdS)�TestVariousIteratorArgsc
��gd�}gd�}t|��}ttttt
fD];}|�tt||������|���<|�ttt|������g��|�
ttt|����|�
ttt|����|�
tttt|������dSr�)r�rRr�rarxrPrprr�rrr�rkr
ri�ZeroDivisionErrorrm)r1r[rNr+r�s     rr�z'TestVariousIteratorArgs.test_accumulate�s����K�K���M�M����F�F���Q��A�q�!�	8�	8�A����T�*�Q�Q�q�T�T�"2�"2�3�3�Q�7�7�7�7�����j��1���.�.�/�/��4�4�4����)�Z��1���6�6�6����)�Z��1���6�6�6����+�T�:�a��d�d�3C�3C�D�D�D�D�Drc��ddtd��dtddd��fD�]�}ttttt
tfD]�}|�tt||������t||������|�tt||��||������t||����t||����z����|�
tttt|������|�
tttt|������|�
tttt|���������dS�N�123r�rv��dog333333�?r�r�)r*rRr�rarrrxrPrprr�r�rkr
rir|rm�r1r[r�s   rr�z"TestVariousIteratorArgs.test_chain�s`����U�4�[�[�+�u�T�$�q�7I�7I�J�	D�	D�A���B��1�a�(�
Q�
Q��� � ��e�A�A�a�D�D�k�k�!2�!2�D���1���J�J�?�?�?�� � ��e�A�A�a�D�D�!�!�A�$�$�&7�&7�!8�!8�$�q�q��t�t�*�*�T�!�!�A�$�$�Z�Z�:O�P�P�P�P����i��u�Q�q�T�T�{�{�;�;�;����i��u�Q�q�T�T�{�{�;�;�;����/��u�Q�q�T�T�{�{�C�C�C�C�
	D�	Drc��ddtd��dtddd��fD�]Y}t|��}tttt
ttfD]_}|�tt||��td������t||�������`|�ttt|��td����|�ttt|��td����|�t ttt#|��td��������[dS�	Nrr�rvr�rr�r�r	)r*r�rRr�rarrrxrPrprrfrr�rkr
rir|rm)r1r[r+r�s    rriz%TestVariousIteratorArgs.test_compress�s*����U�4�[�[�+�u�T�$�q�7I�7I�J�	R�	R�A��A���A���B��1�a�(�
N�
N��� � ��h�q�q��t�t�V�A�Y�Y�&?�&?�!@�!@�$�q�q��t�t�*�*�M�M�M�M����i��1�Q�4�4�����C�C�C����i��1�Q�4�4�����C�C�C����/��x��!���f�Q�i�i�7P�7P�Q�Q�Q�Q�
	R�	Rrc	�f�ddtd��dtddd��fD]�}|�ttt	|����|�ttt|����|�ttt|������dSr~)r*r�rkrr
rir|rm)r1r[s  rrSz$TestVariousIteratorArgs.test_product�s�����U�4�[�[�+�u�T�$�q�7I�7I�J�	@�	@�A����i��!�A�$�$�7�7�7����i��!�A�$�$�7�7�7����/��!�A�$�$�?�?�?�?�	@�	@rc���ddtd��dtddd��fD�]9}ttttt
tfD]x}t|��dz}t||����dz}ttt||����|����}|�||���y|�ttt|����|�ttt|����|�t ttt#|��������;dS)	Nrr�rvr�rr�r�r)r*rRr�rarrrxrPr�rr?r�rpr�rkr
rir|rm)r1r[r��tgtlen�expected�actuals      rr�z"TestVariousIteratorArgs.test_cycle�s ����U�4�[�[�+�u�T�$�q�7I�7I�J�	D�	D�A���B��1�a�(�
3�
3���Q���!������!���:�:�a�<���f�U�1�1�Q�4�4�[�[�&�9�9�:�:��� � ���2�2�2�2����i���!���5�5�5����i���!���5�5�5����/��u�Q�q�T�T�{�{�C�C�C�C�	D�	Drc
��td��td��td��dtddd��fD�]}ttttt
tfD]N}|�d�t||����D��t||�������O|�
ttt|����|�
ttt|����|�
tttt|��������dS)	NrTrrv�r�r�rr�r�c��g|]\}}|��Srr)r^r#�sbs   rr_z8TestVariousIteratorArgs.test_groupby.<locals>.<listcomp>�s��!?�!?�!?���2�!�!?�!?�!?r)r*rRr�rarrrxrPrpr'rr�rkr
rir|rmr�s   rr�z$TestVariousIteratorArgs.test_groupby�s����)�)�U�1�X�X�u�T�{�{�F�E�$�t�A�<N�<N�O�	F�	F�A���B��1�a�(�
M�
M��� � �!?�!?����1�����!?�!?�!?��a�a��d�d���L�L�L�L����i��!�A�$�$�7�7�7����i��!�A�$�$�7�7�7����/��w�q��t�t�}�}�E�E�E�E�	F�	Frc���td��td��td��dtddd��fD�]'}ttttt
tfD]T}|�ttt||������d�||��D�����U|�tttt|����|�tttt|����|�ttttt!|��������)dS)	NrTrrvr�rr�r�c�0�g|]}t|���|��Sr)r"r�s  rr_z7TestVariousIteratorArgs.test_filter.<locals>.<listcomp>s#��!?�!?�!?��V�A�Y�Y�!?�!�!?�!?�!?r)r*rRr�rarrrxrPrprrRr"r�rkr
rir|rmr�s   rr�z#TestVariousIteratorArgs.test_filters(����)�)�U�1�X�X�u�T�{�{�F�E�$�t�A�<N�<N�O�	M�	M�A���B��1�a�(�
A�
A��� � ��f�V�Q�Q�q�T�T�&:�&:�!;�!;�!?�!?�Q�Q�q�T�T�!?�!?�!?�A�A�A�A����i����1���>�>�>����i����1���>�>�>����/��v�f�a��d�d�7K�7K�L�L�L�L�
	M�	Mrc���td��td��td��dtddd��fD�]'}ttttt
tfD]T}|�ttt||������d�||��D�����U|�tttt|����|�tttt|����|�ttttt!|��������)dS)	NrTrrvr�rr�r�c�0�g|]}t|���|��Sr)r%r�s  rr_z<TestVariousIteratorArgs.test_filterfalse.<locals>.<listcomp>s#��!>�!>�!>��U�1�X�X�!>�!�!>�!>�!>r)r*rRr�rarrrxrPrprr�r"r�rkr
rir|rmr�s   rr�z(TestVariousIteratorArgs.test_filterfalse
s(����)�)�U�1�X�X�u�T�{�{�F�E�$�t�A�<N�<N�O�	R�	R�A���B��1�a�(�
@�
@��� � ��k�&�!�!�A�$�$�&?�&?�!@�!@�!>�!>�Q�Q�q�T�T�!>�!>�!>�@�@�@�@����i��f�a��d�d�C�C�C����i��f�a��d�d�C�C�C����/��{�6�1�Q�4�4�7P�7P�Q�Q�Q�Q�
	R�	Rrc�:�ddtd��dtddd��fD�]u}ttttt
tfD]�}|�tt||������t||������|�tt||��||������t||��||��������|�ttt|����|�ttt|����|�tttt!|��������wdSr~)r*rRr�rarrrxrPrprr
rr�rkr
rir|rmr�s   rr�z TestVariousIteratorArgs.test_zipsI����U�4�[�[�+�u�T�$�q�7I�7I�J�	B�	B�A���B��1�a�(�
J�
J��� � ��c�!�!�A�$�$�i�i���$�q�q��t�t�*�*�=�=�=�� � ��c�!�!�A�$�$���!���o�o�!6�!6��Q�Q�q�T�T�1�1�Q�4�4�8H�8H�I�I�I�I����i��a��d�d�3�3�3����i��a��d�d�3�3�3����/��s�1�Q�4�4�y�y�A�A�A�A�
	B�	Brc
�n�ddtd��dtddd��fD�]�}ttttt
tfD]�}|�tt||������tt||��������|�tt||��||������tt||��||����������|�ttt|����|�ttt|����|�tttt!|���������dSr~)r*rRr�rarrrxrPrprrr
r�rkr
rir|rmr�s   rrz'TestVariousIteratorArgs.test_ziplongests^����U�4�[�[�+�u�T�$�q�7I�7I�J�	J�	J�A���B��1�a�(�
W�
W��� � ��k�!�!�A�$�$�&7�&7�!8�!8�$�s�1�1�Q�4�4�y�y�/�/�J�J�J�� � ��k�!�!�A�$�$���!���&=�&=�!>�!>��S���1���q�q�QR�t�t�_�_�@U�@U�V�V�V�V����i��a��d�d�;�;�;����i��a��d�d�;�;�;����/��{�1�Q�4�4�7H�7H�I�I�I�I�
	J�	Jrc
��td��td��td��dtddd��fD�]�}ttttt
tfD]�}|�ttt||������d�||��D����|�tttj||��||������d	�||��D������|�
tttt|����|�
tttt!|����|�
t"tttt%|���������dS)
NrTrr�r�r�rxr�c�,�g|]}t|����Sr)rr�s  rr_z4TestVariousIteratorArgs.test_map.<locals>.<listcomp>)s��!:�!:�!:��&��)�)�!:�!:�!:rc��g|]}||z��Srrr�s  rr_z4TestVariousIteratorArgs.test_map.<locals>.<listcomp>+���!5�!5�!5�1�!�Q�$�!5�!5�!5r)r*rRr�rarrrxrPrprr�rrDrir�rkr
rir|rmr�s   rrkz TestVariousIteratorArgs.test_map%sy����)�)�U�1�X�X�u�S�z�z�6�5��B�q�>�>�J�	J�	J�A���B��1�a�(�
7�
7��� � ��c�&�!�!�A�$�$�&7�&7�!8�!8�!:�!:�Q�Q�q�T�T�!:�!:�!:�<�<�<�� � ��c�(�,���!���a�a��d�d�&C�&C�!D�!D�!5�!5���!���!5�!5�!5�7�7�7�7����i��f�a��d�d�;�;�;����i��f�a��d�d�;�;�;����/��s�6�1�Q�4�4�7H�7H�I�I�I�I�	J�	Jrc��ddtd��dtddd��fD�]!}ttttt
tfD]]}|�tt||��ddd	����t||����ddd	����^|�
ttt|��d
��|�
ttt|��d
��|�
tttt|��d
������#dS)N�12345r�rvr�rr�r�r	rrT)r*rRr�rarrrxrPrprr?r�rkr
rir|rmr�s   rr�z#TestVariousIteratorArgs.test_islice0s���2�u�T�{�{�K��t�D��9K�9K�L�	I�	I�A���B��1�a�(�
P�
P��� � ��f�Q�Q�q�T�T�!�D��&;�&;�!<�!<�d�1�1�Q�4�4�j�j���A��>N�O�O�O�O����i���1���r�:�:�:����i���1���r�:�:�:����/��v�a��d�d�B�7G�7G�H�H�H�H�	I�	Irc
���ddtd��dtddd��fD�];}ttttt
tfD]z}t||����}tt||dd�����}tt||������}|�
||���{|�ttt|����|�ttt|����|�tttt!|��������=dSr�)r*rRr�rarrrxrPrr
r;rpr�rkr
rir|rm)r1r[r�r@r�r�s      rr<z%TestVariousIteratorArgs.test_pairwise8s"����U�4�[�[�+�u�T�$�q�7I�7I�J�	G�	G�A���B��1�a�(�
3�
3���1�1�Q�4�4�j�j����C��Q�R�R�� 1� 1�2�2���h�q�q��t�t�n�n�-�-��� � ���2�2�2�2����i��1�Q�4�4�8�8�8����i��1�Q�4�4�8�8�8����/��x��!���~�~�F�F�F�F�	G�	Grc��td��td��td��dtddd��fD�]K}ttttt
tfD]i}t||��}|�tttj||������d�||��D�����j|�
tttjt|����|�
tttjt!|����|�
t"tttjt%|��������MdS)	NrTrr�r�r�rxr�c��g|]}||z��Srrr�s  rr_z8TestVariousIteratorArgs.test_starmap.<locals>.<listcomp>Hr�r)r*rRr�rarrrxrPrrprrorDrir�rkr
rir|rm)r1r[r��sss    rrpz$TestVariousIteratorArgs.test_starmapCs5����)�)�U�1�X�X�u�S�z�z�6�5��B�q�>�>�J�	U�	U�A���B��1�a�(�
7�
7���!�Q�Z�Z��� � ��g�h�l�A�A�b�E�E�&B�&B�!C�!C�!5�!5���!���!5�!5�!5�7�7�7�7����i��(�,��"���F�F�F����i��(�,��"���F�F�F����/��w�x�|�Q�r�U�U�7S�7S�T�T�T�T�	U�	Urc��td��td��td��dtddd��fD�]J}ttttt
tfD]w}g}||��D](}t|��sn|�|���)|�	ttt||������|���x|�tttt|����|�tttt|����|�t tttt#|��������LdS�NrTrrvr�rr�r�)r*rRr�rarrrxrPr"r�rprr�r�rkr
rir|rm�r1r[r��tgtr�s     rr�z&TestVariousIteratorArgs.test_takewhileMsF����)�)�U�1�X�X�u�T�{�{�F�E�$�t�A�<N�<N�O�		P�		P�A���B��1�a�(�
E�
E�����A�a�D�D�%�%�D�!�$�<�<�.����J�J�t�$�$�$�$�� � ��i����!���&=�&=�!>�!>��D�D�D�D����i��F�A�a�D�D�A�A�A����i��F�A�a�D�D�A�A�A����/��y���1���7N�7N�O�O�O�O�		P�		Prc��td��td��td��dtddd��fD�]K}ttttt
tfD]x}g}||��D])}|st|��r�|�|���*|�	ttt||������|���y|�tttt|����|�tttt|����|�t tttt#|��������MdSr�)r*rRr�rarrrxrPr%r�rprr�r�rkr
rir|rmr�s     rr�z&TestVariousIteratorArgs.test_dropwhileYsI����)�)�U�1�X�X�u�T�{�{�F�E�$�t�A�<N�<N�O�		O�		O�A���B��1�a�(�
D�
D�����A�a�D�D�%�%�D��8�5��;�;�8���J�J�t�$�$�$�$�� � ��i��q�q��t�t�&<�&<�!=�!=�s�C�C�C�C����i��E�1�Q�4�4�@�@�@����i��E�1�Q�4�4�@�@�@����/��y���!���7M�7M�N�N�N�N�		O�		Orc
��ddtd��dtddd��fD�]V}ttttt
tfD]�}t||����\}}|�t|��t||������|�t|��t||��������|�
ttt|����|�
ttt|����|�
tttt|����d����XdS)	Nrr�rvr�rr�r�r)r*rRr�rarrrxrPr�rprr�rkr
rir|rm)r1r[r��it1�it2s     rr�z TestVariousIteratorArgs.test_teees.����U�4�[�[�+�u�T�$�q�7I�7I�J�	E�	E�A���B��1�a�(�
8�
8���q�q��t�t�9�9���S�� � ��c���D���1���J�J�7�7�7�� � ��c���D���1���J�J�7�7�7�7����i��a��d�d�3�3�3����i��a��d�d�3�3�3����/��s�1�Q�4�4�y�y��|�D�D�D�D�	E�	ErN)r:r;r<r�r�rirSr�r�r�r�r�rrkr�r<rpr�r�r�rrrrzrz�sH������	E�	E�	E�D�D�D�R�R�R�@�@�@�	D�	D�	D�F�F�F�M�M�M�R�R�R�B�B�B�J�J�J�	J�	J�	J�I�I�I�	G�	G�	G�U�U�U�
P�
P�
P�
O�
O�
O�E�E�E�E�Errzc��eZdZd�Zd�ZdS)�LengthTransparencyc�J�|�tjtdd����d��|�tjtdd����d��|�tjtd��d��d��dS)Nrxrr��rprD�length_hintrr0s rrczLengthTransparency.test_repeatqs�������-�f�T�2�.>�.>�?�?��D�D�D�����-�f�T�1�o�o�>�>��B�B�B�����-�f�T�l�l�B�?�?��D�D�D�D�Drc��|�tjtdd����d��|�tjtdd����d��|�tjtdd�����d��|�tjtdd�����d��dS)Nr7rr�rer�r0s rrfz2LengthTransparency.test_repeat_with_negative_timesvs�������-�f�T�2�.>�.>�?�?��C�C�C�����-�f�T�2�.>�.>�?�?��C�C�C�����-�f�T��.D�.D�.D�E�E�q�I�I�I�����-�f�T��.D�.D�.D�E�E�q�I�I�I�I�IrN)r:r;r<rcrfrrrr�r�os:������E�E�E�
J�J�J�J�Jrr�c�F�eZdZd�Zd�Zejd���Zd�Zd�Z	dS)�RegressionTestsc���d�}�fd�}g�|d|d��tt��}|��|��dS)Nc�����dgf��fd�	}t|��}t|��|dd�<t||��}t|gt|��z��t	���dS)Nr	c�F��|r|dd�=�t�����|Srr�)r�r�r��zs  ��rr�z@RegressionTests.test_sf_793826.<locals>.mutatingtuple.<locals>.g�s.������a�a�a���A�d�1�g�g�J�J�J��r)rr�r
r�rr)�tuple1r��tuple2r��items�genr�s `    @r�
mutatingtuplez5RegressionTests.test_sf_793826.<locals>.mutatingtuple�s�����!"�s�
�
�
�
�
�
�
�
��L�L�E��f���E�!�A�#�J��a��-�-�C��c�U�3�v�;�;�&�'�A���G�G�G�G�Grc�>��|att���dd�<dSr)�Tr)rLr�s �rr�z)RegressionTests.test_sf_793826.<locals>.f�s����A��A�w�w�E�!�!�!�H�H�Hrr�)rbr�r�)rr�rp)r1r�r��secondr�s    @r�test_sf_793826zRegressionTests.test_sf_793826~sm���
	�
	�
	�	�	�	�	�	�
���
�g�q�'�*�*�*��a���������'�'�'�'�'rc
�$���fd�}�fd�}g�|�ttt|��|d������|��ddg��g�|�ttt|��|d������|��ddg��g�|�ttt|������|��ddg��dS)Nc3�r�K���d��dV���d��t�r)r��AssertionError)�hists�r�gen1z,RegressionTests.test_sf_950057.<locals>.gen1�s4������K�K��N�N�N��G�G�G��K�K��N�N�N� � rc3�h�K���d��dV���d��dS)Nrrrb)r�)rr�s �r�gen2z,RegressionTests.test_sf_950057.<locals>.gen2�s2������K�K��N�N�N��G�G�G��K�K��N�N�N�N�NrFrr	T)r�r�rr�rpr�)r1r�r�r�s   @r�test_sf_950057zRegressionTests.test_sf_950057�s���	�	�	�	�	�	�	�	�	�	�
�����.�$��d�d�f�f�d�d�5�k�k�0J�0J�K�K�K������!�u�%�%�%������.�$��d�d�f�f�d�d�4�j�j�0I�0I�J�J�J������!�u�%�%�%������.�$��d�d�f�f�
�
�>�>�>������!�u�%�%�%�%�%rc���t�d�td��D����}|�t��5t|��ddd��dS#1swxYwYdS)Nc3�K�|]}dV��dS)rNr)r^�unuseds  rr�zERegressionTests.test_long_chain_of_empty_iterables.<locals>.<genexpr>�s"���� B� B��� B� B� B� B� B� Bri���)r�r�r*r�r6rrr�s  r�"test_long_chain_of_empty_iterablesz2RegressionTests.test_long_chain_of_empty_iterables�s���
�
 �
 � B� B�%��/�/� B� B� B�
B�
B��
�
�
�}�
-�
-�	�	���H�H�H�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	s�A)�)A-�0A-c�v���fd�}ttd��|��D]\}�t����dS)Nc�:��|dkrt���|dkS)Nr�r�r�)r+rxs �rr�z,RegressionTests.test_issue30347_1.<locals>.f�s ����A�v�v��Q������6�MrrT)r'r*r)r1r�r#rxs   @r�test_issue30347_1z!RegressionTests.test_issue30347_1�sX���	�	�	�	�	��e�B�i�i��+�+�	�	�F�Q����G�G�G�G�	�	rc�����G��fd�d��}d�tttd��|����d�td��D]}t�d���dS)Nc�"��eZdZd�Z��fd�ZdS)�,RegressionTests.test_issue30347_2.<locals>.Kc��dSrrr^s  rr-z5RegressionTests.test_issue30347_2.<locals>.K.__init__�s���rc�>���dz
��dkrt�d��dS)Nr	Tr�)r1�otherr�rs  ��rr�z3RegressionTests.test_issue30347_2.<locals>.K.__eq__�s'����Q�����6�6���D�M�M�M��trN)r:r;r<r-r�)r�rs��r�Kr��sB�������
�
�
�
�
�
�
�
�
�
�
rr�rrTr	r)rrr'r*)r1r�r�r�rs   @@r�test_issue30347_2z!RegressionTests.test_issue30347_2�s�����	�	�	�	�	�	�	�	�	�	�	�
�����r���A�&�&�'�'��*���q���	�	�A���D�M�M�M�M�	�	rN)
r:r;r<r�r�r�skip_if_pgo_taskr�r�r�rrrr�r�|so������(�(�(�:&�&�&�8
����������
�
�
�
�
rr�c��eZdZd�ZdS)�SubclassWithKwargsTestc�d�tdddgftddgdfddgftdddgfdgftdddgfdgftddgdd	gfgd
�ft
tddgfddgfttj	d
fddgftgd�ddfddgfttgd�fdgfttgd�fdd	gftddgfgd�ftdgd�fddgfg}|D]�\}}}|�|��5Gd�d|��}||�}|�t%|��|��|�t)t|dd����|��|�t,��5||ddi�ddd��n#1swxYwYddd��n#1swxYwY��|D]�\}}}|tttfvr�|�|��5Gd�d|��}||ddi�}|�t%|��|��|�t)t|dd����|��|�|jd��ddd��n#1swxYwY��|D]�\}}}|�|��5Gd�d|��}||ddi�}|�t%|��|��|�t)t|dd����|��|�|jd��ddd��n#1swxYwY��dS)Nr5r	rr�rar�rrrbr��1�2)r\rr�r�)r	rrrb)rrrb)r	rr	rr]r�r�c��eZdZdS)�BSubclassWithKwargsTest.test_keywords_in_subclass.<locals>.subclassNr�rrr�subclassr��s�������Drr��newargc��eZdZdd�d�ZdS)�LSubclassWithKwargsTest.test_keywords_in_subclass.<locals>.subclass_with_initN�r�c��||_dSrr�)r1r�rs   rr-zUSubclassWithKwargsTest.test_keywords_in_subclass.<locals>.subclass_with_init.__init__�s
��&,����r)r:r;r<r-rrr�subclass_with_initr��s0������59�-�-�-�-�-�-�-rr�c�$��eZdZdd��fd�
Z�xZS)�KSubclassWithKwargsTest.test_keywords_in_subclass.<locals>.subclass_with_newNr�c�J��t��j|g|�R�}||_|Sr)�super�__new__r�)�clsr�rr1r�s    �rr�zSSubclassWithKwargsTest.test_keywords_in_subclass.<locals>.subclass_with_new.__new__	s,���.�u�w�w��s�:�T�:�:�:��&,���#�r)r:r;r<r��
__classcell__)r�s@r�subclass_with_newr�	sE�������37�$�$�$�$�$�$�$�$�$�$�$rr�)rr
rRr�r�r�rjrorDrir?r�r"r�r�rf�subTestr%rqrprr�rkr�)	r1r�r�rr�r��ur�r�s	         r�test_keywords_in_subclassz0SubclassWithKwargsTest.test_keywords_in_subclass�s����V�a��V�$�
�A�q�6�4�.�8�X�"6�7�
�d�Q��F�^�a�S�)�
�4�!�Q��.�1�#�.�
�a��V�a��V�$�i�i�i�0�
�3��A��-�#�s��,�
�x�|�%5�6��A��?�
�l�l�l�A�q�)�A�q�6�2�
�����+�a�S�1�
�����+�a��V�4�
�a��V�I�y�y�y�)�
��y�y�y�)�C��:�6�

�	�"+�	.�	.��C��v����c�"�"�
.�
.������s�����H�d�O���
�
�d�1�g�g�x�0�0�0�� � ��f�Q��1�o�o�!6�!6��?�?�?��&�&�y�1�1�.�.��H�d�-�1�-�-�-�.�.�.�.�.�.�.�.�.�.�.����.�.�.�.�

.�
.�
.�
.�
.�
.�
.�
.�
.�
.�
.����
.�
.�
.�
.��"+�
	.�
	.��C��v��v�s�H�-�-�-�����c�"�"�
.�
.�-�-�-�-�-��-�-�-�'�&��7�Q�7�7���
�
�d�1�g�g�'9�:�:�:�� � ��f�Q��1�o�o�!6�!6��?�?�?�� � ���1�-�-�-�
.�
.�
.�
.�
.�
.�
.�
.�
.�
.�
.����
.�
.�
.�
.��"+�
	.�
	.��C��v����c�"�"�	
.�	
.�$�$�$�$�$��$�$�$�
&�%�t�6�A�6�6���
�
�d�1�g�g�'8�9�9�9�� � ��f�Q��1�o�o�!6�!6��?�?�?�� � ���1�-�-�-�	
.�	
.�	
.�	
.�	
.�	
.�	
.�	
.�	
.�	
.�	
.����	
.�	
.�	
.�	
.��
	.�
	.s]�&BF�)	E>�2F�>F�F�F�F�F	�F	�BI(�(I,	�/I,	�BL$�$L(	�+L(	N)r:r;r<r�rrrr�r��s#������3.�3.�3.�3.�3.rr�c�:�eZdZd�ZejZd�Zd�Zd�Zd�Z	dS)�
SizeofTestc�8�tjd��|_dS)Nr+)�struct�calcsize�ssize_tr0s r�setUpzSizeofTest.setUp	s����s�+�+����rc���tjd��}|j}|tdd��|d|jzz��|td�|d|jzz��dS)N�3Pir��12r)
r�r�r�r�r�r�r�r�r�r�rT)r�calcobjsize�check_sizeofrr��r1�basesize�checks   r�test_product_sizeofzSizeofTest.test_product_sizeof	sk���&�u�-�-���!��
��g�d�D�!�!�8�a�$�,�.>�#>�?�?�?�
��g�
�'��B���4E�)E�F�F�F�F�Frc���tjd��}|j}|tdd��|d|jzz��|ttd��d��|d|jzz��dS�N�3Pnir�rrTrb)rr�r�r�r�r*r�s   r�test_combinations_sizeofz#SizeofTest.test_combinations_sizeof	sv���&�v�.�.���!��
��l�6�1�%�%�x�!�d�l�2B�'B�C�C�C�
��l�5��9�9�a�(�(�(�Q���5E�*E�F�F�F�F�Frc���t}tjd��}|j}||dd��|d|jzz��||td��d��|d|jzz��dSr�)r�rr�r�r�r*)r1r(r�r�s    r�)test_combinations_with_replacement_sizeofz4SizeofTest.test_combinations_with_replacement_sizeof"	s}��+���&�v�.�.���!��
��c�c�&�!�n�n�h��T�\�)9�9�:�:�:�
��c�c�%��)�)�Q����A���,<�!<�=�=�=�=�=rc���tjd��}|j}|td��|d|jzzd|jzz��|tdd��|d|jzzd|jzz��|tdd��|d|jzzd|jzz��|ttd��d��|d|jzzd|jzz��dS)N�4Pnir�rbrr	r�rT)rr�r�r�r�r*r�s   r�test_permutations_sizeofz#SizeofTest.test_permutations_sizeof)	s���&�v�.�.���!��
��l�6�"�"���T�\�)�)�A���,<�<�	>�	>�	>�
��l�6�1�%�%���T�\�)�)�A���,<�<�	>�	>�	>�
��l�7�A�&�&���T�\�)�)�A���,<�<�	>�	>�	>�
��l�5��9�9�a�(�(���d�l�*�*�Q���-=�=�	?�	?�	?�	?�	?rN)
r:r;r<r�rr�r�rrrrrrr�r�	so������,�,�,��'�L�G�G�G�G�G�G�>�>�>�
?�
?�
?�
?�
?rr�c�R�|�tj����|Sr)�addTest�doctest�DocTestSuite)�loader�tests�patterns   r�
load_testsr
6	s"��	�M�M�'�&�(�(�)�)�)��Lr�__main__)Br�unittest�testr�test.supportr�	itertoolsr��decimalr�	fractionsrrDrNr�rX�	functoolsrr~r�r�r��MAX_Py_ssize_tr{�minsizerrrr r"r%r'r,r.rArHrJrOrRrUr*r�r��TestCaserar�rr$rPrRr�rar
rirmrrrxrzr�r�r�r�r�r
r:�mainrrr�<module>rsk����������������)�)�)�)�)�)�������������������������
�
�
�
�����
�
�
�
�������
�
�
�
�
�
�
�
�����	�	�	�	�
�
 ���(�1�*��������������
�������������������� � � �-�-�-����
���������B�B�#�e�F�$;�a�$?�@�@�B�B�B�
�d1�d1�d1�d1�d1�8�$�d1�d1�d1�N1kM�kM�kM�kM�kM�8�$�kM�kM�kM�\'%�'%�'%�'%�'%�X�%6�'%�'%�'%�Tg9�g9�g9�g9�g9�X�
�g9�g9�g9�R���
������������������������	�	�	�	�	�	�	�	�������������������������2�2�2�
dE�dE�dE�dE�dE�h�/�dE�dE�dE�LJ�J�J�J�J��*�J�J�J�Y�Y�Y�Y�Y�h�'�Y�Y�Y�x4.�4.�4.�4.�4.�X�.�4.�4.�4.�n	��#?�#?�#?�#?�#?��"�#?�#?���#?�L���
�z����H�M�O�O�O�O�O��r