




from typing import TYPE_CHECKING

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


UpperCAmelCase__    :							Dict       		=     {
    'configuration_camembert': ['CAMEMBERT_PRETRAINED_CONFIG_ARCHIVE_MAP', 'CamembertConfig', 'CamembertOnnxConfig'],
}

try:
   if not is_sentencepiece_available():
      raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
   pass
else:
   UpperCAmelCase__    :							int       		=     ['CamembertTokenizer']

try:
   if not is_tokenizers_available():
      raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
   pass
else:
   UpperCAmelCase__    :							Union[str, Any]       		=     ['CamembertTokenizerFast']

try:
   if not is_torch_available():
      raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
   pass
else:
   UpperCAmelCase__    :							Union[str, Any]       		=     [
       'CAMEMBERT_PRETRAINED_MODEL_ARCHIVE_LIST',
       'CamembertForCausalLM',
       'CamembertForMaskedLM',
       'CamembertForMultipleChoice',
       'CamembertForQuestionAnswering',
       'CamembertForSequenceClassification',
       'CamembertForTokenClassification',
       'CamembertModel',
       'CamembertPreTrainedModel',
   ]

try:
   if not is_tf_available():
      raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
   pass
else:
   UpperCAmelCase__    :							List[str]       		=     [
       'TF_CAMEMBERT_PRETRAINED_MODEL_ARCHIVE_LIST',
       'TFCamembertForCausalLM',
       'TFCamembertForMaskedLM',
       'TFCamembertForMultipleChoice',
       'TFCamembertForQuestionAnswering',
       'TFCamembertForSequenceClassification',
       'TFCamembertForTokenClassification',
       'TFCamembertModel',
       'TFCamembertPreTrainedModel',
   ]


if TYPE_CHECKING:
   from .configuration_camembert import CAMEMBERT_PRETRAINED_CONFIG_ARCHIVE_MAP, CamembertConfig, CamembertOnnxConfig

   try:
      if not is_sentencepiece_available():
         raise OptionalDependencyNotAvailable()
   except OptionalDependencyNotAvailable:
      pass
   else:
      from .tokenization_camembert import CamembertTokenizer

   try:
      if not is_tokenizers_available():
         raise OptionalDependencyNotAvailable()
   except OptionalDependencyNotAvailable:
      pass
   else:
      from .tokenization_camembert_fast import CamembertTokenizerFast

   try:
      if not is_torch_available():
         raise OptionalDependencyNotAvailable()
   except OptionalDependencyNotAvailable:
      pass
   else:
      from .modeling_camembert import (
          CAMEMBERT_PRETRAINED_MODEL_ARCHIVE_LIST,
          CamembertForCausalLM,
          CamembertForMaskedLM,
          CamembertForMultipleChoice,
          CamembertForQuestionAnswering,
          CamembertForSequenceClassification,
          CamembertForTokenClassification,
          CamembertModel,
          CamembertPreTrainedModel,
      )

   try:
      if not is_tf_available():
         raise OptionalDependencyNotAvailable()
   except OptionalDependencyNotAvailable:
      pass
   else:
      from .modeling_tf_camembert import (
          TF_CAMEMBERT_PRETRAINED_MODEL_ARCHIVE_LIST,
          TFCamembertForCausalLM,
          TFCamembertForMaskedLM,
          TFCamembertForMultipleChoice,
          TFCamembertForQuestionAnswering,
          TFCamembertForSequenceClassification,
          TFCamembertForTokenClassification,
          TFCamembertModel,
          TFCamembertPreTrainedModel,
      )

else:
   import sys

   UpperCAmelCase__    :							Optional[int]       		=     _LazyModule(__name__, globals()['__file__'], _import_structure, module_spec=__spec__)






def 		_lowerCamelCase					(       UpperCamelCase       ,  UpperCamelCase				)      ->		int:





  """simple docstring"""





  return (input_a, input_a).count(0				) % 2


def 		_lowerCamelCase					(       )      ->		None:





  """simple docstring"""





  assert xor_gate(0       ,  0				) == 0
  assert xor_gate(0       ,  1				) == 1
  assert xor_gate(1       ,  0				) == 1
  assert xor_gate(1       ,  1				) == 0


if __name__ == "__main__":
   print(xor_gate(0, 0))
   print(xor_gate(0, 1))
