o a7@sdZddlZddlmZmZmZmZmZmZm Z m Z m Z ddl m Z mZmZmZmZmZmZmZddlmZddlmZgdZGdd d eZGd d d eZGd d d eZGdddeZGdddeZGdddeZ GdddeZ!GdddeZ"Gddde"Z#GdddeZ$GdddeZ%GdddeZ&Gd d!d!eZ'Gd"d#d#eZ(Gd$d%d%eZ)Gd&d'd'eZ*Gd(d)d)eZ+dS)*z pygments.lexers.jvm ~~~~~~~~~~~~~~~~~~~ Pygments lexers for JVM languages. :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS. :license: BSD, see LICENSE for details. N) Lexer RegexLexerincludebygroupsusingthiscombineddefaultwords)TextCommentOperatorKeywordNameStringNumber Punctuationshebang_matches) unistring) JavaLexer ScalaLexer GosuLexerGosuTemplateLexer GroovyLexer IokeLexer ClojureLexerClojureScriptLexer KotlinLexer XtendLexer AspectJLexer CeylonLexerPigLexer GoloLexer JasminLexer SarlLexerc@seZdZdZdZdgZdgZdgZej ej Bej BZ de eeeejdfdefd ejfd ejfd efd e eeejeefd ejfdejfdejfde ejedfdejfdejdfde ejedfde ejedfdedfdejfde eejfde eeefde eej efdefde!j"fde!j#fd e!j$fd!e!j%fd"e!j&fd#e'fd$efd%efgd&efdej(d'fgded'fgd(ejd'fgd)efd*efd+efd,efded'fgd-Z)d.S)/rzM For `Java `_ source code. Javajavaz*.javaz text/x-javazJ(^\s*)((?:(?:public|private|protected|static|strictfp)(?:\s+))*)(record)\bclass[^\S\n]+//.*?\n /\*.*?\*/zz(assert|break|case|catch|continue|default|do|else|finally|for|if|goto|instanceof|new|return|switch|this|throw|try|while)\bzE((?:(?:[^\W\d]|\$)[\w.\[\]$<>]*\s+)+?)((?:[^\W\d]|\$)[\w$]*)(\s*)(\()@[^\W\d][\w.]*z(abstract|const|enum|extends|final|implements|native|private|protected|public|sealed|static|strictfp|super|synchronized|throws|transient|volatile|yield)\b6(boolean|byte|char|double|float|int|long|short|void)\b(package)(\s+)import(true|false|null)\bz(class|interface)\bz (var)(\s+)varz(import(?:\s+static)?)(\s+)"string!'\\.'|'[^\\]'|'\\u[0-9a-fA-F]{4}'(\.)((?:[^\W\d]|\$)[\w$]*)z^(\s*)(default)(:)z^(\s*)((?:[^\W\d]|\$)[\w$]*)(:)z([^\W\d]|\$)[\w$]*a ([0-9][0-9_]*\.([0-9][0-9_]*)?|\.[0-9][0-9_]*)([eE][+\-]?[0-9][0-9_]*)?[fFdD]?|[0-9][eE][+\-]?[0-9][0-9_]*[fFdD]?|[0-9]([eE][+\-]?[0-9][0-9_]*)?[fFdD]|0[xX]([0-9a-fA-F][0-9a-fA-F_]*\.?|([0-9a-fA-F][0-9a-fA-F_]*)?\.[0-9a-fA-F][0-9a-fA-F_]*)[pP][+\-]?[0-9][0-9_]*[fFdD]?z"0[xX][0-9a-fA-F][0-9a-fA-F_]*[lL]?z0[bB][01][01_]*[lL]?z 0[0-7_]+[lL]?z0|[1-9][0-9_]*[lL]?[~^*!%&\[\]<>|+=/?-] [{}();:.,]\n\s+#pop [\w.]+\*?z[^\\"]+\\\\\\"\\)rootr(r1r/r3N)*__name__ __module__ __qualname____doc__namealiases filenames mimetypesre MULTILINEDOTALLUNICODEflagsrr rrr Declarationr Single MultilinerFunctionr DecoratorType NamespaceConstantrChar AttributeLabelrFloatHexBinOctIntegerr Classtokensr_r_5/usr/lib/python3/dist-packages/pygments/lexers/jvm.pyrs    6   rc@sFeZdZdZdZdgZdgZdgZhdZhdZ hdZ d d Z d S) r zb For `AspectJ `_ source code. .. versionadded:: 1.6 AspectJaspectjz*.ajztext/x-aspectj>+getsetargscalllocksoftaftercflowerroraroundaspectbeforetargetunlockwithindeclarehandlerparentsperthisproceedwarningpercflowpointcutthrowing execution pertarget returning annotation cflowbelow precedence privileged withincode issingleton percflowbelow pertypewithin thisJoinPointinitializationadviceexecutionpreinitializationthisAspectInstancestaticinitializationthisJoinPointStaticPart thisEnclosingJoinPointStaticPart>soft:error:parents:warning: precedence:>@type@field@method @constructorccst||D]I\}}}|tur||jvr|t|fVq|tjur9||jvr9|t|ddfV|t|dfVq|tjurJ||j vrJ|t|fVq|||fVqdS)N) rget_tokens_unprocessedr aj_keywordsrrW aj_inter_typer rQaj_inter_type_annotation)selftextindextokenvaluer_r_r`rsz#AspectJLexer.get_tokens_unprocessedN) r@rArBrCrDrErFrGrrrrr_r_r_r`r ps  r c@seZdZdZdZdgZdgZdgZej ej BZ de ddd Zd e d d d ddd Zde d dd ZdeZdeddZdeZdeefZdeeefZdeeefZdeefZdZdeefZdZdZdZdZdZide d e d!e d"e d#e d$e d%e d&e d'e d(e d)e d*e d+e d,e d-e d.e d/e d0e d1e d2e d3e d4e d5gd d6e!fgd!d7e"j#fd8e"j$d9fgd"d:e"j%fgd#d;e&e'e!dfd?e&e'e!d>fgd%e(ed@d@dAe'fdBe'fgd&dCee)j*fgd'dDe&e+e!e'e!fgd(dEeefe&e'e!e)j,fdFeefe&e'e!e)j-fdGeefe&e'e!e'e!e)j-fdHeefe&e'e!e)j-fdIe'j.fdJeefe&e'e!e'e!e)j/fdKe&e'e!dLfdMee&e'e!e)j-fdNee&e'e!e)fg d)dOeeefe&e'e!e)j-fgd*dPe&e'e!fgd+dQe&e'e!e'fdReefe&e'e!e)j-fdSeeefe&e'e!e)j/fgd4dTe+fdUe+fgd2e(ed@d@dAe'fgd3dVee&e0e!fdWe0fe(ee0fdXeefe0fgd,dYe)j1j2fdZe'j3fd[e4j5fd\e4j6fd]e4j6fd^e4j6fd_e4j7j8fd`e4j7fdae9fdbe9fdce&e9j:e9j;e9j:fdde9j:fg id-dee9dffdge9dhfdie9fgd.djee9jdue!dsfe d!e dwdxe+d~fgd~e d e d!dze0fd{e+dsfd|e+fe dwgdLde!dsfde+dsfe d!e dwgdfde9dsfde9fe dgdhde9dsfe dgdd{e9j=dsfdxe+dfe dgddxe+dqfd{e+dsfe dgdwee)j-fdee&e)j/e+fde+fee)fde!fgdde9fde9j;fdee&e9j=e)fde9j=dfde9fgiZ>dS)rz? For `Scala `_ source code. Scalascalaz*.scalaz text/x-scalaz[!#%&*\-\/:?@^SmSo]z[_\$LlLuLoNlLt[z (?:%s|[0-9])z\$z%s+z%s%s*z%s%s*(?:(?<=_)%s+)?z (?:%s|%s+)z`[^`]+`z (?:%s|%s)z (?!//|/\*)z (?=\s*(//|$)))newreturnthrowclassOf isInstanceOf asInstanceOfelseifthendowhileforyieldmatchcasecatchfinallytry)z<%z=:=z<::z<:===z!=<=>=z<><>z<-u←->u→=>u⇒?@|-+*%~\) private protected synchronizedz @volatileabstractfinallazysealedimplicitoverridez @transientz@nativer? whitespacecommentsz script-headerimportsexportszstorage-modifiers annotationsr declarations inheritance extensionend constantsstringssymbolszsingleton-typeinlinequotedkeywords operators punctuationnamesr9r*/\*commentz ^#!([^\n]*)$z\b(import)(\s+)z import-pathz\b(export)(\s+)(given)(\s+)z export-pathz\b(export)(\s+)\b)prefixsuffixzj\b(transparent|opaque|infix|open|inline)\b(?=[a-z\s]*\b(def|val|var|given|type|class|trait|object|enum)\b)z@%sz(\()(\s*)(using)(\s)z\b(def)\b(\s*)%s(%s)?z\b(trait)\b(\s*)%s(%s)?z3\b(?:(case)(\s+))?(class|object|enum)\b(\s*)%s(%s)?z(?)|(?=%s)|(?="))?z\b(extension)(\s+)(?=[\[\(])z8\b(end)(\s+)(if|while|for|match|new|extension|val|var)\bz\b(end)(\s+)(%s)%sz\b(end)(\s+)(%s|%s)?%sz [{}()\[\];,.]z (?        R X [    eil r     !  '.8>FLQU Zah   rc@seZdZdZdZdgZgdZdgZej ej BZ de e eejeefdefdejfd ejfd ejfd efd ejfd ejfdejfde ejefdejfde ejeejfde ejeejfdedfde eejfde eejfdefdefdej fdej!fdefgdefde eejdfdejfd edfd!ed"fd#efgded$fe"d%gdedfd&ed$fe"d'gdedfd(ed"fd)ed$fe"d'gd*Z#d+S),rz: For Gosu source code. .. versionadded:: 1.5 Gosugosu)z*.gsz*.gsxz*.gspz*.varkz text/x-gosu9^(\s*(?:[a-zA-Z_][\w.\[\]]*\s+)+?)([a-zA-Z_]\w*)(\s*)(\()r)r*r+@[a-zA-Z_][\w.]*z(in|as|typeof|statictypeof|typeis|typeas|if|else|foreach|for|index|while|do|continue|break|return|try|catch|finally|this|throw|new|switch|case|default|eval|super|outer|classpath|using)\bz(var|delegate|construct|function|private|internal|protected|public|abstract|override|final|static|extends|transient|implements|represents|readonly)\bz(property\s+)(get|set)?z<(boolean|byte|char|double|float|int|long|short|void|block)\br.z (true|false|null|NaN|Infinity)\bz5(class|interface|enhancement|enum)(\s+)([a-zA-Z_]\w*)z(uses)(\s+)([\w.]+\*?)r2r3z(\??[.#])([a-zA-Z_]\w*)z(:)([a-zA-Z_]\w*) [a-zA-Z_$]\w*z)and|or|not|[\\~^*!%&\[\](){}<>|+=:;,./?-]%[0-9][0-9]*\.[0-9]+([eE][0-9]+)?[fd]?rr8z (\\<)|(\\\$)z(<%@\s+)(extends|params)stringTemplatez <%!--.*?--%>z (<%)|(<%=)rstringTemplateShorthand.r: templateTextz%>r?rr)r?rr3rrN)$r@rArBrCrDrErFrGrHrIrJrLrrrrrPr r r rNrOrQrrMrRrSrTr]rrVrrXr\rr^r_r_r_r`rs   &   rc@s.eZdZdZdZdgZdgZdgZddZdS) rz8 For Gosu templates. .. versionadded:: 1.5 z Gosu Templategstz*.gstztext/x-gosu-templateccs$t}dg}|||EdHdS)Nr)rr)rrlexerstackr_r_r`rsz(GosuTemplateLexer.get_tokens_unprocessedN) r@rArBrCrDrErFrGrr_r_r_r`rs rc@sbeZdZdZdZdgZddgZdgZej ej BZ de j dfedgd efd e jfd e jfd efd eeeejeefdejfdejfdejfdeejefdejfdeejedfdeejedfdejfdejfdejfdejfdefdefdej fdeeej!fdej"fd efd!efd"e#j$fd#e#j%fd$e#j&fd%efgd&ej'd'fgd(ejd'fgd)Z(d*d+Z)d,S)-rz] For `Groovy `_ source code. .. versionadded:: 1.5 Groovygroovyz*.groovyz*.gradlez text/x-groovyz#!(.*?)$baser)r*r+z(assert|break|case|catch|continue|default|do|else|finally|for|if|goto|instanceof|new|return|switch|this|throw|try|while|in|as)\bzo^(\s*(?:[a-zA-Z_][\w.\[\]]*\s+)+?)([a-zA-Z_]\w*|"(?:\\\\|\\[^\\]|[^"\\])*"|'(?:\\\\|\\[^\\]|[^'\\])*')(\s*)(\()rz(abstract|const|enum|extends|final|implements|native|private|protected|public|static|strictfp|super|synchronized|throws|transient|volatile)\bz:(def|boolean|byte|char|double|float|int|long|short|void)\br.r0(class|interface)(\s+)r( (import)(\s+)r/z """.*?"""z '''.*?'''"(\\\\|\\[^\\]|[^"\\])*"'(\\\\|\\[^\\]|[^'\\])*'z\$/((?!/\$).)*/\$z/(\\\\|\\[^\\]|[^/\\])*/r4(\.)([a-zA-Z_]\w*) [a-zA-Z_]\w*:r[~^*!%&\[\](){}<>|+=:;,./?-]r0x[0-9a-fA-F]+[0-9]+L?r8 [a-zA-Z_]\w*r:r;)r?r"r(r/cCs t|dS)Nr!r)rr_r_r` analyse_text`s zGroovyLexer.analyse_textN)*r@rArBrCrDrErFrGrHrIrJrLr Preprocr r rNrOrrrrrrPr rQrMrRrSrTrDoublerUrVrWrrXrYr\r]r^r-r_r_r_r`rsl    .  ;rc @sJeZdZdZdZdgZddgZdgZdej fde d fgd ed fe d d efgd ej d fe d d ej fgde d fe dgdej d fe d dej fdej fgdej d fe d dej fdej fgded fe d defggdefdefdefdefdej dfdej dfdejfd ejfd!ejfd"ej d#fd$ed%fd&ed'fd(ejfd)ejfd*ejfd+efd,efd-efd.ejfd/ejfd0efd1ejfd2efd3ejfd4efd5ejfd6ejfd7ejfd8ejfd9ejfd:ejfd;ejfdefd?efd@e fdAejfdBefdCZ dDS)Erz For `Ioke `_ (a strongly typed, dynamic, prototype based programming language) source. .. versionadded:: 1.4 Iokez*.ikiokeikztext/x-iokesrczS(\\b|\\e|\\t|\\n|\\f|\\r|\\"|\\\\|\\#|\\\Z|\\u[0-9a-fA-F]{1,4}|\\[0-3]?[0-7]?[0-7])z#\{textInterpolationRootz(?>|\|\|>>|\*\*>>|:::|::|\.\.\.|===|\*\*>|\*\*=|&&>|&&=|\|\|>|\|\|=|\->>|\+>>|!>>|<>>>|<>>|&>>|%>>|#>>|@>>|/>>|\*>>|\?>>|\|>>|\^>>|~>>|\$>>|=>>|<<=|>>=|<=>|<\->|=~|!~|=>|\+\+|\-\-|<=|>=|==|!=|&&|\.\.|\+=|\-=|\*=|\/=|%=|&=|\^=|\|=|<\-|\+>|!>|<>|&>|%>|#>|\@>|\/>|\*>|\?>|\|>|\^>|~>|\$>|<\->|\->|<<|>>|\*\*|\?\||\?&|\|\||>|<|\*|\/|%|\+|\-|&|\^|\||=|\$|!|~|\?|#|\u2260|\u2218|\u2208|\u2209)z-(and|nand|or|xor|nor|return|import)(?![\w!?])z.(\`\`|\`|\'\'|\'|\.|\,|@@|@|\[|\]|\(|\)|\{|\})z [A-Z][\w!:?]*z[a-z_][\w!:?]*)r4rr7r3r5r6r8r?N)!r@rArBrCrDrFrErGrrrrDocRegexr r rOtherrEntityVariablerReservedrTr rPrrYrXr\r r]r^r_r_r_r`rds(      "'*/259?BDGLRWZ fklmory} rc@seZdZdZdZddgZdgZddgZdZd Z d Z d Z d d e j fdefdejfdejfdejfdefde ejfdejfde ejfdefeeddefee ddejfee ddejfde ejfe ejfdefdefdefgiZdS)rz] Lexer for `Clojure `_ source code. .. versionadded:: 0.11 Clojureclojurecljz*.cljztext/x-clojurezapplication/x-clojure) rdefrfnrletrquoter1loop)zdef-defnzdefn-defmacrodefmulti defmethod defstructdefoncerr definline definterface defprotocol defrecorddeftype defprojectns(-rrrr/rrrrrrz..accessoragentz agent-errorsagetalengthzall-nsalterandz append-childapplyz array-mapasetz aset-booleanz aset-bytez aset-charz aset-doublez aset-floatzaset-intz aset-longz aset-shortassertassocawaitz await-forbeanbindingzbit-andzbit-notzbit-orzbit-shift-leftzbit-shift-rightzbit-xorbooleanzbranch?butlastbytecastcharchildrenr(zclear-agent-errorsrcommutecomp comparator complementconcatconjcons constantlycondzif-notzconstruct-proxyz contains?countz create-nsz create-structcycledecderef differencedisjdissocdistinctdoalldocdorundoseqdosyncdotimesdotodoubledowndropz drop-whileeditzend?ensureevalzevery?zfalse?ffirstzfile-seqfilterfindzfind-doczfind-nszfind-varfirstfloatflushrfnseqfrestgensymzget-proxy-classrczhash-mapzhash-setz identical?identityzif-letr/zin-nsincrz insert-childz insert-leftz insert-rightz inspect-tablez inspect-treez instance?int interleave intersectionintoz into-arrayiteratejoinkeykeyskeywordzkeyword?lastzlazy-catz lazy-consleftleftszline-seqzlist*listloadz load-filelockinglongrG macroexpandz macroexpand-1z make-arrayz make-nodemapz map-invertzmap?mapcatmaxzmax-keymemfnmergez merge-withmetaminzmin-keyrD namespacezneg?rnewlinenextznil?nodenotznot-any?z not-every?znot=z ns-importsz ns-internszns-mapzns-namez ns-publicsz ns-refersz ns-resolvezns-unmapnthnthrestorparsepartialpathpeekpopzpos?przpr-strprintz print-strprintlnz println-strprnzprn-strprojectproxyzproxy-mappingsquotrandzrand-intrangezre-findz re-groupsz re-matcherz re-matchesz re-patternzre-seqreadz read-linereducerefzref-setreferremremovez remove-methodz remove-nsrenamez rename-keysrepeatr replicateresolverestz resultset-seqreverserfirstrightrightsr?rrestrseqsecondselectz select-keyssendzsend-offseqzseq-zipzseq?rdshortslurpsomesortzsort-byz sorted-mapz sorted-map-byz sorted-setzspecial-symbol?zsplit-atz split-withstrzstring?structz struct-mapsubssubvecsymbolzsymbol?synctakeztake-nthz take-whiletesttimezto-arrayz to-array-2dztree-seqztrue?unionupz update-proxyvalvalszvar-getzvar-setzvar?vectorz vector-zipzvector?whenz when-firstzwhen-letzwhen-notzwith-local-varsz with-metaz with-openz with-out-strzxml-seqzxml-zipzzero?zipmapzipperz(?!#)[\w!$%*+<=>?/.#|-]+r?z;.*$z[,\s]+z -?\d+\.\d+r9z0x-?[abcdef\d]+r%'z \\(.|[a-z]+)z::?#?z ~@|[`\'#^~&@] rz(?<=\()z(\[|\])z(\{|\})z(\(|\))N) r@rArBrCrDrErFrG special_formsrbuiltins valid_namer rNr rrXr\rYrrrUr r rrMrr rPr>rr^r_r_r_r`r#s>9   rc@s*eZdZdZdZddgZdgZddgZdS) rzs Lexer for `ClojureScript `_ source code. .. versionadded:: 2.0 ClojureScript clojurescriptcljsz*.cljsztext/x-clojurescriptzapplication/x-clojurescriptN)r@rArBrCrDrErFrGr_r_r_r`rs  rc@seZdZdZejejBZdee e e j e efde fdejfdejfde jfdefdejfd ejfd eeje d fd eeje d fdejfdejfdeee jfde jfde fdefdejfdejfdejfde fgde jdfgde jdfgdZ dS) TeaLangLexerz| For `Tea `_ source code. Only used within a TeaTemplateLexer. .. versionadded:: 1.5 z:^(\s*(?:[a-zA-Z_][\w\.\[\]]*\s+)+?)([a-zA-Z_]\w*)(\s*)(\()r)r*r+z@[a-zA-Z_][\w\.]*z/(and|break|else|foreach|if|in|not|or|reverse)\bz(as|call|define)\br0z(template)(\s+)templater$r/r%r&r'r(z[a-zA-Z_\$]\w*z3(isa|[.]{3}|[.]{2}|[=#!<>+-/%&;,.\*\\\(\)\[\]\{\}])rr*r+r8r,r:r;)r?rr/N)!r@rArBrCrHrIrJrLrrrrrPr r r rNrOrQrrMrTrSrr/rVrWrrXrYr\r]r^r_r_r_r`rsB    rc@seZdZdZdZdgZdgZdgZej ej BZ dZ de eeejeefdefd ejfd ejd fd ejfd efdejfdejfde ejefdejfde ejedfde ejedfdefdejfde eejfdej fdefdefde!j"fde!j"fde!j"fde!j"fd e!j#fd!e!j#fd"e!j$fd#e!j$fd$e!j%fd%e!j%fd&efgd'ej&d(fgd)ejd(fgd*ejfd ejd+fd,ejd(fd-ejfgd.Z'd/S)0r!zY For `Ceylon `_ source code. .. versionadded:: 1.6 Ceylonceylonz*.ceylonz text/x-ceylonz(?:\s|//.*?\n|/[*].*?[*]/)+rr)r*rrz(shared|abstract|formal|default|actual|variable|deprecated|small|late|literal|doc|by|see|throws|optional|license|tagged|final|native|annotation|sealed)\bz(break|case|catch|continue|else|finally|for|in|if|return|switch|this|throw|try|while|is|exists|dynamic|nonempty|then|outer|assert|let)\bz9(abstracts|extends|satisfies|super|given|of|out|assign)\bz(function|value|void|new)\bz(assembly|module|package)(\s+)r0z#(class|interface|object|alias)(\s+)r(r$r/r%z%'\\.'|'[^\\]'|'\\\{#[0-9a-fA-F]{4}\}'z(\.)([a-z_]\w*)r(r,r)z/\d{1,3}(_\d{3})+\.\d{1,3}(_\d{3})+[kMGTPmunpf]?z7\d{1,3}(_\d{3})+\.[0-9]+([eE][+-]?[0-9]+)?[kMGTPmunpf]?z*[0-9][0-9]*\.\d{1,3}(_\d{3})+[kMGTPmunpf]?z2[0-9][0-9]*\.[0-9]+([eE][+-]?[0-9]+)?[kMGTPmunpf]?z##([0-9a-fA-F]{4})(_[0-9a-fA-F]{4})+z #[0-9a-fA-F]+z\$([01]{4})(_[01]{4})+z\$[01]+z\d{1,3}(_\d{3})+[kMGTP]?z[0-9]+[kMGTP]?r8z [A-Za-z_]\w*r:z [a-z][\w.]*z[^*/]rrr)r?r(r/rN)(r@rArBrCrDrErFrGrHrIrJrL_wsrrrrrPr r r rNrOrQrrMrRrSrTrrUrVrWrrXrYrZr\r]r^r_r_r_r`r!s     .   r!c@seZdZdZdZdgZddgZdgZej ej Bej BZ de dd d d d d de dd d d d ddddd dZde dd d d d d de dd d d d dddddd dZdededZdZgdefdefdefdefdejfd ejfd!ejfd"efd#efd$ejfed%ejfed&d'd(ejfd)ejfd*eeeejfd+eeej fd,ee!ej fd-ej"fd.ej"fd/eeee!ed0fd1ed2ee#e$d3d4ej%ed0fd5eej%ee!d6fd1ed7ee#e$d3d4ej%ed8fd1ed9ee#e$d3d4ej%ed:fd;efde&d?fd@e&dAfdBe&j'fdCe(fdDedEefeej)dFfgeej*dFfgdGe!fdefeej*fdHedIee!eefdJedKfdLe!dFfgdJedKfdDedMeeee!ej+dFfeej+dFfgdNeeedFfdOe!fdPefdGe!fdefeefgdQej%fdefe,dFgd@e&dFfe-dRgd>e&dFfd@e&fe-dRgdSe&fdTe&fdUe&fdVe&j.dWfdXee&j.efdYe&fgd@e&fdVe&j.dWfdZe!d[fd\e&j.dFfe-d]gdZe!d[fd\e!dFfe-d]gd^ Z/d_S)`rz\ For `Kotlin `_ source code. .. versionadded:: 1.5 Kotlinkotlinz*.ktz*.ktsz text/x-kotlinz@?[_rrrLmrrrNdPcCfMnMcz]*Zsz\'~!%^&*()+=|\[\]:;,.<>/\?-]*(z|`z`)zactual|abstract|annotation|companion|const|crossinline|data|enum|expect|external|final|infix|inline|inner|internal|lateinit|noinline|open|operator|override|private|protected|public|sealed|suspend|tailrecr)r9\\\nr8r*z ^#!/.+?\nz /[*].*?[*]/zas\?z(as|break|by|catch|constructor|continue|do|dynamic|else|finally|get|for|if|init|[!]*in|[!]*is|out|reified|return|set|super|this|throw|try|typealias|typeof|vararg|when|where|while)\bzit\b) zBoolean?zByte?zChar?zDouble?zFloat?zInt?zLong?zShort?zString?zAny?zUnit?) BooleanByterUr/rXIntrShortrAnyUnitrrr0z(package|import)(\s+)(\S+)z(\?\.)((?:[^\W\d]|\$)[\w$]*)r5r,z[^\W\d][\w.]+@z(object)(\s+)(:)(\s+)r(z((?:(?:z(|fun)\s+)*)(class|interface|object)(\s+) modifiers)statez(var|val)(\s+)(\()destructuring_assignmentz)\s+)*)(var|val)(\s+)variablez)\s+)*)(fun)(\s+)functionz ::|!!|\?[:.]r6r7"""multiline_stringr2r3z '\\.'|'[^\\]'z?[0-9](\.[0-9]*)?([eE][+-][0-9]+)?[flFL]?|0[xX][0-9a-fA-F]+[Ll]?rz ((\?[^.])?)r:rz (:)(\s+)()rgeneric\)z(\.)z(>)(\s*)rz(reified|out|in)\bz\w+ string_commonr<r=r>r interpolationz (\$)(\w+)z[^\\"$]+rscoperr?) r?r(r r r rr r3rrrrN)0r@rArBrCrDrErFrGrHrIrJrKrLrrkt_name kt_space_namekt_idr r r rNrOrrr r rRrTrrSr rVrrQrrrMrrUrr]r>rPr rrr^r_r_r_r`r8s>   ! #& ( +./13457: =        rc@s<eZdZdZdZdgZdgZdgZej ej BZ de e eejeefdefdejfd ejfd ejfd efd ejfd ejfde ejefdejfde ejedfde ejedfdedfdedfdejfdejfdejfdefdefdej fdej!fdej"fdefgd ej#d!fgd"ejd!fgd#ed!fd$ed!fd%efgd&Z$d'S)(rzW For `Xtend `_ source code. .. versionadded:: 1.6 Xtendxtendz*.xtendz text/x-xtend=^(\s*(?:[a-zA-Z_][\w.\[\]]*\s+)+?)([a-zA-Z_$][\w$]*)(\s*)(\()r)r*r+rz(assert|break|case|catch|continue|default|do|else|finally|for|if|goto|instanceof|new|return|switch|this|throw|try|while|IF|ELSE|ELSEIF|ENDIF|FOR|ENDFOR|SEPARATOR|BEFORE|AFTER)\bz(def|abstract|const|enum|extends|final|implements|native|private|protected|public|static|strictfp|super|synchronized|throws|transient|volatile)\br-r.r0r#r(r$r/z(''')rz(\u00BB)r%r&r(r[~^*!%&\[\](){}<>\|+=:;,./?-]rr*r+r8r,r:r;z'''z\u00ABr)r?r(r/rN%r@rArBrCrDrErFrGrHrIrJrLrrrrrPr r r rNrOrQrrMrRrSrTrr/rWrrXrYr\r]r^r_r_r_r`rsd   %  rc@seZdZdZdZdgZdgZdgZej ej BZ de fde fde jfd e fd e fd efed ed edededdejfdejfdejfde fdeeje efde fde fde fgdefgdejfgdejfgdefgdefdefdefgd Zd!S)"r"z\ For `Pig Latin `_ source code. .. versionadded:: 2.0 Pigpigz*.pigz text/x-pigr9z--.*z/\*[\w\W]*?\*/rr>z1\'(?:\\[ntbrf\\\']|\\u[0-9a-f]{4}|[^\'\\\n\r])*\'rtypesrpunctrz[0-9]*\.[0-9]+(e[0-9]+)?[fd]?z 0x[0-9a-f]+r+r8z([a-z_]\w*)(\s*)(\()z[()#:]z [^(:#\'")\s]+z\S+\s+a(assert|and|any|all|arrange|as|asc|bag|by|cache|CASE|cat|cd|cp|%declare|%default|define|dense|desc|describe|distinct|du|dump|eval|exex|explain|filter|flatten|foreach|full|generate|group|help|if|illustrate|import|inner|input|into|is|join|kill|left|limit|load|ls|map|matches|mkdir|mv|not|null|onschema|or|order|outer|output|parallel|pig|pwd|quit|register|returns|right|rm|rmf|rollup|run|sample|set|ship|split|stderr|stdin|stdout|store|stream|through|union|using|void)\bz(AVG|BinStorage|cogroup|CONCAT|copyFromLocal|copyToLocal|COUNT|cross|DIFF|MAX|MIN|PigDump|PigStorage|SIZE|SUM|TextLoader|TOKENIZE)\bzR(bytearray|BIGINTEGER|BIGDECIMAL|chararray|datetime|double|float|int|long|tuple)\bz [;(){}\[\]] [#=,./%+\-?] (eq|gt|lt|gte|lte|neq|matches)\b(==|<=|<|>=|>|!=))r?rrr r!rN)r@rArBrCrDrErFrGrHrI IGNORECASErLr r rOrrrrXrYr\rrrPrrr rRr r^r_r_r_r`r"s`    r"c@seZdZdZdZdgZdgZdefdefde fde fd e j fd e fd e e jed fd e eje fdejfde e jedfde e jedfde e jedfde jfde fde eje fdejfde eje fdejfdejfdejfdejjfdejfdefd ejfd!eed"d#fd$eed"d%fd&eed"d'fd(ejfgdejd)fgd*ejd)fgd+ejd)fgdejd)fgd,efd-efgd.ej fgd!ed)fe!d/d0efgd$ej"d)fe!d/gd&ed)fe!d/gd1e fd2e fd3e fgd4 Z#d5S)6r#zU For `Golo `_ source code. .. versionadded:: 2.0 Goloz*.gologolor)z#.*$z5(\^|\.\.\.|:|\?:|->|==|!=|=|\+|\*|%|/|<=|<|>=|>|=|\.)z(?<=[^-])(-)(?=[^-])z2(?<=[^`])(is|isnt|and|or|not|oftype|in|orIfNull)\bz []{}|(),[]z(module|import)(\s+)modnamez\b([a-zA-Z_][\w$.]*)(::)z+\b([a-zA-Z_][\w$]*(?:\.[a-zA-Z_][\w$]*)+)\bz(let|var)(\s+)varnamez (struct)(\s+) structnamez(function)(\s+)funcnamez(null|true|false)\bz(augment|pimp|if|else|case|match|return|case|when|then|otherwise|while|for|foreach|try|catch|finally|throw|local|continue|break)\bz%(map|array|list|set|vector|tuple)(\[)z6(print|println|readln|raise|fun|asInterfaceInstance)\bz(`?[a-zA-Z_][\w$]*)(\()z&-?[\d_]*\.[\d_]*([eE][+-]?\d[\d_]*)?F?z 0[0-7]+j?z0[xX][a-fA-F0-9]+z -?\d[\d_]*Lz -?\d[\d_]*z`?[a-zA-Z_][\w$]*z@[a-zA-Z_][\w$.]*r stringescape triplestringr2 doublestringr singlestringz----((.|\n)*?)----r:z[a-zA-Z_][\w$.]*\*?z `?[\w.]+\*?z [^\\\'"\n]+z[\'"\\]zY\\([\\abfnrtv"\']|\n|N\{.*?\}|u[a-fA-F0-9]{4}|U[a-fA-F0-9]{8}|x[a-fA-F0-9]{2}|[0-7]{1,3})r3r8r"r#r$) r?r+r(r*r)r3r,r-r.r/rN)$r@rArBrCrDrFrEr r r WordrrrrSrrMrTr rPrrXr[rYr\rrQrrr:r]r>rrr/r^r_r_r_r`r#Xs        =     r#c@s eZdZdZdZddgZdgZdZdeZdeZ d e Z d e Z d e Z id gd e dfdejdfdejdfdefdedfee fdejfde ejfde ejfde ejfde ejfde ejdfde ejfde ejdfd e ejd!fd"e ejd#fd$e ejd%fd&e ejd'fd(e ejd)fd*e ejd+fd,e ejdfd-e ejd.fd/e ejd0fd1e ejd2fed3e d4ejfd5e ejd6fd7e ejd8fd9e ejd:fd;e ejde ejd?fd@e ejdAfdBdejdfdCejfdDejfgddejdfdEejfdFejfgdGdHe fdejdBfed dIe eeje efe ej fgdd e dJfdKe ejdLfed gdMdHe fdNe ejdfed e ej dOfgdPdHe fdNe ejdfed e!dOgdQdejdBfed e ej fgddRe edfed+gd!ed dSe e feej"ej#ej$edfdTe e feej#ej$dfgd6ed dUedVfdWe e feej"ej#ej$edfdXe e feej#ej$dfgd?ed dUefdYe e feej"ej#ej$edfdZe ej"dfe!dgd[ed dUefdWe e feej"ej#ej$edfdZe ej"dfe!dgd\d]edfe!d?gd2ee fd^e e d_fe!d`gd+ed dTe e feej#ej%dfgdadbe ejdcfed dde e e e feej#ej$ejj&dfged dee e e e feej#ej$ej'edffged e ejdfged dge eej'edffgdhe ejdfed ged dde e e e feej#ej$ejj$dfgdHe fdKe ejdfed e ejfged e ejdfged die edfdje edkfdle edmfgdnZ(dodpZ)dqS)rr$zb For `Jasmin `_ assembly code. .. versionadded:: 2.0 Jasminjasminjasminxtz*.jz \n\t\rz (?:[%s]+)z%s:=z (?=[%s]|$)z[^%s]+z(?:[^%s.;\[/]+)r r8r:r)r:rFr2r3rrlabelz;.*z(\$[-+])?0x-?[\da-fA-F]+%sz(\$[-+]|\+)?-?\d+%szG-?(\d+\.\d*|\.\d+)([eE][-+]?\d+)?[fFdD]?[\x00-\x08\x0b\x0c\x0e-\x1f]*%sz\$%sz\.annotation%sr~a!(\.attribute|\.bytecode|\.debug|\.deprecated|\.enclosing|\.interface|\.line|\.signature|\.source|\.stack|\.var|abstract|annotation|bridge|class|default|enum|field|final|fpstrict|interface|native|private|protected|public|signature|static|synchronized|synthetic|transient|varargs|volatile)%sz \.catch%szcaught-exceptionzb(\.class|\.implements|\.inner|\.super|inner|invisible|invisibleparam|outer|visible|visibleparam)%sclass/convert-dotsz \.field%s)descriptor/convert-dotsfieldz(\.end|\.limit|use)%sno-verificationz \.method%smethodz\.set%sr1z \.throws%s exceptionz(from|offset|to|using)%szis%s)r6r1z(locals|stack)%s verificationzmethod%szenclosing-method)aaloadaastore aconst_nullaloadaload_0aload_1aload_2aload_3aload_wareturn arraylengthastoreastore_0astore_1astore_2astore_3astore_wathrowbaloadbastorebipush breakpointcaloadcastored2fd2id2ldadddaloaddastoredcmpgdcmpldconst_0dconst_1ddivdloaddload_0dload_1dload_2dload_3dload_wdmuldnegdremdreturndstoredstore_0dstore_1dstore_2dstore_3dstore_wdsubdupdup2dup2_x1dup2_x2dup_x1dup_x2f2df2if2lfaddfaloadfastorefcmpgfcmplfconst_0fconst_1fconst_2fdivfloadfload_0fload_1fload_2fload_3fload_wfmulfnegfremfreturnfstorefstore_0fstore_1fstore_2fstore_3fstore_wfsubi2bi2ci2di2fi2li2siaddialoadiandiastoreiconst_0iconst_1iconst_2iconst_3iconst_4iconst_5 iconst_m1idiviinciinc_wiloadiload_0iload_1iload_2iload_3iload_wimulinegint2byteint2char int2shortioriremireturnishlishristoreistore_0istore_1istore_2istore_3istore_wisubiushrixorl2dl2fl2iladdlaloadlandlastorelcmplconst_0lconst_1ldc2_wldivlloadlload_0lload_1lload_2lload_3lload_wlmullneg lookupswitchlorlremlreturnlshllshrlstorelstore_0lstore_1lstore_2lstore_3lstore_wlsublushrlxor monitorenter monitorexitnoprpop2retret_wrsaloadsastoresipushswaprz0(anewarray|checkcast|instanceof|ldc|ldc_w|new)%s class/no-dotsz=invoke(dynamic|interface|nonvirtual|special|static|virtual)%s invocationz(getfield|putfield)%s)descriptor/no-dotsr7z(getstatic|putstatic)%s)rstatic)gotogoto_w if_acmpeq if_acmpne if_icmpeq if_icmpge if_icmpgt if_icmple if_icmplt if_icmpneifeqifgeifgtifleifltifne ifnonnullifnulljsrjsr_wz(multianewarray|newarray)%sr6z tableswitch%stablerFz\\u[\da-fA-F]{4}z[^'\\]+z0\\([nrtfb"\'\\]|u[\da-fA-F]{4}|[0-3]?[0-7]{1,2})z[^"\\]+r?z\n+z(%s)([ \t\r]*)(:))r:annotation-bodyz default%s)r:annotation-defaultrz\.end%s)annotation-itemsrrrzall%sz(L)((?:%s[/.])*)(%s)(;)z((?:%s[/.])*)(%s)z\[+)r:rz(L)((?:%s/)*)(%s)(;)z((?:%s/)*)(%s)z(L)((?:%s[/.])*)(%s?)(;)z [^%s\[)L]+rdescriptors/convert-dotsrz (?=[^%s]*\())r:r)r:r5r7zstatic%s)r:rz(((?:%s[/.](?=[^%s]*[/.]))*)(%s[/.])?(%s)z-((?:%s[/.](?=[^%s(]*[/.]))*)(%s[/.])?(%s)(\())r:r6r r6z(%s)(\()z(locals|method|stack)%sz8(Double|Float|Integer|Long|Null|Top|UninitializedThis)%szObject%s)r:rzUninitialized%s)r:r4)rr4r9r8rrr1r;cCsVd}td|tjr|d7}td|tjr|d7}td|tjr&|d7}t|dS) Nrz ^\s*\.class\sg?z^\s*[a-z]+_[a-z]+\bg333333?za^\s*\.(attribute|bytecode|debug|deprecated|enclosing|inner|interface|limit|set|signature|stack)\bg333333?g?)rHsearchrIr)rscorer_r_r`r-s zJasminLexer.analyse_textN)*r@rArBrCrDrErF _whitespacer _separator_break_name_unqualified_namer rrNr/rr rrYr\rXrr>rr?r rrrrWr<r rRrSr] ExceptionInstancerPr^r-r_r_r_r`r$sp         ! "$%(?A D FH NPS X ^  f l rx }        %) . 3 <       jr$c@seZdZdZdZdgZdgZdgZej ej BZ de e eejeefdefdejfd ejfd ejfd efd ejfd ejfde ejefdejfde ejedfde ejedfdejfdejfdejfdefdefdej fdej!fdej"fdefgdej#dfgdejdfgd Z$d!S)"r%zR For `SARL `_ source code. .. versionadded:: 2.4 SARLsarlz*.sarlz text/x-sarlrr)r*r+rz(as|break|case|catch|default|do|else|extends|extension|finally|fires|for|if|implements|instanceof|new|on|requires|return|super|switch|throw|throws|try|typeof|uses|while|with)\bz(abstract|def|dispatch|final|native|override|private|protected|public|static|strictfp|synchronized|transient|val|var|volatile)\br-r.z+(false|it|null|occurrence|this|true|void)\bzY(agent|annotation|artifact|behavior|capacity|class|enum|event|interface|skill|space)(\s+)r(r$r/r%r&r(rrrr*r+r8r,r:r;)r?r(r/Nrr_r_r_r`r%sZ   $  r%),rCrHpygments.lexerrrrrrrrr r pygments.tokenr r r rrrrr pygments.utilrpygmentsrr__all__rr rrrrrrrrr!rrr"r#r$r%r_r_r_r`s> ,(  V'!OM@  /OACq