"""Constants for the Amazon Polly text to speech service."""
from __future__ import annotations

from typing import Final

CONF_REGION: Final = "region_name"
CONF_ACCESS_KEY_ID: Final = "aws_access_key_id"
CONF_SECRET_ACCESS_KEY: Final = "aws_secret_access_key"

DEFAULT_REGION: Final = "us-east-1"
SUPPORTED_REGIONS: Final[list[str]] = [
    "us-east-1",
    "us-east-2",
    "us-west-1",
    "us-west-2",
    "ca-central-1",
    "eu-west-1",
    "eu-central-1",
    "eu-west-2",
    "eu-west-3",
    "ap-southeast-1",
    "ap-southeast-2",
    "ap-northeast-2",
    "ap-northeast-1",
    "ap-south-1",
    "sa-east-1",
]

CONF_ENGINE: Final = "engine"
CONF_VOICE: Final = "voice"
CONF_OUTPUT_FORMAT: Final = "output_format"
CONF_SAMPLE_RATE: Final = "sample_rate"
CONF_TEXT_TYPE: Final = "text_type"

SUPPORTED_VOICES: Final[list[str]] = [
    "Aditi",  # Hindi
    "Amy",  # English (British)
    "Aria",  # English (New Zealand), Neural
    "Arlet",  # Catalan, Neural
    "Arthur",  # English, Neural
    "Astrid",  # Swedish
    "Ayanda",  # English (South African), Neural
    "Bianca",  # Italian
    "Brian",  # English (British)
    "Camila",  # Portuguese, Brazilian
    "Carla",  # Italian
    "Carmen",  # Romanian
    "Celine",  # French
    "Chantal",  # French Canadian
    "Conchita",  # Spanish (European)
    "Cristiano",  # Portuguese (European)
    "Daniel",  # German, Neural
    "Dora",  # Icelandic
    "Elin",  # Swedish, Neural
    "Emma",  # English
    "Enrique",  # Spanish (European)
    "Ewa",  # Polish
    "Filiz",  # Turkish
    "Gabrielle",  # French (Canadian)
    "Geraint",  # English Welsh
    "Giorgio",  # Italian
    "Gwyneth",  # Welsh
    "Hala",  # Arabic (Gulf), Neural
    "Hannah",  # German (Austrian), Neural
    "Hans",  # German
    "Hiujin",  # Chinese (Cantonese), Neural
    "Ida",  # Norwegian, Neural
    "Ines",  # Portuguese, European
    "Ivy",  # English
    "Jacek",  # Polish
    "Jan",  # Polish
    "Joanna",  # English
    "Joey",  # English
    "Justin",  # English
    "Kajal",  # English (Indian)/Hindi (Bilingual ), Neural
    "Karl",  # Icelandic
    "Kendra",  # English
    "Kevin",  # English, Neural
    "Kimberly",  # English
    "Laura",  # Dutch, Neural
    "Lea",  # French
    "Liam",  # Canadian French, Neural
    "Liv",  # Norwegian
    "Lotte",  # Dutch
    "Lucia",  # Spanish European
    "Lupe",  # Spanish US
    "Mads",  # Danish
    "Maja",  # Polish
    "Marlene",  # German
    "Mathieu",  # French
    "Matthew",  # English
    "Maxim",  # Russian
    "Mia",  # Spanish Mexican
    "Miguel",  # Spanish US
    "Mizuki",  # Japanese
    "Naja",  # Danish
    "Nicole",  # English Australian
    "Ola",  # Polish, Neural
    "Olivia",  # Female, Australian, Neural
    "Penelope",  # Spanish US
    "Pedro",  # Spanish US, Neural
    "Raveena",  # English, Indian
    "Ricardo",  # Portuguese (Brazilian)
    "Ruben",  # Dutch
    "Russell",  # English (Australian)
    "Ruth",  # English, Neural
    "Salli",  # English
    "Seoyeon",  # Korean
    "Stephen",  # English, Neural
    "Suvi",  # Finnish
    "Takumi",  # Japanese
    "Tatyana",  # Russian
    "Vicki",  # German
    "Vitoria",  # Portuguese, Brazilian
    "Zeina",  # Arabic
    "Zhiyu",  # Chinese
]

