+
    UBiU[                    &   R t ^ RIH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 ^RIHt ]P                  '       d*   ^ RIHtHt ^RIHt ^RIHtHtHt ^R	IHt  ! R
 R]4      t]P4                  ! RRR7      tRtR R lt ! R R4      t ! R R]4      t ! R R]4      t R5R R llt!]PD                   ! R R4      4       t#]PD                   ! R R4      4       t$]PD                   ! R R4      4       t%]PD                   ! R R 4      4       t&]PD                   ! R! R"]&4      4       t']PD                   ! R# R$]&4      4       t(]PD                   ! R% R&]&4      4       t)]PD                   ! R' R(]&4      4       t*]PD                   ! R) R*]&4      4       t+]PD                   ! R+ R,4      4       t,]PD                   ! R- R.4      4       t-]PD                   ! R/ R04      4       t.]PD                   ! R1 R24      4       t/]PD                   ! R3 R44      4       t0R# )6z*Type definitions for cargo manifest files.)annotationsNversion)MesonExceptionlazy_propertyVersion)mlog)ProtocolSelf)raw)EDITION
CRATE_TYPE
LINT_LEVEL)PackageDefinitionc                  "    ] tR t^t$ R]R&   RtR# )DataclassInstancez/T.ClassVar[dict[str, dataclasses.Field[T.Any]]]__dataclass_fields__ N)__name__
__module____qualname____firstlineno____annotations____static_attributes__r       >/usr/lib/python3.14/site-packages/mesonbuild/cargo/manifest.pyr   r      s    MMr   r   _DI)boundaI  This may (unlikely) be an error in the cargo manifest, or may be a missing implementation in Meson. If this issue can be reproduced with the latest version of Meson, please help us by opening an issue at https://github.com/mesonbuild/meson/issues. Please include the crate and version that is generating this warning if possible.c                    V ^8  d   QhRRRR/# )   namestrreturnr   )formats   "r   __annotate__r$   (   s     " "c "c "r   c                &    V P                  RR4      # )zRFixup a meson variable name

:param name: The name to fix
:return: the fixed name
-_)replace)r    s   &r   fixup_meson_varnamer)   (   s     <<S!!r   c                  6    ] tR t^1tRtRR R lltR R ltRtR# )	DefaultValuea  Base class to converts a raw value from cargo manifest to a meson value

It returns the value from current manifest, or fallback to the
workspace value. If both are None, its default value is used. Subclasses can
override the convert() method to implement custom conversion logic.
Nc                    V ^8  d   QhRRRR/# )r   defaultobjectr"   Noner   )r#   s   "r   r$   DefaultValue.__annotate__9   s       $ r   c                	    Wn         R # Nr-   )selfr-   s   &&r   __init__DefaultValue.__init__9   s    r   c               $    V ^8  d   QhRRRRRR/# r   vzT.Anyws_vr"   r.   r   )r#   s   "r   r$   r0   <   s!     , , ,e , ,r   c                	    Ve   V# T# r2   r   r4   r9   r:   s   &&&r   convertDefaultValue.convert<   s    Mq+t+r   r3   r2   )r   r   r   r   __doc__r5   r=   r   r   r   r   r+   r+   1   s    , ,r   r+   c                  >   a  ] tR t^@tRR V 3R llltR R ltRtV ;t# )
MergeValuec               $    V ^8  d   QhRRRRRR/# )r   funcz"T.Callable[[T.Any, T.Any], object]r-   r.   r"   r/   r   )r#   s   "r   r$   MergeValue.__annotate__A   s#      ? & \` r   c                	2   < \         SV `  V4       Wn        R # r2   superr5   rC   r4   rC   r-   	__class__s   &&&r   r5   MergeValue.__init__A       !	r   c               $    V ^8  d   QhRRRRRR/# r8   r   )r#   s   "r   r$   rD   E   s!     " " "e " "r   c                	$    V P                  W4      # r2   rC   r<   s   &&&r   r=   MergeValue.convertE   s    yy!!r   rN   r2   r   r   r   r   r5   r=   r   __classcell__rI   s   @r   rA   rA   @   s     " "r   rA   c                  >   a  ] tR t^ItRR V 3R llltR R ltRtV ;t# )ConvertValuec               $    V ^8  d   QhRRRRRR/# )r   rC   zT.Callable[[T.Any], object]r-   r.   r"   r/   r   )r#   s   "r   r$   ConvertValue.__annotate__J   s#      8 6 UY r   c                	2   < \         SV `  V4       Wn        R # r2   rF   rH   s   &&&r   r5   ConvertValue.__init__J   rK   r   c               $    V ^8  d   QhRRRRRR/# r8   r   )r#   s   "r   r$   rV   N   s!     7 7 7e 7 7r   c                	8    T P                  Ve   V4      # T4      # r2   rN   r<   s   &&&r   r=   ConvertValue.convertN   s    yyam6666r   rN   r2   rP   rR   s   @r   rT   rT   I   s     7 7r   rT   c               4    V ^8  d   QhRRRRRRRRR	R
RRRR/# )r   r   zT.Mapping[str, object]clszT.Type[_DI]msgr!   raw_from_workspacez"T.Optional[T.Mapping[str, object]]ignored_fieldsT.Optional[T.List[str]]kwargsr+   r"   r   r   )r#   s   "r   r$   r$   R   sO     M M1 M M# M*LM&=M !-M 25Mr   c                   / p\        4       p\        P                  ! V4       Uu0 uF  qP                  kK  	  p	pT;'       g    / pT;'       g    . pV P                  ! RR4      p
V P
                  ! 4        F  w  rVR8X  d   K  Rp\        V\        4      '       d$   VP	                  RR4      '       d   W;,          pRpMV
