


from typing import TYPE_CHECKING

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


lowercase_							 =       {
    'configuration_mpnet': ['MPNET_PRETRAINED_CONFIG_ARCHIVE_MAP', 'MPNetConfig'],
    'tokenization_mpnet': ['MPNetTokenizer'],
}

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

try:
		if not is_torch_available():
				raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
		pass
else:
		lowercase_							 =       [
		    'MPNET_PRETRAINED_MODEL_ARCHIVE_LIST',
		    'MPNetForMaskedLM',
		    'MPNetForMultipleChoice',
		    'MPNetForQuestionAnswering',
		    'MPNetForSequenceClassification',
		    'MPNetForTokenClassification',
		    'MPNetLayer',
		    'MPNetModel',
		    'MPNetPreTrainedModel',
		]

try:
		if not is_tf_available():
				raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
		pass
else:
		lowercase_							 =       [
		    'TF_MPNET_PRETRAINED_MODEL_ARCHIVE_LIST',
		    'TFMPNetEmbeddings',
		    'TFMPNetForMaskedLM',
		    'TFMPNetForMultipleChoice',
		    'TFMPNetForQuestionAnswering',
		    'TFMPNetForSequenceClassification',
		    'TFMPNetForTokenClassification',
		    'TFMPNetMainLayer',
		    'TFMPNetModel',
		    'TFMPNetPreTrainedModel',
		]


if TYPE_CHECKING:
		from .configuration_mpnet import MPNET_PRETRAINED_CONFIG_ARCHIVE_MAP, MPNetConfig
		from .tokenization_mpnet import MPNetTokenizer

		try:
				if not is_tokenizers_available():
						raise OptionalDependencyNotAvailable()
		except OptionalDependencyNotAvailable:
				pass
		else:
				from .tokenization_mpnet_fast import MPNetTokenizerFast

		try:
				if not is_torch_available():
						raise OptionalDependencyNotAvailable()
		except OptionalDependencyNotAvailable:
				pass
		else:
				from .modeling_mpnet import (
				    MPNET_PRETRAINED_MODEL_ARCHIVE_LIST,
				    MPNetForMaskedLM,
				    MPNetForMultipleChoice,
				    MPNetForQuestionAnswering,
				    MPNetForSequenceClassification,
				    MPNetForTokenClassification,
				    MPNetLayer,
				    MPNetModel,
				    MPNetPreTrainedModel,
				)

		try:
				if not is_tf_available():
						raise OptionalDependencyNotAvailable()
		except OptionalDependencyNotAvailable:
				pass
		else:
				from .modeling_tf_mpnet import (
				    TF_MPNET_PRETRAINED_MODEL_ARCHIVE_LIST,
				    TFMPNetEmbeddings,
				    TFMPNetForMaskedLM,
				    TFMPNetForMultipleChoice,
				    TFMPNetForQuestionAnswering,
				    TFMPNetForSequenceClassification,
				    TFMPNetForTokenClassification,
				    TFMPNetMainLayer,
				    TFMPNetModel,
				    TFMPNetPreTrainedModel,
				)

else:
		import sys

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



"""simple docstring"""



import doctest

import projectq
from projectq.ops import H, Measure
def     UpperCAmelCase    (					_lowercase   :      projectq.cengines._main.MainEngine  )	->   int:


	"""simple docstring"""




	lowerCAmelCase_			       = quantum_engine.allocate_qubit()
	H | qubit
	Measure | qubit
	return int(_lowercase  )


if __name__ == "__main__":
		doctest.testmod()

		# initialises a new quantum backend
		lowercase_							 =       projectq.MainEngine()

		# Generate a list of 10 random numbers
		lowercase_							 =       [get_random_number(quantum_engine) for _ in range(10)]

		# Flushes the quantum engine from memory
		quantum_engine.flush()

		print('Random numbers', random_numbers_list)