§
    
Á³g3  ã                   ód  — d 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 ddlmZmZ ddlmZmZ ddlmZ ddlmZmZ ddlmZmZ dd	lmZ dd
lmZ ddlmZ ddl m!Z! ddl"m#Z# ddl$m%Z% ddl&m'Z'm(Z( ddl)m*Z* ddl+m,Z,m-Z-m.Z. ddl/m0Z0 ddl1m2Z2 ddl3m4Z4 ddl5m6Z6 ddl7m8Z8  ej9        e:¦  «        Z; ej<        dej=        ¦  «        Z>ee%ge?f         Z@ee	e%         e	e%         f         ZAdeBde?fd„ZC	 d1de%de?de
e@         de?fd„ZDde%de?fd„ZEde%d e@de?fd!„ZFde%de
e?         fd"„ZGde%d#edeBfd$„ZHde%d%eBddfd&„ZIde%d'eBd(e?d)e	eB         d*e	eB         d+e?de
eB         fd,„ZJde%d'eBd)e	eB         d*e	eB         d+e?de
eB         fd-„ZKde%d*e	eB         de?fd.„ZLd/ee%         d#ed(e?d)e	eB         d*e	eB         deAfd0„ZMdS )2z;Orchestrator for building wheels from InstallRequirements.
é    N)ÚCallableÚIterableÚListÚOptionalÚTuple)Úcanonicalize_nameÚcanonicalize_version)ÚInvalidVersionÚVersion)Ú
WheelCache)ÚInvalidWheelFilenameÚUnsupportedWheel)ÚFilesystemWheelÚget_wheel_distribution)ÚLink)ÚWheel)Úbuild_wheel_pep517)Úbuild_wheel_editable)Úbuild_wheel_legacy)ÚInstallRequirement)Ú&LegacyInstallReasonMissingWheelPackageÚ2LegacyInstallReasonNoBinaryForcesSetuptoolsInstall)Ú
indent_log)Ú
ensure_dirÚ	hash_fileÚis_wheel_installed)Úmake_setuptools_clean_args)Úcall_subprocess)ÚTempDirectory)Úpath_to_url)Úvcsz([a-z0-9_.]+)-([a-z0-9_.!+-]+)ÚsÚreturnc                 óP   — t          t                               | ¦  «        ¦  «        S )zjDetermine whether the string looks like an egg_info.

    :param s: The string to parse. E.g. foo-2.1
    )ÚboolÚ_egg_info_reÚsearch)r"   s    úY/var/www/html/mpstechhub/venv/lib/python3.11/site-packages/pip/_internal/wheel_builder.pyÚ_contains_egg_infor)   *   s    € õ
 •×#Ò# AÑ&Ô&Ñ'Ô'Ð'ó    ÚreqÚ
need_wheelÚcheck_bdist_wheelc                 óB  — | j         rdS | j        r$|r t                               d| j        ¦  «         dS |rdS | j        sdS | j        r|                      ¦   «         S | j        rdS |€J ‚ || ¦  «        st          | _
        dS t          ¦   «         st          | _
        dS dS )zBReturn whether an InstallRequirement should be built into a wheel.Fz(Skipping %s, due to already being wheel.T)Ú