'       d   VP	                  V4      p\        V4      pW9  d   W9  d   VP                  V4       K  W9   d   W^,          P                  W4      Wn&   K  Ve   TMTWn&   K  	  V
'       dr   VP                  4        F]  w  r\        V4      pW9  d   W9  d   VP                  V4       K/  W9   d   K7  W9   d   W^,          P                  RV4      Wn&   KY  WV&   K_  	  VP                  4        F+  w  rW9  g   K  VP                  f   K  VP                  Wn&   K-  	  V'       dE   \        P                  ! VRRP                  RP                  \!        V4      4      4      \"        4       V! R/ VB # u upi )aY  Fixup raw cargo mappings to a dataclass.

* Inherit values from the workspace.
* Replaces any `-` with `_` in the keys.
* Optionally pass values through the functions in kwargs, in order to do
  recursive conversions.
* Remove and warn on keys that are coming from cargo, but are unknown to
  our representations.

This is intended to give users the possibility of things proceeding when a
new key is added to Cargo.toml that we don't yet handle, but to still warn
them that things might not work.

:param raw: The raw data to look at
:param cls: The Dataclass derived type that will be created
:param msg: the header for the error message. Usually something like "In N structure".
:param raw_from_workspace: If inheriting from a workspace, the raw data from the workspace.
:param kwargs: DefaultValue instances to convert values.
:return: A @cls instance.
	workspaceFNzhas unexpected keysz"{}".z, r   )setdataclassesfieldsr    getitems
isinstancedictr)   addr=   r-   r   warningr#   joinsorted_EXTRA_KEYS_WARNING)r   r]   r^   r_   r`   rb   new_dict
unexpectedxrg   inheritorig_kr9   r:   k	convertors   &&&&&,          r   _raw_to_dataclassrx   R   s   0 HJ)00565ff5F6+11r#))rNggk5)GYY[	[ a155e#<#<%-DA &))&1D'?+v&; )++A4HK }!$HK) !, .446LF#F+A/NN6*}{$i//d;" 7 !2!2!>#++HK ' S/		&Q[J\@]1^(	* ??g 7s   H>c                     ] tR t^t$ RtR]R&   RtR]R&   RtR]R&   RtR]R	&   ]	P                  ! ]R
7      tR]R&   RtR]R&   RtR]R&   RtR]R&   RtR]R&   RtR]R&   RtR]R&   RtR]R&   RtR]R&   ]	P                  ! ]R
7      tR]R&   ]	P                  ! ]R
7      tR]R&   RtR]R&   RtR]R&   RtR]R&   ]	P                  ! ]R
7      tR]R&   ]	P                  ! ]R
7      tR]R&   RtR]R &   ]	P                  ! ]R
7      tR!]R"&   RtR]R#&   Rt R]R$&   Rt!R]R%&   Rt"R]R&&   Rt#R]R'&   Rt$R]R(&   ]%R) R* l4       t&]'R.R+ R, ll4       t(R-t)R# )/PackagezARepresentation of a Cargo Package entry, with defaults filled in.r!   r    0r   NT.Optional[str]descriptionresolverdefault_factoryT.List[str]authors2015r   editionrust_versiondocumentationreadmehomepage
repositorylicenselicense_filekeywords
categoriesrd   buildlinksexcludeincludeTboolpublishT.Dict[str, T.Any]metadatadefault_runautolibautobinsautoexamples	autotestsautobenchesc                   V ^8  d   QhRR/# r   r"   r!   r   )r#   s   "r   r$   Package.__annotate__        ) )S )r   c                	B    \         P                  ! V P                   4      # r2   r   apir4   s   &r   r   Package.api       {{4<<((r   c               $    V ^8  d   QhRRRRRR/# )r   raw_pkgzraw.Packagerd   T.Optional[Workspace]r"   r
   r   )r#   s   "r   r$   r      s(     _ _{ _7L _X\ _r   c                	\    V'       d   VP                   MR p\        WRVR,           2V4      # )NzPackage entry r    )packagerx   )r]   r   rd   
