� H�g<?����dZddlZddlmZmZmZmZmZmZddl m Z m Z m Z m Z mZmZmZmZmZmZmZddlmZmZgd�Zd�ZGd�d e��Zd �Zd �ZGd �d e��ZGd�de��ZGd�de��ZGd�de��Z Gd�de��Z!Gd�de��Z"Gd�de��Z#Gd�de��Z$Gd�de��Z%Gd�de��Z&Gd �d!e��Z'dS)"z� pygments.lexers.scripting ~~~~~~~~~~~~~~~~~~~~~~~~~ Lexer for scripting and embedded languages. :copyright: Copyright 2006-2025 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�J�ddlm}d�|���D��S)Nr��MODULESc��g|] }|D]}|��� S�r&)�.0�values�ws �i/home/asafur/pinokio/api/open-webui.git/app/env/lib/python3.11/site-packages/pygments/lexers/scripting.py� <listcomp>z$all_lua_builtins.<locals>.<listcomp>s%�� =� =� =�&�f� =� =��A� =� =� =� =�)�pygments.lexers._lua_builtinsr$r(r#s r*�all_lua_builtinsr.s2��5�5�5�5�5�5� =� =�G�N�N�,�,� =� =� =�=r,c���eZdZdZdZdZdgZddgZddgZd Z d Z d Z d Z d e �de �de �d�Z dZdejfed��ge ejfe ejfe efged��dejfdejfdejfdejfdefdedfdefdefdefdejfdejfd ejd!fd"ej fd#ej!fd$ejd%fe"e#��d&�'��e$j%fd(e �d)�e$j&d*fd(e �d+�e$j'fd,e$j&fd-eje(d.d/��fd0ej)e(d.d1��fged��d2ed3fd4efe�d5e �d)�e$j*fe�d5e �d+�e$j'd3fee$j*d3fged��d4efe�d5e �d)�e$j+fee$j'd3fd6ed3fged��ee$j,d3fged��ded3fee$j,fgd7ej-fgd-ejd3fd8ejfgd0ej)d3fd9ej)fgd:� Z.d;�Z/d<�Z0d=S)>ra� 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', ...] �Luazhttps://www.lua.org/�luaz*.luaz*.wluaz text/x-luazapplication/x-lua��-(?:--\[(?P<level>=*)\[[\w\W]*?\](?P=level)\])� (?:--.*$)z(?:\s+)z(?:�|�)z(?:[^\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)\bzE(break|do|else|elseif|end|for|if|in|repeat|return|then|until|while)\bzgoto\b�gotoz (local)\b�(true|false|nil)\bz (function)\b�funcname�\b��suffixz[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]+\})�[^\\']+�[^\\"]+) �rootr9r8rGrBr@r>rJrKrMc �<�t|dd��|_t|dg��|_t ��|_|jrCddlm}|���D](\}}||jvr|j� |���)tj |fi|��dS)N�func_name_highlightingT�disabled_modulesrr#) rrUrrV�set� _functionsr-r$�items�updater�__init__)�self�optionsr$�mod�funcs r*r[zLuaLexer.__init__�s���&2� �-�t�'5�'5��#� ,�W�6H�"� M� M����%�%��� � &� 1� =� =� =� =� =� =�$�]�]�_�_� 1� 1� ��T��d�3�3�3��O�*�*�4�0�0�0����D�,�,�G�,�,�,�,�,r,c#�`K�tj||��D]�\}}}|tjurz||jvrqd|vr`|�d��\}}|t|fV�|t |��ztdfV�|t |��zdzt|fV�n |t|fV���|||fV���dS)N�.�)r�get_tokens_unprocessedr �BuiltinrX�split�lenr)r\�text�index�token�value�a�bs r*rczLuaLexer.get_tokens_unprocessed�s������1�$��=�=� &� &� �E�5�%��� �$�$��d�o�)E�)E��%�<�<� �;�;�s�+�+�D�A�q���q�.�(�(�(��#�a�&�&�.�+�s�:�:�:�:��#�a�&�&�.�1�,�d�A�5�5�5�5�5���u�,�,�,�,�����%� %� %� %� %� &� &r,N)1�__name__� __module__� __qualname__�__doc__�name�url�aliases� filenames� mimetypes� version_added�_comment_multiline�_comment_single�_space�_s�_namer �Preprocr� Multiline�Singlerrr�Hex�Float�Integerrrr �Wordr �Reserved� Declaration�Constantrr.r rd�Variable�Functionr�Double�Property�Class�Label�Escape�tokensr[rcr&r,r*rrsn��������, �D� �C��g�G��(�#�I��2�3�I��M�I��"�O� �F� @�"� @� @�_� @� @�v� @� @� @�B� �E� �g�o� &� �G�F�O�O� �  ��!2� 3� �g�n� -� �Z� � � �G�D�M�M� 7��� D� 3�V�\� B� �&�,� /� �V�^� $�&�v� .� �K�� )� �{� #� &�� 1� �� -� �� � .��!�*� ,� ��(�&� 1� �7�.� /� "�G�$4� 5� �g�.� � ;� �U�#�#�%�%�e� 4� 4� 4�d�l� C� *�� *� *� *�D�M�9� E� (�� (� (� (�$�-� 8� �d�m� ,� �&�-���.�%�!@�!@� A� �&�-���.�%�!@�!@� A�?  �F �G�D�M�M� �h�� '� �k� "�� %� %�2� %� %� %�t�}� 5�� #� #�2� #� #� #�T�]�F� ;� �D�M�6� *�  � �G�D�M�M� �k� "�� %� %�2� %� %� %�t�z� 2� �D�M�6� *� �K�� (�  � �G�D�M�M� �D�J�� '� � �G�D�M�M� �K�� (� �D�J� � �#�$*�M� 3� � �6�=�&� )� ��� '� � �6�=�&� )� ��� '� �iX�X�F�t -� -� -� &� &� &� &� &r,rc ��dtjdfdtjdfdtjdft dd���t jdfdtdfd tttj ��dfd tttj ��dfd |�d �tj dfd tdfg }|r|Sd�|D��S)Nz0[xX][\da-fA-F_]*rNz 0[bB][\d_]*z,\.?\d[\d_]*(?:\.[\d_]*)?(?:[eE][+-]?[\d_]+)?)�true�false�nilrCrDz\[(=*)\[[.\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*)*c�"�g|] }|dd��� S)N�r&�r'�entrys r*r+z)_luau_make_expression.<locals>.<listcomp>�s �� -� -� -�%�E�"�1�"�I� -� -� -r,)rr�Binr�rr r�rrrr r�r�r)� should_poprz� temp_lists r*�_luau_make_expressionr��s��� �v�z�6�2� ���V�,� 8�&�,��O� � �� � � �!�*�F� 4� "�6�6�2� ,�h�{�D�M�.R�.R�TZ�[� ���d�m� D� D�f�M� =�r� =� =� =�t�z�6�R� +�T�6�:��I�"���� -� -�9� -� -� -�-r,c��dtdfdtdfdtdfdtjdfd tjd fd tjd fg}|r|Sd �|D��S)N�\{)rN�closing_brace_base� expressionrP�rN�closing_parenthesis_baser�z::?�rN�type_end� type_startrI�rN� string_singlerL�rN� string_double�`)rN�string_interpolatedc�L�g|]!}|d|d|ddd�f��"S)rrbr�Nr&r�s r*r+z1_luau_make_expression_special.<locals>.<listcomp>�s3�� F� F� F�5�U�1�X�u�Q�x��q��!�"�"�� .� F� F� Fr,)rrr~r��Backtick)r�r�s r*�_luau_make_expression_specialr��su�� � �I�J� � �O�P� ��@�A� �v�}�7�8� �v�}�7�8� �v�� ?�@� �I����� F� F�I� F� F� F�Fr,c��eZdZdZdZdZdgZdgZdZdZ dZ d � e e d ��Z id d e jd fed ��g�de e jfe e jfd efg�d ed��ged���def�de �d�ejdf�de �d�ejf�dedf�dedf�edd���ejdf�edd���ejdf�dejdf�dejdf�def�ed ���ede ���d!edf��d ed"d���ejfg�ded��d#ejd$fdejfged%���ded&f�dejd'f�ed ���ed%e ���ed&����d(ed��d)ejd&fed*d���ejdfed&��g�d+d,ed&fg�d-d.ed&fg�d/d0ed&fg�d1ed-��ed ��g�d2ed-��ed3��g�d4ed+��ed ��g�d5ed+��ed3��g�d6ed/��ed3��g�d7d8ejfd9ejfg�d:ed7��d;ejd&fd<ejfg�d=ed7��d>ejd&fd?ejfg�ed7��d@edAfdBej d&fdCej fged��dDefdEe �dF�e!j"fdGe!j#fdHed6fdIed&fged��dIed2fd@ed5fdHed6fd;ejd:fd>ejd=fdJefdKefdLe!j$dMfdGe!j"fg ed��dIedNfd@edOfdHedPfd;ejdQfd>ejdRfdLe!j$dSfdGe!j"d&fged��dTedUfdKedUfdHed6fed&��ged��dGe!j"fdHed6fdVedWfgdX��Z%dY�Z&dZ�Z'd[S)\ra 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. �Luauzhttps://luau-lang.org/�luauz*.luauz2.18r3r4z (?:{}|{}|{})�\s+rSr7r8r9Fz\.\.\.z type\b(?=z +[a-zA-Z_])�type_declarationz export\b(?=z(?:\.\.|//|[+\-*\/%^<>=])=?r�z~=)�and�or�notrCrD)�elseif�for�if�in�repeat�return�until�whilezlocal\bz function\b)r�� func_namez[\])};]+�expression_staticz[\[.,])�break�continue�do�elser��endr�r�r�r�r��thenr�r�zif\b)�ternaryr�TrNr�r�zelse\b)r�r��closing_brace_popz\}�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�rIrQr�rLrRr�)r�r�r�z [^\\`\{]+rOz[a-zA-Z_]\w*(?=rF� [a-zA-Z_]\w*�<rPz[|&\.,\[\]:=]+z->ztypeof\()r�r�)rNr�)rNr�)rNr�r�r�r�z[|&\.]r��=r�)r�r�r�r�r�r�c �2�t|dd��|_t|dd��|_t|dg��|_t|dg��|_t |j��|_|jr ddlm }|j� |��|jr dd lm }|j� |��|jr|j� |j��|j� |j��tj|fi|��dS) N�include_luau_builtinsT�include_roblox_builtinsF�additional_builtins�disabled_builtinsr)� LUAU_BUILTINS)�ROBLOX_BUILTINS)rr�r�rr�r�rW� _builtins�pygments.lexers._luau_builtinsr�rZr��difference_updaterr[)r\r]r�r�s r*r[zLuauLexer.__init__�s5��%1� �,�d�&4�&4��"�'3� �.��(7�(7��$�#/��9N�PR�#S�#S�� �!-�g�7J�B�!O�!O����T�5�6�6��� � %� 1� D� D� D� D� D� D� �N� !� !�-� 0� 0� 0� � '� 3� F� F� F� F� F� F� �N� !� !�/� 2� 2� 2� � #� <� �N� !� !�$�":� ;� ;� ;� ��(�(��)?�@�@�@���D�,�,�G�,�,�,�,�,r,c#�K�tj||��D�]k\}}}|tus|tju�rE|�d��}g}|}t t |��dd��D]}d�|d|���} | |jvr8|tj | fV�|t | ��z }|r|tdfV�|dz }n |� d||dz ����t|��D]|\}} |dzt |��kr-|tur|tj | fV��6|tj| fV��H|tj | fV�|t | ��z }|tdfV�|dz }�}��d|||fV���mdS)Nrar�����rb)rrcr rre�rangerf�joinr�rdr�insert� enumerater�r�) r\rgrhrirj� split_value�complete_value� new_index�position�potential_string� substrings r*rcz LuauLexer.get_tokens_unprocessed�s������1�$��=�=� &� &� �E�5�%���}�}���� 3� 3�#�k�k�#�.�.� �!#��!� � %�c�+�&6�&6��2� >� >� H� H�H�'*�x�x� �I�X�I�0F�'G�'G�$�'�4�>�9�9�#�T�\�3C�C�C�C�C�!�S�)9�%:�%:�:� �)�+�"+�[�#�"=�=�=�=�%��N�I���"�)�)�!�[��A��-F�G�G�G�G�+4�^�+D�+D� #� #�'�H�i��!�|�s�>�':�':�:�:� �D�=�=�"+�T�]�I�"E�E�E�E�$�'��� �A�A�A�A� �#�T�]�I�=�=�=�=���Y���/�I�#�[�#�5�5�5�5���N�I�I�����%� %� %� %� %�? &� &r,N)(rmrnrorprqrrrsrtrvrwrx�formatrzr �Hashbangrr}r~rrr�rr r�r rr�r�r�rr�r�r�r r�r�rdr�r[rcr&r,r*rr�s>��������" �D� "�C��h�G�� �I��M�I��"�O� � � � 2�O�V� L� L�B�A�� �g�&�� /� �G�F�O�O� �A� � ��!2� 3� �g�n� -� �Z� � � A� � �G�D�M�M� �+� *�5� 1� 1� �� � $�  � *�"� )� )� )�7�+;�=O� P�  �,�B� +� +� +�W�-=� >� �,�X�|� D� ��H�l� +� ��U������&�m�\� ;� � �U��!&�(�(�(�)0�)9�<� I�! �&��,�l� ;�' �*�G�,�.I� J�+ �.�+� &�/ �2 �G�'� (� (�3 �4#� "�5�"� -� -�5 �8� �\� 2�9 �A�T � �U�J����� '�/� 1� �UA�` � �G�D�M�M� �g�&�(A� B� ��,� -�  � +� *�4� 0� 0�  �� �V� ,� ��G�,�k� :� � �G�'� (� (� �#� "�4�� ,� ,� � �G�F�O�O� �aA�@ � �G�D�M�M� ��(�&� 1� �U������&�/�� ?� �G�F�O�O�  �AA�V � �K�� (� �WA�\ "� �K�� (�$ �]A�b � �;�� '� �cA�j #� �G�-� .� .� �G�F�O�O�% �kA�r #� �G�-� .� .� �G�F�O�O�% �sA�z � �G�'� (� (� �G�F�O�O� �{A�B � �G�'� (� (� �G�F�O�O� �CA�J � �G�$� %� %� �G�F�O�O� �KA�T � �� � &�#�$*�M� 3� �UA�^ � �G�O� $� $� �6�=�&� )� ��� '�  �_A�j � �G�O� $� $� �6�=�&� )� ��� '�  �kA�x �G�O� $� $� �K�!E� F� �6�?�F� +� �6�?� +�  � �G�D�M�M� �k� "� *�� *� *� *�D�J� 7� �d�m� ,� �;� 1� 2� �K�� (�  � �G�D�M�M� �K�!;� <� �K�!5� 6� �;� 1� 2� �6�=�/� 2� �6�=�/� 2� � � ,� �K� � �$�,�)7� 8� �d�j� )� �$ �G�D�M�M� �K�!E� F� �K�!?� @� �;� ;� <� �6�=�";� <� �6�=�";� <� �$�,�)7� 8� �d�j�&� 1�  � �G�D�M�M� � �\� 2� �K�� .� �;� 1� 2� �G�F�O�O�  � �G�D�M�M� �d�j� )� �;� 1� 2� �;� B� C�  �sA�A�A�F�F-�-�-�* &� &� &� &� &r,rc�d�eZdZdZdZdZddgZdgZddgZd Z d e j fe d ��gd e j fd ejfdejfdejfdejfdefdefdefdejfdejfdefdefdejfdejfedd���efdejfdejfdejj fd ejj!fd!ej!fee"��d���ejfd"efd#ej e#d$d%��fd&ej$e#d$d'��fgd(ej%fgd#ej d)fd*efgd&ej$d)fd+efgd,�Z&d-�Z'd.S)/rz% For MoonScript source code. � MoonScriptzhttp://moonscript.org� moonscript�moonz*.moonztext/x-moonscriptzapplication/x-moonscriptz1.5�#!(.*?)$r8z--.*$r:r;z(?i)0x[0-9a-f]*r<�\n�[^\S\n]+r=z(->|=>)z :[a-zA-Z_]\w*z/(==|!=|~=|<=|>=|\.\.\.|\.\.|[=+\-*/%^<>#!.\\:])z[;,]z [\[\]{}()]� [a-zA-Z_]\w*:)�class�extendsr�r��superr��with�import�exportr�r�r�r�r��from�when�usingr�r�r�r��switchr�rCrDrAr?z(self)\bz@@?([a-zA-Z_]\w*)?z[A-Z]\w*rHrIrJrKrLrMz\\([abfnrtv\\"']|\d{1,3})rNz[^']+z[^"]+)rSr8rJrKrMc#�K�t�||��D]%\}}}|tkr |dkrt}|||fV��&dS)Nra)rrcrr )r\rgrhrirjs r*rcz&MoonScriptLexer.get_tokens_unprocessed-sd����#+�#B�#B�4��#N�#N� &� &� �E�5�%�� �#�#��� � � �����%� %� %� %� %� &� &r,N)(rmrnrorprqrrrsrtrurvr r|rr~rr�rr�rr rr r�r�r rr �Typerr�r�rd�Pseudor�r.rr�r�r�rcr&r,r*rr�s�������� �D� !�C��V�$�G�� �I�$�&@�A�I��M��'�/� *� �G�F�O�O� � �g�n� %� 3�V�\� B� �&�,� /� ��� ,� �V�^� $� �J� � �$� � %�v� .� ��� '� �t�}� -� ?�� J� �k� "� �G�L� )� �t�}� -� �U��"'� (�(�(� �  � #�G�$4� 5� �� � .� �$�,�-� .� "�D�M�$7� 8� �$�*� %� �U�#�#�%�%�e� 4� 4� 4�d�l� C� �d� #� �&�-���.�%�!@�!@� A� �&�-���.�%�!@�!@� A�; �@.�v�}� =� ��&�-�� (� �f� � � �&�-�� (� �f� � �W/�/�F�b&�&�&�&�&r,rc�<�eZdZdZdZdZddgZdgZddgZd Z e j e j zZ d efd ejfd ejfd ejfged��dejdfdedfed��gdedfged��defdefdedfdedfdefdefdedfdejdfdejfdejfdejfdejfd ejfd!ej fd"ej!fd#ej"fd$ej#d%fd&ejfgd'ej$fd(ej#fd)ej#fd*ej#fd+ej#fd$ej#dfgd,�Z%d-S).rz% For ChaiScript source code. � ChaiScriptzhttp://chaiscript.com/� chaiscript�chaiz*.chaiztext/x-chaiscriptzapplication/x-chaiscript�2.0r��//.*?\n� /\*.*?\*/z^\#.*?\n�commentsandwhitespacez3/(\\.|[^[/\\\n]|\[(\\.|[^\]\\\n])*])+/([gim]+\b|\B)rNz(?=/))rN�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]?z0x[0-9a-fA-F]+�[0-9]+rL�dqstringz'(\\\\|\\[^\\]|[^'\\])*'z \$\{[^"}]+?\}�\$z\\\\z\\"z[^\\"$]+)rrrrSr N)&rmrnrorprqrrrsrtrurv�re�DOTALL� MULTILINE�flagsr r r~r}rr�Regexrr rr r�r�r�r rdrrr�rr�r��Interpolr�r&r,r*rr5s��������� �D� "�C��V�$�G�� �I�$�&@�A�I��M� �I�� � $�E��T�N� ��� (� �7�,� -� �'�.� )� " � �G�+� ,� ,��%�|�V� 5� �t�1� 2� �G�F�O�O�  ��D�&� !� � �G�+� ,� ,� �D�M� �$� �1�2:�<N� P� �+�'9� :� �� %� �(� #���0� 2���,�.@� A� �'�"2� 3� �� 0� 1� �� � -� �t�|� $� �t�z� *� 5�v�|� D� �� � +� ��� '� �6�=�*� -� (�&�-� 8�- �2�v�� /� �F�M� "� �f�m� $� �V�]� #� �&�-� (� �6�=�&� )�  �S1�1�F�F�Fr,rc��eZdZdZdZdgZdgZdgZdZdZ e j Z dZ d Zd Zd Zd Zd ZdZdZdZdZdZdZdZdZdZdZdZdZdej fdej!dfde"j#dfe e$fee$j%fee&j'fee&j(fee&j)fee$j*fee$j*fee$j*fee$j*fee$j*fee$j*fee+fee+fee+fee+fee$j,fee$j,fde&j-fd e.j/fd!e.j/fd"e.j0fd#e.j1fee2fd$e+fd%e3fd&e4fd'e4fgd(ej!fdej!d)fd*ej!d+fd,ej!fgd-e"j5fde"j#d+fd.e+fd/e"j#fgd0�Z6d1S)2rzB For Second Life's Linden Scripting Language source code. �LSL�lslz*.lslz text/x-lslz:https://wiki.secondlife.com/wiki/Linden_Scripting_Languagerz(\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�/\*�commentrL�stringz\b([a-zA-Z_]\w*)\bz (\d+\.\d*|\.\d+|\d+)[eE][+-]?\d*z(\d+\.\d*|\.\d+)z0[xX][0-9a-fA-F]+r<z:=?z [,;{}()\[\]]�\n+r�z[^*/]+�#push�\*/rNz[*/]z \\([nt"\\])z\\.z[^"\\]+)rSrrN)7rmrnrorprqrsrtrurrrvr rr� 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}rr�r r�r r�rdr�r�rr�r�rr�rr�r rrr�r�r&r,r*rrws_�������� �D��g�G�� �I���I� F�C��M� �L�E�>�L�S�I�3�J�c�J�c>��V��eb��$9�!�5��I��S��E��P��*��!O��\��'��D�M� �'�.� A� �'�2C�Y� O� �&�-�� J� �'� :� �'�,� ?� �$�*� =� �$�,� ?� "�$�-� @� �'�2B� C� "�'�2B� C� *�'�2B� C� #�'�2B� C� !�'�2B� C� !�'�2B� C� �%� 8� #�%� 8� �%� 8� &�%� 8� !�'�2B� C� �'�2B� C� "�� � 6� 0�&�,� ?� �&�,� ?� !�&�*� =� �&�.� A� �(� ;� �%� 8� �+� >� �*� =� �*� =�= �D�'�2C� D� �'�2C�W� M� �'�2C�V� L� �'�2C� D�  ��&�-� @� �&�-�� H� �%� 8� �&�-� @�  �U0�0�F�F�Fr,rc���eZdZdZdZdZdgZdgZdZe j e j zZ dZ dZd Zd Zd Zd Zd ZdZdZdZdZdZdZdZdZdefdejfdefdefdej dfde!fde"ee#j$e��fde"e%e#j$��fde&fd �'d!�(e����e&j)fd"�'d!�(ed#d#d$�����e"e%e#j*��fd%e"ee%e��fd&�'d!�(e����e"e%e#j+��fd �'d!�(e����e#j,fd �'d!�(e����e#j$fd �'d!�(e����e%fd �'d!�(e����e%fd �'d!�(e����e#j$fd'�'d!�(e����e#j$fd �'d!�(e����e#j$fd �'d!�(e����e#j-fd'�'d!�(e����e#j$fd �'d!�(e����e#j$fd �'d!�(e����e#j$fd(ej.fd)e �d*�e#j/fd+e0j1fd,e0j2fgdej d-fd.ej d/fd0ej fd1ej fgd2�Z3d#S)3rz� 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 *.applescriptz1.0z [a-zA-Z]\w*)r/zcurrent applicationr��linefeedz missing value�pi�quote�resultr��space�tabztext item delimitersr��version)zalias z application zboolean zclass z constant zdate zfile zinteger zlist znumber z POSIX file zreal zrecord z reference z RGB color zscript ztext 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�betweenr��givenz instead of�on�ontozout of�over�since)3zASCII (character|number)�activate�beepz choose URLzchoose applicationz choose colorzchoose file( name)?z choose folderzchoose from listzchoose remote applicationzclipboard infozclose( access)?�copy�countz current date�delay�deletezdisplay (alert|dialog)zdo shell script� duplicate�existszget eofzget volume settingszinfo for�launchzlist (disks|folder)z load script�log�makez mount volume�new�offsetzopen( (for access|location))?zpath to�print�quitz random number�read�roundz run( script)?�sayzscripting componentsz!set (eof|the clipboard to|volume)z store script� summarizezsystem 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�frontrh�last�middle�some�that�through�thru�where�whose).r�r�zis equal�equalsz(is )?equal tozis notzisn'tzisn't equal( to)?zis not equal( to)?z doesn't equalzdoes not equalz(is )?greater thanz comes afterzis not less than or equal( to)?zisn'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)?zis not less thanzisn't less thanzdoes not come beforezdoesn't come beforez(is )?less than or equal( to)?zis not greater thanzisn't greater thanzdoes not come afterzdoesn't come afterz starts? withz begins? withz ends? withz contains?zdoes not containzdoesn't containzis inzis contained byz is not inzis not contained byzisn't contained by�divr^r�z(a )?(ref( to)?|reference to)�is�does)� consideringr��error�exitr�r��ignoringr�r��tellr��times�to�tryr�zusing terms fromr��whithzwith timeout( of)?zwith transaction�byr�r�zits?�me�myr��of�as)�global�localz prop(erty)?rW�get)�but�put� returning�the)1z action cellz alert reply� application�boxzbrowser( cell)?�bundlezbutton( cell)?�cellz clip viewz color wellz color-panelzcombo box( item)?�controlz%data( (cell|column|item|row|source))?z default entryz dialog reply�documentz drag info�drawer�eventz font(-panel)?� formatterzimage( (cell|view))?�matrixz menu( item)?�itemz movie( view)?z open-panelz outline view�panel� pasteboard�pluginz popup buttonzprogress indicator� responderz save-panelz scroll viewzsecure text field( cell)?�slider�soundz split view�stepperztab view( item)?z-table( (column|header cell|header view|view))ztext( (field( cell)?|view))?ztoolbar( item)?z user-defaults�view�window)tzaccept outline dropzaccept table drop�action� activatedz alert endedzawake from nibz became keyz became mainz begin editingzbounds changedz cell valuezcell value changedzchange cell valuezchange item value�changedz child of itemzchoose menu item�clickedzclicked toolbar item�closedzcolumn clickedz column movedzcolumn resizedz conclude dropzdata representation�deminiaturizedz dialog endedzdocument nib namezdouble clickedz drag( (entered|exited|updated))?�dropz end editing�exposed�idlezitem expandablez item valuezitem value changedz items changedz keyboard downz keyboard up�launchedzload data representation� miniaturizedz mouse downz mouse draggedz mouse enteredz mouse exitedz mouse movedzmouse up�movedznumber of browser rowsznumber of itemsznumber of rowsz open untitled�openedz panel endedzparameters updatedz plugin loadedz prepare dropzprepare outline dragzprepare outline dropzprepare table dragzprepare table dropzread from filezresigned activez resigned keyz resigned mainzresized( sub views)?zright mouse downzright mouse draggedzright mouse upz rows changedz scroll wheelzselected tab view itemzselection changedzselection changingzshould begin editingz should closezshould collapse itemzshould end editingzshould expand itemzshould open( untitled)?z'should quit( after last window closed)?zshould select columnzshould select itemzshould select rowzshould select tab view itemzshould selection changez should zoom�shownzupdate menu itemzupdate parameterszupdate toolbar itemz was hiddenzwas miniaturizedzwill become activez will closez will dismisszwill display browser cellzwill display cellzwill display item cellzwill display outline cellzwill finish launchingz will hidezwill miniaturizez will movez will openz will pop upz will quitzwill resign activezwill resize( sub views)?zwill select tab view itemz will showz will zoomz write to file�zoomed))�animate�appendz call method�centerz close drawerz close panel�displayz display alertzdisplay dialogz display panel�go�hide� highlight� incrementzitem forz load imagez load moviezload nibz load panelz load soundzlocalized stringz lock focusrVz open drawerzpath for�pausezperform action�play�register�resume�scrollz select( all)?�showz size to fit�startz step backz step forward�stop� synchronizez unlock focusrZ(5zaccepts arrow keyz action method�active� alignmentzallowed identifierszallows branch selectionzallows column reorderingzallows column resizingzallows column selectionzallows customizationzallows editing text attributeszallows empty selectionzallows mixed statezallows multiple selectionzallows reorderingz allows undozalpha( value)?zalternate imagezalternate increment valuezalternate titlezanimation delayzassociated file namezassociated objectzauto completesz auto displayzauto enables itemsz auto repeatzauto resizes( outline column)?zauto save expanded itemszauto save namezauto save table columnszauto saves configurationz auto scrollzauto sizes all columns to fitzauto sizes cellszbackground colorz bezel statez bezel style�bezeledz border rectz border type�borderedzbounds( rotation)?zbox typezbutton returnedz button typezcan choose directorieszcan choose fileszcan drawzcan hidez$cell( (background color|size|type))?� charactersr�z click countzclicked( data)? columnzclicked data itemzclicked( data)? row� closeable� collatingzcolor( (mode|panel))zcommand key down� configurationz#content(s| (size|view( margins)?))?�context� continuouszcontrol key downz control sizez control tintz control viewzcontroller visiblezcoordinate systemzcopies( on scroll)?z corner viewz current cellzcurrent columnzcurrent( field)? editorzcurrent( menu)? itemz current rowzcurrent tab view itemz data sourcezdefault identifiersz delta (x|y|z)zdestination window� directoryz display modezdisplayed cellzdocument( (edited|rect|view))?z double valuezdragged columnzdragged distancez dragged itemszdraws( cell)? backgroundz draws gridzdynamically scrollsz echos bullets�edge�editablezedited( data)? columnzedited data itemzedited( data)? row�enabledzenclosing scroll viewz ending pagezerror handlingz event numberz event typezexcluded from windows menuzexecutable path�expandedz fax numberz field editorz file kindz file namez file typezfirst responderzfirst visible column�flipped�floatingz font( panel)?r�zframeworks path� frontmostzgave upz grid colorzhas data itemszhas horizontal rulerzhas horizontal scrollerzhas parent data itemzhas resize indicatorz has shadowz has sub menuzhas vertical rulerzhas vertical scrollerz header cellz header view�hiddenzhides when deactivatedz highlights byzhorizontal line scrollzhorizontal page scrollzhorizontal ruler viewzhorizontally resizablez icon image�id� identifierzignores multiple clicksz;image( (alignment|dims when disabled|frame style|scaling))?zimports graphicszincrement valuezindentation per level� indeterminaterhz integer valuezintercell spacingz item heightz+key( (code|equivalent( modifier)?|window))?zknob thicknessr>zlast( visible)? columnzleading offset�leaf�levelz line scroll�loadedzlocalized sort�locationz loop modezmain( (bunde|menu|window))?zmarker follows cellz matrix modezmaximum( content)? sizezmaximum visible columnszmenu( form representation)?�miniaturizabler�zminimized imagezminimized titlezminimum column widthzminimum( content)? size�modal�modifiedzmouse down statezmovie( (controller|file|rect))?�mutedrqz needs displayz next statez next textznumber of tick markszonly tick mark values�opaquez open panelzoption key downzoutline table columnz page scrollz pages acrossz pages downz palette labelz pane splitterzparent data itemz parent windowr�zpath( (names|separator))?�playingzplays every framezplays selection onlyr�zpreferred edgezpreferred type�pressurez previous text�prompt� propertieszprototype cellz pulls down�ratezreleased when closed�repeatedzrequested print timezrequired file type� resizablezresized columnz resource pathzreturns recordszreuses columnsz rich textz roll overz row heightzrulers visiblez save panelz scripts path� scrollablezselectable( identifiers)?z selected cellzselected( data)? columns?zselected data items?zselected( data)? rows?zselected item identifierzselection by rectzsend action on arrow keyzsends action when done editingzseparates columnszseparator itemzsequence numberz services menuzshared frameworks pathzshared support path�sheetzshift key downz shows alphazshows state byz size( mode)?zsmart insert delete enabledzsort case sensitivityz sort columnz sort orderz sort typezsorted( data rows)?r�zsource( mask)?zspell checking enabledz starting page�statez string valuezsub menuz super menuz super viewztab key traverses cellsz tab stateztab typeztab viewz table view�tagztarget( printer)?z text colorztext container insertztext container originz text returnedztick mark positionz time stampz+title(d| (cell|font|height|position|rect))?ztool tip�toolbarztrailing offset� transparentztreat packages as directoriesztruncated labels�typeszunmodified charactersz update viewszuse sort indicatorz user defaultszuses data sourcez uses rulerzuses threaded animationzuses title from previous columnz value wrapsr7z0vertical( (line scroll|page scroll|ruler view))?zvertically resizabler�zvisible( document rect)?�volume�widthr�z windows menu�wraps�zoomabler�r�u¬\nz's\s+z (--|#).*?$z\(\*rz [(){}!,.:]u(«)([^»]+)(»)zx\b((?:considering|ignoring)\s*)(application responses|case|diacriticals|hyphens|numeric strings|punctuation|white space)u)(-|\*|\+|&|≠|>=?|<=?|=|≥|≤|/|÷|\^)z\b({})\br5z^(\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+rz\*\)rNz[^*(]+z[*(])rSr)4rmrnrorprqrrrsrtrvr rrr� Identifiers�Literals�Classes�BuiltIn� HandlerParams�Commands� References� Operators�Control� Declarationsr�� StudioClasses� StudioEvents�StudioCommands�StudioPropertiesr rr�r r}rrr rdr r r�r�r�r�r�r�� Attributer�r�rr�r�r�r&r,r*rr�s��������� �D� O�C��o�G� �!�I��M� �L�2�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� $� �t� � �G� $� �g�'�� 3� �K� (� � �X�d�D�L�$� /� /� 1�9��X�g�t�|� ,� ,� .�:�8� D� � � ����� 3� 3� 4� 4�h�m� D���V�C�H�H�\�$�$�B�$�%7�8�8�9�9� �X�g�t�}� -� -� /�-�h�h�t�W�d�.K�.K� L� � $� $�S�X�X�g�%6�%6� 7� 7� �X�g�t�z� *� *� ,� � � ����� 2� 2� 3� 3�T�]� C� � � ����� 2� 2� 3� 3�T�\� B� � � ����� 1� 1� 2� 2�G� <� � � ����� 6� 6� 7� 7�� A� � � ����� 2� 2� 3� 3�T�\� B� � !� !�#�(�(�7�"3�"3� 4� 4�d�l� C� � � ����� 7� 7� 8� 8�$�,� G� � � ����)9� :� :� ;� ;�T�^� L� � !� !�#�(�(�=�"9�"9� :� :�D�L� I� � � ����� 8� 8� 9� 9�4�<� H� � � ����� 4� 4� 5� 5�t�|� D� (�&�-� 8� $�K� $� $� $�d�m� 4� 6�� � E� �&�.� )�G$ �L�g�'�� 1� �g�'�� 0� �w�(� )� �W�&� '�  �M,�,�F�F�Fr,rc ��eZdZdZdZdZddgZgd�ZdgZdZ e j Z d e fd ejd fd ed fdedfdefdeeje ee ej��fdeeje e��fed��ed��ed��defg edd���eeje e��fgdejfgdefgdefdefd edfdedfgd efd!efd"edfdedfgd#ejfd$ejdfd%ejfgd&�Zd'�Zed(��Z ed)��Z!ed*��Z"ed+��Z#ed,��Z$ed-��Z%ed.��Z&e d/fe!d0fe"d1fe%d1fe#d1fe$d2fe&d/ffZ'd3�Z(d4S)5ra 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. �Rexxzhttp://www.rexxinfo.org/�rexx�arexx)z*.rexxz*.rexz*.rxz*.arexxz text/x-rexxrr�rrrLr�rIr�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�truncrj�verifyr=� wordindex� wordlength�wordposr�x2b�x2c�x2d�xrangez (\s*)(\()rDz�(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]+�""rNr�z[^\'\n]+z\'\'z\'z[^*]+r�\*)rSr r r r�r�rc�@�tj|tj��S�N)r �compiler)�ss r*�_cz RexxLexer._cXs���z�!�R�\�*�*�*r,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���tjd|tj��rdS|�d��rL|����t �fd�t jD����dz}t|d��SdS)zs Check for initial comment and patterns that distinguish Rexx from other C-like languages. z /\*\**\s*rexx��?z/*c3�L�K�|]\}}|�����|V��dSrN)�search)r'�pattern�weight� lowerTexts �r*� <genexpr>z)RexxLexer.analyse_text.<locals>.<genexpr>xsL�����7�7�.�g�v�#�N�N�9�5�5�7��7�7�7�7�7�7r,�{�G�z�?N) r rX� IGNORECASE� startswith�lower�sumr�PATTERNS_AND_WEIGHTSr0)rgr4r[s @r*� analyse_textzRexxLexer.analyse_textks���� �9�%�t�R�]� ;� ;� $��3� �_�_�T� "� "� $�� � � � �I��7�7�7�7�2;�2P�7�7�7�7�7�9=�>�F��v�s�#�#� #� $� $r,N))rmrnrorprqrrrsrtrurvr r^rrr r}rrrr r�r r r�r�rr rrdr�r�rQ�_ADDRESS_COMMAND_PATTERN�_ADDRESS_PATTERN�_DO_WHILE_PATTERN�_IF_THEN_DO_PATTERN�_PROCEDURE_PATTERN�_ELSE_DO_PATTERN�_PARSE_ARG_PATTERNrbrcr&r,r*rr s��������� �D� $�C��w��G�6�6�6�I���I��M� �M�E��Z� � �W�&� � 2� �6�?� +� �6�?� +� /�� 8� 5� �X�d�m�Z��:��)�+�+� ,�$� �X�d�j�*�h� 7� 7� 9� �G�J� � � �G�I� � � �G�J� � � �4� � �"�U� �#/� 0� 0� 0��X�d�l�J�� 9� 9� ;�  ��"�*� ,� �"�#+� -� � �� � �F�O� �6�6� "� �D�&� !�  ��&� !� �f� � �F�F� #� �D�&� !�  ��w�(� )� �W�&�� /� �G�%� &� �m;�;�F�z+�+�+�!�r�"<�=�=���r�+�,�,����.�/�/���"�9�:�:����H�I�I���r�,�-�-����C�D�D�� !�3�'� �4� � �C� � �3�� �c�"� �S�!� �S�!���$�$�$�$�$r,rc���eZdZdZdZdZdgZddgZdgZdZ d d e j fd e fd e jfd e jfdefde jfde jjfdefdefdefdee je��fdefg iZdS)rz3 For MOOCode (the MOO scripting language). �MOOCodezhttp://www.moo.mud.org/z*.moo�moocode�mooztext/x-moocodez0.9rSz(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)rmrnrorprqrrrtrsrurvrr�rr � Exception�Entityr rdr��Instancer r rr�r�r&r,r*rr~s��������� �D� #�C�� �I��%� �G�!�"�I��M� � �&�.� 1� (�&� 1� ��� /� $�d�k� 2�-�.5� 7� ��� .� )�4�=�+A� B� �T�N� �D�M� )�8� 4� �8�8�D�M�8�<�<� =� �t� �3 ��F�F�Fr,rc�.�eZdZdZdZdgZdgZddgZdZdZ e j e j zZ d eeejee��fd efd ejfd ejfd ejfdefdejfdejfdeeje��dfdeeje��dfedd���ejfedd���ejfdefdejfdeeej ��fdej!fdefdefde"j#fd e"j$fd!e"j%fd"efgd#ej&d$fgd%ejd$fgd&�Z'd'�Z(d(S))rz! For Hybris source code. �Hybris�hybrisz*.hybz text/x-hybriszapplication/x-hybrisz$https://github.com/evilsocket/hybrisz1.4z>^(\s*(?:function|method|operator\s+)+?)([a-zA-Z_]\w*)(\s*)(\()r�rrz@[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;�replacere�trim�remove�containsr�rCrD)�MethodReference�Runner�Dll�Thread�Pipe�Process�Runnable�CGI� ClientSocket�Socket� ServerSocket�File�Console� Directoryror�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�rNz [\w.]+\*?)rSr�r�c�>�d}tjd|��r|dz }|S)zQpublic method and private method don't seem to be quite common elsewhere.rz\b(?:public|private)\s+method\br])r rX)rgr4s r*rczHybrisLexer.analyse_text�s,���� �9�7�� >� >� � �d�N�F�� r,N))rmrnrorprqrsrtrurrrvr rrrrr r r�r r r r~r}� Decoratorr�r�� Namespacerrdr�r�Charrr�rr�rr�r�r�rcr&r,r*rr�s�������� �D��j�G�� �I� �"8�9�I� 0�C��M� �L�2�9� $�E� �#�8�G�T�]�D�(�K�K� M��$� � ��� (� �7�,� -� �$�.� 1�B�CJ� L��$�0� 2� �!(�!1� 3� #� �X�g�)�4� 0� 0�'� ;� %� �X�g�'�� .� .�� :� �U�$�0-2�13�3�3�2�\�3 �4�U�=�FK�L�L�L��\�  � )�&� 1� .�� � <� "� �X�h��� /� /� 1� �t�z� *� �t� $� /�� :� 5�v�|� D� �V�Z� (� �&�.� )� �D�M�y= �~�d�j�&� 1� ��4�>�6� 2� �EE�E�F�N����r,rc��eZdZdZdZdgZddgZdgZdZdZ d Z d Z e d zZ d e zd zZ de zdzZde zd zZdZgd�Zdejfdefdezdzejdfdezdzejfdeeje��dfde zdzeeje��feee���eeje��feefdezdzeejeeeeje��fdejfd ej fd!e!fd"efedzefgedzejfe"d#��gdejd#fd"ed#feed#fd!e!d#fedzefgd$�Z#e$j%d%��Z&e$j%d&��Z'd'�Z(d(S))ra/ 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*.macztext/x-easytrievez_https://www.broadcom.com/products/mainframe/application-development/easytrieve-report-generator�2.1rz \'.,():\n�*�[�]�(r6z[^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�ELSEzELSE-IF�ENDzEND-CASEzEND-DOzEND-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-DATEzKANJI-DATE-LONGz KANJI-TIME�KEYz KEY-PRESSED�KOKUGO�KUNzLAST-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-REGISTERzPATH-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)(rDz+)(\s*)(\.?)(\s*)(PROC)(\s*\n)z[0-9]+\.[0-9]*r z '(''|[^'])*'r�rN)rSr�r�z^\s*\*z ^\s*MACROc����d}|�d���d}d}d}d}d}d}d}�fd�} d�} �r\| �d��s| �d��r:| �d��sd}�d=�r"| �d���)| �d���:tj��d��r d}|r|dz }n��D]l} | ���} t | ��d krC| d} |s9|s|s|s| d krd}| d krd}| d krd}�R| d krd}�[| dkrd}�d| dkrd}�m|r7||kr1|r|dz }|r|r|dz }n |dz }n|dz }|r|dz }|r|dz }|r|dz }d|cxkrdksnJ�|S)zP Perform a structural analysis for basic Easytrieve constructs. �� Fc�R��tj��d��duS)Nr)r�_COMMENT_LINE_REGEX�match)�liner.s �r*� isCommentLinez3EasytrieveLexer.analyse_text.<locals>.isCommentLine�s#���"�6�<�<�U�1�X�F�F�d�R� Rr,c�F�t|����� SrN)�boolr:)r�s r*� isEmptyLinez1EasytrieveLexer.analyse_text.<locals>.isEmptyLine�s���D�J�J�L�L�)�)�)� )r,rTg�������?r��PARM�FILE�JOB�PROCr7r�rSg�������?rTg)\���(�?rRr]rV)rer�_MACRO_HEADER_REGEXr�rf)rgr4� hasEndProc�hasHeaderComment�hasFile�hasJob�hasProc�hasParm� hasReportr�r�r�r� firstWordr.s @r*rczEasytrieveLexer.analyse_textus������� � �4� � ��� � ����������� � S� S� S� S� S� *� *� *�� ���U�1�X�.�.� �-�-��a��2I�2I� ��;�u�Q�x�(�(� (�#'� ��a��� ���U�1�X�.�.� �-�-��a��2I�2I� � � .� 4� 4�U�1�X� >� >�3 '��F�� ��#� ���� -� -��� � � � ����J�J�!�O�O� %�a��I�$�-�%�-�#*�3�'.�!7�'0�F�':�':�26��#,��#6�#6�.2�G�(�E�1�1�)-���&�&�0�0�&*�G�G�&�*�4�4�)-�J�J�&�(�2�2�(,�I��� '�7�j�0�0�#�"��c�M�F��'��&��#� ����#� ����d�N�F��&��#� ���'��$��� �'��$����f�#�#�#�#��#�#�#�#�#�#�� r,N))rmrnrorprqrsrtrurrrvr� _DELIMITERS�_DELIMITERS_OR_COMENT�_DELIMITER_PATTERN�_DELIMITER_PATTERN_CAPTURE�!_NON_DELIMITER_OR_COMMENT_PATTERN�_OPERATORS_PATTERN� _KEYWORDSr r~rr r�rr r�r rr�r�rr�r�rrr�r rOr�r�rcr&r,r*rrsv�������� �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� L� (� �X�g�)�:� 6� 6�8K� M� !�$6� 6�� =� �X�g�)�8� 4� 4� 6� �U�9�%?� @� @� @� �X�g�&�� 1� 1� 3� �� *� �5� 5�8Y� Y� �X�d�m�Z��:��)�:�7�7� 8��� � -� ��� '� �f� %� �Z� � .�� 5�t� <�1 �6/�� 5�t�}� E� �G�F�O�O� � ���� /� �Z�� (� ��6� 2� �f�f� -� .�� 5�t� <� ! �?'�'�F�P%�"�*�Y�/�/��$�"�*�\�2�2��O�O�O�O�Or,rc��eZdZdZdZdgZdgZdgZdZdZ e j Z de jfd ejd fd ejd fd efgdedfdeejeeje��dfdejdfdedfgdejdfed��gdedfdedfdedfgdejfdefdefdefdejfdejfdejfded fd!ed"fd#efg d$ee ej��fd%efd&efdedfgd'e jfgd(�Z!e j"d)e j ��Z#d*�Z$d+S),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_Languagerz//\*.*\nz//� statementr�jes2_statementz.*\nz\s*\nrNz([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)\brLz[\[\](){}<>;,]z [-+*/=&%]rz\d+\.\d*z\.\d+r<rI� option_stringz[ \t]+�option_commentz\.z(\n)(//)z''z[^']z.+)rSrrrrrrz*^//[a-z#$@][a-z0-9#$@]{0,7}\s+job(\s+.*)?$c���d}|�d��}t|��dkr'tj�|d��rd}d|cxkrdksnJ�|S)z. Recognize JCL job by header. r�r�rrV)rerfr �_JOB_HEADER_PATTERNr�)rgr4r.s r*rczJclLexer.analyse_textsu����� � �4� � �� �u�:�:��>�>��+�1�1�%��(�;�;� ����f�#�#�#�#��#�#�#�#�#�#�� r,N)%rmrnrorprqrsrtrurrrvr r^rr r~r r�rrrr r�r�r�rrdrr rr�r�rr r�rOrrcr&r,r*r r �s�������� �D��g�G�� �I���I� >�C��M� �M�E��'�.� )� �G�N�K� 0� �W�^�%5� 6� �e� �  ��z�6� *� .� �X�d�j�*�g�.>� � K� K� � ��$�-�)<� =� �Z�!4� 5�  �3�4;�4D�h� P� �G�H� � � � �z�6� *� �G�X� &�*�+2�H� >� ��D�L� !� � � ,� �8� $� �4� � �&�,� '� �v�|� $� �V�^� $� �6�?� +� � �$4� 5� �K� �  ��(�(�4���8�8� 9� �F�O� �f� � �6�6� "�  ��G�N� #� �]2�2�F�h%�"�*�%R�%'�]�4�4�� � � � � r,r c�N�eZdZdZdZdZddgZdgZddgZd Z d e j fe d ��gd e j fd efdefdefdefdefdedfdefdefedd���efedd���ejfdejfdejfdejjfdejfgdefdefded fded fgd!�Zd"S)#r!z% For MiniScript source code. � MiniScriptzhttps://miniscript.org� miniscript�msz*.msztext/x-minicriptzapplication/x-miniscriptz2.6r�r8z//.*$r:r;r<r�r�rLr�z(==|!=|<=|>=|[=+\-*/%^<>.:])z [;,\[\]{}()]) r�r�r�r�r�r r�r��isar�r�r�r�rCrD)-rr�r�r�r��charr�r�rVr]�rndr2r7r�r��strr��hasIndex�indexOfrf�val�coder�r`�upperr�re�indexesr(r�ra�sort�shuffle�pushr��pullr�rZr�r>r��locals�globals�outer�yieldz(true|false|null)\bz(and|or|not|new)\bz(self|super|__isa)\br�rJrKrN)rSr8r�N)rmrnrorprqrrrsrtrurvr r|rr~rr rr rrr r rdr�r�r�r�r�r&r,r*r!r!sn�������� �D� "�C��T�"�G���I�#�%?�@�I��M��'�/� *� �G�F�O�O� � �g�n� %� 3�V� <� �&� )� �V� � �D�M� �$� � �6�?� +� ,�h� 7� �k� *� �U�B�JO�Q�Q�Q�� ��U��"'�(�(�(��\� �$�W�%5� 6� "�H�M� 2� $�d�l�&9� :� �d�m� ,�5 �:�� � �F�O� �6�6� "� �D�&� !�  �C'�'�F�F�Fr,r!)(rpr �pygments.lexerrrrrrr�pygments.tokenr r r r r rrrrrr� pygments.utilrr�__all__r.rr�r�rrrrrrrrrr r!r&r,r*�<module>r#s����� � � � � � � � � � � � � � � � � � � � �2�2�2�2�2�2�2�2�2�2�2�2�2�2�2�2�2�2�2�2�2�2�2�2�2�2�4�4�4�4�4�4�4�4� =� =� =�� >�>�>�W&�W&�W&�W&�W&�z�W&�W&�W&�r.�.�.�, G� G� G�T&�T&�T&�T&�T&� �T&�T&�T&�lB&�B&�B&�B&�B&�h�B&�B&�B&�J?�?�?�?�?�j�?�?�?�DQ�Q�Q�Q�Q�z�Q�Q�Q�h~�~�~�~�~�z�~�~�~�B o$�o$�o$�o$�o$� �o$�o$�o$�d'�'�'�'�'�:�'�'�'�T[�[�[�[�[�*�[�[�[�~}�}�}�}�}�j�}�}�}�@Q�Q�Q�Q�Q�z�Q�Q�Q�h3�3�3�3�3�j�3�3�3�3�3r,
Memory