+
    '(j                       ^ RI Ht ^ RIt^ RIt^ RIt^ RIt^ RIHtHtH	t	H
t
 ^ RIHtHtHtHtHtHt ^ RIHt ^ RIHt ^ RIHtHt ^ RIHtHt ^ R	IHt ^ R
IHtH t  ^ RI!H"t"H#t#H$t$H%t%H&t&H't'H(t( ^ RI)H*t* ^ RI+H,t,H-t- ^ RI.H/t/ ^ RI0H1t1 ^ RI2H3t3 ^ RI4H5t5 ^ RI6H7t7H8t8 ^ RI9H:t:H;t; ^ RI<H=t= ^ RI>H?t? ^ RI@HAtA ^ RIBHCtC ^ RIDHEtE ^RIFHGtGHHtHHItI ^RIJHKtKHLtLHMtMHNtNHOtOHPtPHQtQ ^RIRHStSHTtT ^RIUHVtVHWtWHXtXHYtYHZtZ ]'       d    ! R R]4      t[]P                  ! ]]4      t^]! R4      t_]`]1]_3,          ta ! R  R!]4      tb ! R" R#4      tcR# )$    )annotationsN)IterableIteratorMappingSequence)TYPE_CHECKINGCallable
NamedTupleProtocolTypeVarcast)InvalidRequirement)SpecifierSet)NormalizedNamecanonicalize_name)InvalidVersionVersion)ResolutionImpossible)
CacheEntry
WheelCache)DistributionNotFoundInstallationErrorInvalidInstalledPackageMetadataInconsistentMetadataInvalidUnsupportedPythonVersionUnsupportedWheel)PackageFinder)BaseDistributionget_default_environment)InstallationCandidate)Link)Wheel)RequirementPreparer)install_req_drop_extrasinstall_req_from_link_and_ireq)InstallRequirementcheck_invalid_constraint_type)InstallRequirementProvider)get_supported)Hashes)get_requirement)running_under_virtualenv)	Candidate
ConstraintRequirement)AlreadyInstalledCandidateBaseCandidateEditableCandidateExtrasCandidateLinkCandidateRequiresPythonCandidateas_base_candidate)FoundCandidatesIndexCandidateInfo)ExplicitRequirementRequiresPythonRequirementSpecifierRequirement!SpecifierWithoutExtrasRequirementUnsatisfiableRequirementc                  ,    ] tR t^Jt$ R]R&   R]R&   RtR# )ConflictCauser;   requirementr.   parent N__name__
__module____qualname____firstlineno____annotations____static_attributes__rC       `/home/ubuntu/cf-venv/lib/python3.14/site-packages/pip/_internal/resolution/resolvelib/factory.pyr@   r@   J   s    ..rK   r@   Cc                  6    ] tR t^Ut$ R]R&   R]R&   R]R&   RtR# )	CollectedRootRequirementszlist[Requirement]requirementsdict[str, Constraint]constraintszdict[str, int]user_requestedrC   NrD   rC   rK   rL   rO   rO   U   s    ##&&""rK   rO   c                  H   ] tR t^[tR2R R llt]R R l4       tR R ltRR/R	 R
 lltR R lt	R R lt
R R ltR R ltR2R R lltR R ltR R ltR R ltR R ltR R ltR R  ltR3R! R" lltR# R$ ltR% R& ltR' R( ltR) R* ltR+ R, ltR- R. ltR/ R0 ltR1tR# )4FactoryNc               @    V ^8  d   QhRRRRRRRRR	R
RR
RR
RR
RRRR/
# )   finderr   preparerr$   make_install_reqr)   wheel_cachezWheelCache | Noneuse_user_siteboolforce_reinstallignore_installedignore_requires_pythonpy_version_infoztuple[int, ...] | NonereturnNonerC   )formats   "rL   __annotate__Factory.__annotate__\   sn     %' %'%' &%' 5	%'
 '%' %' %' %' !%%' 0%' 
%'rK   c
                	   Wn         W n        W@n        \        V	4      V n        W0n        WPn        W`n        Wn        / V n	        / V n
        / V n        / V n        / V n        \        4       V n        V'       g?   \!        4       p
