+
    WBi#                       R t ^ RIHt ^ 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t^ 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t^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt]P8                  R]8  d   ^ RItM^ 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(t$^ RI#H)t)H*t*  ^ RI+H,t,H-t- ]P`                  '       dZ   ^ R	IH1t1H2t2H3t3H4t4H5t5H6t6H7t7H8t8H9t9H:t:H;t;H<t<H=t= ^ R
I#H>t>H?t?H@t@HAtAHBtBHCtC ]A! R4      tD]<! R4      tE]6R^,          tF]@]F]5]G,          3,          tHRtI]J! ]K! ]L]"P                  P                  R4      R,          4      4      tN]NR_8  d   R0M0 R`mtORtPRtQ. R^OtR]
P                  P                  4       tU]P                  ! R4      tW]X;QJ d0    R ]
P                  P                   4       F  '       d   K   RM%	  RM!! R ]
P                  P                   4       4      '       g   Q hRRRRRRRRRRR R!R"R#R$R#/tZR% R& lt[ ! R' R(4      t\]P                  ! 4       R) R* l4       t^R+ R, lt_RaR- R. llt` ! R/ R04      ta ! R1 R2]b4      tc ! R3 R4]c4      td ! R5 R6]c4      te ! R7 R8]c4      tf ! R9 R:]"P                  4      thR; R< lti ! R= R>4      tj ! R? R@]j4      tkRA RB ltlRC RD ltm ! RE RF4      tn]P                  RbRG RH ll4       tpRI RJ ltqRbR]Q/RK RL llltrR]P/RM RN lltsRO RP lttRQ RR ltu]uRbRS RT ll4       tv]uRbRU RV ll4       tw]wtx]uRbRW RX ll4       ty]uRaRY RZ ll4       tz]uRaR[ R\ ll4       t{R#   ]. d    R R lt- ! R R]/4      t, ELi ; i)cz6Meson Python build backend

Implements PEP 517 hooks.
)annotationsN)cached_propertyread_binary)InvalidLicenseExpressioncanonicalize_license_expressionc                    V ^8  d   QhRRRR/# )   sstrreturn )formats   "5/usr/lib/python3.14/site-packages/mesonpy/__init__.py__annotate__r   >   s      3 3     c                6    \         P                  ! R ^R7       V # )zcanonicalization and validation of license expression in "project.license" as defined by PEP-639 requires packaging version 24.2 or later.
stacklevel)warningswarn)r	   s   &r   r   r   >   s    NZ[	] r   c                      ] tR t^DtRtR# )r   r   N)__name__
__module____qualname____firstlineno____static_attributes__r   r   r   r   r   D   s    r   r   )AnyCallableDefaultDictDictListLiteralOptionalSequenceTextIOTupleTypeTypeVarUnion)
CollectionIteratorMapping	ParamSpecPathSelfPTz0.18.0.:Nr   Nversionz1.8.2z0.63.3z,^[^.]+\.(?:(?P<abi>[^.]+)\.)?(?:so|pyd|dll)$c              #  ^   "   T F#  p\         P                  ! \        R V 24      x  K%  	  R# 5i)fooN)rematch_EXTENSION_SUFFIX_REGEX.0xs   & r   	<genexpr>r;   a   s'     
hAgA288+s1#Y77Ags   +-FTz{bindir}scriptsz{py_purelib}purelibz{py_platlib}platlibz{moduledir_shared}z{includedir}headersz	{datadir}dataz{libdir}mesonpy-libsz{libdir_shared}c                    V ^8  d   QhRRRR/# )r   sourceszDict[str, Dict[str, Any]]r   0DefaultDict[str, List[Tuple[pathlib.Path, str]]]r   )r   s   "r   r   r   r   s     / /4 /9i /r   c                6  a \         P                  ! \        4      p/ pV P                  4        EF\  w  r4VP                  4        EFA  w  rV\        P
                  ! VR,          4      oSP                  ^ ,          p\        P
                  ! SP                  R,          !  p\        P                  V4      p	V	f   \        R\        S4      : 24      hV	R8X  g   V	R8X  d   SP                  ^,          p
VP                  W4      pW8w  d   \        P                  ! \        P
                  ! V	.SP                  R,          O5!  4      p\        P                  ! V\        V3R lW,           4       4      ,          4      p\        RV
 RV	 R	V R
V: R	V: R24      hVR8X  g/   VR8X  Ed   \        P                  P!                  V4      '       Ed   VP                  R. 4       Uu0 uF"  p\        P                  P#                  V4      kK$  	  ppVP                  R. 4       Uu0 uF"  p\        P                  P#                  V4      kK$  	  pp\        P$                  ! V4       EF  w  pppVP'                  4        F]  p\        P                  P)                  VV4      p\        P                  P+                  VV4      pVV9   g   KL  VP-                  V4       K_  	  VP/                  4        \1        V4       Fn  p\        P                  P)                  VV4      p\        P                  P+                  VV4      pVV9   d   KL  VV,          pW,          P3                  VV34       Kp  	  EK	  	  EK)  W,          P3                  W34       EKD  	  EK_  	  V# u upi u upi )zBMap files to the wheel, organized by wheel installation directory.destination:   NNzBCould not map installation path to an equivalent wheel directory: r=   r>   c              3     <"   T F4  w  rVP                   ^ ,          SP                   ^,          8X  g   K0  Vx  K6  	  R# 5i)    N)parts)r9   dr	   rF   s   &  r   r;    _map_to_wheel.<locals>.<genexpr>   s8     1y@RVWV]V]^_V`doduduvwdxVx!!@Rs   -?
?zThe z package is split between z and z: z, a "pure: false" argument may be missing in meson.build. It is recommended to set it in "import('python').find_installation()"install_subdirstargetsexclude_filesexclude_dirs)collectionsdefaultdictlistitemspathlibr-   rJ   _INSTALLATION_PATH_MAPget
BuildErrorr
   
setdefaultosfspathnextpathisdirnormpathwalkcopyjoinrelpathremovesortsortedappend)rC   wheel_filespackageskeygroupsrctargetanchordstr]   packageotherthisthatr:   rO   rP   rootdirnames	filenamesnamedirsrcrc   filesrcfiledstrF   s   &                        @r   _map_to_wheelr{   r   s   DOD[D[\`DaK!Hmmo
 ;;=KC!,,vm'<=K &&q)F,, 1 1" 56C)--f5D| #efijufvey!z{{y DI$5%++A. ++G:=99W\\$%O9J9J29N%OPD99UT1y@R1y-y%yzD$wi'A$uUGSU(%x 0bcd d
 ''3)+;c@R@R>DjjZ\>] ^>]!1!1!!4>] ^=CZZXZ=[\=[ 0 0 3=[\13-D(I (!#dD!9"$''//&#">"l2$OOD1	 !0 MMO &y 1"$'',,tT":"$''//'3"?"m3$"%-#)00'71CD !2 2>  !((#4O ) &T ) !_\s   !(N(Nc                  <    ] tR t^tRtRtRtRt]R R l4       t	Rt
R# )	stylez[31mz[93mz	[36m[1mz[0mc                    V ^8  d   QhRRRR/# )r   stringr
   r   r   )r   s   "r   r   style.__annotate__   s     = =c =c =r   c                2    \         P                  ! RRV 4      # )z(Strip ANSI escape sequences from string.z\033\[[;?0-9]*[a-zA-Z] )r5   subr   s   &r   stripstyle.strip   s     vv/V<<r   r   N)r   r   r   r   ERRORWARNINGINFORESETstaticmethodr   r   r   r   r   r}   r}      s(    EGDE= =r   r}   c                   V ^8  d   QhRR/# r   r   boolr   )r   s   "r   r   r      s      4 r   c                    \         P                  P                  RR7       R\        P                  9   d   R# R\        P                  9   gI   \         P                  P                  4       '       d   \        P                  P                  R4      R8w  d[   \         P                  R8X  dD   \        P                  P                  R	4      '       g   \        P                  P                  4       # R
# R# )z2Determine whether logging should use ANSI escapes.replace)errorsNO_COLORFFORCE_COLORTERMdumbwin32ANSICONT)sysstdoutreconfigurerZ   environisattyrW   platformmesonpy_utilsetup_windows_consoler   r   r   _use_ansi_escapesr      s     JJ),RZZ

"cjj&7&7&9&9bjjnnV>TX^>^<<7"2::>>)+D+D==6688r   c               $    V ^8  d   QhRRRRRR/# )r   r   r
   kwargsr   r   Noner   )r   s   "r   r   r      s!         r   c                h    \        4       '       g   \        P                  V 4      p \        V 3/ VB  R # N)r   r}   r   print)r   r   s   &,r   _logr      s&    V$	&Fr   c               4    V ^8  d   QhRRRRRRRRR	R
RRRR/# )r   messagezUnion[Warning, str]categoryzType[Warning]filenamer
   linenointfilezOptional[TextIO]lineOptional[str]r   r   r   )r   s   "r   r   r      sW     	J 	J 	J	J 	J 		J
 	J 	J 
	Jr   c                d    \        \        P                   R\        P                   RV  24       R# )zICallable to override the default warning handler, to have colored output.zmeson-python: warning: N)r   r}   r   r   )r   r   r   r   r   r   s   &&&&&&r   _showwarningr      s&     	EMM?0Qwi	HIr   c                  F    ] tR t^tR R ltR R ltR R ltR R ltR	tR
# )_clicounterc                    V ^8  d   QhRRRR/# )r   totalr   r   r   r   )r   s   "r   r   _clicounter.__annotate__   s     / /c /d /r   c                	J    Wn         \        P                  ! ^R7      V n        R# )rG   )startN)_total	itertoolscount_count)selfr   s   &&r   __init___clicounter.__init__   s    ooA.r   c                   V ^8  d   QhRR/# )r   r   r.   r   )r   s   "r   r   r      s      4 r   c                	    V # r   r   r   s   &r   	__enter___clicounter.__enter__   s    r   c                    V ^8  d   QhRRRR/# )r   descriptionr
   r   r   r   )r   s   "r   r   r      s      # $ r   c                	    R \        V P                  4       RV P                   RV 2p\        4       '       d   \	        RVRRRR7       R# \	        V4       R# )	[/z] r   z[0KT)sependflushN)r\   r   r   r   r   )r   r   r   s   && r   update_clicounter.update   sH    4$%Qt{{m2k]C$"($?$Kr   c               (    V ^8  d   QhRRRRRRRR/# )r   exc_typer   	exc_valueexc_tbr   r   r   )r   s   "r   r   r      s(        c d r   c                	>    \        4       '       d   \        4        R # R # r   )r   r   )r   r   r   r   s   &&&&r   __exit___clicounter.__exit__   s    G r   )r   r   N)	r   r   r   r   r   r   r   r   r   r   r   r   r   r      s    / r   r   c                  "    ] tR t^tR R ltRtR# )Errorc                   V ^8  d   QhRR/# r   r   r
   r   )r   s   "r   r   Error.__annotate__   s     ! ! !r   c                	:    \        V P                  ^ ,          4      # rI   )r
   argsr   s   &r   __str__Error.__str__   s    499Q<  r   r   N)r   r   r   r   r   r   r   r   r   r   r      s    ! !r   r   c                      ] tR t^tRtRtR# )ConfigErrorz#Error in the backend configuration.r   Nr   r   r   r   __doc__r   r   r   r   r   r      s    -r   r   c                      ] tR t^tRtRtR# )rX   zError when building the wheel.r   Nr   r   r   r   rX   rX      s    (r   rX   c                      ] tR t^tRtRtR# )MesonBuilderErrorz&Error when building the Meson package.r   Nr   r   r   r   r   r      s    0r   r   c                     a  ] tR t^tR V 3R llt]]P                  P                  R3R V 3R lll4       t	]
R R l4       tRtV ;t# )	Metadatac               $    V ^8  d   QhRRRRRR/# )r   rw   r
   r   r   r   r   )r   s   "r   r   Metadata.__annotate__   s!     0 0S 0 0 0r   c                	   < \         P                  ! R V\         P                  4      '       g   \        P                  ! RV R24      h\
        SV `  ! V.VO5/ VB  R# )z)^([A-Z0-9]|[A-Z0-9][A-Z0-9._-]*[A-Z0-9])$zInvalid project name "z". A valid name consists only of ASCII letters and numbers, period, underscore and hyphen. It must start and end with a letter or numberN)r5   r6   
IGNORECASEpyproject_metadataConfigurationErrorsuperr   )r   rw   r   r   	__class__s   &&*,r   r   Metadata.__init__   s\    xxDdBMMZZ$77( /h ij j 	///r   Nc               (    V ^8  d   QhRRRRRRRR/# )	r   r@   zMapping[str, Any]project_dirr-   metadata_versionr   r   r.   r   )r   s   "r   r   r     s2        (	
 
r   c                	N  < \         SV `  WV4      p\        VP                  4      \        ,
          pV'       d2   R P                  R V 4       4      p\        P                  ! RV 24      h\        VP                  \        4      '       d   \        VP                  4      Vn	        V# )z, c              3  .   "   T F  pR V R 2x  K  	  R# 5i"Nr   r8   s   & r   r;   *Metadata.from_pyproject.<locals>.<genexpr>  s     E1DA1#Qx1D   zUnsupported dynamic fields: )r   from_pyprojectsetdynamic_SUPPORTED_DYNAMIC_FIELDSrb   r   r   
isinstancelicenser
   r   )clsr@   r   r   metadataunsupported_dynamicfieldsr   s   &&&&   r   r   Metadata.from_pyproject  s     7)$=MN "("2"236OOYYE1DEEF$77:VW]V^8_`` h&&,,>x?O?OPHr   c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   r     s     5 53 5r   c                :    V P                   P                  RR4      # )z.Name to be used in wheel and sdist file names.-_)canonical_namer   r   s   &r   distribution_nameMetadata.distribution_name  s     ""**344r   r   )r   r   r   r   r   classmethodrZ   r]   curdirr   propertyr  r   __classcell__)r   s   @r   r   r      sJ    0 0  GGNN*.	  ( 5 5r   r   c                    V ^8  d   QhRRRR/# )r   r   r-   r   r   r   )r   s   "r   r   r      s     + +T +d +r   c                   \        V R4      ;_uu_ 4       p\        P                  R8X  d   VP                  ^4      R9   uuRRR4       # \        P                  R8X  g   \        P                  R8X  d   VP                  ^4      R8H  uuRRR4       # VP                  ^4      R8H  uuRRR4       #   + '       g   i     R# ; i)	zCheck if file is a native file.rbdarwinNr   cygwins   MZs   ELF)s   s   s   s   )openr   r   read)r   fs   & r   
_is_nativer     s     
dD		Q<<8#66!9 !  
	 \\W$(@66!9% 
	 66!9
* 
			s   )B/	=B/B//C 	c                  <   ] tR tRtRtR R lt]R R l4       t]R R l4       t]	R	 R
 l4       t
]R R l4       t]R R l4       t]R R l4       t]R R l4       t]R R l4       t]R R l4       t]R R l4       t]	R R l4       tR R ltR R ltR R  ltR!tR"# )#_WheelBuilderi2  z+Helper class to build wheels from projects.c          
     ,    V ^8  d   QhRRRRRRRRRR	/# )
r   r  r   manifestz)Dict[str, List[Tuple[pathlib.Path, str]]]limited_apir   allow_windows_shared_libsr   r   r   )r   s   "r   r   _WheelBuilder.__annotate__5  sC     
D 
D
D <
D 	
D
 $(
D 

Dr   c                	6    Wn         W n        W0n        W@n        R # r   )	_metadata	_manifest_limited_api_allow_windows_shared_libs)r   r  r!  r"  r#  s   &&&&&r   r   _WheelBuilder.__init__5  s     "!'*C'r   c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   r$  B  s     8 8D 8r   c                	J    \        V P                  P                  R 4      4      # )rA   r   r'  rW   r   s   &r   _has_internal_libs _WheelBuilder._has_internal_libsA  s    DNN&&~677r   c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   r$  F  s     3 3 3r   c                	J    \        V P                  P                  R 4      4      # )r>   r-  r   s   &r   _has_extension_modules$_WheelBuilder._has_extension_modulesE  s     DNN&&y122r   c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   r$  K  s      t r   c                    V P                   R,          '       g   V P                   R,          '       d   R# V P                   R,           F  w  r\        V4      '       g   K   R# 	  R# )z-Whether the wheel is architecture independentr>   rA   Fr<   T)r'  r  )r   r  r   s   &  r   _pure_WheelBuilder._pureJ  sO     >>)$$~(F(F~~i00GA$ 1 r   c                   V ^8  d   QhRR/# )r   r   zmesonpy._tags.Tagr   )r   s   "r   r   r$  U  s     
? 
?& 
?r   c                $   V P                   '       d"   \        P                  P                  RRR4      # V P                  '       g"   \        P                  P                  RRR4      # \        P                  P                  RV P
                  R4      # )zWheel tags.py3noneanyN)r6  r   _tagsTagr2  _stable_abir   s   &r   tag_WheelBuilder.tagT  sl     :::==$$UFE::***
 ==$$UFD99}}  t'7'7>>r   c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   r$  b  s     Y Yc Yr   c                z    V P                   P                   RV P                   P                   RV P                   2# )z/Wheel name, this includes the basename and tag.r  )r&  r  r2   r@  r   s   &r   rw   _WheelBuilder.namea  s5     ..2231T^^5K5K4LAdhhZXXr   c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   r$  g  s     X Xs Xr   c                	b    V P                   P                   R V P                   P                   R2# )r  z
.dist-infor&  r  r2   r   s   &r   _distinfo_dir_WheelBuilder._distinfo_dirf  s+    ..2231T^^5K5K4LJWWr   c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   r$  k  s     S S3 Sr   c                	b    V P                   P                   R V P                   P                   R2# )r  z.datarG  r   s   &r   	_data_dir_WheelBuilder._data_dirj  s+    ..2231T^^5K5K4LERRr   c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   r$  o  s     C C3 Cr   c                	6    R V P                   P                   R2# )r1   z.mesonpy.libs)r&  r  r   s   &r   	_libs_dir_WheelBuilder._libs_dirn  s    4>>334MBBr   c                   V ^8  d   QhRR/# r   r   bytesr   )r   s   "r   r   r$  s  s     
 
u 
r   c                    \         P                  ! R4      P                  4       P                  V P                  '       d   RMRV P
                  R7      P                  4       # )z Return WHEEL file for dist-info.z
            Wheel-Version: 1.0
            Generator: meson
            Root-Is-Purelib: {is_purelib}
            Tag: {tag}
        truefalse)
is_purelibr@  )textwrapdedentr   r   r6  r@  encoder   s   &r   wheel_WheelBuilder.wheelr  sN        
 UWVV!%v  
 &(	r   c                   V ^8  d   QhRR/# rS  r   )r   s   "r   r   r$    s       r   c                   V P                   P                  P                  4       pVP                  RV P                   P                  RV P                   P
                  /4       RpV FV  pW,          '       g   K  VRV R2,          pW,          P                  4        F  w  rEW$ RV R2,          pK  	  VR,          pKX  	  VP                  4       # )zdist-info entry_points.txt.console_scriptsgui_scriptsr   r   z]
z = 
)r&  entrypointsra   r   r<   ra  rT   r[  )r   r@   text
entrypointrw   rm   s   &     r   entrypoints_txt_WheelBuilder.entrypoints_txt  s     ~~))..0t~~554>>55
 	
 J!J<s++$($4$:$:$<LDfCxr22D %=  {{}r   c                   V ^8  d   QhRR/# r   r   r   r   )r   s   "r   r   r$    s      ] r   c                	f   V P                   '       d   R \        P                  9  d   V P                  R,           Fp  w  r\        P                  VP                  4      pV'       g   K.  VP                  R4      pVf   KE  VR8w  g   KN  \        R\        P                  ! V4      : R24      h	  R# R# )__pypy__r>   abiNabi3zPThe package declares compatibility with Python limited API but extension module z) is tagged for a specific Python version.)r(  r   builtin_module_namesr'  r7   r6   rw   rk   rX   rZ   r[   )r   r]   r  r6   rl  s   &    r   r?  _WheelBuilder._stable_abi  s     33K3K!K
  >>)44/55dii@5++e,C3&=(&&(iio%88acd d 5 r   c               (    V ^8  d   QhRRRRRRRR/# )	r   
wheel_filemesonpy._wheelfile.WheelFileoriginr-   rF   pathlib.Pathr   r   r   )r   s   "r   r   r$    s+      (D d am rv r   c                   V P                   '       d   \        V4      '       d   \        P                  R8X  d   V P                  '       g   \        R4      h\        P                  P                  V P                  VP                  4      p\        P                  P                  W$4        VP                  W#P                  4       4       R#   \          d1    \        P"                  ! T4      P%                  R4      '       g   h  R# i ; i)zAdd a file to the wheel.r   zLoading shared libraries bundled in the Python wheel on Windows requires setting the DLL load path or preloading. See the documentation for the "tool.meson-python.allow-windows-internal-shared-libs" option.z.pdbN)r.  r  r   r   r)  NotImplementedErrorrZ   r]   rc   rP  parentr   _rpath	fix_rpathwriteas_posixFileNotFoundErrorr[   endswith)r   rq  rs  rF   libspaths   &&&& r   _install_path_WheelBuilder._install_path  s     """&!!<<7*43R3R3R-]^ ^ 77??4>>;;M;MN((:	V%9%9%;<  	99V$--f55 6	s   *C 5DDDc                    V ^8  d   QhRRRR/# )r   whlrr  r   r   r   )r   s   "r   r   r$    s     \ \)E \$ \r   c           	     	X   VP                  V P                   R 2\        V P                  P	                  4       4      4       VP                  V P                   R2V P
                  4       V P                  '       d*   VP                  V P                   R2V P                  4       \        V P                  P                  \        P                  4      '       df   V P                  P                  P                  pV'       d>   VP                  W P                   R\        P                  P                  V4       24       \!        V P                  RR4      pV'       dN   V FE  pVP                  W@P                   R\"        P$                  ! V4      P'                  4        24       KG  	  R# R# )z	/METADATAz/WHEELz/entry_points.txtr   license_filesNz
/licenses/)writestrrH  rT  r&  	as_rfc822r\  rf  r  r  r   Licenser   rz  rZ   r]   basenamegetattrrU   r-   r{  )r   r  license_filer  r  s   &&   r   _wheel_write_metadata#_WheelBuilder._wheel_write_metadata  s<   **+95uT^^=U=U=W7XY**+62DJJ?LLD..//@A4CWCWX dnn,,.@.H.HII>>1166L		,+=+=*>a@P@PQ]@^?_(`a  F"		! 2 23:gll1o>V>V>X=YZ[ # r   c                    V ^8  d   QhRRRR/# r   	directoryr-   r   rt  r   )r   s   "r   r   r$    s      t  r   c                	   \         P                  ! WP                   R 24      p\        P                  P                  VR4      ;_uu_ 4       pV P                  V4       \        \        R V P                  P                  4        4       4      4      ;_uu_ 4       pV P                  '       d   RMRpV P                  P                  4        F  w  rgV Fy  w  rVP                  V	4       We8X  d   MJVR8X  d#   \         P                  ! V P                  V4      pM!\         P                  ! V P                  Wh4      pV P!                  W9V4       K{  	  K  	  RRR4       RRR4       V#   + '       g   i     L; i  + '       g   i     T# ; i).whlwc              3  8   "   T F  p\        V4      x  K  	  R # 5ir   )lenr8   s   & r   r;   &_WheelBuilder.build.<locals>.<genexpr>  s      I1HAQ1Hs   r=   r>   rA   N)rU   r-   rw   r   
_wheelfile	WheelFiler  r   sumr'  valuesr6  rT   r   rP  rL  r  )
r   r  rq  r  counterrt   r]   entriesro   rl   s
   &&        r   build_WheelBuilder.build  s   \\)		{$-?@
))*c::c&&s+S I1F1F1H IIJJg$(JJJyI%)^^%9%9%;MD$+s+< !^3"),,t~~s"CC"),,t~~t"IC**3S9 %, &<	 K ;* % KJ ;:* s&   AE7B9E$	E7$E4/E77F	)r)  r(  r'  r&  N)r   r   r   r   r   r   r  r.  r2  r   r6  r@  rw   rH  rL  rP  r\  rf  r?  r  r  r  r   r   r   r   r  r  2  s   5
D 8 8 3 3   
? 
? Y Y X X S S C C 
 
  $  *6\& r   r  c                  <    ] tR tRt]R R l4       tRR R lltRtR# )	_EditableWheelBuilderi  c                   V ^8  d   QhRR/# )r   r   zCollection[str]r   )r   s   "r   r   "_EditableWheelBuilder.__annotate__  s      O r   c                	D   \        4       pV P                   F  pV P                  V,           Fk  w  r4VP                  ^ ,          P                  R4      w  rVpV'       d)   Wg,           pV\        9   d   VP                  V4       KX  KZ  VP                  V4       Km  	  K  	  V# )rI   r1   )r   r'  rJ   	partition	_SUFFIXESadd)	r   modulestype_r]   r  rw   dotextsuffixs	   &        r   _top_level_modules(_EditableWheelBuilder._top_level_modules  s    %^^E>>%00!%A!8!8!=3 YF*D) + KK% 1 $ r   c               0    V ^8  d   QhRRRRRRRRRR	R
