a0bic S r SSKrSSKrSSKrSSKJr SSKJr SSKJr SSKJ r J r JrJrJ r JrJrJrJrJrJrJr SSKJrJr SS KJr SS KJrJr SSKJr SSK J!r!J"r" SS K#J$r$ SSK%J&r& \ ( a SSK'J(r( SSK)J*r* \\+\RX 4 r-\S\S\4 4 r. \S\.4 r/\" S\S S9r0 S8S\-S\14S jjr2SSS\-SS4S jr3 S9SSS\-S\\- S\4S\S 4 S jjr5S \0S!\+4S" jr6S#\S S\14S$ jr7 S:S%SS&\/S\S' 4S( jjr8S)\+S*\+S+\94S, jr: " S- S.\ \0 5 r; " S/ S0\;S1 5 r< " S2 S3\;S 5 r= " S4 S5\$5 r> " S6 S7\$5 r?g);a< Load setuptools configuration from ``setup.cfg`` files. **API will be made private in the future** To read project metadata, consider using ``build.util.project_wheel_metadata`` (https://pypi.org/project/build/). For simple scenarios, you can also try parsing the file directly with the help of ``configparser``. N)defaultdict)partialwraps) TYPE_CHECKINGCallableAnyDictGenericIterableListOptionalSetTupleTypeVarUnion ) FileErrorOptionError)default_environment)InvalidRequirementRequirement)SpecifierSet)InvalidVersionVersion)SetuptoolsDeprecationWarning )expand)DistributionMetadataDistributionstrTarget)r! r )boundfilepathreturnc | SSK Jn U" 5 nU( a UR 5 O/ n[ X@XR5 n[ U5 $ )a Read given configuration file and returns options from it as a dict. :param str|unicode filepath: Path to configuration file to get options from. :param bool find_others: Whether to search for other configuration files which could be on in various places. :param bool ignore_option_errors: Whether to silently ignore options, values of which could not be resolved (e.g. due to exceptions in directives such as file:, attr:, etc.). If False exceptions are propagated as expected. :rtype: dict r r )setuptools.distr! find_config_files_applyconfiguration_to_dict)r% find_othersignore_option_errorsr! dist filenameshandlerss ړ/builddir/build/BUILDROOT/alt-python313-setuptools-69.0.2-3.el8.x86_64/opt/alt/python313/lib/python3.13/site-packages/setuptools/config/setupcfg.pyread_configurationr2 8 s7 $ ->D,7&&(RIdiFH ** r. r! c <