a
    ñ»j«  ã                   @   s¢   d Z ddlZddlmZmZmZmZmZmZm	Z	m
Z
 ddlmZmZmZ dgZg d¢Zg d¢Zdd	gZg d
¢Zg d¢Zg d¢Zg d¢Zdd„ ZG dd„ deƒZdS )zÊ
    pygments.lexers.asn1
    ~~~~~~~~~~~~~~~~~~~~

    Pygments lexers for ASN.1.

    :copyright: Copyright 2006-present by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
é    N)ÚCommentÚOperatorÚKeywordÚNameÚStringÚNumberÚPunctuationÚ
Whitespace)Ú
RegexLexerÚwordsÚbygroupsÚ	Asn1Lexer)ZENCODEDzABSTRACT-SYNTAXÚENDZAPPLICATIONZEXPLICITZIMPLICITZ	AUTOMATICZTAGSZBEGINZEXTENSIBILITYZBYZFROMZ	COMPONENTZ	UNIVERSALZ
COMPONENTSZCONSTRAINEDZIMPLIEDZDEFINITIONSZINCLUDESZPRIVATEZWITHZOF)ZEXCEPTZUNIONZINTERSECTIONZEXPORTSZIMPORTS)zSEQUENCE OFzSET OFzINSTANCE OFzWITH SYNTAX)ÚSIZEZSEQUENCEZSETZCLASSZUNIQUEÚDEFAULTZCHOICEZPATTERNZOPTIONALZPRESENTZABSENTZ
CONTAININGZ
ENUMERATEDZALL)zOBJECT IDENTIFIERz
BIT STRINGzOCTET STRINGzCHARACTER STRINGzEMBEDDED PDV)zRELATIVE-OIDzTYPE-IDENTIFIERZObjectDescriptorZ	IA5StringZINTEGERZISO646StringZ	T61StringZ	BMPStringZNumericStringZTeletexStringZGeneralizedTimeZREALÚBOOLEANZGeneralStringZGraphicStringZUniversalStringZUTCTimeZVisibleStringZ
UTF8StringZPrintableStringZVideotexStringZEXTERNALc                 C   s   dd  dd„ | D ƒ¡ d S )Nú(ú|c                 s   s   | ]}|  d d¡V  qdS )ú ú\s+N)Úreplace)Ú.0Útoken© r   ú:E:\soccer\ml_env\Lib\site-packages\pygments/lexers/asn1.pyÚ	<genexpr>r   ó    z!word_sequences.<locals>.<genexpr>z)\b)Újoin)Útokensr   r   r   Úword_sequencesq   s    r   c                   @   sT  e Zd ZdZejZdZdgZdgZ	dZ
dZdefdejfd	ejd
fdejfdejfdejfeddd�ejfeeƒejfeedd�ejfdejfeedd�ejfeeƒej fee!dd�ej fee"dd�ej#fee$ƒefdejfdefde%fde&dfde'e&e&j(ƒfde'e&e&j(ƒfgdejfd	ejdfdejdfdejfgde&fde&dfde&fgd œZ)d!S )"r   z+
    Lexer for ASN.1 module definition
    zASN.1Úasn1z*.asn1zDhttps://www.itu.int/ITU-T/studygroups/com17/languages/X.680-0207.pdfz2.16r   z--.*$z/\*Úcommentz\d+\.\d+([eE][-+]?\d+)?z\d+z!&?[a-z][-a-zA-Z0-9]*[a-zA-Z0-9]\b)ÚTRUEÚFALSEÚNULLzMINUS-INFINITYzPLUS-INFINITYZMINÚMAXz\b)ÚsuffixzEXPORTS\s+ALL\bz!&?[A-Z][-a-zA-Z0-9]*[a-zA-Z0-9]\bz#(::=|\.\.\.|\.\.|\[\[|\]\]|\||\^|-)z(\.|,|\{|\}|\(|\)|\[|\])ú"Ústringz('[01 ]*')(B)\bz('[0-9A-F ]*')(H)\bz[^*/]+z#pushz\*/z#popz[*/]z""z[^"])Úrootr!   r(   N)*Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚreÚ	MULTILINEÚflagsÚnameÚaliasesÚ	filenamesÚurlÚversion_addedr	   r   ÚSingleÚ	Multiliner   ÚFloatÚIntegerr   ÚVariabler   r   ÚConstantr   ÚTWO_WORDS_TYPESÚTypeÚSINGLE_WORD_TYPESÚ	NamespaceÚSINGLE_WORD_NAMESPACE_KEYWORDSr   ÚMULTI_WORDS_DECLARATIONSÚDeclarationÚSINGLE_WORDS_DECLARATIONSÚOPERATOR_WORDSÚWordÚSINGLE_WORD_KEYWORDSr   r   r   ÚAffixr   r   r   r   r   r   u   sN   

ß$

üýÖ)r-   r.   Zpygments.tokenr   r   r   r   r   r   r   r	   Zpygments.lexerr
   r   r   Ú__all__rF   rD   r@   rA   rC   r<   r>   r   r   r   r   r   r   Ú<module>   s   
(þ