403Webshell
Server IP : 121.121.20.254  /  Your IP : 216.73.216.220
Web Server : Microsoft-IIS/10.0
System : Windows NT WEB-SERVER 10.0 build 20348 (Windows Server 2022) AMD64
User : IUSR ( 0)
PHP Version : 8.3.28
Disable Function : NONE
MySQL : ON  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  C:/Python315/Lib/test/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : C:/Python315/Lib/test/__pycache__/test_buffer.cpython-315.opt-2.pyc
R
>lqj�c��]PHs]PHs]QHGs]QHGs]PHs]QHGsG	s	]QH(GsGsG
s
]PH8s]PH<s]PH@s]PHDs]PHHs]QHLGs]QHTGs]QHGs]QHb3]PHns]PHrs\O:29^tt^2\m\O>29^tt^2]Q	H�Gs!PPP2PPP2]PH�s"P	s#-Q
]aQ]aQ]aQ
]aQ]aQ]aQ]aQ]aQ]aQ]aQ]aQ]aQ]aQ]aQ]aQ]aQ]aQ]-As$\!%c\$Q\$Q\%c\OJQQi2]\$Q$]\$Q$-Q
QjaQQkaQQlaQ
QkaQQmaQQnaQQoaQQpaQQoaQQpaQQqaQQraQQsaQQqaQ]Q*']Q*1aQQqaQ]Q*']Q*1as'Qs(P\$Q \$Q!\'Q"\'Q#\'Q$\'-s)\%c$\)Q *FDs*\(\*2\)Q *\*$J	\$OW2s,\$OW2s-\$FDs.\.\/Q%2QQ,*7fJ\-\.J 	\$OW2s0\$FDs.\.Q&7cJ\0\.J	\,\)Q'$\,\)Q($\-\)Q)$\0\)Q$\0\)Q*$]s1]s2Q+,QtN,QuN1Q,Q),P,1Q-P,P,1Q.Q(Q',P,1Q/Q*Q,P,1-s3Q0s4Q1s5Q2s6Q3s7Q4s8QvQ5ks9Q	Q6ks:Q	Q7ks;Q8s<Q9s=\)Q *Tt,tFDo\<U2%cJUMJ	tos>Q:s?Q;s@Q<sAQ=sBQ>sCQ?sDQ@sEQAsFQBsGQCsHQDsIQEsJQFsKQGsLQHsMQIsNQJsOQKsPQLsQQMsRQNsSQOsTQwQPksUQQsVQRsWQxQSksXQTsYQyQUksZQQVQQW-s[QXs\QzQYks]QZs^Q[s_Q\s`Q{Q]ksaQ{Q^ksbQ|Q_kscQzQ`ksdQase]dsf]sg]
sh\#%c
]
sf]sg]sh\bs_\cs`\ds\O�\Qb2\O�\Qc2QdQe\O�222skQfQg\O�2sl\mQh6Xc\O�2P!P!\cPsCK{h9h\cPsCK�h9h\cPsCK�h9h)%fhCK^9h)%fhCKj9h\cPs!CKyh9h\cPs"CK�h9h\OLcCK-h9httoh)}�)�support)�	os_helper)�permutations�product)�	randrange�sample�choice)�Decimal)�Fraction)�warnings_helper)�*��ndarray�?�c�b�B�h�H�i�I�l�L�n�N�e�f�d�P�Zf�Zd�Q�q�c���UQ6XcQoU!UQ6XcQ	oU!UQ6XcQ
oU!UQ6XcQoU!UQ6Xc]Q*']Q*1oU!UQ6XcQoU!UQ6Xc]Q*']Q*1oU!QFD*o[OU]U*]*
2L	W]*%c]U*']U*1L
]]U*1oU![OcJuh9h)
rrrrrr#rr �r��r��i��i��l�����)
���@�?� �����)�struct�pack�error)�fmt�lh�exps&  �%C:\Python315\\Lib\test\test_buffer.py�native_type_ranger=es ��
�c�z�
��*�I�)

���
��&�I�%

���
��"�I�!

���
���I�

����4��j�!�T�'�
"���I�

���
���I�

����4��j�!�T�'�
"���I�<�C�
����C�!�S�&�!��,��<�%(�!�G�G��3��i��C��
 �!�Q��V���
�I���<�<�
��
�s�8%C�C*�%C*�)C*�@�<�>�=�!�bBhHiIlLefd�Bbc�m�@m�a�@br�array�numpy�
memoryview�bytefmtc���[[U*U*oUQ6Xc[U,2oUQ6Xc
UQ6XcQoUQ6Xc[U2oUQ7c4[O
V2o[OV2]*oUQ7c[[[U*U*o[V42o[O
V2o[OV2]*oU!)rrJ��r�efd)rr )r�fmtdict�bytes�boolr6r7�unpack�complex)�mode�char�obj�x�ys&&&  r<�
randrange_fmtr[�s���	�7�4�=��&�'�A��s�{��1�#�J���'�>�a�7�l��A��s�{���G���u�}��K�K�� ���M�M�$�"�1�%���|���w�t�}�T�*�+���A�M���K�K�� ���M�M�$�"�1�%���H�c#� �]oU[U26c*V*Q6Xc]oL]oVV*w�	V*
oJ9P!3h)r�Z��len)r9rrs&  r<�split_formatra�s@���	�A�
�c�#�h�,��6�S�=��A��A��A�E�l��	���
�s�A�A�Ac	���UOQ2vq#,o[U2FDoUO[V%U22J 	[	U2]6Xc
U]*![U2!)�#)�splitra�appendr[r`�tuple)r9rXrV�charsrYrs&&    r<�gen_itemrh�sU���)�)�C�.�K�D�
�A�
�%�
 ��	����t��,�-�!��q�6�Q�;�1�Q�4�,�E�!�H�,r\c��U]6Xc[V2!],U*o[U2FDo[V2V4$J	U!�r)rh�range)rr9rX�lstrs&&&  r<�	gen_itemsrm�s>���A�v���!�!��#��'�C�
