+
    ~{Mj                    ~    ^ RI Ht ^ RIt^ RIt^ RIHt ^ RIHt ^TtRt	Rt
RtRt]'       d   ^ R	IHt  ! R
 R4      tR# )    )annotationsN)TYPE_CHECKING)	MatchSpeczLog in:
    $ anaconda loginzfAdd the 'main-x' channel:
    $ conda config --append channels https://repo.anaconda.cloud/repo/main-xziTo disable these notifications, please run:
    $ conda config --set plugins.anaconda_channel_guide falsezxBy accessing main-x, you agree to Anaconda's Terms of Service:
    https://www.anaconda.com/legal/terms/terms-of-service)Iterablec                  z    ] tR t^tRtRt^tR R ltR R lt]	R]3R R	 ll4       t
R
 R lt]	R R l4       tRtR# )ChannelGuideBoxz6Plain-text channel guide message for PNFE remediation.zAnaconda Channel Guidec               $    V ^8  d   QhRRRRRR/# )   packageszIterable[str | MatchSpec]steps	list[str]returnNone )formats   ":lib/python3.14/site-packages/anaconda_channel_guide/box.py__annotate__ChannelGuideBox.__annotate__%   s#      !: 9 QU     c                    Wn         W n        R# )zd
:param packages: Packages that triggered the PNFE
:param steps: Numbered action items for the user
Nr   r   )selfr   r   s   &&&r   __init__ChannelGuideBox.__init__%   s    
 !
r   c                   V ^8  d   QhRR/# r
   r   strr   )r   s   "r   r   r   -   s     
G 
GS 
Gr   c                	d   V P                    Uu. uF'  p\        V\        4      '       d   VP                  MTNK)  	  pp\	        V4      ^8X  d   RV^ ,           R2pML\	        V4      ^8X  d   RV^ ,           RV^,           R2pM$VEv rERP                  R V 4       4      pV RV R2pV R2# u upi )	   'z' isz' and 'z' arez, c              3  .   "   T F  pR V R 2x  K  	  R# 5i)r    Nr   ).0ns   & r   	<genexpr>.ChannelGuideBox._intro_line.<locals>.<genexpr>5   s     6A1#Qxs   z, and 'z* available in Anaconda's 'main-x' channel.)r   
isinstancer   namelenjoin)r   pkgnamespreamblerestlastjoineds   &      r   _intro_lineChannelGuideBox._intro_line-   s    LPMMZMSZY77S@MZu:?58*D)HZ1_58*GE!H:U;HKTYY666F e4HEFF [s   -B- c               (    V ^8  d   QhRRRRRRRR/# )r
   blockr   prefixindentintr   r   r   )r   s   "r   r   r   :   s.     Z ZS Z# ZC ZY Zr   c                	^   a V P                  4       vr4R V,          oV V 2.V3R lV 4       O# ) c              3  L   <"   T F  pS VP                  4        2x  K  	  R # 5i)N)strip)r"   c
indent_strs   & r   r$   0ChannelGuideBox._render_block.<locals>.<genexpr>=   s      %X-QQWWYK&@-s   !$)
splitlines)r4   r5   r6   titlecommand_linesr=   s   &&&  @r   _render_blockChannelGuideBox._render_block9   s:     % 0 0 26\
(5'"Y%X-%XYYr   c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   r   ?   s     ) )C )r   c                	   V P                  4       ;'       g    \        p. V P                  OR NpRV P                  ,          pRV P                   R2p\        V4      ^,           pTpWe8  d%   \        P                  ! WQ,          4      pW,          pVP                  VR4      V P                  4       .p\        V^4       F4  w  rWP                  W V	 R2V P                  ^,          R7      ,          pK6  	  VP                  RV,          4       \        \        3 F  pWP                  V4      ,          pK  	  RRP                  V4      ,           # )zRe-run the original command.r9   -z. )r5   r6   
z

)_width	MAX_WIDTHr   MARGINTITLEr(   mathceilcenterr0   	enumeraterB   appendTOS_MESSAGEDISABLE_STEPr)   )r   widthr   marginr@   min_title_widthtitle_widthceilingpartsistepr4   s   &           r   plain_text_message"ChannelGuideBox.plain_text_message?   s   **=$**=<=t{{"DJJ<q!e*q.(ii 78G/Kk3/1A1A1CD *GA''xs"5Edkk\]o'^^E +S5[!!<0E''..E 1 fkk%(((r   c                   V ^8  d   QhRR/# )r
   r   r7   r   )r   s   "r   r   r   V   s     Y YC Yr   c                 l    \        \        P                  ! \        ^ 3R7      P                  \        4      # )zFFit the real terminal width, capped at MAX_WIDTH so it stays readable.)fallback)minshutilget_terminal_sizerI   columnsr   r   r   rH   ChannelGuideBox._widthU   s&     6++i^DLLiXXr   r   N)__name__
__module____qualname____firstlineno____doc__rK   rJ   r   r0   staticmethodrB   r[   rH   __static_attributes__r   r   r   r   r      sP    @$EF
G 02& Z Z
), Y Yr   r   )
__future__r   rL   ra   typingr   conda.models.match_specr   rI   
LOGIN_STEPCONFIG_STEPrR   rQ   collections.abcr   r   r   r   r   <module>rr      sU    "     - 	,
S 
D 
@  (9Y 9Yr   