+
    :1j=/                     .   R t ^ RIt^ RIHt ^ RIHt ^RIHt ^RIH	t	H
t
HtHt ^RIHtHt ^RIHt ^RIHt ^R	IHt ^R
IHtHtHt ^RIHt ^RIHt ^RIHt ]! ] 4      t! ! R R]4      t" ! R R]
4      t#R R lt$R R lt% ! R R]	]#R7      t&R t'R# )z/(Legacy) Low-level implementation of a Channel.N)	getLogger)
NamedTuple)
CondaError)Entity
EntityTypeIntegerFieldStringField)DEFAULTS_CHANNEL_NAMEUNKNOWN_CHANNEL)context)ensure_text_type)NULL)has_platformis_urljoin_url)Channel)PackageInfo)PackageRecordc                   ,   a  ] tR t^t o V 3R ltRtV tR# )DistDetailsc                b   < V ^8  d   Qh/ S[ ;R&   S[ ;R&   S[ ;R&   S[ ;R&   S[ ;R&   S[ ;R&   # )   nameversionbuild_stringbuild_number	dist_namefmtstr)format__classdict__s   "1lib/python3.14/site-packages/conda/models/dist.py__annotate__DistDetails.__annotate__   sK     
I L    	 
 N  
H      N)__name__
__module____qualname____firstlineno____annotate_func____static_attributes____classdictcell__)r!   s   @r"   r   r      s      r%   r   c                   2   a a ] tR t^#t oV 3R ltRtVtV ;t# )DistTypec                  < \        V4      ^8X  Ed   V'       Eg   V^ ,          pV\        P                  9   d   \        P                  V,          # \        V\        4      '       d   TpEM0\        V\        4      '       d7   \        P                  VP                  VP                  P                  R7      pM\        VR4      '       d.   \        VP                  \        4      '       d   VP                  pM\        V\        4      '       dA   \        P                  VP                  P                  VP                  P                  R7      pMO\        V\        4      '       d%   \        P                  VP                  4       4      pM\        P                  V4      pV\        P                  V&   V# \         SV `D  ! V/ VB # )   )channel_overridedist)lenDist_cache_
isinstancer   from_stringfnchannelcanonical_namehasattrr3   r   repodata_recordr   from_urlurlsuper__call__)clsargskwargsvaluer3   	__class__s   &*,  r"   rA   DistType.__call__$   s>   t9>&&GE$||E**E4((E=11''HHu}}/K/K (  ''Juzz4,H,HzzE;//'')),,%*]]%A%A (  E7++}}UYY[1''."&DLLK7#T4V44r%   r&   )r'   r(   r)   r*   rA   r,   r-   __classcell__rF   r!   s   @@r"   r/   r/   #   s     5 5r%   r/   c                0    V ^8  d   QhR\         R\         /# r   original_distreturnr   )r    s   "r"   r#   r#   A   s      3 3 r%   c                 r    \         P                  P                  V 4      ;p'       d   V R \        V4      )  # V # Nr   plugin_managerhas_package_extensionr4   rL   exts   & r"   strip_extensionrU   A   s7    $$::=IIsI[Cy))r%   c                R    V ^8  d   QhR\         R\        \         \         3,          /# rK   )r   tuple)r    s   "r"   r#   r#   H   s"      3 5c? r%   c                 z    \         P                  P                  V 4      ;p'       d   V R \        V4      )  V3# V R3# )N rP   rS   s   & r"   split_extensionrZ   H   sA    $$::=IIsI[Cy)3.."r%   c                     a a ] tR t^Nt o/ tRt]! RRRR7      t]! RR7      t]! RR7      t	]! RR7      t
]! RR7      t]! RR7      t]! RR7      t]! RRRR7      t]! RRRR7      tR$V 3R lltR t]R 4       t]R 4       t]R	 4       t]R
 4       t]R 4       tR t]R 4       t]R 4       tR%R ltR tR t]] 3R l4       t!]"R 4       t#]R 4       t$R t%R t&R t'R t(R t)R t*R t+R t,R t-R&R lt.R&R lt/R  t0R! t1]R" 4       t2R#t3Vt4V ;t5# )'r5   TF)requirednullable	immutable)r^   c
                8   < \         S
V `  VVVVVVVVV	R 7	       R# ))	r:   r   r   r   r   r   base_urlplatformr   N)r@   __init__)selfr:   r   r   r   r   r   r`   ra   r   rF   s   &&&&&&&&&&r"   rb   Dist.__init__^   s2     	%% 	 
	
r%   c           	         \        V P                  V P                  V P                  V P                  V P
                  V P                  R 7      # ))r:   subdirr   r   buildr   )r   r:   ra   r   r   r   r   rc   s   &r"   to_package_refDist.to_package_refv   s=    LL==LL##**
 	
