
    <hVY                       % S SK Jr   S SKrS SKrS SKrS SKrS SKrS SKrS SKr	SSK
Jr  SSK
Jr  SSKJrJr  S SKJr  \	R$                  (       a  SSKJr  SS	KJr  SS
KJr  SSKJr  O\r/ S/S.rS\S'   / S/S/S/S/S/S/S.rS\S'   S/S/S/S/S/S/S /S!/S"/S#/S$.
rS\S%'   / S&/S'/S(/S)/S(S*/S+.rS\S,'   S-/S./S//S0.r S\S1'   0 S2/ S3Q_S4/ S5Q_S6/ S7Q_S8S9/_S:S;S</_S=S>/_S?/ S@Q_SA/ SBQ_SCSD/_SESF/_SGSH/_SISJSK/_SL/ SMQ_SN/ SOQ_SPSQ/_SR/ SSQ_STSU/_SVSW// SXQSY.Er!S\SZ'   / S[QS\S]/S^/S_.r"S\S`'   / SaQSb/Sc/Sd/SeSf/Sg// ShQ/ SiQ/ SjQSkSl/SmSn// SoQ/ SpQSq.r#S\Sr'   Ss/St/SuSv/Sw.r$S\Sx'   SySzS{S|S}.r%\RL                  " SS~9SS j5       r' " S S\\RP                  S9r) " S S\)5      r* " S S\5      r+ " S S\5      r,g)    )annotationsN   )mesonlib)mlog)	OptionKeyUserStdOption)CompileCheckMode)ImmutableListProtocol)MutableKeyedOptionDictType)Environment   )Compilerz-g)FTzT.Dict[bool, T.List[str]]clike_debug_argsz-O0z-Ogz-O1z-O2z-O3z-Os)plain0g123sT.Dict[str, T.List[str]]gnu_optimization_argsz-mmmxz-mssez-msse2z-msse3z-mssse3z-msse4.1z-msse4.2z-mavxz-mavx2z
-mfpu=neon)
mmxssesse2sse3ssse3sse41sse42avxavx2neongnulike_instruction_set_argsz-fvisibility=defaultz-fvisibility=internalz-fvisibility=hiddenz-fvisibility=protectedz-fvisibility-inlines-hidden) defaultinternalhidden	protectedinlineshiddengnu_symbol_visibility_argsz-fdiagnostics-color=autoz-fdiagnostics-color=alwaysz-fdiagnostics-color=never)autoalwaysnevergnu_color_args0.0.0)z-Wcast-qualz-Wconversionz-Wfloat-equalz
-Wformat=2z-Winlinez-Wmissing-declarationsz-Wredundant-declsz-Wshadowz-Wundefz-Wuninitializedz-Wwrite-stringsz3.0.0)z-Wdisabled-optimizationz-Wpackedz-Wpaddedz3.3.0)z-Wmulticharz-Wswitch-defaultz-Wswitch-enumz-Wunused-macrosz4.0.0z-Wmissing-include-dirs4.1.0z-Wunsafe-loop-optimizationsz-Wstack-protectorz4.2.0z-Wstrict-overflow=5z4.3.0)z-Warray-bounds=2z-Wlogical-opz-Wstrict-aliasing=3z-Wvla4.6.0)z-Wdouble-promotionz-Wsuggest-attribute=constz-Wsuggest-attribute=noreturnz-Wsuggest-attribute=purez-Wtrampolines4.7.0z-Wvector-operation-performance4.8.0z-Wsuggest-attribute=format4.9.0z-Wdate-time5.1.0z-Wformat-signednessz-Wnormalized=nfc6.1.0)z-Wduplicated-condz-Wnull-dereferencez-Wshift-negative-valuez-Wshift-overflow=2z-Wunused-const-variable=27.1.0)z-Wallocaz-Walloc-zeroz-Wformat-overflow=2z-Wformat-truncation=2z-Wstringop-overflow=3z7.2.0z-Wduplicated-branches8.1.0)z-Wcast-align=strictz-Wsuggest-attribute=coldz-Wsuggest-attribute=malloc9.1.0z-Wattribute-alias=2z-Wanalyzer-too-complexz-Warith-conversion)z-Wbidi-chars=ucnz-Wopenacc-parallelismz-Wtrivial-auto-var-init)10.1.0z12.1.0gnu_common_warning_args)z-Wbad-function-castz-Wmissing-prototypesz-Wnested-externsz-Wstrict-prototypesz-Wold-style-definitionz-Winit-selfz-Wc++-compat)r/   z3.4.0r0   gnu_c_warning_args)z-Wctor-dtor-privacyz-Weffc++z-Wnon-virtual-dtorz-Wold-style-castz-Woverloaded-virtualz-Wsign-promoz-Wstrict-null-sentinelz
-Wnoexceptz-Wzero-as-null-pointer-constantz	-Wabi-tagz-Wuseless-castz-Wconditionally-supported)z-Wsuggest-final-methodsz-Wsuggest-final-typesz-Wsuggest-override)z-Wmultiple-inheritancez-Wplacement-new=2z-Wvirtual-inheritance)z-Waligned-new=allz-Wnoexcept-typez
-Wregisterz-Wcatch-value=3z-Wextra-semiz-Wdeprecated-copy-dtorz-Wredundant-move)z-Wcomma-subscriptz-Wmismatched-tagsz-Wredundant-tagsz
-Wvolatile)z!-Wdeprecated-enum-enum-conversionz"-Wdeprecated-enum-float-conversionz-Winvalid-imported-macros)r/   z4.0.1r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   z11.1.0gnu_cpp_warning_argsz
-Wselectorz-Wundeclared-selectorz-Wassign-interceptz-Wstrict-selector-match)r/   z3.3r0   gnu_objc_warning_argsczc++zobjective-czobjective-c++)r?   cppobjcobjcpp)maxsizec                   U[         ;  a  / $ [         U   n[        R                  R                  5       nSUS'   [	        U 5      SU 3SSS/-   n[
        R                  " U[        R                  US9u  pEnSn/ nUR                  S	5       Hj  nUR                  S
5      nUS:X  a  US:X  a  SnM$  M&  US:X  a  US:X  a  SnM6  UR                  U5        MI  US:X  d  MQ  US:X  a    OUR                  U5        Ml     U(       d2  [        R                  " SR                  SR                  U5      S95        Xw V	s/ s H"  n	[        R                   R#                  U	5      PM$     sn	-  nU$ s  sn	f )NCLC_ALL-xz-Ez-v-)stderrenvr   
z 
	z"#include "..." search starts here:   z"#include <...> search starts here:r   zEnd of search list.z1No include directory found parsing "{cmd}" output )cmd)gnu_lang_maposenvironcopylistr   
Popen_safe
subprocessSTDOUTsplitstripappendr   warningformatjoinpathnormpath)
compilerlangrJ   rN   _stdoutparse_statepathslinexs
             ڀ/mnt/mint/home/seanl/mnt/public/Repos/ladybird/Build/vcpkg/downloads/tools/meson-1.9.0-d1fcc2/mesonbuild/compilers/mixins/gnu.pygnulike_default_include_dirsrh   >  sT   <	D
**//
CCM
x.bKtS9
9C&&s:3D3D#NLAqKET"zz)$!;; <A;;T"A,,T" # HOOTWT\T\]`TaObc	515abggq!511EL 2s   5)E%c                     \ rS rSrSrSrS%S jrS&S jrS&S jr\	R                  S'S j5       rS(S jr\	R                  S)S	 j5       rS*S
 jrS+S jrS&S jr\	R                  S,S j5       rS-S jrS.S jr\S)S j5       rS&S jrS&S jrS/S jr\R4                  " 5       S0S j5       rS1S jrS2S jrSSS.S3S jjrS4S jrS5S jr S6S jr!S&S jr"S7S jr#\$S8S  j5       r%S&S! jr&S&S" jr'S#r(g$)9GnuLikeCompileri_  a  
GnuLikeCompiler is a common interface to all compilers implementing
the GNU-style commandline interface. This includes GCC, Clang
and ICC. Certain functionality between them is different and requires
that the actual concrete subclass define their own implementation.
z-Wl,c                   S Vs1 s H  n[        U5      iM     snU l        U R                  R                  5       (       db  U R                  R	                  5       (       dC  U R                  R                  5       (       d$  U R                  R                  [        S5      5        U R                  R                  5       (       a  U R                  R	                  5       (       a$  U R                  R                  [        S5      5        U R                  R                  5       (       d$  U R                  R                  [        S5      5        U R                  R                  S5        U R                  R                  S5        g s  snf )N)b_pchb_ltob_pgo
b_coverageb_ndebugb_staticpicb_pieb_lundef
b_asneeded
b_sanitizer   sx)	r   base_optionsinfo
is_windows	is_cygwin
is_openbsdaddis_hurdcan_compile_suffixes)selfos     rg   __init__GnuLikeCompiler.__init__i  s   #GH#GQIaL #GH 		$$&&$))*=*=*?*?499CWCWCYCY!!)J"78yy##%%)<)<)>)>!!)L"9:yy  ""!!)L"9:!!%%c*!!%%d+Hs   E?c                    U R                   R                  5       (       d>  U R                   R                  5       (       d  U R                   R                  5       (       a  / $ S/$ )Nz-fPIC)rx   ry   rz   	is_darwinr   s    rg   get_pic_argsGnuLikeCompiler.get_pic_argsw  sF    99!!TYY%8%8%:%:dii>Q>Q>S>SIy    c                    S/$ )Nz-fPIE r   s    rg   get_pie_argsGnuLikeCompiler.get_pie_args|  s
    yr   c                    g Nr   r   optimization_levels     rg   get_optimization_args%GnuLikeCompiler.get_optimization_args      r   c                    [         U   $ r   )r   )r   is_debugs     rg   get_debug_argsGnuLikeCompiler.get_debug_args  s    ))r   c                    g r   r   r   s    rg   get_pch_suffixGnuLikeCompiler.get_pch_suffix  r   r   c                D    [         R                  R                  U5      U4$ r   )rP   r]   dirname)r   fnames     rg   split_shlib_to_parts$GnuLikeCompiler.split_shlib_to_parts  s    wwu%u,,r   c                .    [         R                  US 5      $ r   )r#   get)r   instruction_sets     rg   get_instruction_set_args(GnuLikeCompiler.get_instruction_set_args  s    +//FFr   c                v    [        [        U R                  SS95      U R                  5      R	                  5       $ )NF)ccache)rh   tupleget_exelistlanguagerR   r   s    rg   get_default_include_dirs(GnuLikeCompiler.get_default_include_dirs  s2    +E$2B2B%2B2P,QSWS`S`affhhr   c                    g r   r   r   rJ   s     rg   openmp_flagsGnuLikeCompiler.openmp_flags  r   r   c                D    US:X  a  U R                   S;  a  Sn[        U   $ )Nr)   >   r@   rB   r'   )r   r*   )r   vistypes     rg   r*   *GnuLikeCompiler.gnu_symbol_visibility_args  s&    o%$--?P*PG)'22r   c                    [        U[        5      (       d  [        S5      eU R                  R	                  5       (       d  U R                  R                  5       (       a  U/$ / $ )Nz%Module definitions file should be str)
isinstancestrRuntimeErrorrx   ry   rz   )r   defsfiles     rg   gen_vs_module_defs_args'GnuLikeCompiler.gen_vs_module_defs_args  sO    (C((FGG 99!!TYY%8%8%:%::	r   c                     g)Ngccr   r   r   rg   get_argument_syntax#GnuLikeCompiler.get_argument_syntax  s    r   c                    S/$ )Nz-fprofile-generater   r   s    rg   get_profile_generate_args)GnuLikeCompiler.get_profile_generate_args  s    $%%r   c                    S/$ )Nz-fprofile-user   r   s    rg   get_profile_use_args$GnuLikeCompiler.get_profile_use_args  s      r   c           
         [        U5       H`  u  p4US S S:X  d  US S S:X  d  M  US S [        R                  R                  [        R                  R	                  X$SS  5      5      -   X'   Mb     U$ )Nr   -Iz-L)	enumeraterP   r]   r^   r\   )r   parameter_list	build_diridxis        rg   &compute_parameters_with_absolute_paths6GnuLikeCompiler.compute_parameters_with_absolute_paths  sl    /FC!u}"1&'ebgg.>.>rww||IYZY[W\?].^&^# 0 r   c           	         S/nU R                  SXS [        R                  SS9 nUR                  sS S S 5        $ ! , (       d  f       g = f)Nz--print-search-dirsr$   T)
extra_argsdependenciesmodewant_output)_build_wrapperr	   COMPILErb   )r   rJ   r   ps       rg   _get_search_dirs GnuLikeCompiler._get_search_dirs  sJ    +,
  S.29I9Q9Q-1 ! 367883 3 3s	   ;
A	c                
   [         R                  nUS:X  a  [        R                  " SSU5      nUR	                  U5       Vs/ s H  o3(       d  M  UPM     nn/ nU H  n[
        R                  " U5      nUR                  5       (       d  M0   UR                  S5      R                  5       nXu;  a  UR                  U5        UR                  5       nX;  d  M}  UR                  U5        M     U$ s  snf ! [         a     N?f = f)N;z	:([^/\\])z;\1T)rP   pathsepresubrW   pathlibPathexistsresolveas_posixrY   FileNotFoundError)	r   pathstrr   r   rd   resultpobjresolved
unresolveds	            rg   _split_fetch_real_dirs&GnuLikeCompiler._split_fetch_real_dirs  s     ** c>ff\67;G $MM'282qa28 A <<?D{{}}#||D1::<H-h/ "]]_
+MM*-' ( / 9$ ) s   
C0C05C55
DDc                    U R                  U5      nUR                  S5       HB  nUR                  US-   5      (       d  M  U R                  UR                  SS5      S   5      s  $    / $ )z@
Get dirs from the compiler, either `libraries:` or `programs:`
rK   :=rL   )r   rW   
startswithr   )r   rJ   namestdore   s        rg   get_compiler_dirs!GnuLikeCompiler.get_compiler_dirs  sb     $$S)JJt$Dtcz**224::c13Ea3HII % 	r   r   r%   threadsr   c                   S/$ )Nz-fltor   )r   r   r   s      rg   get_lto_compile_args$GnuLikeCompiler.get_lto_compile_args  s     yr   c                p    U(       d  U$ SSR                  U5      -   /nSU;   a  UR                  S5        U$ )Nz-fsanitize=,addressz-fno-omit-frame-pointer)r\   rY   )r   valueargss      rg   sanitizer_compile_args&GnuLikeCompiler.sanitizer_compile_args  s9    L/0KK12r   c                
    SU/$ )N-or   )r   
outputnames     rg   get_output_argsGnuLikeCompiler.get_output_args  s    j!!r   c                    SSUSU/$ )Nz-MDz-MQz-MFr   )r   	outtargetoutfiles      rg   get_dependency_gen_args'GnuLikeCompiler.get_dependency_gen_args  s    ui88r   c                    S/$ )Nz-cr   r   s    rg   get_compile_only_args%GnuLikeCompiler.get_compile_only_args  s	    vr   c                :    U(       d  SnU(       a  SU-   /$ SU-   /$ )N.z-isystemr   r   )r   r]   	is_systems      rg   get_include_args GnuLikeCompiler.get_include_args  s'    D%&&t}r   c                N    US;  a  [         R                  " SU S35      eSU 3/$ )N>   bfdlldgoldz?Unsupported linker, only bfd, gold, and lld are supported, not r  z	-fuse-ld=)r   MesonException)clslinkerversions      rg   use_linker_argsGnuLikeCompiler.use_linker_args  s?    //))QRXQYYZ[] ]F8$%%r   c                    S/$ )Nz
--coverager   r   s    rg   get_coverage_args!GnuLikeCompiler.get_coverage_args  s
    ~r   c                    U R                   S:X  a  U R                  5       $ [        R                  U R                   S5      nU R                  5       SU 3/-   $ )Nfortranzassembler-with-cpprG   )r   get_preprocess_only_argsrO   r   )r   r`   s     rg   get_preprocess_to_file_args+GnuLikeCompiler.get_preprocess_to_file_args  sR     ==I%0022/CD,,.Btf+>>r   )rw   N)returnNoner!  T.List[str]r   r   r!  r$  )r   boolr!  r$  r!  r   )r   r   r!  zT.Tuple[str, str])r   r   r!  zT.Optional[T.List[str]]rJ   r   r!  r$  )r   r   r!  r$  )r   r   r!  r$  )r   r$  r   r   r!  r$  )rJ   'Environment'r!  r   )r   r   r!  r$  )rJ   r)  r   r   r!  r$  r   intr   r   r!  r$  )r   r$  r!  r$  )r   r   r!  r$  )r  r   r  r   r!  r$  )r]   r   r  r&  r!  r$  r  r   r  r   r!  r$  ))__name__
