






"""simple docstring"""







from __future__ import annotations





def 							SCREAMING_SNAKE_CASE							(   lowerCamelCase_):
					a__ 							=	sorted(lowerCamelCase_)
					a__ 							=	len(lowerCamelCase_)
					a__ 							=	length >> 1
					return (
					    (sorted_list[mid_index] + sorted_list[mid_index - 1]) / 2
					    if length % 2 == 0
					    else sorted_list[mid_index]
					)





def 							SCREAMING_SNAKE_CASE							(   ):
					import doctest

					doctest.testmod()


if __name__ == "__main__":
	main()










"""simple docstring"""







from typing import TYPE_CHECKING

from ...utils import OptionalDependencyNotAvailable, _LazyModule, is_sentencepiece_available, is_tokenizers_available


__a							:						Tuple   							=			{}

try:
	if not is_sentencepiece_available():
		raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
	pass
else:
	__a							:						str   							=			['CpmTokenizer']

try:
	if not is_tokenizers_available():
		raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
	pass
else:
	__a							:						List[str]   							=			['CpmTokenizerFast']


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

	try:
		if not is_tokenizers_available():
			raise OptionalDependencyNotAvailable()
	except OptionalDependencyNotAvailable:
		pass
	else:
		from .tokenization_cpm_fast import CpmTokenizerFast

else:
	import sys

	__a							:						Tuple   							=			_LazyModule(__name__, globals()['__file__'], _import_structure, module_spec=__spec__)


