
                         |   S r SSKrSSKJrJrJrJrJrJrJ	r	J
r
Jr  SSKJrJrJrJrJrJrJrJrJr  / SQr " S S\5      r " S S	\5      r " S
 S\5      r\r " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r  " S S\5      r! " S S\5      r" " S S\5      r#g)z
pygments.lexers.dsls
~~~~~~~~~~~~~~~~~~~~

Lexers for various domain-specific languages.

:copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS.
:license: BSD, see LICENSE for details.
    N)	ExtendedRegexLexer
RegexLexerbygroupswordsincludedefaultthisusingcombined)	TextCommentOperatorKeywordNameStringNumberPunctuation
Whitespace)ProtoBufLexer	ZeekLexerPuppetLexerRslLexerMscgenLexerVGLLexer
AlloyLexerPanLexer
CrmshLexerThriftLexerFlatlineLexerSnowballLexerc                      \ rS rSrSrSrSrSS/rS/rS\	4S	\
4S
\R                  4S\R                  4\" SSSS9\4\" SSS9\R                   4S\R"                  4S\" \R&                  \	5      S4S\" \R(                  \	5      S4S\" \R(                  \	5      S4S\4S\4S\R.                  4S\R.                  4S\R.                  4S\R0                  4S\R2                  4S\R4                  4S \4S!\" \R:                  \	\5      4S"\4/S#\R&                  S$4\" S$5      /S#\R>                  S$4\" S$5      /S#\S$4\" S$5      /S%.r S&r!g')(r      zD
Lexer for Protocol Buffer definition files.

.. versionadded:: 1.4
zProtocol Bufferz/https://developers.google.com/protocol-buffers/protobufprotoz*.protoz[ \t]+z[,;{}\[\]()<>]z/(\\\n)?/(\n|(.|\n)*?[^\\]\n)z/(\\\n)?\*(.|\n)*?\*(\\\n)?/)importoptionoptionalrequiredrepeatedreservedr   packedctype
extensionstomaxrpcreturnsoneofsyntax\bprefixsuffix)int32int64uint32uint64sint32sint64fixed32fixed64sfixed32sfixed64floatdoubleboolstringbytesr7   (true|false)\bz(package)(\s+)packagez(message|extend)(\s+)messagez(enum|group|service)(\s+)typez\".*?\"z\'.*?\'z'(\d+\.\d*|\.\d+|\d+)[eE][+-]?\d+[LlUu]*z(\d+\.\d*|\.\d+|\d+[fF])[fF]?z(\-?(inf|nan))\bz0x[0-9a-fA-F]+[LlUu]*z0[0-7]+[LlUu]*z
\d+[LlUu]*z[+-=]z([a-zA-Z_][\w.]*)([ \t]*)(=)z[a-zA-Z_][\w.]*[a-zA-Z_]\w*#pop)rootrI   rJ   rK    N)"__name__
__module____qualname____firstlineno____doc__nameurlaliases	filenamesr   r   r   Single	Multiliner   r   TypeConstantr   	NamespaceDeclarationr   r   FloatHexOctIntegerr   r   	Attributer   Classtokens__static_attributes__rO       'lib/third_party/pygments/lexers/dsls.pyr   r      s    D
;C7#GI 
#,-w~~>,g.?.?@ < EJRWY 	
  > GLM \\	
  0 01):):J GS%g)):6	C)g)):6@  7F-v||< &,,/%vzz2

+FNN+x ,dnnj(;=&A!
F dnnf5FO

 djj&1FO

 dF+FO
W/Frg   r   c                   x   \ rS rSrSrSrSrS/rS/rS/r	\
" S5      \
" S	5      S
\R                  \" SS5      4S\R                  \" SS5      4S\" \R"                  \5      S4S\" \R&                  \5      S4S\" \" \5      \R.                  \\5      4\
" S5      \
" S5      S\4S\4S\4/S\4S\4/S\4S\4S\R6                  4/S\R8                  4/S
\R                  S4S \R                  4/S!\R                  S4S"\R                  4/S#\R"                  S4\" S5      /S$\R<                  S4\" S5      /S%\4S&\R>                  4S'\R&                  4\ " S(S)S*9\R"                  4\ " S+S)S*9\RB                  4\ " S,S)S)S-9\RD                  4/S.\#RH                  4S/\#RJ                  4S0\#RL                  4/S1.
r'S2r(g3)4r   U   z:
For Thrift interface definitions.

