
    <i
                     b    S r SSKrSSKrSSKrSSKrSSKrSSSSSSSSSSS.
rS	r/ S
Qr	S r
S rg)z:
Commandline argument parsing for our interpreter prompt.
    Nz	127.0.0.1defaultFz/var/run/tor/controltor)
control_addresscontrol_portuser_provided_portcontrol_socketuser_provided_sockettor_pathrun_cmdrun_pathdisable_color
print_helpzi:s:h)z
interface=zsocket=ztor=zrun=zno-colorhelpc                    [        [        5      n [        R                  " U [        [        5      u  p#U(       a@  [        U5      S:  a  SOSn[        R                  " SSR                  U5      < SU< 35      e U GH/  u  pgUS	;   a  S
U;   a  UR                  S
S5      u  pOSUpUb@  [        R                  R                  R                  U5      (       d  [        SU-  5      eXS'   [        R                  R                  R                  U	5      (       d  [        SU	-  5      e[!        U	5      US'   SUS'   M  US;   a  XqS'   SUS'   M  US;   a  XqS'   M  US;   a2  ["        R$                  R'                  U5      (       a  XqS'   GM  XqS'   GM  US:X  a  SUS'   GM!  US;   d  GM*  SUS'   GM2     [(        R*                  " SUR-                  5       5      n
U
" S0 UD6$ ! [         a  n[        SU-  5      eSnAff = f)z
Parses our arguments, providing a named tuple with their values.

:param list argv: input arguments to be parsed

:returns: a **named tuple** with our parsed arguments

:raises: **ValueError** if we got an invalid argument
   zaren't recognized argumentszisn't a recognized argument'z', 'z' z%s (for usage provide --help)N)z-iz--interface:z'%s' isn't a valid IPv4 addressr   z'%s' isn't a valid port numberr   Tr   )z-sz--socketr   r	   z--torr
   z--runr   r   z
--no-colorr   )z-hz--helpr   Args )dictDEFAULT_ARGSgetoptOPTOPT_EXPANDEDlenGetoptErrorjoin	Exception
ValueErrorrsplitstemutil
connectionis_valid_ipv4_addressis_valid_portintospathexistscollections
namedtuplekeys)argvargsrecognized_argsunrecognized_args	error_msgexcoptargaddressportr   s              T/home/james-whalen/.local/lib/python3.13/site-packages/stem/interpreter/arguments.pyparser8       s    
l	$<)/tS,)O&O367H3IA3M/SpiFKK8I,JIVWW  "hc
##	

3*c		yy##99'BB<wFG
G")YY!!//559D@AA Yd>#'d 	"	""%)d!"		:					ZY		"d?	 	 d<? "F 
					4$	O 
 <
4s:
;;<s   A)G 
G;(G66G;c                  l    [         R                  R                  S[        S   [        S   [        S   S9$ )zV
Provides our --help usage information.

:returns: **str** with our usage information
zmsg.helpr   r   r   )r5   r6   socket)r!   interpretermsgr   r       r7   get_helpr>   ]   s?     
				,-'*+	 
 
 r=   )__doc__r*   r   r'   stem.interpreterr!   stem.util.connectionr   r   r   r8   r>   r   r=   r7   <module>rB      sY      	   !* L:zr=   