#
# Multifunction miscellaneous devices
#

if HAS_IOMEM
menu "Multifunction device drivers"

config MFD_CORE
	tristate
	select IRQ_DOMAIN
	default n

config MFD_CS5535
	tristate "AMD CS5535 and CS5536 southbridge core functions"
	select MFD_CORE
	depends on PCI && (X86_32 || (X86 && COMPILE_TEST))
	---help---
	  This is the core driver for CS5535/CS5536 MFD functions.  This is
          necessary for using the board's GPIO and MFGPT functionality.

config MFD_AS3711
	bool "AMS AS3711"
	select MFD_CORE
	select REGMAP_I2C
	select REGMAP_IRQ
	depends on I2C=y
	help
	  Support for the AS3711 PMIC from AMS

config MFD_AS3722
	bool "ams AS3722 Power Management IC"
	select MFD_CORE
	select REGMAP_I2C
	select REGMAP_IRQ
	depends on I2C=y && OF
	help
	  The ams AS3722 is a compact system PMU suitable for mobile phones,
	  tablets etc. It has 4 DC/DC step-down regulators, 3 DC/DC step-down
	  controllers, 11 LDOs, RTC, automatic battery, temperature and
	  over current monitoring, GPIOs, ADC and a watchdog.

config PMIC_ADP5520
	bool "Analog Devices ADP5520/01 MFD PMIC Core Support"
	depends on I2C=y
	help
	  Say yes here to add support for Analog Devices AD5520 and ADP5501,
	  Multifunction Power Management IC. This includes
	  the I2C driver and the core APIs _only_, you have to select
	  individual components like LCD backlight, LEDs, GPIOs and Kepad
	  under the corresponding menus.

config MFD_AAT2870_CORE
	bool "AnalogicTech AAT2870"
	select MFD_CORE
	depends on I2C=y
	depends on GPIOLIB || COMPILE_TEST
	help
	  If you say yes here you get support for the AAT2870.
	  This driver provides common support for accessing the device,
	  additional drivers must be enabled in order to use the
	  functionality of the device.

config MFD_ATMEL_FLEXCOM
	tristate "Atmel Flexcom (Flexible Serial Communication Unit)"
	select MFD_CORE
	depends on OF
	help
	  Select this to get support for Atmel Flexcom. This is a wrapper
	  which embeds a SPI controller, a I2C controller and a USART. Only
	  one function can be used at a time. The choice is done at boot time
	  by the probe function of this MFD driver according to a device tree
	  property.

config MFD_ATMEL_HLCDC
	tristate "Atmel HLCDC (High-end LCD Controller)"
	select MFD_CORE
	select REGMAP_MMIO
	depends on OF
	help
	  If you say yes here you get support for the HLCDC block.
	  This driver provides common support for accessing the device,
	  additional drivers must be enabled in order to use the
	  functionality of the device.

config MFD_BCM590XX
	tristate "Broadcom BCM590xx PMUs"
	select MFD_CORE
	select REGMAP_I2C
	depends on I2C
	help
	  Support for the BCM590xx PMUs from Broadcom

config MFD_AXP20X
	bool "X-Powers AXP20X"
	select MFD_CORE
	select REGMAP_I2C
	select REGMAP_IRQ
	depends on I2C=y
	help
	  If you say Y here you get support for the X-Powers AXP202, AXP209 and
	  AXP288 power management IC (PMIC).
	  This driver include only the core APIs. You have to select individual
	  components like regulators or the PEK (Power Enable Key) under the
	  corresponding menus.

config MFD_CROS_EC
	tristate "ChromeOS Embedded Controller"
	select MFD_CORE
	select CHROME_PLATFORMS
	select CROS_EC_PROTO
	depends on X86 || ARM || COMPILE_TEST
	help
	  If you say Y here you get support for the ChromeOS Embedded
	  Controller (EC) providing keyboard, battery and power services.
	  You also need to enable the driver for the bus you are using. The
	  protocol for talking to the EC is defined by the bus driver.

config MFD_CROS_EC_I2C
	tristate "ChromeOS Embedded Controller (I2C)"
	depends on MFD_CROS_EC && I2C

	help
	  If you say Y here, you get support for talking to the ChromeOS
	  EC through an I2C bus. This uses a simple byte-level protocol with
	  a checksum. Failing accesses will be retried three times to
	  improve reliability.