.. versionadded:: 2.1
Thriftzhttps://thrift.apache.org/thriftz*.thriftzapplication/x-thrift
whitespacecomments"stringescapedqsz\'sqsz(namespace)(\s+)	namespacez*(enum|union|struct|service|exception)(\s+)classzE((?:(?:[^\W\d]|\$)[\w.\[\]$<>]*\s+)+?)((?:[^\W\d]|\$)[\w$]*)(\s*)(\()keywordsnumbersz[&=]z[:;,{}()<>\[\]]z[a-zA-Z_](\.\w|\w)*\n\s+#.*$z//.*?\n/\*[\w\W]*?\*/z\\([\\nrt"\'])rM   z	[^\\"\n]+'z
[^\\\'\n]+z[a-z*](\.\w|\w)*rL   z1(async|oneway|extends|throws|required|optional)\brH   z(const|typedef)\b)cpp_namespacecpp_includecpp_typejava_packagecocoa_prefixcsharp_namespacedelphi_namespacephp_namespace	py_moduleperl_packageruby_namespacesmalltalk_categorysmalltalk_prefixxsd_allxsd_optionalxsd_nillablexsd_namespace	xsd_attrsr   r4   rG   )voidrD   bytei16i32i64rC   rE   binarymaplistsetslistsenum)eBEGINEND	__CLASS____DIR____FILE____FUNCTION____LINE__
__METHOD____NAMESPACE__abstractaliasandargsasassertbeginbreakcasecatchrt   clonecontinuedeclaredefr   deldeletedodynamicelifelseelseifelsifend
enddeclareendfor
endforeachendif	endswitchendwhileensureexceptexecfinallyrB   forforeachfunctionglobalgotoif
implementsr%   ininline
instanceof	interfaceislambdamodulenativenewnextnilnotorpasspublicprintprivate	protectedraiseredorescueretryregisterreturnselfsizeofstaticsuperswitchsynchronizedthenr	   throw	transienttryundefunlessunsigneduntilusevarvirtualvolatilewhenwhilewithxoryieldr5   z1[+-]?(\d+\.\d+([eE][+-]?\d+)?|\.?\d+[eE][+-]?\d+)z[+-]?0x[0-9A-Fa-f]+z[+-]?[0-9]+)
rN   rm   rn   rp   rq   rr   rs   rt   ru   rv   rO   N))rP   rQ   rR   rS   rT   rU   rV   rW   rX   	mimetypesr   r   Doubler   rY   r   r   r]   r   r^   r
   r	   r   Functionr   r   r   rZ   Escaper   rd   r\   r   r[   Reservedr   r_   r`   rb   re   rf   rO   rg   rh   r   r   U   s   
 D
&CjGI'(I L!J6==(>5"ABFMM8NE#BC **J7F:,,j97D eDk4==*hGI JIh-#T*#
( JZ 

 g! 1 12
 .
 6==&)6==)

 6==&)FMM*

 !$..&9FO

 djj&1FO

 B7K 0 01!7#6#67 ( 167     "'( \\	
  E$ U%,& '#%
N B6<<P#VZZ0V^^,
m[Frg   r   c                      \ rS rSrSrSrSrSS/rSS/rS	r	S
r
Sr\" S5      \" S5      \" S5      \" S5      \" S5      \" S5      \" S5      \" S5      \" S5      S\R                  4\" S5      /S\4S\4S\" \\5      4/S\4/S\R&                  4S\R&                  4S\" \R&                  \\R&                  5      4/\" SSS S!9\R,                  4/\" S"S S#9\R.                  4S$\" \R.                  \\R2                  \\R.                  5      4S%\" \\\R4                  \\\\R.                  5      4S&\" \\\\\5      4S'\" \\\R.                  \\R4                  5      4/\" S(S S#9\4S)\4S*\R6                  4S+\" \R8                  \\R8                  5      4/S,\S-4S.\R<                  S/4S0\R>                  4S1\ 4S2\ 4S3\ 4S4\	-   S5-   \ RB                  4\
S6-   \ RD                  4\
S -   \ RD                  4S7\ RF                  4\S8-   \-   S9-   \4/S:\4S;\4S<\R2                  4S=\4/S>\$4S?\$4/S@\" \\$5      4SA\4/SB\RJ                  4SC\RJ                  4S,\SD4SE\4/SB\RJ                  4SF\R<                  SD4SE\R<                  4/SG.r&SHr'gI)Jr      z*
For Zeek scripts.

.. versionadded:: 2.5
Zeekzhttps://www.zeek.org/zeekbroz*.zeekz*.broz[0-9a-fA-F]z(((\d*\.?\d+)|(\d+\.?\d*))([eE][-+]?\d+)?z[A-Za-z0-9][-A-Za-z0-9]*rm   rn   
directives
attributestypesru   literals	operatorspunctuationz2((?:[A-Za-z_]\w*)(?:::(?:[A-Za-z_]\w*))*)(?=\s*\()identifiersrw   rx   z(\\)(\n)ry   z)@(load-plugin|load-sigs|load|unload)\b.*$z=@(DEBUG|DIR|FILENAME|deprecated|if|ifdef|ifndef|else|endif)\bz(@prefixes)(\s*)((\+?=).*)$)redefprioritylogr'   r   add_funcdelete_funcexpire_funcread_expirewrite_expirecreate_expirer   
persistentrotate_intervalrotate_sizeencrypt
raw_output	mergeableerror_handlertype_column
deprecated&r4   r5   )anyenumrecordr   tablevectorr   hookeventaddrrD   countrC   fileintintervalpatternportrE   subnettimerG   zA(opaque)(\s+)(of)(\s+)((?:[A-Za-z_]\w*)(?:::(?:[A-Za-z_]\w*))*)\bzR(type)(\s+)((?:[A-Za-z_]\w*)(?:::(?:[A-Za-z_]\w*))*)(\s*)(:)(\s*)\b(record|enum)\bz<(type)(\s+)((?:[A-Za-z_]\w*)(?:::(?:[A-Za-z_]\w*))*)(\s*)(:)zI(redef)(\s+)(record|enum)(\s+)((?:[A-Za-z_]\w*)(?:::(?:[A-Za-z_]\w*))*)\b)r
  exportr   r   r   r   r   r   r   r   fallthroughr   r   r   addr   r   timeoutschedulez	(print)\bz(global|local|const|option)\bz4(module)(\s+)(([A-Za-z_]\w*)(?:::([A-Za-z_]\w*))*)\bro   rE   z/(?=.*/)regexz(T|F)\bz \d{1,5}/(udp|tcp|icmp|unknown)\bz(\d{1,3}.){3}(\d{1,3})\bzH\[([0-9a-fA-F]{0,4}:){2,7}([0-9a-fA-F]{0,4})?((\d{1,3}.){3}(\d{1,3}))?\]z0[xX]z+\bz!\s*(day|hr|min|sec|msec|usec)s?\bz(\d+)\bz(\.z)+z[!%*/+<=>~|&^-]z([-+=&|]{2}|[+=!><-]=)z(in|as|is|of)\bz\??\$z[{}()\[\],;.]z[?:]z([a-zA-Z_]\w*)(::)rL   z\\.z%-?[0-9]*(\.[0-9]+)?[DTd-gsx]rM   ./)rN   rm   rn   r  r  r  ru   r  r  r  r	  rE   r2  rO   N)(rP   rQ   rR   rS   rT   rU   rV   rW   rX   _hex_float_hr   r   r   r   r   r   r   Preprocr   r   Pseudor[   r   Wordrd   r^   r]   r   Regexr\   r   r`   r_   rb   r   r   re   rf   rO   rg   rh   r   r      s   
 D
!CuoG7#ID8F	$B L!JL!L!GJJK M"BM"
  JZ (445
 g

 :7??KMw_+XgooGOO.- .
  1
 E+ ^^
  C
  \\ Rz8==*gll[] c*djj*hPZ\c\h\hik M*dJIK Z*gllJ

SU%
.  3
   7#-w/B/BCD**JGI
 68$
 &,,0))* 1&9 )&1 YZ`a _v%vzz2::FLLIe^V\\*( &[2%v.5
<  *&1/x 	
 {+
 k"
 #HT;$?@d#
 V]]#-v}}=66"6N	
 V]]#6<<(6<< 
QMFrg   r   c                      \ rS rSrSrSrSrS/rS/r\	" S5      \	" S5      \	" S	5      \	" S
5      \	" S5      \	" S5      S\
4S\4/S\" \\5      4S\R                  4/S\4S\R                   4/S\R$                  4S\" \R&                  \
\\
5      4S\R&                  4/S\R,                  4S\R,                  4S\R.                  4S\R0                  4S\R2                  R4                  4S\R2                  4/\" SSSS9\4/S \4S!\4/S".rS#rg$)%r   ia  z6
For Puppet configuration DSL.

.. versionadded:: 1.6
Puppetzhttps://puppet.com/puppetz*.pprn   ru   namesrv   r  stringsz[]{}:(),;[]rx   z(\s*)(#.*)$z/(\\\n)?[*](.|\n)*?[*](\\\n)?/z(=>|\?|<|>|=|\+|-|/|\*|~|!|\|)z(in|and|or|not)\brL   z(\$\S+)(\[)(\S+)(\])z\$\S+z'(\d+\.\d*|\d*\.\d+)([eE][+-]?[0-9]+)?j?z\d+[eE][+-]?[0-9]+j?z	0[0-7]+j?z0[xX][a-fA-F0-9]+z\d+Lz\d+j?)mabsentalertr   auditaugeasbeforer   checkrt   computer
configured	containedcreate_resourcescritcrondebugr   definedefined	directoryr   r   emergerrr   	extlookupfailfalser&  
filebucket	fqdn_randgeneratehostr   r%   r   infoinheritsinline_template	installedr   k5loginlatestlinkloglevelmacauthorization	mailaliasmaillistmcxmd5mountmountednagios_commandnagios_contactnagios_contactgroupnagios_hostnagios_hostdependencynagios_hostescalationnagios_hostextinfonagios_hostgroupnagios_servicenagios_servicedependencynagios_serviceescalationnagios_serviceextinfonagios_servicegroupnagios_timeperiodnodenoopnoticenotifyrI   presentpurgedrealizeregsubst	resourcesrolerouterrunningr1  scheduled_tasksearch
selboolean	selmoduleservicesha1
shellquotesplitsprintfssh_authorized_keysshkeystagestopped	subscribetagtaggedtemplatetidytruer   	unmounteduser
versioncmpvlanwarningyumrepozfszonezpoolz(?i)r4   r5   z	"([^"])*"z'(\\'|[^'])*')rN   rn   r  r?  rv   ru   r@  rO   N)rP   rQ   rR   rS   rT   rU   rV   rW   rX   r   r   r   r   r   rZ   r   r:  r   rc   Variabler   r   r_   ra   r`   rb   Longr   r   re   rf   rO   rg   rh   r   r   a  s~   
 D
