Ë
    !täiD ã                   ó–  — d Z ddlZddlmZ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mZ ddlmZmZ g d¢Zd„ Z G d„ d	e«      Zd
„ Zd„ Z G d„ de«      Z G d„ de«      Z G d„ de«      Z G d„ de«      Z  G d„ de«      Z! G d„ de«      Z" G d„ de«      Z# G d„ de«      Z$ G d„ de«      Z% G d„ de«      Z& G d „ d!e«      Z'y)"zå
    pygments.lexers.scripting
    ~~~~~~~~~~~~~~~~~~~~~~~~~

    Lexer for scripting and embedded languages.

    :copyright: Copyright 2006-present by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
é    N)Ú
RegexLexerÚincludeÚbygroupsÚdefaultÚcombinedÚwords)ÚTextÚCommentÚOperatorÚKeywordÚNameÚStringÚNumberÚPunctuationÚErrorÚ
WhitespaceÚOther)Úget_bool_optÚget_list_opt)ÚLuaLexerÚ	LuauLexerÚMoonScriptLexerÚChaiscriptLexerÚLSLLexerÚAppleScriptLexerÚ	RexxLexerÚMOOCodeLexerÚHybrisLexerÚEasytrieveLexerÚJclLexerÚMiniScriptLexerc                  óh   — ddl m}  | j                  «       D ��cg c]  }|D ]  }|‘Œ Œ c}}S c c}}w )Nr   ©ÚMODULES)Úpygments.lexers._lua_builtinsr$   Úvalues)r$   r&   Úws      úh/Volumes/fast/ai/experiments/MLX_z-image/.venv/lib/python3.12/site-packages/pygments/lexers/scripting.pyÚall_lua_builtinsr)      s.   € Ý5Ø#ŸN™NÔ,Ô=Ñ,�&³f°ŠA°fˆAÐ,Ò=Ð=ùÓ=s   š.c                   óÜ  — e Zd ZdZdZdZdgZddgZddgZd	Z	d
Z
dZdZde
› de› de› d�ZdZdZdej"                  f ed«      ge
ej&                  feej(                  feefg ed«      dej0                  fdej2                  fdej2                  fdej4                  fdefdedfdefdefdefdej<                  f eg d ¢d!¬"«      e jB                  fd#e jB                  d$fd%e jD                  fd&e jF                  fd'e jB                  d(f e e$«       d!¬"«      e%jL                  fd)e› d*�e%jN                  d+fd)e› d,�e%jP                  fd-e%jN                  fd.ej(                   e)d/d0«      fd1ejT                   e)d/d2«      fg ed«      d3ed4fd5efe› d6e› d*�e%jV                  fe› d6e› d,�e%jP                  d4fee%jV                  d4fg ed«      d5efe› d6e› d*�e%jX                  fee%jP                  d4fd7ed4fg ed«      ee%jZ                  d4fg ed«      ded4fee%jZ                  fgd8ej\                  fgd.ej(                  d4fd9ej(                  fgd1ejT                  d4fd:ejT                  fgd;œ
Z/d<„ Z0d=„ Z1y>)?r   a†  
    For Lua source code.

    Additional options accepted:

    `func_name_highlighting`
        If given and ``True``, highlight builtin function names
        (default: ``True``).
    `disabled_modules`
        If given, must be a list of module names whose function names
        should not be highlighted. By default all modules are highlighted.

        To get a list of allowed modules have a look into the
        `_lua_builtins` module:

        .. sourcecode:: pycon

            >>> from pygments.lexers._lua_builtins import MODULES
            >>> MODULES.keys()
            ['string', 'coroutine', 'modules', 'io', 'basic', ...]
    ÚLuazhttps://www.lua.org/Úluaz*.luaz*.wluaz
text/x-luazapplication/x-luaÚ ú-(?:--\[(?P<level>=*)\[[\w\W]*?\](?P=level)\])ú	(?:--.*$)z(?:\s+(?!\s))z(?:Ú|Ú)ú\sz(?:[^\W\d]\w*)ú#!.*ÚbaseÚwsz'(?i)0x[\da-f]*(\.[\da-f]*)?(p[+-]?\d+)?ú#(?i)(\d*\.\d+|\d+\.\d*)(e[+-]?\d+)?ú(?i)\d+e[+-]?\d+ú\d+ú(?s)\[(=*)\[.*?\]\1\]z::Úlabelz\.{3}z[=<>|~&+\-*/%#^]+|\.\.z[\[\]{}().,:;]+ú(and|or|not)\b)ÚbreakÚdoÚelseÚelseifÚendÚforÚifÚinÚrepeatÚreturnÚthenÚuntilÚwhileú\b©Úsuffixzgoto\bÚgotoz	(local)\bú(true|false|nil)\bz(function)\bÚfuncnamez[A-Za-z_]\w*(?=ú*[.:])Úvarnamez*\()ú[A-Za-z_]\w*Ú'ÚstringescapeÚsqsÚ"Údqsz\.\.ú#popú[.:]z(?=ú\(zM\\([abfnrtv\\"\']|[\r\n]{1,2}|z\s*|x[0-9a-fA-F]{2}|\d{1,3}|u\{[0-9a-fA-F]+\})ú[^\\']+ú[^\\"]+)
Úrootr5   r4   rP   rN   rL   r:   rS   rT   rV   c                 ó>  — t        |dd«      | _        t        |dg «      | _        t	        «       | _        | j                  rHddlm} |j                  «       D ]/  \  }}|| j                  vsŒ| j
                  j                  |«       Œ1 t        j                  | fi |¤Ž y )NÚfunc_name_highlightingTÚdisabled_modulesr   r#   )r   r^   r   r_   ÚsetÚ
_functionsr%   r$   ÚitemsÚupdater   Ú__init__)ÚselfÚoptionsr$   ÚmodÚfuncs        r(   rd   zLuaLexer.__init__¢   s‡   € Ü&2ØÐ-¨tó'5ˆÔ#ä ,¨WÐ6HÈ"Ó MˆÔä›%ˆŒØ×&Ò&Ý=Ø$Ÿ]™]ž_‘	��TØ˜d×3Ñ3Ò3Ø—O‘O×*Ñ*¨4Õ0ð -ô 	×Ñ˜DÑ, GÓ,ó    c              #   óZ  K  — t        j                  | |«      D ]Ž  \  }}}|t        j                  u ro|| j                  vrad|v rQ|j                  d«      \  }}|t        |f–— |t        |«      z   t        df–— |t        |«      z   dz   t        |f–— n|t        |f–— Œˆ|||f–— Œ� y ­w)NÚ.é   )r   Úget_tokens_unprocessedr   ÚBuiltinra   ÚsplitÚlenr   )re   ÚtextÚindexÚtokenÚvalueÚaÚbs          r(   rm   zLuaLexer.get_tokens_unprocessed¯   s®   è ø€ ä×1Ñ1°$¸Ö=ñ  ˆE�5˜%àœŸ™Ñ$¨°d·o±oÑ)EØ˜%‘<Ø Ÿ;™; sÓ+‘D�A�qØ¤ q˜.Ò(Ø¤# a£&™.¬+°sÐ:Ò:Ø¤# a£&™.¨1Ñ,¬d°AÐ5Ó5à¤ uÐ,Ò,ØØ˜ Ð%Ó%ñ >ùs   ‚B)B+N)2Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚnameÚurlÚaliasesÚ	filenamesÚ	mimetypesÚversion_addedÚ_comment_multilineÚ_comment_singleÚ_spaceÚ_sÚ_s_laÚ_namer
   ÚPreprocr   Ú	MultilineÚSingler   r   r   ÚHexÚFloatÚIntegerr   r   r   ÚWordr   r   ÚReservedÚDeclarationÚConstantr)   r   rn   ÚVariableÚFunctionr   ÚDoubleÚPropertyÚClassÚLabelÚEscapeÚtokensrd   rm   © ri   r(   r   r      sV  „ ñð, €DØ
 €CØˆg€GØ˜(Ð#€IØÐ2Ð3€IØ€MàIÐØ"€OØ€FØÐ"Ð# 1 _Ð$5°Q°v°h¸aÐ	@€Bð €EØ€Eð
 �g—o‘oÐ&Ù�F‹Oð
ð   ×!2Ñ!2Ð3Ø˜gŸn™nÐ-Ø�ZÐ ð
ñ �D‹Mà7¸¿¹ÐDØ3°V·\±\ÐBØ  &§,¡,Ð/Ø�V—^‘^Ð$ð & vÐ.à�K Ð)Ø�{Ð#Ø&¨Ð1Ø Ð-Ø §¡Ð.áò ð ôð &×.Ñ.ð0ð ˜×(Ñ(¨&Ð1Ø˜7×.Ñ.Ð/Ø" G×$4Ñ$4Ð5à˜g×.Ñ.°
Ð;áÑ#Ó%¨eÔ4°d·l±lÐCØ ˜w fÐ-¨t¯}©}¸iÐHØ ˜w dÐ+¨T¯]©]Ð;Ø˜dŸm™mÐ,à�&—-‘-¡¨.¸%Ó!@ÐAØ�&—-‘-¡¨.¸%Ó!@ÐAðC"
ñJ �D‹MØ�h Ð'Ø�kÐ"Ø��s˜5˜' Ð(¨$¯-©-Ð8Ø��s˜5˜' Ð&¨¯©°vÐ>Ø�D—M‘M 6Ð*ð
ñ �D‹MØ�kÐ"Ø��s˜5˜' Ð(¨$¯*©*Ð5Ø�D—M‘M 6Ð*à�K Ð(ð
ñ �D‹MØ�D—J‘J Ð'ð
ñ �D‹MØ�K Ð(Ø�D—J‘JÐð
ð#Ø$*§M¡Mð3ð
ð �6—=‘= &Ð)Ø˜Ÿ™Ð'ð
ð �6—=‘= &Ð)Ø˜Ÿ™Ð'ð
ñmZ€Fòx-ó&ri   r   c                 ó°  — dt         j                  dfdt         j                  dfdt         j                  dft	        dd¬«      t
        j                  dfdt        dfd	t        t        t        j                  «      dfd
t        t        t        j                  «      dfd|› d�t        j                  dfdt        dfg	}| r|S |D �cg c]  }|d d ‘Œ	 c}S c c}w )Nz0[xX][\da-fA-F_]*rW   z0[bB][\d_]*z,\.?\d[\d_]*(?:\.[\d_]*)?(?:[eE][+-]?[\d_]+)?)ÚtrueÚfalseÚnilrI   rJ   z\[(=*)\[[.\n]*?\]\1\]z (\.)([a-zA-Z_]\w*)(?=%s*[({"\'])ú(\.)([a-zA-Z_]\w*)z"[a-zA-Z_]\w*(?:\.[a-zA-Z_]\w*)*(?=z	*[({"\'])z[a-zA-Z_]\w*(?:\.[a-zA-Z_]\w*)*é   )r   rŠ   ÚBinr‹   r   r   r�   r   r   r   r   r’   r‘   r   )Ú
should_popr„   r…   Ú	temp_listÚentrys        r(   Ú_luau_make_expressionr¤   ½   sÔ   € à	œvŸz™z¨6Ð2Ø	œŸ™ VÐ,Ø	8¼&¿,¹,ÈÐOä	ð 
àô
ä!×*Ñ*¨Fð	4ð 
"¤6¨6Ð2à	,¬h´{ÄDÇMÁMÓ.RÐTZÐ[Ø	¤¬´d·m±mÓ DÀfÐMà.¨u¨g°ZÐ	@Ä$Ç*Á*ÈfÐUØ	+¬T°6Ð:ð€Iñ" ØÐÙ#,Ó-¡9˜%ˆE�"�1ŠI 9Ñ-Ð-ùÒ-s   ÃCc                 óò   — dt         dfdt         dfdt         dfdt        j                  dfd	t        j                  d
fdt        j                  dfg}| r|S |D �cg c]  }|d   |d   |d   dd  f‘Œ c}S c c}w )Nú\{)rW   Úclosing_brace_baseÚ
expressionrY   ©rW   Úclosing_parenthesis_baser¨   z::?©rW   Útype_endÚ
type_startrR   ©rW   Ústring_singlerU   ©rW   Ústring_doubleÚ`)rW   Ústring_interpolatedr   rl   rŸ   )r   r   r‰   r“   ÚBacktick)r¡   r¢   r£   s      r(   Ú_luau_make_expression_specialrµ   Ó   s“   € à	”ÐIÐJØ	”ÐOÐPà	”Ð@ÐAà	Œv�}‰}Ð7Ð8Ø	Œv�}‰}Ð7Ð8Ø	Œv�‰Ð ?Ð@ð	€Iñ ØÐÙ<EÓF¹I°5ˆU�1‰X�u˜Q‘x  q¡¨!¨" Ò.¸IÑFÐFùÒFs   ÁA4c                   ó„  — e Zd ZdZdZdZdgZdgZdZdZ	dZ
d	j                  e	e
d
«      ZdZi ddej                  df ed«      g“de	ej"                  fe
ej$                  fd
efg“d ed«      g ed«      ¢def‘de› d�ej0                  df‘de› d�ej0                  f‘dedf‘dedf‘ edd¬«      ej6                  df‘ edd¬«      ej0                  df‘dej8                  df‘dej0                  df‘d ef‘ ed!«      ‘ edee«      ¢d"edf‘“d! ed#d¬«      ej0                  fg“d ed«      d$ej0                  d%fdej8                  fg ed&«      ¢ded'f‘dej0                  d(f‘ ed!«      ‘ ed&ee«      ¢ ed'«      ‘“d) ed«      d*ej0                  d'f ed+d¬«      ej0                  df ed'«      g“d,d-ed'fg“d.d/ed'fg“d0d1ed'fg“d2 ed.«       ed«      g“d3 ed.«       ed4«      g“d5 ed,«       ed«      g“d6 ed,«       ed4«      g“d7 ed0«       ed4«      g“d8d9ej>                  fd:ej>                  fg“d; ed8«      d<ej$                  d'fd=ej$                  fg“d> ed8«      d?ej@                  d'fd@ej@                  fg“ ed8«      dAedBfdCejB                  d'fdDejB                  fg ed«      dEefdFe› dG�e"jF                  fdHe"jH                  fdIed7fdJed'fg ed«      dJed3fdAed6fdIed7fd<ej$                  d;fd?ej@                  d>fdKefdLefdMe"jJ                  dNfdHe"jF                  fg
 ed«      dJedOfdAedPfdIedQfd<ej$                  dRfd?ej@                  dSfdMe"jJ                  dTfdHe"jF                  d'fg ed«      dUedVfdLedVfdIed7f ed'«      g ed«      dHe"jF                  fdIed7fdWedXfgdYœ¥Z&dZ„ Z'd[„ Z(y\)]r   a  
    For Luau source code.

    Additional options accepted:

    `include_luau_builtins`
        If given and ``True``, automatically highlight Luau builtins
        (default: ``True``).
    `include_roblox_builtins`
        If given and ``True``, automatically highlight Roblox-specific builtins
        (default: ``False``).
    `additional_builtins`
        If given, must be a list of additional builtins to highlight.
    `disabled_builtins`
        If given, must be a list of builtins that will not be highlighted.
    ÚLuauzhttps://luau-lang.org/Úluauz*.luauz2.18r.   r/   z(?:{}|{}|{})ú\s+r2   r\   r3   r4   r5   Fz\.\.\.z	type\b(?=z+[a-zA-Z_])Útype_declarationzexport\b(?=z(?:\.\.|//|[+\-*\/%^<>=])=?r¨   z~=)ÚandÚorÚnotrI   rJ   )r?   rA   rB   rC   rD   rE   rG   rH   zlocal\bz
function\b)r¨   Ú	func_namez[\])};]+Úexpression_staticz[\[.,])r<   Úcontinuer=   r>   r?   r@   rA   rB   rC   rD   rE   rF   rG   rH   zif\b)Úternaryr¨   TrW   r¾   rÁ   zelse\b)rF   r?   Úclosing_brace_popú\}Úclosing_parenthesis_popz\)Úclosing_gt_popÚ>rª   Úclosing_parenthesis_typeÚtyper§   Úclosing_brace_typeÚclosing_gt_typeÚstring_escapez\\z\s*zP\\(?:[abfnrtvz\\"\'`\{\n])|[\r\n]{1,2}|x[\da-fA-F]{2}|\d{1,3}|u\{\}[\da-fA-F]*\}r¯   rR   rZ   r±   rU   r[   r¦   )r§   r¨   r²   z	[^\\`\{]+rX   z[a-zA-Z_]\w*(?=rO   ú[a-zA-Z_]\w*Ú<rY   z[|&\.,\[\]:=]+z->ztypeof\()rª   r¨   )rW   rÇ   )rW   rÉ   )rW   rÊ   r®   r°   r©   z[|&\.]r­   Ú=r«   )r³   r¾   rÈ   r­   r¬   rº   c                 óT  — t        |dd«      | _        t        |dd«      | _        t        |dg «      | _        t        |dg «      | _        t        | j                  «      | _        | j                  r!ddlm	} | j                  j                  |«       | j                  r!dd	lm} | j                  j                  |«       | j                  r%| j                  j                  | j                  «       | j                  j                  | j
                  «       t        j                  | fi |¤Ž y )
NÚinclude_luau_builtinsTÚinclude_roblox_builtinsFÚadditional_builtinsÚdisabled_builtinsr   )ÚLUAU_BUILTINS)ÚROBLOX_BUILTINS)r   rÐ   rÑ   r   rÒ   rÓ   r`   Ú	_builtinsÚpygments.lexers._luau_builtinsrÔ   rc   rÕ   Údifference_updater   rd   )re   rf   rÔ   rÕ   s       r(   rd   zLuauLexer.__init__Ä  së   € Ü%1ØÐ,¨dó&4ˆÔ"ä'3ØÐ.°ó(7ˆÔ$ä#/°Ð9NÐPRÓ#SˆÔ Ü!-¨gÐ7JÈBÓ!OˆÔä˜T×5Ñ5Ó6ˆŒØ×%Ò%ÝDØ�N‰N×!Ñ! -Ô0Ø×'Ò'ÝFØ�N‰N×!Ñ! /Ô2Ø×#Ò#Ø�N‰N×!Ñ! $×":Ñ":Ô;Ø�‰×(Ñ(¨×)?Ñ)?Ô@ä×Ñ˜DÑ, GÓ,ri   c              #   óî  K  — t        j                  | |«      D �]W  \  }}}|t        u s|t        j                  u �r.|j	                  d«      }g }|}t        t        |«      dd«      D ]s  }dj                  |d | «      }	|	| j                  v r7|t        j                  |	f–— |t        |	«      z  }|r|t        df–— |dz  } n|j                  d||dz
     «       Œu t        |«      D ]}  \  }}
