§
    ¤æVc?H  ã                  ó   — 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m	Z	 ddl
mZmZmZmZmZmZ ddlmZmZmZmZmZ ddlmZmZmZmZmZmZmZmZmZm Z m!Z!m"Z" ej#        r&d	d
l$m%Z% ddlm&Z& ddl
m'Z'm(Z( ddlm)Z)m*Z*m+Z+m,Z,m-Z-m.Z.m/Z/  G d„ de¦  «        Z0 G d„ de¦  «        Z1 G d„ de¦  «        Z2 G d„ de¦  «        Z3 G d„ de¦  «        Z4 G d„ de¦  «        Z5d Z6d	Z7 ej8        d¦  «        Z9 ej8        d¦  «        Z: G d„ de¦  «        Z;dS )é    )ÚannotationsNé   )ÚmparserÚmesonlib)Úenvironment)ÚMesonInterpreterObjectÚInterpreterBaseÚInvalidArgumentsÚBreakRequestÚContinueRequestÚdefault_resolve_key)ÚStringHolderÚBooleanHolderÚIntegerHolderÚArrayHolderÚ
DictHolder)ÚArgumentNodeÚArithmeticNodeÚ	ArrayNodeÚAssignmentNodeÚBaseNodeÚElementaryNodeÚ	EmptyNodeÚIdNodeÚ
MethodNodeÚNotNodeÚPlusAssignmentNodeÚTernaryNodeé   )Ú
AstVisitor)ÚInterpreter)ÚTYPE_nkwargsÚ	TYPE_nvar)ÚAndNodeÚComparisonNodeÚForeachClauseNodeÚIfClauseNodeÚ	IndexNodeÚOrNodeÚ
UMinusNodec                  ó   — e Zd ZdS )ÚDontCareObjectN©Ú__name__Ú
__module__Ú__qualname__© ó    ú</usr/lib/python3/dist-packages/mesonbuild/ast/interpreter.pyr,   r,   H   ó   € € € € € Ø€Dr2   r,   c                  ó   — e Zd ZdS )ÚMockExecutableNr-   r1   r2   r3   r6   r6   K   r4   r2   r6   c                  ó   — e Zd ZdS )ÚMockStaticLibraryNr-   r1   r2   r3   r8   r8   N   r4   r2   r8   c                  ó   — e Zd ZdS )ÚMockSharedLibraryNr-   r1   r2   r3   r:   r:   Q   r4   r2   r:   c                  ó   — e Zd ZdS )ÚMockCustomTargetNr-   r1   r2   r3   r<   r<   T   r4   r2   r<   c                  ó   — e Zd ZdS )ÚMockRunTargetNr-   r1   r2   r3   r>   r>   W   r4   r2   r>   Ú_TÚ_Vc                  ó
  ‡ — e Zd ZdSdTˆ fd„ZdUd„ZdVd„ZdWd„ZdXˆ fd„ZdYd„ZdZd„Z	d[d„Z
d\d!„Zd]d$„Zd^d&„Zd_d(„Zd`d+„Zdad-„Zdbd/„Zdcd1„Zedfddd8„Zded:„Zdfd<„Zdgd>„Zdhd@„ZdidB„ZdjdD„ZdkdF„ZdldH„ZdmdndN„ZdmdodQ„ZdpdqdR„Zˆ xZ S )rÚAstInterpreterNÚsource_rootÚstrÚsubdirÚ
subprojectÚvisitorsúT.Optional[T.List[AstVisitor]]c                óž  •— t          ¦   «                              |||¦  «         |�|ng | _        t          ¦   «         | _        i | _        i | _        i | _        | j         	                    i d| j
        “d| j
        “d| j
        “d| j
        “d| j
        “d| j
        “d| j
        “d| j
        “d	| j
        “d
| j
        “d| j
        “d| j
        “d| j
        “d| j
        “d| j
        “d| j
        “d| j
        “i d| j
        “d| j
        “d| j
        “d| j
        “d| j
        “d| j
        “d| j
        “d| j
        “d| j
        “d| j
        “d| j
        “d| j
        “d| j
        “d| j
        “d | j
        “d!| j
        “d"| j
        “¥i d#| j
        “d$| j
        “d%| j
        “d&| j
        “d'| j
        “d(| j
        “d)| j        “d*| j
        “d+| j
        “d,| j
        “d-| j
        “d.| j
        “d/| j
        “d0| j
        “d1| j
        “d2| j
        “d3| j
        “¥| j
        | j
        | j
        | j
        | j
        | j
        | j
        | j
        | j
        | j
        d4œ
¥¦  «         d S )5NÚprojectÚtestÚ	benchmarkÚinstall_headersÚinstall_manÚinstall_dataÚinstall_subdirÚinstall_symlinkÚinstall_emptydirÚconfiguration_dataÚconfigure_fileÚfind_programÚinclude_directoriesÚadd_global_argumentsÚadd_global_link_argumentsÚadd_project_argumentsÚadd_project_dependenciesÚadd_project_link_argumentsÚmessageÚ	generatorÚerrorÚrun_commandÚassertrF   Ú
dependencyÚ
get_optionÚ
join_pathsr   ÚimportÚvcs_tagÚadd_languagesÚdeclare_dependencyÚfilesÚ
executableÚstatic_libraryÚshared_libraryÚlibraryÚbuild_targetÚcustom_targetÚ
run_targetrE   Úset_variableÚget_variableÚunset_variableÚis_disablerÚis_variableÚdisablerÚgettextÚjarÚwarningÚshared_module)
ÚoptionÚboth_librariesÚadd_test_setupÚfind_libraryÚsubdir_doneÚalias_targetÚsummaryÚrangeÚstructured_sourcesÚdebug)ÚsuperÚ__init__rG   ÚsetÚprocessed_buildfilesÚassignmentsÚassign_valsÚreverse_assignmentÚfuncsÚupdateÚfunc_do_nothingÚfunc_subdir)ÚselfrC   rE   rF   rG   Ú	__class__s        €r3   r…   zAstInterpreter.__init__a   sû  ø€ Ý‰Œ×Ò˜ f¨jÑ9Ô9Ð9Ø$,Ð$8˜˜¸bˆŒÝ$'¡E¤EˆÔ!ØˆÔØˆÔØ"$ˆÔØŒ
×Òð =˜9 dÔ&:ð =Ø! 4Ô#7ð=à&¨Ô(<ð=ð -¨dÔ.Bð=ð )¨$Ô*>ð	=ð
 *¨4Ô+?ð=ð ,¨TÔ-Að=ð -¨dÔ.Bð=ð .¨tÔ/Cð=ð 0°Ô1Eð=ð ,¨TÔ-Að=ð *¨4Ô+?ð=ð 1°$Ô2Fð=ð 2°4Ô3Gð=ð 7¸Ô8Lð=ð 3°DÔ4Hð=ð  6°tÔ7Kð!=ð =ð" 8¸Ô9Mð#=ð$ % dÔ&:ð%=ð& '¨Ô(<ð'=ð( # DÔ$8ð)=ð* )¨$Ô*>ð+=ð, $ TÔ%9ð-=ð. (¨Ô)=ð/=ð0 (¨Ô)=ð1=ð2 (¨Ô)=ð3=ð4 (¨Ô)=ð5=ð6 )¨$Ô*>ð7=ð8 $ TÔ%9ð9=ð: % dÔ&:ð;=ð< +¨DÔ,@ð==ð> 0°Ô1Eð?=ð@ # DÔ$8ðA=ðB (¨Ô)=ðC=ð =ð =ðD ,¨TÔ-AðE=ðF ,¨TÔ-AðG=ðH % dÔ&:ðI=ðJ *¨4Ô+?ðK=ðL +¨DÔ,@ðM=ðN (¨Ô)=ðO=ðP $ TÔ%5ðQ=ðR *¨4Ô+?ðS=ðT *¨4Ô+?ðU=ðV ,¨TÔ-AðW=ðX )¨$Ô*>ðY=ðZ )¨$Ô*>ð[=ð\ & tÔ';ð]=ð^ % dÔ&:ð_=ð` ! $Ô"6ða=ðb % dÔ&:ðc=ðd +¨DÔ,@ðe=ð =ðf &*Ô%9Ø-1Ô-AØ-1Ô-AØ+/Ô+?Ø*.Ô*>Ø+/Ô+?Ø&*Ô&:Ø$(Ô$8Ø15Ô1EØ$(Ô$8ðy=ð =ð =ñ =	ô =	ð =	ð =	ð =	r2   Úargsr?   Úkwargsr@   ÚreturnúT.Tuple[_T, _V]c                ó
   — ||fS ©Nr1   )r�   r‘   r’   s      r3   Ú_unholder_argszAstInterpreter._unholder_args§   s   € Ø�Vˆ|Ðr2   Úresc                ó   — |S r–   r1   )r�   r˜   s     r3   Ú