__module____qualname____firstlineno____doc__LINKER_PREFIXr   r   r   abcabstractmethodr   r   r   r   r   r   r   r*   r   staticmethodr   r   r   r   	functools	lru_cacher   r   r   r   r   r   r  r  r  classmethodr  r  r  __static_attributes__r   r   rg   rj   rj   _  s    M,
 	 * 	 -Gi 	 3
  &!  #J 67I 
"9 & &?r   rj   )	metaclassc                     ^  \ rS rSrSrSrSU 4S jjrSS jrSU 4S jjrSS jr	SS jr
SS	 jrSS
 jrSS jrSS jr    S S jrS!S jrS"S jrSSS.S#U 4S jjjr\S$U 4S jj5       rS%U 4S jjrSrU =r$ )&GnuCompileri  z
GnuCompiler represents an actual GCC in its many incarnations.
Compilers imitating GCC (Clang/Intel) should use the GnuLikeCompiler ABC.
r   c                  > [         TU ]  5         U=(       d    0 U l        U R                  R	                  [        S5      [        S5      15        [        R                  " U R                  S5      U l	        [        R                  " U R                  S5      U l
        [        R                  " U R                  S5      U l        g )N
b_coloroutb_lto_threadsz>=4.9.0z>=4.8.0z>=10.0)superr   definesrw   updater   r   version_comparer  _has_color_support_has_wpedantic_support_has_lto_auto_support)r   rA  	__class__s     rg   r   GnuCompiler.__init__&  s    }"  )L"99_;U!VW"*":":4<<"S&.&>&>t||Y&W#%-%=%=dllH%U"r   c                @    U R                   (       a  [        U   S S  $ / $ r   )rD  r.   )r   	colortypes     rg   get_colorout_argsGnuCompiler.get_colorout_args.  s     ""!),Q//	r   c                z   > [         TU ]  U5      nU R                  (       d  SU;   a  SX"R                  S5      '   U$ )Nz
-Wpedanticz	-pedantic)r@  get_warn_argsrE  index)r   levelr   rG  s      rg   rN  GnuCompiler.get_warn_args3  s:    w$U+**|t/C .9DL)*r   c                    / nUR                  5        H4  u  p4[        R                  " U R                  SU-   5      (       d  M0  X$-  nM6     U$ )Nz>=)itemsr   rC  r  )r   warn_args_by_versionr   r  	warn_argss        rg   supported_warn_argsGnuCompiler.supported_warn_args<  sG     "6"<"<">G''dWnEE# #? r   c                    XR                   ;   $ r   rA  r   defines     rg   has_builtin_defineGnuCompiler.has_builtin_defineC  s    %%r   c                @    XR                   ;   a  U R                   U   $ g r   rY  rZ  s     rg   get_builtin_defineGnuCompiler.get_builtin_defineF  s    \\!<<''r   c                    [         U   $ r   )r   r   s     rg   r   !GnuCompiler.get_optimization_argsK  s    $%788r   c                    g)Ngchr   r   s    rg   r   GnuCompiler.get_pch_suffixN  s    r   c                    S/$ )Nz-fopenmpr   r   s     rg   r   GnuCompiler.openmp_flagsQ  s
    |r   c                    U R                  X2US U5       nUR                  S:H  nU R                  S;   a  SUR                  ;   a  SnU R                  S;   a  SUR                  ;   a  SnS S S 5        WWR                  4$ ! , (       d  f       N= f)Nr   >   r@   rB   zis valid for C/ObjCF>   r?   rA   zis valid for C++/ObjC++)r   
