
    H.d{                        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lRmSZSmTZTmUZUmVZVmWZWmXZX ejY        dk     r*  ejZ        d          d         ej[                  e_[        n\ejY        dk     r6  ej\        d          ej[        ]                                          e_[        nej[        ^                    d             e	e_          Z` e	d!          Zad"eKjb         d#Zc G d$ d%ed          ZeeJjf        d&fgZgd6d(Zhd'aid) Zjd7d+Zkd, Zld- Zmd. ZLd/ Znd0 Zod1 Zpd2 Zqd3 Zrd4 Zse_d5k    r es             dS dS )8    )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load_conda_installedprint_activateto_txn)      zutf-8)r=      )encodingzconda.stderru  
                  __    __    __    __
                 /  \  /  \  /  \  /  \
                /    \/    \/    \/    \
███████████████/  /██/  /██/  /██/  /████████████████████████
              /  / \   / \   / \   / \  \____
             /  /   \_/   \_/   \_/   \    o \__,
            / _/                       \_____/  `
            |/
        ███╗   ███╗ █████╗ ███╗   ███╗██████╗  █████╗
        ████╗ ████║██╔══██╗████╗ ████║██╔══██╗██╔══██╗
        ██╔████╔██║███████║██╔████╔██║██████╔╝███████║
        ██║╚██╔╝██║██╔══██║██║╚██╔╝██║██╔══██╗██╔══██║
        ██║ ╚═╝ ██║██║  ██║██║ ╚═╝ ██║██████╔╝██║  ██║
        ╚═╝     ╚═╝╚═╝  ╚═╝╚═╝     ╚═╝╚═════╝ ╚═╝  ╚═╝

        mamba (u9  ) supported by @QuantStack

        GitHub:  https://github.com/mamba-org/mamba
        Twitter: https://twitter.com/QuantStack

█████████████████████████████████████████████████████████████
c                       e Zd ZdS )MambaExceptionN)__name__
__module____qualname__     +lib/python3.11/site-packages/mamba/mamba.pyrC   rC   c   s        DrH   rC      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specrO   s        rI   arg2specz!specs_from_args.<locals>.arg2speck   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 )rS   rG   ).0rR   rV   rS   s     rI   
<listcomp>z#specs_from_args.<locals>.<listcomp>|   s(    555HHSt$$$555rH   )FFrG   )argsrS   rV   s    `@rI   specs_from_argsr\   j   s7       " 655555555rH   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 }
tL          rIt?          j        t          j                  }t?          j'        |	|          }|
                    |           n&tQ          |	||          }|
                    |           t?          j)        |	t:                    }t?          j*        t          j                  }|+                                }|,                    d |-                                D             t>          j.                   |,                    |t>          j/        t>          j0        z             |1                                }|s%t          |2                                           d}|S t?          j3        t          j4                  }t?          j5        |	||          }|6                                sto          d           n t          j8        s|9                                 |:                                \  }}}|;                                 d |d         D             }d |d         D             }ty          ||||||          }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_namesrG   )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   )rY   fs     rI   	<genexpr>zremove.<locals>.<genexpr>   s-      WW!)1555WWWWWWrH   c                     g | ]}|S rG   rG   rY   ss     rI   rZ   zremove.<locals>.<listcomp>   s    DDD1QDDDrH   zRemoving specs: {}c                 6    g | ]}|                                 S rG   conda_build_formrm   s     rI   rZ   zremove.<locals>.<listcomp>   s$    .S.S.Sq/A/A/C/C.S.S.SrH   c                 6    g | ]}|                                 S rG   rp   rm   s     rI   rZ   zremove.<locals>.<listcomp>   s$    AAAaQ//11AAArH   rJ   c                 6    g | ]}|                                 S rG   rp   )rY   mss     rI   rZ   zremove.<locals>.<listcomp>   s$    BBBrR  ""BBBrH   c                 ,    g | ]}t          |          S rG   r2   rY   ms     rI   rZ   zremove.<locals>.<listcomp>       ;;;	!;;;rH   c                 ,    g | ]}t          |          S rG   r2   rv   s     rI   rZ   zremove.<locals>.<listcomp>       >>>A9Q<<>>>rH   )=allr`   r#   r   ra   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use_mamba_experimentalRepor:   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<   )r[   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                             rI   remover      s
   H 