�1�X���#�#�����Jr\c���[[U*[*2oUQ*oUOQ2o[	]]
2o[U2FDto[[
[U*22o[[U*[*2oX7[U%cSL]2**
oVHU**
oJv	[VU2o	[V12o
VIU
1!)rc�amb)r�cap�MODE�striprrkrfrQ�MULT�intrmrh)rrXrV�xfmtr9�nmemb�_rW�
multiplier�items�items&&         r<�struct_itemsr{�s����#�c�(�4�.�!�D��#�:�D�
�*�*�U�
�C��a���E�
�5�\���e�G�D�M�*�+���C��H�T�N�+�
���*�J�!�<�<�=���T�!�"��	�

�a�s�#�E��D��D��t��r\c��Ue"[[U*[*2oUe [[[U*22o[[U*[
*2oUQ*S[
U%cSL]2**o[VU2o[VQ2oUOQ2U*U*oVVU1!)Nrcro)
rrprqrfrQrsrtrmrhrr)rrXrVrWrxr9ryrzs&&&&    r<�	randitemsr}�s����|��c�#�h�t�n�%���|��e�G�D�M�*�+����C����'�J�
��*�t�c�
�*��B�B�
B�C��a�c�"�E��C��D�
�*�*�U�
�j�
(�4�
/�C��t��r\c
#� �[U*[*FD'o[U*FDo[VV#2w�	J	J)	P!3h�N)rprqrQr})rrXrVrWs&&  r<�	iter_moder��s6����C�������D�M�M�D��A�D�/�/�"��s�AA
c#�n �[V2FDoUw�	J
	UQ6wcP![V2w�	P!3hr
)r�r{)�nitems�testobj�ts&& r<�iter_formatr��s1����v�
'����(��)���
�v�
'�'�s� 5�5c�B�QU79%fQU79%fQU7!)rrr��r9s&r<�is_byte_formatr�s$���#�:�1�1����1�1�s�c�z�1r\c�4�UOQ2[7!)r>)�removeprefix�
MEMORYVIEWr�s&r<�is_memoryview_formatr�	s�����C� �J�.�.r\c�.�[U[2%(!r��
isinstance�list�rls&r<�atompr�s���#�t�$�$�$r\c�$�[U[2!rr�r�s&r<�listpr�s���c�4� � r\c�p�[U2]6Xc]!U]*oUQ*FDoV*oJ
	U!�r��NNr_)rlrY�vs&  r<�prodr�s5��
�3�x�1�}���A��A�
��W�W��	�����Hr\c�p�U]6XcQ!UQ6XcZ[UQ*2U,*o[U]*
PP2FD$oVE99*VE]***tt$J&	U!U,[UPP2*o[]U2FD$oVE99*VE]*
**tt$J&	U!)r�Cr�r�)r�rk)�ndim�shape�itemsize�layout�stridesrs&&&&  r<�strides_from_shaper�$s����q�y��	�
��}��u�R�y�/�X�J�.���t�A�v�r�2�&�A��J�'�A�#�,�&�J�'��N��*�t�E�#�2�J�/�/���q�$��A��J�'�A�#�,�&�J� ��Nr\c�T�[U2%cU![U2]6Xc
U]*!],U]**oU]*%c[U2U]**L]o[U]*2FD(oVC*o[VVS*UQ*2V$$J*	U!r�)r�r`rk�_ca)ry�srl�strider�starts&&    r<r�r�3s���
�U�|�|���
�1�v��{��Q�x���#��!��*�C�#$�Q�4�4�S��Z�1�Q�4�
�Q�F�
�1�Q�4�[������U���.��"��6�����Jr\c��[U2%cU![U2]6Xc
U]*!],U]**oU]*o[U]*2FD!o[VPU/*UQ*2V$$J#	U!r�)r�r`rk�_fa)ryr�rlr�rs&&   r<r�r�Asp��
�U�|�|���
�1�v��{��Q�x���#��!��*�C�
�q�T�F�
�1�Q�4�[���U�9�f�9�%�q��u�-�����Jr\c��[U2%c,]U7f%[U2[U26wc[Q2g[	V2!�rzprod(shape) != len(items))r�r�r`�
ValueErrorr��ryr�s&&r<�carrayr�N�7���U�|�|�A��J�4��;�#�e�*�+D��4�5�5��u��r\c��[U2%c,]U7f%[U2[U26wc[Q2g[	V2!r�)r�r�r`r�r�r�s&&r<�farrayr�Sr�r\c�X�STt,tFDo[U2MJ	oo[U!ttohr)rkr)r�r��	iterabless&  r<�indicesr�Xs*��#(�)�5�a��q��5�I�)��I����*s�'c�j�]o[U2FDoV2U*V***
oJ!	U!rj�rk)r��indr��retrs&&&  r<�getindexr�]s-��
�C�
�4�[���q�z�C�F�"�"����Jr\c	��U%fU![U2o[V!]Q2o[V!PPP/*]Q2o],[U2*o[U2FD/o[V&U2o[V&PPP/*U2oV*VX$J1	U!)r�r�)r`r�r�r�)	�srcr�r��sstrides�dstrides�destr��fr�tos	&&       r<�	transposer�ds�����
��u�:�D�!�$�q�#�6�H�!�$�d��d��Q��<�H�
�3��S��>�D��u�~��
�d��
*��
�d��"��I�x�
0���7�����Kr\c��U,6XcU![U2%cU,![U]*2[UQ*2*!r��r��_flattenr�s&r<r�r�ss;��
�b�y��
��S�z�z��u���C��F��h�s�2�w�/�/�/r\c�@�[U2%cU![U2!rr�r�s&r<�flattenr�{s���S�z�z��
��C�=�r\c��[U2%c,![V]**2,[U]*UQ*2*!r�)r�r`�slice_shape)rl�slicess&&r<r�r��s:��
�S�z�z��	���1�I��� �;�s�1�v�v�b�z�#B�B�Br\c	��[U2%cU!V]**Tt,tFDo[V!Q*2MJ	to!ttohr�)r��
multislice)rlr��sublsts&& r<r�r��s7���S�z�z��
�9<�A�Y��H��v�J�v�b�z�*��H�H��Hs�Ac��[U2%cU![V]**V]**2TTt,tFD vqE[VEUQ*UQ*2MJ"	oooVU]*$U!ttoohr�)r��zip�m_assign)�llst�rlst�lslices�rslicesr�rs&&&&  r<r�r��ss��
�T�{�{����D���,�d�1�:�.>�?�A�?���
�Q�7�2�;����4�?�	�A�������K��As�(A5c���[V2o[V2o[U2[U26wcP![[U22FD,oVF*VV*6wcPt!VF*]6XfJ*]!	]!�r�)r�r`rk)r�r�r�r��lshape�rshapers&&&&   r<�
cmp_structurer��s`��
��
'�F�
��
'�F��F��s�6�{�"��	�
�3�v�;�
���9��	�!��I��9��>��	 �

r\c�T�[VV#2]6c[Q2g[VV#2!)rz+lvalue and rvalue have different structures)r�r�r�)r�r�r�r�s&&&&r<�multislice_assignr��s*���T��2�Q�6��F�G�G��D��1�1r\c�```�UR*%cP
!U]6fUR*U6�cP
![9PIcU1QkR2D%fJP	L	P
LU1QkR22%cP
!U]6:c$U]6H9%cR%(9%cR%(!]R7cP	![UU1Qk[U222o[UU1Qk[U222o]VV*6*9%cVW*R*U6*!)Fc3�@:�SF �DpR*w�	J	P!3hrr�)�.0r�r�s& �r<�	<genexpr>�#verify_structure.<locals>.<genexpr>�s������A�x�<�<��s�c3�:�SF �D4oRU*]6:fJRU*RU*]*
*w�	J6	P!3hrjr��r��jr�r�s& ��r<r�r��s4������1��!�*��/�'�w�q�z�5��8�A�:�&�&���
�A�'Ac3�:�SF �D4oRU*]6�fJRU*RU*]*
*w�	J6	P!3hrjr�r�s& ��r<r�r��s4������1��!�*�q�.�'�w�q�z�5��8�A�:�&�&��r�)�any�sumrk)�memlenr�r�r�r��offset�imin�imaxs&f&ff&  r<�verify_structurer��s���������
��z�V�H�_�v�-��
�s�
)��
)�s�s�s�
)��
)�)�)���q�y��q�y�6�6��Y�6�6�w�;�6��E�z���#��d��#�#�D��"��d��"�"�D�
����>�>���H� 4�� >�>r\c�,�SFDoV*oJ
	U!rr�)rlr�rs&& r<�get_itemr��s��
���f����Jr\c�v�Uvq#qEqgSo[U2FDo	V�U	*V	***
oJ!	U!rr�)
r�r�r�r�r�r�r�r��prs
&&        r<�memory_indexr��s9��56�2�F�d�7��A�
�4�[��	�Q�Z��
�
"�"����Hr\c��Uvqq4qV]U*o[U2FD1o[V�2o	]U	*o
Vz*%cP	!Vz*oJ3	P
!r�)r�r�)r�r�r�r�r�r�r��visitedr�r�bits&          r<�is_overlappingr��sP��67�2�F�d�7���i�G��u�~���� ����d���=�=������r\c�6``�R%f�[U]*2oU]6Xc@U%cVUQQ]1![]]2oV`*o[]2]6XcU'LSoVpUQQU1!]o	[]d2o
U
]_6�cU%c]o	L	U
]Z6�c]o	],U*n[U2FDo[V�]*2RU$J	L[R2o]o[]d2o
U
]_6�cU
]*%cP	LP
o
],U*nU[U'U]*2*RU]*
$U
%f"RU]*
*]6Xc
URU]*
$[U]*
PP2FD�oSRU]**%cRU]**L]*oU
%c!U[U'U]*2*RU$JZQ[]2*U*[]U]*2*RU$J�	]9q�]R7f=[UU1Qk[U222o[UU1Qk[U222oV�*
oU%c"U'U*oV�]*U**oL-U'U*U*o[]2]6XcU'U*
LSoVpURRU1!)r�c3�:�SF �D4oRU*]6:fJRU*RU*]*
*w�	J6	P!3hrjr�r�s& ��r<r��!rand_structure.<locals>.<genexpr>5s4��K���K�q��a�j�A�o�+�7�1�:�u�Q�x��z�*�*�K�r�c3�:�SF �D4oRU*]6�fJRU*RU*]*
*w�	J6	P!3hrjr�r�s& ��r<r�r�7s4��K���K�q��a�j�1�n�+�7�1�:�u�Q�x��z�*�*�K�r�r��r����)rrkr`r�)r��valid�maxdim�maxshaper�r�r�r�r��minshaperr�	maxstride�zero_strider�r�r�s&&&&f           @r<�rand_structurers\��������"���A�I���4��R��:�:�"�1�d�+���*��&/��l�a�&7�(��V����r�2�v�=�=����c�N����7�u��H�
�"�W��H���d�
���t��A� ��A�:�6�E�!�H���5�z���I��#��A��r�'�a�!�e�e�$��K��c�D�j�G���I�:�y��{�!C�C�G�D��F�O��7�4��6�?�a�/�"���Q���
�4��6�2�r�
"���5��1��:�:�U�1�Q�3�Z�1�4�	��!�I�y�j�)�A�+�$F�F�G�A�J� ��1��.�"�#�%.�q�)�A�+�%>�?�G�A�J�#��O�D���:��'�E�$�K�'�'���&�E�$�K�&�&���[�F�����!����6�X�-�-���%�$�,�(�*��#,�Q�<�1�#4�$��x��&���T�5�'�6�9�9r\c��V*
o[U]*2oU%cV*
U*L]o[]U]*2oV0U**o[V6U2o[Vq2vq�V�6wc[gU!r�)r�slice�
slice_indices�RuntimeError)
�slicelen�listlen�maxstartr��maxstep�step�stopr�rw�controls
&&        r<�randslice_from_slicelenrCsr���!�H��h�q�j�!�E�/7�w��8�+�Q�G��Q���	�"�D��d�?�"�D�
�e�4� �A�$�Q�0��A�q�!������Hr\c��],U*o],U*o[U2FDAoV*oU]6�c[]U]*2L]o[Ve2V$$[Ve2V4$JC	[U2[U21!rj)rkrrrf)r�r�r�r�rrrs&&     r<�randslice_from_shaperPst���c�D�j�G��c�D�j�G�
�4�[���H��()�A��9�Q��!��$�1��,�X�9��
�,�X�9��
�	�
��>�5��>�)�)r\c�P�[]U]*2o]o[]d2oU]_6�c]oL	U]Z6�c]o[]d2]P6�cP	LP
o],U*o],U*o],U*o],U*o	[U2FCDo[V1]*2o
[V1]*2oV�6cX�q�U%cp[U
'U
]*2o[U
'U
]*2o
Q[]2*[]U
]*2*o[V�U2o[V�2vooL(U
]6�c[]U
]*2L]o[	UU
2o[	UU2o[]2]6XcV�tVt$Vd$UUtV�$V�$J�V�tVt$Vd$UUtV�$V�$CJ	Vg[U2[U	21!)r�r�)rrkrrrrf)r�r�r�rr�
all_randomr�r�r�r��small�bigr�r
r�s_smallrwr�s_bigs&&                 r<�rand_aligned_slicesr\s����Q��q��!�D��H��#��A��B�w���	
�b����"�3��2�-��5�J��S��X�F���D��v��c�$�h�G�1�#�d�(��
�4�[�[���(�Q�J�/����1�*�-���;�����u�f�e�A�g�.�E��e�V�U�1�W�-�D��)�A�,�'�)�A�u�Q�w�*?�?�D��E��.�G� -�g� =��A�q�!�X�05��	�y��E�!�G�,�q�H�-�h��>�G�(��#�6���Q�<�1��#&� �F�I�v�y�%*�G�"�G�J��
�#(� �F�I�v�y�%,�e�"�G�J��
�1�4�5��>�5��>�9�9r\c�H�Uvq#o[V#*QU*Q2!)rcrJ)rm)r9r�r�r�rws&&   r<�randitems_from_structurer�s*��$%� �F�a��A�q��V�%�s�3�w��8�8r\c	�D�UvqEqgq�[VV�U	[U*Q5!)�r�r��formatr��flags)r�ND_WRITABLE)
ryr9r�rr�r�r�r�r�r�s
&&&&      r<�ndarray_from_structurer �s)��56�2�F�d�7��5�w� ��E�(9�;�;r\�F�Dc���Uvq4qVqx[U2o	[U2FD#vq�[OVV�*U2J%	[OV2o[
V�UV�Q5!))�bufferr�r��dtyper�)�	bytearray�	enumerater6�	pack_into�FORMAT_TO_DTYPE�get�numpy_array)
ryr9r�r�r�r�r�r�r��bufr�r�r%s
&&&          r<�numpy_array_from_structurer-�sc��56�2�F�d�7�
�F�
�C��%� �������1�:�q�1�!�
����)�E��c��"�3�3r\c��UOoU%c[U2U*U6wcPU1!L>U,6XcUO]6XfV$6wcPU1!L[VB2vqVU,oU]6wcPU1!UO	2o[][
U2U2Tt,tFD
p�V�U*MJ	o	o,o
S	FD>o[OV2]*oV�6wcQU1t!U
OU2J@	U,6wcV�1!U
]*U1!ttoh)N�nan)
�nbytesr�r��divmod�tobytesrkr`r6rTre)
�exporterr9r�r��bytelenrr��memr�	byteitemsryr�rzs
&&&&         r<�
cast_itemsr7�s���o�o�G����;��!�W�,���;��-�	�"���=�=�A���!4���;��"5��g�(��������6���;��
�
�
�
�C�,1�!�S��X�x�,H�I�,H�q�Q��z�"�,H�I�I��E�
���}�}�S�$�Q�'���<��%�<��
���T��	�#�b�[�E�>�?�u�Q�x��.?�?��Js�D
c#�z �[] 2FD	oU,w�	J	[]]2o[]d2]P6�c]L]o[U2Tt,tFDo[U]2MJ	tow�	[]]2o[]d2]P6�c]L]o[U2Tt,tFDo[U]2MJ	tow�	P!ttohttoh3h)r0)rkr)rr�rrws    r<�
gencastshapesr9�s����
�2�Y���c�	���Q��?�D��c�N�R�'�q�Q�H�+0��;�
7�;�a�9�X�q�!�;�
7�7��Q��?�D��c�N�R�'�q�Q�H�+0��;�
7�;�a�9�X�q�!�;�
7�7��8��8�s(�6B;�B;�	B1� !B;�B;�B6�)B;c	��[[U'U]*2[U'U]*2[U'U]*22!r�)rrk)rs&r<�	genslicesr;�s5���5�!��Q�q�S�>�5�!��Q�q�S�>�5�!��Q�q�S�>�B�Br\c�v�[U2Tt,tFDo[V*2MJ	oo[U!ttohr)rkr;r)r�r�rr�s&&  r<�genslices_ndimr=�s1��.3�D�k�:�k���5�8�$�k�I�:��I����;s�6c�d�U%fU]6Xc]L]o[V ]*2o[V02!rj)rr)r�allow_empty�minlenrs&&  r<�rslicerA�s,����a��Q�Q�F���1��%�H�"�8�/�/r\c#�R �[]2FDo[V2w�	J	P!3h��)rkrA)rr?rws&& r<r�r��s���
�1�X���Q�$�$��s�%'c#�` �[U2FDIo[9PIc ,U1Qk[U22DMJ	3LU1Qk[U222w�	JK	[U2FDIo[9PIc ,U1Qk[U22DMJ	3LU1Qk[U222w�	JK	[9PIc,Q[U22DMJ	3LQ[U222w�	P!3h)c3�T:�SF �Do[RU*2w�	J	P!3hr�rA�r�rr�s& �r<r��rslices_ndim.<locals>.<genexpr>�s��k���k��F�5��8�$�$�k�s� (c3�X:�SF �Do[RU*P	Q5w�	J	P!3h)T)r?rGrHs& �r<r�rI�s������1�F�5��8��6�6��s�"*c3�H�SF �Do[]]]2w�	J	P!3hrj)r)r�rws& r<r�rI�s��k���k���a��!���k�s�")rkrf)r�r��
iterationsrws&f& r<�rslices_ndimrM�s������:�
���e�:�e�D�k�:�e�e�:�e�D�k�:�:�:���:�
���e�L��d��L�e�e�L��d��L�L�L���%�2�e�D�k�2�%�%�2�e�D�k�2�
2�2�s�C9�AC9�8A	C9�7C9c#�v �[U2oUe[U2LSo[[V!22w�	P!3hr)rfr`r)�iterabler��pools&& r<�rpermutationrQ�s,�����?�D��Y��D�	�A�A�
��t��
 � �s�9�&9c���UO2o[	U[
2%cUOoUOoLQoQo[QU8QUO8QUO8QUO8QU8QUO8QUO8QU8Q	02[OO!2P![[1cSO2oK�h9h)
�unknownzndarray(z, shape=z
, strides=z
, suboffsets=z	, offset=z
, format='z', itemsize=z, flags=�))�tolist�	TypeError�NotImplementedErrorr2r�rr�r�printr�r��
suboffsetsrr��sys�stdout�flush)�ndrYr�rs&   r<�
ndarray_printr^s�����I�I�K���"�g���������������	��b�h�h��
�
�B�M�M�6�
�9�9�b�k�k�5�*�+��J�J�����
�*�+���J�J�L���s�C�C(�C(�'C(z%struct module required for this test.z%ndarray object required for this testc�`�\sQsQsnQsQP
QP
-QksQZQks\OQ2Q2s	Q	s
Q
sQsQs
Q
sQsQsQsQsQsQsQsQsQsQsQsQsQsQsQsQsQsQs Q s!Q!s"Q"s#Q#s$Q$s%Q%s&Q&s'Q's(Q(s)Q)s*Q*s+Q+s,\OZs-Q,s.Q-s/Q.s0Q/s1Q0s2\OQ2Q12s3Q2s4Q3s5Q4s6\7OpQ52s9Q6s:Q7s;Q8s<Q9s=Q:s>\?O�\AQ;5Q<2sBQ=sCQ>sDQ?sEQ@sFQAsGQBsHQCsIQDsJQEsKQFsLQGsMQHsNQIsOQJsPQKsQQLsRQMsSQNsTQOsUQPsVQQsWQRsXQSsY\O�\[O�\]PIQT2QU22s^\O�\[O�\]PIQT2QV22s_\O�QW2s`\O�QX2saQYsbUscP!)[�TestBufferProtocol� c�&�[2UmP!r)�get_sizeof_void_p�
sizeof_void_p��selfs&r<�setUp�TestBufferProtocol.setUp$s
��.�0��r\�sliced�castc

�````````	`
`'`(`)�R%c[R2R*n(LR%f
[R	2n(LRn(Q
n)RO%c�ROR]2]o[	]R2FDJo
RU
*]6XcL:RU
*]6:fJ$URU
*'RU
*]*
**
oJL	U,[	R]*
2Tt,tFDoPMJ	to*n)RO
oR]*]6cU'oU,[
RQ*2*nROROU2ROROR(2ROROR2ROROR2ROROU2ROROR2RORO[!R22R
%c	R)%f&RORO"[!R22RORO[!R)22[%R[&2%f[)R2%c;R%cRO+2LRO-2oROUR	2R%fP!U%Cf�[/2oPo[1R2FD�o[3RU2o[5R	U2o[%U[ 2%c[6O8R,UN3oL[6O8RU2oUO;U2ROUU2J�	U%Cf�RORO-2U2[?R2oPOAQU22oROUOC2U2R%cRLQo[ER	2oQFCDloRoUQ6XcE[GRQ2%c[GRQ2%c [IUR2o['URU[JQ5oL9[GRQ2%c[GRQ2%cUQ6Xc['URUQ5o[MR[NU2oROUO-2U2ROQ[SUU22R]6XcJ�[U2oU%c]L[To [WRQ[X2oRO[U2UR*2[	U2T
t,tFD"o
[6OZRUU
R*2MJ$	o!o
[U!]*2]6XcS!Tt,tFDp�]*MJ
	o!o['U!RU RQ	5o"RO[?U"2[?R22[?R2O-2o#ROU#U2[?R2O-PQ
5o#ROU#U2[?R2O-QQ
5o#ROU#U2[WRQ[X2oRO[U2UR*2[	U2T
t,tFD"o
[6OZRUU
R*2MJ$	o!o
[U!]*2]6XcS!Tt,tFDp�]*MJ
	o!o['U!RU [J*RQ	5o"RO[?U"2[?R22[?R2O-QQ
5o#ROU#U2[WRQ[X2oRO[U2UR*2[	U2T
t,tFD"o
[6OZRUU
R*2MJ$	o!o
[U!]*2]6XcS!Tt,tFDp�]*MJ
	o!o[GRQ2%c[JL]o$['U!RU$U *RQ	5o"RO[?U"2[?R22[?R2O-QQ
5o#ROU#U2CJo	[)R2%c�[?R2o[%R[>2%c
ROLRn'U1U'U(UUU	UUUUU
UU)1Qkko%U%U2UO]29^tt^2o&U%U&P	Q5PPP2UO-2P!P!ttoh[<c
P	oCJ�h9htto
httohtto
httohtto
httoh[<cP!h9h)%fhKp9h)rr�c3�@�SF �DoQU*w�	J	P!3h)z%02xr�)r�rs& r<r��,TestBufferProtocol.verify.<locals>.<genexpr>ys������1�F�Q�J�J��s�rr�r!�A�r�rr�r�r�r�rr��orderc�~:�R
OUOR2R
OUOR2R
OUOR2R
OUO
R2R
OUOU2R
OUOR2R
OUO[R22R%c	R%f&R
OUO[R
22R
OUO[R22R]6XcR
O[[U2L$R
O[U2[R22R%cR	O2LR	O!2oR
OUR2R
OUR	2P!rj)�assertIsrX�assertEqualr0r�r�readonlyr�r�rfr�rY�assertRaisesrVr`rUr2)rE�expected_readonly�rep�ex�expected_lenr9r�rlr��resultrfr�rir�rYs&& ������������r<�check_memoryview�3TestBufferProtocol.verify.<locals>.check_memoryview�s/����
�
�a�e�e�R�(�� � ����<�8�� � ����X�6�� � ����3�/�� � ����->�?�� � �����.�� � ����%��,�7��:��$�$�Q�Y�Y��g��?�� � ����u�Z�/@�A��1�9��%�%�i��a�8��$�$�S��V�S��X�6�),�f�m�m�o�&�.�.�2B��� � ��c�*�� � ��F�+r\)ryr��r�r!rn)/r�r`rY�
assertGreaterrkrdr�rurXrvr0r�rrwr�r�rfr�r�rr�rUr2r&r��get_pointerr�r6r7�extend�BufferErrorrK�join�hexr��
is_contiguousr��
ND_FORTRAN�get_contiguous�
PyBUF_READ�
assertTrue�
cmp_contigr�py_buffer_to_contiguous�
PyBUF_FULL_RO�unpack_from�
toreadonly)*rfr}rXr�r9rwr�r�r�rlrirj�
suboffset0rr��stride0rzr�buf_errr��item1�item2rYrEr�ff�	flattenedrs�expected�trans�contigrv�ro�initlstrZ�contig_bytesrr~�mmr{r|rYs*ff$dd$ddddd$                           @@@r<�verify�TestBufferProtocol.verify(s�����
���;�x�/�L��"�3�x��'���
��������t�Q�'��J��1�d�^����8�q�=���1�:��?��7�1�:�+��q��!��"<�<�J�	$�%��U�4��6�]�(C�]���]�(C�C�J��(�(�G��q�z�A�~�"�(���i�$�w�r�{�"3�3�G��
�
�f�j�j�#�&��������5�������(�3��������,��
�
�f�o�o�x�0�������d�+�������u�U�|�4��:����V�^�^�U�7�^�<�����*�*�E�*�,=�>��f�g�&�&�*>�s�*C�*C�%(�&�-�-�/�f�n�n�.>�C����S�#�&����t���A��G��u�~��
�'���4�E�$�S�#�.�E�!�%��/�/�"�K�K��4�e�4��"�K�K��U�3���H�H�Q�K�� � ���.�&��7�� � ����!1�1�5��v�&���G�G�2��2�2��� � �����!�,� �S�S��#�C�L�	�
-�E�%�H���|�,�V�S�9�9�(���5�5�%.�i��$?�E�'.�u�E�"�5?�(A�H�� -�V�S�9�9�(���5�5�%�3�,�'.�y��b�'Q�H�+�F�J��F�F��$�$�V�^�^�%5�q�9��O�O�J�v�x�$@�A��q�y� ��	�N�E�&��K�B�5�V�S�-�P�F��$�$�S��[�%�(�2B�C�(-�e��6�(4�1� &�1�1�#�v�q��z�J�(4��6��7�1�:��!�+�18�"9��A�Q�4�4���"9���u�B�s�K�A��$�$�Z��]�J�v�4F�G�#-�f�#5�#=�#=�#?�L��$�$�\�6�:�#-�f�#5�#=�#=�D�#=�#I�L��$�$�\�6�:�#-�f�#5�#=�#=�C�#=�#H�L��$�$�\�6�:�5�V�S�-�P�F��$�$�S��[�%�(�2B�C�(-�e��6�(4�1� &�1�1�#�v�q��z�J�(4��6��7�1�:��!�+�18�"9��A�Q�4�4���"9���u�B�z�M�'*�,�A��$�$�Z��]�J�v�4F�G�#-�f�#5�#=�#=�C�#=�#H�L��$�$�\�6�:�5�V�S�-�P�F��$�$�S��[�%�(�2B�C�(-�e��6�(4�1� &�1�1�#�v�q��z�J�(4��6��7�1�:��!�+�18�"9��A�Q�4�4���"9�&3�F�C�&@�&@�
�a�A���u�A�b�D��M�A��$�$�Z��]�J�v�4F�G�#-�f�#5�#=�#=�C�#=�#H�L��$�$�\�6�:�[-�^ ��$�$�
��v�&�� *�&�*�=�=����6�B�6>�
,�
,�
,�*
�Q�������2� ��t�<� �
�I�I�K�?%��c)D��X#��"�G����l6��#:��"6��#:��6��#:���
��
��4 ��ss�
c3�-c8�	Ac8�*d�%d�1*d�7d�6*d#�<d(�)d-�d?�8	d�d�d�-	d<�7d<�;d<�?e	�e	c
���QoUO%cUU[2%f�UU[2%cUO%c�UU[2%cUO
%c�UU[2%cUO%cqUU[2%fUO%fLUU[2%fUO%c'UU[2%f2UU[2%cUO[[V#Q5P![!U[2%f[#UO$2%cUO'2oL![U[(Q5oUO'2oUU[2%cP
LUOoUO$o	UO*o
UO,oUU[2%fPo	UO/2oUU[2%f]oUU[2%c
UO0LQoUU[2%c
UO2LQo
[V#Q5oUO5VrV�UV�U
VdQ5
P!)c��V*U6H!rr�)�req�flags&&r<�match�/TestBufferProtocol.verify_getbuf.<locals>.match�s���X�$�&�'r\��getbuf)	rXr�r9rwr�r�r�rlrir�)rw�PyBUF_WRITABLE�PyBUF_C_CONTIGUOUS�c_contiguous�PyBUF_F_CONTIGUOUS�f_contiguous�PyBUF_ANY_CONTIGUOUS�
contiguous�PyBUF_INDIRECTrY�
PyBUF_STRIDES�PyBUF_ND�PyBUF_FORMATrxr�rr�r�rrUr�r�r�r2r�r�r�)rf�orig_exr{r�rir�rlr]r�r9r�r�r�r�s&&&&&         r<�
verify_getbuf� TestBufferProtocol.verify_getbuf�s���	(��[�[�[�U�3��7�7�
�3�*�
+�
+�B�O�O�O�
�3�*�
+�
+�B�O�O�O�
�3�,�
-�
-�b�m�m�m��s�N�+�+��
�
�
��s�M�*�*�2�?�?�?��s�H�%�%�%��\�*B�*B����k�7�B��C���b�'�"�"�&:�2�9�9�&E�&E��)�)�+�C���M�2�B��)�)�+�C��C��0�0�U�b�k�k���i�i���;�;���w�w���S�,�'�'��C��/�/�#�C��S�(�#�#��D�!&�s�H�!5�!5��
�
�2��%*�3�
�%>�%>�'�/�/�B��
�R�
$�����B�%���G��	�	,r\�cpuc�~
�[[[[[[
[[[[[[[[[1o[]2Tt,tFDp"]*%cP	LP
MJ	toQ1,QNQ1,QNQ1[]2Tt,tFD#p"]*%c
QU*
LQ
U*MJ%	toQ11o,,]1,QN,]1],,]1],P,]1],],]1],Q,]1]],,]1]],QP,]1]],]],]1]],QP,]11
o][ ["["[ *[$[$[ *1o][&[([&[(*1oSFCD�vqx[*O,U2o	SFCD�vq�oST
t,tFDp�U	*MJ
	oo
V�*oSFCD�oU%cU["*%cJ!U
%fU[$*%cJ>U
%cSLU]*o[/V�UV�UQ5oU
%c
UPPQ/*LPo[1U2oU%c[1U2oUO2]6Xf"UO2]6Xc#U
%cU%cUO5UU2U%c4UO2]6Xc#U
%cU%cUO5WU2SFD�oSFDyoUO7UUUU*2UO7UUUU*2U%fJAUO7UUUU*P	Q5UO7UWUU*P	Q5J{	J�	CJ�	CJ�	CJ�	,QNo[/U],[8Q5oUO;[<[.U2[/]	,],2o[/U[Q5oUO;[<[.U[&Q5UO;[<[.U[Q5UO;[<[.U[Q5UO;[<[.U[Q5UO;[<[.U[
Q5UO;[<[.U[Q5[/U[Q5o,QN,QN1FD�o
]["1FD�o[/VzU[ *Q5oUO?[AUQ	22UO?[AUQ
22SFDFo[/UUQ5oUO?[AUQ	22UO?[AUQ
22JH	J�	J�	P!ttohttohtto
h)�rrrr)rrr�r�r�)ri�r�rr�r!r��r�r(��rD�r5r4�	�
�r����)r�r�r�������)r�r�r�)r5rr5)!r�r�r��PyBUF_SIMPLEr�r�r��
PyBUF_FULLr��
PyBUF_RECORDS�PyBUF_RECORDS_RO�
PyBUF_STRIDED�PyBUF_STRIDED_RO�PyBUF_CONTIG�PyBUF_CONTIG_ROrkrr��ND_PILr�r�r6�calcsizerrKr�rvr��ND_GETBUF_FAILrxr�r�r�)rf�requestsrY�	items_fmt�	structure�ndflags�
real_flagsryr9r�r�r�r�r�r�_items�ex1�ex2�m1�m2r��bitsr{�baser]rss&                         r<�test_ndarray_getbuf�&TestBufferProtocol.test_ndarray_getbuf$s|��
�M�8�\�� 2�4H��
��+��+��/�	
��16�b�	�
:�	�1�!�e�e�d��&�	�
:�C�@�
)�3�/�
)�3�/�:?��)�
D�)�Q�q�5�5�u�Q�w�v�a�x�0�)�
D�c�J�	
�	���Q�K�
�b�!���T�2�q�M��T�B�4����S�1�#�q�M��S�2�$��O���V�R��O���V�b�"�X�r�"���V�a��V�Q����V�b�"�X�q�!�
�	�
�{�J�
�;�(>��F�;�&�
��
���$�\�1�3�
�$�J�E����s�+�H�*3�&���18�9��A�x�<�<���9��"��$�E��E�*�$4�$4� � �e�F�l�l� �&+�U��q��F�!�&�E�(-�v�O�C�',�#�d��d�)�$�C�#�C��B��'��_���x�x�1�}����Q��5�W��(�(��S�1��s�x�x�1�}��7��(�(��S�1�'��$.�D� �.�.�s�C��T��B� �.�.�s�B��D��A�"�s� $� 2� 2�3��S��X�:>�!3�!@� $� 2� 2�3��C��H�:>�!3�!@�
%/� (�)%�+4�$�F-���U�2�$�n�
=�����+�w��3���s�Q�C� ��
�T�,�
/�����+�w��>��J����+�w��8��D����+�w��=��I����+�w��;M��N����+�w��;M��N����+�w��;O��P�
�R��
-���w�&�E��J����U�u�[�7H�I�����
�b�#� 6�7����
�b�#� 6�7�%�E� ��E�2�B��O�O�M�"�c�$:�;��O�O�M�"�c�$:�;�&�'�'��c;��E��6:s�T0�0T0�T5
�'T5
�?T:c���[]	,],2o[]	,],[Q5o[UOUO1FCD�oUO[U.Ql2UO[U,QN2UO[U,Q N2UO[U,Q!N].Q5UO[U,Q!N],].Q5UO[U,Q!N],,Q5UO[U],],-Q5UO[U],],-Q5UO[U],],-Q5UO[U],],],[
Q	5UO[U],,[Q5UO[U,],Q5UO[UQ
,],QQ5UO[OUQ,],Q
Q5UO[U]Q",],Q
Q5UO[U,Q!N],QQ5[]*oUO[U],U*],U*Q5UO[U],P,Q5UO[U,Q!NQ,Q5UO[U],]]�*,Q5UO[U,Q#N]],]Q5UO[U,Q!N],Q,Q5UO[U],],]]�*,Q5UO[U]],]],],Q5UO[U,Q$N],],QQ5UO[U,Q!N],]Q5UO[U,Q!N],]QQ5UO[U,Q!N],PQ5UO[OUQ!,],QQ5,Q%NoUO[V5]],Q&Q',]Q5UO[U[2QQ5UO[U],],[Q5UO[U],2CJ�	UO[[Q[Q5[]	,],[Q5oUO[UO],],[Q5[Q2oUO[UO],],2UO[UO 2[]	,],2oUO],],2[#U2oUO[UO],],2UO[UO 2UO%2UO!2UO[UO 2=UO[[&-,Q!N2UO[[&Q-2[[)[+]d22],]d*Q5oUO[[&U],2[[)[+]22]],Q5oUO[[&U,Q(N2UO[[&U]],2UO[[&UQ&],2UO[[&UQ)],2[,Q!N],QQ5o[U[,Q5oUO[UO.2[,Q!N],QQ5o[U2o	[U	2oUO[UO02[Q*,],Q+Q5oUO[UO02[o[[)[+U22],U*Q5oUO[UO02[],],Q5oUO[[2]]]]]2UO[[2UQQ2UO[[2UQ)Q2UO[[2U[4Q2UO[6[2U[4Q2UO[[2U[4Q2UO[[2U]�Q2[],],Q5oUO[[8]]]]]2UO[[8-U2UO[[8U-2[],],Q5oUO[[:]]]]]2UO[[:-Q2UO[[:U]�2P!),r��r�3�r��r�r��r�r�rpr�)r�r��r�r�r�XXXr��r�QL�1�r�r�r)r�r�rz@#$)r�r�r�r!�r�123r��xyzr��u r^rn>r�r(r�)r�r(r�)r�r(�r�r��r�r(r��r(r��r�r(r�r�rD�r�r(r�r�)
r�r(r�r�rDr�r5r4r�r����r�)r(r�r��)�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r���LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL)r�ND_VAREXPORT�pushrxrVr�r�r�r6r8�ND_MAX_NDIM�
OverflowErrorr&r�r�r��poprK�releaser�r�rkr�rU�memoryview_from_bufferr�r��UnicodeEncodeErrorr�r�)
rfr]�ndmrrryrEr{r�r�s
&         r<�test_ndarray_exceptions�*TestBufferProtocol.test_ndarray_exceptions�s+��
�a�S�1�#�
���q�c�A�3�l�3���2�7�7�C�H�H�-�A����i��G�4����i��I�6����i��K�8����i��G�A�3��?����i��G�A�3����L����i��G�A�3�r��J����i��Q�C��s�2��F����i��Q�C��s�"��E����i��Q�C��s�2��F�
���i��Q�C��s�Q�C�$.�
�
0�
���i��Q�C�r���H�
���j�!�R��s��;����j�!�e�W�Q�C���L����f�l�l�A��v�a�S���M����j�!�a��Y�q�c�#��N����j�!�W�Q�C���M��A�
�A����j�!�a�S��U�1�#�a�%��@�
���j�!�a�S����=����j�!�W�S�E��B����m�Q���A�s�F�8��D����j�!�[��1��a��P�
���j�!�W�Q�C�#���O����m�Q���A�3�'(�#�v�h�
�
0�
���j�!�a��U�1�Q�%�!���M����j�!�Y�q�c�A�3�%(�
�
*�
���j�!�W�Q�C���J����j�!�W�Q�C��%(�
�
*�
���j�!�W�Q�C���K����f�l�l�A��y���%*�
�
,�+�E����j�!�1�Q�%�')�2�h�q�
�
:�
���i��I�K���D�
���i��Q�C��s�:��N�
���i��Q�C�0�O.�V	
���+�w��~��N��a�S�1�#�\�
2�����*�b�g�g��s�Q�C�|��L��V�_�����+�r�w�w���a�S�9����+�r�v�v�.��a�S�1�#�
��
�����a�S���r�N�����+�r�w�w���a�S�9����+�r�v�v�.�	�	�	��
����	
���+�r�v�v�.��	
���)�[�"�g�>����)�[�&�"�=�
�T�%��*�%�a�S��W�
5�����*�k�2��s�;�
�T�%��)�_�Q�q�E�
2�����*�k�2�w�?����*�k�2��!�u�=����*�k�2��1�v�>����-��b�5��)�D��W�Q�C��
4��
�R��
-�����*�b�i�i�0��g�a�S��5���c�l��
�S�\�����)�R�%>�%>�?�
�h�Z��s�7�
;�����)�R�%>�%>�?���
�T�%��(�^�A�3�q�5�
1�����*�b�&?�&?�@��a�S���
$�����)�^�Q��1�a��C����)�^�R���D����-���U�C�H����)�^�R��S�I����,�n�b�*�"�	$����*�n�b�*�c�J����*�n�b�#�s�C��a�S���
$�����)�Z��A�q�!�Q�?����)�Z��R�8����)�Z��R�8��a�S���
$�����)�]�A�q�!�Q��B����)�]�B��<����)�]�B��<r\c	��[[]22FD�o],]*o[,QN],[Q5o[	U2U]$[]]2FD&oUO,QN],Q5[	U2V$$J(	[]2FD oV!U**O
2J"	UO[UO2=J�	P!)rDr�r�r�)
rrkrr�rKr�r�rxr�r�)rf�permrEr]rs&    r<�test_ndarray_linked_list�+TestBufferProtocol.test_ndarray_linked_list,s��� ��q��*�D���A��A�����<�@�B��b�>�A�a�D��1�a�[�������s��+�!�"�~���!��1�X���q�'�
�"�"�$��
���k�2�6�6�2��+r\c��[]2FDCvqo[OU2o[UQUQ5oUO	UPVAP	]QQUQ5	JE	P!)rrp�rXr�r9rwr�r�r�rlr�)r�r6r�rr�)rfr9�scalarrwr�r]s&     r<�test_ndarray_format_scalar�-TestBufferProtocol.test_ndarray_format_scalar<sT��)�!�n�N�C�����s�+�H���r�#�6�B��K�K���!)�T��b�"�"�
�
$�-r\c���[]]
2o[U2FDUvq#o[OU2o][1FD,o[V1,V&Q5oUO
UPVRP	]U1U1UQ5	J.	JW	P!)r�ror)rr�r6r�r�rr�)rfr�r9ryrwr�rr]s&       r<�test_ndarray_format_shape�,TestBufferProtocol.test_ndarray_format_shapeFss���A�r�"��(��0�M�C�����s�+�H��V����U�(�3�L�����B�D�%-��!"�6�)�h�[� %��'�%�1r\c��[]]2o[U2FD�vq#o[OU2o[	Q]2FD�oU]6XcJ[UPPU/*2,oVe*,oU]6cVQ]*
*L]o	][1FD4o
[V7UV)U
Q5oUOUPVRP	]VxUPPU/*Q5	J6	J�	J�	P!)r�rr���)	rr�r6r�rkr`r�rr�)rfr�r9ryrwr�rr�r�r�rr]s&           r<�test_ndarray_format_strides�.TestBufferProtocol.test_ndarray_format_stridesRs����1�b�!��(��0�M�C�����s�+�H��b�!����1�9���U�6�T�6�]�+�,���=�/��04�q���!�8�,�a����[�E� ��W�(+�%�I�B��K�K���)1�T�%&�e�$)�&�D�&�M� �3�)�%�1r\c��,QNo[UQQQ5o[U[[*Q5oUOUO	2[UQ22P!)r�r�r�r�r�)r�r�)rr�r�rvrUr�)rfryr{r]s&   r<�test_ndarray_fortran�'TestBufferProtocol.test_ndarray_fortrangsD��,��
�U�&�&�
9��
�R� 2�<� ?�
@���������f�U�F�&;�<r\c�f�[]2FCD�o[U2Tt,tFDo[]]
2MJ	oo[U2o[U2FCDTo[	U2vqgo[
OU2o][1FCDo	U]6XcU	[6XcJ[VuViQ5o
[VUQ2o[Vu2oUOU
PV�P	VUUQ5	[U2%cp[VuUQ5o
[U
[[*Q5o
UOU
O Q6H2U
O#2oUOUPV�P	VUUQ5	[VuUU	[$*Q5o
[VUQ2o['Vu2oUOU
PV�P	VUUQ5	CJ!	CJW	CJ�	P!ttoh)rDror�rrpr�r!r�)rkrr�rr}r6r�r�rr�r�r�r�r�r�r�r�r�r�r�)rfr�rw�shape_tr�r�r9ryr�rr]r�rlr{�mvs&              r<�test_ndarray_multidim�(TestBufferProtocol.test_ndarray_multidimms����!�H�H�D�16�t��=��A�y��B�'��G�=��'�]�F�%�g�.�.�� )�&� 1�
��A�!�?�?�3�/����[�E��q�y�U�f�_� �!��C�M�B�0��h��L�G� ��.�C��K�K���)1�T�%)��$'� �)�
,�C�0�0�$�U��D��$�R���0L�M������
�
�b�(8�9��6�6�8�����B�D�-5��)-�G�(+�$�-�!��C�',�Z�'7�9�B�1��h��L�G� ��.�C��K�K���)1�T�%)��$'� �)�?)�/���=s�F.c��[],],Q5oUO[UO]]2[	U2oUOV!2UO[UO]]2[],],[Q5oUO[UO]2[	U2oUOV!2UO[UO]2[],],[Q5oUO[UOQ2UO[UOQ]2[	U2oUOV!2UO[UOQ2UO[UOQ]2,QNo[U[U2,Q[Q5oUO[OUO]Q2UO[UO]Q	2[	U2oUOV!2UO[UO]Q2UO[UO]Q	2,Q
No[U[U2,Q[Q5oUO[UO]Q2UO[OUO]Q2P!)r�r�r�rro�,�LQr��r�r(r�r�rDr�r5r4)�d��)�r�r(r�)rDr�)s1r)rrxrV�__setitem__rKrvr�__delitem__r��__getitem__�
IndexErrorr`r6r8r�)rfr]rrys&   r<�test_ndarray_index_invalid�-TestBufferProtocol.test_ndarray_index_invalid�s��
�a�S���
$�����)�R�^�^�Q��:�
��^������ ����)�R�^�^�Q��:��a�S���;�
7�����)�R�^�^�Q�7�
��^������ ����)�R�^�^�Q�7��a�S���;�
7�����-�����?����-������B�
��^������ ����*�b�n�n�e�<����*�b�n�n�e�Q�?�"��
�U�3�u�:�,�s�+�
N�����&�,�,�����3�?����*�b�n�n�a��D�
��^������ ����*�b�n�n�a��=����)�R�^�^�Q�
�C�%��
�U�3�u�:�,�t�;�
O�����*�b�n�n�a��=����&�,�,�����?�Kr\c�X�[]Q[Q5o[U2oUOV!2UQ*p0OU]2UQ*p0OUO	2UO	22UQ*p0OU]2UQ*p0OUO	2UO	22UO[UO]2UO[UO]2UO[UO]]2UO[UO]]2UOUO	2]2UOUO	2]2]	UQ$UOUO	2]	2]	UQ$UOUO	2]	2]UQ$UOUO	2]2]UQ$UOUO	2]2P!)r�r�.r�)	rrrKrvrUrxrVr#r!)rfr]rrYs&   r<�test_ndarray_index_scalar�,TestBufferProtocol.test_ndarray_index_scalar�s���
�Q�b��
4��
��^������ ��r�F��%�%�a��+��s�G��%�%�a�h�h�j�"�)�)�+�>��r�F��%�%�a��+��s�G��%�%�a�h�h�j�"�)�)�+�>����)�R�^�^�Q�7����)�R�^�^�Q�7����)�R�^�^�Q��:����)�R�^�^�Q��:��������a�(��������a�(���2��D�$�$�R�Y�Y�[�!�4���2��D�$�$�R�Y�Y�[�!�4���3��T�%�%�b�i�i�k�1�5���3��T�%�%�b�i�i�k�1�5r\c	��[[[]22]],[Q5o[U[Q5oUO[UO]2UO[UO[]]]22P!)r(r�r�)	rr�rkrr�rxr�r#r)rfr{r]s&  r<�test_ndarray_index_null_strides�2TestBufferProtocol.test_ndarray_index_null_strides�s_��
�T�%��*�%�a��V�;�
G��
�R��
-��	
���+�r�~�~�q�9����+�r�~�~�u�Q�q��|�Dr\c	��[]2FCD-vqo[U],UQ5o[Q]2FD!oUOVE*V%*2J#	UO	[
UOQ2UO	[
UO]2[U2%fJ�[U2oUOVd2[Q]2FD!oUOVe*V%*2J#	UO	[
UOQ2UO	[
UO]2CJ0	[]2FD�vqo[U],[UQ5o[U[[*Q5o[Q]2FD!oUOVE*V%*2J#	[U2%fJ{UO2oUOUOU2[2[Q]2FD!oUOVe*V%*2J#	J�	,QNo[U],Q5o[U[ Q5o[Q]2FD!oUOVE*V%*2J#	,QNo[U],Q5o[U["Q5o[Q]2FD!oUOVE*V%*2J#	P!)rDrprqr�r�r���r�)r�rrkrvrxr$r#r�rKrr�r�r�ru�__eq__�NotImplementedr�r�)rfr9ryrwr]rrr{s&       r<�!test_ndarray_index_getitem_single�4TestBufferProtocol.test_ndarray_index_getitem_single�s&��(��^�^�M�C����q�c�#�6�B��2�q�\��� � �����1�"�
���j�"�.�.�"�=����j�"�.�.�!�<�#�C�(�(���^��� � ��(��r�1��A��$�$�R�U�E�H�5�&��!�!�*�b�n�n�b�A��!�!�*�b�n�n�a�@�,�$)��^�M�C����q�c��S�I�B���L��$=�>�B��2�q�\��� � �����1�"�$�C�(�(��.�.�0���
�
�b�i�i��m�^�<��r�1��A��$�$�R�U�E�H�5�&�,���
�U�1�#�
&��
�R��
0���r�1��A����R�U�E�H�-����
�U�1�#�
&��
�R��
-���r�1��A����R�U�E�H�-�r\c	��[]2FCD\vqo[U],U[Q5o[]2FDoV2U$V4U$J
	UO	UO2U2UO
[UOQU2UO
[UO]U2[U2%fJ�[U],U[Q5o[U2oUO	Vd2[]2FDoV2U$V6U$J
	UO	UO2U2UO
[UOQU2UO
[UO]U2CJ_	[]2FCD
vqo[U],U[Q5o[Q]2FD%oV%]**V%$VE]**VE$J'	UO	UO2U2[U2%fJ�[U],U[Q5o[U2oUO	Vd2[Q]2FD%oV%]**V%$Ve]**Ve$J'	UO	UO2U2CJ
	P!)rDror.r)r�rrrkrvrUrxr$r!r�rK)rfr9ry�single_itemr]rrs&      r<�!test_ndarray_index_setitem_single�4TestBufferProtocol.test_ndarray_index_setitem_singles��'2�1�~�~�#�C����q�c�#�[�I�B��1�X��&�a��#�1���
���R�Y�Y�[�%�0����j�"�.�.�"�k�J����j�"�.�.�!�[�I�'��,�,����q�c�#�[�I�B��B��B����R�$��1�X��&�a��#�1���
���R�Y�Y�[�%�0����j�"�.�.�"�k�J����j�"�.�.�!�[�I�-(6�4(3�1�~�~�#�C����q�c�#�[�I�B��2�q�\�� �1��:����Q�3����"�
���R�Y�Y�[�%�0�'��,�,����q�c�#�[�I�B��B��B����R�$��2�q�\�� �1��:����Q�3����"�
���R�Y�Y�[�%�0�!(6r\c�&�Qo[U2o[U2FCDqo[U2vqEo][1FCDQo[	VSVGQ5o[VS2o	[
U]*'U]*2FD�o
UOV�*V�*O22[
U]*'U]*2FD�oUOV�*U*V�*U*O22[
U]*'U]*2FD=oUOV�*U*U*V�*U*U*2J?	J�	J�	[	VSUU[*Q5o[VS2o	[
U]*'U]*2FD�o
UOV�*V�*O22[
U]*'U]*2FD�oUOV�*U*V�*U*O22[
U]*U]*2FD=oUOV�*U*U*V�*U*U*2J?	J�	J�	CJT	CJt	P!�r(ro�r(r�rD)r�rr}r�rr�rkrvrUr�r�)
rfrr�r�r9ryrwrr]rlrr��ks
&            r<�#test_ndarray_index_getitem_multidim�6TestBufferProtocol.test_ndarray_index_getitem_multidimBs������g���!�'�*�*�E�%�f�-�M�C���V����U��I���U�*����a��y�%��(�3�A��$�$�S�V�R�U�\�\�^�<�"�E�!�H�9�e�A�h�7���(�(�����B�E�!�H�O�O�4E�F�!&��a��y�%��(�!;�A� �,�,�S�V�A�Y�q�\�2�5��8�A�;�G�"<�8�4��U��#(��#3�5���U�*����a��y�%��(�3�A��$�$�S�V�R�U�\�\�^�<�"�E�!�H�9�e�A�h�7���(�(�����B�E�!�H�O�O�4E�F�!&�u�Q�x��q��!:�A� �,�,�S�V�A�Y�q�\�2�5��8�A�;�G�";�8�4�#%�	+r\c	�p�[]QQ5oUO[[Q[	22[U2oUO
V!2UO[[Q[	22[]2FD�vq4o[U],UQ5o[U2FD0vqgUO
VtU*2UOVq72J2	[U2%fJh[U2o[U2FD0vqgUO
VtU*2UOVr72J2	J�	P!)r�r�z1 in ndz1 in mvrpr�)rrxrV�eval�localsrKrvr�r'r�r�)rfr]rr9ryrwrr�s&       r<�test_ndarray_sequence�(TestBufferProtocol.test_ndarray_sequenceas���
�Q�b�
!�����)�T�9�f�h�?�
��^������ ����)�T�9�f�h�?�(��^�M�C����q�c�#�6�B�!�"�
���� � ��!�H�-������(�&�$�C�(�(���^��%�b�M�D�A��$�$�Q�a��1��O�O�A�G�,�*�,r\c
��,QNo[U],[Q5o[U2oUO[UO
[
]]]2U2UO[UO
[
]]]2U2[U],[Q5o[U],[Q5o[U[Q5oUO[UO
[
]]]2U2[U],Q[Q5o[U2oUO[UO[
]]]22UO[UO[
]]]22[U]],Q[Q5o[U2oUO[UO[
]]]2[
]]]212UO[UO[
]]]2[
]]]212UO[UOQ2UO[UOQ[
]]]212UO[UO[
]]]2-12UO[UO[
]]]2[
]]]212UO[UOQ2[U],Q[Q5o[U],QQ5o[U2o[U2oUO[UO
[
]]]2UQ	*2UOUO2U2UO[UO
[
]]]2UQ	*2UOUO2U2[U],Q[Q5o[U],QQ5o	[U2o[U2oUO[UO
[
]]]2UQ	*2UOUO2U2UO[UO
[
]]]2UQ	*2UOUO2U2[U]],Q[Q5o[U],QQ5o[U2o[U2oUO[UO
[
]]]2UQ	*2UOUO2,QN,Q
N,2UO[UO
[
]]]2UQ	*2[U],Q[Q5o[U],QQ5o[U2o[U2oUO[UO
[
]]]2UQ	*2UOUO2U2UO[UO
[
]]]2UQ	*2UOUO2U2UO[[[
]]]2-2UO[[Q
]2UO[[[
]]]2]2[U],Q[Q5o
UO[U
O 2[U],QQ5o[U["Q5o
UO[U
O 2P!)r�r�r�rroz@%$rrrp:r5r4Nz###########rr�)rDr�r5r4)rrrKrxrVr!rr�r�r�r#rWrvrUrr��add_suboffsetsr�)rfry�xl�mlr{�xrr]r�mr�yrrYs&          r<�test_ndarray_slice_invalid�-TestBufferProtocol.test_ndarray_slice_invalidtsj��!���U�1�#�[�
9��
��^�����)�R�^�^�U�1�Q�q�\�5�I����)�R�^�^�U�1�Q�q�\�5�I��U�1�#�[�
9��
�U�1�#�[�
9��
�R��
)�����+�r�~�~�u�Q�q��|�R�H��U�1�#�c��
E��
��^�����*�b�n�n�e�A�a��l�C����*�b�n�n�e�A�a��l�C�
�U�1�Q�%��;�
G��
��^�����*�b�n�n� ��1�Q�<��q��1��6�	8����*�b�n�n� ��1�Q�<��q��1��6�	8����)�R�^�^�U�;����)�R�^�^�e�U�1�Q�q�\�5J�K����)�R�^�^�e�A�a��l�B�5G�H�	
���-�r�~�~� ��1�Q�<��q��1��6�	8����)�R�^�^�U�;��U�1�#�c��
E��
�U�1�#�c�
2��
��^��
��^�����*�b�n�n�e�A�a��l�B�s�G�L��������e�,����*�b�n�n�e�A�a��l�B�s�G�L��������e�,��U�1�#�c��
E��
�U�1�#�c�
2��
��^��
��^�����*�b�n�n�e�A�a��l�B�s�G�L��������e�,����*�b�n�n�e�A�a��l�B�s�G�L��������e�,��U�1�a�&��K�
H��
�U�1�#�c�
2��
��^��
��^�����*�b�n�n�e�A�a��l�B�s�G�L��������y�)�&<�=����-�r�~�~�u�Q�q��|��S�'�	#��U�1�#�c��
E��
�U�1�#�c�
2��
��^��
��^�����*�b�n�n�e�A�a��l�B�s�G�L��������e�,����*�b�n�n�e�A�a��l�B�s�G�L��������e�,�	
���)�]�E�!�A�a�L�"�E����)�]�M�1�E����*�m�U�1�Q�q�\�1�E��E�!��S��?�����)�Q�%5�%5�6�
�U�1�#�c�
2���B�|�,�����)�Q�%5�%5�6r\c�0�,QNo[U],Q[Q5o[U],QQ5oUQ*UQ$UOUO2U2[	U2o[	U2oUOVB2UOVC2UQ*UQ$UOUO2U2[U]],Q[Q5o[U]],QQ5oUQ*UQ$UOUO2[U]],22P!)	r�rrorp:r�r�N:r�r�Nr�)�r�r(N:r�r�N)rL:r(r(N)rrrvrUrKr�)rfryrYrZrErGs&     r<�test_ndarray_slice_zero_shape�0TestBufferProtocol.test_ndarray_slice_zero_shape�s���,���E�"��c��E���E�"��c�2���3���#���������U�+�
��]��
��]�������������S�'��3���������e�,��E�!�Q���;�G���E�!�Q���4����k��(���������V�E�A�q�6�%:�;r\c�f�Qo[U2o[U2o[U2FD�o[U2vqVo[O
U2o][1FD�o	[VdVYQ5o
[Vd2o[V$2FD`oPo
[V�2oPoV�*oU%f	U
%cUOUU
2J@UOWO2W2Jb	J�	J�	P![coSOo
Po=KyPo=hh9h[coSOoPo=K�Po=hh9hr8)r`r�rr}r6r�r�rr�rMr��	Exception�	__class__rurvrU)rfrr�r�r�r9ryrwr�rr]rlr��listerrrir�nderr�ndsliceds&                 r<�test_ndarray_slice_multidim�.TestBufferProtocol.test_ndarray_slice_multidim�s������7�|���g���!�'�*�E�%�f�-�M�C�����s�+�H��V����U��I���U�*��*�4�7�F�"�G�.�!+�C�!8��!�E�,�#%�:�����
�
�e�W�5��(�(����):�F�C�#8�	%�+��%�.�"#�+�+���.��%�,� !�����,�s<�C+�D�+	D�5D�6D�D�	D0�D0�D+�+D0c��Qo[U2o[U2o[U2FD�o[U2vqVo[O
U2o[
VdUQ5o	U	O2[
VdUQ5o
U
O2[U
2o[Vd2o[V$2FD`o
Po[V�2oPoV�*oU%f	U%cUOUU2J@UOWO!2W2Jb	J�	P![coSOoPo=KuPo=hh9h[coSOoPo=K�Po=hh9h)r(rp)r(r�rDr()r`r�rr}r6r�rrCrKr�rMr�rPrQrurvrU)rfrr�r�r�r9ryrwr�r]r{rrlr�rRrirrSrTs&                  r<�'test_ndarray_slice_redundant_suboffsets�:TestBufferProtocol.test_ndarray_slice_redundant_suboffsetss�����7�|���g���!�'�*�E�%�f�-�M�C�����s�+�H���C�8�B�������C�8�B������B��B���&�C�&�t�3����*�'��4�F���(�!�z�H��G��M�M�%��1��$�$�X�_�_�%6��?�#4�+��"!�*��k�k�G��*��!�(��K�K�E��(�s<�/D�=D7�	D4�D4�D/�/D4�7	E�E�E�Ec���[]2FCD�vqo[]2FCD�o[]2FCD�o][1FCD�oU[*o[	U],VQ5o[	U],VQ5o	[U	2o
PoPoUQ*o
V�*oV�*oV�*V�$[
U2[
U26goPoV�*V�$U%cUOU[2L2UOUO2U
2UOUU2[U2%fJ�PoV�*V�$U%cUOU[2CJUOU
O2U
2UOV�2UOUU2UOV�UOUP
UO UO"UO$UO2Q5	CJ�	CJ�	CJ�	CJ�	P![coSOoPo=CKdPo=hh9h[coSOoPo=CK|Po=hh9h[coSOoPo=CK0Po=hh9h)rDro�NNNr)r�r;r�rrrKr`rPrQrur�rvrUr�r�r�r�r�r�)rfr9ryrw�lslicerArrr]r{r�lsterr�diff_structurerl�lval�rvalrrS�mverrs&                  r<� test_ndarray_slice_assign_single�3TestBufferProtocol.test_ndarray_slice_assign_single$s���(��^�^�M�C��#�A�,�,��'��l�l�F�"#�V���!�+�-��$�U�1�#�c�K��$�U�1�#�c�K��'��^��!%��)-��#�A�h��1�#&�;�D�#&�;�D�*-�+�C�K�-0��Y�#�d�)�-C�N�!%��0�)+��B�J�*� �M�M�%��<� �,�,�R�Y�Y�[�#�>� �M�M�%��8�3�C�8�8�$� $��0�)+��B�J�*� �M�M�%��<� �,�,�R�Y�Y�[�#�>� �,�,�R�4� �M�M�%��8� �K�K��')�{�{��e�#%�7�7�"�(�(�B�J�J�"$�)�)�+�(�/�["-�+�'�,��$ )�1�%&�[�[�F��1�� )�0�$%�K�K�E��0�� )�0�$%�K�K�E��0�sZ�1G>�:
H#�+
I�>	H �H �	H�H �#	I�-I�.I�I�	I*�I*�I%�%I*c
�z�Qo[U2o[U2o[U2FD�o[U2vqVo][1FD�o[[2FD�o[V$2vq�[VdUU[*Q5o[Vd2oPo
[V�V�2oPoV�*V�$U%f	U
%cUOUU
2JtUOUO!2W2J�	J�	J�	P![coSOo
Po=K{Po=hh9h[coSOoPo=K�Po=hh9hr8)r`r�rr}r�rk�
ITERATIONSrrrr�r�rPrQrurvrU)rfrr�r�r�r9ryrwrr�r�r]rlrRr}rrSs&                r<�"test_ndarray_slice_assign_multidim�5TestBufferProtocol.test_ndarray_slice_assign_multidimZs�����7�|���g���!�'�*�E�%�f�-�M�C���V����z�*�A�';�D�'H�$�G� ��C�',�[�'8�:�B� ��.�C�"�G�.�!2�3�W�!N��!�E�,�&(�k������
�
�e�W�5��(�(�����f�=�-+�%�	+��%�.�"#�+�+���.��%�,� !�����,�s<�
C5�
D�5	D�?D�D�D�	D:�#D:�$D5�5D:c���[[2FCD�o[Q*FCD�o[OU2o[UP	[[Q5oUO[U2[V$2o[VRU2oUO2o[U2o[U2%c"UO2o	UOV�2U]*]6�c�[VRU[ Q5o
U
O2oUOV{2[U
2o[U2%c3UOV�2UO2o	UOV�2["%fCJLU]*o]U7cCJ_[%VRU2o
UO'UPU
O(UP
U
O*U
O,U
O.U
O2Q5	CJ�	CJ�	P!)r>�r�r�r�r)rkrerQr6r�r�MAXDIM�MAXSHAPEr�r�rr rUrKr�rvr�r+r-r�r�r�r�r�)rfrwr9r�r�ryrY�xlistr�mvlistrZ�ylistr��zs&             r<�test_ndarray_random�&TestBufferProtocol.test_ndarray_random{ss���z�"�"�A��s�|�|��!�?�?�3�/��"�8�T�&�,4�6����� 0�!� 4�5�0��8��*�5�q�9�����
����]��'��,�,��Y�Y�[�F��$�$�V�3��Q�4�!�8�.�u�1�F�K�A��H�H�J�E��$�$�U�2�#�A��B�+�C�0�0��(�(��/�!#������(�(��7��;��a�D�E��E�z� �2�5�q�A�A��K�K��t�)*����u�%&�V�V�1�7�7�A�I�I�$%�H�H�J� �0�C$�#r\c��[[2FD�o[Q*FD�o[OU2o[UP
[[Q5oUO[U2[V$2oP
o[VRU2oUOU2[%fJ�P
o	[!VRU2o
J�	J�	P![coSOoPo=KTPo=hh9h[coSOo	Po=KJPo=hh9h)r>ri)rkrerQr6r�rrjrk�assertFalser�rr rPrQr�r+r-)rfrwr9r�r�ryrSrYr�	numpy_errrZs&          r<�test_ndarray_random_invalid�.TestBufferProtocol.test_ndarray_random_invalid�s����z�"�A��s�|�|��!�?�?�3�/��"�8�U�6�,4�6��� � �!1�1�!5�6�0��8����(�.�u�1�=�A�����&��;� %�I�0�6�u�1�E���-$�#��!�(��K�K�E��(��%�0�$%�K�K�	��0�s<�:B>�(C"�>	C�C�	C�C�"	D�,D�-C>�>Dc��[[2FCD1o[Q*FCDo[OU2o[[[Q5vqEqg[UP	UQ5o[UP	UQ5o	UO[U2UO[U	2[V(2o
[V)2o[V�U2o[V�U	2o
V�*V�$UO2oU
O2o[U2o[U
2oUOUO2U2UOUO2U2U]*]6�c�U	]*]6�c�[V�U[ Q5o[V�U	[ Q5oUU*UU$UO2oUO2oUOUU2UOUU2[U2o[U2oUOUO2U2UOUO2U2["%fCJ#]U7f]U7cCJ4[%V�U2o[%V�U	2oUU*UU$['U2%fb['U	2%fQUO)UPUO*UP
UO,UO.UO0UO2Q5	UO)U
PUO*UP
UO,UO.UO0UO2Q5	CJ	CJ4	P!)r>rir�r�r)rkrerQr6r�rrjrkrr�r�rr rUrKrvr�r+r-r�r�r�r�r�r�)rfrwr9r�r�r�r�r��tl�tr�litems�ritemsrDrF�xllist�xrlistrErG�ylrH�yllist�yrlist�zl�zrs&                       r<� test_ndarray_random_slice_assign�3TestBufferProtocol.test_ndarray_random_slice_assign�s����z�"�"�A��s�|�|��!�?�?�3�/��(�v��I�1���#�H�d�&�A��#�H�d�&�A����� 0�"� 5�6���� 0�"� 5�6�1�#�:��1�#�:��+�F��<��+�F��<�� �k���������������^����^��� � �����f�5�� � �����f�5��a�5�1�9��A����/��R�v�N�B�/��R�v�N�B�"$�W�+�B�w�K��Y�Y�[�F��Y�Y�[�F��$�$�V�V�4��$�$�V�V�4�#�B��B�#�B��B��$�$�R�Y�Y�[�&�9��$�$�R�Y�Y�[�&�9��;��F�{�a�6�k� �3�F��D�B�3�F��D�B�"$�W�+�B�w�K�)�"�-�-�n�R�6H�6H����B�D�-/�[�[�c�E�)+������,.�J�J�B�I�I�K�$�I�
�K�K���)+���#��%'�W�W�B�H�H�(*�
�
��	�	�� �E�m$�#r\c��,QNo[U]],[Q5o[U2oUOUO[*2UO	UO
U2UO
UOQ2UOUO2UOUO2UOUO2P!)r�r�r�)rr�)rr�r�rrurXrvrYrsr�r�r�)rfryr]r{s&   r<�test_ndarray_re_export�)TestBufferProtocol.test_ndarray_re_export�s���,��
�U�1�Q�%�v�
6��
�R�[��������6�)�*��
�
�b�f�f�b�!��������0�������)�������)�������'r\c
�P�][1FCDo[,QN],UQ5o[U2oUOV22UOUO	2,2UOUO	2,2[,QN,QNUQ5oUOUO	2,2[,QN,QNUQ5oUOUO	2,,,,2[,QN,QNUQ5oUOUO	2,,,,,,,,,,,,,2CJ	P!)rr�r��rr�r��r�rr�)r�r�r�r�rrKrvrU�rfrr]rs&   r<�test_ndarray_zero_shape�*TestBufferProtocol.test_ndarray_zero_shapes�����[�E�����5�9�B��B��B����R�$����R�Y�Y�[�"�-����R�Y�Y�[�"�-����u�=�B����R�Y�Y�[�"�-����u�=�B����R�Y�Y�[�2�r�2�,�7����u�=�B����R�Y�Y�[�!�2�r�l�R��R�L�2�r�2�,�G�
I�!r\c	��][1FDuo[],],],UQ5o[U2oUOV22UOUO	2,QN2UOUO	2,QN2Jw	P!)rr�)r�r�r�r�r�r�r�s&   r<�test_ndarray_zero_strides�,TestBufferProtocol.test_ndarray_zero_stridessi����[�E��!��Q�C�!��E�B�B��B��B����R�$����R�Y�Y�[�/�:����R�Y�Y�[�/�:�!r\c���[[[]22],]Q5oUOUO]2UOUO2,QN2P!)�r�)r5r4r�)rr�rkrvr�rU�rfr]s& r<�test_ndarray_offset�&TestBufferProtocol.test_ndarray_offset'sD��
�T�%��)�_�Q�C��
:��������A�&��������g�.r\c	��][1FDEo[[[]22],UQ5oUO	2oUOV22JG	P!�rr�)r�rr�rkr�rv)rfrr]rEs&   r<�#test_ndarray_memoryview_from_buffer�6TestBufferProtocol.test_ndarray_memoryview_from_buffer,sD����[�E���e�A�h���s�%�@�B��)�)�+�A����Q�#�!r\c���][1FDYo[[[]22],UQ5o[]2FD%oUO	V#*[V#,22J'	J[	P!r�)r�rr�rkrvr�)rfrr]rs&   r<�test_ndarray_get_pointer�+TestBufferProtocol.test_ndarray_get_pointer2sO����[�E���e�A�h���s�%�@�B��1�X��� � ����B��(<�=��!r\c�P�[[[]22,QNQ5o[U[[*Q5oUOUO
2UO
22[U2oUOUO
2UO
22P!)r�r�r�)r(r(rD)rr�rkr�r�rvrUrK)rfr{r]rEs&   r<� test_ndarray_tolist_null_strides�3TestBufferProtocol.test_ndarray_tolist_null_strides8sh��
�T�%��)�_�G�
4��
�R��� 5�
6���������b�i�i�k�2��r�N���������R�Y�Y�[�1r\c��UO[QQ22[[[	]22]],Q5o[[[	]22]],Q5oUO[V22[],],QQ5oUO[UQ22UO[QU22P!)r�s456r�rrprO)rsr�rr�rkr�)rfrYrZs&  r<�test_ndarray_cmp_contig�*TestBufferProtocol.test_ndarray_cmp_contigAs�������F�F�3�4��D��r��O�A�a�5�1���D��r��O�A�a�5�1������A�)�*��Q�C��s�3�/�����
�1�g�.�/����
�7�A�.�/r\c	��[OQ,QN2o[U2oUO[[U2[[
[]222o[[
[]22],Q5oUO[	U2[	U22[[
[]22]],Q5oUO[	U2[	U22[[
[]22,QNQ5oUO[	U2[	U22[[[
[]22]],Q52o[[
[]22]],[Q5oUO[	U2[	U22[[[
[]22,QNQ52o[[
[]22,QN[Q5oUO[	U2[	U22[[
[]222o[[
[]22,QN[Q5oUO[	U2[	U22[[
[]22,QNQQ5oUO[	U2[	UO222P!)rr�r�rpr�)r�r(r(�r(r�r(�r(r(r�)
rIrrxr��hashrRr�rkrvr�r�r�r2)rfrGr]rs&   r<�test_ndarray_hash�$TestBufferProtocol.test_ndarray_hashMs����K�K��W�%��
�Q�Z�����*�d�B�/�
�$�u�R�y�/�"��
�T�%��)�_�R�D�
1������b��4��7�+��T�%��)�_�Q�q�E�
2������b��4��7�+�
�T�%��)�_�G�
4������b��4��7�+�
�)�D��r��O�A�a�5�9�:��
�T�%��)�_�Q�q�E��
D������b��4��7�+��)�D��r��O�7�;�<��
�T�%��)�_�G�:�
F������b��4��7�+�
�$�u�R�y�/�"��
�T�%��)�_�G�6�
B������b��4��7�+��T�%��)�_�G�C�
@������b��4��
�
��#5�6r\c���[[[[[[
[[[[[[1oUO[[-Q[
2[]	Q
Q[ Q5oQFD8oSFD.o[V#U2oUO#VRO%22J0	J:	[],],Q[ Q5oQFD+oSFD!o[V#U2oUO#UQ2J#	J-	[['[)]22,QNQ[ Q5oQFD+oSFD!o[V#U2oUO#UQ2J#	J-	][*1FD�o[],],QU[ *Q5oUO%2oQFD*oSFD o[V#U2oUO#VW2J"	J,	[,QN],QU[ *Q5oUO%2oQFD*oSFD o[V#U2oUO#VW2J"	J,	J�	[,QN],],[ Q5oUO%2oQFD4o[[1FD o[V#U2oUO#VW2J"	J6	UPPP/*oUO%2oQFD+oSFD!o[V#U2oUO#VW2J#	J-	['[)]22o][*1FCDMo[U]],U[ *Q	5o[.%c$[/[1U2]],Q
U]6XcQLQQ5o	U[*6Xc2[[3U]],2]],[ Q	5o
U
O%2oLUO%2oSFD�o[UQU2oUO#V[2[STt,tFDp�MJ	to]],[ Q	5o
UO#[5U
2[5U22[.%fJxUO#UW	O%QQ52J�	U]6Xc"[[3U]],2]],[ Q	5o
L[U]],[ Q	5o
U
O%2o[[
[[[1FD�o[UQU2oUO#V[2[STt,tFDp�MJ	to]],[*[ *Q	5o
UO#[5U
2[5U22[.%fJ�UO#UW	O%QQ52J�	U[*6Xc&[U]],[ Q	5o
U
O%2oLUO%2o[[
[[[1FD�o[UQU2oUO#V[2[STt,tFDp�MJ	to]],U[ *Q	5o
UO#[5U
2[5U22[.%fJUO#UW	O%QQ52J�	CJP	[['[)]22]],[ [6*Q	5o[UQ[
2oUO#VRO%22[STt,tFDp�MJ	to]],[ Q	5o
UO#[5U
2[5U22[UQ[
2o[[3U]],2]],[ Q	5o
UO#VZO%22[STt,tFDp�MJ	to]],[*[ *Q	5o
UO#[5U
2[5U22[UQ[
2oUO#VRO%22[STt,tFDp�MJ	to]],[ Q	5o
UO#[5U
2[5U22P![,cCJmh9h[,cCJ�h9httoh[,cCJ�h9httoh[,cCJ�h9httohttohttohttoh)r!rror�rnr\rrr�r�r)r$r�r%rsrrr�r��r(rr5r�)r�r�r�r�r�r�r�r�r�r�r�r�rxrVr�rrrvr2r�rkr�r�r+r&r�rKr�)rfr�r]rs�requestrr�ndbytesrl�narYr�r�rZs&             r<�test_py_buffer_to_contiguous�/TestBufferProtocol.test_py_buffer_to_contiguousrs��
�M�8�\��
��+��+��/�
��	
���)�%<�b�#�'�	)��Q�b��K�
@��$�E�#��+�B�w�?��� � ��J�J�L�1�$�%��a�S���C�{�
C��$�E�#��+�B�w�?��� � ��C�(�$�%�
�T�%��(�^�9�S�&�(��$�E�#��+�B�w�?��� � ��C�(�$�%��Z��A��!��Q�C��1�[�=�I�B��j�j�l�G�(��'�G�/��7�C�A��$�$�Q�0� (�)�
��1�#�c��;��O�B��j�j�l�G�(��'�G�/��7�C�A��$�$�Q�0� (�)�!� �Y�q�c�A�3�k�
J���*�*�,��$�E�)�:�6��+�B�w�?��� � ��,�7�%�
��"��X���*�*�,��$�E�#���/��7�C�A�� � ��,�$�%�P�5��9�o���Z��A���Q��F�!�K�-�@�B��{� �	�#��()�1�v�S�./�1�f�s�#�?��
�J���I�c�A�q�6�2�1�a�&�"-�/���9�9�;���:�:�<��#���/��C��A�A�� � ��-���N��1�Q��N�1�a�&��L��� � ��A��
�2��?��;��$�$�Q��
�
��
�(=�>�$�"�A�v��I�c�A�q�6�2�1�a�&�"-�/���C��1�v�[�A���y�y�{�H�&�
�~�)�8�5���/��C��A�A�� � ��-���N��1�Q��N�1�a�&�
�;�@V�W��� � ��A��
�2��?��;��$�$�Q��
�
��
�(=�>�5�"�J���C��1�v�[�A���9�9�;���:�:�<��&�
�~�)�8�5���/��C��A�A�� � ��-�
��N��1�Q��N�1�a�&��+�
�N��� � ��A��
�2��?��;��$�$�Q��
�
��
�(=�>�!5�w!�\�T�%��)�_�Q��F�+�f�:L�
M��
$�B��]�;������J�J�L�)���N��1�Q��N�1�a�&��D������A��
�2��7�
$�B��]�;���I�c�A�q�6�*�1�a�&��L������I�I�K�(���N��1�Q��N�1�a�&�
�;�8N�O������A��
�2��7�
$�B��]�;������J�J�L�)���N��1�Q��N�1�a�&��D������A��
�2��7��M#�����l#�����+��"#�����+�� #�����+��#��#��#s��)`�
`�2`)�
`.�8a�
a�=a�&a�>a#�a(�	`�
`�`�	`&� `&�%`&�.	`>�8`>�=`>�	a�a�ac�L	�]	,1,Q
N],1[[]22,QN1,oSFCD�vq#[V#Q5o[U2oUO	UO
2UO	UO2[U2o[Vc]Q2o[V#2oUOVT]QP	VcUUQ5	[U2o	UOV�]QP	VcUUQ5	[U[[*Q5o
UOU
OQ2U
O2oUOUP]QP	VcUUQ5	[U[ Q5o
UOU
O"P2UOU
O$Q2UOU
OQ2U
O2oU]6XcU,LSoUOUP]QP	]UO&,QUQ5	CJ�	SFD�vq#[V#[(Q5o[U2oUO	UO*2UO	UO2[U2o[Vc]Q2o[-V#2oUOVT]QP	VcUUQ5	[U2o	UOV�]QP	VcUUQ5	J�	UQ*FD�vq#[V#[.Q5o[U2o[U2o[V#2oUOVT]QP	VcUOUQ5	[U2o	UOV�]QP	VcUOUQ5	J�	UO1[2[Q	Q
2UO1[2[-2[,Q
N],Q5o[U[ Q5o
UO1[4[U
2[U[[*Q5o
UO1[4[U
2[],]�*],]�*QQ5o
UO1[6[U
2UO1[6U
O2UO1[6[8U
[:Q2UO1[6[8U
[:Q2UO1[6[8U
PPP/*[:Q2P!)r�r�r�rrr�r�r!r��9rYrrpr�r9r�r�)r�rkrrKr�r�r�r`r�r�r�r�r�rvr�r�r�rr�r0r�r�r�r�rxrVr�r�r�r�)rf�items_shaperyr�r{rEr�r�rlr�r]s&          r<�test_memoryview_construction�/TestBufferProtocol.test_memoryview_constructionb	s���2�w��1�#���e�E�l�1C�W�0M�N��(�L�E���,�B��2��A��O�O�A�N�N�+��O�O�A�L�L�)��u�:�D�(��a��=�G���&�C��K�K��!"��d�!���
�
!��A��B��K�K��!"��d�!���
�
!���O�L�$@�A�B����R�Z�Z��,��)�)�+�A��K�K��t�!"��d�!���
�
!���L�1�B����R�Y�Y��+����R�X�X�r�*����R�Z�Z��,��)�)�+�A�!�Q�Y�5�'�E�C��K�K��t�!"��d��r�y�y�k�4��
�
!�S(�^(�L�E���:�>�B��2��A��O�O�A�N�N�+��O�O�A�L�L�)��u�:�D�(��a��=�G���&�C��K�K��!"��d�!���
�
!��A��B��K�K��!"��d�!���
�
!�'(�2(��O�O�L�E���6�:�B��2��A��u�:�D���&�C��K�K��!"��d�!��
�
��
�
!��A��B��K�K��!"��d�!��
�
��
�
!�!,�,	
���)�Z��s�;����)�Z��4�
�W�Q�C�
(��
�R��
-�����+�z�2�6�
�R��� <�
=�����+�z�2�6��a�S��W�Q�C��G�C�
8�����*�j�"�5����*�b�&?�&?�@����*�n�b�*�c�J����*�n�b�*�c�J����*�n�b��2��h�
�C�Pr\c���,QNo,QN,QN,QN1FDVo[VQ5oUOUO2[U2oUO	[
UOQ2JX	[]Q2FDcvoo[Q2oUO
U2oUOUO2Q2UOUO2,2Je	P!)r�r�rrKr\r�r�r�)rr�r�rKrxrVrjr�rvr2rU)rfryr�r{�msrcr9rwrEs&       r<�test_memoryview_cast_zero_shape�2TestBufferProtocol.test_memoryview_cast_zero_shape�	s���
���w��0�E���,�B��O�O�B�O�O�,��b�>�D����i����C�8�	1�%�Q��5�I�C��A��c�?�D��	�	�#��A����Q�Y�Y�[�#�.����Q�X�X�Z��,�	6r\c��UOo[OoQoQo[[	]22oU[Q2UU]U**22[
U]],QQ5oU[U2UU]U**22[
U,QNQQ5oU[U2UU]U**22P!)zPnin 2P2n2i5P P�3nr\rrp)r(r(r()�check_sizeofr�calcvobjsizer�rkrKr)rf�check�vsize�base_struct�per_dimryrGs&      r<�test_memoryview_sizeof�)TestBufferProtocol.test_memoryview_sizeof�	s����!�!���$�$��'�����U�1�X���
�j��o�u�[�1�w�;�%>�?�@��E�!�Q���4��
�j��m�U�;��W��#<�=�>��E��3�7��
�j��m�U�;��W��#<�=�>r\c���QQ[2oQQ[2oQoU]	2U]	2Q[Q2Q[]]2,QN.Ql]]-QQP	P
P[QQ[	Q2[	Q2Q	Q
Q	Q
UQ,o[]
Q2FCDvqVo[
U]
,U[Q
5o[
U]
,U[Q
5o	[U2o
[OVY]U2Vz]$UOU
]*U	]*2[OU2oQU7cJ�SFDzoPo
[OVYV�2PoV�]$U
%f	U%c'UO#U
P2UO#UP2JZUOU
]*U	]*2J|	CJ	P![Oc[Oo
K�h9h[[1coSO oPo=K�Po=hh9h)c�.`�\sQsQsnQsQsQsUsP!)�=TestBufferProtocol.test_memoryview_struct_module.<locals>.INTi�	c��VmP!r��val�rfr�s&&r<�__init__�FTestBufferProtocol.test_memoryview_struct_module.<locals>.INT.__init__�	����r\c��UO!rr�res&r<�__int__�ETestBufferProtocol.test_memoryview_struct_module.<locals>.INT.__int__�	����x�x�r\r�)�__name__�
__module__�__qualname__�__firstlineno__r�r��__static_attributes__�__classdictcell__��
__classdict__s@r<�INTr��	�����
�
 �
 r\r�c�.`�\sQsQsnQsQsQsUsP!)�=TestBufferProtocol.test_memoryview_struct_module.<locals>.IDXi
c��VmP!rr�r�s&&r<r��FTestBufferProtocol.test_memoryview_struct_module.<locals>.IDX.__init__
r�r\c��UO!rr�res&r<�	__index__�GTestBufferProtocol.test_memoryview_struct_module.<locals>.IDX.__index__
r�r\r�)r�r�r�r�r�r�r�r�r�s@r<�IDXr�
r�r\r�c��]!)r5r�r�r\r<r�;TestBufferProtocol.test_memoryview_struct_module.<locals>.f
s��r\z-21.1gffffff(@�a�abcrG�abcc��U!rr�)rYs&r<�<lambda>�BTestBufferProtocol.test_memoryview_struct_module.<locals>.<lambda>
s��qr\rKrory������@@r�>r�rDr�r�)r�)�objectr	r
�Ellipsisr&r�rrrKr6r(rvr�r8rVr�rQ�assertIsNot)rfr�r�r�valuesr9ryrzr{r]rEr�r��
struct_err�mv_errrs&               r<�test_memoryview_struct_module�0TestBufferProtocol.test_memoryview_struct_module�	s���	 �&�	 �	 �&�	 �	��a�&�#�a�&��'�'�*�D�(�1�a�.��7�Q�q�E�2�t���t�X���	�$���6�1B��u�d�F��[�
"��!,�B�� =� =��C����r�d�3�k�J�B���r�d�3�k�J�B��2��A����S�a��.��a�D����Q�q�T�2�a�5�)����s�+�H��c�z����!�
�.��$�$�S�h�:���)��a�D����$�$�Z��6��$�$�V�T�2��$�$�Q�q�T�2�a�5�1�#�!>��"�|�|�.�!'���J�.��"�:�.�)��[�[�F��)�s6�%F$�?G�$G�8G�G�G6�G6� G1�1G6c��[,QN],],Q5oUOUO2[U2oUO	[
UOQ2P!)r�r�rr�)rrsr�rKrxrVrj)rfr{r�s&  r<�!test_memoryview_cast_zero_strides�4TestBufferProtocol.test_memoryview_cast_zero_strides0
sG���W�Q�C�!��
5��������)��"�~�����)�T�Y�Y��4r\c���[FD�o[]2%c
QU*LSo[OU2o[FD�o[]2%c
QU*LSo[OU2o[	[[
] 22] U*,UQ5o[U2oUO[UOU] U*,2J�	J�	[]2FD�vqo
[	U	],UQ5o[U2o[]2FD�voo
[U2%f-UO[UOU] W*,2JD[U2%cJW[U2%cJjUO[UOU] W*,2J�	J�	[OQ2o[OQ2o[	[[
]U*22]]U,QQ5o[U2oUO[UO]]U,QQ5[	[[
]x22,QNQ5o[U2o
UO[U
O2UO[U
O]]]2UO[U
O-2UO[U
OQ2UO[U
OQ2UO[U
OQ2UO[U
OQ	2UO[U
OQ
2UO[U
OQ2UO[U
OQ2UO[U
OQ
2UO[U
OQ2[	QQ,],QQ5o[U2o
UO[U
O ]2UO[U
O"]]2UO[U
O$2[	[[
]x22,QNQ5o[U2o
UO[U
OQ-Q5[	[[
]x22]x,Q5o[U2o
UO[&U
OQQ,Q5UO[U
OQP,Q5UO[U
OQ,QNQ5UO[U
OQ,QNQ5UO[U
OQ,QNQ5[	[[
Q2T
t,tFDo
]	MJ	to
2,QNQ5o[U2o
UO[U
OQ,QNQ5[	[[
]�22]�,QQ5o[U2o
UO[U
OQ],]�*2[	[[
Q2T
t,tFDo
]	MJ	to
2Q,Q5o[U2o
UO[U
OQ,QNQ5[	[[
Q2T
t,tFDo
]	MJ	to
2Q,Q5o[U2o
UO[U
OQ,QNQ5[	[[
]�22]�,QQ5o[U2o[	[[
]�22]�,QQ5o[U2o[(O*Q6XcoUO[UOQ,QN2UO[UOQ,QN2UO[UOQ,Q N2P!UO[UOQ]Q,2UO[UOQ,Q!N2UO[UOQ,Q"N2P!tto
htto
htto
h)#r(r>rprrr��Xz@Xz@XYz=Bz!Lz<Pz>l�BI�xBI�IIrr��r�r r�r�)r(r�r�rDr�r5r�)r(r�r�rDr�r5r)r(r�r�rDr�r5rYi�)r�rDr5r�)r(r�r�rDl����)r5r5�Ir-�QiAji��	)�r��rr4)r�r�rrr()rrr0r0r()rrr0r4r()�NON_BYTE_FORMATrr6r�rr�rkrKrxrVrjr�r�r�r�rWr#r!rUr�rZ�maxsize)rf�sfmt�sformat�ssize�dfmt�dformat�dsizer{r��sitemsrw�size_h�size_drEr]r�r�s&                r<�test_memoryview_cast_invalid�/TestBufferProtocol.test_memoryview_cast_invalid9
s_��#�O�D�$-�a�L�L�c�D�j�d�G��O�O�G�,�E�'���(1�!���#��*�$������0���T�%��)�_�R��Y�K��P��!�"�~���!�!�)�T�Y�Y��r�5�y�k�J�(�$� +�1�~�O�D�!����s�4�8�B��b�>�D�)�!�n�
��a��+�D�1�1��%�%�j�$�)�)�T�')�5�y�k�3�*�$�/�/��t�8L�8L��)�)�)�T�Y�Y��+-�u�9�+�7�
-� .�����%������%��
�T�%��F�
�+�,�Q�q��L��
M���"�~�����)�T�Y�Y�q��6�l�3��O�
�T�%��*�%�[�
9���r�N��	
���)�Q�V�V�,����)�Q�V�V�Q��1�5�	
���)�Q�V�V�R�0�	
���*�a�f�f�c�2����*�a�f�f�d�3����*�a�f�f�e�4�	
���*�a�f�f�d�3����*�a�f�f�d�3����*�a�f�f�d�3����*�a�f�f�d�3����*�a�f�f�d�3����*�a�f�f�e�4��e�U�^�A�3�t�
<���r�N�����-�q�}�}�a�@����-�q�}�}�a��C����-�q�x�x�8��T�%��*�%�[�
9���r�N�����)�Q�V�V�S���;��T�%��*�%�g�Y�
7���r�N�����-�����U�G��D����*�a�f�f�c�"���>����*�a�f�f�c�9I��J����*�a�f�f�c���I����)�Q�V�V�S�8I��J��T�e�H�o�6�o��1�o�6�7�z�
J���r�N�����)�Q�V�V�S�	��B��T�%��*�%�c�U�3�
?���r�N�����*�a�f�f�c�A�3�s�7�;��T�e�H�o�6�o��1�o�6�7��z�
J���r�N�����)�Q�V�V�S�	��B��T�e�H�o�6�o��1�o�6�7��z�
J���r�N�����)�Q�V�V�S�	��B��T�%��*�%�c�U�3�
?��
��^��
�T�%��*�%�c�U�3�
?��
��^���;�;�'�!����i����#�A�
C����j�"�'�'�3�@�
B����j�"�'�'�3�@�
B�
���i����#� �*�o�
/����j�"�'�'�3�>�
@����j�"�'�'�3�>�
@��I7��7��
7s�9
a&�1
a+�
a0c
��``�QQ1QQ1QQ11nUU1Qko[OQ2o[]	,QQ5o[UQ]2vqE[	U2oUOQ2oRO
Vs]QP	]UQUP	Q	5
[OQ2o[]	,U*U,QQ5o[UQU,Q
5vqE[	U2oUOQ,Q
5oRO
VsUQP	]QQUP	Q	5
[]Q2FD0vq�o[OV�2o[	U2oUV6V�2J2	[]Q2FD.vq�o[U
],U	[Q
5o[	U2oUV6V�2J0	P!)rc�6�[UO22!r�r�r2)r{s&r<r��9TestBufferProtocol.test_memoryview_cast.<locals>.<lambda>�
s��4��
�
��-r\rc��[UO22Tt,tFDp]6�c
UQ*
LSMJ	to!ttoh)r-r&r�r{rYs& r<r�r�
s0��T�"�*�*�,�=O�P�=O���W�A�c�E�!�3�=O�P��Ps�;�;rc	��[UO22Tt,tFDo[[U2Q2MJ	to!ttoh)zlatin-1)r�r2rR�chrrs& r<r�r�
s.��d�2�:�:�<�>P�Q�>P��E�#�a�&�)�4�>P�Q��Qs� ?c�^:�[OU2oR
FD�vqVUOU2oUU2oROVp]UP
]]U*,QUP	Q5
UOU2o	RO	V�2UO2oROV�VCP
]],U1UP	Q5
J�	P!)r��	rXr�r9rwr�r�r�rlrjr�)r6r�rjr�rvrU)r{rEryr9�srcsizerL�to_bytelistr�rl�m3�bytespecrfs&&&&      ��r<�iter_roundtrip�?TestBufferProtocol.test_memoryview_cast.<locals>.iter_roundtrip�
s�����o�o�c�*�G�(0�$���V�V�G�_��!�"�o�����B�%&�G�e�!"�2�g�:�,�� #�$��0�
�W�W�S�\��� � ��(��i�i�k�����B�%,��!"�2�$��
� #�$��0�)1r\rrprr�rIrKror�r�)
r6r�rr7rKrjr�r�rIr)
rfrrr{�	destitems�	destshaperEr��destsizer9ryrwrs
f           @r<�test_memoryview_cast�'TestBufferProtocol.test_memoryview_cast�
s�����-�
.��P�
Q��Q�
R�
��	0�(�/�/�#�&��
�Q�b��
-��)�"�c�1�5��	��r�N��
�V�V�C�[�����B��C�$��)�T�!��	�	.��?�?�3�'��
�a�S��\�(��C�
@��)�"�c�8�2�F��	��r�N��
�V�V�C�r�V�
"�����B�%�3���"�b�!��	�	.�)��W�5�M�C�����S�(�B��2��A��2�%�-�6�)��\�:�M�C����r�d�3�k�J�B��2��A��2�%�-�;r\c�F�[2FCD�o[Q*FCD�oUQ6XcJ
Q[]2*U*o[OU2o[U2U*o[
U2%cQLQo[VV2FCDgvqxo	[OU2o
U]6�cU,L,oV,*o[V�UQ5o
[U
2o[V�VLQ5vq�Ue$UO[UOV<2J�UQ6XcJ�[V�UQ5oUOV<Q5o[U2oUOoUO!2oUO#UU
VCP	UUUUP	Q5
UOU2oUOV{Q5o[U2oU
OoU
O!2oUO#UU
V�P	UUUUP	Q5
UO#UU
V�P	UUUUP	Q5
CJj	CJ�	CJ�	[$%CcQQ	[$O&2oU]dQ
2o[U2oUOQ2oUO)UO*U2UO)UO,]2UO/UO0P
2UO)UO2]2UO)UO4UO612UO)UOQ2UO)UO8Q2[$O:Q2o[U2oUOQ
2oUO)UO*U2UO)UO,]2UO/UO0P
2UO)UO2]2UO)UO4UO612UO)UOQ2UO)UO8Q2P!P!)r>rrKrLrpr�r/rc�P�\sQsQsQ\O
1Q\O1,sQsP!)�>TestBufferProtocol.test_memoryview_cast_1D_ND.<locals>.BEPointi%rYrZr�)	r�r�r�r��ctypes�c_long�c_double�_fields_r�r�r\r<�BEPointr%%s�� �&�-�-�0�3����2H�I�r\r*g33333i@r�333333�?r)�r>r�r�)r9rQrr6r�r�r�r�rrKr7rxrVrjr`r�rUr�r&�BigEndianStructurervrXr�rurwr�r�r0rYr()rf�_tshaperW�tfmt�tsizerrXr9ryrw�sizer��tshaper{rE�titemsr]r�r�r�rlr�m4r*�pointr�rYs&                          r<�test_memoryview_cast_1D_ND�-TestBufferProtocol.test_memoryview_cast_1D_ND�
sj��%���G�������3�;�� ��1��.��5������-����M�E�)��&4�T�&:�&:�l�	��%0��%8�%8�M�C��!�?�?�3�/�D�#$�q�5�Q�C�b�E�$�v�-�F� ��C�@�B�"�2��A�%/��%�%N�N�F��~��)�)�)�Q�V�V�T�J� ���� �!��d�C�B������3�B��v�;�D� �j�j�G��)�)�+�C��K�K���).�4�%)���$'�d� �4������B������2�B��u�:�D� �j�j�G��)�)�+�C��K�K���)-��%)���$'�d� �4�
�K�K���)-��%)���$'�d� �4�Q&9�%�'�n�6�
J�&�3�3�
J��C��'�E��E�"�B������B����R�V�V�U�+����R�[�[�!�,��M�M�"�+�+�u�-����R�W�W�a�(����R�X�X��	�	�|�4����R�Z�Z��.����R�]�]�B�/�����$�A��A��B������B����R�V�V�Q�'����R�[�[�!�,��M�M�"�+�+�u�-����R�W�W�a�(����R�X�X��	�	�|�4����R�Z�Z��.����R�]�]�B�/�1r\c	��[OQ[[Q]222o[U2oUO	V!2UO	UO2UO22UQ*oUQ*oUO	V!2UO	UO2UO22[
[[Q22,Q	NQQ5o[U2oUO	UO2UO22[
Q
Q,],QQ5o[U2oUO[UO
2[
Q,],QQ5o[U2oUO[UO
2[
,QN]],QQ5o[U2oUO[UO
2P!)
r:r(Nr�rrpr:�12345r�r.i	)r�r(r5r�rD)r(rD)r5r�)r��b�c�d�e�f)	rIr�rkrKrvrUrrxrW)rfrGrEr{s&   r<�test_memoryview_tolist�)TestBufferProtocol.test_memoryview_tolist=s_��
�K�K��T�%��A�,�/�0���q�M��������������Q�X�X�Z�0�
�d�G��
�d�G��������������Q�X�X�Z�0�
�T�%�
�+�,�L��
M���r�N���������R�Y�Y�[�1�
�f�g�&�q�c�$�
?���r�N�����-�q�x�x�8�
�h�Z��s�3�
7���r�N�����-�q�x�x�8�
�4�Q�q�E�#�
N���r�N�����-�q�x�x�8r\c���[[]	22oUO2oUOUQ2UO	2UO2oUOUQ2P!)r�z<memoryz	<released)rKr&�__repr__�assertStartsWithr�)rfrEr�s&  r<�test_memoryview_repr�'TestBufferProtocol.test_memoryview_repr[sO���y��|�$��
�J�J�L�����a��+�	�	�	��
�J�J�L�����a��-r\c�b�QFDio[Q2o[OUQUQ,2o[U2oUOQU2UOQU2UOQU2Jk	[	Q,QQ5o[U2oUO[[Q[22P!)	rrg���?g@g"@r�z9.0 in m)rr)	�floatrIrK�assertInrrxrVr>r?)rfr9�infr{rEs&    r<�test_memoryview_sequence�+TestBufferProtocol.test_memoryview_sequenceds����C���,�C����S�3��S�/�2�B��2��A��M�M�#�q�!��M�M�%��#��M�M�#�q�!�
��S�"�S�
)���r�N�����)�T�:�v�x�@r\c#�� �UO[29^tt^2oPw�PPP2UO[WO2QU1*2P!)%fhK?9h3h)Nz#index out of bounds on dimension %d)rxr$rv�str�	exception)rf�dim�cms&& r<�assert_out_of_bounds_error�-TestBufferProtocol.assert_out_of_bounds_errorrsL���
�
�
�z�
*�
*�b��+�����R�\�\�*�>�#��G�	I�+�
*�s!�A1�A�7A1�A.	�'A.	�)A1c	�J�[Q,QQ5o[U2oUOUQ	*Q2UOUQ*U2UOUQ*U2UO[UO
]2[Q
,QQ5o[U2oUO[UO
Q	2[[[]22],[Q5o[U2oUO[UO
Q2UO[UO
Q2UO[UO
Q2UO[UO
Q2UO[UO
]2[[[]22]],[Q5o[U2oUOUQ
*]2UOUQ*]2UOUQ*]2UOUQ*]2UOUQ*]2QFD0oUO]Q59^tt^2V#]1*PPP2J2	QFD1oUO]Q59^tt^2U]U1*PPP2J3	UO[UO
Q2UO[UO
Q2UO[UO
Q2UO[UO
Q2UO[UO
Q	2UO[UO
]2P!)%fhCJF9h)%fhCJ$9h)�)@rrp.�iiir��@��rPr�r�r�����rr)r(rr��r�r�)r�r��r�r��r�r�r�r�rr��rrr�rXrX)rrKrvrxrVr#rWr�rkrr$rR)rfr{rE�indexs&   r<�test_memoryview_index�(TestBufferProtocol.test_memoryview_indexys����T��C�
0���r�N������2���%�����3���#�����3���$����)�Q�]�]�A�6�
�W�B�u�
5���r�N�����-�q�}�}�b�A��T�%��(�^�A�3�k�
B���r�N�����*�a�m�m�U�;����)�Q�]�]�C�8����)�Q�]�]�C�8�	
���*�a�m�m�R�8����*�a�m�m�Q�7��T�%��)�_�Q�q�E��
E���r�N������4��!�$�����4��!�$�����4��"�%�����6��B�'�����6��A�&��E��0�0�Q�0�7�7���(��8�7���E��0�0�Q�0�7�7��!�U�(��8�7��	
���*�a�m�m�Z�@����*�a�m�m�Z�@����)�Q�]�]�I�>����)�Q�]�]�J�?�	
���-�q�}�}�b�A����-�q�}�}�a�@�8�7�7��8�7�7�s$�$M;	�N	�;N

�N

�N"
�N"
c	��[Q,Q[Q5o[U2oQUQ$UOUQ*Q2QUQ$UOUQ*Q2UO	[
UO]Q2[[[]22],Q5o[U2oUO	[
UO]]
2[[[]22],[Q5o[U2oUO	[UOQ]	2UO	[
UOQ	]
2UO	[
UOQ
]2UO	[UOQ]2UO	[UO]]2[Q*FDzoUQ6XfUQ
6XcJ[,QN],U[Q5o[U2o[Q]2o]V$$UOV$*]2UOV$*V*2J|	[,QN],Q[Q5o[U2oQU]$UOU]*Q2[,QN],Q
[Q5o[U2oP	U]$UOU]*P	2[Q,],Q[Q5o[U2oUO	[
UO]]d2[[[]�22,QN[Q5o[U2o[Q*O2FD�vq7UQ
6XcJUQ6XcJUOU2oUvq�UQ 7c]Q*']Q*q�UQ6wcLUO	[UO]U	]*
2UO	[
UO]Q2UO	[UO]U
2J�	UOQ2oUO	[UO]Q2[[[]22],Q[Q5o[U2oUO	[ UO]]2[Q,],Q[Q5o[U2oUO	[ UO]]2[[[]22]],[Q5o[U2o]*UQ!$UOU]*]*]*2]+UQ"$UOU]*]*]+2Q#FD,oUO#]Q59^tt^2]V+]1$PPP2J.	Q$FD-oUO#]Q59^tt^2]U]U1$PPP2J/	UO	[UOQ%]2UO	[UOQ&]2UO	[
UOQ']2UO	[
UOQ(]2UO	[ UO]]],2P!)%fhCJ$9h)%fhCJ9h))rUrrog�6@g�7@.g33333�8@r�r�rWrXr>rrr��xrrr�s���xLr9r�rYr�r�rZr�r�)�1�2�3)TFT)r�r(r�r�r�)rrr r)rr�r\r]r^r_r`rarb)rrrKrvrxrVr!r�rkr$rQrruryrjr�rWrR)rfr{rEr9rr]r��_ranger��lo�hircs&           r<�test_memoryview_assign�)TestBufferProtocol.test_memoryview_assign�s9���T��C�{�
C���r�N����"������2���%���#������2���%����)�Q�]�]�A�t�<��T�%��(�^�A�3�
/���r�N�����)�Q�]�]�A�r�:��T�%��(�^�A�3�k�
B���r�N�����*�a�m�m�U�A�>����)�Q�]�]�C��<����)�Q�]�]�C��<�	
���*�a�m�m�R��<����*�a�m�m�Q��;��3�<�<�C��c�z�S�C�Z������C�{�K�B��2��A��"�a� �A��A�D����Q�T�1�%����Q�T�2�5�)� ��'��s�3�&�(���r�N����!������1��t�$�
�(���C�&�(���r�N����!���
�
�a��d�D�!��d�V�A�3�s�+�
F���r�N�����)�Q�]�]�A�s�;�
�T�%��*�%�[��
L��
��^��"�3�<�-�-�/�K�C��s�
���c�z�������B��F�B��,�,��T�'��1�d�7�B��c�z��!�!�*�b�n�n�a��A��F��!�!�)�R�^�^�Q��F����j�"�.�.�!�R�@�0��W�W�S�\�����*�b�n�n�a��E��T�%��(�^�A�3�t�;�
O���r�N�����-�q�}�}�a��C�
�h�Z��s�3�k�
J���r�N�����-�q�}�}�a��C��T�%��)�_�Q�q�E��
E���r�N����#������A��q��2�&���%������A��q��2�&��E��0�0�Q�0�7�7����(��8�7���E��0�0�Q�0�7�7���!�U�(��8�7��	
���*�a�m�m�Z��C����*�a�m�m�Z��C����)�Q�]�]�I�q�A����)�Q�]�]�J��B�	
���-�q�}�}�a�!�Q��H�8�7�7��8�7�7�s$�Y	�Y(	�Y%
�Y%
�(Y:
�1Y:
c
���[[[]22],[Q5o[	U2oUO[UO[]]]22UO[UO[]]]2[]],22UO[UOQ	2[[[]22],[Q5o[	U2oUO[UO[]]]2[]]]212UO[UO[]]]2[]]]21[]],22UO[UO[]]]2-12UO[UO[]]]2-1[]],22UO[UO[]]]2],2][1FCDdo[[[]22],P,][U*Q5o[[[]22],],UQ5o[	U2o[	U2oUQ*UQ$UQ*UQ$UOVd2UOVu2UQ*Q*UQ*PPP/$UQ*Q*UQ*PPP/$UOVd2UOVu2UQ*Q*U]]Q
/*PPP/$UQ*Q*U]]Q
/*PPP/$UOVd2UOVu2CJg	P!)r�r�)r�r�r�rr�:r(rDN:rr(N:NNr��r�r�N:r�r�r(r�r�)rr�rkrrKrxr�r#rr!r&rWrVr�rv)rfr{rErr�r�r�r�s&       r<�test_memoryview_slice�(TestBufferProtocol.test_memoryview_slices���
�T�%��)�_�R�D��
D���r�N��	
���*�a�m�m�U�1�Q�q�\�B����*�a�m�m�U�1�Q�q�\�#�Q�q�E�*�	,�	
���-�q�}�}�b�A��T�%��)�_�R�D��
D���r�N�����-�q�}�}� ��1�Q�<��q��1��6�	8����-�q�}�}� ��1�Q�<��q��1��6�	�1�Q�%�8H�	J�	
���)�Q�]�]�U�1�Q�q�\�2�4F�G����)�Q�]�]�U�1�Q�q�\�2�4F�#�Q�q�E�*�	,�	
���)�Q�]�]�E�!�A�a�L�1�#�F���[�E��$�u�R�y�/�"���t�B� +�E� 1�3�C��$�u�R�y�/�"���s�%�P�C��C��B��C��B��3�x�C��H���g�B�s�G����R�%����R�%� ��X�c�]�C��H�T�r�T�N��s�G�C�L�B�s�G�D�b�D�M����R�%����R�%� #�E�
�3��C��!�B��K��"���!�%�y��~�B�q��2�v�J�t��t�����R�%����R�%�/!r\c��Qo[]]2FCDo[UQ2FCDvq4o[U2FCD�o[U2FCD�o[OV42o[OV42o	[	U	2o
UOV�2UOU
O
2UO
22UOU
O2UO22UO[U
2[U22UVV�U2PoPoV�*o
V�*oV�*V�$[U
2[U26goPoV�*V�$U%cUOU[2CJ:U%f	U%cUOUU2CJ_UOV�2UOU
O
2UO
22UOU
O2UO22UVV�U2CJ�	CJ�	CJ	CJ	P![coSOoPo=K�Po=hh9h[coSOoPo=CKPo=hh9h)c�n�[U2FD�vqVV*oV5*oUOVx2VAU$VG6wc$UOV2UOV2L"UOV2UOV2VCU$UOV2UOV#2VqU$V�U$J�	P!r)r'rv�assertNotEqual)	�testcaserGrrE�
singleitemrrw�ai�mis	&&&&&    r<�cmptest�9TestBufferProtocol.test_memoryview_array.<locals>.cmptestUs���!�!�����T���T���$�$�R�,�!�!���#��+�+�A�1��+�+�A�1��(�(��.��(�(��.�!�!���$�$�Q�*��$�$�Q�*��!���!��%r\rI)
rkr�r;rIrKrvrUr2r`rPrQrur�)rfr|rr9ryryr\rArGrrE�	array_err�have_resize�al�arr�m_errs&                r<�test_memoryview_array�(TestBufferProtocol.test_memoryview_arraySs���	�$�q�!���A�*5�a��*A�*A�&��J�'��l�l�F�"+�A�,�,��!�K�K��3��!�K�K��3��&�q�M���(�(��.��(�(�����Q�X�X�Z�@��(�(�����a�i�i�k�B��(�(��Q���Q��8����z�:�$(�	�&*��4�!"��B�!"��B�()�	�A�I�*-�b�'�S��W�*<�K�!%��0�()�	�A�I�'� �M�M�%��<�"�i� �M�M�%��;� �,�,�Q�2� �,�,�Q�X�X�Z�����D� �,�,�Q�Y�Y�[�!�)�)�+�F�#�D�Q�:�>�K#/�+�+B���. )�4�()���I��4�� )�0�$%�K�K�E��0�s<�!1H2�
I�2	I�<I�=I�I�	I8� I8�!I3�3I8c�\�[OQ,QN2o[OQ,QN2o[U2o[U2oQFDMoUO[V52U2[2UO[V2U2[2JO	[U2oUO2UO
V32UOV12UOV2[U2o[U2oUO2UOV42UOVC2[U2oUOU,QN2[Q	,],Q[Q5oP[Q21U]$UO[U2U2[%c�QQ[O2oU]d]�2o[U2o[U2oUOV2UOV2UOV�2UO[UO2P!P!)
rzl x d xror/c�P�\sQsQsQ\O
1Q\O
1,sQsP!)�ITestBufferProtocol.test_memoryview_compare_special_cases.<locals>.BEPointi�rYrZr��r�r�r�r�r&r'r)r�r�r\r<r*r����� �&�-�-�0�3��
�
�2F�G�r\r*r�)r�r(r5)�__lt__�__le__�__gt__�__ge__r[)rIrKru�getattrr0r�rvrwrrrHr&r-rxrWrU)	rfrGrr��w�attrr]r*r5s	&        r<�%test_memoryview_compare_special_cases�8TestBufferProtocol.test_memoryview_compare_special_cases�s����K�K��Y�'���K�K��Y�'��
�q�M���q�M��<�D��M�M�'�!�*�1�-�~�>��M�M�'�!�*�1�-�~�>�=�

�q�M��	�	�	����������A�!����A�!��q�M���q�M��	�	�	�����A�!����A�!�
�q�M�����A�y�)��f�X�a�S��+�
N���U�5�\�"��1�����J�r�N�B�/��6�
H�&�3�3�
H��C��%�E��5�!�A��5�!�A�����%�����)�����)����1�1�8�8�<�r\)�categoryc��[OQQ2o[U2oUOV2UOV!2P!)�ur�)rIrKrw)rfrGr�s&  r<�<test_memoryview_compare_special_cases_deprecated_u_type_code�OTestBufferProtocol.test_memoryview_compare_special_cases_deprecated_u_type_code�s9��
�K�K��U�#���q�M�����A�!����A�!r\c���[Q,QQ5o[Q,Q[Q5o[U2o[U2oUOV42UOVC2UOV22UOV#2UOVA2UOV2UO	UOU22UO	UOU22QUQ	$UO
V42UO
VC2UO
V22UO
V#2UO
VA2UO
V2UO	UOU22UO	UOU22[[[]22],[[*Q5o[[[]22],[[*Q5o[U2oUOVu2]dU]	$UO
Vu2[Q
,QQ5o[Q
,Q[Q5o[U2o[U2oUOV42UOVC2UOV22UOV#2UOVA2UOV2[Q
,QQ5o[Q,Q[Q5o[U2o[U2oUO
V42UO
VC2UO
V22UO
V#2UO
VA2UO
V2UOV12UOVB2P!)��@Lrprroi�r��Lf5s�hf5sr�)r�r+r9)i?���r+r9)rrrKrvrs�__ne__rwr/r�rkr�)rf�nd1�nd2r�r�r]r{rEs&       r<�!test_memoryview_compare_ndim_zero�4TestBufferProtocol.test_memoryview_compare_ndim_zero�s����d�"�T�2���d�"�S��D���s�O���s�O���������������� ����� ����� ����� �������!��%�������!��%���"�����A�!����A�!����A�#����C�#����A�#����C�#�������!��%�������!��%�
�T�%��)�_�R�D��F�8J�
K��
�T�%��)�_�R�D��F�8J�
K���r�N���������!�����A�"��+�2�f�E���+�2�f�'�)���s�O���s�O���������������� ����� ����� ����� ��+�2�f�E���,�B�v�'�)���s�O���s�O�����A�!����A�!����A�#����C�#����A�#����C�#����� ����� r\c��[,QN],QQ5o[,QN],QQ5o[U2o[U2oUOV12UOVB2UOV22UOVA2UOV42[,QN],QQ5o[,QN],QQ5o[U2o[U2oUOV12UOVB2UOV22UOVA2UOV42[,Q
N],QQ5o[,QN],QQ5o[U2o[U2oUOV2Q*2UOUQ*U2UOV4Q*2UOUPPP/*UPPQ/*2[,Q
N],QQ5o[,QN],QQ5o[U2o[U2oUOV2Q*2UOUQ*U2UOV4Q*2UOUPPP/*UPPQ/*2[,Q
N],QQ5o[,QN],Q[Q5o[U2o[U2oUOV2Q*2UOUQ*U2UOV4Q*2UOUPPP/*UPPQ/*2[,Q
N],Q	Q5o[,QN],Q
[Q5o[U2o[U2oUOV2Q*2UOUQ*U2UOV4Q*2UOUPPP/*UPPQ/*2P!)��@hrpz<iz>h�NNr(z!hz<lrozh  0cz>  h�����@�����'���)r�r�r�r���)r�r�r�r�)rrKrvrwr��rfr�r�r�r�s&    r<� test_memoryview_compare_ndim_one�3TestBufferProtocol.test_memoryview_compare_ndim_one
s<���2�1�#�d�K���1�!��T�J���s�O���s�O������ ����� ����A�#����A�#����A�!��2�1�#�d�K���1�!��T�J���s�O���s�O������ ����� ����A�#����A�#����A�!��(���D�A���2�1�#�d�K���s�O���s�O�������H�%�����3���%�����c�F�#�����4�R�4��!�D�b�D�'�*��(���D�A���2�1�#�d�K���s�O���s�O�������H�%�����3���%�����c�F�#�����4�R�4��!�D�b�D�'�*��(���D�A���2�1�#�d�"�$���s�O���s�O�������H�%�����3���%�����c�F�#�����4�R�4��!�D�b�D�'�*��(���G�D���2�1�#�f�"�$���s�O���s�O�������H�%�����3���%�����c�F�#�����4�R�4��!�D�b�D�'�*r\c�<�[QQ,],QQ5o[QQ,],QQ5o[U2o[U2oUOV12UOVB2UOV22UOVA2UOV42[QQ,],QQ5o[QQ,],QQ5o[U2o[U2oUOV12UOVB2UOV22UOVA2UOV42P!)�r�r�rpz= h0cz@   ii|���i?����rrKrvr�s&    r<�"test_memoryview_compare_zero_shape�5TestBufferProtocol.test_memoryview_compare_zero_shapeP
s���s�C�j���D�9���t�T�l�1�#�d�;���s�O���s�O������ ����� ����� ����� �������s�C�j���G�<���t�T�l�1�#�g�>���s�O���s�O������ ����� ����� ����� �����r\c�L�[,QN],QQ5o[Q,],],QQ5o[U2o[U2oUOV12UOVB2UOV22UOVA2UOV42[Q,]*],QQ5o[Q,],],QQ5o[U2o[U2oUOV12UOVB2UOV22UOVA2UOV42P!)	r�r�rprr�z@ Liz!L  h)r�r�r�r�)r�r�r�r�s&    r<�$test_memoryview_compare_zero_strides�7TestBufferProtocol.test_memoryview_compare_zero_stridesj
s	���*�1�#�d�C���s�e�A�3���C�@���s�O���s�O������ ����� ����� ����� �������z�l�1�n�Q�C��?���z�l�1�#��s�7�K���s�O���s�O������ ����� ����� ����� �����r\c�&�]
o[Q*FDvo[UQQU2vq4o][1FDUo[VA,V6Q5o[	U2oUOV�2UPPQ/*o[	U2oUOV�2JW	Jx	]
o[
]d2FDso	[U2vq4o][1FDUo[VA,V6Q5o[	U2oUOV�2UPPQ/*o[	U2oUOV�2JW	Ju	P!)r�rFrKr>ror�)rQr}r�rrKrvrk)
rfrrWr9ryryrr]rErws
&         r<�&test_memoryview_compare_random_formats�9TestBufferProtocol.test_memoryview_compare_random_formats�
s���
���D�M�M�D�%.�q�,��T�%J�"�C�
��V����U�#�c�G���r�N��� � ��'���"��X���r�N��� � ��'�%�"�
���s��A�%.�q�\�"�C�
��V����U�#�c�G���r�N��� � ��'���"��X���r�N��� � ��'�%�r\c��[[[Q	]22,Q
NQQ5o[[[]]22,Q
NQQ5o[U2o[U2oUO	V12UO	VB2UOV22UOVA2UOV42[Q,]*,Q
NQQ5o[Q,]*,Q
NQQ5o[U2o[U2oUO	V12UO	VB2UOV22UOVA2UOV42[[[]22,Q
NQQ5o[[[]22,Q
NQQ5o[U2o[U2oUO	V12UO	VB2UOV22UOVA2UOV42[Q,]*]],QQ5o[Q,]*]],QQ5o[U2o[U2oUO	V12UO	VB2UOV22UOVA2UOV42[[[]22,Q
NQQ5o[[[]22,Q
NQQ5o[U2o[U2oUO	V12UO	VB2UO	V22UO	VA2UO	V42P!)r3r�rpz=f q xxLz< f 2Qrz! b B xLz
= Qx l xxLr���r�r(rD�rr�r()g333333�r�r(r9�rr�rkrKrvrwr�s&    r<�"test_memoryview_compare_multidim_c�5TestBufferProtocol.test_memoryview_compare_multidim_c�
s����d�5��b�>�*�)�D�I���d�5��B�<�(�	�$�G���s�O���s�O������ ����� ����A�#����A�#����A�!��y�k�"�n�I�j�I���|�n�R�'�y��J���s�O���s�O������ ����� ����A�#����A�#����A�!��d�5��9�o�Y�s�C���d�5��9�o�Y�s�C���s�O���s�O������ ����� ����A�#����A�#����A�!��y�k�"�n�Q��F�:�F���y�k�"�n�Q��F�<�H���s�O���s�O������ ����� ����A�#����A�#����A�!��d�5��9�o�Y�s�C���d�5��9�o�Y�s�C���s�O���s�O������ ����� ����� ����� �����r\c�&�[[[Q]22,Q	NQ[Q5o[[[]]22,Q	NQ[Q5o[	U2o[	U2oUOV12UOVB2UO
V22UO
VA2UO
V42[Q
,]*]],Q[Q5o[Q,]*]],Q[Q5o[	U2o[	U2oUOV12UOVB2UO
V22UO
VA2UO
V42[[[Q]22,QNQ[Q5o[[[Q]22,Q
NQ[Q5o[	U2o[	U2oUOV12UOVB2UO
V22UO
VA2UO
V42[[[Q]22,QNQ[Q5o[[[Q]22,Q
NQ[Q5o[	U2o[	U2oUOV12UOVB2UO
V22UO
VA2UO
V42[[[]22,Q	NQ[Q5o[[[]22,Q	NQ[Q5o[	U2o[	U2oUOV12UOVB2UOV22UOVA2UOV42P!)r3r�ro�=Qqz=qQr�0llrHr�)rDr(r�������r�)r�r�r9r�)rr�rkr�rKrvrwr�s&    r<�(test_memoryview_compare_multidim_fortran�;TestBufferProtocol.test_memoryview_compare_multidim_fortran�
s����d�5��b�>�*�)�D�&�(���d�5��B�<�(�	�$�&�(���s�O���s�O������ ����� ����A�#����A�#����A�!��}�o�a�'��1�v�e�&�(���}�o�a�'��1�v�e�&�(���s�O���s�O������ ����� ����A�#����A�#����A�!��d�5��b�>�*�)�C�&�(���d�5��b�>�*�)�C�&�(���s�O���s�O������ ����� ����A�#����A�#����A�!��d�5��b�>�*�)�E�&�(���d�5��b�>�*�)�C�&�(���s�O���s�O������ ����� ����A�#����A�#����A�!��d�5��9�o�Y�t�&�(���d�5��9�o�Y�t�&�(���s�O���s�O������ ����� ����� ����� �����r\c��	�[[Q]22o[U,QN2o[U,QNQQ5o[U,QNQ[Q5o[U2o[U2oUO
VS2UO
Vd2UO
VV2Q,]*oQU]$[U,QN2o[U,QNQQ5o[U,QNQ[Q5o[U2o[U2oUO
VS2UO
Vd2UO
VV2[[[](22]],QQ5oU]]P/PPQ/1*o[[[](22]],QQ5oUQ	PPQ/1*o[U2o[U2oUO
VS2UO
Vd2UOVT2UOVc2UOVV2[Q,]*]],Q
Q5oU]]P/PPQ/1*o[Q,]*]],QQ5oUQ	PPQ/1*o[U2o[U2oUO
VS2UO
Vd2UO
VT2UO
Vc2UO
VV2[[[]22,QNQQ5oUQ
PPQ/1*o[[[]22,QNQQ5oUQ
PPQ/1*o[U2o[U2oUO
VS2UO
Vd2UOVT2UOVc2UOVV2[[[]22,QNQQ5oUQ
PPQ/1*o[[[]22,QNQQ5oUQ
PPQ/1*o[U2o[U2oUO
VS2UO
Vd2UOVT2UOVc2UOVV2[Q,]*,QNQQ5oUQ
PPQ/1*o[Q,]*,QNQQ5oUQ
PPQ/1*o[U2o[U2oUO
VS2UO
Vd2UOVT2UOVc2UOVV2P!)r3�@lrprrozd b czd h c�@Ir�r�r�r�z=iiz>iirrrr�b3s�i3sr�r�)gffffff
����rg)g�������r�rgr�)r�r�r9)r(r��rDr�r()r�rkr�rr�rKrvrw)	rf�lst1�lst2r�r�r�r�r�r�s	&        r<�&test_memoryview_compare_multidim_mixed�9TestBufferProtocol.test_memoryview_compare_multidim_mixed&s`���E�#�r�N�#����y�)���d�)�D�9���d�)�C�z�J���s�O���s�O������ ����� ������"�"�2�%��#��Q����y�)���d�)�G�<���d�)�G�:�N���s�O���s�O������ ����� �������d�5��9�o�a��V�D�A���!�A�b�&�$�B�$�,����d�5��9�o�a��V�C�@���%��2��+����s�O���s�O������ ����� ����A�#����A�#����A�!��(�)�"�,�R��G�E�J���!�A�b�&�$�B�$�,����(�)�"�,�R��G�E�J���%��2��+����s�O���s�O������ ����� ����� ����� �������d�5��9�o�Y�s�C���$��"��*�o���d�5��9�o�Y�s�C���$��"��*�o���s�O���s�O������ ����� ����A�#����A�#����A�!��d�5��9�o�Y�s�C���$��"��*�o���d�5��9�o�Y�s�C���$��"��*�o���s�O���s�O������ ����� ����A�#����A�#����A�!��{�m�B�&�i��F���$��"��*�o���{�m�B�&�i��F���$��"��*�o���s�O���s�O������ ����� ����A�#����A�#����A�!r\c���[[[]22,QNQQ5o[[[]22,QNQQ5o[U2o[U2oUO	V12UO	VB2UOV22UOVA2UOV42[[[]22,QNQQ5o[[[]22,QNQQ5o[U2o[U2oUO	V12UO	VB2UOV22UOVA2UOV42P!)�rrpz@i)rr�r()rDrr(r�r�s&    r<�+test_memoryview_compare_multidim_zero_shape�>TestBufferProtocol.test_memoryview_compare_multidim_zero_shape�s���d�5��9�o�Y�s�C���d�5��9�o�Y�t�D���s�O���s�O������ ����� ����A�#����A�#����A�!��d�5��9�o�Y�s�C���d�5��9�o�Y�t�D���s�O���s�O������ ����� ����A�#����A�#����A�!r\c��[Q,]P*,QNQQ5o[Q,,QN,QNQQ5o[U2o[U2oUOV12UOVB2UOV22UOVA2UOV42UOUO2UO22[Q	,]
*]],QQ5o[Q	,]],]],QQ5o[U2o[U2oUOV12UOVB2UOV22UOVA2UOV42P!)
r�r�rprr�z=lQz<lQ)r�rDr�rar )rrKrvrUr�s&    r<�-test_memoryview_compare_multidim_zero_strides�@TestBufferProtocol.test_memoryview_compare_multidim_zero_strides�s*���s�e�B�h�i��=���s�e�9�i��L���s�O���s�O������ ����� ����� ����� �������������Q�X�X�Z�0��v�h�r�k�!�Q���>���v�h�q�!�f�q�!�f�U�K���s�O���s�O������ ����� ����� ����� �����r\c���[[[](22]],QQ5oU]]P/PPQ/1*o[[[](22]],Q[Q5oUQPPQ/1*o[	U2o[	U2oUOVR2UOVd2UO
VT2UO
Vb2UO
VV2[Q,](*]],Q[Q5oQU]*]$U]]P/PPQ/1*o[Q,](*]],Q[[*Q5oQU]*]$UQPPQ/1*o[	U2o[	U2oUOVR2UOVd2UOVT2UOVb2UOVV2[[[]22,QNQ[Q5oUQ	PPQ/1*o[[[]22,QNQQ5oUQ	PPQ/1*o[	U2o[	U2oUOVR2UOVd2UO
VT2UO
Vb2UO
VV2[Q,](*,QNQ
[[*Q5oUQPPQ/1*o[Q,](*,QNQ
Q5oUQPPQ/1*o[	U2o[	U2oUOVR2UOVd2UO
VT2UO
Vb2UO
VV2[[[]22,QNQ[Q5oUQ	PPQ/1*o[[[]22,QNQ[Q5oUQ	PPQ/1*o[	U2o[	U2oUOVR2UOVd2UOVT2UOVb2UOVV2[Q,]*,QNQ
[[*Q5oQU]*]*]$UQ	PPQ/1*o[Q,]*,QNQ
[[*Q5oQU]*]*]$UQ	PPQ/1*o[	U2o[	U2oUOVR2UOVd2UO
VT2UO
Vb2UO
VV2[[Q]22o[U,QN2o[U,QNQ[Q5o[U,QNQ[[*Q5o[	U2o[	U2oUOVR2UOVd2UOVV2Q,]*oQU]$[U,QN2o[U,QNQ[Q5o[U,QNQ[[*Q5o[	U2o[	U2oUOVR2UOVd2UOVV2P!)�(r�rprror�r�z>Qqrrr�BbrLr�5s0sPr�rz
< 10p 9p dz
> 10p 9p dr�r�)r�r�r9r�)�r�r�)�hellor\r�)r�r�r�)ssushir\r�r�)ssashimisslicedg�����4@)sramensspicygfffff�"@)
rr�rkr�rKrvrwrr�r�)	rfr�r�r�r�r�r�r�r�s	&        r<�+test_memoryview_compare_multidim_suboffsets�>TestBufferProtocol.test_memoryview_compare_multidim_suboffsets�s����d�5��9�o�a��V�D�A���!�A�b�&�$�B�$�,����d�5��9�o�a��V�C�v�N���%��2��+����s�O���s�O������ ����� ����A�#����A�#����A�!��}�o�b�(��A��u�'�)����A��q�	��!�A�b�&�$�B�$�,����}�o�b�(��A��u�"�;�.�0����A��q�	��%��2��+����s�O���s�O������ ����� ����� ����� �������d�5��9�o�Y�s�"�$���$��"��*�o���d�5��9�o�Y�s�C���$��"��*�o���s�O���s�O������ ����� ����A�#����A�#����A�!��|�n�R�'�y��"�;�.�0���$��"��*�o���|�n�R�'�y��F���$��"��*�o���s�O���s�O������ ����� ����A�#����A�#����A�!��d�5��9�o�Y�s�&�Q���$��"��*�o���d�5��9�o�Y�t�6�R���$��"��*�o���s�O���s�O������ ����� ����� ����� �������)�*�2�-�Y�w�"�;�.�0��)��A��q�	�!���$��"��*�o���)�*�2�-�Y�w�"�;�.�0��)��A��q�	�!���$��"��*�o���s�O���s�O������ ����� ����A�#����A�#����A�!��E�#�r�N�#����y�)���d�)�D��G���d�)�C�z�&�?P�Q���s�O���s�O������ ����� ������/�/��2��-��R����y�)���d�)�L��O���d�)�L�&�v�-�/���s�O���s�O������ ����� �����r\c	��QFCD�o[Q,]x*,QNUQ*Q5o[Q,]x*,QNUQ*[[*Q5o]U]*]*]*]*]$[U2o[U2oUO	VB2UO	VS2UOVE2UOVC2UOVR2[Q,]x*,QNUQ*Q5o[Q,]x*,QNUQ*[[*Q5oQ	U]*]*]*]*]$[U2o[U2oUO	VB2UO	VS2UOVE2UOVC2UOVR2CJ�	P!)
rAr!rpro�QLH)rAr?r@rBr+)r�rDr(r(r()r+r���)r�r�r�)rrr�rKrvrw)rf�	byteorderrYrZrGrs&     r<�!test_memoryview_compare_not_equal�4TestBufferProtocol.test_memoryview_compare_not_equal=sp��.�I������;�y��}�M�A������;�y��}�)�*�4�6�A� �A�a�D��G�A�J�q�M�!���1�
�A��1�
�A����Q�"����Q�"�����%�����%�����%��.�/��3�;�(���0�A��.�/��3�;�(���k�*�6L�N�A�(�A�a�D��G�A�J�q�M�!���1�
�A��1�
�A����Q�"����Q�"�����%�����%�����%�1.r\c��[OQ,QN2o[U2oUO2UO[[U2UO[UO
Q2UO[UO2UO[[U2UO[UO2UO[UO2UO[[Q[22UO[UO]2UO[UO]]2QFD$oUO[UOU2J&	[OQ,QN2o[U2o[U2oUOVV2UO2UO!VV2UO!VQ2UOVU2P!)rrz1.0 in m)g�������?g������@gffffff
@)rXr0rwr�rr�r�r�rYr�r�r�)rIrKr�rxr�rj�__iter__rrUr2r>r?r#r!�__getattribute__rvrw)rfrGrEr�rr�r�s&      r<�test_memoryview_check_released�1TestBufferProtocol.test_memoryview_check_releasedZsk���K�K��_�-���q�M��	�	�	��	
���*�j�!�4����*�a�f�f�c�2����*�a�j�j�1����*�g�q�1����*�a�h�h�/����*�a�i�i�0����*�d�J���A����*�a�m�m�Q�7����*�a�m�m�Q��:�3�D�
���j�!�*<�*<�d�C�3�
�K�K��_�-��
��]��
��]������ �
�
�
�����B�#����B�"����� r\c��Qo[U],QQ5o[U2oUOV22UOUO2UO22[U,],QQ5o[U2oUOV22UOUO2UO22[[	]2Tt,tFDpAMJ	to,Q	NQQ5o[U2oUOV22UOUO2UO22[[	]x2Tt,tFDpAMJ	to,Q
NQQ5o[U2oUOV22UOUO2UO22[
%cYQQ[
O2oU]d]�2o[U2oUOUO2[U22P!P!ttohttoh)r�r�rpz>hQiLlz=hQiLlz<hQiLlc�P�\sQsQsQ\O
1Q\O
1,sQsP!)�;TestBufferProtocol.test_memoryview_tobytes.<locals>.BEPointi�rYrZr�r�r�r\r<r*r��r�r\r*r�r�)rDr(r(r�r()rrKrvr2rkr&r-rR)rfr�r]rErwr*r5rGs&       r<�test_memoryview_tobytes�*TestBufferProtocol.test_memoryview_tobytes�s���
)��
�Q�q�c�$�
/���r�N��������������b�j�j�l�3�
�a�S���H�
5���r�N��������������b�j�j�l�3�
��r��+��A�a��+�7�8�
L���r�N��������������b�j�j�l�3�
��s��,��A�a��,�K�$�&���r�N��������������b�j�j�l�3��6�
H�&�3�3�
H��C��%�E��5�!�A����Q�Y�Y�[�%��,�7�
��,��
-s�H�;Hc	�B�UO[[-[Q2UO[[Q[
Q2[
,QN],],Q5oUO[[U[
Q2[
]	Q
QQ5oQFD>o[U[U2oUOV12UOUQ
*]	2J@	[
]	Q
Q[Q5oQFD>o[U[U2oUOV12UOUQ
*]	2J@	QFDzo]	UQ
$[U[
U2oUOV12UOUQ
*]	2]
UQ
$UOUQ
*]
2UOUQ
*]
2J|	[
],],Q[Q5oQFDfo[U[U2oUO[UO]2UOV12UOUO2,2Jh	[
[[]22,QNQ[Q5oQFD?o[U[U2oUO[
U2O2,,,2JA	[
],],Q[Q5oQFDSo[U[
U2oUOV12UOUO2UO22JU	[
,QN],Q	[Q5oQFDSo[U[
U2oUOV12UOUO2UO22JU	[
,QN],],[Q
5oQFD�o[U[U2oUOV12UOUO2UO22UO[UO]]2UOU]*]2UOU]*]2J�	UPPP/*oQFD�o[U[U2oUOV12UOUO2UO22UO[UO]]2UOU]*]2UOU]*]2J�	[
[[]22]],[Q5oQFDKo[U[
U2oUO[
U2O2UO22JM	UO[[U[
Q2[U[W2oUO[
U2O2UO22[
[[]22]],[[*Q5oQFDKo[U[
U2oUO[
U2O2UO22JM	UO[[U[
Q2[U[U2oUO[
U2O2UO22[
[[]22]],[[ *Q5oQFDloUO[[U[
U2[U[U2oUO[
U2O2UO22Jn	[
,QN],],Q5o[U[Q2oUO#UO$2P!)r!rgr�r�rnrrprorrr�r�r�r�r�r�)r�rn)r!rnr�)rxrVr�r�r��PyBUF_WRITErrvrr$r#rUr�rkr!r�r�r�r�)rfr]rsrEs&   r<�test_memoryview_get_contiguous�1TestBufferProtocol.test_memoryview_get_contiguous�s���	
���)�^�R��S�I�	
���+�~�t�[�#�N��Y�q�c�A�3�
7�����+�~�r�;��L��Q�b��
-��$�E��r�:�u�5�A����Q�#����Q�r�U�A�&�%��Q�b��K�
@��$�E��r�:�u�5�A����Q�#����Q�r�U�A�&�%�%�E��B�r�F��r�;��6�A����Q�#����Q�r�U�A�&��A�b�E����Q�r�U�B�'����R��V�R�(�%��a�S���C�{�
C��$�E��r�:�u�5�A����j�!�-�-��;����Q�#����Q�X�X�Z��,�	%��T�%��(�^�9�S�&�(��$�E��r�:�u�5�A����W�Q�Z�.�.�0�2�r�(�;�%�
�a�S���C�{�
C��$�E��r�;��6�A����Q�#����Q�X�X�Z�����5�%�
�Y�q�c�#�[�
I��$�E��r�;��6�A����Q�#����Q�X�X�Z�����5�%��Y�q�c�A�3�k�
J��$�E��r�:�u�5�A����Q�#����Q�X�X�Z�����5����i�����2�>����Q�q�T�1�%����R��U�A�&�
%���"��X��$�E��r�:�u�5�A����Q�#����Q�X�X�Z�����5����i�����2�>����Q�q�T�1�%����R��U�A�&�
%��T�%��)�_�Q��F�+�
F���E��r�;��6�A����W�Q�Z�.�.�0�"�)�)�+�>� �	
���+�~�r�;��L��2�z�5�1��������*�*�,�b�i�i�k�:�
�T�%��)�_�Q��F�&�z�1�3���E��r�;��6�A����W�Q�Z�.�.�0�"�)�)�+�>� �	
���+�~�r�;��L��2�z�5�1��������*�*�,�b�i�i�k�:��T�%��)�_�Q��F�+�f�:L�
M��$�E����k�>�2�{�#�
%��r�:�u�5�A����W�Q�Z�.�.�0�"�)�)�+�>�	%��[���a�S�
9���2�z�3�/��������'r\c�f�[OQ2o[OQ,QN2o[U2o[O
U2o[
]U*2oUOU2UOUO2U2[OQ2o[[[]22,QNQQ5o[U2o[O
U2o[
]U*2oUOU2UOUO2U2P!)rrrpr�r�)
r6r�rIrK�io�BytesIOr&�readintorvr2rr�rk)rfr1rGrEr,rr]s&      r<�test_memoryview_serializing�.TestBufferProtocol.test_memoryview_serializings������s�#���K�K��[�)���q�M���j�j��m���a��f������Q���������a�(����s�#��
�T�%��)�_�G�C�
@���r�N���j�j��m���e�D�j�!�����Q���������a�(r\c�v�[[[]222o[U2oUO	[U2[U22UO
Q]],Q5oUO	[U2[U22UPPQ
/*o[[[]22PPQ
/*2oUO	[U2[U22[[[]22,QN[Q5o[U2oUO	[U2[U22[[[]22,QNQ5oUQQPPP/1*o[U2oUO	[U2[U22[[[]22,QN[Q5oUQQPPP/1*o[U2oUO	[U2[U22[[[]22],QQ5o[U2o[[[]22],QQ5o[U2oUO	Vq2UO	[U2[U22[[[]22,QNQ	Q5o[U2oUO[UO2[[[Q]22,QNQ
Q5o[U2oUO[UO2[[[]22,QNQQ5o[U2oUO[UO2[[[Q]22,QNQQ5o[U2oUO[UO2P!)r�rr�r�r�r[rrprrrz= Lz< hr�r�)r(rDr�r�r.)
rRr�rkrKrvr�rjrr�r�rxr��__hash__)	rfrrE�mc�mxr]rYrGrZs	&        r<�test_memoryview_hash�'TestBufferProtocol.test_memoryview_hash:s���
�$�u�R�y�/�"���q�M������a��$�q�'�*��V�V�C��!�u�V�
%������b��4��7�+��t��t�W���$�u�R�y�/�$�B�$�'�(������b��4��7�+��T�%��)�_�G�:�
F���r�N������a��$�r�(�+��T�%��)�_�G�
4���s�B��"��}����q�M������a��$�q�'�*��T�%��)�_�G�6�
B���s�B��"��}����q�M������a��$�q�'�*�
�D��r��O�B�4��<���q�M���D��r��O�B�4��<���q�M�����������a��$�q�'�*��T�%��)�_�G�C�
@���r�N�����*�a�j�j�1�
�T�%��A�,�'�w�s�
C���r�N�����*�a�j�j�1�
�T�%��)�_�G�E�
B���r�N�����*�a�j�j�1�
�T�%��A�,�'�w�u�
E���r�N�����*�a�j�j�1r\c��[,QN2o[U2o[U2oUO[UO
2=UO2[,QN2o[U2o[U[[Q5o[U[[Q5oUOUOU2UO[UO
2==UO2[,QN2o[U2o[U2o[U2oUO2UO[UO
2=UO2[,QN2o[U2o[U2o[U[[Q5o[U[[Q5oUOUOU2UO2UO[UO
2==UO2[,QN],[Q5o[U2oUO,Q
N],Q5[U2o[U2oUOUO2UO22[U2o	UOU	O2UO22UOU	O2UO22UO2U	O2UO2UOUO2UO22=UO2UO2Qo
[Q2o[U29^tt^2oU
U2UOU]*[Q22PPP2[[![#]22,QNQQ5o[U[[Q5o	[U	[[Q5oUOUOU2[U29^tt^2oU
U2UOUQ	*O2,QN,QN,,2PPP2][1FCDo[Q2o[U29^tt^2o=[U[UQ5o	[U	29^tt^2o=	[U[UQ5o[U29^tt^2o
=U
U
2U
U2U
U2UOU]*[Q22UOU]*[Q
22UOU
]*[Q22=
PPP2=PPP2=PPP2[Q2o[U29^tt^2o=[U[UQ5o	[U	29^tt^2o=	[U[UQ5o[U29^tt^2o
=U
U2U
U2U
U
2UOU]*[Q22UOU]*[Q
22UOU
]*[Q22===
PPP2PPP2PPP2CJ	[Q2oUO[29^tt^2[U29^tt^2o[U2oU]*[Q26HPPP2PPP2P!)%fhCK\9h)%fhCK�9h)%fhCK�9h)%fhCK�9h)%fhCK�9h)%fhK�9h)%fhCK9h)%fhCJ#9h)%fhK�9h)%fhP!9h)r��r�rr�r�c�j�[U29^tt^2oPPP2P!)%fhP!9hr�rK)rr�s& r<�catch22�;TestBufferProtocol.test_memoryview_release.<locals>.catch22�s���A���"������s�!�2	�2	r�rirrp:rr�Nrjrkr�)r�rDr�r5r4r�r�)r�r�rD)r&rKrrxr�r�r��ND_REDIRECTrurXr�r�rvrUr��ordr�rk)rfrGrEr]r�r�r�r�rYrZrrorrr{s&              r<�test_memoryview_release�*TestBufferProtocol.test_memoryview_releasevsb��
�g����q�M��
�Q�Z�����+�q�y�y�1��	�	�	���g����q�M���a�
�[�A���c�-�{�C���
�
�c�g�g�q�!����+�q�y�y�1���	�	�	��
�g���
��]��
��^��
�R�[��
�
�
�����+�r�z�z�2��
�
�
���g���
��]��
��^���b��k�B���c�-�{�C���
�
�c�g�g�r�"�
�
�
�����+�r�z�z�2���
�
�
���W�Q�C�|�
<��
��^��
����A�3��'�
��^���r�N���������R�Y�Y�[�1��r�N���������R�Y�Y�[�1��������R�Y�Y�[�1�
�
�
��	�	�	��
�����������R�Y�Y�[�1��
�
�
��	�	�	��
	�
�f���
��]�]�b��B�K����R��U�C��I�.��
�D��r��O�7�3�?���A�m�;�?���A�m�;�?���
�
�a�e�e�Q��
��]�]�a��A�J����Q�s�V�]�]�_�	�9�/E�.F�G��
��%�E��&�!�A��A���"���B�}�E�B����]�]�b����=��F�A�#�A���"������������(�(��A���D�	�:��(�(��A���D�	�:��(�(��A���D�	�:��'��#��!�$�&�!�A��A���"���B�}�E�B����]�]�b����=��F�A�#�A���"������������(�(��A���D�	�:��(�(��A���D�	�:��(�(��A���D�	�:���B�'�#���+&�L
�f���
�
�
�{�
+�
+��A���!��Q�Z���!���D�	�!��,�
+�i�]�]���]�]��'����#�]�]������2'���#�]�]������&���,�
+�
+�s��+\�57\�']	�'\?
�-B\+�.	\?
�7	]	�&'^	�
']:
�4B]'�7]:
�?^	�<^6�!^#	�1^6�\	�\	�\(	� \(	�+\<�4\<�6	\?
�?]�]�
	]	�]$
�]$
�']7�0]7�2]:
�:^�^�	^	�^ 
�^ 
�#^3
�,^3
�.^6�6_	�?_	c	��[[]2Tt,tFDoQU*MJ	to],QQ5o[OQ[]2Tt,tFDoQU*MJ	to2oV#1FCDDo[U[[Q5o[U[[Q5o[U2oUO
UOU2UO
UOU2UO
UOU2UOVa2UOVd2UOVe2UOUQ*UQ*2UOUQ*UQ*2UOUQ*UQ*2==UOUQ*UQ*2CJG	P!ttohttoh)r�rGrrprrr)	rrkrIr�r
rKrurXrv)rfrYr]rGrZrorEs&      r<�test_memoryview_redirect�+TestBufferProtocol.test_memoryview_redirect�sR��
�u�R�y�1�y�!�c�A�g�g�y�1�"��c�
J���K�K��u�R�y�9�y�!�c�A�g�g�y�9�:����A���-�{�C�A���-�{�C�A��1�
�A��M�M�!�%�%��#��M�M�!�%�%��#��M�M�!�%�%��#����Q�"����Q�"����Q�"����Q�s�V�Q�s�V�,����Q�s�V�Q�s�V�,����Q�s�V�Q�s�V�,��1����Q�s�V�Q�s�V�,�#��2��9s�F9�F>
c�8�Qo,QNoUO[[]]]2[2o[U2oUO	VC]UP	]],],UQ5	[]2FDoUO
VE*U2J	==[2o[U2o==[2o[U[Q5o[U[Q5o[U2oUOUOU2UOUOU2UO	Vv]UP	]],],UQ5	====[2o[U[[Q5o[U[[Q5o[U2oUOUOU2UOUOU2UOUOU2UO	Vs]UP	]],],UQ5	====[P	Q5o[U2oUO	UP]UP	]],],UQ5	[]2FDoUO
VE*U2J	==[P	Q5o[U2o==[P	Q5o[U[Q5o[U[Q5o[U2oUOUOP2UOUOU2UO	Vv]UP	]],],UQ5	====[P	Q5o[U[[Q5o[U[[Q5o[U2oUOUOP2UOUOU2UOUOU2UO	Vt]UP	]],],UQ5	====P!)rrr�r)�legacy_mode)rr�r(r�r�rDr�r5r4r�r�r�)rxrV�staticarrayrKr�rkrvrr�rurXr
)rfr9rlrYrZrrorEs&       r<�$test_memoryview_from_static_exporter�7TestBufferProtocol.test_memoryview_from_static_exportersL����)��	
���)�[�!�Q��:�
�M���q�M�����A��C�$��2�$����	�	��r��A����Q�T�1�%��
�
��M���q�M��
�
��M���A�m�,���A�m�,���q�M���
�
�a�e�e�Q���
�
�a�e�e�Q�����A��C�$��2�$����	�	�
�q�!�Q��M���A�m�;�?���A�m�;�?���q�M���
�
�a�e�e�Q���
�
�a�e�e�Q���
�
�a�e�e�Q�����A��C�$��2�$����	�	�
�q�!�Q�
�D�)���q�M�����A�4��C�$��2�$����	�	��r��A����Q�T�1�%��
�
��D�)���q�M��
�
��D�)���A�m�,���A�m�,���q�M���
�
�a�e�e�T�"��
�
�a�e�e�Q�����A��C�$��2�$����	�	�
�q�!�Q��D�)���A�m�;�?���A�m�;�?���q�M��	
�
�
�a�e�e�T�"��
�
�a�e�e�Q���
�
�a�e�e�Q�����A��C�$��2�$����	�	�
�q�!�Qr\c�~�[,QN],[[*Q5oUO[[
U2P!)r�r�r�)rr��ND_GETBUF_UNDEFINEDrxr�rKr�s& r<�#test_memoryview_getbuffer_undefined�6TestBufferProtocol.test_memoryview_getbuffer_undefinedls,���W�q�c��8K�)K�
L�����+�z�2�6r\c�h�[,QN],[Q5oUO[[U2P!)r�r�r�)rr�rxr�rK)rfrYs& r<�test_issue_7385�"TestBufferProtocol.test_issue_7385rs$���G�A�3�n�=�����+�z�1�5r\c��[Q2oUO[29^tt^2UO[O
O2PPP2UO[29^tt^2UO[O
O2PPP2P!)%fhKa9h)%fhP!9h�r�)r&rx�SystemError�
__buffer__�inspect�BufferFlags�READ�WRITE)rfrXs& r<�'test_bytearray_release_buffer_read_flag�:TestBufferProtocol.test_bytearray_release_buffer_read_flagvs~������
�
�
�{�
+�
+��N�N�7�.�.�3�3�4�,�
�
�
�{�
+�
+��N�N�7�.�.�4�4�5�,�
+�,�
+��
+�
+�
+�s#�*B-�9*C�-B=	�6B=	�C	�	C	�requires _testcapic�Z�[OQ2o[2[]2[Q2[]2,oSTt,tFDo[OU2MJ	ooSOSTt,tFDpUU*MJ
	to],[
U2*2P!ttohttoh)rs0123456789abcdef)r6r�r&�	_testcapi�buffer_pointer_as_intrvr`)rf�align�casesrI�ptrs�ptrs&     r<�test_bytearray_alignment�+TestBufferProtocol.test_bytearray_alignment~s���
����$���K��a�L��)�*��b�M�	
��EJ�J�E�5�	�/�/��6�E��J�����6��#��+�+��6���C��I�
�F��K��6s�!B#�5B(c	��[Tt,tFD6o[OU2[OQ26:fJ4UMJ8	oo[QU22oSTt,tFDo[OU2MJ	ooSOSTt,tFD o[OU2U*MJ"	to],[U2*2SFDoUO]2J	SOSTt,tFD o[OU2U*MJ"	to],[U2*2P!ttohttohttohttoh)rc3�Z�SF �Do[OU2w�	J	P!3hr)r6r�)r�r9s& r<r��:TestBufferProtocol.test_array_alignment.<locals>.<genexpr>�s��G���G�S�F�O�O�C�(�(�G�s�$+)
�ARRAYr6r��maxrIrvr)r*r`re)rfr9�formatsr+r,�cases&     r<�test_array_alignment�'TestBufferProtocol.test_array_alignment�s��
#(�D�%�3��o�o�c�*�f�o�o�c�.B�B��3�%��D��<�G�<�<��-4�5�W�c����S�!�W��5����GL�M�u�t�Y�
,�
,�T�
2�U�
:�
:�u�M�
�C�#�e�*��	
��D��K�K��N��	
���GL�M�u�t�Y�
,�
,�T�
2�U�
:�
:�u�M�
�C�#�e�*��	
��D��6��
N��
Ns�3D;�D;�!E�(E�8(E
c��QFD=oUO[OU2[OU22J?	P!)r,)r,�ii�3s)rvr)�PyBuffer_SizeFromFormatr6r�)rfrs& r<�test_pybuffer_size_from_format�1TestBufferProtocol.test_pybuffer_size_from_format�s5��'�F����Y�>�>�v�F�#�_�_�V�4�
6�'r\c�~�]QHGoGoQoU]*
U]*1FD]oUO	UQ59^tt^2UO[29^tt^2UOU2PPP2PPP2J_	P![cQoQoK�h9h)%fhK39h)%fhJ�9h)r)�INT_MIN�INT_MAXr�r�r�r�)r)rArB�ImportError�subTestrxr�r )rfrArBrXrs&    r<�test_flags_overflow�&TestBufferProtocol.test_flags_overflow�s���	"�2�
����k�7�Q�;�/�E����E��*�*��&�&�}�5�5��N�N�5�)�6�+�*�0���	"� �G�!�G�	"��6�5��+�*�*�sF�B�B+	�B
�-B+	�	B�
B�B�B(�!B(�#B+	�+B<
�4B<
)rd�F)dr�r�r�r�rgr�r�r�requires_resourcer�rrr	rrrrr%r(r+r1r5r;r@rIrMrUrXrbrfrprur�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rr!r6r?rDrK�
contextlib�contextmanagerrRrdrorsr�r�r�ignore_warnings�DeprecationWarningr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrrrrr%�cpython_only�unittest�skipIfr)r/r8r>rEr�r�r�s@r<r`r` s�����1�J�"'�J�.3�J�X.,�`
���u�%�g<�&�g<�R\=�|� $�
'�3�*=�+)�Z%L�N6�4E�..�`,1�\H�>-�&W7�r<�(D�@!@�F4/�l>�B'0�R3�8<E�|(�I�&;�/�
$�>�2�
0�#7�Jn8�`sQ�j-�$�'�'�L�?�62�p5�q@�f:.�x
���u�%�R0�&�R0�h9�<.�A����I��I�3A�jkI�Z6&�p<?�|-=�^�$�$�.@�A�"�B�"�=!�~F+�P�4�4(�8<�|F�P_"�B"�4�6�B&�:(!�T!8�Fs(�j)�<:2�x~"�@-�0\�|7�6�6�
���
�_�_�Y�$�&�(<�=�G�>��G�
���
�_�_�Y�$�&�(<�=�
�>��
�(
���6��6�
���*��*r\r`c�T`�\sQsQsnQsQsQsQsQsQs	\
O\PIQ2Q	2s
\
O\PIQ2Q
2s\
O\PIQ2Q2s\
O\PIQ2Q2sQ
sQsQsQsQsQsQsQsQsQsUsP!)�TestPythonBufferProtocoli�c��QQ2o[U22oUOUO2Q2UO[U22Q2P!)c�(`�\sQsQsnQsQsUsP!)�5TestPythonBufferProtocol.test_basic.<locals>.MyBufferi�c��[Q2!�r�r�rfrs&&r<r �@TestPythonBufferProtocol.test_basic.<locals>.MyBuffer.__buffer__��
��!�(�+�+r\r��r�r�r�r�r r�r�r�s@r<�MyBufferrT������
,�
,r\r[r�)rKrvr2rR)rfr[rs&  r<�
test_basic�#TestPythonBufferProtocol.test_basic�sG��	,�	,���
�
#���������x�0�����x�z�*�H�5r\c��QQ2oUO[[U22QQ2oUO[[U22QQ2oUO[[U22P!)c�(`�\sQsQsnQsQsUsP!)�ETestPythonBufferProtocol.test_bad_buffer_method.<locals>.MustReturnMVi�c��]*!)�*r�rWs&&r<r �PTestPythonBufferProtocol.test_bad_buffer_method.<locals>.MustReturnMV.__buffer__�s��r\r�rZr�s@r<�MustReturnMVra�s����
�
r\rec�(`�\sQsQsnQsQsUsP!)�FTestPythonBufferProtocol.test_bad_buffer_method.<locals>.NoBytesEitheri�c��Q!rVr�rWs&&r<r �QTestPythonBufferProtocol.test_bad_buffer_method.<locals>.NoBytesEither.__buffer__�s��r\r�rZr�s@r<�
NoBytesEitherrg�s����
 �
 r\rjc�(`�\sQsQsnQsQsUsP!)�CTestPythonBufferProtocol.test_bad_buffer_method.<locals>.WrongArityi�c��[Q2!rVrres&r<r �NTestPythonBufferProtocol.test_bad_buffer_method.<locals>.WrongArity.__buffer__�rYr\r�rZr�s@r<�
WrongArityrl�r\r\ro)rxrVrK)rfrerjros&   r<�test_bad_buffer_method�/TestPythonBufferProtocol.test_bad_buffer_method�sb��	�	�	
���)�Z���@�	 �	 �	
���)�Z���A�	,�	,�	
���)�Z���>r\c�j�QQ2oU2oUOUO2[U29^tt^2oUOUO2UO	UO2Q2PPP2UOUO2P!)%fhK-9h)c�4`�\sQsQsnQsQsQsQsUsP!)�CTestPythonBufferProtocol.test_release_buffer.<locals>.WhatToReleasei�c�6�P
Um[Q2UmP!�Fr�)�heldr&�bares&r<r��LTestPythonBufferProtocol.test_release_buffer.<locals>.WhatToRelease.__init__�s��!��	�#�H�-��r\c�v�UO%c[Q2gP	Um[UO2!�zalready held)rwrVrKrxrWs&&r<r �NTestPythonBufferProtocol.test_release_buffer.<locals>.WhatToRelease.__buffer__�s,���9�9�9�#�N�3�3� ��	�!�$�'�'�*�*r\c��P
UmP!rG�rw�rfr$s&&r<�__release_buffer__�VTestPythonBufferProtocol.test_release_buffer.<locals>.WhatToRelease.__release_buffer__�s	��!��	r\)rxrw�	r�r�r�r�r�r r�r�r�r�s@r<�
WhatToReleasert�s����
.�
+�
"�
"r\r�r��rsrwrKr�rvr2�rfr��wrrs&   r<�test_release_buffer�,TestPythonBufferProtocol.test_release_buffer�sy��	"�	"��_��������!�
��^�^�r��O�O�B�G�G�$����R�Z�Z�\�8�4��	
������!��^���<B"�"B2	�+B2	c�j�QQ2oU2oUOUO2[U29^tt^2oUOUO2UO	UO2Q2PPP2UOUO2P!)%fhK-9h)c�4`�\sQsQsnQsQsQsQsUsP!)�ITestPythonBufferProtocol.test_same_buffer_returned.<locals>.WhatToReleasei�c�D�P
Um[Q2UmPUmP!rv)rwr&rx�
created_mvres&r<r��RTestPythonBufferProtocol.test_same_buffer_returned.<locals>.WhatToRelease.__init__�s��!��	�#�H�-���"&��r\c��UO%c[Q2gP	Um[UO2UmUO!r{)rwrVrKrxr�rWs&&r<r �TTestPythonBufferProtocol.test_same_buffer_returned.<locals>.WhatToRelease.__buffer__�s7���9�9�9�#�N�3�3� ��	�",�T�W�W�"5������&r\c��P
UmP!rGr~rs&&r<r��\TestPythonBufferProtocol.test_same_buffer_returned.<locals>.WhatToRelease.__release_buffer__�s	��!��	r\)rxr�rwr�r�s@r<r�r��s����
'�

'�
"�
"r\r�r�r�r�s&   r<�test_same_buffer_returned�2TestPythonBufferProtocol.test_same_buffer_returned�sy��	"�	"�"�_��������!�
��^�^�r��O�O�B�G�G�$����R�Z�Z�\�8�4��	
������!��^�r�c	�,�QQ2oUQP	2oUQP
2o[OU[OO29^tt^2oUOUO
2Q2[Q2U]$UOUO
2Q2PPP2[OU[OO29^tt^2oUOUO
2Q2UO[29^tt^2[Q2U]$PPP2UOUO
2Q2PPP2[OU[OO29^tt^2oUOUO
2Q2UO[29^tt^2[Q2U]$PPP2UOUO
2Q2PPP2UO[29^tt^2[OU[OO2PPP2[U29^tt^2oUOUO
2Q2UO[29^tt^2[Q2U]$PPP2UOUO
2Q2PPP2P!)%fhCK]9h)%fhCK�9h)%fhCK�9h)%fhCK[9h)%fhCKG9h)%fhCK9h)%fhK�9h)%fhP!9h)c�:`�\sQsQsnU1QkQksQsQsUsP!)�CTestPythonBufferProtocol.test_buffer_flags.<locals>.PossiblyMutableic� :�U]6�cPgQP-!)r(�returnr�)rr�s"�r<�__annotate__�YTestPythonBufferProtocol.test_buffer_flags.<locals>.PossiblyMutable.__init__.__annotate__s���
(�
(��
(r\c�4�[U2UmV mP!r)r&�_data�_mutable)rf�data�mutables&&&r<r��LTestPythonBufferProtocol.test_buffer_flags.<locals>.PossiblyMutable.__init__s��&�t�_��
� '�
r\c���U[OO*%c3UO%f[	Q2g[UO2![[UO22!)znot mutable)r!r"�WRITABLEr�rrKr�rRrWs&&r<r �NTestPythonBufferProtocol.test_buffer_flags.<locals>.PossiblyMutable.__buffer__sP���7�.�.�7�7�7�7��=�=�=�*�=�9�9�%�d�j�j�1�1�%�e�D�J�J�&7�8�8r\)r�r�)r�r�r�r�r�r r�r�r�s@r<�PossiblyMutabler�s����
(�
(�
9�
9r\r�r�rgsxello�h)rK�_from_flagsr!r"r�rvr2r�SIMPLErxrVr)rfr�r��	immutablers&    r<�test_buffer_flags�*TestPythonBufferProtocol.test_buffer_flagssn��	9�	9�"�(�D�1��#�H�e�4�	�
�
#�
#�G�W�-@�-@�-I�-I�
J�
J�b����R�Z�Z�\�8�4���I�B�q�E����R�Z�Z�\�8�4�K��
#�
#�G�W�-@�-@�-G�-G�
H�
H�B����R�Z�Z�\�8�4��"�"�9�-�-��D�	��1��.����R�Z�Z�\�8�4�	I�
�
#�
#�I�w�/B�/B�/I�/I�
J�
J�b����R�Z�Z�\�8�4��"�"�9�-�-��D�	��1��.����R�Z�Z�\�8�4�	K��
�
�|�
,�
,��"�"�9�g�.A�.A�.J�.J�K�-�
�	�
"�
"�b����R�Z�Z�\�8�4��"�"�9�-�-��D�	��1��.����R�Z�Z�\�8�4�	#�
"�#K�
J�
J��.�-�-��I�
H�
H��.�-�-��K�
J�
J��-�
,�
,��.�-��#�
"�
"�s��AK7�!>L�L	�.(L�>M�L3	�!(M�./M�8>N�6M/	�(N�7L	�L	�L
�L
�	L�L0	�(L0	�3M
�<M
�>	M�M	�M	�M,	�$M,	�/M?
�8M?
�:N�N	�N	c�b�[Q2oUO]2oUOUO2Q2UO	U2UO[29^tt^2UO[O]*2PPP2P!)%fhP!9hrV)	r&r rvr2r�rxr�rZr)rfrxrs&  r<�test_call_builtins�+TestPythonBufferProtocol.test_call_builtins-sr��
�x�
 ��
�]�]�1�
���������x�0�
���b�!�
�
�
�}�
-�
-��M�M�#�+�+��/�*�.�
-�
-�
-�s�,'B�B.	�&B.	r'c���[O2oUOUO]2UO	]2oUOU[2UOUO2Q2UOUO]2UOU2UOUO]2UO[29^tt^2UO2PPP2UO[29^tt^2UOU2PPP2UOUO]2P!)%fhKe9h)%fhKA9h)rstest)r)�testBufrv�
referencesr �assertIsInstancerKr2r�rxr�)rfr,rs&  r<�
test_c_buffer�&TestPythonBufferProtocol.test_c_buffer5s������!���������+�
�^�^�A�
�����b�*�-��������w�/��������+����r�"��������+�
�
�
�z�
*�
*��J�J�L�+��
�
�z�
*�
*��"�"�2�&�+��������+�+�
*��+�
*�s$� E�E!�E	�E	�!E1	�*E1	c���[O2oUO[UO[
2UO[UO[2P!r)r)r�rxrr r�r�)rfr,s& r<�test_c_buffer_invalid_flags�4TestPythonBufferProtocol.test_c_buffer_invalid_flagsFs<�����!�����+�s�~�~�z�B����+�s�~�~�{�Cr\c��QoUO[[OU][2UO[[OU][
2P!r)rxrr)�buffer_fill_infor�r�)rf�sources& r<� test_c_fill_buffer_invalid_flags�9TestPythonBufferProtocol.test_c_fill_buffer_invalid_flagsLsG�������+�y�'A�'A� �!�Z�	1����+�y�'A�'A� �!�[�	2r\c�:�Qo[OU][29^tt^2oUO[	U2Q2UOUO2PPP2[OU][29^tt^2oUO[	U2Q2UOUO2PPP2UO[[OU][2P!)%fhK�9h)%fhKP9hr)r)r�r�rvrRr�rwr�rsrxr�)rfr�rEs&  r<�(test_c_fill_buffer_readonly_and_writable�ATestPythonBufferProtocol.test_c_fill_buffer_readonly_and_writableUs�����
�
'�
'���<�
@�
@�A����U�1�X�v�.��O�O�A�J�J�'�A��
'�
'���>�
B�
B�a����U�1�X�v�.����Q�Z�Z�(�C�	
���+�y�'A�'A� �!�^�	5�
A�
@��C�
B�s#�7C7�7D
�7D	�D	�
D	�D	c��QQ[2oUQ2o[U2oUOUO2Q2P!)c�4``�\sQsQsnU1QksQsUsU9s!)�4TestPythonBufferProtocol.test_inheritance.<locals>.Aibc�$:�[RU_U2!r��superr �rfrrQs&&�r<r �?TestPythonBufferProtocol.test_inheritance.<locals>.A.__buffer__c�����w�)�%�0�0r\r��r�r�r�r�r r�r��
__classcell__�rQr�s@@r<rnr�b�����
1�
1r\rnr��r&rKrvr2)rfrnrGrs&   r<�test_inheritance�)TestPythonBufferProtocol.test_inheritanceas8��	1�	�	1�
�h�K��
��]���������x�0r\c�(`�]nU1QkQ[2oUQ2o[U29^tt^2oUOUO2Q2UOR]2PPP2UOR]2P!)%fhK$9h)rc�D:``�\sQsQsnU1QksUU1QksQsUsU9s!)�BTestPythonBufferProtocol.test_inheritance_releasebuffer.<locals>.Bilc�$:�[RU_U2!rr�r�s&&�r<r �MTestPythonBufferProtocol.test_inheritance_releasebuffer.<locals>.B.__buffer__mr�r\c�::�R]*
n[RU_U2P!r��r�r�)rf�viewrQ�
rb_call_counts&&��r<r��UTestPythonBufferProtocol.test_inheritance_releasebuffer.<locals>.B.__release_buffer__os�����"�
���*�4�0r\r��	r�r�r�r�r r�r�r�r�)rQr�r�s@@�r<rr�ls����
1�
1�
1r\rr�r�)rfrrrr�s&   @r<�test_inheritance_releasebuffer�7TestPythonBufferProtocol.test_inheritance_releasebufferjso����
�	1�	�	1�
�h�K��
��]�]�b����R�Z�Z�\�8�4����]�A�.��	
�����*��]�s�3B�B	�
B	c� ``�QQ[2oUQ2o[U29^tt^2oUOUO2Q2PPP2]nP
nUU1QkQ[2oUQ2o[U29^tt^2oUOUO2Q2UOR]2PPP2UOR]2UO	RP	2P!)%fhK�9h)%fhKI9h)c�(`�\sQsQsnQsQsUsP!)�JTestPythonBufferProtocol.test_inherit_but_return_something_else.<locals>.Ai{c��[Q2!rVrrWs&&r<r �UTestPythonBufferProtocol.test_inherit_but_return_something_else.<locals>.A.__buffer__|rYr\r�rZr�s@r<rnr�{r\r\rnr�c�@:``�\sQsQsnQsUUU1QksQsUsU9s!)�JTestPythonBufferProtocol.test_inherit_but_return_something_else.<locals>.Bi�c��[Q2!rVrrWs&&r<r �UTestPythonBufferProtocol.test_inherit_but_return_something_else.<locals>.B.__buffer__�rYr\c�d:�R]*
n[RU_U2P![cP	nP!h9hr�)r�r�r�)rfr�rQr��	rb_raiseds&&���r<r��]TestPythonBufferProtocol.test_inherit_but_return_something_else.<locals>.B.__release_buffer__�s3�����"�
�%��G�.�t�4��!�%� $�I�%�s��	/�/�/r�r�)rQr�r�r�s@@��r<rr��s����
,�
%�
%r\r)r&rKrvr2ru)rfrnrGrrrr�r�s&     @@r<�&test_inherit_but_return_something_else�?TestPythonBufferProtocol.test_inherit_but_return_something_elsezs����	,�	�	,�
�h�K��
��]�]�b����R�Z�Z�\�8�4���
��	�
	%�
	%�	�
	%�
�h�K��
��]�]�b����R�Z�Z�\�8�4����]�A�.��	
�����*��
�
�i��&�-�]��$�]�s#�!C*�	3C=�*C:	�3C:	�=D
	�D
	c���QQ[2oUQ2o[U29^tt^2oUOUO2Q2PPP2P!)%fhP!9h)c�4``�\sQsQsnU1QksQsUsU9s!)�>TestPythonBufferProtocol.test_override_only_release.<locals>.Ci�c�(:�[RU_U2P!rr�)rfr$rQs&&�r<r��QTestPythonBufferProtocol.test_override_only_release.<locals>.C.__release_buffer__�s�����*�6�2r\r��r�r�r�r�r�r�r�r�r�s@@r<r�r��s����
3�
3r\r�r�r�)rfr�rrs&   r<�test_override_only_release�3TestPythonBufferProtocol.test_override_only_release�sF��	3�	�	3�
�h�K��
��]�]�b����R�Z�Z�\�8�4��]�]�]�s�!A�A(	� A(	c�``�PnUU1QkQ[2oUQ2o[U29^tt^2oROUO2Q2PPP2UO	2RO[29^tt^2RO2PPP2P!)%fhKX9h)%fhP!9h)Nc�F:``�\sQsQsnU1QkUUU1QkksQsUsU9s!)�@TestPythonBufferProtocol.test_release_saves_reference.<locals>.Ci�c�":�U]6�cPgQRZ-!)r(r$r)rr�s"�r<r��`TestPythonBufferProtocol.test_release_saves_reference.<locals>.C.__release_buffer__.__annotate__�s���
3�
3�j�
3r\c�4:�RO[29^tt^2[U2PPP2RO[29^tt^2UOQ2PPP2RO[29^tt^2UO	2PPP2RO[29^tt^2UQ*PPP2RO[29^tt^2UO]2PPP2UnRO
UO2Q2[RU_%U2P!)%fhCK9h)%fhK�9h)%fhK�9h)%fhK�9h)%fhK�9h)Nr:Nr�Nr�)
rxr�rKrjr�r rvr2r�r�)r�r$rQrf�smuggled_buffers&&���r<r��STestPythonBufferProtocol.test_release_saves_reference.<locals>.C.__release_buffer__�s�����&�&�z�2�2��v�&�3��&�&�z�2�2��K�K��$�3��&�&�z�2�2��%�%�'�3��&�&�z�2�2��2�J�3��&�&�z�2�2��%�%�a�(�3�#)��� � ����!1�8�<���*�6�2�3�2�2��2�2��2�2��2�2��2�2�sY�D:�E�E!�>
E4�-F�:E	�E	�E	�E	�!E1	�*E1	�4F	�=F	�F	�F	r�r�)rQr�rfr�s@@��r<r�r��s����
3�
3�
3r\r�r�)r&rKrvr2�clearrxr�)rfr�rrr�sf   @r<�test_release_saves_reference�5TestPythonBufferProtocol.test_release_saves_reference�s������	3�	3�	�	3�"
�h�K��
��]�]�b����R�Z�Z�\�8�4��	���	�
�
�
�z�
*�
*��#�#�%�+�
*��]��+�
*�
*�s#�!B%�
B8�%B5	�.B5	�8C		�C		c� `�[Q2nU1QkQ2oU2o[U29^tt^2oUOUO2Q2PPP2UOUOO2Q2UO[29^tt^2RO2PPP2UOO2RO2P!)%fhK�9h)%fhKO9h)r�c�6:`�\sQsQsnU1QksQsQsUsP!)�OTestPythonBufferProtocol.test_release_saves_reference_no_subclassing.<locals>.Ci�c�:�[R2!rr)rfrrxs&&�r<r �ZTestPythonBufferProtocol.test_release_saves_reference_no_subclassing.<locals>.C.__buffer__�s
���!�"�~�%r\c��VmP!r�r$rs&&r<r��bTestPythonBufferProtocol.test_release_saves_reference_no_subclassing.<locals>.C.__release_buffer__����$�r\r�r�r�r�r�r r�r�r�)r�rxs@�r<r�r�s����
&�
%�
%r\r�)	r&rKrvr2r$rxr�r�r�)rfr�rrrxs&   @r<�+test_release_saves_reference_no_subclassing�DTestPythonBufferProtocol.test_release_saves_reference_no_subclassing�s����
�x�
 ��	%�	%�
�C��
��]�]�b����R�Z�Z�\�8�4��������)�)�+�X�6�
�
�
�{�
+�
+��H�H�J�,�	������
���
��]��,�
+�s#�!C*�%C=�*C:	�3C:	�=D
	�D
	c��QQ2oQQU[2oUQ2o[U29^tt^2oUOUO2Q2PPP2QQ2oQQ	U[2oUQ
2o[U29^tt^2oUOUO2Q
2PPP2UO	2UO[29^tt^2UOO2PPP2P!)%fhK�9h)%fhKu9h)%fhP!9h)c�(`�\sQsQsnQsQsUsP!)�ITestPythonBufferProtocol.test_multiple_inheritance_buffer_last.<locals>.Ai�c��[Q2!)�hello ArrWs&&r<r �TTestPythonBufferProtocol.test_multiple_inheritance_buffer_last.<locals>.A.__buffer__�s
��!�*�-�-r\r�rZr�s@r<rnr
�s����
.�
.r\rnc�4``�\sQsQsnU1QksQsUsU9s!)�ITestPythonBufferProtocol.test_multiple_inheritance_buffer_last.<locals>.Bi�c�$:�[RU_U2!rr�r�s&&�r<r �TTestPythonBufferProtocol.test_multiple_inheritance_buffer_last.<locals>.B.__buffer__�r�r\r�r�r�s@@r<rr�r�r\rr�rc�(`�\sQsQsnQsQsUsP!)�PTestPythonBufferProtocol.test_multiple_inheritance_buffer_last.<locals>.Releaseri�c��VmP!rrrs&&r<r��cTestPythonBufferProtocol.test_multiple_inheritance_buffer_last.<locals>.Releaser.__release_buffer__�rr\r)r�r�r�r�r�r�r�r�s@r<�Releaserr�s����
%�
%r\rc�4``�\sQsQsnU1QksQsUsU9s!)�ITestPythonBufferProtocol.test_multiple_inheritance_buffer_last.<locals>.Ci�c�$:�[RU_U2!rr�r�s&&�r<r �TTestPythonBufferProtocol.test_multiple_inheritance_buffer_last.<locals>.C.__buffer__�r�r\r�r�r�s@@r<r�r�r�r\r�shello C)r&rKrvr2r�rxr�r$�rfrnrrrrr�rs&       r<�%test_multiple_inheritance_buffer_last�>TestPythonBufferProtocol.test_multiple_inheritance_buffer_last�s���	.�	.�	1��9�	1�
�h�K��
��]�]�b����R�Z�Z�\�:�6��	%�	%�	1��)�	1�
�j�M��
��]�]�b����R�Z�Z�\�:�6��	���	�
�
�
�z�
*�
*�
�H�H����+�
*��]���]��+�
*�
*�s5�!D�!D#�+D6�D 	�D 	�#D3	�,D3	�6E	�?E	c�$�QQ2oQQ[U2oUQ2o[U29^tt^2oUOUO2Q2PPP2QQ2oQQ[U2oUQ2o[U29^tt^2oUOUO2Q2PPP2UO	2UOUOP2P!)%fhK�9h)%fhKQ9h)	c�.`�\sQsQsnQsQsQsUsP!)�QTestPythonBufferProtocol.test_multiple_inheritance_buffer_last_raising.<locals>.Ai�c��[Q2g�zshould not be called�rrWs&&r<r �\TestPythonBufferProtocol.test_multiple_inheritance_buffer_last_raising.<locals>.A.__buffer__����"�#9�:�:r\c��[Q2gr%r&rs&&r<r��dTestPythonBufferProtocol.test_multiple_inheritance_buffer_last_raising.<locals>.A.__release_buffer__�r(r\r�rr�s@r<rnr#�s����
;�
;�
;r\rnc�4``�\sQsQsnU1QksQsUsU9s!)�QTestPythonBufferProtocol.test_multiple_inheritance_buffer_last_raising.<locals>.Bi�c�$:�[RU_U2!rr�r�s&&�r<r �\TestPythonBufferProtocol.test_multiple_inheritance_buffer_last_raising.<locals>.B.__buffer__�r�r\r�r�r�s@@r<rr,�r�r\rr�c�,`�\sQsQsnPsQsQsUsP!)�XTestPythonBufferProtocol.test_multiple_inheritance_buffer_last_raising.<locals>.Releaseri�c��VmP!rrrs&&r<r��kTestPythonBufferProtocol.test_multiple_inheritance_buffer_last_raising.<locals>.Releaser.__release_buffer__�rr\r)r�r�r�r�r$r�r�r�r�s@r<rr0�s�����F�
%�
%r\rc�4``�\sQsQsnU1QksQsUsU9s!)�QTestPythonBufferProtocol.test_multiple_inheritance_buffer_last_raising.<locals>.Cic�$:�[RU_U2!rr�r�s&&�r<r �\TestPythonBufferProtocol.test_multiple_inheritance_buffer_last_raising.<locals>.C.__buffer__r�r\r�r�r�s@@r<r�r4r�r\r�)r&rKrvr2r�rur$rs&       r<�-test_multiple_inheritance_buffer_last_raising�FTestPythonBufferProtocol.test_multiple_inheritance_buffer_last_raising�s���	;�	;�	1�	�1�	1�
�h�K��
��]�]�b����R�Z�Z�\�8�4��	%�	%�
	1�	�8�	1�
�h�K��
��]�]�b����R�Z�Z�\�8�4��	���	��
�
�a�h�h��%�!�]���]�s#�!C,�!C?�,C<	�5C<	�?D	�D	c	�0�QQ2o[]2o[U29^tt^2UO[29^tt^2UO	U22PPP2PPP2P!)%fhK9h)%fhP!9h)c�.`�\sQsQsnQsQsQsUsP!)�JTestPythonBufferProtocol.test_release_buffer_with_exception_set.<locals>.Aic�,�[[]22!)r4)rKrRrWs&&r<r �UTestPythonBufferProtocol.test_release_buffer_with_exception_set.<locals>.A.__buffer__
s��!�%��(�+�+r\c��P!rr�)rfr�s&&r<r��]TestPythonBufferProtocol.test_release_buffer_with_exception_set.<locals>.A.__release_buffer__s��r\r�rr�s@r<rnr;s����
,�
�
r\rn)r&rKrxr�r�)rfrnrs&  r<�&test_release_buffer_with_exception_set�?TestPythonBufferProtocol.test_release_buffer_with_exception_sets[��	�	�
�a�L��
��]�]��"�"�;�/�/������
�0��]�/�/���]�]�s/�B�A1	�B�1B
�:B
�<B�B	�
B	r�)r�r�r�r�r]rpr�r�r�r�rNrOr)r�r�r�r�r�r�r�r�r�r	rr7r@r�r�r�s@r<rQrQ�s�����6�?�&"�,"�2%5�N+��_�_�Y�$�&�(<�=�,�>�,� �_�_�Y�$�&�(<�=�D�>�D�
�_�_�Y�$�&�(<�=�2�>�2��_�_�Y�$�&�(<�=�	5�>�	5�1�+� '�<5�&�6�(�8&�>�r\rQ�__main__r�r'r%)i����r,)i���r�)ri)r�r�)rlr*r`r))r,r>r?r@rArB)r,r��2r�)rNN)rDr2r�)rDr2rjrrGrC)orIrN�testr�test.supportrr!�	itertoolsrr�randomrrr�warningsrZrIr��os�decimalr	�	fractionsr
r�_testbufferrCrr6r&�EnvironmentVarGuard�environ�catch_warningsrJr+r)�
SHORT_TEST�NATIVEr7r8�STANDARDr=rQr9�copyr�r4r:r��BYTEFMTrqrsrpr[rarhrmr{r}r�r�r�r�rr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrrrr r)r-r7r9r;r=rAr�rMrQr^rerjrk�
skipUnless�TestCaser`rQr��main)rs0r<�<module>rXsB�� ���"��+�,�,������(��������	�	&�	&�	(�	(�B�J�	�	 �	 �	"�	"�0�
#�
)���
�
�
���
��q�
��a�
��Q�
���
��q�
��a�
��Q�
���
��q�
��a�
��Q�
���	
��q�	
��a�	
��Q�	
�
	��
�

��
����s���s��	�
����C��!���s����s��
�����y������y������z����	��z�	�
���
�z����
��z�
�����0���1�d�7��Q��W���	�	��	�A�t�G�*�a��g�	����6�v�����������
��
��s�|�|��-�c�2����S����[�[�]�
�	���
��	�A���]�#�t�T�l�2�2��!�H�
��+�+�-��	�A���:��A�J�
��������
������������
�	�����.�0C�D�	�#����5�	�"����5��$�����5��$�����5���
�*�-����0�(�2�/�&�c�l�D�l��.��2C�1�1�l�D��%�!�
�
����
�
�
�
�0��C�I��,
�2�<?�4�

��=:�~
�
*�):�V9�;�	�#��#���
	3� @�B	8� C��
0�%�
	3�!�
�&�
�	
��
��
��J�
�F��H��I�!�N��L�
���V�D�E�	���W�E�F�U:*��*�*�U:*�G�F�U:*�pt\�x�0�0�\�~
�z���M�M�O���uW���G���
��
�F���
��
�F���

#�	"�	"��
)�	(�	(�����K���
���I���>�<�<�
��
��rEs��O�O�O'�#P�<P�O7	�"P�*P�3P/�	P?�Q�*Q�O�
O�O�O$�O$�#O$�'O4�-O4�3O4�7P
�P
�	P�P	�P	�P�P�P,�%P,�+P,�/P<�5P<�;P<�?Q�Q�Q

Youez - 2016 - github.com/yon3zu
LinuXploit