


class 			a      :



		class 			a      :
				__lowercase													=		"""_prev""", """_data""", """_next"""






				def __init__(  self	,     __UpperCamelCase	,     __UpperCamelCase	,     __UpperCamelCase							)->			List[Any]:
								'''simple docstring'''


								A__     :							List[Any]   				=link_p
								A__     :							Optional[int]   				=element
								A__     :							Optional[int]   				=link_n






				def       lowerCAmelCase_  (  self							)->			Optional[Any]:
								'''simple docstring'''


								return (
								    F' Prev -> {self._prev is not None}, Next -> {self._next is not None}'
								)







		def __init__(  self							)->			Union[str, Any]:
						'''simple docstring'''


						A__     :							int   				=self._Node(__UpperCamelCase	,     __UpperCamelCase	,     __UpperCamelCase							)
						A__     :							Any   				=self._Node(__UpperCamelCase	,     __UpperCamelCase	,     __UpperCamelCase							)
						A__     :							str   				=self._trailer
						A__     :							Optional[int]   				=self._header
						A__     :							Optional[int]   				=0






		def __len__(  self							)->			str:
						'''simple docstring'''


						return self._size






		def       lowerCAmelCase_  (  self							)->			str:
						'''simple docstring'''


						return self.__len__() == 0






		def       lowerCAmelCase_  (  self	,     __UpperCamelCase	,     __UpperCamelCase	,     __UpperCamelCase							)->			str:
						'''simple docstring'''


						A__     :							Union[str, Any]   				=self._Node(__UpperCamelCase	,     __UpperCamelCase	,     __UpperCamelCase							)
						A__     :							Optional[Any]   				=new_node
						A__     :							Union[str, Any]   				=new_node
						self._size += 1
						return self






		def       lowerCAmelCase_  (  self	,     __UpperCamelCase							)->			int:
						'''simple docstring'''


						A__     :							List[Any]   				=node._prev
						A__     :							Optional[int]   				=node._next

						A__     :							str   				=successor
						A__     :							Optional[int]   				=predecessor
						self._size -= 1
						A__     :							Optional[int]   				=node._data
						A__     :							Union[str, Any]   				=None
						del node
						return temp







class 			a      (      _DoublyLinkedBase   ):






		def       lowerCAmelCase_  (  self							)->			Tuple:
						'''simple docstring'''


						if self.is_empty():
										raise Exception('''List is empty'''							)
						return self._header._next._data






		def       lowerCAmelCase_  (  self							)->			Tuple:
						'''simple docstring'''


						if self.is_empty():
										raise Exception('''List is empty'''							)
						return self._trailer._prev._data






		def       lowerCAmelCase_  (  self	,     __UpperCamelCase							)->			Optional[int]:
						'''simple docstring'''


						return self._insert(self._header	,     __UpperCamelCase	,     self._header._next							)






		def       lowerCAmelCase_  (  self	,     __UpperCamelCase							)->			int:
						'''simple docstring'''


						return self._insert(self._trailer._prev	,     __UpperCamelCase	,     self._trailer							)






		def       lowerCAmelCase_  (  self							)->			Any:
						'''simple docstring'''


						if self.is_empty():
										raise IndexError('''remove_first from empty list'''							)
						return self._delete(self._header._next							)






		def       lowerCAmelCase_  (  self							)->			Any:
						'''simple docstring'''


						if self.is_empty():
										raise IndexError('''remove_first from empty list'''							)
						return self._delete(self._trailer._prev							)







from dataclasses import dataclass
from enum import Enum
from typing import List, Optional, Union

import numpy as np
import PIL
from PIL import Image

from ...utils import BaseOutput, is_torch_available, is_transformers_available



@dataclass
class 			a      (      UpperCamelCase_   ):
		__lowercase													=		{
		    """sld_warmup_steps""": 15,
		    """sld_guidance_scale""": 20,
		    """sld_threshold""": 0.0,
		    """sld_momentum_scale""": 0.0,
		    """sld_mom_beta""": 0.0,
		}
		__lowercase													=		{
		    """sld_warmup_steps""": 10,
		    """sld_guidance_scale""": 1_000,
		    """sld_threshold""": 0.01,
		    """sld_momentum_scale""": 0.3,
		    """sld_mom_beta""": 0.4,
		}
		__lowercase													=		{
		    """sld_warmup_steps""": 7,
		    """sld_guidance_scale""": 2_000,
		    """sld_threshold""": 0.0_25,
		    """sld_momentum_scale""": 0.5,
		    """sld_mom_beta""": 0.7,
		}
		__lowercase													=		{
		    """sld_warmup_steps""": 0,
		    """sld_guidance_scale""": 5_000,
		    """sld_threshold""": 1.0,
		    """sld_momentum_scale""": 0.5,
		    """sld_mom_beta""": 0.7,
		}







@dataclass
class 			a      (      UpperCamelCase_   ):
		__lowercase													=		42
		__lowercase													=		42
		__lowercase													=		42
		__lowercase													=		42


if is_transformers_available() and is_torch_available():
						from .pipeline_stable_diffusion_safe import StableDiffusionPipelineSafe
						from .safety_checker import SafeStableDiffusionSafetyChecker



