
    q"h                        S SK r S SKrS SKJr  S SKJrJrJrJr  S SK	J
r
  S SKJr  S SKJr  S SKJrJr  S SKJrJr  S S	KJrJrJr  S S
KJr  S SKJr  S SKJr  S SKJ r   S SK!J"r"  S SK#J$r$  \RJ                  " \&5      r' " S S\5      r(g)    N)Values)AnyIterableListOptional)Version)
cmdoptions)IndexGroupCommand)ERRORSUCCESS)get_installed_distributionprint_dist_installation_info)CommandErrorDistributionNotFoundPipError)LinkCollector)PackageFinder)SelectionPreferences)TargetPython)
PipSession)write_outputc                       \ rS rSrSrSrSrSS jrS\S	\	\
   S\4S
 jr  SS\S\S\\   S\\   S\4
S jjrS\S	\	\   SS4S jrSrg)IndexCommand   z5
Inspect information available from package indexes.
Tz&
        %prog versions <package>
    returnNc                    [         R                  " U R                  5        U R                  R                  [         R                  " 5       5        U R                  R                  [         R
                  " 5       5        U R                  R                  [         R                  " 5       5        U R                  R                  [         R                  " 5       5        U R                  R                  [         R                  " 5       5        [         R                  " [         R                  U R                  5      nU R                  R                  SU5        U R                  R                  SU R                  5        g )Nr   )r	   add_target_python_optionscmd_opts
add_optionignore_requires_pythonprejson	no_binaryonly_binarymake_option_groupindex_groupparserinsert_option_group)self
index_optss     N/var/www/html/env/lib/python3.13/site-packages/pip/_internal/commands/index.pyadd_optionsIndexCommand.add_options$   s    ,,T]];  !B!B!DE  !12  !23  !5!5!78  !7!7!9:11""KK


 	'':6''4==9    optionsargsc                 V   SU R                   0nU(       a	  US   U;  a4  [        R                  SSR                  [	        U5      5      5        [
        $ US   n X4   " XSS  5        [        $ ! [         a2  n[        R                  UR                  S   5        [
        s S nA$ S nAff = f)Nversionsr   zNeed an action (%s) to perform.,    )	get_available_package_versionsloggererrorjoinsortedr   r   r0   r   )r)   r/   r0   handlersactiones         r+   runIndexCommand.run5   s    ;;

 tAwh.LL1		&*+ La	W12h/
 	  	LL#L	s   A, ,
B(6'B#B(#B(sessiontarget_pythonr    c                     [         R                  " X!S9n[        SUR                  US9n[        R                  " UUUS9$ )z;
Create a package finder appropriate to the index command.
)r/   F)allow_yankedallow_all_prereleasesr    )link_collectorselection_prefsr@   )r   creater   r!   r   )r)   r/   r?   r@   r    rD   rE   s          r+   _build_package_finder"IndexCommand._build_package_finderM   sK     '--gG /")++#9
 ##)+'
 	
r.   c                 >   [        U5      S:w  a  [        S5      e[        R                  " U5      nUS   nU R	                  U5       nU R                  UUUUR                  S9nS UR                  U5       5       nUR                  (       d	  S U 5       n[        U5      nU(       d  [        SU 35      e[        USS	9 Vs/ s H  n[        U5      PM     n	nU	S   n
S S S 5        [        U5      nUR                  (       aA  UW	W
S
.nUb  [        UR                  5      US'   [!        [        R"                  " U5      5        g [!        U SW
 S35        [!        SR%                  SR'                  W	5      5      5        [)        X5        g s  snf ! , (       d  f       N= f)Nr4   z(You need to specify exactly one argumentr   )r/   r?   r@   r    c              3   8   #    U  H  oR                   v   M     g 7fN)version).0	candidates     r+   	<genexpr>>IndexCommand.get_available_package_versions.<locals>.<genexpr>u   s      +3Ti!!3Ts   c              3   J   #    U  H  oR                   (       a  M  Uv   M     g 7frK   )is_prerelease)rM   rL   s     r+   rO   rP   {   s      +3;P;PGG8s   #	#z#No matching distribution found for T)reverse)namer2   latestinstalled_versionz ()zAvailable versions: {}r3   )lenr   r	   make_target_python_build_sessionrG   r    find_all_candidatesr!   setr   r9   strr   r"   rL   r   dumpsformatr8   r   )r)   r/   r0   r@   queryr?   finderr2   verformatted_versionsrU   diststructured_outputs                r+   r5   +IndexCommand.get_available_package_versionsf   s   t9>IJJ"55g>Q  )W//+'.'E'E	 0 F+393M3Me3T+H ;;+3 8}H*9%A  7=Xt6T!U6Ts#c(6T!U'*F3 *6 *%0<<. ! 9<T\\9J!"56$567 E7"VHA./188CU9VWX(6) "V1 *)s   A;FF	F	F
F )r   N)NN)__name__
__module____qualname____firstlineno____doc__ignore_require_venvusager,   r   r   r]   intr=   r   r   r   boolr   rG   r   r5   __static_attributes__rg   r.   r+   r   r      s     E:"6 c s 8 1515

 
  -	

 !)
 

237f 37DI 37RV 37r.   r   ))r"   loggingoptparser   typingr   r   r   r   pip._vendor.packaging.versionr   pip._internal.clir	   pip._internal.cli.req_commandr
   pip._internal.cli.status_codesr   r   pip._internal.commands.searchr   r   pip._internal.exceptionsr   r   r   pip._internal.index.collectorr   "pip._internal.index.package_finderr   $pip._internal.models.selection_prefsr   "pip._internal.models.target_pythonr   pip._internal.network.sessionr   pip._internal.utils.miscr   	getLoggerrh   r6   r   rg   r.   r+   <module>r      s_       0 0 1 ( ; 9 R Q 7 < E ; 4 1			8	$7$ 7r.   