§
    ™æVc-g  ã                  ó  — d dl mZ 	 d dlZd dlZd dlZd dlmZmZ d dlZ	ddl
mZmZmZmZ ddlmZmZmZmZmZmZ ddlmZ ddlmZ dd	lmZmZmZmZ e	j        rd dl Z dd
l!m"Z" ddlm#Z# djd„Z$dkd„Z%dld„Z& G d„ d¦  «        Z'	 	 	 	 dmdnd„Z(dod"„Z)dpd&„Z*dqd*„Z+drd,„Z,dsd/„Z-dtd1„Z.dud5„Z/dvd7„Z0dwdxd:„Z1dyd<„Z2dzd?„Z3d{dA„Z4d|dC„Z5d}dG„Z6d}dH„Z7d~dJ„Z8ddL„Z9d€dM„Z:d�dT„Z;dwd‚dV„Z<dwdƒdY„Z=dwd„d[„Z>d…d\„Z?g Z@d†d^„ZAd‡d_„ZBdˆd`„ZCd‰dc„ZDdŠd‹di„ZEdS )Œé    )ÚannotationsN)ÚPathÚPurePathé   )ÚbuildÚmesonlibÚmlogÚcoredata)ÚIntrospectionInterpreterÚBUILD_TARGET_FUNCTIONSÚAstConditionLevelÚAstIDGeneratorÚAstIndentationGeneratorÚAstJSONPrinter)Úbackends)Ú	OptionKey)ÚFunctionNodeÚ	ArrayNodeÚArgumentNodeÚ
StringNode)ÚInterpreter)ÚBaseNodeÚinfo_dirÚstrÚreturnc                óB   — t           j                             | d¦  «        S )Númeson-info.json©ÚosÚpathÚjoin)r   s    ú3/usr/lib/python3/dist-packages/mesonbuild/mintro.pyÚget_meson_info_filer#   )   s   € ÝŒ7�<Š<˜Ð"3Ñ4Ô4Ð4ó    c                 ó   — dS )Nz1.0.0© r&   r$   r"   Úget_meson_introspection_versionr'   ,   s   € Øˆ7r$   úT.List[str]c                 ó
   — ddgS )Nz>=1.0z<2.0r&   r&   r$   r"   Ú(get_meson_introspection_required_versionr*   /   s   € Ø�VÐÐr$   c                  ó   — e Zd Z	 	 ddd
„ZdS )ÚIntroCommandNÚdescr   Úfuncú/T.Optional[T.Callable[[], T.Union[dict, list]]]Úno_bdúGT.Optional[T.Callable[[IntrospectionInterpreter], T.Union[dict, list]]]r   ÚNonec                ó6   — |dz   | _         || _        || _        d S )Nú.)r-   r.   r0   )Úselfr-   r.   r0   s       r"   Ú__init__zIntroCommand.__init__3   s!   € ð ˜3‘JˆŒ	ØˆŒ	ØˆŒ
ˆ
ˆ
r$   )NN)r-   r   r.   r/   r0   r1   r   r2   )Ú__name__Ú
__module__Ú__qualname__r6   r&   r$   r"   r,   r,   2   s7   € € € € € ð JNØbfðð ð ð ð ð ð r$   r,   r
   úT.Optional[cdata.CoreData]Ú	builddataúT.Optional[build.Build]ÚbackendúT.Optional[backends.Backend]Ú	sourcedirúT.Optional[str]ú'T.Mapping[str, IntroCommand]'c                ó,  ‡ ‡‡‡‡‡‡— ‰rl‰rj‰                      ‰                     ¦   «         ¦  «        Š‰                      ‰                     ¦   «         ¦  «        Š‰                     ¦   «         Š‰j        Šnd xŠxŠŠt          j        dt          dt          ¬¦  «        fdt          dˆfd„¬¦  «        fdt          d	ˆ fd
„t          ¬¦  «        fdt          dˆˆfd„¬¦  «        fdt          dˆ fd„t          ¬¦  «        fdt          dt          ¬¦  «        fdt          dˆfd„¬¦  «        fdt          dˆfd„¬¦  «        fdt          dˆfd„t          ¬¦  «        fdt          dˆˆˆfd„t          ¬¦  «        fd t          d!ˆfd"„¬¦  «        fg¦  «        S )#NÚastzDump the AST of the meson file)r0   Ú
benchmarkszList all benchmarksc                 ó"   •— t          ‰ ¦  «        S ©N)Úlist_benchmarks)Úbenchmarkdatas   €r"   ú<lambda>z/get_meson_introspection_types.<locals>.<lambda>J   s   ø€ ÍÐXeÑHfÔHf€ r$   )r.   ÚbuildoptionszList all build optionsc                 ó"   •— t          ‰ ¦  «        S rF   )Úlist_buildoptions©r
   s   €r"   rI   z/get_meson_introspection_types.<locals>.<lambda>K   s   ø€ ÕM^Ð_gÑMhÔMh€ r$   )r.   r0   Úbuildsystem_filesz(List files that make up the build systemc                 ó$   •— t          ‰ ‰¦  «        S rF   )Úlist_buildsystem_files)r;   Úinterpreters   €€r"   rI   z/get_meson_introspection_types.<locals>.<lambda>L   s$   ø€ Õdzð  |Eð  GRñ  eSô  eS€ r$   ÚdependencieszList external dependenciesc                 ó"   •— t          ‰ ¦  «        S rF   )Ú	list_depsrM   s   €r"   rI   z/get_meson_introspection_types.<locals>.<lambda>M   s   ø€ ÕQZÐ[cÑQdÔQd€ r$   Úscan_dependenciesz2Scan for dependencies used in the meson.build fileÚ	installedz(List all installed files and directoriesc                 ó"   •— t          ‰ ¦  «        S rF   )Úlist_installed©Úinstalldatas   €r"   rI   z/get_meson_introspection_types.<locals>.<lambda>O   s   ø€ Õ\jÐkvÑ\wÔ\w€ r$   Úinstall_planz;List all installed files and directories with their detailsc                 ó"   •— t          ‰ ¦  «        S rF   )Úlist_install_planrY   s   €r"   rI   z/get_meson_introspection_types.<locals>.<lambda>P   s!   ø€ õ  sDð  EPñ  sQô  sQ€ r$   ÚprojectinfozInformation about projectsc                 ó"   •— t          ‰ ¦  «        S rF   )Úlist_projinfo)r;   s   €r"   rI   z/get_meson_introspection_types.<locals>.<lambda>Q   s   ø€ ÕP]Ð^gÑPhÔPh€ r$   ÚtargetszList top level targetsc                 ó&   •— t          ‰‰‰ ¦  «        S rF   )Úlist_targets)r=   r;   rZ   s   €€€r"   rI   z/get_meson_introspection_types.<locals>.<lambda>R   s   ø€ ÍÐU^Ð`kÐmtÑHuÔHu€ r$   ÚtestszList all unit testsc                 ó"   •— t          ‰ ¦  «        S rF   )Ú
