§
    ö{Âcm"  ã                   óJ  — U d dl Z d dlZd dlZd dlZd dlZd dlZd dlZd dlmZm	Z	m
Z
mZmZmZ ddlmZmZmZmZ dZdZdZej        ded	e	ee         ddf         fd
„¦   «         Zded	efd„Zded	efd„Zdeded	efd„Z e j        d„ ¦  «        Zeeef         e d<    G d„ de¦  «        Z!d	ee         fd„Z"d	ee         fd„Z#d	ee         fd„Z$ded	eeef         fd„Z% ej&        ¦   «         d	eeef         fd„¦   «         Z'dedede!d	efd„Z(dddd œZ)d!eded	e
e         fd"„Z*dS )#é    N)ÚDictÚ	GeneratorÚIteratorÚ
NamedTupleÚOptionalÚTupleé   )ÚEIClassÚEIDataÚELFFileÚEMachinel      ~ i   i   ÚpathÚreturnc              #   óÄ   K  — 	 t          | d¦  «        5 }t          |¦  «        V — d d d ¦  «         d S # 1 swxY w Y   d S # t          t          t          f$ r d V — Y d S w xY w)NÚrb)Úopenr   ÚOSErrorÚ	TypeErrorÚ
ValueError)r   Úfs     ú6/usr/lib/python3/dist-packages/packaging/_manylinux.pyÚ
_parse_elfr      s¿   è è € ðÝ�$˜ÑÔð 	 Ý˜!‘*”*ÐÐÐð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	øå•Y¥
Ð+ð ð ð Øˆ
ˆ
ˆ
ˆ
ˆ
ˆ
ðøøøs,   „A  ”3¦A  ³7·A  º7»A  Á AÁAÚ
executablec                 ó<  — t          | ¦  «        5 }|d uon|j        t          j        k    oY|j        t
          j        k    oD|j        t          j	        k    o/|j
        t          z  t          k    o|j
        t          z  t          k    	 cd d d ¦  «         S # 1 swxY w Y   d S ©N)r   Úcapacityr
   ÚC32Úencodingr   ÚLsbÚmachiner   ÚArmÚflagsÚEF_ARM_ABIMASKÚEF_ARM_ABI_VER5ÚEF_ARM_ABI_FLOAT_HARD©r   r   s     r   Ú_is_linux_armhfr'      sç   € õ 
�JÑ	Ô	ð 
 1à�TˆMð IØ”
�gœkÒ)ðIà”
�fœjÒ(ðIð ”	�Xœ\Ò)ðIð ”�.Ñ(­OÒ;ð	Ið
 ”Õ/Ñ/Õ3HÒHð	
ð
ð 
ð 
ð 
ñ 
ô 
ð 
ð 
ð 
ð 
ð 
ð 
øøøð 
ð 
ð 
ð 
ð 
ð 
s   �A4BÂBÂBc                 óÜ   — t          | ¦  «        5 }|d uo>|j        t          j        k    o)|j        t
          j        k    o|j        t          j	        k    	 cd d d ¦  «         S # 1 swxY w Y   d S r   )
r   r   r
   r   r   r   r   r    r   ÚI386r&   s     r   Ú_is_linux_i686r*   )   s²   € Ý	�JÑ	Ô	ð 
 1à�TˆMð +Ø”
�gœkÒ)ð+à”
�fœjÒ(ð+ð ”	�Xœ]Ò*ð		
ð
ð 
ð 
ð 
ñ 
ô 
ð 
ð 
ð 
ð 
ð 
ð 
øøøð 
ð 
ð 
ð 
ð 
ð 
s   �AA!Á!A%Á(A%Úarchc                 ó^   — |dk    rt          | ¦  «        S |dk    rt          | ¦  «        S |dv S )NÚarmv7lÚi686>   Úppc64Ús390xÚx86_64Úaarch64Úppc64le)r'   r*   )r   r+   s     r   Ú_have_compatible_abir4   3   s>   € ØˆxÒÐÝ˜zÑ*Ô*Ð*Øˆv‚~€~Ý˜jÑ)Ô)Ð)ØÐEÐEÐEó    c                  ó   — dS )Né2   © r8   r5   r   ú<lambda>r9   @   s   € ÀB€ r5   Ú_LAST_GLIBC_MINORc                   ó$   — e Zd ZU eed<   eed<   dS )Ú_GLibCVersionÚmajorÚminorN)Ú__name__Ú
__module__Ú__qualname__ÚintÚ__annotations__r8   r5   r   r<   r<   C   s"   € € € € € € Ø€J€J�JØ€J€J�J€J€Jr5   r<   c                  óÄ   — 	  t          t          d¦  «        d¦  «        } | €J ‚|                      ¦   «         \  }}n$# t          t          t
          t          f$ r Y dS w xY w|S )zJ
    Primary implementation of glibc_version_string using os.confstr.
    ÚconfstrÚCS_GNU_LIBC_VERSIONN)ÚgetattrÚosÚrsplitÚAssertionErrorÚAttributeErrorr   r   )Úversion_stringÚ_Úversions      r   Ú_glibc_version_string_confstrrO   H   sv   € ðà4�g¥b¨)Ñ4Ô4Ð5JÑKÔKˆØÐ)Ð)Ð)Ø#×*Ò*Ñ,Ô,‰
