+
    :1j                    b   R t ^ RIHt ^ RIt^ RIt^ RIHt ^ RIHtH	t	 ^ RI
Ht ^ RIHt ^RIHt ^RIHt ^R	IHt ^R
IHt ^RIHtHtHt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& ^RI'H(t(H)t) ^RI*H+t+H,t,H-t-H.t.H/t/ ^RI0H1t1 ^RI2H3t3 ^RI4H5t5 ^RI6H7t7 ^RI8H9t9 ^RI:H;t; ^RI<H=t= ^RI>H?t? ^RI@HAtAHBtB ^RICHDtDHEtE ^RIFHGtG ^RIHHItI  ^ RIJHJtJ ]'       d   ^ R IMHNtNHOtO ^R!IPHQtQ ]	! ]R4      tS ! R" R#4      tT ! R$ R%4      tUR& R' ltVR*]3R( R) lltWR#   ]K d
    ^RILHJtJ  LSi ; i)+z"The classic solver implementation.)annotationsN)chain)DEBUG	getLogger)dedent)TYPE_CHECKING)
CondaError)__version__)memoizedproperty)dals)REPODATA_FNUNKNOWN_CHANNELDepsModifierUpdateModifier)context)NULLTRACE)dashlisttime_recorder)groupby_to_dict)unique)get_major_minor_versionpaths_equal)NoChannelsConfiguredErrorPackagesNotFoundInChannelsErrorPackagesNotFoundInPrefixErrorSpecsConfigurationConflictErrorUnsatisfiableError)HistoryChannel)
NoarchType	MatchSpec)PrefixGraph)VersionOrder)get_spinner)Resolve)IndexReducedIndex)PrefixSetupUnlinkLinkTransaction)
PrefixData)
SubdirData)
frozendict)IterableSequence)PackageRecordc                  @   ] tR t^:t$ RtR]R&   R]R&   RR R R ]]3R R llt]]]]]]R	3R
 R llt	]]]]]]R	3R R llt
]]]]]R	3R R lltR tR tR t]! ] R7      R 4       tR t]! ] R7      R 4       tR tR tR t]! ] R7      R 4       tR tR tR R ltRtR# )!Solverz
A high-level API to conda's solving logic. Three public methods are provided to access a
solution in various forms.

  * :meth:`solve_final_state`
  * :meth:`solve_for_diff`
  * :meth:`solve_for_transaction`
zReducedIndex | None_indexzResolve | None_rNc               0    V ^8  d   QhRRRRRRRRR	RR
R/# )   prefixstrchannelszIterable[Channel] | NonesubdirszIterable[str]specs_to_addIterable[MatchSpec]specs_to_removerepodata_fn )formats   "0lib/python3.14/site-packages/conda/core/solve.py__annotate__Solver.__annotate__G   sF     + ++ ++ 	+
 *+ -+ +    c                @   Wn         T;'       g    \        P                  V n        \	        \        R V P                   4       4      4      V n        \	        T;'       g    \        P                  4      V n        \        \        P                  ! R V 4       4      4      V n
        \        R V P                   4       4      V n        \        \        P                  ! R V 4       4      4      V n        \        R V 4       4      V n        \        R V 4       4      V n        R
V n        Wpn        \#        V P                  4      \        P$                  ,
          ;p'       d!   \'        R\)        \+        V4      4       24      hW`n        RV n        RV n        R	V n        / V n        R# )a  
Args:
    prefix (str):
        The conda prefix / environment location for which the :class:`Solver`
        is being instantiated.
    channels (Sequence[:class:`Channel`]):
        A prioritized list of channels to use for the solution.
    subdirs (Sequence[str]):
        A prioritized list of subdirs to use for the solution.
    specs_to_add (set[:class:`MatchSpec`]):
        The set of package specs to add to the prefix.
    specs_to_remove (set[:class:`MatchSpec`]):
        The set of package specs to remove from the prefix.

c              3  8   "   T F  p\        V4      x  K  	  R # 5iNr   ).0cs   & rB   	<genexpr>"Solver.__init__.<locals>.<genexpr>b   s     $HAWQZZ   c              3  $   "   T F  qx  K  	  R # 5irH   r@   rI   ss   & rB   rK   rL   d   s     5NAa   c              3  8   "   T F  qP                   x  K  	  R # 5irH   namerI   _s   & rB   rK   rL   e   s     +N<MqFF<MrM   c              3  $   "   T F  qx  K  	  R # 5irH   r@   rO   s   & rB   rK   rL   f   s     8TOqOrQ   c              3  8   "   T F  p\        V4      x  K  	  R # 5irH   r"   rO   s   & rB   rK   rL   g   s     .R\y||\rM   c              3  8   "   T F  p\        V4      x  K  	  R # 5irH   r"   rO   s   & rB   rK   rL   h   s     1X1)A,,rM   zUnknown subdir(s):NFr@   )r8   r   r:   	_channelstupler   r;   	frozensetr#   merger<   specs_to_add_namesr>   unmerged_specs_to_addunmerged_specs_to_removeneutered_specs_commandsetknown_subdirs
ValueErrorr   sorted_repodata_fnr4   r5   	_prepared_pool_cache)	selfr8   r:   r;   r<   r>   r?   commandunknown_subdirss	   &&&&&&&& rB   __init__Solver.__init__G   s5   2 !55W%5%5f$H$HHIW778%ioo5N5N&NO"++ND<M<M+N"N(8TO8T)TU%..R\.R%R"(11X1X(X% !$,,/'2G2GGG?G1(6/;R2S1TUVV'rE   Fc                   V ^8  d   QhRR/# )r7   returnr+   r@   )rA   s   "rB   rC   rD   t   s     M
 M
 
M
rE   c           
         V P                   '       dp   V P                  '       d   \        V P                  4      ^ 8X  dD   \        V P                    Uu. uF"  qP                  '       g   K  VP                  NK$  	  upR7      hV P
                  \        P                  8X  d!   \        P                  '       d   \        4       h\        P                  P                  V P                  V P                  4       V P                  VVVVVVV4      w  r\        P                  P                  V P                   V	V
4       V P#                  V
4       \%        \'        V P
                  V	V
