§
    ZŠtj'  ã                  ó  — U d dl m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Zd dl	m
Z
mZ ddlmZmZmZmZ e
rd dlZd dlmZmZmZ dZdZd	Zh d
£Zej        d4d„¦   «         Zd5d„Zd5d„Zd6d„Z ej        d„ ¦  «        Z de!d<    G d„ de¦  «        Z"d7d„Z#d7d„Z$d7d„Z%d8d!„Z&ej'        d9d"„¦   «         Z( ej'        d¬#¦  «        d:d%„¦   «         Z)d;d(„Z* e"d)d*¦  «        d+ e"d)d,¦  «        d- e"d)d.¦  «        d/iZ+d0e!d1<   d<d3„Z,dS )=é    )ÚannotationsN)ÚTYPE_CHECKINGÚ
NamedTupleé   )ÚEIClassÚEIDataÚELFFileÚEMachine)Ú	GeneratorÚIteratorÚSequencel      ~ i   i   >   Úppc64Ús390xÚx86_64Úaarch64Úppc64leÚriscv64Úloongarch64ÚpathÚstrÚreturnú%Generator[ELFFile | None, None, None]c              #  óÄ   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     úR/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/packaging/_manylinux.pyÚ
_parse_elfr!   !   s¿   è è € ðÝ�$˜ÑÔð 	 Ý˜!‘*”*ÐÐÐð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	øå•Y¥
Ð+ð ð ð Øˆ
ˆ
ˆ
ˆ
ˆ
ˆ
ðøøøs,   „A  ”3¦A  ³7·A  º7»A  Á AÁAÚ
executableÚboolc                ó<  — 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_armhfr1   *   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
   ÚI386r0   s     r    Ú_is_linux_i686r4   9   s²   € Ý	�JÑ	Ô	ð 
 1à�TˆMð +Ø”
�gœkÒ)ð+à”
�fœjÒ(ð+ð ”	�Xœ]Ò*ð		
ð
ð 
ð 
ð 
ñ 
ô 
ð 
ð 
ð 
ð 
ð 
ð 
øøøð 
ð 
ð 
ð 
ð 
ð 
s   �AA!Á!A%Á(A%ÚarchsúSequence[str]c                ó€   — d|v rt          | ¦  «        S d|v rt          | ¦  «        S t          d„ |D ¦   «         ¦  «        S )NÚarmv7lÚi686c              3  ó(   K  — | ]}|t           v V — Œd S r%   )Ú_ALLOWED_ARCHS)Ú.0Úarchs     r    ú	<genexpr>z'_have_compatible_abi.<locals>.<genexpr>H   s'   è è € Ð8Ð8¨$ˆt•~Ð%Ð8Ð8Ð8Ð8Ð8Ð8ó    )r1   r4   Úany)r"   r5   s     r    Ú_have_compatible_abirA   C   sO   € Ø�5ÐÐÝ˜zÑ*Ô*Ð*Ø�€€Ý˜jÑ)Ô)Ð)ÝÐ8Ð8°%Ð8Ñ8Ô8Ñ8Ô8Ð8r?   c                 ó   — dS )Né2   © rD   r?   r    ú<lambda>rE   P   s   € ÀB€ r?   zdict[int, int]Ú_LAST_GLIBC_MINORc                  ó$   — e Zd ZU ded<   ded<   dS )Ú_GLibCVersionÚintÚmajorÚminorN)Ú__name__Ú
__module__Ú__qualname__Ú__annotations__rD   r?   r    rH   rH   S   s"   € € € € € € Ø€J€J�JØ€J€J�J€J€Jr?   rH   ú
str | Nonec                 ó°   — 	 t          j        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.
    ÚCS_GNU_LIBC_VERSIONN)ÚosÚconfstrÚrsplitÚAssertionErrorÚAttributeErrorr   r   )Úversion_stringÚ_Úversions      r    Ú_glibc_version_string_confstrr[   X   sl   € ðå%'¤ZÐ0EÑ%FÔ%FˆØÐ)Ð)Ð)Ø#×*Ò*Ñ,Ô,‰
ˆˆ7ˆ7øÝ�N­GµZÐ@ð ð ð àˆtˆtðøøøð €Ns   ‚/2 ²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          ¦  «        r| 
                    d¦  «        }|S )zG
    Fallback implementation of glibc_version_string using ctypes.
    r   NÚascii)ÚctypesÚImportErrorÚCDLLr   Úgnu_get_libc_versionrW   Úc_char_pÚrestypeÚ
