o
    Ñ­jÁy  ã                   @   s„   d Z ddlZddlmZ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 ddgZG dd„ deƒZG dd„ deƒZdS )	zÒ
    pygments.lexers.haxe
    ~~~~~~~~~~~~~~~~~~~~

    Lexers for Haxe and related stuff.

    :copyright: Copyright 2006-present by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
é    N)ÚExtendedRegexLexerÚ
RegexLexerÚincludeÚbygroupsÚdefault)
ÚTextÚCommentÚOperatorÚKeywordÚNameÚStringÚNumberÚPunctuationÚGenericÚ
WhitespaceÚ	HaxeLexerÚ	HxmlLexerc                   @   sH  e Zd ZdZdZdZg d¢ZddgZg d¢ZdZ	d	Z
d
Zde d ZdZde
 d e ZejejB Zg Zdd„ Zi dedƒedƒdejdfdejdfdejdfdejfdejdfdejdfd ejd!fd"ejd#fd$ed%fg“dd&efd'ejfd(ejfd)efg“d*d+ejd,fd-ej fd.e d ejd/fed0ƒg“d0d1ejd2fd3ej fd4ejfg“d5d6ej!d2fd3ej fd4ej!fg“d7d8e ejfd9ejd2fg“d:edƒee"jfd;e#d<fe$d2ƒg“d=edƒee"jfd>efd;e#d<fd?ejd/fe$d2ƒg“d<edƒd>ed2fee"jd2fg“d@edƒee"jfd;e#d<fe$d2ƒg“dAd&efd1ejdBfd6ej!dCfe$d2ƒg“dDd&efdEej%fdFej%dGfeej%d2fdHe&j'fdIe&j'fdJe&j'fdKe&j'fdLe dM e&j'fdNe&j(fdOe&j)fd1ejdBfd6ej!dCfg“dPd&efdQej%d2fe$dRƒg“dSd&efeej%dTfe$d2ƒg“dRd&efdEej%fdFej%dUfeej%dVfdHe&j'dVfdIe&j'dVfdJe&j'dVfdKe&j'dVfdLe dM e&j'dVfdNe&j(dVfdOe&j)dVfd1ejdWfd6ej!dXfg“dedƒe$dYƒg“dZedƒd[e#d\fg“i d]edƒdFe#d^fe$d2ƒg“d_edƒd`ejdafdbe#fe$d2ƒg“dedƒdce"j*ddfg“deedƒdfe"j*d2fe$d2ƒg“dgedƒee"j*d2fg“dhedƒdFe"j*dife$d2ƒg“djedƒdQe"j*d2fe$dkƒg“dledƒdQe"j*d2fdbe#difg“d#edƒe$dmƒg“dnedƒdoe+dpfg“d!edƒe$dqƒg“dredƒedƒd9e#d2fee"dsfg“dtedƒdFe#dufe$dvƒg“dedƒe$dwƒg“dxedƒdyejdafdbe#fe$d2ƒg“dzedƒd[e#d2fg“d{edƒd9e#d2fg“¥i d|edƒedƒd9e#d2fd}ejfe$d~ƒg“d~edƒdejd€fd�ejd‚fg“dƒedƒee"j,d„fe$d„ƒg“d…edƒed†ƒe$d2ƒg“d‡edƒee"j,d„fg“dˆedƒdQe#d2fd‰e#fee"dŠfg“d‹edƒdQe#d2fdbe#dŒfg“d�edƒdFe#dŽfe$d2ƒg“d�edƒd�ed2feed2fg“d%edƒe$d‘ƒg“d†g edƒ‘dce"j*d’f‘d“e+f‘dFe#d”f‘d•ejf‘d–ejd—f‘d[e#d˜f‘d™ej-dšf‘d›edšf‘dœed�f‘džedŸf‘d ejd¡f‘d¢ed£f‘d¤ed¥f‘d¦ed§f‘d¨ed©f‘dªed«f‘d¬ed­f‘d®ef‘d¯ed°f‘d±ed²f‘d³ed2f‘d´e dµ e"d¶f‘ee"dšf‘dHe&j'dšf‘dIe&j'dšf‘dJe&j'dšf‘dKe&j'dšf‘dLe dM e&j'dšf‘dNe&j(dšf‘dOe&j)dšf‘d1ejd·f‘d6ej!d¸f‘d¹ej.dšf‘dºe#d»f‘“d¼edƒd½e+fee+d¾fd¿ed¾fd‰e+dÀfdÁe d e/e#e"ƒfdºe#dÂfdFe#dÃfe$d2ƒg	“dÄedƒedƒdfe#dÅfdejfdejdÆfdejdÇfd ejdÈfd"ejdÉfe$d¾ƒg	“dÊd[e#d\fedƒg“dËedƒdFe#dÌfe$d¾ƒg“dÍedƒdbe#dÅfe$d2ƒg“dÎedƒdÏedÐfe$d2ƒg“¥i dÑedƒe$dÒƒg“dÓedƒdªedÔfg“dÕedƒdFe#dÖfg“d×edƒdFe#dÖfg“dØedƒdFe#dÙfg“dÚedƒdÛed¾fe$d2ƒg“dÜedƒe$dÝƒg“dÞedƒdßedàfd9e#d2fg“dáedƒdfe#d2fe$dâƒg“dãedƒdfe#d2fdbe#däfg“dåedƒd¦edÔfe$d2ƒg“dæedƒdçed%fe$d2ƒg“dèedƒe$déƒg“dêedƒdëe#d2fe$dìƒg“díedƒdëe#d2fdbe#dîfg“dÂedƒe$dïƒg“dðedƒdëe#d2fg“¥i dñedƒdbe#d2fg“dòedƒdfe#d2fg“dóedƒdôe#d2fg“dõedƒdôe#d2fe$d2ƒg“d/edƒee"d2fg“döedƒd[e#d÷fe$dšƒg“døedƒee"d2fg“dùedƒd;e#d/fe$d2ƒg“daedƒd‰e#fee"dúfd[e#dûfdFe#düfg“dýedƒe$d^ƒg“dþedƒdÿe#dÅf�d e#�dfe$d2ƒg“�dedƒd9e#d2fd‰e#f�de#�dfee"�dfed|ƒg“�dedƒd9e#d2fdbe#�dfg“�ddHe&j'd2fdIe&j'd2fdJe&j'd2fdKe&j'd2fdLe dM e&j'd2fdNe&j(d2fdOe&j)d2fd1ejdBfd6ej!dCf�d	ej.d2fdºe+dîfedaƒg“�dedƒe$�d
