o
    /فic	                  	   @   s   d dl Z d dlZd dlmZmZ dedefddZdedefdd	Zdedefd
dZ	ddeeee f de	de	defddZ
	ddeeef de	defddZdS )    N)PatternUnionpatternreturnc                 C   s   d}| j dkr	d}| j ttj@ dkr|d7 }| j ttj@ dkr%|d7 }| j ttj@ dkr3|d7 }| j ttjttjB ttjB ttjB  @ dksQJ d|S )N r   ismzPUnexpected re.Pattern flag, only MULTILINE, IGNORECASE and DOTALL are supported.)flagsintre
IGNORECASEDOTALL	MULTILINEUNICODE)r   r
    r   \/home/test-dt/pcm-url-check/venv/lib/python3.10/site-packages/playwright/_impl/_str_utils.pyescape_regex_flags   s"   
(r   textc                 C   s   t dd| S )Nz[.*+?^>${}()|[\]\\]z\$&)r   subr   r   r   r   escape_for_regex&   s   r   c                 C   s(   dt dd| jdd d t|  S )N/z(^|[^\\])(\\\\)*(["\'`])z\1\2\\\3z>>z\>\>)r   r   r   replacer   r   r   r   r   escape_regex_for_selector*   s   r   exactcase_sensitivec                 C   s*   t | tr	t| S t| |rd S d S )Nr   r   )
isinstancer   r   jsondumps)r   r   r   r   r   r   escape_for_text_selector6   s   
r    valuec                 C   s<   t | tr	t| S d| dddd d |rd S d S )N"\z\\z\"r   r   )r   r   r   r   )r!   r   r   r   r   escape_for_attribute_selector>   s   
r$   )NN)N)r   r   typingr   r   strr   r   r   boolr    r$   r   r   r   r   <module>   s0   
	