config MFD_CROS_EC_SPI
	tristate "ChromeOS Embedded Controller (SPI)"
	depends on MFD_CROS_EC && SPI

	---help---
	  If you say Y here, you get support for talking to the ChromeOS EC
	  through a SPI bus, using a byte-level protocol. Since the EC's
	  response time cannot be guaranteed, we support ignoring
	  'pre-amble' bytes before the response actually starts.

config MFD_ASIC3
	bool "Compaq ASIC3"
	depends on GPIOLIB && ARM
	select MFD_CORE
	 ---help---
	  This driver supports the ASIC3 multifunction chip found on many
	  PDAs (mainly iPAQ and HTC based ones)

config PMIC_DA903X
	bool "Dialog Semiconductor DA9030/DA9034 PMIC Support"
	depends on I2C=y
	help
	  Say yes here to add support for Dialog Semiconductor DA9030 (a.k.a
	  ARAVA) and DA9034 (a.k.a MICCO), these are Power Management IC
	  usually found on PXA processors-based platforms. This includes
	  the I2C driver and the core APIs _only_, you have to select
	  individual components like LCD backlight, voltage regulators,
	  LEDs and battery-charger under the corresponding menus.

config PMIC_DA9052
	bool
	select MFD_CORE

config MFD_DA9052_SPI
	bool "Dialog Semiconductor DA9052/53 PMIC variants with SPI"
	select REGMAP_SPI
	select REGMAP_IRQ
	select PMIC_DA9052
	depends on SPI_MASTER=y
	help
	  Support for the Dialog Semiconductor DA9052 PMIC
	  when controlled using SPI. This driver provides common support
	  for accessing the device, additional drivers must be enabled in
	  order to use the functionality of the device.

config MFD_DA9052_I2C
	bool "Dialog Semiconductor DA9052/53 PMIC variants with I2C"
	select REGMAP_I2C
	select REGMAP_IRQ
	select PMIC_DA9052
	depends on I2C=y
	help
	  Support for the Dialog Semiconductor DA9052 PMIC
	  when controlled using I2C. This driver provides common support
	  for accessing the device, additional drivers must be enabled in
	  order to use the functionality of the device.

config MFD_DA9055
	bool "Dialog Semiconductor DA9055 PMIC Support"
	select REGMAP_I2C
	select REGMAP_IRQ
	select MFD_CORE
	depends on I2C=y
	help
	  Say yes here for support of Dialog Semiconductor DA9055. This is
	  a Power Management IC. This driver provides common support for
	  accessing the device as well as the I2C interface to the chip itself.
	  Additional drivers must be enabled in order to use the functionality
	  of the device.

	  This driver can be built as a module. If built as a module it will be
	  called "da9055"

config MFD_DA9062
	tristate "Dialog Semiconductor DA9062 PMIC Support"
	select MFD_CORE
	select REGMAP_I2C
	select REGMAP_IRQ
	depends on I2C=y
	help
	  Say yes here for support for the Dialog Semiconductor DA9062 PMIC.
	  This includes the I2C driver and core APIs.
	  Additional drivers must be enabled in order to use the functionality
	  of the device.

config MFD_DA9063
	bool "Dialog Semiconductor DA9063 PMIC Support"
	select MFD_CORE
	select REGMAP_I2C
	select REGMAP_IRQ
	depends on I2C=y
	help
	  Say yes here for support for the Dialog Semiconductor DA9063 PMIC.
	  This includes the I2C driver and core APIs.
	  Additional drivers must be enabled in order to use the functionality
	  of the device.

config MFD_DA9150
	tristate "Dialog Semiconductor DA9150 Charger Fuel-Gauge chip"
	depends on I2C=y
	select MFD_CORE
	select REGMAP_I2C
	select REGMAP_IRQ
	help
	  This adds support for the DA9150 integrated charger and fuel-gauge
	  chip. This driver provides common support for accessing the device.
	  Additional drivers must be enabled in order to use the specific
	  features of the device.

config MFD_DLN2
	tristate "Diolan DLN2 support"
	select MFD_CORE
	depends on USB
	help
	  This adds support for Diolan USB-I2C/SPI/GPIO Master Adapter
	  DLN-2. Additional drivers such as I2C_DLN2, GPIO_DLN2,
	  etc. must be enabled in order to use the functionality of
	  the device.