ˆˆ7ˆ7øÝ�N­GµZÐ@ð ð ð àˆtˆtðøøøð €Ns   ‚9< ¼AÁAc                  ó8  — 	 ddl } n# t          $ r Y dS w xY w	 |                      d¦  «        }n# t          $ r Y dS w xY w	 |j        }n# t
          $ r Y dS w xY w| j        |_         |¦   «         }t          |t          ¦  «        s| 
                    d¦  «        }|S )zG
    Fallback implementation of glibc_version_string using ctypes.
    r   NÚascii)ÚctypesÚImportErrorÚCDLLr   Úgnu_get_libc_versionrK   Úc_char_pÚrestypeÚ
isinstanceÚstrÚdecode)rR   Úprocess_namespacerU   Úversion_strs       r   Ú_glibc_version_string_ctypesr]   [   së   € ðØˆˆˆˆøÝð ð ð Øˆtˆtðøøøð Ø"ŸKšK¨Ñ-Ô-ÐÐøÝð ð ð ØˆtˆtðøøøðØ0ÔEÐÐøÝð ð ð ð ˆtˆtðøøøð $*¤?ÐÔ Ø+Ð+Ñ-Ô-€Kå�k¥3Ñ'Ô'ð 2Ø!×(Ò(¨Ñ1Ô1ˆàÐs*   ‚ ‡
”™/ ¯
=¼=ÁA	 Á	
AÁAc                  ó:   — t          ¦   «         pt          ¦   «         S )z9Returns glibc version string, or None if not using glibc.)rO   r]   r8   r5   r   Ú_glibc_version_stringr_   ‡   s   € å(Ñ*Ô*ÐLÕ.JÑ.LÔ.LÐLr5   r\   c                 óö   — t          j        d| ¦  «        }|st          j        d| › �t          ¦  «         dS t          |                     d¦  «        ¦  «        t          |                     d¦  «        ¦  «        fS )a3  Parse glibc version.

    We use a regexp instead of str.split because we want to discard any
    random junk that might come after the minor version -- this might happen
    in patched/forked versions of glibc (e.g. Linaro's version of glibc
    uses version strings like "2.20-2014.11"). See gh-3588.
    z$(?P<major>[0-9]+)\.(?P<minor>[0-9]+)z;Expected glibc version with 2 components major.minor, got: ©éÿÿÿÿrb   r=   r>   )ÚreÚmatchÚwarningsÚwarnÚRuntimeWarningrB   Úgroup)r\   Úms     r   Ú_parse_glibc_versionrj   Œ   s�   € õ 	ŒÐ8¸+ÑFÔF€AØð ÝŒð#Ø ð#ð #åñ	
ô 	
ð 	
ð
 ˆvÝˆq�wŠw�wÑÔÑ Ô ¥# a§g¢g¨gÑ&6Ô&6Ñ"7Ô"7Ð7Ð7r5   c                  óD   — t          ¦   «         } | €dS t          | ¦  «        S )Nra   )r_   rj   )r\   s    r   Ú_get_glibc_versionrl   Ÿ   s&   € å'Ñ)Ô)€KØÐØˆxÝ Ñ,Ô,Ð,r5   ÚnamerN   c                 ó<  — t          ¦   «         }||k     rdS 	 dd l}n# t          $ r Y dS w xY wt          |d¦  «        r6|                     |d         |d         |¦  «        }|�t          |¦  «        S dS |t          dd¦  «        k    r$t          |d¦  «        rt          |j        ¦  «        S |t          dd	¦  «        k    r$t          |d