* 
<
 
 	

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

 x M&)) qx a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 " 	.)>??K8D+..DLL'.>@RSSDLL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          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            |st/          |          r|t0          rt3          |           t5          t7          |dd                    sGt9          |t           j                  rt=                      t?          |          stA          |          n^n]tC          | d	          r>| j"        r7	 tG          |           n5# tH          $ r}tK          d
|z  |          d}~ww xY wtM          |          t           j        }d | j        D             }	|rk| j'        sdd |	D             }
t           j(        D ]K}|)                    dd          *                    dd          d         }||
vr|	+                    |           LtY          d |	D                       }|rM|t[          |	          k    r+t]          |	|t           j/        pt           j                    dS t#          d          g }| j0        t           j1        | j2        | j3         | j4        d}| j        rg }| j        D ]>}	 |tk          |t           j                  z  }"# tl          $ r t#          d          w xY wd|v r,t]          ||t           j/        pt           j         |           dS |7                    d |D                        |7                    tq          |	t           j                             d t           j1        D             }|D ]l}|9                    d          }|rStu          |tv                    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 ]:}|A                    d           r|+                    t          |                     ;t          |          }|	D ]z}t          |          }|j<        d!k    r|+                    |           |jD        st#          d"|z            |E                    |j<        d          st          ||j<                  {nt           j        t*          jG        k    r|}|D ]m}||H                    |j<                           }|jI        D ]C}t          |          }|j<        d!k    r'|+                    t          |j<                             Dnt          t          |                    }|r| jL        r| j        r6t          dt[          | j                  t          | j                  d#          t          | jL        |t           j        t           j/        pt           j        |$           t          |           t          | j<        r| j<        n|           dS t           j/        s8t           j        s,t          d%Q                    d& |D                                  d}d!|v rt           j        t*          j        k    st          d' |D                       sV||H                    d!                   jS        } d(                    | *                    d(          dd)                   }!d*|! d+}d, |D             }"t           jT        t          jV        u r&t          +                    t          jW        df           t          jX                    }#g }$t          jC        t           j                  }t          r+t          jY        |#|          }%|$+                    |%           n&t          |#||          }%|$+                    |%           |r|sg }&g }'g }(g })g }*g }d}+n}t          |#||$          }&t          j\        |#t                    },|,]                    t          j^        t           j_        t          ja        k    ft          jb        t           j_        t          jc        k    ft          jd        t           je        fg           t           j        t*          jf        u r/|,g                    d- |jh        D             t          ji                   |,g                    |"|           t           je        s>d. t           jj        D             D ]'}-|-|v r!|,g                    |-gt          j                   (d/}.|r|.d0| d1z  }.|,k                    |           t          t           j                  }/|/rt          t           j                  }0|/D ]}|0m                    |j<                  }1|1r||1D ]y}2|n                    |2          sbt          d2           t          d3Q                    |                     t          d4Q                    |2                     t          d           z	 |p                                }3|.d0|3 d1z  }.|,k                    |3           # t          $ r t          d5| d6           Y w xY w|.r+t           j/        st           j        st          d7|. d1           |,r                                }4|4s%t          |,s                                           d}5|5S t          jt        t           ju                  }6t          jv        |#|,|6          }+|+w                                \  }7})}*d8 |7d         D             }'d9 |7d         D             }(|+x                                 t          rx|+v|+y                                ra|rJt/          t          |          dz            s+t           j{        stG          t          |          dz             |+|                    |           nn|+E|+y                                d:u rt          d           t           j{        s|+}                                 t          |'|(||)|*||&          }8t          |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   rT   rX   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"')striprm   s     rI   rZ   zinstall.<locals>.<listcomp>A  s"    ;;;QWWU^^;;;rH   c                 n    g | ]2}|                     d d                              dd          d         3S )rM   =rJ   r   )replacesplit)rY   pkgs     rI   rZ   zinstall.<locals>.<listcomp>E  sH     
 
 
7:CKKS!!''Q//2
 
 
rH   rM   r   rJ   r   c              3   j   K   | ].}|                     d           p|                     d          V  /dS )z.tar.bz2z.condaN)endswithrm   s     rI   rk   zinstall.<locals>.<genexpr>M  sP        =>J			71::h#7#7     rH   )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   rm   s     rI   rk   zinstall.<locals>.<genexpr>v  s(      66aYq\\666666rH   c                     g | ]}|S rG   rG   )rY   cs     rI   rZ   zinstall.<locals>.<listcomp>{  s    ,,,a,,,rH   channelr   zCtoo few arguments, must supply command line package specs or --filec                     g | ]	}|j         
S rG   rO   )rY   i_recs     rI   rZ   zinstall.<locals>.<listcomp>  s    BBBeuzBBBrH   __pythonz@Invalid spec for 'conda update': %s
Use 'conda install' instead.z(did not expect any arguments for --clone)rS   r   r   z
Looking for: {}
c                 ,    g | ]}t          |          S rG   )strrm   s     rI   rZ   zinstall.<locals>.<listcomp>  s    +B+B+BqCFF+B+B+BrH   c              3   ,   K   | ]}|j         d k    V  dS )r   Nr   rm   s     rI   rk   zinstall.<locals>.<genexpr>  sB       K
 K
