
    y                         d dl Z d dlmZ d dlZd dlZej
                  j                  d      Z eed      Z	ej                  dk\  Z e j                  dg d      Zd Zd	 Zd
 Zd Zer
d dlmZ d Zyd dlZd Zy)    N)utilwinpypy_version_info)      ArgSpec)argsvarargskeywordsdefaultsc                 H   t        j                  |       r| j                  } t        j                  |       st	        | d      | j
                  }t        j                  |      st	        |d      |j                  }|j                  }|j                  }t        |d|       }||z  }d}|j                  t         j                  z  r|j                  |   }|dz   }d}|j                  t         j                  z  r|j                  |   }t        |||| j                        S )zBgetargspec based on fully vendored getfullargspec from Python 3.3.z is not a Python functionz is not a code objectN   )inspectismethod__func__
isfunction	TypeError__code__iscodeco_argcountco_varnamesco_kwonlyargcountlistco_flags
CO_VARARGSCO_VARKEYWORDSr   __defaults__)funcconargsnamesnkwargsr	   r
   varkws           lib/third_party/mako/compat.pyinspect_getargspecr%      s    }}d#4(";<==	B>>"2& 5677NNENNE""GfuD	WEG	{{W'''..'	E	{{W+++u%4%):):;;    c                     t        j                  | |      }t        j                  |      }|j                  j	                  |       |S N)r   spec_from_file_locationmodule_from_specloaderexec_module)	module_idpathspecmodules       r$   load_moduler1   2   s;    ''	48D""4(FKKF#Mr&   c                  0    t        j                         d   S )Nr   )sysexc_info r&   r$   exception_asr6   9   s    <<>!r&   c                 .    | j                   j                  S r(   )	__class____name__)excs    r$   exception_namer;   =   s    ==!!!r&   )metadatac                     t        j                         }t        |d      r|j                  |       S |j	                  | d      S )Nselect)groupr5   )importlib_metadataentry_pointshasattrr>   get)r?   eps     r$   importlib_metadata_getrE   G   s<    		(	(	*Br8yyuy%%vveR  r&   )collections	importlibr   r   r3   platform
startswithwin32rB   pypyversion_infopy38
namedtupler   r%   r1   r6   r;   r<   r@   rE   r5   r&   r$   <module>rO      s       
&s'(
6!
 +
 
 :
<:" 8
! !r&   