
    7                     h    S r SSKJrJrJrJr  SSKJrJrJ	r	J
r
JrJrJrJrJr  S/r " S S\5      rg)z
pygments.lexers.solidity
~~~~~~~~~~~~~~~~~~~~~~~~

Lexers for Solidity.

:copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS.
:license: BSD, see LICENSE for details.
    )
RegexLexerbygroupsincludewords)	TextCommentOperatorKeywordNameStringNumberPunctuation
WhitespaceSolidityLexerc                      \ rS rSrSrSrS/rS/r/ rSr	\
" S5      \
" S5      S	\S
4S\" \\\R                  5      4\	S-   S-   \" \R                   \\\R"                  5      4S\" \R                   \\R"                  5      4S\4\" SSSS9\R                   4\" SSSS9\R&                  4\	\R                   4\
" S5      S\4S\4S\4/S\R0                  4S\R2                  4S\R2                  4/S\R6                  4S\R0                  4S\R:                  4S\R<                  4/\
" S5      \
" S5      S\" \\\5      4S \S!4/S"\4S#\4/S$.rS%r g&)'r      z2
For Solidity source code.

.. versionadded:: 2.5
Soliditysolidityz*.solz\b(address|bool|(?:(?:bytes|hash|int|string|uint)(?:8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?))\b
whitespacecommentsz\bpragma\s+solidity\bpragmaz\b(contract)(\s+)([a-zA-Z_]\w*)z/(\s+)((?:external|public|internal|private)\s+)?z([a-zA-Z_]\w*)z1\b(enum|event|function|struct)(\s+)([a-zA-Z_]\w*)z,\b(msg|block|tx)\.([A-Za-z_][a-zA-Z0-9_]*)\b)%blockbreakconstantconstructorcontinuecontractdoelseexternalfalseforfunctionifimport	inheritedinternalislibrarymappingmemorymodifiermsgnewpayableprivatepublicrequirereturnreturnsstructsuicidethrowthistruetxvarwhilez\b)prefixsuffix)	keccak256	constantsz[a-zA-Z_]\w*z[~!%^&*+=|?:<>/-]z[.;{}(),\[\]]z//(\n|[\w\W]*?[^\\]\n)z/(\\\n)?[*][\w\W]*?[*](\\\n)?/z/(\\\n)?[*][\w\W]*z("(\\"|.)*?")z('(\\'|.)*?')z\b0[xX][0-9a-fA-F]+\bz\b\d+\bz(\^|>=|<)(\s*)(\d+\.\d+\.\d+);z#popz\s+z\n)rootr   r@   r   r    N)!__name__
__module____qualname____firstlineno____doc__namealiases	filenames	mimetypesdatatyper   r
   r   r   r   EntityTypeVariabler   Builtinr   r	   r   r   Single	Multiliner   Doubler   HexDecimaltokens__static_attributes__rC       +lib/third_party/pygments/lexers/solidity.pyr   r      s    DlG	II	*  L!J%w9/gz4;;79JJgllJGI BgllJ>@<gF & /4EC \\ >%>Mw||$K d#!8,{+5
: '7.0A0AB"G$5$56
 v}}-v}}-%vzz2(	
 L!J-h
G46;'
 Z J
_3FrY   N)rH   pygments.lexerr   r   r   r   pygments.tokenr   r   r	   r
   r   r   r   r   r   __all__r   rC   rY   rZ   <module>r^      s:    @ ?$ $ $ 
EJ ErY   