



'''simple docstring'''





from collections.abc import Generator
from math import sin




def lowerCAmelCase  (__A):



     """simple docstring"""



     if len(__A) != 32:
          raise ValueError('''Input must be of length 32''')

     _a      =  b''''''
     for i in [3, 2, 1, 0]:
          little_endian += string_aa[8 * i : 8 * i + 8]
     return little_endian




def lowerCAmelCase  (__A):



     """simple docstring"""



     if i < 0:
          raise ValueError('''Input must be non-negative''')

     _a      =  format(__A  ,	'''08x''')[-8:]
     _a      =  b''''''
     for i in [3, 2, 1, 0]:
          little_endian_hex += hex_rep[2 * i : 2 * i + 2].encode('''utf-8''')
     return little_endian_hex




def lowerCAmelCase  (__A):



     """simple docstring"""



     _a      =  b''''''
     for char in message:
          bit_string += format(__A  ,	'''08b''').encode('''utf-8''')
     _a      =  format(len(__A)  ,	'''064b''').encode('''utf-8''')

     # Pad bit_string to a multiple of 512 chars
     bit_string += b"1"
     while len(__A) % 512 != 448:
          bit_string += b"0"
     bit_string += to_little_endian(start_len[32:]) + to_little_endian(start_len[:32])

     return bit_string




def lowerCAmelCase  (__A):



     """simple docstring"""



     if len(__A) % 512 != 0:
          raise ValueError('''Input must have length that\'s a multiple of 512''')

     for pos in range(0  ,	len(__A)  ,	512):
          _a      =  bit_string[pos : pos + 512]
          _a      =  []
          for i in range(0  ,	512  ,	32):
               block_words.append(int(to_little_endian(block[i : i + 32])  ,	2))
          yield block_words




def lowerCAmelCase  (__A):



     """simple docstring"""



     if i < 0:
          raise ValueError('''Input must be non-negative''')

     _a      =  format(__A  ,	'''032b''')
     _a      =  ''''''
     for c in i_str:
          new_str += "1" if c == "0" else "0"
     return int(__A  ,	2)




def lowerCAmelCase  (__A  ,	__A):



     """simple docstring"""



     return (a + b) % 2**32




def lowerCAmelCase  (__A  ,	__A):



     """simple docstring"""



     if i < 0:
          raise ValueError('''Input must be non-negative''')
     if shift < 0:
          raise ValueError('''Shift must be non-negative''')
     return ((i << shift) ^ (i >> (32 - shift))) % 2**32




def lowerCAmelCase  (__A):



     """simple docstring"""



     _a      =  preprocess(__A)

     _a      =  [int(2**32 * abs(sin(i + 1))) for i in range(64)]

     # Starting states
     _a      =  0x67_452_301
     _a      =  0xEF_CDA_B89
     _a      =  0x98_BAD_CFE
     _a      =  0x10_325_476

     _a      =  [
         7,
         12,
         17,
         22,
         7,
         12,
         17,
         22,
         7,
         12,
         17,
         22,
         7,
         12,
         17,
         22,
         5,
         9,
         14,
         20,
         5,
         9,
         14,
         20,
         5,
         9,
         14,
         20,
         5,
         9,
         14,
         20,
         4,
         11,
         16,
         23,
         4,
         11,
         16,
         23,
         4,
         11,
         16,
         23,
         4,
         11,
         16,
         23,
         6,
         10,
         15,
         21,
         6,
         10,
         15,
         21,
         6,
         10,
         15,
         21,
         6,
         10,
         15,
         21,
     ]

     # Process bit string in chunks, each with 16 32-char words
     for block_words in get_block_words(__A):
          _a      =  aa
          _a      =  ba
          _a      =  ca
          _a      =  da

          # Hash current chunk
          for i in range(64):
               if i <= 15:
                    # f = (b & c) | (not_32(b) & d)     # Alternate definition for f
                    _a      =  d ^ (b & (c ^ d))
                    _a      =  i
               elif i <= 31:
                    # f = (d & b) | (not_32(d) & c)     # Alternate definition for f
                    _a      =  c ^ (d & (b ^ c))
                    _a      =  (5 * i + 1) % 16
               elif i <= 47:
                    _a      =  b ^ c ^ d
                    _a      =  (3 * i + 5) % 16
               else:
                    _a      =  c ^ (b | not_aa(__A))
                    _a      =  (7 * i) % 16
               _a      =  (f + a + added_consts[i] + block_words[g]) % 2**32
               _a      =  d
               _a      =  c
               _a      =  b
               _a      =  sum_aa(__A  ,	left_rotate_aa(__A  ,	shift_amounts[i]))

          # Add hashed chunk to running total
          _a      =  sum_aa(__A  ,	__A)
          _a      =  sum_aa(__A  ,	__A)
          _a      =  sum_aa(__A  ,	__A)
          _a      =  sum_aa(__A  ,	__A)

     _a      =  reformat_hex(__A) + reformat_hex(__A) + reformat_hex(__A) + reformat_hex(__A)
     return digest


if __name__ == "__main__":
  import doctest

  doctest.testmod()








'''simple docstring'''





from typing import List

import datasets
from datasets.tasks import AudioClassification

from ..folder_based_builder import folder_based_builder


lowercase_		       =  datasets.utils.logging.get_logger(__name__)






class __A			(  folder_based_builder.FolderBasedBuilderConfig						):



 '''simple docstring'''







 __lowerCamelCase    :       bool          =       None
 __lowerCamelCase    :       bool          =       None






class __A			(  folder_based_builder.FolderBasedBuilder						):



 '''simple docstring'''







 __lowerCamelCase    :       int          =       datasets.Audio()
 __lowerCamelCase    :       str          =       'audio'
 __lowerCamelCase    :       Optional[Any]          =       AudioFolderConfig
 __lowerCamelCase    :       List[str]  # definition at the bottom of the script
 __lowerCamelCase    :       Union[str, Any]          =       AudioClassification(audio_column='audio'   ,   label_column='label'						)





lowercase_		       =  [
    ".aiff",
    ".au",
    ".avr",
    ".caf",
    ".flac",
    ".htk",
    ".svx",
    ".mat4",
    ".mat5",
    ".mpc2k",
    ".ogg",
    ".paf",
    ".pvf",
    ".raw",
    ".rf64",
    ".sd2",
    ".sds",
    ".ircam",
    ".voc",
    ".w64",
    ".wav",
    ".nist",
    ".wavex",
    ".wve",
    ".xi",
    ".mp3",
    ".opus",
]
lowercase_		       =  AUDIO_EXTENSIONS