#$AFhK
 K
 K
 K
 K
 K
rH   .r>   zpython z.*c                 6    g | ]}|                                 S rG   )__str__rm   s     rI   rZ   zinstall.<locals>.<listcomp>  s     444444rH   c                     g | ]}|S rG   rG   )rY   ps     rI   rZ   zinstall.<locals>.<listcomp>   s    DDD1QDDDrH   c                     g | ]	}|j         
S rG   r   )rY   _s     rI   rZ   zinstall.<locals>.<listcomp>  s    MMMQ!&MMMrH    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 rG   r2   rv   s     rI   rZ   zinstall.<locals>.<listcomp>8  rx   rH   c                 ,    g | ]}t          |          S rG   r2   rv   s     rI   rZ   zinstall.<locals>.<listcomp>9  rz   rH   F)r   validate_configurationr   r8   r   boolr   SOLVER_INSTALLSOLVER_UPDATEr   clearr   ra   r   rS   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   sumrQ   r/   r   use_index_cachechannelsr   override_channelsr   r   UnicodeErrorextendr\   get_exact_value
isinstancer1   rO   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   r   r:   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   rq   AssertionErrorr   r   r   r   r   r   r   r   r   r   executer   r<   r5   closeosunlinkrN   )9r[   r   commandnewenv	isinstallsolver_taskisupdater   eargs_packagesargs_packages_namesdefault_pkgdefault_pkg_namenum_cpr   r   
file_specsfpathr   rU   spec_channelr   r   installed_namesir   rn   final_specsprecdeprt   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                                                            rI   r   r      sD    "$$$+,,,'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  xk**T#D*:<NOOT 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   )G9 9
HHHM;;N32m&&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   ra   r   r}   r#   r   loginfor-   r   r   r[   r   s     rI   r   r   d  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***rH   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^   rT   )r   forcer~   r   r   r   rA  s     rI   rT   rT   {  sC    } 	
 	
 	
 	
 	
 4***rH   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
rJ   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_installedrQ   rS   package_queryr   QueryFormatJSONrG  TREErH  RECURSIVETABLErI  PRETTYTABLErepoquery_apicreate_pool
_repoquery)r[   r   rK  r   use_installedonly_installedfmtr   s           rI   r4   r4     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OrH   c                    | j         rt                       t          j                            d          }t          j                    j        |k    r2t          t          j                    j                  t          j        d<   dt          j	                    _
        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_PREFIXFr   import_moduler   rJ   	conda.cli)locksr8   r  environr  r   Contextr}   r   Configurationshow_bannercleanMAMBA_CLEAN_LOCKS	importlibr`  funcrsplitrD   getattrr    )	r[   r   r}   r`  relative_mod	func_namemoduler   r%  s	            rI   rg  rg    sb   z 
