3

V'íc¦ã@sHdZddlZddlmZmZmZmZmZmZm	Z	m
Z
mZddlm
Z
mZmZmZmZmZmZmZmZddddd	d
ddd
dddgZGdd„deƒZGdd„deƒZGdd„deƒZeZGdd„deƒZGdd„deƒZGdd	„d	eƒZGdd
„d
eƒZGdd„deƒZGdd„deƒZ Gdd
„d
eƒZ!Gdd„deƒZ"Gdd„deƒZ#dS)zÚ
    pygments.lexers.dsls
    ~~~~~~~~~~~~~~~~~~~~

    Lexers for various domain-specific languages.

    :copyright: Copyright 2006-2022 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@s.eZdZdZdZdZddgZdgZdefde	fd	e
jfd
e
jfe
dCdddefe
dDdd,ejfd-ejfd.eejeƒd/fd0eejeƒd1fd2eejeƒd3fd4efd5efd6ejfd7ejfd8ejfd9ejfd:ejfd;ejfd<efd=eejeeƒfd>efgd?ejd@fed@ƒgd?ejd@fed@ƒgd?ed@fed@ƒgdAœZdBS)ErzP
    Lexer for Protocol Buffer definition files.

    .. versionadded:: 1.4
    zProtocol Bufferz/https://developers.google.com/protocol-buffers/ZprotobufÚ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Úsyntaxz\b)ÚprefixÚsuffixÚint32Úint64Úuint32Úuint64Úsint32Úsint64Úfixed32Úfixed64Úsfixed32Úsfixed64ÚfloatÚdoubleÚboolÚstringÚbytes)r1z(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))\bz0x[0-9a-fA-F]+[LlUu]*z0[0-7]+[LlUu]*z
\d+[LlUu]*z[+-=]z([a-zA-Z_][\w.]*)([ \t]*)(=)z[a-zA-Z_][\w.]*z[a-zA-Z_]\w*z#pop)ÚrootrArBrCN)r!r"r#r$r%r&rr'r(r)r*r+r,r-r.r/)r2r3r4r5r6r7r8r9r:r;r<r=r>r?r@) Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚnameÚurlÚaliasesÚ	filenamesrrrÚSingleÚ	MultilinerrÚTypeÚConstantrÚ	NamespaceÚDeclarationrrÚFloatÚHexÚOctÚIntegerr
rÚ	AttributerÚClassÚtokens©rZrZú8/tmp/pip-build-gk9425m9/Pygments/pygments/lexers/dsls.pyrsV


cs@seZdZdZdZdZdgZdgZdgZe	dƒe	dƒd	e
jed
dƒfde
j
ed
d
ƒfdeejeƒdfdeejeƒdfdeeeƒejeeƒfe	dƒe	dƒdefdefdefgdefdefgdefdefdejfgde
jfgd	e
jdfde
jfgd e
j
dfd!e
j
fgd"ejdfedƒgd#ejdfedƒgd$efd%ejfd&ejfed´d:d;ejfedµd:d;ej fed¶d:d:d®ej!fgd¯e"j#fd°e"j$fd±e"j%fgd²œ
Z&d³S)·rzF
    For Thrift interface definitions.

    .. versionadded:: 2.1
    ZThriftzhttps://thrift.apache.org/Zthriftz*.thriftzapplication/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)*z\nz\s+z#.*$z//.*?\nz/\*[\w\W]*?\*/z\\([\\nrt"\'])z#popz	[^\\"\n]+ú'z
