§
    WŠtjC‚  ã            
       ó(  — 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Zd dl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Zd dlmZ d dlmZ d d	lmZ d
dlmZ dZ e ej        dd¦  «        ¦  «        Zdej         v Z!ej"         #                    ej$        dk    oe!d¬¦  «        Z% G d„ d¦  «        Z& G d„ de&¦  «        Z' G d„ de&¦  «        Z( ed¦  «         ed¦  «        dœ ed¦  «         ed¦  «        dœ ed¦  «         ed¦  «        dœd ed¦  «        i ed ¦  «         ed!¦  «        d"œ ed ¦  «        d ed!¦  «        d#œgZ) G d$„ d%¦  «        Z* G d&„ d'e*¦  «        Z+ej"         ,                    d(¦  «        d)„ ¦   «         Z-d*„ Z.dS )+é    N)ÚCallable)Úfutures)ÚPath)ÚAny)ÚZipFile)Úpath)ÚRequirement)ÚSetuptoolsDeprecationWarningé   )ÚDALSz __import__('setuptools').setup()ÚTIMEOUT_BACKEND_TESTÚ180Ú__pypy__Úwin32z_The combination of PyPy + Windows + pytest-xdist + ProcessPoolExecutor is flaky and problematic)Úreasonc                   ó   — e Zd Zddd„ZdS )ÚBuildBackendBaseú.Núsetuptools.build_metaÚreturnc                 ó4   — || _         |pi | _        || _        d S )N)ÚcwdÚenvÚbackend_name)Úselfr   r   r   s       ú^/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/setuptools/tests/test_build_meta.pyÚ__init__zBuildBackendBase.__init__'   s"   € ØˆŒØ�9˜"ˆŒØ(ˆÔÐÐó    )r   Nr   ©r   N)Ú__name__Ú
__module__Ú__qualname__r   © r   r   r   r   &   s-   € € € € € ð)ð )ð )ð )ð )ð )ð )r   r   c                   óJ   ‡ — e Zd ZdZd	ˆ fd„Zdededef         fd„Zd„ Z	ˆ xZ
S )
ÚBuildBackendzPEP 517 Build Backendr   Nc                 ón   •—  t          ¦   «         j        |i |¤Ž t          j        d¬¦  «        | _        d S )Nr   )Úmax_workers)Úsuperr   r   ÚProcessPoolExecutorÚpool)r   ÚargsÚkwargsÚ	__class__s      €r   r   zBuildBackend.__init__0   s8   ø€ Ø�‰ŒÔ˜$Ð) &Ð)Ð)Ð)ÝÔ/¸AÐ>Ñ>Ô>ˆŒ	ˆ	ˆ	r   Úname.c                 ó   ‡ ‡— ˆˆ fd„}|S )ú<Handles arbitrary function invocations on the build backend.c                  óœ  •— t           j                             ‰j        ¦  «        }t	          |‰j        ‰j        ¦  «        }d }	 ‰j                             t           j	        ¦  «         
                    t          ¦  «        } ‰j        j        |‰g| ¢R i |¤Ž 
                    t          ¦  «        S # t          j        $ rQ ‰j                             d¬¦  «         ‰                     |¦  «         t!          j        dt          › d�¦  «         Y d S t          j        j        t(          t*          f$ r t,          rt!          j        d¦  «         ‚ w xY w)NF)Úwaitz(Backend did not respond before timeout (z s)z3PyPy frequently fails tests with ProcessPoolExector)Úosr   Úabspathr   ÚBuildBackendCallerr   r   r*   ÚsubmitÚgetpidÚresultÚTIMEOUTr   ÚTimeoutErrorÚshutdownÚ_killÚpytestÚxfailÚprocessÚBrokenProcessPoolÚMemoryErrorÚOSErrorÚIS_PYPY)r+   ÚkwÚrootÚcallerÚpidr.   r   s        €€r   Úmethodz(BuildBackend.__getattr__.<locals>.method7   s;  ø€ Ý”7—?’? 4¤8Ñ,Ô,ˆDÝ'¨¨d¬h¸Ô8IÑJÔJˆFØˆCð
Ø”i×&Ò&¥r¤yÑ1Ô1×8Ò8½ÑAÔA�Ø'�t”yÔ'¨°ÐB°tÐBÐBÐB¸rÐBÐB×IÒIÍ'ÑRÔRÐRøÝÔ'ð Vð Vð VØ”	×"Ò"¨Ð"Ñ.Ô.Ð.Ø—
’
˜3‘”�Ý”ÐTÍÐTÐTÐTÑUÔUÐUÐUÐUÐUÝ”OÔ5µ{ÅGÐLð ð ð Ýð XÝ”LÐ!VÑWÔWÐWØðøøøs   ÁA*B/ Â/AEÄ=Er#   )r   r.   rH   s   `` r   Ú__getattr__zBuildBackend.__getattr__4   s)   øø€ ð	ð 	ð 	ð 	ð 	ð 	ð  ˆr   c                 óô   — |€d S t          j        t          t          ¦  «        5  t	          j        |t          j        dk    rt          j        nt          j	        ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NÚnt)
Ú
contextlibÚsuppressÚProcessLookupErrorrB   r3   Úkillr.   ÚsignalÚSIGTERMÚSIGKILL)r   rG   s     r   r<   zBuildBackend._killI   s¼   € Øˆ;ØˆFÝÔ Õ!3µWÑ=Ô=ð 	Pð 	PÝŒG�C­2¬7°dª?¨?�œ˜ÅÄÑOÔOÐOð	Pð 	Pð 	Pñ 	Pô 	Pð 	Pð 	Pð 	Pð 	Pð 	Pð 	Pð 	Pøøøð 	Pð 	Pð 	Pð 	Pð 	Pð 	Ps   ¤<A-Á-A1Á4A1r   )r    r!   r"   Ú__doc__r   Ústrr   r   rI   r<   Ú__classcell__©r-   s   @r   r%   r%   -   s„   ø€ € € € € ØÐð?ð ?ð ?ð ?ð ?ð ?ð ð ¨°°c°Ô(:ð ð ð ð ð*Pð Pð Pð Pð Pð Pð Pr   r%   c                   ó,   ‡ — e Zd Zdˆ fd„Zdefd„Zˆ xZS )r5   r   Nc                 óŠ   •—  t          ¦   «         j        |i |¤Ž | j                             d¦  «        \  | _        }| _        d S )Nú:)r(   r   r   Ú	partitionÚbackend_obj)r   r+   r,   Ú_r-   s       €r   r   zBuildBackendCaller.__init__Q   sH   ø€ Ø�‰ŒÔ˜$Ð) &Ð)Ð)Ð)à37Ô3D×3NÒ3NÈsÑ3SÔ3SÑ0ˆÔ	˜A˜tÔ/Ð/Ð/r   c                 ó  — t          j        | j        ¦  «         t           j                             | j        ¦  «         t          j        | j        ¦  «        }| j	        rt          || j	        ¦  «        }n|} t          ||¦  «        |i |¤ŽS )r0   )r3   Úchdirr   ÚenvironÚupdater   Ú	importlibÚimport_moduler   r[   Úgetattr)r   r.   r+   rD   ÚmodÚbackends         r   Ú__call__zBuildBackendCaller.__call__V   s‚   € å
Œ�”ÑÔÐÝ
Œ
×Ò˜$œ(Ñ#Ô#Ð#ÝÔ% dÔ&7Ñ8Ô8ˆàÔð 	Ý˜c 4Ô#3Ñ4Ô4ˆGˆGàˆGà%�w�w Ñ%Ô% tÐ2¨rÐ2Ð2Ð2r   r   )r    r!   r"   r   r   rf   rU   rV   s   @r   r5   r5   P   s^   ø€ € € € € ðTð Tð Tð Tð Tð Tð
3¨Sð 3ð 3ð 3ð 3ð 3ð 3ð 3ð 3r   r5   zÒ
            __import__('setuptools').setup(
                name='foo',
                version='0.0.0',
                py_modules=['hello'],
                setup_requires=['six'],
            )
            úC
            def run():
                print('hello')
            ©úsetup.pyúhello.pyzü
            assert __name__ == '__main__'
            __import__('setuptools').setup(
                name='foo',
                version='0.0.0',
                py_modules=['hello'],
                setup_requires=['six'],
            )
            aF  
            variable = True
            def function():
                return variable
            assert variable
            __import__('setuptools').setup(
                name='foo',
                version='0.0.0',
                py_modules=['hello'],
                setup_requires=['six'],
            )
            ri   aƒ  
            # Some packages construct files on the fly, include them in the package,
            # and immediately remove them after `setup()` (e.g. pybind11==2.9.1).
            # Therefore, we cannot use `distutils.core.run_setup(..., stop_after=...)`
            # to obtain a distribution object first, and then run the distutils
            # commands later, because these files will be removed in the meantime.

            with open('world.py', 'w', encoding="utf-8") as f:
                f.write('x = 42')

            try:
                __import__('setuptools').setup(
                    name='foo',
                    version='0.0.0',
                    py_modules=['world'],
                    setup_requires=['six'],
                )
            finally:
                # Some packages will clean temporary files
                __import__('os').unlink('world.py')
            zŽ
        [metadata]
        name = foo
        version = 0.0.0

        [options]
        py_modules=hello
        setup_requires=six
        z7
        def run():
            print('hello')
        )ú	setup.cfgrj   )rk   ri   rj   c                   ój  — e Zd ZdZd„ Z ej        e¬¦  «        d„ ¦   «         Zd„ Z	d„ Z