config MFD_MC13XXX
	tristate
	depends on (SPI_MASTER || I2C)
	select MFD_CORE
	select REGMAP_IRQ
	help
	  Enable support for the Freescale MC13783 and MC13892 PMICs.
	  This driver provides common support for accessing the device,
	  additional drivers must be enabled in order to use the
	  functionality of the device.

config MFD_MC13XXX_SPI
	tristate "Freescale MC13783 and MC13892 SPI interface"
	depends on SPI_MASTER
	select REGMAP_SPI
	select MFD_MC13XXX
	help
	  Select this if your MC13xxx is connected via an SPI bus.

config MFD_MC13XXX_I2C
	tristate "Freescale MC13892 I2C interface"
	depends on I2C
	select REGMAP_I2C
	select MFD_MC13XXX
	help
	  Select this if your MC13xxx is connected via an I2C bus.

config MFD_HI6421_PMIC
	tristate "HiSilicon Hi6421 PMU/Codec IC"
	depends on OF
	select MFD_CORE
	select REGMAP_MMIO
	help
	  Add support for HiSilicon Hi6421 PMIC. Hi6421 includes multi-
	  functions, such as regulators, RTC, codec, Coulomb counter, etc.
	  This driver includes core APIs _only_. You have to select
	  individul components like voltage regulators under corresponding
	  menus in order to enable them.
	  We communicate with the Hi6421 via memory-mapped I/O.

config HTC_EGPIO
	bool "HTC EGPIO support"
	depends on GPIOLIB && ARM
	help
	    This driver supports the CPLD egpio chip present on
	    several HTC phones.  It provides basic support for input
	    pins, output pins, and irqs.

config HTC_PASIC3
	tristate "HTC PASIC3 LED/DS1WM chip support"
	select MFD_CORE
	help
	  This core driver provides register access for the LED/DS1WM
	  chips labeled "AIC2" and "AIC3", found on HTC Blueangel and
	  HTC Magician devices, respectively. Actual functionality is
	  handled by the leds-pasic3 and ds1wm drivers.

config HTC_I2CPLD
	bool "HTC I2C PLD chip support"
	depends on I2C=y && GPIOLIB
	help
	  If you say yes here you get support for the supposed CPLD
	  found on omap850 HTC devices like the HTC Wizard and HTC Herald.
	  This device provides input and output GPIOs through an I2C
	  interface to one or more sub-chips.

config MFD_INTEL_QUARK_I2C_GPIO
	tristate "Intel Quark MFD I2C GPIO"
	depends on PCI
	depends on X86
	depends on COMMON_CLK
	select MFD_CORE
	help
	  This MFD provides support for I2C and GPIO that exist only
	  in a single PCI device. It splits the 2 IO devices to
	  their respective IO driver.
	  The GPIO exports a total amount of 8 interrupt-capable GPIOs.

config LPC_ICH
	tristate "Intel ICH LPC"
	depends on PCI
	select MFD_CORE
	help
	  The LPC bridge function of the Intel ICH provides support for
	  many functional units. This driver provides needed support for
	  other drivers to control these functions, currently GPIO and
	  watchdog.

config LPC_SCH
	tristate "Intel SCH LPC"
	depends on PCI
	select MFD_CORE
	help
	  LPC bridge function of the Intel SCH provides support for
	  System Management Bus and General Purpose I/O.

config INTEL_SOC_PMIC
	bool "Support for Intel Atom SoC PMIC"
	depends on GPIOLIB
	depends on I2C=y
	select MFD_CORE
	select REGMAP_I2C
	select REGMAP_IRQ
	help
	  Select this option to enable support for the PMIC device
	  on some Intel SoC systems. The PMIC provides ADC, GPIO,
	  thermal, charger and related power management functions
	  on these systems.

config MFD_INTEL_LPSS
	tristate
	select COMMON_CLK
	select MFD_CORE

config MFD_INTEL_LPSS_ACPI
	tristate "Intel Low Power Subsystem support in ACPI mode"
	select MFD_INTEL_LPSS
	depends on X86 && ACPI
	help
	  This driver supports Intel Low Power Subsystem (LPSS) devices such as
	  I2C, SPI and HS-UART starting from Intel Sunrisepoint (Intel Skylake
	  PCH) in ACPI mode.

