§
    
Á³gA  ã            	       óî  — d dl Z d dlZd dlZd dlZd dlZd dlmZ d dlm	Z	 d dl
mZmZmZmZ d dlmZ d dlmZ d dlmZ d dlmZmZ d d	lmZ d d
lmZ d dlmZ d dlm Z  d dl!m"Z" d dl#m$Z$ erd dl
m%Z%  G d„ de%¦  «        Z& e j'        e(¦  «        Z) G d„ dee¦  «        Z*deee+e+f                  ded         fd„Z,de+de+ddfd„Z-	 	 dded         dee.         dee.         ddfd„Z/dee+         de+fd„Z0dS ) é    N)ÚOrderedDict)ÚValues)ÚTYPE_CHECKINGÚDictÚListÚOptional)Úparse)ÚCommand)ÚSessionCommandMixin)ÚNO_MATCHES_FOUNDÚSUCCESS)ÚCommandError)Úget_default_environment)ÚPyPI)ÚPipXmlrpcTransport)Ú
indent_log)Úwrite_output)Ú	TypedDictc                   ó:   — e Zd ZU eed<   eed<   ee         ed<   dS )ÚTransformedHitÚnameÚsummaryÚversionsN)Ú__name__Ú
__module__Ú__qualname__ÚstrÚ__annotations__r   © ó    ú[/var/www/html/mpstechhub/venv/lib/python3.11/site-packages/pip/_internal/commands/search.pyr   r      s4   € € € € € € Øˆ	ˆ	‰	Øˆˆ‰Ø�s”)ÐÐÑÐÐr    r   c            	       ó~   — e Zd ZdZdZdZdd„Zdedee	         de
fd	„Zd
ee	         dedeee	e	f                  fd„ZdS )ÚSearchCommandz@Search for PyPI packages whose name or summary contains <query>.z
      %prog [options] <query>TÚreturnNc                 óš   — | j                              ddddt          j        d¬¦  «         | j                             d| j         ¦  «         d S )Nz-iz--indexÚindexÚURLz3Base URL of Python Package Index (default %default))ÚdestÚmetavarÚdefaultÚhelpr   )Úcmd_optsÚ