isinstanceÚbytesÚdecode)r^   Úprocess_namespacera   Úversion_strs       r    Ú_glibc_version_string_ctypesri   k   së   € ðØˆˆˆˆøÝð ð ð Øˆtˆtðøøøð Ø"ŸKšK¨Ñ-Ô-ÐÐøÝð ð ð ØˆtˆtðøøøðØ0ÔEÐÐøÝð ð ð ð ˆtˆtðøøøð $*¤?ÐÔ à3Ð3Ñ5Ô5€KÝ�+�uÑ%Ô%ð 2Ø!×(Ò(¨Ñ1Ô1ˆàÐs*   ‚ ‡
”™/ ¯
=¼=ÁA	 Á	
AÁAc                 ó:   — t          ¦   «         pt          ¦   «         S )z9Returns glibc version string, or None if not using glibc.)r[   ri   rD   r?   r    Ú_glibc_version_stringrk   —   s   € å(Ñ*Ô*ÐLÕ.JÑ.LÔ.LÐLr?   rh   c                ó.  — t          j        d| ¦  «        }|s/t          j        d| › �t          d¬¦  «         t          dd¦  «        S t          t          |                     d¦  «        ¦  «        t          |                     d¦  «        ¦  «        ¦  «        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: é   )Ú
stackleveléÿÿÿÿrJ   rK   )ÚreÚmatchÚwarningsÚwarnÚRuntimeWarningrH   rI   Úgroup)rh   Úms     r    Ú_parse_glibc_versionrw   œ   s’   € õ 	ŒÐ8¸+ÑFÔF€AØð %ÝŒØWÈ+ÐWÐWÝØð	
ñ 	
ô 	
ð 	
õ
 ˜R Ñ$Ô$Ð$Ý�˜QŸWšW WÑ-Ô-Ñ.Ô.µ°A·G²G¸GÑ4DÔ4DÑ0EÔ0EÑFÔFÐFr?   c                 ó`   — t          ¦   «         } | €t          dd¦  «        S t          | ¦  «        S )Nro   )rk   rH   rw   )rh   s    r    Ú_get_glibc_versionry   ¯   s1   € å'Ñ)Ô)€KØÐÝ˜R Ñ$Ô$Ð$Ý Ñ,Ô,Ð,r?   )Úmaxsizeútypes.ModuleType | Nonec                 óD   — 	 t          d¦  «        S # t          $ r Y dS w xY w)zÉReturn the ``_manylinux`` C extension module, or None if unavailable.

    The result is cached for the lifetime of the process, since the presence
    of the module does not change while running.
    Ú
_manylinuxN)Ú
__import__r_   rD   r?   r    Ú_get_manylinux_moduler   ¸   s7   € ðÝ˜,Ñ'Ô'Ð'øÝð ð ð Øˆtˆtðøøøs   ‚ ‘
žr=   rZ   c                ó2  — t          ¦   «         }||k     rdS t          ¦   «         }|€dS 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 )NFTÚmanylinux_compatibler   r   rm   é   Úmanylinux1_compatibleé   Úmanylinux2010_compatibleé   Úmanylinux2014_compatible)	ry   r   Úhasattrr�   r#   rH   rƒ   r…   r‡   )r=   rZ   Ú	sys_glibcÚmanylinux_modÚresults        r    Ú_is_compatiblerŒ   Å   s8  € Ý"Ñ$Ô$€IØ�7ÒÐØˆuå)Ñ+Ô+€MØÐØˆtÝˆ}Ð4Ñ5Ô5ð Ø×3Ò3°G¸A´JÀÈÄ
ÈDÑQÔQˆØÐÝ˜‘<”<ÐØˆtØ•-  1Ñ%Ô%Ò%Ð%­'ØÐ.ñ+ô +Ð%õ �MÔ7Ñ8Ô8Ð8Ø•-  2Ñ&Ô&Ò&Ð&­7ØÐ1ñ,ô ,Ð&õ �MÔ:Ñ;Ô;Ð;Ø•-  2Ñ&Ô&Ò&Ð&­7ØÐ1ñ,ô ,Ð&õ �MÔ:Ñ;Ô;Ð;Øˆ4r?   rm   r†   Úmanylinux2014r„   Úmanylinux2010r‚   Ú
manylinux1zdict[_GLibCVersion, str]Ú_LEGACY_MANYLINUX_MAPúIterator[str]c              #  ó¢  K  — t          t          j        | ¦  «        sdS t          dd¦  «        }t	          | ¦  «        ddhz  rt          dd¦  «        }t          t          ¦   «         Ž }|g}t          |j        dz
  dd¦  «        D ]2}t          |         }| 	                    t          ||¦  «        ¦  «         Œ3| D ]•}|D ]�}|j        |j        k    r|j
        }nd}t          |j
        |d¦  «        D ]]}t          |j        |¦  «        }	t          ||	¦  «        r6 d	j        g |	¢|‘R Ž V — t                               |	¦  «        x}
r	|
› d
|› �V — Œ^Œ‘Œ–dS )aÆ  Generate manylinux tags compatible to the current platform.

    :param archs: Sequence of compatible architectures.
        The first one shall be the closest to the actual architecture and be the part of
        platform tag after the ``linux_`` prefix, e.g. ``x86_64``.
        The ``linux_`` prefix is assumed as a prerequisite for the current platform to
        be manylinux-compatible.

    :returns: An iterator of compatible manylinux tags.
    Nrm   é   r   r9   é   r   ro   zmanylinux_{}_{}_{}rY   )rA   Úsysr"   rH   Úsetry   ÚrangerJ   rF   ÚappendrK   rŒ   Úformatr�   Úget)r5   Útoo_old_glibc2Úcurrent_glibcÚglibc_max_listÚglibc_majorÚglibc_minorr=   Ú	glibc_maxÚ	min_minorÚglibc_versionÚ
legacy_tags              r    Úplatform_tagsr¤   ë   s±  è è € õ  ¥¤°Ñ6Ô6ð Øˆå" 1 bÑ)Ô)€NÝ
ˆ5�z„z�X˜vÐ&Ñ&ð -å& q¨!Ñ,Ô,ˆÝ!Õ#5Ñ#7Ô#7Ð8€MØ#�_€Nõ ˜]Ô0°1Ñ4°a¸Ñ<Ô<ð Gð GˆÝ'¨Ô4ˆØ×Ò�m¨K¸ÑEÔEÑFÔFÐFÐFØð 5ð 5ˆØ'ð 	5ð 	5ˆIØŒ .Ô"6Ò6Ð6Ø*Ô0�	�	ð �	Ý$ Y¤_°iÀÑDÔDð 5ð 5�Ý -¨i¬o¸{Ñ KÔ K�Ý! $¨Ñ6Ô6ð 5Ø5Ð.Ô5ÐK°}ÐKÀdÐKÐKÐKÐKÐKÐKõ &;×%>Ò%>¸}Ñ%MÔ%MÐM�zð 5Ø!+Ð4Ð4¨dÐ4Ð4Ð4Ð4Ð4øð5ð	5ð5ð 5r?   )r   r   r   r   )r"   r   r   r#   )r"   r   r5   r6   r   r#   )r   rP   )rh   r   r   rH   )r   rH   )r   r{   )r=   r   rZ   rH   r   r#   )r5   r6   r   r‘   )-Ú
__future__r   ÚcollectionsÚ
contextlibÚ	functoolsrS   rp   r•   rr   Útypingr   r   Ú_elffiler   r   r	   r
   ÚtypesÚcollections.abcr   r   r   r-   r.   r/   r;   Úcontextmanagerr!   r1   r4   rA   ÚdefaultdictrF   rO   rH   r[   ri   rk   rw   Ú	lru_cachery   r   rŒ   r�   r¤   rD   r?   r    ú<module>r°      sÌ  ðØ "Ð "Ð "Ð "Ð "Ð "Ð "à Ð Ð Ð Ø Ð Ð Ð Ø Ð Ð Ð Ø 	€	€	€	Ø 	€	€	€	Ø 
€
€
€
Ø €€€Ø ,Ð ,Ð ,Ð ,Ð ,Ð ,Ð ,Ð ,à 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8àð >Ø€L€L€LØ=Ð=Ð=Ð=Ð=Ð=Ð=Ð=Ð=Ð=à€Ø€Ø"Ð ðð ð €ð Ôðð ð ñ Ôðð
ð 
ð 
ð 
ð
ð 
ð 
ð 
ð9ð 9ð 9ð 9ð %< KÔ$;¸J¸JÑ$GÔ$GÐ Ð GÐ GÐ GÑ Gðð ð ð ð �Jñ ô ð ð
ð ð ð ð&)ð )ð )ð )ðXMð Mð Mð Mð
Gð Gð Gð Gð& Ôð-ð -ð -ñ Ôð-ð €Ô˜QÐÑÔð	ð 	ð 	ñ  Ôð	ðð ð ð ð< €M�!�RÑÔ˜/à€M�!�RÑÔ˜/à€M�!�QÑÔ˜ð3Ð ð ð ð ñ ð+5ð +5ð +5ð +5ð +5ð +5r?   