a
    Df                     @   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-2024 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-SYNTAXZ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
ENUMERATED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   a/nfs/NAS7/SABIOD/METHODE/ermites/ermites_venv/lib/python3.9/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.1Z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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urlZversion_addedr	   r   SingleZ	Multiliner   ZFloatZIntegerr   Variabler   r   Constantr   TWO_WORDS_TYPESTypeSINGLE_WORD_TYPES	NamespaceSINGLE_WORD_NAMESPACE_KEYWORDSr   MULTI_WORDS_DECLARATIONSZDeclarationSINGLE_WORDS_DECLARATIONSOPERATOR_WORDSWordSINGLE_WORD_KEYWORDSr   r   r   Z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__r>   r<   r9   r:   r;   r5   r7   r   r   r   r   r   r   <module>   s   
(