
    ,h                        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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 d Zd ZddZd Zd Zd Z G d de      Zy)    )annotationsN)partial)Distribution   )_reqs)
_StrOrIter)SetuptoolsDeprecationWarning)Wheel)log)DistutilsErrorc                v    t        | t              r| j                         S t        | t        t        f      sJ | S )z8Ensure find-links option end-up being a list of strings.)
isinstancestrsplittuplelist)
find_linkss    V/var/www/html/Resume-Scraper/venv/lib/python3.12/site-packages/setuptools/installer.py_fixup_find_linksr      s2    *c"!!j5$-00    c                X    t         j                          t        |        t        | |      S )zLFetch an egg needed for building.

    Use pip/wheel to fetch/build a wheel.)_DeprecatedInstalleremit_warn_wheel_not_available_fetch_build_egg_no_warn)distreqs     r   fetch_build_eggr      s%     d##D#..r   c                ,   dd l }t        j                  d       t        |        |j                  j                  t        j                  ||j                        t        t        |       d      }|D ]  } |j                  j                  | d       ! |S )Nr      )
stacklevelT)	installerreplace_conflicting)replace)pkg_resourcesr   r   r   working_setresolver   parseRequirementr   r   add)r   requiresr%   resolved_distss       r   _fetch_build_eggsr-   &   s    +d#"..66Hm7782D9  7 N
  :!!%%dD%9:r   c           	        dd l }t        |      }| j                  d      }d|v rt        d      dt        j
                  vxr dt        j
                  v}dt        j
                  v rd }nd|v r	|d   d	   }nd }d
|v rt        |d
   d	         d d  ng }| j                  r|j                  | j                         t        j                  j                  | j                               }|j                         }|j                  |      D ]  }	|	|v s|j                  |	      s|	c S  t        j                          5 }
t"        j$                  dddddd|
g}|r|j'                  d       ||j                  d|f       |xs g D ]  }|j                  d|f        |j'                  |j(                  xs t+        |             	 t-        j.                  |       t3        t5        j4                  t        j                  j7                  |
d            d         }t        j                  j7                  ||j9                               }|j;                  |       |j=                  |t        j                  j7                  |d            }|j>                  jA                  ||      cd d d        S # t,        j0                  $ r}t        t+        |            |d }~ww xY w# 1 sw Y   y xY w)Nr   easy_installallow_hostszQthe `allow-hosts` option is not supported when using pip to install requirements.	PIP_QUIETPIP_VERBOSEPIP_INDEX_URL	index_urlr   r   z-mpipz--disable-pip-version-checkwheelz	--no-depsz-wz--quietz--index-urlz--find-linksz*.whlzEGG-INFO)metadata)!r%   strip_markerget_option_dictr   osenvironr   dependency_linksextendpathrealpathget_egg_cache_dirEnvironmentfind_distributionscan_addtempfileTemporaryDirectorysys
executableappendurlr   
subprocess
check_callCalledProcessErrorr
   globjoinegg_nameinstall_as_eggPathMetadatar   from_filename)r   r   r%   optsquietr4   r   eggs_direnvironmentegg_disttmpdircmdlinker6   dist_locationdist_metadatas                    r   r   r   6   s    s
C /D6
 	
 rzz)Mm2::.ME"**$			%a(		7Ct7K$|,Q/03QS  $//0ww 6 6 89H++-K!44X> s?{228<O 
	$	$	& !
&NN)	
 JJy! JJy12$" 	/DJJ-.	/
 	

377&c#h'	0!!#& diiVW =>qABXu~~/?@]+%22277<<zB
 ))77M 8 
?!
 !
. ,, 	0 Q(a/	0/!
 !
s2   <BKJ-C
K-K KKKK&c                d    ddl }|j                  j                  t        |             } d| _        | S )z
    Return a new requirement without the environment marker to avoid
    calling pip with something like `babel; extra == "i18n"`, which
    would always be ignored.
    r   N)r%   r)   r(   r   marker)r   r%   s     r   r8   r8   y   s/      
#
#
)
)#c(
3CCJJr   c                    dd l }	 |j                  d       y # |j                  $ r# | j                  dt        j
                         Y y w xY w)Nr   r6   z,WARNING: The wheel package is not available.)r%   get_distributionDistributionNotFoundannouncer   WARN)r   r%   s     r   r   r      sC    P&&w/-- PDchhOPs    /A
	A
c                      e Zd ZdZdZy)r   z9setuptools.installer and fetch_build_eggs are deprecated.z
    Requirements should be satisfied by a PEP 517 installer.
    If you are using pip, you can try `pip install --use-pep517`.
    N)__name__
__module____qualname___SUMMARY_DETAILS r   r   r   r      s    JHHr   r   )r+   r   returnzlist[Distribution])
__future__r   rM   r:   rJ   rF   rD   	functoolsr   r%   r    r   r   warningsr	   r6   r
   	distutilsr   distutils.errorsr   r   r   r-   r   r8   r   r   rk   r   r   <module>rs      s]    "  	  
   &   2   +/ @
FP7 r   