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

Ministro de Lula sobre envolvidos em 8/1: 'A justiça os alcançará'

Ministro Paulo Pimenta   - JOSÉ LUIZ TAVARES/ESTADÃO CONTEÚDO
Ministro Paulo Pimenta Imagem: JOSÉ LUIZ TAVARES/ESTADÃO CONTEÚDO

Do UOL, em São Paulo

23/04/2023 18h05

O ministro Paulo Pimenta disse que "todos serão punidos" por ataques às sedes dos Três Poderes em Brasília, em 8 de janeiro. Ele também criticou o uso "manipulado" das gravações sobre o dia.

O que aconteceu

O ministro da Secretaria de Comunicação Social falou em "manipulações grosseiras" dos vídeos de 8 de janeiro. Ele afirmou que isso revela "o desespero dos que temem que toda verdade venha a tona" em suas redes sociais.

Ele não explica que imagens teriam sido manipuladas. O ministro interino do Gabinete de Segurança Institucional (GSI), Ricardo Cappelli, disse ontem ao jornal Valor Econômico que as imagens divulgadas pela CNN Brasil foram editadas, invertendo a ordem cronológica dos acontecimentos.

Para Pimenta, "a MI e as investigações revelarão ao Brasil todos os envolvidos". Ele disse que participantes, financiadores e apoiadores vão responder pelos "crimes contra a democracia".

Não importa se são civis ou militares, não importa o cargo ou patente, todos, sem exceção, serão identificados e punidos. Muitos que estão quietos escondidos pensam que escaparão impunes. Ledo engano.
Paulo Pimenta, ministro da Secretaria de Comunicação Social

Dino: investigação trará 'holofotes' a gente 'escondida nas sombras'

O ministro Flávio Dino disse que essas pessoas são "covardes" por não saírem em defesa de aliados presos. "Alguns destes permanecerão muitos anos no cárcere", afirmou.

"Os 'valentes fakes' planejaram, incitaram, conspiraram, financiaram, jogaram pedras e esconderam as mãos sujas. E ainda tem a petulância de apontar tais dedos sujos para as vítimas dos crimes", acrescentou.

Ministro do GSI defende Gonçalves Dias

Chefe interino do GSI, Ricardo Cappelli, chamou GDias de "honrado" e defendeu o ex-ministro. "Eu sei o que vi e ouvi comandando as tropas no dia 8/01. Não é possível falsificar os fatos criando uma narrativa a-histórica como tentam fazer extremistas terraplanistas", afirmou Ricardo Capelli nas redes sociais.

No mesmo post, Cappelli mirou nos generais Augusto e Braga Netto. "Onde estão Heleno e Braga Neto? Se há um general conspirador e golpista, certamente não é o honrado Gdias", disse Capelli.

Gonçalves Dias deixou o comando do GSI após o surgimento de imagens que mostram ele dentro do Palácio do Planalto no dia 8 de janeiro. Ele aparece conversando e caminhando ao lado de invasores.