§
    ÷„tjº   ã                   ót  — d dl Z d dlZd dlZ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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 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$ d dl%m&Z& d dl'm(Z(m)Z) d dl*m+Z+m,Z,m-Z- d dl.m/Z/  e j0        d¬¦  «        Z1 ej2        e3¦  «        Z4de5de5fd„Z6de5de j         fd„Z7 G d„ d¦  «        Z8e
 G d„ d¦  «        ¦   «         Z9de5de:fd„Z;de$d ej<        dee5         fd!„Z=d"e8d#e j         d$e d%eg ee5         f         dee9         f
d&„Z>de$d ej<        ddfd'„Z?dS )(é    N)Ú	dataclass)ÚAnyÚCallableÚDictÚOptional)Úparse)ÚGroup)Úescape)ÚText)ÚLinkCollector)ÚPackageFinder)Úget_default_environment)ÚDistributionVersion)ÚSelectionPreferences)Ú
PipSession)ÚWINDOWS)Ú get_best_invocation_for_this_pipÚ#get_best_invocation_for_this_python)Úadjacent_tmp_fileÚcheck_path_ownerÚreplace)Ú
ensure_diré   )ÚdaysÚkeyÚreturnc                 óz   — |                       ¦   «         }t          j        |¦  «                             ¦   «         }|S ©N)ÚencodeÚhashlibÚsha224Ú	hexdigest)r   Ú	key_bytesÚnames      ú_/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/pip/_internal/self_outdated_check.pyÚ_get_statefile_namer&   $   s/   € Ø—
’
‘”€IÝŒ>˜)Ñ$Ô$×.Ò.Ñ0Ô0€DØ€Kó    Úisodatec                 óh   — t           j                              |                      dd¦  «        ¦  «        S )z¥Convert an ISO format string to a date.

    Handles the format 2020-01-22T14:24:01Z (trailing Z)
    which is not supported by older versions of fromisoformat.
    ÚZz+00:00)ÚdatetimeÚfromisoformatr   )r(   s    r%   Ú_convert_dater-   *   s)   € õ Ô×*Ò*¨7¯?ª?¸3ÀÑ+IÔ+IÑJÔJÐJr'   c                   ó~   — e Zd Zdeddfd„Zedefd„¦   «         Zdej        dee         fd„Z	dedej        ddfd	„Z
dS )
ÚSelfCheckStateÚ	cache_dirr   Nc                 óh  — i | _         d | _        |r¡t          j                             |dt          | j        ¦  «        ¦  «        | _        	 t          | j        d¬¦  «        5 }t          j	        |¦  «        | _         d d d ¦  «         d S # 1 swxY w Y   d S # t          t          t          f$ r Y d S w xY wd S )NÚ	selfcheckzutf-8)Úencoding)Ú_stateÚ_statefile_pathÚosÚpathÚjoinr&   r   ÚopenÚjsonÚloadÚOSErrorÚ
ValueErrorÚKeyError)Úselfr0   Ú	statefiles      r%   Ú__init__zSelfCheckState.__init__4   s  € Ø&(ˆŒØ#ˆÔð ð 
	Ý#%¤7§<¢<Ø˜;Õ(;¸D¼HÑ(EÔ(Eñ$ô $ˆDÔ ðÝ˜$Ô.¸ÐAÑAÔAð 7ÀYÝ"&¤)¨IÑ"6Ô"6�D”Kð7ð 7ð 7ñ 7ô 7ð 7ð 7ð 7ð 7ð 7ð 7ð 7øøøð 7ð 7ð 7ð 7ð 7ð 7øå�Z­Ð2ð ð ð ð ��ðøøøð
	ð 
	s6   Á
B Á BÁ:B ÂBÂB ÂBÂB ÂB/Â.B/c                 ó   — t           j        S r   )ÚsysÚprefix)r?   s    r%   r   zSelfCheckState.keyE   s
   € åŒzÐr'   Úcurrent_timec                 ó²   — | j         sdS d| j         vrdS d| j         vrdS t          | j         d         ¦  «        }||z
  }|t          k    rdS | j         d         S )z7Check if we have a not-outdated version loaded already.NÚ
last_checkÚpypi_version)r4   r-   Ú_WEEK)r?   rE   rG   Útime_since_last_checks       r%   ÚgetzSelfCheckState.getI   ss   € àŒ{ð 	Ø�4à˜tœ{Ð*Ð*Ø�4à ¤Ð,Ð,Ø�4õ # 4¤;¨|Ô#<Ñ=Ô=ˆ
Ø ,¨zÑ 9ÐØ ¥5Ò(Ð(Ø�4àŒ{˜>Ô*Ð*r'   rH   c                 óF  — | j         sd S t          t          j                             | j         ¦  «        ¦  «        sd S t          t          j                             | j         ¦  «        ¦  «         | j        |                     ¦   «         |dœ}t          j	        |dd¬¦  «        }t          | j         ¦  «        5 }|                     |                     ¦   «         ¦  «         d d d ¦  «         n# 1 swxY w Y   	 t          |j        | j         ¦  «         d S # t          $ r Y d S w xY w)N)r   rG   rH   T)ú,ú:)Ú	sort_keysÚ
separators)r5   r   r6   r7   Údirnamer   r   Ú	isoformatr:   Údumpsr   Úwriter   r   r$   r<   )r?   rH   rE   ÚstateÚtextÚfs         r%   ÚsetzSelfCheckState.set\   sY  € àÔ#ð 	ØˆFõ  ¥¤§¢°Ô0DÑ EÔ EÑFÔFð 	ØˆFõ 	•2”7—?’? 4Ô#7Ñ8Ô8Ñ9Ô9Ð9ð
 ”8Ø&×0Ò0Ñ2Ô2Ø(ð
ð 
ˆõ Œz˜%¨4¸JÐGÑGÔGˆå˜tÔ3Ñ4Ô4ð 	#¸Ø�GŠG�D—K’K‘M”MÑ"Ô"Ð"ð	#ð 	#ð 	#ñ 	#ô 	#ð 	#ð 	#ð 	#ð 	#ð 	#ð 	#øøøð 	#ð 	#ð 	#ð 	#ð	õ �A”F˜DÔ0Ñ1Ô1Ð1Ð1Ð1øÝð 	ð 	ð 	àˆDˆDð	øøøs$   Â6(C*Ã*C.Ã1C.Ã6D Ä
D ÄD )Ú__name__Ú
__module__Ú__qualname__ÚstrrA   Úpropertyr   r+   r   rK   rX   © r'   r%   r/   r/   3   s²   € € € € € ð #ð ¨$ð ð ð ð ð" ð�Sð ð ð ñ „Xðð+ Ô 1ð +°h¸s´mð +ð +ð +ð +ð&  ð  °8Ô3Dð  Èð  ð  ð  ð  ð  ð  r'   r/   c                   ó0   — e Zd ZU eed<   eed<   defd„ZdS )ÚUpgradePromptÚoldÚnewr   c                 ó"  — t           rt          ¦   «         › d�}nt          ¦   «         }d}t          t	          ¦   «         t	          j        |› d| j        › d| j        › d�¦  «        t	          j        |› dt          |¦  «        › d�¦  «        ¦  «        S )Nz -m pipz/[bold][[reset][blue]notice[reset][bold]][reset]z) A new release of pip is available: [red]z[reset] -> [green]z[reset]z To update, run: [green]z install --upgrade pip)	r   r   r   r	   r   Úfrom_markupra   rb   r
   )r?   Úpip_cmdÚnotices      r%   Ú__rich__zUpgradePrompt.__rich__„   sÌ   € Ýð 	9Ý<Ñ>Ô>ÐGÐGÐGˆGˆGå6Ñ8Ô8ˆGàBˆÝÝ‰FŒFÝÔØð Fð FØœðFð FØ48´HðFð Fð Fñô õ ÔØð Bð BÝ  ™/œ/ðBð Bð Bñô ñ

ô 

ð 
	
r'   N)rY   rZ   r[   r\   Ú__annotations__r	   rg   r^   r'   r%   r`   r`      sC   € € € € € € à	€H€H�HØ	€H€H�Hð
˜%ð 
ð 
ð 
ð 
ð 
ð 
r'   r`   Úpkgc                 ób   — t          ¦   «                              | ¦  «        }|duo
d|j        k    S )zµChecks whether pkg was installed by pip

    This is used not to display the upgrade message when pip is in fact
    installed by system package manager, such as dnf on Fedora.
    NÚpip)r   Úget_distributionÚ	installer)ri   Údists     r%   Úwas_installed_by_pipro   ˜   s4   € õ #Ñ$Ô$×5Ò5°cÑ:Ô:€DØ�tÐÐ7 ¨¬Ò 7Ð7r'   ÚsessionÚoptionsc                 óâ   — t          j        | |d¬¦  «        }t          dd¬¦  «        }t          j        ||¬¦  «        }|                     d¦  «        j        }|€d S t          |j        ¦  «        S )NT)rq   Úsuppress_no_indexF)Úallow_yankedÚallow_all_prereleases)Úlink_collectorÚselection_prefsrk   )r   Úcreater   r   Úfind_best_candidateÚbest_candidater\   Úversion)rp   rq   rv   rw   Úfinderrz   s         r%   Ú_get_current_remote_pip_versionr}   ¢   s“   € õ #Ô)ØØØðñ ô €Nõ +ØØ#ðñ ô €Oõ
 Ô!Ø%Ø'ðñ ô €Fð ×/Ò/°Ñ6Ô6ÔE€NØÐØˆtåˆ~Ô%Ñ&Ô&Ð&r'   rU   rE   Úlocal_versionÚget_remote_versionc                 ó  — |                       |¦  «        }|€> |¦   «         }|€t                               d¦  «         d S |                      ||¦  «         t	          |¦  «        }t                               d|¦  «         t                               d|¦  «         t          d¦  «        }t                               d|¦  «         |sd S ||k     o|j        |j        k    }|rt          t          |¦  «        |¬¦  «        S d S )NzNo remote pip version foundzRemote version of pip: %szLocal version of pip:  %srk   zWas pip installed by pip? %s)ra   rb   )	rK   ÚloggerÚdebugrX   Úparse_versionro   Úbase_versionr`   r\   )rU   rE   r~   r   Úremote_version_strÚremote_versionÚpip_installed_by_pipÚlocal_version_is_olders           r%   Ú_self_version_check_logicr‰   ¾   s  € ð Ÿš <Ñ0Ô0ÐØÐ!Ø/Ð/Ñ1Ô1ÐØÐ%Ý�LŠLÐ6Ñ7Ô7Ð7Ø�4Ø�	Š	Ð$ lÑ3Ô3Ð3å"Ð#5Ñ6Ô6€NÝ
‡L‚LÐ,¨nÑ=Ô=Ð=Ý
‡L‚LÐ,¨mÑ<Ô<Ð<å/°Ñ6Ô6ÐÝ
‡L‚LÐ/Ð1EÑFÔFÐFØð Øˆtð 	˜Ò&ð 	FØÔ&¨.Ô*EÒEð ð ð MÝ¥ ]Ñ!3Ô!3Ð9KÐLÑLÔLÐLàˆ4r'   c           
      ó  — t          ¦   «                              d¦  «        }|sdS 	 t          t          |j        ¬¦  «        t
          j                             t
          j        j        ¦  «        |j	        t          j        t          | |¦  «        ¬¦  «        }|�!t                               d|ddi¬¦  «         dS dS # t          $ r: t                               d	¦  «         t                               d
d¬¦  «         Y dS w xY w)zÛCheck for an update for pip.

    Limit the frequency of checks to once per week. State is stored either in
    the active virtualenv or in the user's USER_CACHE_DIR keyed off the prefix
    of the pip script path.
    rk   N)r0   )rU   rE   r~   r   z%sÚrichT)Úextraz6There was an error checking the latest version of pip.zSee below for error)Úexc_info)r   rl   r‰   r/   r0   r+   ÚnowÚtimezoneÚutcr{   Ú	functoolsÚpartialr}   r�   ÚwarningÚ	Exceptionr‚   )rp   rq   Úinstalled_distÚupgrade_prompts       r%   Úpip_self_version_checkr—   à   s  € õ -Ñ.Ô.×?Ò?ÀÑFÔF€NØð Øˆð;Ý2Ý ¨7Ô+<Ð=Ñ=Ô=Ý!Ô*×.Ò.­xÔ/@Ô/DÑEÔEØ(Ô0Ý(Ô0Ý/°¸'ñ ô  ð	
ñ 
ô 
ˆð Ð%Ý�NŠN˜4 ¸À°~ˆNÑFÔFÐFÐFÐFð &Ð%øåð ;ð ;ð ;Ý�ŠÐOÑPÔPÐPÝ�ŠÐ*°TˆÑ:Ô:Ð:Ð:Ð:Ð:ð;øøøs   §BB< Â<A D Ã?D )@r+   r‘   r    r:   ÚloggingÚoptparseÚos.pathr6   rC   Údataclassesr   Útypingr   r   r   r   Úpip._vendor.packaging.versionr   rƒ   Úpip._vendor.rich.consoler	   Úpip._vendor.rich.markupr
   Úpip._vendor.rich.textr   Úpip._internal.index.collectorr   Ú"pip._internal.index.package_finderr   Úpip._internal.metadatar   Úpip._internal.metadata.baser   Ú$pip._internal.models.selection_prefsr   Úpip._internal.network.sessionr   Úpip._internal.utils.compatr   Úpip._internal.utils.entrypointsr   r   Úpip._internal.utils.filesystemr   r   r   Úpip._internal.utils.miscr   Ú	timedeltarI   Ú	getLoggerrY   r�   r\   r&   r-   r/   r`   Úboolro   ÚValuesr}   r‰   r—   r^   r'   r%   ú<module>r¯      sd  ðØ €€€Ø Ð Ð Ð Ø €€€Ø €€€Ø €€€Ø €€€Ø €€€Ø 
