





'''simple docstring'''

from typing import List

import PIL
import torch
from PIL import Image

from ...configuration_utils import ConfigMixin
from ...models.modeling_utils import ModelMixin
from ...utils import PIL_INTERPOLATION


class      SCREAMING_SNAKE_CASE__      (   snake_case__							,snake_case__		):







					"""simple docstring"""






					def __init__(   self       :      Any		):







							"""simple docstring"""
							super().__init__()

							self.register_buffer("watermark_image"		,	torch.zeros((62, 62, 4)		)		)
							__UpperCAmelCase	:							Optional[int]     =     None






					def 		lowerCamelCase_   (   self       :      List[Any]		,	UpperCAmelCase_       :      List[PIL.Image.Image]		,	UpperCAmelCase_       :      int=None		):







							"""simple docstring"""
							# copied from https://github.com/deep-floyd/IF/blob/b77482e36ca2031cb94dbca1001fc1e6400bf4ab/deepfloyd_if/modules/base.py#L287

							__UpperCAmelCase	:							int     =     images[0].height
							__UpperCAmelCase	:							Any     =     images[0].width

							__UpperCAmelCase	:							Union[str, Any]     =     sample_size or h

							__UpperCAmelCase	:							Dict     =     min(h / sample_size		,	w / sample_size		)
							__UpperCAmelCase  ,			__UpperCAmelCase	:							Optional[int]     =     (int(h / coef		), int(w / coef		)) if coef < 1 else (h, w)

							__UpperCAmelCase  ,			__UpperCAmelCase	:							Union[str, Any]     =     1_024**2, img_w * img_h
							__UpperCAmelCase	:							Optional[int]     =     (Sa / Sa) ** 0.5
							__UpperCAmelCase  ,			__UpperCAmelCase  ,			__UpperCAmelCase	:							str     =     int(K * 62		), img_w - int(14 * K		), img_h - int(14 * K		)

							if self.watermark_image_as_pil is None:
									__UpperCAmelCase	:							int     =     self.watermark_image.to(torch.uinta		).cpu().numpy()
									__UpperCAmelCase	:							Optional[int]     =     Image.fromarray(UpperCAmelCase_		,	mode="RGBA"		)
									__UpperCAmelCase	:							Optional[int]     =     watermark_image

							__UpperCAmelCase	:							List[str]     =     self.watermark_image_as_pil.resize(
							    (wm_size, wm_size)		,	PIL_INTERPOLATION["bicubic"]		,	reducing_gap=UpperCAmelCase_		)

							for pil_img in images:
									pil_img.paste(UpperCAmelCase_		,	box=(wm_x - wm_size, wm_y - wm_size, wm_x, wm_y)		,	mask=wm_img.split()[-1]		)

							return images











'''simple docstring'''

from typing import TYPE_CHECKING

from ...utils import (
    OptionalDependencyNotAvailable,
    _LazyModule,
    is_sentencepiece_available,
    is_tokenizers_available,
    is_torch_available,
)


lowerCAmelCase__      :   Any      	=			{
    "configuration_open_llama": ["OPEN_LLAMA_PRETRAINED_CONFIG_ARCHIVE_MAP", "OpenLlamaConfig"],
}

try:
			if not is_sentencepiece_available():
						raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
			pass
else:
			lowerCAmelCase__      :   Optional[int]      	=			["LlamaTokenizer"]

try:
			if not is_tokenizers_available():
						raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
			pass
else:
			lowerCAmelCase__      :   int      	=			["LlamaTokenizerFast"]

try:
			if not is_torch_available():
						raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
			pass
else:
			lowerCAmelCase__      :   int      	=			[
			    "OpenLlamaForCausalLM",
			    "OpenLlamaModel",
			    "OpenLlamaPreTrainedModel",
			    "OpenLlamaForSequenceClassification",
			]


if TYPE_CHECKING:
			from .configuration_open_llama import OPEN_LLAMA_PRETRAINED_CONFIG_ARCHIVE_MAP, OpenLlamaConfig

			try:
						if not is_sentencepiece_available():
									raise OptionalDependencyNotAvailable()
			except OptionalDependencyNotAvailable:
						pass
			else:
						from transformers import LlamaTokenizer

			try:
						if not is_tokenizers_available():
									raise OptionalDependencyNotAvailable()
			except OptionalDependencyNotAvailable:
						pass
			else:
						from transformers import LlamaTokenizerFast

			try:
						if not is_torch_available():
									raise OptionalDependencyNotAvailable()
			except OptionalDependencyNotAvailable:
						pass
			else:
						from .modeling_open_llama import (
						    OpenLlamaForCausalLM,
						    OpenLlamaForSequenceClassification,
						    OpenLlamaModel,
						    OpenLlamaPreTrainedModel,
						)


else:
			import sys

			lowerCAmelCase__      :   Dict      	=			_LazyModule(__name__, globals()["__file__"], _import_structure, module_spec=__spec__)