constraintÚis_wheelÚloggerÚinfoÚnameÚ
source_dirÚeditableÚsupports_pyproject_editableÚ
use_pep517r   Úlegacy_install_reasonr   r   )r+   r,   r-   s      r(   Ú_should_buildr9   2   sâ   € ð „~ð àˆuØ
„|ð Øð 	Ý�KŠKØ:Ø”ñô ð ð ˆuàð àˆtð
 Œ>ð Øˆuà
„|ð 1à×.Ò.Ñ0Ô0Ð0à
„~ð ØˆtàÐ(Ð(Ð(ØÐ˜SÑ!Ô!ð õ %WˆÔ!ØˆuåÑÔð å$JˆÔ!Øˆuàˆ4r*   c                 ó$   — t          | d¬¦  «        S )NT)r,   ©r9   )r+   s    r(   Úshould_build_for_wheel_commandr<   f   s   € õ ˜¨Ð.Ñ.Ô.Ð.r*   Úcheck_bdist_wheel_allowedc                 ó&   — t          | d|¬¦  «        S )NF)r,   r-   r;   )r+   r=   s     r(   Ú should_build_for_install_commandr?   l   s#   € õ Ø˜Ð1Jðñ ô ð r*   c                 ór  — | j         s| j        sdS | j        ri| j        j        r]| j         rJ ‚| j        sJ ‚t	          j        | j        j        ¦  «        }|sJ ‚|                     | j        j        | j        ¦  «        rdS dS | j        sJ ‚| j         	                    ¦   «         \  }}t          |¦  «        rdS dS )zÍ
    Return whether a built InstallRequirement can be stored in the persistent
    wheel cache, assuming the wheel cache is available, and _should_build()
    has determined a wheel needs to be built.
    FT)r5   r4   ÚlinkÚis_vcsr!   Úget_backend_for_schemeÚschemeÚis_immutable_rev_checkoutÚurlÚsplitextr)   )r+   Úvcs_backendÚbaseÚexts       r(   Ú_should_cacherK   u   sÕ   € ð „|ð ˜3œ>ð àˆuà
„xð 	�C”H”Oð 	ð ”<ÐÐÐØŒ~ÐÐÐÝÔ0°´´ÑAÔAˆØÐÐÐØ×0Ò0°´´¸s¼~ÑNÔNð 	Ø�4ØˆuàŒ8€O€O€OØ”×!Ò!Ñ#Ô#�I€Dˆ#Ý˜$ÑÔð Øˆtð ˆ5r*   Úwheel_cachec                 óÌ   — t          |j        ¦  «        }| j        sJ ‚|r*t          | ¦  «        r|                     | j        ¦  «        }n|                     | j        ¦  «        }|S )zdReturn the persistent or temporary cache directory where the built
    wheel need to be stored.
    )r%   Ú	cache_dirrA   rK   Úget_path_for_linkÚget_ephem_path_for_link)r+   rL   Úcache_availablerN   s       r(   Ú_get_cache_dirrR   •   sj   € õ ˜;Ô0Ñ1Ô1€OØŒ8€O€O€OØð B�=¨Ñ-Ô-ð BØ×1Ò1°#´(Ñ;Ô;ˆ	ˆ	à×7Ò7¸¼ÑAÔAˆ	ØÐr*   Ú
wheel_pathc                 ó>  — t          | j        pd¦  «        }t          t          j                             |¦  «        ¦  «        }t          |j        ¦  «        |k    r(t          d                     ||j        ¦  «        ¦  «        ‚t          t          |¦  «        |¦  «        }t          |j        ¦  «        }t          |¦  «        t          |j        ¦  «        k    r(t          d                     ||j        ¦  «        ¦  «        ‚|j        }|€t          d¦  «        ‚	 t          |¦  «        }n"# t           $ r d|› �}t          |¦  «        ‚w xY w|t          d¦  «        k    r<t#          |j        t          ¦  «        s$t          d                     |¦  «        ¦  «        ‚d S d S )NÚ z7Wheel has unexpected file name: expected {!r}, got {!r}zMissing Metadata-VersionzInvalid Metadata-Version: z1.2z6Metadata 1.2 mandates PEP 440 version, but {!r} is not)r   r3   r   ÚosÚpathÚbasenamer   Úformatr   r   ÚstrÚversionr	   Úmetadata_versionr   r   r
   Ú
isinstance)	r+   rS   Úcanonical_nameÚwÚdistÚdist_verstrÚmetadata_version_valuer\   Úmsgs	            r(   Ú_verify_onerd   ¥   s¡  € Ý& s¤x ~°2Ñ6Ô6€NÝ�bŒg×Ò˜zÑ*Ô*Ñ+Ô+€AÝ˜œÑ Ô  NÒ2Ð2Ý"ðß’v˜n¨a¬fÑ5Ô5ñ
ô 
ð 	
õ "¥/°*Ñ"=Ô"=¸~ÑNÔN€DÝ�d”lÑ#Ô#€KÝ˜KÑ(Ô(Õ,@ÀÄÑ,KÔ,KÒKÐKÝ"ðß’v˜k¨1¬9Ñ5Ô5ñ
ô 
ð 	
ð "Ô2ÐØÐ%ÝÐ9Ñ:Ô:Ð:ð$Ý"Ð#9Ñ:Ô:ÐÐøÝð $ð $ð $ØCÐ+AÐCÐCˆÝ˜sÑ#Ô#Ð#ð$øøøð �7 5™>œ>Ò)Ð)µ*¸T¼\Í7Ñ2SÔ2SÐ)Ýðß$šf [Ñ1Ô1ñ
ô 
ð 	
ð *Ð)Ð)Ð)s   ÄD* Ä*E	Ú
output_dirÚverifyÚbuild_optionsÚglobal_optionsr5   c                 óº  — |rdnd}	 t          |¦  «         n:# t          $ r-}t                               d|| j        |¦  «         Y d}~dS d}~ww xY w| j        5  t          | ||||¦  «        }ddd¦  «         n# 1 swxY w Y   |rU|rS	 t          | |¦  «         nA# t          t          f$ r-}t                               d|| j        |¦  «         Y d}~dS d}~ww xY w|S )zaBuild one wheel.

    :return: The filename of the built wheel, or None if the build failed.
    r5   ÚwheelzBuilding %s for %s failed: %sNzBuilt %s for %s is invalid: %s)