list_tests©Útestdatas   €r"   rI   z/get_meson_introspection_types.<locals>.<lambda>S   s   ø€ Å:ÈhÑCWÔCW€ r$   )Úcreate_test_serialisationÚget_benchmarksÚ	get_testsÚcreate_install_datarQ   ÚcollectionsÚOrderedDictr,   Údump_astÚlist_buildoptions_from_sourceÚlist_deps_from_sourceÚlist_projinfo_from_sourceÚlist_targets_from_source)r
   r;   r=   r?   rH   rZ   rQ   rh   s   ``` @@@@r"   Úget_meson_introspection_typesrt   ;   s|  øøøøøøø€ ð ð 6�9ð 6Ø×9Ò9¸)×:RÒ:RÑ:TÔ:TÑUÔUˆØ×4Ò4°Y×5HÒ5HÑ5JÔ5JÑKÔKˆØ×1Ò1Ñ3Ô3ˆØÔ)ˆˆà15Ð5ˆÐ5˜ ;õ Ô"Ø	•Ð=ÅXÐNÑNÔNÐOØ	•|Ð$9Ð@fÐ@fÐ@fÐ@fÐgÑgÔgÐhØ	�Ð&>ÐEhÐEhÐEhÐEhõ  qNð  Oñ  Oô  Oð  	PØ	�lÐ+Uð  ]Sð  ]Sð  ]Sð  ]Sð  ]Sð  Tñ  Tô  Tð  	UØ	�Ð&BÐIdÐIdÐIdÐIdõ  mBð  Cñ  Cô  Cð  	DØ	�lÐ+_Õg|Ð}Ñ}Ô}Ð~Ø	•lÐ#MÐTwÐTwÐTwÐTwÐxÑxÔxÐyØ	�Ð&cð  kQð  kQð  kQð  kQð  Rñ  Rô  Rð  	SØ	�Ð%AÐHhÐHhÐHhÐHhõ  qJð  Kñ  Kô  Kð  	LØ	•LÐ!9Ð@uÐ@uÐ@uÐ@uÐ@uÐ@uõ  ~Vð  Wñ  Wô  Wð  	XØ	•,Ð4Ð;WÐ;WÐ;WÐ;WÐXÑXÔXÐYð$ñ ô ð r$   Úparserúargparse.ArgumentParserr2   c                óü  — t          ¦   «         }|                     ¦   «         D ]=\  }}d|                     dd¦  «        z   }|                      |d|d|j        ¬¦  «         Œ>|                      dt          t          j        ¦  «        dd	d
¬¦  «         |                      dddddd¬¦  «         |                      dddddd¬¦  «         |                      dddddd¬¦  «         |                      dddd¬¦  «         d S )Nz--Ú_ú-Ú
store_trueF)ÚactionÚdestÚdefaultÚhelpz	--backendr=   Úninjaz8The backend to use for the --buildoptions introspection.)Úchoicesr|   r}   r~   z-az--allÚallz Print all available information.z-iz--indentÚindentzEnable pretty printed JSON.z-fz--force-object-outputÚ
force_dictz]Always use the new JSON format for multiple entries (even for 0 and 1 introspection commands)Úbuilddirú?r4   zThe build directory)Únargsr}   r~   )rt   ÚitemsÚreplaceÚadd_argumentr-   ÚsortedÚcdataÚbackendlist)ru   Úintro_typesÚkeyÚvalÚflags        r"   Úadd_argumentsr‘   V   sP  € Ý/Ñ1Ô1€KØ×%Ò%Ñ'Ô'ð _ð _‰ˆˆSØ�c—k’k # sÑ+Ô+Ñ+ˆØ×Ò˜D¨¸CÈÐUXÔU]ÐÑ^Ô^Ð^Ð^à
×Ò˜­VµEÔ4EÑ-FÔ-FÈYÐ`gØWð ñ Yô Yð Yà
×Ò˜˜g¨lÀÐPUØ?ð ñ Aô Að Aà
×Ò˜˜j°ÀHÐV[Ø:ð ñ <ô <ð <à
×Ò˜Ð5¸lÐQ]ÐglØ|ð ñ ~ô ~ð ~à
×Ò˜
¨#°sÐAVÐÑWÔWÐWÐWÐWr$   Úintrr   úT.Dict[str, T.Any]c                ó`   — t          ¦   «         }| j                             |¦  «         |j        S rF   )r   rC   ÚacceptÚresult)r’   Úprinters     r"   ro   ro   f   s)   € ÝÑÔ€GØ„H‡O‚O�GÑÔÐØŒ>Ðr$   rZ   úbackends.InstallDataúT.Dict[str, str]c                óò  — i }| ��ñ| j         D ]z}t          j                             | j        |j        t          j                             |j        ¦  «        ¦  «        |t          j                             | j        |j        ¦  «        <   Œ{| j	        D ]4}t          j                             | j        |j
        ¦  «        ||j        <   Œ5| j        D ]W}t          j                             | j        |j
        t          j                             |j        ¦  «        ¦  «        ||j        <   ŒX| j        D ]4}t          j                             | j        |j
        ¦  «        ||j        <   Œ5| j        D ]4}t          j                             | j        |j
        ¦  «        ||j        <   Œ5| j        D ]T}t          j                             |j        ¦  «        }t          j                             | j        |j
        |¦  «        ||<   ŒU|S rF   )ra   r   r    r!   ÚprefixÚoutdirÚbasenameÚfnameÚ	build_dirÚdataÚinstall_pathÚheadersÚmanÚinstall_subdirsÚsymlinksÚname)rZ   ÚresÚtÚiÚsr�   s         r"   rX   rX   k   s®  € Ø
€CØÑØÔ$ð 	Vð 	VˆAå”—’˜[Ô/°´½2¼7×;KÒ;KÈAÌGÑ;TÔ;TÑUÔUð •”—’˜[Ô2°A´GÑ<Ô<Ñ=Ð=àÔ!ð 	Kð 	KˆAÝœ'Ÿ,š, {Ô'9¸1¼>ÑJÔJˆC�”‰KˆKØÔ$ð 	eð 	eˆAÝœ'Ÿ,š, {Ô'9¸1¼>Í2Ì7×K[ÒK[Ð\]Ô\bÑKcÔKcÑdÔdˆC�”‰KˆKØ”ð 	Kð 	KˆAÝœ'Ÿ,š, {Ô'9¸1¼>ÑJÔJˆC�”‰KˆKØÔ,ð 	Kð 	KˆAÝœ'Ÿ,š, {Ô'9¸1¼>ÑJÔJˆC�”‰KˆKØÔ%ð 	Wð 	WˆAÝ”w×'Ò'¨¬Ñ/Ô/ˆHÝœGŸLšL¨Ô);¸Q¼^ÈXÑVÔVˆC�‰MˆMØ€Jr$   ú6T.Dict[str, T.Dict[str, T.Dict[str, T.Optional[str]]]]c                ó¸  ‡ — dˆ fd„‰ j         D ¦   «         i}‰ j        ‰ j        ‰ j        ‰ j        dœ                     ¦   «         D ]•\  }}|D ]�}|j        p|}|j        }|dk    rBt          j	         
                    |t          j	                             |j	        ¦  «        ¦  «        }|                     |i ¦  «        ||<   ||j        pd dœ||         |j	        <   ŒŽŒ–|S )Nra   c                ó„   •— i | ]<}t           j                             ‰j        |j        ¦  «        |j        |j        pd dœ“Œ=S )N©ÚdestinationÚtag)r   r    r!   rŸ   rž   Úout_namer°   )Ú.0ÚtargetrZ   s     €r"   ú
<dictcomp>z%list_install_plan.<locals>.<dictcomp>€   s[   ø€ ð 
ð 
ð 
ð
 õ	 ŒG�LŠL˜Ô.°´Ñ=Ô=Ø%œØ”zÐ) Tð@ð @ð
