
    4dy                        d dl mZmZmZmZ d dlZd dlZd dlZd dlm	Z	 d dl
mZmZmZ d dlmZ d dlmZmZmZ d dlmZ d dlmZmZmZmZ d d	lmZmZmZ d d
lm Z m!Z! d dl"m#Z# d dl$m%Z% d dl&m'Z' d dl(m)Z)m*Z* d dl+m,Z, d dl-m.Z. d dl/m0Z0m1Z1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7m8Z8m9Z9 d dl:m;Z; d dl<m=Z=m>Z>m?Z? d dl@mAZA d dlBmCZCmDZD d dlEmFZF d dlGmHZH d dlIZJd dlKZKd dlKmLZM d dlNmOZO d dlPmQZQ d dlRmSZSmTZTmUZUmVZVmWZW ejX        dk     r*  ejY        d          d         ejZ                  e_Z        n\ejX        dk     r6  ej[        d          ejZ        \                                          e_Z        nejZ        ]                    d             e	e^          Z_ e	d!          Z` G d" d#ea          ZbeJjc        d$fgZdd4d&Zed%afd' Zgd5d)Zhd* Zid+ Zjd, ZLd- Zkd. Zld/ Zmd0 Znd1 Zod2 Zpe^d3k    r ep             dS dS )6    )absolute_importdivisionprint_functionunicode_literalsN)	getLogger)isdirisfilejoin)Path)ChannelPriorityDepsModifierUpdateModifier)context)check_non_admin
confirm_ynensure_name_or_prefixspecs_from_url)check_prefixcloneget_revision)generate_parserinit_loggers)on_win)paths_equal)unregister_env)PrefixSetupUnlinkLinkTransaction)
PrefixData)get_pinned_specs)
ArgumentErrorCondaEnvironmentErrorCondaOSErrorCondaValueError"DirectoryNotACondaEnvironmentErrorEnvironmentLocationNotFoundNoBaseEnvironmentErrorPackageNotInstalledErrorPackagesNotFoundErrorTooManyArgumentsError)mkdir_p)delete_trashpath_is_cleanrm_rf)is_conda_environment)explicittouch_nonadmin)MultiChannel	MatchSpec)	repoquery)
handle_txn)
shell_init)get_installed_jsonfileinit_api_contextload_channelsprint_activateto_txn)      zutf-8)r<      )encodingzconda.stderrc                       e Zd ZdS )MambaExceptionN)__name__
__module____qualname__     +lib/python3.11/site-packages/mamba/mamba.pyrB   rB   J   s        DrG   rB      Fc                 ,    ddfd| D             S )NFc           	         	 t          |           }n # t          $ r t          d| z            w xY w|j        }|                                s9|r7t          d|dt          |           t          |          z
  z  d|           |S )Nz!invalid package specification: %szLversion specifications not allowed with 'update'; use
        conda update   z  or
        conda install )r3   	Exceptionr#   name
_is_simplelen)argjsonupdatespecrN   s        rH   arg2specz!specs_from_args.<locals>.arg2specR   s    	MS>>DD 	M 	M 	M!"E"KLLL	M y   	V 	!/ 4C3t99 4555ss<   s    /c                 *    g | ]} |           S )rR   rF   ).0rQ   rU   rR   s     rH   
<listcomp>z#specs_from_args.<locals>.<listcomp>c   s(    555HHSt$$$555rG   )FFrF   )argsrR   rU   s    `@rH   specs_from_argsr[   Q   s7       " 655555555rG   c                 |	   | j         s| j        st          d          t          j        }t                       t                       | j         r|t          j        k    rt          d          | j         rt          |          rdS | j         r|t          j
        k    rt          d          t          d|z  t          j                   d| v rt          |t          t!          |                                                    dddd	          }t%          |          }	 t'          ||| d
d           n"# t(          $ r t          d|z             Y nw xY wt+          |d           t-          |           d S | j        r,t          d t1          | j                  D                       }nd t3          | j                  D             }t          j        s,t          d                    d |D                                  t9          |          \  }}d |D             }t:                              t>          j         df           t          j!        tD          j#        u r&t:                              t>          j$        df           t?          j%                    }	g }
t?          j        t          j                  }t?          j&        |	|          }|
                    |           t?          j'        |	t:                    }t?          j(        t          j                  }|)                                }|*                    d |+                                D             t>          j,                   |*                    |t>          j-        t>          j.        z             |/                                }|s%t          |0                                           d}|S t?          j1        t          j2                  }t?          j3        |	||          }|4                                stk          d           n t          j6        s|7                                 |8                                \  }}}|9                                 d |d         D             }d |d         D             }tu          ||||||          }t'          ||| d
