§
    ²eîié
  ã                   ó‚   — d Z ddlZddlZddlmZ ddlmZ e G d„ d¦  «        ¦   «         Z G d„ dej        ¦  «        Z	dS )	zData models for edge-tts.é    N)Ú	dataclass)ÚLiteralc            	       ó‚   — e Zd ZU dZeed<   eed<   eed<   eed<   ed         ed<   eded	ed
edefd„¦   «         Zdd„Z	dS )Ú	TTSConfigzU
    Represents the internal TTS configuration for edge-tts's Communicate class.
    ÚvoiceÚrateÚvolumeÚpitch)ÚWordBoundaryÚSentenceBoundaryÚboundaryÚ
param_nameÚparam_valueÚpatternÚreturnc                 óª   — t          |t          ¦  «        st          | › d�¦  «        ‚t          j        ||¦  «        €t          d| › d|› d�¦  «        ‚|S )aZ  
        Validates the given string parameter based on type and pattern.

        Args:
            param_name (str): The name of the parameter.
            param_value (str): The value of the parameter.
            pattern (str): The pattern to validate the parameter against.

        Returns:
            str: The validated parameter.
        z must be strNzInvalid z 'z'.)Ú
isinstanceÚstrÚ	TypeErrorÚreÚmatchÚ
ValueError)r   r   r   s      úY/home/div/.hermes/hermes-agent/venv/lib/python3.11/site-packages/edge_tts/data_classes.pyÚvalidate_string_paramzTTSConfig.validate_string_param   sg   € õ ˜+¥sÑ+Ô+ð 	9Ý˜zÐ7Ð7Ð7Ñ8Ô8Ð8ÝŒ8�G˜[Ñ)Ô)Ð1ÝÐE¨
ÐEÐE°kÐEÐEÐEÑFÔFÐFØÐó    Nc                 óÌ  — t          | j        t          ¦  «        st          d¦  «        ‚t	          j        d| j        ¦  «        }|�®|                     d¦  «        }|                     d¦  «        }|                     d¦  «        }|                     d¦  «        dk    rB|› d|d|                     d¦  «        …         › �}||                     d¦  «        dz   d…         }d	d
|› d|› d|› d�z   | _        |                      d| j        d¦  «         |                      d| j	        d¦  «         |                      d| j
        d¦  «         |                      d| j        d¦  «         dS )zF
        Validates the TTSConfig object after initialization.
        zvoice must be strz$^([a-z]{2,})-([A-Z]{2,})-(.+Neural)$Né   é   é   Ú-éÿÿÿÿz,Microsoft Server Speech Text to Speech Voicez (z, ú)r   z8^Microsoft Server Speech Text to Speech Voice \(.+,.+\)$r   z
^[+-]\d+%$r	   r
   z^[+-]\d+Hz$)r   r   r   r   r   r   ÚgroupÚfindr   r   r	   r
   )Úselfr   ÚlangÚregionÚnames        r   Ú__post_init__zTTSConfig.__post_init__+   sp  € õ ˜$œ*¥cÑ*Ô*ð 	1ÝÐ/Ñ0Ô0Ð0Ý”Ð@À$Ä*ÑMÔMˆØÐØ—;’;˜q‘>”>ˆDØ—[’[ ‘^”^ˆFØ—;’;˜q‘>”>ˆDØ�yŠy˜‰~Œ~ Ò#Ð#Ø"Ð<Ð< T¨/¨4¯9ª9°S©>¬>¨/Ô%:Ð<Ð<�Ø˜DŸIšI c™NœN¨QÑ.Ð0Ð0Ô1�à>Ø/�tÐ/Ð/˜fÐ/Ð/¨Ð/Ð/Ð/ñ0ð ŒJð 	×"Ò"ØØŒJØGñ	
ô 	
ð 	
ð
 	×"Ò" 6¨4¬9°mÑDÔDÐDØ×"Ò" 8¨T¬[¸-ÑHÔHÐHØ×"Ò" 7¨D¬J¸ÑGÔGÐGÐGÐGr   )r   N)
Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   Ú__annotations__r   Ústaticmethodr   r)   © r   r   r   r      s­   € € € € € € ðð ð €J€J�JØ
€I€I�IØ€K€K�KØ€J€J�JØÐ8Ô9Ð9Ð9Ñ9àð¨#ð ¸Cð È#ð ÐRUð ð ð ñ „\ðð$!Hð !Hð !Hð !Hð !Hð !Hr   r   c                   óx   — e Zd ZU dZeed<   eed<   eed<   eed<   eed<   eed<   eed<   eed	<   eed
<   eed<   dS )ÚUtilArgszCLI arguments.ÚtextÚfiler   Úlist_voicesr   r	   r
   Úwrite_mediaÚwrite_subtitlesÚproxyN)r*   r+   r,   r-   r   r.   Úboolr0   r   r   r2   r2   O   sy   € € € € € € ØÐà
€I€I�IØ
€I€I�IØ€J€J�JØÐÐÑØ
€I€I�IØ€K€K�KØ€J€J�JØÐÐÑØÐÐÑØ€J€J�J€J€Jr   r2   )
r-   Úargparser   Údataclassesr   Útyping_extensionsr   r   Ú	Namespacer2   r0   r   r   ú<module>r>      s·   ðØ Ð ð €€€Ø 	€	€	€	Ø !Ð !Ð !Ð !Ð !Ð !à %Ð %Ð %Ð %Ð %Ð %ð ð?Hð ?Hð ?Hð ?Hð ?Hñ ?Hô ?Hñ „ð?HðDð ð ð ð ˆxÔ!ñ ô ð ð ð r   