CjGI JJGIK I[)Z 

 Xj':;.0A0AB
 /9!8==1
 dnn-$ht}}k/5{'D Et}}%	
 8F$fll36::&!6::.fnn))*v~~&
  , "(-7. /
< 6"v&
KJFrg   r   c                      \ rS rSrSrSrSrS/rS/rS/r	\
R                  \
R                  -  rS\" S	S
S
S9\4S\R                   4S\4S\4S\4S\4S\" \\R*                  \\R*                  5      4S\" \\R*                  \\\\5      4S\R.                  4S\R0                  4S\4S\R4                  4S\4S\R:                  4S\R<                  4S\R>                  4S\4S\4/0r S r!Sr"g) r   i  z
RSL is the formal specification
language used in RAISE (Rigorous Approach to Industrial Software Engineering)
method.

.. versionadded:: 2.0
RSLz"http://en.wikipedia.org/wiki/RAISErslz*.rslztext/rslrN   )JBoolCharIntNatRealr   Unitabsallalwaysr  r   axiomcardr   channelchaosrt   devt_relationdomelemsr   r   r   existsextendrU  r   hdhider   r   r   inds
initialiser'  interisinlenletlocalltl_assertionobjectofoutpostprereadrealrngschemeskipstopswapr   theory	test_casetltransition_systemr  rK   unionr   r   valuevariabler   r   writez~isinz-inflistz-infsetz-listz-setr4   r5   z(variable|value)\bz--.*?\nz<:.*?:>z	\{!.*?!\}	/\*.*?\*/z^([ \t]*)([\w]+)([ \t]*)(:[^:])z5(^[ \t]*)([\w]+)([ \t]*)(\([\w\s,]*\))([ \t]*)(is|as)z\b[A-Z]\w*\brH   z".*"z\'.\'zq(><|->|-m->|/\\|<=|<<=|<\.|\|\||\|\^\||-~->|-~m->|\\/|>=|>>|\.>|\+\+|-\\|<->|=>|:-|~=|\*\*|<<|>>=|\+>|!!|\|=\||#)z [0-9]+\.[0-9]+([eE][0-9]+)?[fd]?z0x[0-9a-f]+[0-9]+rx   r3  c                 T    [         R                  " SU [         R                  5      b  gg)z@
Check for the most common text in the beginning of a RSL file.
zscheme\s*.*?=\s*class\s*typeNg      ?)rer  I)texts    rh   analyse_textRslLexer.analyse_text  s%     994dBDDAM Nrg   rO   N)#rP   rQ   rR   rS   rT   rU   rV   rW   rX   r   r  	MULTILINEDOTALLflagsr   r   r^   r   r   r   r   r   r   r[   r\   r   r  r   r   r_   r`   rb   re   r  rf   rO   rg   rh   r   r     sT    D
.CgG	IILL299$E 	  !&e5  #G$7$78!!7#7#/*z4==2: ;Ej$--TW&' gll+ 0 01fv{{#F 1&,,?VZZ('Z 4LG$
&FPrg   r   c                   x   \ rS rSrSrSrSrSS/rS/rSr	S	\
R                  4S
\R                  4S\R                  4S\
4S\4S\R                   4\	\R"                  4S\S4S\4\" S5      /
S\S4\	S-   \	-   \" \R*                  \\\\5      4S\4\" S5      /S\R2                  4S\R4                  4S\4/S.rSrg)r   i  z*
For Mscgen files.