r%   c                "    V P                  4       # rO   )__str__rh   s   &r"   	full_nameDist.full_name   s    ||~r%   c                    V P                   # rO   )r   rh   s   &r"   rg   
Dist.build   s       r%   c                    V P                   # rO   )ra   rh   s   &r"   rf   Dist.subdir   s    }}r%   c                N    V P                   ;'       g    \        V P                  3# rO   )r:   r	   r   rh   s   &r"   pair	Dist.pair   s    ||444dnnDDr%   c                    V P                   P                  R ^4      RR.,           pV^ ,          V^,          V^,          V P                  ;'       g    \        3# )-rY   )r   rsplitr:   r	   )rc   partss   & r"   quad	Dist.quad   sK     %%c1-R8Qxq58T\\-R-R=RRRr%   c                t    V P                   '       d   V P                    R V P                   2# V P                  # )::r:   r   rh   s   &r"   rl   Dist.__str__   s-    6:lll$,,r$..!12VVr%   c                8    V P                   P                  R 4      # )@)r   endswithrh   s   &r"   is_feature_packageDist.is_feature_package   s    ~~&&s++r%   c                T    \        V P                  ;'       d    V P                  4      # rO   )boolr`   ra   rh   s   &r"   
is_channelDist.is_channel   s    DMM33dmm44r%   c                x    V P                   '       d   V P                  # V P                  V P                  ,           # rO   )r   r   r   )rc   	extensions   &&r"   to_filenameDist.to_filename   s+    """>>!>>DHH,,r%   c                F    R P                  V P                  R,          4      # ) N   N)joinrz   rh   s   &r"   to_matchspecDist.to_matchspec   s    xx		"&&r%   c                    ^RI Hp RP                  V P                  R,          4      pT! V P                  '       d   V P                   RV 24      # T4      # )r1   )	MatchSpec=r   r}   )
match_specr   r   rz   r:   )rc   r   bases   &  r"   to_match_specDist.to_match_spec   sE    )xx		"&dlllDLL>D62MMMMr%   c           
        \        V4      p\        V4      '       d   V\        8X  d   V P                  V4      # VP	                  R 4      '       d   V ! R VRR^ VR7      # Rp\
        P                  ! W14      P                  4       w  rEp\        V4      w  rWV\        8w  d   TpV'       g   \        pV P                  V4      pV ! VVP                  VP                  VP                  VP                  VVR7      # )r   rY   )r:   r   r   r   r   r   z8(?:([^\s\[\]]+)::)?([^\s\[\]]+)(?:\[([a-zA-Z0-9_-]+)\])?)r:   r   r   r   r   r   r   )r   r   r   r>   r   researchgroupsrZ   r
   parse_dist_namer   r   r   r   )	rB   stringr2   	REGEX_STRr:   rL   w_f_dr   dist_detailss	   &&&      r"   r8   Dist.from_string   s    V&>>.$6<<''??3  ) 	
 )+		)(D(K(K(M%,];t#&G%G **=9"" ((%22%22#
 	
r%   c                   T p \        V 4      p \        V 4      w  r#R V9   d   VP                  R ^4      R,          pMVP                  R^4      R,          pVP                  R^4      pV^ ,          pV^,          p\        V4      ^8  d
   V^,          MRpRP	                  \        R V'       d   VP                  R4      R,          MR4      4      p	V	'       d   \        V	4      M^ p
\        WgWWC4      #    \        RT 24      h; i)	r}   /rw   rY   c                 "    V P                  4       # rO   )isdigit)xs   &r"   <lambda>&Dist.parse_dist_name.<locals>.<lambda>   s
    aiikr%   _0z(dist_name is not a valid conda package: )	r   rZ   rx   r4   r   filterintr   r   )r   original_stringno_fmt_stringr   r   ry   r   r   r   build_number_as_stringr   s   &          r"   r   Dist.parse_dist_name   s    	%f-F!0!8M }$)00q9"=	)00a8<	$$S!,E8DAhG'*5zQ58BL%'WW)5A\((-b1s&" ;Q356VWL|9 	:?:KL s   CC3 C3 3Dc                   \        V4      '       g   \        R 4      h\        P                  P	                  V4      '       g   RV9  d   \        RV R24      hV P                  V4      pRV9   dW   VP                  R^4      ^ ,          p\        P                  pVP                  R4      ^ ,          p\        \        V4      4      pMyVP                  R^4      ^ ,          p\        V\        P                  4      pV'       d   VP                  R^4      ^ ,          MTpV'       d   \        V4      P                  M\        pV ! VVP                   VP"                  VP$                  VP&                  VP(                  VVVP*                  R7	      # )z''{url}' does not seem to be a valid URLr}   zurl 'z' is not a conda packager   )	r:   r   r   r   r   r   r`   ra   r   )r   
ValueErrorr   rQ   rR   r   r   rx   rf   splitr   r   r   known_subdirsr;   r
   r   r   r   r   r   r   )rB   r?   r   url_no_tarballra   r`   r:   s   &&     r"   r>   Dist.from_url   sE   c{{FGG%%;;C@@TQT_uSE)ABCC**3/3; ZZa03N~~H%++D1!4H'(+,G ZZQ/2N#NG4I4IJH;C~,,S!4Q7H:Bgh'66G"" ((%22%22",,  

 
	
r%   c                    V P                   '       g   R # V P                  V P                  ,           pV P                  '       d"   \	        V P                   V P                  V4      # \	        V P                   V4      # rO   )r`   r   r   ra   r   )rc   filenames   & r"   to_urlDist.to_url  s[    }}}>>DHH, }}} T]]DMM8<	
 $--2	
r%   c                2    V P                   V P                  3# rO   r~   rh   s   &r"   __key__Dist.__key__'  s    ||T^^++r%   c                    \        WP                  4      '       g$   \        R \        V 4       R\        V4       24      hV P	                  4       VP	                  4       8  # z=Can only compare with objects of the same type. Left side is z, and right side is r7   rF   	TypeErrortyper   rc   others   &&r"   __lt__Dist.__lt__*  V    %00  $T
|+?U}N  ||~//r%   c                    \        WP                  4      '       g$   \        R \        V 4       R\        V4       24      hV P	                  4       VP	                  4       8  # r   r   r   s   &&r"   __gt__Dist.__gt__2  r   r%   c                    \        WP                  4      '       g$   \        R \        V 4       R\        V4       24      hV P	                  4       VP	                  4       8*  # r   r   r   s   &&r"   __le__Dist.__le__:  V    %00  $T
|+?U}N  ||~00r%   c                    \        WP                  4      '       g$   \        R \        V 4       R\        V4       24      hV P	                  4       VP	                  4       8  # r   r   r   s   &&r"   __ge__Dist.__ge__B  r   r%   c                L    \        V P                  4       V P                  34      # rO   )hashr   r   rh   s   &r"   __hash__Dist.__hash__J  s     T\\^TXX.//r%   c                ~    \        WP                  4      ;'       d"    V P                  4       VP                  4       8H  # rO   )r7   rF   r   r   s   &&r"   __eq__Dist.__eq__O  s*    %0VVT\\^u}}5VVr%   c                .    V P                  V4      '       * # rO   )r   r   s   &&r"   __ne__Dist.__ne__R  s    ;;u%%%r%   c                    VR 8w  d   \        R4      hV P                  '       d   V P                  V P                  .# V P                  .# )r}   z'sep' can only be '::')r   r:   r   )rc   sepmaxsplits   &&&r"   r   
Dist.splitW  s<    $;56615dnn-SDNNCSSr%   c                $   VR 8w  d   \        R4      hV^8w  d   \        R4      hV P                  '       d#   V P                   RV P                  ^ ,           2MV P                  ^ ,          pW0P                  ^,          V P                  ^,          3# )rw   z'sep' can only be '-'z'maxsplit' can only be 2r}   )r   r:   rz   )rc   r   r   r   s   &&& r"   rx   Dist.rsplit\  sr    #:455q=78848LLL$,,r$))A,0diiPQlYYq\499Q<//r%   c                8    V P                   P                  V4      # rO   )r   
startswith)rc   matchs   &&r"   r   Dist.startswithd  s    ~~((//r%   c                N    \        \        V4      4      pWP                  4       9   # rO   )rU   r   rl   )rc   items   &&r"   __contains__Dist.__contains__g  s!    /56||~%%r%   c                "    V P                  4       # rO   )r   rh   s   &r"   r9   Dist.fnk  s    !!r%   r&   )NNNNNNNz.tar.bz2rO   )Nr   )6r'   r(   r)   r*   r6   _lazy_validater   r:   r   r   r   r   r   r   r   r`   ra   rb   ri   propertyrm   rg   rf   rt   rz   rl   r   r   r   r   r   classmethodr   r8   staticmethodr   r>   r   r   r   r   r   r   r   r   r   r   rx   r   r   r9   r,   r-   rH   rI   s   @@r"   r5   r5   N   s    GN544HGd+I&D

%CD)G.L$/LEDDIHEDDIH
0
   ! !   E E S S
W , , 5 5-'N 26 (
 (
T    D 
 
<
,00110
W&
T
00& " " "r%   r5   )	metaclassc                     \        V 4      p R V 9   d   V P                  R ^4      w  rM\        pV P                  R^4      w  r#pW#WA3# )r}   rw   )rU   r   r
   rx   )dist_strchannel_strr   r   rg   s   &    r"   dist_str_to_quadr   p  sN    x(Hx (tQ 7X%#??32D5%,,r%   )(__doc__r   loggingr   typingr   rY   r   auxlib.entityr   r   r   r   base.constantsr	   r
   base.contextr   common.compatr   common.constantsr   
common.urlr   r   r   r:   r   package_infor   recordsr   r'   logr   r/   rU   rZ   r5   r   r&   r%   r"   <module>r     s}    6 	    I I # , # 7 7  % "* 5z 5<_"6X _"D	-r%   