SUPPORTED_OUTPUT_FORMATS: Final[list[str]] = ["mp3", "ogg_vorbis", "pcm"]

SUPPORTED_ENGINES: Final[list[str]] = ["neural", "standard"]

SUPPORTED_SAMPLE_RATES: Final[list[str]] = ["8000", "16000", "22050", "24000"]

SUPPORTED_SAMPLE_RATES_MAP: Final[dict[str, list[str]]] = {
    "mp3": ["8000", "16000", "22050", "24000"],
    "ogg_vorbis": ["8000", "16000", "22050"],
    "pcm": ["8000", "16000"],
}

SUPPORTED_TEXT_TYPES: Final[list[str]] = ["text", "ssml"]

CONTENT_TYPE_EXTENSIONS: Final[dict[str, str]] = {
    "audio/mpeg": "mp3",
    "audio/ogg": "ogg",
    "audio/pcm": "pcm",
}

DEFAULT_ENGINE: Final = "standard"
DEFAULT_VOICE: Final = "Joanna"
DEFAULT_OUTPUT_FORMAT: Final = "mp3"
DEFAULT_TEXT_TYPE: Final = "text"

DEFAULT_SAMPLE_RATES: Final[dict[str, str]] = {
    "mp3": "22050",
    "ogg_vorbis": "22050",
    "pcm": "16000",
}

AWS_CONF_CONNECT_TIMEOUT: Final = 10
AWS_CONF_READ_TIMEOUT: Final = 5
AWS_CONF_MAX_POOL_CONNECTIONS: Final = 1

5e2b183d6cd3ab5715dfce9425fa14a3e6f8fde4
<mask token>

<mask token>
CONF_REGION: Final = 'region_name'
CONF_ACCESS_KEY_ID: Final = 'aws_access_key_id'
CONF_SECRET_ACCESS_KEY: Final = 'aws_secret_access_key'
DEFAULT_REGION: Final = 'us-east-1'
SUPPORTED_REGIONS: Final[list[str]] = ['us-east-1', 'us-east-2',
    'us-west-1', 'us-west-2', 'ca-central-1', 'eu-west-1', 'eu-central-1',
    'eu-west-2', 'eu-west-3', 'ap-southeast-1', 'ap-southeast-2',
    'ap-northeast-2', 'ap-northeast-1', 'ap-south-1', 'sa-east-1']
CONF_ENGINE: Final = 'engine'
CONF_VOICE: Final = 'voice'
CONF_OUTPUT_FORMAT: Final = 'output_format'
CONF_SAMPLE_RATE: Final = 'sample_rate'
CONF_TEXT_TYPE: Final = 'text_type'
SUPPORTED_VOICES: Final[list[str]] = ['Aditi', 'Amy', 'Aria', 'Arlet',
    'Arthur', 'Astrid', 'Ayanda', 'Bianca', 'Brian', 'Camila', 'Carla',
    'Carmen', 'Celine', 'Chantal', 'Conchita', 'Cristiano', 'Daniel',
    'Dora', 'Elin', 'Emma', 'Enrique', 'Ewa', 'Filiz', 'Gabrielle',
    'Geraint', 'Giorgio', 'Gwyneth', 'Hala', 'Hannah', 'Hans', 'Hiujin',
    'Ida', 'Ines', 'Ivy', 'Jacek', 'Jan', 'Joanna', 'Joey', 'Justin',
    'Kajal', 'Karl', 'Kendra', 'Kevin', 'Kimberly', 'Laura', 'Lea', 'Liam',
    'Liv', 'Lotte', 'Lucia', 'Lupe', 'Mads', 'Maja', 'Marlene', 'Mathieu',
    'Matthew', 'Maxim', 'Mia', 'Miguel', 'Mizuki', 'Naja', 'Nicole', 'Ola',
    'Olivia', 'Penelope', 'Pedro', 'Raveena', 'Ricardo', 'Ruben', 'Russell',
    'Ruth', 'Salli', 'Seoyeon', 'Stephen', 'Suvi', 'Takumi', 'Tatyana',
    'Vicki', 'Vitoria', 'Zeina', 'Zhiyu']