config MFD_INTEL_LPSS_PCI
	tristate "Intel Low Power Subsystem support in PCI mode"
	select MFD_INTEL_LPSS
	depends on X86 && PCI
	help
	  This driver supports Intel Low Power Subsystem (LPSS) devices such as
	  I2C, SPI and HS-UART starting from Intel Sunrisepoint (Intel Skylake
	  PCH) in PCI mode.

config MFD_INTEL_MSIC
	bool "Intel MSIC"
	depends on INTEL_SCU_IPC
	select MFD_CORE
	help
	  Select this option to enable access to Intel MSIC (Avatele
	  Passage) chip. This chip embeds audio, battery, GPIO, etc.
	  devices used in Intel Medfield platforms.

config MFD_IPAQ_MICRO
	bool "Atmel Micro ASIC (iPAQ h3100/h3600/h3700) Support"
	depends on SA1100_H3100 || SA1100_H3600
	select MFD_CORE
	help
	  Select this to get support for the Microcontroller found in
	  the Compaq iPAQ handheld computers. This is an Atmel
	  AT90LS8535 microcontroller flashed with a special iPAQ
	  firmware using the custom protocol implemented in this driver.

config MFD_JANZ_CMODIO
	tristate "Janz CMOD-IO PCI MODULbus Carrier Board"
	select MFD_CORE
	depends on PCI
	help
	  This is the core driver for the Janz CMOD-IO PCI MODULbus
	  carrier board. This device is a PCI to MODULbus bridge which may
	  host many different types of MODULbus daughterboards, including
	  CAN and GPIO controllers.

config MFD_JZ4740_ADC
	bool "Janz JZ4740 ADC core"
	select MFD_CORE
	select GENERIC_IRQ_CHIP
	depends on MACH_JZ4740
	help
	  Say yes here if you want support for the ADC unit in the JZ4740 SoC.
	  This driver is necessary for jz4740-battery and jz4740-hwmon driver.

config MFD_KEMPLD
	tristate "Kontron module PLD device"
	select MFD_CORE
	help
	  This is the core driver for the PLD (Programmable Logic Device) found
	  on some Kontron ETX and COMexpress (ETXexpress) modules. The PLD
	  device may provide functions like watchdog, GPIO, UART and I2C bus.

	  The following modules are supported:
		* COMe-bBL6
		* COMe-bHL6
		* COMe-bIP#
		* COMe-bPC2 (ETXexpress-PC)
		* COMe-bSC# (ETXexpress-SC T#)
		* COMe-cBL6
		* COMe-cBT6
		* COMe-cBW6
		* COMe-cCT6
		* COMe-cDC2 (microETXexpress-DC)
		* COMe-cHL6
		* COMe-cPC2 (microETXexpress-PC)
		* COMe-mBT10
		* COMe-mCT10
		* COMe-mTT10 (nanoETXexpress-TT)
		* ETX-OH

	  This driver can also be built as a module. If so, the module
	  will be called kempld-core.

config MFD_88PM800
	tristate "Marvell 88PM800"
	depends on I2C=y
	select REGMAP_I2C
	select REGMAP_IRQ
	select MFD_CORE
	help
	  This supports for Marvell 88PM800 Power Management IC.
	  This includes the I2C driver and the core APIs _only_, you have to
	  select individual components like voltage regulators, RTC and
	  battery-charger under the corresponding menus.

config MFD_88PM805
	tristate "Marvell 88PM805"
	depends on I2C=y
	select REGMAP_I2C
	select REGMAP_IRQ
	select MFD_CORE
	help
	  This supports for Marvell 88PM805 Power Management IC. This includes
	  the I2C driver and the core APIs _only_, you have to select individual
	  components like codec device, headset/Mic device under the
	  corresponding menus.

config MFD_88PM860X
	bool "Marvell 88PM8606/88PM8607"
	depends on I2C=y
	select REGMAP_I2C
	select MFD_CORE
	help
	  This supports for Marvell 88PM8606/88PM8607 Power Management IC.
	  This includes the I2C driver and the core APIs _only_, you have to
	  select individual components like voltage regulators, RTC and
	  battery-charger under the corresponding menus.