V P                  V P                  V P(                  4      4      # u upi )a  Return an UnlinkLinkTransaction instance that can be used to execute the solution
on an environment.

Args:
    deps_modifier (DepsModifier):
        See :meth:`solve_final_state`.
    prune (bool):
        See :meth:`solve_final_state`.
    ignore_pinned (bool):
        See :meth:`solve_final_state`.
    force_remove (bool):
        See :meth:`solve_final_state`.
    force_reinstall (bool):
        See :meth:`solve_for_diff`.
    should_retry_solve (bool):
        See :meth:`solve_final_state`.

Returns:
    UnlinkLinkTransaction:

packages)r<   r:   lenr   rT   r8   r   root_prefixenable_private_envsNotImplementedErrorplugin_managerinvoke_pre_solvesr_   r`   solve_for_diffinvoke_post_solvesrg   _notify_conda_outdatedr+   r*   ra   )rj   update_modifierdeps_modifierpruneignore_pinnedforce_removeforce_reinstallshould_retry_solvespecunlink_precs
link_precss   &&&&&&&&   rB   solve_for_transactionSolver.solve_for_transactiont   sN   > dmmms4==7IQ7N+040A0AO0AYY)$))0AO  ;;'---'2M2M2M &'' 	00&&))	

 $(#6#6$
  	11	
 	##J/$--**##	
 		
G Ps   F*Fc                   V ^8  d   QhRR/# )r7   rp   ;tuple[tuple[PackageRecord, ...], tuple[PackageRecord, ...]]r@   )rA   s   "rB   rC   rD      s     ;( ;( 
E;(rE   c                    V P                  VVVVVV4      p\        V P                  WP                  V4      w  r\	        R V	4      P                  R4      pV'       d   \        R\        R V 4       4       24      hW3# )an  Gives the package references to remove from an environment, followed by
the package references to add to an environment.

Args:
    deps_modifier (DepsModifier):
        See :meth:`solve_final_state`.
    prune (bool):
        See :meth:`solve_final_state`.
    ignore_pinned (bool):
        See :meth:`solve_final_state`.
    force_remove (bool):
        See :meth:`solve_final_state`.
    force_reinstall (bool):
        For requested specs_to_add that are already satisfied in the environment,
            instructs the solver to remove the package and spec from the environment,
            and then add it back--possibly with the exact package instance modified,
            depending on the spec exactness.
    should_retry_solve (bool):
        See :meth:`solve_final_state`.

Returns:
    tuple[PackageRef], tuple[PackageRef]:
        A two-tuple of PackageRef sequences.  The first is the group of packages to
        remove from the environment, in sorted dependency order from leaves to roots.
        The second is the group of packages to add to the environment, in sorted
        dependency order from roots to leaves.

c                    V P                   # rH   )is_unmanageable)precs   &rB   <lambda>'Solver.solve_for_diff.<locals>.<lambda>   s
    D,@,@rE   Tz$Cannot unlink unmanageable packages:c              3  @   "   T F  qP                  4       x  K  	  R # 5irH   )	record_idrI   r   s   & rB   rK   (Solver.solve_for_diff.<locals>.<genexpr>   s     ?j]iUY@P@P]i   )solve_final_statediff_for_unlink_link_precsr8   r<   groupbygetRuntimeErrorr   )rj   r}   r~   r   r   r   r   r   final_precsr   r   unmanageables   &&&&&&&&    rB   rz   Solver.solve_for_diff   s    L ,,
 $>KK&7&7$
 
 @,OSS
 6x?j]i?j7j6kl  ''rE   c                   V ^8  d   QhRR/# )r7   rp   ztuple[PackageRecord, ...]r@   )rA   s   "rB   rC   rD      s     z" z" 
#z"rE   c           	     8  a  S P                   '       dp   S P                  '       d   \        S P                  4      ^ 8X  dD   \        S P                    Uu. uF"  qwP                  '       g   K  VP                  NK$  	  upR7      hV'       d   V\
        P                  8X  d   \        pV\        J d   \        P                  pM"\        \        V4      P                  4       4      pV\        J d   \        P                  pM"\        \        V4      P                  4       4      pV\        J d   \        P                  MTpV\        J d   \        P                  MTp\         P#                  RS P$                  S P&                  S P                   V4       \)        S R4      pV'       g$   \+        S P$                  VVVVVV4      p	V	S n        MS P,                  p	Wn	        W)n        Win        S P&                  '       d   V'       d   S P                   '       d   \1        4       h\2        ;QJ d!    . V 3R lV	P4                   4       F  NK  	  5M! V 3R lV	P4                   4       4      p
\3        \7        V
4      P8                  4      # V\
        P:                  8X  d   S P&                  '       gq   V'       gi   S P                    F0  p\=        V	P>                  PA                  V4      R4      '       d   K0   M*	  \3        \7        V	P4                  4      P8                  4      # V	PB                  '       g<   \E        RS PF                   R24      ;_uu_ 4        S PI                  V	4      p	RRR4       V'       d   V\
        P                  8X  d   RpM(S PF                  \J        8w  d   R	S PF                   R
2pMRp\E        RVR7      ;_uu_ 4        S PM                  V	4      p	S PO                  V	4      p	\P        PP                  ! V	P4                  4      pS PS                  V	P4                  V	PT                  4      pS PW                  V	4      p	S PY                  V	4      p	S PS                  V	P4                  V	PT                  4      pV	P                  \
        PZ                  8X  d_   S P]                  WV	P^                  Pa                  4       4      p\        V4      ^ 8  d%   V F  pS Pc                  WyP4                  4       K   	  V	Pd                  '       d   \g        V4      \g        V	P4                  4      ,
          \g        V	Pd                  4      ,
          pV	P4                   Uu. uF  pVP                  NK  	  ppV	P4                  Pi                  V Uu. uF5  pVP                  V	PT                  9  g   K   VP                  V9  g   K3  VNK7  	  up4       S Pk                  V	4      p	RRR4       \l        Pn                  ! 4        \3        \7        V	P4                  4      P8                  4      V	n        \         P#                  RS P$                  RPq                  R V	P4                   4       4      4       V	P4                  # u upi   + '       g   i     EL; iu upi u upi   + '       g   i     L; i)a  Gives the final, solved state of the environment.

Args:
    update_modifier (UpdateModifier):
        An optional flag directing how updates are handled regarding packages already
        existing in the environment.

    deps_modifier (DepsModifier):
        An optional flag indicating special solver handling for dependencies. The
        default solver behavior is to be as conservative as possible with dependency
        updates (in the case the dependency already exists in the environment), while
        still ensuring all dependencies are satisfied.  Options include
        * NO_DEPS
        * ONLY_DEPS
        * UPDATE_DEPS
        * UPDATE_DEPS_ONLY_DEPS
        * FREEZE_INSTALLED
    prune (bool):
        If ``True``, the solution will not contain packages that were
        previously brought into the environment as dependencies but are no longer
        required as dependencies and are not user-requested.
    ignore_pinned (bool):
        If ``True``, the solution will ignore pinned package configuration
        for the prefix.
    force_remove (bool):
        Forces removal of a package without removing packages that depend on it.
    should_retry_solve (bool):
        Indicates whether this solve will be retried. This allows us to control
        whether to call find_conflicts (slow) in ssc.r.solve

Returns:
    tuple[PackageRecord, ...]:
        In sorted dependency order from roots to leaves, the package references for
        the solved state of the environment.

rr   zFsolving prefix %s
  specs_to_remove: %s
  specs_to_add: %s
  prune: %ssscc              3     <a"   T F]  o\         ;QJ d)    V3R  lSP                   4       F  '       g   K   RM	  RM! V3R  lSP                   4       4      '       d   KY  Sx  K_  	  R# 5i)c              3  D   <"   T F  qP                  S4      x  K  	  R # 5irH   match)rI   r   r   s   & rB   rK   5Solver.solve_final_state.<locals>.<genexpr>.<genexpr>d  s     M8L::d++8Ls    TFN)anyr>   )rI   r   rj   s   &@rB   rK   +Solver.solve_final_state.<locals>.<genexpr>a  sD      .DsM8L8LMsssM8L8LMM .s   A)A)%A)
A)NzCollecting package metadata ()zOunsuccessful initial attempt using frozen solve. Retrying with flexible solve.
z)unsuccessful attempt using repodata from z&, retrying with next repodata source.
zfailed
zSolving environment)fail_messagez/solved prefix %s
  solved_linked_dists:
    %s
z
    c              3  @   "   T F  qP                  4       x  K  	  R # 5irH   )dist_strr   s   & rB   rK   r     s     I6Hd--//6Hr   )9r<   r:   rt   r   rT   r   FREEZE_INSTALLEDr   r   r}   r9   lowerr~   r   r   r   logdebugr8   r>   hasattrSolverStateContainerr   r   rw   r[   solution_precsr$   graphSPECS_SATISFIED_SKIP_SOLVEnextprefix_dataqueryrr&   rg   _collect_all_metadatar   _remove_specs
_add_specscopyget_request_package_in_solution	specs_map_find_inconsistent_packages_run_satUPDATE_SPECSget_constrained_packagesindexkeysdetermine_constricting_specsadd_back_maprc   extend_post_sat_handlingr   
log_totalsjoin)rj   r}   r~   r   r   r   r   r   retryingr   solutionr   r   pre_packagespost_packagesconstrainedorphan_precsrV   solution_prec_namess   f&&&&&&            rB   r   Solver.solve_final_state   sL   \ dmmms4==7IQ7N+040A0AO0AYY)$))0AO  _(G(GG"Od"%55O,S-A-G-G-IJOD #11M(]);)A)A)CDM%2d%:G!! 	 0<t/Cw++		WKK  	
 4'&"C DH((C"1 -%7" L   )++u ..uu .. H
 X.4455 ~HHH((())COO11$7>> * [););<BBCCuuu<T=N=N<OqQRR005 S /^5T5T"T*  +-;D<M<M;N O0 0 
 &L.\JJ$$S)C//#&C!YYs'9'9:N??""CMML 2237C--$C @@""CMMM ""n&A&AA";; 1A {#a' +99$@R@RS !, '#,,-.#**+, 
 8;7I7I&J7I!qvv7I#&J"")) ".!-A666  FF*== !- ))#.CQ KT 	  "";s/A/A#B#H#HI		@KKMMIc6H6HII	
 !!!U PN SRR\ 'KA KJsV   Y&+Y&Y+?D?Z	?AZ	Y?!Z	<ZZ1Z7Z	+Y<	?
Z		Z	c                	  a V Uu. uF4  q3P                   SP                   8X  g   K  \        VP                  4      NK6  	  up^ ,          p. pV EF  p\        ;QJ d)    V3R lVP                   4       F  '       g   K   RM	  RM! V3R lVP                   4       4      '       g   KZ  VP                   EF  p\        V4      pVP                   SP                   8X  g   K,  VP                  f   K<  VP                  P                  '       g   RVP                  P                  9   g   Ku  RVP                  P                  9   do   TP                  VP                  P                   U	u. uF<  p	RV	P                  9   g   K  VP                   \        VP                    RV	 24      3NK>  	  up	4       K  VP                  VP                   V34       EK  	  EK  	  V U
u. uF(  q^,          P                  P                  V8:  g   K&  V
NK*  	  pp
\        V4      ^ 8X  d   R# \        RSP                    R	24       V F!  p\        V^ ,           R
V^,           24       K#  	  \        R4       V# u upi u up	i u up
i )    c              3  N   <"   T F  pSP                   V9   g   K  Vx  K  	  R # 5irH   rS   )rI   jr   s   & rB   rK   6Solver.determine_constricting_specs.<locals>.<genexpr>  s     =ldii1n11l   %
%TFN<, z

Updating z is constricted by 
z -> requires z
If you are sure you want an update of your package either try `conda update --all` or install a specific version of the package you want using `conda install <pkg>=<version>`
)rT   r%   versionr   dependsr#   exact_valuer   r   tupappend
matcher_vort   print)rj   r   r   sphighest_versionconstrictingr   depm_depvihard_constrictingconsts   &f&          rB   r   #Solver.determine_constricting_specs  s   /=
/=DIIAU$L$~

 "Ds=dll=sss=dll===<<C%cNE

dii/!MM5"]]666#ASAS:S%--"4"44(// .3]]->->!"->'*aff} %PTYY	UZZL!:M0N$O->!" )//E0BC! ( #* $
#!t||'>'>/'QAA| 	 
  !Q&dii[(=>?&EU1XJmE!H:67 'G	

 ! M
!"
s"   I,I,'I1?*I1#I6I6c                	   / pV P                    F  pVP                  pV Uu. uFG  pVP                  V8X  g   K  VP                  f   K&  VP                  \        VP                  4      3NKI  	  upW5&   W5,          P	                  VP                  4        UUu. uF>  w  rxWu8X  g   K  VP                  f   K  VP                  \        VP                  4      3NK@  	  upp4       K  	  V# u upi u uppi rH   )r<   rT   r   r9   r   items)	rj   r   r   requested_packagespkgupdate_pkg_requestr   kr   s	   &&&      rB   r   &Solver.get_request_package_in_solution  s    $$C!$ (6'A66// )45II )QYY('62
 299 !* 1 1. -3499 -QVVS^, 1 %  "!6s"   C*C*
%C*
C/'C/7%C/c                	l  a \        4       pR  pV! V4      '       g   V! V4      '       d   V# V P                   Fw  oSP                  P                  R4      '       d   K&  \	        R VSP                  ,           4       4      pV\	        V3R lV 4       4      8X  d   Ke  W!8X  g   Km  VS0,          pKy  	  V# )c                ^    V P                  4        F  w  r\        V4      ^ 8X  g   K   R# 	  R# )r   TF)r   rt   )r   r   r   s   &  rB   empty_package_list;Solver.get_constrained_packages.<locals>.empty_package_list  s'    		q6Q; $ rE   __c              3  2   "   T F  q^,          x  K  	  R# 5i)   Nr@   )rI   r   s   & rB   rK   2Solver.get_constrained_packages.<locals>.<genexpr>  s     !G0F1A$$0Fs   c              3  t   <"   T F-  qP                   SP                   8X  g   K  VP                  x  K/  	  R # 5irH   rT   r   )rI   r   r   s   & rB   rK   r   	  s'      &#-a3881C			:s   88)rc   r<   rT   
startswithmax)rj   r   r   
index_keysupdate_constrainedr   current_versionr   s   &&&&   @rB   r   Solver.get_constrained_packages  s     U	 l++/A-/P/P%%$$Cxx""4((!!GSXX0F!GGO# &#-& #   0);se)C& % "!rE   )module_namec                	B   VP                   '       d   0 V P                  mV P                  mpEMVP                  P	                  VP
                  4       R FQ  pW1P                  9  g   K  VP                  P                  VR4      '       g   K9  \        V4      VP                  V&   KS  	  \        4       P                  pVP                  4        Uu. uF  qUP                  NK  	  ppV F-  pWqP                  9  g   K  \        V4      VP                  V&   K/  	  VP                  P                  4        F  pVP
                  '       d<   \        VP                  4      \        P                  9   g   VP                   R8X  g   KP  VP                  P	                  VP                  \        VP                  4      /4       K  	  0 V P                  mV P                  mVP
                  P#                  4       mpV P%                  V4      w  rVP'                  W4       V# u upi )anacondaNpypi)r  condazconda-buildz
python.appconsole_shortcutpowershell_shortcut)r   r>   r<   r   updatespecs_from_history_mapr   r   r#   r(   system_packagesr   rT   iter_recordsr   aggressive_update_packagessubdirvalues_prepareset_repository_metadata)rj   r   prepared_specspkg_namevirtual_pkg_indexpvirtual_pkgsvirtual_pkgs_namer   r   r   s   &&         rB   r   Solver._collect_all_metadata  s   999Ht33Hd6G6GHN MM  !;!;<
 ==0S__5H5Hd6 6 /8.ACMM(+ !& 7 7,=,B,B,DE,DqFF,DLE%1!$MM97@AR7SCMM"34 &2 446 222 +w/Q/QQ{{f,MM(($))Ytyy5I)JK! 7$%%"" ++224N ==0##E-
? Fs   Hc           	     	  a V P                   '       Edm   R  V P                    4       p\        \        P                  ! R V 4       4      4      p\	        VP
                  VP                  P                  4       4      p. o. pV P                    F[  p\        P                  \        RV4       VP                  V4      pV'       d   SP                  V4       KJ  VP                  V4       K]  	  \        ;QJ d    . V3R lV 4       F  NK  	  5M! V3R lV 4       4      pV'       d1   \        \        \        R V 4       4      4      V P                   R7      hS EF  p	\        V	P"                  ;'       g    R4      V,          p
V
'       d   V	P$                  VP&                  9   d   VP                  P)                  V	P$                  \+        V	P$                  4      4      p\-        VP.                  P1                  4        UUu/ uF  w  rVR8w  g   K  WbK  	  upp4      Vn        WaP                  VP$                  &   K  VP                  P3                  V	P$                  R4       EK  	  \        VP4                  4      Vn        V# u uppi )	c              3  8   "   T F  pR V9   g   K  Vx  K  	  R# 5itrack_featuresNr@   rI   r   s   & rB   rK   'Solver._remove_specs.<locals>.<genexpr>U  s       !59IT9Q!5s   	
c              3  B   "   T F  qP                  R 4      x  K  	  R# 5ir  )get_raw_valuer  s   & rB   rK   r   Y  s!      $EUT&&'788EUs   z*using PrefixGraph to remove records for %sc              3     <a"   T FI  o\         ;QJ d    V3R  lS 4       F  '       g   K   RM	  RM! V3R  lS 4       4      '       d   KE  Sx  KK  	  R# 5i)c              3  F   <"   T F  pSP                  V4      x  K  	  R # 5irH   r   rI   recr   s   & rB   rK   1Solver._remove_specs.<locals>.<genexpr>.<genexpr>p  s     J6Is4::c??6I   !TFN)r   )rI   r   all_removed_recordss   &@rB   rK   r   m  s:      .4DsJ6IJsssJ6IJJ 4s   AAA
Ac              3  8   "   T F  p\        V4      x  K  	  R # 5irH   r9   rO   s   & rB   rK   r   t  s      K1JAQ1JrM   )r8   featuresNr@   )r>   rc   r   from_iterabler$   r   r   r  r   r   remove_specr   r   r[   r   rf   r8   r,  rT   r  r   r#   r.   _match_componentsr   popr   )rj   r   _track_fts_specsfeature_namesr   no_removed_records_specsr   removed_recordsunmatched_specs_to_remover&  rec_has_a_featurekeyvaluer)  s   &&           @rB   r   Solver._remove_specsN  s    !%!5!5   ## $EU$ M
   2 2CMM4H4H4JKE"$')$,, KTR"'"3"3D"9"'..?,33D9 - ). .4. .4. )%
 )3& K1J KKL;; 
 + %((:(:$;m$K!$S5O5O)O==,,SXXy7JKD-7 /3.D.D.J.J.L.L
"j0 'CJ.L.D* 04MM$)),MM%%chh5 +" "'u{{!3C
s   ?JJc                	~  aa SP                   P                  SP                  R	4      w  poS'       du   \        ;QJ d!    . V3R  lSP                   4       F  NK  	  5M! V3R  lSP                   4       4      Sn        SP                   P                  SP                  R	4      w  po\        P                  \        4      '       d*   \        P                  RS'       d   \        S4      MR4       S'       EdE   \        \        R4      \        P                  R7       \        \        S4      \        P                  R7       S F  pSP                  P                  VP                  R4      pW43SP                   VP                  &   \#        VP                  VP%                  4       R7      SP                  VP                  &   VP                  R8X  g   K  V'       g   K  VSP                  R&   K  	  \        ;QJ d!    . V3R lSP                   4       F  NK  	  5M! V3R lSP                   4       4      Sn        S# )
c              3  Z   <"   T F   pSP                   P                  W4      x  K"  	  R # 5irH   )r   r   )rI   r   r   s   & rB   rK   5Solver._find_inconsistent_packages.<locals>.<genexpr>  s#     &WDVqsyy}}Q':':DVs   (+zinconsistent precs: %sNonez
            The environment is inconsistent, please check the package plan carefully
            The following packages are causing the inconsistency:fileNtargetpythonc              3  8   <"   T F  qS9  g   K  Vx  K  	  R # 5irH   r@   )rI   r   inconsistent_precss   & rB   rK   r<    s      '!3CU7U!3s   
r@   )r   bad_installedr   r[   r   isEnabledForr   r   r   r   r   sysstderrr   r0  rT   r   r#   r   )rj   r   rV   r   r   rD  s   &f   @rB   r   "Solver._find_inconsistent_packages  s   
 !$ 3 3C4F4F K "'&WCDVDV&W&WCDVDV&W!WC$'EE$7$78J8JB$O!A!E""II(0B+, E
 ZZ (-.SZZ@*}}((D9/3l  + ,5TYYt}}+Wdii( 99(TT.2CMM(+ + "' '!$!3!3' '!$!3!3' "C 
rE   c                	   VP                  VP                  4      pR pV'       d   V^ ,          pVP                  P                  P                  VP                  . 4       F^  pVP                  VP                  8  d   Rp M@VP                  VP                  8X  g   K?  VP
                  VP
                  8  g   K\  Rp M	  V'       d-   \        VP                  XP                  VP
                  R7      # T# )FT)r   build_number)r   rT   r   groupsr   rK  r#   )rj   r   r   installed_poolinstalled_prec
has_updater   s   &&&&   rB   _package_has_updatesSolver._package_has_updates  s    '++DII6
+A.N((B7<<."8"88!%JLLN$:$::))N,G,GG!%J 8  diiDDUDUV	
 	
rE   c                	    VP                   '       g   R # VP                  \        P                  8w  d   R # VP                  pWc9  ;'       d    Wd9  ;'       g    W$V,          9   pV# )F)r  r}   r   r   rT   )rj   r   target_precconflict_specsexplicit_poolrM  r  no_conflicts   &&&&&&  rB   _should_freezeSolver._should_freeze  sj     )))."A"AA ##4 
 
)SS[(<S-S 	 rE   c                	   a aaaaa \        R  SP                  P                  4       4      oSP                  P	                  S P
                  4      pSP                  '       d   RpM6SP                  P                  4        Uu. uF  qDP                  4       NK  	  ppSP                  P                  VS P
                  4      ;'       g    \        4       pV Uu0 uF  qfP                  kK  	  ppSP                  P                  4        EF  w  po\        ;QJ d!    . V3R lSP                   4       F  NK  	  5M! V3R lSP                   4       4      pV'       g   KW  \        V4      ^8w  d1   \        \!        R4      VS\#        R V 4       ^R7      3,          4      hV^ ,          p	V	P$                  '       d    V	P                  4       SP                  V&   K  \'        V4      \(        P*                  9   d   \'        V4      SP                  V&   EK
  S P-                  SWVS4      '       d!   V	P                  4       SP                  V&   EKD  VSP.                  9   d=   \'        SP.                  V,          V	P1                  4       R7      SP                  V&   EK  \'        WyP1                  4       R7      SP                  V&   EK  	  \3        4       oSP4                   EF  p
V
P                  V9   g   K  V
P                  S P6                  9  d9   SP8                  '       g'   \'        V
RR7      SP                  V
P                  &   Kj  W*P                  ,          SP                  P	                  V
.4      P;                  V
P                  \3        4       4      ,          '       dC   \'        V
RR7      SP                  V
P                  &   SP=                  V
P                  4       EK  \>        PA                  RV
4       EK   	  SPB                  \D        PF                  8X  d   SP                  P                  4        Uu. uF!  qP                  SP                  9  g   K  VNK#  	  ppV Fz  pVP                  V9  d*   VP                  4       SP                  VP                  &   K=  \'        VP                  VP                  4       R	R
7      SP                  VP                  &   K|  	  \>        PI                  RSP                  4       SPB                  \D        PJ                  8X  Ed5   SP.                  '       d   \M        V3R lSP.                   4       4      Sn        SP                  P                  4        FP  pVPN                  R8X  g   K  SP                  PQ                  VP                  \'        VP                  4      /4       KR  	  EM SP                  P                  4        Uu/ uFb  pVP                  VP                  R SP4                   4       9  d   \'        VP                  4      MSP                  VP                  ,          bKd  	  upSn        EMSPB                  \D        PR                  8X  Eds   VV3R lo\        ;QJ d$    . VV VV3R lS P
                   4       F  NK  	  5M! VV VV3R lS P
                   4       4      pSP                  P                  \        ;QJ d,    . R SP                  PU                  4        4       F  NK  	  5M%! R SP                  PU                  4        4       4      V4      pT;'       g    R F  pVP                  SP                  9   g   K   \'        VR	R7      SP4                  9  g   SP8                  '       g   KP  VP                  SP.                  9  g   Km  \'        VP                  4      SP                  VP                  &   K  	  \V        ;QJ d&    R SP                   4       F  '       g   K   R	M	  RM! R SP                   4       4      p\V        ;QJ d&    R S P
                   4       F  '       g   K   R	M	  RM! R S P
                   4       4      pV'       Ed   V'       Eg   SP                  P;                  R4      pSPB                  \D        PF                  8H  pRV9  d(   V'       d    VP                  4       SP                  R&   EM$SP                  P;                  R\'        R4      4      pVP;                  R4      '       g*   \Y        VPZ                  4      R,           p\'        VVR7      pV3\        S P
                  4      ,           pSP                  P                  VS P
                  4      '       dh   S P\                  R8w  g0   S P^                  \`        8X  d7   SPb                  '       d	   V'       g   SP                  Pe                  V4       M\g        / 4      hVSP                  R&   \(        Ph                  '       gN   \(        P*                   F9  oSP                  SP                  9   g   K   SSP                  SP                  &   K;  	  SP                  PQ                  V3R lS P
                   4       4       RSP                  9   Ed4   \k        S Pl                  \(        Pn                  4      '       Ed	   SP                  P;                  R4      pV'       d   RVPZ                   2p\V        ;QJ d&    R S P
                   4       F  '       g   K   R	M	  RM! R S P
                   4       4      pSP                  R,          pSP                  P;                  R/ 4      P;                  R4      pV'       g   \'        VVR7      p\(        Pp                  '       d   V'       g   \'        RVRR7      pVSP                  R&   S# u upi u upi u upi u upi ) c                    V P                   # rH   rS   xs   &rB   r   #Solver._add_specs.<locals>.<lambda>  s    166rE   c              3  Z   <"   T F   pSP                  V4      '       g   K  Vx  K"  	  R # 5irH   r   )rI   r   r   s   & rB   rK   $Solver._add_specs.<locals>.<genexpr>  s"      %!3tzz$7G!3   +
+a  
                    Conda encountered an error with your environment.  Please report an issue
                    at https://github.com/conda/conda/issues.  In your report, please include
                    the output of 'conda info' and 'conda list' for the active environment, along
                    with the command you invoked that resulted in this error.
                      pkg_name: %s
                      spec: %s
                      matches_for_spec: %s
                    c              3  8   "   T F  p\        V4      x  K  	  R # 5irH   r+  rO   s   & rB   rK   r_    s     %G6Fc!ff6FrM   )indentr@  FoptionalzFpinned spec %s conflicts with explicit specs.  Overriding pinned spec.T)rA  rd  zspecs_map with targets: %sc              3  
  <"   T Fx  p\        V4      P                  R  SP                   4       9  d   V\        V4      3M:\        V4      P                  SP                  \        V4      P                  ,          3x  Kz  	  R# 5i)c              3  8   "   T F  qP                   x  K  	  R # 5irH   rS   rU   s   & rB   rK   .Solver._add_specs.<locals>.<genexpr>.<genexpr>[  s     3UDTqFFDTrM   N)r#   rT   pinned_specsr   )rI   r   r   s   & rB   rK   r_  Y  sp      % !; !++3UCDTDT3UU 9T?+#D/..io>R>R0STU !;s   B Br  c              3  8   "   T F  qP                   x  K  	  R # 5irH   rS   rU   s   & rB   rK   r_  g  s     ,N=MVV=MrM   c                D  <a  S P                   S9  ;'       dp    \        ;QJ d)    V 3R  lSP                   4       F  '       g   K   RM	  RM! V 3R  lSP                   4       4      ;'       d    SP                  '       * ;'       g    S P                   SP                  9   # )c              3  V   <"   T F  pSP                   VP                   8H  x  K   	  R # 5irH   rS   )rI   rV   r\  s   & rB   rK   6Solver._add_specs.<locals>.<lambda>.<locals>.<genexpr>t  s      G6FAFFaff,6Fs   &)TF)rT   r   rh  r   r  )r\  pin_overridesr   s   frB   r   r]  q  s|    FF-/ . .Gc6F6FGGc6F6FGG. .---8 8
 66S7778rE   c              3  j   <"   T F(  pS! V4      '       d   K  SP                  SVS4      x  K*  	  R # 5irH   )rP  )rI   rV   rM  rj   skipr   s   & rB   rK   r_  z  s4      !*AAw B))#q.AA*s   33c              3  8   "   T F  p\        V4      x  K  	  R # 5irH   r"   rU   s   & rB   rK   r_    s     C,Bqill,BrM   c              3  >   "   T F  qP                   R 8H  x  K  	  R# 5irB  NrS   rU   s   & rB   rK   r_    s     J7I!66X-7I   c              3  >   "   T F  qP                   R 8H  x  K  	  R# 5irr  rS   rO   s   & rB   rK   r_    s     %TBSQff&8BSrs  rB  r   .*r   installc              3  d   <"   T F%  qP                   S9  g   K  VP                   V3x  K'  	  R # 5irH   rS   )rI   rP   rm  s   & rB   rK   r_    s(      
!2AffM6QKQVVQK!2s   00r  z>=c              3  >   "   T F  qP                   R 8H  x  K  	  R# 5i)r  NrS   rO   s   & rB   rK   r_    s      1/@!FFg%/@rs  N)r   rA  r@   )9r   r   r  r   _get_package_poolr<   r   to_match_specget_conflicting_specsr[   rT   r   r   r   rt   r   r   r   r   r#   r   r  rW  r  r   rc   rh  r^   r   r   addr   warningr}   r   r   r   
UPDATE_ALLdictr  r  r   r  r   r   r   rb   rg   r   r   find_conflictsr   offliner   r8   conda_prefixauto_update_conda) rj   r   rU  installed_specsrecordrT  r   r  matches_for_specrS  rP   rV   precsr   r<   	conflictsconflictpy_in_prefixpy_requested_explicitlypython_prefix_recfreeze_installedpython_specpinned_versionspec_setconda_prefix_recversion_reqconda_requested_explicitly
conda_specconda_in_specs_to_add_versionrM  rm  ro  s    ff    `                      @@@rB   r   Solver._add_specs  s	    !!13??3O3O3QR //0A0AB999 O 69__5Q5Q5S5S6$$&5S  
 EE''9J9JKVVuw 	 1??))?!mm113NHd$u %!$!3!3%uu %!$!3!3%    '(A-$
 % $%G6F%GPQR $ /q1....9.G.G.ICMM(+x(G,N,NN.7.ACMM(+((m^  /:.G.G.ICMM(+!;!;;.7228<*335/CMM(+
 /8 )=)=)?/CMM(+O 4V !!Avv&66!8!88ARARAR,5a%,HCMM!&&)"66*SUU-D-DaS-I-M-MFFCE.   -6a%,HCMM!&&)!%%aff-KK2 ", ."A"AA??7799aVV3===X9   99N2/3/A/A/CCMM$)),/8		$*<*<*>0CMM$)),	  			.> .";";; ))) $ % !$ : :	% !  OO88:D{{f,,,dii4999M-NO ; !$ < < >! !? II99,NS=M=M,NN "$)), ]]49956
 !?!   N$?$??D !5 !**!55 !**! L 33CCMM,@,@,BCCCMM,@,@,BCC\I &OOO MMS]]2 "(T:#BRBRR,,, S-G-GG3<X]]3KCMM(--0 , sJs7I7IJsssJs7I7IJJ"%#%T$BSBS%T###%T$BSBS%T"T< 7 7 # 3 3H ="22n6U6UU~-2B*;*I*I*Kh' "mm//)H:MN"y11/0A0I0IJTQ # #,K"PK'>E$2C2C,DD55..x9J9JKK}}	1))[8!$!7!7!7?O ,,X6044*5h' ::99-/3CMM$)), ; 	 