SUPPORTED_OUTPUT_FORMATS: Final[list[str]] = ['mp3', 'ogg_vorbis', 'pcm']
SUPPORTED_ENGINES: Final[list[str]] = ['neural', 'standard']
SUPPORTED_SAMPLE_RATES: Final[list[str]] = ['8000', '16000', '22050', '24000']
SUPPORTED_SAMPLE_RATES_MAP: Final[dict[str, list[str]]] = {'mp3': ['8000',
    '16000', '22050', '24000'], 'ogg_vorbis': ['8000', '16000', '22050'],
    'pcm': ['8000', '16000']}
SUPPORTED_TEXT_TYPES: Final[list[str]] = ['text', 'ssml']
CONTENT_TYPE_EXTENSIONS: Final[dict[str, str]] = {'audio/mpeg': 'mp3',
    'audio/ogg': 'ogg', 'audio/pcm': 'pcm'}
DEFAULT_ENGINE: Final = 'standard'
DEFAULT_VOICE: Final = 'Joanna'
DEFAULT_OUTPUT_FORMAT: Final = 'mp3'
DEFAULT_TEXT_TYPE: Final = 'text'
DEFAULT_SAMPLE_RATES: Final[dict[str, str]] = {'mp3': '22050', 'ogg_vorbis':
    '22050', 'pcm': '16000'}
AWS_CONF_CONNECT_TIMEOUT: Final = 10
AWS_CONF_READ_TIMEOUT: Final = 5
AWS_CONF_MAX_POOL_CONNECTIONS: Final = 1

<mask token>
from __future__ import annotations
from typing import Final
CONF_REGION: Final = 'region_name'
CONF_ACCESS_KEY_ID: Final = 'aws_access_key_id'
CONF_SECRET_ACCESS_KEY: Final = 'aws_secret_access_key'
DEFAULT_REGION: Final = 'us-east-1'
SUPPORTED_REGIONS: Final[list[str]] = ['us-east-1', 'us-east-2',
    'us-west-1', 'us-west-2', 'ca-central-1', 'eu-west-1', 'eu-central-1',
    'eu-west-2', 'eu-west-3', 'ap-southeast-1', 'ap-southeast-2',
    'ap-northeast-2', 'ap-northeast-1', 'ap-south-1', 'sa-east-1']
CONF_ENGINE: Final = 'engine'
CONF_VOICE: Final = 'voice'
CONF_OUTPUT_FORMAT: Final = 'output_format'
CONF_SAMPLE_RATE: Final = 'sample_rate'
CONF_TEXT_TYPE: Final = 'text_type'
SUPPORTED_VOICES: Final[list[str]] = ['Aditi', 'Amy', 'Aria', 'Arlet',
    'Arthur', 'Astrid', 'Ayanda', 'Bianca', 'Brian', 'Camila', 'Carla',
    'Carmen', 'Celine', 'Chantal', 'Conchita', 'Cristiano', 'Daniel',
    'Dora', 'Elin', 'Emma', 'Enrique', 'Ewa', 'Filiz', 'Gabrielle',
    'Geraint', 'Giorgio', 'Gwyneth', 'Hala', 'Hannah', 'Hans', 'Hiujin',
    'Ida', 'Ines', 'Ivy', 'Jacek', 'Jan', 'Joanna', 'Joey', 'Justin',
    'Kajal', 'Karl', 'Kendra', 'Kevin', 'Kimberly', 'Laura', 'Lea', 'Liam',
    'Liv', 'Lotte', 'Lucia', 'Lupe', 'Mads', 'Maja', 'Marlene', 'Mathieu',
    'Matthew', 'Maxim', 'Mia', 'Miguel', 'Mizuki', 'Naja', 'Nicole', 'Ola',
    'Olivia', 'Penelope', 'Pedro', 'Raveena', 'Ricardo', 'Ruben', 'Russell',
    'Ruth', 'Salli', 'Seoyeon', 'Stephen', 'Suvi', 'Takumi', 'Tatyana',
    'Vicki', 'Vitoria', 'Zeina', 'Zhiyu']