V
P#                  R R7       Uu/ uF  pVP$                  VbK  	  upV n        R# / V n        R# u upi )F)
local_onlyN)_finderrY   _wheel_cacher6   _python_candidate_make_install_req_from_spec_use_user_site_force_reinstall_ignore_requires_python_build_failures_link_candidate_cache_editable_candidate_cache_installed_candidate_cache_extras_candidate_cacher*   _supported_tags_cacher    iter_installed_distributionscanonical_name_installed_dists)selfrX   rY   rZ   r[   r\   r^   r_   r`   ra   envdists   &&&&&&&&&&  rL   __init__Factory.__init__\   s      '!8!I+;(+ /'=$9;;="CE&PR'  	$ &3_")+C  <<<N%ND ##T)N%D!
 %'D!%s   B<c                   V ^8  d   QhRR/# )rW   rb   r]   rC   )rd   s   "rL   re   rf      s     % % %rK   c                	    V P                   # N)rn   )ry   s   &rL   r^   Factory.force_reinstall   s    $$$rK   c                    V ^8  d   QhRRRR/# )rW   linkr"   rb   rc   rC   )rd   s   "rL   re   rf      s     $ $t $ $rK   c                	    VP                   '       g   R # \        VP                  4      pVP                  V P                  P
                  P                  4       4      '       d   R # VP                   R2p\        V4      h)Nz+ is not a supported wheel on this platform.)is_wheelr#   filename	supportedri   target_pythonget_unsorted_tagsr   )ry   r   wheelmsgs   &&  rL   "_fail_if_link_is_unsupported_wheel*Factory._fail_if_link_is_unsupported_wheel   s]    }}}dmm$??4<<55GGIJJJKs##rK   
comes_fromc               (    V ^8  d   QhRRRRRRRR/# )	rW   baser2   extrasfrozenset[str]r   InstallRequirement | Nonerb   r4   rC   )rd   s   "rL   re   rf      s2       
 . 
rK   c               	    \        V4      \        R  V 4       4      3p V P                  V,          pV#   \         d     \	        YTR7      pYPP                  T&    T# i ; i)c              3  8   "   T F  p\        V4      x  K  	  R # 5ir   )r   ).0es   & rL   	<genexpr>1Factory._make_extras_candidate.<locals>.<genexpr>   s     (Nv!):1)=)=vs   r   )id	frozensetrt   KeyErrorr4   )ry   r   r   r   	cache_key	candidates   &&&$  rL   _make_extras_candidateFactory._make_extras_candidate   sn     Xy(Nv(NNO		@44Y?I   	@'LI6?((3	@s   4 &AAc               (    V ^8  d   QhRRRRRRRR/# )	rW   r{   r   r   r   templater'   rb   r.   rC   )rd   s   "rL   re   rf      s8     N NN N %	N
 
NrK   c                	     V P                   VP                  ,          pV'       g   V# V P	                  WBVR7      #   \         d)    \        YT R 7      pY@P                   TP                  &    LOi ; i))factoryr   )rs   rw   r   r1   r   )ry   r{   r   r   r   s   &&&& rL   _make_candidate_from_dist!Factory._make_candidate_from_dist   sq    	H2243F3FGD K**4H*MM  	H,TTJDCG++D,?,?@	Hs   < 0A/.A/c               0    V ^8  d   QhRRRRRRRRR	R
RR/# )rW   r   r"   r   r   r   r'   nameNormalizedName | NoneversionVersion | Nonerb   Candidate | NonerC   )rd   s   "rL   re   rf      sN     N NN N %	N
 $N  N 
NrK   c                	h    V P                  WWE4      pV'       d   Vf   V# V P                  WbVR7      # )Nr   )_make_base_candidate_from_linkr   )ry   r   r   r   r   r   r   s   &&&&&& rL   _make_candidate_from_link!Factory._make_candidate_from_link   s=     &*%H%HD&
 K**4H*MMrK   c          
     ,    V ^8  d   QhRRRRRRRRR	R
/# )rW   r   r"   r   r'   r   r   r   r   rb   zBaseCandidate | NonerC   )rd   s   "rL   re   rf      s<     74 7474 %74 $	74
  74 
74rK   c                	b   WP                   9   d   R # VP                  '       dB   WP                  9  d    \        VVV VVR7      V P                  V&   V P                  V,          # WP                  9  d    \        VVV VVR7      V P                  V&   V P                  V,          #   \        \
        3 d5   p\        P                  RTTRR/R7       YPP                   T&    R p?R # R p?ii ; i  \         d5   p\        P                  RTTRR/R7       YPP                   T&    R p?R # R p?ii ; i)N)r   r   r   z3Discarding [blue underline]%s[/]: [yellow]%s[reset]markupT)extra)
rp   editablerr   r3   r   r   loggerinforq   r5   )ry   r   r   r   r   r   s   &&&&& rL   r   &Factory._make_base_candidate_from_link   sC    ''' 999 ;L  $! '<D2248" 11$77555 7D  $! '8D..t4  --d33= -o>  KKM'.	    23((. * ,  KKM'.	    23((. s/   B' 7C/ 'C,8)C''C,/D.:)D))D.c               (    V ^8  d   QhRRRRRRRR/# )	rW   ireqsSequence[InstallRequirement]r   str	specifierr   rb   zInstallationCandidate | NonerC   )rd   s   "rL   re   rf      s,     
 
1
9<
IU
	%
rK   c                	0   V Uu. uF  qDP                   '       g   K  VNK  	  ppV'       g   R # \        V4      ^8  d)   \        RV: RRP                  R V 4       4       24      hV^ ,          pVP                   '       g   Q hVP                  '       g   Q hVP                  VP                  4      '       g1   \        RVP                  : RV: RVP                  : RV: R	2	4      h\        V\        VP                  4      VP                   4      # u upi )
Nz$Multiple locks provided for package  in , c              3  L   "   T F  p\        VP                  4      x  K  	  R # 5ir   )r   r   )r   lirs   & rL   r   =Factory._get_locked_installation_candidate.<locals>.<genexpr>   s     ILSS00L   "$zLocked version z for package z from zA is not compatible with other requirements for the same package ())	locked_linklenr   joinlocked_versioncontainsr   r!   r   )ry   r   r   r   ireqlocked_ireqslocked_ireqs   &&&&   rL   "_get_locked_installation_candidate*Factory._get_locked_installation_candidate   s    */C2B2BC|q #6thd99ILIIJL  #1o&&&&&)))))!!+"<"<==#!+"<"<!? @#hf[-C-C,F G))2Q8  %#k001;3J3J
 	
% Ds
   DDc               4    V ^8  d   QhRRRRRRRRR	R
RRRR/# )rW   r   r   r   r   hashesr+   prefers_installedr]   incompatible_idszset[int]constraint_hash_optionszdict[str, list[str]] | Nonerb   Iterable[Candidate]rC   )rd   s   "rL   re   rf     sY     w
 w
+w
  w
 	w

  w
 #w
 "=w
 
w
rK   c                	<  a aaaaaaa S'       g   R# S^ ,          oSP                   '       g   Q R4       hV'       d{   SP                  '       gi   \        VP                  4       4      '       dJ   \        P                  ! S4      oVP                  4        UUu/ uF  w  rxV\        V4      bK  	  uppSn        SP                   '       g   Q h\        SP                   P                  4      o\        4       oS Fn  p	V	P                   '       g   Q R4       hSV	P                   P                  ,          oSV	P                  RR7      ,          oS\        V	P                  4      ,          oKp  	  R VVVV VV3R llp
R VVVVV VV3R llp\        VV
! 4       VS4      # u uppi )	r   z)Candidates found on index must be PEP 508F)trust_internetc                   V ^8  d   QhRR/# )rW   rb   r   rC   )rd   s   "rL   re   4Factory._iter_found_candidates.<locals>.__annotate__4  s     	 	*: 	rK   c                 T  < SP                   '       d   R#  SP                  S,          p  SP                  T P                  RR7      '       g   R#  SP                  T SSR7      p\        T4      S9   d   R# T#   \         d     R# i ; i  \
         d   p\        YR7      hRp?ii ; i)z6Get the candidate for the currently-installed version.NT)prereleases)r{   invalid_exc)r{   r   r   )	rn   rx   r   r   r   r   r   r   r   )	installed_distr   r   r   r   r   ry   r   r   s	      rL   _get_installed_candidate@Factory._iter_found_candidates.<locals>._get_installed_candidate4  s     $$$!%!6!6t!<R !)).*@*@d)SS T
 66#! 7 I )} 00'   " R->QQRs(   A9 "B 9BBB'B""B'c                   V ^8  d   QhRR/# )rW   rb   zIterator[IndexCandidateInfo]rC   )rd   s   "rL   re   r   Q  s     .	) .	),H .	)rK   c            
   3  :  <"   SP                  S
SS4      ;p '       d   V .pM*SP                  P                  SSS	R 7      pVP                  p\        ;QJ d    R V 4       F  '       d   K   RM	  RM! R V 4       4      pR R lpV! S4      p\        V4       F{  pV'       d	   V'       g   VP                  P                  '       d   K1  \        P                  ! SP                  VP                  SSSVP                  R7      pVP                  V3x  K}  	  R# 5i))project_namer   r   c              3  L   "   T F  qP                   P                  x  K  	  R # 5ir   )r   	is_yanked)r   icans   & rL   r   UFactory._iter_found_candidates.<locals>.iter_index_candidate_infos.<locals>.<genexpr>d  s     CUTYY00Ur   FTc                    V ^8  d   QhRRRR/# )rW   r   r   rb   r]   rC   )rd   s   "rL   re   XFactory._iter_found_candidates.<locals>.iter_index_candidate_infos.<locals>.__annotate__f  s     	 	\ 	d 	rK   c                    V  FN  pVP                   R 8X  d    R# VP                   R8w  d   K*  VP                  P                  R4      '       d   KM   R# 	  R# )z===T==z.*F)operatorr   endswith)r   sps   & rL   	is_pinnedUFactory._iter_found_candidates.<locals>.iter_index_candidate_infos.<locals>.is_pinnedf  sJ    #B{{e+#{{d* zz**400  $ rK   )r   r   r   r   r   N)r   ri   find_best_candidateapplicable_candidatesallreversedr   r   	functoolspartialr   r   )locked_icanicansresult
all_yankedr   pinnedr   funcr   r   r   r   ry   r   r   s           rL   iter_index_candidate_infosBFactory._iter_found_candidates.<locals>.iter_index_candidate_infosQ  s     "EEtY {  %99!%'! : 
 44
 CUCCUCCJ	 y)F !"v4993F3F3F ((22!% LL llD(( (s    ADD,A D-D	ADrC   )reqhash_optionsanyvaluescopyitemslistr   r   r   r   r   r   r8   )ry   r   r   r   r   r   r   kvr   r   r   r   r   r   s   ffff&f&     @@@rL   _iter_found_candidatesFactory._iter_found_candidates  sL    I 8|||HHH|#)))+22455yy*H'>'D'D'F%'Ftq47
'F%H! |||| !2!23!*D888HHH8+++Idkkk77Fi,,F	 	 	:.	) .	)` &$&	
 	
u%s   Fc               $    V ^8  d   QhRRRRRR/# )rW   base_requirementszIterable[Requirement]r   r   rb   Iterator[Candidate]rC   )rd   s   "rL   re   rf     s-     A A0A A 
	ArK   c              #     "   V FD  pVP                  4       w  rEVf   K  \        V4      pVf   Q R4       hV P                  Wb4      x  KF  	  R# 5i)a  Produce explicit candidates from the base given an extra-ed package.

:param base_requirements: Requirements known to the resolver. The
    requirements are guaranteed to not have extras.
:param extras: The extras to inject into the explicit requirements'
    candidates.
Nzno extras here)get_candidate_lookupr7   r   )ry   r  r   r   lookup_cand_	base_cands   &&&    rL   #_iter_explicit_candidates_from_base+Factory._iter_explicit_candidates_from_base  sY      %C 557NK" *+6I(:*::(--i@@ %s   AAc               (    V ^8  d   QhRRRRRRRR/# )	rW   
identifierr   
constraintr/   r   r'   rb   r  rC   )rd   s   "rL   re   rf     s2      %  % %  % %	 %
 
 %rK   c              #    "   \        4       pTp\        P                  ! \        4      ;_uu_ 4        \	        V4      pVP
                  V8w  d+   \        VP
                  4      p\        VP                  4      pRRR4       VP                   Fb  pV P                  V4       V P                  V\        Ws4      \        V4      RR7      pVf   KA  V'       d   V P                  W4      x  K^  Vx  Kd  	  R#   + '       g   i     L; i5i)zProduce explicit candidates from constraints.

