'''simple docstring'''




from ...configuration_utils import PretrainedConfig
from ...utils import logging
from ...utils.backbone_utils import BackboneConfigMixin, get_aligned_output_features_output_indices


_a   :	List[str] 							=					logging.get_logger(__name__)

_a   :	int 							=					{
    'microsoft/focalnet-tiny': 'https://huggingface.co/microsoft/focalnet-tiny/resolve/main/config.json',
}






class 		__A       (snake_case__ ,					snake_case__   ):
       snake_case       :Any				    =					"""focalnet"""






       def __init__(      self				,     UpperCamelCase_=2_24				,     UpperCamelCase_=4				,     UpperCamelCase_=3				,     UpperCamelCase_=96				,     UpperCamelCase_=False				,     UpperCamelCase_=[1_92, 3_84, 7_68, 7_68]				,     UpperCamelCase_=[2, 2, 6, 2]				,     UpperCamelCase_=[2, 2, 2, 2]				,     UpperCamelCase_=[3, 3, 3, 3]				,     UpperCamelCase_="gelu"				,     UpperCamelCase_=4.0				,     UpperCamelCase_=0.0				,     UpperCamelCase_=0.1				,     UpperCamelCase_=False				,     UpperCamelCase_=1E-4				,     UpperCamelCase_=False				,     UpperCamelCase_=False				,     UpperCamelCase_=False				,     UpperCamelCase_=0.0_2				,     UpperCamelCase_=1E-5				,     UpperCamelCase_=32				,     UpperCamelCase_=None				,     UpperCamelCase_=None				,     **UpperCamelCase_				,     ):
              super().__init__(**UpperCAmelCase_      )

              __UpperCAmelCase  :				Optional[Any]       				=		image_size
              __UpperCAmelCase  :				Optional[int]       				=		patch_size
              __UpperCAmelCase  :				List[Any]       				=		num_channels
              __UpperCAmelCase  :				List[Any]       				=		embed_dim
              __UpperCAmelCase  :				str       				=		use_conv_embed
              __UpperCAmelCase  :				Optional[Any]       				=		hidden_sizes
              __UpperCAmelCase  :				Optional[Any]       				=		depths
              __UpperCAmelCase  :				List[str]       				=		focal_levels
              __UpperCAmelCase  :				Union[str, Any]       				=		focal_windows
              __UpperCAmelCase  :				List[Any]       				=		hidden_act
              __UpperCAmelCase  :				List[str]       				=		mlp_ratio
              __UpperCAmelCase  :				Any       				=		hidden_dropout_prob
              __UpperCAmelCase  :				List[str]       				=		drop_path_rate
              __UpperCAmelCase  :				int       				=		use_layerscale
              __UpperCAmelCase  :				Optional[Any]       				=		layerscale_value
              __UpperCAmelCase  :				int       				=		use_post_layernorm
              __UpperCAmelCase  :				Union[str, Any]       				=		use_post_layernorm_in_modulation
              __UpperCAmelCase  :				Tuple       				=		normalize_modulator
              __UpperCAmelCase  :				Union[str, Any]       				=		initializer_range
              __UpperCAmelCase  :				Any       				=		layer_norm_eps
              __UpperCAmelCase  :				str       				=		encoder_stride
              __UpperCAmelCase  :				Any       				=		["stem"] + [f"""stage{idx}""" for idx in range(1				,     len(self.depths      ) + 1      )]
              __UpperCAmelCase				, __UpperCAmelCase  :				Optional[Any]       				=		get_aligned_output_features_output_indices(
                  out_features=UpperCAmelCase_				,     out_indices=UpperCAmelCase_				,     stage_names=self.stage_names      )







'''simple docstring'''




def _lowercase	(      lowerCamelCase__							,    lowerCamelCase__						)					->       List[str]:





       """simple docstring"""


       __UpperCAmelCase  :				Dict       				=		(boundary[1] - boundary[0]) / steps
       __UpperCAmelCase  :				Tuple       				=		boundary[0]
       __UpperCAmelCase  :				List[str]       				=		boundary[1]
       __UpperCAmelCase  :				List[Any]       				=		make_points(lowerCamelCase__							,    lowerCamelCase__							,    lowerCamelCase__						)
       __UpperCAmelCase  :				int       				=		0.0
       y += (h / 2.0) * f(lowerCamelCase__						)
       for i in x_i:
              # print(i)
              y += h * f(lowerCamelCase__						)
       y += (h / 2.0) * f(lowerCamelCase__						)
       return y

def _lowercase	(      lowerCamelCase__							,    lowerCamelCase__							,    lowerCamelCase__						)					->       List[Any]:





       """simple docstring"""


       __UpperCAmelCase  :				Optional[Any]       				=		a + h
       while x < (b - h):
              yield x
              __UpperCAmelCase  :				List[str]       				=		x + h

def _lowercase	(      lowerCamelCase__						)					->       Optional[Any]:  # enter your function here





       """simple docstring"""


       __UpperCAmelCase  :				str       				=		(x - 0) * (x - 0)
       return y

def _lowercase	(      )					->       int:





       """simple docstring"""


       __UpperCAmelCase  :				Tuple       				=		0.0  # Lower bound of integration
       __UpperCAmelCase  :				Union[str, Any]       				=		1.0  # Upper bound of integration
       __UpperCAmelCase  :				Union[str, Any]       				=		10.0  # define number of steps or resolution
       __UpperCAmelCase  :				Dict       				=		[a, b]  # define boundary of integration
       __UpperCAmelCase  :				Optional[int]       				=		method_a(lowerCamelCase__							,    lowerCamelCase__						)
       print(f"""y = {y}"""						)


if __name__ == "__main__":
   main()