raw_ws_pkgs   &&& r   from_rawPackage.from_raw   s-    *3Y&&
 ?P/QS]^^r   r   r2   )*r   r   r   r   r?   r   r   r}   r~   rf   fieldlistr   r   r   r   r   r   r   r   r   r   r   rd   r   r   r   r   r   rk   r   r   r   r   r   r   r   r   r   classmethodr   r   r   r   r   rz   rz      s    L
IGS#'K' $Ho$&,,TBG[BGW$(L/(%)M?)"FO" $Ho$"&J&#G_#$(L/('--dCHkC)//EJE!%I%!E?!!E?!&,,TBG[B&,,TBG[BGT#.#4#4T#JH J#'K'GTHdL$ItK) ) _ _r   rz   c                      ] tR t^t$ RtR]R&   RtR]R&   RtR]R&   R	tR
]R&   ]	P                  ! ]R7      tR]R&   ]R R l4       tR R lt]R R l4       tRtR	# )SystemDependencyz[Representation of a Cargo system-deps entry
https://docs.rs/system-deps/latest/system_deps
r!   r     r   Fr   optionalNr|   featurer   zT.Dict[str, T.Dict[str, str]]feature_overridesc                   V ^8  d   QhRR/# r   r"   r   r   )r#   s   "r   r$   SystemDependency.__annotate__   s      { r   c                	    V P                   '       d   V P                   P                  R 4      M. p. pV F7  pVP                  4       pV^ ,          R9  d   RV 2pVP                  V4       K9  	  V# ),z><=>=)r   splitstripappend)r4   versresultr9   s   &   r   meson_versionSystemDependency.meson_version   sd    *.,,,t||!!#&B A	At5 HMM!	 
 r   c                    V ^8  d   QhRRRR/# )r   featuresz
T.Set[str]r"   r   r   )r#   s   "r   r$   r      s     @ @
 @t @r   c                	L    V P                   R J ;'       g    V P                   V9   # r2   )r   )r4   r   s   &&r   enabledSystemDependency.enabled   s"    ||t#??t||x'??r   c               $    V ^8  d   QhRRRRRR/# )r   r    r!   r   z T.Union[T.Dict[str, T.Any], str]r"   r
   r   )r#   s   "r   r$   r      s'     	H 	HC 	H&F 	H4 	Hr   c                	F   \        V\        4      '       d   R V/pVP                  ! RV4      pVP                  ! R R4      pVP                  ! RR4      pVP                  ! R4      pVP                  ! 4        UUu/ uF  w  rgVR9  g   K  WgbK  	  pppV ! WWEV4      # u uppi )r   r    r   r   Fr   >   r    r   r   r   )rj   r!   rh   ri   )	r]   r    r   r   r   r   rv   r9   r   s	   &&&      r   r   SystemDependency.from_raw   s    c3c"Cwwvt$'')R(77:u-'')$.1iikqkdaQFp=pTQTkq4(5FGG rs   :B
Br   )r   r   r   r   r?   r   r   r   r   rf   r   rk   r   r   r   r   r   r   r   r   r   r   r   r      sr     IGSHd#G_#7B7H7HY]7^4^ @ 	H 	Hr   r   c                     ] tR t^t$ RtR]R&   RtR]R&   RtR]R&   RtR]R	&   Rt	R]R
&   Rt
R]R&   RtR]R&   RtR]R&   RtR]R&   ]P                  ! ]R7      tR]R&   ]R R l4       t]R R l4       tR R lt]P.                  ]R R l4       4       t]P.                  ]R R l4       4       t]R R  l4       t]R$R! R" ll4       tR#tR# )%
Dependencyz+Representation of a Cargo Dependency Entry.r!   r   r   r   Nr|   registrygitbranchrevpathFr   r   Tdefault_featuresr   r   r   c                   V ^8  d   QhRR/# r   r   )r#   s   "r   r$   Dependency.__annotate__  s     - -{ -r   c                	B    \         P                  ! V P                   4      # r2   )r   r=   r   s   &r   r   Dependency.meson_version  s    t||,,r   c                   V ^8  d   QhRR/# r   r   )r#   s   "r   r$   r     s     _ _S _r   c                	   \        4       pV P                   F  pVP                  R4      '       d=   VP                  \        P
                  ! VR,          P                  4       4      4       KV  VP                  R4      '       g   Ko  VP                  \        P
                  ! VR,          P                  4       4      4       K  	  V'       g   R# \        V4      ^8X  d   VP                  4       # \        RV P                   R24      h)r   :r   NN=:   NNr   z*Cannot determine minimum API version from .)r   z==)
