




from typing import TYPE_CHECKING

from ...utils import (
    OptionalDependencyNotAvailable,
    _LazyModule,
    is_tf_available,
    is_tokenizers_available,
    is_torch_available,
)


a_      						=   {
    "configuration_dpr": ["DPR_PRETRAINED_CONFIG_ARCHIVE_MAP", "DPRConfig"],
    "tokenization_dpr": [
        "DPRContextEncoderTokenizer",
        "DPRQuestionEncoderTokenizer",
        "DPRReaderOutput",
        "DPRReaderTokenizer",
    ],
}


try:
 if not is_tokenizers_available():
  raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
 pass
else:
 a_      						=   [
     "DPRContextEncoderTokenizerFast",
     "DPRQuestionEncoderTokenizerFast",
     "DPRReaderTokenizerFast",
 ]

try:
 if not is_torch_available():
  raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
 pass
else:
 a_      						=   [
     "DPR_CONTEXT_ENCODER_PRETRAINED_MODEL_ARCHIVE_LIST",
     "DPR_QUESTION_ENCODER_PRETRAINED_MODEL_ARCHIVE_LIST",
     "DPR_READER_PRETRAINED_MODEL_ARCHIVE_LIST",
     "DPRContextEncoder",
     "DPRPretrainedContextEncoder",
     "DPRPreTrainedModel",
     "DPRPretrainedQuestionEncoder",
     "DPRPretrainedReader",
     "DPRQuestionEncoder",
     "DPRReader",
 ]

try:
 if not is_tf_available():
  raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
 pass
else:
 a_      						=   [
     "TF_DPR_CONTEXT_ENCODER_PRETRAINED_MODEL_ARCHIVE_LIST",
     "TF_DPR_QUESTION_ENCODER_PRETRAINED_MODEL_ARCHIVE_LIST",
     "TF_DPR_READER_PRETRAINED_MODEL_ARCHIVE_LIST",
     "TFDPRContextEncoder",
     "TFDPRPretrainedContextEncoder",
     "TFDPRPretrainedQuestionEncoder",
     "TFDPRPretrainedReader",
     "TFDPRQuestionEncoder",
     "TFDPRReader",
 ]


if TYPE_CHECKING:
 from .configuration_dpr import DPR_PRETRAINED_CONFIG_ARCHIVE_MAP, DPRConfig
 from .tokenization_dpr import (
     DPRContextEncoderTokenizer,
     DPRQuestionEncoderTokenizer,
     DPRReaderOutput,
     DPRReaderTokenizer,
 )

 try:
  if not is_tokenizers_available():
   raise OptionalDependencyNotAvailable()
 except OptionalDependencyNotAvailable:
  pass
 else:
  from .tokenization_dpr_fast import (
      DPRContextEncoderTokenizerFast,
      DPRQuestionEncoderTokenizerFast,
      DPRReaderTokenizerFast,
  )

 try:
  if not is_torch_available():
   raise OptionalDependencyNotAvailable()
 except OptionalDependencyNotAvailable:
  pass
 else:
  from .modeling_dpr import (
      DPR_CONTEXT_ENCODER_PRETRAINED_MODEL_ARCHIVE_LIST,
      DPR_QUESTION_ENCODER_PRETRAINED_MODEL_ARCHIVE_LIST,
      DPR_READER_PRETRAINED_MODEL_ARCHIVE_LIST,
      DPRContextEncoder,
      DPRPretrainedContextEncoder,
      DPRPreTrainedModel,
      DPRPretrainedQuestionEncoder,
      DPRPretrainedReader,
      DPRQuestionEncoder,
      DPRReader,
  )

 try:
  if not is_tf_available():
   raise OptionalDependencyNotAvailable()
 except OptionalDependencyNotAvailable:
  pass
 else:
  from .modeling_tf_dpr import (
      TF_DPR_CONTEXT_ENCODER_PRETRAINED_MODEL_ARCHIVE_LIST,
      TF_DPR_QUESTION_ENCODER_PRETRAINED_MODEL_ARCHIVE_LIST,
      TF_DPR_READER_PRETRAINED_MODEL_ARCHIVE_LIST,
      TFDPRContextEncoder,
      TFDPRPretrainedContextEncoder,
      TFDPRPretrainedQuestionEncoder,
      TFDPRPretrainedReader,
      TFDPRQuestionEncoder,
      TFDPRReader,
  )

else:
 import sys

 a_      						=   _LazyModule(__name__, globals()["__file__"], _import_structure, module_spec=__spec__)












def     __SCREAMING_SNAKE_CASE      (     lowercase_    ,   lowercase_					)				->		int:

    """simple docstring"""


    __UpperCamelCase     						=  0
    for ele in arr:
        total_sum += product_sum(lowercase_    ,   depth + 1					) if isinstance(lowercase_    ,   lowercase_					) else ele
    return total_sum * depth




def     __SCREAMING_SNAKE_CASE      (     lowercase_					)				->		int:

    """simple docstring"""


    return product_sum(lowercase_    ,   1					)


if __name__ == "__main__":
 import doctest

 doctest.testmod()