:jnn%899;==$33.1#+--2K.L.LBJ*+*/'	#'((( 	:.9BJ*+
++++++"&)"2"23":":i{\98??3PQ;R;RST;UVV.GFI..tV<<	   z 	G	 	 	 	 	 	s   A-D9 9
E	EEc                 L   | j                             dd          \  }}|dv rOddlm}  |d|z   t                              dd          d                   } t          ||          | |          }n|dk    rt          | |          }n|dk    rt          | |d	          }n|d
k    rt          | |          }nl|dk    rt          | |          }nU|dk    rt          | |          }n>|dk    rt          |           }n(|dk    rt          | |          }nt          d           dS |S )Nr   rJ   )z
.main_listz.main_searchz	.main_runz
.main_infor   r_  ra  z.main_cleanz.main_installr   z.main_removez.main_createz.main_updatez
.main_initz.main_repoqueryzuCurrently, only install, create, list, search, run, info, clean, activate and deactivate are supported through mamba.)rj  rk  ri  r`  rD   rl  rg  r   r   r   rT   r6   r4   r~   )r[   r   rm  rn  r`  ro  r   s          rI   do_callrq    sv   "i..sA66L)    	,+++++{\98??3PQ;R;RST;UVV.GFI..tV<<				&	&$''				(	(D&)44				'	'4((				'	'4((				'	'4((				%	%t$$			*	*	*dF++		Q	
 	
 	

 qrH   c                 z    d | j         d         j        D             d         }|                    ddd           d S )Nc                     i | ]
}|j         |S rG   )title)rY   gs     rI   
<dictcomp>z)configure_clean_locks.<locals>.<dictcomp>  s)         rH   rg  zRemoval Targetsz--locks
store_truezRemove lock files.actionhelp)choices_action_groupsadd_argument)sub_parsersremoval_target_optionss     rI   configure_clean_locksr    sf     '/8G   ''! (     rH   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   )descriptionrz  epilogrJ  )destF)add_helprP  zthe target package)rz  z-iz--installedrw  T)ry  r>  rz  z-pz
--platformz--no-installed)ry  z--prettyz-az--all-channelsz-Look at all channels (for depends / whoneeds)rx  z-tz--treez--recursiverF  z*shows packages that depend on this package)rz  parentsr  z"shows dependencies of this packagerE  z$shows all available package versions)conda_argparsez.main_repoquery.execute)rj  )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                  rI   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HrH   c                  \   t          |           dk    r| dz   } t          |           } d| v rda|                     d           d| v r|                     d           d}nd}t	                      }t          |j        j        d                    t          |j        j        d                    |	                    | dd                    }t          j        |           dt          _        |sst          j        t          j                                                  rCt          j        s7d	t          j        v s)|j        d
v s t+          t,          t          j                   t1          t                     t3          ||          }t5          |d|          }t7          |t8                    r|S d S )NrJ   )z-hz--mamba-experimentalTz--no-bannerFr   )argparse_argsMAMBA_NO_BANNER)r	  runr^   rc)rQ   r	  r   r   r   r  _subparsers_group_actionsr  
parse_argsr   __init____initialized__r  isattyr   stdoutfilenor   rc  r  r~   bannerr   r   rq  rl  r   int)r[   kwargsfound_no_bannerr   parsed_argsresultr   s          rI   _wrapped_mainr  Y  s   
4yyA~~g~::D%%!%*+++M"""A!-6q9:::q};A>???,,tABBx((K;////"G 'Icj''))**' ' #bj00KO4V4Vf3:&&&&[!$$Ff I )S!!  rH   c                  N   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    r4| d
         dk    r(ddl
m} t          d                    |                     t          fd| D                       } t          |           d	k    r0| d
         dk    r$| d	         dv rddlm} |                                S 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>   rJ   z	--version)__version__zmamba {}c              3   .   K   | ]} |          V  d S r   rG   )rY   rn   r  s     rI   rk   zmain.<locals>.<genexpr>  s/      33!!!$$333333rH   env)r   rT   )	mamba_envc                  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   rC   rN   )r[   r  r   r%  s       rI   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   rQ   mamba._versionr  r   r   mambar  mainconda.exceptionsr  )r[   r  r  r  r  r  r  s         @rI   r  r    sw   !G444444SX!9!9T	
 	
 	
 	

 x|| x
4yyA~~$q'[00......j,,---3333d33333D
4yy1}}aE))d1g9M.M.M######~~   988888""#6HHHHHHHrH   __main__)F)r   )t
__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   rW  mamba.linkingr5   mamba.mamba_shell_initr6   mamba.utilsr7   r8   r9   r:   r;   r<   version_infolookupr  	getwriterdetachreconfigurerD   r?  	stderrlogr  r  rN   rC   SOLVER_FLAG_ALLOW_DOWNGRADEr   r\   r   r   r   r   rT   rg  rq  r  r  r  r  rG   rH   rI   <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%%	
  !!
 
 
2	 	 	 	 	Y 	 	 	 2A676 6 6 6*  vA vA vArf f f fR+ + +.+ + + :P :P :Pz  4" " "J  D D DN( ( (X-I -I -I` zDFFFFF rH   