ð 
ð 
r$   )r    r£   r¢   r¤   r¢   r®   )ra   r    r£   r¢   r¤   r‡   Ú	data_typeÚinstall_path_namer   r    r!   r�   Úgetr°   )rZ   ÚplanrŽ   Ú	data_listr    rµ   r¶   s   `      r"   r]   r]   ~   s  ø€ àð 
ð 
ð 
ð 
ð
 &Ô-ð
ñ 
ô 
ð€Dð Ô ØŒØÔ&Ø&Ô6ð	ð ÷
 ‚e�g„gðð ‰ˆˆYð ð 
	ð 
	ˆDØœÐ-¨#ˆIØ $Ô 6ÐØ�iÒÐÝ$&¤G§L¢LÐ1BÅBÄG×DTÒDTÐUYÔU^ÑD_ÔD_Ñ$`Ô$`Ð!à"Ÿhšh y°"Ñ5Ô5ˆD�‰Oà0Ø”xÐ' 4ð*ð *ˆD�ŒO˜DœIÑ&Ð&ð
	ð €Kr$   úcdata.CoreDataÚsubdirc                óV   — |                       t          d¦  «        ¦  «        dk    rdS |S )NÚlayoutÚflatz	meson-out)Ú
get_optionr   )r
   r»   s     r"   Úget_target_dirrÀ   œ   s-   € Ø×Ò�9 XÑ.Ô.Ñ/Ô/°6Ò9Ð9Øˆ{àˆr$   úkT.List[T.Dict[str, T.Union[bool, str, T.List[T.Union[str, T.Dict[str, T.Union[str, T.List[str], bool]]]]]]]c                ó˜  ‡‡‡— g }t          | j        ¦  «        Šdˆˆfd„}| j        D ]¡Š |‰d         ¦  «        } |‰d         ¦  «        }t          | j        ‰d         ¦  «        Š|‰d	         ‰d
         ‰d         ‰d         ˆfd„‰d         D ¦   «         ‰d         dg g d„ |D ¦   «         g dœgd„ |D ¦   «         d ‰d         dœ
gz  }Œ¢|S )NÚ	node_listúT.List[BaseNode]r   úT.List[Path]c                ób  •— g }| D �]}g }t          |t          ¦  «        r=t          |j        j        ¦  «        }|j        t          v r|                     d¦  «         n>t          |t          ¦  «        r|j        j        }nt          |t          ¦  «        r|j        }|D ]t}t          |t          ¦  «        r5t          |j        t          ¦  «        sJ ‚|t          |j        ¦  «        gz  }ŒLt          |t          ¦  «        r|t          |¦  «        gz  }Œu�Œˆˆfd„|D ¦   «         }d„ |D ¦   «         }|S )Nr   c                ó,   •— g | ]}‰‰d          z  |z  ‘ŒS )r»   r&   )r²   Úxr©   Úroot_dirs     €€r"   ú
<listcomp>zDlist_targets_from_source.<locals>.nodes_to_paths.<locals>.<listcomp>¸   s'   ø€ Ð7Ð7Ð7¨aˆx˜!˜Hœ+Ñ%¨Ñ)Ð7Ð7Ð7r$   c                ó6   — g | ]}|                      ¦   «         ‘ŒS r&   )Úresolve©r²   rÈ   s     r"   rÊ   zDlist_targets_from_source.<locals>.nodes_to_paths.<locals>.<listcomp>¹   s    € Ð(Ð(Ð(˜qˆq�yŠy‰{Œ{Ð(Ð(Ð(r$   )Ú
isinstancer   ÚlistÚargsÚ	argumentsÚ	func_namer   Úpopr   r   r   Úvaluer   r   )rÃ   r§   ÚnrÐ   Újr©   rÉ   s        €€r"   Únodes_to_pathsz0list_targets_from_source.<locals>.nodes_to_paths¦   sD  ø€ ØˆØð 	%ñ 	%ˆAØˆDÝ˜!�\Ñ*Ô*ð #Ý˜AœFÔ,Ñ-Ô-�Ø”;Õ"8Ð8Ð8Ø—H’H˜Q‘K”K�KøÝ˜A�yÑ)Ô)ð #Ø”vÔ'��Ý˜A�|Ñ,Ô,ð #Ø”{�Øð %ð %�Ý˜a¥Ñ,Ô,ð %Ý% a¤g­sÑ3Ô3Ð3Ð3Ð3Ø�D ¤™MœM˜?Ñ*�C�CÝ ¥3Ñ'Ô'ð %Ø�D ™GœG˜9Ñ$�Cøñ%ð 8Ð7Ð7Ð7Ð7°3Ð7Ñ7Ô7ˆØ(Ð( CÐ(Ñ(Ô(ˆØˆ
r$   ÚsourcesÚextra_filesr»   r¦   ÚidÚtypeÚ
defined_inc                óP   •— g | ]"}t           j                             ‰|¦  «        ‘Œ#S r&   r   )r²   rÈ   rœ   s     €r"   rÊ   z,list_targets_from_source.<locals>.<listcomp>Æ   s)   ø€ ÐGÐGÐG°Q�œŸš f¨aÑ0Ô0ÐGÐGÐGr$   ÚoutputsÚbuild_by_defaultÚunknownc                ó,   — g | ]}t          |¦  «        ‘ŒS r&   ©r   rÍ   s     r"   rÊ   z,list_targets_from_source.<locals>.<listcomp>Ì   ó   € Ð4Ð4Ð4 q�C ™FœFÐ4Ð4Ð4r$   )ÚlanguageÚcompilerÚ
parametersrØ   Úgenerated_sourcesc                ó,   — g | ]}t          |¦  «        ‘ŒS r&   râ   rÍ   s     r"   rÊ   z,list_targets_from_source.<locals>.<listcomp>Ï   rã   r$   rV   )
r¦   rÚ   rÛ   rÜ   Úfilenamerß   Útarget_sourcesrÙ   Ú
subprojectrV   )rÃ   rÄ   r   rÅ   )r   Úsource_rootra   rÀ   r
   )r’   Útlistr×   rØ   Úextra_fr©   rœ   rÉ   s        @@@r"   rs   rs   ¢   s7  øøø€ Ø€EÝ�DÔ$Ñ%Ô%€Hðð ð ð ð ð ð ð, Œ\ð ð ˆØ �.  9¤Ñ.Ô.ˆØ �.  =Ô!1Ñ2Ô2ˆÝ ¤¨q°¬{Ñ;Ô;ˆàØ�f”IØ�D”'Ø�f”IØ˜Lœ/ØGÐGÐGÐG¸!¸I¼,ÐGÑGÔGØ !Ð"4Ô 5à%ØØ Ø4Ð4¨GÐ4Ñ4Ô4Ø%'ð ð  ð ð 5Ð4¨GÐ4Ñ4Ô4ØØ˜;œð!
ð 
ð ñ 	ˆˆð& €Lr$   úbuild.Buildúbackends.BackendúT.List[T.Any]c                óÀ  ‡‡‡‡— g }| j                              ¦   «         Š| j                              ¦   «         Ši Š|j        D ]R}t          j                             |j        ¦  «        }t          t          |j
        |j        |¦  «        ¦  «        g‰|<   ŒS|j        D ]¥}t          j                             |j        ¦  «        }	 ‰t          j                             |j        ¦  «                 ‰|<   ‰|                              t          t          |j
        |j        |¦  «        ¦  «        ¦  «         Œ–# t"          $ r Y Œ¢w xY w|                      ¦   «                              ¦   «         D �]t\  }}t)          |t*          j        ¦  «        st/          d¦  «        ‚t1          | j         j        |j        ¦  «        Š|                     ¦   «         ||                     ¦   «         t          j                             t          j                             ‰|j        d¦  «        ¦  «        ˆˆfd„|                     ¦   «         D ¦   «         |j         | !                    ||¦  «        ˆfd„|j"        D ¦   «         |j#        pd dœ	}	|rI| $                    ¦   «         r5d|	d<   ˆfd„|                     ¦   «         D ¦   «         }
d	„ |
D ¦   «         |	d
<   nd|	d<   |                     |	¦  «         �Œv|S )NzxThe target object in `builddata.get_targets()` is not of type `build.Target`. Please file a bug with this error message.úmeson.buildc                óR   •— g | ]#}t           j                             ‰‰|¦  «        ‘Œ$S r&   r   )r²   rÈ   rŸ   rœ   s     €€r"   rÊ   z list_targets.<locals>.<listcomp>ô   s+   ø€ ÐZÐZÐZÀ�œŸš i°¸Ñ;Ô;ÐZÐZÐZr$   c           	     ó    •— g | ]J}t           j                             t           j                             ‰|j        |j        ¦  «        ¦  «        ‘ŒKS r&   )r   r    Únormpathr!   r»   rž   ©r²   rÈ   Úsrc_dirs     €r"   rÊ   z list_targets.<locals>.<listcomp>÷   s@   ø€ ÐsÐsÐsÐ[\�BœG×,Ò,­R¬W¯\ª\¸'À1Ä8ÈQÌWÑ-UÔ-UÑVÔVÐsÐsÐsr$   )	r¦   rÚ   rÛ   rÜ   ré   rß   rê   rÙ   rë   TrV   c                ó>   •— g | ]}‰                      |d g¦  «        ‘ŒS rF   )r·   )r²   rÈ   Úinstall_lookuptables     €r"   rÊ   z list_targets.<locals>.<listcomp>ý   s,   ø€ ÐTÐTÐT¸!Ð&×*Ò*¨1¨t¨fÑ5Ô5ÐTÐTÐTr$   c                ó   — g | ]	}|D ]}|‘ŒŒ
S r&   r&   )r²   ÚsublistrÈ   s      r"   rÊ   z list_targets.<locals>.<listcomp>þ   s%   € Ð$KÐ$KÐ$K¨7À7Ð$KÐ$K¸a QÐ$KÐ$KÐ$KÐ$Kr$   Úinstall_filenameF)%ÚenvironmentÚget_build_dirÚget_source_dirra   r   r    r�   rž   r   r   r›   rœ   r¥   r¦   r³   Úappendr¡   ÚKeyErrorÚget_targetsr‡   rÎ   r   ÚTargetÚRuntimeErrorrÀ   r
   r»   Úget_basenameÚget_typenamerö   r!   Úget_outputsrß   Úget_introspection_datarÙ   rë   Úshould_install)r;   rZ   r=   rí   r©   r�   rª   Úidnamer³   r¨   ÚifnrŸ   rú   rœ   rø   s              @@@@r"   rc   rc   Ö   sò  øøøø€ Ø€EØÔ%×3Ò3Ñ5Ô5€IØÔ#×2Ò2Ñ4Ô4€Gð ÐØÔ ð `ð `ˆÝ”7×#Ò# A¤GÑ,Ô,ˆÝ),­X°kÔ6HÈ!Ì(ÐT\Ñ-]Ô-]Ñ)^Ô)^Ð(_Ð˜HÑ%Ð%ØÔ!ð ð ˆõ ”7×#Ò# A¤FÑ+Ô+ˆð	Ø,?ÅÄ×@PÒ@PÐQRÔQYÑ@ZÔ@ZÔ,[Ð Ñ)Ø Ô)×0Ò0µµX¸kÔ>PÐRSÔR`ÐbjÑ5kÔ5kÑ1lÔ1lÑmÔmÐmÐmøÝð 	ð 	ð 	ØˆDð	øøøð &×1Ò1Ñ3Ô3×9Ò9Ñ;Ô;ð ñ Ñˆ�Ý˜&¥%¤,Ñ/Ô/ð 	[Ýð   Zñ  [ô  [ð  [å 	Ô 5Ô >ÀÄÑNÔNˆà×'Ò'Ñ)Ô)ØØ×'Ò'Ñ)Ô)Ýœ'×*Ò*­2¬7¯<ª<¸ÀÄÐP]Ñ+^Ô+^Ñ_Ô_ØZÐZÐZÐZÐZÀV×EWÒEWÑEYÔEYÐZÑZÔZØ &Ô 7Ø%×<Ò<¸VÀVÑLÔLØsÐsÐsÐsÐ`fÔ`rÐsÑsÔsØ Ô+Ð3¨tð

