Your IP : 3.141.201.46


Current Path : /opt/alt/python312/lib64/python3.12/__pycache__/
Upload File :
Current File : //opt/alt/python312/lib64/python3.12/__pycache__/platform.cpython-312.opt-2.pyc

�

�Q�ff�����	dZdZddlZddlZddlZddlZddlZddlZddddddddd	d	d
�
Zd�Z	dFd
�Z
dGd�Z		dHd�Z	ddl
Z
d�Zgd�Zgd�Zd�Zd�Zd�ZdId�Zd�ZdJd�Zd�ZdKd�Zd�Zd�ZdGd�Zd �ZdGd!�Zd"d#d$d�Zej@ddfd%�Z!d&�Z"Gd'�d(�Z#d)�Z$Gd*�d+ejJd,d-��Z&da'd.�Z(d/�Z)d0�Z*d1�Z+d2�Z,d3�Z-d4�Z.iZ/dLd5�Z0d6�Z1d7�Z2d8�Z3d9�Z4d:�Z5d;�Z6d<�Z7iZ8dMd=�Z9d>Z:da;d?�Z<d@�Z=e>dAk(r^dBej~vxsdCej~vZ@dDej~vxrdEej~vZAeBe9eAe@��ej�d�yy#e$rd�ZY��(wxYw)Na
    Copyright (c) 1999-2000, Marc-Andre Lemburg; mailto:mal@lemburg.com
    Copyright (c) 2000-2010, eGenix.com Software GmbH; mailto:info@egenix.com

    Permission to use, copy, modify, and distribute this software and its
    documentation for any purpose and without fee or royalty is hereby granted,
    provided that the above copyright notice appear in all copies and that
    both that copyright notice and this permission notice appear in
    supporting documentation or portions thereof, including modifications,
    that you make.

    EGENIX.COM SOFTWARE GMBH DISCLAIMS ALL WARRANTIES WITH REGARD TO
    THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
    FITNESS, IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL,
    INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING
    FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
    NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
    WITH THE USE OR PERFORMANCE OF THIS SOFTWARE !

z1.0.8�N�
���(�2��)
�dev�alpha�a�beta�b�c�RC�rc�pl�pc��tjd�}g}|j|�D])}|dvs�	t|d�}d}|j||f��+|S#t$rt
j
|d�}Y�8wxYw)Nz([0-9]+|[._+-])z._+-r�dr)�re�compile�split�int�
ValueError�_ver_stages�get�extend)�version�component_re�result�v�ts     �//opt/alt/python312/lib64/python3.12/platform.py�_comparable_versionr#�s����:�:�0�1�L�
�F�
�
�
��
(���F�?�
*���2�J����
�M�M�1�a�&�!�)��M���
*��O�O�A�q�)��
*�s�A�A9�8A9�c�r�	|sX	tjd�}|jd��}t|�dk(rt	|�S	tj}|s||fStjdtj�}t}tjj|�}t!|d�5}|j#|�}	d}
|
t|	�k�r*d|	vsd	|	vr|j%|	|
�}nd}|r|j'�t|	�k(r7|j#|�}|r!|	t)|
t|	�d
z
�d|z}	d}
�~|sn�|j+�D�
cgc]}
|
�|
j-d�n|
��c}
\}}}}}}|r|sd}nY|r|d
k7rd
}|}nM||�||�kDr<|}n9|r7|d
k7r2d}|r|r||�||�kDr|}|r|t|�d|k7r||z}|j'�}
|
t|	�kr��*ddd�||fS#t
ttf$rY���wxYwcc}
w#1swY||fSxYw)N�CS_GNU_LIBC_VERSION�)�maxsplit�sC(__libc_init)|(GLIBC_([0-9.]+))|(libc(_\w+)?\.so(?:\.(\d[0-9.]*))?)�rbrslibcsGLIBCi��latin1�libc�glibc)�os�confstrr�len�tuple�AttributeErrorr�OSError�sys�
executablerr�ASCIIr#�path�realpath�open�read�search�end�max�groups�decode)r5�libr�	chunksize�ver�parts�libc_search�V�f�binary�pos�m�chunk�s�libcinitr-�glibcversion�so�threads�	soversions                    r"�libc_verrQ�si����	��*�*�2�3�C��I�I�q�I�)�E��5�z�Q���U�|�#���^�^�
����<���*�*�B�DF�8�8�	M�K�	�A����!�!�*�-�J�	
�j�$�	�1����	�"�����C��K���&� �H��$6��&�&�v�s�3���������3�v�;�.����y�)���#�C��S��[�4�-?�$@�$A�B�U�J�F��C��������E%�#�A�'(�m�����"��:�#�E%�A�H�e�\�2�w�	�������'�>�!�C�*�G��|�_�q��z�1�*�G���'�>� �C� �'�Q�y�\�A�g�J�5N�"+���7�C��L�=�>�#:�g�#E�")�G�"3���%�%�'�C�?�C��K��
 �F��<���q�
�G�4�	��	��JE%�!
 �F��<��s1�?H
�1B'H*�H%�4BH*�
H"�!H"�%H*�*H6c	���	|jd�}|r|j|�	ttttt
|���}dj|dd�}|S#t$r|}Y�#wxYw)N�.�)r�append�list�map�strrr�join)r�build�l�stringss    r"�
_norm_versionr]�sr���	�
�
�c��A��	�������s�3��C���,�-���h�h�w�r��{�#�G��N�������s�'A$�$A2�1A2��win32�win16�dosc	���	tj|vr|||fSddl}dD]/}	|j||j|jddd��}n|||fStjd�}|j�}|j|�}	|	�9|	j�\}}}|ddk(r|dd}|ddk(r|dd}t|�}|||fS#t
|jf$r
}Yd}~��d}~wwxYw)	Nr)rBzcommand /c verz
cmd /c verT�locale)�stdin�stderr�text�encoding�shellz'(?:([\w ]+) ([\w.]+) .*\[.* ([\d.]+)\])���rS)
r4�platform�
subprocess�check_output�DEVNULLr3�CalledProcessErrorrr�strip�matchr>r])
�system�releaser�supported_platformsrk�cmd�info�why�
ver_outputrIs
          r"�_syscmd_verrxs+��	��|�|�.�.��w��'�'��6��	��*�*�3�1;�1C�1C�2<�2D�2D�04�4<�15�+�7�D�
�7��w��'�'����-�.�J�
�:�:�<�D������A��}�#$�8�8�:� �����2�;�#���c�r�l�G��2�;�#���c�r�l�G� ��(���7�G�#�#��3��6�6�7�	���	�s�+C�C+�&C+c���ddd�|}tjdjdj|�|��j	d�}d�|D�}|D�cic]}|d|d	��
c}��fd
�|D�Scc}w)N�Win32_OperatingSystem�Win32_Processor)�OS�CPUzSELECT {} FROM {}�,�c3�>K�|]}|jd����y�w)�=N)�	partition)�.0�is  r"�	<genexpr>z_wmi_query.<locals>.<genexpr>Ks����5��1�a�k�k�#�&��s�rr)c3�(�K�|]	}�|���y�w�N�)r��k�	dict_datas  �r"r�z_wmi_query.<locals>.<genexpr>Ms�����+�d��	�!��d�s�)�_wmi�
exec_query�formatrYr)�table�keys�data�
split_datar�r�s     @r"�
_wmi_queryr�Bs����)�$�
�������2�9�9��H�H�T�N�� 
���5��;�	
�6��5�
�)3�4��A�Q�q�T�1�Q�4�Z��4�	�+�d�+�+��5s�A8c��td��)Nz
not supported)r3)r�s r"r�r�?s
���o�&�&�))�rr'r�post11))rri�U�11)���r�10)�r�rTrz8.1)�r�r)r�8)�r�r'r�7)�r�rr�Vista))�r)i��XP64)�r�r)r�XPMedia))r�r'r�XP)�r�rr�2000)
)r��post2022Server))rri|O�
2022Server))rricE�
2019Server)r��
2016Server)r��2012ServerR2)r��
2012Server)r��2008ServerR2)r��
2008Server)r��
2003Server)r��
2000Serverc��t�dvS)N)�IoTUAP�
NanoServer�WindowsCoreHeadless�	IoTEdgeOS)�
win32_editionr�r�r"�win32_is_iotr�ks���?�Z�Z�Zr�c��		ddl}	d}|j|j|�5}|j|d�dcddd�S#t$rddl}Y�MwxYw#1swYnxYw	y#t$rYywxYw#t$rYywxYw)Nr�,SOFTWARE\Microsoft\Windows NT\CurrentVersion�	EditionId)�winreg�ImportError�_winreg�	OpenKeyEx�HKEY_LOCAL_MACHINE�QueryValueExr3)r��cvkey�keys   r"r�r�ns���
�	%��	�C�E��!�!�&�";�";�U�C�s��*�*�3��<�Q�?�
@�
@���	%�$�	%��D�C��C�
���	���	���
���
�sP�A�A&�A�	A&�
A�A5�A�A5�A!�A&�&	A2�1A2�5	B�Bc�|�	tdddddd�\}}}}}t|�dk(}|r|dk7r	d	|�d
|��}nd	|��}||||fS#t$rYnwxYw	ddlm}n#t
$r	|||d
fcYSwxYw|�}t
|dd�dk(}	t�d}tt|jd
��\}	}
}n9#t$r-|jxs|dd\}	}
}dj|	|
|�}YnwxYw|dd|	|
fk(r<	dj|j�}n#t$r|dddk(rd	|ddz}YnwxYw		ddl}n#t
$rddl}YnwxYw	d}
|j#|j$|
�5}|j'|d�d}ddd�n#1swYnxYwn#t$rYnwxYw#t
$rYnwxYw||||fS)Nr|�Version�ProductType�	BuildType�ServicePackMajorVersion�ServicePackMinorVersionr'�0�SPrSr)�getwindowsversionT�product_typer)rTz{0}.{1}.{2}zSP{}�
z
Service Pack r��CurrentType)r�rr3r4r�r��getattrrxrWrr�platform_versionr��service_pack_majorr2r�r�r�r�r�)r�csd�ptyper��spmajor�spminor�	is_clientr��winver�major�minorrZr�r�r�s               r"�
_win32_verr��s*��
�<F�����%�%�
=
�8��,��w����&�!�+�	��w�#�~��w�i�q��	�*�C��w�i�.�C���U�I�-�-���
��
��)�)���)���U�D�(�(�)���
 �F�����3�q�8�I�<��-��"��!�#�w�}�}�S�'9�:���u�e���<�$�5�5�C�������u�e��&�&�u�e�U�;��<���b�q�z�e�U�^�#�	&��-�-�� 9� 9�:�C���	&��3�B�x�?�*��S���X�o���	&��
�	%����	%�$�	%��
	�C�E��!�!�&�";�";�U�C�s��+�+�C��?��B��D�C�C���	��	���
��
���C��	�)�)s��>A�	A
�A
�A�A*�)A*�0B6�63C,�+C,�:D�D2�1D2�7D<�;F)�<
E�	F)�E�F)�F�.F
�	F�
F�F�	F&�%F&�)	F5�4F5c����d}t|||�\}}}}|rKttt|j	d����|rt
nt}t�fd�|D�|�}||||fS)NFrSc3�4�K�|]\}}|�ks�|���y�wr�r�)r�r �r�
intversions   �r"r�zwin32_ver.<locals>.<genexpr>�s�����B�h�d�a��!�z�/��h�s�
�)r�r1rWrr�_WIN32_CLIENT_RELEASES�_WIN32_SERVER_RELEASES�next)rrrr�r�r��releasesr�s      @r"�	win32_verr��sh����I�%/���e�%D�"�G�S�%����3�s�G�M�M�#�$6�7�8�
�-6�)�<R���B�h�B�G�L���G�S�%�'�'r�c�2�d}tjj|�sy	ddl}t|d�5}|j
|�}ddd�d}d}tj�j}|dvrd}|||fS#t$rYywxYw#1swY�HxYw)Nz0/System/Library/CoreServices/SystemVersion.plistrr*�ProductVersion�r$r$r$)�ppczPower Macintosh�PowerPC)	r.r7�exists�plistlibr�r9�load�uname�machine)�fnr�rFrrr�versioninfor�s       r"�_mac_ver_xmlr��s���	;�B�
�7�7�>�>�"�����
�b�$��1�
�]�]�1�
��
��!�"�G��K��h�h�j� � �G��,�,����K��(�(�������
��s�A>�B
�>	B
�	B
�
Bc�*�	t�}|�|S|||fSr�)r�)rrr�r�rus    r"�mac_verr��s*����>�D������K��(�(r�c�`�ddlm}	|j|�}|�|S|S#t$r|cYSwxYw)Nr)�System)�	java.langr��getPropertyr2)�name�defaultr��values    r"�
_java_getpropr��s=�� ���"�"�4�(���=��N���������s���-�-c�0�		ddl}td|�}td|�}|\}}}td|�}td|�}td|�}|||f}|\}}	}
td|
�}
td|�}td	|	�}	||	|
f}||||fS#t$r	||||fcYSwxYw)
Nrzjava.vendorzjava.versionzjava.vm.namezjava.vm.vendorzjava.vm.versionzjava.os.archzjava.os.namezjava.os.version)r�r�r�)rr�vendor�vminfo�osinfo�java�vm_name�
vm_release�	vm_vendor�os_name�
os_version�os_archs           r"�java_verr	�s���	�/���=�&�
1�F��N�G�4�G�%+�"�G�Z���N�G�4�G��.�	�:�I��0�*�=�J�
�j�)�
+�F�#)� �G�Z���N�G�4�G��N�G�4�G��0�*�=�J�
�j�'�
)�F��F�F�F�*�*��!�/�����.�.�/�s�B�B�Bc��	|dk(r[|dkr|||fS|jd�}|r3	t|d�}|dz
}t|�|d<dj|�}|dkrd}n	d}n|dvrd	}|||fS#t$rY�!wxYw)
N�SunOS�5rSrrT�6�Solaris�r_r`�Windows)rrrXrYr)rqrrrr[r�s     r"�system_aliasr"s��������S�=��7�G�+�+��M�M�#����
&��A�a�D�	����	���5�z��!���(�(�1�+���S�=��F��F�	�%�	%���
�7�G�#�#��'�
��
�s�A-�-	A9�8A9c��	djd�tt|�D��}|jdd�}|jdd�}|jdd�}|jdd�}|jdd�}|jd	d�}|jd
d�}|jdd�}|jdd
�}	|jdd�}||k(rn|}�|ddk(r|dd}|ddk(r�|S)N�-c3�<K�|]}|j����y�wr�)ro)r��xs  r"r�z_platform.<locals>.<genexpr>Rs����=�+<�a����	�+<�s�� �_�/�\�:�;�"�(�)�unknownr$z--ri)rY�filterr0�replace)�argsrj�cleaneds   r"�	_platformr$Ls$����x�x�=�6�#�t�+<�=�=�H�����S�)�H�����S�)�H�����c�*�H�����S�)�H�����S�)�H�����S�)�H�����S�)�H�����S�)�H����	�2�.�H���"�"�4��-���h�����	�
�2�,�#�
��C�R�=���2�,�#�
��Or�c�t�		ddl}	|j�S#t$r|cYSwxYw#t$r|cYSwxYw�Nr)�socketr��gethostnamer3)r�r's  r"�_noder)lsN�������!�!�#�#��	������
�����s��)�&�&�7�7c��	tjj|�}tjj|�r�tjj	tjjtjj
|�tj|���}tjj|�r��|Sr�)r.r7�abspath�islink�normpathrY�dirname�readlink)�filepaths r"�_follow_symlinksr1{s�����w�w���x�(�H�
�'�'�.�.��
"��7�7�#�#��G�G�L�L�������2�B�K�K��4I�J�L��
�'�'�.�.��
"��Or�c�L�	tjdvr|S	ddl}t	|�}ttjd��}	|jdd|g|j|��}|s|S|jd�S#t$r|cYSwxYw#t|jf$r|cYSwxYw)	N)rar_r`r�C)�LC_ALL�filez-b)re�envzlatin-1)
r4rjrkr�r1�dictr.�environrlrmr3rnr?)�targetr�rkr6�outputs     r"�_syscmd_filer;�s�����|�|�0�0������f�
%�F��r�z�z�#�
&�C���(�(�&�$��)?�0:�0B�0B�-0�)�2��
����=�=��#�#��#������
�Z�2�2�3�����s#�A8�!B	�8B�B�	B#�"B#)r$�	WindowsPE)r$r)r$�MSDOSc��	|s&ddl}|jd�}t|dz�dz}|r
t|d�}nd}|sO|tj
k(r<tjtvr"ttj\}}|r|}|r|}||fSd|vrd|vr||fSd|vrd	}nd
|vrd}d|vrd}||fSd
|vrd|vrd}||fSd
}||fSd|vrd}||fSd|vrd}||fS	||fS)Nr�P��bitr$r5z
shared objectz32-bit�32bitz64-bit�64bit�ELF�PErr<�COFFzMS-DOSr=)�struct�calcsizerXr;r4r5rj�_default_architecture)r5�bits�linkagerG�size�fileoutr
r[s        r"�architecturerN�sY���*�����s�#���4�!�8�}�u�$����z�2�.������S�^�^�#��<�<�0�0�(����6�D�A�q��������W�}���7�"��g�'E��W�}���7����	�W�	���
�������=��
������!�G���=���G���=��
�7�	�����=��

�W�	���
��=��	
���=�r�c��	tdd�^}}	gd�t|�}|r|St
jjdd�xs t
jjdd�S#ttf$rY�SwxYw#t$rY�bwxYw)Nr}�Architecture)
�x86�MIPS�Alphar�N�ARM�ia64NN�AMD64NN�ARM64�PROCESSOR_ARCHITEW6432r$�PROCESSOR_ARCHITECTURE)r�rr�
IndexErrorr3r.r8r)�archrs  r"�_get_machine_win32r\�s������~�6�
���		���$�i��D����
�
�
���/��4�	5�
�
�
���/��4����J�'�	��	���
��
�s"�A<�A'�'A9�8A9�<	B�Bc�.�eZdZed��Zd�Zd�Zd�Zy)�
_Processorc�h�t|dtj��|j�}|�xsdS)N�get_r$)r�r4rj�from_subprocess)�cls�funcs  r"rz_Processor.gets-���s�d�3�<�<�.�1�3�3F�3F�G���v�|��r�c��	tddd�\}}|�d|��S#t$r+tjj	dt��cYSwxYw)Nr}�Manufacturer�Caption�, �PROCESSOR_IDENTIFIER)r�r3r.r8rr\)�manufacturer�captions  r"�	get_win32z_Processor.get_win32!sZ��	0�$.�u�n�i�$P�!�L�'��Y�b���/�/���	P��:�:�>�>�"8�:L�:N�O�O�	P�s��1A
�A
c�f�	ddl}|jdd�\}}|dk\rdSdS#t$rYywxYw)NrzSYI$_CPU�rS�VAX)�vms_lib�getsyir�)ro�csid�
cpu_numbers   r"�get_OpenVMSz_Processor.get_OpenVMS)sG��	;�� '�~�~�j�!�<��D�*�(�C�/�7�:�U�:��	�	��	�s�$�	0�0c���		ddl}	|jddg|jdd��j	�S#t$rYywxYw#t
|jf$rYywxYw)Nrr�z-pT�utf8)rerfrg)rkr�rlrmror3rn)rks r"raz_Processor.from_subprocess2s}��	�	��	��*�*��$��!�)�)���	+��
�e�g�
���	��	����6�6�7�	��	�s �7�.A�	A�A�A�AN)�__name__�
__module__�__qualname__�classmethodrrkrsrar�r�r"r^r^s#������0�;�r�r^c��|dk(rdS|S)Nrr$r�)�vals r"�_unknown_as_blankr|Es���	�!�2�*�s�*r�c�j��eZdZ	dZej
d��Z�fd�Zed��Z	d�Z
d�Zd�Z�xZ
S)�uname_result)rq�noderrrr��	processorc�<�ttj��Sr�)r|r^r��selfs r"r�zuname_result.processorYs�� ����!1�2�2r�c�^��tjt�|�
�|jf�Sr�)�	itertools�chain�super�__iter__r�)r��	__class__s �r"r�zuname_result.__iter__]s)�������G���
�^�^��
�	
r�c��t|j�dz
}|j|g|���}t|�|dzk7rd|�dt|���}t|��|S)Nr'z	Expected z arguments, got )r0�_fields�__new__�	TypeError)rb�iterable�
num_fieldsr�msgs     r"�_makezuname_result._makecsb������%��)�
�����S�,�8�,���v�;�*�q�.�(��j�\�)9�#�f�+��G�C��C�.� ��
r�c��t|�|Sr�)r1)r�r�s  r"�__getitem__zuname_result.__getitem__ms���T�{�3��r�c�<�ttt|���Sr�)r0r1�iterr�s r"�__len__zuname_result.__len__ps���5��d��$�%�%r�c�V�tt|�dt|j�dz
fS�Nr')r~r1r0r�r�s r"�
__reduce__zuname_result.__reduce__ss'���U�4�[�)?�#�d�l�l�*;�a�*?�@�@�@r�)rvrwrxr��	functools�cached_propertyr�r�ryr�r�r�r��
__classcell__)r�s@r"r~r~KsQ���
�O�G����3��3�
����� �&�Ar�r~�uname_result_basez#system node release version machinec��	t�tS	tj�x\}}}}}}t|�s�|dk(rt�\}}}}|xs
t�}|r|s0t|�\}}}|dk(rd}n|dk(r|dk(rd}d|ddk(rd	}nd}|d
vr|s
|dk(rd}nd}d}n.|dd
dk(r&t�\}}}	}
d}dj|	�}|s|}|dk(r|r|dk(r|}d}|dk(r	|dk(rd}d	}|||||f}ttt|��atS#t$r&tj
}t
�}dx}x}}d}Y��wxYw)Nr$r�r_zMicrosoft Windowsr�	Microsoftz6.0rTr�rrB�16bitr�r�Javarg�OpenVMSr�)�_uname_cacher.r�r2r4rjr)�anyr�r\rxr	rYr~rWr|)rqrrrrr��infosr�r�r�rr�valss            r"r�r�zs���	������:<�(�(�*�D�/���g�w��%��u�:��W��+4�;�(�G�W�c�5��5�!3�!5�G��G�'2�6�':�$�F�G�W��,�,�"���;�&�7�i�+?�
#���G�B�Q�K�'�%�G� �G��'�'���W�$�%�G�%�G��F�
�B�Q�Z�6�
!�.6�j�+�G�V�V�V��F��i�i��'�G�� ������'�S�.��G��G�����I�!5������4��'�7�2�D���%6��!=�>�L����C�������w��&(�(��(�'�G���	�s�D�+D=�<D=c�,�	t�jSr�)r�rqr�r�r"rqrq�s���
�7�>�>�r�c�,�	t�jSr�)r�rr�r�r"rr�s����7�<�<�r�c�,�	t�jSr�)r�rrr�r�r"rrrr�����
�7�?�?�r�c�,�	t�jSr�)r�rr�r�r"rr�r�r�c�,�	t�jSr�)r�r�r�r�r"r�r��r�r�c�,�	t�jSr�)r�r�r�r�r"r�r�s����7���r�c�2�	|�tj}tj|d�}|�|St	j
dtj�}tjjd�rWd}|j|�}|�tdt|�z��|j�\}}}}}	|�d}tj}
n�d|vrYt	j
d�}d}|j|�}|�tdt|�z��|j�\}}}}d}
nQ|j|�}|�td	t|�z��|j�\}}}}}
d
}|�d}n
|r|dz|z}ttd�rtj\}	}}
n)ttd
�rtj\}	}}
nd}d}
|j!d�}t#|�dk(r"|j%d�dj'|�}||||
|||
f}|t|<|S)NzL([\w.+]+)\s*\(#?([^,]+)(?:,\s*([\w ]*)(?:,\s*([\w :]*))?)?\)\s*\[([^\]]+)\]?r�Jythonz&failed to parse Jython sys.version: %sr$�PyPyzE([\w.+]+)\s*\(#?([^,]+),\s*([\w ]+),\s*([\w :]+)\)\s*\[PyPy [^\]]+\]?z$failed to parse PyPy sys.version: %sz'failed to parse CPython sys.version: %s�CPythonr�_git�
_mercurialrSr)r�)r4r�_sys_version_cacherrrr6rj�
startswithrpr�reprr>�hasattrr�r�rr0rUrY)�sys_versionr�sys_version_parserr�rpr�buildno�	builddate�	buildtimer�compiler�pypy_sys_version_parser�branch�revisionr[s               r"�_sys_versionr�s?���&���k�k�� �
#�
#�K��
6�F�
���
����	��(�(�$���|�|���v�&���"�(�(��5���=��8��[�!�"�#�
#�5:�L�L�N�1���)�Y�����I��<�<��	�;�	�"$�*�*�
 �#!��
��'�-�-�k�:���=��C�!�+�.�/�0�
0�16����.���)�Y���#�(�(��5���=��9��[�!�"�#�
#��l�l�n�	9���)�Y�������I�
�!�C��)�3�I��s�F��!�h�h���6�8�	��l�	#�!�n�n���6�8�����	�
�
�c��A�
�1�v��{�	����
��(�(�1�+���G�V�X�w�	�8�
L�F�&,��{�#��Mr�c��	t�dSr&�r�r�r�r"�python_implementationr�ss����>�!��r�c��	t�dSr�r�r�r�r"�python_versionr�s����>�!��r�c�N�	tt�djd��S)Nr'rS)r1r�rr�r�r"�python_version_tupler��s&�������"�(�(��-�.�.r�c��	t�dS)Nr)r�r�r�r"�
python_branchr��s����>�!��r�c��	t�dS)NrTr�r�r�r"�python_revisionr��s����>�!��r�c��	t�ddS)Nr�r�r�r�r�r"�python_buildr��s����>�!�A��r�c��	t�dS)Nr�r�r�r�r"�python_compilerr��s����>�!��r�c	�|�	tj||fd�}|�|St�\}}}}}}||k(rd}|rt|||�\}}}|dk(rt	�d}	|	rd}|	}|dk(r.t|�\}
}}}
|r
t
||�}n�t
||||�}n�|dk(r!t�\}}t
||||d||z�}nw|dk(r7t�\}}}\}}}|s|st
|||�}nMt
|||d	|||�}n;|r
t
||�}n,ttj�\}}t
||||||�}|t||f<|S)
Nr$�Darwinr�macOSr�Linux�withr��on)�_platform_cacherr�rr�r�r$rQr	rNr4r5)�aliased�terserrqrrrrr�r��
macos_release�rel�versr�r�rj�libcname�libcversionr�r rrrrrJrKs                         r"rjrj�s����"�
 �
 �'�5�!1�4�
8�F�
���
�:?��6�F�D�'�7�G�Y��)���	��#/����#I� ����
����	�!��
���F�#�G�
��� )�'� 2���T�3��� ���1�H� ���'�3�?�H�	�7�	� (�
���+��V�W�g�y�#�%�k�1�3��
�6�	�7?�z�4��1�f�4�w�
�G��� ���'�:�H� ���'�!%�!(�*�g�?�H�� ���1�H�(����8�M�D�'� ���'�!*�D�'�;�H�)1�O�W�e�$�%��Or�)z/etc/os-releasez/usr/lib/os-releasec��dddd�}tjd�}tjd�}|D]I}|j|�}|��|jd|j	d��||j	d�<�K|S)	Nr��linux)�NAME�ID�PRETTY_NAMEzA^(?P<name>[a-zA-Z0-9_]+)=(?P<quote>["']?)(?P<value>.*)(?P=quote)$z\\([\\\$\"\'`])z\1r�r�)rrrp�sub�group)�linesru�os_release_line�os_release_unescape�line�mos      r"�_parse_os_releaser�s�������D��j�j�M��O��*�*�%7�8����
�
"�
"�4�
(��
�>�%8�%<�%<��r�x�x��(�&�D����&�!�"���Kr�c�^�	t�ed}tD]8}	t|d��5}t|�addd�tj�St	|ddj
t�����tj�S#1swY�UxYw#t$r}|j
}Yd}~��d}~wwxYw)Nzutf-8)rgzUnable to read files rg)�_os_release_cache�_os_release_candidatesr9r�r3�errnorY�copy)r��	candidaterF�es    r"�freedesktop_os_releaser�0s����� ���/�I�
 ��)�g�6�!�(9�!�(<�%�7���!�!�#�#�0���'��	�	�2H�(I�'J�K��
�
�!�!�#�#�7�6���
 ������
 �s-�
B
�B�B
�B
	�B
�
	B,�B'�'B,�__main__r�z--terse�
nonaliasedz--nonaliased)Nr$r$i@)r$)r$r$r$r^)r$r$r$r$)r$r�r$)r$r$r�r�r�)FF)D�
__copyright__�__version__�collectionsr.rr4r�r�rr#rQr]rxr�r�r�r�r�r�r�r�r�r�r�r�r	rr$r)r1r;rIr5rNr\r^r|�
namedtupler~r�r�rqrrrrr�r�r�r�r�r�r�r�r�r�r�r�rjr�r�r�r�rv�argvr�r��print�exitr�r�r"�<module>r�s/���t�
�*���	�	�
����
�b��R�	�
�B�

�C�	��� N�`
�202�#<�4$�l,��
,�����[��$<*�|
(�)�,)�&	�+�F&$�T�@
�	� $�N�
���� �N�N��R�I�X�8'�'�T+�)A��K����-�/�)A�X��U�r�����
���`�D
��	/�������H�\D�����6$�2�z��
����
 �
9�I����$9�E��3�8�8�+�N�N�c�h�h�4N�G�	�(�7�E�
"�#��C�H�H�Q�K���W �'�'�'�s�E!�!E-�,E-

?>