Current File : //opt/alt/python313/lib64/python3.13/__pycache__/platform.cpython-313.opt-2.pyc
�

sdYh����z�SrSrSSKrSSKrSSKrSSKrSSKrSSKrSSKqSSSSSSSSS	S	S
.
r
SrSKS
jrSLSjr
SMSjrSr/SQr/SQrSrSrSrSNSjrSrSOSjr\R0"S/SQ5rSPSjrSrSQSjr\R0"SS 5rSRS!jrS"rS#r SLS$jr!S%r"SLS&jr#S'S(S)S.r$\RJSS4S*jr&S+r'"S,S-5r(S.r)"S/S0\R0"S1S255r*Sq+S3r,S4r-S5r.S6r/S7r0S8r1S9r20r3SSS:jr4S;r5S<r6S=r7S>r8S?r9S@r:SAr;0r<STSBjr=SCr>Sq?SDr@SErA\BSF:XalSG\R�;=(d SH\R�;rDSI\R�;=(a SJ\R�;rE\F"\="\E\D55 \R�"S5 gg!\	a SqGN�f=f)Ua
    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��[R"S5n/nURU5H,nUS;dM[US5nSnURXC45 M. U$![a [
R
US5nN:f=f)Nz([0-9]+|[._+-])z._+-r�dr)�re�compile�split�int�
ValueError�_ver_stages�get�extend)�version�component_re�result�v�ts     �//opt/alt/python313/lib64/python3.13/platform.py�_comparable_versionr#�s���:�:�0�1�L�
�F�
�
�
��
(���F�?�
*���2�J����
�M�M�1�&�!�)��M���
*��O�O�A�q�)��
*�s�A� A?�>A?�c��U(d[[R"S5nURSS9n[U5S:Xa[	U5$[RnU(dX4$[R"S[R5n[n[RRU5n[!US5nUR#U5n	Sn
U
[U	5:GakSU	;dS	U	;aUR%X�5nOSnU(aUR'5[U	5:XaBUR#U5nU(a"U	[)U
[U	5S
-
5SU-n	Sn
M�U(dO�UR+5V
s/sHn
U
bU
R-S5OU
PM sn
up�nnnnU(a
U(dSnOwU(a US
:waS
nUnOeU"U5U"U5:�aUnOPU(aIUS
:waCSnU(aU(aU"U5U"U5:�aUnU(aU[U5*SU:waUU-nUR'5n
U
[U	5:aGMkSSS5 X4$![
[[4a GN"f=fs sn
f!,(df   X4$=f)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�s^���	��*�*�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�3���������3�v�;�.����y�)���#�C��S��[�4�-?�$@�$A�B�U�J�F��C��������E%�#�A�'(�m�����"��:�#�E%�A�H�\�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�>I�9B<I4�5 I/�B0I4�I,�+I,�/I4�4
Jc	���URS5nU(aURU5 [[[[[
U555nSRUSS5nU$![a UnN$f=f)N�.�)r�append�list�map�strrr�join)r�build�l�stringss    r"�
_norm_versionr]�sm��
	�
�
�c��A��	�������s�3��C���,�-���h�h�w�r��{�#�G��N�������s�'A(�(A7�6A7��win32�win16�dosc
���[RU;aXU4$SSKnSH,nURUURURSSSS9n O XU4$[R"S5nUR5nURU5n	U	b:U	R5upnUSS:XaUSSnUSS:XaUSSn[U5nXU4$![
UR4anSnAM�SnAff=f)	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_verrx
s���|�|�.�.���'�'��6��	��*�*�3�1;�1C�1C�2<�2D�2D�04�4<�15�+�7�D�
�7���'�'����-�.�J�
�:�:�<�D������A��}�#$�8�8�:� ����2�;�#���c�r�l�G��2�;�#���c�r�l�G� ��(���G�#�#��3��6�6�7�	���	�s�(C�C,�'C,c�f^�[(d[S5eSSS.Un[R"SRSR	U5U55RS5nSU5nUVs0sHoDS	US
_M
 snmU4SjU5$![a Sq[S5ef=fs snf)Nz
not supported�Win32_OperatingSystem�Win32_Processor)�OS�CPUzSELECT {} FROM {}�,�c3�B# �UHoRS5v� M g7f)�=N)�	partition)�.0�is  r"�	<genexpr>�_wmi_query.<locals>.<genexpr>Qs���1�D�q�+�+�c�"�"�D�s�rr)c3�.># �UH
nTUv� M g7f�N�)r��k�	dict_datas  �r"r�r�Ss����'�$�Q�I�a�L�$�s�)�_wmir3�
exec_query�formatrYr)�table�keys�data�
split_datar�r�s     @r"�
_wmi_queryr�As�����4��o�&�&�%� �
��

�E�'����2�9�9��H�H�T�N�� 
���5��;�	
�2�D�1�J�%/�0�Z��1��q��t��Z�0�I�'�$�'�'���'����o�&�&�'��1s�AB�2B.�B+))�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��post2025Server))rri�e�
2025Server))rri|O�
2022Server))rricE�
2019Server)r��
2016Server)r��2012ServerR2)r��
2012Server)r��2008ServerR2)r��
2008Server)r��
2003Server)r��
2000Serverc��[5S;$)N)�IoTUAP�
NanoServer�WindowsCoreHeadless�	IoTEdgeOS)�
win32_editionr��r"�win32_is_iotr�rs���?�Z�Z�Zr�c���SSKnSnURURU5nURUS5SsSSS5 $!,(df   g=f![a gf=f![
a gf=f)Nr�,SOFTWARE\Microsoft\Windows NT\CurrentVersion�	EditionId)�winreg�	OpenKeyEx�HKEY_LOCAL_MACHINE�QueryValueExr3�ImportError)r��cvkey�keys   r"r�r�us���
��	�C�E��!�!�&�";�";�U�C�s��*�*�3��<�Q�?�D�C�C�
���	���	���
���
�s>�A%�A�A�	A�
A�A�A�
A"�!A"�%
A2�1A2c�j�[SSSSSS5upp$n[U5S:HnU(aUS:wa	S	US
U3nOS	U3nXX&4$![a Of=fSSKJn O![
a XUS
4s$f=fU"5n[
USS5S:Hn[5Sn[[URS
55up�nO=![a0 UR=(d USSup�nSRX�U5nOf=fUSSX�4:Xa>SRUR5nO!![a USSS:XaS	USS-nOf=fSSKnSn
UR!UR"U
5nUR%US5SnSSS5 O1!,(df   O#=f![a Of=f![
a Of=fXX&4$)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�csd�ptyper��spmajor�spminor�	is_clientr��winver�major�minorrZr�r�r�s               r"�
_win32_verr��s���
�<F�����%�%�
=
�8������&�!�+�	��w�#�~��w�i�q��	�*�C��w�i�.�C��U�-�-���
��
��)�)���)��U�D�(�(�)���
 �F�����3�q�8�I�<��-��"��!�#�w�}�}�S�'9�:���e���<�$�5�5�C�������e��&�&�u�U�;��<���b�q�z�e�^�#�	&��-�-�� 9� 9�:�C���	&��3�B�x�?�*��S���X�o���	&��
��	�C�E��!�!�&�";�";�U�C�s��+�+�C��?��B��D�C�C���	��	���
��
����)�)s��AA�
A�A�A�A-�,A-�/B8�87C2�1C2�D�D:�9D:�>F!�F�!F�7F�
F�
F�F�
F�F�!
F.�-F.c��^�Sn[XU5upp4U(aQ[[[UR	S555mU(a[
O[n[U4SjU5U5nXX#4$)NFrSc3�<># �UHupUT::dM
Uv� M g7fr�r�)r�r �r�
intversions   �r"r��win32_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��s^����I�%/��e�%D�"�G�%���3�s�G�M�M�#�$6�7�8�
�-6�)�<R���B�h�B�G�L���S�'�'r�c�L�Sn[RRU5(dgSSKn[US5nUR
U5nSSS5 WSnSn[R"5RnUS;aSnXEU4$![a gf=f!,(df   NP=f)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��,�,�����(�(�������
��s�B�B�
B�B�
B#c�(�[5nUbU$XU4$r�)r�)rrr�r�rus    r"�mac_verr��s#���>�D�������(�(r��IOSVersionInfo)rqrr�model�is_simulatorc��[RS:XaSSKnUR5nUb[	U6$[	XX#5$)N�iosr)r4rj�_ios_support�get_platform_iosr�)rqrrr�r�r�rs      r"�ios_verr��s?���|�|�u����.�.�0����!�6�*�*��&�5�?�?r�c�d�SSKJn URU5nUcU$U$![a Us$f=f)Nr)�System)�	java.langr�getPropertyr2)�name�defaultr�values    r"�
_java_getpropr
s=�� ���"�"�4�(���=��N���������s� � �/�/c�H�SSKnURSSS9 SSKn[	SU5n[	SU5nUupgn[	SU5n[	SU5n[	S	U5nXgU4nUup�n[	S
U5n[	SU	5n	[	SU
5n
X�U4nXX#4$![a XX#4s$f=f)
Nr�java_ver)rT�)�removezjava.vendorzjava.versionzjava.vm.namezjava.vm.vendorzjava.vm.versionzjava.os.archzjava.os.namezjava.os.version)�warnings�_deprecatedrr�r)rr�vendor�vminfo�osinfor�java�vm_name�
vm_release�	vm_vendor�os_name�
os_version�os_archs            r"rrs��������G��4�/���=�&�
1�F��N�G�4�G�%+�"�G���N�G�4�G��.�	�:�I��0�*�=�J�
�)�
+�F�#)� �G���N�G�4�G��N�G�4�G��0�*�=�J�
�'�
)�F��F�*�*��!�/���.�.�/�s�B�B!� B!�
AndroidVerz7release api_level manufacturer model device is_emulatorc�D^	^
�[RS:XanSSKJnJnJm	 [
U"S5S5m
Xw4T
lU	U
4SjnU"SU5n[U"SU55nU"S	U5nU"S
U5nU"SU5nU"SS
5S:Hn[XX#XE5$![a Nf=f)N�androidr)�CDLL�c_char_p�create_string_bufferzlibc.so�__system_property_getc�>�SnT"U5nT"URS5U5nUS:XaU$URRSS5$)N�\zUTF-8r�backslashreplace)�encoderr?)rr�PROP_VALUE_MAX�buffer�lengthr�system_property_gets     ��r"�getprop�android_ver.<locals>.getpropMsM���!#��-�n�=��,�T�[�[��-A�6�J���Q�;�#�N�!�<�<�.�.�w�8J�K�Kr�zro.build.version.releasezro.build.version.sdkzro.product.manufacturerzro.product.modelzro.product.devicezro.kernel.qemur��1)r4rj�ctypesrrrr��argtypesrr�r)rr�	api_level�manufacturerr��device�is_emulatorrrr&rr%s         @@r"�android_verr/?s����
�|�|�y� �	@�C�C�#*�$�y�/�;R�"S��,4�+?��(�

L��8�'�B�G��G�$:�I�F�G�I�"�#<�l�K�L��.��6�E��0�&�9�F�!�"2�C�8�C�?�K���L��F�F��9�	��	�s�
B�
B�Bc��US:XaaUS:aXU4$URS5nU(a3[US5nUS-
n[U5US'SRU5nUS:aSnOSnOUS;aS	nXU4$![a N$f=f)
N�SunOS�5rSrrT�6�Solaris�r_r`�Windows)rrrXrYr)rqrrrr[r�s     r"�system_aliasr7fs�������S�=��G�+�+��M�M�#����
&��A�a�D�	����	���5�z��!���(�(�1�+���S�=��F��F�	�%�	%���
�G�#�#��'�
��
�s�A4�4
B�Bc��SRS[[U555nURSS5nURSS5nURSS5nURSS5nURSS5nURS	S5nURS
S5nURSS5nURSS
5nURSS5nX!:XaOUnMU(a USS:XaUSSnU(aUSS:XaMU$)N�-c3�@# �UHoR5v� M g7fr�)ro)r��xs  r"r��_platform.<locals>.<genexpr>�s���=�+<�a���	�	�+<�s�� �_�/�\�:�;�"�(�)�unknownr$z--ri)rY�filterr0�replace)�argsrj�cleaneds   r"�	_platformrK�s!���x�x�=�6�#�t�+<�=�=�H�����S�)�H�����S�)�H�����c�*�H�����S�)�H�����S�)�H�����S�)�H�����S�)�H�����S�)�H����	�2�.�H���"�"�4��-�������	�
�x��|�s�*��C�R�=���x��|�s�*��Or�c�v�SSKnUR5$![a Us$f=f![a Us$f=f�Nr)�socketr��gethostnamer3)rrNs  r"�_noderP�sI������!�!�#�#��	������
�����s��)�&�&�8�8c��[RRU5n[RRU5(a�[RR	[RR[RR
U5[R"U555n[RRU5(aM�U$r�)r.r7�abspath�islink�normpathrY�dirname�readlink)�filepaths r"�_follow_symlinksrX�s���
�w�w���x�(�H�
�'�'�.�.��
"�
"��7�7�#�#��G�G�L�L�������2�B�K�K��4I�J�L��
�'�'�.�.��
"�
"��Or�c�P�[RS;aU$SSKn[	U5n[[RSS9nURSSU/URUS9nU(dU$URS5$![a Us$f=f![UR4a Us$f=f)	N>rar��tvosr`r_�watchosr�C)�LC_ALL�filez-b)re�envzlatin-1)
r4rjrkr�rX�dictr.�environrlrmr3rnr?)�targetrrkr_�outputs     r"�_syscmd_filerd�s����|�|�J�J������f�
%�F��r�z�z�#�
&�C���(�(�&�$��)?�0:�0B�0B�-0�)�2��
����=�=��#�#��#������
�Z�2�2�3�����s#�A8�B
�8B�B�
B%�$B%)r$�	WindowsPE)r$r6)r$�MSDOSc��U(d&SSKnURS5n[US-5S-nU(a
[US5nOSnU(dZU[R
:XaF[R[;a+[[RupgU(aUnU(aUnX4$SU;a	SU;aX4$SU;aS	nOS
U;aSnSU;aSnX4$S
U;aS
nX4$SU;aSU;aSnX4$SnX4$SU;aSnX4$SU;aSnX4$X4$)Nr�P��bitr$r5z
shared objectz32-bit�32bitz64-bit�64bit�ELFzMach-O�PEr6re�COFFzMS-DOSrf)�struct�calcsizerXrdr4r5rj�_default_architecture)r5�bits�linkagerp�size�fileoutr
r[s        r"�architecturerw�s[��.�����s�#���4�!�8�}�u�$����z�2�.������S�^�^�#��<�<�0�0�(����6�D�A��������}���7�"��g�'E��}���7����	�W�	���
�����"�=��!
�W�	����=��
������!�G��=���G��=��
�7�	����=��

�W�	���
�=��	
��=�r�c�.�[SS5tp/SQ[U5nU(aU$[
RRSS5=(d  [
RRSS5$![[4a NYf=f![a Nif=f)Nr}�Architecture)
�x86�MIPS�Alphar�N�ARM�ia64NN�AMD64NN�ARM64�PROCESSOR_ARCHITEW6432r$�PROCESSOR_ARCHITECTURE)r�rr�
IndexErrorr3r.rar)�archr>s  r"�_get_machine_win32r�Es������~�6�
��		���$�i��D�����	�
�
���/��4�	5�
�
�
���/��4����J�'�	��	���
��
�s"�
B�A1�1B�B�
B�Bc�<�\rSrSr\S5rSrSrSrSr	Sr
g)	�
_Processoriac�r�[US[R3UR5nU"5=(d S$)N�get_r$)r�r4rj�from_subprocess)�cls�funcs  r"r�_Processor.getbs-���s�d�3�<�<�.�1�3�3F�3F�G���v�|��r�c��[SSS5upUSU3$![a+ [RR	S[55s$f=f)Nr}�Manufacturer�Caption�, �PROCESSOR_IDENTIFIER)r�r3r.rarr�)r,�captions  r"�	get_win32�_Processor.get_win32gsX��	0�$.�u�n�i�$P�!�L��Y�b���/�/���	P��:�:�>�>�"8�:L�:N�O�O�	P�s��2A
�A
c�h�SSKnURSS5upUS:�aS$S$![a gf=f)NrzSYI$_CPU�r|�VAX)�vms_lib�getsyir�)r��csid�
cpu_numbers   r"�get_OpenVMS�_Processor.get_OpenVMSosE��	;�� '�~�~�j�!�<��D�(�C�/�7�:�U�:��	�	��	�s�$�
1�1c��[RRRS5(a[R
"5R$g)N�	simulator�arm64)r4�implementation�
_multiarch�endswithr.r�r�r�r�r"�get_ios�_Processor.get_ios{s4�����(�(�1�1�+�>�>��8�8�:�%�%�%�r�c��SSKnURSS/URSSS9R	5$![a gf=f![
UR4a gf=f)Nrr�z-pT�utf8)rerfrg)rkr�rlrmror3rn)rks r"r��_Processor.from_subprocess�sx��	��	��*�*��$��!�)�)���	+��
�e�g�
���	��	����6�6�7�	��	�s�3�+A�
A�A�A�Ar�N)�__name__�
__module__�__qualname__�__firstlineno__�classmethodrr�r�r�r��__static_attributes__r�r�r"r�r�as(������0�;��
r�r�c��US:XaS$U$)NrFr$r�)�vals r"�_unknown_as_blankr��s���	�!�2�*�s�*r�c�r^�\rSrSrSr\RS5rU4Sjr\	S5r
SrSrSr
S	rU=r$)
�uname_resulti�)rq�noderrrr��	processorc�<�[[R55$r�)r�r�r��selfs r"r��uname_result.processor�s�� ����!1�2�2r�c�`>�[R"[TU]
5UR45$r�)�	itertools�chain�super�__iter__r�)r��	__class__s �r"r��uname_result.__iter__�s)�������G���
�^�^��
�	
r�c��[UR5S-
nUR"U/UQ76n[U5US-:waSUS[U53n[U5eU$)Nr'z	Expected z arguments, got )r0�_fields�__new__�	TypeError)r��iterable�
num_fieldsr�msgs     r"�_make�uname_result._make�s`������%��)�
����S�,�8�,���v�;�*�q�.�(��j�\�)9�#�f�+��G�C��C�.� ��
r�c��[U5U$r�)r1)r�r�s  r"�__getitem__�uname_result.__getitem__�s���T�{�3��r�c�<�[[[U555$r�)r0r1�iterr�s r"�__len__�uname_result.__len__�s���5��d��$�%�%r�c�V�[[U5S[UR5S-
4$�Nr')r�r1r0r�r�s r"�
__reduce__�uname_result.__reduce__�s'���U�4�[�)?�#�d�l�l�*;�a�*?�@�@�@r�r�)r�r�r�r�r��	functools�cached_propertyr�r�r�r�r�r�r�r��
__classcell__)r�s@r"r�r��sR���O�G����3��3�
����� �&�A�Ar�r��uname_result_basez#system node release version machinec�f�[b[$[R"5=upp#pE[U5(d�US:Xa [5up#pgU=(d
 [5nU(aU(d3[U5upnUS:XaSnOUS:XaUS:XaSnSUSS:XaS	nOSnUS
;aU(dUS:XaSnOSnSnO2USS
S:Xa)[5up(p�SnSRU	5nU(dUnUS:XaU(aUS:XaUnSnUS:Xa
US:XaSnS	n[R
S:XaSn[5Rn[R
S:Xa[5up nXX#U4n[![#[$U56q[$![a% [R
n[
5nS=n=p4SnGN�f=f)Nr$r�r_zMicrosoft Windowsr6�	Microsoftz6.0rTr�r5rk�16bitr�r�Javar��OpenVMSr�r�Androidr�)�_uname_cacher.r�r2r4rjrP�anyr�r�rxrrYr/rrr�r�rWr�)
rqr�rrrr��infosr�r�r
rrr>�valss
             r"r�r��s��������:<�(�(�*�D�/��g���u�:�:��W��+4�;�(�G�c��5�!3�!5�G��G�'2�6�':�$�F�W��,�,�"���;�&�7�i�+?�
#���G�B�Q�K�'�%�G� �G��'�'���W�$�%�G�%�G��F�
�B�Q�Z�6�
!�.6�j�+�G�V��F��i�i��'�G�� ������'�S�.��G��G�����I�!5������|�|�y� ����-�'�'���|�|�u�� '�	����A���7�2�D���%6��!=�>�L����U�������w��&(�(��(�'���	�s�F�+F0�/F0c�*�[5R$r�)r�rqr�r�r"rqrq*s���7�>�>�r�c�*�[5R$r�)r�r�r�r�r"r�r�3s���7�<�<�r�c�*�[5R$r�)r�rrr�r�r"rrrr=����7�?�?�r�c�*�[5R$r�)r�rr�r�r"rrFr�r�c�*�[5R$r�)r�r�r�r�r"r�r�Or�r�c�*�[5R$r�)r�r�r�r�r"r�r�Xs���7���r�c��Uc[Rn[RUS5nUbU$[RRS5(a|[R"S[R5nSnURU5nUc[S[U5-5eUR5upVpxn	UcSn[Rn
O�SU;aY[R"S5nSnURU5nUc[S[U5-5eUR5upVpxSn
O{[R"S	[R5nURU5nUc[S
[U5-5eUR5upVpxn
SnUcSnOU(aUS-U-n[
5(a[Rup�nO-[5(a[Rup�nOSn
SnUR!S5n[#U5S:Xa"UR%S5 SR'U5nX5X�XgU
4nU[U'U$)NrzL([\w.+]+)\s*\(#?([^,]+)(?:,\s*([\w ]*)(?:,\s*([\w :]*))?)?\)\s*\[([^\]]+)\]?�Jythonz&failed to parse Jython sys.version: %sr$�PyPyzE([\w.+]+)\s*\(#?([^,]+),\s*([\w ]+),\s*([\w :]+)\)\s*\[PyPy [^\]]+\]?z$failed to parse PyPy sys.version: %szu([\w.+]+)\s*(?:experimental free-threading build\s+)?\(#?([^,]+)(?:,\s*([\w ]*)(?:,\s*([\w :]*))?)?\)\s*\[([^\]]+)\]?z'failed to parse CPython sys.version: %s�CPythonr=�_git�
_mercurialrSr)r�)r4r�_sys_version_cacherrj�
startswithrrr6rpr�reprr>�hasattrr�r�rr0rUrY)�sys_versionr�jython_sys_version_parserrrpr�buildno�	builddate�	buildtimer>�compiler�pypy_sys_version_parser�cpython_sys_version_parser�branch�revisionr[s                r"�_sys_versionr�hsL��*���k�k�� �
#�
#�K��
6�F�
���
�
�|�|���v�&�&�$&�J�J�
�!�h�h�%(�!���)�/�/��<���=��8��[�!�"�#�
#�5:�L�L�N�1��)�����I��<�<��	�;�	�"$�*�*�
 �#!��
��'�-�-�k�:���=��C�!�+�.�/�0�
0�16����.��)���&(�Z�Z�
�
!�h�h�
&(�"�+�0�0��=���=��9��[�!�"�#�
#��l�l�n�	9��)�������I�
�!�C��)�3�I��s�F���!�h�h���8�	��l�	#�	#�!�n�n���8�����	�
�
�c��A�
�1�v��{�	����
��(�(�1�+���V�w�8�
L�F�&,��{�#��Mr�c��[5S$rM�r�r�r�r"�python_implementationr�s���>�!��r�c��[5S$r�rr�r�r"�python_versionr�s���>�!��r�c�L�[[5SRS55$)Nr'rS)r1r�rr�r�r"�python_version_tupler�s!������"�(�(��-�.�.r�c��[5S$)Nr)rr�r�r"�
python_branchr�s���>�!��r�c��[5S$)NrTrr�r�r"�python_revisionr
�s���>�!��r�c��[5SS$)Nr�r�rr�r�r"�python_buildrs���>�!�A��r�c��[5S$)Nr�rr�r�r"�python_compilerrs���>�!��r�c	���[RX4S5nUbU$[5up4pVpxXx:XaSnU(a[X5U5up5nUS:Xa;[R
S:Xa[
5up5 n	O[5Sn
U
(aSnU
nUS:Xa.[U5up�p�U(a[X55nO�[X5Xm5nO�US:Xa[5unn[X5XxSUU-5nO�US	:Xa?[5unnnunnnU(dU(d
[X5U5nOO[X5US
UUU5nO>U(a[X55nO+[[R5unn[X5UUUU5nU[X4'U$)Nr$�Darwinr�r�macOSr6�Linux�withr��on)�_platform_cacherr�r7r4rjr�r�r�rKrQrrwr5)�aliased�terserrqr�rrrr�r�r>�
macos_release�rel�versr�r�rj�libcname�libcversionr�r rrrrrsrts                          r"rjrj s~��&�
 �
 �'�!1�4�
8�F�
���
�:?��6�F�'�G����	��#/���#I� ���
����<�<�5� �$+�I�!�F�Q��#�I�a�L�M�� ��'��
��� )�'� 2���3�� ��1�H� ��'�?�H�	�7�	� (�
���+��V�g�#�%�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�$�%��Or�)z/etc/os-releasez/usr/lib/os-releasec��SSSS.n[R"S5n[R"S5nUHKnURU5nUcMURSUR	S55XR	S5'MM U$)	Nr�linux)�NAME�ID�PRETTY_NAMEzA^(?P<name>[a-zA-Z0-9_]+)=(?P<quote>["']?)(?P<value>.*)(?P=quote)$z\\([\\\$\"\'`])z\1rr)rrrp�sub�group)�linesru�os_release_line�os_release_unescape�line�mos      r"�_parse_os_releaser)us�������D��j�j�M��O��*�*�%7�8����
�
"�
"�4�
(��
�>�%8�%<�%<��r�x�x��(�&�D���&�!�"���Kr�c�h�[ccSn[H5n[USS9n[U5qSSS5  [R5$ [	USSR
[535e[R5$!,(df   N[=f![anUR
nSnAM�SnAff=f)Nzutf-8)rgzUnable to read files r�)�_os_release_cache�_os_release_candidatesr9r)r3�errnorY�copy)r-�	candidaterF�es    r"�freedesktop_os_releaser1�s���
� ���/�I�
 ��)�g�6�!�(9�!�(<�%�7���!�!�#�#�0���'��	�	�2H�(I�'J�K��
�
�!�!�#�#�7�6���
 ������
 �s-�
B�A?�B�?
B
	�	B�
B1�B,�,B1�__main__rz--terse�
nonaliasedz--nonaliased)Nr$r$i@)r$)r$r$r$r^)r$r$r$r$)r$r�r$)r$r$r$F)r$r$r�r�)r$rr$r$r$Fr�)FF)H�
__copyright__�__version__�collectionsr.rr4r�r�r�r�rr#rQr]rxr�r�r�r�r�r�r�r�r��
namedtupler�r�rrrr/r7rKrPrXrdrrr5rwr�r�r�r�r�r�rqr�rrrr�r�r�r�rrrrr
rrrrjr,r+r)r1r��argvrr�print�exitr�r�r"�<module>r;sn��z�
�*���	�	�
������
�b��R�	�
�B�

�C�	��� N�`
�202�#<�4$�n(�*����[�
�9*�v
(�)�,)�*�'�'��2���
@� 	�!+�H�
#�
#��K�M�
�LN�!�"F�N&$�T�@
�	� $�N�
���� �N�N��R�K�\�8/�/�d+�)A�����-�/�)A�X��^�D�����
���f�P
��	/�������K�bD�����6$�2�z��
����
 �
9�I����$9�E��3�8�8�+�N�N�c�h�h�4N�G�	�(�7�E�
"�#��H�H�Q�K���[)���D��s�F.�.F:�9F: