§
    nÈjY:  ã                   óR  — d Z ddlZddlmc mZ ddlZddlZddl	Z	ddl
Z
ddlZddlZddlmZ ddlZddlZddlmZmZmZmZmZmZmZmZ dZ ed¦  «        Zd„ Zdd„Zej                             d	dd
g¦  «        d„ ¦   «         Z ej                             d	ddg¦  «        d„ ¦   «         Z!g d¢Z"ej                             dddg¦  «        ej                             de"¦  «        d„ ¦   «         ¦   «         Z#ej                             dg d¢¦  «        d„ ¦   «         Z$d„ Z%d„ Z&d„ Z'd„ Z(dS )zMNetwork-free provider contracts, safe failures and single-provider selection.é    N©ÚSimpleNamespace)ÚCF_STT_MODELÚCloudflareWorkersAISttProviderÚOpenAICompatibleSTTÚTranscriptionErrorÚVoiceManagerÚVoiceRequestÚconfigured_sttÚwav_pcmztest-private-key-never-logsÐ  public-audio-marker!public-audio-marker!public-audio-marker!public-audio-marker!public-audio-marker!public-audio-marker!public-audio-marker!public-audio-marker!public-audio-marker!public-audio-marker!public-audio-marker!public-audio-marker!public-audio-marker!public-audio-marker!public-audio-marker!public-audio-marker!public-audio-marker!public-audio-marker!public-audio-marker!public-audio-marker!public-audio-marker!public-audio-marker!public-audio-marker!public-audio-marker!public-audio-marker!public-audio-marker!public-audio-marker!public-audio-marker!public-audio-marker!public-audio-marker!public-audio-marker!public-audio-marker!public-audio-marker!public-audio-marker!public-audio-marker!public-audio-marker!public-audio-marker!public-audio-marker!public-audio-marker!public-audio-marker!public-audio-marker!public-audio-marker!public-audio-marker!public-audio-marker!public-audio-marker!public-audio-marker!public-audio-marker!public-audio-marker!public-audio-marker!public-audio-marker!public-audio-marker!public-audio-marker!public-audio-marker!public-audio-marker!public-audio-marker!public-audio-marker!public-audio-marker!public-audio-marker!public-audio-marker!public-audio-marker!public-audio-marker!public-audio-marker!public-audio-marker!public-audio-marker!public-audio-marker!public-audio-marker!public-audio-marker!public-audio-marker!public-audio-marker!public-audio-marker!public-audio-marker!public-audio-marker!public-audio-marker!public-audio-marker!public-audio-marker!public-audio-marker!public-audio-marker!public-audio-marker!public-audio-marker!public-audio-marker!public-audio-marker!public-audio-marker!public-audio-marker!public-audio-marker!public-audio-marker!public-audio-marker!public-audio-marker!public-audio-marker!public-audio-marker!public-audio-marker!public-audio-marker!public-audio-marker!public-audio-marker!public-audio-marker!public-audio-marker!public-audio-marker!public-audio-marker!public-audio-marker!public-audio-marker!public-audio-marker!c                 óz   ‡‡‡‡— t           j        Šg Šˆˆfd„Šˆˆfd„}|                      t           d|¦  «         ‰S )Nc                 óD   •— ‰                      | ¦  «          ‰| ¦  «        S ©N©Úappend)ÚrequestÚcallsÚhandlers    €€úW/home/lighthouse/esp32-dev/.cache/main-promotion-test-20261009/server/tests/test_stt.pyÚhandlezmock_http.<locals>.handle   s%   ø€ Ø�Š�WÑÔÐØˆw�wÑÔÐó    c                  ó�  •— dddœ}| |k    }|s—t          j        d|fd| |f¦  «        dt          j        ¦   «         v st          j        | ¦  «        rt          j        | ¦  «        ndt          j        |¦  «        dœz  }dd	|iz  }t          t          j        |¦  «        ¦  «        ‚d x}} ‰di | ¤d
t          j	        ‰¦  «        i¤ŽS )Né   F)ÚtimeoutÚfollow_redirects©ú==©z%(py0)s == %(py3)sÚkwargs©Úpy0Úpy3úassert %(py5)sÚpy5Ú	transport© )
Ú
@pytest_arÚ_call_reprcompareÚ@py_builtinsÚlocalsÚ_should_repr_global_nameÚ	_safereprÚAssertionErrorÚ_format_explanationÚhttpxÚMockTransport)r   Ú@py_assert2Ú@py_assert1Ú@py_format4Ú@py_format6Úclientr   s        €€r   Úfactoryzmock_http.<locals>.factory   sü   ø€ Ø%'¸UÐCÐCÐCˆvÐCÒCÐCÐCÐCÕCÔCÐCÐCÐCÐCˆvÐCÐCÑCÔCÐCÕCÔCÑCÔCÐCÐCÕCÔCˆvÑCÔCÐCÕCÔCˆvÑCÔCÐCÐCÕCÔCÐCÑCÔCÐCÐCÑCÐCÐCÐCÐCÐCÑCÐCÕCÕCÔCÐCÑCÔCÑCÔCÐCÐCÐCÐCÐCØˆvÐFÐF˜ÐFÐF­%Ô*=¸fÑ*EÔ*EÐFÐFÐFÐFr   ÚAsyncClient)r/   r7   Úsetattr)Úmonkeypatchr   r6   r   r5   r   s    ` @@@r   Ú	mock_httpr:      st   øøøø€ ÝÔ€FØ€Eð ð  ð  ð  ð  ð  ðGð Gð Gð Gð Gð Gð ×Ò�˜}¨gÑ6Ô6Ð6Ø€Lr   c                 ól   — | dk    rt          dt          |¬¦  «        S t          dt          d|¬¦  «        S )NÚ
cloudflareútest-account)Úinitial_promptzhttps://api.groq.com/openai/v1/úwhisper-large-v3-turbo)r   ÚKEYr   )ÚnameÚprompts     r   Úmake_providerrC   &   sH   € Øˆ|ÒÐÝ-¨n½cÐRXÐYÑYÔYÐYÝÐ@Å#Ø7ÈðPñ Pô Pð Pr   rB   z"Codex, Pi, session, branch, pytestc                 óf  ‡— ˆfd„}t          | |¦  «        }t          d‰¦  «        }t          j        }|j        } |t
          ¦  «        } ||¦  «        }d}	||	k    }
|
�sst          j        d|
fd||	f¦  «        dt          j	        ¦   «         v st          j
        t          ¦  «        rt          j        t          ¦  «        ndt          j        |¦  «        dt          j	        ¦   «         v st          j
        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        dt          j	        ¦   «         v st          j
        t
          ¦  «        rt          j        t
          ¦  «        ndt          j        |¦  «        t          j        |¦  «        t          j        |	¦  «        d	œz  }d
d|iz  }t          t          j        |¦  «        ¦  «        ‚d x}x}x}x}x}
}	t          |¦  «        }d}||k    }|sòt          j        d|fd||f¦  «        dt          j	        ¦   «         v st          j
        t          ¦  «        rt          j        t          ¦  «        nddt          j	        ¦   «         v st          j
        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j        |¦  «        ¦  «        ‚d x}x}}|j        }d}||k    }|sªt          j        d|fd||f¦  «        dt          j	        ¦   «         v st          j
        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j        |¦  «        ¦  «        ‚d x}x}}d S )Nc                 óL  •— | j         }t          |¦  «        }d}|t          z   }||k    }|�sMt          j        d|fd||f¦  «        dt          j        ¦   «         v st          j        t          ¦  «        rt          j        t          ¦  «        nddt          j        ¦   «         v st          j        | ¦  «        rt          j        | ¦  «        ndt          j        |¦  «        t          j        |¦  «        t          j        |¦  «        dt          j        ¦   «         v st          j        t          ¦  «        rt          j        t          ¦  «        nddœz  }dd	|iz  }t          t          j
        |¦  «        ¦  «        ‚d x}x}x}x}}| j        d
         }d}	|	t          z   }||k    }|s´t          j        d|fd||f¦  «        t          j        |¦  «        t          j        |	¦  «        dt          j        ¦   «         v st          j        t          ¦  «        rt          j        t          ¦  «        nddœz  }
dd|
iz  }t          t          j
        |¦  «        ¦  «        ‚d x}x}x}	}| j        d         }d}	||	k    }|slt          j        d|fd||	f¦  «        t          j        |¦  «        t          j        |	¦  «        dœz  }dd|iz  }
t          t          j
        |
¦  «        ¦  «        ‚d x}x}}	t          j        | j        ¦  «        }t           j        }|j        }d} ||¦  «        }d} |||¬¦  «        }|t&          k    }|�s‹t          j        d|fd|t&          f¦  «        dt          j        ¦   «         v st          j        t           ¦  «        rt          j        t           ¦  «        ndt          j        |¦  «        dt          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        t          j        |¦  «        t          j        |¦  «        t          j        |¦  «        t          j        |¦  «        dt          j        ¦   «         v st          j        t&          ¦  «        rt          j        t&          ¦  «        nddœ	z  }dd |iz  }t          t          j
        |¦  «        ¦  «        ‚d x}x}x}x}x}x}}‰rd!‰d"œnd#d!i}||k    }|s—t          j        d|fd$||f¦  «        dt          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        d%œz  }d&d'|iz  }t          t          j
        |¦  «        ¦  «        ‚d x}}t)          j        d(dg d)d*d+id,œd-œ¬.¦  «        S )/NzBhttps://api.cloudflare.com/client/v4/accounts/test-account/ai/run/r   )zU%(py5)s
{%(py5)s = %(py0)s(%(py3)s
{%(py3)s = %(py1)s.url
})
} == (%(py8)s + %(py9)s)Ústrr   r   )r!   Úpy1r"   r$   Úpy8Úpy9zassert %(py12)sÚpy12ÚauthorizationúBearer ©z%(py1)s == (%(py4)s + %(py5)s)r@   ©rG   Úpy4r$   úassert %(py8)srH   úcontent-typezapplication/json©z%(py1)s == %(py4)s©rG   rO   úassert %(py6)sÚpy6ÚaudioT)Úvalidate)zœ%(py13)s
{%(py13)s = %(py2)s
{%(py2)s = %(py0)s.b64decode
}(%(py9)s
{%(py9)s = %(py5)s
{%(py5)s = %(py3)s.pop
}(%(py7)s)
}, validate=%(py11)s)
} == %(py15)sÚbase64ÚpayloadÚWAV)	r!   Úpy2r"   r$   Úpy7rI   Úpy11Úpy13Úpy15úassert %(py17)sÚpy17Ú
transcribe)Útaskr>   rc   r   r    r#   r$   éÈ   u6    è¯· resume Codex sessionï¼Œç„¶å�Ž checkout branchã€‚ ÚlanguageÚzh)ÚtextÚtranscription_info)ÚsuccessÚerrorsÚresult©Újson)ÚurlrF   r   r'   r(   r)   r*   r+   r,   r-   r.   Úheadersr@   rm   ÚloadsÚcontentrX   Ú	b64decodeÚpoprZ   r/   ÚResponse)r   r1   Ú@py_assert4Ú@py_assert7Ú@py_assert10Ú@py_assert6Ú@py_format11Ú@py_format13Ú@py_assert0Ú@py_assert3Ú@py_format7Ú@py_format9Ú@py_format5rY   r2   Ú@py_assert8Ú@py_assert12Ú@py_assert14Ú@py_format16Ú@py_format18r3   r4   rB   s                         €r   r   z9test_cloudflare_serialization_and_success.<locals>.handle/   s(  ø€ Ø”;ð 	a�s�;ÑÔð 	aØPð	aØPÕS_Ñ_ð	aÐØ_òað 	að 	añ 	aõ 	aÜO`ð	að 	að 	að 	aÐØ_ð	añ 	aô 	að 	aõ 	aÜZ`ñ	aô 	að 	að 	aõ 	aÜH`õ ñ 	aô 	að 	aõ 	aÜW`õ ñ 	aô 	að 	að 	að 	aõ 	aÜZ`ñ	aô 	að 	að 	aõ 	aÜH`ð ñ 	aô 	að 	aõ 	aÜW`ð ñ 	aô 	að 	að 	aõ 	aÜW`ð ñ 	aô 	aõ 	aÜW`ð  ñ 	aô 	aõ 	aÜW`ÐPñ	aô 	að 	aõ 	aÜZ`ñ	aô 	að 	að 	aõ 	aÜH`ÕS_ñ	aô 	að 	aõ 	aÜW`ÕS_ñ	aô 	að 	að 	að 	að 	añ 	að 	að 	að 	að 	að 	añ 	að 	aõ 	aõ 	aÜM`ð	añ 	aô 	añ 	aô 	að 	að 	að 	að 	að 	að 	að 	að 	að 	að 	að 	aàŒ˜Ô/ÐB°9ÐB°9½s±?ÐBÐ/°?ÒBÐBÐBÐBÕBÔBÐBÐBÐBÐBÐ/°?ÐBÑBÔBÕBÔBÐ/ÑBÔBÕBÔB°9ÑBÔBÐBÕBÔBÑBÔBÐBÐBÕBÔB½sÑBÔBÐBÕBÔB½sÑBÔBÐBÐBÐBÐBÑBÐBÐBÐBÐBÐBÑBÐBÕBÕBÔBÐBÑBÔBÑBÔBÐBÐBÐBÐBÐBÐBÐBÐBÐBØŒ˜~Ô.ÐDÐ2DÐDÐ.Ð2DÒDÐDÐDÐDÕDÔDÐDÐDÐDÐDÐ.Ð2DÐDÑDÔDÕDÔDÐ.ÑDÔDÕDÔDÐ2DÑDÔDÐDÐDÑDÐDÐDÐDÐDÐDÑDÐDÕDÕDÔDÐDÑDÔDÑDÔDÐDÐDÐDÐDÐDÐDÐDÝ”*˜Wœ_Ñ-Ô-ˆÝÔÐK ¤ÐK¨GÐK  ¨GÑ 4Ô 4ÐK¸tÐKÐÐÐ 4¸tÐDÑDÔDÐKÐDÍÒKÐKÐKÑKÕKÔKÐKÐKÐKÐKÐDÍÐKÑKÔKÐKÕKÔKÑKÔKÐKÐKÕKÔK�vÑKÔKÐKÕKÔK�vÑKÔKÐKÐKÕKÔKÐÑKÔKÐKÕKÔKÑKÔKÐKÐKÕKÔK ÑKÔKÐKÕKÔK ÑKÔKÐKÐKÕKÔK ÑKÔKÕKÔK¨GÑKÔKÕKÔKÐ 4ÑKÔKÕKÔK¸tÑKÔKÕKÔKÐDÑKÔKÐKÕKÔKÑKÔKÐKÐKÕKÔKÍÑKÔKÐKÕKÔKÍÑKÔKÐKÐKÐKÐKÑKÐKÐKÐKÐKÐKÑKÐKÕKÕKÔKÐKÑKÔKÑKÔKÐKÐKÐKÐKÐKÐKÐKÐKÐKÐKÐKÐKÐKÐKÐKà$ðA LÀFÐKÐKÐKØ+1°<Ð*@ð	Bˆwð Aò Bð 	Bð 	Bð 	Bõ 	BÜ0Að	Bð 	Bð 	Bð 	Bˆwð Að 	Bñ 	Bô 	Bð 	Bõ 	BÜ;Añ	Bô 	Bð 	Bð 	Bõ 	BÜ)Að ñ 	Bô 	Bð 	Bõ 	BÜ8Að ñ 	Bô 	Bð 	Bð 	Bõ 	BÜ8AðAñ 	Bô 	Bð 	Bð 	Bñ 	Bð 	Bð 	Bð 	Bð 	Bð 	Bñ 	Bð 	Bõ 	Bõ 	BÜ.Að	Bñ 	Bô 	Bñ 	Bô 	Bð 	Bð 	Bð 	Bð 	Bð 	BåŒ~˜c°DÀBØWØ.8¸$Ð-?ðAð Að)Bð )Bð Cñ Cô Cð 	Cr   r<   u4   è¯· resume Codex sessionï¼Œç„¶å�Ž checkout branchã€‚r   )zŠ%(py10)s
{%(py10)s = %(py2)s
{%(py2)s = %(py0)s.run
}(%(py8)s
{%(py8)s = %(py5)s
{%(py5)s = %(py3)s.transcribe
}(%(py6)s)
})
} == %(py13)sÚasyncioÚproviderrZ   )r!   r[   r"   r$   rU   rH   Úpy10r^   úassert %(py15)sr_   é   ©z0%(py3)s
{%(py3)s = %(py0)s(%(py1)s)
} == %(py6)sÚlenr   ©r!   rG   r"   rU   rP   rH   r   )ú>=)z<%(py2)s
{%(py2)s = %(py0)s.last_request_seconds
} >= %(py5)s©r!   r[   r$   úassert %(py7)sr\   )r:   rC   r…   Úrunrb   rZ   r'   r(   r)   r*   r+   r,   r-   r.   r‹   Úlast_request_seconds)r9   rB   r   r   r†   r2   ru   rv   Ú@py_assert9r�   Ú@py_assert11Ú@py_format14rƒ   r1   Ú@py_assert5r}   r~   r|   r4   Ú@py_format8s    `                  r   Ú)test_cloudflare_serialization_and_successr—   -   s  ø€ ðCð Cð Cð Cð Cõ �k 6Ñ*Ô*€EÝ˜\¨6Ñ2Ô2€HÝŒ;Ðj�xÔ*ÐjÐ*Ð*­3Ñ/Ô/Ðjˆ;ˆ;Ð/Ñ0Ô0ÐjÐ4jÐjÐ0Ð4jÒjÐjÐjÑjÕjÔjÐjÐjÐjÐjÐ0Ð4jÐjÑjÔjÐjÕjÔjÑjÔjÐjÐjÕjÔj�7ÑjÔjÐjÕjÔj�7ÑjÔjÐjÐjÕjÔjˆ;ÑjÔjÐjÕjÔjÑjÔjÐjÐjÕjÔj�xÑjÔjÐjÕjÔj�xÑjÔjÐjÐjÕjÔjÐ*ÑjÔjÐjÕjÔjÑjÔjÐjÐjÕjÔj­3ÑjÔjÐjÕjÔj­3ÑjÔjÐjÐjÕjÔjÐ/ÑjÔjÕjÔjÐ0ÑjÔjÕjÔjÐ4jÑjÔjÐjÐjÑjÐjÐjÐjÐjÐjÑjÐjÕjÕjÔjÐjÑjÔjÑjÔjÐjÐjÐjÐjÐjÐjÐjÐjÐjÐjÐjÐjÐjÝˆu‰:Œ:Ð˜Ðˆ:˜Š?ÐÐÐÕÔÐÐÐÐˆ:˜ÐÑÔÐÕÔÑÔÐÐÕÔ�3ÑÔÐÕÔ�3ÑÔÐÐÐÕÔÑÔÐÐÕÔˆuÑÔÐÕÔˆuÑÔÐÐÕÔˆ:ÑÔÕÔ˜ÑÔÐÐÑÐÐÐÐÐÑÐÕÕÔÐÑÔÑÔÐÐÐÐÐÐÐØÔ(Ð-¨AÐ-Ð(¨AÒ-Ð-Ð-Ð-Õ-Ô-Ð-Ð-Ð-Ð-Ð(¨AÐ-Ñ-Ô-Ð-Õ-Ô-Ñ-Ô-Ð-Ð-Õ-Ô-ˆ8Ñ-Ô-Ð-Õ-Ô-ˆ8Ñ-Ô-Ð-Ð-Õ-Ô-Ð(Ñ-Ô-Õ-Ô-¨AÑ-Ô-Ð-Ð-Ñ-Ð-Ð-Ð-Ð-Ð-Ñ-Ð-Õ-Õ-Ô-Ð-Ñ-Ô-Ñ-Ô-Ð-Ð-Ð-Ð-Ð-Ð-Ð-Ð-Ð-r   úCodex, pytestc                 óÌ  ‡— ˆfd„}t          | |¦  «        }t          j        }d}t          |‰¦  «        }|j        } |t
          ¦  «        } ||¦  «        }	d}
|	|
k    }|�sát          j        d|fd|	|
f¦  «        dt          j	        ¦   «         v st          j
        t          ¦  «        rt          j        t          ¦  «        ndt          j        |¦  «        dt          j	        ¦   «         v st          j
        t          ¦  «        rt          j        t          ¦  «        ndt          j        |¦  «        dt          j	        ¦   «         v st          j
        ‰¦  «        rt          j        ‰¦  «        ndt          j        |¦  «        t          j        |¦  «        d	t          j	        ¦   «         v st          j
        t
          ¦  «        rt          j        t
          ¦  «        nd	t          j        |¦  «        t          j        |	¦  «        t          j        |
¦  «        d
œz  }dd|iz  }t          t          j        |¦  «        ¦  «        ‚d x}x}x}x}x}x}	x}}
t          |¦  «        }d}||k    }|sòt          j        d|fd||f¦  «        dt          j	        ¦   «         v st          j
        t          ¦  «        rt          j        t          ¦  «        nddt          j	        ¦   «         v st          j
        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j        |¦  «        ¦  «        ‚d x}x}}d S )Nc                 ó”  •— | j         }t          |¦  «        }d}||k    }|�st          j        d|fd||f¦  «        dt	          j        ¦   «         v st          j        t          ¦  «        rt          j        t          ¦  «        nddt	          j        ¦   «         v st          j        | ¦  «        rt          j        | ¦  «        ndt          j        |¦  «        t          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j	        |¦  «        ¦  «        ‚d x}x}x}}| j
        d	         }d
}|t          z   }||k    }|s´t          j        d|fd||f¦  «        t          j        |¦  «        t          j        |¦  «        dt	          j        ¦   «         v st          j        t          ¦  «        rt          j        t          ¦  «        nddœz  }	dd|	iz  }t          t          j	        |¦  «        ¦  «        ‚d x}x}x}}| j
        d         }|j        }d} ||¦  «        }|ssdt          j        |¦  «        t          j        |¦  «        t          j        |¦  «        t          j        |¦  «        dœz  }
t          t          j	        |
¦  «        ¦  «        ‚d x}x}x}}| j        }t          |v }|sät          j        d|fdt          |f¦  «        dt	          j        ¦   «         v st          j        t          ¦  «        rt          j        t          ¦  «        nddt	          j        ¦   «         v st          j        | ¦  «        rt          j        | ¦  «        ndt          j        |¦  «        dœz  }dd|iz  }	t          t          j	        |	¦  «        ¦  «        ‚d x}}d}| j        }||v }|sªt          j        d|fd||f¦  «        t          j        |¦  «        dt	          j        ¦   «         v st          j        | ¦  «        rt          j        | ¦  «        ndt          j        |¦  «        dœz  }dd|iz  }
t          t          j	        |
¦  «        ¦  «        ‚d x}x}}d}| j        }||v }|sªt          j        d|fd||f¦  «        t          j        |¦  «        dt	          j        ¦   «         v st          j        | ¦  «        rt          j        | ¦  «        ndt          j        |¦  «        dœz  }dd|iz  }
t          t          j	        |
¦  «        ¦  «        ‚d x}x}}d }| j        }||v}|sªt          j        d!|fd"||f¦  «        t          j        |¦  «        dt	          j        ¦   «         v st          j        | ¦  «        rt          j        | ¦  «        ndt          j        |¦  «        dœz  }dd|iz  }
t          t          j	        |
¦  «        ¦  «        ‚d x}x}}d#}| j        }||v}|sªt          j        d!|fd"||f¦  «        t          j        |¦  «        dt	          j        ¦   «         v st          j        | ¦  «        rt          j        | ¦  «        ndt          j        |¦  «        dœz  }dd|iz  }
t          t          j	        |
¦  «        ¦  «        ‚d x}x}}d$}| j        }||v }t          ‰¦  «        }||k    }|�sbt          j        d|fd||f¦  «        t          j        |¦  «        dt	          j        ¦   «         v st          j        | ¦  «        rt          j        | ¦  «        ndt          j        |¦  «        dœz  }t          j        d|fd%||f¦  «        |d&t	          j        ¦   «         v st          j        t          ¦  «        rt          j        t          ¦  «        nd&d't	          j        ¦   «         v st          j        ‰¦  «        rt          j        ‰¦  «        nd't          j        |¦  «        d(œz  }d)d*|iz  }t          t          j	        |¦  «        ¦  «        ‚d x}x}x}x}}t!          j        d+d,d-i¬.¦  «        S )/Nz3https://api.groq.com/openai/v1/audio/transcriptionsr   )zI%(py5)s
{%(py5)s = %(py0)s(%(py3)s
{%(py3)s = %(py1)s.url
})
} == %(py8)srF   r   ©r!   rG   r"   r$   rH   úassert %(py10)sr‡   rK   rL   rM   r@   rN   rP   rH   rQ   zmultipart/form-data; boundary=zLassert %(py7)s
{%(py7)s = %(py3)s
{%(py3)s = %(py1)s.startswith
}(%(py5)s)
})rG   r"   r$   r\   ©Úin)z/%(py0)s in %(py4)s
{%(py4)s = %(py2)s.content
}rZ   ©r!   r[   rO   rT   rU   s&   name="model"

whisper-large-v3-turbo)z/%(py1)s in %(py5)s
{%(py5)s = %(py3)s.content
}©rG   r"   r$   r�   r\   s   filename="voice.wav"s   name="language"©únot in)z3%(py1)s not in %(py5)s
{%(py5)s = %(py3)s.content
}s   name="initial_prompt"s   name="prompt")z5(%(py7)s) == %(py12)s
{%(py12)s = %(py9)s(%(py10)s)
}ÚboolrB   )r\   rI   r‡   rJ   úassert %(py14)sÚpy14rd   rg   ú
run pytestrl   )rn   rF   r'   r(   r)   r*   r+   r,   r-   r.   ro   r@   Ú
startswithrq   rZ   r£   r/   rt   )r   r1   ru   rv   rx   r~   ry   r{   r|   r}   r–   r2   r   r4   r“   r€   rz   Ú@py_format15rB   s                     €r   r   z6test_groq_openai_compatible_regression.<locals>.handleE   s3	  ø€ Ø”;ÐX�s�;ÑÔÐXÐ#XÐXÐÐ#XÒXÐXÐXÑXÕXÔXÐXÐXÐXÐXÐÐ#XÐXÑXÔXÐXÕXÔXÑXÔXÐXÐXÕXÔX�sÑXÔXÐXÕXÔX�sÑXÔXÐXÐXÐXÕXÔXÑXÔXÐXÐXÕXÔX�7ÑXÔXÐXÕXÔX�7ÑXÔXÐXÐXÕXÔX�;ÑXÔXÕXÔXÐÑXÔXÕXÔXÐ#XÑXÔXÐXÐXÑXÐXÐXÐXÐXÐXÑXÐXÕXÕXÔXÐXÑXÔXÑXÔXÐXÐXÐXÐXÐXÐXÐXÐXÐXØŒ˜Ô/ÐB°9ÐB°9½s±?ÐBÐ/°?ÒBÐBÐBÐBÕBÔBÐBÐBÐBÐBÐ/°?ÐBÑBÔBÕBÔBÐ/ÑBÔBÕBÔB°9ÑBÔBÐBÕBÔBÑBÔBÐBÐBÕBÔB½sÑBÔBÐBÕBÔB½sÑBÔBÐBÐBÐBÐBÑBÐBÐBÐBÐBÐBÑBÐBÕBÕBÔBÐBÑBÔBÑBÔBÐBÐBÐBÐBÐBÐBÐBÐBÐBØŒ˜~Ô.Ð[Ð.Ô9Ð[Ð:ZÐ[Ð9Ð9Ð:ZÑ[Ô[Ð[Ð[Ð[Ð[Õ[Ô[Ð.Ñ[Ô[Õ[Ô[Ð9Ñ[Ô[Õ[Ô[Ð:ZÑ[Ô[Õ[Ô[Ð[Ñ[Ô[Ð[Ð[Ñ[Ð[Õ[Õ[Ô[Ð[Ñ[Ô[Ñ[Ô[Ð[Ð[Ð[Ð[Ð[Ð[Ð[Ð[Ð[Ø”oÐ%�s�oÐ%Ð%Ð%Ð%Õ%Ô%Ð%Ð%Ð%Ð%�s�oÐ%Ñ%Ô%Ð%Õ%Ô%Ñ%Ô%Ð%Ð%Õ%Ô%�sÑ%Ô%Ð%Õ%Ô%�sÑ%Ô%Ð%Ð%Ð%Õ%Ô%Ñ%Ô%Ð%Ð%Õ%Ô%�gÑ%Ô%Ð%Õ%Ô%�gÑ%Ô%Ð%Ð%Õ%Ô%�oÑ%Ô%Ð%Ð%Ñ%Ð%Ð%Ð%Ð%Ð%Ñ%Ð%Õ%Õ%Ô%Ð%Ñ%Ô%Ñ%Ô%Ð%Ð%Ð%Ð%Ð%Ø<ÐOÀÄÐOÐ<ÀÐOÐOÐOÐOÕOÔOÐOÐOÐOÐOÐ<ÀÐOÑOÔOÕOÔOÐ<ÑOÔOÐOÕOÔOÑOÔOÐOÐOÕOÔOÀÑOÔOÐOÕOÔOÀÑOÔOÐOÐOÕOÔOÀÑOÔOÐOÐOÑOÐOÐOÐOÐOÐOÑOÐOÕOÕOÔOÐOÑOÔOÑOÔOÐOÐOÐOÐOÐOÐOÐOØ&Ð9¨'¬/Ð9Ð&¨/Ð9Ð9Ð9Ð9Õ9Ô9Ð9Ð9Ð9Ð9Ð&¨/Ð9Ñ9Ô9Õ9Ô9Ð&Ñ9Ô9Ð9Õ9Ô9Ñ9Ô9Ð9Ð9Õ9Ô9¨'Ñ9Ô9Ð9Õ9Ô9¨'Ñ9Ô9Ð9Ð9Õ9Ô9¨/Ñ9Ô9Ð9Ð9Ñ9Ð9Ð9Ð9Ð9Ð9Ñ9Ð9Õ9Õ9Ô9Ð9Ñ9Ô9Ñ9Ô9Ð9Ð9Ð9Ð9Ð9Ð9Ð9Ø!Ð8¨¬Ð8Ð!¨Ð8Ð8Ð8Ð8Õ8Ô8Ð8Ð8Ð8Ð8Ð!¨Ð8Ñ8Ô8Õ8Ô8Ð!Ñ8Ô8Ð8Õ8Ô8Ñ8Ô8Ð8Ð8Õ8Ô8¨Ñ8Ô8Ð8Õ8Ô8¨Ñ8Ô8Ð8Ð8Õ8Ô8¨Ñ8Ô8Ð8Ð8Ñ8Ð8Ð8Ð8Ð8Ð8Ñ8Ð8Õ8Õ8Ô8Ð8Ñ8Ô8Ñ8Ô8Ð8Ð8Ð8Ð8Ð8Ð8Ð8Ø'Ð>¨w¬Ð>Ð'¨Ð>Ð>Ð>Ð>Õ>Ô>Ð>Ð>Ð>Ð>Ð'¨Ð>Ñ>Ô>Õ>Ô>Ð'Ñ>Ô>Ð>Õ>Ô>Ñ>Ô>Ð>Ð>Õ>Ô>¨wÑ>Ô>Ð>Õ>Ô>¨wÑ>Ô>Ð>Ð>Õ>Ô>¨Ñ>Ô>Ð>Ð>Ñ>Ð>Ð>Ð>Ð>Ð>Ñ>Ð>Õ>Õ>Ô>Ð>Ñ>Ô>Ñ>Ô>Ð>Ð>Ð>Ð>Ð>Ð>Ð>Ø ÐD G¤OÐDÐ  OÐ3ÐD½¸V¹¼ÐDÐD¸ÒDÐDÐDÑDÕDÔDÐDÐDÐDÐDÐ  OÐDÑDÔDÕDÔDÐ ÑDÔDÐDÕDÔDÑDÔDÐDÐDÕDÔD GÑDÔDÐDÕDÔD GÑDÔDÐDÐDÕDÔD OÑDÔDÐDÐDÑDÐDÕDÔDÐDÐDÐDÐDÐD¸ÐDÑDÔDÐDÐDÕDÔDÑDÔDÐDÐDÕDÔD½ÑDÔDÐDÕDÔD½ÑDÔDÐDÐDÐDÕDÔDÑDÔDÐDÐDÕDÔD¸VÑDÔDÐDÕDÔD¸VÑDÔDÐDÐDÕDÔD¸ÑDÔDÐDÐDÑDÐDÐDÐDÐDÐDÑDÐDÕDÕDÔDÐDÑDÔDÑDÔDÐDÐDÐDÐDÐDÐDÐDÐDÐDÐDÐDÝŒ~˜c¨°Ð(>Ð?Ñ?Ô?Ð?r   Úgroqr¦   r   )z¶%(py15)s
{%(py15)s = %(py2)s
{%(py2)s = %(py0)s.run
}(%(py13)s
{%(py13)s = %(py10)s
{%(py10)s = %(py8)s
{%(py8)s = %(py3)s(%(py5)s, %(py6)s)
}.transcribe
}(%(py11)s)
})
} == %(py18)sr…   rC   rB   rZ   )r!   r[   r"   r$   rU   rH   r‡   r]   r^   r_   Úpy18úassert %(py20)sÚpy20r‰   rŠ   r‹   r   rŒ   rP   rH   )r:   r…   r�   rC   rb   rZ   r'   r(   r)   r*   r+   r,   r-   r.   r‹   )r9   rB   r   r   r2   ru   rv   r’   r�   r‚   Ú@py_assert17Ú@py_assert16Ú@py_format19Ú@py_format21r1   r•   r}   r~   s    `                r   Ú&test_groq_openai_compatible_regressionr±   C   s…  ø€ ð
@ð 
@ð 
@ð 
@ð 
@õ �k 6Ñ*Ô*€EÝŒ;ÐU VÐU•} V¨VÑ4Ô4ÐUÐ4Ô?ÐUÐ?Ð?ÅÑDÔDÐUˆ;ˆ;ÐDÑEÔEÐUÈÐUÐEÈÒUÐUÐUÑUÕUÔUÐUÐUÐUÐUÐEÈÐUÑUÔUÐUÕUÔUÑUÔUÐUÐUÕUÔU�7ÑUÔUÐUÕUÔU�7ÑUÔUÐUÐUÕUÔUˆ;ÑUÔUÐUÕUÔUÑUÔUÐUÐUÕUÔU•}ÑUÔUÐUÕUÔU•}ÑUÔUÐUÐUÕUÔU VÑUÔUÐUÕUÔUÑUÔUÐUÐUÕUÔU¨VÑUÔUÐUÕUÔU¨VÑUÔUÐUÐUÕUÔUÐ4ÑUÔUÕUÔUÐ?ÑUÔUÐUÕUÔUÑUÔUÐUÐUÕUÔUÅÑUÔUÐUÕUÔUÅÑUÔUÐUÐUÕUÔUÐDÑUÔUÕUÔUÐEÑUÔUÕUÔUÈÑUÔUÐUÐUÑUÐUÐUÐUÐUÐUÑUÐUÕUÕUÔUÐUÑUÔUÑUÔUÐUÐUÐUÐUÐUÐUÐUÐUÐUÐUÐUÐUÐUÐUÐUÐUÐUÝˆu‰:Œ:Ð˜Ðˆ:˜Š?ÐÐÐÕÔÐÐÐÐˆ:˜ÐÑÔÐÕÔÑÔÐÐÕÔ�3ÑÔÐÕÔ�3ÑÔÐÐÐÕÔÑÔÐÐÕÔˆuÑÔÐÕÔˆuÑÔÐÐÕÔˆ:ÑÔÕÔ˜ÑÔÐÐÑÐÐÐÐÐÑÐÕÕÔÐÑÔÑÔÐÐÐÐÐÐÐÐÐr   )é‘  é“  é­  éô  i÷  i.  r   Únetworkúinvalid-jsonÚemptyÚblankÚmissingú
non-stringú
non-objectú
bad-resultúenvelope-errorrA   r<   r©   Úfailurec                 óÀ  ‡‡— ˆˆfd„}t          | |¦  «        }|                     t          j        ¦  «         t	          j        t          ¦  «        5 }t          j        t          ‰¦  «         
                    t          ¦  «        ¦  «         d d d ¦  «         n# 1 swxY w Y   |j        }t          |¦  «        }d}	||	k    }
|
�st          j        d|
fd||	f¦  «        dt!          j        ¦   «         v st          j        t          ¦  «        rt          j        t          ¦  «        nddt!          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        t          j        |¦  «        t          j        |	¦  «        dœz  }dd	|iz  }t)          t          j        |¦  «        ¦  «        ‚d x}x}x}
}	t-          |¦  «        }d
}||k    }|sòt          j        d|fd||f¦  «        dt!          j        ¦   «         v st          j        t,          ¦  «        rt          j        t,          ¦  «        nddt!          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t)          t          j        |¦  «        ¦  «        ‚d x}x}}g }d}|j        }
||
v }|}|rd}|j        }||v }|}|�s~t          j        d|fd||
f¦  «        t          j        |¦  «        dt!          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |
¦  «        dœz  }dd|iz  }|                     |¦  «         |ržt          j        d|fd||f¦  «        t          j        |¦  «        dt!          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        dœz  }dd|iz  }|                     |¦  «         t          j        |d¦  «        i z  }dd|iz  }t)          t          j        |¦  «        ¦  «        ‚d x}x}x}x}x}
x}x}}t5          ‰t6          ¦  «        rd n‰d!k    rd!n	‰d"k    rd"nd#}d$}||z   }|j        }
||
v }|sèt          j        d|fd%||
f¦  «        t          j        |¦  «        d&t!          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nd&dt!          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |
¦  «        d'œz  }d(d|iz  }t)          t          j        |¦  «        ¦  «        ‚d x}x}x}}
t8          d)t;          j        t          ¦  «                             ¦   «         d*fD ]è}|j        }||v}|sÕt          j        d+|fd,||f¦  «        d-t!          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nd-dt!          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        d.œz  }d/d0|iz  }t)          t          j        |¦  «        ¦  «        ‚d x}}Œéd S )1Nc                 ó  •— ‰dv r3‰dk    rt           j        nt           j        } |t          dz   | ¬¦  «        ‚t	          ‰t
          ¦  «        r!t          j        ‰t          dz   ddi¬¦  «        S ‰dk    rt          j        d	t          ¬
¦  «        S dddddœ                     ‰¦  «        i}‰dk    ri }‰dk    rg }‰dk    r6d|g dœ}‰dk    rd |d<   ‰dk    r|                     ddt          ig¬¦  «         t          j        d	|¬¦  «        S )N)r   r¶   r   z public-audio-marker!©r   ÚLocationzhttps://untrusted.example/)rg   ro   r·   rd   ©rg   rg   Ú z 
 é*   )r¸   r¹   r»   rº   r¼   r<   T)ri   rk   rj   r½   rk   r¾   FÚmessage)ri   rj   rl   )	r/   ÚReadTimeoutÚConnectErrorr@   Ú
isinstanceÚintrt   ÚgetÚupdate)r   ÚerrorrY   r¿   rA   s      €€r   r   z:test_safe_failures_no_retry_or_secret_logs.<locals>.handle]   sX  ø€ ØÐ,Ð,Ð,Ø)0°IÒ)=Ð)=•EÔ%Ð%Å5ÔCUˆEØ�%�Ð5Ñ5¸wÐGÑGÔGÐGÝ�g�sÑ#Ô#ð 	VÝ”> 'µÐ6MÑ0MØ+5Ð7SÐ*TðVñ Vô Vð Và�nÒ$Ð$Ý”> #­CÐ0Ñ0Ô0Ð0Ø R°)È2ÐNÐN×RÒRÐSZÑ[Ô[Ð\ˆØ�iÒÐØˆGØ�lÒ"Ð"ØˆGØ�<ÒÐØ"&°'ÀRÐHÐHˆGØ˜,Ò&Ð&Ø$(�˜Ñ!ØÐ*Ò*Ð*Ø—’ u°yÅ#Ð6FÐ5G�ÑHÔHÐHÝŒ~˜c¨Ð0Ñ0Ô0Ð0r   úTranscription failedr   )zK%(py5)s
{%(py5)s = %(py0)s(%(py3)s
{%(py3)s = %(py1)s.value
})
} == %(py8)srF   Úexcr›   rœ   r‡   r‰   rŠ   r‹   r   rŒ   rP   rH   zSTT provider=zrequest_seconds=r�   )z,%(py3)s in %(py7)s
{%(py7)s = %(py5)s.text
}Úcaplog©r"   r$   r\   ú%(py9)srI   )z0%(py12)s in %(py16)s
{%(py16)s = %(py14)s.text
})rJ   r¥   Úpy16ú%(py18)srª   r   zassert %(py21)sÚpy21Úhttp_statusr   r¶   Úinvalid_responsezoutcome=)z8(%(py1)s + %(py2)s) in %(py7)s
{%(py7)s = %(py5)s.text
}Úexpected)rG   r[   r$   r\   úassert %(py9)szpublic-audio-marker!ÚAuthorizationr¡   )z0%(py0)s not in %(py4)s
{%(py4)s = %(py2)s.text
}ÚprivaterŸ   rT   rU   ) r:   Ú	set_levelÚloggingÚDEBUGÚpytestÚraisesr   r…   r�   rC   rb   rZ   ÚvaluerF   r'   r(   r)   r*   r+   r,   r-   r.   r‹   rg   r   Ú_format_booloprÊ   rË   r@   rX   Ú	b64encodeÚdecode)r9   rÑ   rA   r¿   r   r   rÐ   r1   ru   rv   rx   r~   ry   r•   r}   r2   r{   r“   Ú@py_assert15Ú@py_assert13r–   Ú@py_format10Ú@py_format17r¯   Ú@py_format20Ú@py_format22rÙ   r|   rÜ   r   s     ``                          r   Ú*test_safe_failures_no_retry_or_secret_logsrì   Z   sæ  øø€ ð1ð 1ð 1ð 1ð 1ð 1õ, �k 6Ñ*Ô*€EØ
×Ò•W”]Ñ#Ô#Ð#Ý	ŒÕ)Ñ	*Ô	*ð 9¨cÝŒ•M $Ñ'Ô'×2Ò2µ3Ñ7Ô7Ñ8Ô8Ð8ð9ð 9ð 9ñ 9ô 9ð 9ð 9ð 9ð 9ð 9ð 9øøøð 9ð 9ð 9ð 9àŒyÐ3�3ˆy‰>Œ>Ð3Ð3Ð3ˆ>Ð3Ò3Ð3Ð3Ñ3Õ3Ô3Ð3Ð3Ð3Ð3ˆ>Ð3Ð3Ñ3Ô3Ð3Õ3Ô3Ñ3Ô3Ð3Ð3Õ3Ô3�3Ñ3Ô3Ð3Õ3Ô3�3Ñ3Ô3Ð3Ð3Ð3Õ3Ô3Ñ3Ô3Ð3Ð3Õ3Ô3ˆsÑ3Ô3Ð3Õ3Ô3ˆsÑ3Ô3Ð3Ð3Õ3Ô3ˆyÑ3Ô3Õ3Ô3ˆ>Ñ3Ô3Õ3Ô3Ð3Ñ3Ô3Ð3Ð3Ñ3Ð3Ð3Ð3Ð3Ð3Ñ3Ð3Õ3Õ3Ô3Ð3Ñ3Ô3Ñ3Ô3Ð3Ð3Ð3Ð3Ð3Ð3Ð3Ð3Ð3Ýˆu‰:Œ:Ð˜Ðˆ:˜Š?ÐÐÐÕÔÐÐÐÐˆ:˜ÐÑÔÐÕÔÑÔÐÐÕÔ�3ÑÔÐÕÔ�3ÑÔÐÐÐÕÔÑÔÐÐÕÔˆuÑÔÐÕÔˆuÑÔÐÐÕÔˆ:ÑÔÕÔ˜ÑÔÐÐÑÐÐÐÐÐÑÐÕÕÔÐÑÔÑÔÐÐÐÐÐÐÐØOÐOˆ?ÐO˜fœkÐOˆ?˜kÐ)ÐOÐOÐOÐOÐOÐ.@ÐOÀFÄKÐOÐ.@ÀKÐ.OÐOÐOÐOÐOÑOÕOÔOÐOÐOÐOÐOˆ?˜kÐOÑOÔOÕOÔOˆ?ÑOÔOÐOÕOÔOÑOÔOÐOÐOÕOÔO˜fÑOÔOÐOÕOÔO˜fÑOÔOÐOÐOÕOÔO˜kÑOÔOÐOÐOÑOÐOÐOÐOÐOÐOÑOÐOÐO×OÒOÐOÑOÔOÐOÐOÐOÕOÔOÐOÐOÐOÐOÐ.@ÀKÐOÑOÔOÕOÔOÐ.@ÑOÔOÐOÕOÔOÑOÔOÐOÐOÕOÔOÀFÑOÔOÐOÕOÔOÀFÑOÔOÐOÐOÕOÔOÀKÑOÔOÐOÐOÑOÐOÐOÐOÐOÐOÑOÐOÐO×OÒOÐOÑOÔOÐOÕOÔOÐOÐOÑOÔOÐOÑOÐOÐOÐOÐOÐOÑOÐOÕOÕOÔOÐOÑOÔOÑOÔOÐOÐOÐOÐOÐOÐOÐOÐOÐOÐOÐOÐOÐOÐOÐOÐOÐOÝ!+¨GµSÑ!9Ô!9ð J��Ø$¨	Ò1Ð1�	�	Ø$¨	Ò1Ð1�	�	Ð7Ið ð Ð/ˆ:˜Ñ Ð/ F¤KÐ/Ð  KÐ/Ð/Ð/Ð/Õ/Ô/Ð/Ð/Ð/Ð/Ð  KÐ/Ñ/Ô/Õ/Ô/ˆ:Ñ/Ô/Ð/Õ/Ô/Ñ/Ô/Ð/Ð/Õ/Ô/˜Ñ/Ô/Ð/Õ/Ô/˜Ñ/Ô/Ð/Ð/Ð/Õ/Ô/Ñ/Ô/Ð/Ð/Õ/Ô/ FÑ/Ô/Ð/Õ/Ô/ FÑ/Ô/Ð/Ð/Õ/Ô/ KÑ/Ô/Ð/Ð/Ñ/Ð/Ð/Ð/Ð/Ð/Ñ/Ð/Õ/Õ/Ô/Ð/Ñ/Ô/Ñ/Ô/Ð/Ð/Ð/Ð/Ð/Ð/Ð/Ð/Ð/ÝÐ/µÔ1AÅ#Ñ1FÔ1F×1MÒ1MÑ1OÔ1OÐQ`Ðað *ð *ˆØ$œkÐ)ˆw˜kÐ)Ð)Ð)Ð)Õ)Ô)Ð)Ð)Ð)Ð)ˆw˜kÐ)Ñ)Ô)Ð)Õ)Ô)Ñ)Ô)Ð)Ð)Õ)Ô)ˆwÑ)Ô)Ð)Õ)Ô)ˆwÑ)Ô)Ð)Ð)Ð)Õ)Ô)Ñ)Ô)Ð)Ð)Õ)Ô)˜fÑ)Ô)Ð)Õ)Ô)˜fÑ)Ô)Ð)Ð)Õ)Ô)˜kÑ)Ô)Ð)Ð)Ñ)Ð)Ð)Ð)Ð)Ð)Ñ)Ð)Õ)Õ)Ô)Ð)Ñ)Ô)Ñ)Ô)Ð)Ð)Ð)Ð)Ð)Ð)ð*ð *s   Á:BÂBÂB)r²   r³   r´   rµ   r   r¸   c                 óp   ‡— ˆfd„}t          | |¦  «         d„ }t          j         |¦   «         ¦  «         d S )Nc                 ó¾   •— ‰dk    rt          j        t          | ¬¦  «        ‚‰dk    rt          j        ddddidœ¬	¦  «        S t          j        ‰t          ¬
¦  «        S )Nr   rÂ   r¸   rd   Trg   rÅ   )ri   rk   rl   rÄ   )r/   rÈ   r@   rt   )r   r¿   s    €r   r   z?test_cloudflare_failure_never_sends_agent_input.<locals>.handle„   sf   ø€ Ø�iÒÐÝÔ#¥C°Ð9Ñ9Ô9Ð9Ø�gÒÐÝ”> #¸ÈÐQSÈÐ,UÐ,UÐVÑVÔVÐVÝŒ~˜g­CÐ0Ñ0Ô0Ð0r   c               “   ób	  ‡‡‡K  — g g cŠŠˆfd„} ˆfd„Št          t          d¦  «        d„ ˆfd„| d„ d„ ¦  «        }t          dd	¬
¦  «        }t          dddddddt	          ddz  ¦  «        d	¬¦	  «	        }||j        d	<   	 |                     ||¦  «        ƒ d {V —† ‰d         d         }d}||k    }|slt          j        d|fd||f¦  «        t          j	        |¦  «        t          j	        |¦  «        dœz  }dd|iz  }t          t          j        |¦  «        ¦  «        ‚d x}x}}‰d         d         }d}||k    }|slt          j        d|fd||f¦  «        t          j	        |¦  «        t          j	        |¦  «        dœz  }dd|iz  }t          t          j        |¦  «        ¦  «        ‚d x}x}}‰d         d         }d}||k    }|slt          j        d|fd||f¦  «        t          j	        |¦  «        t          j	        |¦  «        dœz  }dd|iz  }t          t          j        |¦  «        ¦  «        ‚d x}x}}|                     |d dd!d"œ¦  «        ƒ d {V —† g }	g }
‰|
k    }|}|r|j        }d#}||k    }|}|r|j        }| }|}|�sÚt          j        d|fd$‰|
f¦  «        d%t          j        ¦   «         v st          j        ‰¦  «        rt          j	        ‰¦  «        nd%t          j	        |
¦  «        d&œz  }d'd(|iz  }|	                     |¦  «         |�rt          j        d|fd)||f¦  «        d*t          j        ¦   «         v st          j        |¦  «        rt          j	        |¦  «        nd*t          j	        |¦  «        t          j	        |¦  «        d+œz  }d,d-|iz  }|	                     |¦  «         |rld.d*t          j        ¦   «         v st          j        |¦  «        rt          j	        |¦  «        nd*t          j	        |¦  «        d/œz  }|	                     |¦  «         t          j        |	d0¦  «        i z  }d1d2|iz  }t          t          j        |¦  «        ¦  «        ‚d x}x}	x}x}
x}x}x}x}}|                     ¦   «         ƒ d {V —† d S # |                     ¦   «         ƒ d {V —† w xY w)3Nc              “   ó6   •K  — ‰                      |¦  «         d S r   r   )ÚdevicerÇ   Úsents     €r   ÚsendzOtest_cloudflare_failure_never_sends_agent_input.<locals>.exercise.<locals>.send�   s   øè è € ¨¯ª°WÑ)=Ô)=Ð)=Ð)=Ð)=r   c               —   ó6   •K  — ‰                      | ¦  «         d S r   r   )ÚargsÚinputss    €r   Ú
send_inputzUtest_cloudflare_failure_never_sends_agent_input.<locals>.exercise.<locals>.send_input�   s   øè è €  V§]¢]°4Ñ%8Ô%8Ð%8Ð%8Ð%8r   r<   c                 ó   — dS ©Nú
agent:pi:sr&   ©Ú_s    r   ú<lambda>zStest_cloudflare_failure_never_sends_agent_input.<locals>.exercise.<locals>.<lambda>‘   s   € Àl€ r   c                 ó$   •— t          ‰¬¦  «        S )N)r÷   r   )rü   r÷   s    €r   rý   zStest_cloudflare_failure_never_sends_agent_input.<locals>.exercise.<locals>.<lambda>’   s   ø€ •o°Ð<Ñ<Ô<€ r   c                 ó   — dS ©NTr&   rû   s    r   rý   zStest_cloudflare_failure_never_sends_agent_input.<locals>.exercise.<locals>.<lambda>’   s   € Èd€ r   c                  ó   — dS ©NFr&   r&   r   r   rý   zStest_cloudflare_failure_never_sends_agent_input.<locals>.exercise.<locals>.<lambda>’   s   € Ð\a€ r   ÚcÚd©Úconnection_idÚ	device_idÚvrú   ÚpiÚsÚsessionÚTRANSCRIBINGs     i:  )ÚstateÚpcmr  éÿÿÿÿÚtypeÚvoice_errorr   rR   rS   rT   rU   r  ÚFAILEDrÇ   rÏ   Úvoice_decisionró   ©r  Úvoice_idÚdecisionrÅ   )z%(py2)s == %(py5)srö   )r[   r$   z%(py7)sr\   )z5%(py11)s
{%(py11)s = %(py9)s.transcript
} == %(py14)sr   )rI   r]   r¥   z%(py16)srÔ   z'not %(py20)s
{%(py20)s = %(py18)s.pcm
})rª   r¬   r   zassert %(py24)sÚpy24)r	   rC   r   r
   Ú	bytearrayÚrequestsrb   r'   r(   r,   r-   r.   r   Ú
transcriptr  r)   r*   r+   r   rã   Úclose)ró   Úmanagerrñ   r   r{   r|   r1   r   r}   r2   ru   rw   rç   r�   Ú@py_assert19Ú@py_assert21r4   r–   r¨   ré   rë   Ú@py_format23Ú@py_format25rö   r÷   rò   s                          @@@r   ÚexercisezAtest_cloudflare_failure_never_sends_agent_input.<locals>.exercise�   s  øøøè è € Ø˜2ˆˆˆfØ=Ð=Ð=Ð=Ð=Ø8Ð8Ð8Ð8Ð8Ý�}¨\Ñ:Ô:Ð<RÐ<RØ<Ð<Ð<Ð<¸dÀNÀNÐTaÐTañcô cˆå ¨s¸cÐBÑBÔBˆÝ˜s C¨°t¸SÀ)Ø%3½À7ÈTÁ>Ñ9RÔ9RÐ^aðcñ cô cˆà 'ˆÔ˜Ñð	"Ø×$Ò$ V¨WÑ5Ô5Ð5Ð5Ð5Ð5Ð5Ð5Ð5Ø˜”8˜FÔ#Ð4 }Ð4Ð# }Ò4Ð4Ð4Ð4Õ4Ô4Ð4Ð4Ð4Ð4Ð# }Ð4Ñ4Ô4Õ4Ô4Ð#Ñ4Ô4Õ4Ô4 }Ñ4Ô4Ð4Ð4Ñ4Ð4Ð4Ð4Ð4Ð4Ñ4Ð4Õ4Õ4Ô4Ð4Ñ4Ô4Ñ4Ô4Ð4Ð4Ð4Ð4Ð4Ð4Ð4Ø˜”8˜GÔ$Ð0¨Ð0Ð$¨Ò0Ð0Ð0Ð0Õ0Ô0Ð0Ð0Ð0Ð0Ð$¨Ð0Ñ0Ô0Õ0Ô0Ð$Ñ0Ô0Õ0Ô0¨Ñ0Ô0Ð0Ð0Ñ0Ð0Ð0Ð0Ð0Ð0Ñ0Ð0Õ0Õ0Ô0Ð0Ñ0Ô0Ñ0Ô0Ð0Ð0Ð0Ð0Ð0Ð0Ð0Ø˜”8˜IÔ&Ð@Ð*@Ð@Ð&Ð*@Ò@Ð@Ð@Ð@Õ@Ô@Ð@Ð@Ð@Ð@Ð&Ð*@Ð@Ñ@Ô@Õ@Ô@Ð&Ñ@Ô@Õ@Ô@Ð*@Ñ@Ô@Ð@Ð@Ñ@Ð@Ð@Ð@Ð@Ð@Ñ@Ð@Õ@Õ@Ô@Ð@Ñ@Ô@Ñ@Ô@Ð@Ð@Ð@Ð@Ð@Ð@Ð@Ø—.’. Ð2BÐPSÐagÐ)hÐ)hÑiÔiÐiÐiÐiÐiÐiÐiÐiØPÐP˜RÐP�6˜R’<ÐPÐPÐPÐPÐP GÔ$6ÐP¸"ÐPÐ$6¸"Ò$<ÐPÐPÐPÐPÐPÀWÄ[ÐPÀ[ÀÐPÀÐPÐPÑPÕPÔPÐPÐPÐPÐP�6˜RÐPÑPÔPÐPÕPÔPÑPÔPÐPÐPÕPÔP�6ÑPÔPÐPÕPÔP�6ÑPÔPÐPÐPÕPÔP˜RÑPÔPÐPÐPÑPÐPÐPÐPÐPÐPÑPÐPÐP×PÒPÐPÑPÔPÐPÐPÑPÕPÔPÐPÐPÐPÐPÐ$6¸"ÐPÑPÔPÐPÕPÔPÑPÔPÐPÐPÕPÔP GÑPÔPÐPÕPÔP GÑPÔPÐPÐPÕPÔPÐ$6ÑPÔPÕPÔP¸"ÑPÔPÐPÐPÑPÐPÐPÐPÐPÐPÑPÐPÐP×PÒPÐPÑPÔPÐPÐPÐPÐPÐPÕPÔPÑPÔPÐPÐPÕPÔPÀWÑPÔPÐPÕPÔPÀWÑPÔPÐPÐPÕPÔPÀ[ÑPÔPÐPÐPÑPÐPÐP×PÒPÐPÑPÔPÐPÕPÔPÐPÐPÑPÔPÐPÑPÐPÐPÐPÐPÐPÑPÐPÕPÕPÔPÐPÑPÔPÑPÔPÐPÐPÐPÐPÐPÐPÐPÐPÐPÐPÐPÐPÐPÐPÐPÐPÐPÐPÐPà—-’-‘/”/Ð!Ð!Ð!Ð!Ð!Ð!Ð!Ð!Ð!ø�'—-’-‘/”/Ð!Ð!Ð!Ð!Ð!Ð!Ð!Ð!øøøs   Â O6R ÒR.)r:   r…   r�   )r9   r¿   r   r!  s    `  r   Ú/test_cloudflare_failure_never_sends_agent_inputr"  ‚   s[   ø€ ð1ð 1ð 1ð 1ð 1õ ˆk˜6Ñ"Ô"Ð"ð"ð "ð "õ( „K��‘
”
ÑÔÐÐÐr   c                 ó,  — d„ }t          | |¦  «        }t          j        t          j        ¦  «        5  t          j        t          d¦  «                             t          ¦  «        ¦  «         d d d ¦  «         n# 1 swxY w Y   t          |¦  «        }d}||k    }|sòt          j        d|fd||f¦  «        dt          j        ¦   «         v st          j        t          ¦  «        rt          j        t          ¦  «        nddt          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        t          j        |¦  «        dœz  }d	d
|iz  }t!          t          j        |¦  «        ¦  «        ‚d x}x}}d S )Nc                 ó(   — t          j        ¦   «         ‚r   )r…   ÚCancelledErrorrÂ   s    r   r   z,test_cancellation_propagates.<locals>.handle¥   s   € �wÔ5Ñ7Ô7Ð7r   r<   r‰   r   rŠ   r‹   r   rŒ   rP   rH   )r:   rà   rá   r…   r%  r�   rC   rb   rZ   r‹   r'   r(   r)   r*   r+   r,   r-   r.   )r9   r   r   r1   r•   ru   r}   r~   s           r   Útest_cancellation_propagatesr&  ¤   sÙ  € Ø7Ð7Ð7Ý�k 6Ñ*Ô*€EÝ	Œ•wÔ-Ñ	.Ô	.ð Að AÝŒ•M ,Ñ/Ô/×:Ò:½3Ñ?Ô?Ñ@Ô@Ð@ðAð Að Añ Aô Að Að Að Að Að Að Aøøøð Að Að Að Aåˆu‰:Œ:Ð˜Ðˆ:˜Š?ÐÐÐÕÔÐÐÐÐˆ:˜ÐÑÔÐÕÔÑÔÐÐÕÔ�3ÑÔÐÕÔ�3ÑÔÐÐÐÕÔÑÔÐÐÕÔˆuÑÔÐÕÔˆuÑÔÐÐÕÔˆ:ÑÔÕÔ˜ÑÔÐÐÑÐÐÐÐÐÑÐÕÕÔÐÑÔÑÔÐÐÐÐÐÐÐÐÐs   ²:A8Á8A<Á?A<c                  óÎ  — t          j        t          j        ddgddd¬¦  «        } d}| j        }||v }|sªt          j        d|fd||f¦  «        t          j        |¦  «        dt          j	        ¦   «         v st          j
        | ¦  «        rt          j        | ¦  «        ndt          j        |¦  «        d	œz  }d
d|iz  }t          t          j        |¦  «        ¦  «        ‚d x}x}}d S )Nz-czÇ
from logging.config import dictConfig
from uvicorn.config import LOGGING_CONFIG
from device_gateway.voice import logger
dictConfig(LOGGING_CONFIG)
logger.info('[VOICE_RX] production-logging-probe')
T)Úcapture_outputrg   Úcheckz#[VOICE_RX] production-logging-prober�   )z.%(py1)s in %(py5)s
{%(py5)s = %(py3)s.stderr
}rk   r    r�   r\   )Ú
subprocessr�   ÚsysÚ
executableÚstderrr'   r(   r,   r)   r*   r+   r-   r.   )rk   r{   ru   r1   r4   r–   s         r   Ú>test_voice_diagnostics_visible_with_production_uvicorn_loggingr.  ¬   s  € åŒ^�Sœ^¨Tð 4ð ð  ¨Dð2ñ 2ô 2€Fð 1ÐA°F´MÐAÐ0°MÐAÐAÐAÐAÕAÔAÐAÐAÐAÐAÐ0°MÐAÑAÔAÕAÔAÐ0ÑAÔAÐAÕAÔAÑAÔAÐAÐAÕAÔA°FÑAÔAÐAÕAÔA°FÑAÔAÐAÐAÕAÔA°MÑAÔAÐAÐAÑAÐAÐAÐAÐAÐAÑAÐAÕAÕAÔAÐAÑAÔAÑAÔAÐAÐAÐAÐAÐAÐAÐAÐAÐAr   c                 ó.  — dd l }t          |j        ¦  «        D ]2}|                     d¦  «        s|dk    r|                      |¦  «         Œ3|                      dt          ¦  «         t          ¦   «         }d }||u }|s´t          j	        d|fd||f¦  «        dt          j        ¦   «         v st          j        t          ¦  «        rt          j        t          ¦  «        ndt          j        |¦  «        t          j        |¦  «        dœz  }dd	|iz  }t          t          j        |¦  «        ¦  «        ‚d x}x}}|                      d
d¦  «         t          ¦   «         }d }||u }|s´t          j	        d|fd||f¦  «        dt          j        ¦   «         v st          j        t          ¦  «        rt          j        t          ¦  «        ndt          j        |¦  «        t          j        |¦  «        dœz  }dd	|iz  }t          t          j        |¦  «        ¦  «        ‚d x}x}}|                      dd¦  «         t          ¦   «         }d }||u }|s´t          j	        d|fd||f¦  «        dt          j        ¦   «         v st          j        t          ¦  «        rt          j        t          ¦  «        ndt          j        |¦  «        t          j        |¦  «        dœz  }dd	|iz  }t          t          j        |¦  «        ¦  «        ‚d x}x}}|                      dt          ¦  «         t          ¦   «         }t!          |t"          ¦  «        }|�sddt          j        ¦   «         v st          j        t           ¦  «        rt          j        t           ¦  «        nddt          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nddt          j        ¦   «         v st          j        t"          ¦  «        rt          j        t"          ¦  «        ndt          j        |¦  «        dœz  }	t          t          j        |	¦  «        ¦  «        ‚d }g }|j        }|t&          k    }
|
}|
r|j        }d }||u }|}|�s¸t          j	        d|
fd|t&          f¦  «        dt          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        dt          j        ¦   «         v st          j        t&          ¦  «        rt          j        t&          ¦  «        nddœz  }dd|iz  }|                     |¦  «         |
ržt          j	        d|fd||f¦  «        dt          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }|                     |¦  «         t          j        |d¦  «        i z  }dd|iz  }t          t          j        |¦  «        ¦  «        ‚d x}x}x}x}
x}x}}|                      d
d ¦  «         |                      d!d"¦  «         |                      d#d$¦  «         t          ¦   «         }g }t!          |t.          ¦  «        }
|
}|
r|j        }|t          k    }|}|�sd%dt          j        ¦   «         v st          j        t           ¦  «        rt          j        t           ¦  «        nddt          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndd&t          j        ¦   «         v st          j        t.          ¦  «        rt          j        t.          ¦  «        nd&t          j        |
¦  «        d'œz  }|                     |¦  «         |
rØt          j	        d|fd(|t          f¦  «        dt          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        d)t          j        ¦   «         v st          j        t          ¦  «        rt          j        t          ¦  «        nd)d*œz  }d+d,|iz  }|                     |¦  «         t          j        |d¦  «        i z  }d-d|iz  }t          t          j        |¦  «        ¦  «        ‚d x}x}x}
x}}|                      d!d.¦  «         t          ¦   «         }d }||u }|s´t          j	        d|fd||f¦  «        dt          j        ¦   «         v st          j        t          ¦  «        rt          j        t          ¦  «        ndt          j        |¦  «        t          j        |¦  «        dœz  }dd	|iz  }t          t          j        |¦  «        ¦  «        ‚d x}x}}|                      d/d0¦  «         t          ¦   «         }t!          |t.          ¦  «        }
|
�s%d1dt          j        ¦   «         v st          j        t           ¦  «        rt          j        t           ¦  «        nddt          j        ¦   «         v st          j        t          ¦  «        rt          j        t          ¦  «        ndt          j        |¦  «        d&t          j        ¦   «         v st          j        t.          ¦  «        rt          j        t.          ¦  «        nd&t          j        |
¦  «        d2œz  }t          t          j        |¦  «        ¦  «        ‚d x}}
|                      d3d4¦  «         t          ¦   «         }|j        }d4}||k    }
|
sÇt          j	        d|
fd5||f¦  «        dt          j        ¦   «         v st          j        t          ¦  «        rt          j        t          ¦  «        ndt          j        |¦  «        t          j        |¦  «        t          j        |¦  «        d6œz  }d7d8|iz  }t          t          j        |¦  «        ¦  «        ‚d x}x}x}
}|                      d
d9¦  «         t          ¦   «         }d }||u }|s´t          j	        d|fd||f¦  «        dt          j        ¦   «         v st          j        t          ¦  «        rt          j        t          ¦  «        ndt          j        |¦  «        t          j        |¦  «        dœz  }dd	|iz  }t          t          j        |¦  «        ¦  «        ‚d x}x}}d S ):Nr   )ÚGATEWAY_STT_ÚGATEWAY_CF_ÚGROQ_API_KEY)Úis)z)%(py2)s
{%(py2)s = %(py0)s()
} is %(py5)sr   rŽ   r�   r\   ÚGATEWAY_STT_PROVIDERzcloudflare-workers-aiÚGATEWAY_CF_ACCOUNT_IDr=   ÚGATEWAY_CF_API_TOKENz5assert %(py4)s
{%(py4)s = %(py0)s(%(py1)s, %(py2)s)
}rÊ   r†   r   )r!   rG   r[   rO   r   )z-%(py4)s
{%(py4)s = %(py2)s.model
} == %(py6)sr   )r[   rO   rU   z%(py8)srH   )z:%(py12)s
{%(py12)s = %(py10)s.initial_prompt
} is %(py15)s)r‡   rJ   r_   z%(py17)sra   r«   r¬   zopenai-compatibleÚGATEWAY_STT_BASE_URLzhttps://api.groq.com/openai/v1ÚGATEWAY_STT_MODELr?   z.%(py6)s
{%(py6)s = %(py2)s(%(py3)s, %(py4)s)
}r   )r[   r"   rO   rU   )z2%(py10)s
{%(py10)s = %(py8)s.api_key
} == %(py12)sr@   )rH   r‡   rJ   z%(py14)sr¥   r`   z#https://another-provider.example/v1ÚGATEWAY_STT_API_KEYzother-authorized-keyzLassert %(py6)s
{%(py6)s = %(py0)s(%(py3)s
{%(py3)s = %(py1)s()
}, %(py4)s)
})r!   rG   r"   rO   rU   ÚGATEWAY_STT_INITIAL_PROMPTr˜   )zM%(py4)s
{%(py4)s = %(py2)s
{%(py2)s = %(py0)s()
}.initial_prompt
} == %(py7)s)r!   r[   rO   r\   rÚ   rI   Úunknown)ÚosÚlistÚenvironr§   ÚdelenvÚsetenvr@   r   r'   r(   r)   r*   r+   r,   r-   r.   rÊ   r   Úmodelr   r>   r   rã   r   Úapi_key)r9   r<  Úkeyr2   ru   r|   r4   r–   r†   r   r•   r{   r“   r‚   rç   r}   r~   rƒ   r„   r¯   r°   r’   rz   r¨   r1   rx   rè   s                              r   Ú*test_configuration_is_explicit_no_fallbackrD  ¸   s¼  € Ø€I€I€IÝ�B”JÑÔð $ð $ˆØ�>Š>Ð9Ñ:Ô:ð 	$¸cÀ^Ò>SÐ>SØ×Ò˜sÑ#Ô#Ð#øØ×Ò�~¥sÑ+Ô+Ð+ÝÑÔÐ#˜tÐ#Ð˜tÐ#Ð#Ð#Ð#Õ#Ô#Ð#Ð#Ð#Ð#Ð˜tÐ#Ñ#Ô#Ð#Õ#Ô#Ñ#Ô#Ð#Ð#Õ#Ô#�>Ñ#Ô#Ð#Õ#Ô#�>Ñ#Ô#Ð#Ð#Õ#Ô#ÐÑ#Ô#Õ#Ô#˜tÑ#Ô#Ð#Ð#Ñ#Ð#Ð#Ð#Ð#Ð#Ñ#Ð#Õ#Õ#Ô#Ð#Ñ#Ô#Ñ#Ô#Ð#Ð#Ð#Ð#Ð#Ð#Ð#Ø×ÒÐ-Ð/FÑGÔGÐGÝÑÔÐ#˜tÐ#Ð˜tÐ#Ð#Ð#Ð#Õ#Ô#Ð#Ð#Ð#Ð#Ð˜tÐ#Ñ#Ô#Ð#Õ#Ô#Ñ#Ô#Ð#Ð#Õ#Ô#�>Ñ#Ô#Ð#Õ#Ô#�>Ñ#Ô#Ð#Ð#Õ#Ô#ÐÑ#Ô#Õ#Ô#˜tÑ#Ô#Ð#Ð#Ñ#Ð#Ð#Ð#Ð#Ð#Ñ#Ð#Õ#Õ#Ô#Ð#Ñ#Ô#Ñ#Ô#Ð#Ð#Ð#Ð#Ð#Ð#Ð#Ø×ÒÐ.°Ñ?Ô?Ð?ÝÑÔÐ#˜tÐ#Ð˜tÐ#Ð#Ð#Ð#Õ#Ô#Ð#Ð#Ð#Ð#Ð˜tÐ#Ñ#Ô#Ð#Õ#Ô#Ñ#Ô#Ð#Ð#Õ#Ô#�>Ñ#Ô#Ð#Õ#Ô#�>Ñ#Ô#Ð#Ð#Õ#Ô#ÐÑ#Ô#Õ#Ô#˜tÑ#Ô#Ð#Ð#Ñ#Ð#Ð#Ð#Ð#Ð#Ñ#Ð#Õ#Õ#Ô#Ð#Ñ#Ô#Ñ#Ô#Ð#Ð#Ð#Ð#Ð#Ð#Ð#Ø×ÒÐ-­sÑ3Ô3Ð3ÝÑÔ€HÝ�hÕ >Ñ?Ô?Ð?Ð?Ñ?Ð?Ð?Õ?Ô?Ñ?Ô?Ð?Ð?Õ?Ô?�:Ñ?Ô?Ð?Õ?Ô?�:Ñ?Ô?Ð?Ð?Ð?Õ?Ô?Ñ?Ô?Ð?Ð?Õ?Ô?�hÑ?Ô?Ð?Õ?Ô?�hÑ?Ô?Ð?Ð?Ð?Õ?Ô?Ñ?Ô?Ð?Ð?Õ?Ô?Õ >Ñ?Ô?Ð?Õ?Ô?Õ >Ñ?Ô?Ð?Ð?Õ?Ô?Ð?Ñ?Ô?Ð?Ð?Ñ?Ð?Õ?Õ?Ô?Ð?Ñ?Ô?Ñ?Ô?Ð?Ð?Ð?ØMÐMˆ8Œ>ÐMˆ>�\Ò)ÐMÐMÐMÐMÐM¨hÔ.EÐMÈÐMÐ.EÈÐ.MÐMÐMÐMÐMÑMÕMÔMÐMÐMÐMÐMˆ>�\ÐMÑMÔMÐMÕMÔMÑMÔMÐMÐMÕMÔMˆ8ÑMÔMÐMÕMÔMˆ8ÑMÔMÐMÐMÕMÔMˆ>ÑMÔMÐMÕMÔMÑMÔMÐMÐMÕMÔM�\ÑMÔMÐMÕMÔM�\ÑMÔMÐMÐMÐMÐMÑMÐMÐMÐMÐMÐMÑMÐMÐM×MÒMÐMÑMÔMÐMÐMÐMÕMÔMÐMÐMÐMÐMÐ.EÈÐMÑMÔMÐMÕMÔMÑMÔMÐMÐMÕMÔM¨hÑMÔMÐMÕMÔM¨hÑMÔMÐMÐMÕMÔMÐ.EÑMÔMÕMÔMÈÑMÔMÐMÐMÑMÐMÐMÐMÐMÐMÑMÐMÐM×MÒMÐMÑMÔMÐMÕMÔMÐMÐMÑMÔMÐMÑMÐMÐMÐMÐMÐMÑMÐMÕMÕMÔMÐMÑMÔMÑMÔMÐMÐMÐMÐMÐMÐMÐMÐMÐMÐMÐMÐMÐMÐMÐMØ×ÒÐ-Ð/BÑCÔCÐCØ×ÒÐ-Ð/OÑPÔPÐPØ×ÒÐ*Ð,DÑEÔEÐEÝÑÔ€HØPÐP�:�hÕ 3Ñ4Ô4ÐPÐ4ÐPÐ4ÐP¸Ô9IÐPÐ9IÍSÒ9PÐPÐPÐPÐPÑPÐPÐPÕPÔPÑPÔPÐPÐPÕPÔP�:ÑPÔPÐPÕPÔP�:ÑPÔPÐPÐPÐPÕPÔPÑPÔPÐPÐPÕPÔP�hÑPÔPÐPÕPÔP�hÑPÔPÐPÐPÐPÕPÔPÑPÔPÐPÐPÕPÔPÕ 3ÑPÔPÐPÕPÔPÕ 3ÑPÔPÐPÐPÕPÔPÐ4ÑPÔPÐPÐPÑPÐPÐP×PÒPÐPÑPÔPÐPÐ4ÐPÕPÔPÐPÐPÐPÐPÐ9IÍSÐPÑPÔPÐPÕPÔPÑPÔPÐPÐPÕPÔP¸ÑPÔPÐPÕPÔP¸ÑPÔPÐPÐPÕPÔPÐ9IÑPÔPÐPÕPÔPÑPÔPÐPÐPÕPÔPÍSÑPÔPÐPÕPÔPÍSÑPÔPÐPÐPÐPÐPÑPÐPÐPÐPÐPÐPÑPÐPÐP×PÒPÐPÑPÔPÐPÕPÔPÐPÐPÑPÔPÐPÑPÐPÐPÐPÐPÐPÑPÐPÕPÕPÔPÐPÑPÔPÑPÔPÐPÐPÐPÐPÐPÐPÐPÐPÐPÐPÐPØ×ÒÐ-Ð/TÑUÔUÐUÝÑÔÐ#˜tÐ#Ð˜tÐ#Ð#Ð#Ð#Õ#Ô#Ð#Ð#Ð#Ð#Ð˜tÐ#Ñ#Ô#Ð#Õ#Ô#Ñ#Ô#Ð#Ð#Õ#Ô#�>Ñ#Ô#Ð#Õ#Ô#�>Ñ#Ô#Ð#Ð#Õ#Ô#ÐÑ#Ô#Õ#Ô#˜tÑ#Ô#Ð#Ð#Ñ#Ð#Ð#Ð#Ð#Ð#Ñ#Ð#Õ#Õ#Ô#Ð#Ñ#Ô#Ñ#Ô#Ð#Ð#Ð#Ð#Ð#Ð#Ð#Ø×ÒÐ,Ð.DÑEÔEÐEÝ$Ñ&Ô&Ð<�:Ð&Õ(;Ñ<Ô<Ð<Ð<Ñ<Ð<Ð<Õ<Ô<Ñ<Ô<Ð<Ð<Õ<Ô<�:Ñ<Ô<Ð<Õ<Ô<�:Ñ<Ô<Ð<Ð<Ð<Õ<Ô<Ñ<Ô<Ð<Ð<Õ<Ô<•nÑ<Ô<Ð<Õ<Ô<•nÑ<Ô<Ð<Ð<Õ<Ô<Ð&Ñ<Ô<Ð<Õ<Ô<Ñ<Ô<Ð<Ð<Õ<Ô<Õ(;Ñ<Ô<Ð<Õ<Ô<Õ(;Ñ<Ô<Ð<Ð<Õ<Ô<Ð<Ñ<Ô<Ð<Ð<Ñ<Ð<Õ<Õ<Ô<Ð<Ñ<Ô<Ñ<Ô<Ð<Ð<Ð<Ð<Ð<Ø×ÒÐ3°_ÑEÔEÐEÝÑÔÐ=ÐÔ*Ð=¨oÐ=Ð*¨oÒ=Ð=Ð=Ð=Õ=Ô=Ð=Ð=Ð=Ð=Ð*¨oÐ=Ñ=Ô=Ð=Õ=Ô=Ñ=Ô=Ð=Ð=Õ=Ô=�>Ñ=Ô=Ð=Õ=Ô=�>Ñ=Ô=Ð=Ð=Õ=Ô=ÐÑ=Ô=Õ=Ô=Ð*Ñ=Ô=Õ=Ô=¨oÑ=Ô=Ð=Ð=Ñ=Ð=Ð=Ð=Ð=Ð=Ñ=Ð=Õ=Õ=Ô=Ð=Ñ=Ô=Ñ=Ô=Ð=Ð=Ð=Ð=Ð=Ð=Ð=Ð=Ð=Ø×ÒÐ-¨yÑ9Ô9Ð9ÝÑÔÐ#˜tÐ#Ð˜tÐ#Ð#Ð#Ð#Õ#Ô#Ð#Ð#Ð#Ð#Ð˜tÐ#Ñ#Ô#Ð#Õ#Ô#Ñ#Ô#Ð#Ð#Õ#Ô#�>Ñ#Ô#Ð#Õ#Ô#�>Ñ#Ô#Ð#Ð#Õ#Ô#ÐÑ#Ô#Õ#Ô#˜tÑ#Ô#Ð#Ð#Ñ#Ð#Ð#Ð#Ð#Ð#Ñ#Ð#Õ#Õ#Ô#Ð#Ñ#Ô#Ñ#Ô#Ð#Ð#Ð#Ð#Ð#Ð#Ð#Ð#Ð#r   c                  óD   — d„ } t          j         | ¦   «         ¦  «         dS )zIA weak link must resume, never duplicate or silently lose recorded audio.c            
   “   óÈ*  ‡<‡=‡>‡?K  — g Š?g Š< G ˆ<fd„d¦  «        } ˆ?fd„}d„ Š>d„ Š=t          dd¬¦  «        }t          d	d¬¦  «        }t           | ¦   «         d
„ ˆ=ˆ>fd„|d„ d„ ¦  «        }t          j        d¦  «                             ¦   «         }ˆ?fd„}	 |                     |t          ddddd¬¦  «        ¦  «        ƒ d {V —† |                     |t          ddd|¬¦  «        ¦  «        ƒ d {V —†  |d¦  «        d         d         }d}||k    }	|	slt          j        d|	fd||f¦  «        t          j	        |¦  «        t          j	        |¦  «        dœz  }
dd |
iz  }t          t          j        |¦  «        ¦  «        ‚d x}x}	} |d¦  «        d         d!         }d}||k    }	|	slt          j        d|	fd||f¦  «        t          j	        |¦  «        t          j	        |¦  «        dœz  }
dd |
iz  }t          t          j        |¦  «        ¦  «        ‚d x}x}	}|                     |t          ddd|¬¦  «        ¦  «        ƒ d {V —†  |d¦  «        d         d         }d"}||k    }	|	slt          j        d|	fd||f¦  «        t          j	        |¦  «        t          j	        |¦  «        dœz  }
dd |
iz  }t          t          j        |¦  «        ¦  «        ‚d x}x}	}|                     |t          ddd|¬¦  «        ¦  «        ƒ d {V —†  |d¦  «        d         d         }d"}||k    }	|	slt          j        d|	fd||f¦  «        t          j	        |¦  «        t          j	        |¦  «        dœz  }
dd |
iz  }t          t          j        |¦  «        ¦  «        ‚d x}x}	}g }|j        d         }	|	j        }d"}||k    }|}|r4|j        d         }|j        }t          |¦  «        }d"}d#}||z  }||k    }|}|�s–t          j        d|fd$||f¦  «        t          j	        |	¦  «        t          j	        |¦  «        t          j	        |¦  «        d%œz  }d&d'|iz  }|                     |¦  «         |rát          j        d|fd(||f¦  «        d)t#          j        ¦   «         v st          j        t          ¦  «        rt          j	        t          ¦  «        nd)t          j	        |¦  «        t          j	        |¦  «        t          j	        |¦  «        t          j	        |¦  «        t          j	        |¦  «        d*œz  }d+d,|iz  }|                     |¦  «         t          j        |d¦  «        i z  }d-d.|iz  }t          t          j        |¦  «        ¦  «        ‚d x}x}x}	x}x}x}x}x}x}x}x}x}}|j        d         j        }|                     |t          d/dd0¬1¦  «        ¦  «        ƒ d {V —† t-          j        d¦  «        ƒ d {V —† g }d}	|j        }|	|v }|}|r|j        d         }|j        }d"}||k    }|}|�sSt          j        d2|fd3|	|f¦  «        t          j	        |	¦  «        d4t#          j        ¦   «         v st          j        |¦  «        rt          j	        |¦  «        nd4t          j	        |¦  «        d5œz  } d6d7| iz  }!|                     |!¦  «         |rst          j        d|fd8||f¦  «        t          j	        |¦  «        t          j	        |¦  «        t          j	        |¦  «        d9œz  }"d:d;|"iz  }#|                     |#¦  «         t          j        |d¦  «        i z  }$d<d=|$iz  }%t          t          j        |%¦  «        ¦  «        ‚d x}x}x}	x}x}x}x}x}}|j        d         }|j        }t          |¦  «        }&d"}'d#}(|'|(z  })|&|)k    }|sít          j        d|fd>|&|)f¦  «        d)t#          j        ¦   «         v st          j        t          ¦  «        rt          j	        t          ¦  «        nd)t          j	        |¦  «        t          j	        |¦  «        t          j	        |&¦  «        t          j	        |'¦  «        t          j	        |(¦  «        d?œz  }*d@dA|*iz  }+t          t          j        |+¦  «        ¦  «        ‚d x}x}x}&x}x}'x}(})|j        d         }|j        }	|	|u}|sªt          j        dB|fdC|	|f¦  «        t          j	        |¦  «        t          j	        |	¦  «        dDt#          j        ¦   «         v st          j        |¦  «        rt          j	        |¦  «        ndDdEœz  },dFdG|,iz  } t          t          j        | ¦  «        ¦  «        ‚d x}x}	}|                     |t          ddd"|¬¦  «        ¦  «        ƒ d {V —†  |d¦  «        d         d         }dH}||k    }	|	slt          j        d|	fd||f¦  «        t          j	        |¦  «        t          j	        |¦  «        dœz  }
dd |
iz  }t          t          j        |¦  «        ¦  «        ‚d x}x}	}|                     |t          dddI|¬¦  «        ¦  «        ƒ d {V —† t-          j        d¦  «        ƒ d {V —† g }|j        }| }&|&}|&r! |dJ¦  «        d         dK         }dL}(||(k    }-|-}|�sdMd4t#          j        ¦   «         v st          j        |¦  «        rt          j	        |¦  «        nd4t          j	        |¦  «        dNœz  },|                     |,¦  «         |&r`t          j        d|-fdO||(f¦  «        t          j	        |¦  «        t          j	        |(¦  «        dPœz  }.dQdR|.iz  }/|                     |/¦  «         t          j        |d¦  «        i z  }+dSdT|+iz  }0t          t          j        |0¦  «        ¦  «        ‚d x}x}x}x}&x}x}-}(|                     |t          ddUddd¬¦  «        ¦  «        ƒ d {V —† |                     |t          ddUd|¬¦  «        ¦  «        ƒ d {V —† |                     |dV¬W¦  «         |j        d         }1g }|1j        }dX}||k    }&|&}|&r3|1j        })d}|)|k    }2|2}|2r |1j        }t          |¦  «        }d#}3||3k    }4|4}|�szt          j        d|&fdY||f¦  «        dZt#          j        ¦   «         v st          j        |1¦  «        rt          j	        |1¦  «        ndZt          j	        |¦  «        t          j	        |¦  «        d[œz  } d6d7| iz  }!|                     |!¦  «         |&�r™t          j        d|2fd\|)|f¦  «        dZt#          j        ¦   «         v st          j        |1¦  «        rt          j	        |1¦  «        ndZt          j	        |)¦  «        t          j	        |¦  «        d]œz  }0d^d_|0iz  }5|                     |5¦  «         |2rùt          j        d|4fd`||3f¦  «        d)t#          j        ¦   «         v st          j        t          ¦  «        rt          j	        t          ¦  «        nd)dZt#          j        ¦   «         v st          j        |1¦  «        rt          j	        |1¦  «        ndZt          j	        |¦  «        t          j	        |¦  «        t          j	        |3¦  «        daœz  }6dbdc|6iz  }7|                     |7¦  «         t          j        |d¦  «        i z  }8ddde|8iz  }9t          t          j        |9¦  «        ¦  «        ‚d x}x}x}x}&x}x})x}2x}x}x}x}4}3|                     |t          dfdU¬g¦  «        ¦  «        ƒ d {V —† g }|j        d         }	|	j        }dX}||k    }|}|r‰< }|}|�st          j        d|fdh||f¦  «        t          j	        |	¦  «        t          j	        |¦  «        t          j	        |¦  «        d%œz  }d&d'|iz  }|                     |¦  «         |rYdidjdkt#          j        ¦   «         v st          j        ‰<¦  «        rt          j	        ‰<¦  «        ndkiz  }/|                     |/¦  «         t          j        |d¦  «        i z  }+dSdT|+iz  }0t          t          j        |0¦  «        ¦  «        ‚d x}x}x}	x}x}x}}|                     |t          dldU¬g¦  «        ¦  «        ƒ d {V —†  |d¦  «        d         d         }d}||k    }	|	slt          j        d|	fd||f¦  «        t          j	        |¦  «        t          j	        |¦  «        dœz  }
dd |
iz  }t          t          j        |¦  «        ¦  «        ‚d x}x}	}|j        d         }|j        }	dm}&|	|&k    }|st          j        d|fdn|	|&f¦  «        t          j	        |¦  «        t          j	        |	¦  «        t          j	        |&¦  «        doœz  }dpdq|iz  }t          t          j        |¦  «        ¦  «        ‚d x}x}	x}}&|                     |t          ddUd|¬¦  «        ¦  «        ƒ d {V —† |                     |t          dfdUdr¬s¦  «        ¦  «        ƒ d {V —† t-          j        t7          |j        ¦  «        Ž ƒ d {V —† g }‰<}‰<r|j        d         }|j        }dt}-||-k    }'|'}|�sdudvdkt#          j        ¦   «         v st          j        ‰<¦  «        rt          j	        ‰<¦  «        ndkiz  }:|                     |:¦  «         ‰<rst          j        d|'fdw||-f¦  «        t          j	        |¦  «        t          j	        |¦  «        t          j	        |-¦  «        dxœz  }dydj|iz  }*|                     |*¦  «         t          j        |d¦  «        i z  }/dzd{|/iz  };t          t          j        |;¦  «        ¦  «        ‚d x}x}x}x}x}'}-|                     |t          dd|ddd¬¦  «        ¦  «        ƒ d {V —† |                     |t          dd|d|¬¦  «        ¦  «        ƒ d {V —† |                     |dV¬W¦  «         |                     ||j        d         ¦  «        ƒ d {V —† d}|j        }||v}	|	sªt          j        d}|	fd~||f¦  «        t          j	        |¦  «        d4t#          j        ¦   «         v st          j        |¦  «        rt          j	        |¦  «        nd4t          j	        |¦  «        dEœz  },dFdG|,iz  } t          t          j        | ¦  «        ¦  «        ‚d x}x}	}|                     ¦   «         ƒ d {V —† d S # |                     ¦   «         ƒ d {V —† w xY w)Nc                   ó   •— e Zd Zˆ fd„ZdS )úNtest_voice_ack_replay_resume_and_bounded_upload.<locals>.exercise.<locals>.STTc              “   óP   •K  — ‰                      t          |¦  «        ¦  «         dS )Nzresumed transcript)r   r‹   )ÚselfÚwavÚchunkeds     €r   rb   zYtest_voice_ack_replay_resume_and_bounded_upload.<locals>.exercise.<locals>.STT.transcribeÝ   s%   øè è € Ø—’�s 3™xœxÑ(Ô(Ð(Ø+Ð+r   N)Ú__name__Ú
__module__Ú__qualname__rb   )rL  s   €r   ÚSTTrH  Ü   s.   ø€ € € € € ð,ð ,ð ,ð ,ð ,ð ,ð ,r   rP  c              “   ó6   •K  — ‰                      |¦  «         d S r   r   )Ú_devicerÇ   rò   s     €r   ró   zOtest_voice_ack_replay_resume_and_bounded_upload.<locals>.exercise.<locals>.sendá   s   øè è € Ø�KŠK˜Ñ Ô Ð Ð Ð r   c               —   ó
   K  — d S r   r&   )rõ   s    r   r÷   zUtest_voice_ack_replay_resume_and_bounded_upload.<locals>.exercise.<locals>.send_inputä   s   è è € Ø�4r   c              “   ó&   K  — t          d¬¦  «        S )NÚSession)rA   r   )Ú_sids    r   Úget_sessionzVtest_voice_ack_replay_resume_and_bounded_upload.<locals>.exercise.<locals>.get_sessionç   s   è è € Ý"¨	Ð2Ñ2Ô2Ð2r   zconn-ar  r  zconn-bc                 ó   — dS rù   r&   rû   s    r   rý   zStest_voice_ack_replay_resume_and_bounded_upload.<locals>.exercise.<locals>.<lambda>ì   s   € °€ r   c                 ó&   •— t          ‰‰¬¦  «        S )N)r÷   rW  r   )rü   rW  r÷   s    €€r   rý   zStest_voice_ack_replay_resume_and_bounded_upload.<locals>.exercise.<locals>.<lambda>í   s   ø€ ­ÀJÐ\gÐ)hÑ)hÔ)h€ r   c                 ó   — dS r   r&   rû   s    r   rý   zStest_voice_ack_replay_resume_and_bounded_upload.<locals>.exercise.<locals>.<lambda>î   s   € ¨t€ r   c                  ó   — dS r  r&   r&   r   r   rý   zStest_voice_ack_replay_resume_and_bounded_upload.<locals>.exercise.<locals>.<lambda>î   s   € ¸U€ r   sä                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      c                 ó"   •‡ — ˆ fd„‰D ¦   «         S )Nc                 ó,   •— g | ]}|d          ‰k    ¯|‘ŒS )r  r&   )Ú.0ÚmÚkinds     €r   ú
<listcomp>zctest_voice_ack_replay_resume_and_bounded_upload.<locals>.exercise.<locals>.last.<locals>.<listcomp>ò   s'   ø€ Ð9Ð9Ð9˜! q¨¤y°DÒ'8Ð'8�AÐ'8Ð'8Ð'8r   r&   )r`  rò   s   `€r   ÚlastzOtest_voice_ack_replay_resume_and_bounded_upload.<locals>.exercise.<locals>.lastñ   s   øø€ Ø9Ð9Ð9Ð9˜tÐ9Ñ9Ô9Ð9r   Úvoice_startr  iD¬  é   r‰   )r  r  Úsample_rateÚbitsÚchannelsÚvoice_chunkr   )r  r  ÚsequencerV   Ú	voice_ackr  Únext_sequencer   rR   rS   rT   rU   ri  é   iä  )z0%(py5)s
{%(py5)s = %(py3)s.sequence
} == %(py8)s)r"   r$   rH   z%(py10)sr‡   )z]%(py18)s
{%(py18)s = %(py12)s(%(py16)s
{%(py16)s = %(py14)s.pcm
})
} == (%(py21)s * %(py23)s)r‹   )rJ   r¥   rÔ   rª   rÖ   Úpy23z%(py26)sÚpy26zassert %(py29)sÚpy29r  Úretryr  r�   )z0%(py3)s in %(py7)s
{%(py7)s = %(py5)s.requests
}r  rÒ   rÓ   rI   )z4%(py14)s
{%(py14)s = %(py12)s.sequence
} == %(py17)s)rJ   r¥   ra   z%(py19)sÚpy19zassert %(py22)sÚpy22)zV%(py6)s
{%(py6)s = %(py0)s(%(py4)s
{%(py4)s = %(py2)s.pcm
})
} == (%(py9)s * %(py11)s))r!   r[   rO   rU   rI   r]   r¤   r¥   )úis not)z4%(py3)s
{%(py3)s = %(py1)s.deadline
} is not %(py5)sÚdeadline_beforer    r�   r\   é   é	   Úvoice_stater  Ú	CANCELLEDz)not %(py4)s
{%(py4)s = %(py2)s.requests
})r[   rO   )z%(py8)s == %(py11)s)rH   r]   z%(py13)sr^   zassert %(py16)srÔ   ÚwÚ
disconnect)ÚreasonÚ	SUSPENDED)z-%(py4)s
{%(py4)s = %(py2)s.state
} == %(py7)sÚreq)r[   rO   r\   )z4%(py13)s
{%(py13)s = %(py11)s.sequence
} == %(py16)s)r]   r^   rÔ   rÕ   rª   )zP%(py25)s
{%(py25)s = %(py20)s(%(py23)s
{%(py23)s = %(py21)s.pcm
})
} == %(py28)s)r¬   rÖ   rm  Úpy25Úpy28z%(py30)sÚpy30zassert %(py33)sÚpy33Ú	voice_end)r  r  )z-%(py5)s
{%(py5)s = %(py3)s.state
} == %(py8)sznot %(py12)srJ   rL  Úvoice_statusÚ	RECORDING)z-%(py3)s
{%(py3)s = %(py1)s.state
} == %(py6)s)rG   r"   rU   rP   rH   iÜ  )r  r  Úrecorded_duration_msÚAWAITING_CONFIRMATIONz%(py2)sr[   )z.%(py7)s
{%(py7)s = %(py5)s.state
} == %(py10)s)r$   r\   r‡   z%(py12)srˆ   r_   Úzr¡   )z4%(py1)s not in %(py5)s
{%(py5)s = %(py3)s.requests
})r   r	   rX   rä   rå   r   Údictr'   r(   r,   r-   r.   r  ri  r  r‹   r   r)   r*   r+   rã   Údeadliner…   ÚsleepÚsuspendr  Úgatherr=  ÚtasksÚexpirer  )@rP  ró   rñ   Úreplacementr  r  rb  r{   r|   r1   r   r}   r2   ru   rv   rx   rç   ræ   r­   Ú@py_assert20Ú@py_assert22Ú@py_assert24r  r~   ry   r   Ú@py_format27Ú@py_format28Ú@py_format30rt  r“   r®   r–   rè   r„   rê   r°   r  r•   r€   rw   r�   rz   r¨   r4   r’   Ú@py_format12r”   ré   r}  r‚   Ú@py_assert27Ú@py_assert26r¯   Ú@py_format29Ú@py_format31Ú@py_format32Ú@py_format34Ú@py_format3rƒ   rL  rW  r÷   rò   s@                                                               @@@@r   r!  zAtest_voice_ack_replay_resume_and_bounded_upload.<locals>.exerciseØ   s¥  øøøøè è € ØˆØˆð	,ð 	,ð 	,ð 	,ð 	,ð 	,ð 	,ñ 	,ô 	,ð 	,ð
	!ð 	!ð 	!ð 	!ð 	!ð	ð 	ð 	ð	3ð 	3ð 	3õ !¨xÀ3ÐGÑGÔGˆÝ%°HÈÐLÑLÔLˆÝ˜s˜s™uœuÐ&<Ð&<ØhÐhÐhÐhÐhØ# ^ ^°]°]ñDô Dˆõ Ô˜}Ñ-Ô-×4Ò4Ñ6Ô6ˆð	:ð 	:ð 	:ð 	:ð 	:ð