|dz   t        |«      k(  r4|t        u r|t        j                  |
f–— Œ5|t        j                  |
f–— ŒK|t        j                  |
f–— |t        |
«      z  }|t        df–— |dz  }Œ �ŒQ|||f–— �ŒZ y ­w)Nrk   r   éÿÿÿÿrl   )r   rm   r   r   ro   Úrangerp   ÚjoinrÖ   rn   r   ÚinsertÚ	enumerater‘   r’   )re   rq   rr   rs   rt   Úsplit_valueÚcomplete_valueÚ	new_indexÚpositionÚpotential_stringÚ	substrings              r(   rm   z LuauLexer.get_tokens_unprocessedÙ  s  è ø€ ä×1Ñ1°$¸×=ñ  ˆE�5˜%àœ‰} ¬¯©Ò 3Ø#Ÿk™k¨#Ó.�Ø!#�Ø!�	Ü %¤c¨+Ó&6¸¸2Ö >�HØ'*§x¡x°¸I¸XÐ0FÓ'GÐ$Ø'¨4¯>©>Ñ9Ø#¤T§\¡\Ð3CÐCÒCØ!¤SÐ)9Ó%:Ñ:˜	á)Ø"+¬[¸#Ð"=Ò=Ø%¨™N˜IÙØ"×)Ñ)¨!¨[¸ÀA¹Ñ-FÕGð !?ô ,5°^Ö+DÑ'�H˜iØ !‘|¤s¨>Ó':Ò:Ø ¤D™=Ø"+¬T¯]©]¸IÐ"EÒEØ$Ø'¬¯©¸	ÐAÒAØ Ø#¤T§]¡]°IÐ=Ò=Ø¤ Y£Ñ/�IØ#¤[°#Ð5Ò5Ø ‘N‘Ið ,Eñ Ø˜ Ð%Ô%ñ= >ùs   ‚E3E5N))rw   rx   ry   rz   r{   r|   r}   r~   r€   r�   r‚   Úformatr„   r…   r
   ÚHashbangr   rˆ   r‰   r   r   rµ   r   r   rŽ   r   r   r�   r�   r¤   r   r—   r“   r´   r   r•   r’   rn   r˜   rd   rm   r™   ri   r(   r   r   â   sœ  „ ñð" €DØ
"€CØˆh€GØ�
€IØ€MàIÐØ"€OØ	×	Ñ	Ð 2°OÀVÓ	L€Bð €EðAØØ�g×&Ñ&¨Ð/Ù�F‹Oð
ðAð 	Ø ×!2Ñ!2Ð3Ø˜gŸn™nÐ-Ø�ZÐ ð
ðAð 	Ù�D‹Mð
ñ +¨5Ó1ð
ð ˜Ð$ð	
ð ˜"˜˜[Ð)¨7×+;Ñ+;Ð=OÐPð
ð ˜B˜4˜{Ð+¨W×-=Ñ-=Ð>ð
ð ,¨X°|ÐDð
ð �H˜lÐ+ð
ñ ð àôà&Ÿm™m¨\ð;ð
ñ  ð à!&ô(à)0×)9Ñ)9¸<ðIð!
ð& ˜×,Ñ,¨lÐ;ð'
ð* ˜G×,Ñ,Ð.IÐJð+
ð. ˜+Ð&ð/
ñ2 Ð'Ó(ð3
ñ4 # 5¨"¨eÓ4ð5
ð8 ˜ \Ð2ð9
ðAðT 	Ùð Jð ôð  '×/Ñ/ð1ð
ðUAð` 	Ù�D‹Mà�g×&Ñ&Ð(AÐBà˜×,Ñ,Ð-ð
ñ +¨4Ó0ð
ð ˜ VÐ,ð
ð ˜G×,Ñ,¨kÐ:ð
ñ Ð'Ó(ð
ñ # 4¨¨UÓ3ð
ñ �F‹Oð
ðaAð@ 	Ù�D‹Mà˜×(Ñ(¨&Ð1Ùð àôà&×/Ñ/°ð?ñ �F‹Oð	
ðAAðV 	Ø�K Ð(ð
ðWAð\ 	"Ø�K Ð(ð$
ð]Aðb 	Ø�; Ð'ð
ðcAðj 	#ÙÐ-Ó.Ù�F‹Oð%
ðkAðr 	#ÙÐ-Ó.Ù�F‹Oð%
ðsAðz 	ÙÐ'Ó(Ù�F‹Oð
ð{AðB 	ÙÐ'Ó(Ù�F‹Oð
ðCAðJ 	ÙÐ$Ó%Ù�F‹Oð
ðKAðT 	Ø˜Ÿ™Ð&ð#Ø$*§M¡Mð3ð
ðUAð^ 	Ù�OÓ$à�6—=‘= &Ð)Ø˜Ÿ™Ð'ð	
ð_Aðj 	Ù�OÓ$à�6—=‘= &Ð)Ø˜Ÿ™Ð'ð	
ðkAñx �OÓ$à�KÐ!EÐFà�6—?‘? FÐ+Ø˜6Ÿ?™?Ð+ð 
ñ �D‹Mà�kÐ"Ø ˜w fÐ-¨t¯z©zÐ:Ø˜dŸm™mÐ,à�;Ð 1Ð2à�K Ð(ð

ñ �D‹Mà�KÐ!;Ð<Ø�KÐ!5Ð6Ø�;Ð 1Ð2à�6—=‘= /Ð2Ø�6—=‘= /Ð2à Ð,Ø�KÐ à˜$Ÿ,™,ð )7ð 8à˜dŸj™jÐ)ð
ñ$ �D‹Mà�KÐ!EÐFØ�KÐ!?Ð@Ø�;Ð ;Ð<à�6—=‘=Ð";Ð<Ø�6—=‘=Ð";Ð<à˜$Ÿ,™,ð )7ð 8à˜dŸj™j¨&Ð1ð
ñ �D‹Mà˜ \Ð2Ø�K Ð.à�;Ð 1Ð2á�F‹Oð	
ñ �D‹Mà˜dŸj™jÐ)Ø�;Ð 1Ð2à�;Ð BÐCð
òsA€FòF-ó* &ri   r   c                   ó–  — e Zd ZdZdZdZddgZdgZddgZd	Z	d
e
j                  f ed«      g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fdefdej,                  fdej.                  fdefdefdej6                  fdej.                  f edd¬«      efdej:                  fdej<                  fdej>                  j@                  fd ej.                  jB                  fd!ejB                  f e e"«       d¬«      ej>                  fd"efd#ej                   e#d$d%«      fd&ejH                   e#d$d'«      fgd(ejJ                  fgd)efgd*ejL                  d+f e'd«      gd&ejH                  d+fd,efd-ejL                  d.fd/ef e'd0«      gd#ej                  d+fd1ef e'd0«      gd2œZ(d3„ Z)y4)5r   z%
    For MoonScript source code.
    Ú
MoonScriptzhttp://moonscript.orgÚ
moonscriptÚmoonz*.moonztext/x-moonscriptzapplication/x-moonscriptz1.5ú#!(.*?)$r4   z--.*$r6   r7   z(?i)0x[0-9a-f]*r8   ú\nú[^\S\n]+r9   z(->|=>)z:[a-zA-Z_]\w*z/(==|!=|~=|<=|>=|\.\.\.|\.\.|[=+\-*/%^<>#!.\\:])z[;,]z
[\[\]{}()]ú[a-zA-Z_]\w*:)ÚclassÚextendsrB   rF   Úsuperr=   ÚwithÚimportÚexportrH   r?   rE   rA   rC   ÚfromÚwhenÚusingr>   r»   r¼   r½   Úswitchr<   rI   rJ   rM   r;   z(self)\bz@@?([a-zA-Z_]\w*)?z[A-Z]\w*rQ   rR   rS   rT   rU   rV   z\\([abfnrtv\\"']|\d{1,3})z
[^#\\\'"]+rÃ   rW   z\\.|\'z#\{Úinterpoling_stringÚ#Ústringsz#|\\.|")r\   r4   rS   rû   rù   rV   rT   c              #   ó€   K  — t         j                  | |«      D ]!  \  }}}|t        k(  r|dk(  rt        }|||f–— Œ# y ­w)Nrk   )r   rm   r   r   )re   rq   rr   rs   rt   s        r(   rm   z&MoonScriptLexer.get_tokens_unprocessedE  sE   è ø€ ä#+×#BÑ#BÀ4ÈÖ#NÑˆE�5˜%ØœÒ#¨°ªÜ �Ø˜ Ð%Ó%ñ $Oùs   ‚<>N)*rw   rx   ry   rz   r{   r|   r}   r~   r   r€   r
   r‡   r   r‰   r   r‹   rŠ   rŒ   r   r	   r   r   r’   r‘   r   r   r   ÚTyper   r�   r�   rn   ÚPseudor•   r)   r   r“   r—   ÚInterpolr   r˜   rm   r™   ri   r(   r   r   û  sG  „ ñð €DØ
!€CØ˜VÐ$€GØ�
€IØ$Ð&@ÐA€IØ€Mð ˜'Ÿ/™/Ð*Ù�F‹Oð
ð
 �g—n‘nÐ%Ø3°V·\±\ÐBØ  &§,¡,Ð/Ø §¡Ð,Ø�V—^‘^Ð$Ø�JÐØ˜$ÐØ% vÐ.Ø˜Ÿ™Ð'Ø˜tŸ}™}Ð-Ø?ÀÐJØ�kÐ"Ø˜GŸL™LÐ)Ø˜tŸ}™}Ð-Ùð ð "'ô	(ð
 ðð # G×$4Ñ$4Ð5Ø §¡Ð.Ø˜$Ÿ,™,×-Ñ-Ð.Ø" D§M¡M×$7Ñ$7Ð8Ø˜$Ÿ*™*Ð%ÙÑ#Ó%¨eÔ4°d·l±lÐCØ˜dÐ#Ø�&—-‘-¡¨.¸%Ó!@ÐAØ�&—-‘-¡¨.¸%Ó!@ÐAð;
ð@ .¨v¯}©}Ð=ð
ð ˜FÐ#ð
ð �F—O‘O VÐ,Ù�F‹Oð
ð
 �6—=‘= &Ð)Ø˜ÐØ�V—_‘_Ð&:Ð;Ø�6ˆNÙ�IÓð
ð �6—=‘= &Ð)Ø˜Ð Ù�IÓð
ño<€Fó|&ri   r   c                   ó  — e Zd ZdZdZdZddgZdgZddgZd	Z	e
j                  e
j                  z  Zd
efdej                   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 ed«      defdefdedfdedfdefdefdedfdej2                  dfdej4                  fdej6                  fdej:                  fdej:                  fd ej<                  fd!ej@                  fd"ejB                  fd#ejD                  fd$ejF                  d%fd&ej                   fgd'ejH                  fd(ejF                  fd)ejF                  fd*ejF                  fd+ejF                  fd$ejF                  dfgd,œZ%y-).r   z%
    For ChaiScript source code.
    Ú
ChaiScriptzhttp://chaiscript.com/Ú
chaiscriptÚchaiz*.chaiztext/x-chaiscriptzapplication/x-chaiscriptú2.0r¹   ú//.*?\nú	/\*.*?\*/z^\#.*?\nÚcommentsandwhitespacez3/(\\.|[^[/\\\n]|\[(\\.|[^\]\\\n])*])+/([gim]+\b|\B)rW   z(?=/))rW   Úbadregexrì   rí   zD\+\+|--|~|&&|\?|:|\|\||\\(?=\n)|\.\.(<<|>>>?|==?|!=?|[-<>+*%&|^/])=?Úslashstartsregexz[{(\[;,]z[})\].]z[=+\-*/]zA(for|in|while|do|break|return|continue|if|else|throw|try|catch)\bz(var)\bz(attr|def|fun)\bz(true|false)\bz(eval|throw)\bz`\S+`z[$a-zA-Z_]\w*ú%[0-9][0-9]*\.[0-9]+([eE][0-9]+)?[fd]?z0x[0-9a-fA-F]+ú[0-9]+rU   Údqstringz'(\\\\|\\[^\\]|[^'\\])*'z\$\{[^"}]+?\}ú\$z\\\\z\\"z[^\\"$]+)r  r	  r  r\   r  N)&rw   rx   ry   rz   r{   r|   r}   r~   r   r€   ÚreÚDOTALLÚ	MULTILINEÚflagsr	   r
   r‰   rˆ   r   r   ÚRegexr   r   r   r   r�   rŽ   r�   r   rn   r   r   r‹   rŠ   rŒ   r“   rÿ   r˜   r™   ri   r(   r   r   M  s  „ ñð €DØ
"€CØ˜VÐ$€GØ�
€IØ$Ð&@ÐA€IØ€Mà�I‰I˜Ÿ™Ñ$€Eð �TˆNØ˜Ÿ™Ð(Ø˜7×,Ñ,Ð-Ø˜'Ÿ.™.Ð)ð	"
ñ Ð+Ó,ðØ%Ÿ|™|¨Vð5à�tÐ1Ð2Ù�F‹Oð
ð �D˜&Ð!ð
ñ Ð+Ó,Ø�DˆMØ˜$Ðð1Ø2:Ð<NðPà˜+Ð'9Ð:Ø˜Ð%Ø˜(Ð#ðàÐ0ð2ð ˜×,Ñ,Ð.@ÐAØ  '×"2Ñ"2Ð3Ø × 0Ñ 0Ð1Ø §¡Ð-Ø�t—|‘|Ð$Ø˜tŸz™zÐ*Ø5°v·|±|ÐDØ §
¡
Ð+Ø˜Ÿ™Ð'Ø�6—=‘= *Ð-Ø(¨&¯-©-Ð8ð-
ð2 ˜vŸ™Ð/Ø�F—M‘MÐ"Ø�f—m‘mÐ$Ø�V—]‘]Ð#Ø˜&Ÿ-™-Ð(Ø�6—=‘= &Ð)ð
ñS1�Fri   r   c                   ó¤  — e Zd ZdZdZdgZdgZdgZdZdZ	e
j                  ZdZd	Zd
ZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdej@                  fdejB                  dfde"jF                  dfee$fee$jJ                  fee&jN                  fee&jP                  fee&jR                  fee$jT                  fee$jT                  fee$jT                  fee$jT                  fee$jT                  fee$jT                  fee+fee+fee+fee+fee$jX                  fee$jX                  fde&jZ                  fd e.j^                  fd!e.j^                  fd"e.j`                  fd#e.jb                  fee2fd$e+fd%e3fd&e4fd'e4fgd(ejB                  fdejB                  d)fd*ejB                  d+fd,ejB                  fgd-e"jj                  fde"jF                  d+fd.e+fd/e"jF                  fgd0œZ6y1)2r   zB
    For Second Life's Linden Scripting Language source code.
    ÚLSLÚlslz*.lslz
