





"""simple docstring"""





from typing import TYPE_CHECKING

from ...utils import OptionalDependencyNotAvailable, _LazyModule, is_sentencepiece_available


_UpperCamelCase					      =   {}


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

if TYPE_CHECKING:
							try:
														if not is_sentencepiece_available():
																					raise OptionalDependencyNotAvailable()
							except OptionalDependencyNotAvailable:
														pass
							else:
														from .tokenization_mluke import MLukeTokenizer


else:
							import sys

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











"""simple docstring"""





from packaging import version

from .import_utils import is_accelerate_available


if is_accelerate_available():
							import accelerate



def 					lowerCAmelCase_      (   SCREAMING_SNAKE_CASE							:				str ):


							'''simple docstring'''







							if not is_accelerate_available():
														return method
							__lowerCamelCase   :   Dict       =version.parse(accelerate.__version__ ).base_version
							if version.parse(SCREAMING_SNAKE_CASE ) < version.parse('''0.17.0''' ):
														return method

							def wrapper(self							:				List[Any]     ,    *SCREAMING_SNAKE_CASE							:				Any     ,    **SCREAMING_SNAKE_CASE							:				List[str] ):
														if hasattr(self     ,    '''_hf_hook''' ) and hasattr(self._hf_hook     ,    '''pre_forward''' ):
																					self._hf_hook.pre_forward(self )
														return method(self     ,    *SCREAMING_SNAKE_CASE     ,    **SCREAMING_SNAKE_CASE )

							return wrapper




