File: //lib64/python3.9/__pycache__/string.cpython-39.opt-2.pyc
a
    �DOgF)  �                   @   s�   g d �Z ddlZdZdZdZee ZdZed d Zd	Zd
Z	ee e	 e Z
ddd�ZddlZ
dd
lmZ i ZG dd� d�Ze��  G dd� d�ZdS ))�
ascii_letters�ascii_lowercase�ascii_uppercase�capwords�digits�	hexdigits�	octdigits�	printable�punctuation�
whitespace�	Formatter�Template�    Nz 	
�abcdefghijklmnopqrstuvwxyz�ABCDEFGHIJKLMNOPQRSTUVWXYZ�
0123456789ZabcdefZABCDEF�01234567z !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~c                 C   s   |pd� dd� | �|�D ��S )N� c                 s   s   | ]}|� � V  qd S �N)�
capitalize)�.0�x� r   �/usr/lib64/python3.9/string.py�	<genexpr>0   �    zcapwords.<locals>.<genexpr>)�join�split)�s�sepr   r   r   r   %   s    r   )�ChainMapc                       sV   e Zd ZdZdZdZejZ� fdd�Z	dd� Z
dd	� Zefd
d�Z
efdd
�Z�  ZS )r   �$z(?a:[_a-z][_a-z0-9]*)Nc              	      sr   t � ��  d| jv r| j}n<t�| j�}| j}| jp8| j}d|� d|� d|� d|� d�	}t�	|| j
tjB �| _d S )N�patternz
            z(?:
              (?P<escaped>zC)  |   # Escape sequence of two delimiters
              (?P<named>zJ)       |   # delimiter and a Python identifier
              {(?P<braced>z�)} |   # delimiter and a braced identifier
              (?P<invalid>)             # Other ill-formed delimiter exprs
            )
            )�super�__init_subclass__�__dict__r!   �_re�escape�	delimiter�	idpattern�braceidpattern�compile�flags�VERBOSE)�clsr!   �delim�id�bid��	__class__r   r   r#   E   s     
����zTemplate.__init_subclass__c                 C   s
   || _ d S r   )�template)�selfr3   r   r   r   �__init__W   s    zTemplate.__init__c                 C   sd   |� d�}| jd |� jdd�}|s.d}d}n"|td�|d d� �� }t|�}td||f ��d S )N�invalidT)�keepends�   � ���z.Invalid placeholder in string: line %d, col %d)�startr3   �
splitlines�lenr   �
ValueError)r4   �mo�i�lines�colno�linenor   r   r   �_invalid\   s    
�zTemplate._invalidc                   s:   � t u r|� n|rt|� �� � �fdd�}�j�|�j�S )Nc                    sd   | � d�p| � d�}|d ur(t� | �S | � d�d ur<�jS | � d�d urT��| � td�j��d S �N�named�braced�escapedr6   z#Unrecognized named group in pattern)�group�strr'