1<!doctype html> 2<html lang="en" prefix="og: http://ogp.me/ns#"> 3<head> 4 <meta charset="UTF-8"> 5 <meta name="viewport" content="width=device-width, initial-scale=1.0"> 6 <meta name="description" content="Easily convert text to natural US English voice and 50+ languages/accents for free. Listen online or download as MP3."> 7 <link rel="dns-prefetch" href="//pagead2.googlesyndication.com"> 8 <link rel="dns-prefetch" href="//fundingchoicesmessages.google.com"> 9 <link rel="preconnect" href="https://fonts.googleapis.com"> 10 <title>Free Text-To-Speech for 28+ languages & MP3 Download | ttsMP3.com</title> 11
11<script async src="https://fundingchoicesmessages.google.com/i/pub-2908655618540976?ers=1" nonce="LP3K2orTPf9QrqsaLfOlSg"></script>
11<script nonce="LP3K2orTPf9QrqsaLfOlSg">(function() {function signalGooglefcPresent() {if (!window.frames['googlefcPresent']) {if (document.body) {const iframe = document.createElement('iframe'); iframe.style = 'width: 0; height: 0; border: none; z-index: -1000; left: -1000px; top: -1000px;'; iframe.style.display = 'none'; iframe.name = 'googlefcPresent'; document.body.appendChild(iframe);} else {setTimeout(signalGooglefcPresent, 0);}}}signalGooglefcPresent();})();</script>
11 12 13 14 15 <meta property="og:title" content="Free Text-To-Speech for 28+ languages & MP3 Download | ttsMP3.com" /> 16 <meta property="og:image" content="https://ttsmp3.com/images/logo.png" /> 17 <meta property="og:type" content="website" /> 18 <meta property="og:url" content="https://ttsmp3.com/" /> 19 20 21 22 23 <link rel="canonical" href="https://ttsmp3.com" /> 24 25 <link rel="stylesheet" type="text/css" href="/css/style.css"> 26 <link rel="stylesheet" type="text/css" href="/css/mobile.css" media="screen and (max-width : 568px)"> 27 <link rel="icon" href="/images/favicon.ico" type="image/x-icon"> 28 <link rel="icon" type="image/png" sizes="32x32" href="/images/favicon-32x32.png"> 29 <link rel="icon" type="image/png" sizes="16x16" href="/images/favicon-16x16.png"> 30 <link rel="icon" sizes="192x192" href="/images/icon-hd.png"> 31 <link rel="icon" sizes="128x128" href="/images/icon.png"> 32 <link rel="apple-touch-icon" sizes="180x180" href="/images/apple-touch-icon.png"> 33</head> 34<body> 35 36 37 38 <div id="header"> 39 <a class="logo" href="/"><img width="340" height="100" alt="ttsmp3.com LOGO" src="/images/logo.png"/></a> 40 </div> 41 42 <div id="body"> 43 <h1>Free Text-To-Speech and Text-to-MP3 for US English</h1> 44 45 <!-- TTSMP3 Rect --> 46 <div> 47 <ins class="adsbygoogle gadsunit" 48 style="display:block" 49 data-ad-client="ca-pub-2908655618540976" 50 data-ad-slot="1961901246" 51 data-ad-format="auto" 52 data-full-width-responsive="true"></ins> 53
53<script> 54 (adsbygoogle = window.adsbygoogle || []).push({}); 55 </script>
55 56 </div> 57 58 <div id="introtext"> 59 <p style="text-align:left;">Easily convert your <strong>US English</strong> text into professional speech for free. Perfect for e-learning, presentations, YouTube videos and increasing the accessibility of your website. Our voices pronounce your texts in their own language using a specific accent. Plus, these texts can be downloaded as MP3. In some languages, multiple speakers are available. 60 </p> 61 62 </div> 63 64 65 <div id="featured"> 66 67 <form onsubmit="return dontsubmit();"> 68 <div class="tabs"> 69 <button class="tab tabfocus">Regular Voices</button> 70 <button class="tab" onclick="window.location.href='https://ttsmp3.com/ai';">AI Voices</button> 71 </div> 72 73 <textarea maxlength="3000" id="voicetext" placeholder="your text here" tabindex="1"></textarea> 74 <select id="sprachwahl" tabindex="4"> 75 <option value='Zeina' >Arabic / Zeina</option><option value='Nicole' >Australian English / Nicole</option><option value='Russell' >Australian English / Russell</option><option value='Ricardo' >Brazilian Portuguese / Ricardo</option><option value='Camila' >Brazilian Portuguese / Camila</option><option value='Vitoria' >Brazilian Portuguese / Vitória</option><option value='Brian' >British English / Brian</option><option value='Amy' >British English / Amy</option><option value='Emma' >British English / Emma</option><option value='Chantal' >Canadian French / Chantal</option><option value='Enrique' >Castilian Spanish / Enrique</option><option value='Lucia' >Castilian Spanish / Lucia</option><option value='Conchita' >Castilian Spanish / Conchita</option><option value='Zhiyu' >Chinese Mandarin / Zhiyu</option><option value='Naja' >Danish / Naja</option><option value='Mads' >Danish / Mads</option><option value='Ruben' >Dutch / Ruben</option><option value='Lotte' >Dutch / Lotte</option><option value='Mathieu' >French / Mathieu</option><option value='Celine' >French / Céline</option><option value='Lea' >French / Léa</option><option value='Vicki' >German / Vicki</option><option value='Marlene' >German / Marlene</option><option value='Hans' >German / Hans</option><option value='Karl' >Icelandic / Karl</option><option value='Dora' >Icelandic / Dóra</option><option value='Aditi' >Indian English / Aditi</option><option value='Raveena' >Indian English / Raveena</option><option value='Giorgio' >Italian / Giorgio</option><option value='Carla' >Italian / Carla</option><option value='Bianca' >Italian / Bianca</option><option value='Takumi' >Japanese / Takumi</option><option value='Mizuki' >Japanese / Mizuki</option><option value='Seoyeon' >Korean / Seoyeon</option><option value='Mia' >Mexican Spanish / Mia</option><option value='Liv' >Norwegian / Liv</option><option value='Jan' >Polish / Jan</option><option value='Maja' >Polish / Maja</option><option value='Ewa' >Polish / Ewa</option><option value='Jacek' >Polish / Jacek</option><option value='Cristiano' >Portuguese / Cristiano</option><option value='Ines' >Portuguese / Inês</option><option value='Carmen' >Romanian / Carmen</option><option value='Tatyana' >Russian / Tatyana</option><option value='Maxim' >Russian / Maxim</option><option value='Astrid' >Swedish / Astrid</option><option value='Filiz' >Turkish / Filiz</option><option value='Kimberly' selected>US English / Kimberly</option><option value='Ivy' >US English / Ivy</option><option value='Kendra' >US English / Kendra</option><option value='Justin' >US English / Justin</option><option value='Joey' >US English / Joey</option><option value='Matthew' >US English / Matthew</option><option value='Salli' >US English / Salli</option><option value='Joanna' >US English / Joanna</option><option value='Penelope' >US Spanish / Penélope</option><option value='Lupe' >US Spanish / Lupe</option><option value='Miguel' >US Spanish / Miguel</option><option value='Gwyneth' >Welsh / Gwyneth</option><option value='Geraint' >Welsh English / Geraint</option> </select> 76 <input id="vorlesenbutton" class="subbuttons" type="submit" tabindex="3" value="Read"/> 77 <input id="downloadenbutton" class="subbuttons" type="submit" tabindex="2" value="Download as MP3"/> 78 <div style="clear:both;"></div> 79 <p id="limitannounce"><!--<a target="_blank" href="https://ttsmp3.com/register?click=banner"><img style='width: 100% !important;' src='/images/BannerAdNew.jpg'/></a>--></p> 80 </form> 81 82 </div> 83 84 <div style='border: 2px solid #ccc; width: 350px; padding: 10px; display: none;' id='s3loader'> 85 <p style='font-weight: bold;'>Woah, that is quite some text... </p><p>Please give us a moment to process your request...</p><img style='border: none;' width='200' data-src='images/loader.gif'/>
86 </div> 87 <p>Input limit: 3,000 characters / Don't forget to turn on your speakers :-)</p><p> Hint: If you finish a sentence, leave a space after the dot before the next one starts for better pronunciation.</p> 88 89 90 91 <br/> 92 <div style="text-align: justify; width: 70%; padding: 30px; border: 2px solid #cecece; padding-top: 10px; margin-top: 5px;"> 93<h3>Here are some features to use while generating speech:</h3> 94 95<h4>Add a break</h4> 96Mary had a little lamb <break time="1s"/> Whose fleece was white as snow. 97 98<h4>Emphasizing words</h4> 99I already told you I <emphasis level="strong">really like </emphasis> that person. 100 101<h4>Speed</h4> 102For dramatic purposes, you might wish to <prosody rate="slow">slow down the speaking rate of your text.</prosody> <br/> 103Or if you are in a hurry <prosody rate="fast">you may want to speed it up a bit.</prosody> 104 105<h4>Pitch</h4> 106Do you like sythesized speech <prosody pitch="high">with a pitch that is higher than normal?</prosody> <br/> 107Or do you prefer your speech <prosody pitch="-20%">with a somewhat lower pitch?</prosody> 108 109<h4>Whisper</h4> 110<amazon:effect name="whispered">If you make any noise, </amazon:effect> she said, <amazon:effect name="whispered">they will hear us.</amazon:effect> 111 112<h4>Conversations</h4> 113It is possible to switch between speakers within the text. Just use the following format:<br/> 114[speaker:Brian] Hello Emma<br/> 115[speaker:Emma] Hey Brian<br/> 116[speaker:Brian] How are you doing?<br/> 117[speaker:Emma] I am fine. May i invite you to a cup of tea?<br/> 118<p>Please note: Remove any diacritical signs from the speakers names when using this, Léa = Lea, Penélope = Penelope</p> 119<br/><br/> 120<p><h4>Need more effects or customization? Please refer to the <a rel="nofollow" target="_blank" href="https://docs.aws.amazon.com/polly/latest/dg/supportedtags.html">Amazon SSML Tags for Amazon Polly</a></h4></p> 121</div> <br/> 122 <div style="text-align: justify; width: 70%; padding: 30px; border: 2px solid #cecece; padding-top: 10px; margin-top: 5px;"><h3>Facts about the US English language:</h3><p><p>English was brought to Britain in the mid 5th to 7th centuries. If you were to ask those who don't speak English whether or not it's a hard language to learn, you'd likely get more than a few who insist that it is among the hardest.</p> 123 124<p>Though, it can be argued that English is easy since it has no gender, no word agreement, and no cases. Yet, it does have words such as through, threw, and thru, all sounds the same, but are spelled differently, and can't be used interchangeably.</p> 125 126<p>English also has polish, and Polish. One is used to make furniture shine, while the other is a language. Or take resume and resume, one is used when you're filling out job applications, and the other is used when you want to tell someone to carry on with what they're doing.</p> 127 128<p>As you can see above, the English language can be challenging, however, it's far from the most difficult language to learn. With a bit of study, and some practice, almost anyone can learn English. One of the best ways to learn the language is to find a friend who speaks English, and is willing to have conversations with you. This will help you immerse yourself in the language and pick up on the nuances, and speech patterns of English. With a bit of practice, you'll soon be speaking English like it's your native language. </p></p></div> 129 <div style="text-align: justify; width: 70%; padding: 30px; border: 2px solid #cecece; padding-top: 10px; margin-top: 15px;"> 130 <h3>Supported voice languages: </h3> 131 132 <a href='/text-to-speech/Arabic/'><div class='langbox'>Arabic</div></a><a href='/text-to-speech/Australian%20English/'><div class='langbox'>Australian English</div></a><a href='/text-to-speech/Brazilian%20Portuguese/'><div class='langbox'>Brazilian Portuguese</div></a><a href='/text-to-speech/British%20English/'><div class='langbox'>British English</div></a><a href='/text-to-speech/Canadian%20French/'><div class='langbox'>Canadian French</div></a><a href='/text-to-speech/Castilian%20Spanish/'><div class='langbox'>Castilian Spanish</div></a><a href='/text-to-speech/Chinese%20Mandarin/'><div class='langbox'>Chinese Mandarin</div></a><a href='/text-to-speech/Danish/'><div class='langbox'>Danish</div></a><a href='/text-to-speech/Dutch/'><div class='langbox'>Dutch</div></a><a href='/text-to-speech/French/'><div class='langbox'>French</div></a><a href='/text-to-speech/German/'><div class='langbox'>German</div></a><a href='/text-to-speech/Icelandic/'><div class='langbox'>Icelandic</div></a><a href='/text-to-speech/Indian%20English/'><div class='langbox'>Indian English</div></a><a href='/text-to-speech/Italian/'><div class='langbox'>Italian</div></a><a href='/text-to-speech/Japanese/'><div class='langbox'>Japanese</div></a><a href='/text-to-speech/Korean/'><div class='langbox'>Korean</div></a><a href='/text-to-speech/Mexican%20Spanish/'><div class='langbox'>Mexican Spanish</div></a><a href='/text-to-speech/Norwegian/'><div class='langbox'>Norwegian</div></a><a href='/text-to-speech/Polish/'><div class='langbox'>Polish</div></a><a href='/text-to-speech/Portuguese/'><div class='langbox'>Portuguese</div></a><a href='/text-to-speech/Romanian/'><div class='langbox'>Romanian</div></a><a href='/text-to-speech/Russian/'><div class='langbox'>Russian</div></a><a href='/text-to-speech/Swedish/'><div class='langbox'>Swedish</div></a><a href='/text-to-speech/Turkish/'><div class='langbox'>Turkish</div></a><a href='/text-to-speech/US%20English/'><div class='langbox'>US English</div></a><a href='/text-to-speech/US%20Spanish/'><div class='langbox'>US Spanish</div></a><a href='/text-to-speech/Welsh/'><div class='langbox'>Welsh</div></a><a href='/text-to-speech/Welsh%20English/'><div class='langbox'>Welsh English</div></a> </div> 133 134 <div style="max-width:560px !important;width:auto !important;margin:15px auto 0 !important;padding:0 !important;border:none !important;">
135 <a target="_blank" href="https://convertspeech.com/?utm_source=ttsmp3&utm_medium=referral&utm_campaign=cross-promo" style="display:flex !important;align-items:center !important;gap:18px !important;width:auto !important;text-decoration:none !important;border:2px solid #cecece !important;border-radius:10px !important;padding:18px 22px !important;margin:0 !important;color:#333 !important;text-align:left !important;background:#fafafa !important;box-sizing:border-box !important;"> 136 <img src="https://convertspeech.com/img/email-logo.png" alt="ConvertSpeech" width="56" height="56" style="flex:none !important;width:56px !important;height:56px !important;border:none !important;border-radius:10px !important;margin:0 !important;padding:0 !important;"> 137 <span style="display:block !important;font-size:15px !important;line-height:1.55 !important;color:#333 !important;"> 138 <strong style="color:#1a7a7b !important;font-size:17px !important;">Need the opposite — Speech to Text?</strong><br> 139 Upload any audio or video and get an accurate transcript in minutes.<br> 140 Free to try on our sister site <strong>ConvertSpeech.com</strong> → 141 </span> 142 </a> 143 </div> 144 145 146 <br/> 147 <p>Current Limit: ~375 words or 3,000 characters / day | Powered by AWS Polly</p> 148 <p>Get in touch? Mail us: <br/><img alt="mail contact" width="200" height="30" src="/images/mail.png"/></p> 149 <p>Need to convert more text to speech? <a href="/register?click=direct">Register here</a> for a 24 hour premium access.</p> 150 </div> 151 152 153 <div id="footer"> 154 <div> 155 <p><a class="botlink" href="https://ttsmp3.com">© 2026 ttsMP3.com</a> | <a class="botlink" href="/ai">AI Voices</a> | <a class="botlink" href="/faq">FAQ</a> | <a class="botlink" href="/privacypolicy">Privacy Policy</a> | <a class="botlink" href="/tos">Terms of Service</a> | <a class="botlink" href="/apidoc">API Documentation</a> </p> 156 157 </div> 158 </div> 159 <link rel="stylesheet" type="text/css" href="/css/extra.css?v3"> 160
160<script>(function(){'use strict';function aa(a){var b=0;return function(){return b<a.length?{done:!1,value:a[b++]}:{done:!0}}}var ba="function"==typeof Object.defineProperties?Object.defineProperty:function(a,b,c){if(a==Array.prototype||a==Object.prototype)return a;a[b]=c.value;return a}; 161function ea(a){a=["object"==typeof globalThis&&globalThis,a,"object"==typeof window&&window,"object"==typeof self&&self,"object"==typeof global&&global];for(var b=0;b<a.length;++b){var c=a[b];if(c&&c.Math==Math)return c}throw Error("Cannot find global object");}var fa=ea(this);function ha(a,b){if(b)a:{var c=fa;a=a.split(".");for(var d=0;d<a.length-1;d++){var e=a[d];if(!(e in c))break a;c=c[e]}a=a[a.length-1];d=c[a];b=b(d);b!=d&&null!=b&&ba(c,a,{configurable:!0,writable:!0,value:b})}} 162var ia="function"==typeof Object.create?Object.create:function(a){function b(){}b.prototype=a;return new b},l;if("function"==typeof Object.setPrototypeOf)l=Object.setPrototypeOf;else{var m;a:{var ja={a:!0},ka={};try{ka.__proto__=ja;m=ka.a;break a}catch(a){}m=!1}l=m?function(a,b){a.__proto__=b;if(a.__proto__!==b)throw new TypeError(a+" is not extensible");return a}:null}var la=l; 163function n(a,b){a.prototype=ia(b.prototype);a.prototype.constructor=a;if(la)la(a,b);else for(var c in b)if("prototype"!=c)if(Object.defineProperties){var d=Object.getOwnPropertyDescriptor(b,c);d&&Object.defineProperty(a,c,d)}else a[c]=b[c];a.A=b.prototype}function ma(){for(var a=Number(this),b=[],c=a;c<arguments.length;c++)b[c-a]=arguments[c];return b} 164var na="function"==typeof Object.assign?Object.assign:function(a,b){for(var c=1;c<arguments.length;c++){var d=arguments[c];if(d)for(var e in d)Object.prototype.hasOwnProperty.call(d,e)&&(a[e]=d[e])}return a};ha("Object.assign",function(a){return a||na});/* 165 166 Copyright The Closure Library Authors. 167 SPDX-License-Identifier: Apache-2.0 168*/ 169var p=this||self;function q(a){return a};var t,u;a:{for(var oa=["CLOSURE_FLAGS"],v=p,x=0;x<oa.length;x++)if(v=v[oa[x]],null==v){u=null;break a}u=v}var pa=u&&u[610401301];t=null!=pa?pa:!1;var z,qa=p.navigator;z=qa?qa.userAgentData||null:null;function A(a){return t?z?z.brands.some(function(b){return(b=b.brand)&&-1!=b.indexOf(a)}):!1:!1}function B(a){var b;a:{if(b=p.navigator)if(b=b.userAgent)break a;b=""}return-1!=b.indexOf(a)};function C(){return t?!!z&&0<z.brands.length:!1}function D(){return C()?A("Chromium"):(B("Chrome")||B("CriOS"))&&!(C()?0:B("Edge"))||B("Silk")};var ra=C()?!1:B("Trident")||B("MSIE");!B("Android")||D();D();B("Safari")&&(D()||(C()?0:B("Coast"))||(C()?0:B("Opera"))||(C()?0:B("Edge"))||(C()?A("Microsoft Edge"):B("Edg/"))||C()&&A("Opera"));var sa={},E=null;var ta="undefined"!==typeof Uint8Array,ua=!ra&&"function"===typeof btoa;var F="function"===typeof Symbol&&"symbol"===typeof Symbol()?Symbol():void 0,G=F?function(a,b){a[F]|=b}:function(a,b){void 0!==a.g?a.g|=b:Object.defineProperties(a,{g:{value:b,configurable:!0,writable:!0,enumerable:!1}})};function va(a){var b=H(a);1!==(b&1)&&(Object.isFrozen(a)&&(a=Array.prototype.slice.call(a)),I(a,b|1))} 170var H=F?function(a){return a[F]|0}:function(a){return a.g|0},J=F?function(a){return a[F]}:function(a){return a.g},I=F?function(a,b){a[F]=b}:function(a,b){void 0!==a.g?a.g=b:Object.defineProperties(a,{g:{value:b,configurable:!0,writable:!0,enumerable:!1}})};function wa(){var a=[];G(a,1);return a}function xa(a,b){I(b,(a|0)&-99)}function K(a,b){I(b,(a|34)&-73)}function L(a){a=a>>11&1023;return 0===a?536870912:a};var M={};function N(a){return null!==a&&"object"===typeof a&&!Array.isArray(a)&&a.constructor===Object}var O,ya=[];I(ya,39);O=Object.freeze(ya);var P;function Q(a,b){P=b;a=new a(b);P=void 0;return a} 171function R(a,b,c){null==a&&(a=P);P=void 0;if(null==a){var d=96;c?(a=[c],d|=512):a=[];b&&(d=d&-2095105|(b&1023)<<11)}else{if(!Array.isArray(a))throw Error();d=H(a);if(d&64)return a;d|=64;if(c&&(d|=512,c!==a[0]))throw Error();a:{c=a;var e=c.length;if(e){var f=e-1,g=c[f];if(N(g)){d|=256;b=(d>>9&1)-1;e=f-b;1024<=e&&(za(c,b,g),e=1023);d=d&-2095105|(e&1023)<<11;break a}}b&&(g=(d>>9&1)-1,b=Math.max(b,e-g),1024<b&&(za(c,g,{}),d|=256,b=1023),d=d&-2095105|(b&1023)<<11)}}I(a,d);return a} 172function za(a,b,c){for(var d=1023+b,e=a.length,f=d;f<e;f++){var g=a[f];null!=g&&g!==c&&(c[f-b]=g)}a.length=d+1;a[d]=c};function Aa(a){switch(typeof a){case "number":return isFinite(a)?a:String(a);case "boolean":return a?1:0;case "object":if(a&&!Array.isArray(a)&&ta&&null!=a&&a instanceof Uint8Array){if(ua){for(var b="",c=0,d=a.length-10240;c<d;)b+=String.fromCharCode.apply(null,a.subarray(c,c+=10240));b+=String.fromCharCode.apply(null,c?a.subarray(c):a);a=btoa(b)}else{void 0===b&&(b=0);if(!E){E={};c="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789".split("");d=["+/=","+/","-_=","-_.","-_"];for(var e= 1730;5>e;e++){var f=c.concat(d[e].split(""));sa[e]=f;for(var g=0;g<f.length;g++){var h=f[g];void 0===E[h]&&(E[h]=g)}}}b=sa[b];c=Array(Math.floor(a.length/3));d=b[64]||"";for(e=f=0;f<a.length-2;f+=3){var k=a[f],w=a[f+1];h=a[f+2];g=b[k>>2];k=b[(k&3)<<4|w>>4];w=b[(w&15)<<2|h>>6];h=b[h&63];c[e++]=g+k+w+h}g=0;h=d;switch(a.length-f){case 2:g=a[f+1],h=b[(g&15)<<2]||d;case 1:a=a[f],c[e]=b[a>>2]+b[(a&3)<<4|g>>4]+h+d}a=c.join("")}return a}}return a};function Ba(a,b,c){a=Array.prototype.slice.call(a);var d=a.length,e=b&256?a[d-1]:void 0;d+=e?-1:0;for(b=b&512?1:0;b<d;b++)a[b]=c(a[b]);if(e){b=a[b]={};for(var f in e)Object.prototype.hasOwnProperty.call(e,f)&&(b[f]=c(e[f]))}return a}
173function Da(a,b,c,d,e,f){if(null!=a){if(Array.isArray(a))a=e&&0==a.length&&H(a)&1?void 0:f&&H(a)&2?a:Ea(a,b,c,void 0!==d,e,f);else if(N(a)){var g={},h;for(h in a)Object.prototype.hasOwnProperty.call(a,h)&&(g[h]=Da(a[h],b,c,d,e,f));a=g}else a=b(a,d);return a}} 174function Ea(a,b,c,d,e,f){var g=d||c?H(a):0;d=d?!!(g&32):void 0;a=Array.prototype.slice.call(a);for(var h=0;h<a.length;h++)a[h]=Da(a[h],b,c,d,e,f);c&&c(g,a);return a}function Fa(a){return a.s===M?a.toJSON():Aa(a)};function Ga(a,b,c){c=void 0===c?K:c;if(null!=a){if(ta&&a instanceof Uint8Array)return b?a:new Uint8Array(a);if(Array.isArray(a)){var d=H(a);if(d&2)return a;if(b&&!(d&64)&&(d&32||0===d))return I(a,d|34),a;a=Ea(a,Ga,d&4?K:c,!0,!1,!0);b=H(a);b&4&&b&2&&Object.freeze(a);return a}a.s===M&&(b=a.h,c=J(b),a=c&2?a:Q(a.constructor,Ha(b,c,!0)));return a}}function Ha(a,b,c){var d=c||b&2?K:xa,e=!!(b&32);a=Ba(a,b,function(f){return Ga(f,e,d)});G(a,32|(c?2:0));return a};function Ia(a,b){a=a.h;return Ja(a,J(a),b)}function Ja(a,b,c,d){if(-1===c)return null;if(c>=L(b)){if(b&256)return a[a.length-1][c]}else{var e=a.length;
174if(d&&b&256&&(d=a[e-1][c],null!=d))return d;b=c+((b>>9&1)-1);if(b<e)return a[b]}}function Ka(a,b,c,d,e){var f=L(b);if(c>=f||e){e=b;if(b&256)f=a[a.length-1];else{if(null==d)return;f=a[f+((b>>9&1)-1)]={};e|=256}f[c]=d;e&=-1025;e!==b&&I(a,e)}else a[c+((b>>9&1)-1)]=d,b&256&&(d=a[a.length-1],c in d&&delete d[c]),b&1024&&I(a,b&-1025)} 175function La(a,b){var c=Ma;var d=void 0===d?!1:d;var e=a.h;var f=J(e),g=Ja(e,f,b,d);var h=!1;if(null==g||"object"!==typeof g||(h=Array.isArray(g))||g.s!==M)if(h){var k=h=H(g);0===k&&(k|=f&32);k|=f&2;k!==h&&I(g,k);c=new c(g)}else c=void 0;else c=g;c!==g&&null!=c&&Ka(e,f,b,c,d);e=c;if(null==e)return e;a=a.h;f=J(a);f&2||(g=e,c=g.h,h=J(c),g=h&2?Q(g.constructor,Ha(c,h,!1)):g,g!==e&&(e=g,Ka(a,f,b,e,d)));return e}function Na(a,b){a=Ia(a,b);return null==a||"string"===typeof a?a:void 0} 176function Oa(a,b){a=Ia(a,b);return null!=a?a:0}function S(a,b){a=Na(a,b);return null!=a?a:""};function T(a,b,c){this.h=R(a,b,c)}T.prototype.toJSON=function(){var a=Ea(this.h,Fa,void 0,void 0,!1,!1);return Pa(this,a,!0)};T.prototype.s=M;T.prototype.toString=function(){return Pa(this,this.h,!1).toString()}; 177function Pa(a,b,c){var d=a.constructor.v,e=L(J(c?a.h:b)),f=!1;if(d){if(!c){b=Array.prototype.slice.call(b);var g;if(b.length&&N(g=b[b.length-1]))for(f=0;f<d.length;f++)if(d[f]>=e){Object.assign(b[b.length-1]={},g);break}f=!0}e=b;c=!c;g=J(a.h);a=L(g);g=(g>>9&1)-1;for(var h,k,w=0;w<d.length;w++)if(k=d[w],k<a){k+=g;var r=e[k];null==r?e[k]=c?O:wa():c&&r!==O&&va(r)}else h||(r=void 0,e.length&&N(r=e[e.length-1])?h=r:e.push(h={})),r=h[k],null==h[k]?h[k]=c?O:wa():c&&r!==O&&va(r)}d=b.length;if(!d)return b; 178var Ca;if(N(h=b[d-1])){a:{var y=h;e={};c=!1;for(var ca in y)Object.prototype.hasOwnProperty.call(y,ca)&&(a=y[ca],Array.isArray(a)&&a!=a&&(c=!0),null!=a?e[ca]=a:c=!0);if(c){for(var rb in e){y=e;break a}y=null}}y!=h&&(Ca=!0);d--}for(;0<d;d--){h=b[d-1];if(null!=h)break;var cb=!0}if(!Ca&&!cb)return b;var da;f?da=b:da=Array.prototype.slice.call(b,0,d);b=da;f&&(b.length=d);y&&b.push(y);return b};function Qa(a){return function(b){if(null==b||""==b)b=new a;else{b=JSON.parse(b);if(!Array.isArray(b))throw Error(void 0);G(b,32);b=Q(a,b)}return b}};function Ra(a){this.h=R(a)}n(Ra,T);var Sa=Qa(Ra);var U;function V(a){this.g=a}V.prototype.toString=function(){return this.g+""};var Ta={};function Ua(){return Math.floor(2147483648*Math.random()).toString(36)+Math.abs(Math.floor(2147483648*Math.random())^Date.now()).toString(36)};function Va(a,b){b=String(b);"application/xhtml+xml"===a.contentType&&(b=b.toLowerCase());return a.createElement(b)}function Wa(a){this.g=a||p.document||document}Wa.prototype.appendChild=function(a,b){a.appendChild(b)};/* 179 180 SPDX-License-Identifier: Apache-2.0 181*/ 182function Xa(a,b){a.src=b instanceof V&&b.constructor===V?b.g:"type_error:TrustedResourceUrl";var c,d;(c=(b=null==(d=(c=(a.ownerDocument&&a.ownerDocument.defaultView||window).document).querySelector)?void 0:d.call(c,"script[nonce]"))?b.nonce||b.getAttribute("nonce")||"":"")&&a.setAttribute("nonce",c)};function Ya(a){a=void 0===a?document:a;return a.createElement("script")};function Za(a,b,c,d,e,f){try{var g=a.g,h=Ya(g);h.async=!0;Xa(h,b);g.head.appendChild(h);h.addEventListener("load",function(){e();d&&g.head.removeChild(h)});h.addEventListener("error",function(){0<c?Za(a,b,c-1,d,e,f):(d&&g.head.removeChild(h),f())})}catch(k){f()}};var $a=p.atob("aHR0cHM6Ly93d3cuZ3N0YXRpYy5jb20vaW1hZ2VzL2ljb25zL21hdGVyaWFsL3N5c3RlbS8xeC93YXJuaW5nX2FtYmVyXzI0ZHAucG5n"),ab=p.atob("WW91IGFyZSBzZWVpbmcgdGhpcyBtZXNzYWdlIGJlY2F1c2UgYWQgb3Igc2NyaXB0IGJsb2NraW5nIHNvZnR3YXJlIGlzIGludGVyZmVyaW5nIHdpdGggdGhpcyBwYWdlLg=="),bb=p.atob("RGlzYWJsZSBhbnkgYWQgb3Igc2NyaXB0IGJsb2NraW5nIHNvZnR3YXJlLCB0aGVuIHJlbG9hZCB0aGlzIHBhZ2Uu");function db(a,b,c){this.i=a;this.l=new Wa(this.i);this.g=null;this.j=[];this.m=!1;this.u=b;this.o=c} 183function eb(a){if(a.i.body&&!a.m){var b=function(){fb(a);p.setTimeout(function(){return gb(a,3)},50)};Za(a.l,a.u,2,!0,function(){p[a.o]||b()},b);a.m=!0}} 184function fb(a){for(var b=W(1,5),c=0;c<b;c++){var d=X(a);a.i.body.appendChild(d);a.j.push(d)}b=X(a);b.style.bottom="0";b.style.left="0";b.style.position="fixed";b.style.width=W(100,110).toString()+"%";b.style.zIndex=W(2147483544,2147483644).toString();b.style["background-color"]=hb(249,259,242,252,219,229);b.style["box-shadow"]="0 0 12px #888";b.style.color=hb(0,10,0,10,0,10);b.style.display="flex";b.style["justify-content"]="center";b.style["font-family"]="Roboto, Arial";c=X(a);c.style.width=W(80, 18585).toString()+"%";c.style.maxWidth=W(750,775).toString()+"px";c.style.margin="24px";c.style.display="flex";c.style["align-items"]="flex-start";c.style["justify-content"]="center";d=Va(a.l.g,"IMG");d.className=Ua();d.src=$a;d.alt="Warning icon";d.style.height="24px";d.style.width="24px";d.style["padding-right"]="16px";var e=X(a),f=X(a);f.style["font-weight"]="bold";f.textContent=ab;var g=X(a);g.textContent=bb;Y(a,e,f);Y(a,e,g);Y(a,c,d);Y(a,c,e);Y(a,b,c);a.g=b;a.i.body.appendChild(a.g);b=W(1,5);for(c= 1860;c<b;c++)d=X(a),a.i.body.appendChild(d),a.j.push(d)}function Y(a,b,c){for(var d=W(1,5),e=0;e<d;e++){var f=X(a);b.appendChild(f)}b.appendChild(c);c=W(1,5);for(d=0;d<c;d++)e=X(a),b.appendChild(e)}function W(a,b){return Math.floor(a+Math.random()*(b-a))}function hb(a,b,c,d,e,f){return"rgb("+W(Math.max(a,0),Math.min(b,255)).toString()+","+W(Math.max(c,0),Math.min(d,255)).toString()+","+W(Math.max(e,0),Math.min(f,255)).toString()+")"}function X(a){a=Va(a.l.g,"DIV");a.className=Ua();return a} 187function gb(a,b){0>=b||null!=a.g&&0!=a.g.offsetHeight&&0!=a.g.offsetWidth||(ib(a),fb(a),p.setTimeout(function(){return gb(a,b-1)},50))} 188function ib(a){var b=a.j;var c="undefined"!=typeof Symbol&&Symbol.iterator&&b[Symbol.iterator];if(c)b=c.call(b);else if("number"==typeof b.length)b={next:aa(b)};else throw Error(String(b)+" is not an iterable or ArrayLike");for(c=b.next();!c.done;c=b.next())(c=c.value)&&c.parentNode&&c.parentNode.removeChild(c);a.j=[];(b=a.g)&&b.parentNode&&b.parentNode.removeChild(b);a.g=null};function jb(a,b,c,d,e){function f(k){document.body?g(document.body):0<k?p.setTimeout(function(){f(k-1)},e):b()}function g(k){k.appendChild(h);p.setTimeout(function(){h?(0!==h.offsetHeight&&0!==h.offsetWidth?b():a(),h.parentNode&&h.parentNode.removeChild(h)):a()},d)}var h=kb(c);f(3)}function kb(a){var b=document.createElement("div");b.className=a;b.style.width="1px";b.style.height="1px";b.style.position="absolute";b.style.left="-10000px";b.style.top="-10000px";b.style.zIndex="-10000";return b};function Ma(a){this.h=R(a)}n(Ma,T);function lb(a){this.h=R(a)}n(lb,T);var mb=Qa(lb);function nb(a){a=Na(a,4)||"";if(void 0===U){var b=null;var c=p.trustedTypes;if(c&&c.createPolicy){try{b=c.createPolicy("goog#html",{createHTML:q,createScript:q,createScriptURL:q})}catch(d){p.console&&p.console.error(d.message)}U=b}else U=b}a=(b=U)?b.createScriptURL(a):a;return new V(a,Ta)};function ob(a,b){this.m=a;this.o=new Wa(a.document);this.g=b;this.j=S(this.g,1);this.u=nb(La(this.g,2));this.i=!1;b=nb(La(this.g,13));this.l=new db(a.document,b,S(this.g,12))}ob.prototype.start=function(){pb(this)}; 189function pb(a){qb(a);Za(a.o,a.u,3,!1,function(){a:{var b=a.j;var c=p.btoa(b);
189if(c=p[c]){try{var d=Sa(p.atob(c))}catch(e){b=!1;break a}b=b===Na(d,1)}else b=!1}b?Z(a,S(a.g,14)):(Z(a,S(a.g,8)),eb(a.l))},function(){jb(function(){Z(a,S(a.g,7));eb(a.l)},function(){return Z(a,S(a.g,6))},S(a.g,9),Oa(a.g,10),Oa(a.g,11))})}function Z(a,b){a.i||(a.i=!0,a=new a.m.XMLHttpRequest,a.open("GET",b,!0),a.send())}function qb(a){var b=p.btoa(a.j);a.m[b]&&Z(a,S(a.g,5))};(function(a,b){p[a]=function(){var c=ma.apply(0,arguments);p[a]=function(){};b.apply(null,c)}})("__h82AlnkH6D91__",function(a){"function"===typeof window.atob&&(new ob(window,mb(window.atob(a)))).start()});}).call(this); 190 191window.__h82AlnkH6D91__("WyJwdWItMjkwODY1NTYxODU0MDk3NiIsW251bGwsbnVsbCxudWxsLCJodHRwczovL2Z1bmRpbmdjaG9pY2VzbWVzc2FnZXMuZ29vZ2xlLmNvbS9iL3B1Yi0yOTA4NjU1NjE4NTQwOTc2Il0sbnVsbCxudWxsLCJodHRwczovL2Z1bmRpbmdjaG9pY2VzbWVzc2FnZXMuZ29vZ2xlLmNvbS9lbC9BR1NLV3hVb211Q3YtM1ROTmZHVmdEXzZ0OEFuNjcyQWR5UXQxaWNkQ21PX2JiZGJ6eWNteWswZEVHdEV0UlVlRTRrelZxMm5PQmY1LVVnZjhwWVdsSnRweUJyb2lBXHUwMDNkXHUwMDNkP3RlXHUwMDNkVE9LRU5fRVhQT1NFRCIsImh0dHBzOi8vZnVuZGluZ2Nob2ljZXNtZXNzYWdlcy5nb29nbGUuY29tL2VsL0FHU0tXeFhNVlN4bnYzRXhrZFo2b0ZKQ25PdUNCdlM5VmxrcnQ5NzRzb3R2cU9ha2owT3ZiMmhybmtaRkFFbWJzRmhZbDczLThqaWtnQ3YtQ05mR2l2WUoyY0lHYUFcdTAwM2RcdTAwM2Q/YWJcdTAwM2QxXHUwMDI2c2JmXHUwMDNkMSIsImh0dHBzOi8vZnVuZGluZ2Nob2ljZXNtZXNzYWdlcy5nb29nbGUuY29tL2VsL0FHU0tXeFdkSWtZNDRvbFVONXhQc08xcW9kQzBtR0x5bnJqa3YycDlpSUxxS3RZWkNIWjdUT29WYnNoMWZJNFZsXzEzZnZGdVhHTFNzeGF2V3B6TjJOTXBCUmJwbVFcdTAwM2RcdTAwM2Q/YWJcdTAwM2QyXHUwMDI2c2JmXHUwMDNkMSIsImh0dHBzOi8vZnVuZGluZ2Nob2ljZXNtZXNzYWdlcy5nb29nbGUuY29tL2VsL0FHU0tXeFhYR2Y0QmZJSENGUFJiSWs1QUVQOFNrRzk3RUk4RFRJek5XTmU4TTEtTE1kOUd5NjVZQVM1RjVSWGZ4dlUtaVVCVEdRVTdnRVBsemVhWlJCMDJqdklzTXdcdTAwM2RcdTAwM2Q/c2JmXHUwMDNkMiIsImRpdi1ncHQtYWQiLDIwLDEwMCwiY0hWaUxUSTVNRGcyTlRVMk1UZzFOREE1TnpZXHUwMDNkIixbbnVsbCxudWxsLG51bGwsImh0dHBzOi8vd3d3LmdzdGF0aWMuY29tLzBlbW4vZi9wL3B1Yi0yOTA4NjU1NjE4NTQwOTc2LmpzP3VzcXBcdTAwM2RDQWciXSwiaHR0cHM6Ly9mdW5kaW5nY2hvaWNlc21lc3NhZ2VzLmdvb2dsZS5jb20vZWwvQUdTS1d4WHJiMDV0aHFibkc3UXh3SndKTk5tLWI3cEJyRkJqdDNHeVpablA1aDJ3czVRYmFxdHVaYno2MFlkMDNwcVNleERpM2dzTjJab0JDMTlEQWJPdkZYektFd1x1MDAzZFx1MDAzZCJd");</script>
191 192 193 <!-- Global site tag (gtag.js) - Google Analytics -->
vendor: 66 bytes, lines 193-194
193 194 <script async src="https://www.googletagmanager.com/gtag/js?id=
194G-H0XGBVF70F
vendor: 14 bytes, lines 194-195
194"></script> 195
195<script> 196
vendor: 141 bytes, lines 196-200
196window.dataLayer = window.dataLayer || []; 197 function gtag(){dataLayer.push(arguments);} 198 gtag('js', new Date()); 199 200 gtag('config', '
200G-H0XGBVF70F
vendor: 6 bytes, lines 200-201
200'); 201
201</script>
201 202
202<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-2908655618540976" 203 crossorigin="anonymous"></script>
203 204 205
205<script defer src="/js/main.js"></script>
205 206
206<script async src="/js/FileSaver.min.js"></script>
206 207
208<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v31edd6df95cf4e85bb4c19e7a9bdbcba1788362987495" integrity="sha512-iIg7k2xntmwu6/uSb5tpc/hySgZc4eoL31yB29W6tJFo2akwjPWcEqnCEdJvGexCL0KEQwVYv5BlowfhVz26hg==" data-cf-beacon='{"version":"2024.11.0","token":"6d883c7367894b0c9c80bed3ac3e5f34","spa":2}' crossorigin="anonymous"></script>
208 209</body> 210 211 212</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.