re   r   
startswithrl   r   r   r   lenpopr   )r4   r   r9   s   &  r   r   Dependency.api  s     e##A||L))AbEKKM23c""AbEKKM23	 $
 X]779 #Mdll^[\!]^^r   c                    V ^8  d   QhRRRR/# )r   r9   r!   r"   r/   r   )r#   s   "r   r$   r     s     	 	 	 	r   c                	    Wn          \        V R 4        \        V R4       R#   \         d     Li ; i  \         d     R# i ; i)r   r   N)r   delattrAttributeError)r4   r9   s   &&r   update_versionDependency.update_version  sL    	D% 	D/*  		  		s   # 4 11AAc                    V ^8  d   QhRRRR/# )r   depvzraw.FromWorkspacer"   r   )r#   s   "r   r$   r   (  s    GG,G1BGr   c                	    R # r2   r   r   s   &r   _depv_to_depDependency._depv_to_dep&  s    DGr   c                    V ^8  d   QhRRRR/# )r   r   zraw.DependencyVr"   zraw.Dependencyr   )r#   s   "r   r$   r   ,  s    BB?B~Br   c                	    R # r2   r   r   s   &r   r   r   *  s    ?Br   c                    V ^8  d   QhRRRR/# )r   r   +T.Union[raw.FromWorkspace, raw.DependencyV]r"   z*T.Union[raw.FromWorkspace, raw.Dependency]r   )r#   s   "r   r$   r   /  s      D DF DKu Dr   c                	:    \        V \        4      '       d   R V /# T # r   )rj   r!   r   s   &r   r   r   .  s    $.tS$9$9	4 CtCr   c          
     ,    V ^8  d   QhRRRRRRRRRR	/# )
r   r    r!   raw_depvr   member_pathrd   r   r"   r
   r   )r#   s   "r   r$   r   3  sB     | |C |+V |eh |  {P |  \` |r   c                  a V'       d   VP                   P                  V4      MRpT P                  T;'       g    / 4      pV P                  V4      pR V3R llp\        W`RV 2V\	        V4      \        V4      \        R 4      R7      # )z9Create a dependency from a raw cargo dictionary or stringNc               $    V ^8  d   QhRRRRRR/# )r   r   r|   ws_pathr"   r   )r#   s   "r   r$   )Dependency.from_raw.<locals>.__annotate__9  s!     	 	 	? 	 	r   c                l   < V '       d   V # V'       d!   \         P                  P                  VS4      # R # r2   )osr   relpath)r   r   r   s   &&r   path_convertor+Dependency.from_raw.<locals>.path_convertor9  s&    www<<r   zDependency entry c                <    T ;'       g    . T;'       g    . ,           # r2   r   )r   ws_featuress   &&r   <lambda>%Dependency.from_raw.<locals>.<lambda>C  s    T\TbTb`bgrgxgxvxSyr   )r   r   r   )dependenciesrh   r   rx   r+   rA   )r]   r    r   r   rd   
raw_ws_depraw_depr   s   &&&f&   r   r   Dependency.from_raw2  s     :CY++//5
%%j&6&6B7
""8,	 	 !1B4&/I:)5d);&0&@*45y*z| 	|r   r   )r   N)r   r   r   r   r?   r   r   r   r   r   r   r   r   r   rf   r   r   r   r   r   r   r   Toverloadstaticmethodr   r   r   r   r   r   r   r   r      s     6LGS $Ho$C"FO"C D/ Hd!d!'--dCHkC- - _ _	 ZZG  GZZB  BD D | |r   r   c                      ] tR tRt$ R]R&   R]R&   R]R&   RtR]R	&   RtR]R
&   RtR]R&   RtR]R&   Rt	R]R&   ]
P                  ! R R7      tR]R&   ]
P                  ! ]R7      tR]R&   RtR]R&   RtR# )BuildTargetiF  r!   r    r   r   r   Tr   testdoctestbenchdocharnessc                 	    R .# )binr   r   r   r   r   BuildTarget.<lambda>S  s    PUwr   r   zT.List[CRATE_TYPE]
crate_typer   required_featuresFpluginr   N)r   r   r   r   r   r  r  r  r  r  rf   r   r  r   r  r  r   r   r   r   r
  r
  F  s|    
 I
ID$GTE4CGT%0%6%6%WJ"W%0%6%6t%L{LFDr   r
  c                  0    ] tR tRtRt]R R l4       tRtR# )LibraryiX  z(Representation of a Cargo Library Entry.c               $    V ^8  d   QhRRRRRR/# )r   r   zraw.LibTargetpkgrz   r"   r
   r   )r#   s   "r   r$   Library.__annotate__^  s&     