d           d S )NzHno package names supplied,
       try "mamba remove -h" for more detailszmcannot remove current environment.                                      deactivate and run mamba remove againr   zFcannot remove root environment,
       add -n NAME or -p PREFIX optionz(
Remove all packages in environment %s:
filepackage_namesrF   )target_prefixunlink_precs
link_precsremove_specsupdate_specsneutered_specsFTz7No packages found in %s. Continuing environment removal)clean_empty_parentsc              3   6   K   | ]}t          |           V  dS ))track_featuresNr2   )rX   fs     rH   	<genexpr>zremove.<locals>.<genexpr>   s-      WW!)1555WWWWWWrG   c                     g | ]}|S rF   rF   rX   ss     rH   rY   zremove.<locals>.<listcomp>   s    DDD1QDDDrG   zRemoving specs: {}c                 6    g | ]}|                                 S rF   conda_build_formrl   s     rH   rY   zremove.<locals>.<listcomp>   s$    .S.S.Sq/A/A/C/C.S.S.SrG   c                 6    g | ]}|                                 S rF   ro   rl   s     rH   rY   zremove.<locals>.<listcomp>   s$    AAAaQ//11AAArG   rI   c                 6    g | ]}|                                 S rF   ro   )rX   mss     rH   rY   zremove.<locals>.<listcomp>   s$    BBBrR  ""BBBrG   c                 ,    g | ]}t          |          S rF   r2   rX   ms     rH   rY   zremove.<locals>.<listcomp>       ;;;	!;;;rG   c                 ,    g | ]}t          |          S rF   r2   ru   s     rH   rY   zremove.<locals>.<listcomp>       >>>A9Q<<>>>rG   );allr_   r#   r   r`   r   r8   default_prefixr!   r,   root_prefixprintsysstderrr   tupler   iter_recordsr   r5   r(   r-   r   featuressetr[   quietformatr7   solver_optionsappendapiSOLVER_FLAG_ALLOW_UNINSTALLchannel_priorityr   STRICT SOLVER_FLAG_STRICT_REPO_PRIORITYPoolRepoSolverHistoryget_requested_specs_mapadd_jobsvaluesSOLVER_USERINSTALLEDSOLVER_ERASESOLVER_CLEANDEPS	try_solveexplain_problemsMultiPackageCache	pkgs_dirsTransactionpromptexitdry_runfetch_extract_packagesto_condalog_jsonr;   )rZ   parserprefixstptxnspecsinstalled_json_finstalled_pkg_recsmamba_solve_specspoolreposprefix_datareposolverhistoryhistory_mapsuccess	exit_codepackage_cachetransaction	mmb_specsto_link	to_unlinkspecs_to_addspecs_to_removeconda_transactions                             rH   remover   i   s   H 
* 
<
 
 	

 "Fx 
Fg444#L
 
 	

 x M&)) qx ]AW((('9   	:VC#*UUUUd""$":f#5#5#B#B#D#DEE!  C (,,C3eT::::(   MPVV    
 	f$////v = 	EWWs4CU?V?VWWWWWEEDD0B C CDDDE} 	V&--.S.SU.S.S.STTUUU/Ef/M/M,,AA5AAAs>BCCC#'===!!3#G"KLLLxzz nW%:;;xk**TD.11+g3445577BB[-?-?-A-ABBB$	
 	
 	

 	)3+;c>R+RSSS""$$ 	&))++,,,I-g.?@@odFMBB!!## 	1GGGG 	1..000(3(<(<(>(>%	7I;;il;;;>>1>>>"
 
 	$fdE4@@@@@s   D1 1EEinstallc           	         t          j                     t                       t          j                     t          t                     t          |dk              }t          |dk              }t          j        }t          |dk              }|r%t          j	        }t                                           |rt          | |           t           j        }|rt          |t           j                   t           j        r|t           j        k    rt%          d          |r:| j        s3| j        s,t           j        t,          j        k    st%          d|z            |st1          |          r|t2          rt5          |           t7          t9          |dd                    sGt;          |t           j                  rt?                      tA          |          stC          |          n^n]tE          | d	          r>| j#        r7	 tI          |           n5# tJ          $ r}tM          d