d„ Zej                             dd	¦  «        d
„ ¦   «         Zej                             ddeg¦  «        d„ ¦   «         Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z ed¦  «        d ed¦  «        dœZd„ Z ed¦  «        ddd iid!œZd"„ Zd#„ Z d$„ Z!ej                             d%d&d'ig¦  «        d(„ ¦   «         Z"ej                             d)d*d+gfd,d+gfd-d+gfd.d+gfd/d+d0gfd1d+gfd2d+gfd3d4gfd5d+d0gfd6d+d0gfd7d+d0gfg¦  «        ej                             d8d9d:g¦  «        d;„ ¦   «         ¦   «         Z#d<„ Z$d=„ Z%d> ed?¦  «        iZ&d@„ Z'd> edA¦  «        iZ(dB„ Z)ej                             dCdD¦  «        dE„ ¦   «         Z*dS )FÚTestBuildMetaBackendr   c                 ó,   — t          | j        ¬¦  «        S )N©r   )r%   r   )r   s    r   Úget_build_backendz&TestBuildMetaBackend.get_build_backendæ   s   € Ý¨Ô):Ð;Ñ;Ô;Ð;r   )Úparamsc              #   óà   K  — t          j        |j        t          |¦  «        ¬¦  «         |                     ¦   «         5  |                      ¦   «         V — d d d ¦  «         d S # 1 swxY w Y   d S )N)Úprefix)r   ÚbuildÚparamrT   Úas_cwdrp   )r   ÚtmpdirÚrequests      r   Úbuild_backendz"TestBuildMetaBackend.build_backendé   s­   è è € åŒ
�7”=­¨V©¬Ð5Ñ5Ô5Ð5Ø�]Š]‰_Œ_ð 	+ð 	+Ø×(Ò(Ñ*Ô*Ð*Ð*Ð*ð	+ð 	+ð 	+ñ 	+ô 	+ð 	+ð 	+ð 	+ð 	+ð 	+ð 	+ð 	+øøøð 	+ð 	+ð 	+ð 	+ð 	+ð 	+s   ¿A#Á#A'Á*A'c                 óx   — |                      ¦   «         }dg}t          |¦  «        t          |¦  «        k    sJ ‚d S ©NÚsix)Úget_requires_for_build_wheelÚsorted©r   ry   ÚactualÚexpecteds       r   Ú!test_get_requires_for_build_wheelz6TestBuildMetaBackend.test_get_requires_for_build_wheelï   ó?   € Ø×;Ò;Ñ=Ô=ˆØ�7ˆÝ�f‰~Œ~¥¨Ñ!1Ô!1Ò1Ð1Ð1Ð1Ð1Ð1r   c                 óx   — |                      ¦   «         }dg}t          |¦  «        t          |¦  «        k    sJ ‚d S r{   )Úget_requires_for_build_sdistr~   r   s       r   Ú!test_get_requires_for_build_sdistz6TestBuildMetaBackend.test_get_requires_for_build_sdistô   rƒ   r   c                 óD  — t           j                             d¦  «        }t          j        |¦  «         |                     |¦  «        }t           j                             ||¦  «        }t           j                             |¦  «        sJ ‚t           j                             d¦  «        rJ ‚t          |¦  «        5 }t          | 	                    ¦   «         ¦  «        }d d d ¦  «         n# 1 swxY w Y   d„ |D ¦   «         }d„ |D ¦   «         }t          |¦  «        dk    sJ ‚d S )Nz	pip-wheelúworld.pyc              3   óD   K  — | ]}|                      d ¦  «        ¯|V — ŒdS )z.pyN©Úendswith©Ú.0Úfs     r   ú	<genexpr>z8TestBuildMetaBackend.test_build_wheel.<locals>.<genexpr>	  s3   è è € ÐIÐI °q·z²zÀ%Ñ7HÔ7HÐI˜!ÐIÐIÐIÐIÐIÐIr   c                 ó<   — g | ]}|                      d ¦  «        °|‘ŒS )ri   rŠ   rŒ   s     r   ú
<listcomp>z9TestBuildMetaBackend.test_build_wheel.<locals>.<listcomp>
  s)   € ÐKÐKÐK˜°A·J²J¸zÑ4JÔ4JÐK�1ÐKÐKÐKr   r   )r3   r   r4   ÚmakedirsÚbuild_wheelÚjoinÚisfiler   ÚsetÚnamelistÚlen)	r   ry   Údist_dirÚ
wheel_nameÚ
wheel_fileÚzipfileÚwheel_contentsÚpython_scriptsÚmoduless	            r   Útest_build_wheelz%TestBuildMetaBackend.test_build_wheelù   sB  € Ý”7—?’? ;Ñ/Ô/ˆÝ
Œ�HÑÔÐØ"×.Ò.¨xÑ8Ô8ˆ
å”W—\’\ (¨JÑ7Ô7ˆ
ÝŒw�~Š~˜jÑ)Ô)Ð)Ð)Ð)õ ”7—>’> *Ñ-Ô-Ð-Ð-Ð-å�ZÑ Ô ð 	5 GÝ  ×!1Ò!1Ñ!3Ô!3Ñ4Ô4ˆNð	5ð 	5ð 	5ñ 	5ô 	5ð 	5ð 	5ð 	5ð 	5ð 	5ð 	5øøøð 	5ð 	5ð 	5ð 	5ð
 JÐI ^ÐIÑIÔIˆØKÐK˜nÐKÑKÔKˆÝ�7‰|Œ|˜qÒ Ð Ð Ð Ð Ð s   Â:"C(Ã(C,Ã/C,Ú
build_type)ÚwheelÚsdistc                 óf  — ddt          d¦  «        t          d¦  «        dœ}t          j        |¦  «         t          j                             d|z   ¦  «        }|                      ¦   «         }t          |d|z   ¦  «        } ||¦  «        }t          dd	d
¬¦  «        5 }|                     d¦  «         d d d ¦  «         n# 1 swxY w Y    ||¦  «        }	t          j         	                    t          j         
                    ||¦  «        ¦  «        sJ ‚||	k    sJ ‚t          t          j         
                    ||	¦  «        d¦  «                             ¦   «           ||¦  «        }
|
|	k    sJ ‚t          j                             t          j         
                    ||