r   ÚOSErrorr1   Úwarningr3   Ú	build_envÚ_build_one_inside_envrd   r   r   )	r+   re   rf   rg   rh   r5   ÚartifactÚerS   s	            r(   Ú
_build_onerq   Ã   sr  € ð &Ð2ˆzˆz¨7€Hð	Ý�:ÑÔÐÐøÝð ð ð Ý�ŠØ+ØØŒHØñ		
ô 	
ð 	
ð ˆtˆtˆtˆtˆtøøøøðøøøð 
Œð 
ð 
Ý*Ø�˜]¨N¸Hñ
ô 
ˆ
ð
ð 
ð 
ñ 
ô 
ð 
ð 
ð 
ð 
ð 
ð 
øøøð 
ð 
ð 
ð 
ð ð �fð ð	Ý˜˜ZÑ(Ô(Ð(Ð(øÝ$Õ&6Ð7ð 	ð 	ð 	Ý�NŠNÐ;¸XÀsÄxÐQRÑSÔSÐSØ�4�4�4�4�4øøøøð	øøøð Ðs>   ˆ ˜
A¢"A
Á
AÁA9Á9A=Â A=Â	B ÂCÂ+"CÃCc           	      óH  — t          d¬¦  «        5 }| j        sJ ‚| j        r¨| j        sJ ‚| j        sJ ‚|r t
                               d| j        ¦  «         |r t
                               d| j        ¦  «         |r(t          | j        | j        | j        |j        ¬¦  «        }nQt          | j        | j        | j        |j        ¬¦  «        }n)t          | j        | j        | j        |||j        ¬¦  «        }|�ýt          j                             |¦  «        }t          j                             ||¦  «        }	 t!          |¦  «        \  }	}
t#          j        ||¦  «         t
                               d| j        ||
|	                     ¦   «         ¦  «         t
                               d|¦  «         |cd d d ¦  «         S # t*          $ r+}t
                               d	| j        |¦  «         Y d }~nd }~ww xY w| j        st-          | |¦  «         	 d d d ¦  «         d S # 1 swxY w Y   d S )