[^\\\'\n]+z[a-z*](\.\w|\w)*z[a-zA-Z_]\w*z1(async|oneway|extends|throws|required|optional)\bz(true|false)\bz(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_attrsrz\b)r1Úvoidr>ÚbyteÚi16Úi32Úi64r=r?ÚbinaryÚmapÚlistÚsetÚslistÚsenumÚBEGINÚENDÚ	__CLASS__Ú__DIR__Ú__FILE__Ú__FUNCTION__Ú__LINE__Ú
__METHOD__Ú
__NAMESPACE__ÚabstractÚaliasÚandÚargsÚasÚassertÚbeginÚbreakÚcaseÚcatchÚcloneÚcontinueÚdeclareÚdefrÚdelÚdeleteÚdoÚdynamicÚelifÚelseÚelseifÚelsifÚendÚ
enddeclareÚendforÚ
endforeachÚendifÚ	endswitchÚendwhileÚensureÚexceptÚexecÚfinallyr<Ú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Úyield)r0r1z1[+-]?(\d+\.\d+([eE][+-]?\d+)?|\.?\d+[eE][+-]?\d+)z[+-]?0x[0-9A-Fa-f]+z[+-]?[0-9]+)
rDr\r]r_r`rarbrcrdreN)rgrhrirjrkrlrmrnrorprqrrrsrtrurvrwrxr)ryr>rzr{r|r}r=r?r~rr€rr‚rƒ)er„r…r†r‡rˆr‰rŠr‹rŒrrŽrrr‘r’r“r”r•r–rcr—r˜r™ršrr›rœrržrŸr r¡r¢r£r¤r¥r¦r§r¨r©rªr«r¬r­r<r®r¯r°r±r²r³r´r!rµr¶r·r¸r¹rºr»r¼r½r¾r¿rÀrÁrÂrÃrÄrÅrÆrÇrÈrÉrÊrËrÌrÍrÎrÏrÐrÑrÒrÓrrÔrÕrÖr×rØrÙrÚrÛrÜrÝrÞrßràrárârã)'rErFrGrHrIrJrKrLÚ	mimetypesrrÚDoubler
rMrrrQrrRr	rrÚFunctionr
rrrNÚEscaperrXrPrrOÚReservedrrSrTrVrYrZrZrZr[rUs”







c@s`eZdZdZdZdZddgZddgZdZd	Z	d
Z
edƒedƒed
ƒedƒedƒedƒedƒedƒedƒdej
fedƒgdefdefdeeeƒfgdefgdejfdejfdeejeejƒfgedd2d3d4ejfged€d3dJejfdKeejeejeejƒfdLeeeejeeeejƒfdMeeeeeeƒfdNeeeejeejƒfgedd3dJefd`efdaejfdbeejeejƒfgdcedGfddejdefdfejfdgefdhefdiefdjedkej fe	dlej!fe	d3ej!fdmej"fe
dne
doefgdpefdqefdrejfdsefgdte#fdue#fgdveee#ƒfdwefgdxej$fdyej$fdcedzfd{efgdxej$fd|ejdzfd{ejfgd}œ
Z%d~S)‚rz6
    For Zeek scripts.

    .. versionadded:: 2.5
    ZZeekzhttps://www.zeek.org/ZzeekZbroz*.zeekz*.broz[0-9a-fA-F]z(((\d*\.?\d+)|(\d+\.?\d*))([eE][-+]?\d+)?z[A-Za-z0-9][-A-Za-z0-9]*r\r]Ú
directivesÚ
attributesÚtypesrdÚliteralsÚ	operatorsÚpunctuationz2((?:[A-Za-z_]\w*)(?:::(?:[A-Za-z_]\w*))*)(?=\s*\()Úidentifiersz\nz\s+z(\\)(\n)z#.*$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ú&z\b)r0r1ÚanyÚenumÚrecordrÚtableÚvectorr°ÚhookÚeventÚaddrr>Úcountr=ÚfileÚintÚintervalÚpatternÚportr?ÚsubnetÚtime)r1zA(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Úexportr³r r®ràrÌr”r¾r˜ÚfallthroughrÑr•ÚaddrœrßÚtimeoutÚschedulez	(print)\bz(global|local|const|option)\bz4(module)(\s+)(([A-Za-z_]\w*)(?:::([A-Za-z_]\w*))*)\br^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}))?\]z0[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*)(::)z[a-zA-Z_]\w*z\\.z%-?[0-9]*(\.[0-9]+)?[DTd-gsx]z#popÚ.ú/)
rDr\r]rérêrërdrìrírîrïr?rN)rðrñròr#rrórôrõrör÷rørÒrùrúrûrürýrþrÿrr)rrrrrrr°rr	r
r>rr=rr
rrrr?rr)rðrr³r r®ràrÌr”r¾r˜rrÑrr•rrœrßrr)&rErFrGrHrIrJrKrLZ_hexZ_floatZ_hrrrærrrrZPreprocrrZPseudorOr
ÚWordrXrRrQrÚRegexrPrrTrSrVrrçrYrZrZrZr[r¿s®

cs@súeZdZdZdZdZdgZdgZedƒedƒedƒed	ƒed
ƒedƒde	fd
e
fgdee
eƒfdej
fgdefdejfgdejfdeeje	ee	ƒfdejfgdejfdejfdejfdejfdejjfdejfgeddˆd‰dŠefgd‹efdŒefgdœZdŽS)rzB
    For Puppet configuration DSL.

    .. versionadded:: 1.6
    ZPuppetzhttps://puppet.com/Zpuppetz*.ppr]rdÚnamesreríÚstringsz[]{}:(),;[]z\s+z(\s*)(#.*)$z/(\\\n)?[*](.|\n)*?[*](\\\n)?/z(=>|\?|<|>|=|\+|-|/|\*|~|!|\|)z(in|and|or|not)\bz[a-zA-Z_]\w*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?z0[xX][a-fA-F0-9]+z\d+Lz\d+j?ÚabsentÚalertrŽÚauditÚaugeasÚbeforer•ÚcheckrcÚ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ÚnotifyrAÚpresentÚpurgedÚrealizeÚregsubstÚ	resourcesÚroleÚrouterÚrunningrÚ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)z\b)r0r1z	"([^"])*"z
'(\\'|[^'])*')rDr]rírrerdrN)mrr rŽr!r"r#r•r$rcr%r&r'r(r)r*r+rr,r-r.r r¢r/r0r¬r1r2r3rr4r5r6r7r³r!rr8r9r:r;r¸r<r=r>r?r@rArBrCrDrErFrGrHrIrJrKrLrMrNrOrPrQrRrSrTrUrVrWrXrArYrZr[r\r]r^r_r`rrarbrcrdrerfrgrhrirjrkrlrmrnrorprqrrrsr×rtrurvrwrxryrzr{r|)rErFrGrHrIrJrKrLrrrrrrNr
rrrWÚVariablerrrSrUrTrVZLongrrrYrZrZrZr[rasj






cL@sèeZdZdZdZdZdgZdgZdgZe	j
e	jBZde
dhdRdRdSefdTejfdUefdVefdWefdXefdYeeejeejƒfdZeeejeeeeƒfd[ejfd\ejfd]efd^ejfd_efd`ejfdaejfdbejfdcefddefgiZdedf„Z dgS)irz¢
    RSL is the formal specification
    language used in RAISE (Rigorous Approach to Industrial Software Engineering)
    method.

    .. versionadded:: 2.0
    ZRSLz"http://en.wikipedia.org/wiki/RAISEZrslz*.rslztext/rslrDÚBoolÚCharÚIntÚNatÚRealrÚUnitÚabsÚallÚalwaysrr‘ÚaxiomÚcardr•ÚchannelÚchaosrcÚ
devt_relationÚdomÚelemsr rŸr£ÚexistsÚextendr3r®Ú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_systemrsrCÚunionrÚrÛÚvalueÚvariableràráÚwriteú~isinú-inflistú-infsetú-listú-setz\b)r0r1z(variable|value)\bz--.*?\nz<:.*?:>z	\{!.*?!\}z	/\*.*?\*/z^([ \t]*)([\w]+)([ \t]*)(:[^:])z5(^[ \t]*)([\w]+)([ \t]*)(\([\w\s,]*\))([ \t]*)(is|as)z\b[A-Z]\w*\bz(true|false)\bz".*"z\'.\'zq(><|->|-m->|/\\|<=|<<=|<\.|\|\||\|\^\||-~->|-~m->|\\/|>=|>>|\.>|\+\+|-\\|<->|=>|:-|~=|\*\*|<<|>>=|\+>|!!|\|=\||#)z [0-9]+\.[0-9]+([eE][0-9]+)?[fd]?z0x[0-9a-f]+z[0-9]+z\s+rcCstjd|tjƒdk	rdSdS)zP
        Check for the most common text in the beginning of a RSL file.
        zscheme\s*.*?=\s*class\s*typeNgð?)ÚrerbÚI)ÚtextrZrZr[Úanalyse_textñszRslLexer.analyse_textN)Jr~rr€rr‚rrƒr„r…r†rr‘r‡rˆr•r‰rŠrcr‹rŒrr rŸr£rŽrr3r®rr‘r³rµr¹r’r“r
r”r•r–r—r˜r™ršr›rœrržrŸr r¡r¢r£r¤r¥rÓr¦r§r¨r©rsrCrªrÚrÛr«r¬ràrár­r®r¯r°r±r²)!rErFrGrHrIrJrKrLrär³Ú	MULTILINEÚDOTALLÚflagsrrrRrrrrrærrOrPrrr
rrSrTrVrYr¶rZrZrZr[r¹sV
c@sÄeZdZdZdZdZddgZdgZdZde	j
fd	ejfd
e
jfde	fde
fd
ejfeejfdedfdefedƒg
dedfedeeejee
eeƒfdefedƒgdejfdejfdefgdœZdS)rz6
    For Mscgen files.

    .. versionadded:: 1.6
    ZMscgenz!http://www.mcternan.me.uk/mscgen/ZmscgenZmscz*.mscz(\w+|"(?:\\"|[^"])*")zmsc\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	\{|\}|,|;r]z\]z#popz
(\s*)(=)(\s*)ú,z
(?://|#).*?\nz/\*(?:.|\n)*?\*/z
[ \t\r\n]+)rDrºr]N)rErFrGrHrIrJrKrLZ_varrrOrZPropertyr
rÚBuiltinr}rrrrWrrrrMrNrYrZrZrZr[rùs6
c
@sŽeZdZdZdZdZdgZdgZej	ej
BejBZdde
jfdejfd	efd
ejfdefdefd
eeejƒfdefdefdefdefgiZdS)rzG
    For SampleManager VGL source code.

    .. versionadded:: 1.6
    ZVGLz-http://www.thermoscientific.com/samplemanagerZvglz*.rpfrDz	\{[^}]*\}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]+z\s+N)rErFrGrHrIrJrKrLr³r·r¸Ú
IGNORECASEr¹rrNrrPr
rrrrWrrrYrZrZrZr[r+s&c@sVeZdZdZdZdZdgZdgZdgZe	j
e	jBZdZ
dZd	efZd
edfe
efedefd
edfgee
edfged
edfe
edfgedƒeedfgdejfdejfdejfedeejeƒdfdeejeƒdfdejfdejfdefdefdefdefdefdejfdeeeƒdfdeeeƒd fd!efd"efe
efd#efd$e j!feefd%efgd&œZ"d'S)(rz;
    For Alloy source code.

    .. versionadded:: 2.0
    ZAlloyzhttp://alloy.mit.eduZalloyz*.alsztext/x-alloyz[a-zA-Z_][\w]*"*z"\b(\\\\|\\[^\\]|[^"\\])*"z[^\S\n]+z(extends)\bz#popr»z\{Úfunz--.*?$z//.*?$z	/\*.*?\*/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[:,]z[0-9]+z\n)r¿r»r¾rÀrDN)#rErFrGrHrIrJrKrLrär³r·r¸r¹Ziden_rexZ
string_rexrZ
text_tuplerrrr
rrrrMrNrrQrRrPrOrrrVrYrZrZrZr[rMs\



c7@súeZdZdZdZdZdgZdgZedƒde	dfd	e	d
fedƒge
dkd d d!e	fe
dld d d!ejfdVe
fdWejfdXeejeeƒfdYefdZefd[efgd\ejfd]ejfd^efd_efd`efgdae	dbfdce	fddejfdeefdfefedgƒgdhe	dbfedgƒgdiœZdjS)mrzZ
    Lexer for pan source files.

    Based on tcsh lexer.

    .. versionadded:: 2.0
    ZPanzhttps://github.com/quattor/pan/Zpanz*.panÚbasicz\(Úparenz\{ÚcurlyÚdatar³r®rár rCÚbindràÚvalidÚfinalr0Úuniqueršr¯rrqr°r¬Ú	structureÚ
