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

Balaio do Kotscho

Aras deu um palanque a Moro e não vai acontecer nada

Augusto Aras em seu gabinete - Dida Sampaio/Estadão
Augusto Aras em seu gabinete Imagem: Dida Sampaio/Estadão

Colunista do UOL

29/07/2020 14h45

Esse barulho todo em torno dos arquivos secretos da República da Lava Jato tem os ingredientes necessários para acabar numa grande pizza.

Quem deve ter ficado feliz com as denúncias do procurador-geral Augusto Aras contra os "segredos" dos justiceiros de Curitiba foi certamente o ex-ministro Sergio Moro, que estava em busca de uma boa onda para voltar a surfar na mídia, agora que virou político, já em campanha para 2022.

Nos últimos dias, Moro estava até mandando mensagens de condolências para famílias de vítimas da covid-19 que ele nem conhecia para alimentar suas redes sociais.

Moro foi rápido no gatilho ao responder a Aras no Twitter:

"Desconheço segredos ilícitos no âmbito da Lava Jato. Ao contrário, a Operação sempre foi transparente e teve suas decisões confirmadas pelos tribunais de segunda instância e também pelas Cortes superiores, como STJ e STF".

É verdade. Até as eleições de 2018, em que Bolsonaro virou presidente, e Moro seu ministro, todas as decisões da Lava Jato de Curitiba eram prontamente confirmadas pelos tribunais superiores, sem maiores discussões.

Acontece que agora o STF está dividido ao meio entre os grupos "lavajatistas" e "garantistas", e nada garante que o plenário referende a decisão monocrática do presidente Dias Toffoli, que mandou enviar a Brasília todo o material da forças-tarefas da Lava Jato de Curitiba, São Paulo e Rio.

Em setembro, quem assume a presidência do STF é o ministro Luís Fux, um lavajatista juramentado, enquanto Toffoli está alinhado com os garantistas.

Aras descobriu que a Lava Jato de Moro em Curitiba tinha informações, não compartilhadas com o Ministério Público Federal, de mais de 38 mil pessoas, um arquivo com 50 mil documentos e 350 terabytes, nove vezes mais do que o sistema todo do MPF em Brasília.

E daí?, como perguntaria Bolsonaro, a quem Aras quer agradar, atacando Moro, depois que o presidente e o ex-ministro viraram inimigos?

Até pelo tamanho da encrenca, vai levar alguns séculos até o MPF destrinchar todo esse material e chegar a alguma decisão.

Como a Lava Jato ainda é muito popular, tudo indica que, quanto mais durar esse imbroglio, melhor será para a campanha de Moro, que agora ganhou um palanque.

Na sua campanha particular para conquistar a vaga do ministro Celso de Mello, que se aposenta em novembro, Aras vai precisar convencer apenas um eleitor: o presidente Bolsonaro, que o nomeou para a PGR.

Já Moro precisa transformar em milhões de votos, algo que nunca fez na vida, o prestígio popular que ganhou ao condenar e prender Lula, surfando na onda do antipetismo.

Antes disso, porém, o ex-juiz terá que enfrentar no STF a ação movida contra ele pela defesa de Lula por supostamente ter atuado com parcialidade no julgamento do ex-presidente no caso do triplex do Guarujá.

O relator da ação, ministro Gilmar Mendes, já avisou que só colocará esse processo em pauta quando puder reunir presencialmente a 2ª Turma do Supremo.

O espólio da Lava Jato, agora disputado por Aras e Moro, ainda ocupará o noticiário por um bom tempo, e poderá ser decisivo na definição do cenário para 2022.

Até descobrirem o que tem nos 350 terabytes da República da Lava Jato vai levar um bom tempo.

Façam suas apostas. Eu aposto na pizza.

Vida que segue.