This creates "fake" InstallRequirement objects that are basically clones
of what "should" be the template, but with original_link set to link.
Nr   r   r   )r   
contextlibsuppressr   r,   r   r   r   linksr   r   r&   r   )	ry   r  r  r   r   base_identifierparsed_requirementr   base_candidates	   &&&&     rL   !_iter_candidates_from_constraints)Factory._iter_candidates_from_constraints  s      "+$  !344!0!<!&&*4"34F4K4K"L"#5#<#<=	 5 $$D33D9!@@7G&7	 A N %11.II$$ % 54s$   /DAC48ADD4D	?Dc               4    V ^8  d   QhRRRRRRRRR	R
RRRR/# )rW   r  r   rP   z#Mapping[str, Iterable[Requirement]]incompatibilitiesz!Mapping[str, Iterator[Candidate]]r  r/   r   r]   is_satisfied_byz(Callable[[Requirement, Candidate], bool]rb   r   rC   )rd   s   "rL   re   rf     sZ     K
 K
K
 :K
 =	K

 K
  K
 BK
 
K
rK   c           
     	,  aaaaa \        4       p. pSS,           FA  p	V	P                  4       w  rV
e   VP                  V
4       Vf   K0  VP                  V4       KC  	  \        P
                  ! \        4      ;_uu_ 4        \        S4      pVP                  S8w  d   VP                  V P                  SP                  VP                  R4      \        VP                  4      4      4       SP                  VP                  . 4       F,  p	V	P                  4       w  rVf   K  VP                  V4       K.  	  R R R 4       V'       d,    VP                  V P                  SSV^ ,          R7      4       VP                  SR4       Uu0 uF  p\!        V4      kK  	  upoV'       g5   V P#                  VSP$                  SP&                  VSSP(                  4      # VVVVV3R lV 4       #   + '       g   i     L; i  \         d    Ru # i ; iu upi )N)r   c              3  $  <a"   T F  o\        S4      S9  g   K  SP                  S4      '       g   K.  \        ;QJ d'    VV3R  lSS,           4       F  '       d   K   RM	  RM! VV3R  lSS,           4       4      '       g   K  Sx  K  	  R# 5i)c              3  6   <"   T F  pS! VS4      x  K  	  R # 5ir   rC   )r   r   cr#  s   & rL   r   4Factory.find_candidates.<locals>.<genexpr>.<genexpr>
  s     P7OOC++7Os   FTN)r   r#  r   )r   r'  r  r  incompat_idsr#  rP   s   &@rL   r   *Factory.find_candidates.<locals>.<genexpr>  sj      
