;(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

Após ato pró-governo, ruralistas doam comida a programa ligado a Michelle

Ruralistas entregaram alimentos ao casal Bolsonaro no Palácio da Alvorada - Reprodução
Ruralistas entregaram alimentos ao casal Bolsonaro no Palácio da Alvorada Imagem: Reprodução

Do UOL, em Brasília

16/05/2021 14h17Atualizada em 16/05/2021 14h44

Após promoverem um ato pró-governo ontem na Esplanada dos Ministérios, ruralistas doaram alimentos ao programa Pátria Voluntária, encampado pela primeira-dama Michelle Bolsonaro.

Segundo postagem de Bolsonaro no Facebook, a doação aconteceu hoje no Palácio da Alvorada, residência oficial da Presidência em Brasília, onde mora a família presidencial.

A legenda da publicação afirma que foram "dezenas de toneladas" de alimentos. Procurada pela reportagem, a Presidência não soube informar a quantidade exata e informou que buscaria o dado junto ao Pátria Voluntária, voltado a ações de voluntariado.

Ao lado de representantes de ala dos ruralistas, do deputado federal Major Vitor Hugo (PSL-GO) e de Michelle Bolsonaro, o presidente Jair Bolsonaro voltou a criticar medidas de restrição de circulação de pessoas e de isolamento social.

"O homem do campo, que não parou durante a pandemia, alimenta o nosso país bem como mais de um bilhão de pessoas mundo afora. Então, só temos a agradecer a todos vocês por essa doação de dezenas de toneladas para os mais necessitados. O nosso governo, em momento nenhum, fechou nada, fechou comércio ou destruiu empregos", afirmou.

"De modo que, essas pessoas que ficaram desempregadas estão sendo atendidas agora por vocês neste momento difícil de uma transição para a normalidade. Parabéns ao agro e obrigado todos vocês", acrescentou.

Sem máscara em ato, Bolsonaro volta a falar em fraude nas eleições

Ontem no ato na Esplanada, o presidente Jair Bolsonaro disse que "sem voto auditável" o ex-presidente Luiz Inácio Lula da Silva (PT) vencerá as eleições de 2022 "pela fraude". Mais uma vez, Bolsonaro participou de um evento com aglomeração sem usar máscara e voltou a criticar as medidas de isolamento social para o enfrentamento à pandemia do novo coronavírus.

"Se tiraram da cadeia o maior canalha da história do Brasil, se para esse canalha foi dado o direito de concorrer, o que me parece é que, se não tivermos o voto auditável, esse canalha, pela fraude, ganha as eleições do ano que vem. Não podemos itir um sistema eleitoral que é ível de fraude", disse Bolsonaro.

Segundo o TSE (Tribunal Superior Eleitoral), o processo de voto eletrônico já a por auditoria. O tribunal afirma que, desde 2002, quando a auditoria ou a ser feita em todos os estados, o processo nunca apontou falhas que pudessem alterar os resultados das eleições.

Pesquisa Datafolha divulgada esta semana mostrou que Lula lidera a corrida eleitoral de 2022. Em um possível segundo turno contra Bolsonaro, o ex-presidente tem 55% de intenção de voto, contra 32% do atual chefe do Executivo.

O ato e a fala de Bolsonaro acontecem também em momento em que a I da Covid, no Senado, investiga ações e eventuais omissões do governo federal em meio à pandemia.

Após contar com xingamentos e até ameaça de prisão nos últimos dias, a I da Covid deve ter uma semana ainda mais nervosa com os depoimentos do ex-ministro da Saúde Eduardo Pazuello e do ex-ministro das Relações Exteriores Ernesto Araújo.