"""simple docstring"""



def 					_lowerCamelCase(					a ,  a							):
       # "extended trapezoidal rule"
       # int(f) = dx/2 * (f1 + 2f2 + ... + fn)
       __a     				=  (boundary[1] - boundary[0]) / steps
       __a     				=  boundary[0]
       __a     				=  boundary[1]
       __a     				=  make_points(a ,  a ,  a							)
       __a     				=  0.0
       y += (h / 2.0) * f(a							)
       for i in x_i:
              # print(i)
              y += h * f(a							)
       y += (h / 2.0) * f(a							)
       return y



def 					_lowerCamelCase(					a ,  a ,  a							):
       __a     				=  a + h
       while x < (b - h):
              yield x
              __a     				=  x + h



def 					_lowerCamelCase(					a							):  # enter your function here
       __a     				=  (x - 0) * (x - 0)
       return y



def 					_lowerCamelCase(					):
       __a     				=  0.0  # Lower bound of integration
       __a     				=  1.0  # Upper bound of integration
       __a     				=  10.0  # define number of steps or resolution
       __a     				=  [a, b]  # define boundary of integration
       __a     				=  method_a(a ,  a							)
       print(F"y = {y}"							)


if __name__ == "__main__":
   main()

"""simple docstring"""



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


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

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






class 				snake_case__     (   snake_case_,		snake_case_   ):
 _snake_case   :			List[Any]           =		"""focalnet"""


 def __init__(				self  ,						lowerCamelCase=224  ,						lowerCamelCase=4  ,						lowerCamelCase=3  ,						lowerCamelCase=96  ,						lowerCamelCase=False  ,						lowerCamelCase=[192, 384, 768, 768]  ,						lowerCamelCase=[2, 2, 6, 2]  ,						lowerCamelCase=[2, 2, 2, 2]  ,						lowerCamelCase=[3, 3, 3, 3]  ,						lowerCamelCase="gelu"  ,						lowerCamelCase=4.0  ,						lowerCamelCase=0.0  ,						lowerCamelCase=0.1  ,						lowerCamelCase=False  ,						lowerCamelCase=1E-4  ,						lowerCamelCase=False  ,						lowerCamelCase=False  ,						lowerCamelCase=False  ,						lowerCamelCase=0.02  ,						lowerCamelCase=1E-5  ,						lowerCamelCase=32  ,						lowerCamelCase=None  ,						lowerCamelCase=None  ,						**lowerCamelCase  ,						):
        super().__init__(**lowerCamelCase		)

        __a     				=  image_size
        __a     				=  patch_size
        __a     				=  num_channels
        __a     				=  embed_dim
        __a     				=  use_conv_embed
        __a     				=  hidden_sizes
        __a     				=  depths
        __a     				=  focal_levels
        __a     				=  focal_windows
        __a     				=  hidden_act
        __a     				=  mlp_ratio
        __a     				=  hidden_dropout_prob
        __a     				=  drop_path_rate
        __a     				=  use_layerscale
        __a     				=  layerscale_value
        __a     				=  use_post_layernorm
        __a     				=  use_post_layernorm_in_modulation
        __a     				=  normalize_modulator
        __a     				=  initializer_range
        __a     				=  layer_norm_eps
        __a     				=  encoder_stride
        __a     				=  ["stem"] + [F"stage{idx}" for idx in range(1  ,						len(self.depths		) + 1		)]
        __a				, __a     				=  get_aligned_output_features_output_indices(
            out_features=lowerCamelCase  ,						out_indices=lowerCamelCase  ,						stage_names=self.stage_names		)