!%!2!2
 	
 cmm#DKKAUAU(V(V"227; "#3#;#;"<=-0S 1/3/@/@1SSS 1/3/@/@1 .* !]]73
030A0A'20N0R0R1- 5!*:{!KJ,,,5O!*7KPT!UJ)3g&
q @JB!s   o,o18o6o6#A(o;c           
     	L
  aa \         P                  . SP                  P                  4       OSP                  O54      pSP                  P                  4        Uu. uF(  pSP
                  P                  V4      '       d   K&  VNK*  	  ppV'       d   \        V\        P                  4      h\        SP
                  P                  \        V4      V P                  4      ;'       g    . 4      pV'       EdB   R p\        P                  \         4      '       d'   \        P#                  R\%        R V 4       4      4       \        SP                  P                  4       4      o\'        V3R lV4      p\'        V3R lV4      pVP)                  R4      '       d   VP)                  RR4      p	VP)                  RR4      p
\        V	4      \        V P                  4      ,          \        V
4      ,
          p\+        \-        R V 4       4      \-        R V
 Uu0 uF  q3kK  	  up 4       4      V P.                  4      hV F  pVP0                  '       g   K  VP2                  '       d   K+  RpVP5                  VR4       VP)                  R	4      '       d#   \7        VP8                  VP:                  R