|z  |          d}~ww xY wtO          |          t           j        }d | j        D             }	|rk| j(        sdd |	D             }
t           j)        D ]K}|*                    dd          +                    dd          d         }||
vr|	,                    |           Lt[          d |	D                       }|rM|t]          |	          k    r+t_          |	|t           j0        pt           j                    dS t%          d          g }| j1        t           j2        | j3        | j4         | j5        d}| j        rg }| j        D ]>}	 |tm          |t           j                  z  }"# tn          $ r t%          d          w xY wd|v r,t_          ||t           j0        pt           j         |           dS |8                    d |D                        |8                    ts          |	t           j                             d t           j2        D             }|D ]l}|:                    d          }|rStw          |tx                    r|,                    |j=                   I|j>        |vr|,                    |j>                   m||d<   t          |          \  }}|r(| j@        r!t          | j@        t           j                   n|r| j        s|	st%          d          d |D             }|rt           j        t,          j        k    r|D ]:}|B                    d           r|,                    t          |                     ;t          |          }|	D ]z}t          |          }|j=        d!k    r|,                    |           |jE        st%          d"|z            |F                    |j=        d          st          ||j=                  {nt           j        t,          jH        k    r|}|D ]m}||I                    |j=                           }|jJ        D ]C}t          |          }|j=        d!k    r'|,                    t          |j=                             Dnt          t          |                    }|r| jM        r| j        r6t          dt]          | j                  t          | j                  d#          t          | jM        |t           j        t           j0        pt           j        |$           t          |           t          | j=        r| j=        n|           dS t           j0        s8t           j        s,t          d%R                    d& |D                                  d}d!|v rt           j        t,          j        k    st          d' |D                       sV||I                    d!                   jT        } d(                    | +                    d(          dd)                   }!d*|! d+}d, |D             }"t           jU        t          jW        u r&t          ,                    t          jX        df           t          jY                    }#g }$t          jD        t           j                  }|Z                    t          j[                               t          j\        |#|          }%|$,                    |%           |r|sg }&g }'g }(g })g }*g }d}+n}t          |#||$          }&t          j^        |#t                    },|,_                    t          j`        t           ja        t          jc        k    ft          jd        t           ja        t          je        k    ft          jf        t           jg        fg           t           j        t,          jh        u r/|,i                    d- |jj        D             t          jk                   |,i                    |"|           t           jg        s>d. t           jl        D             D ]'}-|-|v r!|,i                    |-gt          j	                   (d/}.|r|.d0| d1z  }.|,m                    |           t          t           j                  }/|/rt          t           j                  }0|/D ]}|0o                    |j=                  }1|1r||1D ]y}2|p                    |2          sbt          d2           t          d3R                    |                     t          d4R                    |2                     t          d           z	 |r                                }3|.d0|3 d1z  }.|,m                    |3           # t          $ r t          d5| d6           Y w xY w|.r+t           j0        st           j        st          d7|. d1           |,t                                }4|4s%t          |,u                                           d}5|5S t          jv        t           jw                  }6t          jx        |#|,|6          }+|+y                                \  }7})}*d8 |7d         D             }'d9 |7d         D             }(|+z                                 t          rx|+v|+{                                ra|rJt1          t          |          dz            s+t           j}        stI          t          |          dz             |+~                    |           np|+E|+{                                d:u rt          d           t           j}        s|+                                 t          |'|(||)|*||&          }8t          |8|| |           |r,t          |           t          | j=        r| j=        n|           	 |                                 t          j        |j=                   dS # t
          $ r Y dS w xY w);z7
    mamba install, mamba update, and mamba create
    creater   rS   rW   z*cannot use CONDA_FORCE_32BIT=1 in base envzno package names supplied