e 
e= 
ew 
e4 
er   c                	2  a VP                   ! R \        VP                  4      4      pVP                   ! RR4      o\        YRV 2R.\	        V4      \	        R4      \	        VP
                  4      \        V3R lS'       d   R.4      R7      # R.4      R7      # )r    
proc-macroFzLibrary entry 
src/lib.rsc                   < S'       d   R .# T # )r  r   )rs   
proc_macros   &r   r   "Library.from_raw.<locals>.<lambda>g  s    U_L>CfefCfr   lib)r`   r    r   r   r  )rh   r)   r    rx   r+   r   rT   )r]   r   r  r    r  s   &&& @r   r   Library.from_raw]  s    wwv2388<=WW\51
 ^D6+B1=&24&8&2<&@)5ckk)B,89fKU,-de 	e ]b[b-de 	er   r   Nr   r   r   r   r?   r   r   r   r   r   r   r  r  X  s     3
e 
er   r  c                  0    ] tR tRtRt]R R l4       tRtR# )Binaryik  z$Representation of a Cargo Bin Entry.c               $    V ^8  d   QhRRRRRR/# r   r   zraw.BuildTargetr  rz   r"   r
   r   )r#   s   "r   r$   Binary.__annotate__q  s&     D D? D DT Dr   c           	     	p    VR ,          p\        WRV 2\        R4      \        VP                  4      R7      # )r    zBinary entry zsrc/main.rs)r   r   rx   r+   r   r]   r   r  r    s   &&& r   r   Binary.from_rawp  s9    6{ ]4&+A&2=&A)5ckk)BD 	Dr   r   Nr#  r   r   r   r%  r%  k  s     /D Dr   r%  c                  0    ] tR tRtRt]R R l4       tRtR# )Testix  z%Representation of a Cargo Test Entry.c               $    V ^8  d   QhRRRRRR/# r'  r   )r#   s   "r   r$   Test.__annotate__~  !     : :? : :T :r   c                	    VR ,          p\        WRV 2\        RV R24      \        VP                  4      \        R4      \        R4      R7      # )r    zTest entry ztests/.rsF)r   r   r  r  r*  r+  s   &&& r   r   Test.from_raw}  sP    6{ [+?&2VD63E&F)5ckk)B'3E':%1%%8	: 	:r   r   Nr#  r   r   r   r.  r.  x  s     0: :r   r.  c                  0    ] tR tRtRt]R R l4       tRtR# )	Benchmarki  z*Representation of a Cargo Benchmark Entry.c               $    V ^8  d   QhRRRRRR/# r'  r   )r#   s   "r   r$   Benchmark.__annotate__  r1  r   c                	    VR ,          p\        WRV 2\        RV R24      \        VP                  4      \        R4      \        R4      R7      # )r    zBenchmark entry zbenches/r3  F)r   r   r  r  r*  r+  s   &&& r   r   Benchmark.from_raw  sQ    6{ -=dV+D&2XdV33G&H)5ckk)B&25&9%1%%8	: 	:r   r   Nr#  r   r   r   r6  r6    s     5: :r   r6  c                  0    ] tR tRtRt]R R l4       tRtR# )Examplei  z(Representation of a Cargo Example Entry.c               $    V ^8  d   QhRRRRRR/# r'  r   )r#   s   "r   r$   Example.__annotate__  s!     : :? : :T :r   c                	    VR ,          p\        WRV 2\        RV R24      \        VP                  4      \        R4      \        R4      \        R4      R7      # )r    zExample entry z	examples/r3  F)r   r   r  r  r  r*  r+  s   &&& r   r   Example.from_raw  sX    6{ ^D6+B&2YtfC3H&I)5ckk)B&25&9'3E':%1%%8: 	:r   r   Nr#  r   r   r   r<  r<    s     3: :r   r<  c                  f    ] tR tRt$ RtR]R&   R]R&   R]R&   R	]R
&   ]R R l4       tR R ltRt	R# )Linti  zCargo Lint definition.
    r!   r    r   levelintpriorityra   	check_cfgc                    V ^8  d   QhRRRR/# )r   rz?T.Union[raw.FromWorkspace, T.Dict[str, T.Dict[str, raw.LintV]]]r"   T.List[Lint]r   )r#   s   "r   r$   Lint.__annotate__  s      X ]i r   c           
     	   \         P                  ! R V4      p/ pVP                  4        F  w  r4VR8X  d   RMV R2pVP                  4        F  w  rgWV,           p\        V\        4      '       d   \         P                  ! RRV/4      pRpVR8X  d   R.VP                  R	. 4      ,           p\        VVR,          VP                  R
