§
    £E±c6  ã                   ó®   — 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mZmZmZ g d¢Z G d„ de¦  «        Z G d„ de¦  «        Z G d	„ d
e¦  «        ZdS )a9  
    pygments.lexers.minecraft
    ~~~~~~~~~~~~~~~~~~~~~~~~~

    Lexers for Minecraft related languages.
    
    SNBT. A data communication format used in Minecraft.
    wiki: https://minecraft.fandom.com/wiki/NBT_format
    
    MCFunction. The Function file for Minecraft Data packs and Add-ons.
    official: https://learn.microsoft.com/en-us/minecraft/creator/documents/functionsintroduction
    wiki: https://minecraft.fandom.com/wiki/Function
    
    MCSchema. A kind of data Schema for Minecraft Add-on Development.
    official: https://learn.microsoft.com/en-us/minecraft/creator/reference/content/schemasreference/
    community example: https://www.mcbe-dev.net/addons/data-driven/manifest.html

    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
é    )Ú
RegexLexerÚdefaultÚincludeÚbygroups)
ÚCommentÚKeywordÚLiteralÚNameÚNumberÚOperatorÚPunctuationÚStringÚTextÚ
Whitespace)Ú	SNBTLexerÚMCFunctionLexerÚMCSchemaLexerc                   óì  — e Zd ZdZdZdZdgZdgZdgZde	dfd	e
fgd
efgde	fgdej        fdej        fdej        fdej        fdej        dfdej        dfgdej        fdej        fdej        dfgdej        fdej        fdej        dfgdej        f ed¦  «         ed¦  «         ed¦  «        de	dfde	dfde	dfgdej        f ed¦  «         ed¦  «         ed¦  «        de	dfde	dfd e	dfgd!œZd"S )#r   z]Lexer for stringified NBT, a data format used in Minecraft

    .. versionadded:: 2.12.0
    ÚSNBTz,https://minecraft.fandom.com/wiki/NBT_formatÚsnbtz*.snbtz	text/snbtú\{Úcompoundz[^\{]+ú\s+z[,:;]ú(true|false)z-?\d+[eE]-?\d+z-?\d*\.\d+[fFdD]?z-?\d+[bBsSlLfFdD]?ú"úliterals.string_doubleú'úliterals.string_singleú\\.ú	[^\\"\n]+ú#popú	[^\\'\n]+z
[A-Z_a-z]+Ú	operatorsÚ
whitespaceÚliteralsz#pushú\[Úlistú\}ú\])Úrootr$   r#   r%   r   r   r   r'   N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚnameÚurlÚaliasesÚ	filenamesÚ	mimetypesr   r   r   r   ÚConstantr   ÚFloatÚIntegerr   ÚDoubleÚSingleÚEscaper
   Ú	Attributer   Útokens© ó    ú;/usr/lib/python3/dist-packages/pygments/lexers/minecraft.pyr   r      sÃ  € € € € € ðð ð
 €DØ