add_optionr   Úpypi_urlÚparserÚinsert_option_group)Úselfs    r!   Úadd_optionszSearchCommand.add_options)   sW   € ØŒ× Ò ØØØØÝ”MØFð 	!ñ 	
ô 	
ð 	
ð 	Œ×'Ò'¨¨4¬=Ñ9Ô9Ð9Ð9Ð9r    ÚoptionsÚargsc                 ó&  — |st          d¦  «        ‚|}|                      ||¦  «        }t          |¦  «        }d }t          j                             ¦   «         rt          j        ¦   «         d         }t          ||¬¦  «         |rt          S t          S )Nz)Missing required argument (search query).r   )Úterminal_width)r   ÚsearchÚtransform_hitsÚsysÚstdoutÚisattyÚshutilÚget_terminal_sizeÚprint_resultsr   r   )r1   r3   r4   ÚqueryÚ	pypi_hitsÚhitsr6   s          r!   ÚrunzSearchCommand.run5   s“   € Øð 	LÝÐJÑKÔKÐKØˆØ—K’K  wÑ/Ô/ˆ	Ý˜iÑ(Ô(ˆàˆÝŒ:×ÒÑÔð 	;Ý#Ô5Ñ7Ô7¸Ô:ˆNå�d¨>Ð:Ñ:Ô:Ð:Øð 	ÝˆNÝÐr    r?   c                 óš  — |j         }|                      |¦  «        }t          ||¦  «        }t          j                             ||¦  «        }	 |                     ||dœd¦  «        }nL# t          j        j        $ r5}d                     |j	        |j
        ¬¦  «        }	t          |	¦  «        ‚d }~ww xY wt          |t          ¦  «        sJ ‚|S )N)r   r   Úorz-XMLRPC request failed [code: {code}]
{string})ÚcodeÚstring)r&   Úget_default_sessionr   ÚxmlrpcÚclientÚServerProxyr7   ÚFaultÚformatÚ	faultCodeÚfaultStringr   Ú
isinstanceÚlist)
r1   r?   r3   Ú	index_urlÚsessionÚ	transportÚpypirA   ÚfaultÚmessages
             r!   r7   zSearchCommand.searchE   sÛ   € Ø”Mˆ	à×*Ò*¨7Ñ3Ô3ˆå& y°'Ñ:Ô:ˆ	ÝŒ}×(Ò(¨°IÑ>Ô>ˆð	(Ø—;’;¨¸%Ð@Ð@À$ÑGÔGˆDˆDøÝŒ}Ô"ð 	(ð 	(ð 	(ØF×MÒMØ”_ØÔ(ð Nñ ô ˆGõ ˜wÑ'Ô'Ð'øøøøð	(øøøõ ˜$¥Ñ%Ô%Ð%Ð%Ð%Øˆs   ÁA( Á(B1Á<0B,Â,B1)r$   N)r   r   r   Ú__doc__ÚusageÚignore_require_venvr2   r   r   r   ÚintrB   r   r7   r   r    r!   r#   r#   "   s¢   € € € € € ØJÐJð!€EàÐð
:ð 
:ð 
:ð 
:ð ˜6ð  ¨¨c¬ð  °sð  ð  ð  ð  ð ˜D œIð °ð ¸4ÀÀSÈ#ÀXÄÔ;Oð ð ð ð ð ð r    r#   rA   r$   c                 ór  — t          ¦   «         }| D ]†}|d         }|d         }|d         }||                     ¦   «         vr|||gdœ||<   Œ;||         d                              |¦  «         |t          ||         d         ¦  «        k    r|||         d<   Œ‡t	          |                     ¦   «         ¦  «        S )z¼
    The list from pypi is really a list of versions. We want a list of
    packages with the list of versions stored inline. This converts the
    list from pypi into one we can use.
    r   r   Úversion)r   r   r   r   )r   ÚkeysÚappendÚhighest_versionrP   Úvalues)rA   ÚpackagesÚhitr   r   r\   s         r!   r8   r8   X   sË   € õ -8©M¬M€HØð 4ð 4ˆØ�6Œ{ˆØ�i”.ˆØ�i”.ˆà�x—}’}‘”Ð&Ð&àØ"Ø$˜Iðð ˆH�T‰NˆNð �TŒN˜:Ô&×-Ò-¨gÑ6Ô6Ð6ð �/¨(°4¬.¸Ô*DÑEÔEÒEÐEØ,3�˜”˜yÑ)øå�—’Ñ!Ô!Ñ"Ô"Ð"r    r   Úlatestc                 óx  — t          ¦   «         }|                     | ¦  «        }|�”t          ¦   «         5  |j        |k    rt	          d|j        ¦  «         nJt	          d|j        ¦  «         t          |¦  «        j        rt	          d|¦  «         nt	          d|¦  «         d d d ¦  «         d S # 1 swxY w Y   d S d S )NzINSTALLED: %s (latest)zINSTALLED: %sz=LATEST:    %s (pre-release; install with `pip install --pre`)zLATEST:    %s)r   Úget_distributionr   r\   r   Úparse_versionÚpre)r   rc   ÚenvÚdists       r!   Úprint_dist_installation_inforj   t   s  € Ý
!Ñ
#Ô
#€CØ×Ò Ñ%Ô%€DØÐÝ‰\Œ\ð 	:ð 	:ØŒ|˜vÒ%Ð%ÝÐ5°t´|ÑDÔDÐDÐDå˜_¨d¬lÑ;Ô;Ð;Ý  Ñ(Ô(Ô,ð :Ý ð5àñô ð ð õ ! °&Ñ9Ô9Ð9ð	:ð 	:ð 	:ñ 	:ô 	:ð 	:ð 	:ð 	:ð 	:ð 	:ð 	:ð 	:øøøð 	:ð 	:ð 	:ð 	:ð 	:ð 	:ð Ðs   ´A,B-Â-B1Â4B1Úname_column_widthr6   c                 óÈ  — | sd S |€t          d„ | D ¦   «         ¦  «        dz   }| D ]¼}|d         }|d         pd}t          |                     ddg¦  «        ¦  «        }|�A||z
  dz
  }|d	k    r3t          j        ||¦  «        }d
d|dz   z  z                        |¦  «        }|› d|› d�}	|	|› ›d|› �}
	 t          |
