


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

import numpy as np
import PIL
from PIL import Image

from ...utils import (
    BaseOutput,
    OptionalDependencyNotAvailable,
    is_flax_available,
    is_k_diffusion_available,
    is_k_diffusion_version,
    is_onnx_available,
    is_torch_available,
    is_transformers_available,
    is_transformers_version,
)






@dataclass
class     UpperCAmelCase__       (					A_		):



    """simple docstring"""






    UpperCAmelCase__						:		Union[List[PIL.Image.Image], np.ndarray]
    UpperCAmelCase__						:		Optional[List[bool]]


try:
   if not (is_transformers_available() and is_torch_available()):
      raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
   from ...utils.dummy_torch_and_transformers_objects import *  # noqa F403
else:
   from .pipeline_cycle_diffusion import CycleDiffusionPipeline
   from .pipeline_stable_diffusion import StableDiffusionPipeline
   from .pipeline_stable_diffusion_attend_and_excite import StableDiffusionAttendAndExcitePipeline
   from .pipeline_stable_diffusion_imgaimg import StableDiffusionImgaImgPipeline
   from .pipeline_stable_diffusion_inpaint import StableDiffusionInpaintPipeline
   from .pipeline_stable_diffusion_inpaint_legacy import StableDiffusionInpaintPipelineLegacy
   from .pipeline_stable_diffusion_instruct_pixapix import StableDiffusionInstructPixaPixPipeline
   from .pipeline_stable_diffusion_latent_upscale import StableDiffusionLatentUpscalePipeline
   from .pipeline_stable_diffusion_ldmad import StableDiffusionLDMaDPipeline
   from .pipeline_stable_diffusion_model_editing import StableDiffusionModelEditingPipeline
   from .pipeline_stable_diffusion_panorama import StableDiffusionPanoramaPipeline
   from .pipeline_stable_diffusion_paradigms import StableDiffusionParadigmsPipeline
   from .pipeline_stable_diffusion_sag import StableDiffusionSAGPipeline
   from .pipeline_stable_diffusion_upscale import StableDiffusionUpscalePipeline
   from .pipeline_stable_unclip import StableUnCLIPPipeline
   from .pipeline_stable_unclip_imgaimg import StableUnCLIPImgaImgPipeline
   from .safety_checker import StableDiffusionSafetyChecker
   from .stable_unclip_image_normalizer import StableUnCLIPImageNormalizer

try:
   if not (is_transformers_available() and is_torch_available() and is_transformers_version('>=', '4.25.0')):
      raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
   from ...utils.dummy_torch_and_transformers_objects import StableDiffusionImageVariationPipeline
else:
   from .pipeline_stable_diffusion_image_variation import StableDiffusionImageVariationPipeline


try:
   if not (is_transformers_available() and is_torch_available() and is_transformers_version('>=', '4.26.0')):
      raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
   from ...utils.dummy_torch_and_transformers_objects import (
       StableDiffusionDepthaImgPipeline,
       StableDiffusionDiffEditPipeline,
       StableDiffusionPixaPixZeroPipeline,
   )
else:
   from .pipeline_stable_diffusion_depthaimg import StableDiffusionDepthaImgPipeline
   from .pipeline_stable_diffusion_diffedit import StableDiffusionDiffEditPipeline
   from .pipeline_stable_diffusion_pixapix_zero import StableDiffusionPixaPixZeroPipeline


try:
   if not (
       is_torch_available()
       and is_transformers_available()
       and is_k_diffusion_available()
       and is_k_diffusion_version('>=', '0.0.12')
   ):
      raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
   from ...utils.dummy_torch_and_transformers_and_k_diffusion_objects import *  # noqa F403
else:
   from .pipeline_stable_diffusion_k_diffusion import StableDiffusionKDiffusionPipeline

try:
   if not (is_transformers_available() and is_onnx_available()):
      raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
   from ...utils.dummy_onnx_objects import *  # noqa F403
else:
   from .pipeline_onnx_stable_diffusion import OnnxStableDiffusionPipeline, StableDiffusionOnnxPipeline
   from .pipeline_onnx_stable_diffusion_imgaimg import OnnxStableDiffusionImgaImgPipeline
   from .pipeline_onnx_stable_diffusion_inpaint import OnnxStableDiffusionInpaintPipeline
   from .pipeline_onnx_stable_diffusion_inpaint_legacy import OnnxStableDiffusionInpaintPipelineLegacy
   from .pipeline_onnx_stable_diffusion_upscale import OnnxStableDiffusionUpscalePipeline

if is_transformers_available() and is_flax_available():
   import flax






   @flax.struct.dataclass
   class     UpperCAmelCase__       (					A_		):



       """simple docstring"""






       UpperCAmelCase__						:		np.ndarray
       UpperCAmelCase__						:		List[bool]
   from ...schedulers.scheduling_pndm_flax import PNDMSchedulerState
   from .pipeline_flax_stable_diffusion import FlaxStableDiffusionPipeline
   from .pipeline_flax_stable_diffusion_imgaimg import FlaxStableDiffusionImgaImgPipeline
   from .pipeline_flax_stable_diffusion_inpaint import FlaxStableDiffusionInpaintPipeline
   from .safety_checker_flax import FlaxStableDiffusionSafetyChecker









def 						_UpperCAmelCase				(			SCREAMING_SNAKE_CASE__			:					int = 10**12				):
     __UpperCamelCase    							=1
     __UpperCamelCase    							=0

     __UpperCamelCase    							=1
     __UpperCamelCase    							=1

     while numerator <= 2 * min_total - 1:
          prev_numerator += 2 * numerator
          numerator += 2 * prev_numerator

          prev_denominator += 2 * denominator
          denominator += 2 * prev_denominator

     return (denominator + 1) // 2


if __name__ == "__main__":
   print(f"""{solution() = }""")