ƒg“�dedƒ�de#d2fdbe#�dfg“�dedƒ�d e#�dfe$d2ƒg“¥i �dedƒ�de#d2fdbe#�dfg“�dedƒdfe#�dfe$d2ƒg“�dedƒdFe#�dfe$dÅƒg“�dedƒdQe#d2fdbe#dafg“�dedƒe$�dƒg“�dedƒdFe#d2fg“�dedƒdQe#d2fg“�dedƒee�dfg“�dedƒdbe#d¡fe$d2ƒg“�dedƒdoe+d¾fe$d2ƒg“�dedƒdfe#dÅfe$d2ƒg“�dedƒdfe+d2fg“dÃedƒdQe#d2fe$�dƒg“�d edƒdQe#d2fdbe#�d!fg“�d"edƒ�d#e �d$ e e"�d%fd1ej�d&fd6ej!�d'fe$�d(ƒg“�d)edƒdfe#�d*fe$�d+ƒg“�d,edƒd9e#d2fe$d%ƒg“¥edƒd9e#d2fe$�d-ƒgedƒee"d2fd1ejdBfd6ej!dCfgedƒd9e#d2fdbe#�d.fg�d/œ¥Z0�d0�d1„ Z1�d2S (3  r   z
    For Haxe source code.
    ÚHaxezhttp://haxe.org/)ÚhaxeÚhxslÚhxz*.hxz*.hxsl)z	text/haxeztext/x-haxez	text/x-hxz1.3a  (?:function|class|static|var|if|else|while|do|for|break|return|continue|extends|implements|import|switch|case|default|public|private|try|untyped|catch|new|this|throw|extern|enum|in|interface|cast|override|dynamic|typedef|package|inline|using|null|true|false|abstract)\bz
