
    yIf                       d dl mZ d dlZd dlZd dlmZmZmZmZ d dl	m
Z
mZmZmZ d dlmZ  G d de          Zdd
ZddZddZ ej        d          ZddZ G d de          Z G d de          Z G d de          ZdS )    )annotationsN)ActionArgumentParserArgumentTypeError	Namespace)IOAnyNoReturnSequence)handle_binary_optionc                  "    e Zd ZdddZdddZdS )_OurArgumentParserNfileIO[str] | NonereturnNonec                    dS ) N )selfr   s     S/var/www/piapp/venv/lib/python3.11/site-packages/tox/tox_env/python/pip/req/args.pyprint_usagez_OurArgumentParser.print_usage   s          r   statusintmessage
str | Noner
   c                    |dn|}|                     d                                          }|                    d          r|t          d          d          }t	          |          )N z: zerror: )lstriprstrip
startswithlen
ValueError)r   r   r   msgs       r   exitz_OurArgumentParser.exit   sb    ""WnnT""))++>>)$$ 	(c)nn&&'Coor   N)r   r   r   r   )r   N)r   r   r   r   r   r
   )__name__
__module____qualname__r   r&   r   r   r   r   r      sF                  r   r   r   r   c                 f    t          ddd          } t          |            t          |            | S )NFr   )add_helpprogallow_abbrev)r   _global_options_req_optionsparsers    r   build_parserr3      s7    ReLLLFFMr   r2   r   c                   |                      ddddd            |                      dt                     |                      dd	d
           |                      ddt          d           |                      ddt          d           |                      ddt          d           |                      ddt                     |                      dt          d           |                      dt          d           |                      dd	d
           |                      dd	d
           |                      dd	d
           |                      dt                     |                      d d!d"gt          d#$           d S )%Nz-iz--index-urlz
--pypi-url	index_url)destdefaultz--extra-index-urlactionz
--no-index
store_trueF)r9   r7   z-cz--constraintconstraints)r9   r6   z-rz--requirementrequirementsz-ez
--editable	editablesz-fz--find-linksz--no-binary+)r9   nargsz--only-binaryz--prefer-binaryz--require-hashesz--prez--trusted-hostz--use-featurez2020-resolverz	fast-depsfeatures_enabled)choicesr9   r6   )add_argumentAddUniqueActionBinaryActionAddSortedUniqueActionr1   s    r   r/   r/      s   
m\UYZZZ
+ODDD
\5III
n_=YYY
ooN[[[
l?UUU
n_EEE
l#FFF
CHHH
),NNN
*<OOO
eDDD
(1FGGG
 +.$	      r   c                    |                      dt                     |                      dt                     |                      dt          t                     d S )Nz--install-optionr8   z--global-optionz--hash)r9   type)rB   rE   _validate_hashr1   s    r   r0   r0   4   sZ    
*3HIII
)2GHHH
)>^TTTTTr   z8sha(256:[a-f0-9]{64}|384:[a-f0-9]{96}|512:[a-f0-9]{128})valuestrc                X    t                               |           st          |           | S r'   )_HASH	fullmatchr   )rI   s    r   rH   rH   =   s)    ??5!! '&&&Lr   c                      e Zd Z	 dddZdS )rE   Nr2   r   	namespacer   valuesstr | Sequence[Any] | Noneoption_stringr   r   r   c                    t          || j        d           t          || j        g            t          || j                  }||vrt          j        ||           d S d S r'   )getattrr6   setattrbisectinsortr   r2   rO   rP   rR   currents         r   __call__zAddSortedUniqueAction.__call__D   sh     9di..6Ity"---)TY//  M'6***** ! r   r'   
r2   r   rO   r   rP   rQ   rR   r   r   r   r(   r)   r*   rZ   r   r   r   rE   rE   C   s2         %)+ + + + + + +r   rE   c                      e Zd Z	 dddZdS )rC   Nr2   r   rO   r   rP   rQ   rR   r   r   r   c                    t          || j        d           t          || j        g            t          || j                  }||vr|                    |           d S d S r'   )rT   r6   rU   appendrX   s         r   rZ   zAddUniqueAction.__call__S   sh     9di..6Ity"---)TY//  NN6""""" ! r   r'   r[   r\   r   r   r   rC   rC   R   s2         %)# # # # # # #r   rC   c                      e Zd Z	 dddZdS )rD   Nr2   r   rO   r   rP   rQ   rR   r   r   r   c                   t          |dd           t                      |_        t          |dd           t                      |_        | j        dk    r|j        |j        fn|j        |j        f}|J t          |d         g|R   d S )N	no_binaryonly_binaryr   )rT   setrb   rc   r6   r   )r   r2   rO   rP   rR   argss         r   rZ   zBinaryAction.__call__b   s     9k4008"%%%I9mT22:$'EEI! yK''  )"788')<= 	
 !!!VAY.......r   r'   r[   r\   r   r   r   rD   rD   a   s2         %)/ / / / / / /r   rD   )r   r   )r2   r   r   r   )rI   rJ   r   rJ   )
__future__r   rV   reargparser   r   r   r   typingr   r	   r
   r   tox.tox_env.python.pip.req.utilr   r   r3   r/   r0   compilerL   rH   rE   rC   rD   r   r   r   <module>rl      s   " " " " " "  				 I I I I I I I I I I I I . . . . . . . . . . . . @ @ @ @ @ @	 	 	 	 	 	 	 	      ,U U U U 	
NOO   + + + + +F + + +# # # # #f # # #/ / / / /6 / / / / /r   