.. versionadded:: 1.6
Mscgenz!http://www.mcternan.me.uk/mscgen/mscgenmscz*.mscz(\w+|"(?:\\"|[^"])*")zmsc\bzO(hscale|HSCALE|width|WIDTH|wordwraparcs|WORDWRAPARCS|arcgradient|ARCGRADIENT)\bz)(abox|ABOX|rbox|RBOX|box|BOX|note|NOTE)\bz(\.|-|\|){3}zT(?:-|=|\.|:){2}|<<=>>|<->|<=>|<<>>|<:>|->|=>>|>>|=>|:>|-x|-X|<-|<<=|<<|<=|<:|x-|X-|=z\*z\[attrsz	\{|\}|,|;rn   z\]rM   z(\s*)(=)(\s*),z(?://|#).*?\nz/\*(?:.|\n)*?\*/z
[ \t\r\n]+)rN   r  rn   rO   N)rP   rQ   rR   rS   rT   rU   rV   rW   rX   _varr   r[   r   Propertyr   r:  Builtinr  r   r   r   rc   r   r   r   rY   rZ   re   rf   rO   rg   rh   r   r     s#   
 D
-CG	I#D w||$,-1]]< :8==Ig&) +34
 DLL!4==!K);'J%
* K($$t+dnnj(J ;J
 w~~. '"3"34J'
;"Frg   r   c                       \ rS rSrSrSrSrS/rS/r\	R                  \	R                  -  \	R                  -  rSS\R                  4S	\R"                  4S
\4S\R"                  4S\4S\4S\" \\R,                  5      4S\4S\4S\4S\4/0rSrg)r   i+  z;
For SampleManager VGL source code.

.. versionadded:: 1.6
VGLz-http://www.thermoscientific.com/samplemanagervglz*.rpfrN   z	\{[^}]*\}r   z(if|then|else|endif|while|do|endwhile|and|or|prompt|object|create|on|line|with|global|routine|value|endroutine|constant|global|set|join|library|compile_option|file|exists|create|copy|delete|enable|windows|name|notprotected)(?! *[=<>.,()])z$(true|false|null|empty|error|locked)z[~^*#!%&\[\]()<>|+=:;,./?-]z"[^"]*"z(\.)([a-z_$][\w$]*)z&[0-9][0-9]*(\.[0-9]+(e[+\-]?[0-9]+)?)?z[a-z_$][\w$]*z[\r\n]+rx   rO   N)rP   rQ   rR   rS   rT   rU   rV   rW   rX   r  r  r  
IGNORECASEr  r   rZ   r   r\   r   r   r   r   rc   r   r   re   rf   rO   rg   rh   r   r   +  s    
 D
9CgG	ILL299$r}}4E 	7,,-))*I 	
 5g6F6FG+X6 #Xh%GH6?t$$Z 
