JFIFxxC      C  " }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3RbrJFIFxxC      C  " }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr Rec@sdZddlZddlZddlZddlmZdddgZedZedZ d Z d Z d Z d Z d ZejdZejdZdZdZdZdS(s Filename globbing utility. Mostly a copy of `glob` from Python 3.5. Changes include: * `yield from` and PEP3102 `*` removed. * `bytes` changed to `six.binary_type`. * Hidden files are not ignored. iN(t binary_typetglobtiglobtescapecCstt|d|S(syReturn 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. t recursive(tlistR(tpathnameR((s/builddir/build/BUILDROOT/alt-python27-setuptools-36.3.0-4.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/setuptools/glob.pyRs cCsAt||}|r=t|r=t|}| s=tn|S(sReturn 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. (t_iglobt _isrecursivetnexttAssertionError(RRtitts((s/builddir/build/BUILDROOT/alt-python27-setuptools-36.3.0-4.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/setuptools/glob.pyR s  ccsntjj|\}}t|se|rGtjj|ra|Vqantjj|ra|VndS|s|rt|rx>t||D] }|VqWnxt||D] }|VqWdS||krt|rt ||}n |g}t|r%|rt|rt}q+t}nt }x<|D]4}x+|||D]}tjj ||VqHWq2WdS(N( tostpathtsplitt has_magictlexiststisdirRtglob2tglob1Rtglob0tjoin(RRtdirnametbasenametxtdirst glob_in_dirtname((s/builddir/build/BUILDROOT/alt-python27-setuptools-36.3.0-4.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/setuptools/glob.pyR2s4         cCsn|s6t|tr*tjjd}q6tj}nytj|}Wntk r]gSXtj||S(NtASCII( t isinstanceRR tcurdirtencodetlistdirtOSErrortfnmatchtfilter(Rtpatterntnames((s/builddir/build/BUILDROOT/alt-python27-setuptools-36.3.0-4.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/setuptools/glob.pyR]s  cCsN|s"tjj|rJ|gSn(tjjtjj||rJ|gSgS(N(R RRRR(RR((s/builddir/build/BUILDROOT/alt-python27-setuptools-36.3.0-4.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/setuptools/glob.pyRjs  !ccs;t|st|d Vxt|D] }|Vq(WdS(Ni(RR t _rlistdir(RR%R((s/builddir/build/BUILDROOT/alt-python27-setuptools-36.3.0-4.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/setuptools/glob.pyRzs ccs|s6t|tr*ttjd}q6tj}nytj|}Wntjk r`dSXx_|D]W}|V|rtjj||n|}x(t|D]}tjj||VqWqhWdS(NR( RRR RR!terrorRRR'(RR&RRty((s/builddir/build/BUILDROOT/alt-python27-setuptools-36.3.0-4.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/setuptools/glob.pyR's  !s([*?[])cCs:t|tr!tj|}ntj|}|dk S(N(RRtmagic_check_bytestsearcht magic_checktNone(R tmatch((s/builddir/build/BUILDROOT/alt-python27-setuptools-36.3.0-4.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/setuptools/glob.pyRscCs't|tr|dkS|dkSdS(Ns**(RR(R%((s/builddir/build/BUILDROOT/alt-python27-setuptools-36.3.0-4.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/setuptools/glob.pyRs cCsVtjj|\}}t|tr<tjd|}ntjd|}||S(s#Escape all special characters. s[\1](R Rt splitdriveRRR*tsubR,(Rtdrive((s/builddir/build/BUILDROOT/alt-python27-setuptools-36.3.0-4.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/setuptools/glob.pyRs (t__doc__R treR#tsetuptools.extern.sixRt__all__tFalseRRRRRRR'tcompileR,R*RRR(((s/builddir/build/BUILDROOT/alt-python27-setuptools-36.3.0-4.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/setuptools/glob.pyts"      +