^ 4      VR7      W&&   K  	  K  	  \        VP                  4       4      p	V	P                  R R7       V	# )#T.Dict[str, T.Dict[str, raw.LintV]]rustr   z::zraw.LintrC  Nunexpected_cfgsz	cfg(test)z	check-cfgrE  )r    rC  rE  rF  c                    V P                   # r2   )rE  )rs   s   &r   r   Lint.from_raw.<locals>.<lambda>  s    qzzr   )key)
r  castri   rj   r!   rh   rB  r   valuessort)
r]   rH  lintstool	raw_lintsprefixr    settingsrF  lints_finals
   &&        r   r   Lint.from_raw  s    FF8!<#% wwyOD6>R$r{F"+//"3}h,, vvj7H2EFH 	,,!,["0M MI")1'):,4LLQ,G-68 #4  ) 5<<>*12r   c                    V ^8  d   QhRRRR/# )r   rF  r   r"   r   r   )r#   s   "r   r$   rJ    s      d { r   c                	   V P                   R 8X  d   RpMbV P                   R8X  d   RpMNV P                   R8X  d   RpM:V P                   R8X  d   RpM&\        RV P                   : R	V P                   24      hW P                  .pV'       dH   V P                  '       d6   V P                   F%  pVP	                  R
4       VP	                  V4       K'  	  V# )denyz-Dallowz-Awarnz-Wforbidz-Fzinvalid level z for z--check-cfg)rC  r   r    rF  r   )r4   rF  flagargsargs   &&   r   to_argumentsLint.to_arguments  s    ::DZZ7"DZZ6!DZZ8#D >$**uTYYK!PQQii ~~M*C  & r   r   N)
r   r   r   r   r?   r   r   r   re  r   r   r   r   rB  rB    s;     IM&& , r   rB  c                  P   ] tR tRt$ RtR]R&   ]P                  ! ]R7      t	R]R&   ]P                  ! ]R7      t
R]R&   ]P                  ! ]R7      tR]R	&   R
tR]R&   ]P                  ! ]R7      tR]R&   ]P                  ! ]R7      tR]R&   ]P                  ! ]R7      tR]R&   ]P                  ! ]R7      tR]R&   ]P                  ! ]R7      tR]R&   ]P                  ! ]R7      tR]R&   ]P                  ! ]R7      tR]R&   R R lt]R R l4       t]R"R R  ll4       tR!tR
# )#Manifesti  a  Cargo Manifest definition.

Most of these values map up to the Cargo Manifest, but with default values
if not provided.

Cargo subprojects can contain what Meson wants to treat as multiple,
interdependent, subprojects.

:param path: the path within the cargo subproject.
rz   r   r   T.Dict[str, Dependency]r  dev_dependenciesbuild_dependenciesNzT.Optional[Library]r!  zT.List[Binary]r  zT.List[Test]r  zT.List[Benchmark]r  zT.List[Example]examplezT.Dict[str, T.List[str]]r   z$T.Dict[str, T.Dict[str, Dependency]]targetrI  rU  c                   V ^8  d   QhRR/# )r   r"   r/   r   )r#   s   "r   r$   Manifest.__annotate__  s     0 0t 0r   c                	>    V P                   P                  R . 4       R# )r-   N)r   
setdefaultr   s   &r   __post_init__Manifest.__post_init__  s      B/r   c                   V ^8  d   QhRR/# )r   r"   zT.Dict[str, SystemDependency]r   )r#   s   "r   r$   ro    s     u u%B ur   c           	     	    V P                   P                  P                  R / 4      P                  4        UUu/ uF  w  rV\        P                  W4      bK  	  upp# u uppi )zsystem-deps)r   r   rh   ri   r   r   )r4   rv   r9   s   &  r   system_dependenciesManifest.system_dependencies  sQ    ?C||?T?T?X?XYfhj?k?q?q?st?stq#,,Q22?sttts   !Ac          
     ,    V ^8  d   QhRRRRRRRRRR	/# )
r   r   raw.Manifestr   r!   rd   r   r   r"   r
   r   )r#   s   "r   r$   ro     s9     M M< Ms M?T Mjm Mw{ Mr   c                	  aaaa \         P                  VR ,          S4      oRpSP                  '       dZ   \        P                  P                  \        P                  P                  VR4      4      '       d   \        P                  / S4      pR VV3R llo\        YRSP                   2S'       d   SP                  MRRR.\        V3R l4      \        S4      \        S4      \        S4      \        \        P                  4      \        V3R	 lVR
