
    f                     *    d dl Z d Zd Zd Zd Zd Zy)    Nc                 *    t        t        |             S )N)
match_dirstranslate_corepatterns    &C:\Python312\Lib\zipfile\_path\glob.py	translater	      s    nW-..    c                     |  dS )zx
    Ensure that zipfile.Path directory names are matched.

    zipfile.Path directory names always end in a slash.
    z[/]? r   s    r   r   r      s     itr
   c                 R    dj                  t        t        t        |                   S )z
    Given a glob pattern, produce a regex that matches it.

    >>> translate('*.txt')
    '[^/]*\\.txt'
    >>> translate('a?txt')
    'a.txt'
    >>> translate('**/*')
    '.*/[^/]*'
     )joinmapreplaceseparater   s    r   r   r      s     773w 1233r
   c                 .    t        j                  d|       S )z
    Separate out character sets to avoid translating their contents.

    >>> [m.group(0) for m in separate('*.txt')]
    ['*.txt']
    >>> [m.group(0) for m in separate('a[?]txt')]
    ['a', '[?]', 'txt']
    z+([^\[]+)|(?P<set>[\[].*?[\]])|([\[][^\]]*$))refinditerr   s    r   r   r      s     ;;EwOOr
   c                     | j                  d      xsT t        j                  | j                  d            j                  dd      j                  dd      j                  dd      S )	zE
    Perform the replacements for a match from :func:`separate`.
    setr   z\*\*z.*z\*z[^/]*z\?.)groupr   escaper   )matchs    r   r   r   +   sR    
 ;;u 
		%++a.!	5	!		!			r
   )r   r	   r   r   r   r   r   r
   r   <module>r      s"    	/4	P
r
   