text/x-lslz:https://wiki.secondlife.com/wiki/Linden_Scripting_Languager  z(\b(?:do|else|for|if|jump|return|while)\bz@\b(?:float|integer|key|list|quaternion|rotation|string|vector)\bz\b(?:(?:state)\s+\w+|default)\baN  \b(?:state_(?:entry|exit)|touch(?:_(?:start|end))?|(?:land_)?collision(?:_(?:start|end))?|timer|listen|(?:no_)?sensor|control|(?:not_)?at_(?:rot_)?target|money|email|run_time_permissions|changed|attach|dataserver|moving_(?:start|end)|link_message|(?:on|object)_rez|remote_data|http_re(?:sponse|quest)|path_update|transaction_result)\baƒ  \b(?:ll(?:ReturnObjectsBy(?:ID|Owner)|Json(?:2List|[GS]etValue|ValueType)|Sin|Cos|Tan|Atan2|Sqrt|Pow|Abs|Fabs|Frand|Floor|Ceil|Round|Vec(?:Mag|Norm|Dist)|Rot(?:Between|2(?:Euler|Fwd|Left|Up))|(?:Euler|Axes)2Rot|Whisper|(?:Region|Owner)?Say|Shout|Listen(?:Control|Remove)?|Sensor(?:Repeat|Remove)?|Detected(?:Name|Key|Owner|Type|Pos|Vel|Grab|Rot|Group|LinkNumber)|Die|Ground|Wind|(?:[GS]et)(?:AnimationOverride|MemoryLimit|PrimMediaParams|ParcelMusicURL|Object(?:Desc|Name)|PhysicsMaterial|Status|Scale|Color|Alpha|Texture|Pos|Rot|Force|Torque)|ResetAnimationOverride|(?:Scale|Offset|Rotate)Texture|(?:Rot)?Target(?:Remove)?|(?:Stop)?MoveToTarget|Apply(?:Rotational)?Impulse|Set(?:KeyframedMotion|ContentType|RegionPos|(?:Angular)?Velocity|Buoyancy|HoverHeight|ForceAndTorque|TimerEvent|ScriptState|Damage|TextureAnim|Sound(?:Queueing|Radius)|Vehicle(?:Type|(?:Float|Vector|Rotation)Param)|(?:Touch|Sit)?Text|Camera(?:Eye|At)Offset|PrimitiveParams|ClickAction|Link(?:Alpha|Color|PrimitiveParams(?:Fast)?|Texture(?:Anim)?|Camera|Media)|RemoteScriptAccessPin|PayPrice|LocalRot)|ScaleByFactor|Get(?:(?:Max|Min)ScaleFactor|ClosestNavPoint|StaticPath|SimStats|Env|PrimitiveParams|Link(?:PrimitiveParams|Number(?:OfSides)?|Key|Name|Media)|HTTPHeader|FreeURLs|Object(?:Details|PermMask|PrimCount)|Parcel(?:MaxPrims|Details|Prim(?:Count|Owners))|Attached|(?:SPMax|Free|Used)Memory|Region(?:Name|TimeDilation|FPS|Corner|AgentCount)|Root(?:Position|Rotation)|UnixTime|(?:Parcel|Region)Flags|(?:Wall|GMT)clock|SimulatorHostname|BoundingBox|GeometricCenter|Creator|NumberOf(?:Prims|NotecardLines|Sides)|Animation(?:List)?|(?:Camera|Local)(?:Pos|Rot)|Vel|Accel|Omega|Time(?:stamp|OfDay)|(?:Object|CenterOf)?Mass|MassMKS|Energy|Owner|(?:Owner)?Key|SunDirection|Texture(?:Offset|Scale|Rot)|Inventory(?:Number|Name|Key|Type|Creator|PermMask)|Permissions(?:Key)?|StartParameter|List(?:Length|EntryType)|Date|Agent(?:Size|Info|Language|List)|LandOwnerAt|NotecardLine|Script(?:Name|State))|(?:Get|Reset|GetAndReset)Time|PlaySound(?:Slave)?|LoopSound(?:Master|Slave)?|(?:Trigger|Stop|Preload)Sound|(?:(?:Get|Delete)Sub|Insert)String|To(?:Upper|Lower)|Give(?:InventoryList|Money)|RezObject|(?:Stop)?LookAt|Sleep|CollisionFilter|(?:Take|Release)Controls|DetachFromAvatar|AttachToAvatar(?:Temp)?|InstantMessage|(?:GetNext)?Email|StopHover|MinEventDelay|RotLookAt|String(?:Length|Trim)|(?:Start|Stop)Animation|TargetOmega|RequestPermissions|(?:Create|Break)Link|BreakAllLinks|(?:Give|Remove)Inventory|Water|PassTouches|Request(?:Agent|Inventory)Data|TeleportAgent(?:Home|GlobalCoords)?|ModifyLand|CollisionSound|ResetScript|MessageLinked|PushObject|PassCollisions|AxisAngle2Rot|Rot2(?:Axis|Angle)|A(?:cos|sin)|AngleBetween|AllowInventoryDrop|SubStringIndex|List2(?:CSV|Integer|Json|Float|String|Key|Vector|Rot|List(?:Strided)?)|DeleteSubList|List(?:Statistics|Sort|Randomize|(?:Insert|Find|Replace)List)|EdgeOfWorld|AdjustSoundVolume|Key2Name|TriggerSoundLimited|EjectFromLand|(?:CSV|ParseString)2List|OverMyLand|SameGroup|UnSit|Ground(?:Slope|Normal|Contour)|GroundRepel|(?:Set|Remove)VehicleFlags|(?:AvatarOn)?(?:Link)?SitTarget|Script(?:Danger|Profiler)|Dialog|VolumeDetect|ResetOtherScript|RemoteLoadScriptPin|(?:Open|Close)RemoteDataChannel|SendRemoteData|RemoteDataReply|(?:Integer|String)ToBase64|XorBase64|Log(?:10)?|Base64To(?:String|Integer)|ParseStringKeepNulls|RezAtRoot|RequestSimulatorData|ForceMouselook|(?:Load|Release|(?:E|Une)scape)URL|ParcelMedia(?:CommandList|Query)|ModPow|MapDestination|(?:RemoveFrom|AddTo|Reset)Land(?:Pass|Ban)List|(?:Set|Clear)CameraParams|HTTP(?:Request|Response)|TextBox|DetectedTouch(?:UV|Face|Pos|(?:N|Bin)ormal|ST)|(?:MD5|SHA1|DumpList2)String|Request(?:Secure)?URL|Clear(?:Prim|Link)Media|(?:Link)?ParticleSystem|(?:Get|Request)(?:Username|DisplayName)|RegionSayTo|CastRay|GenerateKey|TransferLindenDollars|ManageEstateAccess|(?:Create|Delete)Character|ExecCharacterCmd|Evade|FleeFrom|NavigateTo|PatrolPoints|Pursue|UpdateCharacter|WanderWithin))\bz9\b(?:DEG_TO_RAD|PI(?:_BY_TWO)?|RAD_TO_DEG|SQRT2|TWO_PI)\ba…  \b(?:JSON_APPEND|STATUS_(?:PHYSICS|ROTATE_[XYZ]|PHANTOM|SANDBOX|BLOCK_GRAB(?:_OBJECT)?|(?:DIE|RETURN)_AT_EDGE|CAST_SHADOWS|OK|MALFORMED_PARAMS|TYPE_MISMATCH|BOUNDS_ERROR|NOT_(?:FOUND|SUPPORTED)|INTERNAL_ERROR|WHITELIST_FAILED)|AGENT(?:_(?:BY_(?:LEGACY_|USER)NAME|FLYING|ATTACHMENTS|SCRIPTED|MOUSELOOK|SITTING|ON_OBJECT|AWAY|WALKING|IN_AIR|TYPING|CROUCHING|BUSY|ALWAYS_RUN|AUTOPILOT|LIST_(?:PARCEL(?:_OWNER)?|REGION)))?|CAMERA_(?:PITCH|DISTANCE|BEHINDNESS_(?:ANGLE|LAG)|(?:FOCUS|POSITION)(?:_(?:THRESHOLD|LOCKED|LAG))?|FOCUS_OFFSET|ACTIVE)|ANIM_ON|LOOP|REVERSE|PING_PONG|SMOOTH|ROTATE|SCALE|ALL_SIDES|LINK_(?:ROOT|SET|ALL_(?:OTHERS|CHILDREN)|THIS)|ACTIVE|PASSIVE|SCRIPTED|CONTROL_(?:FWD|BACK|(?:ROT_)?(?:LEFT|RIGHT)|UP|DOWN|(?:ML_)?LBUTTON)|PERMISSION_(?:RETURN_OBJECTS|DEBIT|OVERRIDE_ANIMATIONS|SILENT_ESTATE_MANAGEMENT|TAKE_CONTROLS|TRIGGER_ANIMATION|ATTACH|CHANGE_LINKS|(?:CONTROL|TRACK)_CAMERA|TELEPORT)|INVENTORY_(?:TEXTURE|SOUND|OBJECT|SCRIPT|LANDMARK|CLOTHING|NOTECARD|BODYPART|ANIMATION|GESTURE|ALL|NONE)|CHANGED_(?:INVENTORY|COLOR|SHAPE|SCALE|TEXTURE|LINK|ALLOWED_DROP|OWNER|REGION(?:_START)?|TELEPORT|MEDIA)|OBJECT_(?:(?:PHYSICS|SERVER|STREAMING)_COST|UNKNOWN_DETAIL|CHARACTER_TIME|PHANTOM|PHYSICS|TEMP_ON_REZ|NAME|DESC|POS|PRIM_EQUIVALENCE|RETURN_(?:PARCEL(?:_OWNER)?|REGION)|ROO?T|VELOCITY|OWNER|GROUP|CREATOR|ATTACHED_POINT|RENDER_WEIGHT|PATHFINDING_TYPE|(?:RUNNING|TOTAL)_SCRIPT_COUNT|SCRIPT_(?:MEMORY|TIME))|TYPE_(?:INTEGER|FLOAT|STRING|KEY|VECTOR|ROTATION|INVALID)|(?:DEBUG|PUBLIC)_CHANNEL|ATTACH_(?:AVATAR_CENTER|CHEST|HEAD|BACK|PELVIS|MOUTH|CHIN|NECK|NOSE|BELLY|[LR](?:SHOULDER|HAND|FOOT|EAR|EYE|[UL](?:ARM|LEG)|HIP)|(?:LEFT|RIGHT)_PEC|HUD_(?:CENTER_[12]|TOP_(?:RIGHT|CENTER|LEFT)|BOTTOM(?:_(?:RIGHT|LEFT))?))|LAND_(?:LEVEL|RAISE|LOWER|SMOOTH|NOISE|REVERT)|DATA_(?:ONLINE|NAME|BORN|SIM_(?:POS|STATUS|RATING)|PAYINFO)|PAYMENT_INFO_(?:ON_FILE|USED)|REMOTE_DATA_(?:CHANNEL|REQUEST|REPLY)|PSYS_(?:PART_(?:BF_(?:ZERO|ONE(?:_MINUS_(?:DEST_COLOR|SOURCE_(ALPHA|COLOR)))?|DEST_COLOR|SOURCE_(ALPHA|COLOR))|BLEND_FUNC_(DEST|SOURCE)|FLAGS|(?:START|END)_(?:COLOR|ALPHA|SCALE|GLOW)|MAX_AGE|(?:RIBBON|WIND|INTERP_(?:COLOR|SCALE)|BOUNCE|FOLLOW_(?:SRC|VELOCITY)|TARGET_(?:POS|LINEAR)|EMISSIVE)_MASK)|SRC_(?:MAX_AGE|PATTERN|ANGLE_(?:BEGIN|END)|BURST_(?:RATE|PART_COUNT|RADIUS|SPEED_(?:MIN|MAX))|ACCEL|TEXTURE|TARGET_KEY|OMEGA|PATTERN_(?:DROP|EXPLODE|ANGLE(?:_CONE(?:_EMPTY)?)?)))|VEHICLE_(?:REFERENCE_FRAME|TYPE_(?:NONE|SLED|CAR|BOAT|AIRPLANE|BALLOON)|(?:LINEAR|ANGULAR)_(?:FRICTION_TIMESCALE|MOTOR_DIRECTION)|LINEAR_MOTOR_OFFSET|HOVER_(?:HEIGHT|EFFICIENCY|TIMESCALE)|BUOYANCY|(?:LINEAR|ANGULAR)_(?:DEFLECTION_(?:EFFICIENCY|TIMESCALE)|MOTOR_(?:DECAY_)?TIMESCALE)|VERTICAL_ATTRACTION_(?:EFFICIENCY|TIMESCALE)|BANKING_(?:EFFICIENCY|MIX|TIMESCALE)|FLAG_(?:NO_DEFLECTION_UP|LIMIT_(?:ROLL_ONLY|MOTOR_UP)|HOVER_(?:(?:WATER|TERRAIN|UP)_ONLY|GLOBAL_HEIGHT)|MOUSELOOK_(?:STEER|BANK)|CAMERA_DECOUPLED))|PRIM_(?:TYPE(?:_(?:BOX|CYLINDER|PRISM|SPHERE|TORUS|TUBE|RING|SCULPT))?|HOLE_(?:DEFAULT|CIRCLE|SQUARE|TRIANGLE)|MATERIAL(?:_(?:STONE|METAL|GLASS|WOOD|FLESH|PLASTIC|RUBBER))?|SHINY_(?:NONE|LOW|MEDIUM|HIGH)|BUMP_(?:NONE|BRIGHT|DARK|WOOD|BARK|BRICKS|CHECKER|CONCRETE|TILE|STONE|DISKS|GRAVEL|BLOBS|SIDING|LARGETILE|STUCCO|SUCTION|WEAVE)|TEXGEN_(?:DEFAULT|PLANAR)|SCULPT_(?:TYPE_(?:SPHERE|TORUS|PLANE|CYLINDER|MASK)|FLAG_(?:MIRROR|INVERT))|PHYSICS(?:_(?:SHAPE_(?:CONVEX|NONE|PRIM|TYPE)))?|(?:POS|ROT)_LOCAL|SLICE|TEXT|FLEXIBLE|POINT_LIGHT|TEMP_ON_REZ|PHANTOM|POSITION|SIZE|ROTATION|TEXTURE|NAME|OMEGA|DESC|LINK_TARGET|COLOR|BUMP_SHINY|FULLBRIGHT|TEXGEN|GLOW|MEDIA_(?:ALT_IMAGE_ENABLE|CONTROLS|(?:CURRENT|HOME)_URL|AUTO_(?:LOOP|PLAY|SCALE|ZOOM)|FIRST_CLICK_INTERACT|(?:WIDTH|HEIGHT)_PIXELS|WHITELIST(?:_ENABLE)?|PERMS_(?:INTERACT|CONTROL)|PARAM_MAX|CONTROLS_(?:STANDARD|MINI)|PERM_(?:NONE|OWNER|GROUP|ANYONE)|MAX_(?:URL_LENGTH|WHITELIST_(?:SIZE|COUNT)|(?:WIDTH|HEIGHT)_PIXELS)))|MASK_(?:BASE|OWNER|GROUP|EVERYONE|NEXT)|PERM_(?:TRANSFER|MODIFY|COPY|MOVE|ALL)|PARCEL_(?:MEDIA_COMMAND_(?:STOP|PAUSE|PLAY|LOOP|TEXTURE|URL|TIME|AGENT|UNLOAD|AUTO_ALIGN|TYPE|SIZE|DESC|LOOP_SET)|FLAG_(?:ALLOW_(?:FLY|(?:GROUP_)?SCRIPTS|LANDMARK|TERRAFORM|DAMAGE|CREATE_(?:GROUP_)?OBJECTS)|USE_(?:ACCESS_(?:GROUP|LIST)|BAN_LIST|LAND_PASS_LIST)|LOCAL_SOUND_ONLY|RESTRICT_PUSHOBJECT|ALLOW_(?:GROUP|ALL)_OBJECT_ENTRY)|COUNT_(?:TOTAL|OWNER|GROUP|OTHER|SELECTED|TEMP)|DETAILS_(?:NAME|DESC|OWNER|GROUP|AREA|ID|SEE_AVATARS))|LIST_STAT_(?:MAX|MIN|MEAN|MEDIAN|STD_DEV|SUM(?:_SQUARES)?|NUM_COUNT|GEOMETRIC_MEAN|RANGE)|PAY_(?:HIDE|DEFAULT)|REGION_FLAG_(?:ALLOW_DAMAGE|FIXED_SUN|BLOCK_TERRAFORM|SANDBOX|DISABLE_(?:COLLISIONS|PHYSICS)|BLOCK_FLY|ALLOW_DIRECT_TELEPORT|RESTRICT_PUSHOBJECT)|HTTP_(?:METHOD|MIMETYPE|BODY_(?:MAXLENGTH|TRUNCATED)|CUSTOM_HEADER|PRAGMA_NO_CACHE|VERBOSE_THROTTLE|VERIFY_CERT)|STRING_(?:TRIM(?:_(?:HEAD|TAIL))?)|CLICK_ACTION_(?:NONE|TOUCH|SIT|BUY|PAY|OPEN(?:_MEDIA)?|PLAY|ZOOM)|TOUCH_INVALID_FACE|PROFILE_(?:NONE|SCRIPT_MEMORY)|RC_(?:DATA_FLAGS|DETECT_PHANTOM|GET_(?:LINK_NUM|NORMAL|ROOT_KEY)|MAX_HITS|REJECT_(?:TYPES|AGENTS|(?:NON)?PHYSICAL|LAND))|RCERR_(?:CAST_TIME_EXCEEDED|SIM_PERF_LOW|UNKNOWN)|ESTATE_ACCESS_(?:ALLOWED_(?:AGENT|GROUP)_(?:ADD|REMOVE)|BANNED_AGENT_(?:ADD|REMOVE))|DENSITY|FRICTION|RESTITUTION|GRAVITY_MULTIPLIER|KFM_(?:COMMAND|CMD_(?:PLAY|STOP|PAUSE|SET_MODE)|MODE|FORWARD|LOOP|PING_PONG|REVERSE|DATA|ROTATION|TRANSLATION)|ERR_(?:GENERIC|PARCEL_PERMISSIONS|MALFORMED_PARAMS|RUNTIME_PERMISSIONS|THROTTLED)|CHARACTER_(?:CMD_(?:(?:SMOOTH_)?STOP|JUMP)|DESIRED_(?:TURN_)?SPEED|RADIUS|STAY_WITHIN_PARCEL|LENGTH|ORIENTATION|ACCOUNT_FOR_SKIPPED_FRAMES|AVOIDANCE_MODE|TYPE(?:_(?:[A-D]|NONE))?|MAX_(?:DECEL|TURN_RADIUS|(?:ACCEL|SPEED)))|PURSUIT_(?:OFFSET|FUZZ_FACTOR|GOAL_TOLERANCE|INTERCEPT)|REQUIRE_LINE_OF_SIGHT|FORCE_DIRECT_PATH|VERTICAL|HORIZONTAL|AVOID_(?:CHARACTERS|DYNAMIC_OBSTACLES|NONE)|PU_(?:EVADE_(?:HIDDEN|SPOTTED)|FAILURE_(?:DYNAMIC_PATHFINDING_DISABLED|INVALID_(?:GOAL|START)|NO_(?:NAVMESH|VALID_DESTINATION)|OTHER|TARGET_GONE|(?:PARCEL_)?UNREACHABLE)|(?:GOAL|SLOWDOWN_DISTANCE)_REACHED)|TRAVERSAL_TYPE(?:_(?:FAST|NONE|SLOW))?|CONTENT_TYPE_(?:ATOM|FORM|HTML|JSON|LLSD|RSS|TEXT|XHTML|XML)|GCNP_(?:RADIUS|STATIC)|(?:PATROL|WANDER)_PAUSE_AT_WAYPOINTS|OPT_(?:AVATAR|CHARACTER|EXCLUSION_VOLUME|LEGACY_LINKSET|MATERIAL_VOLUME|OTHER|STATIC_OBSTACLE|WALKABLE)|SIM_STAT_PCT_CHARS_STEPPED)\bz\b(?:FALSE|TRUE)\bz\b(?:ZERO_ROTATION)\bzª\b(?:EOF|JSON_(?:ARRAY|DELETE|FALSE|INVALID|NULL|NUMBER|OBJECT|STRING|TRUE)|NULL_KEY|TEXTURE_(?:BLANK|DEFAULT|MEDIA|PLYWOOD|TRANSPARENT)|URL_REQUEST_(?:GRANTED|DENIED))\bz5\b(?:TOUCH_INVALID_(?:TEXCOORD|VECTOR)|ZERO_VECTOR)\bz)\b(?:LAND_(?:LARGE|MEDIUM|SMALL)_BRUSH)\ba/  \b(?:ATTACH_[LR]PEC|DATA_RATING|OBJECT_ATTACHMENT_(?:GEOMETRY_BYTES|SURFACE_AREA)|PRIM_(?:CAST_SHADOWS|MATERIAL_LIGHT|TYPE_LEGACY)|PSYS_SRC_(?:INNER|OUTER)ANGLE|VEHICLE_FLAG_NO_FLY_UP|ll(?:Cloud|Make(?:Explosion|Fountain|Smoke|Fire)|RemoteDataSetRegion|Sound(?:Preload)?|XorBase64Strings(?:Correct)?))\bz\b(?:event)\ba+  \b(?:CHARACTER_(?:MAX_ANGULAR_(?:ACCEL|SPEED)|TURN_SPEED_MULTIPLIER)|PERMISSION_(?:CHANGE_(?:JOINTS|PERMISSIONS)|RELEASE_OWNERSHIP|REMAP_CONTROLS)|PRIM_PHYSICS_MATERIAL|PSYS_SRC_OBJ_REL_MASK|ll(?:CollisionSprite|(?:Stop)?PointAt|(?:(?:Refresh|Set)Prim)URL|(?:Take|Release)Camera|RemoteLoadScript))\bz>\b(?:ll(?:GodLikeRezObject|Set(?:Inventory|Object)PermMask))\bz\b(?:print)\bz-\+\+|\-\-|<<|>>|&&?|\|\|?|\^|~|[!%<>=*+\-/]=?r  ú/\*ÚcommentrU   Ústringz\b([a-zA-Z_]\w*)\bz (\d+\.\d*|\.\d+|\d+)[eE][+-]?\d*z(\d+\.\d*|\.\d+)z0[xX][0-9a-fA-F]+r8   z:=?z[,;{}()\[\]]ú\n+r¹   z[^*/]+ú#pushú\*/rW   z[*/]z\\([nt"\\])z\\.z[^"\\]+)r\   r  r  N)7rw   rx   ry   rz   r{   r}   r~   r   r|   r€   r  r  r  Úlsl_keywordsÚ	lsl_typesÚ
lsl_statesÚ
lsl_eventsÚlsl_functions_builtinÚlsl_constants_floatÚlsl_constants_integerÚlsl_constants_integer_booleanÚlsl_constants_rotationÚlsl_constants_stringÚlsl_constants_vectorÚlsl_invalid_brokenÚlsl_invalid_deprecatedÚlsl_invalid_illegalÚlsl_invalid_unimplementedÚlsl_reserved_godmodeÚlsl_reserved_logÚlsl_operatorsr
   r‰   rˆ   r   r“   r   rý   r   r•   rn   r’   r�   r   rŽ   r‘   r   r‹   rŠ   rŒ   r   r   r   r—   r˜   r™   ri   r(   r   r   �  sŽ  „ ñð €DØˆg€GØ�	€IØ�€IØ
F€CØ€Mà�L‰L€Eà>€LØS€IØ3€Jð c€Jð c>ÐØVÐð ebÐØ$9Ð!Ø5Ðð IÐØSÐØEÐð PÐØ*Ðð !OÐØ\ÐØ'ÐØD€Mð
 °'·.±.ÐAØ°'×2CÑ2CÀYÐOØ°&·-±-ÀÐJØ°'Ð:Ø°'·,±,Ð?Ø°$·*±*Ð=Ø°$·,±,Ð?Ø"°$·-±-Ð@Ø °'×2BÑ2BÐCØ"°'×2BÑ2BÐCØ*°'×2BÑ2BÐCØ#°'×2BÑ2BÐCØ!°'×2BÑ2BÐCØ!°'×2BÑ2BÐCØ°%Ð8Ø#°%Ð8Ø °%Ð8Ø&°%Ð8Ø!°'×2BÑ2BÐCØ°'×2BÑ2BÐCØ"¨¯©Ð6Ø0°&·,±,Ð?Ø °&·,±,Ð?Ø!°&·*±*Ð=Ø°&·.±.ÐAØ°(Ð;Ø°%Ð8Ø°+Ð>Ø°*Ð=Ø°*Ð=ð=	
ðD °'×2CÑ2CÐDØ°'×2CÑ2CÀWÐMØ°'×2CÑ2CÀVÐLØ°'×2CÑ2CÐDð		
ð °&·-±-Ð@Ø°&·-±-ÀÐHØ°%Ð8Ø°&·-±-Ð@ð		
ñU0�Fri   r   c                   óì  — e Zd ZdZdZdZdgZdgZdZe	j                  e	j                  z  ZdZdZd	Zd
ZdZdZdZdZdZdZdZdZdZdZdZdefdej<                  fdefdefdej@                  dfde!fd e"ee#jH                  e«      fd e"e%e#jH                  «      fde&fd jO                  d!jQ                  e«      «      e&jR                  fd"jO                  d!jQ                  ed#d#d$…   «      «       e"e%e#jT                  «      fd% e"ee%e«      fd&jO                  d!jQ                  e«      «       e"e%e#jV                  «      fd jO                  d!jQ                  e«      «      e#jX                  fd jO                  d!jQ                  e«      «      e#jH                  fd jO                  d!jQ                  e«      «      e%fd jO                  d!jQ                  e«      «      e%fd jO                  d!jQ                  e«      «      e#jH                  fd'jO                  d!jQ                  e«      «      e#jH                  fd jO                  d!jQ                  e«      «      e#jH                  fd jO                  d!jQ                  e«      «      e#jZ                  fd'jO                  d!jQ                  e«      «      e#jH                  fd jO                  d!jQ                  e«      «      e#jH                  fd jO                  d!jQ                  e«      «      e#jH                  fd(ej\                  fd)e› d*�e#j^                  fd+e0jb                  fd,e0jd                  fgdej@                  d-fd.ej@                  d/fd0ej@                  fd1ej@                  fgd2œZ3y#)3r   zØ
    For AppleScript source code,
    including `AppleScript Studio
    <http://developer.apple.com/documentation/AppleScript/
    Reference/StudioReference>`_.
    Contributed by Andreas Amann <aamann@mac.com>.
    ÚAppleScriptz‚https://developer.apple.com/library/archive/documentation/AppleScript/Conceptual/AppleScriptLangGuide/introduction/ASLR_intro.htmlÚapplescriptz*.applescriptz1.0z[a-zA-Z]\w*)r/  zcurrent applicationrœ   Úlinefeedzmissing valueÚpiÚquoteÚresultrE   ÚspaceÚtabztext item delimitersr›   Úversion)zalias zapplication zboolean zclass z	constant zdate zfile zinteger zlist znumber zPOSIX file zreal zrecord z
reference z
RGB color zscript ztext z
unit typesz(?:Unicode )?textr  )Ú
attachmentzattribute runÚ	characterÚdayÚmonthÚ	paragraphÚwordÚyear)ÚaboutÚaboveÚagainstz
apart fromÚaroundz
aside fromÚatÚbelowÚbeneathÚbesideÚbetweenrA   Úgivenz
instead ofÚonÚontozout ofÚoverÚsince)3zASCII (character|number)ÚactivateÚbeepz
choose URLzchoose applicationzchoose colorzchoose file( name)?zchoose folderzchoose from listzchoose remote applicationzclipboard infozclose( access)?ÚcopyÚcountzcurrent dateÚdelayÚdeletezdisplay (alert|dialog)zdo shell scriptÚ	duplicateÚexistszget eofzget volume settingszinfo forÚlaunchzlist (disks|folder)zload scriptÚlogÚmakezmount volumeÚnewÚoffsetzopen( (for access|location))?zpath toÚprintÚquitzrandom numberÚreadÚroundzrun( script)?Úsayzscripting componentsz!set (eof|the clipboard to|volume)zstore scriptÚ	summarizezsystem attributezsystem infozthe clipboardztime to GMTÚwritezquoted form)z(in )?back ofz(in )?front ofz[0-9]+(st|nd|rd|th)ÚfirstÚsecondÚthirdÚfourthÚfifthÚsixthÚseventhÚeighthÚninthÚtenthÚafterÚbackÚbeforeÚbehindÚeveryÚfrontrr   ÚlastÚmiddleÚsomeÚthatÚthroughÚthruÚwhereÚwhose).r»   r¼   zis equalÚequalsz(is )?equal tozis notzisn'tzisn't equal( to)?zis not equal( to)?zdoesn't equalzdoes not equalz(is )?greater thanzcomes afterzis not less than or equal( to)?zisn't less than or equal( to)?z(is )?less thanzcomes beforez"is not greater than or equal( to)?z!isn't greater than or equal( to)?z"(is  )?greater than or equal( to)?zis not less thanzisn't less thanzdoes not come beforezdoesn't come beforez(is )?less than or equal( to)?zis not greater thanzisn't greater thanzdoes not come afterzdoesn't come afterzstarts? withzbegins? withz
ends? withz	contains?zdoes not containzdoesn't containzis inzis contained byz	is not inzis not contained byzisn't contained byÚdivrg   r½   z(a  )?(ref( to)?|reference to)ÚisÚdoes)Úconsideringr>   ÚerrorÚexitrõ   rB   ÚignoringrC   rD   ÚtellrF   ÚtimesÚtoÚtryrG   zusing terms fromrH   Úwhithzwith timeout( of)?zwith transactionÚbyrÀ   r@   zits?ÚmeÚmyrE   ÚofÚas)ÚglobalÚlocalzprop(erty)?r`   Úget)ÚbutÚputÚ	returningÚthe)1zaction cellzalert replyÚapplicationÚboxzbrowser( cell)?Úbundlezbutton( cell)?Úcellz	clip viewz
color wellzcolor-panelzcombo box( item)?Úcontrolz%data( (cell|column|item|row|source))?zdefault entryzdialog replyÚdocumentz	drag infoÚdrawerÚeventzfont(-panel)?Ú	formatterzimage( (cell|view))?Úmatrixzmenu( item)?Úitemzmovie( view)?z
open-panelzoutline viewÚpanelÚ
pasteboardÚpluginzpopup buttonzprogress indicatorÚ	responderz
save-panelzscroll viewzsecure text field( cell)?ÚsliderÚsoundz
split viewÚstepperztab view( item)?z-table( (column|header cell|header view|view))ztext( (field( cell)?|view))?ztoolbar( item)?zuser-defaultsÚviewÚwindow)tzaccept outline dropzaccept table dropÚactionÚ	activatedzalert endedzawake from nibz
became keyzbecame mainzbegin editingzbounds changedz
cell valuezcell value changedzchange cell valuezchange item valueÚchangedzchild of itemzchoose menu itemÚclickedzclicked toolbar itemÚclosedzcolumn clickedzcolumn movedzcolumn resizedzconclude dropzdata representationÚdeminiaturizedzdialog endedzdocument nib namezdouble clickedz drag( (entered|exited|updated))?Údropzend editingÚexposedÚidlezitem expandablez
item valuezitem value changedzitems changedzkeyboard downzkeyboard upÚlaunchedzload data representationÚminiaturizedz
mouse downzmouse draggedzmouse enteredzmouse exitedzmouse movedzmouse upÚmovedznumber of browser rowsznumber of itemsznumber of rowszopen untitledÚopenedzpanel endedzparameters updatedzplugin loadedzprepare dropzprepare outline dragzprepare outline dropzprepare table dragzprepare table dropzread from filezresigned activezresigned keyzresigned mainzresized( sub views)?zright mouse downzright mouse draggedzright mouse upzrows changedzscroll wheelzselected tab view itemzselection changedzselection changingzshould begin editingzshould closezshould collapse itemzshould end editingzshould expand itemzshould open( untitled)?z'should quit( after last window closed)?zshould select columnzshould select itemzshould select rowzshould select tab view itemzshould selection changezshould zoomÚshownzupdate menu itemzupdate parameterszupdate toolbar itemz
was hiddenzwas miniaturizedzwill become activez
will closezwill dismisszwill display browser cellzwill display cellzwill display item cellzwill display outline cellzwill finish launchingz	will hidezwill miniaturizez	will movez	will openzwill pop upz	will quitzwill resign activezwill resize( sub views)?zwill select tab view itemz	will showz	will zoomzwrite to fileÚzoomed))ÚanimateÚappendzcall methodÚcenterzclose drawerzclose panelÚdisplayzdisplay alertzdisplay dialogzdisplay panelÚgoÚhideÚ	highlightÚ	incrementzitem forz
load imagez
load moviezload nibz
load panelz
load soundzlocalized stringz
lock focusrV  zopen drawerzpath forÚpausezperform actionÚplayÚregisterÚresumeÚscrollzselect( all)?Úshowzsize to fitÚstartz	step backzstep forwardÚstopÚsynchronizezunlock focusrc   (5  zaccepts arrow keyzaction methodÚactiveÚ	alignmentzallowed identifierszallows branch selectionzallows column reorderingzallows column resizingzallows column selectionzallows customizationzallows editing text attributeszallows empty selectionzallows mixed statezallows multiple selectionzallows reorderingzallows undozalpha( value)?zalternate imagezalternate increment valuezalternate titlezanimation delayzassociated file namezassociated objectzauto completeszauto displayzauto enables itemszauto repeatzauto resizes( outline column)?zauto save expanded itemszauto save namezauto save table columnszauto saves configurationzauto scrollzauto sizes all columns to fitzauto sizes cellszbackground colorzbezel statezbezel styleÚbezeledzborder rectzborder typeÚborderedzbounds( rotation)?zbox typezbutton returnedzbutton typezcan choose directorieszcan choose fileszcan drawzcan hidez$cell( (background color|size|type))?Ú
charactersrï   zclick countzclicked( data)? columnzclicked data itemzclicked( data)? rowÚ	closeableÚ	collatingzcolor( (mode|panel))zcommand key downÚconfigurationz#content(s| (size|view( margins)?))?ÚcontextÚ
continuouszcontrol key downzcontrol sizezcontrol tintzcontrol viewzcontroller visiblezcoordinate systemzcopies( on scroll)?zcorner viewzcurrent cellzcurrent columnzcurrent( field)?  editorzcurrent( menu)? itemzcurrent rowzcurrent tab view itemzdata sourcezdefault identifierszdelta (x|y|z)zdestination windowÚ	directoryzdisplay modezdisplayed cellzdocument( (edited|rect|view))?zdouble valuezdragged columnzdragged distancezdragged itemszdraws( cell)? backgroundz
draws gridzdynamically scrollszechos bulletsÚedgeÚeditablezedited( data)? columnzedited data itemzedited( data)? rowÚenabledzenclosing scroll viewzending pagezerror handlingzevent numberz
event typezexcluded from windows menuzexecutable pathÚexpandedz
fax numberzfield editorz	file kindz	file namez	file typezfirst responderzfirst visible columnÚflippedÚfloatingzfont( panel)?rš  zframeworks pathÚ	frontmostzgave upz
grid colorzhas data itemszhas horizontal rulerzhas horizontal scrollerzhas parent data itemzhas resize indicatorz
has shadowzhas sub menuzhas vertical rulerzhas vertical scrollerzheader cellzheader viewÚhiddenzhides when deactivatedzhighlights byzhorizontal line scrollzhorizontal page scrollzhorizontal ruler viewzhorizontally resizablez
icon imageÚidÚ
identifierzignores multiple clicksz;image( (alignment|dims when disabled|frame style|scaling))?zimports graphicszincrement valuezindentation per levelÚindeterminaterr   zinteger valuezintercell spacingzitem heightz+key( (code|equivalent( modifier)?|window))?zknob thicknessr:   zlast( visible)? columnzleading offsetÚleafÚlevelzline scrollÚloadedzlocalized sortÚlocationz	loop modezmain( (bunde|menu|window))?zmarker follows cellzmatrix modezmaximum( content)? sizezmaximum visible columnszmenu( form representation)?Úminiaturizabler°  zminimized imagezminimized titlezminimum column widthzminimum( content)? sizeÚmodalÚmodifiedzmouse down statezmovie( (controller|file|rect))?Úmutedr{   zneeds displayz
next statez	next textznumber of tick markszonly tick mark valuesÚopaquez
open panelzoption key downzoutline table columnzpage scrollzpages acrossz
pages downzpalette labelzpane splitterzparent data itemzparent windowrž  zpath( (names|separator))?Úplayingzplays every framezplays selection onlyrâ   zpreferred edgezpreferred typeÚpressurezprevious textÚpromptÚ
propertieszprototype cellz
pulls downÚratezreleased when closedÚrepeatedzrequested print timezrequired file typeÚ	resizablezresized columnzresource pathzreturns recordszreuses columnsz	rich textz	roll overz
row heightzrulers visiblez
save panelzscripts pathÚ
scrollablezselectable( identifiers)?zselected cellzselected( data)? columns?zselected data items?zselected( data)? rows?zselected item identifierzselection by rectzsend action on arrow keyzsends action when done editingzseparates columnszseparator itemzsequence numberzservices menuzshared frameworks pathzshared support pathÚsheetzshift key downzshows alphazshows state byzsize( mode)?zsmart insert delete enabledzsort case sensitivityzsort columnz
sort orderz	sort typezsorted( data rows)?r¢  zsource( mask)?zspell checking enabledzstarting pageÚstatezstring valuezsub menuz
super menuz
super viewztab key traverses cellsz	tab stateztab typeztab viewz
table viewÚtagztarget( printer)?z
text colorztext container insertztext container originztext returnedztick mark positionz
time stampz+title(d| (cell|font|height|position|rect))?ztool tipÚtoolbarztrailing offsetÚtransparentztreat packages as directoriesztruncated labelsÚtypeszunmodified characterszupdate viewszuse sort indicatorzuser defaultszuses data sourcez
uses rulerzuses threaded animationzuses title from previous columnzvalue wrapsr7  z0vertical( (line scroll|page scroll|ruler view))?zvertically resizabler¤  zvisible( document rect)?ÚvolumeÚwidthr¥  zwindows menuÚwrapsÚzoomabler´  r¹   u   Â¬\nz's\s+z
(--|#).*?$z\(\*r  z
[(){}!,.:]u   (Â«)([^Â»]+)(Â»)zx\b((?:considering|ignoring)\s*)(application responses|case|diacriticals|hyphens|numeric strings|punctuation|white space)u)   (-|\*|\+|&|â‰ |>=?|<=?|=|â‰¥|â‰¤|/|Ã·|\^)z\b({})\br0   z^(\s*(?:on|end)\s+)({})NrÚ   z^(\s*)(in|on|script|to)(\s+)z\b(as )({})\bz
\b({})s?\bú"(\\\\|\\[^\\]|[^"\\])*"z\b(z)\bz&[-+]?(\d+\.\d*|\d*\.\d+)(E[-+][0-9]+)?z[-+]?\d+r  z\*\)rW   z[^*(]+z[*(])r\   r  )4rw   rx   ry   rz   r{   r|   r}   r~   r€   r  r  r  r  ÚIdentifiersÚLiteralsÚClassesÚBuiltInÚHandlerParamsÚCommandsÚ
ReferencesÚ	OperatorsÚControlÚDeclarationsrŽ   ÚStudioClassesÚStudioEventsÚStudioCommandsÚStudioPropertiesr	   r   r—   r
   rˆ   r   r   r   rn   r   r   rå   rÜ   r�   r’   r•   r�   Ú	Attributer“   r‘   r   r‹   rŒ   r˜   r™   ri   r(   r   r   ã  s›  „ ñð €Dð O€CØˆo€GØ Ð!€IØ€Mà�L‰L˜2Ÿ9™9Ñ$€Eà €KðB€HðE€Gð,€Gð0€MðH€HðQ€Jð
H€Ið @€Gð
 D€LØ1€Hð8€Mð +/€LðX
 €Nð}GÐðB �TˆNØ�f—m‘mÐ$Ø�tÐØ˜GÐ$Ø�g×'Ñ'¨Ð3Ø˜KÐ(Ø Ù�d˜DŸL™L¨$Ó/ð1ð9ñ �g˜tŸ|™|Ó,ð.ð :¸8ÐDØ×Ñ §¡¨Ó 3Ó4°h·m±mÐDðß‘V˜CŸH™H \±$°B°$Ñ%7Ó8Ó9Ù�g˜tŸ}™}Ó-ð/ð -©h°t¸WÀdÓ.KÐLØ×$Ñ$ S§X¡X¨gÓ%6Ó7Ù�g˜tŸz™zÓ*ð,à×Ñ §¡¨Ó 2Ó3°T·]±]ÐCØ×Ñ §¡¨Ó 2Ó3°T·\±\ÐBØ×Ñ §¡¨Ó 1Ó2°GÐ<Ø×Ñ §¡¨Ó 6Ó7¸ÐAØ×Ñ §¡¨Ó 2Ó3°T·\±\ÐBØ×!Ñ! #§(¡(¨7Ó"3Ó4°d·l±lÐCØ×Ñ §¡¨Ó 7Ó8¸$¿,¹,ÐGØ×Ñ §¡Ð)9Ó :Ó;¸T¿^¹^ÐLØ×!Ñ! #§(¡(¨=Ó"9Ó:¸D¿L¹LÐIØ×Ñ §¡¨Ó 8Ó9¸4¿<¹<ÐHØ×Ñ §¡¨Ó 4Ó5°t·|±|ÐDØ(¨&¯-©-Ð8Ø�K�= Ð$ d§m¡mÐ4Ø6¸¿¹ÐEØ˜&Ÿ.™.Ð)ðG$
ðL �g×'Ñ'¨Ð1Ø�g×'Ñ'¨Ð0Ø�w×(Ñ(Ð)Ø�W×&Ñ&Ð'ð	
ñM,�Fri   r   c                   ó¾  — e Zd ZdZdZdZddgZg d¢ZdgZdZ	e
j                  Zd	efd
ej                  dfdedfdedfdefd eej(                  eeeej.                  «      fd eej0                  ee«      f ed«       ed«       ed«      defg edd¬«       eej8                  ee«      fgdej:                  fgdefgdefdefdedfdedfgd efd!efd"edfdedfgd#ej                  fd$ej                  dfd%ej                  fgd&œZd'„ Z ed(«      Z  ed)«      Z! ed*«      Z" ed+«      Z# ed,«      Z$ ed-«      Z% ed.«      Z&e d/fe!d0fe"d1fe%d1fe#d1fe$d2fe&d/ffZ'd3„ Z(y4)5r   a  
    Rexx is a scripting language available for
    a wide range of different platforms with its roots found on mainframe
    systems. It is popular for I/O- and data based tasks and can act as glue
    language to bind different applications together.
    ÚRexxzhttp://www.rexxinfo.org/ÚrexxÚarexx)z*.rexxz*.rexz*.rxz*.arexxztext/x-rexxr  r¹   r  r  rU   r±   rR   r¯   z[0-9]+(\.[0-9]+)?(e[+-]?[0-9])?z%([a-z_]\w*)(\s*)(:)(\s*)(procedure)\bz([a-z_]\w*)(\s*)(:)ÚfunctionÚkeywordÚoperatorú	[a-z_]\w*)BÚabbrevÚabsÚaddressÚargÚb2xÚbitandÚbitorÚbitxorÚc2dÚc2xr·  ÚcharinÚcharoutÚcharsÚcompareÚ	conditionÚcopiesÚd2cÚd2xÚdatatypeÚdateÚdelstrÚdelwordÚdigitsÚ	errortextÚformrå   ÚfuzzrÝ   ÚlastposÚleftÚlengthÚlineinÚlineoutÚlinesÚmaxÚminÚoverlayÚposÚqueuedÚrandomÚreverseÚrightÚsignÚ
sourceliner5  ÚstreamÚstripÚsubstrÚsubwordÚsymbolÚtimeÚtraceÚ	translateÚtruncrt   Úverifyr=  Ú	wordindexÚ
wordlengthÚwordposr   Úx2bÚx2cÚx2dÚxrangez	(\s*)(\()rJ   z¸(address|arg|by|call|do|drop|else|end|exit|for|forever|if|interpret|iterate|leave|nop|numeric|off|on|options|parse|pull|push|queue|return|say|select|signal|to|then|trace|until|while)\buŒ   (-|//|/|\(|\)|\*\*|\*|\\<<|\\<|\\==|\\=|\\>>|\\>|\\|\|\||\||&&|&|%|\+|<<=|<<|<=|<>|<|==|=|><|>=|>>=|>>|>|Â¬<<|Â¬<|Â¬==|Â¬=|Â¬>>|Â¬>|Â¬|\.|,)ú[^"\n]+ú""rW   rì   z[^\'\n]+z\'\'z\'z[^*]+r  ú\*)r\   r  r  r  r±   r¯   r  c                 óJ   — t        j                  | t         j                  «      S ©N)r  Úcompiler  )Úss    r(   Ú_czRexxLexer._cp  s   € Ü�z‰z˜!œRŸ\™\Ó*Ð*ri   z^\s*address\s+command\bz^\s*address\s+z^\s*do\s+while\bz^\s*if\b.+\bthen\s+do\s*$z)^\s*([a-z_]\w*)(\s*)(:)(\s*)(procedure)\bz\belse\s+do\s*$z$^\s*parse\s+(upper\s+)?(arg|value)\bçš™™™™™É?gš™™™™™©?çš™™™™™¹?ç      à?c                 óö   ‡— t        j                  d| t         j                  «      ry| j                  d«      rA| j	                  «       Št        ˆfd„t        j                  D «       «      dz   }t        |d«      S y)zs
        Check for initial comment and patterns that distinguish Rexx from other
        C-like languages.
        z/\*\**\s*rexxç      ð?z/*c              3   óJ   •K  — | ]  \  }}|j                  ‰«      r|–— Œ y ­wrN  )Úsearch)Ú.0ÚpatternÚweightÚ	lowerTexts      €r(   Ú	<genexpr>z)RexxLexer.analyse_text.<locals>.<genexpr>�  s*   øè ø€ ð 7Ù2PÑ.˜g vØ#ŸN™N¨9Ô5ô  Ù2Pùs   ƒ #ç{®Gáz„?N)	r  rX  Ú
IGNORECASEÚ
startswithÚlowerÚsumr   ÚPATTERNS_AND_WEIGHTSr0  )rq   r4  r\  s     @r(   Úanalyse_textzRexxLexer.analyse_textƒ  sq   ø€ ô
 �9‰9Ð% t¬R¯]©]Ô;ð Ø�_‰_˜TÔ"ð Ÿ
™
›ˆIÜó 7Ü2;×2PÒ2Pó7ó 7à9=ñ>ˆFô �v˜sÓ#Ð#ð #ri   N))rw   rx   ry   rz   r{   r|   r}   r~   r   r€   r  r_  r  r   r
   rˆ   r   r   r   r   r’   r   r   r�   r–   r   r	   r   rn   rŽ   r˜   rQ  Ú_ADDRESS_COMMAND_PATTERNÚ_ADDRESS_PATTERNÚ_DO_WHILE_PATTERNÚ_IF_THEN_DO_PATTERNÚ_PROCEDURE_PATTERNÚ_ELSE_DO_PATTERNÚ_PARSE_ARG_PATTERNrc  rd  r™   ri   r(   r   r   $  s\  „ ñð €DØ
$€CØ�wÐ€GÚ6€IØ�€IØ€MØ�M‰M€Eð �ZÐ Ø�W×&Ñ&¨	Ð2Ø�6˜?Ð+Ø�6˜?Ð+Ø/°Ð8Ø5Ù�d—m‘m Z°¸:Ø×)Ñ)ó+ð,ð $Ù�d—j‘j *¨hÓ7ð9á�JÓÙ�IÓÙ�JÓØ˜4Ð ð
ñ" ð 
ð #/ô
0ñ �d—l‘l J°Ó9ð;ð
ðð "×*Ñ*ð,ð
ð"à#+ð-ð
ð ˜Ð Ø�FˆOØ�6˜6Ð"Ø�D˜&Ð!ð	
ð ˜&Ð!Ø�fÐØ�F˜FÐ#Ø�D˜&Ð!ð	
ð �w×(Ñ(Ð)Ø�W×&Ñ&¨Ð/Ø�G×%Ñ%Ð&ð
ñm;€Fòz+á!Ð"<Ó=ÐÙÐ+Ó,ÐÙÐ.Ó/ÐÙÐ9Ó:ÐÙÐHÓIÐÙÐ,Ó-ÐÙÐCÓDÐà	! 3Ð'Ø	˜4Ð Ø	˜CÐ Ø	˜3ÐØ	˜cÐ"Ø	˜SÐ!Ø	˜SÐ!ðÐó$ri   r   c                   ó  — e Zd ZdZdZdZdgZddgZdgZdZ	d	d
e
j                  fdefdej                  fdej                  fdefdej"                  fdej$                  j&                  fdefdefdefd eej.                  e«      fdefgiZy)r   z3
    For MOOCode (the MOO scripting language).
    ÚMOOCodezhttp://www.moo.mud.org/z*.mooÚmoocodeÚmooztext/x-moocodez0.9r\   z(0|[1-9][0-9_]*)r÷  z(E_PERM|E_DIV)z((#[-0-9]+)|(\$\w+))zt\b(if|else|elseif|endif|for|endfor|fork|endfork|while|endwhile|break|continue|return|try|except|endtry|finally|in)\bz(random|length)z(player|caller|this|args)r¹   rì   z([!;=,{}&|:.\[\]@()<>?]+)z	(\w+)(\()z(\w+)N)rw   rx   ry   rz   r{   r|   r~   r}   r   r€   r   rŒ   r   r   Ú	ExceptionÚEntityr   rn   r‘   ÚInstancer	   r   r   r’   r˜   r™   ri   r(   r   r   –  sÌ   „ ñð €DØ
#€CØ�	€IØ˜%Ð €GØ!Ð"€IØ€Mð 	à  &§.¡.Ð1à(¨&Ð1à §¡Ð/à$ d§k¡kÐ2ð-à.5ð7ð   §¡Ð.à)¨4¯=©=×+AÑ+AÐBà�TˆNØ�DˆMà)¨8Ð4à™8 D§M¡M°8Ó<Ð=à�tÐð3
ð�Fri   r   c                   óÐ  — e Zd ZdZdZdgZdgZddgZdZdZ	e
j                  e
j                  z  Zd	 eeej"                  ee«      fd
efdej*                  fdej,                  fdej.                  fdefdej0                  fdej2                  fd eej0                  e«      dfd eej4                  e«      df edd¬«      ej8                  f edd¬«      ej:                  fdefdej>                  fd eeej@                  «      fdejB                  fdefdefde"jF                  fd e"jH                  fd!e"jJ                  fd"efgd#ejL                  d$fgd%ej4                  d$fgd&œZ'd'„ Z(y())r   z!
    For Hybris source code.
    ÚHybrisÚhybrisz*.hybztext/x-hybriszapplication/x-hybrisz$https://github.com/evilsocket/hybrisz1.4z>^(\s*(?:function|method|operator\s+)+?)([a-zA-Z_]\w*)(\s*)(\()rí   r  r  z@[a-zA-Z_][\w.]*zo(break|case|catch|next|default|do|else|finally|for|foreach|of|unless|if|new|return|switch|me|throw|try|while)\bzK(extends|private|protected|public|static|throws|function|method|operator)\bzK(true|false|null|__FILE__|__LINE__|__VERSION__|__LIB_PATH__|__INC_PATH__)\bz(class|struct)(\s+)rï   z(import|include)(\s+)ró   )’Ú
gc_collectÚgc_mm_itemsÚgc_mm_usageÚgc_collect_thresholdÚ	urlencodeÚ	urldecodeÚbase64encodeÚbase64decodeÚsha1Úcrc32Úsha2Úmd5Úmd5_fileÚacosÚasinÚatanÚatan2ÚceilÚcosÚcoshÚexpÚfabsÚfloorÚfmodrV  Úlog10ÚpowÚsinÚsinhÚsqrtÚtanÚtanhÚisintÚisfloatÚischarÚisstringÚisarrayÚismapÚisaliasÚtypeofÚsizeofÚtointÚtostringÚfromxmlÚtoxmlÚbinaryÚpackÚloadÚevalÚ	var_namesÚ
var_valuesÚuser_functionsÚdyn_functionsÚmethodsÚcallÚcall_methodÚmknodÚmkfifoÚmountÚumount2ÚumountÚticksÚusleepÚsleepr>  ÚstrtimeÚstrdateÚdllopenÚdlllinkÚdllcallÚdllcall_argvÚdllcloseÚenvÚexecÚforkÚgetpidÚwaitÚpopenÚpcloser  ÚkillÚpthread_createÚpthread_create_argvÚpthread_exitÚpthread_joinÚpthread_killÚ	smtp_sendÚhttp_getÚ	http_postÚhttp_downloadÚsocketÚbindÚlistenÚacceptÚgetsocknameÚgetpeernameÚ
settimeoutÚconnectÚserverÚrecvÚsendÚcloserZ  ÚprintlnÚprintfÚinputÚreadlineÚserial_openÚserial_fcntlÚserial_get_attrÚserial_get_ispeedÚserial_get_ospeedÚserial_set_attrÚserial_set_ispeedÚserial_set_ospeedÚserial_writeÚserial_readÚserial_closeÚxml_loadÚ	xml_parseÚfopenÚfseekÚftellÚfsizeÚfreadÚfwriteÚfgetsÚfcloseÚfileÚreaddirÚpcre_replaceÚsizeÚpopÚunmapÚhasÚkeysr&   r+  Úfindr;  Úreplacero   ÚtrimÚremoveÚcontainsrÜ   rI   rJ   )ÚMethodReferenceÚRunnerÚDllÚThreadÚPipeÚProcessÚRunnableÚCGIÚClientSocketÚSocketÚServerSocketÚFileÚConsoleÚ	Directoryrp  r÷  z'\\.'|'[^\\]'|'\\u[0-9a-f]{4}'rž   rî   z[a-zA-Z_$]\w*z[~^*!%&\[\](){}<>|+=:;,./?\-@]+r
  z0x[0-9a-f]+z[0-9]+L?rì   rÌ   rW   z	[\w.]+\*?)r\   rï   ró   c                 ó@   — d}t        j                  d| «      r|dz  }|S )zQpublic method and private method don't seem to be quite common
        elsewhere.r   z\b(?:public|private)\s+method\br^  )r  rX  )rq   r4  s     r(   rd  zHybrisLexer.analyse_text  s&   € ð ˆÜ�9‰9Ð7¸Ô>Ø�d‰NˆFØˆri   N))rw   rx   ry   rz   r{   r}   r~   r   r|   r€   r  r  r  r  r   r   r   r’   r	   r   r
   r‰   rˆ   Ú	Decoratorr�   r�   Ú	Namespacer   rn   rý   r   ÚCharr  r–   r   r‹   rŠ   rŒ   r•   r˜   rd  r™   ri   r(   r   r   À  sñ  „ ñð €DØˆj€GØ�	€IØ Ð"8Ð9€IØ
0€CØ€Mà�L‰L˜2Ÿ9™9Ñ$€Eð
á# G¨T¯]©]¸DÀ(ÓKðMð ˜$ÐØ˜Ÿ™Ð(Ø˜7×,Ñ,Ð-Ø  $§.¡.Ð1ðBØCJðLðØ$×0Ñ0ð2ð Ø!(×!1Ñ!1ð3à#Ù�g×)Ñ)¨4Ó0°'ð;à%Ù�g×'Ñ'¨Ó.°ð:áð $ð0 -2ô13ð2 �\‰\ð3ñ4 ð =ð FKôLð �\‰\ð	ð
 )¨&Ð1Ø.°·±Ð<Ø"Ù�h §¡Ó/ð1à˜tŸz™zÐ*Ø˜tÐ$Ø/°Ð:Ø5°v·|±|ÐDØ˜VŸZ™ZÐ(Ø˜&Ÿ.™.Ð)Ø�DˆMðy=
ð~ ˜dŸj™j¨&Ð1ð
ð ˜4Ÿ>™>¨6Ð2ð
ñEE€FóNri   r   c                   óì  — e Zd ZdZdZdgZddgZdgZdZdZ	d	Z
d
Zedz   Zdez   dz   Zdez   dz   Zdez   dz   ZdZg d¢Zdej&                  fdefdez   dz   ej,                  dfdez   dz   ej,                  fd eej2                  e«      dfdez   dz    eej2                  e«      f eee¬«       eej8                  e«      feefdez   dz    eej:                  eeeej2                  e«      fdej>                  fd ej@                  fd!e!fd"efedz   efgedz   ej:                  f e"d#«      gdej&                  d#fd"ed#feed#fd!e!d#fedz   efgd$œZ# e$jJ                  d%«      Z& e$jJ                  d&«      Z'd'„ Z(y())r   a/  
    Easytrieve Plus is a programming language for extracting, filtering and
    converting sequential data. Furthermore it can layout data for reports.
    It is mainly used on mainframe platforms and can access several of the
    mainframe's native file formats. It is somewhat comparable to awk.
    Ú
EasytrieveÚ
easytrievez*.eztz*.macztext/x-easytrievez_https://www.broadcom.com/products/mainframe/application-development/easytrieve-report-generatorú2.1r   z
 \'.,():\nÚ*Ú[Ú]Ú(r1   z[^u   [.+\-/=\[\](){}<>;,&%Â¬])äzAFTER-BREAKz
AFTER-LINEzAFTER-SCREENÚAIMÚANDÚATTRÚBEFOREzBEFORE-BREAKzBEFORE-LINEzBEFORE-SCREENÚBUSHUÚBYÚCALLÚCASEÚ
CHECKPOINTÚCHKPzCHKP-STATUSÚCLEARÚCLOSEÚCOLÚCOLORÚCOMMITÚCONTROLÚCOPYÚCURSORÚDÚDECLAREÚDEFAULTÚDEFINEÚDELETEÚDENWAÚDISPLAYÚDLIÚDOÚ	DUPLICATEÚEÚELSEzELSE-IFÚENDzEND-CASEzEND-DOzEND-IFúEND-PROCÚENDPAGEÚENDTABLEÚENTERÚEOFÚEQÚERRORÚEXITÚEXTERNALÚEZLIBÚF1ÚF10ÚF11ÚF12ÚF13ÚF14ÚF15ÚF16ÚF17ÚF18ÚF19ÚF2ÚF20ÚF21ÚF22ÚF23ÚF24ÚF25ÚF26ÚF27ÚF28ÚF29ÚF3ÚF30ÚF31ÚF32ÚF33ÚF34ÚF35ÚF36ÚF4ÚF5ÚF6ÚF7ÚF8ÚF9ÚFETCHzFILE-STATUSÚFILLÚFINALÚFIRSTz	FIRST-DUPÚFORÚGEÚGETÚGOÚGOTOÚGQÚGRÚGTÚHEADINGÚHEXzHIGH-VALUESÚIDDÚIDMSÚIFÚINÚINSERTÚJUSTIFYz
KANJI-DATEzKANJI-DATE-LONGz
KANJI-TIMEÚKEYzKEY-PRESSEDÚKOKUGOÚKUNzLAST-DUPÚLEÚLEVELÚLIKEÚLINEz
LINE-COUNTzLINE-NUMBERÚLINKÚLISTz
LOW-VALUESÚLQÚLSÚLTÚMACROÚMASKÚMATCHEDÚMENDÚMESSAGEÚMOVEÚMSTARTÚNEÚNEWPAGEÚNOMASKÚNOPRINTÚNOTÚNOTEÚNOVERIFYÚNQÚNULLÚOFÚORÚ	OTHERWISEÚPA1ÚPA2ÚPA3z
PAGE-COUNTzPAGE-NUMBERzPARM-REGISTERzPATH-IDÚPATTERNÚPERFORMÚPOINTÚPOSÚPRIMARYÚPRINTÚ	PROCEDUREÚPROGRAMÚPUTÚREADÚRECORDzRECORD-COUNTzRECORD-LENGTHÚREFRESHÚRELEASEÚRENUMÚREPEATÚREPORTzREPORT-INPUTÚRESHOWÚRESTARTÚRETRIEVEzRETURN-CODEÚROLLBACKÚROWÚSÚSCREENÚSEARCHÚ	SECONDARYÚSELECTÚSEQUENCEÚSIZEÚSKIPÚSOKAKUÚSORTÚSQLÚSTOPÚSUMÚSYSDATEzSYSDATE-LONGÚSYSINÚSYSIPTÚSYSLSTÚSYSPRINTÚSYSSNAPÚSYSTIMEÚTALLYzTERM-COLUMNSz	TERM-NAMEz	TERM-ROWSÚTERMINATIONÚTITLEÚTOÚTRANSFERÚTRCÚUNIQUEÚUNTILÚUPDATEÚ	UPPERCASEÚUSERÚUSERIDÚVALUEÚVERIFYÚWÚWHENÚWHILEÚWORKÚWRITEÚXÚXDMÚXRSTz\*.*\nr  Ú&z+\.Úafter_macro_argumentÚ%Ú+z(FILE|MACRO|REPORT)(\s+)Úafter_declarationz(JOB|PARM)(rJ   z+)(\s*)(\.?)(\s*)(PROC)(\s*\n)z[0-9]+\.[0-9]*r  z'(''|[^'])*'r¹   rW   )r\   rß  rÜ  z^\s*\*z	^\s*MACROc                 óŒ  ‡— d}| j                  d«      Šd}d}d}d}d}d}d}ˆfd„}	d„ }
‰r@ |
‰d   «      s |	‰d   «      r* |
‰d   «      sd}‰d= ‰r |
‰d   «      rŒ |	‰d   «      rŒ*t        j                  j                  ‰d   «      r
d}|r¡|dz  }n›‰D ]^  }|j                  «       }t	        |«      d	k\  sŒ"|d   }|rŒ*|s|s|s|d
k(  rd}|dk(  rd}|dk(  sŒDd}ŒG|dk(  rd}ŒO|dk(  rd}ŒW|dk(  sŒ]d}Œ` |r6||k(  r1|r|dz  }|r|r|dz  }n |dz  }n|dz  }|r|dz  }|r|dz  }|r|dz  }d|cxk  rdk  sJ ‚ J ‚|S )zP
        Perform a structural analysis for basic Easytrieve constructs.
        ç        Ú