ð 

ˆð ð 	#˜6×0Ò0Ñ2Ô2ð 	#Ø!ˆAˆk‰NØTÐTÐTÐT¸v×?QÒ?QÑ?SÔ?SÐTÑTÔTˆCØ$KÐ$K°cÐ$KÑ$KÔ$KˆAÐ Ñ!Ð!à"ˆAˆk‰NØ�Š�Q‰Œˆ‰Ø€Ls   ÃA.D2Ä2
D?Ä>D?ú9T.List[T.Dict[str, T.Union[str, bool, int, T.List[str]]]]c                óZ   — d„ | j         d         D ¦   «         }t          | j        |¦  «        S )Nc                ó   — g | ]
}|d          ‘ŒS )r¦   r&   )r²   r©   s     r"   rÊ   z1list_buildoptions_from_source.<locals>.<listcomp>  s   € ÐGÐGÐG �1�V”9ÐGÐGÐGr$   Úsubprojects)Úproject_datarL   r
   )r’   r  s     r"   rp   rp     s/   € ØGÐG dÔ&7¸Ô&FÐGÑGÔG€KÝ˜Tœ]¨KÑ8Ô8Ð8r$   r  úT.Optional[T.List[str]]c                óP  ‡ ‡— g Š|pg }t          t          j        ¦  «        }t          d¦  «        t          d¦  «        h}i }i }i }‰ j                             ¦   «         D ]W\  }}||v r|||<   Œ||v r|||<   Œ|                     ¦   «         r*|||<   |j        s|D ]}	|||                     |	¬¦  «        <   ŒŒXdˆ ˆfd
„}
 |
|d¦  «          |
d„ ‰ j                             ¦   «         D ¦   «         d¦  «          |
d„ ‰ j                             ¦   «         D ¦   «         d¦  «          |
d„ t          ‰ j                             ¦   «         d„ ¬¦  «        D ¦   «         d¦  «          |
|d¦  «          |
d„ ‰ j                             ¦   «         D ¦   «         d¦  «          |
|d¦  «         ‰S )NÚ	errorlogsÚstdsplit)rë   Úoptionsú'cdata.KeyedOptionDictType'Úsectionr   r   r2   c                ó¦  •— t          |                      ¦   «         ¦  «        D �],\  }}t          |¦  «        |j        |‰                     |¦  «        r|j                             ¦   «         nddœ}t          |t          j	        ¦  «        rd}nžt          |t          j
        ¦  «        rd}n�t          |t          j        ¦  «        r|j        |d<   d}nZt          |t          j        ¦  «        rd}n=t          |t          j        ¦  «        rd}|j        r
