۬$ $ d Z ddlZddlZddlZddlZddlZddlmZ ddlm Z ddl
mZ ddlm
Z
ddlmZmZmZmZmZmZmZmZmZmZmZmZ ddlmZ dd lmZ dd
lmZ ddl m!Z" dd
l#m$Z$ erddl%m&Z& ddl'm(Z( ddl)m*Z* e
j+ Z,ee-ej. f Z/ ed Z0 edd Z1 G d d Z2 dAdee- dee/ dee- fdZ3dAdee-e4ee/ f de-fdZ5dee/ dee/ fdZ6dee4e/f de-fdZ7de/de-fd Z8 dBd!e-d"eee-e-f dee/ fd#Z9d$e-d%ee/ defd&Z:d'ed$e-defd(Z;d$e-d"eee-e-f de/dee/ee- e-f fd)Z< dBd*e-d"eee-e-f dee/ defd+Z= dBd,ee-e-f d"eee-e-f dee/ dee-ef fd-Z>dddd.d/eee-e-f dee/ dee- fd0Z?d1e/d2e/de-fd3Z@d4eeeee-eAf e-f de-fd5ZBd6eCdeCfd7ZD dAd8eeEeCf dee/ deee-ee- f fd9ZFdCd;e-dee-eCf fd<ZG G d= d> ZH G d? d@ee0e1f ZIdS )Dai Utility functions to expand configuration directives or special values
(such glob patterns).
We can split the process of interpreting configuration files into 2 steps:
1. The parsing the file contents from strings to value objects
that can be understand by Python (for example a string with a comma
separated list of keywords into an actual Python list of strings).
2. The expansion (or post-processing) of these values according to the
semantics ``setuptools`` assign to them (for example a configuration field
with the ``file:`` directive should be expanded from a list of file paths to
a single string with the contents of those files concatenated)
This module focus on the second step, and therefore allow sharing the expansion
functions among several configuration file formats.
**PRIVATE MODULE**: API reserved for setuptools internal usage only.
N)iglob)ConfigParser)
ModuleSpec)chain)
TYPE_CHECKINGCallableDictIterableIteratorListMappingOptionalTupleTypeVarUnioncast)Path)
ModuleType)DistutilsOptionError ) same_path)SetuptoolsWarning)Distribution)ConfigDiscovery)DistributionMetadata_K_VT) covariantc d e Zd ZdZdedefdZdeee j
e j
f fdZd ZdS ) StaticModulez>Proxy to a module object that avoids executing arbitrary code.namespecc t j t j |j }t
| t | ` d S N)
astparsepathlibr origin
read_bytesvarsupdatelocalsself)r- r! r" modules x/builddir/build/BUILD/imunify360-venv-2.6.2/opt/imunify360/venv/lib/python3.11/site-packages/setuptools/config/expand.py__init__zStaticModule.__init__A sP 7<44??AABBT
&((###III returnc # K | j j D ]gt t j rfdj D E d {V 6t t j rj rj j fV hd S )Nc 3 * K | ]
}|j fV d S r$ value).0target statements r/