7      \        V3R l4      \        V3R l4      \        V3R l4      \        V3R l4      \        V3R l4      R7      # )r   Nr  c                    V ^8  d   QhRRRR/# )r   rs   r   r"   ri  r   )r#   s   "r   r$   'Manifest.from_raw.<locals>.__annotate__  s      	` 	`%7 	`<S 	`r   c                   < V P                  4        UUu/ uF  w  rV\        P                  WSS4      bK  	  upp# u uppi r2   )ri   r   r   )rs   rv   r9   r   rd   s   &  r   dependencies_from_raw0Manifest.from_raw.<locals>.dependencies_from_raw  s<    UVU\U\U^_U^TQAz**1iHHU^___s   #<zCargo.toml package badgesrd   c                   < S# r2   r   )r'   r  s   &r   r   #Manifest.from_raw.<locals>.<lambda>  s    r   c                0   < \         P                  V S4      # r2   )r  r   )rs   r  s   &r   r   r    s    G<L<LQPS<Tr   r3   c                Z   < V  Uu. uF  p\         P                  VS4      NK  	  up# u upi r2   )r%  r   rs   br  s   & r   r   r    s'    ^_<`^_YZV__QPS=T^_<`<`   (c                Z   < V  Uu. uF  p\         P                  VS4      NK  	  up# u upi r2   )r.  r   r  s   & r   r   r    s&    ]^=_]^XYdmmAs>S]^=_=_r  c                Z   < V  Uu. uF  p\         P                  VS4      NK  	  up# u upi r2   )r6  r   r  s   & r   r   r    s*    cd>ecd^_y?Q?QRSUX?Ycd>e>er  c                Z   < V  Uu. uF  p\         P                  VS4      NK  	  up# u upi r2   )r<  r   r  s   & r   r   r    s*    cd@ecd^_AQAQRSUXAYcd@e@er  c                   < V P                  4        UUu/ uF  w  rVS! VP                  R / 4      4      bK   	  upp# u uppi )r  )ri   rh   )rs   rv   r9   r~  s   &  r   r   r    sf      AB  AH  AH  AJ  @K  AJx|xyCXYZY^Y^_moqYrCs@s  AJ  @K  @Ks   $=)r_   r`   r   r  rj  rk  rU  r!  r  r  r  rl  rm  )rz   r   r   r   r   existsrn   r  rx   r    inheritablerT   rB  )r]   r   r   rd   r   r   r~  r  s   &&&ff @@r   r   Manifest.from_raw  s   s9~y9;;;277>>"'',,t\*JKK&&r3/G	` 	` !-@
+KMVI4I4I\`19;0G)5m)D.:;P.Q2>?T2U4@AV4W'3DMM'B%12T^e%f%12`%a&23_&`'34e'f)56e)f(4  6K  )LM 	Mr   r   )Nr   )r   r   r   r   r?   r   rf   r   rk   r  rj  rk  r!  r   r  r  r  rl  r   rm  rU  rr  r   rv  r   r   r   r   r   r   rh  rh    s(   	 ,7,=,=d,SL)S0;0A0ARV0W-W2=2C2CTX2Y/Y#C	#%++DACA$**4@D,@*00FEF*00FG_F)4):):4)PH&P3>3D3DUY3ZF0Z%++DAE<A0 u u M Mr   rh  c                     ] tR tRt$ Rt]P                  ! R R7      tR]R&   ]P                  ! ]	R7      t
R]R&   ]P                  ! ]	R7      tR]R	&   ]P                  ! ]	R7      tR]R
&   RtR]R&   ]P                  ! ]R7      tR]R&   ]P                  ! ]R7      tR]R&   ]P                  ! ]R7      tR]R&   RtR]R&   ]R R l4       t]R R l4       tRtR# )	Workspacei  z Cargo Workspace definition.
    c                 	    R # )2r   r   r   r   r   Workspace.<lambda>   s    cr   r   r!   r~   r   membersr   default_membersNzT.Optional[raw.Package]r   zT.Dict[str, raw.Dependency]r  rL  rU  r   r   zT.Optional[Manifest]root_packagec                   V ^8  d   QhRR/# )r   r"   zT.Dict[str, object]r   )r#   s   "r   r$   Workspace.__annotate__/  s     
 
0 
r   c                	    R V P                   /# rU  r  r   s   &r   r  Workspace.inheritable.  s    
 TZZ
 	
r   c               $    V ^8  d   QhRRRRRR/# )r   r   ry  r   r!   r"   r
   r   )r#   s   "r   r$   r  7  s!      < s t r   c                	    \        VR ,          V R4      pRV9   d   \        P                  WVR4      Vn        VP                  '       g'   VP                  '       d   R.MVP
                  Vn        V# )rd   r  r   r   )rx   rh  r   r  r  r  )r]   r   r   wss   &&& r   r   Workspace.from_raw6  s\    s;/kB&//2sCBO!!!*,///#rzzB	r   r   )r   r   r   r   r?   rf   r   r~   r   r   r  r   r  r   rk   r  rU  r   r  r   r  r   r   r   r   r   r   r  r    s      %%kBHcB&,,TBG[B&,,TBG[B#.#4#4T#JO[J (,G$+0;0A0ARV0WL-W1<1B1BSW1XE.X#.#4#4T#JH J *.L&-
 
  r   r  c                      ] tR tRt$ RtR]R&   R]R&   RtR]R&   RtR]R	&   ]P                  ! ]
R
7      tR]R&   ]R R l4       t]R R l4       t]R R l4       tRtR# )CargoLockPackagei@  z9A description of a package in the Cargo.lock file format.r!   r    r   Nr|   sourcechecksumr   r   r  c                   V ^8  d   QhRR/# r   r   )r#   s   "r   r$   CargoLockPackage.__annotate__L  r   r   c                	B    \         P                  ! V P                   4      # r2   r   r   s   &r   r   CargoLockPackage.apiK  r   r   c                   V ^8  d   QhRR/# r   r   )r#   s   "r   r$   r  P  s     , ,C ,r   c                	:    V P                    R V P                   R2# )r&   z-rs)r    r   r   s   &r   
subprojectCargoLockPackage.subprojectO  s    ))AdhhZs++r   c                    V ^8  d   QhRRRR/# )r   r   zraw.CargoLockPackager"   r
   r   )r#   s   "r   r$   r  T  s     A A/ AD Ar   c                	    \        WR 4      # )zCargo.lock package)rx   r]   r   s   &&r   r   CargoLockPackage.from_rawS  s     +?@@r   r   )r   r   r   r   r?   r   r  r  rf   r   r   r  r   r   r  r   r   r   r   r   r   r  r  @  sw     D
IL"FO" $Ho$ + 1 1$ GL+G) ) , , A Ar   r  c                      ] tR tRt$ Rt^tR]R&   ]P                  ! ]	R7      t
R]R&   ]P                  ! ]R7      tR]R	&   ]P                  ! ]R7      tR
]R&   R R lt]R R l4       t]R R l4       tRtR# )	CargoLockiX  z,A description of the Cargo.lock file format.rD  r   r   zT.List[CargoLockPackage]r   zT.Dict[str, str]r   zT.Dict[str, PackageDefinition]wrapsc                    V ^8  d   QhRRRR/# )r   r    r!   r"   zT.Sequence[CargoLockPackage]r   )r#   s   "r   r$   CargoLock.__annotate__b  s     $ $# $"> $r   c                	(    V P                   V,          # r2   )	_versions)r4   r    s   &&r   namedCargoLock.namedb  s    ~~d##r   c                   V ^8  d   QhRR/# )r   r"   z%T.Dict[str, T.List[CargoLockPackage]]r   )r#   s   "r   r$   r  f  s      @ r   c                	    \         P                  ! \        4      pV P                   F$  pWP                  ,          P                  V4       K&  	  VP                  4        F  pVP                  R R R7       K  	  V# )Tc                ,    \        V P                  4      # r2   )r   r   )r  s   &r   r   %CargoLock._versions.<locals>.<lambda>k  s    GCKK<Pr   )reverserQ  )collectionsdefaultdictr   r   r    r   rS  rT  )r4   versionsr  pkg_versionss   &   r   r  CargoLock._versionse  s_    **40<<CXX%%c*  $OO-Ld0PQ .r   c                    V ^8  d   QhRRRR/# )r   r   zraw.CargoLockr"   r
   r   )r#   s   "r   r$   r  o  s     l l= lT lr   c                	2    \        WR \        R 4      R7      # )z
Cargo.lockc                V    V  Uu. uF  p\         P                  V4      NK  	  up# u upi r2   )r  r   )rs   ps   & r   r   $CargoLock.from_raw.<locals>.<lambda>q  s'    gh@ighbcAQAZAZ[\A]gh@i@is   &)r   )rx   rT   r  s   &&r   r   CargoLock.from_rawn  s     <)56i)jl 	lr   r   N)r   r   r   r   r?   r   r   rf   r   r   r   rk   r   r  r  r   r  r   r   r   r   r   r   r  r  X  s     7GS(3(9(9$(OG%O!,!2!24!HHH,7,=,=d,SE)S$   l lr   r  )NN)1r?   
__future__r   r  rf   r   typingr  r   r   mesonlibr   r   r   r   TYPE_CHECKINGtyping_extensionsr	   r
   r   r   r   r   	wrap.wrapr   r   TypeVarr   rp   r)   r+   rA   rT   rx   	dataclassrz   r   r   r
  r  r%  r.  r6  r<  rB  rh  r  r  r  r   r   r   <module>r     su   1 "   	   = = ???044-NH N ii01; ", ," "7< 7M` (_ (_ (_V %H %H %HP K| K| K|\   " ek e e$ 	D[ 	D 	D :; : : : : : :k : : 1 1 1h ;M ;M ;M| " " "J A A A. l l lr   