¦  «         t          ||¦  «         Œ­# t          $ r Y Œ¹w xY wd S )Nc                 óœ   — g | ]I}t          |d          ¦  «        t          t          |                     ddg¦  «        ¦  «        ¦  «        z   ‘ŒJS )r   r   ú-)Úlenr_   Úget)Ú.0rb   s     r!   ú
<listcomp>z!print_results.<locals>.<listcomp>‘   sZ   € ð ð ð àõ ˜˜FœÑ$Ô$¥s­?¸3¿7º7À:ÐPSÈuÑ;UÔ;UÑ+VÔ+VÑ'WÔ'WÑWðð ð r    é   r   r   Ú r   rn   é   é
   ú
ú é   z (ú)z - )	Úmaxr_   rp   ÚtextwrapÚwrapÚjoinr   rj   ÚUnicodeEncodeError)rA   rk   r6   rb   r   r   rc   Útarget_widthÚsummary_linesÚname_latestÚlines              r!   r>   r>   ‡   sh  € ð
 ð ØˆØÐ åðð à#ðñ ô ñô ð ñð 	ð ð ð ˆØ�6Œ{ˆØ�i”.Ð& BˆÝ  §¢¨°c°UÑ!;Ô!;Ñ<Ô<ˆØÐ%Ø)Ð,=Ñ=ÀÑAˆLØ˜bÒ Ð å (¤¨g°|Ñ DÔ D�Ø #Ð):¸QÑ)>Ñ"?Ñ?×EÒEÀmÑTÔT�àÐ*Ð* Ð*Ð*Ð*ˆØÐ0Ð?Ð?Ð?°gÐ?Ð?ˆð	Ý˜ÑÔÐÝ(¨¨vÑ6Ô6Ð6Ð6øÝ!ð 	ð 	ð 	ØˆDð	øøøð!ð s   Â2CÃ
CÃCr   c                 ó.   — t          | t          ¬¦  «        S )N)Úkey)r{   rf   )r   s    r!   r_   r_   ­   s   € Ýˆx�]Ð+Ñ+Ô+Ð+r    )NN)1Úloggingr<   r9   r|   Úxmlrpc.clientrH   Úcollectionsr   Úoptparser   Útypingr   r   r   r   Úpip._vendor.packaging.versionr	   rf   Úpip._internal.cli.base_commandr
   Úpip._internal.cli.req_commandr   Úpip._internal.cli.status_codesr   r   Úpip._internal.exceptionsr   Úpip._internal.metadatar   Úpip._internal.models.indexr   Úpip._internal.network.xmlrpcr   Úpip._internal.utils.loggingr   Úpip._internal.utils.miscr   r   r   Ú	getLoggerr   Úloggerr#   r   r8   rj   rZ   r>   r_   r   r    r!   ú<module>r—      sŸ  ðØ €€€Ø €€€Ø 
€
€
€
Ø €€€Ø Ð Ð Ð Ø #Ð #Ð #Ð #Ð #Ð #Ø Ð Ð Ð Ð Ð Ø 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6à @Ð @Ð @Ð @Ð @Ð @à 2Ð 2Ð 2Ð 2Ð 2Ð 2Ø =Ð =Ð =Ð =Ð =Ð =Ø DÐ DÐ DÐ DÐ DÐ DÐ DÐ DØ 1Ð 1Ð 1Ð 1Ð 1Ð 1Ø :Ð :Ð :Ð :Ð :Ð :Ø +Ð +Ð +Ð +Ð +Ð +Ø ;Ð ;Ð ;Ð ;Ð ;Ð ;Ø 2Ð 2Ð 2Ð 2Ð 2Ð 2Ø 1Ð 1Ð 1Ð 1Ð 1Ð 1àð Ø Ð Ð Ð Ð Ð ðð ð ð ð ˜ñ ô ð ð 
ˆÔ	˜8Ñ	$Ô	$€ð3ð 3ð 3ð 3ð 3�GÐ0ñ 3ô 3ð 3ðl#˜˜d 3¨ 8œnÔ-ð #°$Ð7GÔ2Hð #ð #ð #ð #ð8: sð :°Cð :¸Dð :ð :ð :ð :ð* (,Ø$(ð#ð #Ø
ÐÔ
 ð#à ”}ð#ð ˜S”Mð#ð 
ð	#ð #ð #ð #ðL,˜d 3œið ,¨Cð ,ð ,ð ,ð ,ð ,ð ,r    