o
    Zh                     @   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-2023 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)ZSIZEZSEQUENCEZSETZCLASSZUNIQUEDEFAULTZCHOICEZPATTERN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REALZ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   K/var/www/html/lang_env/lib/python3.10/site-packages/pygments/lexers/asn1.py	<genexpr>r   s    z!word_sequences.<locals>.<genexpr>z)\b)join)tokensr   r   r   word_sequencesq   s   r   c                   @   sP  e Zd ZdZejZdZdgZdg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   zG
    Lexer for ASN.1 module definition

    .. versionadded:: 2.16
    zASN.1asn1z*.asn1zDhttps://www.itu.int/ITU-T/studygroups/com17/languages/X.680-0207.pdfr   z--.*$z/\*commentz\d+\.\d*([eE][-+]?\d+)?z\d+z!&?[a-z][-a-zA-Z0-9]*[a-zA-Z0-9]\b)TRUEFALSEZ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urlr	   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__rB   r@   r<   r=   r?   r8   r:   r   r   r   r   r   r   <module>   s     
(