add-determinism 0.7.3

RPM buildroot helper to strip nondeterministic bits in files
Documentation
�

��Vc�cs�dZddlZejdkred���ddlZddlZddlZddlZddlZddl	Z	ddl
Z
dZdZej
Z
ejZej��Zdded	�d
�ZGd�d��ZGd
�dej��ZdS)z)Various Windows specific bits and pieces.�NZwin32z
win32 only)�pipe�Popen�PIPE�
PipeHandlei F)TT)�duplex�
overlapped�bufsizec
sR�tjd�tj��tt�������}|r*tj}tj	tj
z}||}}ntj}tj
}d|}}|tjz}|dr|tj
z}|dr
tj
}nd}dx}	}
	tj||tjd||tjtj��}	tj||dtjtj|tj��}
tj|	d���}|�d��|	|
fS#|	�tj|	��|
�tj|
���xYw)zELike os.pipe() but with overlapped support and using handles not fds.z\\.\pipe\python-pipe-{:d}-{:d}-)ZprefixriNT�r)�tempfileZmktempZformat�osZgetpidZnext�
_mmap_counter�_winapiZPIPE_ACCESS_DUPLEXZGENERIC_READZ
GENERIC_WRITEZPIPE_ACCESS_INBOUNDZFILE_FLAG_FIRST_PIPE_INSTANCEZFILE_FLAG_OVERLAPPEDZCreateNamedPipeZ	PIPE_WAITZNMPWAIT_WAIT_FOREVERZNULLZ
CreateFileZ
OPEN_EXISTINGZConnectNamedPipeZGetOverlappedResult�CloseHandle)rrrZaddressZopenmodeZaccessZobsizeZibsizeZflags_and_attribsZh1Zh2Zovs            �./usr/lib64/python3.11/asyncio/windows_utils.pyrr s����o�1�8�8��I�K�K��m�,�,�.�.�/�/�/�G��$��-���%��(=�=�� �'�����.���&���G�����5�5�H��!�}�1��G�0�0���!�}��#�8������N�B���
�
$��X�w�0�
�v�v�w�;�W�\�K�K���
��V�Q���g�.C��w�|�-�-���
%�b�T�
:�
:�
:��
���t�$�$�$��2�v�
���
�	$����#�#�#�
�	$����#�#�#�
���s
�BE7�7/F&csp�eZdZdZd�Zd�Zed���Zd�Ze	j
d�d�Zej
fd�Zd	�Zd
�ZdS)rz�Wrapper for an overlapped pipe handle which is vaguely file-object like.

    The IOCP event loop can use these instead of socket objects.
    cs�||_dS�N��_handle��self�handle�  r�__init__zPipeHandle.__init__Vs
�������csP�|j�d|j��}nd}d|jj�d|�d�S)Nzhandle=Zclosedz<z z>)r�	__class__�__name__rrr�__repr__zPipeHandle.__repr__Ys@���<�	�/�t�|�/�/�F�F��F�6�4�>�*�6�6�V�6�6�6�6rcs�|jSrr�r� rrzPipeHandle.handle`s
���|�rcs<�|j�td���|jS)NzI/O operation on closed pipe)rZ
ValueErrorrrr�filenozPipeHandle.filenods#���<�	=��;�<�<�<��|�r)r
csF�|j�||j��d|_dSdSrr)rr
rr�closezPipeHandle.closeis3���<�	 ��K���%�%�%��D�L�L�L�	 �	 rcsl�|j�,|d|��t|���|���dSdS)Nz	unclosed )Zsource)rZResourceWarningr)rZ_warnrr�__del__zPipeHandle.__del__nsG���<�	��E�&�d�&�&���E�E�E�E��J�J�L�L�L�L�L�	�	rcs�|Sr�rrr�	__enter__zPipeHandle.__enter__ss���rcs.�|���dSr)r)rZtZvZtbs    r�__exit__zPipeHandle.__exit__vs���
�
�����rN)r�
__module__�__qualname__�__doc__rrZpropertyrrrr
r�warningsZwarnrr!r"r rrrrQs������������7�7�7�����X�����
$+�#6� � � � � �
%�M�����
�������rrcs$��eZdZdZd�fd�	Z�xZS)rz�Replacement for subprocess.Popen using overlapped pipe handles.

    The stdin, stdout, stderr are None or instances of PipeHandle.
    Ncs���|�d��rJ�|�dd��dksJ�dx}x}}dx}	x}
}|tkr4tdd���\}}	tj|t
j��}n|}|tkr)td���\}
}
tj|
d��}n|}|tkr)td���\}}tj|d��}n|tkr|}n|}	t��j	|f|||d	�|��|	�t|	��|_|
�t|
��|_|�t|��|_
n$#|	|
|fD]}|�tj|����xYw|tkrtj|��|tkrtj|��|tkrtj|��dSdS#|tkrtj|��|tkrtj|��|tkrtj|��wwxYw)
NZuniversal_newlinesrr)FTT)rr)TFr)�stdin�stdout�stderr)Zgetrr�msvcrtZopen_osfhandler
ZO_RDONLY�STDOUTZsuperrrr'r(r)rr
r)rZargsr'r(r)ZkwdsZ	stdin_rfdZ
stdout_wfdZ
stderr_wfdZstdin_whZ	stdout_rhZ	stderr_rhZstdin_rhZ	stdout_whZ	stderr_whZhrs                �rrzPopen.__init__�s�����8�8�0�1�1�1�1�1��x�x�	�1�%�%��*�*�*�*�.2�2�	�2�J��+/�/��/�9�y��D�=�	�!%��t�!L�!L�!L��H�h��-�h���D�D�I�I��I��T�>�	 �#'�=�#A�#A�#A� �I�y��.�y�!�<�<�J�J��J��T�>�	 �#'�=�#A�#A�#A� �I�y��.�y�!�<�<�J�J�
�v�
�	 �#�J�J��J�	%��E�G�G��T�
8��:�$.�
8�
8�26�
8�
8�
8��
2�'��1�1��
��
4�(��3�3����
4�(��3�3�����	��	�9�5�
+�
+���+��'��*�*�*��������}�
$����#�#�#���~�
%����$�$�$���~�
%����$�$�$�$�$�
%�
%��	��}�
$����#�#�#���~�
%����$�$�$���~�
%����$�$�$�$�
%���s �=E�AG#�!E?�?G#�#A I)NNN)rr#r$r%rZ
__classcell__)rs@rrr}sG���������+%�+%�+%�+%�+%�+%�+%�+%�+%�+%rr)r%ZsysZplatformZImportErrorrZ	itertoolsr*r
Z
subprocessr	r&Z__all__ZBUFSIZErr+Zcountrrrrr rr�<module>r,s'��/�/�
�
�
�
��<�7��$�
�+�l�
#�
#�#���������
�
�
�
�	�	�	�	�������������0�������	�	���	��!�!�
��\�7�+�+�+�+�+�b&�&�&�&�&�&�&�&�X0%�0%�0%�0%�0%�J��0%�0%�0%�0%�0%r