o
    hN                     @   s   U d Z ddlZddlmZmZ dddddd	d
dddd
Zeeef ed< dee defddZdedefddZ	dddZ
edkrFe
  dS dS )z<Safely evaluate Python string literals without using eval().    N)DictMatch
	'"\)
abfnrtvr   r   r   simple_escapesmreturnc                 C   s   |  dd\}}|dsJ t|}|d ur|S |drJ|dd  }t|dk r1td| z
t|d}W t|S  tyI   td| d w z
t|d}W t|S  tyb   td	| d w )
Nr      r   x   z!invalid hex string escape ('\%s')      z#invalid octal string escape ('\%s'))group
startswithr   getlen
ValueErrorintchr)r   alltaileschexesi r)   M/var/www/html/ai/venv/lib/python3.10/site-packages/blib2to3/pgen2/literals.pyescape   s*   

r+   sc                 C   s   |  ds|  dsJ t| d d | d }| d d |d kr&|d }| |s8J t| t| d  t| dt| ksDJ | t|t|  } tdt| S )Nr   r   r   r      r   z)\\(\'|\"|\\|[abfnrtv]|x.{0,2}|[0-7]{1,3}))r   reprendswithr    resubr+   )r,   qr)   r)   r*   
evalString-   s   ($r3   c                  C   s@   t dD ]} t| }t|}t|}||krt| ||| qd S )N   )ranger#   r.   r3   print)r(   cr,   er)   r)   r*   test8   s   r9   __main__)r   N)__doc__r0   typingr   r   r   str__annotations__r+   r3   r9   __name__r)   r)   r)   r*   <module>   s(   
	
