§
    !@Äj  ã                  ó¬  — d Z ddlmZ ddlZddlZddlZddlmZmZ ddl	m
Z
mZmZ e
rddlmZmZmZ  edee¦  «        Zg d¢Zd1d2d„Zd1d3d„Zd3d„Zed4d„¦   «         Zed5d„¦   «         Zd6d „Zd!„ Zed7d#„¦   «         Zed8d%„¦   «         Zd9d'„Zed:d(„¦   «         Zed;d)„¦   «         Zd<d*„Z ej        d+¦  «        Z ej        d,¦  «        Zd=d.„Zd>d/„Z d0„ Z!dS )?z¡
Filename globbing utility. Mostly a copy of `glob` from Python 3.5.

Changes include:
 * `yield from` and PEP3102 `*` removed.
 * Hidden files are not ignored.
é    )ÚannotationsN)ÚIterableÚIterator)ÚTYPE_CHECKINGÚTypeVarÚoverload)Ú	BytesPathÚStrOrBytesPathÚStrPathÚ_StrOrBytesT)ÚescapeÚglobÚiglobFÚpathnameÚ	recursiveÚboolÚreturnúlist[_StrOrBytesT]c                ó>   — t          t          | |¬¦  «        ¦  «        S )ay  Return a list of paths matching a pathname pattern.

    The pattern may contain simple shell-style wildcards a la
    fnmatch. However, unlike fnmatch, filenames starting with a
    dot are special cases that are not matched by '*' and '?'
    patterns.

    If recursive is true, the pattern '**' will match any files and
    zero or more directories and subdirectories.
    )r   )Úlistr   )r   r   s     ú@C:\Projects\Historical\venv\Lib\site-packages\setuptools/glob.pyr   r      s   € õ •�h¨)Ð4Ñ4Ô4Ñ5Ô5Ð5ó    úIterator[_StrOrBytesT]c                ón   — t          | |¦  «        }|r"t          | ¦  «        rt          |¦  «        }|rJ ‚|S )aŒ  Return an iterator which yields the paths matching a pathname pattern.

    The pattern may contain simple shell-style wildcards a la
    fnmatch. However, unlike fnmatch, filenames starting with a
    dot are special cases that are not matched by '*' and '?'
    patterns.

    If recursive is true, the pattern '**' will match any files and
    zero or more directories and subdirectories.
    )Ú_iglobÚ_isrecursiveÚnext)r   r   ÚitÚss       r   r   r   '   sC   € õ 
�˜)Ñ	$Ô	$€BØð •\ (Ñ+Ô+ð Ý�‰HŒHˆØˆˆˆuØ€Ir   c              #  óV  K  — t           j                             | ¦  «        \  }}|rt          |¦  «        rt          nt
          }t          | ¦  «        sK|r$t           j                             | ¦  «        r| V — n#t           j                             |¦  «        r| V — d S |s |||¦  «        E d {V —† d S || k    r t          |¦  «        rt          ||¦  «        }n|g}t          |¦  «        st          }|D ]3} |||¦  «        D ]$}t           j                             ||¦  «        V — Œ%Œ4d S ©N)ÚosÚpathÚsplitr   Úglob2Úglob1Ú	has_magicÚlexistsÚisdirr   Úglob0Újoin)r   r   ÚdirnameÚbasenameÚglob_in_dirÚdirsÚnames          r   r   r   9   sg  è è € ÝœŸš hÑ/Ô/Ñ€GˆXØ$ÐJ­°hÑ)?Ô)?ÐJ•%�%ÅU€Kå�XÑÔð Øð 	ÝŒw�Š˜xÑ(Ô(ð Ø���øõ Œw�}Š}˜WÑ%Ô%ð Ø���Øˆàð Ø�;˜w¨Ñ1Ô1Ð1Ð1Ð1Ð1Ð1Ð1Ð1Øˆð �(ÒÐ�y¨Ñ1Ô1ÐÝ'-¨g°yÑ'AÔ'AˆˆàˆyˆÝ�XÑÔð ÝˆØð .ð .ˆØ�K ¨Ñ2Ô2ð 	.ð 	.ˆDÝ”'—,’,˜w¨Ñ-Ô-Ð-Ð-Ð-Ð-ð	.ð.ð .r   r,   r   ÚpatternÚstrú	list[str]c                ó   — d S r!   © ©r,   r1   s     r   r&   r&   ]   s   € Ø8;¸r   r	   Úbytesúlist[bytes]c                ó   — d S r!   r5   r6   s     r   r&   r&   _   s   € Ø>A¸cr   r
   ústr | bytesúlist[str] | list[bytes]c                ó  — | sAt          |t          ¦  «        r t          j                             d¦  «        } nt          j        } 	 t          j        | ¦  «        }n# t          $ r g cY S w xY wt          j        ||¦  «        S ©NÚASCII)	Ú