R/# )r   r  r-   
source_dirrt  	build_dirbuild_command	List[str]verboser   r   r   )r   s   "r   r   r    s9      t  , &15BNr   c                	:   \         P                  ! WP                   R 24      p\        P                  P                  VR4      ;_uu_ 4       pV P                  V4       VP                  V P                   R2VP                  4       P                  R4      4       RV P                  P                   R2pVP                  V R2\        RR4      \        P                  ! R	V P                  P                  : R
V P                   : R
\"        P$                  ! V4      : R
V: R
V: R24      P                  R4      ,           4       VP                  V P                  P&                   R2RV 2P                  R4      4       RRR4       V#   + '       g   i     T# ; i)r  r  z/direct_url.jsonutf-8r  _editable_loader.pyr   z_editable.pyz4
                   install(
                       z,
                       z,
                   )z-editable.pthzimport N)rU   r-   rw   r   r  r  r  r  rH  as_urir[  r&  r  r   rY  rZ  r  rZ   r[   r  )	r   r  r  r  r  r  rq  r  loader_module_names	   &&&&&&   r   r  _EditableWheelBuilder.build  s    \\)		{$-?@
))*c::c&&s+LL%%&&67!!#**735
 $%T^^%E%E$FFV!WLL%&c*I~6 N++. ///2 3		),/ 0%( ){ #J :  )	* LL>>001?,-.55g>@) ;0 1 ;:0 s   D3F		F	r   NF)r   r   r   r   r  r  r  r   r   r   r   r  r    s      r   r  c                    V ^8  d   QhRRRR/# )r   	pyprojectDict[str, Any]r   r   )r   s   "r   r   r   !  s     *. *.. *.^ *.r   c                    R  R lpR R lpR R lpR R lpT! RTR	TR
TRT! \          Uu/ uF  qUVbK  	  up4      /4      pV P                  R/ 4      P                  R/ 4      pV! VR4      # u upi )c                    V ^8  d   QhRRRR/# )r   schemez$Dict[str, Callable[[Any, str], Any]]r   z$Callable[[Any, str], Dict[str, Any]]r   )r   s   "r   r   0_validate_pyproject_config.<locals>.__annotate__#  s      ; @d r   c                   a  R  V 3R llpV# )c               $    V ^8  d   QhRRRRRR/# )r   valuer   rw   r
   r   r  r   )r   s   "r   r   @_validate_pyproject_config.<locals>._table.<locals>.__annotate__$  s!     		 		 		3 		> 		r   c                   < \        V \        4      '       g   \        R V R24      h/ pV P                  4        F;  w  r4SP	                  V4      pVf   \        RV RV R24      hV! WA RV 24      W#&   K=  	  V# )Configuration entry "z" must be a tablezUnknown configuration entry "r1   r   )r  dictr   rT   rW   )r  rw   tablerj   valcheckr  s   &&    r   func8_validate_pyproject_config.<locals>._table.<locals>.func$  s    eT**!$9$?P"QRRE!KKM

3=%(EdV1SEQR&STT"3&#8
	 *
 Lr   r   )r  r  s   f r   _table*_validate_pyproject_config.<locals>._table#  s    		 		 r   c               $    V ^8  d   QhRRRRRR/# r   r  r   rw   r
   r   r  r   )r   s   "r   r   r  0  s!       3 9 r   c                    \        V \        4      '       d;   \        ;QJ d    R  V  4       F  '       d   K   RM	  RM! R  V  4       4      '       g   \        RV R24      hV # )c              3  B   "   T F  p\        V\        4      x  K  	  R # 5ir   )r  r
   r8   s   & r   r;   ?_validate_pyproject_config.<locals>._strings.<locals>.<genexpr>1  s     1Te*Q2D2Des   FTr  z" must be a list of strings)r  rS   allr   r  rw   s   &&r   _strings,_validate_pyproject_config.<locals>._strings0  sJ    %&&cc1Te1Tccc1Te1T.T.T 5dV;VWXXr   c               $    V ^8  d   QhRRRRRR/# r   r  r   rw   r
   r   r   r   )r   s   "r   r   r  5  s!      S   r   c                P    \        V \        4      '       g   \        R V R24      hV # )r  z" must be a boolean)r  r   r   r  s   &&r   _bool)_validate_pyproject_config.<locals>._bool5  s*    %&& 5dV;NOPPr   c               $    V ^8  d   QhRRRRRR/# r   r  r   rw   r
   r   r   )r   s   "r   r   r  :  s!      s # # r   c                    \        V \        4      '       g   \        R V R24      h\        P                  P                  V 4      '       d    \        P                  P                  V 4      p V # )r  z" must be a string)r  r
   r   rZ   r]   isfileabspathr  s   &&r   _string_or_path3_validate_pyproject_config.<locals>._string_or_path:  sO    %%% 5dV;MNOO77>>%  GGOOE*Er   mesonlimited-api"allow-windows-internal-shared-libsr   toolzmeson-pythonztool.meson-python)_MESON_ARGS_KEYSrW   )r  r  r  r  r  rw   r  r  s   &       r   _validate_pyproject_configr  !  s    

 u,e'7
'7t(N'7
 	 F MM&"%))."=E%,--
s   A.c                    V ^8  d   QhRRRR/# )r   config_settingsr  r   r   )r   s   "r   r   r   N  s     / /~ /. /r   c                  a R R lpR R lpR R lpRVRVR	VR
VRVRVRV/o\         ;QJ d#    V3R l\         4       F  '       d   K   RM	  RM! V3R l\         4       4      '       g   Q h/ pV P                  4        F  w  rVSP                  V4      pVfi   \        P
                  ! VSP                  4       ^R7      pV'       d+   RP                  R V 4       4      p	\        RV RV	 R24      h\        RV R24      hV! We4      WE&   K  	  RR/p
V
P                  4        F5  w  r[WT9   d   W9   d   \        RV RV R24      hW9   g   K+  WK,          WE&   K7  	  V# )z.Validate options received from build frontend.c               $    V ^8  d   QhRRRRRR/# r  r   )r   s   "r   r   /_validate_config_settings.<locals>.__annotate__Q  s!      s # # r   c                P    \        V \        4      '       g   \        R V R24      hV # )zOnly one value for "z" can be specified)r  r
   r   r  s   &&r   _string*_validate_config_settings.<locals>._stringQ  s*    %%% 4TF:LMNNr   c               $    V ^8  d   QhRRRRRR/# r  r   )r   s   "r   r   r  V  s!      S   r   c                    R # )Tr   r  s   &&r   r  (_validate_config_settings.<locals>._boolV  s    r   c               $    V ^8  d   QhRRRRRR/# r  r   )r   s   "r   r   r  Y  s&     C C# CS CY Cr   c                R    \        \        V \        4      '       d   V .4      # T 4      # r   )rS   r  r
   r  s   &&r   _string_or_strings5_validate_config_settings.<locals>._string_or_stringsY  s#    
5# 6 6UHBBEBBr   builddir	build-direditable-verbosez	dist-argsz
setup-argszcompile-argszinstall-argsc              3  2   <"   T F  q R 2S9   x  K  	  R# 5i)-argsNr   )r9   rw   optionss   & r   r;   ,_validate_config_settings.<locals>.<genexpr>e  s     F5ETu~(5Es   FT)nz or c              3  .   "   T F  pR V R 2x  K  	  R# 5ir   r   )r9   r6   s   & r   r;   r   m  s     *MWEQugQ<Wr   zUnknown option "z". Did you mean ?r   zOption "z)" is a backward compatibility alias for "z". Only one can be used)	r  r  rT   rW   difflibget_close_matcheskeysrb   r   )r  r  r  r  configrj   r  parsermatchesalternativesaliasesaltr  s   &           @r   _validate_config_settingsr  N  sh   
C 	GWE'(**G 3F5EF333F5EFFFFFF%++-
S!>//W\\^qIG%{{*MW*MM!$4SE9I,WX"YZZ!$4SE";<<U( . 	ZG MMO=S]-VWZV[[rstt= +FK	 $ Mr   c                  Z   ] tR tRtRtR"R R lltR R ltR#R R	 llt]R
 R l4       t	]
P                  ! RR7      R R l4       t]
P                  ! 4       R R l4       t]R R l4       t]R R l4       t]R R l4       t]R R l4       t]R R l4       tR R ltR R ltR R  ltR!tR# )$Projecti  z3Meson project wrapper to generate Python artifacts.Nc          
     ,    V ^8  d   QhRRRRRRRRRR	/# )
r   r  r-   r  
meson_argszOptional[MesonArgs]editable_verboser   r   r   r   )r   s   "r   r   Project.__annotate__  sJ     ]l ]l]l ]l (	]l
 ]l 
]lr   c                	   \         P                  ! V4      P                  4       V n        \         P                  ! V4      P                  4       V n        W@n        V P                  R ,          V n        V P                  R,          V n        \        P                  ! \        4      V n        RV n        \        P                  ! V P                  P                  R4      P!                  RR7      4      p\#        V4      pVP%                  R/ 4      P'                  4        F'  w  rxV P                  V,          P)                  V4       K)  	  V'       d<   VP'                  4        F'  w  rxV P                  V,          P)                  V4       K)  	  \+        VP%                  R4      4      V n        \/        4       V n        V P0                  f   \3        R	\4         R
24      h\6        P8                  P;                  RV P0                  4       V P                  P=                  RRR7       \?        V P                  PA                  4       4      '       g   \C        V P                  4       \D        PF                  ! 4       PI                  R4      '       Ed   \6        P8                  P%                  RR4      PK                  4       p	V	'       Ed   \L        PN                  ! RRR7      p
V
PQ                  RRR7       V
PS                  V	PU                  4       4      w  rV'       d   \3        RV	: 24      h\W        VPX                  4      vrV'       d   \3        RV	: 24      h\Z        P\                  ! 4       w  pppVV8w  d   \6        P8                  P;                  RRV RV 24      pVP_                  V4      '       g   \3        RV	: RV: R24      hVR8X  d   RMTp\`        Pb                  ! RV: RV: R V: R!V: R"V: R#V: R$24      pV P                  Pe                  VRR7       V P                  R%,          P)                  R&\6        Pf                  ! V P                  4      34       \`        Pb                  ! R'\h        Pj                   R(24      pV P                  Pe                  VRR7       V P                  P                  R)4      Pm                  4       pV Po                  VR*7       R+V9   Ed   \p        Ps                  WPP                  4      V n:        R,V Pt                  Pv                  9   dU   V Px                  pVf   \z        P|                  ! R-4      h\~        P                  P                  V4      V Pt                  n@        R.V Pt                  Pv                  9   d8   V P                  pVf   \z        P|                  ! R/4      hVV Pt                  nC        R0V Pt                  Pv                  9   d   V P                  V Pt                  nE        MV P                  V Px                  ppV'       g   \z        P|                  ! R14      h\        R=8  d   R.V P                  R2V P                  /M/ p\q        R>R3VR,\~        P                  P                  V4      /VB V n:        V Pt                  P                  '       d   RV Pt                  P                  nI        \Z        P                  ! 4       P                  R44      V Pt                  P                  9  d9   \        R5V Pt                  P                   R6\Z        P                  ! 4        24      hVP%                  R7R4      V n        V P                  '       d4   V P                  R84      p\        R9 V 4       R4      pV'       g   RV n        V P                  '       d1   \        \D        P                  ! R:4      4      '       d   \        R;4      hVP%                  R<R4      V nR        R# )?zmeson-python-native-file.inizmeson-python-cross-file.iniFpyproject.tomlr  encodingr   r  NzCould not find ninja version z
 or newer.NINJAT)exist_okparentszmacosx-	ARCHFLAGSr   )add_helpallow_abbrevz-archrg   )actionz%Unknown flag specified in $ARCHFLAGS=z;Multi-architecture builds are not supported but $ARCHFLAGS=_PYTHON_HOST_PLATFORMr  z$ARCHFLAGS=z and $_PYTHON_HOST_PLATFORM=z do not agreearm64aarch64zP
                        [binaries]
                        c = ['cc', '-arch', z1]
                        cpp = ['c++', '-arch', z1]
                        objc = ['cc', '-arch', z4]
                        objcpp = ['c++', '-arch', zq]
                        [host_machine]
                        system = 'darwin'
                        cpu = z&
                        cpu_family = z?
                        endian = 'little'
                    setupz--cross-filez.
            [binaries]
            python = 'z
'
        zmeson-private/coredata.dat)r   projectr2   zMField "version" declared as dynamic but version is not defined in meson.buildr  zOField "license" declared as dynamic but license is not specified in meson.buildlicense-fileszUSection "project" missing in pyproject.toml and version is not defined in meson.buildr  rw   +z$The package requires Python version z, running on r  zintro-buildoptionsc              3  R   "   T F  qR ,          R8X  g   K  VR,          x  K  	  R# 5i)rw   zpython.allow_limited_apir  Nr   )r9   options   & r   r;   #Project.__init__.<locals>.<genexpr>  s"     pf&>UoCo/&//s   ''Py_GIL_DISABLEDzThe package targets Python's Limited API, which is not supported by free-threaded CPython. The "python.allow_limited_api" Meson build option may be used to override the package default.r  rI   	   r   )SrU   r-   absolute_source_dir
_build_dir_editable_verbose_meson_native_file_meson_cross_filerQ   rR   rS   _meson_argsr(  tomllibloadsjoinpath	read_textr  rW   rT   extend_get_meson_command_meson_env_ninja_command_ninjar   _NINJA_REQUIRED_VERSIONrZ   r   rY   mkdirr<  iterdir_add_ignore_files	sysconfigget_platform
startswithr   argparseArgumentParseradd_argumentparse_known_argssplitr   archr   mac_verr}  rY  rZ  
write_textr[   r   
executableis_file
_configurer   r   r&  r  _meson_versionr   r   	packagingr2   Version_meson_licenser  _meson_license_filesr  _meson_name_PYPROJECT_METADATA_VERSIONrequires_pythonprereleasespython_versionrstripr   _infor\   r   get_config_varrX   r)  )r   r  r  r  r  r  pyproject_configrj   r  	archflagsr  r   unknownrH  rq   macverr  
nativearchr:   familycross_file_datanative_file_datar   r2   r  rw   r   r  s   &&&&&                       r   r   Project.__init__  s    #<<
3<<>!,,y1::<!1"&//4R"R!%3P!P&1&=&=d&C! MM$"2"2";";<L"M"W"Wah"W"ij	 6i@*..vr:@@BJCS!((/ C
 (..0
  %,,U3 1 ))9)=)=g)FG(*;; =>U=VV`abb


gt{{3 	tT: 4??**,--doo. !!#..y99

{B7==?Iy "00%eT##GH#= & 7 7	8I J%(Mi]&[\\"499~%(cdmcp&qrr(0(8(8(:%::%

--.EQWPXXYZ^Y_G`aA::d++)K	}D`ab`eer*stt*.'/YtF&.oo ;--1H 5004x 8004x 8337( ;  $h '&&,Z 07 'O **55oPW5X$$W-44nbiiPTPfPfFg5hi $?? 0~~& '	,  	**+;g*N oo../KLTTV 	K0 	!%44Y@P@PQDNDNN222--?,??gi i)2):):)B)B7)K&DNN222--?,??ik k *1&$.."8"88/3/H/H, !,,d.A.A'D(;;km m
 -6 4..!:!: =?  &f4f9J9J9R9RSZ9[f_efDN >>)))9=DNN**6&&(//4DNN<Z<ZZ':4>>;Y;Y:Z [""*"9"9";!<>? ?
 -00Fjj!56GpprvwE$)!i&>&>?P&Q!R!Rqr r +;*>*>?cej*k'r   c                    V ^8  d   QhRRRR/# )r   cmdzSequence[str]r   r   r   )r   s   "r   r   r  "  s     + + +$ +r   c                    \        RP                  \        RP                  V4      R7      RR7       \        P
                  ! WP                  R7      pVP                  ^ 8w  d   \        VP                  4      hR# )zInvoke a subprocess.z {style.INFO}+ {cmd}{style.RESET}r   )r}   re  T)r   )cwdN)	r   r   r}   rb   
subprocessrunr.  
returncode
SystemExit)r   re  rs   && r   _runProject._run"  s[    
 	/66UQT6V^bcNN3OO4<<1Q\\** r   c                    V ^8  d   QhRRRR/# )r   r   r   r   r   r   )r   s   "r   r   r  ,  s     8 8d 8t 8r   c                v   \         P                  ! V P                  4      \         P                  ! V P                  4      RRR.V P                  R,          OR\         P                  ! V P
                  4       2NpV'       d   VP                  ^ R4       V P                  V P                  R.VO,           4       R# )zConfigure Meson project.z-Dbuildtype=releasez-Db_ndebug=if-releasez-Db_vscrt=mdr"  z--native-file=z--reconfigureN)	rZ   r[   r-  r.  r2  r0  insertrm  r9  )r   r   
setup_argss   && r   rM  Project._configure,  s     IId&&'IIdoo&!#
 g&
 RYYt'>'>?@A

 a1		$++ 6: 667r   c                   V ^8  d   QhRR/# )r   r   r  r   )r   s   "r   r   r  A  s     ; ;	 ;r   c                	*   V P                   f   Q h\        P                  R8X  dP   V P                  R.,           p\	        V P
                  R,          4      pV'       d   VP                  RV: 24       V# V P                   .V P
                  R,          O# )Nr   compilez--ninja-args=)r;  r   r   r9  rS   r2  rg   )r   re  r   s   &  r   _build_commandProject._build_command@  s}    {{&&&<<7"
 +++C((34D

]4(34J:d..y9::r   )maxsizec                   V ^8  d   QhRR/# )r   r   r   r   )r   s   "r   r   r  P  s     ' 't 'r   c                <    V P                  V P                  4       R# )zBuild the Meson project.N)rm  rw  r   s   &r   r  Project.buildO  s     			$%%&r   c                    V ^8  d   QhRRRR/# )r   rw   r
   r   r   r   )r   s   "r   r   r  U  s     < <# <# <r   c                    V P                   P                  RV R24      p\        P                  ! VP	                  RR7      4      # )z$Read info from meson-info directory.z
meson-infoz.jsonr  r  )r.  r5  jsonr4  r6  )r   rw   infos   && r   rY  Project._infoT  s:     ''enEzz$..'.:;;r   c                   V ^8  d   QhRR/# )r   r   rD   r   )r   s   "r   r   r  [  s     & &K &r   c                :   V P                  R4      p\        P                  ! RR7      pVP                  R4       VP                  RRRRR	7       VP	                  V P
                  R
,          4      w  r4VP                  '       d9   VP                  P                  R4       Uu0 uF  qUP                  4       kK  	  upMRpR VP                  P                  R4       4        Uu0 uF  qw'       g   K  VkK  	  pp\        P                  ! \        4      p	VP                  4        Fa  w  rVP                  4        FH  w  rVe   VR,          V9  d   K  VP                  R4      pVe   W9   g   RV9   d   K=  WV
,          V&   KJ  	  Kc  	  \        V	4      # u upi u upi )z<The files to be added to the wheel, organized by wheel path.zintro-install_planF)r  z--tagsz--skip-subprojectsr  *r   )nargsconstdefaultinstall,Nc              3  @   "   T F  qP                  4       x  K  	  R # 5ir   )r   )r9   ps   & r   r;   $Project._manifest.<locals>.<genexpr>g  s     '\;[a		;[s   r@  
subproject)rY  rC  rD  rE  rF  r2  tagsrG  r   skip_subprojectsrQ   rR   r  rT   rW   r{   )r   install_planr  r   r  tinstall_tagsr  r  rC   rj   rN   rm   detailsr  s   &              r   r'  Project._manifestZ  se   
 zz"67 ((%8H%03PRS))$*:*:9*EFDHIII499??3+?@+?a	+?@SW'\4;P;P;V;VWZ;['\b'\!`aAA'\b @K?V?VW[?\(..0LC#*==?+l0R$[[6
)z/MQTXhQh'.V$ $3 1 W%% Abs   "F#	F1Fc                   V ^8  d   QhRR/# r   r   )r   s   "r   r   r  x  s      S r   c                f    V P                  R4      R,          p\        V\        4      '       g   Q hV# )z=The project name specified with ``project()`` in meson.build.intro-projectinfodescriptive_namerY  r  r
   r   r  s   & r   rS  Project._meson_namew  s1     

./0BC%%%%%r   c                   V ^8  d   QhRR/# ri  r   )r   s   "r   r   r    s       r   c                x    V P                  R4      R,          p\        V\        4      '       g   Q hVR8X  d   R# V# )zTThe version specified with the ``version`` argument to ``project()`` in meson.build.r  r2   	undefinedNr  r  s   & r   rN  Project._meson_version~  s;     

./	:%%%%%Kr   c                   V ^8  d   QhRR/# ri  r   )r   s   "r   r   r    s     ; ; ;r   c                H   V P                  R4      P                  RR4      pVf   R# \        V\        4      '       g   Q h\	        V4      ^8  d   \
        P                  ! R4      hV^ ,          p\        V\        4      '       g   Q hVR8X  d   R# \        \        V4      4      # )zTThe license specified with the ``license`` argument to ``project()`` in meson.build.r  r  NzkUsing a list of strings for the license declared in meson.build is ambiguous: use a SPDX license expressionr]  )	rY  rW   r  rS   r  r   r   r
   r   r  s   & r   rQ  Project._meson_license  s     

./33ItD=%&&&&u:>$77} a%%%%%I259::r   c                   V ^8  d   QhRR/# )r   r   zOptional[List[pathlib.Path]]r   )r   s   "r   r   r    s     0 0&B 0r   c                    V P                  R4      P                  RR4      pV'       g   R# \        V\        4      '       g   Q hV Uu. uF  p\        P
                  ! V4      NK  	  up# u upi )z`The license files specified with the ``license_files`` argument to ``project()`` in meson.build.r  r  N)rY  rW   r  rS   rU   r-   )r   r  r:   s   &  r   rR  Project._meson_license_files  sY     

./33OTJ%&&&&)./AQ///s   A*c                    V ^8  d   QhRRRR/# r  r   )r   s   "r   r   r    s     k kt k kr   c                D   V P                  V P                  . ROV P                  R,          O,           4       V P                  P                   RV P                  P
                   2pV P                  ;'       g    RpV P                   RV 2p\        P                  ! V P                  RV R24      p\        P                  ! W R24      p^ p\        P                  ! VR4      ;_uu_ 4       p\        P                  P                  V4      ;_uu_ 4       p	VP!                  4        EF  p
V
P#                  4       '       d   V
P$                  p\&        P(                  ! \&        P*                  ! \&        P,                  ! V
P$                  4      V
P.                  4      4      p \0        P0                  ! VP3                  V4      4      p
Wn        T
P;                  4       '       g   K  \6        P8                  ! R	T 2^R7       K  \0        P0                  ! V
4      p
V
P=                  4       '       d   VP?                  V
P$                  4      p/ V
n         V
P$                  PC                  R
^4      ^,          pR
P+                  W.34      V
n        VR8X  d   V
PD                  pR;V
n#        V
n$        ^ ;V
n%        V
n&        V	PO                  W4       EK  V
P;                  4       '       d   EK  V
P#                  4       '       d   EK  \6        P8                  ! RV
P$                   2^R7       EK  	  \        PP                  ! V R24      p
^ ;V
n%        V
n&        R;V
n#        V
n$        Wzn"        \S        V P                  PU                  4       4      p\W        V4      V
n,        V	PO                  V
\Z        P\                  ! V4      4       RRR4       RRR4       V#   \4         d!    \6        P8                  ! RT 2^R7        EK  i ; i  + '       g   i     LH; i  + '       g   i     T# ; i)zCGenerates a sdist (source distribution) in the specified directory.distr  r  z
meson-distz.tar.gzzr:gzz\symbolic link with absolute path target, pointing outside the archive, or dangling ignored: r   z/symbolic link pointing to a directory ignored: r   r  rt   z,special file in the source archive ignored: z	/PKG-INFON)r  z--allow-dirtyz
--no-testsz	--formatsgztar)/rm  r9  r2  r&  r  r2   rN  rS  rU   r-   r.  tarfiler  r   r   create_targz
getmembersissymrw   	posixpathr_   rb   dirnamelinknamera   	getmemberKeyErrorr   r   r^   r  extractfilepax_headersrG  mtimeunamegnameuidgidaddfileTarInforT  r  r  sizeioBytesIO)r   r  	dist_namemeson_versionmeson_dist_namemeson_dist_path
sdist_pathpyproject_toml_mtime
meson_distsdistmemberrw   rm   r   stemr  s   &&              r   r  Project.sdist  sD    			$++ x_c_o_opv_w xxy~~778$..:P:P9QR	++::{!--.a?!,,tHYY`Fab\\){'-BC
 \\/622j'--B\B\]gBhBhlq$//1 llnn!;;D&//	y?P?PQWQ\Q\?]_e_n_n0opF "&:+?+?+G!H&* ||~~ MdVTabd 6*==??%11&++>D  *,F& ";;,,S!4Q7D"%((I+<"=FK///5||,
 398FL6<.//FJMM&/MMFv{{mTabd dE 2L __	{)%<=F&''FJ*00FL6<  0LT^^5578Hh-FKMM&"**X"67{ Ci2~ W $  ==AFDPQS 	) CiBh22~ sj   -(P*O;	 AO;	 +O
O;	#AO;	,B2O;	$O;	=B>O;	;P&O83O;	7O88O;	;PPP	c                    V ^8  d   QhRRRR/# r  r   )r   s   "r   r   r    s     ( (t ( (r   c                    V P                  4        \        V P                  V P                  V P                  V P
                  4      pVP                  V4      # )z-Generates a wheel in the specified directory.)r  r  r&  r'  r(  r)  r   r  builders   && r   r\  Project.wheel  s?    

@Q@QSWSrSrs}}Y''r   c                    V ^8  d   QhRRRR/# r  r   )r   s   "r   r   r    s     x x$ x< xr   c                   V P                  4        \        V P                  V P                  V P                  V P
                  4      pVP                  WP                  V P                  V P                  V P                  4      # )z7Generates an editable wheel in the specified directory.)
r  r  r&  r'  r(  r)  r-  r.  rw  r/  r  s   && r   editableProject.editable  s\    

'HYHY[_[z[z{}}Y(8(8$//4K^K^`d`v`vwwr   )r)  r.  r/  r(  r9  r2  r1  r0  r&  r;  r-  )NFr  )r   r   r   r   r   r   rm  rM  r  rw  	functools	lru_cacher  rY  r'  rS  rN  rQ  rR  r  r\  r  r   r   r   r   r  r    s    =]l~+8( ; ; &' '' < <
 & &8     ; ; 0 0kZ(x xr   r  c                    V ^8  d   QhRRRR/# )r   r  Optional[Dict[Any, Any]]r   zIterator[Project]r   )r   s   "r   r   r     s      K K6 KBS Kr   c              #  .  "   \        T ;'       g    / 4      p\        P                  ! R\         Uu/ uF  q"VP	                  V R2. 4      bK  	  up4      p\
        P                  P                  pVP	                  R4      p\        VP	                  R4      4      p\        P                  ! 4       ;_uu_ 4       pVf(   VP                  \        P                  ! RVR7      4      p\        WEW64      x  RRR4       R# u upi   + '       g   i     R# ; i5i)z3Create the project given the given config settings.	MesonArgsr  r  r  Nz	.mesonpy-)prefixdir)r  typingcastr  rW   rZ   r]   r  r   
contextlib	ExitStackenter_contexttempfileTemporaryDirectoryr  )r  settingsrw   r  r  r  r  ctxs   &       r   _projectr    s      ))>)>B?H[^n*o^nVZenb1Q+Q^n*opJJ[)IHLL);<=					3))(*E*E[^h*ijIjZJJ 
 	 +p
 
 		s)   /DC<
A)D8:D2DD		Dc                    V ^8  d   QhRRRR/# )r   r   r
   r   zTuple[int, ...]r   )r   s   "r   r   r   *  s      # / r   c                     \        \        \        V P                  R4      R,          4      4      #   \         d    Ru # i ; i)zParse version string.r1   :N   Nr   )tuplemapr   rG  
ValueErrorr   s   &r   _parse_version_stringr  *  s;    Sfll3/3455 s   .1 A Ac               $    V ^8  d   QhRRRRRR/# )r   r  r   r2   r
   r   r  r   )r   s   "r   r   r   2  s$     $ $$14$	$r   c                  \         P                  P                  RT ;'       g    R4      p V P                  R4      '       dH   \         P                  P                  V 4      '       g   \        RV  R24      h\        P                  V .pMV .p \        P                  ! VR.,           RRR7      pTP                  ^ 8w  d'   \        RTP                  P                  4        24      hTP                  P                  4       p\!        T4      \!        T4      8  d   \        RT RT R24      hT#   \         d   p\        R	T  R
