+
    {iL                    r  a  0 t $ ^ RIHt ^ RIt^ RIHt ^ RIHt ^ RIH	t	 ^ RI
Ht ^RIHtHt ]'       d   ^ RIt ! R R	]4      t]P"                  ]P$                  3tR
]R&   Rt]	! R4      P-                  4       t]	! R4      P-                  4       t]	! R4      P-                  4       tRtRtR R ltR R ltR# )    )annotationsN)Enum)Path)dedent)TYPE_CHECKING)RESET_FILE_BASE_PROTECTIONRESET_FILE_INSTALLERc                  b    ] tR t^tRtRtRtRtRtR R lt	]
R R	 l4       t]
R
 R l4       tRtR# )SnapshotaC  Snapshot modes accepted by ``conda self reset --snapshot``.

Plain :class:`enum.Enum` for Python 3.10 compatibility; the string values
double as argparse choices and user-facing mode names. Switch to
:class:`enum.StrEnum` when 3.11 becomes the minimum supported version
(mirrors the TODO on conda's ``EnvironmentFormat``).
currentzinstaller-exactzinstaller-updatedbase-protectionc                   V ^8  d   QhRR/#    returnstr )formats   "9lib/python3.14/site-packages/conda_self/cli/main_reset.py__annotate__Snapshot.__annotate__   s           c                	    V P                   # )N)valueselfs   &r   __str__Snapshot.__str__   s    zzr   c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   r   !   s     	) 	)c 	)r   c                	    T ;\         P                  8X  d    R # ;\         P                  8X  d    R# ;\         P                  8X  d    R# \         P                  8X  d   R# R# )r   zinstaller-provided (exact)z!installer-provided (with updates)r   N)r   CURRENTINSTALLER_EXACTINSTALLER_UPDATEDBASE_PROTECTIONr   s   &r   display_nameSnapshot.display_name    s@    !!! )))3+++:))( *r   c                   V ^8  d   QhRR/# )r   r   zPath | Noner   )r   s   "r   r   r   -   s      ; r   c                >   T ;;\         P                  8X  d   M;\         P                  8X  d   M M!  \        \        P
                  R\        4      # ;\         P                  8X  d!    \        \        P
                  R\        4      # \         P                  8X  d   R# R# )z?The ``conda-meta/*.txt`` file this snapshot mode reads, if any.z
conda-metaN)
r   r"   r#   r   sysprefixr	   r$   r   r!   r   s   &r   	file_pathSnapshot.file_path,   sg     F))),FH,F,FFCJJ6JKK)))CJJ6PQQ!! "r   r   N)__name__
__module____qualname____firstlineno____doc__r!   r"   r#   r$   r   propertyr%   r+   __static_attributes__r   r   r   r   r      sK     G'O+'O 	) 	)  r   r   ztuple[Snapshot, ...]FALLBACK_ORDERz4Reset 'base' environment to essential packages only.a  
    Snapshot to reset the `base` environment to.
    `current` removes all packages except for `conda`, its plugins,
    and their dependencies.
    `installer-exact` restores the `base` environment to exactly what the
    installer shipped (may downgrade packages you have updated).
    `installer-updated` keeps the packages the installer shipped at their
    currently installed versions (no downgrade).
    `base-protection` restores the `base` environment to the snapshot saved
    by `conda doctor --fix` before protecting base.

    If not set, `conda self` will try to reset to the base-protection snapshot
    first, then to the installer-provided (preserving updates), and finally
    to the current snapshot.
    zg
    This will reset your 'base' to ONLY contain 'conda', its plugins,
    and their dependencies.
    zm
    This resets your 'base' to the {snapshot_name} snapshot
    and removes any packages outside of it.
    zIReset the 'base' environment to only the essential packages and plugins.
z:Reset the 'base' environment to {snapshot_name} snapshot.
c                    V ^8  d   QhRRRR/# )r   parserzargparse.ArgumentParserr   Noner   )r   s   "r   r   r   c   s     & &4 & &r   c                    ^ RI Hp \        V n        V! V 4       V P	                  R\
        \        \
        4      \        R7       V P                  \        R7       R# )r   )add_output_and_prompt_optionsz
--snapshot)typechoiceshelp)funcN)
conda.cli.helpersr9   HELPdescriptionadd_argumentr   listSNAPSHOT_HELPset_defaultsexecute)r6   r9   s   & r   configure_parserrF   c   sK    ?F!&)
X	   W%r   c                    V ^8  d   QhRRRR/# )r   argszargparse.Namespacer   intr   )r   s   "r   r   r   q   s     8 8$ 8 8r   c                2   ^ RI Hp ^ RIHp ^RIHp ^RIHpHp V P                  pRpVe   VP                  pM;\         F1  pVP                  p	V	f   K  V	P                  4       '       g   K-  TpT	p M	  Ve)   VP                  4       '       g   \        RV RV R24      hVP                  '       g>   Ve+   \        \        P!                  VP"                  R	7      4       M\        \$        4       R
p
Ve   V
RVP"                   R2,          p
V! V
 R2RVP&                  R7       VP                  '       g   \        R4       T;\(        P*                  8X  d&   Ve"    V! RR7      V! V4      ,          pV! VR7       MJ;\(        P,                  8X  d   M;\(        P.                  8X  d   M M V! VR7       M V! V! RR7      R7       VP                  '       g?   Ve,   \        \0        P!                  VP"                  R	7      4       ^ # \        \2        4       ^ # )r   )context)
confirm_yn)permanent_dependencies)names_from_explicitresetNzFailed to reset to 'z'.
Required file z not found.)snapshot_namez.Proceed with resetting your 'base' environmentz to the z	 snapshotz?[y/n]:
no)defaultdry_runzResetting 'base' environment...T)add_plugins)uninstallable_packages)snapshot)conda.base.contextrK   conda.reportersrL   queryrM   rO   rN   rV   r+   r4   existsFileNotFoundErrorquietprintWHAT_TO_EXPECT_SNAPSHOTr   r%   WHAT_TO_EXPECT_ESSENTIALSrS   r   r#   r"   r$   SUCCESS_SNAPSHOTSUCCESS)rH   rK   rL   rM   rN   rO   rV   
reset_filefallback	candidatepromptkeeps   &           r   rE   rE   q   s   **.2 $H"J''
&H **I$)9)9););#&
 ' j&7&7&9&9"8*,>zl+V
 	
 ===)00x?T?T0UV+,=FHX2239==&#T7??K===/0
'X'':+A)d;>Q? D .%X%%(@(@(@@:&)?D)QR==="))8M8M)NO  'Nr   )__conditional_annotations__
__future__r   r)   enumr   pathlibr   textwrapr   typingr   	constantsr   r	   argparser   r$   r#   r4   __annotations__r?   lstriprC   r_   r^   ra   r`   rF   rE   )rg   s   @r   <module>rq      s    " " 
      H&t &X ($  >  	&(! $ #
 	&(  !
 	&(  WP &8r   