j&r& d dl Z d dlZd dlZd dlZd dlZd dlZd dlZej dk rd dlm Z ne
Z dgZd Zd Z
e j Z d Z G d d ej Z G d
de Zd Z G d
d ZdS ) N) )OrderedDictPathc H t j t | dd S )a2
Given a path with elements separated by
posixpath.sep, generate all parents of that path.
>>> list(_parents('b/d'))
['b']
>>> list(_parents('/b/d/'))
['/b']
>>> list(_parents('b/d/f/'))
['b/d', 'b']
>>> list(_parents('b'))
[]
>>> list(_parents(''))
[]
N) itertoolsislice _ancestrypaths /builddir/build/BUILDROOT/alt-python311-setuptools-65.6.3-2.el9.x86_64/opt/alt/python311/lib/python3.11/site-packages/setuptools/_vendor/zipp.py_parentsr s IdOOQ555 c # K | t j } | r?| t j k r3| V t j | \ } }| r| t j k -dS dS dS dS )aR
Given a path with elements separated by
posixpath.sep, generate all elements of that path
>>> list(_ancestry('b/d'))
['b/d', 'b']
>>> list(_ancestry('/b/d/'))
['/b/d', '/b']
>>> list(_ancestry('b/d/f/'))
['b/d/f', 'b/d', 'b']
>>> list(_ancestry('b'))
['b']
>>> list(_ancestry(''))
[]
N)rstrip posixpathsepsplit)r
tails r r r % s ;;y}%%D
+49=((
_T**
d +49=(((( + + + +((r c P t j t | j | S )zZ
Return items in minuend not in subtrahend, retaining order
with O(1) lookup.
)r filterfalseset__contains__)minuend
subtrahends r _differencer ? s
Z!=wGGGr c Z e Zd ZdZed Z fdZd Zd Ze d Z
xZS )CompleteDirszk
A ZipFile subclass that ensures that implied directories
are always included in the namelist.
c t j t t | }d |D }t t
|| S )Nc 3 4 K | ]}|t j z V d S N)r r ).0ps r