;(function() { window.createMeasureObserver = (measureName) => { var markPrefix = `_uol-measure-${measureName}-${new Date().getTime()}`; performance.mark(`${markPrefix}-start`); return { end: function() { performance.mark(`${markPrefix}-end`); performance.measure(`uol-measure-${measureName}`, `${markPrefix}-start`, `${markPrefix}-end`); performance.clearMarks(`${markPrefix}-start`); performance.clearMarks(`${markPrefix}-end`); } } }; /** * Gerenciador de eventos */ window.gevent = { stack: [], RUN_ONCE: true, on: function(name, callback, once) { this.stack.push([name, callback, !!once]); }, emit: function(name, args) { for (var i = this.stack.length, item; i--;) { item = this.stack[i]; if (item[0] === name) { item[1](args); if (item[2]) { this.stack.splice(i, 1); } } } } }; var runningSearch = false; var hadAnEvent = true; var elementsToWatch = window.elementsToWatch = new Map(); var innerHeight = window.innerHeight; // timestamp da última rodada do requestAnimationFrame // É usado para limitar a procura por elementos visíveis. var lastAnimationTS = 0; // verifica se elemento está no viewport do usuário var isElementInViewport = function(el) { var rect = el.getBoundingClientRect(); var clientHeight = window.innerHeight || document.documentElement.clientHeight; // renderizando antes, evitando troca de conteúdo visível no chartbeat-related-content if(el.className.includes('related-content-front')) return true; // garante que usa ao mínimo 280px de margem para fazer o lazyload var margin = clientHeight + Math.max(280, clientHeight * 0.2); // se a base do componente está acima da altura da tela do usuário, está oculto if(rect.bottom < 0 && rect.bottom > margin * -1) { return false; } // se o topo do elemento está abaixo da altura da tela do usuário, está oculto if(rect.top > margin) { return false; } // se a posição do topo é negativa, verifica se a altura dele ainda // compensa o que já foi scrollado if(rect.top < 0 && rect.height + rect.top < 0) { return false; } return true; }; var asynxNextFreeTime = () => { return new Promise((resolve) => { if(window.requestIdleCallback) { window.requestIdleCallback(resolve, { timeout: 5000, }); } else { window.requestAnimationFrame(resolve); } }); }; var asyncValidateIfElIsInViewPort = function(promise, el) { return promise.then(() => { if(el) { if(isElementInViewport(el) == true) { const cb = elementsToWatch.get(el); // remove da lista para não ser disparado novamente elementsToWatch.delete(el); cb(); } } }).then(asynxNextFreeTime); }; // inicia o fluxo de procura de elementos procurados var look = function() { if(window.requestIdleCallback) { window.requestIdleCallback(findByVisibleElements, { timeout: 5000, }); } else { window.requestAnimationFrame(findByVisibleElements); } }; var findByVisibleElements = function(ts) { var elapsedSinceLast = ts - lastAnimationTS; // se não teve nenhum evento que possa alterar a página if(hadAnEvent == false) { return look(); } if(elementsToWatch.size == 0) { return look(); } if(runningSearch == true) { return look(); } // procura por elementos visíveis apenas 5x/seg if(elapsedSinceLast < 1000/5) { return look(); } // atualiza o último ts lastAnimationTS = ts; // reseta status de scroll para não entrar novamente aqui hadAnEvent = false; // indica que está rodando a procura por elementos no viewport runningSearch = true; const done = Array.from(elementsToWatch.keys()).reduce(asyncValidateIfElIsInViewPort, Promise.resolve()); // obtém todos os elementos que podem ter view contabilizados //elementsToWatch.forEach(function(cb, el) { // if(isElementInViewport(el) == true) { // // remove da lista para não ser disparado novamente // elementsToWatch.delete(el); // cb(el); // } //}); done.then(function() { runningSearch = false; }); // reinicia o fluxo de procura look(); }; /** * Quando o elemento `el` entrar no viewport (-20%), cb será disparado. */ window.lazyload = function(el, cb) { if(el.nodeType != Node.ELEMENT_NODE) { throw new Error("element parameter should be a Element Node"); } if(typeof cb !== 'function') { throw new Error("callback parameter should be a Function"); } elementsToWatch.set(el, cb); } var setEvent = function() { hadAnEvent = true; }; window.addEventListener('scroll', setEvent, { capture: true, ive: true }); window.addEventListener('click', setEvent, { ive: true }); window.addEventListener('resize', setEvent, { ive: true }); window.addEventListener('load', setEvent, { once: true, ive: true }); window.addEventListener('DOMContentLoaded', setEvent, { once: true, ive: true }); window.gevent.on('allJSLoadedAndCreated', setEvent, window.gevent.RUN_ONCE); // inicia a validação look(); })();
  • AssineUOL
Topo

Esse conteúdo é antigo

Bolsonaro grita com repórter durante evento em Sorocaba

Rayanne Albuquerque e Lucas Valença

Do UOL, em São Paulo e colaboração para o UOL, em Brasília

25/06/2021 10h42Atualizada em 25/06/2021 13h23

O presidente Jair Bolsonaro (sem partido) gritou com uma repórter durante o evento de inauguração do Centro de Tecnologia 4.0 que aconteceu na manhã de hoje, em Sorocaba, no interior de São Paulo.

Ao ser questionado por uma jornalista da CNN sobre o atraso da compra de vacinas e sobre o contrato com a Covaxin, o presidente gritou e disse que a imprensa faz "perguntas idiotas" e "ridículas".

Em fevereiro? Onde é que tem vacina para atender todo o mercado aqui e em todo o lugar do mundo? Responda? Para de fazer pergunta idiota, pelo amor de deus. Então, seguinte, vamos fazer pergunta inteligente, pessoal
Jair Bolsonaro

Exaltado, Bolsonaro falou também em relação ao governo dele, afirmando que nunca houve corrupção registrada, diferente de outros governos, segundo ele. "Eu sou incorruptível, além de imbrochável", disse o presidente.

Nesta semana, o presidente Jair Bolsonaro também desrespeitou uma repórter da TV Vanguarda, filiada à TV Globo no interior de São Paulo. A atitude do presidente se deu após o questionamento sobre o uso de máscara em eventos.

Sem máscara, porém, o presidente voltou a promover aglomerações em Sorocaba na manhã de hoje. Muitos dos apoiadores que foram ao encontro de Bolsonaro também não usavam o equipamento de proteção individual.

Sobre pesquisas eleitorais, que têm projetado que Bolsonaro poderá perder um segundo turno contra o ex-presidente Lula, o presidente afirmou que "não acredita nas pesquisas".

"O Datafolha disse que eu não ganhava de ninguém. E o que aconteceu? É por isso que queremos voto auditável", afirmou ao desconsiderar que o voto com a urna eletrônica também é auditável.

O presidente ainda citou as pesquisas eleitorais realizadas pelo Ipec, que mostra o ex-presidente Lula com 49% da intenção dos votos e Bolsonaro com 23%.

Ele também voltou a criticar indiretamente o Judiciário e voltou a dizer que, caso o petista ganhe as eleições de 2022, será "fraude".

Tiraram o Lula da cadeia, tornaram elegível para quê? Eleger o ex-presidente na fraude? Se o congresso nacional promulgar a PEC do voto auditável da Bia Kicis, teremos voto auditável e ponto final
Jair Bolsonaro

Mesmo tendo ministros frutos de negociações políticas, o presidente voltou a defender em uma fala elogioso ao ministro Marcos Pontes, da Ciência e Tecnologia, no evento de apresentação da tecnologia 5G no Brasil, que não há loteamento de cargos em seu governo.

Nunca tivemos no Brasil uma composição de ministério como essa. Olha como era antes, era só roubalheira", afirmou antes de brincar com os presentes que "se tiver alguém melhor do que Marcos Pontes, troco ele hoje
Jair Bolsonaro

Já na cerimônia, o presidente Bolsonaro voltou a criticar as medidas de isolamento social adotadas por estados e municípios no combate à pandemia do novo coronavírus.

"O Agro segurou a nossa economia no ano ado. O homem do campo não ficou em casa. Se tivesse ficado teria sido um desastre. Assim como o governo federal fez de tudo para que nada fosse fechado no Brasil", declarou.