Frg   r   c                   N   \ rS rSrSrSrSrS/rS/rS/r	\
R                  \
R                  -  rSrS	rS
\4rS\S4\\4\S\4S\S4/\\\S4/\S\S4\\S4/\" S5      \\S4/S\R2                  4S\R2                  4S\R4                  4\S\" \R8                  \5      S4S\" \R:                  \5      S4S\R<                  4S\R>                  4S\4S\4S\4S\4S\4S\R@                  4S\" \\5      S4S \" \\5      S!4S"\4S#\4\\4S$\4S%\!RD                  4\\4S&\4/S'.r#S(r$g))*r   iM  z/
For Alloy source code.

.. versionadded:: 2.0
Alloyzhttp://alloy.mit.edualloyz*.alsztext/x-alloyz[a-zA-Z_][\w]*"*z"\b(\\\\|\\[^\\]|[^"\\])*"z[^\S\n]+z(extends)\brM   r  \{funz--.*?$z//.*?$r  z(module|open)(\s+)r   z(sig|enum)(\s+)sigz(iden|univ|none)\bz(int|Int)\bz2(var|this|abstract|extends|set|seq|one|lone|let)\bz"(all|some|no|sum|disj|when|else)\bz-(run|check|for|but|exactly|expect|as|steps)\bz)(always|after|eventually|until|release)\bz,(historically|before|once|since|triggered)\bz(and|or|implies|iff|in)\bz(fun|pred|assert)(\s+)z(fact)(\s+)factz&!|#|&&|\+\+|<<|>>|>=|<=>|<=|\.\.|\.|->z[-+/*%=<>&!^|~{}\[\]().\';]z[:,]r  rw   )r  r   r  r  rN   rO   N)%rP   rQ   rR   rS   rT   rU   rV   rW   rX   r   r  r  r  r  iden_rex
string_rexr   
text_tupler   r   r   r   r   r   r   rY   rZ   r   r]   r^   r\   r[   r:  r   rb   re   rf   rO   rg   rh   r   r   M  s    D
 CiG	I ILL299$E"H.Jz*J Wf-t;Hf%
 tV$

 Hf%tV$
 EN(

 ''7,,-"HW->->
$K'*=*=z!JER"G$4$45W\\*BGL2G<=wG97C<gF)8==9&*(EuMXgz:FC6A+X6tk"' J1
+/Frg   r   c                      \ rS rSrSrSrSrS/rS/r\	" S5      S\
S	4S
\
S4\	" S5      /\" SSSS9\
4\" SSSS9\R                  4S\4S\R                   4S\" \R$                  \\5      4S\4S\4S\4/S\R,                  4S\R.                  4S\4S\4S\4/S\
S4S\
4S\R$                  4S \4S!\4\	" S"5      /S#\
S4\	" S"5      /S$.rS%rg&)'r   i  zJ
Lexer for pan source files.

Based on tcsh lexer.

.. versionadded:: 2.0
Panzhttps://github.com/quattor/pan/panz*.panbasicz\(parenr  curlydata)r   r   r   r   rK   bindr   validfinalr6   uniquer  r   r   r  r   r  	structure
extensibledeclarationr4   r5   )4file_contentsformatindexlengthmatchmatchesreplacesplicer  substrto_lowercaseto_uppercaserM  error	tracebackr  base64_decodebase64_encodedigestescapeunescapeappendcreatefirstnlistkeyr   merger   prepend
is_boolean
is_defined	is_doubleis_listis_longis_nlistis_null	is_numberis_propertyis_resource	is_string
to_boolean	to_doubleto_long	to_stringr   r   r  path_exists	if_existsr   r  z#.*z\\[\w\W]z(\b\w+)(\s*)(=)z[\[\]{}()=]+z<<\s*(\'?)\\?(\w+)[\w\W]+?\2;z!(?s)"(\\\\|\\[0-7]+|\\.|[^"\\])*"z!(?s)'(\\\\|\\[0-7]+|\\.|[^'\\])*'rx   z[^=\s\[\]{}()$"\'`\\;#]+z\d+(?= |\Z)z\}rM   z:-z\w+z[^}:"\'`$]+:rN   \))rN   r  r  r  r  rO   N)rP   rQ   rR   rS   rT   rU   rV   rW   rX   r   r   r   r   r  r   r   r   r   r  r   r   r   r   rY   r   r   re   rf   rO   rg   rh   r   r     sk    D
+CgG	I GGW%GW%FO	
  R U	,
   	? U
, \\ W&--($--X!NOh',f5;1
6 26==A16==AZ ($/V$
 GV$GT]]#[);FO
 GV$FO
a4Frg   r   c                      \ rS rSrSrSrSrSS/rSS/r/ r	\
" S	S
S9r\
" SS
S9r\
" SS
S9r\
" SS
S9r\
" SS
S9r\
" SS
S9rSrSrSrSrSS\" \\5      4S\" \R2                  \\5      4S\" \\\\5      4S\4\\4\\4\\4S\< S\< S3\R>                  4\\R>                  4\\R>                  4\\R>                  4S\R@                  4S\-  \" \\\5      4S\-  \" \\\R>                  5      4S \4S!\4/0r!S"r"g#)$r   i  zT
Lexer for crmsh configuration files for Pacemaker clusters.

.. versionadded:: 2.1
Crmshzhttp://crmsh.github.io/crmshpcmkz*.crmshz*.pcmk)rw  	primitivegroupr   mslocation
colocationorderfencing_topology
rsc_ticketrsc_templatepropertyrsc_defaultsop_defaults
acl_target	acl_groupr  r  r  z(?![\w#$-])rG   )paramsmeta
operationsopruler  utilization)r  r  deny)r   r   )rO  not_defined)in_rangedatespecr   z*(?:tag|ref|reference|attribute|type|xpath)z(?:lt|gt|lte|gte|eq|ne)z(?:string|version|number)z:(?:Master|Started|Slave|Stopped|start|promote|demote|stop)rN   z^(#.*)(\n)?z!([\w#$-]+)(=)("(?:""|[^"])*"|\S+)z(node)(\s+)([\w#$-]+)(:)z([+-]?([0-9]+|inf)):z(?:z:)?(z)(?![\w#$-])z#[a-z]+(?![\w#$-])z(%s)(:)("(?:""|[^"])*"|\S+)z!([\w#$-]+)(?:(:)(%s))?(?![\w#$-])z(\\(?=\n)|[\[\](){}/:@])z\s+|\nrO   N)#rP   rQ   rR   rS   rT   rU   rV   rW   rX   r   r   elemsubaclbin_relun_opsdate_expacl_modbin_opsval_qualrsc_role_actionr   r   r   r   rc   r   r   r   r   r   r:  r  re   rf   rO   rg   rh   r   r     s   
 D
#CGH%II 
 &'D  %-;=C ).
ACM.9G-nEF7OH<G)G,H5O 	Xgz:;1f=?
 )*dK@B %f-7O'N'N+3W=x}}Mhmm$X]]#x}}%"DLL1+g5g{D13 2OCdK79 )+6
