h^6ddlZddlZddlZddlmZmZmZmZddlm Z m Z ddl m Z ede ZejeZejddee d eed fd efd Zejd de d e fdZde d efdZdS)N)NewTypeOptionalTuplecast) specifiersversion RequirementNormalizedExtra )maxsizerequires_python version_info.returnc|dStj|}tjdt t |}||vS)a Check if the given Python version matches a "Requires-Python" specifier. :param version_info: A 3-tuple of ints representing a Python major-minor-micro version to check (e.g. `sys.version_info[:3]`). :return: `True` if the given Python version satisfies the requirement. Otherwise, return `False`. :raises InvalidSpecifier: If `requires_python` has an invalid format. NT.)r SpecifierSetrparsejoinmapstr)rrrequires_python_specifierpython_versions }/builddir/build/BUILD/imunify360-venv-2.5.2/opt/imunify360/venv/lib/python3.11/site-packages/pip/_internal/utils/packaging.pycheck_requires_pythonrsQt * 7 H H]388C\,B,B#C#CDDN 6 66i req_stringc t|S)z5Construct a packaging.Requirement object with cachingr )rs rget_requirementr&s z " ""rextracxtttjdd|S)aDConvert an arbitrary string to a standard 'extra' name Any runs of non-alphanumeric characters are replaced with a single '_', and the result is always lowercased. This function is duplicated from ``pkg_resources``. Note that this is not the same to either ``canonicalize_name`` or ``_egg_link_name``. z[^A-Za-z0-9.-]+_)rr resublower)r s r safe_extrar&1s/ (93!F!F!L!L!N!N O OOr) functoolsloggingr#typingrrrrpip._vendor.packagingrr"pip._vendor.packaging.requirementsr rr getLogger__name__logger lru_cacheintboolrrr&rrr3s] 11111111111155555555::::::'+S11  8 $ $R   7c]727S/7 777! 7.T"""## ####"# Pc Po P P P P P Pr