+
    <j~                         ^ RI t ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RI	H
t
 ^ RIHtHtHtHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ R	IHt ^ R
IHt ^ RIHt ^ RI H!t! ^ RI"H#t# ^ RI$H%t% ^ RI&H't'H(t( ^ RI)H*t*H+t+H,t, ^ RI-H.t.H/t/H0t0 ] Pb                  ! ^R7      t2]Pf                  ! ]44      t5R R lt6R R lt7 ! R R4      t8]
 ! R R4      4       t9R R lt:R R lt;R R  lt<R! R" lt=R# )#    N)	dataclass)AnyCallableDictOptional)Version)parseGroup)escape)Text)LinkCollector)PackageFinder)get_default_environment)SelectionPreferences)
PipSession)WINDOWS) get_best_invocation_for_this_pip#get_best_invocation_for_this_python)adjacent_tmp_filecheck_path_ownerreplace)ExternallyManagedEnvironmentcheck_externally_managed
ensure_dir)daysc                0    V ^8  d   QhR\         R\         /# )   keyreturnstr)formats   "V/opt/headortail/venv/lib/python3.14/site-packages/pip/_internal/self_outdated_check.py__annotate__r%   (   s      S S     c                 n    V P                  4       p\        P                  ! V4      P                  4       pV# N)encodehashlibsha224	hexdigest)r   	key_bytesnames   &  r$   _get_statefile_namer/   (   s)    

I>>)$..0DKr&   c                D    V ^8  d   QhR\         R\        P                  /# )r   isodater    r"   datetime)r#   s   "r$   r%   r%   .   s$     K K3 K8#4#4 Kr&   c                `    \         P                   P                  V P                  RR4      4      # )zConvert 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)r3   fromisoformatr   )r1   s   &r$   _convert_dater7   .   s&     **7??3+IJJr&   c                   r   a  ] tR t^7t o V 3R lR lt]V 3R lR l4       tV 3R lR ltV 3R lR ltR	t	V t
R
# )SelfCheckStatec                $   < V ^8  d   QhRS[ RR/# )r   	cache_dirr    Nr!   )r#   __classdict__s   "r$   r%   SelfCheckState.__annotate__8   s      # $ r&   c                   / V n         R V n        V'       d   \        P                  P	                  VR\        V P                  4      4      V n         \        V P                  RR7      ;_uu_ 4       p\        P                  ! V4      V n         R R R 4       R # R #   + '       g   i     R # ; i  \        \        \        3 d     R # i ; i)N	selfcheckzutf-8)encoding)_state_statefile_pathospathjoinr/   r   openjsonloadOSError
ValueErrorKeyError)selfr;   	statefiles   && r$   __init__SelfCheckState.__init__8   s    &(# #%77<<;(;DHH(E$D $..AAY"&))I"6DK BA 
 BAAZ2  s0   B, 0BB, B)	#B, )B, ,CCc                    < V ^8  d   QhRS[ /# r   r    r!   )r#   r<   s   "r$   r%   r=   J   s      S r&   c                "    \         P                  # r(   )sysprefix)rL   s   &r$   r   SelfCheckState.keyI   s    zzr&   c                J   < V ^8  d   QhRS[ P                   RS[S[,          /# )r   current_timer    )r3   r   r"   )r#   r<   s   "r$   r%   r=   M   s%     + + 1 1 +hsm +r&   c                    V P                   '       g   R# RV P                   9  d   R# RV P                   9  d   R# \        V P                   R,          4      pW,
          pV\        8  d   R# V P                   R,          # )z7Check if we have a not-outdated version loaded already.N
