+
    {h1  c                   s    ^ RI t ^ RIt^ RItR t ! R R4      t ! R R]4      t]! ]P                  4      t ! R R]4      t ! R	 R
]4      t	 ! R R]	4      t
 ! R R]4      tR# )i    Nc                  s    R VR&    \         P                  ! V / VB P                  4       #   \         P                   d    . u # i ; i)TZuniversal_newlines)
subprocessZcheck_outputZ
splitlinesZCalledProcessError)Zargskwargss   *,;/usr/lib/python3.14/site-packages/argcomplete/completers.py_callr   	   sK    #'F &&77BBDD(( 	s   #+ AAc                   s6   a  ] tR t^t o RtV 3R lR ltRtV tR# )BaseCompleterzI
This is the base class that all argcomplete completers should subclass.
c          
      sr   < V ^8  d   QhRS[ RS[P                  RS[P                  RS[P                  RR/# )i   prefixactionparserparsed_argsZreturnN)strargparseZActionZArgumentParserZ	Namespace)format__classdict__s   "r   Z__annotate__ZBaseCompleter.__annotate__   sL     V VV&.ooV?G?V?VVemewewV	V    c               s    \        R 4      h)z0This method should be implemented by a subclass.)ZNotImplementedError)selfr   r   r   r   s   &$$$$r   __call__ZBaseCompleter.__call__   s     ""TUUr    N)__name__
__module____qualname____firstlineno____doc__r   __static_attributes____classdictcell__r      @r   r   r      s     V Vr   r   c                   s2   a  ] tR t^t o R tR tR tRtV tR# )ChoicesCompleterc                s    Wn         R # Nchoices)r   r      &&r   __init__ZChoicesCompleter.__init__   s    r   c                sH    \        V\        4      '       g   \        V4      pV# r   )
isinstancer	   )r   Zchoicer   r   _convertZChoicesCompleter._convert!   s    &#&&[Fr   c                s0   a  V 3R  lS P                    4       # )c              3   sF   <"   T F  pSP                  V4      x  K  	  R # 5ir   )r!   )Z.0Zcr   s   & r   Z	<genexpr>Z,ChoicesCompleter.__call__.<locals>.<genexpr>'   s     7,Qa  ,s   !r   )r   r   s   f,r   r   ZChoicesCompleter.__call__&   s    7$,,77r   r   N)	r   r   r   r   r   r!   r   r   r   r   r   r   r   r      s     
8 8r   r   c                   s4   a  ] tR t^-t o RtRR ltR tRtV tR# )FilesCompleterzE
File completer class, optionally takes a list of allowed extensions
c                s    \        V\        \        34      '       d   V.pV Uu. uF"  q3P                  R 4      P                  R4      NK$  	  upV n        W n        R# u upi )Z*.N)r    r	   ZbytesZlstripallowednamesdirectories)r   r$   r%   xs   &&& r   r   ZFilesCompleter.__init__2   sN    lS%L11(>L@LM1XXc]11#6M& Ns   (Ac                s    . pV P                   '       d   V P                  '       dM   \        R RRP                  VR7      .\        P
                  R7      pY4 Uu. uF  qUR,           NK  	  up,          pV P                    F8  pV\        R RRP                  WaR7      .\        P
                  R7      ,          pK:  	  V# V\        R RRP                  VR7      .\        P
                  R7      ,          p\        R RRP                  VR7      .\        P
                  R7      p\        \        V4      \        V4      ,
          4      pV P                  '       d   Y7 Uu. uF  qUR,           NK  	  up,          pV# u upi u upi )Zbashz-cz#bind; compgen -A directory -- '{p}')Zp)Zstderr/z*bind; compgen -A file -X '!*.{0}' -- '{p}'zbind; compgen -A file -- '{p}')r$   r%   r   r   r    ZDEVNULLZlistZset)r   r   r   Z
completionZfilesZfr&   Zanticomp   &&,     r   r   ZFilesCompleter.__call__:   sn   

 T#H#O#ORX#O#YZcmcucu 613ww66
&&eT#O#V#VWX#V#cd%-- 
 '   %?FFFPQZdZlZl J DKKfKUV_i_q_qH c*oH=>J913ww99
# 7  :s   E6E;)r$   r%   N)r   T)	r   r   r   r   r   r   r   r   r   r   r   r   r"   r"   -   s     ' r   r"   c                   s,   a  ] tR t^Yt o R tR tRtV tR# )_FilteredFilesCompleterc                s    Wn         R# )zv
Create the completer

A predicate accepts as its only argument a candidate path and either
accepts it or rejects it.
N	predicate)r   r+   r   r   r   Z _FilteredFilesCompleter.__init__Z   s	     #r   c              +  s  "   \         P                  P                  V4      p \         P                  ! T;'       g    R4      p\         P                  P                  T4      pT F  pTP                  T4      '       g   K  \         P                  P                  Y64      pT P                  T4      '       g   KT  \         P                  P                  T4      '       d
   TR,           MTx  K  	  R#   \         d     R# i ; i5i)z
Provide completions on prefix
r#   Nr'   )
ospathZdirnameZlistdirZ	ExceptionZbasenameZ
startswithZjoinr+   isdir)r   r   r   Z
target_dirZnamesZincomplete_partZnameZ	candidater(   r   r   Z _FilteredFilesCompleter.__call__d   s      WW__V,
	JJz00S1E ''**62D???33Z6I>>),,%'WW]]9%=%=)c/9L 	  		s/    D C0 BDD0C?;D>C??Dr*   N)r   r   r   r   r   r   r   r   r   r   r   r)   r)   Y   s     #M Mr   r)   c                   s&   a  ] tR t^xt o R tRtV tR# )DirectoriesCompleterc                sd    \         P                  V \        P                  P                  R 7       R# )r*   N)r)   r   r,   r-   r.   r      &r   r   ZDirectoriesCompleter.__init__y   s    (((Gr   r   N)r   r   r   r   r   r   r   r   r   r   r/   r/   x   s     H Hr   r/   c                   s0   a  ] tR t^}t o RtR tR tRtV tR# )SuppressCompleterzC
A completer used to suppress the completion of specific arguments
c                s    R # r   r   r0   r1   r   r   ZSuppressCompleter.__init__   s    r   c                s    R# )z/
Decide if the completion should be suppressed
Tr   r0   r1   r   suppressZSuppressCompleter.suppress   s     r   r   N)	r   r   r   r   r   r   r3   r   r   r   r   r   r2   r2   }   s      r   r2   )r
   r,   r    r   r   r   ZenvironZEnvironCompleterr"   r)   r/   r2   r   r   r   <module>r4      st     	 V V
8} 
8 $BJJ/ )] )XMm M>H2 H
 r   