





from __future__ import annotations

__lowerCamelCase	:					str			  =					1.60_21E-19  # units = C



def 		A_    (					_lowerCAmelCase							,       _lowerCAmelCase							,       _lowerCAmelCase							,       )						->			Any:
 if (conductivity, electron_conc, mobility).count(0					) != 1:
  raise ValueError("You cannot supply more or less than 2 values"					)
 elif conductivity < 0:
  raise ValueError("Conductivity cannot be negative"					)
 elif electron_conc < 0:
  raise ValueError("Electron concentration cannot be negative"					)
 elif mobility < 0:
  raise ValueError("mobility cannot be negative"					)
 elif conductivity == 0:
  return (
      "conductivity",
      mobility * electron_conc * ELECTRON_CHARGE,
  )
 elif electron_conc == 0:
  return (
      "electron_conc",
      conductivity / (mobility * ELECTRON_CHARGE),
  )
 else:
  return (
      "mobility",
      conductivity / (electron_conc * ELECTRON_CHARGE),
  )


if __name__ == "__main__":
    import doctest

    doctest.testmod()







from ...configuration_utils import PretrainedConfig
from ...utils import logging


__lowerCamelCase	:					Tuple			  =					logging.get_logger(__name__)



class  A__       (	__snake_case      ):
      _UpperCAmelCase     :List[Any]						   =       'timm_backbone'





      def __init__(			self	,							A_=None	,							A_=3	,							A_=True	,							A_=True	,							A_=None	,							**A_	,							):
       '''simple docstring'''




       super().__init__(**A_       )
       UpperCamelCase     : Tuple	     =       backbone
       UpperCamelCase     : Dict	     =       num_channels
       UpperCamelCase     : Tuple	     =       features_only
       UpperCamelCase     : Optional[int]	     =       use_pretrained_backbone
       UpperCamelCase     : Dict	     =       True
       UpperCamelCase     : List[str]	     =       out_indices if out_indices is not None else (-1,)