:	"Ø—.’. ­°=È3Ð\aÐhjÐuvÐ)wÑ)wÔ)wÑxÔxÐxÐxÐxÐxÐxÐxÐxØ—.’. ­°=È3ÐYZÐbeÐ)fÑ)fÔ)fÑgÔgÐgÐgÐgÐgÐgÐgÐgØ�4˜Ñ$Ô$ RÔ(¨Ô9Ð>¸QÐ>Ð9¸QÒ>Ð>Ð>Ð>Õ>Ô>Ð>Ð>Ð>Ð>Ð9¸QÐ>Ñ>Ô>Õ>Ô>Ð9Ñ>Ô>Õ>Ô>¸QÑ>Ô>Ð>Ð>Ñ>Ð>Ð>Ð>Ð>Ð>Ñ>Ð>Õ>Õ>Ô>Ð>Ñ>Ô>Ñ>Ô>Ð>Ð>Ð>Ð>Ð>Ð>Ð>Ø�4˜Ñ$Ô$ RÔ(¨Ô4Ð9¸Ð9Ð4¸Ò9Ð9Ð9Ð9Õ9Ô9Ð9Ð9Ð9Ð9Ð4¸Ð9Ñ9Ô9Õ9Ô9Ð4Ñ9Ô9Õ9Ô9¸Ñ9Ô9Ð9Ð9Ñ9Ð9Ð9Ð9Ð9Ð9Ñ9Ð9Õ9Õ9Ô9Ð9Ñ9Ô9Ñ9Ô9Ð9Ð9Ð9Ð9Ð9Ð9Ð9Ø—.’. ­°=È3ÐYZÐbeÐ)fÑ)fÔ)fÑgÔgÐgÐgÐgÐgÐgÐgÐgØ�4˜Ñ$Ô$ RÔ(¨Ô9Ð>¸QÐ>Ð9¸QÒ>Ð>Ð>Ð>Õ>Ô>Ð>Ð>Ð>Ð>Ð9¸QÐ>Ñ>Ô>Õ>Ô>Ð9Ñ>Ô>Õ>Ô>¸QÑ>Ô>Ð>Ð>Ñ>Ð>Ð>Ð>Ð>Ð>Ñ>Ð>Õ>Õ>Ô>Ð>Ñ>Ô>Ñ>Ô>Ð>Ð>Ð>Ð>Ð>Ð>Ð>ð —.’. ­°=È3ÐYZÐbeÐ)fÑ)fÔ)fÑgÔgÐgÐgÐgÐgÐgÐgÐgØ�4˜Ñ$Ô$ RÔ(¨Ô9Ð>¸QÐ>Ð9¸QÒ>Ð>Ð>Ð>Õ>Ô>Ð>Ð>Ð>Ð>Ð9¸QÐ>Ñ>Ô>Õ>Ô>Ð9Ñ>Ô>Õ>Ô>¸QÑ>Ô>Ð>Ð>Ñ>Ð>Ð>Ð>Ð>Ð>Ñ>Ð>Õ>Õ>Ô>Ð>Ñ>Ô>Ñ>Ô>Ð>Ð>Ð>Ð>Ð>Ð>Ð>ØeÐe�7Ô# CÔ(ÐeÐ(Ô1Ðe°QÐeÐ1°QÒ6ÐeÐeÐeÐeÐe¸wÔ?OÐPSÔ?TÐeÐ?TÔ?XÐe½3Ð?XÑ;YÔ;YÐeÐ]^ÐeÐaeÐeÐ]^ÐaeÑ]eÐeÐ;YÐ]eÒ;eÐeÐeÐeÐeÑeÕeÔeÐeÐeÐeÐeÐ1°QÐeÑeÔeÕeÔeÐ(ÑeÔeÕeÔeÐ1ÑeÔeÕeÔe°QÑeÔeÐeÐeÑeÐeÐeÐeÐeÐeÑeÐeÐe×eÒeÐeÑeÔeÐeÐeÐeÕeÔeÐeÐeÐeÐeÐ;YÐ]eÐeÑeÔeÐeÕeÔeÑeÔeÐeÐeÕeÔe½3ÑeÔeÐeÕeÔe½3ÑeÔeÐeÐeÕeÔeÐ?TÑeÔeÕeÔeÐ?XÑeÔeÕeÔeÐ;YÑeÔeÕeÔeÐ]^ÑeÔeÕeÔeÐaeÑeÔeÐeÐeÑeÐeÐeÐeÐeÐeÑeÐeÐe×eÒeÐeÑeÔeÐeÕeÔeÐeÐeÑeÔeÐeÑeÐeÐeÐeÐeÐeÑeÐeÕeÕeÔeÐeÑeÔeÑeÔeÐeÐeÐeÐeÐeÐeÐeÐeÐeÐeÐeÐeÐeÐeÐeÐeÐeÐeÐeÐeÐeÐeÐeÐeÐeÐeÐeð
 &Ô.¨sÔ3Ô<ˆOØ—.’. ­Ð3CÈcÐ\cÐ)dÑ)dÔ)dÑeÔeÐeÐeÐeÐeÐeÐeÐeÝ”- Ñ"Ô"Ð"Ð"Ð"Ð"Ð"Ð"Ð"ØRÐR�3ÐR˜'Ô*ÐR�3Ð*Ð*ÐRÐRÐRÐRÐR¨wÔ/?ÀÔ/DÐRÐ/DÔ/MÐRÐQRÐRÐ/MÐQRÒ/RÐRÐRÐRÐRÑRÕRÔRÐRÐRÐRÐR�3Ð*ÐRÑRÔRÕRÔR�3ÑRÔRÐRÕRÔRÑRÔRÐRÐRÕRÔR˜'ÑRÔRÐRÕRÔR˜'ÑRÔRÐRÐRÕRÔRÐ*ÑRÔRÐRÐRÑRÐRÐRÐRÐRÐRÑRÐRÐR×RÒRÐRÑRÔRÐRÐRÐRÕRÔRÐRÐRÐRÐRÐ/MÐQRÐRÑRÔRÕRÔRÐ/DÑRÔRÕRÔRÐ/MÑRÔRÕRÔRÐQRÑRÔRÐRÐRÑRÐRÐRÐRÐRÐRÑRÐRÐR×RÒRÐRÑRÔRÐRÕRÔRÐRÐRÑRÔRÐRÑRÐRÐRÐRÐRÐRÑRÐRÕRÕRÔRÐRÑRÔRÑRÔRÐRÐRÐRÐRÐRÐRÐRÐRÐRÐRÐRÐRÐRÐRÐRÐRÐRÐRÐRØÔ'¨Ô,Ð=Ð,Ô0Ð=•3Ð0Ñ1Ô1Ð=°QÐ=¸Ð=°Q¸±XÐ=Ð1°XÒ=Ð=Ð=Ð=Õ=Ô=Ð=Ð=Ð=Ð=Ð1°XÐ=Ñ=Ô=Ð=Õ=Ô=Ñ=Ô=Ð=Ð=Õ=Ô=•3Ñ=Ô=Ð=Õ=Ô=•3Ñ=Ô=Ð=Ð=Õ=Ô=Ð,Ñ=Ô=Õ=Ô=Ð0Ñ=Ô=Õ=Ô=Ð1Ñ=Ô=Õ=Ô=°QÑ=Ô=Õ=Ô=¸Ñ=Ô=Ð=Ð=Ñ=Ð=Ð=Ð=Ð=Ð=Ñ=Ð=Õ=Õ=Ô=Ð=Ñ=Ô=Ñ=Ô=Ð=Ð=Ð=Ð=Ð=Ð=Ð=Ð=Ð=Ð=Ð=Ð=Ð=Ð=Ð=ØÔ# CÔ(ÐHÐ(Ô1ÐHÐ1¸ÐHÐHÐHÐHÕHÔHÐHÐHÐHÐHÐ1¸ÐHÑHÔHÕHÔHÐ(ÑHÔHÕHÔHÐ1ÑHÔHÐHÕHÔHÑHÔHÐHÐHÕHÔH¸ÑHÔHÐHÕHÔH¸ÑHÔHÐHÐHÐHÐHÑHÐHÐHÐHÐHÐHÑHÐHÕHÕHÔHÐHÑHÔHÑHÔHÐHÐHÐHÐHÐHÐHÐHØ—.’. ­°=È3ÐYZÐbeÐ)fÑ)fÔ)fÑgÔgÐgÐgÐgÐgÐgÐgÐgØ�4˜Ñ$Ô$ RÔ(¨Ô9Ð>¸QÐ>Ð9¸QÒ>Ð>Ð>Ð>Õ>Ô>Ð>Ð>Ð>Ð>Ð9¸QÐ>Ñ>Ô>Õ>Ô>Ð9Ñ>Ô>Õ>Ô>¸QÑ>Ô>Ð>Ð>Ñ>Ð>Ð>Ð>Ð>Ð>Ñ>Ð>Õ>Õ>Ô>Ð>Ñ>Ô>Ñ>Ô>Ð>Ð>Ð>Ð>Ð>Ð>Ð>ð —.’. ­°=È3ÐYZÐbeÐ)fÑ)fÔ)fÑgÔgÐgÐgÐgÐgÐgÐgÐgÝ”- Ñ"Ô"Ð"Ð"Ð"Ð"Ð"Ð"Ð"Ø[Ð[�wÔ'Ð[Ð'Ð'Ð[Ð'Ð[Ð'Ð[¨D¨D°Ñ,?Ô,?ÀÔ,CÀGÔ,LÐ[ÐP[Ð[Ð,LÐP[Ò,[Ð[Ð[Ð[Ð[Ñ[Ð[Ð[Õ[Ô[Ñ[Ô[Ð[Ð[Õ[Ô[�wÑ[Ô[Ð[Õ[Ô[�wÑ[Ô[Ð[Ð[Õ[Ô[Ð'Ñ[Ô[Ð[Ð[Ñ[Ð[Ð[×[Ò[Ð[Ñ[Ô[Ð[Ð'Ð[Õ[Ô[Ð[Ð[Ð[Ð[Ð,LÐP[Ð[Ñ[Ô[Õ[Ô[Ð,LÑ[Ô[Õ[Ô[ÐP[Ñ[Ô[Ð[Ð[Ñ[Ð[Ð[Ð[Ð[Ð[Ñ[Ð[Ð[×[Ò[Ð[Ñ[Ô[Ð[Õ[Ô[Ð[Ð[Ñ[Ô[Ð[Ñ[Ð[Ð[Ð[Ð[Ð[Ñ[Ð[Õ[Õ[Ô[Ð[Ñ[Ô[Ñ[Ô[Ð[Ð[Ð[Ð[Ð[Ð[Ð[Ð[Ð[Ð[Ð[Ð[Ð[Ð[Ð[ð —.’. ­°=È3Ð\aÐhjÐuvÐ)wÑ)wÔ)wÑxÔxÐxÐxÐxÐxÐxÐxÐxØ—.’. ­°=È3ÐYZÐbeÐ)fÑ)fÔ)fÑgÔgÐgÐgÐgÐgÐgÐgÐgØ�OŠO˜F¨<ˆOÑ8Ô8Ð8ØÔ" 3Ô'ˆCØZÐZ�3”9ÐZ ÐZ�9 Ò+ÐZÐZÐZÐZÐZ°´ÐZÀÐZ°ÀÒ0AÐZÐZÐZÐZÐZÈ#Ì'ÐZÅcÈ'ÁlÄlÐZÐVZÐZÀlÐVZÒFZÐZÐZÐZÐZÑZÕZÔZÐZÐZÐZÐZ�9 ÐZÑZÔZÐZÕZÔZÑZÔZÐZÐZÕZÔZ�3ÑZÔZÐZÕZÔZ�3ÑZÔZÐZÐZÕZÔZ�9ÑZÔZÕZÔZ ÑZÔZÐZÐZÑZÐZÐZÐZÐZÐZÑZÐZÐZ×ZÒZÐZÑZÔZÐZÐZÑZÕZÔZÐZÐZÐZÐZ°ÀÐZÑZÔZÐZÕZÔZÑZÔZÐZÐZÕZÔZ°ÑZÔZÐZÕZÔZ°ÑZÔZÐZÐZÕZÔZ°ÑZÔZÕZÔZÀÑZÔZÐZÐZÑZÐZÐZÐZÐZÐZÑZÐZÐZ×ZÒZÐZÑZÔZÐZÐZÐZÕZÔZÐZÐZÐZÐZÀlÐVZÐZÑZÔZÐZÕZÔZÑZÔZÐZÐZÕZÔZÅcÑZÔZÐZÕZÔZÅcÑZÔZÐZÐZÐZÕZÔZÑZÔZÐZÐZÕZÔZÈ#ÑZÔZÐZÕZÔZÈ#ÑZÔZÐZÐZÕZÔZÈ'ÑZÔZÕZÔZÀlÑZÔZÕZÔZÐVZÑZÔZÐZÐZÑZÐZÐZÐZÐZÐZÑZÐZÐZ×ZÒZÐZÑZÔZÐZÕZÔZÐZÐZÑZÔZÐZÑZÐZÐZÐZÐZÐZÑZÐZÕZÕZÔZÐZÑZÔZÑZÔZÐZÐZÐZÐZÐZÐZÐZÐZÐZÐZÐZÐZÐZÐZÐZÐZÐZÐZÐZÐZÐZÐZÐZÐZÐZð —.’. ­d¸ÈcÐ.RÑ.RÔ.RÑSÔSÐSÐSÐSÐSÐSÐSÐSØMÐM�7Ô# CÔ(ÐMÐ(Ô.ÐM°+ÐMÐ.°+Ò=ÐMÐMÐMÐMÐMÀgÀ+ÐMÀ+ÐMÐMÑMÕMÔMÐMÐMÐMÐMÐ.°+ÐMÑMÔMÕMÔMÐ(ÑMÔMÕMÔMÐ.ÑMÔMÕMÔM°+ÑMÔMÐMÐMÑMÐMÐMÐMÐMÐMÑMÐMÐM×MÒMÐMÑMÔMÐMÐMÐMÐMÐMÐMÕMÔMÑMÔMÐMÐMÕMÔMÀgÑMÔMÐMÕMÔMÀgÑMÔMÐMÐMÐMÑMÐMÐM×MÒMÐMÑMÔMÐMÕMÔMÐMÐMÑMÔMÐMÑMÐMÐMÐMÐMÐMÑMÐMÕMÕMÔMÐMÑMÔMÑMÔMÐMÐMÐMÐMÐMÐMÐMÐMÐMÐMÐMÐMÐMÐMÐMð —.’. ­d¸ÐQTÐ.UÑ.UÔ.UÑVÔVÐVÐVÐVÐVÐVÐVÐVØ�4˜Ñ$Ô$ RÔ(¨Ô9Ð>¸QÐ>Ð9¸QÒ>Ð>Ð>Ð>Õ>Ô>Ð>Ð>Ð>Ð>Ð9¸QÐ>Ñ>Ô>Õ>Ô>Ð9Ñ>Ô>Õ>Ô>¸QÑ>Ô>Ð>Ð>Ñ>Ð>Ð>Ð>Ð>Ð>Ñ>Ð>Õ>Õ>Ô>Ð>Ñ>Ô>Ñ>Ô>Ð>Ð>Ð>Ð>Ð>Ð>Ð>ØÔ# CÔ(Ð=Ð(Ô.Ð=°+Ð=Ð.°+Ò=Ð=Ð=Ð=Õ=Ô=Ð=Ð=Ð=Ð=Ð.°+Ð=Ñ=Ô=Õ=Ô=Ð(Ñ=Ô=Õ=Ô=Ð.Ñ=Ô=Õ=Ô=°+Ñ=Ô=Ð=Ð=Ñ=Ð=Ð=Ð=Ð=Ð=Ñ=Ð=Õ=Õ=Ô=Ð=Ñ=Ô=Ñ=Ô=Ð=Ð=Ð=Ð=Ð=Ð=Ð=Ð=Ð=Ø—.’. ­d¸ÐPSÐ^_ÐgjÐ.kÑ.kÔ.kÑlÔlÐlÐlÐlÐlÐlÐlÐlØ—.’. ­d¸ÈcÐhlÐ.mÑ.mÔ.mÑnÔnÐnÐnÐnÐnÐnÐnÐnÝ”.¥$ w¤}Ñ"5Ô"5Ð6Ð6Ð6Ð6Ð6Ð6Ð6Ð6ØUÐU�7ÐU�7ÐU˜wÔ/°Ô4ÐUÐ4Ô:ÐUÐ>UÐUÐ:Ð>UÒUÐUÐUÐUÐUÑUÐUÐUÐUÕUÔUÑUÔUÐUÐUÕUÔU�7ÑUÔUÐUÕUÔU�7ÑUÔUÐUÐUÐUÑUÐUÐU×UÒUÐUÑUÔUÐU�7ÐUÕUÔUÐUÐUÐUÐUÐ:Ð>UÐUÑUÔUÕUÔUÐ4ÑUÔUÕUÔUÐ:ÑUÔUÕUÔUÐ>UÑUÔUÐUÐUÑUÐUÐUÐUÐUÐUÑUÐUÐU×UÒUÐUÑUÔUÐUÕUÔUÐUÐUÑUÔUÐUÑUÐUÐUÐUÐUÐUÑUÐUÕUÕUÔUÐUÑUÔUÑUÔUÐUÐUÐUÐUÐUÐUÐUÐUÐUÐUÐUÐUÐUð —.’. ­°=È3Ð\aÐhjÐuvÐ)wÑ)wÔ)wÑxÔxÐxÐxÐxÐxÐxÐxÐxØ—.’. ­°=È3ÐYZÐbeÐ)fÑ)fÔ)fÑgÔgÐgÐgÐgÐgÐgÐgÐgØ�OŠO˜F¨<ˆOÑ8Ô8Ð8Ø—.’. ¨Ô)9¸#Ô)>Ñ?Ô?Ð?Ð?Ð?Ð?Ð?Ð?Ð?ØÐ.˜gÔ.Ð.�3Ð.Ð.Ð.Ð.Ð.Õ.Ô.Ð.Ð.Ð.Ð.�3Ð.Ð.Ñ.Ô.Õ.Ô.�3Ñ.Ô.Ð.Õ.Ô.Ñ.Ô.Ð.Ð.Õ.Ô.˜gÑ.Ô.Ð.Õ.Ô.˜gÑ.Ô.Ð.Ð.Õ.Ô.Ð.Ñ.Ô.Ð.Ð.Ñ.Ð.Ð.Ð.Ð.Ð.Ñ.Ð.Õ.Õ.Ô.Ð.Ñ.Ô.Ñ.Ô.Ð.Ð.Ð.Ð.Ð.Ð.Ð.à—-’-‘/”/Ð!Ð!Ð!Ð!Ð!Ð!Ð!Ð!Ð!ø�'—-’-‘/”/Ð!Ð!Ð!Ð!Ð!Ð!Ð!Ð!øøøs   ÂARAU ÁUAU!N)r…   r�   )r!  s    r   Ú/test_voice_ack_replay_resume_and_bounded_uploadrž  Ö   s3   € ðX"ð X"ð X"õt „K��‘
”
ÑÔÐÐÐr   r   ))Ú__doc__Úbuiltinsr)   Ú_pytest.assertion.rewriteÚ	assertionÚrewriter'   r…   rX   rm   rÞ   r*  r+  Útypesr   r/   rà   Údevice_gateway.voicer   r   r   r   r	   r
   r   r   r@   rZ   r:   rC   ÚmarkÚparametrizer—   r±   ÚFAILURESrì   r"  r&  r.  rD  rž  r&   r   r   ú<module>r©     sv  ðØ SÐ SØ  € € € € € € € € € € € € €€€€Ø €€€Ø €€€Ø €€€Ø Ð Ð Ð Ø 
€
€
€
Ø !Ð !Ð !Ð !Ð !Ð !à €€€Ø €€€ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð
 #€Ø€gÐ+Ñ,Ô,€ðð ð ð Pð Pð Pð Pð „×Ò˜ DÐ*NÐ#OÑPÔPð.ð .ñ QÔPð.ð* „×Ò˜ D¨/Ð#:Ñ;Ô;ðð ñ <Ô;ðð$eð eð e€ð „×Ò˜ ,°Ð!7Ñ8Ô8Ø„×Ò˜ HÑ-Ô-ð#*ð #*ñ .Ô-ñ 9Ô8ð#*ðL „×Ò˜Ð$LÐ$LÐ$LÑMÔMðð ñ NÔMððBð ð ð	Bð 	Bð 	Bð$ð $ð $ð<\ð \ð \ð \ð \r   