# If you want to update to a newer version of Anaconda, type:
#
# $ conda update --prefix %s anaconda
z
conda-metar   mkdirzCould not create directory: %s)	caused_byNc                 8    g | ]}|                     d           S )z"')striprl   s     rH   rY   zinstall.<locals>.<listcomp>&  s"    ;;;QWWU^^;;;rG   c                 n    g | ]2}|                     d d                              dd          d         3S )rL   =rI   r   )replacesplit)rX   pkgs     rH   rY   zinstall.<locals>.<listcomp>*  sH     
 
 
7:CKKS!!''Q//2
 
 
rG   rL   r   rI   r   c              3   j   K   | ].}|                     d           p|                     d          V  /dS )z.tar.bz2z.condaN)endswithrl   s     rH   rj   zinstall.<locals>.<genexpr>2  sP        =>J			71::h#7#7     rG   )verbosez6cannot mix specifications with conda package filenames)	use_cachechannel_urlsunknownprepend	use_localzcError reading file, file should be a text file containing packages 
conda create --help for detailsz	@EXPLICIT)r   
index_argsc              3   4   K   | ]}t          |          V  d S Nr2   rl   s     rH   rj   zinstall.<locals>.<genexpr>[  s(      66aYq\\666666rG   c                     g | ]}|S rF   rF   )rX   cs     rH   rY   zinstall.<locals>.<listcomp>`  s    ,,,a,,,rG   channelr   zCtoo few arguments, must supply command line package specs or --filec                     g | ]	}|j         
S rF   rN   )rX   i_recs     rH   rY   zinstall.<locals>.<listcomp>u  s    BBBeuzBBBrG   __pythonz@Invalid spec for 'conda update': %s
Use 'conda install' instead.z(did not expect any arguments for --clone)rR   r   r   z
Looking for: {}
c                 ,    g | ]}t          |          S rF   )strrl   s     rH   rY   zinstall.<locals>.<listcomp>  s    +B+B+BqCFF+B+B+BrG   c              3   ,   K   | ]}|j         d k    V  dS )r   Nr   rl   s     rH   rj   zinstall.<locals>.<genexpr>  sB       K
 K
#$AFhK
 K
 K
 K
 K
 K
rG   .r=   zpython z.*c                 6    g | ]}|                                 S rF   )__str__rl   s     rH   rY   zinstall.<locals>.<listcomp>  s     444444rG   c                     g | ]}|S rF   rF   )rX   ps     rH   rY   zinstall.<locals>.<listcomp>  s    DDD1QDDDrG   c                     g | ]	}|j         
S rF   r   )rX   _s     rH   rY   zinstall.<locals>.<listcomp>  s    MMMQ!&MMMrG    z  - 
zgYour pinning does not match what's currently installed. Please remove the pin and fix your installationz	  Pin: {}z  Currently installed: {}z"
ERROR: could not add pinned spec zR. Make sure pinis of the format
libname VERSION BUILD, for example libblas=*=*mkl
z
Pinned packages:
c                 ,    g | ]}t          |          S rF   r2   ru   s     rH   rY   zinstall.<locals>.<listcomp>  rw   rG   c                 ,    g | ]}t          |          S rF   r2   ru   s     rH   rY   zinstall.<locals>.<listcomp>  ry   rG   F)r   validate_configurationr   r   init_consoler8   use_mamba_experimentalboolSOLVER_INSTALLSOLVER_UPDATEr   clearr   r`   r   rR   force_32bitr|   r#   r^   packagesupdate_modifierr   
UPDATE_ALLr   r   r+   r	   r
   r   conda_prefixr&   r,   r$   hasattrr   r*   EnvironmentErrorr"   r%   no_default_packagescreate_default_packagesr   r   r   sumrP   r/   r   use_index_cachechannelsr   override_channelsr   r   UnicodeErrorextendr[   get_exact_value