_holderifyzAstInterpreter._holderifyª   s   € Øˆ
r2   Únoder   úT.List[TYPE_nvar]úT.Dict[str, TYPE_nvar]Úboolc                ó   — dS ©NTr1   )r�   r›   r‘   r’   s       r3   r�   zAstInterpreter.func_do_nothing­   ó   € Øˆtr2   ÚNonec                ó�   •— t          ¦   «                              ¦   «          | j        D ]}| j                             |¦  «         Œd S r–   )r„   Úload_root_meson_filerG   ÚastÚaccept)r�   Úir�   s     €r3   r¤   z#AstInterpreter.load_root_meson_file°   sK   ø€ Ý‰Œ×$Ò$Ñ&Ô&Ð&Ø”ð 	ð 	ˆAØŒH�OŠO˜AÑÔÐÐð	ð 	r2   c                ó–  — |                       |¦  «        }t          |¦  «        dk    st          |d         t          ¦  «        s%t          j                             d|› d�¦  «         d S | j        }t          j	         
                    ||d         ¦  «        }t          j	         
                    | j        |¦  «        }t          j	         
                    |t          j        ¦  «        }t          j	         
                    | j        |¦  «        }t          j	                             |¦  «        }	t          j	         
                    |	d¦  «        }
|
| j        v r:t          j                             d                     |d         ¦  «        ¦  «         d S | j                             |
¦  «         t          j	                             |¦  «        s%t          j                             d|› d�¦  «         d S t'          |d	¬
¦  «        5 }|                     ¦   «         }d d d ¦  «         n# 1 swxY w Y   t          |t          ¦  «        sJ ‚	 t+          j        ||¦  «                             ¦   «         }n # t0          j        $ r}||_        |‚d }~ww xY w|| _        | j        D ]}|                     |¦  «         Œ|                      |¦  «         || _        d S )Nr   r   zUnable to evaluate subdir(z!) in AstInterpreter --> Skipping
zmeson.buildz?Trying to enter {} which has already been visited --> Skipping
zUnable to find build file z --> Skipping
zutf-8)Úencoding)Úflatten_argsÚlenÚ
isinstancerD   ÚsysÚstderrÚwriterE   ÚosÚpathÚjoinrC   r   Úbuild_filenameÚrealpathr‡   ÚformatÚaddÚisfileÚopenÚreadr   ÚParserÚparser   ÚMesonExceptionÚfilerG   r¦   Úevaluate_codeblock)r�   r›   r‘   r’   Úprev_subdirrE   ÚabsdirÚbuildfilenameÚabsnameÚsymlinkless_dirÚ
build_fileÚfÚcodeÚ	codeblockÚmer§   s                   r3   rŽ   zAstInterpreter.func_subdirµ   s¬  € Ø× Ò  Ñ&Ô&ˆÝˆt‰9Œ9˜Š>ˆ>¥¨D°¬GµSÑ!9Ô!9ˆ>ÝŒJ×ÒÐb¸$ÐbÐbÐbÑcÔcÐcØˆFà”kˆÝ”—’˜k¨4°¬7Ñ3Ô3ˆÝ”—’˜dÔ.°Ñ7Ô7ˆÝœŸš V­[Ô-GÑHÔHˆÝ”'—,’,˜tÔ/°Ñ?Ô?ˆÝœ'×*Ò*¨6Ñ2Ô2ˆÝ”W—\’\ /°=ÑAÔAˆ
Ø˜Ô2Ð2Ð2ÝŒJ×ÒÐ_×fÒfÐgkÐlmÔgnÑoÔoÑpÔpÐpØˆFØÔ!×%Ò% jÑ1Ô1Ð1åŒw�~Š~˜gÑ&Ô&ð 	ÝŒJ×ÒÐX¸-ÐXÐXÐXÑYÔYÐYØˆFÝ�' GÐ,Ñ,Ô,ð 	°Ø—6’6‘8”8ˆDð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	å˜$¥Ñ$Ô$Ð$Ð$Ð$ð	Ýœ t¨WÑ5Ô5×;Ò;Ñ=Ô=ˆIˆIøÝÔ&ð 	ð 	ð 	ØˆBŒGØˆHøøøøð	øøøð ˆŒØ”ð 	 ð 	 ˆAØ×Ò˜QÑÔÐÐØ×Ò 	Ñ*Ô*Ð*Ø!ˆŒˆˆs*   Ç;HÈH È#H È?'I' É'JÉ6	I?É?Jc                ó   — dS r    r1   ©r�   r›   s     r3   Úmethod_callzAstInterpreter.method_callÙ   r¡   r2   úmparser.FormatStringNodec                óH   — t          |t          j        ¦  «        sJ ‚|j        S r–   )r¬   r   ÚFormatStringNodeÚvaluerÊ   s     r3   Úevaluate_fstringzAstInterpreter.evaluate_fstringÜ   s#   € Ý˜$¥Ô 8Ñ9Ô9Ð9Ð9Ð9ØŒzÐr2   Úcurúmparser.ArrayNoder#   c                óB   — |                       |j        ¦  «        d         S ©Nr   )Úreduce_argumentsr‘   ©r�   rÑ   s     r3   Úevaluate_arraystatementz&AstInterpreter.evaluate_arraystatementà   s   € Ø×$Ò$ S¤XÑ.Ô.¨qÔ1Ð1r2   r   Úintc                ón   — |                       |j        ¦  «         |                       |j        ¦  «         dS rÔ   ©Úevaluate_statementÚleftÚrightrÖ   s     r3   Úevaluate_arithmeticstatementz+AstInterpreter.evaluate_arithmeticstatementã   s3   € Ø×Ò ¤Ñ)Ô)Ð)Ø×Ò ¤	Ñ*Ô*Ð*Øˆqr2   r*   c                ó:   — |                       |j        ¦  «         dS rÔ   ©rÛ   rÏ   rÖ   s     r3   Úevaluate_uminusstatementz'AstInterpreter.evaluate_uminusstatementè   s   € Ø×Ò ¤	Ñ*Ô*Ð*Øˆqr2   r   c                óÐ   — t          |t          ¦  «        sJ ‚|                      |j        ¦  «         |                      |j        ¦  «         |                      |j        ¦  «         d S r–   )r¬   r   rÛ   Ú	conditionÚ	trueblockÚ
falseblockrÊ   s     r3   Úevaluate_ternaryzAstInterpreter.evaluate_ternaryì   s`   € Ý˜$¥Ñ,Ô,Ð,Ð,Ð,Ø×Ò ¤Ñ/Ô/Ð/Ø×Ò ¤Ñ/Ô/Ð/Ø×Ò ¤Ñ0Ô0Ð0Ð0Ð0r2   úmparser.DictNoder"   c                ó  — dd„}|                       |j        |¬¦  «        \  }}|rJ ‚| xj        dz  c_        |                     ¦   «         D ]/\  }}t	          |t
          ¦  «        r|                      |¦  «         Œ0| xj        dz  c_        i S )	Nr›   úmparser.BaseNoder“   rD   c                óH   — t          | t          j        ¦  «        r| j        S dS )NÚ__AST_UNKNOWN__)r¬   r   Ú
StringNoderÏ   )r›   s    r3   Úresolve_keyz:AstInterpreter.evaluate_dictstatement.<locals>.resolve_keyó   s%   € Ý˜$¥Ô 2Ñ3Ô3ð "Ø”zÐ!Ø$Ð$r2   )Úkey_resolverr   )r›   ré   r“   rD   )rÕ   r‘   Úargument_depthÚitemsr¬   r   rÛ   )r�   r›   rí   Ú	argumentsr’   ÚkeyrÏ   s          r3   Úevaluate_dictstatementz%AstInterpreter.evaluate_dictstatementò   s²   € ð	%ð 	%ð 	%ð 	%ð !×1Ò1°$´)È+Ð1ÑVÔVÑˆ	�6ØÐÐÐØÐÔ˜qÑ ÐÔØ Ÿ,š,™.œ.ð 	-ð 	-‰JˆC�Ý˜#�xÑ(Ô(ð -Ø×'Ò'¨Ñ,Ô,Ð,øØÐÔ˜qÑ ÐÔØˆ	r2   r   c                óê   — t          |t          ¦  «        sJ ‚|j        | j        |j        <   |j        j        r|| j        |j        j        <   |                      |j        ¦  «        | j        |j        <   d S r–   )	r¬   r   rÏ   rˆ   Úvar_nameÚast_idrŠ   rÛ   r‰   rÊ   s     r3   Úevaluate_plusassignz"AstInterpreter.evaluate_plusassign   sn   € Ý˜$Õ 2Ñ3Ô3Ð3Ð3Ð3à*.¬*ˆÔ˜œÑ'ØŒ:Ôð 	>Ø9=ˆDÔ# D¤JÔ$5Ñ6Ø*.×*AÒ*AÀ$Ä*Ñ*MÔ*MˆÔ˜œÑ'Ð'Ð'r2   r(   c                ó   — dS rÔ   r1   rÊ   s     r3   Úevaluate_indexingz AstInterpreter.evaluate_indexing  ó   € Øˆqr2   Ú	func_namec                ó   — d S r–   r1   )r�   rû   s     r3   Úunknown_function_calledz&AstInterpreter.unknown_function_called  s   € Øˆr2   úmparser.ArgumentNoderî   ú#T.Callable[[mparser.BaseNode], str]Úduplicate_key_errorúT.Optional[str]ú(T.Tuple[T.List[TYPE_nvar], TYPE_nkwargs]c                ó6  — t          |t          ¦  «        rni }|j                             ¦   «         D ]\  }}|| ||¦  «        <   Œ|                     ¦   «         rt          d¦  «        ‚|                      |j        ¦  «        |fS |                      |¦  «        i fS )Nz9All keyword arguments must be after positional arguments.)r¬   r   r’   rð   Úincorrect_orderr
   rª   rñ   )r�   r‘   rî   r   r’   rò   Úvals          r3   rÕ   zAstInterpreter.reduce_arguments  s«   € õ �d�LÑ)Ô)ð 	/ØˆFØ œK×-Ò-Ñ/Ô/ð 0ð 0‘��SØ,/��|�| CÑ(Ô(Ñ)Ð)Ø×#Ò#Ñ%Ô%ð dÝ&Ð'bÑcÔcÐcØ×$Ò$ T¤^Ñ4Ô4°fÐ<Ð<à×$Ò$ TÑ*Ô*¨BÐ.Ð.r2   r%   c                ón   — |                       |j        ¦  «         |                       |j        ¦  «         dS ©NFrÚ   rÊ   s     r3   Úevaluate_comparisonz"AstInterpreter.evaluate_comparison  s3   € Ø×Ò ¤	Ñ*Ô*Ð*Ø×Ò ¤
Ñ+Ô+Ð+Øˆur2   r$   c                ón   — |                       |j        ¦  «         |                       |j        ¦  «         dS r  rÚ   rÖ   s     r3   Úevaluate_andstatementz$AstInterpreter.evaluate_andstatement#  ó3   € Ø×Ò ¤Ñ)Ô)Ð)Ø×Ò ¤	Ñ*Ô*Ð*Øˆur2   r)   c                ón   — |                       |j        ¦  «         |                       |j        ¦  «         dS r  rÚ   rÖ   s     r3   Úevaluate_orstatementz#AstInterpreter.evaluate_orstatement(  r  r2   r   c                ó:   — |                       |j        ¦  «         dS r  rà   rÖ   s     r3   Úevaluate_notstatementz$AstInterpreter.evaluate_notstatement-  s   € Ø×Ò ¤	Ñ*Ô*Ð*Øˆur2   r&   c                óv   — 	 |                       |j        ¦  «         d S # t          $ r Y d S t          $ r Y d S w xY wr–   )r¾   Úblockr   r   rÊ   s     r3   Úevaluate_foreachzAstInterpreter.evaluate_foreach1  s^   € ð	Ø×#Ò# D¤JÑ/Ô/Ð/Ð/Ð/øÝð 	ð 	ð 	ØˆDˆDÝð 	ð 	ð 	ØˆDˆDð	øøøs   ‚ ž
8«	8·8r'   c                óº   — |j         D ]}|                      |j        ¦  «         Œt          |j        t
          ¦  «        s|                      |j        ¦  «         d S d S r–   )Úifsr¾   r  r¬   Ú	elseblockr   )r�   r›   r§   s      r3   Úevaluate_ifzAstInterpreter.evaluate_if9  sf   € Ø”ð 	-ð 	-ˆAØ×#Ò# A¤GÑ,Ô,Ð,Ð,Ý˜$œ.­)Ñ4Ô4ð 	4Ø×#Ò# D¤NÑ3Ô3Ð3Ð3Ð3ð	4ð 	4r2   Úvarnamec                ó   — dS rÔ   r1   )r�   r  s     r3   rq   zAstInterpreter.get_variable?  rú   r2   r   c                óê   — t          |t          ¦  «        sJ ‚|j        | j        |j        <   |j        j        r|| j        |j        j        <   |                      |j        ¦  «        | j        |j        <   d S r–   )	r¬   r   rÏ   rˆ   rõ   rö   rŠ   rÛ   r‰   rÊ   s     r3   Ú
assignmentzAstInterpreter.assignmentB  sm   € Ý˜$¥Ñ/Ô/Ð/Ð/Ð/Ø*.¬*ˆÔ˜œÑ'ØŒ:Ôð 	>Ø9=ˆDÔ# D¤JÔ$5Ñ6Ø*.×*AÒ*AÀ$Ä*Ñ*MÔ*MˆÔ˜œÑ'Ð'Ð'r2   FÚinclude_unknown_argsÚid_loop_detectúT.Optional[T.List[str]]úT.Optional[T.Any]c                óî  ‡ ‡— d
dˆˆ fd„Š|€g }d }t          |t          ¦  «        sd S |j        sJ ‚|j        |v rd S ||j        gz  }t          |t          ¦  «        r ‰|¦  «        }�nrt          |t          ¦  «        r	|j        }�nTt          |t          ¦  «        r6‰                      |j        ||¦  «        }t          |t          ¦  «        r| }�n	t          |t          ¦  «        r |j
        j                             ¦   «         }�nÔt          |t          ¦  «        r|j                             ¦   «         }�n¤t          |t          ¦  «        r�|j        dk    rd S  ‰|j        ¦  «        } ‰|j        ¦  «        }t          |t$          ¦  «        rt          |t$          ¦  «        r||z   }�n1‰                      |||¦  «        ‰                      |||¦  «        z   }�n t          |t(          ¦  «        �rê ‰|j        ¦  «        }‰                      |j
        j        ||¦  «        }i }		 t          |t$          ¦  «        r?t-          |t/          j        d	‰ ¦  «        ¦  «                             |j        ||	¦  «        }�nKt          |t          ¦  «        r>t7          |t/          j        d	‰ ¦  «        ¦  «                             |j        ||	¦  «        }nøt          |t8          ¦  «        r>t;          |t/          j        d	‰ ¦  «        ¦  «                             |j        ||	¦  «        }n¥t          |t<          ¦  «        r>t?          |t/          j        d	‰ ¦  «        ¦  «                             |j        ||	¦  «        }nRt          |t@          ¦  «        r=tC          |t/          j        d	‰ ¦  «        ¦  «                             |j        ||	¦  «        }n# tD          j#        $ r Y d S w xY wt          |t          ¦  «        r‰                      |||¦  «        }nmt          |t<          ¦  «        rXg }
|D ]Q}t          |t          ¦  «        r4‰                      |||¦  «        }|�|
‰                      |||¦  «        z  }
ŒK|
|gz  }
ŒR|
}|S )NÚnr   Úloop_detectr  r“   úT.Anyc                ó(  •— |€g }t          | t          ¦  «        r[t          | j        t          ¦  «        sJ ‚| j        |v s| j        ‰j        vrg S  ‰‰j        | j                 || j        gz   ¬¦  «        S t          | t
          ¦  «        r| j        S | S )N)r!  )r¬   r   rÏ   rD   rˆ   r   )r   r!  Úquick_resolver�   s     €€r3   r$  z2AstInterpreter.resolve_node.<locals>.quick_resolveJ  s¢   ø€ ØÐ"Ø �Ý˜!�VÑ$Ô$ð Ý! !¤'­3Ñ/Ô/Ð/Ð/Ð/Ø”7˜kÐ)Ð)¨Q¬W¸DÔ<LÐ-LÐ-LØ�IØ$�} TÔ%5°a´gÔ%>ÈkÐ]^Ô]dÐ\eÑNeÐfÑfÔfÐfÝ˜A�~Ñ.Ô.ð Ø”w�à�r2   r¶   r!   r–   )r   r   r!  r  r“   r"  )$r¬   r   rö   r   r   rÏ   r   Úresolve_noderž   r   r‘   rñ   Úcopyr   r   Ú	operationrÜ   rÝ   rD   rª   r   Úsource_objectr   ÚTÚcastrË   Únamer   rØ   r   Úlistr   Údictr   r   r¼   )r�   r›   r  r  ÚresultÚlÚrÚsrcÚmargsÚmkwargsÚnew_resr§   Úresolvedr$  s   `            @r3   r%  zAstInterpreter.resolve_nodeI  s¦  øø€ ð	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð Ð!ØˆNØˆå˜$¥Ñ)Ô)ð 	Ø�4àŒ{ÐÐÐØŒ;˜.Ð(Ð(Ø�4Ø˜4œ;˜-Ñ'ˆõ �d�FÑ#Ô#ð +	Ø"�] 4Ñ(Ô(ˆF‰Få˜�nÑ-Ô-ð (	Ø”ZˆF‰Få˜�gÑ&Ô&ð %	Ø×&Ò& t¤zÐ3GÈÑXÔXˆFÝ˜&¥$Ñ'Ô'ð $Ø#˜�ùå˜�iÑ(Ô(ð  	Ø”YÔ(×-Ò-Ñ/Ô/ˆF‰Få˜�lÑ+Ô+ð 	Ø”^×(Ò(Ñ*Ô*ˆF‰Få˜�nÑ-Ô-ð 	ØŒ~ Ò&Ð&Ø�tØ�˜dœiÑ(Ô(ˆAØ�˜dœjÑ)Ô)ˆAÝ˜!�SÑ!Ô!ð Q¥j°µCÑ&8Ô&8ð QØ˜Q™�‘à×*Ò*¨1Ð.BÀNÑSÔSÐVZ×VgÒVgÐhiÐkð  BPñ  WQô  WQñ  Q�‘å˜�jÑ)Ô)ñ 	Ø�- Ô 2Ñ3Ô3ˆCØ×%Ò% d¤iÔ&9Ð;OÐQ_Ñ`Ô`ˆEØˆGðÝ˜c¥3Ñ'Ô'ð 	qÝ)¨#­q¬v°mÀTÑ/JÔ/JÑKÔK×WÒWÐX\ÔXaÐchÐjqÑrÔr�F‘FÝ ¥TÑ*Ô*ð qÝ*¨3µ´°}ÀdÑ0KÔ0KÑLÔL×XÒXÐY]ÔYbÐdiÐkrÑsÔs�F�FÝ ¥SÑ)Ô)ð qÝ*¨3µ´°}ÀdÑ0KÔ0KÑLÔL×XÒXÐY]ÔYbÐdiÐkrÑsÔs�F�FÝ ¥TÑ*Ô*ð qÝ(¨­a¬f°]ÀDÑ.IÔ.IÑJÔJ×VÒVÐW[ÔW`ÐbgÐipÑqÔq�F�FÝ ¥TÑ*Ô*ð qÝ'¨­Q¬V°MÀ4Ñ-HÔ-HÑIÔI×UÒUÐVZÔV_ÐafÐhoÑpÔp�FøøÝÔ*ð ð ð Ø�t�tðøøøõ �f�hÑ'Ô'ð 	Ø×&Ò& vÐ/CÀ^ÑTÔTˆFˆFÝ˜¥Ñ%Ô%ð 		ØˆGØð #ð #�Ý˜a¥Ñ*Ô*ð #Ø#×0Ò0°Ð4HÈ.ÑYÔY�HØÐ+Ø 4×#4Ò#4°XÐ?SÐUcÑ#dÔ#dÑd˜øà ˜s‘N�G�GØˆFàˆs   È%FO ÏOÏOÚargs_rawú)T.Union[TYPE_nvar, T.Sequence[TYPE_nvar]]c                óB  — t          |t          ¦  «        r|}n|g}g }|D ]~}t          |t          ¦  «        r7|                      |||¦  «        }|�t          |t          ¦  «        s|g}||z  }ŒNt          |t          t
          t          t          f¦  «        s|r||gz  }Œ|S r–   )r¬   r,  r   r%  rD   rž   rØ   Úfloat)r�   r6  r  r  r‘   Úflattend_argsr§   r5  s           r3   rª   zAstInterpreter.flatten_args¡  sÂ   € å�h¥Ñ%Ô%ð 	ØˆDˆDà�:ˆDàˆð ð 	%ð 	%ˆAÝ˜!�XÑ&Ô&ð %Ø×,Ò,¨QÐ0DÀnÑUÔU�ØÐ'Ý% hµÑ5Ô5ð .Ø$, :˜Ø! XÑ-�MøÝ˜A¥¥T­3µÐ6Ñ7Ô7ð %Ð;Oð %Ø ! Ñ$�øØÐr2   c                ó  — i }|                      ¦   «         D ]g\  }}t          |t          ¦  «        r|                      ||¦  «        }|�|||<   Œ8t          |t          t
          t          t          f¦  «        s|r|||<   Œh|S r–   )rð   r¬   r   r%  rD   rž   rØ   r9  )r�   r’   r  Úflattend_kwargsrò   r  r5  s          r3   Úflatten_kwargszAstInterpreter.flatten_kwargs¶  s�   € ØˆØŸš™œð 	+ð 	+‰HˆC�Ý˜#�xÑ(Ô(ð +Ø×,Ò,¨SÐ2FÑGÔG�ØÐ'Ø+3�O CÑ(øÝ˜C¥#¥t­Sµ%Ð!8Ñ9Ô9ð +Ð=Qð +Ø'*� Ñ$øØÐr2   r–   )rC   rD   rE   rD   rF   rD   rG   rH   )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“   rD   )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û   rD   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  rD   r“   rØ   )r›   r   r“   r¢   )FN)r›   r   r  rž   r  r  r“   r  )r6  r7  r  rž   r  r  r“   rœ   )F)r’   r�   r  rž   r“   r�   )!r.   r/   r0   r…   r—   rš   r�   r¤   rŽ   rË   rÐ   r×   rÞ   rá   ræ   ró   r÷   rù   rý   r   rÕ   r  r
  r  r  r  r  rq   r  r%  rª   r=  Ú__classcell__)r�   s   @r3   rB   rB   `   s�  ø€ € € € € ðDð Dð Dð Dð Dð Dð DðLð ð ð ðð ð ð ðð ð ð ðð ð ð ð ð ð
""ð ""ð ""ð ""ðHð ð ð ðð ð ð ð2ð 2ð 2ð 2ðð ð ð ð
ð ð ð ð1ð 1ð 1ð 1ðð ð ð ðNð Nð Nð Nðð ð ð ðð ð ð ð EXØ7;ð	/ð /ð /ð /ð /ð ð ð ð ð
ð ð ð ð
ð ð ð ð
ð ð ð ðð ð ð ð4ð 4ð 4ð 4ðð ð ð ðNð Nð Nð NðVð Vð Vð Vð Vðpð ð ð ð ð*	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	r2   rB   )<Ú
__future__r   r°   r­   Útypingr)  Ú r   r   r   Úinterpreterbaser   r	   r
   r   r   r   Úinterpreterr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   ÚTYPE_CHECKINGÚvisitorr    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r,   r6   r8   r:   r<   r>   Ú
ADD_SOURCEÚREMOVE_SOURCEÚTypeVarr?   r@   rB   r1   r2   r3   ú<module>rI     s�  ðð" #Ð "Ð "Ð "Ð "Ð "à 	€	€	€	Ø 
€
€
€
Ø Ð Ð Ð à  Ð  Ð  Ð  Ð  Ð  Ð  Ð  Ø Ð Ð Ð Ð Ð ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ðð ð ð ð ð ð ð ð ð ð ð ð ð ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð „?ð Ø#Ð#Ð#Ð#Ð#Ð#Ø)Ð)Ð)Ð)Ð)Ð)Ø9Ð9Ð9Ð9Ð9Ð9Ð9Ð9ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð	ð 	ð 	ð 	ð 	Ð+ñ 	ô 	ð 	ð	ð 	ð 	ð 	ð 	Ð+ñ 	ô 	ð 	ð	ð 	ð 	ð 	ð 	Ð.ñ 	ô 	ð 	ð	ð 	ð 	ð 	ð 	Ð.ñ 	ô 	ð 	ð	ð 	ð 	ð 	ð 	Ð-ñ 	ô 	ð 	ð	ð 	ð 	ð 	ð 	Ð*ñ 	ô 	ð 	ð €
Ø€à€Q„Yˆt�_„_€Ø€Q„Yˆt�_„_€ð_ð _ð _ð _ð _�_ñ _ô _ð _ð _ð _r2   