24      ThRp?ii ; i)z#Return the command to invoke meson.MESONr  r  z%Could not find the specified meson: "r   	--versionT)rd  capture_outputzmeson executable "z" not foundNzCould not execute meson: zCould not find meson version z or newer, found r1   )rZ   r   rW   r}  r]   existsr   r   rK  rh  ri  r|  rj  stderrr   r   r  )r  r2   re  rl  errr  s   &$    r   r8  r8  2  s,    JJNN7E$4$4W5E ~~eww~~e$$ EeWANOO~~u%gLNN3+.T$O 	||q5ahhnn6F5GHIIHHNN$M]+.CG.LL9'BSTaSbbcdeeJ  L.ug[ABKLs   !D, ,E7EEc                    V ^8  d   QhRRRR/# )r   r2   r
   r   r   r   )r   s   "r   r   r   Y  s      3 ] r   c                6   \        V 4      p\        P                  P                  R4      pV'       d   V.M. ROpV FY  p\        P
                  ! V4      pVf   K  \        P                  ! VR.RRRR7      P                  p \        V 4      V8  g   KW  Vu # 	  R# )z5Returns the path to ninja, or None if no ninja found.r  Nr  FT)r  rd  r  )ninjazninja-buildsamu)	r  rZ   r   rW   shutilwhichrh  ri  r   )r2   required_version	env_ninjaninja_candidatesr  
ninja_paths   $     r   r:  r:  Y  s    ,W5

w'I&/	{5U!\\%(
! nnj+%>eRVgklssG$W-1AA!! " r   c                    V ^8  d   QhRRRR/# )r   r  rt  r   r   r   )r   s   "r   r   r   g  s     	 	 	$ 	r   c                    V P                  R 4      P                  \        P                  ! R4      RR7       V P                  R4      P                  \        P                  ! R4      RR7       R# )z
.gitignorezr
        # This file is generated by meson-python. It will not be recreated if deleted or modified.
        *
    r  r  z	.hgignorez
        # This file is generated by meson-python. It will not be recreated if deleted or modified.
        syntax: glob
        **/*
    N)r5  rJ  rY  rZ  )r  s   &r   r?  r?  g  sl    |$// A 1	  0  {#..x @ 0	 	 / r   c                    V ^8  d   QhRRRR/# )r   r  zCallable[P, T]r   r   )r   s   "r   r   r   s  s     
 
. 
^ 
r   c                L   a  \         P                  ! S 4      R  V 3R ll4       pV# )c               $    V ^8  d   QhRRRRRR/# )r   r   zP.argsr   zP.kwargsr   r0   r   )r   s   "r   r   %_pyproject_hook.<locals>.__annotate__u  s!     ) )v ) )a )r   c            	     D  < \         \        n         S! V / VB #   \        \        \
        P                  3 df   p\        P                   R \        P                   R2p\        R\        P                  ! \        T4      T4      ,           4       \        ^4      ThRp?ii ; i)zmeson-python: error:r   rb  N)r   r   showwarningr   r   r   r   r}   r   r   r   rY  indentr
   rk  )r   r   excr  r  s   *,  r   wrapper _pyproject_hook.<locals>.wrappert  s    +	)(((/1C1V1VW 	)}$8QGFC&99:Q-S(	)s     BA BB)r  wraps)r  r  s   f r   _pyproject_hookr  s  s%    __T) ) Nr   c                    V ^8  d   QhRRRR/# r   r  zOptional[Dict[str, str]]r   r  r   )r   s   "r   r   r     s      2J V_ r   c                    . p\         P                  P                  R 4      f%   \        4       f   VP	                  R\
         24       V# )r  	ninja >= )rZ   r   rW   r:  rg   r<  r  dependenciess   & r   get_requires_for_build_sdistr    s@    L	zz~~g&+=+?+Gi(?'@ABr   c                    V ^8  d   QhRRRR/# r  r   )r   s   "r   r   r     s     	 	2J 	V_ 	r   c                8   . p\         P                  P                  R 4      f%   \        4       f   VP	                  R\
         24       \        P                  P                  R4      '       d.   \        P                  ! R4      '       g   VP	                  R4       V# )r  r  linuxpatchelfzpatchelf >= 0.11.0)rZ   r   rW   r:  rg   r<  r   r   rB  r  r  r  s   & r   get_requires_for_build_wheelr    sr    L	zz~~g&+=+?+Gi(?'@AB
||w''Z0H0H01r   c               $    V ^8  d   QhRRRRRR/# )r   sdist_directoryr
   r  r  r   r   )r   s   "r   r   r     s&     ' ''-' 	'r   c                    \         P                  ! V 4      p\        V4      ;_uu_ 4       pVP                  V4      P                  uuR R R 4       #   + '       g   i     R # ; ir   )rU   r-   r  r  rw   )r  r  outr#  s   &&  r   build_sdistr    s@     ,,
'C	/	"	"g}}S!&& 
#	"	"	"   AA!	c               (    V ^8  d   QhRRRRRRRR/# r   wheel_directoryr
   r  r  metadata_directoryr   r   r   )r   s   "r   r   r     s0     ' ''' &' 		'r   c                    \         P                  ! V 4      p\        V4      ;_uu_ 4       pVP                  V4      P                  uuR R R 4       #   + '       g   i     R # ; ir   )rU   r-   r  r\  rw   r   r  r!  r  r#  s   &&&  r   build_wheelr$    s@     ,,
'C	/	"	"g}}S!&& 
#	"	"	"r  c               (    V ^8  d   QhRRRRRRRR/# r  r   )r   s   "r   r   r     s0     * **-* &* 		*r   c                H   V'       g   / pR V9  d0   RV9  d)   R\         P                  P                  4       ,           VR &   \        P                  ! V 4      p\        V4      ;_uu_ 4       pVP                  V4      P                  uuRRR4       #   + '       g   i     R# ; i)r  r  zbuild/N)r   r=  get_abi_tagrU   r-   r  r  rw   r#  s   &&&  r   build_editabler(    su     /)j.O'/'--2K2K2M'M$
,,
'C	/	"	"g$)) 
#	"	"	"s   *BB!	)r     )r  r"  rv  r  r*  >   r  r2   r$  )NNr   )|r   
__future__r   rC  rQ   r  ra   r  r  importlib.machinery	importlibr  r   r  rZ   rU   r   r  r5   r  rh  r   r@  r  r  rY  r  r   version_infotomlir3  packaging.utilsrO  packaging.versionr   mesonpy._compatr   mesonpy._rpathmesonpy._tagsmesonpy._utilmesonpy._wheelfiler   r   packaging.licensesr   r   ImportError	ExceptionTYPE_CHECKINGr   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   MesonArgsKeysr
   r  __version__r  r  r   rG  rT  r  r<  _MESON_REQUIRED_VERSIONr  	machineryall_suffixesr  rv  r7   r  EXTENSION_SUFFIXESrV   r{   r}   r  r   r   r   r   RuntimeErrorr   r   rX   r   StandardMetadatar   r  r  r  r  r  r  contextmanagerr  r  r8  r:  r?  r  r  r  get_requires_for_build_editabler  r$  r(  r   r   r   <module>rD     se  
 #        	   	    	   
       g         8\ 
TT#AAABMtCy01I  $C-?-K-K-Q-QRU-VWY-Z$[\ -H6-QYMW~ ! " : ,,.	**%TU 

hATATAgAg
hsss
hATATAgAg
hhh hh
 	II)I~
 /d	= 	=  (	J (!L !
.% .) )1 1!5!22 !5H+${ {|.M .b*.Z/dWx Wxt K K$7N$ $N)@ 	
   	 	 #?  ' ' ' ' * *m#  	9 	s   ,L< <MM