_*[A-Z]\w*z(?:_*[a-z]\w*|_+[0-9]\w*|z
|_+|\$\w+)z…(?:%=|&=|\|=|\^=|\+=|\-=|\*=|/=|<<=|>\s*>\s*=|>\s*>\s*>\s*=|==|!=|<=|>\s*=|&&|\|\||<<|>>>|>\s*>|\.\.\.|<|>|%|&|\||\^|\+|\*|/|\-|=>|=)z(?!ú)c                 c   s´   � |  d¡}|dkr| j |jd d … ¡ n|dv r(| jr'| jd d d … |_n|dkr4| jr4| j ¡  |dv r>|j d¡ |dv rH|j d	¡ | ¡ tjd
| fV  | ¡ |_	d S )Né   Úif)ÚelseÚelseiféÿÿÿÿÚend)r   r   úpreproc-expr)Úerrorúpreproc-errorú#)
ÚgroupÚpreproc_stackÚappendÚstackÚpopÚstartr   ÚPreprocr   Úpos)ÚselfÚmatchÚctxÚproc© r.   úQ/var/www/html/CropPilot/venv/lib/python3.10/site-packages/pygments/lexers/haxe.pyÚpreproc_callback:   s"   €
€
zHaxeLexer.preproc_callbackÚrootÚspacesÚmetaz(?:package)\b)Ú	semicolonÚpackagez(?:import)\b)r4   Úimportz(?:using)\b)r4   Úusingz(?:extern|private)\bz(?:abstract)\bÚabstractz(?:class|interface)\bÚclassz
(?:enum)\bÚenumz(?:typedef)\bÚtypedefz(?=.)zexpr-statementz\s+z
//[^\n\r]*z	/\*.*?\*/z(#)(if|elseif|else|end|error)\bústring-single-interpolz\$\{)ústring-interpol-closeÚexprz\$\$z\$(?=Úidentústring-singleú'ú#popz\\.Ú.ústring-doubleú"r=   z\$z\}r5   z\.zimport-identr6   z\*Úinr7   r    )rB   r@   )rB   rD   r   z\!z\()rB   úpreproc-parenthesisz\.[0-9]+z[0-9]+[eE][+\-]?[0-9]+z[0-9]+\.[0-9]*[eE][+\-]?[0-9]+z[0-9]+\.[0-9]+z[0-9]+\.(?!z|\.\.)z0x[0-9a-fA-F]+z[0-9]+rG   z\)úpreproc-expr-in-parenthesisúpreproc-expr-chain)rB   rH   )rB   rI   rG   )rB   rI   )rB   rI   r@   )rB   rI   rD   )rB   úabstract-bodyúabstract-relationúabstract-opaqueútype-param-constraintú	type-namerJ   z\{)rB   ú
class-bodyrL   )rB   úparenthesis-closeÚtyperK   z(?:to|from)rQ   ú,ú@)ú	meta-bodyú
meta-identú
meta-colonrV   ú:rU   rT   )rB   ú	meta-callrX   )rB   úmeta-call-sepr>   rY   )rB   útypedef-bodyrM   rN   rZ   ú=)rB   úoptional-semicolonrQ   )rB   ú	enum-bodyúbracket-openrM   rN   r]   )úenum-memberrM   r_   )rB   r4   Úflagúfunction-param)rB   r4   r`   )rB   rO   r^   ÚextendsrM   rN   rb   z(?:extends|implements)\br^   úbracket-closerO   z9(?:static|public|private|override|dynamic|inline|macro)\bzclass-memberz(var)\b)rB   r\   Úvarz(function)\b)rB   r\   úclass-methodúfunction-local)rB   úoptional-exprr`   ra   úparenthesis-openrM   rg   r>   re   ra   z\?)rB   úfunction-param-sepÚassignr`   ri   )rB   ra   úprop-get-set)rB   rP   úprop-get-set-optÚcommarl   rl   z((?:default|null|never|dynamic|get|set)\b)rB   r\   r>   )rB   rg   rT   rU   rV   z(?:\+\+|\-\-|~(?!/)|!|\-))rB   ú
expr-chainÚparenthesisz3(?:static|public|private|override|dynamic|inline)\bz(?:function)\b)rB   rn   rf   )rB   rn   Úbracketz(?:true|false|null)\b)rB   rn   z
(?:this)\bz
(?:cast)\b)rB   rn   Úcastz	(?:try)\b)rB   Úcatchr>   z	(?:var)\b)rB   rd   z	(?:new)\b)rB   rn   Únewz(?:switch)\b)rB   Úswitchz(?:if)\b)rB   r   z(?:do)\b)rB   Údoz(?:while)\b)rB   Úwhilez	(?:for)\b)rB   Úforz(?:untyped|throw)\bz(?:return)\b)rB   rg   z(?:macro)\b)rB   Úmacroz(?:continue|break)\bz(?:\$\s*[a-z]\b|\$(?!z)))rB   Údollar)rB   rn   r<   )rB   rn   rD   z#~/(\\\\|\\[^\\]|[^/\\\n])*/[gimsu]*z\[)rB   rn   ú
array-declrn   z(?:\+\+|\-\-))rB   r>   z(?:in)\b)rB   r>   Úternaryr>   z(\.)(zarray-accessÚcallrx   )rB   rQ   )rB   r\   r8   )rB   r\   úmacro-class)rB   r\   r:   )rB   r\   r;   r}   rq   )rB   rP   ú	cast-typer>   r~   rr   z(?:catch)\b)r>   ra   rh   ru   )rB   údo-whiler>   r   )rB   ro   rh   rv   )rB   r>   ro   rw   r   )rB   r   r\   r>   ro   r   z
(?:else)\brt   )rB   úswitch-bodyr^   r>   r€   z(?:case|default)\b)ú
case-blockÚcaser‚   )rB   úcase-sepú
case-guardr>   rƒ   )rB   r‚   r„   r�   z(?!(?:case|default)\b|\})rs   )rB   r|   rh   rQ   rz   z\])rB   úarray-decl-sepr>   r…   )rB   rz   )rB   úarray-access-closer>   r†   rm   Úcolonr4   ú;r\   ry   )rB   rn   rc   r>   rN   útype-full-name)rB   ú
type-checkr‰   )rB   rŠ   útype-struct)rB   rŠ   útype-parenthesisrŒ   rŠ   z->z<(?!=)ú
type-paramr‹   ú>)rm   rQ   )rB   útype-struct-seprQ   r‡   r�   )rB   r‹   útype-param-typez!~/(\\\\|\\[^\\]|[^/\\\n])*/[gim]*)rB   útype-param-sepr�   r‘   )rB   r�   rM   )rB   útype-param-constraint-sepútype-param-constraint-flagrN   r’   r“   )rB   útype-param-constraint-flag-typer”   )rB   ú#type-param-constraint-flag-type-seprQ   r•   ro   )rB   rP   r`   r>   rh   rP   rd   )rB   úvar-seprj   r`   rk   r–   rj   r`   r{   )rB   úcall-sepr>   r—   )rB   r|   rp   z(?!(?:\$\s*[a-z]\b|\$(?!z))))rB   úbracket-check)rB   r˜   r@   )rB   r˜   rD   )rB   Úblockr˜   )rB   ú
object-sepr>   )rB   r™   r\   rn   r™   )rB   rš   r>   r‡   úident-or-string)rB   Úobject)rœ   r›   rš   c                 C   sJ   d}t  d| ¡rt|dƒ}t  d| ¡rt|dƒ}t  d| ¡r#t|dƒ}|S )Nr   z\bimport\s+haxe\.gš™™™™™É?z\bStd\.gš™™™™™¹?z\btrace\s*\(gš™™™™™©?)ÚreÚsearchÚmax)ÚtextÚrvr.   r.   r/   Úanalyse_text|  s   