returncoder   rI   cached)r   r   rJ   coder   r   r   s          rg   has_argumentsGnuCompiler.has_argumentsT  s    
   D$=\\Q&F}} 116Kqxx6W}}-2Kqxx2W > qxx >=s   AA??
Bc                    S/$ )Nz-Werror=attributesr   )r   r   s     rg   !get_has_func_attribute_extra_args-GnuCompiler.get_has_func_attribute_extra_argsa  s     %%%r   c                    U/SSU/U-   4$ )Nz-rr   r   )r   prelink_nameobj_lists      rg   get_prelink_argsGnuCompiler.get_prelink_argsf  s    ~dL9HDDDr   r   r%   r   c                  > US:X  a-  U R                   (       a  S/$ S[        R                  " 5        3/$ US:  a  SU 3/$ [        TU ]  US9$ )Nr   z
-flto=autoz-flto=)r   )rF  r   determine_worker_countr@  r   )r   r   r   rG  s      rg   r    GnuCompiler.get_lto_compile_argsi  sa    a<))$~% X<<>?@AAq[WI&''w+G+<<r   c                l   > US:X  a  [         R                  " US5      (       a  S/$ [        TU ]  X5      $ )Nmoldz>=12.0.1z-fuse-ld=mold)r   rC  r@  r  )r  r  r  rG  s      rg   r  GnuCompiler.use_linker_argst  s6    V 8 8* M M#$$w&v77r   c                (   > [         TU ]  5       S/-   $ )Nz-fprofile-correction)r@  r   )r   rG  s    rg   r    GnuCompiler.get_profile_use_argsz  s    w+-1G0HHHr   )rD  rF  rE  rA  )rA  zT.Optional[T.Dict[str, str]])rJ  r   r!  r$  )rP  r   r!  r$  )rT  r   r!  r$  )r[  r   r!  r&  )r[  r   r!  zT.Optional[str]r%  r'  r(  )
r   r$  rJ   r)  rk  r   r   r	   r!  zT.Tuple[bool, bool])r   r   r!  r$  )rr  r   rs  r$  r!  z!T.Tuple[T.List[str], T.List[str]]r*  r,  r#  )r-  r.  r/  r0  r1  idr   rK  rN  rV  r\  r_  r   r   r   rl  ro  rt  r   r8  r  r   r9  __classcell__rG  s   @rg   r<  r<    s     
BV
&
9 , 1D &
E 67I 	= 	= 8 8
I Ir   r<  c                  @   ^  \ rS rSrSrSrSrSrSrS	U 4S jjr	Sr
U =r$ )
GnuCStdsi~  z<Mixin class for gcc based compilers for setting C standards.z>=8.0.0z>=9.0.0>=14.0.0z>=15.0.0c                `  > [         TU ]  5       n/ SQn[        R                  " U R                  U R
                  5      (       a  USS/-  n[        R                  " U R                  U R                  5      (       a  US/-  n[        R                  " U R                  U R                  5      (       a  US/-  n[        R                  " U R                  U R                  5      (       a  US/-  nU R                  S5      nX   n[        U[        5      (       d   S5       eUR                  US	S
9  U$ )N)c89c99c11c17c18c2xc23c2ystdfor mypyTgnu)r@  get_optionsr   rC  r  _C18_VERSION_C2X_VERSION_C23_VERSION_C2Y_VERSIONform_compileropt_keyr   r   set_versionsr   optsstdskeystd_optrG  s        rg   r  GnuCStds.get_options  s    w"$$##DLL$2C2CDDUEN"D##DLL$2C2CDDUGOD##DLL$2C2CDDUGOD##DLL$2C2CDDUGOD''.)'=11=:=1Tt,r   r   r!  r   )r-  r.  r/  r0  r1  r  r  r  r  r  r9  r  r  s   @rg   r  r  ~  s$    FLLLL r   r  c                  8   ^  \ rS rSrSrSrSrSU 4S jjrSrU =r	$ )
GnuCPPStdsi  z>Mixin class for GNU based compilers for setting CPP standards.z>=11.0.0r  c                  > [         TU ]  5       n/ SQn[        R                  " U R                  U R
                  5      (       a  UR                  S5        [        R                  " U R                  U R                  5      (       a  UR                  S5        U R                  S5      nX   n[        U[        5      (       d   S5       eUR                  USS9  U$ )N)zc++98zc++03zc++11zc++14zc++17zc++1zzc++2azc++20zc++23zc++26r  r  Tr  )r@  r  r   rC  r  _CPP23_VERSIONrY   _CPP26_VERSIONr  r   r   r  r  s        rg   r  GnuCPPStds.get_options  s    w"$
 ##DLL$2E2EFFKK ##DLL$2E2EFFKK ''.)'=11=:=1Tt,r   r   r  )
r-  r.  r/  r0  r1  r  r  r  r9  r  r  s   @rg   r  r    s    HNN r   r  )r_   zT.Tuple[str, ...]r`   r   r!  z'ImmutableListProtocol[str]')-
__future__r   r3  r6  rP   r   r   rU   typingTr$   r   r   optionsr   r   mesonbuild.compilers.compilersr	   TYPE_CHECKING_typingr
   r   environmentr   	compilersr   objectr   __annotations__r   r#   r*   r.   r;   r<   r=   r>   rO   r7  rh   ABCMetarj   r<  r  r  r   r   rg   <module>r     s  
 # ? 
  	  	     / ;??05*$ H
 &/ +  





3 /  99JJ[\\9JN: 6  	&'()$%*++-JK8 4  ((+,)*,( <_5 _5  _5&  '_52  3_58 %9_5@ A_5F  G_5R  S_5` (a_5f $g_5l m_5r s_5z  {_5H  I_5V W_5\  ]_5f g_5n 	!u_5 1 _V 	!
 	0 , 2 	! 	 	* 	
 	$

 	
 	!m;2 . ;F 	 	  	!3 /  
	 T" #@}?h#++ }?@\I/ \I~x 6 r   