¦  «        ¦  «        dk    sJ ‚d S )Nz$from setuptools import setup
setup()z0.0.1zo
                [metadata]
                name = foo
                version = file: VERSION
                ú›
                [build-system]
                requires = ["setuptools", "wheel"]
                build-backend = "setuptools.build_meta"
                )ri   ÚVERSIONrk   úpyproject.tomlzpreexisting-Úbuild_r¦   Úwtúutf-8©Úencodingz0.0.2Úwbr   )r   r   rt   r3   r4   rp   rc   ÚopenÚwriter•   r”   ÚcloseÚgetsize)r   r¡   Ú
tmpdir_cwdÚfilesr™   ry   Úbuild_methodÚfirst_resultÚversion_fileÚsecond_resultÚthird_results              r   Ú%test_build_with_existing_file_presentz:TestBuildMetaBackend.test_build_with_existing_file_present  sé  € ð
 @ØÝðñô õ #ðñô ð
ð 
ˆõ& 	Œ
�5ÑÔÐå”7—?’? >°JÑ#>Ñ?Ô?ˆà×.Ò.Ñ0Ô0ˆÝ˜}¨h¸Ñ.CÑDÔDˆð
 $�| HÑ-Ô-ˆõ �)˜T¨GÐ4Ñ4Ô4ð 	(¸Ø×Ò˜wÑ'Ô'Ð'ð	(ð 	(ð 	(ñ 	(ô 	(ð 	(ð 	(ð 	(ð 	(ð 	(ð 	(øøøð 	(ð 	(ð 	(ð 	(ð %˜ XÑ.Ô.ˆåŒw�~Š~�bœgŸlšl¨8°\ÑBÔBÑCÔCÐCÐCÐCØ˜}Ò,Ð,Ð,Ð,õ 	�RŒW�\Š\˜( MÑ2Ô2°DÑ9Ô9×?Ò?ÑAÔAÐAØ#�| HÑ-Ô-ˆØ˜}Ò,Ð,Ð,Ð,ÝŒw�Š�rœwŸ|š|¨H°lÑCÔCÑDÔDÀqÒHÐHÐHÐHÐHÐHs   ÂB>Â>CÃCÚsetup_scriptNc                 óì  — t          d¦  «        t          d¦  «        dddddddd	d
œidœ}|r||d<   |                      ¦   «         }|                     ¦   «         5  t          j        |¦  «         ddg}t          j        ¦   «         5  |D ]}t          j        d|t          ¦  «         Œ| 	                    d¦  «        }| 
                    d¦  «        }d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         n# 1 swxY w Y   t          j        t          j                             |d|¦  «        ¦  «        5 }	t          |	                     ¦   «         ¦  «        }
d d d ¦  «         n# 1 swxY w Y   t#          t          j                             |d|¦  «        ¦  «        5 }t          |                     ¦   «         ¦  «        }t'          |                     d¦  «        d¦  «        }t'          |                     d¦  «        d¦  «        }t'          |                     d¦  «        d¦  «        }d d d ¦  «         n# 1 swxY w Y   |
dhz
  h d£k    sJ ‚|h d£k    sJ ‚|dk    sJ ‚ddddddt'          t+          d¦  «        ¦  «        z   dt'          t+          d¦  «        ¦  «        z   fD ]}||v sJ ||f¦   «         ‚Œ|                     ¦   «                              d¦  «        sJ ‚|                     ¦   «         d k    sJ ‚d S )!Naj  
                [build-system]
                requires = ["setuptools", "wheel"]
                build-backend = "setuptools.build_meta"

                [project]
                name = "foo"
                license = {text = "MIT"}
                description = "This is a Python package"
                dynamic = ["version", "readme"]
                classifiers = [
                    "Development Status :: 5 - Production/Stable",
                    "Intended Audience :: Developers"
                ]
                urls = {Homepage = "http://github.com"}
                dependencies = [
                    "appdirs",
                ]

                [project.optional-dependencies]
                all = [
                    "tomli>=1",
                    "pyscaffold>=4,<5",
                    'importlib; python_version == "2.6"',
                ]

                [project.scripts]
                foo = "foo.cli:main"

                [tool.setuptools]
                zip-safe = false
                package-dir = {"" = "src"}
                packages = {find = {where = ["src"]}}
                license-files = ["LICENSE*"]

                [tool.setuptools.dynamic]
                version = {attr = "foo.__version__"}
                readme = {file = "README.rst"}

                [tool.distutils.sdist]
                formats = "gztar"
                zd
                global-include *.py *.txt
                global-exclude *.py[cod]
                zThis is a ``README``z!---- placeholder MIT license ----Úfooz__version__ = '0.1'z__version__: strz def main(): print('hello world')Ú )ú__init__.pyz__init__.pyizcli.pyzdata.txtzpy.typed)r§   úMANIFEST.inz
README.rstzLICENSE.txtÚsrcri   zQ'tool.setuptools.license-files' is deprecated in favor of 'project.license-files'z/`project.license` as a TOML table is deprecatedÚignoreÚtempúfoo-0.1.dist-info/METADATArª   ú&foo-0.1.dist-info/licenses/LICENSE.txtú"foo-0.1.dist-info/entry_points.txtzfoo-0.1/setup.py>   úfoo-0.1úfoo-0.1/srcúfoo-0.1/src/fooúfoo-0.1/PKG-INFOúfoo-0.1/setup.cfgúfoo-0.1/README.rstúfoo-0.1/LICENSE.txtúfoo-0.1/MANIFEST.inúfoo-0.1/pyproject.tomlúfoo-0.1/src/foo/cli.pyúfoo-0.1/src/foo.egg-infoúfoo-0.1/src/foo/data.txtúfoo-0.1/src/foo/py.typedúfoo-0.1/src/foo/__init__.pyúfoo-0.1/src/foo/__init__.pyiú!foo-0.1/src/foo.egg-info/PKG-INFOú$foo-0.1/src/foo.egg-info/SOURCES.txtú%foo-0.1/src/foo.egg-info/not-zip-safeú%foo-0.1/src/foo.egg-info/requires.txtú&foo-0.1/src/foo.egg-info/top_level.txtú)foo-0.1/src/foo.egg-info/entry_points.txtú-foo-0.1/src/foo.egg-info/dependency_links.txt>   ú
foo/cli.pyúfoo/data.txtúfoo/py.typedúfoo/__init__.pyúfoo/__init__.pyiúfoo-0.1.dist-info/WHEELúfoo-0.1.dist-info/RECORDúfoo-0.1.dist-info/top_level.txtrÃ   rÅ   rÄ   z!Summary: This is a Python packagezLicense: MITzLicense-File: LICENSE.txtz+Classifier: Intended Audience :: DeveloperszRequires-Dist: appdirszRequires-Dist: ztomli>=1 ; extra == "all"z2importlib; python_version=="2.6" and extra =="all"z$[console_scripts]
foo = foo.cli:main)r   rp   rv   r   rt   ÚwarningsÚcatch_warningsÚfilterwarningsr
   Úbuild_sdistr“   Útarfiler®   r3   r”   r–   Úgetnamesr   r—   rT   Úreadr	   Ústripr‹   )r   rw   rº   r³   ry   ÚmsgsÚmsgÚ