€
€
€
Ø !Ð !Ð !Ð !Ð !Ð !Ø 0Ð 0Ð 0Ð 0Ð 0Ð 0Ð 0Ð 0Ð 0Ð 0Ð 0Ð 0à @Ð @Ð @Ð @Ð @Ð @Ø *Ð *Ð *Ð *Ð *Ð *Ø *Ð *Ð *Ð *Ð *Ð *Ø &Ð &Ð &Ð &Ð &Ð &à 7Ð 7Ð 7Ð 7Ð 7Ð 7Ø <Ð <Ð <Ð <Ð <Ð <Ø :Ð :Ð :Ð :Ð :Ð :Ø ;Ð ;Ð ;Ð ;Ð ;Ð ;Ø EÐ EÐ EÐ EÐ EÐ EØ 4Ð 4Ð 4Ð 4Ð 4Ð 4Ø .Ð .Ð .Ð .Ð .Ð .ðð ð ð ð ð ð ð ð XÐ WÐ WÐ WÐ WÐ WÐ WÐ WÐ WÐ WØ /Ð /Ð /Ð /Ð /Ð /àˆÔ Ð"Ñ"Ô"€à	ˆÔ	˜8Ñ	$Ô	$€ð˜Sð  Sð ð ð ð ðK˜3ð K 8Ô#4ð Kð Kð Kð KðIð Ið Ið Ið Iñ Iô Ið IðX ð
ð 
ð 
ð 
ð 
ñ 
ô 
ñ „ð
ð08˜cð 8 dð 8ð 8ð 8ð 8ð'Øð'Ø"*¤/ð'àˆc„]ð'ð 'ð 'ð 'ð8àðð Ô#ðð 'ð	ð
 !  X¨c¤]Ð!2Ô3ðð ˆmÔðð ð ð ðD; Jð ;¸¼ð ;ÈTð ;ð ;ð ;ð ;ð ;ð ;r'   