last_checkpypi_version)rA   r7   _WEEK)rL   rW   rY   time_since_last_checks   &&  r$   getSelfCheckState.getM   sd    {{{t{{*, #4;;|#<=
 , 9 5({{>**r&   c                >   < V ^8  d   QhRS[ RS[P                  RR/# )r   rZ   rW   r    Nr2   )r#   r<   s   "r$   r%   r=   `   s(          83D3D    r&   c                   V P                   '       g   R # \        \        P                  P	                  V P                   4      4      '       g   R # \        \        P                  P	                  V P                   4      4       RV P                  RVP                  4       RV/p\        P                  ! VRRR7      p\        V P                   4      ;_uu_ 4       pVP                  VP                  4       4       R R R 4        \        XP                  V P                   4       R #   + '       g   i     L3; i  \         d     R # i ; i)Nr   rY   rZ   T)	sort_keys
separators),:)rB   r   rC   rD   dirnamer   r   	isoformatrG   dumpsr   writer)   r   r.   rI   )rL   rZ   rW   statetextfs   &&&   r$   setSelfCheckState.set`   s    ###  0D0D EFF 	277??4#7#789
 488,002L
 zz%4JGt3344GGDKKM" 5	 AFFD001 54  		s    D"  D5 "D2	5EE)rA   rB   N)__name__
__module____qualname____firstlineno__rN   propertyr   r]   rl   __static_attributes____classdictcell__r<   s   @r$   r9   r9   7   s7      "  + +&   r&   r9   c                   >   a  ] tR t^t o V 3R lR ltV 3R ltRtV tR# )UpgradePromptc                    < V ^8  d   QhRS[ /# rQ   r
   )r#   r<   s   "r$   r%   UpgradePrompt.__annotate__   s     
 
% 
r&   c                    \         '       d   \        4        R 2pM
\        4       pRp\        \	        4       \        P
                  ! V RV P                   RV P                   R24      \        P
                  ! V R\        V4       R24      4      # )z -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_markupoldnewr   )rL   pip_cmdnotices   &  r$   __rich__UpgradePrompt.__rich__   s    7<>?wGG68GBF( z!3DHH:WF (  /**@B

 
	
r&   c                2   < V ^8  d   Qh/ S[ ;R&   S[ ;R&   # )r   r|   r}   r!   )r#   r<   s   "r$   r%   ry      s     	H  
H r&    N)rn   ro   rp   rq   r   __annotate_func__rs   rt   ru   s   @r$   rw   rw      s     

 
  r&   rw   c                0    V ^8  d   QhR\         R\        /# )r   pkgr    )r"   bool)r#   s   "r$   r%   r%      s     8 8c 8d 8r&   c                j    \        4       P                  V 4      pVRJ;'       d    RVP                  8H  # )zChecks 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)r   dists   & r$   was_installed_by_pipr      s3     #$55c:Dt77 77r&   c                f    V ^8  d   QhR\         R\        P                  R\        \        ,          /# )r   sessionoptionsr    )r   optparseValuesr   r"   )r#   s   "r$   r%   r%      s,     ' ''"*//'c]'r&   c                     \         P                  ! V VR R7      p\        RRR7      p\        P                  ! VVR7      pVP	                  R4      P
                  pVf   R# \        VP                  4      # )T)r   suppress_no_indexF)allow_yankedallow_all_prereleases)link_collectorselection_prefsr   N)r   creater   r   find_best_candidatebest_candidater"   version)r   r   r   r   finderr   s   &&    r$   _get_current_remote_pip_versionr      sy     #))N +#O
 !!%'F //6EEN~%%&&r&   c                    V ^8  d   QhR\         R\        P                  R\        R\        . \        \
        ,          3,          R\        \        ,          /# )r   ri   rW   local_versionget_remote_versionr    )r9   r3   r   r   r   r"   rw   )r#   s   "r$   r%   r%      sU       ## 	
 !Xc]!23 mr&   c                    V P                  V4      pVf4   V! 4       pVf   \        P                  R4       R # V P                  WA4       \	        V4      p\        P                  RV4       \        P                  RV4       \        R4      p\        P                  RV4       V'       g   R # W%8  ;'       d    VP                  VP                  8g  pV'       d   \        \        V4      VR7      # R # )NzNo remote pip version foundzRemote version of pip: %szLocal version of pip:  %sr   zWas pip installed by pip? %s)r|   r}   )	r]   loggerdebugrl   parse_versionr   base_versionrw   r"   )ri   rW   r   r   remote_version_strremote_versionpip_installed_by_piplocal_version_is_olders   $$$$    r$   _self_version_check_logicr      s     <0!/1%LL67		$3"#56N
LL,n=
LL,m</6
LL/1EF 	& 	F 	F&&.*E*EE  ]!39KLLr&   c                H    V ^8  d   QhR\         R\        P                  RR/# )r   r   r   r    N)r   r   r   )r#   s   "r$   r%   r%      s*     C CJ C CT Cr&   c           
        \        4       P                  R4      pV'       g   R#  \        4        \	        \        TP                  R7      \        P                  P                  \        P                  P                  4      TP                  \        P                  ! \        Y4      R7      pTe   \        P!                  RTRR/R7       R# R#   \         d     R# i ; i)	zCheck 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.
r   N)r;   )ri   rW   r   r   z%srichT)extra)r   r   r   r   r   r9   r;   r3   nowtimezoneutcr   	functoolspartialr   r   warning)r   r   installed_distupgrade_prompts   &&  r$   pip_self_version_checkr      s     -.??FN " /w'8'89&&**8+<+<+@+@A$,,$,,+W
	N !t^FD>B " ( s   
C CC)>r3   r   r*   rG   loggingr   os.pathrC   rS   dataclassesr   typingr   r   r   r   pip._vendor.packaging.versionr   r	   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.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   r   r   	timedeltar[   	getLoggerrn   r   r/   r7   r9   rw   r   r   r   r   r   r&   r$   <module>r      s           
 ! 0 0 1 @ * * & 7 < : E 4 . X W  	"			8	$KI IX 
 
 
08'8DCr&   