config MFD_MAX14577
	bool "Maxim Semiconductor MAX14577/77836 MUIC + Charger Support"
	depends on I2C=y
	select MFD_CORE
	select REGMAP_I2C
	select REGMAP_IRQ
	select IRQ_DOMAIN
	help
	  Say yes here to add support for Maxim Semiconductor MAX14577 and
	  MAX77836 Micro-USB ICs with battery charger.
	  This driver provides common support for accessing the device;
	  additional drivers must be enabled in order to use the functionality
	  of the device.

config MFD_MAX77686
	bool "Maxim Semiconductor MAX77686/802 PMIC Support"
	depends on I2C=y
	depends on OF
	select MFD_CORE
	select REGMAP_I2C
	select REGMAP_IRQ
	select IRQ_DOMAIN
	help
	  Say yes here to add support for Maxim Semiconductor MAX77686 and
	  MAX77802 which are Power Management IC with an RTC on chip.
	  This driver provides common support for accessing the device;
	  additional drivers must be enabled in order to use the functionality
	  of the device.

config MFD_MAX77693
	bool "Maxim Semiconductor MAX77693 PMIC Support"
	depends on I2C=y
	select MFD_CORE
	select REGMAP_I2C
	select REGMAP_IRQ
	help
	  Say yes here to add support for Maxim Semiconductor MAX77693.
	  This is a companion Power Management IC with Flash, Haptic, Charger,
	  and MUIC(Micro USB Interface Controller) controls on chip.
	  This driver provides common support for accessing the device;
	  additional drivers must be enabled in order to use the functionality
	  of the device.

config MFD_MAX77843
	bool "Maxim Semiconductor MAX77843 PMIC Support"
	depends on I2C=y
	select MFD_CORE
	select REGMAP_I2C
	select REGMAP_IRQ
	help
	  Say yes here to add support for Maxim Semiconductor MAX77843.
	  This is companion Power Management IC with LEDs, Haptic, Charger,
	  Fuel Gauge, MUIC(Micro USB Interface Controller) controls on chip.
	  This driver provides common support for accessing the device;
	  additional drivers must be enabled in order to use the functionality
	  of the device.

config MFD_MAX8907
	tristate "Maxim Semiconductor MAX8907 PMIC Support"
	select MFD_CORE
	depends on I2C=y
	select REGMAP_I2C
	select REGMAP_IRQ
	help
	  Say yes here to add support for Maxim Semiconductor MAX8907. This is
	  a Power Management IC. This driver provides common support for
	  accessing the device; additional drivers must be enabled in order
	  to use the functionality of the device.

config MFD_MAX8925
	bool "Maxim Semiconductor MAX8925 PMIC Support"
	depends on I2C=y
	select MFD_CORE
	help
	  Say yes here to add support for Maxim Semiconductor MAX8925. This is
	  a Power Management IC. This driver provides common support for
	  accessing the device, additional drivers must be enabled in order
	  to use the functionality of the device.

config MFD_MAX8997
	bool "Maxim Semiconductor MAX8997/8966 PMIC Support"
	depends on I2C=y
	select MFD_CORE
	select IRQ_DOMAIN
	help
	  Say yes here to add support for Maxim Semiconductor MAX8997/8966.
	  This is a Power Management IC with RTC, Flash, Fuel Gauge, Haptic,
	  MUIC controls on chip.
	  This driver provides common support for accessing the device;
	  additional drivers must be enabled in order to use the functionality
	  of the device.

config MFD_MAX8998
	bool "Maxim Semiconductor MAX8998/National LP3974 PMIC Support"
	depends on I2C=y
	select MFD_CORE
	select IRQ_DOMAIN
	help
	  Say yes here to add support for Maxim Semiconductor MAX8998 and
	  National Semiconductor LP3974. This is a Power Management IC.
	  This driver provides common support for accessing the device,
	  additional drivers must be enabled in order to use the functionality
	  of the device.

config MFD_MT6397
	tristate "MediaTek MT6397 PMIC Support"
	select MFD_CORE
	select IRQ_DOMAIN
	help
	  Say yes here to add support for MediaTek MT6397 PMIC. This is
	  a Power Management IC. This driver provides common support for
	  accessing the device; additional drivers must be enabled in order
	  to use the functionality of the device.

config MFD_MENF21BMC
	tristate "MEN 14F021P00 Board Management Controller Support"
	depends on I2C
	select MFD_CORE
	help
	  Say yes here to add support for the MEN 14F021P00 BMC
	  which is a Board Management Controller connected to the I2C bus.
	  The device supports mult                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        