(!uL(  **1-  P|J7OPP|J7OPP	 A(s    BB
BB#B
BrC   )setr  addappendr  r  r   r,   r   updater  getr   r   r  r   r   r  r   r   r   )ry   r  rP   r"  r  r   r#  explicit_candidatesr   r   candr   r  r  r'  r)  s   &ff&f&f        @rL   find_candidatesFactory.find_candidates  s    /2e*,
++C113JD#''-T" ,   !344!0!<!&&*4#**<<$(();)@)@"E!"4";";< (++,>,C,CRHC!668GA'T* I 5$ #**::""!&q ;  (9'<'<Z'LM'L!1'LM #..$$!!!'' 
 
(
 	
a 546 $  	 Ns+   BG+$G+
*G> H+G;	>HHc               $    V ^8  d   QhRRRRRR/# )rW   r   r'   requested_extrasIterable[str]rb   Iterator[Requirement]rC   )rd   s   "rL   re   rf     s$     3 3&3:G3	3rK   c              #    "   VP                  V4      '       g.   \        P                  RVP                  VP                  4       R# VP
                  '       gY   VP                  '       d8   VP                  e*   VP                  P                  '       d   \        V4      x  \        V4      x  R# V P                  VP
                  4       T P                  VP
                  VP                  '       d   \        V4      MTVP                  '       d   \        VP                  4      MRRR7      pVfR   VP                  '       g   V P                  VP
                  ,          h\!        \        VP                  4      4      x  R# V P#                  V4      x  VP                  '       d9   V P#                  V P%                  V\'        VP                  4      4      4      x  R# R# 5i)a  
Returns requirement objects associated with the given InstallRequirement. In
most cases this will be a single object but the following special cases exist:
    - the InstallRequirement has markers that do not apply -> result is empty
    - the InstallRequirement has both a constraint (or link) and extras
        -> result is split in two requirement objects: one with the constraint
        (or link) and one with the extra. This allows centralized constraint
        handling for the base, resulting in fewer candidate rejections.
z6Ignoring %s: markers '%s' don't match your environmentNr  )match_markersr   r   r   markersr   r   r   r   r=   r<   r   r   r%   r   rp   r>   make_requirement_from_candidater   r   )ry   r   r5  r1  s   &&& rL   #_make_requirements_from_install_req+Factory._make_requirements_from_install_req  s^     !!"233KKH		
 {{{txx38J8J8J7==&t,,33DII>
 66		:>+++06459YYY&tyy1D	 7 D | yyy..tyy99./@/KLL ::4@@;;;>>33D)DKK:PQ  s2   AG#G#+)G#AG#4G#2G#A#G#):G#c                    V ^8  d   QhRRRR/# )rW   
root_ireqszlist[InstallRequirement]rb   rO   rC   )rd   s   "rL   re   rf   B  s     ( (2(	"(rK   c                	<   \        . / / 4      p\        V4       EFa  w  r4VP                  '       d   \        V4      pV'       d   \	        V4      hVP                  4       '       g   KN  VP                  '       g   Q R 4       h\        VP                  4      pWbP                  9   d"   VP                  V;;,          V,          uu&   K  \        P                  ! V4      VP                  V&   K  \        V P                  VRR7      4      pV'       g   K  V^ ,          pVP                  '       d4   VP                  VP                  9  d   W2P                  VP                  &   VP                  P!                  V4       EKd  	  VP                  P#                  R R7       V# )zConstraint must be named)r5  c                4    V P                   V P                  8g  # r   )r   r   )rs   &rL   <lambda>3Factory.collect_root_requirements.<locals>.<lambda>i  s    !&&ANN2JrK   )keyrC   )rO   	enumerater  r(   r   r9  r   r   rR   r/   	from_ireqr  r<  user_suppliedrS   rP   extendsort)	ry   r?  	collectedir   problemr   reqsr   s	   &&       rL   collect_root_requirements!Factory.collect_root_requirementsB  sM    .b"b9	 ,GA7=+G44))++yyy<"<<y(3000))$/47/2<2F2Ft2LI))$/<<)+ =  7%%%(--y?W?W*W>?,,X]];&&--d35 -F 	##(J#KrK   c                    V ^8  d   QhRRRR/# )rW   r   r.   rb   r:   rC   )rd   s   "rL   re   rf   l  s     . .".	.rK   c                	    \        V4      # r   )r:   )ry   r   s   &&rL   r;  'Factory.make_requirement_from_candidatel  s     #9--rK   c               (    V ^8  d   QhRRRRRRRR/# )	rW   r   r   r   r   r5  r6  rb   r7  rC   )rd   s   "rL   re   rf   q  s8     P PP .P (	P
 
PrK   c                F    V P                  W4      pV P                  WC4      # )a  
Returns requirement objects associated with the given specifier. In most cases
this will be a single object but the following special cases exist:
    - the specifier has markers that do not apply -> result is empty
    - the specifier has both a constraint and extras -> result is split
        in two requirement objects: one with the constraint and one with the
        extra. This allows centralized constraint handling for the base,
        resulting in fewer candidate rejections.
)rl   r<  )ry   r   r   r5  r   s   &&&& rL   make_requirements_from_spec#Factory.make_requirements_from_specq  s%     //	F77OOrK   c                    V ^8  d   QhRRRR/# )rW   r   r   rb   zRequirement | NonerC   )rd   s   "rL   re   rf     s"     	L 	L	L 
	LrK   c                	z    V P                   '       d   R # \        V4      '       g   R # \        WP                  4      # r   )ro   r   r;   rk   )ry   r   s   &&rL    make_requires_python_requirement(Factory.make_requires_python_requirement  s0     '''9~~(4J4JKKrK   c               $    V ^8  d   QhRRRRRR/# )rW   r   r"   r   z
str | Nonerb   zCacheEntry | NonerC   )rd   s   "rL   re   rf     s"     
 
