

from collections import OrderedDict
from typing import Mapping

from packaging import version

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


lowercase_   							=  logging.get_logger(__name__)

lowercase_   							=  {
    'microsoft/swin-tiny-patch4-window7-224': (
        'https://huggingface.co/microsoft/swin-tiny-patch4-window7-224/resolve/main/config.json'
    ),
    # See all Swin models at https://huggingface.co/models?filter=swin
}





class 					__lowerCAmelCase	(   SCREAMING_SNAKE_CASE     ,     SCREAMING_SNAKE_CASE				):
  _a		     =    """swin"""

  _a		     =    {
      """num_attention_heads""": """num_heads""",
      """num_hidden_layers""": """num_layers""",
  }




  def __init__(							self				,  lowerCAmelCase=224				,  lowerCAmelCase=4				,  lowerCAmelCase=3				,  lowerCAmelCase=96				,  lowerCAmelCase=[2, 2, 6, 2]				,  lowerCAmelCase=[3, 6, 12, 24]				,  lowerCAmelCase=7				,  lowerCAmelCase=4.0				,  lowerCAmelCase=True				,  lowerCAmelCase=0.0				,  lowerCAmelCase=0.0				,  lowerCAmelCase=0.1				,  lowerCAmelCase="gelu"				,  lowerCAmelCase=False				,  lowerCAmelCase=0.02				,  lowerCAmelCase=1e-5				,  lowerCAmelCase=32				,  lowerCAmelCase=None				,  lowerCAmelCase=None				,  **lowerCAmelCase				,  )    ->					Optional[int]:
        '''simple docstring'''






        super().__init__(**lowerCAmelCase   )

        _lowercase      			=image_size
        _lowercase      			=patch_size
        _lowercase      			=num_channels
        _lowercase      			=embed_dim
        _lowercase      			=depths
        _lowercase      			=len(lowerCAmelCase   )
        _lowercase      			=num_heads
        _lowercase      			=window_size
        _lowercase      			=mlp_ratio
        _lowercase      			=qkv_bias
        _lowercase      			=hidden_dropout_prob
        _lowercase      			=attention_probs_dropout_prob
        _lowercase      			=drop_path_rate
        _lowercase      			=hidden_act
        _lowercase      			=use_absolute_embeddings
        _lowercase      			=layer_norm_eps
        _lowercase      			=initializer_range
        _lowercase      			=encoder_stride
        # we set the hidden_size attribute in order to make Swin work with VisionEncoderDecoderModel
        # this indicates the channel dimension after the last stage of the model
        _lowercase      			=int(embed_dim * 2 ** (len(lowerCAmelCase   ) - 1)   )
        _lowercase      			=['stem'] + [F'''stage{idx}''' for idx in range(1				,  len(lowerCAmelCase   ) + 1   )]
        _lowercase			,			_lowercase      			=get_aligned_output_features_output_indices(
            out_features=lowerCAmelCase				,  out_indices=lowerCAmelCase				,  stage_names=self.stage_names   )





class 					__lowerCAmelCase	(   SCREAMING_SNAKE_CASE				):
  _a		     =    version.parse("""1.11"""				)




  @property
  def     A__	(							self   )    ->					Mapping[str, Mapping[int, str]]:
        '''simple docstring'''






        return OrderedDict(
            [
                ('pixel_values', {0: 'batch', 1: 'num_channels', 2: 'height', 3: 'width'}),
            ]   )




  @property
  def     A__	(							self   )    ->					float:
        '''simple docstring'''






        return 1e-4





import sys

lowercase_   							=  (
    '73167176531330624919225119674426574742355349194934'
    '96983520312774506326239578318016984801869478851843'
    '85861560789112949495459501737958331952853208805511'
    '12540698747158523863050715693290963295227443043557'
    '66896648950445244523161731856403098711121722383113'
    '62229893423380308135336276614282806444486645238749'
    '30358907296290491560440772390713810515859307960866'
    '70172427121883998797908792274921901699720888093776'
    '65727333001053367881220235421809751254540594752243'
    '52584907711670556013604839586446706324415722155397'
    '53697817977846174064955149290862569321978468622482'
    '83972241375657056057490261407972968652414535100474'
    '82166370484403199890008895243450658541227588666881'
    '16427171479924442928230863465674813919123162824586'
    '17866458359124566529476545682848912883142607690042'
    '24219022671055626321111109370544217506941658960408'
    '07198403850962455444362981230987879927244284909188'
    '84580156166097919133875499200524063689912560717606'
    '05886116467109405077541002256983155200055935729725'
    '71636269561882670428252483600823257530420752963450'
)
def 	a (     A__      :  str = N	)       -> int:





      """simple docstring"""



      _lowercase      			=-sys.maxsize - 1
      for i in range(len(A__	) - 12	):
            _lowercase      			=1
            for j in range(13	):
                  product *= int(n[i + j]	)
            if product > largest_product:
                  _lowercase      			=product
      return largest_product


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