sdist_pathr›   ÚtarÚsdist_contentsrœ   r�   ÚmetadataÚlicenseÚepointsÚlines                    r   Ú test_build_with_pyproject_configz5TestBuildMetaBackend.test_build_with_pyproject_config@  sm  € õ #ð)ñ+ô +õX  ðñô ð 1Ø>àØ#8Ø$6Ø@Ø BØ "ðð ððk>
ð >
ˆð~ ð 	-Ø ,ˆE�*Ñà×.Ò.Ñ0Ô0ˆØ�]Š]‰_Œ_ð 
	?ð 
	?ÝŒJ�uÑÔÐàcØAðˆDõ Ô(Ñ*Ô*ð ?ð ?Øð Yð Y�CÝÔ+¨H°cÕ;WÑXÔXÐXÐXØ*×6Ò6°vÑ>Ô>�
Ø*×6Ò6°vÑ>Ô>�
ð	?ð ?ð ?ñ ?ô ?ð ?ð ?ð ?ð ?ð ?ð ?øøøð ?ð ?ð ?ð ?ð
	?ð 
	?ð 
	?ñ 
	?ô 
	?ð 
	?ð 
	?ð 
	?ð 
	?ð 
	?ð 
	?øøøð 
	?ð 
	?ð 
	?ð 
	?õ Œ\�"œ'Ÿ,š, v¨v°zÑBÔBÑCÔCð 	1ÀsÝ  §¢¡¤Ñ0Ô0ˆNð	1ð 	1ð 	1ñ 	1ô 	1ð 	1ð 	1ð 	1ð 	1ð 	1ð 	1øøøð 	1ð 	1ð 	1ð 	1õ •R”W—\’\ &¨&°*Ñ=Ô=Ñ>Ô>ð 	WÀ'Ý  ×!1Ò!1Ñ!3Ô!3Ñ4Ô4ˆNÝ˜7Ÿ<š<Ð(DÑEÔEÀwÑOÔOˆHÝØ—’ÐEÑFÔFÈñô ˆGõ ˜'Ÿ,š,Ð'KÑLÔLÈgÑVÔVˆGð	Wð 	Wð 	Wñ 	Wô 	Wð 	Wð 	Wð 	Wð 	Wð 	Wð 	Wøøøð 	Wð 	Wð 	Wð 	Wð Ð!3Ð 4Ñ4ð 9
ð 9
ð 9
ò 
ð 
ð 
ð 
ð0 ð "
ð "
ð "
ò 
ð 
ð 
ð 
ð Ð=Ò=Ð=Ð=Ð=ð 0ØØ'Ø9Ø$Ø¥¥KÐ0KÑ$LÔ$LÑ MÔ MÑMØÝ•+ÐRÑSÔSÑTÔTñUð	
ð 
	6ð 
	6ˆDð ˜8Ð#Ð#Ð# d¨HÐ%5Ñ#Ô#Ð#Ð#à�~Š~ÑÔ×(Ò(Ð)?Ñ@Ô@Ð@Ð@Ð@Ø�}Š}‰ŒÐ"IÒIÐIÐIÐIÐIÐIs\   Á,C4ÂACÃC4ÃC!	Ã!C4Ã$C!	Ã%C4Ã4C8Ã;C8Ä2"E Å E$Å'E$ÆBH0È0H4È7H4c                 ód  — t          d¦  «        t          d¦  «        t          d¦  «        dœ}|                      ¦   «         }|                     ¦   «         5  t          j        |¦  «         |                     d¦  «        }|                     d¦  «        }d d d ¦  «         n# 1 swxY w Y   |dz                       ¦   «         sJ ‚|dz                       ¦   «         sJ ‚|dz                       ¦   «         rJ ‚|d	z                       ¦   «         rJ ‚|d
z                       ¦   «         rJ ‚|dz                       ¦   «         rJ ‚|dz                       ¦   «         rJ ‚|dz                       ¦   «         rJ ‚t          j	        t          j                             |d|¦  «        ¦  «        5 }t          |                     d¦  «                             ¦   «         d¦  «        }|                     ¦   «         }d|vsJ ‚	 d d d ¦  «         n# 1 swxY w Y   t!          t          j                             |d|¦  «        ¦  «        5 }	t          |	                     d¦  «        d¦  «        }
|	                     ¦   «         }d|vsJ ‚	 d d d ¦  «         n# 1 swxY w Y   ||
fD ]}dD ]}||v sJ ‚Œ	dD ]}||vsJ ‚Œ	Œd S )NaR  
                [build-system]
                requires = ["setuptools", "wheel"]
                build-backend = "setuptools.build_meta"

                [project]
                name = "foo"
                description = "This is a Python package"
                version = "42"
                dependencies = ["six"]
                zO
                def run():
                    print('hello')
                z•
                __import__('setuptools').setup(
                    name='bar',
                    version='13',
                )
                )r§   rj   ri   rÂ   ztemp/foo-42.tar.gzztemp/foo-42-py3-none-any.whlztemp/bar-13.tar.gzztemp/bar-42.tar.gzztemp/foo-13.tar.gzztemp/bar-13-py3-none-any.whlztemp/bar-42-py3-none-any.whlztemp/foo-13-py3-none-any.whlzfoo-42/PKG-INFOrª   zbar-13/PKG-INFOzfoo-42.dist-info/METADATAzbar-13.dist-info/METADATA)z	Name: foozVersion: 42)z	Name: barzVersion: 13)r   rp   rv   r   rt   rç   r“   Úexistsrè   r®   r3   r”   rT   Úextractfilerê   ré   r   r—   )r   rw   r³   ry   rî   r›   rï   Úpkg_infoÚmembersrœ   rñ   Úfilerô   s                r   Ú(test_static_metadata_in_pyproject_configz=TestBuildMetaBackend.test_static_metadata_in_pyproject_configÒ  sÀ  € õ #ð
ñô õ ðñô õ ðñô ð)
ð 
ˆð: ×.Ò.Ñ0Ô0ˆØ�]Š]‰_Œ_ð 	;ð 	;ÝŒJ�uÑÔÐØ&×2Ò2°6Ñ:Ô:ˆJØ&×2Ò2°6Ñ:Ô:ˆJð	;ð 	;ð 	;ñ 	;ô 	;ð 	;ð 	;ð 	;ð 	;ð 	;ð 	;øøøð 	;ð 	;ð 	;ð 	;ð
 Ð-Ñ-×5Ò5Ñ7Ô7Ð7Ð7Ð7ØÐ7Ñ7×?Ò?ÑAÔAÐAÐAÐAØÐ1Ñ1×9Ò9Ñ;Ô;Ð;Ð;Ð;ØÐ1Ñ1×9Ò9Ñ;Ô;Ð;Ð;Ð;ØÐ1Ñ1×9Ò9Ñ;Ô;Ð;Ð;Ð;ØÐ;Ñ;×CÒCÑEÔEÐEÐEÐEØÐ;Ñ;×CÒCÑEÔEÐEÐEÐEØÐ;Ñ;×CÒCÑEÔEÐEÐEÐEåŒ\�"œ'Ÿ,š, v¨v°zÑBÔBÑCÔCð 	4ÀsÝ˜3Ÿ?š?Ð+<Ñ=Ô=×BÒBÑDÔDÀgÑNÔNˆHØ—l’l‘n”nˆGØ$¨GÐ3Ð3Ð3Ð3Ð3ð	4ð 	4ð 	4ñ 	4ô 	4ð 	4ð 	4ð 	4ð 	4ð 	4ð 	4øøøð 	4ð 	4ð 	4ð 	4õ
 •R”W—\’\ &¨&°*Ñ=Ô=Ñ>Ô>ð 	>À'Ý˜7Ÿ<š<Ð(CÑDÔDÀgÑNÔNˆHØ×&Ò&Ñ(Ô(ˆGØ.°gÐ=Ð=Ð=Ð=Ð=ð	>ð 	>ð 	>ñ 	>ô 	>ð 	>ð 	>ð 	>ð 	>ð 	>ð 	>øøøð 	>ð 	>ð 	>ð 	>ð
 ˜hÐ&ð 	(ð 	(ˆDØ4ð $ð $�Ø˜t�|�|�|�|�|Ø4ð (ð (�Ø 4Ð'Ð'Ð'Ð'Ð'ð(ð	(ð 	(s7   Á?B!Â!B%Â(B%Æ'AHÈHÈHÈ=>JÊJÊJc                 ó  — t           j                             d¦  «        }t          j        |¦  «         |                     |¦  «        }t           j                             t           j                             ||¦  «        ¦  «        sJ ‚d S )Nz	pip-sdist)r3   r   r4   r’   rç   r•   r”   ©r   ry   r™   Ú