zHaxeLexer.analyse_textN)2Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚnameÚurlÚaliasesÚ	filenamesÚ	mimetypesÚversion_addedÚkeywordÚtypeidr?   ÚbinopÚident_no_keywordr�   ÚDOTALLÚ	MULTILINEÚflagsr#   r0   r   r
   Ú	NamespaceÚDeclarationr   r   r   ÚSingleÚ	Multiliner   ÚInterpolÚEscapeÚDoubler   r   r   r(   r   ÚFloatÚHexÚIntegerÚ	Decoratorr	   ÚFunctionÚConstantÚRegexr   Útokensr¢   r.   r.   r.   r/   r      st
   






ðÿüë
üä#
ýÝ)
ý×/
þÑ4üÌ;
úÅD
ý¼Jü¶Q

ü¯X



ì¨o
ý‘u
ý‹|ÿ






ÿÿê„ þ �é þ �ã "ý �Þ (
ü �Ø /
þ �Ñ 5
ý �Ë <
þ �Ä A
ý �¿ G
ý �¹ M
ý �³ Sþ �­ Yþ �§ ^þ �¢ dü �œ kÿü �• rþ �Ž x
û �ˆ  þ � �ÿ  þ � �ú  ÿú � �õ  ÿÿü � �ì  ÿû � �ã  &ý � �Ú  ,
þ � �Ô  4ÿü � �Ì  <ý � �Ä  Bü � �¾  Iý � �·  Oü � �±  Vÿ
þüûÿú
ø
ö
õôóò
ñðïîíìëêéèçæå
â
á
 à