7      pM\7        VP8                  4      pVP=                  V4       VSP                  VP8                  &   K  	  V'       d<   \        SP
                  P                  \        V4      V P                  4      4      pEKI   \        P                  \         4      '       d0   \        P#                  R\%        \-        R V 4       4      4      4       V'       d   \        P>                  '       dM   SP
                  PA                  \        V4      V P                  SPB                  SPD                  R7      Sn#        M\I        / 4      h\        ;QJ d/    . V3R lSP                  PK                  4        4       F  NK  	  5M(! V3R lSP                  PK                  4        4       4      V n&        SPN                  '       d   SPN                  PK                  4        Fr  w  pw  rV'       d   K  SPF                   Uu. uF  pVP8                  V8w  g   K  VNK  	  upSn#        SPF                  PQ                  V4       VP=                  V4       Kt  	  \        V4      Sn)        S# u upi u upi u upi )Fzconflicting specs: %sc              3  L   "   T F  qP                   ;'       g    Tx  K  	  R # 5irH   r@  rO   s   & rB   rK   "Solver._run_sat.<locals>.<genexpr>  s     F4EqXX]]]4Es   $$c                   < V S9   # rH   r@   )rP   specs_map_sets   &rB   r   !Solver._run_sat.<locals>.<lambda>  s
    a=.@rE   c                8   < \        V R R7      SP                  9   # )Trc  )r#   rh  )rP   r   s   &rB   r   r    s    )A59I9IIrE   Tc              3  @   "   T F  qP                  4       x  K  	  R # 5irH   __str__rO   s   & rB   rK   r    s     M0L199;;0Lr   c              3  @   "   T F  qP                  4       x  K  	  R # 5irH   r  rO   s   & rB   rK   r    s     N0M199;;0Mr   Nr   rv  zfinal specs to add: %sc              3  8   "   T F  p\        V4      x  K  	  R # 5irH   r+  rO   s   & rB   rK   r  +  s     H0G1A0GrM   )r<   history_specsr   c              3     <"   T FJ  w  rVSP                   9   g   K  VP                  SP                   V,          P                  8  g   KF  Vx  KL  	  R # 5irH   )r  