$ 
j 
EV 
rK   c                r    V P                   f   R# V P                   P                  VVV P                  R7      # )ag  Look up the link in the wheel cache.

If ``preparer.require_hashes`` is True, don't use the wheel cache,
because cached wheels, always built locally, have different hashes
than the files downloaded from the index server and thus throw false
hash mismatches. Furthermore, cached wheels at present have
nondeterministic contents due to file modification times.
N)r   package_namesupported_tags)rj   get_cache_entryru   )ry   r   r   s   &&&rL   get_wheel_cache_entryFactory.get_wheel_cache_entry  s@     $  0055 1 
 	
rK   c                    V ^8  d   QhRRRR/# )rW   r   r.   rb   zBaseDistribution | NonerC   )rd   s   "rL   re   rf     s      y =T rK   c                	>   V P                   P                  VP                  4      pVf   R # V P                  '       g   V# VP                  '       d   V# \        4       '       d:   VP                  '       d(   RVP                   RVP                   2p\        V4      hR # )NzNWill not install to the user site because it will lack sys.path precedence to r   )
rx   r/  r   rm   in_usersiter-   in_site_packagesraw_namelocationr   )ry   r   r{   messages   &&  rL   get_dist_to_uninstallFactory.get_dist_to_uninstall  s    $$(()?)?@<
 """K K $%%$*?*?*?**.--T]]OM  $G,,rK   c                    V ^8  d   QhRRRR/# )rW   causesSequence[ConflictCause]rb   r   rC   )rd   s   "rL   re   rf     s     1 1-1	!1rK   c                	   V'       g   Q R 4       hV P                   P                  p\        V4      ^8X  dZ   \        V^ ,          P                  P
                  4      pRV^ ,          P                  P                  : RV RV: 2p\        V4      # RV R2pV FM  pVP                  P                  4       p\        VP                  P
                  4      pVRV: RV R2,          pKO  	  \        V4      # )	z,Requires-Python error reported with no causezPackage z requires a different Python: z not in z%Packages require a different Python. z not in:
z (required by r   )
rk   r   r   r   rA   r   rB   r   r   format_for_error)ry   rm  r   r   ri  causepackages   &&     rL   _report_requires_python_error%Factory._report_requires_python_error  s     EEEv((00v;!F1I11;;<I6!9++003 4")8I=:  ,G449'(KEll335GE--778II=wiqAAG  (00rK   c               $    V ^8  d   QhRRRRRR/# )rW   r   r0   rB   r   rb   r   rC   )rd   s   "rL   re   rf     s)     <Q <Q<Q(8<Q	<QrK   c                	   Vf   \        V4      pMV RVP                   R2pV P                  P                  VP                  4      pV P                  P                  4       p\        4       p\        4       pV Fm  pVP                  '       d   VP                  P                  MRp	V	'       d   VP                  VP                  4       KR  VP                  VP                  4       Ko  	  \        V4       U
u. uF  p
\        V
4      NK  	  pp
\        V4       U
u. uF  p
\        V
4      NK  	  pp
V'       d0   \        P                  RRP                  V4      ;'       g    R4       V'       d0   \        P                  RRP                  V4      ;'       g    R4       R	pV P                  P                  eA   V P                  P                  P!                  \#        VP                  4      4      pVRJ d   R
p\        P                  RTTRP                  V4      ;'       g    R4       \        V4      R8X  d   \        P%                  R4       \'        RV 24      # u up
i u up
i )Nz (from r   Fz)Ignored the following yanked versions: %sr   nonezJIgnored the following versions that require a different python version: %sz; r   zfinal versionzICould not find a %s that satisfies the requirement %s (from versions: %s)zrequirements.txtzHINT: You are attempting to install a package literally named "requirements.txt" (which cannot exist). Consider using the '-r' flag to install the packages listed in requirements.txtz#No matching distribution found for )r   r   ri   find_all_candidatesr   requires_python_skipped_reasonsr+  r   r   r,  r   sortedr   criticalr   release_controlallows_prereleasesr   r   r   )ry   r   rB   req_dispcandsskipped_by_requires_pythonversions_setyanked_versions_setr'  r   r  versionsyanked_versionsversion_type
allows_pres   &&&            rL   #_report_single_requirement_conflict+Factory._report_single_requirement_conflict  s    >3xHgfkk]!4H001A1AB%)\\%Q%Q%S"%(U,/EA,-FFF((I#''		2  +  %+<$89$8qCF$89+12E+FG+Fa3q6+FG OO;		/*44f &OO		45?? !<<''355HH!#"2"23J U".WIIh))6		
 s8))KK# $&I#$OPPQ :Gs   6II c                    V ^8  d   QhRRRR/# )rW   r   r   rb   r]   rC   )rd   s   "rL   re   rf     s     
 
 
 
rK   c                n    \        V P                  VV. // \        P                  ! 4       RR R7      4      # )zC
Check if there are any candidates available for the project name.
Tc                    R # )TrC   )rB  r'  s   &&rL   rC  -Factory._has_any_candidates.<locals>.<lambda>  s    TrK   )rP   r"  r  r   r#  )r  r2  r/   empty)ry   r   s   &&rL   _has_any_candidatesFactory._has_any_candidates  sD       *B/"$%++-"& 1 ! 	
 		
rK   c               $    V ^8  d   QhRRRRRR/# )rW   r   z,ResolutionImpossible[Requirement, Candidate]rR   rQ   rb   r   rC   )rd   s   "rL   re   rf     s-     t
 t
7t
 +t
 
	t
rK   c                	   VP                   '       g   Q R 4       hVP                    Uu. uFT  p\        VP                  \        4      '       g   K%  VP                  P	                  V P
                  4      '       d   KR  VNKV  	  ppV'       d   V P                  \        RV4      4      # \        VP                   4      ^8X  dC   \        \        VP                   4      4      w  rVVP                  V9  d   V P                  WV4      # R R lpR R lp\        4       p	VP                    F3  w  rVVf   VP                  4       p
MV! V4      p
V	P                  V
4       K5  	  V	'       d   V! \!        V	4      4      pMRpRV R2p\"        P%                  V4       R	p\        4       pVP                    F  w  rVVP                  V9   d   VP                  VP                  4       VR
,           pV'       d$   WP                   RVP&                   R2,           pM	VR,           pWP                  4       ,           pK  	  V F)  pV W.,          P                  4        2pVRV 2,          pK+  	  \        4       pVP                    F!  w  ppVP                  VP                  4       K#  	  V Uu0 uF  pV P)                  V4      '       d   K  VkK   	  ppV'       d>   VR,           R,           R,           R
,           R
P+                  \!        V4      4      ,           pVR,           R,           R,           R,           R,           p\"        P-                  V4       \/        R4      # u upi u upi )z)Installation error reported with no causern  c                    V ^8  d   QhRRRR/# )rW   partsz	list[str]rb   r   rC   )rd   s   "rL   re   4Factory.get_installation_error.<locals>.__annotate__B  s     	? 	?Y 	?3 	?rK   c                    \        V 4      ^8X  d
   V ^ ,          # RP                  V RR 4      R,           V R,          ,           # )   r   Nz and )r   r   )r  s   &rL   	text_join1Factory.get_installation_error.<locals>.text_joinB  s9    5zQQx99U3BZ(72U2Y>>rK   c                    V ^8  d   QhRRRR/# )rW   rB   r.   rb   r   rC   )rd   s   "rL   re   r  H  s     	( 	(Y 	(3 	(rK   c                4   V P                  4       pV'       d   VP                  '       g   V P                   R V P                   2# \	        VP                  \
        4      '       d    \        VP                  P                  4      # \        VP                  4      # )r   )get_install_requirementr   r   r   
isinstancer'   r   )rB   r   s   & rL   describe_trigger8Factory.get_installation_error.<locals>.describe_triggerH  sk    113Dt ++b(899$//+=>>4??//00t''rK   zthe requested packageszCannot install z> because these package versions have conflicting dependencies.z
The conflict is caused by:z
     z depends on zThe user requested z%
    The user requested (constraint) z

z7Additionally, some packages in these conflicts have no z6matching distributions available for your environment:zTo fix this you could try to:
z91. loosen the range of package versions you've specified
z<2. remove package versions to allow pip to attempt to solve zthe dependency conflict
zResolutionImpossible: for help visit https://pip.pypa.io/en/latest/topics/dependency-resolution/#dealing-with-dependency-conflicts)rm  r  rA   r;   r#  rk   rt  r   r   nextiterr   r  r+  rq  r,  r{  r   r|  r   r  r   r   r   )ry   r   rR   rr  requires_python_causesr   rB   r  r  triggerstriggerr   r   relevant_constraintsrE  constraint_textrm  r  r'  no_candidatess   &&&                 rL   get_installation_errorFactory.get_installation_error  s$   
 xxxDDDx "
!%++-FG  %%55d6L6LM E! 	 "
 " 55.0FG  qxx=AtAHH~.KCxx{*??LL	?	( 588KC~..0*62LL! $ VH-.D+D dV $- - 	 	,"u88KCxx;&$((2.C{{m1V^^,<LII11,,..C $ (C!$k&6&G&G&I%JKO;O;LMMC (
 hhFCJJsxx   %+NFq$2J2J12MFNKL KK 	
 --} 567  /0 KK M	M
 ** 	 	C#1
 	
O"
b Os   "M(M<M!M?M)rp   rr   rt   ri   rn   ro   rs   rx   rq   rl   rk   ru   rm   rj   rY   r   )rC   )rE   rF   rG   rH   r|   propertyr^   r   r   r   r   r   r   r  r  r  r2  r<  rO  r;  rV  rZ  ra  rj  rt  r  r  r  rJ   rC   rK   rL   rU   rU   [   s    %'N % %$
 15NN74r
2w
rA, %DK
Z3j(T.
P$	L
"81,<Q|
t
 t
rK   rU   )d
__future__r   r  r  r   loggingcollections.abcr   r   r   r   typingr   r	   r
   r   r   r   "pip._vendor.packaging.requirementsr    pip._vendor.packaging.specifiersr   pip._vendor.packaging.utilsr   r   pip._vendor.packaging.versionr   r   pip._vendor.resolvelibr   pip._internal.cacher   r   pip._internal.exceptionsr   r   r   r   r   r   r   "pip._internal.index.package_finderr   pip._internal.metadatar   r    pip._internal.models.candidater!   pip._internal.models.linkr"   pip._internal.models.wheelr#    pip._internal.operations.preparer$   pip._internal.req.constructorsr%   r&   pip._internal.req.req_installr'   r(   pip._internal.resolution.baser)   &pip._internal.utils.compatibility_tagsr*   pip._internal.utils.hashesr+   pip._internal.utils.packagingr,   pip._internal.utils.virtualenvr-   r   r.   r/   r0   
candidatesr1   r2   r3   r4   r5   r6   r7   found_candidatesr8   r9   rP   r:   r;   r<   r=   r>   r@   	getLoggerrE   r   rM   dictCacherO   rU   rC   rK   rL   <module>r     s    "     A A  B 9 I A 7 6   = L @ * , @ E @ - 9 C 4 4   B   
 
		8	$CLT1W#
 #w
 w
rK   