U ʗRe8@s>dZddlZddlZddlmZmZmZmZmZm Z m Z m Z m Z m Z ddlmZmZddlmZmZmZmZmZmZmZmZmZmZmZddlmZddd d d d d dgZ e!dZ"GdddeZ#e#Z$Gdd d eZ%GdddeZ&Gdd d eZ'e'Z(Gdd d eZ)Gdd d eZ*Gdd d eZ+Gddde#Z,dS)z pygments.lexers.python ~~~~~~~~~~~~~~~~~~~~~~ Lexers for Python and related languages. :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS. :license: BSD, see LICENSE for details. N) Lexer RegexLexerincludebygroupsusingdefaultwordscombined do_insertionsthis) get_bool_optshebang_matches) TextCommentOperatorKeywordNameStringNumber PunctuationGenericOtherError) unistring PythonLexerPythonConsoleLexerPythonTracebackLexer Python2LexerPython2TracebackLexer CythonLexerDgLexer NumPyLexerz.*? c#@seZdZdZdZdZdddddgZd d d d d ddddddddg ZddddgZde j e j fZ ddZ ddZdefd eeejejfd!eeejejfd"ejfd#ejfd$efd%efed&ed'd(eeed)fd*eeed+fd,eejed-fd.eejed/fed0gd1eejejed2d3fd4eejejed2d5fd6eejejed2d7fd8eejejed2d9fd:eejejed;d3fdeejejed;d9fd?eejejd@fdAeejejdBfdCeejejdDfdEeejejdFfdGeejejedHd@fdIeejejedHdBfdJeejejedHdDfdKeejejedHdFfdLefedMdNefdOefdPejfedQedRedSedTedUgdVedWfdXejdYfdZejdYfd[efed0gdVedWfd\edYfd[efed0ge d]d^d_efe d`d^d_ej!fge dad^d_efe d`d^d_ej!fgdbdc"e#j$ddeeedefgdfeee%e&efe'dYge dgdhd^die(j)fdje(j)j*fe dkdhd^die(j+fge dld^d_e(j,j-fge dmd^d_e(j.j-fgdne/j0fdoe/j0fdpe/j1fdqe/j2fdre/j3fdse/j4fgdte e(j5fdtefe e(fgedSe e(j,dYfe'dYge e(j6dYfgdueeeefdve(jfe e(jfdweeeefe'dYgdxeeejdYfdve(jfdye(j)j*dYfe e(jfe'dYgdzej7fd{ej7fged2edHgd|ej7fgeejeeje eje ejd}ejdYfd~ej7fedgdejdYfdej7fedgd}ejdYfd~ej7fedgdejdYfdej7fedgdejdYfeddejfgdejdYfeddejfgdejdYfeddejfgdejdYfeddejfgd Z8ddZ9dS)rz For Python source code (version 3.x). .. versionadded:: 0.10 .. versionchanged:: 2.5 This is now the default ``PythonLexer``. It is still available as the alias ``Python3Lexer``. Pythonhttp://www.python.orgpythonpysagepython3py3z*.pyz*.pywz*.jyz*.sagez*.sc SConstruct SConscriptz*.bzlBUCKBUILDz BUILD.bazel WORKSPACEz*.tacz text/x-pythonzapplication/x-pythonztext/x-python3zapplication/x-python3z [%s][%s]*cCs&dtjfdtjfd|fd|fd|fgS)NzH%(\(\w+\))?[-#0 +]*([0-9]+|[*])?(\.([0-9]+|[*]))?[hlL]?[E-GXc-giorsaux%]zg\{((\w+)((\.\w+)|(\[[^\]]+\]))*)?(\![sra])?(\:(.?[<>=\^])?[-+ ]?#?0?(\d+)?,?(\.\d+)?[E-GXb-gnosx%]?)?\}z [^\\\'"%{\n]+[\'"\\]z %|(\{{1,2})rInterpolttyper3/builddir/build/BUILDROOT/alt-python38-pip-22.2.1-2.el8.x86_64/opt/alt/python38/lib/python3.8/site-packages/pip/_vendor/pygments/lexers/python.pyinnerstring_rulesCszPythonLexer.innerstring_rulescCs"dtjfdtjdfd|fd|fgS)Nz\}z\{expr-inside-fstringz [^\\\'"{}\n]+r.r/r1r3r3r4 fstring_rulesWs  zPythonLexer.fstring_rules\n&^(\s*)([rRuUbB]{,2})("""(?:.|\n)*?""")&^(\s*)([rRuUbB]{,2})('''(?:.|\n)*?''')\A#!.+$#.*$\\\n\\keywords soft-keywords(def)((?:\s|\\\s)+)funcname(class)((?:\s|\\\s)+) classname(from)((?:\s|\\\s)+) fromimport(import)((?:\s|\\\s)+)importexprz(?i)(rf|fr)(""")rfstringescapetdqfz(?i)(rf|fr)(''')tsqfz(?i)(rf|fr)(")dqfz(?i)(rf|fr)(')sqfz ([fF])(""") fstringescapez ([fF])(''')z ([fF])(")z ([fF])(')z(?i)(rb|br|r)(""")tdqsz(?i)(rb|br|r)(''')tsqsz(?i)(rb|br|r)(")dqsz(?i)(rb|br|r)(')sqs([uUbB]?)(""") stringescape([uUbB]?)(''') ([uUbB]?)(") ([uUbB]?)(')[^\S\n]+numbersz!=|==|<<|>>|:=|[-~+/*%=<>&^|.] []{}:(),;[](in|is|and|or|not)\b expr-keywordsbuiltins magicfuncs magicvarsnamez[{([]expr-inside-fstring-innerz(=\s*)?(\![sraf])?\}#popz(=\s*)?(\![sraf])?:\s+z[])}])z async forawaitelseforiflambdayield yield from\bsuffix)TrueFalseNone)assertasyncrebreakcontinuedelelifrfexceptfinallyrgglobalrhripassraisenonlocalreturntrywhilerjrkaswithz6(^[ \t]*)(match|case)\b(?![ \t]*(?:[:,;=^&|@~)\]}]|(?:|z)\b))soft-keywords-innerz(\s+)([^\n_]*)(_\b))A __import__absallanybinbool bytearray breakpointbyteschr classmethodcompilecomplexdelattrdictdirdivmod enumerateevalfilterfloatformat frozensetgetattrglobalshasattrhashhexidinputint isinstance issubclassiterlenlistlocalsmapmax memoryviewminnextobjectoctopenordpowprintpropertyrangereprreversedroundsetsetattrslicesorted staticmethodstrsumsupertupletypevarszip(?e"j%fd?e"j&fd@e"j'j(fdAe"j'fgdBe j)fgdCej*fdDefgeddDejdEfe+dEgdDej,dEfgdFe fdGejfdHefdIejfe+dEgdFe fdJejdEfdKejjdEfdLejfe+dEgdMe j-fge e je e jdNe jdEfdOe j-fedPgdQe jdEfdRe j-fedSgdTe jdEfedPd e jfgdUe jdEfedSd e jfgdVZ.dWdXZ/dYS)Zra For Python 2.x source code. .. versionchanged:: 2.5 This class has been renamed from ``PythonLexer``. ``PythonLexer`` now refers to the Python 3 variant. File name patterns like ``*.py`` have been moved to Python 3 as well. z Python 2.xr#python2py2ztext/x-python2zapplication/x-python2cCsdtjfd|fd|fd|fgS)NG%(\(\w+\))?[-#0 +]*([0-9]+|[*])?(\.([0-9]+|[*]))?[hlL]?[E-GXc-giorsux%] [^\\\'"%\n]+r.%r/r1r3r3r4r5szPython2Lexer.innerstring_rulesr8r9r:rYr;r<r[r=r>r\z!=|==|<<|>>|[-~+/*%=<>&^|.]r?rArBrCrDrErFrGrHr^r_r`backtickz!([rR]|[uUbB][rR]|[rR][uUbB])(""")rPz!([rR]|[uUbB][rR]|[rR][uUbB])(''')rQz([rR]|[uUbB][rR]|[rR][uUbB])(")rRz([rR]|[uUbB][rR]|[rR][uUbB])(')rSrTrUrVrWrXrarZ)rrrtrurvrwrfrxexecryrgrzrhrir{rr|r~rrrjrkrrrlrm)Nrrrrapply basestringrrbufferrrcallablerrcmpcoercerrrrrrrrexecfileexitfilerrrrrrrrrrrinternrrrrrrlongrrrrrrrrrrr raw_inputreducereloadrrrrrrrrrrrrrunichrunicoderxrangerrrz;(?r?r@rAZ__long__rCrDrFrGrHrIrJrK __nonzero__Z__oct__Z__op__rMrNrOrQrRZ__rcmp__Z__rdiv__rSrTrUrVrWrYrZZ__rop__r[r]r^r_r`rarbrcrdreZ __setslice__rfrgrhri __unicode__rj)rlrmrnrorprqrrrsrtru __metaclass__rwrxryr|r}r~z'(\d+\.\d*|\d*\.\d+)([eE][+-]?[0-9]+)?j?z\d+[eE][+-]?[0-9]+j?z 0[0-7]+j?z 0[bB][01]+0[xX][a-fA-F0-9]+\d+Lz\d+j?`.*?`z@[\w.]+ [a-zA-Z_]\w*rcz(?:[ \t]|\\\n)+as\b,[a-zA-Z_][\w.]*zimport\br[a-zA-Z_.][\w.]*rrrrrrrrr)rr?r^r_r`rZrrarBrDrHrFrUrrrRrSrPrQcCs t|dS)Nzpythonw?2(\.\d)?rrr3r3r4rnszPython2Lexer.analyse_textN)0ryrwr{rrrarrrrr5rrrrrrrrrrrrrrrr rrrrrrrrrrrrrrLongBacktickrrrrrrr3r3r3r4rs:       -   #            >c@s0eZdZdZdZdgZdgZddZddZd S) ra For Python console output or doctests, such as: .. sourcecode:: pycon >>> a = 'foo' >>> print a foo >>> 1 / 0 Traceback (most recent call last): File "", line 1, in ZeroDivisionError: integer division or modulo by zero Additional options: `python3` Use Python 3 lexer for code. Default is ``True``. .. versionadded:: 1.0 .. versionchanged:: 2.5 Now defaults to ``True``. zPython console sessionpyconztext/x-python-doctestcKs t|dd|_tj|f|dS)Nr'T)r r'rr5)selfoptionsr3r3r4r5szPythonConsoleLexer.__init__c cs|jr tf|j}tf|j}ntf|j}tf|j}d}g}d}d}d}t|D]r} | } | dsx| drd}| t |dt j | ddfgf|| dd7}qV| dkr|s| t |dt j dfgf|| dd7}qV|rt|||EdHd}g}| ds.td | r@d }| }| }qV| d kr^| tj| fVqV|r|| 7}| d s| dksd}||D]\} } } || | | fVqd}qV| t j| fVqV|rt|||EdH|r||D]\} } } || | | fVqdS) Nrz>>> z... z...z"Traceback (most recent call last):z File "[^"]+", line \d+\n$zKeyboardInterrupt  )r'rrrrrline_refinditergroup startswithappendrrPromptrstripr get_tokens_unprocessedrematchstartrrstripOutput)rrZpylexerZtblexerZcurcode insertionsZcurtbZtbindextbrlineitvr3r3r4rsj            z)PythonConsoleLexer.get_tokens_unprocessedN) ryrwr{rrrarrr5rr3r3r3r4rrs c @seZdZdZdZddgZddgZddgZd efd e j d fd e j fd e j fde j d fde fgde ee jeeee efde ee jeeefde eeeedfde eeefde e jee edfde e jedfgde eejedfedgdZdS)ra For Python 3.x tracebacks, with support for chained exceptions. .. versionadded:: 1.0 .. versionchanged:: 2.5 This is now the default ``PythonTracebackLexer``. It is still available as the alias ``Python3TracebackLexer``. zPython Tracebackpytbpy3tbz*.pytbz*.py3tbztext/x-python-tracebackztext/x-python3-tracebackr8z'^Traceback \(most recent call last\):\nintbzH^During handling of the above exception, another exception occurred:\n\nzI^The above exception was the direct cause of the following exception:\n\n^(?= File "[^"]+", line \d+)^.*\n0^( File )("[^"]+")(, line )(\d+)(, in )(.+)(\n)%^( File )("[^"]+")(, line )(\d+)(\n)^( )(.+)(\n)markers^([ \t]*)(\.\.\.)(\n)^([^:]+)(: )(.+)(\n)rcz^([a-zA-Z_][\w.]*)(:?\n)z^( {4,})([~^]+)(\n))rrrN)ryrwr{rrrarrrrr TracebackrrrrrrrrrrMarkerrrr3r3r3r4rsZ       c @seZdZdZdZdgZdgZdgZdee e j dfde j dfd e fgd ee e je ee e e fd ee e je ee fd ee eee d fdee ee fdee je e e dfdee je dfgdee ejdfedgdZdS)rz For Python tracebacks. .. versionadded:: 0.7 .. versionchanged:: 2.5 This class has been renamed from ``PythonTracebackLexer``. ``PythonTracebackLexer`` now refers to the Python 3 variant. zPython 2.x Tracebackpy2tbz*.py2tbztext/x-python2-tracebackz^(\^C)?(Traceback.*\n)rrrrrrmarkerrrrcz^([a-zA-Z_]\w*)(:?\n)z ( {4,})(\^))rrrN)ryrwr{rrrarrrrrrrrrrrrrrrrrrrr3r3r3r4rsL      c!@sPeZdZdZdZdZdddgZddd gZd d gZd e fd e e e j fde e e j fde fde fdefde fde fdejfde eejefdefde eejeeeeefedde ee dfde ee dfde eefde ee dfd e ee d!fd"e ee d#fed$ed%d&e d'fd(e d)fd*e d+fd,e d-fd.e ed/d'fd0e ed/d)fd1e ed/d+fd2e ed/d-fed3ed4ged5d6d7efd8e jfged9d:d6d;ejfdejfd?ejfd@ejfdAejj fdBejfgdCe j!fgdDej"fdEefgdEej#dFfgdGej$fdHefdIe ej#e dFfdJe ej#e efdKedFfdLefdMedFfdNe dFfdEejfdOe fg dEej%dFfgdPe e ee fdQej&fdRe e ee fe'dFgdSe e edFfdTej&fe'dFgdUe j(fgdVe j)fdWe fdXe fdYe fgd e fgdZe dFfd[e j(fed\gd]e dFfd^e j(fed\gd_e dFfed\ed`gdae dFfed\ed`gdbZ*dcS)drzF For Pyrex and Cython source code. .. versionadded:: 1.1 Cythonzhttp://cython.orgcythonpyxpyrexz*.pyxz*.pxdz*.pxiz text/x-cythonzapplication/x-cythonr8z^(\s*)("""(?:.|\n)*?""")z^(\s*)('''(?:.|\n)*?''')rYr<r[r=r>r\z(<)([a-zA-Z0-9.?]+)(>)z!=|==|<<|>>|[-~+/*%=<>&^|.?]z(from)(\d+)(<=)(\s+)(<)(\d+)(:)r?z(def|property)(\s+)rBz (cp?def)(\s+)cdefz (cdef)(:)z(class|struct)(\s+)rDz (from)(\s+)rFz(c?import)(\s+)rHr^rz(?:[rR]|[uU][rR]|[rR][uU])"""rPz(?:[rR]|[uU][rR]|[rR][uU])'''rQz(?:[rR]|[uU][rR]|[rR][uU])"rRz(?:[rR]|[uU][rR]|[rR][uU])'rSz[uU]?"""rUz[uU]?'''z[uU]?"z[uU]?'rarZ)rrrsrertZbyruZctypedefrvrwrfrxzexcept?rryrgZfusedZgilrzrhrriZnogilr{rr|r~rrrjrrrlrmz(DEF|IF|ELIF|ELSE)\b)QrrrrrrrZbintrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrZ Py_ssize_trrrrrrrrrrrrrrrrrrrZunsignedrrrrrz<(?(?d?d@dAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdWdXdYdZd[d\d]d^d_d`dadbdcdddedfdgdhdidjdkdldmdndodpdqdrdsdtdudvdwdxdydzd{d|d}d~ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd d d d d ddddddddddddddddddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8d9d:d;d<d=d>d?d@dAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdWdXdYdZd[d\d]d^d_d`dadbdcdddedfdgdhdidjdkdldmdndodpdqdrdsdtdudvdwdxdydzd{d|d}d~ddddddddhZ ddZ ddZ dS(r!z[ A Python lexer recognizing Numerical Python builtins. .. versionadded:: 0.10 NumPyzhttps://numpy.org/numpyrabsolute accumulateaddalenrZallcloseZalltrueZalterdotZamaxZaminZanglerrZapply_along_axisZapply_over_axesZarangeZarccosZarccoshZarcsinZarcsinhZarctanZarctan2ZarctanhZargmaxZargminZargsortZargwhereZaroundarrayZ array2stringZ array_equalZ array_equivZ array_reprZ array_splitZ array_strZ arrayrangeZ asanyarrayZasarrayZasarray_chkfiniteZascontiguousarrayZasfarrayZasfortranarrayZasmatrixZasscalarZastypeZ atleast_1dZ atleast_2dZ atleast_3dZaverageZbartlettZ base_reprbetaZ binary_reprZbincountZbinomialZ bitwise_andZ bitwise_notZ bitwise_orZ bitwise_xorZblackmanZbmat broadcastZ byte_boundsrbyteswapZc_Zcan_castceilchooseZclipZ column_stackZ common_typeZcompare_chararrayscompressZ concatenateZconj conjugateZconvolvecopyZcorrcoefZ correlatecoscoshZcovcrossZcumprodZ cumproductZcumsumdeleteZ deprecateZdiagZdiagflatZdiagonaldiffZdigitizeZdispdividedotZdsplitZdstackZdtypedumpdumpsZediff1demptyZ empty_likeequalexpZ expand_dimsexpm1extracteyefabsZfastCopyAndTransposeZfftZfftfreqZfftshiftfillZfinfoZfixZflatZ flatnonzeroflattenZfliplrZflipudfloorZ floor_dividefmodfrexpZ fromarraysZ frombufferfromfileZ fromfunctionZfromiterZ frompyfunc fromstringZgenericZget_array_wrapZ get_includeZget_numarray_includeZget_numpy_includeZget_printoptions getbufferZ getbufsizeZgeterrZ geterrcallZ geterrobjZgetfieldZgradientZgreaterZ greater_equalZgumbelZhammingZhanningZ histogramZ histogram2dZ histogramddZhsplitZhstackhypotZi0identityZifftimagZ index_expindicesinfinfoinnerinsertZ int_asbufferZinterpZ intersect1dZintersect1d_nuinvinvertZ iscomplexZ iscomplexobjisfiniteZ isfortranisinfisnanZisneginfZisposinfZisrealZ isrealobjZisscalarZissctypeZ issubclass_Z issubdtypeZ issubsctypeitemZitemsetiterableZix_ZkaiserZkronldexpZ left_shiftlessZ less_equalZlexsortZlinspaceloadloadsZloadtxtloglog10log1plog2 logical_andZ logical_not logical_or logical_xorZlogspaceZlstsqmatmatrixrmaximumZmaximum_sctypeZmay_share_memoryZmeanZmedianZmeshgridZmgridrminimumZ mintypecodemodmodfZmsortmultiplynanZ nan_to_numZ nanargmaxZ nanargminZnanmaxZnanminZnansumZ ndenumeratendimZndindexnegativeZnewaxisZ newbufferZ newbyteorderZnonzero not_equalZ obj2sctypeZogridZonesZ ones_likeouterZ permutationZ piecewiseZpinvZpkgloadZplaceZpoissonZpolyZpoly1dZpolyaddZpolyderZpolydivZpolyfitZpolyintZpolymulZpolysubZpolyvalpowerprodproductZptpputZputmaskZr_randintZrandom_integersZ random_sampleZranfZrankZravelrealZ real_if_closeZrecarrayZ reciprocalr remainderrepeatrequireZreshaperesizeZ restoredotZ right_shiftZrintZrollZrollaxisrootsZrot90rZround_Z row_stackZs_sampleZsavetxtZ sctype2charZ searchsortedseedselectZset_numeric_opsZset_printoptionsZset_string_functionZ setbufsizeZ setdiff1dZseterrZ seterrcallZ seterrobjZsetfieldZsetflagsZ setmember1dZsetxor1dshapeZ show_configshufflesignZsignbitsinZsincsinhsizerZsolveZsometruesortZ sort_complexsourcesplitsqrtZsquareZsqueezeZstandard_normalZstdsubtractrZsvdZswapaxesrtantanhZ tensordottestZtiletofiletolisttostringtraceZ transposeZtrapzZtriZtrilZ trim_zerosZtriuZ true_divideZtypeDicttypenameuniformZunion1duniqueZunique1dZ unravel_indexunwrapZvandervarZvdotZ vectorizeviewZvonmisesZvsplitZvstackZweibullwhereZwhoZzerosZ zeros_likeccsJt||D]8\}}}|tkr8||jkr8|tj|fVq |||fVq dS)N)rrrEXTRA_KEYWORDSrr)rrindextokenvaluer3r3r4rs  z!NumPyLexer.get_tokens_unprocessedcCs.|dd}t|dsd|ko,d|kp,d|kS)Nrrrz import numpyzfrom numpy importr)rZltextr3r3r4rs   zNumPyLexer.analyse_textN) ryrwr{rrrarrrrrrrr3r3r3r4r!IsC )-rrrrpip._vendor.pygments.lexerrrrrrrrr r r pip._vendor.pygments.utilr r pip._vendor.pygments.tokenrrrrrrrrrrrZpip._vendor.pygmentsrr__all__rrr Python3LexerrrrPython3TracebackLexerrrr r!r3r3r3r4s8 04  w_X505c