strictness)rI   r   r   r   s   &  rB   rK   r  ;  sN      $
-C...  s99!<GGG A-s   A)A
Ar@   )*r  fromkeysr   r  track_features_specsr   find_matchesr   r   r:   rc   r|  r[   r<   r   rF  r   r   r   r   r   r   rf   r8   rA  rd  r0  r#   rT   r   
setdefaultunsatisfiable_hintssolver  r   r   r   r   ra   r   r   final_environment_specs)rj   r   r  rP   absent_specsconflicting_specsspecs_modifiedgrouped_specsconflicting_pinned_specsin_specs_mappinned_conflictsin_specs_map_or_specs_to_addr   neutered_specrT   r   rV   r  s   &f               @rB   r   Solver._run_sat  s*   "&--%%'))#
 $'==#7#7#9W#9aASASTUAV#9W1,@P@PQQ  EE''-.0A0A   	
  "N&&		+F4EFF   4 4 67M#$@BSTM
 (/I!($
 (++D11,00r:#;#?#?b#I %D,=,=(>>()0*, 6M0LMMN<L0M<Lq<L0MNNKK 
 *;;;t}}}%)N+//d;xx	**(1$))T\\(R(1$))(<+66}E/<CMM$)), * $'EE//568I8I%!  E""II(H0GHHI !G$?$?$?!$-.!..!88#&#9#9	 "- "C %R((#e $