!ß"Þ
%Û
&Ú
)×
*Ö
-Ó0Ð � �ª   
÷ � � �ö   



õ � � �é   %þ � � �Û   +ü � � �Õ   3ý � � �Í   9ü � � �Ç   Aþ � � �¿   Gþ � � �¹   Mþ � � �³   Rþ � � �®   Wþ � � �©   ]ý � � �£   cþ � � ��   hý � � �˜   ný � � �’   tý � � �Œ   zý � � �†    ý � � � �þ    þ � � � �ø    ý � � � �ó    ý � � � �í    þ � � � �ç    þ � � � �â    #þ � � � �Ý    (þ � � � �Ø    -þ � � � �Ó    2ý � � � �Î    9þ � � � �Ç    >ý � � � �Â    Dþ � � � �¼    Iý � � � �·    Oû � � � �±    Wþ � � � �©    \ü � � � �¤    c
ú � � � ��    l
ý � � � �”    s







ê � � � ��     þ � � � � �ñ     

ý � � � � �ì     ü � � � � �ä     #

ý � � � � �Ý     +
ý � � � � �Õ     1
ü � � � � �Ï     8ý � � � � �È     ?þ � � � � �Á     Dþ � � � � �¼     Iþ � � � � �·     N
þ � � � � �²     Tý � � � � �¬     [ý � � � � �¥     bý � � � � �ž     iþ � � � � �—     oý � � � � �‘     v
ý � � � � �Š     }ÿú � � � � �ƒ      
ý � � � � � �ù      ý � � � � � �ò      ý

ü	
ý � � � � � �
Ü      .c                   @   s¸   e Zd ZdZdZdZddgZdgZdZdd	e	e
ejƒfd
e	e
ejƒfde	e
eƒfde	e
eeeƒfde	e
eeejƒfde	e
eeeje
eje
eje
ejƒ
fde	e
eeeƒfdejfgiZdS )r   z%
    Lexer for haXe build files.
    ÚHxmlz0https://haxe.org/manual/compiler-usage-hxml.htmlÚhaxemlÚhxmlz*.hxmlz1.6r1   z
(--)(next)z(-)(prompt|debug|v)zY(--)(neko-source|flash-strict|flash-use-stage|no-opt|no-traces|no-inline|times|no-output)zO(-)(cpp|js|neko|x|as3|swf9?|swf-lib|php|xml|main|lib|D|resource|cp|cmd)( +)(.+)z(-)(swf-version)( +)(\d+)z;(-)(swf-header)( +)(\d+)(:)(\d+)(:)(\d+)(:)([A-Fa-f0-9]{6})zA(--)(js-namespace|php-front|php-lib|remap|gen-hx-classes)( +)(.+)z#.*N)r£   r¤   r¥   r¦   r§   r¨   r©   rª   r¬   r   r   r   ÚHeadingr
   r   r   r   r½   r¼   r   r¶   rÂ   r.   r.   r.   r/   r   ‡  s>    ÿþÿþÿÿçÿ)r¦   r�   Úpygments.lexerr   r   r   r   r   Úpygments.tokenr   r   r	   r
   r   r   r   r   r   r   Ú__all__r   r   r.   r.   r.   r/   Ú<module>   s    
0      x