






"""simple docstring"""






from __future__ import annotations

from typing import Any





class       snake_case_       :



	"""simple docstring"""

	def __init__(      self  ,					__a = 6						):


					"""simple docstring"""

					A__							 =       None
					A__							 =       None
					self.create_linked_list(lowerCAmelCase__						)


	def       _UpperCAmelCase						(      self  ,					__a						):


					"""simple docstring"""

					A__							 =       Node()
					A__							 =       current_node
					A__							 =       current_node
					A__							 =       current_node
					for _ in range(1  ,					lowerCAmelCase__						):
									A__							 =       Node()
									A__							 =       current_node
									A__							 =       previous_node
									A__							 =       current_node
					A__							 =       self.front
					A__							 =       previous_node


	def       _UpperCAmelCase						(      self						):


					"""simple docstring"""

					return (
					    self.front == self.rear
					    and self.front is not None
					    and self.front.data is None
					)


	def       _UpperCAmelCase						(      self						):


					"""simple docstring"""

					self.check_can_perform_operation()
					return self.front.data if self.front else None


	def       _UpperCAmelCase						(      self  ,					__a						):


					"""simple docstring"""

					if self.rear is None:
									return

					self.check_is_full()
					if not self.is_empty():
									A__							 =       self.rear.next
					if self.rear:
									A__							 =       data


	def       _UpperCAmelCase						(      self						):


					"""simple docstring"""

					self.check_can_perform_operation()
					if self.rear is None or self.front is None:
									return None
					if self.front == self.rear:
									A__							 =       self.front.data
									A__							 =       None
									return data

					A__							 =       self.front
					A__							 =       old_front.next
					A__							 =       old_front.data
					A__							 =       None
					return data


	def       _UpperCAmelCase						(      self						):


					"""simple docstring"""

					if self.is_empty():
									raise Exception('Empty Queue'						)






	def       _UpperCAmelCase						(      self						):


					"""simple docstring"""

					if self.rear and self.rear.next == self.front:
									raise Exception('Full Queue'						)





class       snake_case_       :



	"""simple docstring"""

	def __init__(      self						):


					"""simple docstring"""

					A__							 =       None
					A__							 =       None
					A__							 =       None


if __name__ == "__main__":
					import doctest

					doctest.testmod()










"""simple docstring"""






from ..utils import DummyObject, requires_backends





class       snake_case_       (    metaclass=_lowerCamelCase       ):



	"""simple docstring"""

	SCREAMING_SNAKE_CASE_:							List[str]   			=					["""note_seq"""]


	def __init__(      self  ,					*__a  ,					**__a						):


					"""simple docstring"""

					requires_backends(self  ,					['note_seq']						)


	@classmethod
	def       _UpperCAmelCase						(      cls  ,					*__a  ,					**__a						):


					"""simple docstring"""

					requires_backends(cls  ,					['note_seq']						)






	@classmethod
	def       _UpperCAmelCase						(      cls  ,					*__a  ,					**__a						):


					"""simple docstring"""

					requires_backends(cls  ,					['note_seq']						)


