Ë
    §_ßd}  ã                   ó<   — d Z ddlZddlmZmZmZ ddlmZ d„ Zd„ Z	y)z&Useful decorators for Traitlets users.é    N)Ú	ParameterÚ	SignatureÚ	signatureé   )Ú	Undefinedc                 ó8   — | t         k(  rt        j                  S | S )z:Get default argument value, given the trait default value.)r   r   Úempty)Úvalues    ú</usr/lib/python3/dist-packages/traitlets/utils/decorators.pyÚ_get_defaultr   	   s   € à#¤yÒ0Œ9?‰?Ð;°eÐ;ó    c           
      ó*  — | j                  «       j                  «       D cg c]-  \  }}|j                  d«      s|t        |j                  «      f‘Œ/ }}}t        | j                  «      }t        |j                  «      }g }d}g }d}	|j                  D ]Ú  }
t        j                  |j                  |
   «      }|j                  t        j                  u s|j                  t        j                  u r|j                  |«       Œo|j                  t        j                  u r|}ŒŽ|j                  t        j                   u r|j                  |«       Œ¼|j                  t        j"                  u sŒÙ|}	ŒÜ |	€t%        dj'                  | «      «      ‚g }||dd z  }||j                  |«       ||z  }||D cg c]%  \  }}||vrt        |t        j                   |¬«      ‘Œ' c}}z  }|j                  |	«       t)        |«      | _        | S c c}}w c c}}w )zYReturn a decorated class with a constructor signature that contain Trait names as kwargs.Ú_NznThe {} constructor does not take **kwargs, which means that the signature can not be expanded with trait namesé   )ÚkindÚdefault)Úclass_traitsÚitemsÚ
startswithr   Údefault_valuer   Ú__init__ÚlistÚ
parametersÚcopyr   r   ÚPOSITIONAL_ONLYÚPOSITIONAL_OR_KEYWORDÚappendÚVAR_POSITIONALÚKEYWORD_ONLYÚVAR_KEYWORDÚRuntimeErrorÚformatr   Ú__signature__)ÚclsÚnamer
   ÚtraitsÚold_signatureÚold_parameter_namesÚold_positional_parametersÚold_var_positional_parameterÚold_keyword_only_parametersÚold_var_keyword_parameterÚparameter_nameÚ	parameterÚnew_parametersr   s                 r   Úsignature_has_traitsr0      s  € ð ×+Ñ+Ó-×3Ñ3Ó5÷áˆD%Ø‰˜sÔ#ð 
Œ|˜E×/Ñ/Ó0Ò1ð€Fñ ô ˜cŸl™lÓ+€MÜ˜}×7Ñ7Ó8Ðà "ÐØ#'Ð Ø"$ÐØ $Ðà'×2Ñ2ò 2ˆä—I‘I˜m×6Ñ6°~ÑFÓGˆ	ð N‰Nœi×7Ñ7Ñ7Ø~‰~¤×!@Ñ!@Ñ@à%×,Ñ,¨YÕ7à^‰^œy×7Ñ7Ñ7Ø+4Ñ(à^‰^œy×5Ñ5Ñ5Ø'×.Ñ.¨yÕ9à^‰^œy×4Ñ4Ò4Ø(1Ñ%ð#2ð* !Ð(ÜØ|÷  Dñ  DØóó
ð 	
ð €Nð Ð/°°Ð3Ñ3€Nð $Ð/Ø×ÑÐ:Ô;ð Ð1Ñ1€Nð à#÷áˆD'ØÐ*Ñ*ô 	$œY×3Ñ3¸WÖEóñ €Nð ×ÑÐ3Ô4ä! .Ó1€CÔà€JùóGùóps   ¢2H	Æ6*H)
Ú__doc__r   Úinspectr   r   r   Ú	traitletsr   r   r0   © r   r   ú<module>r5      s   ðÙ ,ã ß 3Ñ 3å !ò<ó
Er   