#C"
$Frg   r   c                   L   \ rS rSrSrSrSrS/r/ rS/r	Sr
SrS	rS
S\4S\4S\R                   4S\R"                  4S\R$                  4S\4S\R(                  4S\R*                  4\" \
SS9\4\" \SS9\R2                  4S\-   \R4                  4\\R6                  4S\4/0rSrg)r   i  z8
Lexer for Flatline expressions.

.. versionadded:: 2.2
Flatlinez$https://github.com/bigmlcom/flatlineflatlineztext/x-flatline)r  )z!=*+-<z<==>z>=r  acosr  zall-butzall-with-defaultszall-with-numeric-defaultr   asinatanavgz
avg-windowz
bin-centerz	bin-countcallzcategory-countceilcondzcond-windowconscoscoshr%  zdiff-windowdivzensure-valuezensure-weighted-valueepochz	epoch-dayzepoch-fieldsz
epoch-hourzepoch-millisecondzepoch-minutezepoch-monthzepoch-secondzepoch-weekdayz
epoch-yearexpffieldz
field-propfieldsfilterr  floorheadr   r   integerlanguager  levenshteinzlinear-regressionr   lnr  log10r   r	  zmatches?r/   maximumrf  meanmedianminminimummissingzmissing-countzmissing?missing_countmodmode	normalizer   nthoccurrencesr   
percentilezpercentile-label
populationzpopulation-fractionpow	preferredz
preferred?zquantile-labelrandzrand-intzrandom-valuezre-quoter  r
  zreplace-firstrestroundz