|j        |d<   nt          d	¦  «        ‚||d
<   |j        |d<   ‰                     |¦  «         �Œ.d S )NÚany)r¦   rÔ   r  ÚmachineÚstringÚbooleanr€   ÚcomboÚintegerÚarrayzUnknown option typerÛ   Údescription)rŠ   r‡   r   rÔ   Úis_per_machine_optionr  Úget_lower_case_namerÎ   r‹   ÚUserStringOptionÚUserBooleanOptionÚUserComboOptionr€   ÚUserIntegerOptionÚUserArrayOptionr  r!  r  )r  r  rŽ   ÚoptÚoptdictÚtypestrr
   Úoptlists         €€r"   Úadd_keysz#list_buildoptions.<locals>.add_keys  s^  ø€ Ý˜wŸ}š}™œÑ/Ô/ð 	$ñ 	$‰HˆC�Ý" 3™xœx°#´)ÈØGO×GeÒGeÐfiÑGjÔGjÐ"u #¤+×"AÒ"AÑ"CÔ"CÐ"CÐpuðwð wˆGå˜#�uÔ5Ñ6Ô6ð :Ø"��Ý˜C¥Ô!8Ñ9Ô9ð :Ø#��Ý˜C¥Ô!6Ñ7Ô7ð 
:Ø%(¤[�˜	Ñ"Ø!��Ý˜C¥Ô!8Ñ9Ô9ð :Ø#��Ý˜C¥Ô!6Ñ7Ô7ð :Ø!�Ø”;ð 5Ø),¬�G˜IÑ&øå"Ð#8Ñ9Ô9Ð9Ø%ˆG�F‰OØ%(¤_ˆG�MÑ"Ø�NŠN˜7Ñ#Ô#Ð#Ñ#ð)	$ð 	$r$   Úcorec                óB   — i | ]\  }}|                      ¦   «         ¯||“ŒS r&   )Ú
is_backend©r²   ÚkÚvs      r"   r´   z%list_buildoptions.<locals>.<dictcomp>6  ó+   € ÐJÐJÐJ‘t�q˜!¸1¿<º<¹>¼>ÐJˆa�ÐJÐJÐJr$   r=   c                óB   — i | ]\  }}|                      ¦   «         ¯||“ŒS r&   )Úis_baser1  s      r"   r´   z%list_buildoptions.<locals>.<dictcomp>7  s+   € ÐGÐGÐG‘t�q˜!¸1¿9º9¹;¼;ÐGˆa�ÐGÐGÐGr$   Úbasec                óB   — i | ]\  }}|                      ¦   «         ¯||“ŒS r&   )Úis_compilerr1  s      r"   r´   z%list_buildoptions.<locals>.<dictcomp>9  s0   € ÐjÐjÐj‘$�!�QÐZ[×ZgÒZgÑZiÔZiÐjˆˆAÐjÐjÐjr$   c                ó   — | d         j         S )Nr   )r  )r©   s    r"   rI   z#list_buildoptions.<locals>.<lambda>9  s   € ÈÈ1ÌÌ€ r$   )rŽ   rå   Ú	directoryc                óB   — i | ]\  }}|                      ¦   «         ¯||“ŒS r&   )Ú
is_projectr1  s      r"   r´   z%list_buildoptions.<locals>.<dictcomp>=  r4  r$   ÚuserÚtest)r  r  r  r   r   r2   )
Úsetr‹   ÚBUILTIN_DIR_OPTIONSr   r  r‡   Ú
is_builtinÚyieldingÚevolverŠ   )r
   r  Údir_option_namesÚtest_option_namesÚdir_optionsÚtest_optionsÚcore_optionsr2  r3  rª   r-  r,  s   `          @r"   rL   rL     s+  øø€ Ø€GØÐ# €Kå�5Ô4Ñ5Ô5ÐÝ" ;Ñ/Ô/Ý" :Ñ.Ô.ð0Ðð 79€KØ79€LØ79€LØÔ ×&Ò&Ñ(Ô(ð 	=ð 	=‰ˆˆ1ØÐ Ð Ð ØˆK˜‰NˆNØÐ#Ð#Ð#ØˆL˜‰OˆOØ�\Š\‰^Œ^ð 	=ØˆL˜‰OØ”:ð =Ø$ð =ð =�AØ;<�L §¢°Q Ñ!7Ô!7Ñ8Ð8øð$ð $ð $ð $ð $ð $ð $ð. €Hˆ\˜6Ñ"Ô"Ð"Ø€HÐJÐJ˜xÔ/×5Ò5Ñ7Ô7ÐJÑJÔJÈIÑVÔVÐVØ€HÐGÐG˜xÔ/×5Ò5Ñ7Ô7ÐGÑGÔGÈÑPÔPÐPØ€HØjÐj�& Ô!1×!7Ò!7Ñ!9Ô!9Ð?UÐ?UÐVÑVÔVÐjÑjÔjØñô ð ð €Hˆ[˜+Ñ&Ô&Ð&Ø€HÐJÐJ˜xÔ/×5Ò5Ñ7Ô7ÐJÑJÔJÈFÑSÔSÐSØ€Hˆ\˜6Ñ"Ô"Ð"Ø€Nr$   rø   c           
     óô   — g }t          j        | ¦  «        D ]`\  }}}|D ]W}|dv rQ|                     t           j                             t           j                             ||¦  «        | ¦  «        ¦  «         ŒXŒa|S )N>   úmeson_options.txtró   )r   Úwalkr  r    Úrelpathr!   )rø   ÚfilelistÚrootrx   ÚfilesÚfs         r"   Úfind_buildsystem_files_listrR  A  s…   € à€HÝœ' 'Ñ*Ô*ð Qð Q‰ˆˆa�Øð 	Qð 	QˆAØÐ8Ð8Ð8Ø—’¥¤§¢µ´·²¸TÀ1Ñ0EÔ0EÀwÑ OÔ OÑPÔPÐPøð	Qð €Or$   rQ   r   c                ó˜   ‡— | j                              ¦   «         Št          |                     ¦   «         ¦  «        }ˆfd„|D ¦   «         }|S )Nc                óT   •— g | ]$}t          ‰|¦  «                             ¦   «         ‘Œ%S r&   )r   Úas_posixr÷   s     €r"   rÊ   z*list_buildsystem_files.<locals>.<listcomp>M  s/   ø€ ÐBÐBÐB°A•˜ !Ñ$Ô$×-Ò-Ñ/Ô/ÐBÐBÐBr$   )rþ   r   rÏ   Úget_build_def_files)r;   rQ   rN  rø   s      @r"   rP   rP   J  sN   ø€ ØÔ#×2Ò2Ñ4Ô4€GÝ�K×3Ò3Ñ5Ô5Ñ6Ô6€HØBÐBÐBÐB¸ÐBÑBÔB€HØ€Or$   ú'T.List[T.Dict[str, T.Union[str, bool]]]c                óp   ‡— g }| j         D ]*}g d¢Š|ˆfd„|                     ¦   «         D ¦   «         gz  }Œ+|S )N)r¦   ÚrequiredÚversionÚhas_fallbackÚconditionalc                ó$   •— i | ]\  }}|‰v ¯	||“ŒS r&   r&   )r²   r2  r3  Úkeyss      €r"   r´   z)list_deps_from_source.<locals>.<dictcomp>Z  s$   ø€ Ð<Ð<Ð<™T˜Q °!°t°)°)�A�q°)°)°)r$   )rR   r‡   )r’   r–   r©   r^  s      @r"   rq   rq   P  s^   ø€ Ø€FØÔð >ð >ˆð