¦  «        rt          |j        ¦  «        S |t          dd¦  «        k    r$t          |d¦  «        rt          |j	        ¦  «        S dS )NFr   TÚmanylinux_compatibler	   é   é   Úmanylinux1_compatibleé   Úmanylinux2010_compatibleé   Úmanylinux2014_compatible)
rl   Ú
_manylinuxrS   Úhasattrro   Úboolr<   rr   rt   rv   )rm   r+   rN   Ú	sys_glibcrw   Úresults         r   Ú_is_compatibler|   ¨   sL  € Ý"Ñ$Ô$€IØ�7ÒÐØˆuðØÐÐÐÐøÝð ð ð ØˆtˆtðøøøåˆzÐ1Ñ2Ô2ð Ø×0Ò0°¸´¸WÀQ¼ZÈÑNÔNˆØÐÝ˜‘<”<ÐØˆtØ•-  1Ñ%Ô%Ò%Ð%Ý�:Ð6Ñ7Ô7ð 	:Ý˜
Ô8Ñ9Ô9Ð9Ø•-  2Ñ&Ô&Ò&Ð&Ý�:Ð9Ñ:Ô:ð 	=Ý˜
Ô;Ñ<Ô<Ð<Ø•-  2Ñ&Ô&Ò&Ð&Ý�:Ð9Ñ:Ô:ð 	=Ý˜
Ô;Ñ<Ô<Ð<Øˆ4s   ˜ �
+ª+Úmanylinux2014Úmanylinux2010Ú
manylinux1))rp   ru   )rp   rs   )rp   rq   Úlinuxc              #   óÐ  K  — t          t          j        |¦  «        sd S t          dd¦  «        }|dv rt          dd¦  «        }t          t	          ¦   «         Ž }|g}t          |j        dz
  dd¦  «        D ]2}t          |         }|                     t          ||¦  «        ¦  «         Œ3|D ]¼}|j        |j        k    r|j	        }nd}t          |j	        |d¦  «        D ]‰}t          |j        |¦  «        }	 dj
        |	Ž }
t          |
||	¦  «        r|                      d|
¦  «        V — |	t          v r6t          |	         }t          |||	¦  «        r|                      d|¦  «        V — ŒŠŒ½d S )	Nrp   é   >   r.   r1   é   r	   rb   zmanylinux_{}_{}r€   )r4   Úsysr   r<   rl   Úranger=   r:   Úappendr>   Úformatr|   ÚreplaceÚ_LEGACY_MANYLINUX_MAP)r€   r+   Útoo_old_glibc2Úcurrent_glibcÚglibc_max_listÚglibc_majorÚglibc_minorÚ	glibc_maxÚ	min_minorÚglibc_versionÚtagÚ
legacy_tags               r   Úplatform_tagsr”   Ì   s£  è è € Ý¥¤°Ñ5Ô5ð Øˆå" 1 bÑ)Ô)€NØÐ!Ð!Ð!å& q¨!Ñ,Ô,ˆÝ!Õ#5Ñ#7Ô#7Ð8€MØ#�_€Nõ ˜]Ô0°1Ñ4°a¸Ñ<Ô<ð Gð GˆÝ'¨Ô4ˆØ×Ò�m¨K¸ÑEÔEÑFÔFÐFÐFØ#ð =ð =ˆ	ØŒ?˜nÔ2Ò2Ð2Ø&Ô,ˆIˆIð ˆIÝ  ¤°)¸RÑ@Ô@ð 		=ð 		=ˆKÝ)¨)¬/¸;ÑGÔGˆMØ*Ð#Ô*¨MÐ:ˆCÝ˜c 4¨Ñ7Ô7ð 2Ø—m’m G¨SÑ1Ô1Ð1Ð1Ð1àÕ 5Ð5Ð5Ý2°=ÔA�
Ý! *¨d°MÑBÔBð =ØŸ-š-¨°Ñ<Ô<Ð<Ð<Ð<øð		=ð=ð =r5   )+ÚcollectionsÚ
contextlibÚ	functoolsrH   rc   r„   re   Útypingr   r   r   r   r   r   Ú_elffiler
   r   r   r   r#   r$   r%   ÚcontextmanagerrY   r   ry   r'   r*   r4   Údefaultdictr:   rB   rC   r<   rO   r]   r_   rj   Ú	lru_cacherl   r|   r‰   r”   r8   r5   r   ú<module>r�      s  ðØ Ð Ð Ð Ð Ø Ð Ð Ð Ø Ð Ð Ð Ø 	€	€	€	Ø 	€	€	€	Ø 
€
€
€
Ø €€€Ø IÐ IÐ IÐ IÐ IÐ IÐ IÐ IÐ IÐ IÐ IÐ IÐ IÐ IÐ IÐ Ià 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8à€Ø€Ø"Ð ð Ôð�Sð ˜Y x°Ô'8¸$ÀÐ'DÔEð ð ð ñ Ôðð
 ð 
¨ð 
ð 
ð 
ð 
ð
˜sð 
 tð 
ð 
ð 
ð 
ðF Sð F°ð F¸ð Fð Fð Fð Fð %< KÔ$;¸J¸JÑ$GÔ$GÐ �4˜˜S˜”>Ð GÐ GÑ Gðð ð ð ð �Jñ ô ð ð
 x°¤}ð ð ð ð ð&) h¨s¤mð )ð )ð )ð )ðXM˜x¨œ}ð Mð Mð Mð Mð
8 cð 8¨e°C¸°H¬oð 8ð 8ð 8ð 8ð& €ÔÑÔð-˜E # s (œOð -ð -ð -ñ Ôð-ð˜ð  Cð °-ð ÀDð ð ð ð ð8 ààðð Ð ð"=˜ð "= Cð "=¨H°S¬Mð "=ð "=ð "=ð "=ð "=ð "=r5   