
    |e)                     p    d 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mZ dgZdZdZdZdZ G d	 de      Zy
)z
    pygments.lexers.webidl
    ~~~~~~~~~~~~~~~~~~~~~~

    Lexers for Web IDL, including some extensions.

    :copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
    )
RegexLexerdefaultincludewords)CommentKeywordNameNumberPunctuationStringTextWebIDLLexer)byteoctetbooleanz*(?:unsigned\s+)?(?:short|long(?:\s+long)?)z$(?:unrestricted\s+)?(?:float|double)	DOMString
ByteString	USVStringErrorDOMException
Uint8ArrayUint16ArrayUint32ArrayUint8ClampedArrayFloat32ArrayFloat64ArrayArrayBufferDataView	Int8Array
Int16Array
Int32ArrayanyvoidobjectRegExpz_?[A-Za-z][a-zA-Z0-9_-]*z	(?![\w-])z"[^"]*"c                   
   e Zd ZdZdZdZdgZdgZi ddefde	j                  fd	e	j                  fd
e	j                  fgd ed      dedfdez   efdez   edfdez   edfdez   edfdez   edfdez   edfdez   edfeej&                  dfg
d ed      defeej(                  fdedfded fd!ed"fgd ed      eed#feefded$f ed"      gd# ed      ded f ed"      gd  ed      d%ed"f ed&      gd& ed      d'ez   efdedfded"fd%ed(f ed)      gd* ed      eej0                  fd+efded,f ed"      gd$ ed      eej&                  fdefd%ed"fgd- ed      d.d/j3                  e      z   d0z   ez   ej6                  d1f ed2e3      ej6                  d4feej&                  d4fded5fgd5 ed      d6ez   efd%ed7f ed-      gd4d8ed9f ed7      gd1d:ef ed(      gd, ed       ed;      eed"fd<ed"fgd; ed       ed=e3      ej:                  d"fd>ej>                  d"fd?ej@                  d"fd@ejB                  d"fdAejD                  d"fgd ed      eej&                  fdBed"fgd ed      eejF                  fdCedDfdBed"fgi dD ed      dedfdEez   efdFez   edGfdHez   edIfdJed"f edK      gd ed      eej&                  fdLefdCedMfdBed"fgdM edNe3      edOf edPe3      efdQez   edRfdBef edD      gdS ed      eej0                  fdBed"fgdT ed      eej:                  fded;fdBed"fgdU ed      dBed"f edV      gdV ed      eejH                  fded fdBed(fgdO ed      d8ed9fdBed"fgd9 ed      defdWed"f ed-      gdR ed      dedXfdBed"f edV      gdX ed      eej0                  d"fdCedYfdedZfgdY ed       ed[e3      efdefeej0                  fdJed(fgdZ ed       ed\e3      efdefeej0                  fd]ed(fgd ed      eej&                  fdCed^fdBed"fgd^ ed      eefdefdJed"fgd ed      dez   ed_feej&                  fded`fdBed"fgd ed      eej&                  fdLefdCedafdBed"fg ed      dedfdbez   efdJed"f edc      g ed      eej0                  fded,fdBed"fg ed      ddez   efeej&                  fdBed"fgdeZ%yf)gr   z1
    For Web IDL.

    .. versionadded:: 2.6
    zWeb IDLzhttps://www.w3.org/wiki/Web_IDLwebidlz*.webidlcommonz\s+z(?s)/\*.*?\*/z//.*z^#.*rootz\[extended_attributespartialtypedef)r,   type	interfaceinterface_restenum	enum_restcallbackcallback_rest
dictionarydictionary_rest	namespacenamespace_restimplements_rest,=extended_attribute_restz\(argument_listz\]#popextended_attribute_named_restidentifier_listz\)argumentoptionalz#pop:2)argument_restr-   rB   z\.\.\.default_valuer-   z(?:|)	type_null)sequencePromiseFrozenArray)suffixtype_identifier
union_typeor)r=   rF   <	type_listz\?const_valuez\[\s*\])truefalsez	-InfinityInfinityNaNnullzQ-?(?:(?:[0-9]+\.[0-9]*|[0-9]*\.[0-9]+)(?:[Ee][+-]?[0-9]+)?|[0-9]+[Ee][+-]?[0-9]+)z-?[1-9][0-9]*z-?0[Xx][0-9A-Fa-f]+z	-?0[0-7]*;z\{namespace_bodyreadonly	attribute)attribute_restr-   const)
const_restr-   z\})operation_restr-   :interface_body)iterablemaplikesetlikeiterable_maplike_setlike_rest)	settergettercreatordeleterlegacycallerinheritstaticstringifier	jsonifier
serializerserializer_restrZ   r\   r]   	operation>serialization_patternserialization_pattern_mapserialization_pattern_list)re   ri   rY   )re   rY   ]	enum_body)r=   r/   )ro   r-   dictionary_bodyrequired)dictionary_itemr-   
implements)rv   rx   r8   N)&__name__
__module____qualname____doc__nameurlaliases	filenamesr   r   	MultilineSinglePreprocr   r   _keyword_suffixr   _identifierr	   Class	Decorator_stringr   r   Variablejoin_builtin_typesTyper   Constantr
   FloatIntegerHexOct	NamespaceFunctiontokens     8/usr/lib/python3/dist-packages/pygments/lexers/webidl.pyr   r   '   s	    D
+CjGIxTNw001gnn%goo&	
x 	HK!67/)73/)74GHO+W6FG&=?*G_E_,g7HIO+W6FG$**&78
x& 	H;$..); 9:K1K( 
'x6 	"H$ ?@fK!23FO$
7xD 	(HK1FO*
ExN 	HK(J
OxX 	H?*G4K!67;'K*-.
Yxh 	H$--($;0FO
ixv 	H$**%;K(	
wxB 	Hdii//$6H\\;(9)+,3LL:KM$**&78K.
CxT 	H_$g.K!67FO	
Ux` 	;,)*
axh 	K H
ixp 	HM"ff%f-	
qx| 	HL)+,3,<,<fF()/v?v~~v6#VZZ86::v.	
}xP 	H$**%;'
QxZ 	H$..)K!12;'	
[xf 	HK!67?*G4O+02'2HIK(./	
gxz 	H$**%;K!12;'
{xH 	5oN57 E)+,35 _,g7HI;$%	
Ix\ 	H$--(;'
]xf 	H$--(;.;'	
gxr 	H;'K 
sx| 	H$--(K1;)	
}xH 	(H;,;'*
IxR 	H;;'FO	
Sx^ 	H; 78;'K 	
_xj 	 H$--0K!<=K!=>	"
kxv 	$H5)+,35;$--(K*&
wxF 	%H*?CWM;$--(;)'
GxT 	H$**%K-;'	
Ux` 	Hf;K(	
axl 	HO+02$**%; 56;'
mx| 	H$**%;K!23;'
}xL HK!67?*G4K(/0
 H$--(;0;'	
 H_,g6$**%;'	
exFr   N)r}   pygments.lexerr   r   r   r   pygments.tokenr   r   r	   r
   r   r   r   __all__r   r   r   r   r   r   r   r   <module>r      sP    ? >   /" *
D* Dr   