ð 
ð 
ˆð 	Ð<Ð<Ð<Ð< Q§W¢W¡Y¤YÐ<Ñ<Ô<Ð=Ñ=ˆˆØ€Mr$   ú.T.List[T.Dict[str, T.Union[str, T.List[str]]]]c                ó   — g }| j         j                             ¦   «         D ]\}|                     ¦   «         rF||j        |                     ¦   «         |                     ¦   «         |                     ¦   «         dœgz  }Œ]|S )N)r¦   rZ  Úcompile_argsÚ	link_args)ÚdepsÚhostÚvaluesÚfoundr¦   Úget_versionÚget_compile_argsÚget_link_args)r
   r–   Úds      r"   rT   rT   ]  sƒ   € Ø€FØŒ]Ô×&Ò&Ñ(Ô(ð 9ð 9ˆØ�7Š7‰9Œ9ð 	9Ø ¤Ø#$§=¢=¡?¤?Ø()×(:Ò(:Ñ(<Ô(<Ø%&§_¢_Ñ%6Ô%6ð8ð 8ð 9ñ 9ˆFøð €Mr$   rh   ú"T.List[backends.TestSerialisation]úET.List[T.Dict[str, T.Union[str, int, T.List[str], T.Dict[str, str]]]]c                óø  — g }| D ]ô}i }t          |j        t          ¦  «        r	|j        g}n|j        }||j        z   |d<   t          |j        t
          j        ¦  «        r|j                             i ¦  «        |d<   n
|j        |d<   |j        |d<   |j	        |d<   |j
        |d<   |j        |d<   |j        |d<   |j        |d<   t          |j        ¦  «        |d	<   |j        |d
<   |                     |¦  «         Œõ|S )NÚcmdÚenvr¦   ÚworkdirÚtimeoutÚsuiteÚis_parallelÚpriorityÚprotocolÚdepends)rÎ   rž   r   Úcmd_argsro  r   ÚEnvironmentVariablesÚget_envr¦   rp  rq  rr  rs  rt  ru  rv  r  )rh   r–   r¨   Útorž   s        r"   Úget_test_listr{  g  s  € Ø€FØð ð ˆØˆÝ�a”g�sÑ#Ô#ð 	Ø”W�IˆEˆEà”GˆEØ˜AœJÑ&ˆˆ5‰	Ý�a”e�UÔ7Ñ8Ô8ð 	ØœŸš bÑ)Ô)ˆBˆu‰IˆIàœˆBˆu‰IØ”Vˆˆ6‰
Øœ	ˆˆ9‰Øœ	ˆˆ9‰Ø”gˆˆ7‰ØœMˆˆ=ÑØœˆˆ:‰Ý˜QœZ™œˆˆ:‰Øœ	ˆˆ9‰Ø�Š�bÑÔÐÐØ€Mr$   c                ó    — t          | ¦  «        S rF   ©r{  rg   s    r"   rf   rf     s   € Ý˜Ñ"Ô"Ð"r$   Ú	benchdatac                ó    — t          | ¦  «        S rF   r}  )r~  s    r"   rG   rG   ‚  s   € Ý˜Ñ#Ô#Ð#r$   ú3T.Dict[str, T.Union[str, T.List[T.Dict[str, str]]]]c                óâ   — | j         | j        | j        dœ}g }| j                             ¦   «         D ]8\  }}||| j                             |¦  «        dœ}|                     |¦  «         Œ9||d<   |S )N)rZ  Údescriptive_nameÚsubproject_dir)r¦   rZ  r‚  r  )Úproject_versionÚproject_namerƒ  r  r‡   Úprojectsr·   r  )r;   r–   r  r2  r3  Úcs         r"   r`   r`   …  s—   € Ø"Ô2Ø"+Ô"8Ø )Ô 8ð:ð :€Fð €KØÔ%×+Ò+Ñ-Ô-ð ð ‰ˆˆ1ØØØ!*Ô!3×!7Ò!7¸Ñ!:Ô!:ð<ð <ˆð 	×Ò˜1ÑÔÐÐØ'€Fˆ=ÑØ€Mr$   c                ó<  ‡— | j         }t          |¦  «        }d„ |D ¦   «         }| j        d         D ]L}t          j                             | j        |d         ¦  «        Šˆfd„|D ¦   «         |d<   ˆfd„|D ¦   «         }ŒM|| j        d<   | j        | j        d<   | j        S )Nc                óL   — g | ]!}t           j                             |¦  «        ‘Œ"S r&   )r   r    rö   rÍ   s     r"   rÊ   z-list_projinfo_from_source.<locals>.<listcomp>•  s(   € Ð0Ð0Ð0 Q�RŒW×Ò˜aÑ Ô Ð0Ð0Ð0r$   r  r¦   c                ó>   •— g | ]}|                      ‰¦  «        ¯|‘ŒS r&   ©Ú
startswith©r²   rÈ   Úbasedirs     €r"   rÊ   z-list_projinfo_from_source.<locals>.<listcomp>™  s*   ø€ Ð!LÐ!LÐ!L¨°a·l²lÀ7Ñ6KÔ6KÐ!L !Ð!LÐ!LÐ!Lr$   rN   c                ó>   •— g | ]}|                      ‰¦  «        °|‘ŒS r&   r‹  r�  s     €r"   rÊ   z-list_projinfo_from_source.<locals>.<listcomp>š  s*   ø€ Ð?Ð?Ð?�q¨¯ª°gÑ)>Ô)>Ð?�Ð?Ð?Ð?r$   rƒ  )rì   rR  r  r   r    r!   rƒ  )r’   r?   rP  r©   rŽ  s       @r"   rr   rr   ’  sÂ   ø€ ØÔ €IÝ'¨	Ñ2Ô2€EØ0Ð0¨%Ð0Ñ0Ô0€EàÔ˜}Ô-ð @ð @ˆÝ”'—,’,˜tÔ2°A°f´IÑ>Ô>ˆØ!LÐ!LÐ!LÐ!L¨UÐ!LÑ!LÔ!LˆÐ
ÑØ?Ð?Ð?Ð?˜EÐ?Ñ?Ô?ˆˆà-2€DÔÐ)Ñ*Ø*.Ô*=€DÔÐ&Ñ'ØÔÐr$   r  úargparse.NamespaceÚresultsú6T.Sequence[T.Tuple[str, T.Union[dict, T.List[T.Any]]]]r‚   Úintc                óD  — |s| j         st          d¦  «         dS t          |¦  «        dk    r7| j         s0t          t          j        |d         d         |¬¦  «        ¦  «         n;i }|D ]}|d         ||d         <   Œt          t          j        ||¬¦  «        ¦  «         dS )NzNo command specifiedr   r   )r‚   )rƒ   ÚprintÚlenÚjsonÚdumps)r  r‘  r‚   Úoutr©   s        r"   Úprint_resultsrš     s²   € Øð 
.˜7Ô-ð 
.ÝÐ$Ñ%Ô%Ð%ØˆqÝ	ˆW‰Œ˜Ò	Ð	 7Ô#5Ð	å�dŒj˜ œ Aœ¨vÐ6Ñ6Ô6Ñ7Ô7Ð7Ð7àˆØð 	ð 	ˆAØ˜!œˆC��!”‰IˆIÝ�dŒj˜ VÐ,Ñ,Ô,Ñ-Ô-Ð-Øˆ1r$   r„   c                óN   — d}| � t           j                             | |¦  «        }|S )Nz
meson-infor   )r„   Úinfodirs     r"   Úget_infodirr�  ®  s'   € Ø€GØÐÝ”'—,’,˜x¨Ñ1Ô1ˆØ€Nr$   rœ  Úkindc                óR   — t           j                             | |sdnd|› d�¦  «        S )Nr   úintro-ú.jsonr   )rœ  rž  s     r"   Úget_info_filer¢  ´  s9   € ÝŒ7�<Š<˜Ø15ÐOÐ)Ð)Ð;OÀDÐ;OÐ;OÐ;OñQô Qð Qr$   úT.Anyc                óœ   — t          t          | |¦  «        d¬¦  «        5 }t          j        |¦  «        cd d d ¦  «         S # 1 swxY w Y   d S )Núutf-8©Úencoding)Úopenr¢  r—  Úload)rœ  rž  Úfps      r"   Úload_info_filer«  ¸  s‹   € Ý	�m˜G TÑ*Ô*°WÐ	=Ñ	=Ô	=ð ÀÝŒy˜‰}Œ}ðð ð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð ð s    AÁAÁAc           
     ó  — d}t          | j        ¦  «        }| j        �%t          j                             | j        |¦  «        }| j        rdnd }g }| j        dk    rdn| j        d d…         }t          |¬¦  «        }dt          j                             | j        ¦  «        | j        fv rüt          j	        ¦   «          t          j        | j        ¦  «        }|€J ‚t          |d|j        t          ¦   «         t!          ¦   «         t#          ¦   «         g¬¦  «        }|                     ¦   «          t          j        ¦   «          |                     ¦   «         D ]@\  }	}