isinstancer7   r"   ÚcurdirÚencodeÚlistdirÚOSErrorÚfnmatchÚfilter)r,   r1   Únamess      r   r&   r&   a   sˆ   € Øð  Ý�g�uÑ%Ô%ð 	 Ý”i×&Ò& wÑ/Ô/ˆGˆGå”iˆGðÝ”
˜7Ñ#Ô#ˆˆøÝð ð ð Øˆ	ˆ	ˆ	ðøøøõ Œ>˜% Ñ)Ô)Ð)s   ÁA ÁA)Á(A)c                óÐ   — |s#t           j                             | ¦  «        r|gS n@t           j                             t           j                             | |¦  «        ¦  «        r|gS g S r!   )r"   r#   r)   r(   r+   )r,   r-   s     r   r*   r*   o   sd   € Øð õ Œ7�=Š=˜Ñ!Ô!ð 	Ø�:Ðð	õ Œ7�?Š?�2œ7Ÿ<š<¨°Ñ:Ô:Ñ;Ô;ð 	Ø�:ÐØ€Ir   úIterator[str]c                ó   — d S r!   r5   r6   s     r   r%   r%      s   € Ø<?¸Cr   úIterator[bytes]c                ó   — d S r!   r5   r6   s     r   r%   r%   �   s   € ØBEÀ#r   úIterator[str | bytes]c              #  ón   K  — t          |¦  «        sJ ‚|d d…         V — t          | ¦  «        E d {V —† d S )Nr   )r   Ú	_rlistdirr6   s     r   r%   r%   ƒ   sT   è è € Ý˜Ñ Ô Ð Ð Ð Ø
�"�1�"Œ+ÐÐÐÝ˜Ñ!Ô!Ð!Ð!Ð!Ð!Ð!Ð!Ð!Ð!Ð!r   c                ó   — d S r!   r5   ©r,   s    r   rN   rN   Š   s   € Ø25°#r   c                ó   — d S r!   r5   rP   s    r   rN   rN   Œ   s   € Ø69°cr   c              #  ó   K  — | sAt          | t          ¦  «        r t          j                             d¦  «        } nt          j        } 	 t          j        | ¦  «        }n# t          $ r Y d S w xY w|D ]^}|V — | r t          j                             | |¦  «        n|}t          |¦  «        D ]$}t          j                             ||¦  «        V — Œ%Œ_d S r=   )
r?   r7   r"   r@   rA   rB   rC   r#   r+   rN   )r,   rF   Úxr#   Úys        r   rN   rN   Ž   sð   è è € Øð  Ý�g�uÑ%Ô%ð 	 Ý”i×&Ò& wÑ/Ô/ˆGˆGå”iˆGðÝ”
˜7Ñ#Ô#ˆˆøÝð ð ð Øˆˆðøøøàð %ð %ˆØˆˆˆà+2Ð9�rŒw�|Š|˜G QÑ'Ô'Ð'¸ˆÝ˜4‘”ð 	%ð 	%ˆAÝ”'—,’,˜q !Ñ$Ô$Ð$Ð$Ð$Ð$ð	%ð	%ð %s   ÁA Á
A*Á)A*z([*?[])s   ([*?[])r   c                óœ   — t          | t          ¦  «        rt                               | ¦  «        d uS t                               | ¦  «        d uS r!   )r?   r7   Úmagic_check_bytesÚsearchÚmagic_check)r   s    r   r'   r'   ¤   sF   € Ý�!•UÑÔð 1Ý ×'Ò'¨Ñ*Ô*°$Ð6Ð6å×!Ò! !Ñ$Ô$¨DÐ0Ð0r   c                óD   — t          | t          ¦  «        r| dk    S | dk    S )Ns   **z**)r?   r7   )r1   s    r   r   r   «   s)   € Ý�'�5Ñ!Ô!ð Ø˜%ÒÐà˜$ŠÐr   c                óè   — t           j                             | ¦  «        \  }} t          | t          ¦  «        rt
                               d| ¦  «        } nt                               d| ¦  «        } || z   S )zEscape all special characters.s   [\1]z[\1])r"   r#   Ú
splitdriver?   r7   rV   ÚsubrX   )r   Údrives     r   r   r   ²   sd   € õ ”g×(Ò(¨Ñ2Ô2�O€Eˆ8Ý�(�EÑ"Ô"ð 6Ý$×(Ò(¨°8Ñ<Ô<ˆˆå—?’? 7¨HÑ5Ô5ˆØ�8ÑÐr   )F)r   r   r   r   r   r   )r   r   r   r   r   r   )r,   r   r1   r2   r   r3   )r,   r	   r1   r7   r   r8   )r,   r
   r1   r:   r   r;   )r,   r   r1   r2   r   rH   )r,   r	   r1   r7   r   rJ   )r,   r
   r1   r:   r   rL   )r,   r   r   rH   )r,   r	   r   rJ   )r,   r
   r   rL   )r   r:   r   r   )r1   r:   r   r   )"Ú__doc__Ú
__future__r   rD   r"   ÚreÚcollections.abcr   r   Útypingr   r   r   Ú	_typeshedr	   r
   r   r2   r7   r   Ú__all__r   r   r   r&   r*   r%   rN   ÚcompilerX   rV   r'   r   r   r5   r   r   ú<module>rf      s:  ððð ð #Ð "Ð "Ð "Ð "Ð "à €€€Ø 	€	€	€	Ø 	€	€	€	Ø .Ð .Ð .Ð .Ð .Ð .Ð .Ð .Ø 3Ð 3Ð 3Ð 3Ð 3Ð 3Ð 3Ð 3Ð 3Ð 3àð 7Ø<Ð<Ð<Ð<Ð<Ð<Ð<Ð<Ð<Ð<à�7˜>¨3°Ñ6Ô6€Là
%Ð
%Ð
%€ð6ð 6ð 6ð 6ð 6ðð ð ð ð ð$.ð .ð .ð .ðH 
Ø ;Ð ;Ð ;ñ 
„Ø ;Ø	Ø AÐ AÐ Añ 
„Ø Að*ð *ð *ð *ð	ð 	ð 	ð  
Ø ?Ð ?Ð ?ñ 
„Ø ?Ø	Ø EÐ EÐ Eñ 
„Ø Eð"ð "ð "ð "ð 
Ø 5Ð 5Ð 5ñ 
„Ø 5Ø	Ø 9Ð 9Ð 9ñ 
„Ø 9ð%ð %ð %ð %ð$ ˆbŒj˜Ñ#Ô#€Ø�B”J˜zÑ*Ô*Ð ð1ð 1ð 1ð 1ðð ð ð ð	ð 	ð 	ð 	ð 	r   