B
    oºˆd(  ã            ž   @   sb  d Z G dd„ deƒZeƒ ZejZejZejZejZejZej	Z	ej
Z
ejZejZejZejZejZejZejZee_ee_ee_dd„ Zdd„ Zedededed	ed
ede	de	jde	jde	jde	jde	jde	jde
de
jde
jde
jjde
jde
jde
jde
jde
jde
j de
j j!de
j"de
j#de
jd e
jd!e
j$d"e
j%d#e
j%jd$e
j%j&d%e
j%j'd&e
j%j!d'ed(ej(d)ed*ej)d+ej*d,ej+d-ej,d.ej-d/ej.d0ejd1ej/d2ej0d3ejd4ej1d5ej2d6ej3d7ed8ej4d9ej5d:ej6d;ej7d<ej7j8d=ej9d>ed?ej:d@edAej;dBedCej<dDej=dEej>dFej?dGej2dHej@dIedJejAdKejBdLejdMejCdNejDdOejEdPejFdQejGdRejHdSejIdTiOZJdUS )VzË
    pygments.token
    ~~~~~~~~~~~~~~

    Basic token types and the standard tokens.

    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
c               @   sH   e Zd ZdZdd„ Zdd„ Zdd„ Zdd	„ Zd
d„ Zdd„ Z	dd„ Z
dS )Ú
_TokenTypeNc             C   s2   g }| }x|d k	r$|  |¡ |j}q
W | ¡  |S )N)ÚappendÚparentÚreverse)ÚselfÚbufÚnode© r   úL/var/www/html/venv/lib/python3.7/site-packages/pip/_vendor/pygments/token.pyÚsplit   s    


z_TokenType.splitc             G   s   t ƒ | _d S )N)ÚsetÚsubtypes)r   Úargsr   r   r	   Ú__init__   s    z_TokenType.__init__c             C   s*   | |kp(t |ƒ| jko(|d t| ƒ… | kS )N)ÚtypeÚ	__class__Úlen)r   Úvalr   r   r	   Ú__contains__   s    z_TokenType.__contains__c             C   sL   |r|d   ¡ st | |¡S t| |f ƒ}t| ||ƒ | j |¡ | |_|S )Né    )ÚisupperÚtupleÚ__getattribute__r   Úsetattrr   Úaddr   )r   r   Únewr   r   r	   Ú__getattr__"   s    z_TokenType.__getattr__c             C   s   d| r
dpd d  | ¡ S )NÚTokenÚ.Ú )Újoin)r   r   r   r	   Ú__repr__+   s    z_TokenType.__repr__c             C   s   | S )Nr   )r   r   r   r	   Ú__copy__.   s    z_TokenType.__copy__c             C   s   | S )Nr   )r   Úmemor   r   r	   Ú__deepcopy__2   s    z_TokenType.__deepcopy__)Ú__name__Ú
__module__Ú__qualname__r   r
   r   r   r   r    r!   r#   r   r   r   r	   r      s   		r   c             C   s   | |kS )z‚
    Return True if ``ttype`` is a subtype of ``other``.

    exists for backwards compatibility. use ``ttype in other`` now.
    r   )ÚttypeÚotherr   r   r	   Úis_token_subtypeU   s    r)   c             C   s<   t | tƒr| S | stS t}x|  d¡D ]}t||ƒ}q&W |S )a}  
    Convert a string into a token type::

        >>> string_to_token('String.Double')
        Token.Literal.String.Double
        >>> string_to_token('Token.Literal.Number')
        Token.Literal.Number
        >>> string_to_token('')
        Token

    Tokens that are already tokens are returned unchanged:

        >>> string_to_token(String)
        Token.Literal.String
    r   )Ú
isinstancer   r   r
   Úgetattr)Úsr   Úitemr   r   r	   Ústring_to_tokentype^   s    
r.   r   ÚwÚescÚerrÚxÚkÚkcÚkdÚknÚkpÚkrÚktÚnÚnaÚnbÚbpÚncÚnoÚndÚniÚneÚnfÚfmÚpyÚnlÚnnÚnxÚntÚnvÚvcÚvgÚviÚvmÚlÚldr,   ÚsaÚsbÚscÚdlÚsdÚs2ÚseÚshÚsiÚsxÚsrÚs1ÚssÚmÚmbÚmfÚmhÚmiÚilÚmoÚoÚowÚpÚpmÚcÚchÚcmÚcpÚcpfÚc1ÚcsÚgÚgdÚgeÚgrÚghÚgiÚgoÚgpÚgsÚguÚgtN)KÚ__doc__r   r   r   ÚTextÚ
WhitespaceÚEscapeÚErrorÚOtherÚKeywordÚNameÚLiteralÚStringÚNumberÚPunctuationÚOperatorÚCommentÚGenericr)   r.   ÚConstantÚDeclarationÚ	NamespaceÚPseudoÚReservedÚTypeÚ	AttributeÚBuiltinÚClassÚ	DecoratorÚEntityÚ	ExceptionÚFunctionÚMagicÚPropertyÚLabelÚTagÚVariableÚGlobalÚInstanceÚDateÚAffixÚBacktickÚCharÚ	DelimiterÚDocÚDoubleÚHeredocÚInterpolÚRegexÚSingleÚSymbolÚBinÚFloatÚHexÚIntegerÚLongÚOctÚWordÚMarkerÚHashbangÚ	MultilineÚPreprocÚPreprocFileÚSpecialÚDeletedÚEmphÚHeadingÚInsertedÚOutputÚPromptÚStrongÚ
SubheadingÚ	TracebackÚSTANDARD_TYPESr   r   r   r	   Ú<module>	   sÈ   +	