++-$
ee $
++-$
 
 &)&6&6&<&<&>"lt t $'#5#5*#5a4#5*C& &&--d3+66t< '? ',,C&D#
o Xj 1Nv*s   #TT
T/T!T!c           	     	
  aaa SP                   pSP                  \        P                  8X  Ed   \	        SP
                  P                  4       4      p\        V4      pV P                   UUu0 uF'  pV F  pVP                  V4      '       g   K  VkK   	  K)  	  pppWG,          pV P                   UUu0 uF1  pSP                   F  pVP                  V4      '       g   K  VkK   	  K3  	  pppV Uu0 uF  qfP                  kK  	  upo\        V3R  lV 4       4      pWH,          p\	        \        V4      P                  4      Sn        EMSP                  \        P                  8X  Ed{   SP                   \"        P$                  8w  Ed[   \        SP                  V P                  4      p	V	P'                  4       p
\        V P                  4      V n
        V
 FY  pVP(                   FF  p\+        V4      pVP                  SP,                  9  g   K+  V P                  P/                  V4       KH  	  K[  	  \1        V P                  4      V n
        V P                   Uu0 uF  qUP                  kK  	  upo\        ;QJ d    . VV3R lV
 4       F  NK  	  5M! VV3R lV
 4       4      p\	        \        . V	P                  O\3        RV4      O54      P                  4      Sn        EMSP                   \"        P$                  8X  Ed   \        SP                  4      p	\        4       pV P                   FE  pV	P5                  VP                  4      pVP7                  R V	P9                  V4       4       4       KG  	  V Uu/ uF  q\+        V4      bK  	  ppSP:                   F  pVP=                  VP                  R4       K!  	  RV9   dd   SP
                  P?                  R4      pRPA                  VPB                  PE                  R4      R,          4      R,           p\+        RVR7      VR&   TP7                  V P                   Uu/ uF  qUP                  VbK  	  up4       \	        VPG                  4       4      pVV n
        V PI                  \"        PJ                  SP                  SPL                  SPN                  SPP                  R	7      Sn        R
Sn&        SPL                  '       dA   \        SP                  V4      p	V	PM                  4        \	        V	P                  4      Sn        S# u uppi u uppi u upi u upi u upi u upi )c              3  N   <"   T F  pVP                   S9  g   K  Vx  K  	  R # 5irH   rS   )rI   r   remove_before_adding_backs   & rB   rK   ,Solver._post_sat_handling.<locals>.<genexpr>o  s'      $-D99$== -r   c              3     <"   T F>  pVP                   S9  g   K  SP                  P                  VP                   R 4      x  K@  	  R # 5irH   )rT   r   r   )rI   nodespecs_to_remove_namesr   s   & rB   rK   r    s?      )D99$99 5##DIIt44)s
   A	.A	Nc              3  8   "   T F  qP                   x  K  	  R # 5irH   rS   )rI   
ancest_recs   & rB   rK   r    s      $6O
OO6OrM   rB  .:Nr7   Nru  r   )r}   r~   r   r   r   F))r  r~   r   NO_DEPSr[   r   r  rc   r>   r   r<   r   rT   r$   r   	ONLY_DEPSr}   r   UPDATE_DEPS+remove_youngest_descendant_nodes_with_specsr   r#   r   r}  r\   filterget_node_by_namer  all_ancestorsrh  r0  r   r   r   splitr  r   r   r   r   r   )rj   r   r  starting_records_no_deps_solutionr   r   only_remove_theseonly_add_theser   removed_nodesr   add_backupdate_namesr  rT   r   
python_recpy_vernew_specs_to_addr  r  s   &f                  @@rB   r   Solver._post_sat_handlingT  sz   "%"="= 4 44  %S__%A%A%CD #$4 5 !00!0D,D::d# , 0  ! 2 !---D..D::d# . -   @N(N~t~(N% # $-$ !
 /!&{3D'E'K'K!LC
 !7!77##~'A'AA   2 2D4E4EFE!MMOM #D$5$5 6D%<<C#C.Cxxs}}4))--c2 ( & !*$*;*; <D <@;O;O$P;O4YY;O$P!u )uu ) H
 "'CekkCF4,BCDJJ"C   N$>$>>   2 23E5L))--dii8## $6;6I6I$6O$  *
 <HH<4y.<IH ((dii. )9$ __00:
*"4"4":":3"?"CDtK&/Xv&N	(#$:K:KL:K$iio:KLM$Y%5%5%78 !1D!%!7!7 . ; ;!//ii!// -- "8 "C CI999 2 24KLEKKM!&u{{!3C
[! )OJ %Q: I Ms0   -T-
T-4(T3!
T32T9T>=UUc                	>  a \         P                  '       d   \         P                  '       d   R # \        \         P                  4      P                  RR 4      pV'       Ed<   VP                  P                  pV\        8X  d   Rp\        V R\         24      o\        V P                  \         P                  4      '       dC   \        ;QJ d    V3R lV 4       F  '       g   K   RM	  RM! V3R lV 4       4      '       d   R # \        \        P                   ! SV P"                  V P$                  V P&                  R7      R R	7      pV'       dK   VR,          P(                  p\+        \-        R
\         RV RV RV R2	4      \.        P0                  R7       R # R # R # )Nr  defaultsz::conda>c              3  F   <"   T F  pSP                  V4      x  K  	  R # 5irH   r   )rI   r   conda_newer_specs   & rB   rK   0Solver._notify_conda_outdated.<locals>.<genexpr>  s      K
'--d33
r(  TF)r?   c                ,    \        V P                  4      # rH   )r%   r   r[  s   &rB   r   /Solver._notify_conda_outdated.<locals>.<lambda>  s    l1995rE   r7  zg

                ==> WARNING: A newer version of conda exists. <==
                  current version: z#
                  latest version: z`

                Please update conda by running

                    $ conda update -n base -c z conda

                Or to minimize the number of packages updated during conda update use

                     conda install conda=z

                r>  )r   notify_outdated_condaquietr,   r  r   channelcanonical_namer   r#   CONDA_VERSIONr   r8   r   rf   r-   	query_allr:   r;   rg   r   r   r   rG  rH  )rj   r   current_conda_prefix_recchannel_nameconda_newer_precslatest_versionr  s   &&    @rB   r|   Solver._notify_conda_outdated  s\   ,,,#-g.B.B#C#G#GQU#V ##3;;JJL.)  )L>-)QR4;;(<(<==3K
K333K
KKK &$$$MMLL $ 1 1	 6
! !!22!6!>!> $ %2? 3##1"2 3/ 0<n =* +9)9 :" %	 !/ $rE   c                   V ^8  d   QhRR/# )r7   rp   ztuple[ReducedIndex, Resolve]r@   )rA   s   "rB   rC   rD     s     )$ )$*F )$rE   c                	   V P                   '       d)   WP                  8X  d   V P                  V P                  3# \	        V R 4      '       d@   V P                  '       d.   Wn        \        V P                  V P                  R7      V n        M/ pV P                   FJ  pVP                  R4      pV'       g   K  W@P                  9  g   K0  VP                  \        V4      4       KL  	  . V P                  OVO5V n        Wn        \        VV P                  RV P                  RRV P                  V P                  RR7	      ;V n        p\        WPP                  R7      V n        RV n         V P                  V P                  3# )r4   )r:   r  FT)r:   prependr;   	use_local	use_cacher8   r?   
use_system)rh   _prepared_specsr4   r5   r   r'   r:   r<   get_exact_valuer  r    r)   r;   r8   rg   )rj   r  additional_channelsr   r  reduced_indexs   &&    rB   r  Solver._prepare  s0    >>>n0D0DD;;''4""t{{{#1 dkkDMMBDG #%))..y97wmm;'22773CD	 * CdmmB.ABDM#1 *6{{ --
+ 
DK- mmmDDG{{DGG##rE   )rZ   rb   r4   ri   rh   r  r5   rg   r:   ra   r8   r<   r^   r>   r   r;   r_   r`   r@   )__name__
__module____qualname____firstlineno____doc____annotations__r   r   rm   r   rz   r   r   r   r   r   r   r   r   rP  rW  r   r   r   r|   r  __static_attributes__r@   rE   rB   r3   r3   :   s     
 .2!#,./1&+^  M
b  ;(~  z"x'!R"("2 x(9 )9v<| x(+ )+Z
.$l\ x(@ )@Dyv2h)$ )$rE   r3   c                  n    ] tR tRtR t]R 4       t]R 4       t]R 4       t]R 4       t	R t
R tR	 tR
tR# )r   i/  c                	    W n         W0n        W@n        WPn        W`n        Wpn        Wn        R V n        R V n        / V n	        R V n
        V P                  4        / V n        R V n        R # rH   )r}   r~   r   r   r   r   r8   r   r   r   r   _init_solution_precsr   r  )rj   r8   r}   r~   r   r   r   r   s   &&&&&&&&rB   rm   SolverStateContainer.__init__3  sk    $  /*