sdist_names       r   Útest_build_sdistz%TestBuildMetaBackend.test_build_sdist  sh   € Ý”7—?’? ;Ñ/Ô/ˆÝ
Œ�HÑÔÐØ"×.Ò.¨xÑ8Ô8ˆ
åŒw�~Š~�bœgŸlšl¨8°ZÑ@Ô@ÑAÔAÐAÐAÐAÐAÐAr   c                 ó  — t           j                             d¦  «        }t          j        |¦  «         |                     |¦  «        }t           j                             t           j                             ||d¦  «        ¦  «        sJ ‚d S )Núpip-dist-infoÚMETADATA)r3   r   r4   r’   Ú prepare_metadata_for_build_wheelr•   r”   )r   ry   r™   Ú	dist_infos       r   Ú%test_prepare_metadata_for_build_wheelz:TestBuildMetaBackend.test_prepare_metadata_for_build_wheel  sj   € Ý”7—?’? ?Ñ3Ô3ˆÝ
Œ�HÑÔÐà!×BÒBÀ8ÑLÔLˆ	åŒw�~Š~�bœgŸlšl¨8°YÀ
ÑKÔKÑLÔLÐLÐLÐLÐLÐLr   c                 óä   — dD ]}t          j        |d¬¦  «         Œ|                     d¦  «        }t           j                             t           j                             |d¦  «        ¦  «        sJ ‚dS )zy
        Some users might pass metadata_directory pre-populated with `.tox` or `.venv`.
        See issue #3523.
        )z?.tox/python/lib/python3.10/site-packages/attrs-22.1.0.dist-infozD.tox/python/lib/python3.10/site-packages/autocommand-2.2.1.dist-infoz>.nox/python/lib/python3.10/site-packages/build-0.8.0.dist-infoz4.venv/python3.10/site-packages/click-8.1.3.dist-infoz5venv/python3.10/site-packages/distlib-0.3.5.dist-infoz4env/python3.10/site-packages/docutils-0.19.dist-infoT)Úexist_okr   r  N)r3   r’   r  r   r•   r”   )r   ry   Úpre_existingr  s       r   Útest_prepare_metadata_inplacez2TestBuildMetaBackend.test_prepare_metadata_inplace   sp   € ð

ð 	5ð 	5ˆLõ ŒK˜¨tÐ4Ñ4Ô4Ð4Ð4Ø!×BÒBÀ3ÑGÔGˆ	ÝŒw�~Š~�bœgŸlšl¨9°jÑAÔAÑBÔBÐBÐBÐBÐBÐBr   c                 óì   — t           j                             d¦  «        }|                     |¦  «        }t           j                             t           j                             ||¦  «        ¦  «        sJ ‚d S )NÚdist)r3   r   r4   rç   r•   r”   rþ   s       r   Útest_build_sdist_explicit_distz3TestBuildMetaBackend.test_build_sdist_explicit_dist1  sZ   € õ ”7—?’? 6Ñ*Ô*ˆØ"×.Ò.¨xÑ8Ô8ˆ
ÝŒw�~Š~�bœgŸlšl¨8°ZÑ@Ô@ÑAÔAÐAÐAÐAÐAÐAr   c                 ó"  — t           j                             d¦  «        }t          j        |¦  «         |                     |¦  «        }t           j                             t           j                             ||¦  «        ¦  «        sJ ‚t           j                             d¦  «        }t           j                             |¦  «        st           j                             d¦  «        }t          |dd¬¦  «        5 }| 	                    ¦   «         }d d d ¦  «         n# 1 swxY w Y   t          |dd¬¦  «        5 }| 
                    |                     dd	¦  «        ¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        |¦  «         t          j        |¦  «         |                     d¦  «        }t           j                             t           j                             t           j                             d¦  «        |¦  «        ¦  «        sJ ‚d S )
NÚ	out_sdistri   rk   Úrtrª   r«   r©   zversion='0.0.0'zversion='0.0.1')r3   r   r4   r’   rç   r•   r”   r÷   r®   rê   r¯   ÚreplaceÚshutilÚrmtree)r   ry   Úsdist_into_directoryrÿ   Ú	setup_locÚfile_handlerÚcontents          r   Útest_build_sdist_version_changez4TestBuildMetaBackend.test_build_sdist_version_change8  s,  € Ý!œwŸš¨{Ñ;Ô;ÐÝ
ŒÐ(Ñ)Ô)Ð)à"×.Ò.Ð/CÑDÔDˆ
ÝŒw�~Š~�bœgŸlšlÐ+?ÀÑLÔLÑMÔMÐMÐMÐMõ
 ”G—O’O JÑ/Ô/ˆ	ÝŒw�~Š~˜iÑ(Ô(ð 	5ÝœŸš¨Ñ4Ô4ˆIå�)˜T¨GÐ4Ñ4Ô4ð 	*¸Ø"×'Ò'Ñ)Ô)ˆGð	*ð 	*ð 	*ñ 	*ô 	*ð 	*ð 	*ð 	*ð 	*ð 	*ð 	*øøøð 	*ð 	*ð 	*ð 	*å�)˜T¨GÐ4Ñ4Ô4ð 	V¸Ø×Ò˜wŸšÐ/@ÐBSÑTÔTÑUÔUÐUð	Vð 	Vð 	Vñ 	Vô 	Vð 	Vð 	Vð 	Vð 	Vð 	Vð 	Vøøøð 	Vð 	Vð 	Vð 	Võ 	ŒÐ*Ñ+Ô+Ð+Ý
ŒÐ(Ñ)Ô)Ð)à"×.Ò.¨{Ñ;Ô;ˆ
ÝŒw�~Š~�bœgŸlšl­2¬7¯?ª?¸;Ñ+GÔ+GÈÑTÔTÑUÔUÐUÐUÐUÐUÐUs$   Ã7DÄDÄDÄ5*E+Å+E/Å2E/c                 ó²  — t          d¦  «        dt          d¦  «        dœ}t          j        |¦  «         |                      ¦   «         }|                     d¦  «        }t          j        t          j                             d|¦  «        ¦  «        5 }t          d„ | 
                    ¦   «         D ¦   «         ¦  «        sJ ‚	 d d d ¦  «         d S # 1 swxY w Y   d S )Nú°
                __import__('setuptools').setup(
                    name='foo',
                    version='0.0.0',
                    py_modules=['hello']
                )r½   r¥   )ri   rj   r§   rÂ   c              3   ó   K  — | ]}d |v V — Œ	dS )r§   Nr#   ©r�   r.   s     r   r�   zNTestBuildMetaBackend.test_build_sdist_pyproject_toml_exists.<locals>.<genexpr>h  s(   è è € ÐKÐK°DÐ'¨4Ð/ÐKÐKÐKÐKÐKÐKr   ©r   r   rt   rp   rç   rè   r®   r3   r”   Úanyré   ©r   r²   r³   ry   Ú
targz_pathrï   s         r   Ú&test_build_sdist_pyproject_toml_existsz;TestBuildMetaBackend.test_build_sdist_pyproject_toml_existsQ  s/  € åðñô ð Ý"ðñô ð
ð 
ˆõ$ 	Œ
�5ÑÔÐØ×.Ò.Ñ0Ô0ˆØ"×.Ò.¨vÑ6Ô6ˆ
ÝŒ\�"œ'Ÿ,š, v¨zÑ:Ô:Ñ;Ô;ð 	L¸sÝÐKÐK¸C¿LºL¹N¼NÐKÑKÔKÑKÔKÐKÐKÐKÐKð	Lð 	Lð 	Lñ 	Lô 	Lð 	Lð 	Lð 	Lð 	Lð 	Lð 	Lð 	Løøøð 	Lð 	Lð 	Lð 	Lð 	Lð 	Ló   Â.CÃCÃCc                 óˆ  — t          j        t          d         ¦  «         |                      ¦   «         }|                     d¦  «        }t          j        t          j                              d|¦  «        ¦  «        5 }t          d„ | 
                    ¦   «         D ¦   «         ¦  «        sJ ‚	 d d d ¦  «         d S # 1 swxY w Y   d S )Nr   rÂ   c              3   ó   K  — | ]}d |v V — Œ	dS ©ri   Nr#   r  s     r   r�   zHTestBuildMetaBackend.test_build_sdist_setup_py_exists.<locals>.<genexpr>r  s'   è è € ÐEÐE¨d�z TÐ)ÐEÐEÐEÐEÐEÐEr   )r   rt   Údefnsrp   rç   rè   r®   r3   r”   r  ré   )r   r²   ry   r   rï   s        r   Ú test_build_sdist_setup_py_existsz5TestBuildMetaBackend.test_build_sdist_setup_py_existsj  sþ   € õ 	Œ