Nrj   )Úkindz7Ignoring --global-option when building %s using PEP 517z6Ignoring --build-option when building %s using PEP 517)r3   ÚbackendÚmetadata_directoryÚtempd)r3   Úsetup_py_pathr4   rh   rg   rv   z3Created wheel for %s: filename=%s size=%d sha256=%szStored in directory: %sz Building wheel for %s failed: %s)r   r3   r7   ru   Úpep517_backendr1   rl   r   rW   r   r   rw   Úunpacked_source_directoryrV   rX   Újoinr   ÚshutilÚmover2   Ú	hexdigestÚ	ExceptionÚ_clean_one_legacy)r+   re   rg   rh   r5   Útemp_dirrS   Ú
wheel_nameÚ	dest_pathÚ
wheel_hashÚlengthrp   s               r(   rn   rn   é   sØ  € õ 
˜GÐ	$Ñ	$Ô	$ð =¨ØŒxˆˆˆØŒ>ð !	ØÔ)Ð)Ð)Ð)ØÔ%Ð%Ð%Ð%Øð Ý—’ØMÈsÌxñô ð ð ð Ý—’ØLÈcÌhñô ð ð ð Ý1ØœØÔ.Ø'*Ô'=Ø"œ-ð	ñ ô �
�
õ 0ØœØÔ.Ø'*Ô'=Ø"œ-ð	ñ ô �
�
õ ,Ø”XØ!Ô/ØÔ8Ø-Ø+Ø”mðñ ô ˆJð Ð!Ýœ×)Ò)¨*Ñ5Ô5ˆJÝœŸš Z°Ñ<Ô<ˆIðÝ%.¨zÑ%:Ô%:Ñ"�
˜FÝ”˜J¨	Ñ2Ô2Ð2Ý—’ØIØ”HØØØ×(Ò(Ñ*Ô*ñô ð õ —’Ð5°zÑBÔBÐBØ ðg=ð =ð =ð =ñ =ô =ð =ð =øõh ð ð ð Ý—’Ø6Ø”HØñô ð ð ð ð ð ð øøøøðøøøð Œ~ð 	3Ý˜c >Ñ2Ô2Ð2Øð{=ð =ð =ñ =ô =ð =ð =ð =ð =ð =ð =ð =øøøð =ð =ð =ð =ð =ð =s7   ‘D#HÄ5A8F:Æ:
G/Ç!G*Ç%HÇ*G/Ç/HÈHÈHc                 ó  — t          | j        |¬¦  «        }t                               d| j        ¦  «         	 t          |d| j        ¬¦  «         dS # t          $ r$ t                               d| j        ¦  «         Y dS w xY w)N)rh   zRunning setup.py clean for %szpython setup.py clean)Úcommand_descÚcwdTz Failed cleaning build dir for %sF)	r   rw   r1   r2   r3   r   r4   r~   Úerror)r+   rh   Ú
clean_argss      r(   r   r   0  sž   € Ý+ØÔØ%ðñ ô €Jõ
 ‡K‚KÐ/°´Ñ:Ô:Ð:ðÝØÐ%<À#Ä.ð	
ñ 	
ô 	
ð 	
ð ˆtøÝð ð ð Ý�ŠÐ7¸¼ÑBÔBÐBØˆuˆuðøøøs   ¸A Á*A?Á>A?Úrequirementsc           
      ó^  — | sg g fS t                                dd                     d„ | D ¦   «         ¦  «        ¦  «         t          ¦   «         5  g g }}| D ]Ê}|j        sJ ‚t          ||¦  «        }t          ||||||j        o|j        ¦  «        }	|	rx|j	        �| 
                    ||j	        ¦  «         t          t          |	¦  «        ¦  «        |_        |j        j        |_        |j        j        sJ ‚|                     |¦  «         Œµ|                     |¦  «         ŒË	 ddd¦  «         n# 1 swxY w Y   |r8t                                dd                     d„ |D ¦   «         ¦  «        ¦  «         |r8t                                dd                     d	„ |D ¦   «         ¦  «        ¦  «         ||fS )