| j        st-          | |	d	¦  «        r|
j        sŒ%||	|
                     |¦  «        fgz  }ŒAt1          | ||¦  «        S 	 t3          |¦  «        }|                     d
i ¦  «                             di ¦  «                             dd¦  «        }nŽ# t6          $ r� t          j                             |¦  «        rt          j                             |¦  «        st;          d¦  «         n/t;          d                     t?          |¦  «        ¦  «        ¦  «         Y dS w xY wtA          ¦   «         }|D ]P}tC          j"        ||¦  «        s9t;          d                     |d                     |¦  «        ¦  «        ¦  «          dS ŒQ|                     ¦   «         D ]\  }}|j#        sŒ| j        st-          | |d	¦  «        sŒ&	 ||t3          ||¦  «        fgz  }Œ># t6          $ r5 t;          d                     t?          ||¦  «        ¦  «        ¦  «         Y  dS w xY wt1          | ||¦  «        S )Nzmeson-privateé   ró   r4   iõÿÿÿ)r?   Ú )ÚvisitorsFÚintrospectionrZ  Úfullz0.0.0zyCurrent directory is not a meson build directory.
Please specify a valid build dir or change the working directory to it.zžIntrospection file {} does not exist.
It is also possible that the build directory was generated with an old
meson version. Please regenerate it in this case.r   zFIntrospection version {} is not supported. The required version is: {}z and z%Introspection file {} does not exist.)$r�  r„   r   r    r!   r‚   rt   r�   r	   Údisabler   Úget_backend_from_namer=   r   r¦   r   r   r   ÚanalyzeÚenabler‡   r�   Úgetattrr0   rš  r«  r·   ÚFileNotFoundErrorÚisdirr•  Úformatr¢  r*   r   Úversion_comparer.   )r  Údatadirrœ  r‚   r‘  r?   r�   r=   r’   rŽ   r�   ÚrawÚ
intro_versÚvers_to_checkr©   r3  s                   r"   Úrunr¿  ¼  sÞ  € Ø€GÝ˜'Ô*Ñ+Ô+€GØÔÐ#Ý”'—,’,˜wÔ/°Ñ9Ô9ˆØ”.Ð*ˆQˆQ d€FØ€GØÔ'¨=Ò8Ð8��¸gÔ>NÈtÐPSÈtÔ>T€IÝ/¸)ÐDÑDÔD€Kà�œ×)Ò)¨'Ô*:Ñ;Ô;¸WÔ=MÐNÐNÐNåŒ‰ŒˆÝÔ0°´ÑAÔAˆØÐ"Ð"Ð"Ý'¨	°2°w´|ÕQ_ÑQaÔQaÕczÑc|Ôc|õ  Pñ  Rô  Rð  QSð  Tñ  Tô  TˆØ�Š‰ŒˆåŒ‰ŒˆØ#×)Ò)Ñ+Ô+ð 	0ð 	0‰HˆC�Ø”Kð ­°¸¸eÑ(DÔ(Dð ÈSÌYð ØØ˜˜cŸiši¨™oœoÐ.Ð/Ñ/ˆGˆGÝ˜W g¨vÑ6Ô6Ð6ðÝ˜WÑ%Ô%ˆØ—W’W˜_¨bÑ1Ô1×5Ò5°iÀÑDÔD×HÒHÈÐQXÑYÔYˆ
ˆ
øÝð ð ð ÝŒw�}Š}˜WÑ%Ô%ð 	f­R¬W¯]ª]¸7Ñ-CÔ-Cð 	fÝð \ñ ]ô ]ð ]ð ]õ ð FçFLÂfÍ]Ð[bÑMcÔMcÑFdÔFdñfô fð fð ˆqˆqðøøøõ =Ñ>Ô>€MØð ð ˆÝÔ'¨
°AÑ6Ô6ð 	Ýð 0ç’6˜* g§l¢l°=Ñ&AÔ&AÑBÔBñDô Dð Dð �1�1ð		ð ×!Ò!Ñ#Ô#ð 	ð 	‰ˆˆ1ØŒvð 	ØØŒ{ð 	¥7¨7°A°uÑ#=Ô#=ð 	Øð	Ø˜�N¨7°AÑ6Ô6Ð7Ð8Ñ8ˆGˆGøÝ ð 	ð 	ð 	ÝÐ9×@Ò@ÅÈwÐXYÑAZÔAZÑ[Ô[Ñ\Ô\Ð\Ø�1�1�1ð	øøøõ ˜ '¨6Ñ2Ô2Ð2s&   Æ&AG4 Ç4BI?É>I?ÌL5Ì5:M4Í3M4Ú
intro_infoc                ó¢  — | D ]Ë\  }}t           j                             |d|› d�¦  «        }t           j                             |d¦  «        }t          |dd¬¦  «        5 }t	          j        ||¦  «         |                     ¦   «          d d d ¦  «         n# 1 swxY w Y   t          j        ||¦  «         t           	                    |¦  «         ŒÌd S )Nr   r¡  útmp_dump.jsonÚwr¥  r¦  )
r   r    r!   r¨  r—  ÚdumpÚflushrˆ   Úupdated_introspection_filesr  )rÀ  r   rž  r    Úout_fileÚtmp_filerª  s          r"   Úwrite_intro_inforÉ  ú  s  € Ø ð 1ð 1‰
ˆˆdÝ”7—<’< Ð*>°4Ð*>Ð*>Ð*>Ñ?Ô?ˆÝ”7—<’< ¨/Ñ:Ô:ˆÝ�(˜C¨'Ð2Ñ2Ô2ð 	°bÝŒI�d˜BÑÔÐØ�HŠH‰JŒJˆJð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	õ 	Œ
�8˜XÑ&Ô&Ð&Ý#×*Ò*¨4Ñ0Ô0Ð0Ð0ð1ð 1s   Á*BÂB	ÂB	c                ó  — | j                              ¦   «         }t          || |¬¦  «        }g }|                     ¦   «         D ]'\  }}|j        sŒ|||                     ¦   «         fgz  }Œ(t          || j         j        ¦  «         d S )N)r
   r;   r=   )rþ   Úget_coredatart   r‡   r.   rÉ  r   )r;   r=   r
   r�   rÀ  rŽ   r�   s          r"   Úgenerate_introspection_filerÌ    s”   € ØÔ$×1Ò1Ñ3Ô3€HÝ/¸ÈYÐ`gÐhÑhÔh€KØ€Jà×%Ò%Ñ'Ô'ð *ð *‰ˆˆSØŒxð 	ØØ˜˜SŸXšX™ZœZÐ(Ð)Ñ)ˆ
