class KubernetesConfigServerAutoConfiguration {

	@Bean
	@Profile("kubernetes")
	public EnvironmentRepository kubernetesEnvironmentRepository(CoreV1Api coreV1Api,
			List<KubernetesPropertySourceSupplier> kubernetesPropertySourceSuppliers,
			KubernetesNamespaceProvider kubernetesNamespaceProvider) {
		return new KubernetesEnvironmentRepository(coreV1Api, kubernetesPropertySourceSuppliers,
				kubernetesNamespaceProvider.getNamespace());
	}

	@Bean
	@ConditionalOnKubernetesConfigEnabled
	@ConditionalOnProperty(value = "spring.cloud.kubernetes.config.enableApi", matchIfMissing = true)
	public KubernetesPropertySourceSupplier configMapPropertySourceSupplier(
			KubernetesConfigServerProperties properties) {<FILL_FUNCTION_BODY>}

	@Bean
	@ConditionalOnKubernetesSecretsEnabled
	@ConditionalOnProperty("spring.cloud.kubernetes.secrets.enableApi")
	public KubernetesPropertySourceSupplier secretsPropertySourceSupplier(KubernetesConfigServerProperties properties) {
		return (coreApi, applicationName, namespace, springEnv) -> {
			List<String> namespaces = namespaceSplitter(properties.getSecretsNamespaces(), namespace);
			List<MapPropertySource> propertySources = new ArrayList<>();

			namespaces.forEach(space -> {
				NormalizedSource source = new NamedSecretNormalizedSource(applicationName, space, false,
						ConfigUtils.Prefix.DEFAULT, true, true);
				KubernetesClientConfigContext context = new KubernetesClientConfigContext(coreApi, source, space,
						springEnv, false);
				propertySources.add(new KubernetesClientSecretsPropertySource(context));
			});

			return propertySources;
		};
	}

}

		return (coreApi, applicationName, namespace, springEnv) -> {
			List<String> namespaces = namespaceSplitter(properties.getConfigMapNamespaces(), namespace);
			List<MapPropertySource> propertySources = new ArrayList<>();

			namespaces.forEach(space -> {

				NamedConfigMapNormalizedSource source = new NamedConfigMapNormalizedSource(applicationName, space,
						false, ConfigUtils.Prefix.DEFAULT, true, true);
				KubernetesClientConfigContext context = new KubernetesClientConfigContext(coreApi, source, space,
						springEnv, false);

				propertySources.add(new KubernetesClientConfigMapPropertySource(context));
			});
			return propertySources;
		};
	
<no_super_class>