a
XC?h � @ sV d Z ddlmZmZ G dd� de�ZG dd� de�Zeed�Zdd � Zed
�Z e dd�= ed
�Z
ed�Zee
eeiZeeeeiZeeeeiZeeeeiZeeeeiZ ee!ee"iZ#e$e$e%e%e&e&e'e'e(e)e*e+e,e,e-e-iZ.e$e/e%e0e&e1e'e2e(e3e*e4e,e5e-e6iZ7dZ8dZ9dZ:dZ;dZdZ?dZ@dZAdZBdZCeDdk�rRdd� ZEeFdd���ZGeG�Hd� eG�Hde � eEeGe d� eEeGe
d � eEeGed � eG�Hd!e8 � eG�Hd"e9 � eG�Hd#e: � eG�Hd$e; � eG�Hd%e< � eG�Hd&e= � eG�Hd'e> � eG�Hd(e? � eG�Hd)e@ � eG�Hd*eA � eG�Hd+eB � eG�Hd,eC � W d � n1 �s@0 Y eId-� dS ).i��3� )� MAXREPEAT� MAXGROUPSc s" e Zd ZdZd� fdd� Z� ZS )�error�reNc s� || _ || _|| _|d ur�|d ur�d||f }t|t�r>d}nd}|�|d|�d | _||�|d|� | _||v r�d|| j| jf }nd | _| _t � �
|� d S )Nz%s at position %d�
�
r � z%s (line %d, column %d))�msg�pattern�pos�
isinstance�str�count�lineno�rfind�colno�super�__init__)�selfr r
r �newline�� __class__� �2/opt/alt/python39/lib64/python3.9/sre_constants.pyr % s
zerror.__init__)NN)�__name__�
__module__�__qualname__r �
__classcell__r r r r r s r c s( e Zd Z� fdd�Zdd� ZdZ� ZS )�_NamedIntConstantc s t t| ��| |�}||_|S �N)r r �__new__�name)�cls�valuer! r r r r r 9 s z_NamedIntConstant.__new__c C s | j S r �r! )r r r r �__repr__> s z_NamedIntConstant.__repr__N)r r r r r% �
__reduce__r r r r r r 8 s r r c C s8 | � � �� } dd� t| �D �}t� �dd� |D �� |S )Nc S s g | ]\}}t ||��qS r )r )�.0�ir! r r r �
G � z_makecodes..c S s i | ]}|j |�qS r r$ )r' �itemr r r �
H r* z_makecodes..)�strip�split� enumerate�globals�update)�names�itemsr r r �
_makecodesE s r4 az
FAILURE SUCCESS
ANY ANY_ALL
ASSERT ASSERT_NOT
AT
BRANCH
CALL
CATEGORY
CHARSET BIGCHARSET
GROUPREF GROUPREF_EXISTS
IN
INFO
JUMP
LITERAL
MARK
MAX_UNTIL
MIN_UNTIL
NOT_LITERAL
NEGATE
RANGE
REPEAT
REPEAT_ONE
SUBPATTERN
MIN_REPEAT_ONE
GROUPREF_IGNORE
IN_IGNORE
LITERAL_IGNORE
NOT_LITERAL_IGNORE
GROUPREF_LOC_IGNORE
IN_LOC_IGNORE
LITERAL_LOC_IGNORE
NOT_LITERAL_LOC_IGNORE
GROUPREF_UNI_IGNORE
IN_UNI_IGNORE
LITERAL_UNI_IGNORE
NOT_LITERAL_UNI_IGNORE
RANGE_UNI_IGNORE
MIN_REPEAT MAX_REPEAT
�����Nz�
AT_BEGINNING AT_BEGINNING_LINE AT_BEGINNING_STRING
AT_BOUNDARY AT_NON_BOUNDARY
AT_END AT_END_LINE AT_END_STRING
AT_LOC_BOUNDARY AT_LOC_NON_BOUNDARY
AT_UNI_BOUNDARY AT_UNI_NON_BOUNDARY
a�
CATEGORY_DIGIT CATEGORY_NOT_DIGIT
CATEGORY_SPACE CATEGORY_NOT_SPACE
CATEGORY_WORD CATEGORY_NOT_WORD
CATEGORY_LINEBREAK CATEGORY_NOT_LINEBREAK
CATEGORY_LOC_WORD CATEGORY_LOC_NOT_WORD
CATEGORY_UNI_DIGIT CATEGORY_UNI_NOT_DIGIT
CATEGORY_UNI_SPACE CATEGORY_UNI_NOT_SPACE
CATEGORY_UNI_WORD CATEGORY_UNI_NOT_WORD
CATEGORY_UNI_LINEBREAK CATEGORY_UNI_NOT_LINEBREAK
r � � � � � �@ � � �__main__c C s* t |�}|D ]}| �d|||f � qd S )Nz#define %s_%s %d
)�sorted�write)�f�d�prefixr3 r+ r r r �dump� s rD zsre_constants.h�wao /*
* Secret Labs' Regular Expression Engine
*
* regular expression matching engine
*
* NOTE: This file is generated by sre_constants.py. If you need
* to change anything in here, edit sre_constants.py and run it.
*
* Copyright (c) 1997-2001 by Secret Labs AB. All rights reserved.
*
* See the _sre.c file for information on usage and redistribution.
*/
z#define SRE_MAGIC %d
ZSRE_OPZSREz#define SRE_FLAG_TEMPLATE %d
z#define SRE_FLAG_IGNORECASE %d
z#define SRE_FLAG_LOCALE %d
z#define SRE_FLAG_MULTILINE %d
z#define SRE_FLAG_DOTALL %d
z#define SRE_FLAG_UNICODE %d
z#define SRE_FLAG_VERBOSE %d
z#define SRE_FLAG_DEBUG %d
z#define SRE_FLAG_ASCII %d
z#define SRE_INFO_PREFIX %d
z#define SRE_INFO_LITERAL %d
z#define SRE_INFO_CHARSET %d
Zdone)J�MAGIC�_srer r � Exceptionr �intr r4 �OPCODES�ATCODES�CHCODES�LITERAL�LITERAL_IGNORE�NOT_LITERAL�NOT_LITERAL_IGNORE� OP_IGNORE�LITERAL_LOC_IGNORE�NOT_LITERAL_LOC_IGNORE�OP_LOCALE_IGNORE�LITERAL_UNI_IGNORE�NOT_LITERAL_UNI_IGNORE�OP_UNICODE_IGNORE�AT_BEGINNINGZAT_BEGINNING_LINE�AT_ENDZAT_END_LINE�AT_MULTILINEZAT_BOUNDARYZAT_LOC_BOUNDARYZAT_NON_BOUNDARYZAT_LOC_NON_BOUNDARY� AT_LOCALEZAT_UNI_BOUNDARYZAT_UNI_NON_BOUNDARY�
AT_UNICODEZCATEGORY_DIGITZCATEGORY_NOT_DIGITZCATEGORY_SPACEZCATEGORY_NOT_SPACEZ
CATEGORY_WORDZCATEGORY_LOC_WORDZCATEGORY_NOT_WORDZCATEGORY_LOC_NOT_WORDZCATEGORY_LINEBREAKZCATEGORY_NOT_LINEBREAK� CH_LOCALEZCATEGORY_UNI_DIGITZCATEGORY_UNI_NOT_DIGITZCATEGORY_UNI_SPACEZCATEGORY_UNI_NOT_SPACEZCATEGORY_UNI_WORDZCATEGORY_UNI_NOT_WORDZCATEGORY_UNI_LINEBREAKZCATEGORY_UNI_NOT_LINEBREAK�
CH_UNICODE�SRE_FLAG_TEMPLATE�SRE_FLAG_IGNORECASE�SRE_FLAG_LOCALE�SRE_FLAG_MULTILINE�SRE_FLAG_DOTALL�SRE_FLAG_UNICODE�SRE_FLAG_VERBOSE�SRE_FLAG_DEBUG�SRE_FLAG_ASCII�SRE_INFO_PREFIX�SRE_INFO_LITERAL�SRE_INFO_CHARSETr rD �openrA r@ �printr r r r � s� !
,
��������
.