SUPPORTED_OUTPUT_FORMATS: Final[list[str]] = ['mp3', 'ogg_vorbis', 'pcm']
SUPPORTED_ENGINES: Final[list[str]] = ['neural', 'standard']
SUPPORTED_SAMPLE_RATES: Final[list[str]] = ['8000', '16000', '22050', '24000']
SUPPORTED_SAMPLE_RATES_MAP: Final[dict[str, list[str]]] = {'mp3': ['8000',
    '16000', '22050', '24000'], 'ogg_vorbis': ['8000', '16000', '22050'],
    'pcm': ['8000', '16000']}
SUPPORTED_TEXT_TYPES: Final[list[str]] = ['text', 'ssml']
CONTENT_TYPE_EXTENSIONS: Final[dict[str, str]] = {'audio/mpeg': 'mp3',
    'audio/ogg': 'ogg', 'audio/pcm': 'pcm'}
DEFAULT_ENGINE: Final = 'standard'
DEFAULT_VOICE: Final = 'Joanna'
DEFAULT_OUTPUT_FORMAT: Final = 'mp3'
DEFAULT_TEXT_TYPE: Final = 'text'
DEFAULT_SAMPLE_RATES: Final[dict[str, str]] = {'mp3': '22050', 'ogg_vorbis':
    '22050', 'pcm': '16000'}
AWS_CONF_CONNECT_TIMEOUT: Final = 10
AWS_CONF_READ_TIMEOUT: Final = 5
AWS_CONF_MAX_POOL_CONNECTIONS: Final = 1

"""Constants for the Amazon Polly text to speech service."""
from __future__ import annotations

from typing import Final

CONF_REGION: Final = "region_name"
CONF_ACCESS_KEY_ID: Final = "aws_access_key_id"
CONF_SECRET_ACCESS_KEY: Final = "aws_secret_access_key"

DEFAULT_REGION: Final = "us-east-1"
SUPPORTED_REGIONS: Final[list[str]] = [
    "us-east-1",
    "us-east-2",
    "us-west-1",
    "us-west-2",
    "ca-central-1",
    "eu-west-1",
    "eu-central-1",
    "eu-west-2",
    "eu-west-3",
    "ap-southeast-1",
    "ap-southeast-2",
    "ap-northeast-2",
    "ap-northeast-1",
    "ap-south-1",
    "sa-east-1",
]

CONF_ENGINE: Final = "engine"
CONF_VOICE: Final = "voice"
CONF_OUTPUT_FORMAT: Final = "output_format"
CONF_SAMPLE_RATE: Final = "sample_rate"
CONF_TEXT_TYPE: Final = "text_type"