8€CØˆh€GØ�
€IØ�€Ið �K Ð,Ø˜Ðð	
ð �ZÐ ð
ð
 �{Ð#ð
ð
 ˜gÔ.Ð/Ø ¤Ð-Ø! 6¤<Ð0Ø" F¤NÐ3ð �6”=Ð":Ð;Ø�6”=Ð":Ð;ð	
ð �V”]Ð#Ø˜6œ=Ð)Ø�6”= &Ð)ð#
ð �V”]Ð#Ø˜6œ=Ð)Ø�6”= &Ð)ð#
ð ˜DœNÐ+ØˆG�KÑ Ô ØˆG�LÑ!Ô!ØˆG�JÑÔØ�K Ð)Ø�K Ð(Ø�K Ð(ð

ð ˜DœNÐ+ØˆG�JÑÔØˆG�KÑ Ô ØˆG�LÑ!Ô!Ø�K Ð)Ø�K Ð,Ø�K Ð(ð
ðc:ð :€F€F€Fr=   r   c                   ó  — e Zd ZdZdZdZddgZdgZdgZdZ	i d	 e
d
¦  «         e
d¦  «         e
d¦  «         e
d¦  «         e
d¦  «         e
d¦  «         e
d¦  «        g“d
d eeej        ¦  «        fdej        fdej        f e
d¦  «        dej        fdej        j        fg“ddej        fdej        fg“ddefg“dde	› d�ej        dfdej        fg“dde	› �ej        d fdej        d!f ed"¦  «        g“d! e
d#¦  «        d$ej        fd%ed"f e
d¦  «        g“d  e
d#¦  «        d$ej        fd%ed"f e
d¦  «        g“d#d&ej        f e
d¦  «        dej        j        fg“dd'efg“dd(efd)ej        fd*ej        j        fd+e j!        fd,e j"        fd-e j#        fd.ej$        d/fd0ej        d1fg“d/d2ej%        fd3ej$        fd.ej$        d"fg“d1d2ej%        fd4ej        fd0ej        d"fg“dd5ej        fg“dd6e&d7fd8e&d9fg“d: e
d¦  «         e
d¦  «        d;e&d"fg“d< e
d¦  «         e
d¦  «        d=e&d"fd>e&fg“ e
d¦  «        d?ej'        d@fdAej'        d@fdBej'        d@fd.ej'        d@d/fd0ej'        d@d1fdCe j#        d@f ed"¦  «        gd2ej%        fd3ej'        fd.ej'        d"fgd2ej%        fd4ej'        fd0ej'        d"fg e
d¦  «        dDe&dEfd>e&f ed"¦  «        g e
d¦  «        dFej(        fdAej(        f e
d¦  «         e
d¦  «         ed"¦  «        gdGœ¥Z)dHS )Ir   zÑLexer for the mcfunction scripting language used in Minecraft
    Modelled somewhat after the `GitHub mcfunction grammar <https://github.com/Arcensoth/language-mcfunction>`_.

    .. versionadded:: 2.12.0
    Ú
MCFunctionz*https://minecraft.fandom.com/wiki/CommandsÚ
mcfunctionÚmcfz*.mcfunctionztext/mcfunctionz[>!]r*   ÚnamesÚcommentsr%   r$   Úpropertyr#   Ú	selectorsz^(\s*)([a-z_]+)z(?<=run)\s+[a-z_]+z$\b[0-9a-fA-F]+(?:-[0-9a-fA-F]+){4}\bzresource-namez[A-Za-z_][\w.#%$]+z[#%$][\w.#%$]+z#?[a-z_][a-z_.-]*:[a-z0-9_./-]+z"#?[a-z0-9_\.\-]+\/[a-z0-9_\.\-\/]+r   z^\s*(#ú))úcomments.blockúcomments.block.emphasizedz#.*$rH   z^\s*#rI   zcomments.block.normalr!   zcomments.block.specialz\S+ú\nz@\S+z[\-~%^?!+*<>\\/|&=.]z\.\.r   z
[A-Za-z_]+z[0-7]bz%[+-]?\d*\.?\d+([eE]?[+-]?\d+)?[df]?\bz
[+-]?\d+\br   zliterals.string-doubler   zliterals.string-singler   r    r"   z@[a-z]r   )úproperty.curlyúproperty.keyr&   )úproperty.squarerL   rK   r(   rM   r)   ú,z-#?[a-z_][a-z_\.\-]*\:[a-z0-9_\.\-/]+(?=\s*\=)úproperty.delimiterz#?[a-z_][a-z0-9_\.\-/]+z[A-Za-z_\-\+]+z-?\d+z[:=]!?úproperty.valuez$#?[a-z_][a-z_\.\-]*\:[a-z0-9_\.\-/]+)rL   zproperty.key.string-doublezproperty.key.string-singlerO   rP   N)*r+   r,   r-   r.   r/   r0   r1   r2   r3   Ú_block_comment_prefixr   r   r   r
   ÚBuiltinÚVariabler   r4   ÚMagicÚFunctionr   Ú	Multiliner8   r   r   r   ÚDocÚ	Decoratorr   r	   ÚPseudoÚClassr   ÚByter5   r6   r7   r9   r   r:   ÚTagr;   r<   r=   r>   r   r   f   s–  € € € € € ðð ð €DØ
6€CØ˜UÐ#€GØÐ €IØ"Ð#€Ið #ÐðIØØˆG�GÑÔØˆG�JÑÔØˆG�JÑÔØˆG�LÑ!Ô!ØˆG�JÑÔØˆG�KÑ Ô ØˆG�KÑ Ô ð
ðIð 	ð    ¨*°d´lÑ!CÔ!CÐDØ" D¤LÐ1ð 5°d´mÐDØˆG�OÑ$Ô$ð # GÔ$4Ð5Ø ¤Ô 3Ð4ð
ðIð6 	à/°´Ð?ð 3°D´MÐBð
ð7IðF 	Ø�ZÐ ð
ðGIðN 	Ø/Ð,Ð/Ð/Ð/°Ô1BØ<ð>à�g”nÐ%ð
ðOIðX 	Ø-Ð+Ð-Ð-¨wÔ/@Ø(ð*à�wÔ(Ð*AÐBØˆG�F‰OŒOð	
ðYIðd 	 ØˆGÐ,Ñ-Ô-Ø�WÔ&Ð'Ø�D˜&Ð!ØˆG�LÑ!Ô!ð	"
ðeIðp 	$ØˆGÐ,Ñ-Ô-Ø�V”ZÐ Ø�D˜&Ð!ØˆG�LÑ!Ô!ð	&
ðqIð| 	!à�d”nÐ%àˆG�OÑ$Ô$ð  ¤Ô 3Ð4ð#
ð}IðP 	Ø$ hÐ/ð
ðQIðX 	Ø�gÐØ˜gœnÐ-ð ˜DœMÔ/Ð0à˜œÐ$Ø5°v´|ÐDØ˜FœNÐ+Ø�6”=Ð":Ð;Ø�6”=Ð":Ð;ð
ðYIðr 	!Ø�V”]Ð#Ø˜6œ=Ð)Ø�6”= &Ð)ð#
ðsIð| 	!Ø�V”]Ð#Ø˜6œ=Ð)Ø�6”= &Ð)ð#
ð}IðH 	Ø˜œÐ&ð
ðIIð@ 	ð �KÐ!CÐDØ�KÐ!DÐEð
ðAIðR 	ØˆG�LÑ!Ô!ØˆG�JÑÔØ�K Ð(ð
ðSIð\ 	ØˆG�LÑ!Ô!ØˆG�JÑÔØ�K Ð(ð �;Ðð
ð]Iðn ˆG�LÑ!Ô!ð
 >¸t¼~ÐOcÐdØ'¨¬Ð9MÐNð  ¤Ð0DÐEð �4”>Ð#7Ð9QÐRØ�4”>Ð#7Ð9QÐRð �v”~Ð';Ð<àˆG�F‰OŒOð'
ð, �V”]Ð#Ø˜4œ>Ð*Ø�4”> 6Ð*ð'
ð �V”]Ð#Ø˜4œ>Ð*Ø�4”> 6Ð*ð'
ð ˆG�LÑ!Ô!à˜Ð%5Ð6Ø�;ÐàˆG�F‰OŒOð
ð ˆG�LÑ!Ô!ð 5°d´hÐ?Ø'¨¬Ð2àˆG�JÑÔØˆG�JÑÔàˆG�F‰OŒOð
ð{Ið Ið I€F€F€Fr=   r   c            #       óH  — e Zd ZdZdZdZdgZdgZdgZde	fde
j        fd	e
j        fg ed
¦  «        dej        dfdedf ed¦  «        gde	dfgdej        fdej        dfdej        fgdej        fdej        dfdej        fgdedf ed
¦  «        dej        fdej        fdej        fdej        fdej        fdej        fdej        fdefdedfd edfd!efdej        d"fdej        d#fd$ej        fd% e ej        eej        eej        eej        eeee¦  «        fd&efgd'œZ!d(S ))r   z~Lexer for Minecraft Add-ons data Schemas, an interface structure standard used in Minecraft

    .. versionadded:: 2.14.0
    ÚMCSchemazWhttps://learn.microsoft.com/en-us/minecraft/creator/reference/content/schemasreference/Úmcschemaz
*.mcschemaztext/mcschemar   z//.*?$z	/\*.*?\*/Úcommentsandwhitespacez7/(\\.|[^[/\\\n]|\[(\\.|[^\]\\\n])*])+/([gimuysd]+\b|\B)r!   z(?=/))r!   ÚbadregexrJ   r   r   z[^\\']+r   z[^\\"]+z^(?=\s|/|<!--)Úslashstartsregexz
(?<=: )optz(?<=\s)[\w-]*(?=(\s+"|\n))z
0[bB][01]+z0[oO]?[0-7]+z0[xX][0-9a-fA-F]+z\d+z#(\.\d+|\d+\.\d*|\d+)([eE][-+]?\d+)?z	\.\.\.|=>zP\+\+|--|~|\?\?=?|\?|:|\\(?=\n)|(<<|>>>?|==?|!=?|(?:\*\*|\|\||&&|[-<>+*%&|^/]))=?z[{(\[;,]z[})\].]ÚsinglestringÚdoublestringz[\w-]*?(?=:\{?\n)z�([\w-]*?)(:)(\d+)(?:(\.)(\d+)(?:(\.)(\d+)(?:(\-)((?:[^\W_]|-)*(?:\.(?:[^\W_]|-)*)*))?(?:(\+)((?:[^\W_]|-)+(?:\.(?:[^\W_]|-)+)*))?)?)?(?=:\{?\n)z.*\n)r`   rb   ra   rc   rd   r*   N)"r+   r,   r-   r.   r/   r0   r1   r2   r3   r   r   r8   rV   r   r   ÚRegexr   r   r9   r7   r   ÚWordr   ÚDeclarationr   ÚBinÚOctÚHexr6   r5   r   ÚSymbolr   r;   r<   r=   r>   r   r   B  s^  € € € € € ðð ð
 €DØ
c€CØˆl€GØ�€IØ Ð!€Ið �ZÐ Ø˜œÐ'Ø˜7Ô,Ð-ð"
ð ˆGÐ+Ñ,Ô,ð"Ø#)¤<°ð9à�tÐ1Ð2ØˆG�F‰OŒOð
ð �J Ð'ð
ð �V”]Ð#Ø�6”= &Ð)Ø˜œÐ'ð
ð �V”]Ð#Ø�6”= &Ð)Ø˜œÐ'ð
ð  Ð&8Ð9ØˆGÐ+Ñ,Ô,ð ˜HœMÐ*Ø*¨GÔ,?Ð@ð ˜FœJÐ'Ø˜fœjÐ)Ø! 6¤:Ð.Ø�V”^Ð$Ø3°V´\ÐBð ˜;Ð'ðBØCKÐM_ðaà˜+Ð'9Ð:Ø˜Ð%ð �6”= .Ð1Ø�6”= .Ð1ð " 6¤=Ð1ð `ð  bjð  bjð  kqô  kxð  zBð  DJô  DRð  T\ð  ^dô  ^lð  nvð  x~ô  xFð  HPð  RXð  Zbð  djñ  bkô  bkð  là�dˆOðA!
ð5<ð <€F€F€Fr=   r   N)r.   Úpygments.lexerr   r   r   r   Úpygments.tokenr   r   r	   r
   r   r   r   r   r   r   Ú__all__r   r   r   r<   r=   r>   ú<module>ro      s_  ððð ð* BÐ AÐ AÐ AÐ AÐ AÐ AÐ AÐ AÐ AÐ AÐ Að*ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð <Ð
;Ð
;€ðFð Fð Fð Fð F�
ñ Fô Fð FðRYð Yð Yð Yð Y�jñ Yô Yð YðxHð Hð Hð Hð H�Jñ Hô Hð Hð Hð Hr=   