isinstancer1   rN   base_urlr7   revisionr   
startswithr3   r   is_name_only_specgetr'   UPDATE_DEPSindexdependslistr   r   r)   r0   r:   r}   r   anyversionr   r   r   r   r   add_packagesget_virtual_packagesr   r9   r   set_postsolve_flagsMAMBA_NO_DEPSdeps_modifierr   NO_DEPSMAMBA_ONLY_DEPS	ONLY_DEPSMAMBA_FORCE_REINSTALLforce_reinstallFREEZE_INSTALLEDr   package_recordsSOLVER_LOCKaggressive_update_packagesadd_pinr   querymatchr   rp   AssertionErrorr   r   r   r   r   r   r   r   r   r   executer   r;   r5   closeosunlinkrM   )9rZ   r   commandnewenv	isinstallsolver_taskisupdater   eargs_packagesargs_packages_namesdefault_pkgdefault_pkg_namenum_cpr   r   
file_specsfpathr   rT   spec_channelr   r   installed_namesir   rm   final_specsprecdeprs   python_constraintr  major_minor_versionr   r   r   r   r  r   r   r   r   r   r   a_pkgpinned_specs_infopinned_specsconda_prefix_dataxel
final_specr   r   r   r   r   s9                                                            rH   r   r      s@    "$$$+,,,'X%&&FW	)**I$KGx'((H ' -dG,,,"F 0V',//// Lv)<<<JKKK 
	
=
 "n&???
 
 
 	
  :== 	: %V$$$$v|Y??@@ vw';<< I0222(00 I@HHHI tW%% :$* :FOOOO'   &86AQ   
 2&999"F <;T];;;M 	2d. 	2
 
>K
 
 
 #: 	2 	2K*223<<BB3JJ1M':::$$[111  BO    F  S'''']F9V',4WXXXXF!K   E )(<--^ J y 7
Y 	 	EnUFFFF

   %B  
 *$$$]:gl;%	    F66:666666	LLW\BBBCCC -,7+,,,H 7 7++I66 	7,55 7 12222&h66 5666!)J~+A&+I+I(( 
T] 
T]66666	 
DI 
 
T
 
 	
 CB/ABBBO  'G+~/HHH  	' 	'A||D!! LL1&&&& (( 
	? 
	?A!Av!!Q& %3567   ??16400 ?.vqv>>>?
	? 
	 N$>	>	>  	; 	;D%o&;&;DI&F&FGD| ; ;s^^7h&&&&y'9'9:::; S%%&& $* = 	'DM""T]##:	   	J=0GL!	
 	
 	
 	
 	vDI9tyy6:::M EW\ E#**+B+BE+B+B+BCCDDD ?"""n&???s K
 K
(-K
 K
 K
 H
 H
? ))>)>x)H)HIQG"%((7==+=+=bqb+A"B"B A*= A A A44e444?#999sCQGHHH8::DE .!677KS5778888D+&&D	LL Se S 	dHe44D.11"""G$9\=Q$QR$g&;|?U&UV*G,CD	
 	
 	
 "n&EEEOODD(CDDDcoVVV);777& 	@ NM'*LMMM @ @O++OOUGS->??? 	.!=(9!=!=!==NN,---'(=>> 	B *7+@ A A 	 	A!''//A 	     B772;;  O   k00334449@@DDEEEQ	//11
