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

Operação Lava Jato

Procuradores viram Lula favorito e torceram por 'sofrimento de eleitores'

O ex-presidente Luiz Inácio Lula da Silva (PT) - 10.mar.2021 - Marcelo D. Sants/Framephoto/Estadão Conteúdo
O ex-presidente Luiz Inácio Lula da Silva (PT) Imagem: 10.mar.2021 - Marcelo D. Sants/Framephoto/Estadão Conteúdo

Do UOL, em São Paulo

29/03/2021 16h29

A defesa do ex-presidente Luiz Inácio Lula da Silva (PT) apresentou hoje ao STF (Supremo Tribunal Federal) trecho de um diálogo em que procuradores da República comentavam em 2015 o cenário eleitoral no país. As conversas foram obtidas por ataque hacker —investigado pela Operação Spoofing— a celulares de autoridades.

Um dos interlocutores é o ex-presidente da ANPR (Associação Nacional dos Procuradores da República) José Robalinho, que disse acreditar ser "praticamente impossível derrotar são Lula" em 2018. No grupo, um interlocutor identificado apenas como Ailton —que, segundo a defesa de Lula, é procurador— disse apreciar "o sofrimento dos eleitores de Lula".

As conversas foram submetidas a perícia pela defesa de Lula. Entre os alvos dos hackers, estavam membros da força-tarefa da Operação Lava Jato.

No diálogo destacado pelos advogados de Lula, não há porém referência clara sobre a participação de membros da força-tarefa. A única pessoa identificada foi Robalinho. Segundo a defesa do ex-presidente, o diálogo aconteceu em um grupo envolvendo procuradores da República em 28 de junho de 2015.

Na época, a Lava Jato ainda não havia avançado sobre Lula —a primeira ação contra o ex-presidente aconteceu em março de 2016.

Pelo recorte apresentado pela defesa de Lula, o contexto em que se dá a conversa não é informado. O trecho começa com um comentário sobre o cenário político, citando o ex-presidente.

Robalinho Lula eh franco favorito. Já disse. Enquanto não se discutir o meu nordeste será quase impossível derrotar o pt e praticamente impensável derrotar são lula
Ailton Mas ver os vermes estrebuchando é interessante.
Vladimir Pena de morte, redução da idade penal, aumento drástico da escala... Nada disso é solução. Nosso problema está muito mais no processo penal e na execução penal do que no direito penal. E, claro, no que está além do crime: educação de qualidade, economia estável, políticas públicas em geral.
Luiza http://www.mapadaviolencia.org.br/mapa2014_jovens.php
22:24:52 De minha parte, não estou em ubeba de solução.
22:25:00 Busca
Ailton Por isso aprecio o sofrimento dos eleitores de Lula, sem comiseração.
Robalinho Kkkkk
Ailton Afinal, o sofrimento alheio é muito salutar.

Em petição apresentada ao STF, a defesa de Lula reclama sobre as falas de Ailton, não identificado pela defesa. Ressalte-se que não havia um procurador Ailton na força-tarefa da Lava Jato.

"Como um membro do Ministério Público Federal, que tem a missão constitucional de defender a ordem jurídica, pode ter a compreensão —manifestada entre os membros da Lava Jato— de que 'o sofrimento alheio é muito salutar'?", diz o documento da defesa.

O UOL procurou José Robalinho através da ANPR, que ainda não se manifestou sobre o trecho destacado pela defesa de Lula.

Operação Lava Jato