hyb
2025-11-10 e0a856b5072c5a09f3f6de6da85abf90e00ee704
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
Ë
Añúh
ãó’—ddlZddlZejeej«eej«zzZGd„d«Zd„Zy)éNcóP—eZdZUdZeed<efdefd„Zd„Zd„Z    d„Z
d„Z d„Z d    „Z y
) Ú
Translatorzã
    >>> Translator('xyz')
    Traceback (most recent call last):
    ...
    AssertionError: Invalid separators
 
    >>> Translator('')
    Traceback (most recent call last):
    ...
    AssertionError: Invalid separators
    ÚsepscóZ—|rt|«tt«ksJd«‚||_y)NzInvalid separators)ÚsetÚ _default_sepsr)Úselfrs  úOH:\Change_password\venv_build\Lib\site-packages\setuptools/_vendor/zipp/glob.pyÚ__init__zTranslator.__init__s(€Ùœ˜D›    ¤S¬Ó%7Ò7ÐMÐ9MÓMÐ7؈    ócóB—|j|j|««S)zH
        Given a glob pattern, produce a regex that matches it.
        )ÚextendÚtranslate_core©r    Úpatterns  r
Ú    translatezTranslator.translates€ð{‰{˜4×.Ñ.¨wÓ7Ó8Ð8r có—d|›dS)zß
        Extend regex for pattern-wide concerns.
 
        Apply '(?s:)' to create a non-matching group that
        matches newlines (valid on Unix).
 
        Append '\Z' to imply fullmatch even when match is used.
        z(?s:z)\Z©rs  r
rzTranslator.extend!s€ðwi˜sÐ#Ð#r c
óž—|j|«djt|jt    |j |««««S)a?
        Given a glob pattern, produce a regex that matches it.
 
        >>> t = Translator()
        >>> t.translate_core('*.txt').replace('\\\\', '')
        '[^/]*\\.txt'
        >>> t.translate_core('a?txt')
        'a[^/]txt'
        >>> t.translate_core('**/*').replace('\\\\', '')
        '.*/[^/][^/]*'
        Ú)Úrestrict_rglobÚjoinÚmapÚreplaceÚseparateÚstar_not_emptyrs  r
rzTranslator.translate_core,s<€ð     ×јGÔ$؏w‰w”s˜4Ÿ<™<¬°$×2EÑ2EÀgÓ2NÓ)OÓPÓQÐQr có—|jd«xsutj|jd««jdd«jddtj|j«›d«jdd    «S)
zM
        Perform the replacements for a match from :func:`separate`.
        rrz\*\*z.*z\*ú[^z]*z\?z[^/])ÚgroupÚreÚescaperr)r    Úmatchs  r
rzTranslator.replace;si€ð{‰{˜5Ó!ò
Ü I‰Ie—k‘k !“nÓ %ß ‰WX˜uÓ %ß ‰WU˜r¤"§)¡)¨D¯I©IÓ"6Ð!7°rÐ:Ó ;ß ‰WU˜GÓ $ð        
r có°—dtj|j«›d}tj||«}t    d„|D««r t d«‚y)zô
        Raise ValueError if ** appears in anything but a full path segment.
 
        >>> Translator().translate('**foo')
        Traceback (most recent call last):
        ...
        ValueError: ** must appear alone in a path segment
        ú[ú]+c3ó2K—|]}d|vxr|dk7–—Œy­w)z**Nr)Ú.0Úsegments  r
ú    <genexpr>z,Translator.restrict_rglob.<locals>.<genexpr>Qs èø€ÒK°wˆtwˆÒ2 7¨d¡?Ó2ÑKùs‚z&** must appear alone in a path segmentN)r r!rÚsplitÚanyÚ
ValueError)r    rÚ seps_patternÚsegmentss    r
rzTranslator.restrict_rglobFsP€ðœBŸI™I d§i¡iÓ0Ð1°Ð4ˆ Ü—8‘8˜L¨'Ó2ˆÜ ÑKÀ(ÔKÔ KÜÐEÓFÐ Fð Lr có|—d„}dtj|j«›d}tj|||«S)z@
        Ensure that * will not match an empty segment.
        có6—|jd«}|dk(rdS|S)NrÚ*z?*)r)r"r(s  r
Úhandle_segmentz1Translator.star_not_empty.<locals>.handle_segmentYs €Ø—k‘k !“nˆGØ" cš>4Ð 6¨wÐ 6r rr%)r r!rÚsub)r    rr2Únot_seps_patterns    r
rzTranslator.star_not_emptyTs:€ò
    7ð!¤§¡¨4¯9©9Ó!5Р6°bÐ9Ð܏v‰vÐ&¨¸Ó@Ð@r N)Ú__name__Ú
__module__Ú __qualname__Ú__doc__ÚstrÚ__annotations__rr rrrrrrrr r
rrs>…ñ
ð ƒIà#0ñ˜Sóò9ò     $ò Rò    
ò Gó
Ar rcó.—tjd|«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>[\[].*?[\]])|([\[][^\]]*$))r Úfinditer)rs r
rras€ô ;‰;ÐEÀwÓ OÐOr )    Úosr Úsepr9ÚaltsepÚboolrrrrr r
ú<module>rAsEðÛ    Û    ð—‘™˜RŸY™Y›©$¨r¯y©y«/Ñ9Ñ9€ ÷VAñVAór    Pr