z˜Build wheels.

    :return: The list of InstallRequirement that succeeded to build and
        the list of InstallRequirement that failed to build.
    z*Building wheels for collected packages: %sz, c              3   ó$   K  — | ]}|j         V — Œd S ©N©r3   ©Ú.0r+   s     r(   ú	<genexpr>zbuild.<locals>.<genexpr>S  s$   è è € Ð3Ð3˜s�#”(Ð3Ð3Ð3Ð3Ð3Ð3r*   NzSuccessfully built %sú c                 ó   — g | ]	}|j         ‘Œ
S © rŽ   r�   s     r(   ú
<listcomp>zbuild.<locals>.<listcomp>v  s   € Ð:Ð:Ð: 3�c”hÐ:Ð:Ð:r*   zFailed to build %sc                 ó   — g | ]	}|j         ‘Œ
S r”   rŽ   r�   s     r(   r•   zbuild.<locals>.<listcomp>{  s   € Ð9Ð9Ð9 3�c”hÐ9Ð9Ð9r*   )r1   r2   rz   r   r3   rR   rq   r5   Úpermit_editable_wheelsÚdownload_infoÚrecord_download_originr   r    rA   Ú	file_pathÚlocal_file_pathr0   Úappend)
rŠ   rL   rf   rg   rh   Úbuild_successesÚbuild_failuresr+   rN   Ú
wheel_files
             r(   Úbuildr    A  s1  € ð ð Ø�2ˆvˆõ ‡K‚KØ4Ø�	Š	Ð3Ð3 lÐ3Ñ3Ô3Ñ3Ô3ñô ð õ
 
‰Œð +ð +Ø*,¨b˜ˆØð 	+ð 	+ˆCØ”8ˆOˆOˆOÝ& s¨KÑ8Ô8ˆIÝ#ØØØØØØ”Ð; Ô!;ñô ˆJð ð +àÔ$Ð0ð  ×6Ò6°yÀ#ÔBSÑTÔTÐTå¥¨JÑ 7Ô 7Ñ8Ô8�”Ø&)¤hÔ&8�Ô#Ø”xÔ(Ð(Ð(Ð(Ø×&Ò& sÑ+Ô+Ð+Ð+à×%Ò% cÑ*Ô*Ð*Ð*ð1	+ð+ð +ð +ñ +ô +ð +ð +ð +ð +ð +ð +øøøð +ð +ð +ð +ð: ð 
Ý�ŠØ#Ø�HŠHÐ:Ð:¨/Ð:Ñ:Ô:Ñ;Ô;ñ	
ô 	
ð 	
ð ð 
Ý�ŠØ Ø�HŠHÐ9Ð9¨.Ð9Ñ9Ô9Ñ:Ô:ñ	
ô 	
ð 	
ð
 ˜NÐ*Ð*s   ÁCD,Ä,D0Ä3D0r�   )NÚ__doc__ÚloggingÚos.pathrV   Úrer{   Útypingr   r   r   r   r   Úpip._vendor.packaging.utilsr   r	   Úpip._vendor.packaging.versionr
   r   Úpip._internal.cacher   Úpip._internal.exceptionsr   r   Úpip._internal.metadatar   r   Úpip._internal.models.linkr   Úpip._internal.models.wheelr   Ú$pip._internal.operations.build.wheelr   Ú-pip._internal.operations.build.wheel_editabler   Ú+pip._internal.operations.build.wheel_legacyr   Úpip._internal.req.req_installr   Úpip._internal.utils.deprecationr   r   Úpip._internal.utils.loggingr   Úpip._internal.utils.miscr   r   r   Ú$pip._internal.utils.setuptools_buildr   Úpip._internal.utils.subprocessr   Úpip._internal.utils.temp_dirr   Úpip._internal.utils.urlsr    Úpip._internal.vcsr!   Ú	getLoggerÚ__name__r1   ÚcompileÚ
IGNORECASEr&   r%   ÚBdistWheelAllowedPredicateÚBuildResultrZ   r)   r9   r<   r?   rK   rR   rd   rq   rn   r   r    r”   r*   r(   ú<module>r¿      sß  ððð ð €€€Ø €€€Ø 	€	€	€	Ø €€€Ø <Ð <Ð <Ð <Ð <Ð <Ð <Ð <Ð <Ð <Ð <Ð <Ð <Ð <à OÐ OÐ OÐ OÐ OÐ OÐ OÐ OØ AÐ AÐ AÐ AÐ AÐ AÐ AÐ Aà *Ð *Ð *Ð *Ð *Ð *Ø KÐ KÐ KÐ KÐ KÐ KÐ KÐ KØ JÐ JÐ JÐ JÐ JÐ JÐ JÐ JØ *Ð *Ð *Ð *Ð *Ð *Ø ,Ð ,Ð ,Ð ,Ð ,Ð ,Ø CÐ CÐ CÐ CÐ CÐ CØ NÐ NÐ NÐ NÐ NÐ NØ JÐ JÐ JÐ JÐ JÐ JØ <Ð <Ð <Ð <Ð <Ð <ðð ð ð ð ð ð ð ð 3Ð 2Ð 2Ð 2Ð 2Ð 2Ø NÐ NÐ NÐ NÐ NÐ NÐ NÐ NÐ NÐ NØ KÐ KÐ KÐ KÐ KÐ KØ :Ð :Ð :Ð :Ð :Ð :Ø 6Ð 6Ð 6Ð 6Ð 6Ð 6Ø 0Ð 0Ð 0Ð 0Ð 0Ð 0Ø !Ð !Ð !Ð !Ð !Ð !à	ˆÔ	˜8Ñ	$Ô	$€àˆrŒzÐ;¸R¼]ÑKÔK€à%Ð'9Ð&:¸DÐ&@ÔAÐ Ø�DÐ+Ô,¨dÐ3EÔ.FÐFÔG€ð(˜#ð ( $ð (ð (ð (ð (ð ?Cð1ð 1Ø	ð1àð1ð  Ð :Ô;ð1ð 
ð	1ð 1ð 1ð 1ðh/Ø	ð/à	ð/ð /ð /ð /ðØ	ðà9ðð 
ðð ð ð ðØ	ðàˆd„^ðð ð ð ð@Ø	ðàðð 	ðð ð ð ð 
Ð'ð 
°Sð 
¸Tð 
ð 
ð 
ð 
ð<#Ø	ð#àð#ð ð#ð ˜”9ð	#ð
 ˜”Ið#ð ð#ð ˆc„]ð#ð #ð #ð #ðLDØ	ðDàðDð ˜”9ðDð ˜”Ið	Dð
 ðDð ˆc„]ðDð Dð Dð DðNÐ-ð ¸tÀC¼yð ÈTð ð ð ð ð"=+ØÐ-Ô.ð=+àð=+ð ð=+ð ˜”9ð	=+ð
 ˜”Ið=+ð ð=+ð =+ð =+ð =+ð =+ð =+r*   