"""simple docstring"""
from typing import TYPE_CHECKING

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


lowercase__   			=      {
    'configuration_big_bird': ['BIG_BIRD_PRETRAINED_CONFIG_ARCHIVE_MAP', 'BigBirdConfig', 'BigBirdOnnxConfig'],
}

try:
 if not is_sentencepiece_available():
  raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
 pass
else:
 lowercase__   			=      ['BigBirdTokenizer']

try:
 if not is_tokenizers_available():
  raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
 pass
else:
 lowercase__   			=      ['BigBirdTokenizerFast']

try:
 if not is_torch_available():
  raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
 pass
else:
 lowercase__   			=      [
     'BIG_BIRD_PRETRAINED_MODEL_ARCHIVE_LIST',
     'BigBirdForCausalLM',
     'BigBirdForMaskedLM',
     'BigBirdForMultipleChoice',
     'BigBirdForPreTraining',
     'BigBirdForQuestionAnswering',
     'BigBirdForSequenceClassification',
     'BigBirdForTokenClassification',
     'BigBirdLayer',
     'BigBirdModel',
     'BigBirdPreTrainedModel',
     'load_tf_weights_in_big_bird',
 ]

try:
 if not is_flax_available():
  raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
 pass
else:
 lowercase__   			=      [
     'FlaxBigBirdForCausalLM',
     'FlaxBigBirdForMaskedLM',
     'FlaxBigBirdForMultipleChoice',
     'FlaxBigBirdForPreTraining',
     'FlaxBigBirdForQuestionAnswering',
     'FlaxBigBirdForSequenceClassification',
     'FlaxBigBirdForTokenClassification',
     'FlaxBigBirdModel',
     'FlaxBigBirdPreTrainedModel',
 ]

if TYPE_CHECKING:
 from .configuration_big_bird import BIG_BIRD_PRETRAINED_CONFIG_ARCHIVE_MAP, BigBirdConfig, BigBirdOnnxConfig

 try:
  if not is_sentencepiece_available():
   raise OptionalDependencyNotAvailable()
 except OptionalDependencyNotAvailable:
  pass
 else:
  from .tokenization_big_bird import BigBirdTokenizer

 try:
  if not is_tokenizers_available():
   raise OptionalDependencyNotAvailable()
 except OptionalDependencyNotAvailable:
  pass
 else:
  from .tokenization_big_bird_fast import BigBirdTokenizerFast

 try:
  if not is_torch_available():
   raise OptionalDependencyNotAvailable()
 except OptionalDependencyNotAvailable:
  pass
 else:
  from .modeling_big_bird import (
      BIG_BIRD_PRETRAINED_MODEL_ARCHIVE_LIST,
      BigBirdForCausalLM,
      BigBirdForMaskedLM,
      BigBirdForMultipleChoice,
      BigBirdForPreTraining,
      BigBirdForQuestionAnswering,
      BigBirdForSequenceClassification,
      BigBirdForTokenClassification,
      BigBirdLayer,
      BigBirdModel,
      BigBirdPreTrainedModel,
      load_tf_weights_in_big_bird,
  )

 try:
  if not is_flax_available():
   raise OptionalDependencyNotAvailable()
 except OptionalDependencyNotAvailable:
  pass
 else:
  from .modeling_flax_big_bird import (
      FlaxBigBirdForCausalLM,
      FlaxBigBirdForMaskedLM,
      FlaxBigBirdForMultipleChoice,
      FlaxBigBirdForPreTraining,
      FlaxBigBirdForQuestionAnswering,
      FlaxBigBirdForSequenceClassification,
      FlaxBigBirdForTokenClassification,
      FlaxBigBirdModel,
      FlaxBigBirdPreTrainedModel,
  )

else:
 import sys

 lowercase__   			=      _LazyModule(__name__, globals()['__file__'], _import_structure, module_spec=__spec__)






from .chunk_utils import chunk_layer
from .data_transforms import make_atomaa_masks
from .feats import atomaa_to_atomaa, frames_and_literature_positions_to_atomaa_pos, torsion_angles_to_frames
from .loss import compute_predicted_aligned_error, compute_tm
from .protein import Protein as OFProtein
from .protein import to_pdb
from .rigid_utils import Rigid, Rotation
from .tensor_utils import dict_multimap, flatten_final_dims, permute_final_dims




