Ë
    òT•j}  ã                   ó   — d dl Z d„ Zd„ Zd„ Zy)é    Nc                 ó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Úseparate©Úpatterns    ú)/usr/lib/python3.12/zipfile/_path/glob.pyÚ	translater      s   € ð �7‰7”3”w¤¨Ó 1Ó2Ó3Ð3ó    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   € ô �;‰;ÐEÀwÓ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   ú<module>r      s   ðÛ 	ò4ò	Pó
r   