•5˜”8ÑÔÐà×.Ò.Ñ0Ô0ˆØ"×.Ò.¨vÑ6Ô6ˆ
ÝŒ\�"œ'Ÿ,š, v¨zÑ:Ô:Ñ;Ô;ð 	F¸sÝÐEÐE°c·l²l±n´nÐEÑEÔEÑEÔEÐEÐEÐEÐEð	Fð 	Fð 	Fñ 	Fô 	Fð 	Fð 	Fð 	Fð 	Fð 	Fð 	Fð 	Føøøð 	Fð 	Fð 	Fð 	Fð 	Fð 	Fs   Á;.B7Â7B;Â>B;c                 ó²  — t          d¦  «        dt          d¦  «        dœ}t          j        |¦  «         |                      ¦   «         }|                     d¦  «        }t          j        t          j                             d|¦  «        ¦  «        5 }t          d„ | 
                    ¦   «         D ¦   «         ¦  «        rJ ‚	 d d d ¦  «         d S # 1 swxY w Y   d S )Nzˆ
        __import__('setuptools').setup(
            name='foo',
            version='0.0.0',
            py_modules=['hello']
        )r½   z"
        exclude setup.py
        )ri   rj   r¿   rÂ   c              3   ó   K  — | ]}d |v V — Œ	dS r%  r#   r  s     r   r�   zSTestBuildMetaBackend.test_build_sdist_setup_py_manifest_excluded.<locals>.<genexpr>Œ  s'   è è € ÐIÐI°$˜:¨Ð-ÐIÐIÐIÐIÐIÐIr   r  r  s         r   Ú+test_build_sdist_setup_py_manifest_excludedz@TestBuildMetaBackend.test_build_sdist_setup_py_manifest_excludedt  s1  € õ ðñô ð Ýðñô ð
ð 
ˆõ" 	Œ
�5ÑÔÐà×.Ò.Ñ0Ô0ˆØ"×.Ò.¨vÑ6Ô6ˆ
ÝŒ\�"œ'Ÿ,š, v¨zÑ:Ô:Ñ;Ô;ð 	J¸sÝÐIÐI¸#¿,º,¹.¼.ÐIÑIÔIÑIÔIÐIÐIÐIÐIð	Jð 	Jð 	Jñ 	Jô 	Jð 	Jð 	Jð 	Jð 	Jð 	Jð 	Jð 	Jøøøð 	Jð 	Jð 	Jð 	Jð 	Jð 	Jr"  c                 óÀ   — t          d¦  «        dt          d¦  «        dœ}t          j        |¦  «         |                      ¦   «         }|                     d¦  «         d S )Nr  r½   zE
                [sdist]
                formats=zip
                ©ri   rj   rk   rÂ   )r   r   rt   rp   rç   )r   r²   r³   ry   s       r   Ú3test_build_sdist_builds_targz_even_if_zip_indicatedzHTestBuildMetaBackend.test_build_sdist_builds_targz_even_if_zip_indicatedŽ  st   € åðñô ð Ýðñô ð
ð 
ˆõ$ 	Œ
�5ÑÔÐà×.Ò.Ñ0Ô0ˆØ×!Ò! &Ñ)Ô)Ð)Ð)Ð)r   z´
            __import__('setuptools').setup(
                name='foo',
                version=__import__('hello').__version__,
                py_modules=['hello']
            )z__version__ = "0.0.0"z9
            [sdist]
            formats=zip
            r,  c                 óò   — t          j        | j        ¦  «         |                      ¦   «         }t	          j        t          d¬¦  «        5  |                     d¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nz^No module named 'hello'$©ÚmatchrÂ   )r   rt   Ú_relative_path_import_filesrp   r=   ÚraisesÚImportErrorrç   ©r   r²   ry   s      r   Ú%test_build_sdist_relative_path_importz:TestBuildMetaBackend.test_build_sdist_relative_path_import¸  s´   € ÝŒ
