a lja3 @ s> d Z ddlZddlZddlZddlZddlmZmZmZm Z m Z mZmZ ddl mZmZ ddlmZ ddlmZ ddlmZ ddlmZmZ ejZe d eZerd ndZdZed dddddZejej ej!ej"ej#fZ$ej ejej!fZ%ee&Z'eedddZ(ee e dddZ)eee e f dddZ*G dd dZ+dS )a Configuration management setup Some terminology: - name As written in config files. - value Value associated with a name - key Name combined with it's section (section.name) - variant A single word describing where the configuration key-value pair came from N)AnyDictIterableListNewTypeOptionalTuple)ConfigurationError!ConfigurationFileCouldNotBeLoaded)appdirs)WINDOWS) getLogger) ensure_direnumKindzpip.inizpip.conf)versionhelpuserglobalZsiteenvzenv-var)USERGLOBALSITEENVENV_VAR)namereturnc C s* | dd} | dr&| dd } | S )zAMake a name consistent regardless of source (environment or file)_-z-- N)lowerreplace startswith)r r# ?/usr/lib/python3.9/site-packages/pip/_internal/configuration.py_normalize_name2 s r% c C s&