HEX
Server: Apache
System: Linux bd12.noc223.com 4.18.0-553.121.1.lve.el8.x86_64 #1 SMP Thu Apr 30 16:40:41 UTC 2026 x86_64
User: handcraf (1693)
PHP: 8.1.28
Disabled: NONE
Upload Files
File: //opt/alt/python312/lib64/python3.12/test/support/__pycache__/__init__.cpython-312.opt-2.pyc
�

�h�ep6��b�	edk7red��ddlZddlZddlZddlZddlZddlZddlZddl	Z	ddl
Z
ddlZddlZddl
Z
ddlZddlZgd�ZdZdZdZdZej*j-ej*j/e��Zej*j-e�Zej*j-e�Zej*j-e�ZGd	�d
e�ZGd�de�ZGd
�de�Z Gd�de�Z!Gd�dejD�Z#d�Z$d�Z%d�Z&dZ'dZ(da)da*dZ+dZ,da-d�Z.d�Z/d�Z0d�Z1d�Z2d�d�Z3d�Z4d�Z5d �Z6d!�Z7d�d"�Z8dddd#�d$�Z9d�dddd#�d%�Z:e9d&�'�Z;d(�Z<d)�Z=d*Z>d+Z?ej�eAj�d,�j�d-�d.�ZDd�d/�ZEd�d0�ZFd�d1�ZGd�d2�ZHd3�ZId�d4�ZJd5�ZKe	j�d6k(ZMe	j�j�d7�ZNeOe	d8�ZPe	j�d9vrePrd:nd;ZQndZQe	j�d<k(ZRe	j�d=k(ZSeOed>�xreRxreSZTd?�ZUeRxreSZVd@�ZWeRxreSZXddA�dB�ZYdZZe	j�d6k7r	ej�dC�dCk7ZZdDZ]dZ^dZ_ej*j�edE�ZadF�Zbd�dG�ZcdH�ZddIeedJefeeegffdK�Zhd�dddL�dM�ZidN�Zjej�dO��ZldP�ZmdQ�ZndR�ZodS�Zpej�dT��ZqdU�ZrdV�ZsdWZtdXZueOe	dY�rdZetzZtd[Zuetd\zZvd]�Zwd^�Zxd_Zyd`Zzda�Z{ej�db��Z|dc�Z}ddZ~dee~zZdfezZ�dgezZ�e	�jZ�dheedJe�fdi�Z�dheedJdfdj�Z�Gdk�dl�Z�d�dm�Z�dn�Z�do�Z�dp�Z�dq�Z�d�dr�Z�ds�Z�dt�Z�du�Z�dv�Z�dw�Z�dx�Z�dy�Z�e��xr%e	j�d6k7xre
�j*dz�Z�e��j.duxre�Z�ej�e�d{�Z�d|�Z�d}�Z�e	�j8e�_�da�d~�Z�ej�d��Z�ej�d���Z�d��Z�d��Z�Gd��d�eg�Z�da�d��Z�Gd��d��Z�d��Z�d�d��d��Z�		d�d��Z�d�d��Z�Gd��d��Z�d��Z�ej�d���Z�d��Z�dd��d��Z�d��Z�d�d��Z�gfd��Z�da�d��Z�d��Z�ej�d���Z�Gd��d��Z�d��Z�Gd��d��Z�e��Z�Gd��d��Z�e��Z�e�j|Gd��d���Z�e��Z�e�j|Gd��d���Z�e��Z�d��Z�e	�j��j�Z�d��Z�Gd��d��Z�dd��d��Z�d��Z�d��Z�d��Z�d��Z�ej�d���Z�d�d��Z�d�eed�eedJegfd��Z�d�egdJdfd��Z�d��Z�e�j�d���Z�ej�d���Z�eOe	d��Z�d��Z�d�d&d��d��Z�d�d�d�d&d��d��Z�ej�d„�Z�d�Z�d�Z�e�j�eOedūxr e�j���j�d�k(dǫZ�e�d�d�h�Z�dʄZ�y#e\$rY���wxYw)�ztest.supportz.support must be imported from the test package�N)P�
PIPE_MAX_SIZE�verbose�
max_memuse�
use_resources�failfast�Error�
TestFailed�
TestDidNotRun�ResourceDenied�record_original_stdout�get_original_stdout�captured_stdout�captured_stdin�captured_stderr�is_resource_enabled�requires�requires_freebsd_version�requires_linux_version�requires_mac_ver�check_syntax_error�
requires_gzip�requires_bz2�
requires_lzma�
bigmemtest�bigaddrspacetest�cpython_only�
get_attribute�requires_IEEE_754�
requires_zlib�has_fork_support�
requires_fork�has_subprocess_support�requires_subprocess�has_socket_support�requires_working_socket�anticipate_failure�load_package_tests�detect_api_mismatch�check__all__�skip_if_buggy_ucrt_strfptime�check_disallow_instantiation�check_sanitizer�skip_if_sanitizer�requires_limited_api�requires_specialization�
MS_WINDOWS�	is_jython�
is_android�
is_emscripten�is_wasi�check_impl_detail�
unix_shell�setswitchinterval�get_pagesize�open_urlresource�
reap_children�run_with_locale�	swap_item�findfile�infinite_recursion�	swap_attr�Matcher�set_memlimit�SuppressCrashReport�sortdict�run_with_tz�PGO�missing_compiler_executable�	ALWAYS_EQ�NEVER_EQ�LARGEST�SMALLEST�LOOPBACK_TIMEOUT�INTERNET_TIMEOUT�
SHORT_TIMEOUT�LONG_TIMEOUT�Py_DEBUG�EXCEEDS_RECURSION_LIMIT�C_RECURSION_LIMIT�
skip_on_s390xg$@gN@g>@g�r@c��eZdZy)rN��__name__�
__module__�__qualname__���</opt/alt/python312/lib64/python3.12/test/support/__init__.pyrrks��4rYrc�,��eZdZ	dd��fd�
Zd�Z�xZS)r	N��statsc�B��||_||_t�|�|g|���y�N)�msgr]�super�__init__)�selfr`r]�args�	__class__s    �rZrbzTestFailed.__init__ps#��������
�
����$�t�$rYc��|jSr_)r`�rcs rZ�__str__zTestFailed.__str__us���x�x�rY)rUrVrWrbrh�
__classcell__�res@rZr	r	ns����)-�%�
rYr	c� ��eZdZ	�fd�Z�xZS)�TestFailedWithDetailsc�H��||_||_t�|�
||||��y)Nr\)�errors�failuresrarb)rcr`rnror]res     �rZrbzTestFailedWithDetails.__init__zs'������ ��
�
����f�h�e��<rY)rUrVrWrbrirjs@rZrlrlxs����=�=rYrlc��eZdZy)r
NrTrXrYrZr
r
s��(rYr
c��eZdZy)rNrTrXrYrZrr�s��rYrc�.�	|rtjSd�S)Nc��|Sr_rX)�fs rZ�<lambda>z$anticipate_failure.<locals>.<lambda>�s��Q�rY)�unittest�expectedFailure)�	conditions rZr&r&�s���
��'�'�'��rYc�f�	|�d}t}|j|||��}|j|�|S)Nztest*)�	start_dir�
top_level_dir�pattern)�
STDLIB_DIR�discover�addTests)�pkg_dir�loader�standard_testsr|�top_dir�
package_testss      rZr'r'�sI��������G��O�O�g�29�,3�$�5�M����M�*��rYc�r�		t||�}|S#t$rtjd|�d|����wxYw)Nzobject z has no attribute )�getattr�AttributeErrorrv�SkipTest)�obj�name�	attributes   rZrr�sG��I���C��&�	�����O����3�� M�N�N�O�s��%6�Fc��|ayr_)�_original_stdout)�stdouts rZrr�s���rYc�2�txstjSr_)r��sysr�rXrYrZr
r
�s���)�s�z�z�)rYc��	||�S#t$r3}tdk\r$t|jj�d|����d}~wt
$rz}tdk\r>t|jj�d|���td|j�|���t
j|tj�||�cYd}~Sd}~wwxYw)N��: zre-run )
�FileNotFoundErrorr�printrerU�OSError�os�chmod�stat�S_IRWXU)�path�funcrd�errs    rZ�
_force_runr��s�����T�{������a�<��c�m�m�4�4�c�:�;�
�����a�<��c�m�m�4�4�c�:�;��4�=�=�$�7�8�
����t�|�|�$��T�{����s%��	C�.>�C�
A/B?�9C�?Cc	����ttd�rtjSddl}d}tjjd�r|j
�rd}�n�tjjd�r�ddl�ddl�d}d}G�fd�d�j�}�jj}|j�}|s�j��|�}�jj�}|j!||�j#|��j%|��j#|��}	|	s�j��t'|j(|z�s�d}n�tjd	k(r�dd
lm}
m�m}m	}ddlm}
|
j5|
d��}|j7�dk(rd
}nFG�fd�d|�}|�}||�}|j9|�dks|j;|�dkrd}|s>	ddlm}|�}|jA�|jC�|jE�|t_)|t_tjS#tF$rP}tI|�}tK|�dkDr|dddz}djMtO|�jP|�}Yd}~�{d}~wwxYw)N�resultr�winz(gui is not available on Windows IoT Corer�c���eZdZdW�jjfdW�jjfdW�jj
fgZy)�*_is_gui_available.<locals>.USEROBJECTFLAGS�fInherit�	fReserved�dwFlagsN)rUrVrW�wintypes�BOOL�DWORD�_fields_)�ctypess�rZ�USEROBJECTFLAGSr��s@���#�V�_�_�%9�%9�:�$�f�o�o�&:�&:�;�"�F�O�O�$9�$9�:�<�HrYr�z,gui not available (WSF_VISIBLE flag not set)�darwin)�cdll�c_int�pointer�	Structure)�find_library�ApplicationServicesz0gui tests cannot run without OS X window managerc�"��eZdZdW�fdW�fgZy)�._is_gui_available.<locals>.ProcessSerialNumber�
highLongOfPSN�lowLongOfPSNN)rUrVrWr�)r�s�rZ�ProcessSerialNumberr�s���,�e�4�+�U�3�5�rYr�z#cannot run without OS X gui process)�Tk�2z [...]zTk unavailable due to {}: {})*�hasattr�_is_gui_availabler��platformr��
startswith�win32_is_iotr��ctypes.wintypesr��windll�user32�GetProcessWindowStation�WinErrorr�r��GetUserObjectInformationW�byref�sizeof�boolr�r�r�r��ctypes.utilr��LoadLibrary�CGMainDisplayID�GetCurrentProcess�SetFrontProcess�tkinterr��withdraw�update�destroy�	Exception�str�len�format�typerU�reason)r�r��	UOI_FLAGS�WSF_VISIBLEr��dll�h�uof�needed�resr�r�r�r��app_servicesr��psn�psn_pr��root�e�
err_stringr�r�s                      @@rZr�r��s\���� �(�+� �'�'�'��
�F�
�|�|���u�%�(�*?�*?�*A�;��	���	 �	 ��	'�	���	���	<�f�.�.�	<��m�m�"�"���'�'�)����/�/�#�#�������&�&�(���+�+�A���L�L����M�M�#���L�L�� �	"��
��/�/�#�#��C�K�K�+�-�.�C�F�	����	!�	;�:�,��'�'��5J�(K�L���'�'�)�Q�.�G�F�
5�i�
5�&�'�C��C�L�E��1�1�%�8�1�<��/�/��6��:�>���	G�"��4�D��M�M�O��K�K�M��L�L�N� &���#)�z����#�#�#���	G��Q��J��:���#�'���_�x�7�
�3�:�:�4��7�;K�;K�;E�G�F��		G�s�=I%�%	J>�.AJ9�9J>c�(�	tduxs|tvSr_)r��resources rZrr!s���
�D� �=�H�
�$=�=rYc��	t|�s|�d|z}t|��|dvrtstd��|dk(r$t�sttj��yy)Nz"Use of the %r resource not enabled>�network�urlfetchzNo socket support�gui)rrr$r�r�)r�r`s  rZrr)sg��J��x�(��;�6��A�C��S�!�!��*�*�3E��0�1�1��5��!2�!4��.�5�5�6�6�"5�rYc�v�	ddl}djtt|��}|j	�jdd�d}|j
�|k(r/	ttt|jd���}||k}nd}tj||�d|�d|���S#t$rd}Y�+wxYw)Nr�.�-r�Fz	 version � or higher required, not )r��join�mapr��release�split�system�tuple�int�
ValueErrorrv�skipIf)�sysname�min_versionr��min_version_txt�version_txt�version�skips       rZ�_requires_unix_versionr4s������h�h�s�3��4�5�O��"�"�$�*�*�3��2�1�5�K�����G�#�	)��C��[�%6�%6�s�%;�<�=�G��[�(�D����?�?���)�9�_�-�-F��-�	�����	��D�	�s�(B*�*B8�7B8c��	td|�S)N�FreeBSD�r�r�s rZrrOs���"�)�[�9�9rYc��	td|�S)N�Linuxrrs rZrrXs���"�'�;�7�7rYc���	�fd�}|S)Nc�T���tj����fd��}�|_|S)Nc�V��tjdk(rddl}|j�d}	tt	t
|j
d���}|�kr:djt	t���}tjd|�d|�����|i|��S#t$rY�wxYw)Nr�rr�z	Mac OS X r�)r�r��mac_verr�r�r�r�r�r�rvr�r�)rd�kwr�r�r�r�r�r�s      ��rZ�wrapperz4requires_mac_ver.<locals>.decorator.<locals>.wrapperis�����|�|�x�'��&�.�.�0��3��	>�#�C��[�->�->�s�-C�$D�E�G���,�*-�(�(�3�s�K�3H�*I��&�/�/�.��=�>�>���$��$�$��"����s�(B�	B(�'B()�	functools�wrapsr�)r�rr�s` �rZ�	decoratorz#requires_mac_ver.<locals>.decoratorhs-���	����	�	%�
�	%�*����rYrX)r�rs` rZrras�����&�rYc��	ddl}|sd}	|j�j�dk(}tj||�S#ttf$r*}tjd|�d�t�d}Yd}~�Jd}~wwxYw)Nrznot suitable for buildbots�buildbotzgetpass.getuser() failed r�F)
�getpass�getuser�lower�KeyError�EnvironmentError�warnings�warn�RuntimeWarningrvr�)r�r�
isbuildbotr�s    rZ�skip_if_buildbotr~sw��>���-����_�_�&�,�,�.�*�<�
��?�?�:�v�.�.��
�&�'���
�
�1�#��a�8�.�I��
���s�!A�A;� A6�6A;��address�memory�ubc���	|s|s
|std��tjd�xsd}tjd�xsd}d|vxsd|v}d|vxsd|v}d	|vxsd
|v}|xr|xs|xr|xs|xr|S)Nz3At least one of address, memory, or ub must be True�CFLAGS��CONFIG_ARGSz-fsanitize=memoryz--with-memory-sanitizerz-fsanitize=addressz--with-address-sanitizerz-fsanitize=undefinedz#--with-undefined-behavior-sanitizer)r��	sysconfig�get_config_var)rrr�cflags�config_args�memory_sanitizer�address_sanitizer�ub_sanitizers        rZr,r,�s���C��v���N�O�O��
%�
%�h�
/�
5�2�F��*�*�=�9�?�R�K��v�%�	1�!�[�0��
	��&�	2�"�k�1��
	�&�(�	=�-��<��

�	$�$�	�	�	&�&�	�	�	��rYc�T�	|sd}t|||��}tj||�S)Nz"not working with sanitizers activer)r,rvr�)r�rrrr�s     rZr-r-�s,��H��5���7�6�b�A�D��?�?�4��(�(rYT)rc�F�dD]}||vr||xxd|��z
cc<�|||<�y)N)�ASAN_OPTIONS�MSAN_OPTIONS�
UBSAN_OPTIONS�:rX)�env�optionr�s   rZ�set_sanitizer_env_varr3�s5��A����3�;���I�1�V�H��%�I��C��I�	rYc�D��	tj���fd��}|S)Nc���	�|i|��y#t$r(}dt|�vrtjd���d}~wwxYw)N�CERTIFICATE_VERIFY_FAILEDz.system does not contain necessary certificates)r�r�rvr�)rd�kwargsr�rts   �rZ�decz&system_must_validate_cert.<locals>.dec�sO���	�
�t��v����	�*�c�!�f�4��'�'�)A�B�B���		�s��	=�#8�=)r
r)rtr8s` rZ�system_must_validate_certr9�s(���?��_�_�Q������JrYi@i�double�IEEEztest requires IEEE 754 doublesc�Z�	ddl}tj||�S#t$rd}Y�#wxYw�Nr)�zlib�ImportErrorrv�
skipUnless)r�r>s  rZrr��5�������t�V�,�,����������*�*c�Z�	ddl}tj||�S#t$rd}Y�#wxYwr=)�gzipr?rvr@)r�rDs  rZrr�rArBc�Z�	ddl}tj||�S#t$rd}Y�#wxYwr=)�bz2r?rvr@)r�rFs  rZrr�s5�������s�F�+�+�������rBc�Z�	ddl}tj||�S#t$rd}Y�#wxYwr=)�lzmar?rvr@)r�rHs  rZrr�rArBc��	ddl}|j	�}t|d�S#t$rtjd��wxYw)Nr�_testinternalcapi required�code_debug_ranges)�_testinternalcapir?rvr��
get_configr�)rL�configs  rZ�has_no_debug_rangesrO�sQ��>� ��
)�
)�
+�F��F�.�/�0�0�0���>���� <�=�=�>�s	�%�Ac�>�tjt�|�Sr_)rvr�rO)r�s rZ�requires_debug_rangesrQ�s���?�?�.�0�&�9�9rYc�^�	ddlm}tj|d�S#t$rd}Y�#wxYw)Nr��unicode_legacy_stringzrequires legacy Unicode C API)�	_testcapirTr?rvr@rSs rZ�requires_legacy_unicode_capirVs>��%�3����4�>�@�@���%� $��%�s��,�,�win32�java�getandroidapilevel)rW�vxworksz/system/bin/shz/bin/sh�
emscripten�wasi�forkc�6�tjtd�S)Nzrequires working os.fork())rvr@r rXrYrZr!r!s�����/�1M�N�NrYc�8�	tjtd�S)Nzrequires subprocess support)rvr@r"rXrYrZr#r#!s��=����5�7T�U�UrY)�modulec�x�	d}|rtstj|��ytjt|�S)Nzrequires socket support)r$rvr�r@)r`r`s  rZr%r%(s@���$�C�
�!��#�#�C�(�(�"��"�"�#5�s�;�;rYz%4Yzhttp://www.pythontest.net�datac���	tjdk7ryddl}d}|�d�}|j�\}}t	|j|d��t	|�t	d|z�y)Nr�rz NOTICE z� may generate "malloc can't allocate region"
warnings on macOS systems. This behavior is known. Do not
report a bug unless tests are also failing.
See https://github.com/python/cpython/issues/85100r�)r�r��shutil�get_terminal_sizer��center)�	test_namerdr`�detail�padding�_s      rZ�darwin_malloc_err_warningrkMsk���
�|�|�x����
�C���C�C�F�
�)�)�+�J�G�Q�	�#�*�*�W�c�
"�#�	�&�M�	�#��-�rYc�R�	tjj|�r|S|� tjj||�}tgt
jz}|D]E}tjj||�}tjj
|�s�C|cS|Sr_)r�r��isabsr��
TEST_HOME_DIRr��exists)�filename�subdirr��dn�fns     rZr=r=`s����
�w�w�}�}�X����
���7�7�<�<���1���?�S�X�X�%�D��)��
�W�W�\�\�"�h�
'��
�7�7�>�>�"��b�y�)��OrYc��	t|j��}|D�cgc]}d|z��	}}dj|�}d|zScc}w)Nz%r: %rz, z{%s})�sorted�itemsr�)�dictrv�pair�	reprpairs�
withcommass     rZrCrCssJ��+��4�:�:�<� �E�-2�3�T��D��3�I�3����9�%�J��J����4s�A�code�returnc�J�	i}ttj|�|�|Sr_)�exec�textwrap�dedent)r{�nss  rZ�run_coder�{s"��R�	�B������	��#�
�IrY)�lineno�offsetc�r�|jt|�5}t|dd�ddd�j}|j	|j
�|�|j
|j
|�|j	|j�|�|j
|j|�yy#1swY��xYw)Nz
<test string>r~)�assertRaisesRegex�SyntaxError�compile�	exception�assertIsNotNoner��assertEqualr�)�testcase�	statement�errtextr�r��cmr�s       rZrr�s���	�	#�	#�K��	9�4�R��	�?�F�3�4�
�,�,�C����S�Z�Z�(�
�����S�Z�Z��0����S�Z�Z�(�
�����S�Z�Z��0��4�4�s�B-�-B6c����
�ddl}ddl}ddlm}	ddl}�j
dd��
|jj|�djd�d}tjjt|�}��
�fd�}tjj|�r||�}	|	�|	S||�td	�t rt#d
|zt%���|j&j)�}
|r|
j*j-d�|
j/|t0�
�}	|r0|	j2j5d�dk(r|j7|	��}		t/|d�5}|	j9�}|r$|j;|�|	j9�}|r�$ddd�|	j=�||�}	|	�|	St?d|z��#t
$rd}Y���wxYw#1swY�ExYw#|	j=�wxYw)Nrr�)�unlink�checkr��/���c���t|g���i���}��|S�|�r|jd�|S|j�yr=)�open�seek�close)rsrtrdr�rs  ���rZ�check_valid_filez*open_urlresource.<locals>.check_valid_file�sA�����!�d�!�b�!���=��H�
�1�X�
�F�F�1�I��H�	���	rYr�z	fetching %s ...��file)zAccept-EncodingrD��timeoutzContent-EncodingrD)�fileobj�wbzinvalid resource %r) �urllib.request�urllib.parse�	os_helperr�rDr?�pop�parse�urlparser�r�r�r��
TEST_DATA_DIRrorrr�r
�request�build_opener�
addheaders�appendr�rL�headers�get�GzipFile�read�writer�r	)�urlrdr�urllibr�rDrprsr�rt�opener�out�sr�s ``          @rZr9r9�s����'�!���
�F�F�7�D�!�E��|�|�$�$�S�)�!�,�2�2�3�7��;�H�	�����m�X�	.�B��
�w�w�~�~�b���R� ���=��H��r�
�
�Z���
�!�C�'�.A�.C�D�
�^�^�
(�
(�
*�F����� � �!<�=����C�!1��2�A���	�	�
�
�0�1�V�;��M�M�!�M�$���
�"�d�^�	�s�����A���	�	�!���F�F�H���	�	
���	����A��}���
�*�R�/�
0�0��_������H	�	��	
���	�s5�G�!G4�-6G(�$G4�G%�$G%�(G1�-G4�4Hc#��K�	ddl}tt|�}tt||j	��	tt|���tt||�y#tt||�wxYw�wr=)�ior�r��setattr�StringIO)�stream_namer��orig_stdouts   rZ�captured_outputr��sW����O�
��#�{�+�K��C��b�k�k�m�,�/��c�;�'�'���[�+�.����[�+�.�s�5A2�A�
A2�A/�/A2c��	td�S)Nr��r�rXrYrZrr������8�$�$rYc��	td�S)N�stderrr�rXrYrZrr�r�rYc��	td�S)N�stdinr�rXrYrZrr�s����7�#�#rYc�n�	ddl}|j�|j�|j�yr=)�gc�collect)r�s rZ�
gc_collectr��s'�����J�J�L��J�J�L��J�J�LrYc#�K�ddl}|j�}|j�	d��|r|j�yy#|r|j�wwxYw�wr=)r��	isenabled�disable�enable)r��have_gcs  rZ�
disable_gcr��sG����
��l�l�n�G��J�J�L��
���I�I�K���7��I�I�K��s�%A�A�A�A�Ac��	tjd�xsd}d}|j�D]}|jd�s�|}�|dvS)N�	PY_CFLAGSr"z-O)r"z-O0z-Og)r$r%r�r�)r&�	final_opt�opts   rZ�python_is_optimizedr�sS��6�
�
%�
%�k�
2�
8�b�F��I��|�|�~����>�>�$���I���.�.�.rYc���tjd�xsd�gd�}tjd�}|r|j|�t�fd�|D��S)N�PY_CFLAGS_NODISTr")z
-fprofile-usez-fprofile-instr-usez	-prof-use�PGO_PROF_USE_FLAGc3�&�K�|]}|�v���
y�wr_rX)�.0r2�
cflags_nodists  �rZ�	<genexpr>z#check_cflags_pgo.<locals>.<genexpr>$s�����A�6�v��&�A�s�)r$r%r��any)�pgo_optionsr�r�s  @rZ�check_cflags_pgor�sY����,�,�-?�@�F�B�M��K�"�0�0�1D�E������,�-��A�[�A�A�ArY�nP�0n�
getobjects�2P�0P�nc�H�ddl}|jt|ztz�Sr=)�struct�calcsize�_header�_align��fmtr�s  rZ�calcobjsizer�.s����?�?�7�S�=�6�1�2�2rYc�H�ddl}|jt|ztz�Sr=)r�r��_vheaderr�r�s  rZ�calcvobjsizer�2s����?�?�8�c�>�F�2�3�3rYi@ic��	ddl}t	j
|�}t
|�tk(r|jtzs.t
|�tk7r+t
|�jtzr||jz
}dt
|�||fz}|j|||�y#t$rtjd��wxYw)NrrJz&wrong size for %s: got %d, expected %d)rLr?rvr�r��	getsizeofr��	__flags__�_TPFLAGS_HEAPTYPE�_TPFLAGS_HAVE_GC�SIZEOF_PYGC_HEADr�)�test�o�sizerLr�r`s      rZ�check_sizeofr�:s���>� ��]�]�1�
�F�	
�a��D��q�{�{�->�>�
�q�'�T�/��Q�� 1� 1�4D� D��!�2�2�2��
2��A�w���%�&�C����V�T�3�'���>���� <�=�=�>�s�B"�"Cc'�2K�	ddl}t||�}|j|�}|D]}	|j||�n		d��|r|r|j|�yyy#Y�<xYw#t$r�dx}}Y�6xYw#|r|r|j|�wwwxYw�wr=)�localer��	setlocaler�)�catstr�localesr��category�orig_locale�locs      rZr;r;Ls��������6�6�*���&�&�x�0���	�C�
�� � ��3�/��	�4�
��k����X�{�3�"�6��

�����
�$�#�#�����k����X�{�3�"�6�sI�B�!A&�B�A�B�A:�B�A#�!B�&A7�5B�:B�Bc����fd�}|S)Nc�Z�����fd�}�j|_�j|_|S)Nc���	tj}dt
jvrt
jd}nd}�t
jd<|�	�|i|��|�t
jd=n|t
jd<tj�S#t$rtjd��wxYw#|�t
jd=n|t
jd<tj�wxYw)Nztzset required�TZ)�time�tzsetr�rvr�r��environ)rd�kwdsr�orig_tzr��tzs    ��rZ�innerz-run_with_tz.<locals>.decorator.<locals>.innerls����
:��
�
���r�z�z�!��*�*�T�*����!�B�J�J�t���G�
��T�*�T�*��?��
�
�4�(�'.�B�J�J�t�$��
�
���#"�
:��'�'�(8�9�9�
:���?��
�
�4�(�'.�B�J�J�t�$��
�
��s�B�B;�B8�;=C8)rU�__doc__)r�r	rs` �rZrzrun_with_tz.<locals>.decoratorks%���	�,���������
��rYrX)rrs` rZrDrDjs����4�rYi�r���limitc�F�dttdtzd�}tjd|tjtj
z�}|�t
d|����tt|jd��||jd�j�z�S)Nr)�k�m�g�tz(\d+(?:\.\d+)?) (K|M|G|T)b?$zInvalid memory limit: r�r�)�_1M�_1G�re�match�
IGNORECASE�VERBOSEr�r��float�groupr)r
�sizesrs   rZ�_parse_memlimitr�s���
�
�
�
�#�X�	
�E�	���0�%�������+�	-�A��y��1�%��;�<�<��u�Q�W�W�Q�Z� �5������)9�)9�);�#<�<�=�=rYc�p�t|�}|tdz
krtd��|at	|t
�}|ay)Nr�z+Memory limit {limit!r} too low to be useful)r�_2Gr��real_max_memuse�min�MAX_Py_ssize_tr)r
�memlimits  rZrArA�s<���u�%�H��#��'���F�G�G��O��8�^�,�H��JrYc� �eZdZ	d�Zd�Zd�Zy)�_MemoryWatchdogc�d�djtj���|_d|_y)Nz/proc/{pid}/statm)�pidF)r�r��getpid�procfile�startedrgs rZrbz_MemoryWatchdog.__init__�s$��+�2�2�r�y�y�{�2�C��
���rYc��ddl}	t|jd�}ddl
}|5td�}|jtj|g||j��|_ddd�d|_y#t$rN}|jdj|�t�tjj�Yd}~yd}~wwxYw#1swYd|_yxYw)Nr�rz!/proc not available for stats: {}zmemory_watchdog.py)r�r�T)rr�r(r�rr�rr�r��flush�
subprocessr=�Popen�
executable�DEVNULL�mem_watchdogr))rcrrtr�r-�watchdog_scripts      rZ�startz_MemoryWatchdog.start�s����	��T�]�]�C�(�A�	�
�	L�&�';�<�O� *� 0� 0�#�.�.�/�1R�78�8B�8J�8J�!1�!L�D��	L�
�����	��H�M�M�=�D�D�Q�G�(�
*��J�J������		��	L�
���s#�A1�?C�1	C�:AC�C�Cc��|jr5|jj�|jj�yyr_)r)r1�	terminate�waitrgs rZ�stopz_MemoryWatchdog.stop�s2���<�<����'�'�)����"�"�$�rYN)rUrVrWrbr3r7rXrYrZr$r$�s�����$%rYr$c�����	���fd�}|S)Nc�6�������fd����_��_�S)Nc����j}�j}tsd}n|}ts�s*t||zkrtjd||zdzz��trLt
rFt
�t
dj||zdz���t�}|j�nd}	�||�|r|j�SS#|r|j�wwxYw)Ni�'not enough memory: %.1fG minimum needed�@z* ... expected peak memory use: {peak:.1f}G)�peak)r��memuserrvr�rr�r�r$r3r7)rcr�r>�maxsize�watchdog�dry_runrtrs     ���rZrz.bigmemtest.<locals>.decorator.<locals>.wrapper�s�����<�<�D��^�^�F�"����� ��#�g��&6�6��'�'�=��f�}�	�2�4�5�5��7����B��v�4�&�=�I�#>�v�?�A�*�,����� ���
$���w�'���M�M�O���8��M�M�O��s�,C�C)r�r>)rtrrAr>r�s`@���rZrzbigmemtest.<locals>.decorator�s���	$�:�������rYrX)r�r>rArs``` rZrr�s���� �B�rYc���	�fd�}|S)Nc���ttkrFtdk\rtdk\rtjd��tjdtdzz���|�S)Nl����lz-not enough memory: try a 32-bit build insteadr;r<)rr!rvr�)rcrts �rZrz!bigaddrspacetest.<locals>.wrappersb�����&���*�z�U�/B��'�'�C�E�E��'�'�=�%��3�5�6�6��T�7�NrYrX)rtrs` rZrr�s���:�
��NrYc��|Sr_rX)r�s rZ�_idrEs���JrYc���|dk(r-t�s#tjtj�St	|�rt
Stjdj
|��S)Nr�zresource {0!r} is not enabled)r�rvr�r�rrEr�r�s rZ�requires_resourcerGsN���5��!2�!4��}�}�.�5�5�6�6��8�$��
��}�}�<�C�C�H�M�N�NrYc�(�	td��|�S)NT)�cpython)�impl_detail�r�s rZrrs���%�;�t�$�T�*�*rYc���tdi|��rtS|�Nt|�\}}|rd}nd}t|j	��}|jdj
|��}tj|�S)Nz*implementation detail not available on {0}z%implementation detail specific to {0}z or rX)	r5rE�
_parse_guardsru�keysr�r�rvr�)r`�guards�
guardnames�defaults    rZrJrJ!sj���"�6�"��
�
�{�+�F�3��
�G��>�C�9�C��J�O�O�-�.�
��j�j����Z�0�1���=�=���rYc�T�|sddidfSt|j��d}||fS)NrITFr)�list�values)rO�is_trues  rZrMrM.s7����D�!�5�)�)��6�=�=�?�#�A�&�G���K� � rYc�t�	t|�\}}|jtjj|�Sr_)rMr�r��implementationr�)rOrQs  rZr5r58s4���$�F�+�O�F�G��:�:�c�(�(�-�-�w�7�7rYc�h��	ttd�s�Stj���fd��}|S)N�gettracec����tj�}	tjd��|i|��tj|�S#tj|�wxYwr_)r�rY�settrace)rdr7�original_tracer�s   �rZrzno_tracing.<locals>.wrapperHsE��� �\�\�^�N�
-����T�"��T�,�V�,����^�,�����^�,�s�A	�	A )r�r�r
r)r�rs` rZ�
no_tracingr]Cs7���O��3�
�#���	����	�	-�
�	-��rYc�,�	tt|��Sr_)r]rrKs rZ�
refcount_testr_Ss����l�4�(�)�)rYc��	ddl}tj|j
d�|�S#t$rtjd�|�cYSwxYw)Nrzneeds _testcapi modulezneeds Limited API support)rUr?rvr�r@�LIMITED_API_AVAILABLE)r�rUs  rZr.r.^sa��=��F�8����'�'�)D�F�FJ�L�L���=�6�x�}�}�5�6�t�<�<�=�s�,�$A�Ac�V�tjtjd�|�S)Nzrequires specialization)rvr@�opcode�ENABLE_SPECIALIZATIONrKs rZr/r/fs1��A�8����$�$�&?�A�AE�G�GrYc��yr_rXrXrYrZ�_check_docstringsrfqs��6rY�WITH_DOC_STRINGSztest requires docstringsc��tj�tjj�tj�tjj�yyr_)r�r�r,r�rXrYrZ�flush_std_streamsri�s;��
�z�z���
�
����
�z�z���
�
����rYc��t�tj}|j�D]}t	d|��|���|j�y)NzWarning -- r�)ri�
print_warning�orig_stderr�
splitlinesr�r,)r`�stream�lines   rZrkrk�sC����
�
&�
&�F���� �1��
��D�6�"��0�1�
�L�L�NrYc���	ttd�rttd�sytsy		tjdtj�\}}|dk(ryt
d|���da�?#t
$rYywxYw)N�waitpid�WNOHANGTr�rz%reap_children() reaped child process )r�r�r"rqrrr�rk�environment_altered)r&�statuss  rZr:r:�s����
�B�	�"�w�r�9�'=��
#���	��*�*�R����4�K�C���!�8���=�c�U�C�D�"�����	��	�s�'A*�*	A6�5A6c#�4K�	t||�r,t||�}t|||�	|��t|||�yt|||�	d��t||�r
t||�yy#t|||�wxYw#t||�r
t||�wwxYw�wr_)r�r�r��delattr)r��attr�new_val�real_vals    rZr?r?�s�����
��s�D���3��%����T�7�#�	)��N��C��x�(���T�7�#�	#���s�D�!���T�"�"��

�C��x�(���s�D�!���T�"�"�s3�'B�A(�B�
A:�B�(A7�7B�:B�Bc#�K�	||vr||}|||<	|��|||<y|||<	d��||vr||=yy#|||<wxYw#||vr||=wwxYw�wr_rX)r��itemrxrys    rZr<r<�s����
��s�{��t�9����D�	�	!��N� �C��I���D�	�	���s�{���I���
!�C��I���s�{���I��s+�A�0�A�:�	A�7�A�
A�Ac�,�	ddl}|j�Sr=)r-�_args_from_interpreter_flags�r-s rZ�args_from_interpreter_flagsr�s��2���2�2�4�4rYc�,�	ddl}|j�Sr=)r-�"_optim_args_from_interpreter_flagsr~s rZ�!optim_args_from_interpreter_flagsr�s��+���8�8�:�:rYc��eZdZdZd�Zd�Zy)r@)r`�messagec�v�	d}|D]0}||}|j|�}|j|||�r�-d}|S|S)NTF)r��match_value)rc�dr7r�r�v�dvs       rZ�matcheszMatcher.matchessY��	����	�A��q�	�A����q��B��#�#�A�r�1�-�����
�
	��
rYc��	t|�t|�k7rd}|St|�tus||jvr||k(}|S|j|�dk\}|S)NFr)r�r��_partial_matches�find)rcrr�r�r�s     rZr�zMatcher.match_valuesh��	���7�d�2�h���F�
�
�	�"�X�S�
 �A�T�-B�-B�$B��2�g�F��
��W�W�Q�Z�1�_�F��
rYN)rUrVrWr�r�r�rXrYrZr@r@s��)���"
rYr@c��	ddl}t�Ltjdk(r7|j	�dk(r$tj�jdk(rdandatrtjd�|�S|S)NrrW�cp65001r"TFz!buggy MSVC UCRT strptime/strftime)
r��_buggy_ucrtr�r��getencodingr�	localtime�tm_zonervr�)r�r�s  rZr*r**sn�������<�<�7�"��"�"�$�	�1���� �(�(�B�.��K��K�GR�=�8�=�=�<�=�d�C�\�X\�\rYc�l�eZdZ	d
d�Zej
dk(rd�Znd�Zd�Zd�Zd�Z	d	d
�d�Z
d	d
�d�Zy)�
PythonSymlinkNc��ddlm}|xstjj	|�|_g|_tjjtj�|_
g|_d|_|j�y)Nr�)�TESTFN)r�r�r�r��abspath�link�_linked�realpathr�r/�real�
_also_link�_env�_platform_specific)rcr�r�s   rZrbzPythonSymlink.__init__AsY��%��3�B�G�G�O�O�F�3��	�����G�G�$�$�S�^�^�4��	������	����!rYrWc
���ddl}ddl}tjj	|j
�r?tjj
|j
�s|jd�|_|jtj�}tjj|�}tjj|j�}|jj|tjj|tjj|��f�|jtjj|j!|�d��D]Z}|jj|tjj|tjj|��f��\tj"D�cic]&}|j%�tj&|���(c}|_tjj|j
�|j(d<t+j,�rt.|j(d<yycc}w)Nrzvcruntime*.dll�
PYTHONHOME�
PYTHONPATH)�glob�_winapir�r��lexistsr�ro�GetModuleFileNamer��	dllhandle�dirnamer�r�r�r��basename�escaper�upper�getenvr�r$�is_python_buildr})rcr�r�r��src_dir�dest_dir�runtimers        rZr�z PythonSymlink._platform_specificNs������w�w���t�y�y�)�"�'�'�.�.����2K�$�5�5�a�8��	��+�+�C�M�M�:�C��g�g�o�o�c�*�G��w�w���t�y�y�1�H��O�O�"�"�������X�r�w�w�'7�'7��'<�=�$�
� �9�9�R�W�W�\�\�$�+�+�g�2F�HX�%Y�Z�
�����&�&���G�G�L�L��2�7�7�+;�+;�G�+D�E�(��
�;=�*�*�E�Q�����B�I�I�a�L�0�E�D�I�&(�g�g�o�o�d�i�i�&@�D�I�I�l�#��(�(�*�*4��	�	�,�'�+��Fs�+I/c��yr_rXrgs rZr�z PythonSymlink._platform_specifici���rYc�.�tj|j|j�|jj|j�|jD]6\}}tj||�|jj|��8|Sr_)r��symlinkr�r�r�r�r�)rcr�r�s   rZ�	__enter__zPythonSymlink.__enter__lsl��
�
�
�4�9�9�d�i�i�(������D�I�I�&��/�/�	&�J�D�$��J�J�t�T�"��L�L����%�	&��rYc��|jD]}	tj|��y#t$r+}trtdj
||��Yd}~�Kd}~wwxYw)Nzfailed to clean up {}: {})r�r��remove�IOErrorrr�r�)rc�exc_type�	exc_value�exc_tbr��exs      rZ�__exit__zPythonSymlink.__exit__tsV���L�L�	H�D�
H��	�	�$��	H���
H���5�<�<�T�2�F�G���
H�s�)�	A�!A�Ac�x�ddl}|g|�}|j||j|j|��}|j�}|j|k7rht
r>t
t|d��t
t|d�tj��tdj|j���|S)Nr)r�r�r1r�r�z'unexpected return code: {0} (0x{0:08X}))r-r.�PIPE�communicate�
returncoderr��reprr�r��RuntimeErrorr�)	rc�pythonrdr1r�r-�cmd�pr+s	         rZ�_callzPythonSymlink._call|s�����o��o�����S����$.�O�O��
�
>��
�M�M�O���<�<�:�%���d�1�Q�4�j�!��d�1�Q�4�j�s�z�z�2��9�@�@����N�P�
P��rYr)r�c�>�|j|j|d|�Sr_)r�r��rcr�rds   rZ�	call_realzPythonSymlink.call_real�s���z�z�$�)�)�T�4��<�<rYc�R�|j|j||j|�Sr_)r�r�r�r�s   rZ�	call_linkzPythonSymlink.call_link�s���z�z�$�)�)�T�4�9�9�j�A�ArYr_)rUrVrWrbr�r�r�r�r�r�r�r�rXrYrZr�r�?sG��=�
"��|�|�w��	5�6	��H��+,�=�+,�BrYr�c�d�	txst}d}|r|Stj|�|�S)Nz#Not run for (non-extended) PGO task)rE�PGO_EXTENDEDrvr�)r��okr`s   rZ�skip_if_pgo_taskr��s4��E�
��	 �L�B�
/�C��4�3�-�8�=�=��-�d�3�3rYrX)�ignorec��	tt|��tt|��z
}|r|t|�z}td�|D��}|S)Nc3�dK�|](}|jd�r|jd�r|���*y�w)rj�__N)r��endswith)r�rs  rZr�z&detect_api_mismatch.<locals>.<genexpr>�s0����F�a� �|�|�C�0�A�J�J�t�4D��F�s�.0)�set�dir)�ref_api�	other_apir��
missing_itemss    rZr(r(�sU�����G��%��C�	�N�(;�;�M�
���V��$�
��F�=�F�F�M��rYc��	|�|jf}nt|t�r|f}t|�}t	|�D]l}|jd�s||vr�t
||�}t
|dd�|vs(t|d�r�At|tj�r�\|j|��n|j|j|�y)NrjrV)
rU�
isinstancer�r�r�r�r�r��types�
ModuleType�add�assertCountEqual�__all__)�	test_caser`�name_of_module�extra�not_exported�expectedr�r�s        rZr)r)�s���%�N�� �/�/�,��	�N�C�	(�(�+���5�z�H��F�����?�?�3��4�<�#7���f�d�#���C��t�,��>��S�,�/���U�%5�%5�6��L�L�������v�~�~�x�8rYc��	ddl}|j|j|jz|j
z|jz�t|d�rv|j|j|jfD]O}|r9|j||j�|j||j��>|j|d��Qyy#t$rYywxYw)Nr�CrtSetReportMode)�msvcrtr?�SetErrorMode�SEM_FAILCRITICALERRORS�SEM_NOALIGNMENTFAULTEXCEPT�SEM_NOGPFAULTERRORBOX�SEM_NOOPENFILEERRORBOXr��CRT_WARN�	CRT_ERROR�
CRT_ASSERTr��CRTDBG_MODE_FILE�CrtSetReportFile�CRTDBG_FILE_STDERR)rr�rs   rZ�suppress_msvcrt_assertsr��s���������5�5� �;�;�<� �6�6�7�!�7�7�8�9��v�)�*��/�/�6�#3�#3�V�5F�5F�G�	.�A���'�'��6�+B�+B�C��'�'��6�+D�+D�E��'�'��1�-�	.�+������s�C�	C�Cc�"�eZdZ	dZdZd�Zd�Zy)rBNc��	tjjd�r�	ddl}|j�|_|j|j|jz�t|d�rxi|_
|j|j|jfD]K}|j||j�}|j!||j"�}||f|j|<�M|S	ddl}||_|j$�t	|j$j'|j$j(�|_|j$j+|j$j(d|jdf�tjdk(roddl}gd�}|j3||j4|j4��}|5|j7�d}	ddd�	j9�dk(rt;d	d
d��|S#t$rYywxYw#t$rd|_Y��&wxYw#t,t.f$rY��wxYw#1swY�gxYw)
Nr�rr�r�r�)z/usr/bin/defaultsr�zcom.apple.CrashReporter�
DialogType)r�r�s	developerz:this test triggers the Crash Reporter, that is intentionalr"T)�endr,)r�r�r�r�r?�GetErrorMode�	old_valuer�r�r��	old_modesr�r�r�r�r�r�r�r��	getrlimit�RLIMIT_CORE�	setrlimitr�r�r-r.r�r��stripr�)
rcr��report_type�old_mode�old_filer�r-r��procr�s
          rZr�zSuppressCrashReport.__enter__s.��	��<�<�"�"�5�)�
��$�0�0�2�D�N��������1M�1M� M�N��v�1�2�!#���$*�O�O�$*�$4�$4�$*�$5�$5�$7�E�K� &�6�6�{�"�3�3� 5�H�%�6�6�{�"�5�5� 7�H�2:�H�2D�D�N�N�;�/�E�T��A
%�� (��
��}�}�(��%)�]�]�%<�%<�T�]�]�=V�=V�%W�D�N��M�M�+�+�D�M�M�,E�,E�-.����q�0A�,B�D�
�|�|�x�'�!�@��!�'�'��/9���/9���(�@���3�!�-�-�/��2�F�3��<�<�>�\�1��0�57�t�E����k�
��
��0�
%� $��
�
%��#�G�,����� 3�3�sB�G9�*H�A3H�:H4�9	H�H�H�H�H1�0H1�4H=c��	|j�ytjjd�rvddl}|j|j�|jrJ|jj�D],\}\}}|j||�|j||��.yy|j�<	|jj|jj|j�yy#ttf$rYywxYw)Nr�r)r�r�r�r�r�r�r�rvr�r�r�r�r�r�r�)rc�
ignore_excr�rrrs      rZr�zSuppressCrashReport.__exit__Bs���O��>�>�!���<�<�"�"�5�)��������/��~�~�9=���9M�9M�9O�C�5�K�!5�(�H��+�+�K��B��+�+�K��B�C��
�}�}�(���M�M�+�+�D�M�M�,E�,E�t�~�~�V�)��#�G�,����s�1:C-�-C?�>C?)rUrVrWr�r�r�r�rXrYrZrBrB�s���
�I��I�@�DrYrBc�������	t���d�	�j��d�����fd�}|j	|�t��|�y#ttf$rt��d��Y�EwxYw)NFTc�>���rt����yt���yr_)r�rv)�
attr_is_local�	attr_name�object_to_patchr�s����rZ�cleanupzpatch.<locals>.cleanupms�����O�Y�	�:��O�Y�/rY)r��__dict__r�r�
addCleanupr�)�
test_instancerr
�	new_valuerr	r�s ``  @@rZ�patchrWs~�����O�Y�'��M��#�,�,�Y�7�	��
�0����W�%��O�Y�	�2��
�H�%�>��O�Y��=�	�>�s�A
�
A,�+A,c#�@K�		|dd}d��||ddy#|ddwxYw�wr_rX)�orig�saveds  rZ�
patch_listrys,����7���Q���
���Q���%��Q��s��	���c�B�	t�ddl}|j|�Sr=)�_check_tracemallocrU�run_in_subinterp)r{rUs  rZrr�s#�������%�%�d�+�+rY)�own_gilc�\�	t�ddl}|�	|rdnd|d<|j|fi|��S)Nrr�r��gil)rrU�run_in_subinterp_with_config)r{rrNrUs    rZrr�s=��������$��!��u�
�1�9�1�1�$�A�&�A�ArYc�v�	ddl}|j�rtjd��y#t$rYywxYw)NrzUrun_in_subinterp() cannot be used if tracemalloc module is tracing memory allocations)�tracemalloc�
is_tracingrvr�r?)rs rZrr�sI��;���!�!�#��#�#�%:�;�
;�$���
��
�s�,�	8�8c����G��fd�d|�}d�|||���|jtt��t�|j	��y)Nc���eZdZ��fd�Zy)�%check_free_after_iterating.<locals>.Ac�@��d�	t��y#t$rYywxYw�NT)�next�
StopIteration)rc�done�its ��rZ�__del__z-check_free_after_iterating.<locals>.A.__del__�s&����D�
��R��� �
��
�s��	�N)rUrVrWr))r'r(s��rZ�Ar"�s���	rYr*F)�assertRaisesr&r%r��
assertTrue)r��iter�clsrdr*r'r(s     @@rZ�check_free_after_iteratingr/�sF����C���D�	
�a��h��B����m�T�2�.��L��O�O�D�rYc�^�	ddlm}m}m}ddlm}|j
�}|j|�|jdk(r	|j�|jD]6}|r||vr�
t||�}|rn|s�|j|d���1|dcSy#|j$rYywxYw)Nr)�	ccompilerr$�spawn)rn�msvc)�setuptools._distutilsr1r$r2�
setuptoolsrn�new_compiler�customize_compiler�
compiler_type�
initialize�
PlatformError�executablesr��find_executable)�	cmd_namesr1r$r2rn�compilerr�r�s        rZrFrF�s����B�A�!��%�%�'�H� �I� � ��*�����'�	����!��$�$�
����Y�.���h��%������ � ��Q��(�0��q�6�M�
���#�#�	��	�s�B�B,�+B,c��d}tr;||kr6t�(ddl}|jddg�j	�dk(atr|}tj|�S)Ng�h㈵��>r�getpropzro.kernel.qemu�1)r2�_is_android_emulatorr-�check_outputrr�r7)�interval�minimum_intervalr-s   rZr7r7�s`�����h�!1�1��'��$.�$;�$;� )�+;�<�%>�>C�e�g��%N� ��'�H�� � ��*�*rYc��		tjd�}|S#ttf$r3	tjd�}Y|S#ttf$rd}YY|SwxYwwxYw)N�SC_PAGESIZE�SC_PAGE_SIZEi)r��sysconfr�r�)�	page_sizes rZr8r8�sr��&���J�J�}�-�	����
��'��	��
�
�>�2�I�����N�+�	��I���	���s&��A�A�A�A�A�Ac#�K�ddl}tjj�}|j	�}	|j�d��|r|j
|d��yy#|r|j
|d��wwxYw�w)NrT)r��all_threads)�faulthandlerr��
__stderr__�fileno�
is_enabledr�r�)rM�fdrPs   rZ�disable_faulthandlerrR�su�����


���	�	�	 �B��(�(�*�J�;�����
�����R�T��:���:����R�T��:��s�3A<�A!�
A<�!A9�9A<c� �eZdZ	d�Zd�Zd�Zy)�SaveSignalsc���ddl}||_|j�|_dD]*}	t||�}|jj|��,i|_y#t$rY�@wxYw)Nr)�SIGKILL�SIGSTOP)�signal�
valid_signals�signalsr�r�r��handlers)rcrX�signame�signums    rZrbzSaveSignals.__init__sm�������+�+�-���-�	(�G�
� ���1��
�L�L����'�	(���
��"�
��
�s�A�	A$�#A$c��|jD]/}|jj|�}|��!||j|<�1yr_)rZrX�	getsignalr[�rcr]�handlers   rZ�savezSaveSignals.save sA���l�l�		,�F��k�k�+�+�F�3�G����$+�D�M�M�&�!�		,rYc��|jj�D]!\}}|jj||��#yr_)r[rvrXr`s   rZ�restorezSaveSignals.restore,s6��#�}�}�2�2�4�	0�O�F�G��K�K���v�w�/�	0rYN)rUrVrWrbrbrdrXrYrZrTrT
s����
,�0rYrTc�"�ddl}|jSr=)rU�
WITH_PYMALLOC)rUs rZ�
with_pymallocrg1s����"�"�"rYc��eZdZ	d�Zd�Zy)�
_ALWAYS_EQc��yr$rX�rc�others  rZ�__eq__z_ALWAYS_EQ.__eq__:���rYc��y�NFrXrks  rZ�__ne__z_ALWAYS_EQ.__ne__<���rYN)rUrVrWrmrqrXrYrZriri6s����rYric� �eZdZ	d�Zd�Zd�Zy)�	_NEVER_EQc��yrprXrks  rZrmz_NEVER_EQ.__eq__ErrrYc��yr$rXrks  rZrqz_NEVER_EQ.__ne__GrnrYc��y)Nr�rXrgs rZ�__hash__z_NEVER_EQ.__hash__Is��rYN)rUrVrWrmrqrxrXrYrZrtrtAs�����rYrtc��eZdZ	d�Zd�Zy)�_LARGESTc�"�t|t�Sr_)r�rzrks  rZrmz_LARGEST.__eq__Ss���%��*�*rYc��yrprXrks  rZ�__lt__z_LARGEST.__lt__UrrrYN)rUrVrWrmr}rXrYrZrzrzNs���+�rYrzc��eZdZ	d�Zd�Zy)�	_SMALLESTc�"�t|t�Sr_)r�rrks  rZrmz_SMALLEST.__eq___s���%��+�+rYc��yrprXrks  rZ�__gt__z_SMALLEST.__gt__arrrYN)rUrVrWrmr�rXrYrZrrZs���,�rYrc�8�	ddl}|jjSr=)�asyncio.events�events�_event_loop_policy)�asyncios rZ�maybe_get_event_loop_policyr�fs��N���>�>�,�,�,rYc�~�||}}ddl}|j�5}|j�dz}t|d�|_|j|�}|dz
|z|z}||z}	||	z
}
||
z
}||dz
z|dz
|z|zz|	d|	z
zz}t
|�t
|j��fcddd�S#1swYyxYw)Nrr��r�)�decimal�localcontext�
bit_length�max�prec�Decimalr�sqrt)
�nbins�nballsr�rr��ctx�bitsrr�p1empty�	meanempty�occupied�
collisions�vars
             rZ�collision_statsr�ss����&�q�A�$�	�	�	�	�4�3��|�|�~��!���t�R�=���
�_�_�Q�
����F�b�=�Q�&����K�	��y�=����\�
��"�Q�$�i�"�Q�$���Q��&��a�)�m�)D�D���Z� �%����
�"3�3�4�4�4�s�BB3�3B<c�&�eZdZ	d�Zd�Zd�Zd�Zy)�catch_unraisable_exceptionc� �d|_d|_yr_)�
unraisable�	_old_hookrgs rZrbz#catch_unraisable_exception.__init__�s�������rYc��||_yr_)r�)rcr�s  rZ�_hookz catch_unraisable_exception._hook�s��%��rYc�Z�tj|_|jt_|Sr_)r��unraisablehookr�r�rgs rZr�z$catch_unraisable_exception.__enter__�s ���+�+���!�Z�Z����rYc�2�|jt_|`yr_)r�r�r�r�)rc�exc_infos  rZr�z#catch_unraisable_exception.__exit__�s��!�^�^����OrYN)rUrVrWrbr�r�r�rXrYrZr�r��s���0�%�
�
rYr�r�c	��	tjdk7r�ddl}|�t}t	j
�}t
|d��D]0}tj|tj�\}}|dk7s�0n{	tj||j�tj|d�t	j
�|z
}td|�d|d�d���tj|d�\}}tj|�}	|	|k7rtd|�d	|	�d
|�d���||k7rtd|�d
|����y#t$rY��wxYw)N�ntrF��errorzprocess z is still running after �.1fz secondsz exited with code z, but exit code z is expectedzpid z != pid )r�r�rXrNr�	monotonic�sleeping_retryrqrr�killrVr��AssertionError�waitstatus_to_exitcode)
r&�exitcoder�rX�
start_timerj�pid2rt�dt�	exitcode2s
          rZ�wait_processr��sZ��	�
�w�w�$����?�"�G��^�^�%�
���u�5�	<�A��:�:�c�2�:�:�6�L�D�&��q�y��	<�
�����V�^�^�,��
�
�3��"�
���!�J�.�B� �8�C�5�1*�*,�S���";�<�
<��z�z�#�q�)���f��)�)�&�1�I��H���x��u�,>�y�k�J.�.6�Z�|�E�F�	F��s�{��t�D�6��#��7�8�8���#�
��
�s�66D5�5	E�Ec���	ddlm}|d�|d�}tjdk(r	|j	d��yy#t
$r}t
jd|����d}~wwxYw)Nr�)�
import_module�_multiprocessingzmultiprocessing.synchronize�linux)r�z broken multiprocessing SemLock: )�
import_helperr�r�r��Lockr�rvr�)r��synchronize�excs   rZ�*skip_if_broken_multiprocessing_synchronizer��s{���
-��$�%� � =�>�K�
�|�|�w��	P�
�����&����	P��#�#�&F�s�g�$N�O�O��	P�s�A�	A&�	A!�!A&c��	|j}|j}|dk7r|�d|��}n|�}dtj|��d�}|jt
||g|��i|��y)N�builtinsr�zcannot create 'z' instances)rVrUrr�r��	TypeError)r��tprdr�modr��qualnamer`s        rZr+r+	so���

�-�-�C�
�;�;�D�
�j���U�!�D�6�?���V���B�I�I�h�/�0��
<�C��H���y�#�r�A�D�A�D�ArYc���		ddl}|j�}t|dz
d�S#ttf$rA}	d}t	j
�}|�|dz
}|j}|��d}n#d}wxYwYd}~�Zd}~wwxYw)Nrr�)rL�get_recursion_depthr?�RecursionErrorr��	_getframe�f_backr�)rL�depthr��frames    rZr�r�s����
� �!�5�5�7���u�q�y�!����
��(�
�	��E��M�M�O�E��#���
�������#�
�E��D�E��E��
�s&�&�A6�+A%�"A1�%A)�)A1�1A6c�J�	tj�}t�}||z
Sr_)r��getrecursionlimitr�)r
r�s  rZ�get_recursion_availabler�/s)���

�!�!�#�E��!�E��5�=�rYc#��K�	tj�}	tj|�d��tj|�y#tj|�wxYw�wr_)r�r��setrecursionlimit)r
�original_limits  rZ�set_recursion_limitr�9sI����1��*�*�,�N�.����e�$�
����n�-�����n�-���A"�A�A"�A�A"c�v�	|dkrtd��t�}t|dz
d�}||z}t|�S)N�z-max_depth must be at least 3, got {max_depth}r�)r�r�r�r�)�	max_depthr�r
s   rZr>r>CsI���
�1�}��H�I�I��!�E����	�1��E��I��E��u�%�%rYr`�likec
�t�t�}tjdt||dt	|��d�z��|S)Nr��
(?#support�))r�r`r�)�objectr�filterwarnings�DeprecationWarning�id)r`r��tokens   rZ�ignore_deprecations_fromr�Ps<���H�E�����#���*�R��Y�K�q�1�1�	��LrY�tokensc��|std��g}td�|D��}tjD]j\}}}}}|dk(rG|tur?t|tj�r
|j}n|xsd}|j|�r�U|j|||||f��ltj|k7r(|tjddtj�yy)Nz<Provide token or tokens returned by ignore_deprecations_fromc3�:K�|]}dt|��d����y�w)r�r�N)r�)r�r�s  rZr�z-clear_ignored_deprecations.<locals>.<genexpr>_s����D�E�
�2�e�9�+�Q�/�D�s�r�r")r�r�r�filtersr�r�r�Patternr|r�r��_filters_mutated)	r��new_filtersr��actionr�r�r`r�r`s	         rZ�clear_ignored_deprecationsr�Zs�����W�X�X��K��D�V�D�D�H�5=�5E�5E�H�1����6�6��X��(�.@�"@��'�2�:�:�.��o�o���m����|�|�H�%�����F�G�X�v�v�F�G�H����;�&�)�������!�!�#�'rYc��	ddl}	ddl}tj
|d�S#t$rtjdd�cYSwxYw#t$rd}Y�HwxYw)NrTzvenv: ensurepip requires zlibzvenv: pip requires ctypes)r>r?rvr�r�r@)r>r�s  rZ�requires_venv_with_pipr�osc��F�������v�'B�C�C���F����t�%D�E�E�F�������s �!�A�A�A�A�Ac��	tjd�xs$tjj	t
d�}tj|�}t|d��}|D]L}|jd�s�|dz}|j|�s�,tjj	||�cStd|�d|����)	N�
WHEEL_PKG_DIR�	wheeldataT)�reversez.whlr�z
No wheel for z
 found in )r$r%r�r�r�rn�listdirrur�r�r�)�pkgname�	wheel_dir�	filenamesrp�prefixs     rZ�
_findwheelr�s����
�(�(��9��R�W�W�\�\��{�>�I��
�
�9�%�I��y�$�/�I��5��� � ��(���3������v�&��7�7�<�<�	�8�4�4�
5��m�G�9�J�y�k�J�
K�KrYc#�K�ddl}ddlm}|�5}tjdddd|g}t
r%t
�t
dd	j|��|j|d
��tjj||�}tjjtj�}tjdk(r"tjj|d
|�}n!tjj|d|�}|dddddtd�td�g}t
r%t
�t
dd	j|��|j|d
��|��ddd�y#1swYyxYw�w)Nrr�)�temp_cwdz-X�devz-m�venvzRun:� T)r�rW�Scripts�bin�pip�installr5�wheel)r-r�r�r�r/rr�r��runr�r�r�r�r�)�venv_dirr-r��temp_dirr�r��
python_exer�s        rZ�$setup_venv_with_pip_setuptools_wheelr�s#�����#�	���x��~�~�t�U�D�&�(�C����G��&�#�(�(�3�-�(����s�$��'��w�w�|�|�H�h�/���W�W�%�%�c�n�n�5�
��<�<�7�"��W�W�\�\�$�	�:�>�F��W�W�\�\�$��z�:�F��t�U��U�I��,�'��'�"�$����G��&�#�(�(�3�-�(����s�$��'���5���s�E?�EE3�*	E?�3E<�8E?�gettotalrefcountc���	|g}|j|�ddl}d�}||_|j|�t	t
d�r!d�}||_tj|��yy)Nrc��yr_rX)�encodings rZ�search_funcz"late_deletion.<locals>.search_func�rnrY�register_at_forkc��yr_rXrXrYrZ�atfork_funcz"late_deletion.<locals>.atfork_func�r�rY)�before)r��codecs�	reference�registerr�r�r)r��	ref_cyclerr
r
s     rZ�
late_deletionr�sg��	�$��I�
���Y����%�K��
�O�O�K� ��r�%�&�	� )���
���;�/�'rYr�c#�K�	|dkrtd��tj�}||z}	d��tj�|k\rn�|r2tj�|z
}d|d�d�}|r|�d|��}t|��y�w)Nrz!timeout must be greater than zeroz	timeout (r�z	 seconds)r�)r�rr�r�)r��err_msgr�r��deadliner�r`s       rZ�
busy_retryr�s������*�!�|��<�=�=����!�J��G�#�H�
�
��>�>��x�'��	�
�
�^�^�
�
�
*���"�S���+����E��G�9�%�C��S�!�!�
�s�A>Bg{�G�z�?g�?)�
init_delay�	max_delayr�c#�K�	|}t|||��D]*}d��tj|�t|dz|�}�,y�w)Nr�r�)rr�sleepr )r�rrrr��delayrjs       rZr�r�
	sI�����0
�E�
����
6�*��
��
�
�5���E�A�I�y�)��	*�s�AAc#��K�	tj�}	tj|�d��tj|�y#tj|�wxYw�wr_)r��get_int_max_str_digits�set_int_max_str_digits)�
max_digits�currents  rZ�adjust_int_max_str_digitsr"/	sI����H��(�(�*�G�,��"�"�:�.�
��"�"�7�+���"�"�7�+�r�i�i��uname�s390xzskipped on s390xz.git�__pycache__c�|�t}tjj|�dk(r	|ddhz}|Sd|vr|dhz}|S)N�Doc�buildr��Modules)� _BASE_COPY_SRC_DIR_IGNORED_NAMESr�r�r�)r��names�ignoreds   rZ�copy_python_src_ignorer-K	s]��.�G�	�w�w������&����	
�	
���N�
�e�	���
�	
���NrYr_)z
requires zlib)z
requires gzip)zrequires bz2)z
requires lzma)z$requires co_positions / debug_ranges)r")T)NrXrX)F)rX)�d)�rUr?�
contextlib�dataclassesr
rcr�rr�r�r$rrr�rvrr�rKrLrMrNr�r�r��__file__�TEST_SUPPORT_DIRrnr}�	REPO_ROOTr�rr	rlr
r�rr&r'rrrrr�junit_xml_listrr�rr
r�r�rrrrrrrr,r-�HAVE_ASAN_FORK_BUGr3r9r�
SOCK_MAX_SIZEr@r�
__getformat__r�rrrrrrOrQrVr�r0r1r�r2r6r3r4r r!r"r#r$r%�has_strftime_extensions�strftimer��
TEST_HTTP_URLrEr�r�r�rkr=rCr�rwr�r�rr9�contextmanagerr�rrrr�r�r�r�r�r�r�r�r�r�r�r�r;rDrrr�_4Gr?r!r�rrAr$rrrErGrrJrMr5r]r_r.r/rfr%�MISSING_C_DOCSTRINGSr
�HAVE_DOCSTRINGS�requires_docstringsrirkr�rlrsr:r?r<rr�r@r�r*r�r�r(r)r�rBrrrrrr/rFrBr7r8rRrTrgrirGrtrH�total_orderingrzrIrrJr��	hash_info�width�	NHASHBITSr�r�r�r�r+r�r�r�r>r�r�r��cacher�rrOrrr�r"rPrQr�r#�machinerR�	frozensetr*r-rXrYrZ�<module>rGs���=��~��
�F�
G�G����
�	�	��
�������'��f�����
����7�7�?�?�2�7�7�?�?�8�#<�=������� 0�1�
�
�W�W�_�_�]�
+�
��G�G�O�O�J�'�	�5�I�5����=�J�=�)�E�)��X�&�&����$����
�
�
�������
���*�
�"K$�Z>�	7��6:�8��:
/� %�U�u��6)�e�E�e�)�%�T�2����$$�
�%�
�(�H�'�'�	����!�,�,�V�4�$�&��-�-�,�-�1�:�@��l�l�g�%�
�
�L�L�#�#�F�+�	�
�S�.�
/�
��<�<�+�+�%/�!�Y�J��J�����,�
�

�,�,�&�
 ���2�v�&�L�}�+<�L�W���O�+�*�:�7�{��V�
'�&�6�w�;��&+�
<� ���<�<�7��
�"/�$�-�-��"6�%�"?��,�
����������]�F�3�
��&�&��3��4��V��,��	1�$�t�	1�41�n���	/��	/�%�%�
$�
�������/�B�$��	
��
�3����W�n�G�
�F��S�=��3�4�
����(�$���4��4�:�F��
�S�j���#�g���#�g������>�3�>�3�>�	��	��	�%�%�B.�`
�$�O�+��!�8�
� *�L�G�7�*�+�I�����/�I�4�I�4�4�5G�H�H��%�,�,�D�8�,�+�+��*�h�)�)�/�*D�F���� �J�J�
����#�<���#��#�<������<5�;��f��D��]�*OB�OB�d4�79��@B� �89�v.�*]�]�@3�D������,�37�
B�;��&+-��B��+�	����;��;�"$0�$0�N#�
��
�L�	�	�	��;��
��������*��
��������;��-�
�M�M���	�4�D)�)�X,0�-9�^P�2
B��.����.��.�&��S��3��6��$��$�4�$�*
D� ���L��L�.������F�3�*�+��"0�J'"�$�'"�T*�#(�C�t�*�D���,��,����� ������G� 4� V������9K�9K�w�9V� 2�4�
�$-�
��	.�$� ���c8�
��
�s�+X%�%X.�-X.