extensibleÚdeclarationz\b)r0r1Ú
file_contentsÚformatÚindexÚlengthÚmatchÚmatchesÚreplaceÚsplicerhÚsubstrÚto_lowercaseÚto_uppercaser+Ú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]+|\\.|[^'\\])*'z\s+z[^=\s\[\]{}()$"\'`\\;#]+z\d+(?= |\Z)z\}z#popz:-z\w+z[^}:"\'`$]+ú:rDz\))rDrÁrÄrÃrÂN)r³r®rár rCrÅràrÆrÇr0rÈršr¯rrqr°r¬rÉrÊrË)4rÌrÍrÎrÏrÐrÑrÒrÓrhrÔrÕrÖr+r×rØrrÙrÚrÛrÜrÝrÞrßràrárâr€rãr¾rärårærçrèrérêrërìrírîrïrðrñròrór—rœrŽrôrõrÌr«)rErFrGrHrIrJrKrLrrrrr¼rrrçrr}rr
rrårMrrrYrZrZrZr[r’s\c@s2eZdZdZdZdZddgZddgZgZe	d?ddZ
e	d@ddZe	dAddZe	dBddZ
e	dCddZe	dDddZd/Zd0Zd1Zd2Zd3d4eeeƒfd5eejeeƒfd6eeeeeƒfd7efe
efeefeefd8eefejfe
ejfeejfeejfd9ejfd:eeeeeƒfd;eeeeejƒfd<efd=efgiZ d>S)Erz`
    Lexer for crmsh configuration files for Pacemaker clusters.

    .. versionadded:: 2.1
    ZCrmshzhttp://crmsh.github.io/ZcrmshZpcmkz*.crmshz*.pcmkrUÚ	primitiveÚgroupr—ÚmsÚlocationÚ
colocationÚorderÚfencing_topologyÚ
rsc_ticketÚrsc_templateÚpropertyÚrsc_defaultsÚop_defaultsÚ
acl_targetÚ	acl_grouprur^roz(?![\w#$-]))r1ÚparamsÚmetaÚ
operationsÚopÚrulerêÚutilizationrŸr­ÚdenyrrÁr-Ú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)rDz^(#.*)(\n)?z!([\w#$-]+)(=)("(?:""|[^"])*"|\S+)z(node)(\s+)([\w#$-]+)(:)z([+-]?([0-9]+|inf)):z(?:%s:)?(%s)(?![\w#$-])z#[a-z]+(?![\w#$-])z(%s)(:)("(?:""|[^"])*"|\S+)z!([\w#$-]+)(?:(:)(%s))?(?![\w#$-])z(\\(?=\n)|[\[\](){}/:@])z\s+|\nN)rUrørùr—rúrûrürýrþrÿrrrrrrrur^ro)rrrr	r
rêr)rŸr­r)rrÁ)r-r
)rrrrµ)!rErFrGrHrIrJrKrLrärÚelemÚsubZaclZbin_relZun_opsZdate_expZacl_modZbin_opsZval_qualZrsc_role_actionrrrrrWrrrrr
rr¼rYrZrZrZr[r×sX

c†@s®eZdZdZdZdZdgZgZdgZdœZ	dZ
dZdŽdefde
fd‘ejfd’ejfd“ejfd”efd•ejfd–ejfee	d—d˜efee
d—d˜ejfd™eejfeejfdšefg
iZd›S)žrzD
    Lexer for Flatline expressions.

    .. versionadded:: 2.2
    ZFlatlinez$https://github.com/bigmlcom/flatlineZflatlineztext/x-flatliner—ú!=Ú*ú+ú-ú<ú<=ú=ú>ú>=r„Úacosr…úall-butúall-with-defaultsúall-with-numeric-defaultrÚasinÚatanÚavgú
avg-windowú
bin-centerú	bin-countÚcallúcategory-countÚceilÚcondúcond-windowÚconsÚcosÚcoshrúdiff-windowÚdivúensure-valueúensure-weighted-valueÚepochú	epoch-dayúepoch-fieldsú
epoch-hourúepoch-millisecondúepoch-minuteúepoch-monthúepoch-secondú
epoch-weekdayú
epoch-yearÚexpÚfÚfieldú
field-propÚfieldsÚfilterràÚfloorÚheadr³rµÚintegerÚlanguagerÏÚlevenshteinúlinear-regressionr€ÚlnròÚlog10rrÑúmatches?r+ÚmaximumrDÚmeanÚmedianÚminÚminimumÚmissingú
missing-countúmissing?Ú
missing_countÚmodÚmodeÚ	normalizerÀÚnthÚoccurrencesrÁÚ
percentileúpercentile-labelÚ
populationúpopulation-fractionÚpowÚ	preferredú
preferred?úquantile-labelÚrandúrand-intúrandom-valueúre-quoter rÒú
replace-firstÚrestÚroundú
row-numberú
segment-labelrfÚsha256ÚsinÚsinhÚsqrtÚsquareústandard-deviationÚstandard_deviationÚstrÚsubsÚsumúsum-squaresú
sum-windowÚsum_squaresÚsummaryú
summary-noúsummary-strÚtailÚtanÚtanhú
to-degreesú
to-radiansÚvarianceÚ	vectorizeúweighted-random-valueÚwindowÚwinnowúwithin-percentiles?úz-scorez(?!#)[\w!$%*+<=>?/.#-]+rDz[,]+z\s+z
-?\d+\.\d+z-?\d+z0x-?[a-f\d]+z"(\\\\|\\[^\\]|[^"\\])*"z\\(.|[a-z]+)Ú_ú )r1z(?<=\()z(\(|\))N)r—)†rrrrrrrrrr„rr…rrrrr r!r"r#r$r%r&r'r(r)r*r+r,r-rr.r/r0r1r2r3r4r5r6r7r8r9r:r;r<r=r>r?r@rAràrBrCr³rµrDrErÏrFrGr€rHròrIrrÑrJr+rKrDrLrMrNrOrPrQrRrSrTrUrVrÀrWrXrÁrYrZr[r\r]r^r_r`rarbrcrdr rÒrerfrgrhrirfrjrkrlrmrnrorprqrrrsrtrurvrwrxryrzr{r|r}r~rr€rr‚rƒr„r…)rErFrGrHrIrJrKrLräZ
special_formsÚbuiltinsZ
valid_namerrrrSrVrTrrZSymbolrrrr¼rær}rrYrZrZrZr[rsXc,@sReZdZdZdZdZdgZdgZdZdd„Z	d	d
„Z
dd„Zd
d„Ze
d\ddejfedƒgdeefdejfdejdfdefdejfdejfdefe
d]ddejfe
d^ddejd)fe
d_ddejfe
d`ddejfdPeefeejeejƒfdQeefefdRefgdSedTfe
daddedbfedƒgdUedVƒfgdUedWƒfgdXœZdcdZd[„Z dYS)drzD
    Lexer for Snowball source code.

    .. versionadded:: 2.2
    ZSnowballzhttp://snowballstem.org/Zsnowballz*.sblz\n\r\t cKs|jƒtj|f|ŽdS)N)Ú_reset_stringescapesrÚ__init__)rÍÚoptionsrZrZr[rŠxszSnowballLexer.__init__cCsd|_d|_dS)Nrf)Ú_startÚ_end)rÍrZrZr[r‰|sz"SnowballLexer._reset_stringescapescs‡fdd„}|S)Nc	3sF|jƒ}|jƒ}tjdtj|jƒƒj}tjdtj|jƒƒj}d}ˆ}xê|t|ƒkr2|râ|||ƒ}||jdƒt	j
|jdƒfV|jdƒdkr¼||jdƒt	j
|jdƒfV|jjƒP||jdƒt	j
|jdƒfV|jƒ}|||ƒ}||jƒt	j
|jƒfV|jdƒ|jkr$d|jd<P|jƒ}d}qJW||jƒ|_dS)	Nz([^%s]*)(.)réérfrÜTéÿÿÿÿ)Ústartrùr³ÚcompilerÜrŒrÐrr–rrMÚstackÚpoprçr£Úpos)	ÚlexerrÐÚctxÚsrµr?rÜr•Z	do_string)Údo_string_firstrZr[Úcallbacks0



z'SnowballLexer._string.<locals>.callbackrZ)r™ršrZ)r™r[Ú_string€szSnowballLexer._stringcCs6|jdƒ|_|jdƒ|_ttjttjttjƒ|||ƒS)Néé)	rùrŒrrrrèrrrç)r–rÐr—rZrZr[Ú_stringescapesœszSnowballLexer._stringescapesr–Úlenofz\b)r1Úroot1z[%s]+z\d+rfr?z[()]z/\*[\w\W]*?\*/z//.*z)[!*+\-/<=>]=|[-=]>|<[+-]|[$*+\-/<=>?\[\]]r‘ÚgetÚhexÚamongr,ÚdecimalÚbackwardmoderÚbooleansÚintegersÚroutinesÚ	externalsÚ	groupingsrËrrÁrr®ÚhopÚnonrÀrrÖr2r²Úloopr¾Útestrsr3ÚunsetÚatmarkÚattachrœÚgopastÚinsertÚrepeatrÎÚtomarkÚatleastÚatlimitÚreverseÚsetmarkÚtolimitÚsetlimitÚ	backwardsÚ	substringÚsizeÚlimitÚcursorÚmaxintÚminintz(stringdef\b)([%s]*)([^%s]+)z%(stringescapes\b)([%s]*)(.)([%s]*)(.)z[A-Za-z]\w*z\)z#popz[^']*'TF)rDr rËr?rÜNcCs|jƒtj|||ƒS)N)r‰rÚget_tokens_unprocessed)rÍrµÚcontextrZrZr[rÃÓsz$SnowballLexer.get_tokens_unprocessed)r–rŸ)r‘r¡r¢r£r,r¤r¥)rr¦r§r¨r©rª)!rrÁrr®r«r¬rÀrrÖr2r²r­r¾r®rsr3r¯r°r±rœr²r³r´rÎrµr¶r·r¸r¹rºr»r¼r½)r¾r¿rÀrÁrÂ)r–rŸ)r rË)NN)!rErFrGrHrIrJrKrLÚ_wsrŠr‰r›ržrr
rrrrrVrrMrrrNrrèrr¼rrçrYrÃrZrZrZr[rjs^



)$rHr³Zpygments.lexerrrrrrrrr	r
Zpygments.tokenrrr
rrrrrrÚ__all__rrrZBroLexerrrrrrrrrrrZrZrZr[Ú<module>	s(,,>j X@2"EEFM