�4Ô3Ñ4Ô4Ð4Ø×.Ò.Ñ0Ô0ˆÝŒ]�;Ð.IÐJÑJÔJð 	.ð 	.Ø×%Ò% fÑ-Ô-Ð-ð	.ð 	.ð 	.ñ 	.ô 	.ð 	.ð 	.ð 	.ð 	.ð 	.ð 	.ð 	.øøøð 	.ð 	.ð 	.ð 	.ð 	.ð 	.s   Á	A,Á,A0Á3A0zX
            [project]
            name = "proj"
            version = "42"
            Úprojr¾   r½   )r§   rÀ   c                 óÜ   — t          t          |¦  «                             d¦  «        ¦  «        }|sJ ‚|D ]5}|                     ¦   «         st	          j        |¦  «        j        dk    sJ ‚Œ6dS )z?All files in the directory should be either links or hard linksz**/*r   N)Úlistr   ÚglobÚ
is_symlinkr3   ÚstatÚst_nlink)r   Ú
parent_dirr³   rû   s       r   Ú_assert_link_treez&TestBuildMetaBackend._assert_link_treeÉ  sw   € å•T˜*Ñ%Ô%×*Ò*¨6Ñ2Ô2Ñ3Ô3ˆØˆˆˆuØð 	Cð 	CˆDØ—?’?Ñ$Ô$ÐB­¬°©¬Ô(>ÀÒ(BÐ(BÐ(BÐBøð	Cð 	Cr   c                 ó  — t          j        | j        ¦  «         |                      ¦   «         }t	          d¦  «                             ¦   «         rJ ‚|                     d¦  «         t	          d¦  «                             ¦   «         rJ ‚dS )zù
        Sanity check to ensure tests with --mode=strict are different from the ones
        without --mode.

        --mode=strict should create a local directory with a package tree.
        The directory should not get created otherwise.
        rt   rÂ   N)r   rt   Ú_simple_pyproject_examplerp   r   r÷   Úbuild_editabler4  s      r   Ú%test_editable_without_config_settingsz:TestBuildMetaBackend.test_editable_without_config_settingsÐ  s~   € õ 	Œ
�4Ô1Ñ2Ô2Ð2Ø×.Ò.Ñ0Ô0ˆÝ˜‘=”=×'Ò'Ñ)Ô)Ð)Ð)Ð)Ø×$Ò$ VÑ,Ô,Ð,Ý˜‘=”=×'Ò'Ñ)Ô)Ð)Ð)Ð)Ð)Ð)r   c                 ó’  — dddgi}t          j        | j        ¦  «         |                      ¦   «         }t	          d¦  «                             ¦   «         rJ ‚t	          d¦  «                             ¦   «          |                     d|¦  «         |                     d|¦  «         t	          d¦  «                             ¦   «         sJ ‚d S )Nz--build-optionÚ	build_extz	--inplacert   zbuild/proj-42-py3-none-any.whl)	r   rt   r@  rp   r   r÷   Úmkdirr  r“   ©r   r²   Úconfig_settingsry   s       r   Útest_build_wheel_inplacez-TestBuildMetaBackend.test_build_wheel_inplaceÞ  s¾   € Ø+¨k¸;Ð-GÐHˆÝŒ
�4Ô1Ñ2Ô2Ð2Ø×.Ò.Ñ0Ô0ˆÝ˜‘=”=×'Ò'Ñ)Ô)Ð)Ð)Ð)ÝˆW‰Œ×ÒÑÔÐØ×6Ò6°wÀÑPÔPÐPØ×!Ò! '¨?Ñ;Ô;Ð;ÝÐ4Ñ5Ô5×<Ò<Ñ>Ô>Ð>Ð>Ð>Ð>Ð>r   rG  zeditable-modeÚstrictc                 ó�  — t          j        i | j        ¥di i¥¦  «         t          d¦  «                             ¦   «         rJ ‚|                      ¦   «         }|                     d|¦  «         |                     d|d¦  «         |                      t          t          d¦  «         
                    d¦  «        ¦  «        ¦  «         d S )NÚ_metart   rÂ   z__editable__.*)r   rt   r@  r   r÷   rp   Ú#prepare_metadata_for_build_editablerA  r>  Únextr9  rF  s       r   Ú"test_editable_with_config_settingsz7TestBuildMetaBackend.test_editable_with_config_settingsè  s¹   € åŒ
ÐB�dÔ4ÐB°g¸rÐBÐBÑCÔCÐCÝ˜‘=”=×'Ò'Ñ)Ô)Ð)Ð)Ð)Ø×.Ò.Ñ0Ô0ˆØ×9Ò9¸'À?ÑSÔSÐSØ×$Ò$ V¨_¸gÑFÔFÐFØ×Ò�t¥D¨¡M¤M×$6Ò$6Ð7GÑ$HÔ$HÑIÔIÑJÔJÐJÐJÐJr   )Úsetup_literalÚrequirementsz'foo'r¼   z['foo']z'foo\n'z	'foo\n\n'z['foo', 'bar']Úbarz'# Has a comment line\nfoo'z'foo # Has an inline comment'z'foo \\\n >=3.0'zfoo>=3.0z
'foo\nbar'z'foo\nbar\n'z['foo\n', 'bar\n']Ú	use_wheelTFc                 ó:  — t          d¦  «                             |¬¦  «        t          d¦  «        dœ}t          j        |¦  «         |                      ¦   «         }|r|j        }n|j        }t          |¦  «        } |¦   «         }	|t          |	¦  «        k    sJ ‚d S )Na  
                from setuptools import setup

                setup(
                    name="qux",
                    version="0.0.0",
                    py_modules=["hello"],
                    setup_requires={setup_literal},
                )
            )rO  rg   rh   )r   Úformatr   rt   rp   r}   r…   r~   )
r   rO  rP  rR  r²   r³   ry   Úget_requiresr�   r€   s
             r   Útest_setup_requiresz(TestBuildMetaBackend.test_setup_requiresñ  sº   € õ& ð	ñô ÷ Šf =ˆfÑ1Ô1Ýðñô ð
ð 
ˆõ* 	Œ
�5ÑÔÐà×.Ò.Ñ0Ô0ˆàð 	FØ(ÔEˆLˆLà(ÔEˆLõ ˜,Ñ'Ô'ˆØ�‘”ˆà�6 &™>œ>Ò)Ð)Ð)Ð)Ð)Ð)r   c                 óÒ   — t          d¦  «        t          d¦  «        dddœ}t          j        |¦  «         |                      ¦   «         }|                     ¦   «         }|dgk    sJ ‚d S )Nzd
                [project]
                name = "proj"
                version = "42"
            z¯
                __import__('setuptools').setup(
                    setup_requires=["foo"],
                    py_modules = ["hello", "world"]
                )
            z'hello'z'world')r§   ri   rj   rˆ   r¼   )r   r   rt   rp   r}   )r   r²   r³   ry   Úsetup_requiress        r   Ú'test_setup_requires_with_auto_discoveryz<TestBuildMetaBackend.test_setup_requires_with_auto_discovery'  s‹   € õ
 #ðñô õ ðñô ð "Ø!ð#
ð 
ˆõ& 	Œ
�5ÑÔÐØ×.Ò.Ñ0Ô0ˆØ&×CÒCÑEÔEˆØ % Ò(Ð(Ð(Ð(Ð(Ð(r   c                 ó$  — t          d¦  «        t          d¦  «        dœ}t          j        |¦  «         |                      ¦   «         }t          j                             d¦  «        }t	          j        |¦  «         |                     |¦  «         d S )NaN  
                        from setuptools import setup

                        setup(
                            name="qux",
                            version="0.0.0",
                            py_modules=["hello"],
                            setup_requires=["does-not-exist >99"],
                        )
                    z[
                    def run():
                        print('hello')
                    rh   r  )r   r   rt   rp   r3   r4   r’   r  )r   r²   r³   ry   r™   s        r   Ú test_dont_install_setup_requiresz5TestBuildMetaBackend.test_dont_install_setup_requiresC  s–   € åð	ñô õ ðñô ð
ð 
ˆõ* 	Œ
�5ÑÔÐà×.Ò.Ñ0Ô0ˆå”7—?’? ?Ñ3Ô3ˆÝ
Œ�HÑÔÐð 	×6Ò6°xÑ@Ô@Ð@Ð@Ð@r   ri   aD  
            import os
            import sys

            __import__('setuptools').setup(
                name='foo',
                version='0.0.0',
            )

            sys_argv = os.path.abspath(sys.argv[0])
            file_path = os.path.abspath('setup.py')
            assert sys_argv == file_path
            c                 óî   — t          j        | j        ¦  «         |                      ¦   «         }t	          j        t          ¦  «        5  |                     d¦  «         d d d ¦  «         d S # 1 swxY w Y   d S ©NrÂ   )r   rt   Ú_sys_argv_0_passthroughrp   r=   r2  ÚAssertionErrorrç   r4  s      r   Útest_sys_argv_passthroughz.TestBuildMetaBackend.test_sys_argv_passthroughv  s®   € ÝŒ
�4Ô/Ñ0Ô0Ð0Ø×.Ò.Ñ0Ô0ˆÝŒ]�>Ñ*Ô*ð 	.ð 	.Ø×%Ò% fÑ-Ô-Ð-ð	.ð 	.ð 	.ñ 	.ô 	.ð 	.ð 	.ð 	.ð 	.ð 	.ð 	.ð 	.øøøð 	.ð 	.ð 	.ð 	.ð 	.ð 	.s   ÁA*Á*A.Á1A.a  
            import os
            assert os.path.isabs(__file__)
            __import__('setuptools').setup(
                name='foo',
                version='0.0.0',
                py_modules=['hello'],
                setup_requires=['six'],
            )
            c                 óŠ   — t          j        | j        ¦  «         |                      ¦   «         }|                     d¦  «         d S r]  )r   rt   Ú_setup_py_file_abspathrp   rç   r4  s      r   Útest_setup_py_file_abspathz/TestBuildMetaBackend.test_setup_py_file_abspath‹  s@   € ÝŒ
�4Ô.Ñ/Ô/Ð/Ø×.Ò.Ñ0Ô0ˆØ×!Ò! &Ñ)Ô)Ð)Ð)Ð)r   Ú
build_hook)rç   r“   c                 óø   — ddi}t          j        |¦  «         t          j        d¦  «        }t	          j        t          |¬¦  «        5   t          ||¦  «        d¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nri   r½   zNo distribution was found.r/  rÂ   )r   rt   ÚreÚescaper=   r2  Ú
ValueErrorrc   )r   ry   rd  r³   rí   s        r   Útest_build_with_empty_setuppyz2TestBuildMetaBackend.test_build_with_empty_setuppy�  s¿   € à˜RÐ ˆÝŒ
�5ÑÔÐåŒiÐ4Ñ5Ô5ˆÝŒ]�:¨SÐ1Ñ1Ô1ð 	7ð 	7Ø.�G�M :Ñ.Ô.¨vÑ6Ô6Ð6ð	7ð 	7ð 	7ñ 	7ô 	7ð 	7ð 	7ð 	7ð 	7ð 	7ð 	7ð 	7øøøð 	7ð 	7ð 	7ð 	7ð 	7ð 	7s   ÁA/Á/A3Á6A3)+r    r!   r"   r   rp   r=   Úfixturer&  ry   r‚   r†   r    ÚmarkÚparametrizer¹   ÚSETUP_SCRIPT_STUBrõ   rü   r   r  r
  r  r  r!  r'  r*  r-  r   r1  r5  r@  r>  rB  rH  rN  rV  rY  r[  r^  r`  rb  rc  ri  r#   r   r   rm   rm   ã   s  € € € € € Ø*€Lð<ð <ð <ð €V„^˜5Ð!Ñ!Ô!ð+ð +ñ "Ô!ð+ð
2ð 2ð 2ð
2ð 2ð 2ð
!ð !ð !ð( „[×Ò˜\Ð+=Ñ>Ô>ð0Ið 0Iñ ?Ô>ð0Iðd „[×Ò˜^¨dÐ4EÐ-FÑGÔGðOJð OJñ HÔGðOJðb=(ð =(ð =(ð~Bð Bð BðMð Mð MðCð Cð Cð"Bð Bð BðVð Vð Vð2Lð Lð Lð2Fð Fð FðJð Jð Jð4*ð *ð *ð2 �Dðñ
ô 
ð ,Ø�Tðñ
ô 
ð#ð #Ðð$.ð .ð .ð ˜$ðñ
ô 
ð ˜¨Ð+Ð,ð	!ð 	!ÐðCð Cð Cð*ð *ð *ð?ð ?ð ?ð „[×ÒÐ.°/À8Ð1LÐ0MÑNÔNðKð Kñ OÔNðKð „[×ÒØ)à�u�gÐØ˜˜Ð Ø˜%˜Ð!Ø˜E˜7Ð#Ø  u˜~Ð.Ø+¨e¨WÐ5Ø-°¨wÐ7Ø  : ,Ð/Ø˜U E˜NÐ+Ø˜u e˜nÐ-Ø" U¨E NÐ3ð	
ñô ð  „[×Ò˜[¨4°¨-Ñ8Ô8ð#*ð #*ñ 9Ô8ñ!ô ð"#*ðJ)ð )ð )ð8Að Að AðD 	�D�Dðñ
ô 
ðÐð$.ð .ð .ð 	�D�Dð	ñ
ô 
ðÐð*ð *ð *ð
 „[×Ò˜\Ð+IÑJÔJð7ð 7ñ KÔJð7ð 7ð 7r   rm   c                   ó   — e Zd ZdZd„ Zd„ ZdS )ÚTestBuildMetaLegacyBackendz setuptools.build_meta:__legacy__c                 óŠ   — t          j        | j        ¦  «         |                      ¦   «         }|                     d¦  «         d S r]  )r   rt   r1  rp   rç   r4  s      r   r5  z@TestBuildMetaLegacyBackend.test_build_sdist_relative_path_importž  s@   € åŒ
�4Ô3Ñ4Ô4Ð4à×.Ò.Ñ0Ô0ˆØ×!Ò! &Ñ)Ô)Ð)Ð)Ð)r   c                 óŠ   — t          j        | j        ¦  «         |                      ¦   «         }|                     d¦  «         d S r]  )r   rt   r^  rp   rç   r4  s      r   r`  z4TestBuildMetaLegacyBackend.test_sys_argv_passthrough¥  s@   € ÝŒ
�4Ô/Ñ0Ô0Ð0à×.Ò.Ñ0Ô0ˆØ×!Ò! &Ñ)Ô)Ð)Ð)Ð)r   N)r    r!   r"   r   r5  r`  r#   r   r   ro  ro  š  s7   € € € € € Ø5€Lð*ð *ð *ð*ð *ð *ð *ð *r   ro  z/ignore::setuptools.SetuptoolsDeprecationWarningc                 óÖ   — |                       |¦  «         d}|dz                       t          |¦  «        d¬¦  «         t          d¬¦  «        }|                     ¦   «         g k    sJ ‚dS )zHSetuptools should be resilient to setup.py with ``sys.exit(0)`` (#3973).zr
        import sys, setuptools
        setuptools.setup(name='foo', version='0.0.0')
        sys.exit(0)
        ri   rª   r«   r   ro   N)r^   Ú
write_textr   r%   r}   ©ÚmonkeypatchÚtmp_pathÚsetuppyre   s       r   Útest_sys_exit_0_in_setuppyrx  ¬  sy   € ð ×Ò�hÑÔÐð€Gð
 �
Ñ×&Ò&¥t¨G¡}¤}¸wÐ&ÑGÔGÐGÝÐ(?Ð@Ñ@Ô@€GØ×/Ò/Ñ1Ô1°RÒ7Ð7Ð7Ð7Ð7Ð7r   c                 ó  — |                       |¦  «         d}|dz                       |d¬¦  «         t          j        t          d¬¦  «        5  t          d¬¦  «        }|                     ¦   «          d d d ¦  «         d S # 1 swxY w Y   d S )	Nz"import sys; sys.exit('some error')ri   rª   r«   z
some errorr/  r   ro   )r^   rs  r=   r2  Ú
SystemExitr%   r}   rt  s       r   Útest_system_exit_in_setuppyr{  º  sÕ   € Ø×Ò�hÑÔÐØ2€GØ�
Ñ×&Ò& w¸Ð&ÑAÔAÐAÝ	Œ•z¨Ð	6Ñ	6Ô	6ð /ð /ÝÐ,CÐDÑDÔDˆØ×,Ò,Ñ.Ô.Ð.ð/ð /ð /ñ /ô /ð /ð /ð /ð /ð /ð /ð /øøøð /ð /ð /ð /ð /ð /s   Á%A?Á?BÂB)/rL   ra   r3   rf  r  rP   Úsysrè   rä   Úcollections.abcr   Ú
concurrentr   Úpathlibr   Útypingr   rœ   r   r=   Újaracor   Úpackaging.requirementsr	   Úsetuptools.warningsr
   Útextwrapr   rm  ÚintÚgetenvr9   Úbuiltin_module_namesrC   rk  ÚskipifÚplatformÚ
pytestmarkr   r%   r5   r&  rm   ro  ræ   rx  r{  r#   r   r   ú<module>r‹     sÎ  ðØ Ð Ð Ð Ø Ð Ð Ð Ø 	€	€	€	Ø 	€	€	€	Ø €€€Ø €€€Ø 
€
€
€
Ø €€€Ø €€€Ø $Ð $Ð $Ð $Ð $Ð $Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð à €€€Ø Ð Ð Ð Ð Ð Ø .Ð .Ð .Ð .Ð .Ð .à <Ð <Ð <Ð <Ð <Ð <à Ð Ð Ð Ð Ð à6Ð ð ˆ#ˆiˆbŒiÐ.°Ñ6Ô6Ñ
7Ô
7€Ø
˜Ô0Ð
0€ð Œ[×ÒØ„L�GÒÐ' ðð  ñ ô €
ð)ð )ð )ð )ð )ñ )ô )ð )ð Pð  Pð  Pð  Pð  PÐ#ñ  Pô  Pð  PðF3ð 3ð 3ð 3ð 3Ð)ñ 3ô 3ð 3ð, �Dðñ	
ô 	
ð �Dðñ
ô 
ðð ð& �Dðñ

ô 

ð �Dðñ
ô 
ðð ð( �Dðñ
ô 
ð �Dðñ
ô 
ðð ð. 	�D�Dðñ
ô 
ðð4 �Tðñ

ô 

ð �Dðñ
ô 
ðð ð( �Tðñ

ô 

ð 7Ø�Dðñ
ô 
ðð ðQ|	€ð~t
7ð t
7ð t
7ð t
7ð t
7ñ t
7ô t
7ð t
7ðn*ð *ð *ð *ð *Ð!5ñ *ô *ð *ð$ „×ÒÐMÑNÔNð
8ð 
8ñ OÔNð
8ð/ð /ð /ð /ð /r   