§
    ¼Ë”j	  ã                   ó’  — d 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 dddddi ed„ d„ d„ d„ d	„ fd
ee         de	e         de	e         de	eedf                  de	e
e                  de	eeef                  deeef         deegef         deegef         deegef         deegef         deegef         deegef         defd„ZdS )ae  The inspect.formatargspec() function was dropped in Python 3.11 but we need
it for when constructing signature changing decorators based on result of
inspect.getfullargspec(). The code here implements inspect.formatargspec() based
on Parameter and Signature from inspect module, which were added in Python 3.6.
Thanks to Cyril Jouve for the implementation.
é    )Ú	ParameterÚ	Signature)ÚAnyÚCallableÚListÚMappingÚOptionalÚSequenceÚTupleNc                 ó   — d| z   S )NÚ*© ©Únames    ú=C:\Projects\DSCons\.venv\Lib\site-packages\wrapt/arguments.pyú<lambda>r      s
   € °s¸T±z€ ó    c                 ó   — d| z   S )Nz**r   r   s    r   r   r      s
   € °T¸D±[€ r   c                 ó&   — dt          | ¦  «        z   S )Nú=©Úrepr)Úvalues    r   r   r      s   € °c½DÀ¹K¼KÑ6G€ r   c                 ó   — d| z   S ©Nz -> r   )Útexts    r   r   r      s
   € °vÀ±}€ r   c                 ó&   — dt          | ¦  «        z   S r   r   )Úannots    r   r   r      s   € ¸6ÅDÈÁKÄKÑ;O€ r   ÚargsÚvarargsÚvarkwÚdefaults.Ú
kwonlyargsÚkwonlydefaultsÚannotationsÚ	formatargÚformatvarargsÚformatvarkwÚformatvalueÚformatreturnsÚformatannotationÚreturnc                 ó  ‡‡‡— |€d}‰€i Š‰rt          ‰¦  «        nd}ˆˆfd„t          | |t          | ¦  «        z
  ¦  «        D ¦   «         }|r-|                     t          |t          j        ¦  «        ¦  «         |                     ˆˆfd„|D ¦   «         ¦  «         |r-|                     t          |t          j        ¦  «        ¦  «         ‰                     dt          j	        ¦  «        }t          t          ||¬¦  «        ¦  «        S )Nr   r   c                 óÀ   •— g | ]Z\  }}t          |t           j        ‰r|d k    r‰|         nt           j        ‰                     |t           j        ¦  «        ¬¦  «        ‘Œ[S )r   ©ÚdefaultÚ
annotation)r   ÚPOSITIONAL_OR_KEYWORDÚemptyÚget)Ú.0ÚiÚargr%   r"   s      €€r   ú
<listcomp>z!formatargspec.<locals>.<listcomp>    st   ø€ ð ð ð ñ ˆAˆsõ 	ØÝÔ+Ø#+ÐK°°Q²°�H˜Q”K�K½I¼OØ"—’ s­I¬OÑ<Ô<ð		
ñ 	
ô 	
ðð ð r   c           
   3   óÊ   •K  — | ]]}t          |t           j        ‰                     |t           j        ¦  «        ‰                     |t           j        ¦  «        ¬ ¦  «        V — Œ^dS )r/   N)r   ÚKEYWORD_ONLYr4   r3   )r5   Ú	kwonlyargr%   r$   s     €€r   ú	<genexpr>z formatargspec.<locals>.<genexpr>+   sy   øè è € ð ð ð õ 	ØÝÔ"Ø"×&Ò& yµ)´/ÑBÔBØ"—’ yµ)´/ÑBÔBð		
ñ 	
ô 	
ðð ð ð ð ð r   r,   )Úreturn_annotation)ÚlenÚ	enumerateÚappendr   ÚVAR_POSITIONALÚextendÚVAR_KEYWORDr4   r   r3   Ústr)r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   Ú	ndefaultsÚ
parametersr=   s      ` ``         r   ÚformatargspecrG      sD  øøø€ ð ÐØˆ
ØÐØˆØ!)Ð0•�H‘”�¨q€Iðð ð ð ð õ    iµ#°d±)´)Ñ&;Ñ<Ô<ðñ ô €Jð ð HØ×Ò�) G­YÔ-EÑFÔFÑGÔGÐGØ×Òð ð ð ð ð ð $ðñ ô ñ ô ð ð ð CØ×Ò�) E­9Ô+@ÑAÔAÑBÔBÐBØ#Ÿš¨µ)´/ÑBÔBÐÝ�y˜Ð7HÐIÑIÔIÑJÔJÐJr   )Ú__doc__Úinspectr   r   Útypingr   r   r   r   r	   r
   r   rD   rG   r   r   r   ú<module>rK      sÏ  ððð ð )Ð (Ð (Ð (Ð (Ð (Ð (Ð (Ø JÐ JÐ JÐ JÐ JÐ JÐ JÐ JÐ JÐ JÐ JÐ JÐ JÐ JÐ JÐ JÐ JÐ Jð
 "ØØ*.Ø*.Ø26Ø%'Ø&)Ø*AÐ*AØ(@Ð(@Ø(GÐ(GØ*DÐ*DØ-OÐ-Oð+Kð +KØ
ˆsŒ)ð+Kà�cŒ]ð+Kð �CŒ=ð+Kð �u˜S #˜X”Ô'ð	+Kð
 ˜ #œÔ'ð+Kð ˜W S¨# XÔ.Ô/ð+Kð ˜˜c˜Ô"ð+Kð ˜˜˜s˜
Ô#ð+Kð ˜S˜E 3˜JÔ'ð+Kð ˜3˜% ˜*Ô%ð+Kð ˜3˜% ˜*Ô%ð+Kð ˜S˜E 3˜JÔ'ð+Kð  ˜u c˜zÔ*ð+Kð 	ð+Kð +Kð +Kð +Kð +Kð +Kr   