ˆ
å�Z Ô!6Ô!?Ñ@Ô@Ð@Ð@Ð@r$   c                óJ   — dt          | ¦  «        fg}t          ||¦  «         d S )NrJ   )rL   rÉ  )r
   r   rÀ  s      r"   Úupdate_build_optionsrÎ    s2   € à	Õ*¨8Ñ4Ô4Ð5ð€Jõ �Z Ñ*Ô*Ð*Ð*Ð*r$   rZ  úT.Dict[str, T.Union[str, int]]c                ó*  — |                       d¦  «        }| t          t          |¦  «        dk    r|d         nd¦  «        t          t          |¦  «        dk    r|d         nd¦  «        t          t          |¦  «        dk    r|d         nd¦  «        dœS )Nr4   r   r   é   )r±  ÚmajorÚminorÚpatch)Úsplitr“  r–  )rZ  Ú	vers_lists     r"   Úsplit_version_stringr×    sŽ   € Ø—’˜cÑ"Ô"€IàÝ¥S¨¡^¤^°aÒ%7Ð%7�Y˜q”\�\¸QÑ?Ô?Ý¥S¨¡^¤^°aÒ%7Ð%7�Y˜q”\�\¸QÑ?Ô?Ý¥S¨¡^¤^°aÒ%7Ð%7�Y˜q”\�\¸QÑ?Ô?ð	ð ð r$   FÚerrorsrÏ   Úbuild_files_updatedÚboolc                óæ  — | j         j        }t          |¦  «        }t          ¦   «         }i }|                     ¦   «         D ] \  }}|j        sŒd|› d�|t          v dœ||<   Œ!t          t          j	        ¦  «        | j          
                    ¦   «         | j                              ¦   «         |dœt          t          ¦   «         ¦  «        |dœ|dœ}	|rd|	d<   d	„ |D ¦   «         |	d
<   nd|	d<   t          j                             |d¦  «        }
t!          |
dd¬¦  «        5 }t#          j        |	|¦  «         |                     ¦   «          d d d ¦  «         n# 1 swxY w Y   t          j        |
|¦  «         d S )Nr   r¡  )ÚfileÚupdated)Úsourcer   Úinfo)rZ  Úinformation)Úmeson_versionÚdirectoriesr°  rÙ  TÚerrorc                óZ   — g | ](}t          |t          ¦  «        r|nt          |¦  «        ‘Œ)S r&   )rÎ   r   rÍ   s     r"   rÊ   z)write_meson_info_file.<locals>.<listcomp>>  s1   € Ð"WÐ"WÐ"WÈ1­
°1µcÑ(:Ô(:Ð#F 1 1ÅÀAÁÄÐ"WÐ"WÐ"Wr$   Ú
error_listFrÂ  rÃ  r¥  r¦  )rþ   r   r#   rt   r‡   r.   rÆ  r×  r‹   rZ  r   rÿ   r'   r   r    r!   r¨  r—  rÄ  rÅ  rˆ   )r;   rØ  rÙ  r   Ú	info_filer�   rÀ  r©   r3  Ú	info_datarÈ  rª  s               r"   Úwrite_meson_info_filerè     sâ  € ØÔ$Ô-€HÝ# HÑ-Ô-€IÝ/Ñ1Ô1€KØ€Jà×!Ò!Ñ#Ô#ð 
ð 
‰ˆˆ1ØŒvð 	Øà%˜QÐ%Ð%Ð%ØÕ7Ð7ð
ð 
ˆ
�1‰ˆõ .­e¬mÑ<Ô<àÔ+×:Ò:Ñ<Ô<ØÔ*×8Ò8Ñ:Ô:Øð
ð 
õ ,Õ,KÑ,MÔ,MÑNÔNØ%ð
ð 
ð  3ðð €Ið ð #Ø!ˆ	�'ÑØ"WÐ"WÐPVÐ"WÑ"WÔ"Wˆ	�,ÑÐà"ˆ	�'Ñõ Œw�|Š|˜H oÑ6Ô6€HÝ	ˆh˜ gÐ	.Ñ	.Ô	.ð °"ÝŒ	�)˜RÑ Ô Ð Ø
�Š‰
Œ
ˆ
ðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ „Jˆx˜Ñ#Ô#Ð#Ð#Ð#s   Ä*EÅEÅE)r   r   r   r   )r   r   )r   r(   )NNNN)
r
   r:   r;   r<   r=   r>   r?   r@   r   rA   )ru   rv   r   r2   )r’   r   r   r“   )rZ   r˜   r   r™   )rZ   r˜   r   r«   )r
   rº   r»   r   r   r   )r’   r   r   rÁ   )r;   rï   rZ   r˜   r=   rð   r   rñ   )r’   r   r   r  rF   )r
   rº   r  r  r   r  )rø   r   r   r(   )r;   rï   rQ   r   r   r(   )r’   r   r   rW  )r
   rº   r   r_  )rh   rk  r   rl  )r~  rk  r   rl  )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ž  r@   r   r£  )r  r�  r   r“  )rÀ  r’  r   r   r   r2   )r;   rï   r=   rð   r   r2   )r
   rº   r   r   r   r2   )rZ  r   r   rÏ  )F)r;   rï   rØ  rÏ   rÙ  rÚ  r   r2   )FÚ
__future__r   rm   r—  r   Úpathlibr   r   ÚtypingÚTr®  r   r   r	   r
   r‹   rC   r   r   r   r   r   r   r=   r   r   Úmparserr   r   r   r   ÚTYPE_CHECKINGÚargparserQ   r   r   r#   r'   r*   r,   rt   r‘   ro   rX   r]   rÀ   rs   rc   rp   rL   rR  rP   rq   rT   r{  rf   rG   r`   rr   rš  r�  r¢  r«  r¿  rÆ  rÉ  rÌ  rÎ  r×  rè  r&   r$   r"   ú<module>rð     s^  ðð #Ð "Ð "Ð "Ð "Ð "ð+ð Ð Ð Ð Ø €€€Ø 	€	€	€	Ø "Ð "Ð "Ð "Ð "Ð "Ð "Ð "Ø Ð Ð Ð à 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6ð Nð  Nð  Nð  Nð  Nð  Nð  Nð  Nð  Nð  Nð  Nð  Nð  Nð  Nð  Nð  NØ Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø FÐ FÐ FÐ FÐ FÐ FÐ FÐ FÐ FÐ FÐ FÐ Fà„?ð "Ø€O€O€Oà(Ð(Ð(Ð(Ð(Ð(Ø!Ð!Ð!Ð!Ð!Ð!ð5ð 5ð 5ð 5ðð ð ð ðð ð ð ðð ð ð ð ñ ô ð ð JNØGKØJNØ?Cðð ð ð ð ð6Xð Xð Xð Xð ð ð ð ð
ð ð ð ð&ð ð ð ð<ð ð ð ð2ð 2ð 2ð 2ðh,ð ,ð ,ð ,ð\9ð 9ð 9ð 9ð7ð 7ð 7ð 7ð 7ðrð ð ð ðð ð ð ðð ð ð ðð ð ð ðð ð ð ð0#ð #ð #ð #ð$ð $ð $ð $ðð ð ð ðð ð ð ðð ð ð ðð ð ð ð ðQð Qð Qð Qð Qðð ð ð ð ð:3ð :3ð :3ð :3ðx !Ð ð1ð 1ð 1ð 1ð
Að 
Að 
Að 
Að+ð +ð +ð +ðð ð ð ð'$ð '$ð '$ð '$ð '$ð '$ð '$r$   