!%:J%:%:%::!z****!   J! J J J      	@gm 	@w| 	@>):>>>???""$$ 	&))++,,,I-g.?@@odFMBB(3(<(<(>(>%	7I;;il;;;>>1>>> <+"9 	-5d6ll\9::5  5
 V|3444,,,"!!##u,,Q? 522444"
 
 	$fdF;;; ;vDI9tyy6:::   
	"'(((((   sH   <H 
H/H**H//NN(>2m11nn.w wwc                    t          t          j                  rt          t          j        t          j                  rt          d          t          dt          j        z  dd           t                              dt          j                   t          t          j                   n8t          t          j                  rt          dt          j        z  dd           t          | |d          S )	Nz/The target prefix is the base prefix. Aborting.zOWARNING: A conda environment already exists at '%s'
Remove existing environmentnoF)defaultr   z Removing existing environment %szWARNING: A directory already exists at the target location '%s'
but it is not a conda environment.
Continue creating environmentr   )r.   r   r`   r   r|   r#   r   loginfor-   r   r   rZ   r   s     rH   r   r   E  s    G122 
w,g.ABB 	U!"STTT*,3,AB		
 	
 	
 	
 	3W5JKKKg#$$$$	w$	%	% 
,.5.CD 	
 	
 	
 	
 4***rG   c                 r    t           j        rt          dt          j                   t          | |d          S )Nz

WARNING: The --force flag will be removed in a future conda release.
         See 'conda update --help' for details about the --force-reinstall
         and --clobber flags.

r]   rS   )r   forcer}   r~   r   r   rC  s     rH   rS   rS   \  sC    } 	
 	
 	
 	
 	
 4***rG   c                    | j         s<t          d           t          d           t          d           t          d           | j        r| j        }nt          j        }d }t          | d          r| j        }| j        s|(| j         dk    r|rt          d           t          j	        }| j
        }| j        rd}| j         d	v r|r|rd}d
}| j         dk    r
| j
        sd}n| j        s|rt          |          rd}|r4| j        r-t          d           t          d           t          d           t          j        st          d| j        z             t          j        rt          j        j        }nt          | d          r| j        rt          j        j        }nct          | d          r| j        rt          j        j        }n:t          | d          r| j        rt          j        j        }nt          j        j        }t3          j        |||          }t          d           t          t3          j        | j         | j        ||                     d S )Nz:repoquery needs a subcommand (search, depends or whoneeds)zeg:z%    $ mamba repoquery search xtensor
rI   r   searchz:WARNING: Using all channels instead of configured channelsF)r  whoneedsTzNo channels selected.z#Activate -a to search all channels.z
Executing the query %s
tree	recursiveprettyr   )subcmdr}   r   platformr   subdirr   r   all_channelsr   	installedno_installedrP   rR   package_queryr   QueryFormatJSONrI  TREErJ  RECURSIVETABLErK  PRETTYTABLErepoquery_apicreate_pool
_repoquery)rZ   r   rM  r   use_installedonly_installedfmtr   s           rH   r4   r4   l  sk   ; JKKKe6777Q } "=>HtY  < $X-$+2I2I 	PNOOO#NM  {-----H-N{ht~		 x CMM  $+ %&&&3444Q< A*T-??@@@| 	$o"	v		 $49 $o"	{	#	# $ $o,	x	 	  $T[ $o$o#$XxGGD	$KKK	-
"4;0BD#
N
NOOOOOrG   c                    | j         rt                       t          j                            d          }t          j                    j        j        |k    r7t          t          j                    j        j                  t          j        d<   t          j
        t
          j                   |r|t          j        d<   	 ddlm} | j                            dd          \  }} |d|z   t                               dd          d                   } t#          ||          | |          }|S # t$          $ r}| j         s|Y d }~d S d }~ww xY w)NMAMBA_ROOT_PREFIXr   import_moduler   rI   	conda.cli)locksr8   r   environr  r   Contextprefix_paramsr|   r   cleanMAMBA_CLEAN_LOCKS	importlibrb  funcrsplitrC   getattrr    )	rZ   r   r|   rb  relative_mod	func_namemoduler   r'  s	            rH   rh  rh    s^   z :jnn%899;==&2kAA.1+7/ /BJ*+ 		#'((( 	:.9BJ*+
++++++"&)"2"23":":i{\98??3PQ;R;RST;UVV.GFI..tV<<	   z 	G	 	 	 	 	 	s   =A-D+ +
E	5	EE	c                 n   t          | d          r| j                            dd          \  }}nYt          | d          r7| j        j        }d|j                            d          d          }|j        }nt          d| z            |dv rudd	l	m
}  |d
|z   t                              dd          d                   }|dk    rdd l}ddlm} |                                5 }	 ||	          5   t          ||          | |          }
|	                                }d d d            n# 1 swxY w Y   d d d            n# 1 swxY w Y   t"          j        r@ddlm} ddlm}  ||          }t,          j        |d<   t1           ||                     nd }t1          d |dt,          j                  z              t1          |                    d                     n t          ||          | |          }
n|dk    rt5          | |          }
n|dk    rt7          | |d          }
n|dk    rt9          | |          }
nl|dk    rt;          | |          }
nU|dk    rt=          | |          }
n>|dk    rt?          |           }
n(|dk    rtA          | |          }
nt1          d           dS |
S )Nrk  r   rI   _plugin_subcommandr>   zUnrecognized 'args' object: %r)z
.main_listz.main_searchz	.main_run
.main_infor   ra  rc  rs  )redirect_stdout)loads)	json_dumpmamba_versionc                     | dd| S )Nz>23z : rF   )nmvals     rH   format_paramzdo_call.<locals>.format_param  s     ......rG   r   zmamba versionz.main_cleanz.main_installr   z.main_removez.main_createz.main_updatez
.main_initz.main_repoqueryzCurrently, only install, create, list, search, run, info, clean, remove, update, repoquery, activate and deactivate are supported through mamba.)!r   rk  rl  rr  actionrD   r   rC   
ValueErrorrj  rb  io
contextlibrt  StringIOrm  getvaluer   rR   ru  conda.common.serializerv  mamba__version__r}   lstriprh  r   r   r   rS   r6   r4   )rZ   r   rn  ro  r|  rb  rp  r~  rt  bufr   outputru  rv  json_objr{  s                   rH   do_callr    s   tV B"&)"2"23":":ii	+	,	, B(/=6,22377;==O		9D@AAA     	,+++++{\98??3PQ;R;RST;UVV<''III222222 (#s';'; ( (6GFI66tVDD	( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( | +&&&&&&<<<<<< 5==,1,=)ii))****/ / / d\\/5;LMMMNNNfmmD))****2	224@@II		&	&$''				(	(D&)44				'	'4((				'	'4((				'	'4((				%	%t$$			*	*	*dF++		7	
 	
 	
 qs6   'E3/D."E.D2	2E5D2	6EE	E	c                 z    d | j         d         j        D             d         }|                    ddd           d S )Nc                     i | ]
}|j         |S rF   )title)rX   gs     rH   
<dictcomp>z)configure_clean_locks.<locals>.<dictcomp>  s)         rG   rh  zRemoval Targetsz--locks
store_truezRemove lock files.r|  help)choices_action_groupsadd_argument)sub_parsersremoval_target_optionss     rH   configure_clean_locksr  
  sf     '/8G   ''! (     rG   c                    d}|}d}dd l }ddl m} |                     d|||          }|                    d          }|                    d	
          }|                    dd           |                    dddd|           |                    dd           |                    dd           |                    dd           |                    dddd           |                    d	
          }	|	                    ddd           |	                    dd           |                    dd ||	g!          }
|                    d"d#||	g!          }|                    d$d%|g!          }dd&lm} |
||fD ]V}|                    |           |	                    |           |
                    |           |                    |           W|                    d'(           |S ))Nz Query repositories using mamba. z
Examples:

    mamba repoquery search xtensor>=0.18
    mamba repoquery depends xtensor
    mamba repoquery whoneeds xtl

    r   )SUPPRESSr4   )descriptionr  epilogrL  )destF)add_helprR  zthe target package)r  z-iz--installedr  T)r|  r@  r  z-pz
--platformz--no-installed)r|  z--prettyz-az--all-channelsz-Look at all channels (for depends / whoneeds)r  z-tz--treez--recursiverH  z*shows packages that depend on this package)r  parentsr  z"shows dependencies of this packagerG  z$shows all available package versions)conda_argparsez.main_repoquery.execute)rk  )argparser  
add_parseradd_subparsersArgumentParserr  	conda.clir  add_parser_channelsadd_parser_networkingadd_parser_knownadd_parser_jsonset_defaults)r  help_clidescrexampler  r  r   subsub_parserpackage_cmds	view_cmdsc1c2c3r  cmds                  rH   configure_parser_repoqueryr    s   1HEG OOO!!!!!!Xg 	 	 	A $$($33M**E*::Lo4HIIImL$X     dL111.|DDDj>>><	     '''77I4,???=>>>		!	!9y) 
" 
 
B 
	!	!1y) 
" 
 
B 
	!	!3 
" 
 
B )(((((B| , ,**3///,,S111'',,,&&s++++NN1N222HrG   c                  h   t          |           dk    r| dz   } t          |           } d| v rda|                     d           d| v r|                     d           t	                      }t          |j        j        d                    t          |j        j        d                    |	                    | dd                    }t          j        |           dt          _        t          t                     t          ||          }t          |d|          }t!          |t"                    r|S d S )	NrI   )z-hz--mamba-experimentalTz--no-bannerr   )argparse_argsrc)rP   r	  r   r   r   r  _subparsers_group_actionsr  
parse_argsr   __init____initialized__r   r  rm  r   int)rZ   kwargsr   parsed_argsresultr   s         rH   _wrapped_mainr  \  s-   
4yyA~~g~::D%%!%*+++M"""A!-6q9:::q};A>???,,tABBx((K;////"G[!$$Ff I )S!!  rG   c                     dt           _        ddlm dt          j        v sdt          j        v r/t          dt          j                   t	          j        d          S | st          j        } t          |           d	k    r2| d
         dv r(ddl
m} t          d                    |                     t          fd| D                       } t          |           d	k    ro| d
         dk    rddlm} |                                S | d
         dk    r=	 ddlm} |                                S # t&          $ r}t'          d          |d }~ww xY wd }ddlm}  ||g| R i |S )NFr   )ensure_text_typeactivate
deactivatezRun 'mamba init' to be able to run mamba activate/deactivate
and start a new shell session. Or use conda to activate/deactivate.
r]   r>   r=   rI   )z	--versionz-V)r  zmamba {}c              3   .   K   | ]} |          V  d S r   rF   )rX   rm   r  s     rH   rj   zmain.<locals>.<genexpr>  s/      33!!!$$333333rG   env)	mamba_envbuild)
mambabuildzKPlease install boa to use mamba build:
  $ mamba install -c conda-forge boac                  B   d}	 t          | i |}n# t          j        $ r%}t          |t          j                   Y d }~n_d }~wt          $ r%}t          |t          j                   Y d }~n2d }~wt          $ r"}t          |t          j                   |d }~ww xY w|S )Nr   r]   )r  r   MambaNativeExceptionr}   r~   r   rB   rM   )rZ   r  r   r'  s       rH   exception_converterz!main.<locals>.exception_converter  s    		%t6v66II' 	& 	& 	&!#*%%%%%%%%% 	& 	& 	&!#*%%%%%%%%% 	 	 	!#*%%%%G	 s,    BA  BA--B:BB)conda_exception_handler)r   report_errorsconda.common.compatr  r~   argvr}   r   r   rP   mamba._versionr  r   r   r  r  mainboa.clir  ImportErrorconda.exceptionsr  )	rZ   r  r  r  r  excr  r  r  s	           @rH   r  r  }  s   !G444444SX!9!9T	
 	
 	
 	

 x|| x
4yyA~~$q'%888......j,,---3333d33333D
4yyA~~7e''''''>>###!W......!(((   !;     988888""#6HHHHHHHs   D- -
E7EE__main__)F)r   )q
__future__r   r   r   r   codecsr   r~   loggingr   os.pathr   r	   r
   pathlibr   conda.base.constantsr   r   r   conda.base.contextr   conda.cli.commonr   r   r   r   conda.cli.installr   r   r   conda.cli.mainr   r   r  r   conda.common.pathr   conda.core.envs_managerr   conda.core.linkr   r   conda.core.prefix_datar   conda.core.solver   r  r    r!   r"   r#   r$   r%   r&   r'   r(   r)   conda.gateways.disk.creater*   conda.gateways.disk.deleter+   r,   r-   conda.gateways.disk.testr.   
conda.miscr/   r0   conda.models.channelr1   conda.models.match_specr3   
libmambapyr   r  r4   rY  mamba.linkingr5   mamba.mamba_shell_initr6   mamba.utilsr7   r8   r9   r:   r;   version_infolookupstdout	getwriterdetachreconfigurerC   rA  	stderrlogrM   rB   SOLVER_FLAG_ALLOW_DOWNGRADEr   r[   r   r   r   r   rS   rh  r  r  r  r  r  rF   rG   rH   <module>r     s   S R R R R R R R R R R R  				 



       ' ' ' ' ' ' ' ' ' '       O N N N N N N N N N & & & & & &            @ ? ? ? ? ? ? ? ? ? 8 8 8 8 8 8 8 8 & & & & & & ) ) ) ) ) ) 2 2 2 2 2 2 > > > > > > > > - - - - - - - - - - - -                        / . . . . . I I I I I I I I I I 9 9 9 9 9 9 / / / / / / / / - - - - - - - - - - - -      , , , , , , $ $ $ $ $ $ - - - - - -              f+w''+CJ77CJJ*!!'**3:+<+<+>+>??CJJJG,,, iIn%%		 	 	 	 	Y 	 	 	 2A676 6 6 6*  rA rA rAjd d d dN+ + +.+ + + :P :P :Pz  6C C CL  D D DN  B9I 9I 9Ix zDFFFFF rG   