Fc                 óL   •— t         j                  j                  ‰d   «      d uS )Nr   )r   Ú_COMMENT_LINE_REGEXÚmatch)Úliner.  s    €r(   ÚisCommentLinez3EasytrieveLexer.analyse_text.<locals>.isCommentLine›  s#   ø€ Ü"×6Ñ6×<Ñ<¸UÀ1¹XÓFÈdÐRÐRri   c                 ó6   — t        | j                  «       «       S rN  )Úboolr:  )ræ  s    r(   ÚisEmptyLinez1EasytrieveLexer.analyse_text.<locals>.isEmptyLinež  s   € Ü˜DŸJ™J›LÓ)Ð)Ð)ri   r   Tgš™™™™™Ù?rŸ   ÚPARMÚFILEÚJOBÚPROCr8  r«  rS  gš™™™™™é?rT  g)\�Âõ(¼?rR  r^  rV  )ro   r   Ú_MACRO_HEADER_REGEXrå  rp   )rq   r4  Ú
hasEndProcÚhasHeaderCommentÚhasFileÚhasJobÚhasProcÚhasParmÚ	hasReportrç  rê  ræ  r   Ú	firstWordr.  s                 @r(   rd  zEasytrieveLexer.analyse_text�  sÉ  ø€ ð ˆØ—
‘
˜4Ó ˆØˆ
Ø ÐØˆØˆØˆØˆØˆ	ô	Sò	*ñ ™ U¨1¡XÔ.±-ÀÀaÁÔ2IÙ˜u Q™xÔ(Ø#'Ð Ø�a�ñ ™ U¨1¡XÕ.±-ÀÀaÁÕ2Iô
 ×.Ñ.×4Ñ4°U¸1±XÔ>àˆFÙØ˜#‘‘ó �ØŸ
™
›�Ü˜“J !“OØ % a¡�IÚ$Ù%Ù#*Ù'.Ø'0°FÒ':Ø26¨Ø#,°Ò#6Ø.2 GØ(¨EÓ1Ø)-¡Ø&¨&Ò0Ø&*™GØ&¨*Ò4Ø)-™JØ&¨(Ó2Ø(,™Ið' ñ, ˜7 jÒ0Ù#Ø˜c‘M�FÙÙð  #™™ð  #™™ð ˜d‘N�FÙð  #™˜ÙØ $™˜Ù Ø $™˜Ø�fÔ# Ò#Ð#Ñ#Ð#Ð#Øˆri   N))rw   rx   ry   rz   r{   r}   r~   r   r|   r€   r  Ú_DELIMITERSÚ_DELIMITERS_OR_COMENTÚ_DELIMITER_PATTERNÚ_DELIMITER_PATTERN_CAPTUREÚ!_NON_DELIMITER_OR_COMMENT_PATTERNÚ_OPERATORS_PATTERNÚ	_KEYWORDSr
   r‰   r   r   r‘   r   r   r�   r   r   rŽ   r’   r   r‹   rŒ   r   r   r˜   r  rO  rä  rï  rd  r™   ri   r(   r   r     s:  „ ñð €DØˆn€GØ˜'Ð"€IØ$Ð%€IØ
k€CØ€MØ€Eð  €KØ'¨#Ñ-ÐØ˜{Ñ*¨SÑ0ÐØ!$Ð'9Ñ!9¸CÑ!?ÐØ(,Ð/DÑ(DÀsÑ(JÐ%Ø6Ðò!€IðJ ˜Ÿ™Ð'Ø�ZÐ àÐ5Ñ5¸Ñ>ÀÇÁØ#ð%ð Ð5Ñ5¸Ñ<¸d¿m¹mÐLØ(Ù�g×)Ñ)¨:Ó6Ð8KðMà!Ð$6Ñ6¸Ñ=Ù�g×)Ñ)¨8Ó4ð6á�9Ð%?Ô@Ù�g×&Ñ&¨Ó1ð3à Ð*àÐ5Ñ5Ð8YÑYÙ�d—m‘m Z°¸:Ø×)Ñ)¨:ó7ð8ð  §¡Ð-Ø˜Ÿ™Ð'Ø˜fÐ%Ø�ZÐ à.°Ñ5°tÐ<ð1ð6 /°Ñ5°t·}±}ÐEÙ�F‹Oð
ð
 ˜Ÿ™¨Ð/Ø�Z Ð(Ø ¨6Ð2Ø˜f fÐ-à.°Ñ5°tÐ<ð!
ñ?'€FðP %˜"Ÿ*™* YÓ/ÐØ$˜"Ÿ*™* \Ó2ÐóOri   r   c                   óˆ  — e Zd ZdZdZdgZdgZdgZdZdZ	e
j                  Zdej                  fd	ej                   d
fdej                   dfdefgdedfd eej*                  eej,                  e«      dfdej.                  dfdedfgdej,                  df ed«      gdedfdedfdedfgdej2                  fdefdefdefdej:                  fdej:                  fdej<                  fded fd!ed"fd#efg
d$ ee ej                   «      fd%efd&efdedfgd'ej                  fgd(œZ! e
jD                  d)e
j                  «      Z#d*„ Z$y+),r    zí
    Job Control Language (JCL)
    is a scripting language used on mainframe platforms to instruct the system
    on how to run a batch job or start a subsystem. It is somewhat
    comparable to MS DOS batch and Unix shell scripts.
    ÚJCLÚjclz*.jclz
text/x-jclz2https://en.wikipedia.org/wiki/Job_Control_Languager  z//\*.*\nz//Ú	statementr  Újes2_statementz.*\nz\s*\nrW   z([a-z]\w*)(\s+)(exec|job)(\s*)Úoptionz[a-z]\w*Ústatement_commandr¹   zW\s+(command|cntl|dd|endctl|endif|else|include|jcllib|output|pend|proc|set|then|xmit)\s+r  zR\b(jobparam|message|netacct|notify|output|priority|route|setup|signoff|xeq|xmit)\brL  z[\[\](){}<>;,]z	[-+*/=&%]r  z\d+\.\d*z\.\d+r8   rR   Úoption_stringz[ \t]+Úoption_commentz\.z(\n)(//)z''z[^']z.+)r\   r  r  r  r  r  r  z*^//[a-z#$@][a-z0-9#$@]{0,7}\s+job(\s+.*)?$c                 ó°   — d}| j                  d«      }t        |«      dkD  r$t        j                  j	                  |d   «      rd}d|cxk  rdk  sJ ‚ J ‚|S )z.
        Recognize JCL job by header.
        rá  râ  r   rV  )ro   rp   r    Ú_JOB_HEADER_PATTERNrå  )rq   r4  r.  s      r(   rd  zJclLexer.analyse_text&  s]   € ð ˆØ—
‘
˜4Ó ˆÜˆu‹:˜Š>Ü×+Ñ+×1Ñ1°%¸±(Ô;Ø�Ø�fÔ# Ò#Ð#Ñ#Ð#Ð#Øˆri   N)%rw   rx   ry   rz   r{   r}   r~   r   r|   r€   r  r_  r  r
   r‰   r   rþ   r   r   r   r   r–   rŽ   r‘   r   rn   r   r   r   r‹   rŒ   r   r	   r˜   rO  r	  rd  r™   ri   r(   r    r    ß  sè  „ ñð €DØˆg€GØ�	€IØ�€IØ
>€CØ€Mà�M‰M€Eð ˜'Ÿ.™.Ð)Ø�G—N‘N KÐ0Ø�W—^‘^Ð%5Ð6à�eÐð
ð �z 6Ð*Ø.Ù�d—j‘j *¨g×.>Ñ.>À
ÓKØðð ˜$Ÿ-™-Ð)<Ð=Ø�ZÐ!4Ð5ð
ð3Ø4;×4DÑ4DÀhðPá�HÓð
ð �z 6Ð*Ø�G˜XÐ&ð*Ø+2°Hð>ð
ð �D—L‘LÐ!Ø Ð,Ø˜8Ð$Ø˜4Ð Ø˜&Ÿ,™,Ð'Ø�v—|‘|Ð$Ø�V—^‘^Ð$Ø�6˜?Ð+Ø˜
Ð$4Ð5Ø�KÐ ð
ð ™( 4¨¯©Ó8Ð9Ø�FˆOØ�fÐØ�6˜6Ð"ð	
ð �G—N‘NÐ#ð
ñ]2€Fðh %˜"Ÿ*™*Ð%RØ%'§]¡]ó4Ðó
ri   r    c                   óŠ  — e Zd ZdZdZdZddgZdgZddgZd	Z	d
e
j                  f ed«      gde
j                  fdefdefdefdefdefdedfdefdef edd¬«      ef edd¬«      ej,                  fdej.                  fdej0                  fdej,                  j2                  fdej4                  fgdefdefded fded fgd!œZy")#r!   z%
    For MiniScript source code.
    Ú
MiniScriptzhttps://miniscript.orgÚ
miniscriptÚmsz*.msztext/x-minicriptzapplication/x-miniscriptz2.6rë   r4   z//.*$r6   r7   r8   rì   rí   rU   r±   z(==|!=|<=|>=|[=+\-*/%^<>.:])z[;,\[\]{}()])r<   rÀ   r>   r@   rA   r  rB   rC   ÚisarF   rD   rE   rH   rI   rJ   )-r  rƒ  r„  r…  r‡  Úcharrˆ  rŒ  rV  r]  Úrndr2  r7  r�  r’  Ústrr“  ÚhasIndexÚindexOfrp   ÚvalÚcoderý  ra  Úupperrû  ro   Úindexesr&   rÜ   rb  ÚsortÚshuffleÚpushrö  ÚpullrÛ   rZ  rÛ  r>  rÀ  ÚlocalsÚglobalsÚouterÚyieldz(true|false|null)\bz(and|or|not|new)\bz(self|super|__isa)\brÌ   rJ  rK  rW   )r\   r4   r±   N)rw   rx   ry   rz   r{   r|   r}   r~   r   r€   r
   r‡   r   r‰   r   r	   r   r   r   r   r   r   rn   r�   r�   rþ   r‘   r˜   r™   ri   r(   r!   r!   3  sL  „ ñð €DØ
"€CØ˜TÐ"€GØ�€IØ#Ð%?Ð@€IØ€Mð ˜'Ÿ/™/Ð*Ù�F‹Oð
ð
 �g—n‘nÐ%Ø3°VÐ<Ø  &Ð)Ø�VÐØ�DˆMØ˜$ÐØ�6˜?Ð+Ø,¨hÐ7Ø˜kÐ*Ùð BàJOôQð ðñ ð ð "'ô(ð �\‰\ðð $ W×%5Ñ%5Ð6Ø" H§M¡MÐ2Ø$ d§l¡l×&9Ñ&9Ð:Ø˜dŸm™mÐ,ð5
ð: ˜Ð Ø�FˆOØ�6˜6Ð"Ø�D˜&Ð!ð	
ñC'�Fri   r!   )(rz   r  Úpygments.lexerr   r   r   r   r   r   Úpygments.tokenr	   r
   r   r   r   r   r   r   r   r   r   Úpygments.utilr   r   Ú__all__r)   r   r¤   rµ   r   r   r   r   r   r   r   r   r   r    r!   r™   ri   r(   Ú<module>r$     sô   ðñó 
÷
÷ 
÷2÷ 2÷ 2ñ 2ç 4ò=€ò
>ô_&ˆzô _&òB.ò,GôW&�
ô W&ôrO&�hô O&ôd?�jô ?ôDQˆzô Qôh~�zô ~ôB
o$�
ô o$ôd'�:ô 'ôT[�*ô [ô~}�jô }ô@Qˆzô Qôh3�jõ 3ri   