



from ...configuration_utils import PretrainedConfig
from ...utils import logging


__lowerCamelCase         =			logging.get_logger(__name__)

__lowerCamelCase         =			{
    '''vinvino02/glpn-kitti''': '''https://huggingface.co/vinvino02/glpn-kitti/resolve/main/config.json''',
    # See all GLPN models at https://huggingface.co/models?filter=glpn
}


class   snake_case_ (lowercase__  ):




       """simple docstring"""






       _lowerCamelCase			    =				"""glpn"""



       def __init__(     self     ,lowercase=3     ,lowercase=4     ,lowercase=[2, 2, 2, 2]     ,lowercase=[8, 4, 2, 1]     ,lowercase=[32, 64, 160, 256]     ,lowercase=[7, 3, 3, 3]     ,lowercase=[4, 2, 2, 2]     ,lowercase=[1, 2, 5, 8]     ,lowercase=[4, 4, 4, 4]     ,lowercase="gelu"     ,lowercase=0.0     ,lowercase=0.0     ,lowercase=0.02     ,lowercase=0.1     ,lowercase=1E-6     ,lowercase=64     ,lowercase=10     ,lowercase=-1     ,**lowercase     ,):

             """simple docstring"""





             super().__init__(**lowercase)

             UpperCAmelCase_  :	Optional[Any]				      =		num_channels
             UpperCAmelCase_  :	int				      =		num_encoder_blocks
             UpperCAmelCase_  :	Optional[int]				      =		depths
             UpperCAmelCase_  :	Any				      =		sr_ratios
             UpperCAmelCase_  :	List[str]				      =		hidden_sizes
             UpperCAmelCase_  :	Any				      =		patch_sizes
             UpperCAmelCase_  :	Union[str, Any]				      =		strides
             UpperCAmelCase_  :	str				      =		mlp_ratios
             UpperCAmelCase_  :	str				      =		num_attention_heads
             UpperCAmelCase_  :	Optional[Any]				      =		hidden_act
             UpperCAmelCase_  :	Dict				      =		hidden_dropout_prob
             UpperCAmelCase_  :	Optional[Any]				      =		attention_probs_dropout_prob
             UpperCAmelCase_  :	str				      =		initializer_range
             UpperCAmelCase_  :	int				      =		drop_path_rate
             UpperCAmelCase_  :	Optional[int]				      =		layer_norm_eps
             UpperCAmelCase_  :	Any				      =		decoder_hidden_size
             UpperCAmelCase_  :	List[Any]				      =		max_depth
             UpperCAmelCase_  :	Optional[int]				      =		head_in_index





def    _snake_case (       __snake_case					,  __snake_case    )     ->     str:






      '''simple docstring'''







      if a < 0 or b < 0:
            raise ValueError("the value of both inputs must be positive"    )

      UpperCAmelCase_  :	List[Any]				      =		str(bin(__snake_case    )    )[2:]  # remove the leading "0b"
      UpperCAmelCase_  :	int				      =		str(bin(__snake_case    )    )[2:]  # remove the leading "0b"

      UpperCAmelCase_  :	Optional[int]				      =		max(len(__snake_case    )					,  len(__snake_case    )    )

      return "0b" + "".join(
          str(int(char_a == "1" and char_b == "1"    )    )
          for char_a, char_b in zip(a_binary.zfill(__snake_case    )					,  b_binary.zfill(__snake_case    )    )    )


if __name__ == "__main__":
   import doctest

   doctest.testmod()