row-numberzsegment-labelr  sha256sinsinhsqrtsquarezstandard-deviationstandard_deviationstrsubssumzsum-squaresz
sum-windowsum_squaressummaryz
summary-nozsummary-strtailtantanhz
to-degreesz
to-radiansvariance	vectorizezweighted-random-valuewindowwinnowzwithin-percentiles?zz-scorez(?!#)[\w!$%*+<=>?/.#-]+rN   z[,]+rx   z
-?\d+\.\d+z-?\d+z0x-?[a-f\d]+z"(\\\\|\\[^\\]|[^"\\])*"z\\(.|[a-z]+)_ rG   z(?<=\()z(\(|\))rO   N)rP   rQ   rR   rS   rT   rU   rV   rW   rX   r   special_formsbuiltins
valid_namer   r   r   r_   rb   r`   r   r  Symbolr   r   r   r  r   r  r   re   rf   rO   rg   rh   r   r     s    
 D
0ClGI"#IMH2 ,J 	dOZ  FLL)v~~&fjj) )&1fkk* 6==! =-w7 8C($,,7 *$dmm4 ' %=
!Frg   r   c                   b   \ rS rSrSrSrSrS/rS/rSr	S r
S	 rS
 rS r\" SSS9\R                   4\" S5      /S\	-  \4S\R(                  4S\R,                  S4S\4S\R2                  4S\R,                  4S\4\" SSS9\R6                  4\" SSS9\R6                  S4\" SSS9\R                   4\" SSS9\R:                  4S\	< S\	< S3\" \R6                  \\R>                  5      4S \	< S!\	< S"3\4S#\4/S$\S%4\" SSS9\S&4\" S5      /S'\" S(5      4/S'\" S)5      4/S*.r S.S, jr!S-r"g+)/r    ij  z8
Lexer for Snowball source code.

.. versionadded:: 2.2
Snowballzhttp://snowballstem.org/snowballz*.sblz\n\r\t c                 R    U R                  5         [        R                  " U 40 UD6  g N)_reset_stringescapesr   __init__)r   optionss     rh   r  SnowballLexer.__init__x  s!    !!###D4G4rg   c                      SU l         SU l        g )Nr{   )_start_end)r   s    rh   r  "SnowballLexer._reset_stringescapes|  s    	rg   c                    ^  U 4S jnU$ )Nc              3     >#    UR                  5       nUR                  5       n[        R                  " S[        R                  " U R
                  5      -  5      R                  n[        R                  " S[        R                  " U R                  5      -  5      R                  nSnT	nU[        U5      :  Ga|  U(       a  U" XG5      nX1R                  S5      -   [        R                  UR                  S5      4v   UR                  S5      S:X  aP  X1R                  S5      -   [        R                  UR                  S5      4v   UR                  R                  5         OX1R                  S5      -   [        R                  UR                  S5      4v   UR                  5       nU" XG5      nX1R                  5       -   [        R                  UR                  5       4v   UR                  S5      U R                  :w  a  SUR                  S'   O$UR                  5       nSnU[        U5      :  a  GM|  X1R                  5       -   Ul        g 7f)	Nz([^%s]*)(.)r         r{   r  T)startr6  r  compiler  r  r  r  r  r   rY   stackpopr   r   pos)
lexerr  ctxsr  rE   r  r  	do_stringdo_string_firsts
            rh   callback'SnowballLexer._string.<locals>.callback  s    A;;=DZZ5<<1H HIOOFZZ5::1F FGMMFC'ID	/"4-Ekk!n,fmmU[[^KK{{1~,++a.0&--QOO		kk!n,fmmU[[^KK))+Ct)++-'EE;;q>UZZ/$,CIIbMiik 	! D	/" ))+oCGs   H0I6IrO   )r  r  s   ` rh   _stringSnowballLexer._string  s    	&2 rg   c                     UR                  S5      U l        UR                  S5      U l        [        [        R
                  [        [        R                  [        [        R                  5      " XU5      $ )N      )	r6  r  r  r   r   r   r   r   r   )r  r  r  s      rh   _stringescapesSnowballLexer._stringescapes  sP    {{1~[[^
((*fmmZ'',S: 	:rg   )r  lenofr4   rG   root1z[%s]+z\d+r{   rE   z[()]rz   z//.*z)[!*+\-/<=>]=|[-=]>|<[+-]|[$*+\-/<=>?\[\]])r   gethexamongrN  decimalbackwardmode)r@  booleansintegersroutines	externals	groupingsr  )!r   r   r   r   hopnonr   r   r   rT  r   loopr   testr  rU  unsetatmarkattachr   gopastinsertrepeatr   tomarkatleastatlimitreversesetmarktolimitsetlimit	backwards	substring)sizelimitcursormaxintminintz(stringdef\b)([z]*)([^z]+)z(stringescapes\b)([z]*)(.)([z]*)(.)z[A-Za-z]\w*r0  rM   )r  r  z[^']*'TF)rN   r  r  rE   r  Nc                 P    U R                  5         [        R                  " XU5      $ r  )r  r   get_tokens_unprocessed)r   r  contexts      rh   r  $SnowballLexer.get_tokens_unprocessed  s!    !!#!88WMMrg   )r  r  )NN)#rP   rQ   rR   rS   rT   rU   rV   rW   rX   _wsr  r  r  r  r   r   r:  r   r   r   rb   r   rY   r   r   rZ   r   r   r   r  r   r   re   r  rf   rO   rg   rh   r    r    j  s    D
$ClG	I
C58: #E2HMMBG

 ^Z(V^^$6==(+k" 1 12gnn%98D $,13  !).0}.  .
 7<= ]] B!\\ 14S9g&&
FMMBD9<cBT"9
> K(#E2D%'G	
 &
 '
Y/FbNrg   r    )$rT   r  pygments.lexerr   r   r   r   r   r   r	   r
   r   pygments.tokenr   r   r   r   r   r   r   r   r   __all__r   r   r   BroLexerr   r   r   r   r   r   r   r   r    rO   rg   rh   <module>r     s    
, , ,$ $ $J
;J ;|g* gT\
 \~ U* Up=z =@/* /dz DB BJBz BJC CLJJ JZkN& kNrg   