*("4  
 "!!#'+$rE   c                	,    \        V P                  4      # rH   )r,   r8   rj   s   &rB   r    SolverStateContainer.prefix_data^  s    $++&&rE   c                	H    \        V P                  4      P                  4       # rH   )r   r8   get_requested_specs_mapr   s   &rB   r  +SolverStateContainer.specs_from_history_mapb  s    t{{#;;==rE   c                	    \         ;QJ d"    . R  \        P                   4       F  NK  	  5# ! R  \        P                   4       4      # )c              3  F   "   T F  p\        VR ,           4      x  K  	  R# 5i)@Nr"   )rI   r\  s   & rB   rK   <SolverStateContainer.track_features_specs.<locals>.<genexpr>h  s     H1GAYq3w''1Gs   !)r[   r   r  r   s   &rB   r  )SolverStateContainer.track_features_specsf  s0    uH1G1GHuHuH1G1GHHHrE   c                	T    V P                   '       d   R# \        V P                  4      # )Nr@   )r   get_pinned_specsr8   r   s   &rB   rh  !SolverStateContainer.pinned_specsj  s"    '''rJ-=dkk-JJrE   c                	"    WuV n         V n        R # rH   )r   r   )rj   r   r   s   &&&rB   r  ,SolverStateContainer.set_repository_metadatan  s    "
DFrE   c                	    V P                   '       d   \        4       V n        R # \        V P                  P	                  4       4      V n        R # rH   )r   r[   r   r   r  r   s   &rB   r  )SolverStateContainer._init_solution_precsq  s1    :::"''D"'(8(8(E(E(G"HDrE   c                	P    / V n         V P                  4        / V n        R V n        R # rH   )r   r  r   r  r   s   &rB   working_state_reset(SolverStateContainer.working_state_resetx  s%    !!#'+$rE   )r   r~   r  r   r   r   r8   r   r   r   r   r   r}   N)r  r  r  r  rm   r
   r   r  r  rh  r  r  r  r  r@   rE   rB   r   r   /  sl    ),V ' ' > > I I K K&I,rE   r   c                    V ^8  d   QhRRRR/# )r7   r8   r9   rp   ztuple[MatchSpec]r@   )rA   s   "rB   rC   rC     s     D DS D%5 DrE   c                    \         ;QJ d"    . R \        P                   4       F  NK  	  5M! R \        P                   4       4      p\        V R7      pWP	                  4       ,           # )z<Find pinned specs from file and return a tuple of MatchSpec.c              3  <   "   T F  p\        VR R7      x  K  	  R# 5i)Trc  Nr"   r  s   & rB   rK   #get_pinned_specs.<locals>.<genexpr>  s      $3J4	$&&3Js   )prefix_path)r[   r   pinned_packagesr,   r  )r8   context_pinned_packagesr   s   &  rB   r  r    sW    #e $3:3J3J$ee $3:3J3J$  0K"%A%A%CCCrE   c               $    V ^8  d   QhRRRRRR/# )r7   r   zSequence[PackageRecord]r<   r=   rp   r   r@   )rA   s   "rB   rC   rC     s)     5$ 5$(5$ &5$
 A5$rE   c           	     8  aaaaaaa \        S4      p\        \        \        V 4      P	                  4       4      P
                  4      o\        S4      pV\        J d   \        P                  MTpWT,
          oWE,
          oVVVV3R  lpV'       d>   V F7  o\        V3R lS 4       R4      oS'       g   \        RS 24      hV! S4       K9  	  \        R4      o\        V3R lS 4       R4      p\        V3R lS 4       R4      p\        p	V'       dJ   V'       dB   V	! VP                  4      V	! VP                  4      8w  d   R S 4       p
V
 F  oV! S4       K  	  \        \        \        SV3R lR	7      4      4      o\        \        SV3R
 lR	7      4      oSS3# )c                ^   < SP                  V 4       SS9   d   SP                  V 4       R # R # rH   )r}  )r&  r   r   previous_recordsr   s   &rB   _add_to_unlink_and_link;diff_for_unlink_link_precs.<locals>._add_to_unlink_and_link  s+    s##S! $rE   c              3  Z   <"   T F   pSP                  V4      '       g   K  Vx  K"  	  R # 5irH   r   r%  s   & rB   rK   -diff_for_unlink_link_precs.<locals>.<genexpr>  s     Gtzz#r`  NzCould not find record for spec rB  c              3  Z   <"   T F   pSP                  V4      '       g   K  Vx  K"  	  R # 5irH   r   rI   r&  r  s   & rB   rK   r"    s"     C(K,=,=c,B(r`  c              3  Z   <"   T F   pSP                  V4      '       g   K  Vx  K"  	  R # 5irH   r   r$  s   & rB   rK   r"    s      M{k6G6G6L{r`  c              3  f   "   T F'  qP                   \        P                  8X  g   K#  Vx  K)  	  R # 5irH   )noarchr!   rB  )rI   r  s   & rB   rK   r"    s!     W+QZEVEV9Vqq+s    1
1c                &   < SP                  V 4      # rH   r   )r\  r  s   &rB   r   ,diff_for_unlink_link_precs.<locals>.<lambda>  s    4D4J4J14MrE   r  c                &   < SP                  V 4      # rH   r)  )r\  r   s   &rB   r   r*    s    8I8I!8LrE   )rc   r[   r$   r,   r  r   r   r   r   r   r   r#   r   r   reversedrf   )r8   r   r<   r   final_precs_setprevious_records_setr  prev_pythoncurr_pythongmmnoarch_python_precsr   r   r  r  r   r   s   &f&&       @@@@@@rB   r   r     sg    +&O[F);)H)H)JKQQR/0#2d#:  (<'ML%4%KJ" "  DGGND"%DTF#KLL#D)	 ! H%KC(CTK M{MtTK
!C##$K,?,?(@@W+W'D#D) ( *MNOL vj.LMNJ##rE   r@   )Xr  
__future__r   r   rG  	itertoolsr   loggingr   r   textwrapr   typingr    r   r	   r  auxlib.decoratorsr
   
auxlib.ishr   base.constantsr   r   r   r   base.contextr   common.constantsr   r   	common.ior   r   common.iteratorsr   r   r   common.pathr   r   
exceptionsr   r   r   r   r   historyr   models.channelr    models.enumsr!   models.match_specr#   models.prefix_graphr$   models.versionr%   	reportersr&   resolver'   r   r(   r)   linkr*   r+   r   r,   subdir_datar-   r.   ImportErrorauxlib.collectioncollections.abcr/   r0   models.recordsr1   r  r   r3   r   r  r   r@   rE   rB   <module>rP     s    ) "  
  $     + 0  W W " * / 9 % >   $ % ) - ) #  & 4 # #/% 2.r$ r$j'M, M,`D )+	5$ 5$s*  /./s   D D.-D.