HEX
Server: Apache/2.4.67 (Debian)
System: Linux vps-b2547eb4 6.1.0-41-cloud-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.158-1 (2025-11-09) x86_64
User: root (0)
PHP: 8.2.31
Disabled: NONE
Upload Files
File: //lib/python3/dist-packages/pygments/lexers/__pycache__/graphics.cpython-311.pyc
�

�E�c����dZddlmZmZmZmZmZmZmZddl	m
Z
mZmZm
Z
mZmZmZmZmZgd�ZGd�de��ZGd�de��ZGd	�d
e��ZGd�de��Zd
�Zd�ZGd�de��ZGd�de��ZdS)z�
    pygments.lexers.graphics
    ~~~~~~~~~~~~~~~~~~~~~~~~

    Lexers for computer graphics and plotting related languages.

    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
�)�
RegexLexer�words�include�bygroups�using�this�default)	�Text�Comment�Operator�Keyword�Name�Number�Punctuation�String�
Whitespace)�
GLShaderLexer�PostScriptLexer�AsymptoteLexer�GnuplotLexer�PovrayLexer�HLSLShaderLexerc��eZdZdZdZdgZgd�ZdgZddej	fdej
fd	ejfd
efdefdefd
e
fdejfdejfdejfdejfdejfeddd���efeddd���ejfeddd���ejfeddd���ejfdejfdefde
fdefgiZdS)rz@
    GLSL (OpenGL Shader) lexer.

    .. versionadded:: 1.1
    �GLSL�glsl)z*.vertz*.fragz*.geoztext/x-glslsrc�root�^#.*$�//.*$�/(\\\n)?[*](.|\n)*?[*](\\\n)?/�0\+|-|~|!=?|\*|/|%|<<|>>|<=?|>=?|==?|&&?|\^|\|\|?�[?:]�\bdefined\bz[;{}(),\[\]]z[+-]?\d*\.\d+([eE][-+]?\d+)?z[+-]?\d+\.\d*([eE][-+]?\d+)?�0[xX][0-9a-fA-F]*�0[0-7]*�[1-9][0-9]*))�	attribute�const�uniform�varying�buffer�shared�in�out�layout�flat�smooth�
noperspective�centroid�sample�patch�inout�lowp�mediump�highp�	precision�	invariant�precise�coherent�volatile�restrict�readonly�	writeonly�break�continue�do�for�while�switch�caser	�if�else�
subroutine�discard�return�struct�\b��prefix�suffix��true�false)w�void�atomic_uint�float�vec2�vec3�vec4�double�dvec2�dvec3�dvec4�int�ivec2�ivec3�ivec4�uint�uvec2�uvec3�uvec4�bool�bvec2�bvec3�bvec4�mat2�mat3�mat4�dmat2�dmat3�dmat4�mat2x2�mat2x3�mat2x4�dmat2x2�dmat2x3�dmat2x4�mat3x2�mat3x3�mat3x4�dmat3x2�dmat3x3�dmat3x4�mat4x2�mat4x3�mat4x4�dmat4x2�dmat4x3�dmat4x4�	sampler1D�	sampler2D�	sampler3D�samplerCube�sampler1DArray�sampler2DArray�samplerCubeArray�
sampler2DRect�
samplerBuffer�sampler2DMS�sampler2DMSArray�sampler1DShadow�sampler2DShadow�samplerCubeShadow�sampler1DArrayShadow�sampler2DArrayShadow�samplerCubeArrayShadow�sampler2DRectShadow�
isampler1D�
isampler2D�
isampler3D�isamplerCube�isampler1DArray�isampler2DArray�isamplerCubeArray�isampler2DRect�isamplerBuffer�isampler2DMS�isampler2DMSArray�
usampler1D�
usampler2D�
usampler3D�usamplerCube�usampler1DArray�usampler2DArray�usamplerCubeArray�usampler2DRect�usamplerBuffer�usampler2DMS�usampler2DMSArray�image1D�image2D�image3D�	imageCube�image1DArray�image2DArray�imageCubeArray�image2DRect�imageBuffer�	image2DMS�image2DMSArray�iimage1D�iimage2D�iimage3D�
iimageCube�
iimage1DArray�
iimage2DArray�iimageCubeArray�iimage2DRect�iimageBuffer�
iimage2DMS�iimage2DMSArray�uimage1D�uimage2D�uimage3D�
uimageCube�
uimage1DArray�
uimage2DArray�uimageCubeArray�uimage2DRect�uimageBuffer�
uimage2DMS�uimage2DMSArray)'�common�	partition�active�asm�class�union�enum�typedef�templater�resource�goto�inline�noinline�public�static�extern�external�	interface�long�short�half�fixed�unsigned�superp�input�output�hvec2�hvec3�hvec4�fvec2�fvec3�fvec4�
sampler3DRect�filter�sizeof�cast�	namespacerzgl_\w*�[a-zA-Z_]\w*z\.�\s+N)�__name__�
__module__�__qualname__�__doc__�name�aliases�	filenames�	mimetypesr�Preproc�Single�	Multilinerrr�Float�Hex�Oct�Integerrr
�Constant�Type�Reservedr�Builtinr�tokens���:/usr/lib/python3/dist-packages/pygments/lexers/graphics.pyrrs���������
�D��h�G�-�-�-�I�!�"�I�	�
�w��'�
�w�~�&�
.��0A�B�
@�
�
�
�h��
�X�&�
�k�*�
,�f�l�;�
,�f�l�;�
!�6�:�.�
���$�
�V�^�,�
�U�/�0�U�1,�,�,�2�3
�4�U�!��U�,�,�,��
�	
�
�U�11�d�U�e2,�2,�2,�f�\�g3
�h�U�	&��U�
,�
,�
,��
�
����%�
�d�#�
�K� �
�Z� �es
�u�F�F�Frrc�`�eZdZdZdZdgZddgZdgZdej	fdej
fd	ejfd
efdefdefd
e
fdejfdejfdejfdejfdejfdedfeddd���efeddd���ejfeddd���ejfeddd���ejfeddd���ejfeddd���ejfeddd���ejfdejfed dd���ejfd!efd"ej	fd#efgded$fd%ejfd&efd'efd(efgd)�Zd*S)+rzL
    HLSL (Microsoft Direct3D Shader) lexer.

    .. versionadded:: 2.3
    �HLSL�hlslz*.hlslz*.hlsliztext/x-hlslrrrr r!r"z
[;{}(),.\[\]]z[+-]?\d*\.\d+([eE][-+]?\d+)?f?z[+-]?\d+\.\d*([eE][-+]?\d+)?f?r#r$r%�"�string)?r��asm_fragmentrArG�cbufferr2r��column_major�compile�compile_fragmentr'rBr	rKrCrI�exportr�rD�fxgroup�globallycoherent�groupsharedrHr,r�r5r��line�lineadj�linearr��nointerpolationr1�NULLr-�
packoffset�pass�
pixelfragment�pointr;rL�register�	row_majorr3�samplerr+�
stateblock�stateblock_stater�rMrF�tbuffer�	technique�technique10�technique11�texturer��triangle�triangleadjr(�vertexfragmentr=rErNrOrR)�auto�catch�char�
const_cast�delete�dynamic_castr��explicit�friendr�r��mutable�new�operator�private�	protectedr��reinterpret_castr��signedr��static_castr�r�throw�try�typenamer�r�r�virtual)6�dword�matrix�snormr�unormr�rU�vector�
BlendState�Buffer�ByteAddressBuffer�
ComputeShader�DepthStencilState�DepthStencilView�DomainShader�GeometryShader�
HullShader�
InputPatch�
LineStream�OutputPatch�PixelShader�PointStream�RasterizerState�RenderTargetView�RasterizerOrderedBuffer�"RasterizerOrderedByteAddressBuffer�!RasterizerOrderedStructuredBuffer�RasterizerOrderedTexture1D�RasterizerOrderedTexture1DArray�RasterizerOrderedTexture2D�RasterizerOrderedTexture2DArray�RasterizerOrderedTexture3D�RWBuffer�RWByteAddressBuffer�RWStructuredBuffer�RWTexture1D�RWTexture1DArray�RWTexture2D�RWTexture2DArray�RWTexture3D�SamplerState�SamplerComparisonState�StructuredBuffer�	Texture1D�Texture1DArray�	Texture2D�Texture2DArray�Texture2DMS�Texture2DMSArray�	Texture3D�TextureCube�TextureCubeArray�TriangleStream�VertexShader)rgr[rWr_r��
min16float�
min10float�min16int�min12int�	min16uintrcz([1-4](x[1-4])?)?\b)��abort�abs�acos�all�AllMemoryBarrier�AllMemoryBarrierWithGroupSync�any�AppendStructuredBuffer�asdouble�asfloat�asin�asint�asuintr��atan�atan2�ceil�CheckAccessFullyMapped�clamp�clip�
CompileShader�ConsumeStructuredBuffer�cos�cosh�	countbits�cross�D3DCOLORtoUBYTE4�ddx�
ddx_coarse�ddx_fine�ddy�
ddy_coarse�ddy_fine�degrees�determinant�DeviceMemoryBarrier� DeviceMemoryBarrierWithGroupSync�distance�dot�dst�errorf�EvaluateAttributeAtCentroid�EvaluateAttributeAtSample�EvaluateAttributeSnapped�exp�exp2�f16tof32�f32tof16�faceforward�firstbithigh�firstbitlow�floor�fma�fmod�frac�frexp�fwidth�GetRenderTargetSampleCount�GetRenderTargetSamplePosition�GlobalOrderedCountIncrement�GroupMemoryBarrier�GroupMemoryBarrierWithGroupSync�InterlockedAdd�InterlockedAnd�InterlockedCompareExchange�InterlockedCompareStore�InterlockedExchange�InterlockedMax�InterlockedMin�
InterlockedOr�InterlockedXor�isfinite�isinf�isnan�ldexp�length�lerp�lit�log�log10�log2�mad�max�min�modf�msad4�mul�noise�	normalize�pow�printf�Process2DQuadTessFactorsAvg�Process2DQuadTessFactorsMax�Process2DQuadTessFactorsMin�ProcessIsolineTessFactors�ProcessQuadTessFactorsAvg�ProcessQuadTessFactorsMax�ProcessQuadTessFactorsMin�ProcessTriTessFactorsAvg�ProcessTriTessFactorsMax�ProcessTriTessFactorsMin�QuadReadLaneAt�	QuadSwapX�	QuadSwapY�radians�rcp�reflect�refract�reversebits�round�rsqrt�saturate�sign�sin�sincos�sinh�
smoothstep�sqrt�step�tan�tanh�tex1Dr��	tex1Dbias�	tex1Dgrad�tex1Dlod�	tex1Dproj�tex2Dr��	tex2Dbias�	tex2Dgrad�tex2Dlod�	tex2Dproj�tex3Dr��	tex3Dbias�	tex3Dgrad�tex3Dlod�	tex3Dproj�texCUBEr�texCUBEbias�texCUBEgrad�
texCUBElod�texCUBEproj�	transpose�trunc�
WaveAllBitAnd�
WaveAllMax�
WaveAllMin�WaveAllBitOr�
WaveAllBitXor�WaveAllEqual�WaveAllProduct�
WaveAllSum�WaveAllTrue�WaveAnyTrue�
WaveBallot�WaveGetLaneCount�WaveGetLaneIndex�WaveGetOrderedIndex�WaveIsHelperLane�WaveOnce�WavePrefixProduct�
WavePrefixSum�WaveReadFirstLane�WaveReadLaneAt)�SV_ClipDistance�SV_ClipDistance0�SV_ClipDistance1�SV_Culldistance�SV_CullDistance0�SV_CullDistance1�SV_Coverage�SV_Depth�SV_DepthGreaterEqual�SV_DepthLessEqual�SV_DispatchThreadID�SV_DomainLocation�
SV_GroupID�
SV_GroupIndex�SV_GroupThreadID�SV_GSInstanceID�SV_InnerCoverage�SV_InsideTessFactor�
SV_InstanceID�SV_IsFrontFace�SV_OutputControlPointID�SV_Position�SV_PrimitiveID�SV_RenderTargetArrayIndex�SV_SampleIndex�
SV_StencilRef�
SV_TessFactor�SV_VertexID�SV_ViewportArrayIndexz\bSV_Target[0-7]?\b)�allow_uav_condition�branch�call�domain�earlydepthstencil�fastopt�flatten�	forcecase�instance�loop�
maxtessfactor�
numthreads�outputcontrolpoints�outputtopology�partitioning�patchconstantfunc�unrollr�z\\$r��#popzO\\([\\abfnrtv"\']|x[a-fA-F0-9]{2,4}|u[a-fA-F0-9]{4}|U[a-fA-F0-9]{8}|[0-7]{1,3})�	[^\\"\n]+�\\\n�\\)rrN)r�r�r�r�r�r�r�r�rr�r�r�rrrr�r�rrrrr
rrrrr�	Decoratorr�Escaperrrr	rr�s���������
�D��h�G��9�%�I���I��w��'�
�w�~�&�
.��0A�B�
@�
�
�
�h��
�X�&�
�{�+�
.���=�
.���=�
!�6�:�.�
���$�
�V�^�,�
�6�8�$�
�U�?��U�,�,�,��

��U�#�E�%�
@�
@�
@�
�
�
�
�U�6��U�
,�,�,��
�
��U�R�"�U�#,�,�,�$�\�%
�&�U�:��%;�=�=�=��\�	
�
�U�'"�P�U�Q(,�(,�(,�R�\�S)
�T�U�
)��U�,�,�,��^�
�$�T�^�4�
�U�.�
�U�,�,�,��^�

��d�#�
�W�_�%�
�Z� �CB
�H�6�6�"�<�=C�]�
L�
�6�"�
�f��
�F�O�

�IL�L�F�F�Frrc���eZdZdZdZdZddgZddgZdgZd	Z	d
e	zZ
de	zZe�de
��Zd
e
jfde
jfde
jfde
jfdedfdefde
zejfde
zejfde
zejfde
zejfdezejfeejfde
zejfde
zejfede
���ej fde!fgdefdej"d fded!fd"ed#fgd$ej"d#fe#d#��gd%�Z$d&S)'rz@
    Lexer for PostScript files.

    .. versionadded:: 1.4
    �
PostScriptz(https://en.wikipedia.org/wiki/PostScript�
postscript�postscrz*.psz*.epszapplication/postscriptz()<>\[\]{}/%\sz(?=[%s])z[^%s]�+z^%!.+$z%%.*$z(^%.*\n){2,}z%.*$z\(�
stringliteralz
[{}<>\[\]]z<[0-9A-Fa-f]+>zG[0-9]+\#(\-|\+)?([0-9]+\.?|[0-9]*\.[0-9]+|[0-9]+\.[0-9]*)((e|E)[0-9]+)?z?(\-|\+)?([0-9]+\.?|[0-9]*\.[0-9]+|[0-9]+\.[0-9]*)((e|E)[0-9]+)?z(\-|\+)?[0-9]+z\/%sz(false|true)z6(eq|ne|g[et]|l[et]|and|or|not|if(?:else)?|for(?:all)?))lr{�add�aload�arc�arcn�arrayr��begin�bind�ceiling�charpathr��	closepath�concat�concatmatrix�copyr��currentlinewidth�
currentmatrix�currentpoint�curveto�cvi�cvs�def�
defaultmatrix�dict�dictstackoverflow�div�
dtransform�dup�end�exch�exec�exitr��fill�findfontr��get�getinterval�grestore�gsave�gt�identmatrix�idiv�idtransform�index�invertmatrix�
itransformr��lineto�ln�loadr�rBrC�mod�movetor��neg�newpath�
pathforall�pathbbox�pop�print�pstack�put�quit�rand�
rangecheck�rcurveto�repeat�restore�rlineto�rmoveto�roll�rotater��run�save�scale�	scalefont�setdash�setfont�setgray�
setlinecap�setlinejoin�setlinewidth�	setmatrix�setrgbcolor�shfill�show�showpager�r��stack�stringwidth�stroke�
strokepath�sub�syntaxerror�	transform�	translate�truncate�	typecheck�	undefined�undefinedfilename�undefinedresult�rQr�z[^()\\]+rM�escape�#push�\)rJz[0-8]{3}|n|r|t|b|f|\\|\(|\))rrUr�N)%r�r�r�r�r��urlr�r�r��	delimiter�
delimiter_end�valid_name_chars�
valid_namerr��Specialr�r�rrrr�rr�rr�Variable�Functionr
rrrrrrOr	rrrr	rr1s���������
�D�
4�C��Y�'�G���!�I�)�*�I�!�I��)�+�M��)�+��-�-�-�}�}�=�J�
���(�
�w��'�
�g�/�0�
�g�n�%��F�O�,�
�K�(���
.��
�;��!.�/�06�
�
<�
O���$�l�
,�
��
.���?��z�
!�4�=�1����'��}�
,�g�.>�?�G���%�.�
0��U�8�$AN�%O�O�O�&�\�'
�*�Z� �w<
�~�&�!�
�F�M�8�,�
�F�G�$�
�F�F�#�	
�,�V�]�F�C��G�F�O�O�
�MJ�J�F�F�Frrc��eZdZdZdZdZddgZdgZdgZdZ	d	e
fd
e
fdeee
��fde
fd
e
fgdefdedfdejfdejfdejfdejfdejfdefdefdeeee��e��fdefdejfdejfdejfdefged��de	zd zeee��ejee��ee��e��d!fde	zd"zeee��ejee��ee��e��fed#��ged��ed$��d%efd&ed'fged��ed$��d&efd(ed)fd*ed'fgded'fd+ejfd	efd,efd-efd.efd/efgd0�Z d1�Z!d2S)3rz?
    For Asymptote source code.

    .. versionadded:: 1.2
    �	Asymptotezhttp://asymptote.sf.net/�	asymptote�asyz*.asyztext/x-asymptotez(?:\s|//.*?\n|/\*.*?\*/)+�\nr��(\\)(\n)z//(\n|(.|\n)*?[^\\]\n)z/(\\\n)?\*(.|\n)*?\*(\\\n)?/�"(\\\\|\\[^\\]|[^"\\])*"�'rz%(\d+\.\d*|\.\d+|\d+)[eE][+-]?\d+[lL]?z(\d+\.\d*|\.\d+|\d+[fF])[fF]?z0x[0-9a-fA-F]+[Ll]?z0[0-7]+[Ll]?z\d+[Ll]?z[~!%^&*+=|?:<>/-]z
[()\[\],.]z\b(case)(.+?)(:)z�(and|controls|tension|atleast|curl|if|else|while|for|do|return|break|continue|struct|typedef|new|access|import|unravel|from|include|quote|static|public|private|restricted|this|explicit|true|false|null|cycle|newframe|operator)\ba?(Braid|FitResult|Label|Legend|TreeNode|abscissa|arc|arrowhead|binarytree|binarytreeNode|block|bool|bool3|bounds|bqe|circle|conic|coord|coordsys|cputime|ellipse|file|filltype|frame|grid3|guide|horner|hsv|hyperbola|indexedTransform|int|inversion|key|light|line|linefit|marginT|marker|mass|object|pair|parabola|path|path3|pen|picture|point|position|projection|real|revolution|scaleT|scientific|segment|side|slice|splitface|string|surface|tensionSpecifier|ticklocate|ticksgridT|tickvalues|transform|transformation|tree|triangle|trilinear|triple|vector|vertex|void)(?=\s+[a-zA-Z])z�(Braid|FitResult|TreeNode|abscissa|arrowhead|block|bool|bool3|bounds|coord|frame|guide|horner|int|linefit|marginT|pair|pen|picture|position|real|revolution|slice|splitface|ticksgridT|tickvalues|tree|triple|vertex|void)\bz[a-zA-Z_]\w*:(?!:)r��
whitespacez6((?:[\w*\s])+?(?:\s|\*))([a-zA-Z_]\w*)(\s*\([^;]*?\))(z)(\{)�functionz)(;)�	statement�
statementsz[{}]�;rJz\{r�z\}z0\\([\\abfnrtv"\'?]|x[a-fA-F0-9]{2,4}|[0-7]{1,3})�	[^\\'\n]+rLz\\nrM)r�r�rr�r�rc#��K�ddlm}m}tj||��D]@\}}}|t
ur||vr
t
j}n|t
ur||vrt
j}|||fV��AdS)Nr)�ASYFUNCNAME�
ASYVARNAME)�pygments.lexers._asy_builtinsr�r�r�get_tokens_unprocessedrr�r�)�self�textr�r�r~�token�values       r	r�z%AsymptoteLexer.get_tokens_unprocessed�s�����I�I�I�I�I�I�I�I��1�$��=�=�	&�	&��E�5�%���}�}��+�!5�!5��
����$���5�J�#6�#6��
�����%�%�%�%�%�
	&�	&rN)"r�r�r�r�r�r�r�r�r��_wsrrr
rrrr�r�rrrrr
rrrr�Labelrr�r	rOrr�rrr	rr�s���������
�D�
$�C��E�"�G��	�I�#�$�I�'�C��J��
�Z� �
�(�(�4��4�4�5�
&��0�
,�g�6�
�)�&�1�
�6�8�$�
5�v�|�D�
-�v�|�<�
#�V�Z�0�
�f�j�)�
�&�.�)�
!�8�,�
�K�(�
 �(�(�7�E�E�$�K�K��"F�"F�G�I�KR�
S�	,�.5�\�	
;�6�8?�|�
E�#�D�J�/�
�d�#�O(
�T
�G�L�!�!����#�#��X�e�e�D�k�k�4�=�%�%��+�+�u�u�T�{�{�!�#�#�
�

����"�"��X�e�e�D�k�k�4�=�%�%��+�+�u�u�T�{�{�!�#�#�	
$�
�G�K� � �#
�(
�G�L�!�!��G�L�!�!�
�[�!�
�+�v�&�	
�
�G�L�!�!��G�L�!�!�
�+��
�K��)�
�K��(�
��6�6�"�
@�&�-�P�
�F�O�
�6�"�
�f��
�V��
�F�O�
�cZ�Z�F�x&�&�&�&�&rrc������d���d���fd�tt����d��D����S)N�$�|c3�N�K�|]}�d����dz|�zdzV�� dS)N�rNr)�.0�i�dpos�words  ��r	�	<genexpr>z_shortened.<locals>.<genexpr>sU�����9�9����$��K�$�t�A�v�a�x�.�0�5�8�9�9�9�9�9�9r���)�find�join�range�len)r�r�s`@r	�
_shortenedr�sf�����9�9�S�>�>�D��8�8�9�9�9�9�9�"�3�t�9�9�d�B�7�7�9�9�9�9�9�9rc�R�d�tt|����S)Nr�)r��mapr�)rs r	�_shortened_manyr�s���8�8�C�
�E�*�*�+�+�+rc�0�eZdZdZdZdZdgZddgZdgZe	d��e
d	��ed
fedd��ed
fe
d��edfde
eee��dfdefe
d��edfeddd��edfe
d��edfe
d��edfedd��edfed d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0��ed1fed*d+d,d-d.d2��ed3fd4e
ejee��d1fd5e
ejee��d1fd6ejfd7efgd8efd9efd:efed;��gd<ed=fd>efge	d��d7ed;fd?ed;fgd@ed;fdAejfdBefd9efd:efd?ed;fgdCefdDed;fdEefd9efd:efd?ed;fge	d3��d@edFfdDedGfdHejfdIejfdJejfdKefdLefdMejfdNe
ejee��fdOefd6ejfdPe
ee��fg
e	d��edQ�ejd;fgdRed;fe
dS��ejfe	d1��gdTefe	d3��gdUejfe	d��gdVed;fe	d1��gdWejfe
dX��ejfe	d1��gedYdZd[d\d]d^d_d`dadbdcdd��ejfe	d1��gededfdgdh��ejfe	d1��gdi�ZdjS)krzC
    For Gnuplot plotting scripts.

    .. versionadded:: 0.11
    �Gnuplotzhttp://gnuplot.info/�gnuplotz*.plotz*.pltztext/x-gnuplotr�zbi$ndr\zex$itzq$uitr�zf$it�fitz
(if)(\s*)(\()rHzelse\bzpa$use�pause�p$lotzrep$lotzsp$lot�plotzsa$ver�zse$t)�genericargs�	optionargzsh$owzuns$et)�noargsr�zlow$erzra$isezca$llzcd$zcl$earzh$elpz\?$zhi$storyzl$oad�pr$intzpwd$zre$readzres$etzscr$eendumpzshe$llzsy$stemzup$dater�ztest$r�z([a-zA-Z_]\w*)(\s*)(=)z ([a-zA-Z_]\w*)(\s*\(.*?\)\s*)(=)z
@[a-zA-Z_]\w*r�z[^\\\n]rLrMrJ�#�commentz
[ \t\v\f]+r�r
z/\\([\\abfnrtv"\']|x[a-fA-F0-9]{2,4}|[0-7]{1,3})rKz''r�r��dqstring�sqstringz (\d+\.\d*|\.\d+|\d+)[eE][+-]?\d+z(\d+\.\d*|\.\d+)z-?\d+z[,.~!%^&*+=|?:<>/-]z
[{}()\[\]]z	(eq|ne)\bz([a-zA-Z_]\w*)(\s*)(\()r�r�)�za$llzan$gleszar$rowz
au$toscalezb$arszbor$derz	box$widthzcl$abelzc$lipz
cn$trparamzco$ntourzda$taz	data$filezdg$rid3dzdu$mmyz	enc$odingzdec$imalsignzfit$z	font$pathzfo$rmatz	fu$nctionz
fu$nctionszg$ridz	hid$den3dzhis$torysizezis$osampleszk$eyz	keyt$itlezla$belz
li$nestylezls$z	loa$dpathzloc$alez	log$scalezmac$roszmap$pingz
map$ping3dzmar$ginzlmar$ginzrmar$ginztmar$ginzbmar$ginzmo$usez
multi$plotzmxt$icsz	nomxt$icszmx2t$icsz
nomx2t$icszmyt$icsz	nomyt$icszmy2t$icsz
nomy2t$icszmzt$icsz	nomzt$icszmcbt$icsz
nomcbt$icszof$fsetszor$iginzo$utputzpa$rametriczpm$3dzpal$ettez	colorb$oxr�z
poi$ntsizezpol$arr�zobj$ectzsa$mpleszsi$zezst$ylezsu$rfaceztable$�	t$erminalztermo$ptionszti$csz	ticsc$alez
ticsl$evelztimef$mtz
tim$estampztit$le�
v$ariableszve$rsionzvi$ewzxyp$lanezxda$tazx2da$tazyda$tazy2da$tazzda$tazcbda$tazxl$abelzx2l$abelzyl$abelzy2l$abelzzl$abelzcbl$abelzxti$csznoxti$cszx2ti$csz	nox2ti$cszyti$csznoyti$cszy2ti$csz	noy2ti$cszzti$csznozti$cszcbti$csz	nocbti$cszxdti$csz	noxdti$cszx2dti$csz
nox2dti$cszydti$csz	noydti$cszy2dti$csz
noy2dti$cszzdti$csz	nozdti$cszcbdti$csz
nocbdti$cszxmti$csz	noxmti$cszx2mti$csz
nox2mti$cszymti$csz	noymti$cszy2mti$csz
noy2mti$cszzmti$csz	nozmti$cszcbmti$csz
nocbmti$cszxr$angezx2r$angezyr$angezy2r$angezzr$angezcbr$angezrr$angeztr$angezur$angezvr$angez
xzeroa$xiszx2zeroa$xisz
yzeroa$xiszy2zeroa$xisz
zzeroa$xisz	zeroa$xiszz$ero�!zall$windowsz	gnuplot\bzvia\br�z%(mouse|any|button1|button2|button3)\bz	key$presszax$eszaxi$szbin$aryzev$eryzi$ndexzmat$rixzs$moothzthru$zt$itleznot$itlezu$singzw$ithz
f$unctionszs$etr�r�)rr�r�r�r�r�r�r�r\r�r�rHr�r�r�N) r�r�r�r�r�r�r�r�r�rr�r
r�rr
rrr�rrr�rrr	rrOrr�r�Wordrrrrr	rrs����������D�
 �C��k�G��7�#�I�!�"�I�
�G�L�!�!�
�Z��
 �
 �'�6�2�
�_�W�g�
.�
.���@�
�Z��
�
��%�0�
�x�x���{�C�C�T�J�
�� �
�Z��
!�
!�7�G�4�
�_�W�i��
:�
:�G�V�L�
�Z��
 �
 �'�6�2�
�Z��
�
��*F�G�
�_�W�h�
/�
/�
�-�
/�
�_�X�x��%��$�f�j�'�8�#�Y��-�%�y�)�=�=��m�	
%�
�_�V�Y��-�%�w�0�0�
�h�
 �'�
�X�d�m�Z��
:�
:�M�
K�
0�
�X�d�m�Z��
:�
:�M�
K�
�t�}�-�
�7�O�5
�:��!�
�g��
�G���G�F�O�O�
��'�9�%�
�J�'�
�

�G�L�!�!�
�;��'�
�J��'�	
��6�6�"�
?���O�
�6�"�
�f��
�F�O�
�J��'�

��F�O�
�6�6�"�
�6�"�
�f��
�F�O�
�J��'�

�
�G�H���
�6�:�&�
�6�:�&�
0�&�,�?�
 �&�,�/�
�v�~�&�
"�H�-�
�K�(�
�8�=�)�
'�
�X�d�m�T�;�
7�
7�
9�
�d�#�
�t�}�-�
�(�(�4��4�4�5�
�"
�G�L�!�!�
�_�4�4�86:�\�6�9
K�
�B�'�6�"�
�Z�
�
&�
&���5��G�M�"�"�
��7�#��G�H���
�
�t�|�$��G�F�O�O�
�
�K��(��G�M�"�"�
�
6�t�|�D�
�Z��
$�
$�d�l�3��G�M�"�"�
��_�W�g�y�(�H�&�	�7�H�'��7�<�<��\�
�
�G�M�"�"�
��_�\�6�;��
M�
M�
�\�
��G�M�"�"�
�WP�P�F�F�Frrc�0�eZdZdZdZdZdgZddgZdgZdd	e	j
fd
e	jfdej
fedd
d���e	jfeddd���efedd���ejfdejjfdefdejfdejfdefdefdefdefgiZd�ZdS)rzP
    For Persistence of Vision Raytracer files.

    .. versionadded:: 0.11
    �POVRayzhttp://www.povray.org/�povz*.povz*.incz
text/x-povrayrz/\*[\w\W]*?\*/rz(?s)"(?:\\.|[^"\\])+")rArG�debug�declarer	�definerI�elseifrp�error�fclose�fopenrDrH�ifdef�ifndefr�local�macror��read�render�
statisticsrF�undef�version�warningrE�writer�rNrO(9�aa_level�aa_thresholdr{r|�acosh�adaptive�adc_bailout�agate�
agate_turbr}�alpha�ambient�
ambient_light�angle�aperture�	arc_angle�
area_light�ascr��asinh�
assumed_gammar�r��atanh�
atmosphere�atmospheric_attenuation�attenuating�average�
background�
black_hole�blue�blur_samples�
bounded_by�box_mapping�bozorA�brick�
brick_size�
brightness�
brilliance�bumps�bumpy1�bumpy2�bumpy3�bump_map�	bump_sizerG�causticsr��checker�chr�
clipped_by�clock�color�	color_map�colour�
colour_map�	component�	compositer`�
confidence�conic_sweep�constant�control0�control1r�r��count�crackle�crand�cube�cubic_spline�cylindrical_mappingrrr	r��dents�diffuse�	directionr��distance_maximumrm�dust�	dust_type�eccentricityrI�emittingrpr�error_boundr��exponent�
fade_distance�
fade_power�falloff�
falloff_anglerT�file_existsr��finish�fisheye�flatness�flipr��focal_point�fog�fog_alt�
fog_offset�fog_type�	frequency�gif�global_settings�glowing�gradient�granite�gray_threshold�green�halo�hexagon�
hf_gray_16�	hierarchy�hollow�hypercomplexrHr	�iff�	image_map�	incidencerr_�interpolate�inverse�ior�irid�irid_wavelength�jitter�lambda�leopardr�
linear_spline�linear_sweep�locationr��
looks_like�look_at�low_error_factor�mandel�map_type�marble�material_maprCr��max_intersections�
max_iteration�max_trace_level�	max_value�metallicr��
minimum_reuser��mortar�
nearest_count�no�normal�
normal_map�	no_shadow�number_of_waves�octaves�off�offset�omega�omnimax�on�once�onion�open�orthographic�	panoramic�pattern1�pattern2�pattern3�perspective�pgm�phase�phong�
phong_size�pi�pigment�pigment_map�planar_mapping�png�point_at�potr��ppmr9�pwr�quadratic_spline�
quaternion�quick_color�quick_colour�quilted�radialr��	radiosity�radius�rainbow�	ramp_waver�r��
reciprocal�recursion_limit�red�
reflection�
refractionrr��rgb�rgbf�rgbft�rgbt�right�ripplesr��	roughness�samplesr��scallop_wave�
scattering�seed�
shadowlessr��	sine_waver��sky�
sky_sphere�slice�	slope_mapr0�specular�spherical_mapping�spiral�spiral1�spiral2�	spotlight�spotted�sqrr�r�str�strcmp�strength�strlen�strlwr�strupr�sturm�substrrF�sys�tr�r��
test_camera_1�
test_camera_2�
test_camera_3�
test_camera_4r*�texture_map�tga�	thickness�	threshold�	tightness�tile2�tiles�trackr�r��transmit�
triangle_waverS�ttf�
turbulence�
turb_depth�type�ultra_wide_angle�up�	use_color�
use_colour�	use_index�u_steps�val�variance�vaxis_rotate�vcross�vdotr�vlength�
vnormalize�
volume_object�volume_rendered�vol_with_light�vrotate�v_stepsr�warp�water_level�wavesrE�width�wood�wrinkles�yes)�
bicubic_patch�blob�box�camera�cone�cubic�cylinder�
difference�disc�height_field�intersection�
julia_fractal�lathe�light_source�merge�mesh�object�plane�poly�polygon�prism�quadric�quartic�smooth_triangle�sor�sphere�superellipsoidr��torusr+r�r�z\b(x|y|z|u|v)\br�z[0-9]*\.[0-9]+z[0-9]+z[\[\](){}<>;,]z[-+*/=.|&]|<=|>=|!=r�r�c�R�d}d|vr|dz
}d|vr|dz
}d|vr|dz
}d|vr|dz
}|S)atPOVRAY is similar to JSON/C, but the combination of camera and
        light_source is probably not very likely elsewhere. HLSL or GLSL
        are similar (GLSL even has #version), but they miss #declare, and
        light_source/camera are not keywords anywhere else -- it's fair
        to assume though that any POVRAY scene must have a camera and
        lightsource.rz#versiong�������?z#declarerrg�������?r)r��results  r	�analyse_textzPovrayLexer.analyse_texts^���������d�N�F������d�N�F��t����d�N�F��T�!�!��c�M�F��
rN)r�r�r�r�r�r�r�r�r�rr�r�r�Doublerr�r
rr�Pseudorr�rrrrrr0rrr	rr�sa��������
�D�
"�C��g�G��'�"�I� �!�I�	�
�� 1�2�
�w�~�&�
%�v�}�5�
�U��
"&�e�5�5�5��_�

��U�0+�`49��a0H�0H�0H�b�c1
�d�U�6�
?D�E�E�E��\�

� ���!4�5�
�d�#�
���-�
���'�
��,�
#�X�.�
(�&�1�
�Z� �WL
�N�F�`����rrN)r��pygments.lexerrrrrrrr	�pygments.tokenr
rrr
rrrrr�__all__rrrrr�r�rrrrr	�<module>r6sC����������������������,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�-�-�-��@�@�@�@�@�J�@�@�@�FW�W�W�W�W�j�W�W�W�t\�\�\�\�\�j�\�\�\�~s&�s&�s&�s&�s&�Z�s&�s&�s&�l9�9�9�,�,�,�]�]�]�]�]�:�]�]�]�@m�m�m�m�m�*�m�m�m�m�mr