SUPPORTED_VOICES: Final[list[str]] = [
    "Aditi",  # Hindi
    "Amy",  # English (British)
    "Aria",  # English (New Zealand), Neural
    "Arlet",  # Catalan, Neural
    "Arthur",  # English, Neural
    "Astrid",  # Swedish
    "Ayanda",  # English (South African), Neural
    "Bianca",  # Italian
    "Brian",  # English (British)
    "Camila",  # Portuguese, Brazilian
    "Carla",  # Italian
    "Carmen",  # Romanian
    "Celine",  # French
    "Chantal",  # French Canadian
    "Conchita",  # Spanish (European)
    "Cristiano",  # Portuguese (European)
    "Daniel",  # German, Neural
    "Dora",  # Icelandic
    "Elin",  # Swedish, Neural
    "Emma",  # English
    "Enrique",  # Spanish (European)
    "Ewa",  # Polish
    "Filiz",  # Turkish
    "Gabrielle",  # French (Canadian)
    "Geraint",  # English Welsh
    "Giorgio",  # Italian
    "Gwyneth",  # Welsh
    "Hala",  # Arabic (Gulf), Neural
    "Hannah",  # German (Austrian), Neural
    "Hans",  # German
    "Hiujin",  # Chinese (Cantonese), Neural
    "Ida",  # Norwegian, Neural
    "Ines",  # Portuguese, European
    "Ivy",  # English
    "Jacek",  # Polish
    "Jan",  # Polish
    "Joanna",  # English
    "Joey",  # English
    "Justin",  # English
    "Kajal",  # English (Indian)/Hindi (Bilingual ), Neural
    "Karl",  # Icelandic
    "Kendra",  # English
    "Kevin",  # English, Neural
    "Kimberly",  # English
    "Laura",  # Dutch, Neural
    "Lea",  # French
    "Liam",  # Canadian French, Neural
    "Liv",  # Norwegian
    "Lotte",  # Dutch
    "Lucia",  # Spanish European
    "Lupe",  # Spanish US
    "Mads",  # Danish
    "Maja",  # Polish
    "Marlene",  # German
    "Mathieu",  # French
    "Matthew",  # English
    "Maxim",  # Russian
    "Mia",  # Spanish Mexican
    "Miguel",  # Spanish US
    "Mizuki",  # Japanese
    "Naja",  # Danish
    "Nicole",  # English Australian
    "Ola",  # Polish, Neural
    "Olivia",  # Female, Australian, Neural
    "Penelope",  # Spanish US
    "Pedro",  # Spanish US, Neural
    "Raveena",  # English, Indian
    "Ricardo",  # Portuguese (Brazilian)
    "Ruben",  # Dutch
    "Russell",  # English (Australian)
    "Ruth",  # English, Neural
    "Salli",  # English
    "Seoyeon",  # Korean
    "Stephen",  # English, Neural
    "Suvi",  # Finnish
    "Takumi",  # Japanese
    "Tatyana",  # Russian
    "Vicki",  # German
    "Vitoria",  # Portuguese, Brazilian
    "Zeina",  # Arabic
    "Zhiyu",  # Chinese
]

SUPPORTED_OUTPUT_FORMATS: Final[list[str]] = ["mp3", "ogg_vorbis", "pcm"]

SUPPORTED_ENGINES: Final[list[str]] = ["neural", "standard"]

SUPPORTED_SAMPLE_RATES: Final[list[str]] = ["8000", "16000", "22050", "24000"]

SUPPORTED_SAMPLE_RATES_MAP: Final[dict[str, list[str]]] = {
    "mp3": ["8000", "16000", "22050", "24000"],
    "ogg_vorbis": ["8000", "16000", "22050"],
    "pcm": ["8000", "16000"],
}

SUPPORTED_TEXT_TYPES: Final[list[str]] = ["text", "ssml"]

CONTENT_TYPE_EXTENSIONS: Final[dict[str, str]] = {
    "audio/mpeg": "mp3",
    "audio/ogg": "ogg",
    "audio/pcm": "pcm",
}

DEFAULT_ENGINE: Final = "standard"
DEFAULT_VOICE: Final = "Joanna"
DEFAULT_OUTPUT_FORMAT: Final = "mp3"
DEFAULT_TEXT_TYPE: Final = "text"

DEFAULT_SAMPLE_RATES: Final[dict[str, str]] = {
    "mp3": "22050",
    "ogg_vorbis": "22050",
    "pcm": "16000",
}

AWS_CONF_CONNECT_TIMEOUT: Final = 10
AWS_CONF_READ_TIMEOUT: Final = 5
AWS_CONF_MAX_POOL_CONNECTIONS: Final = 1
