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

Petista é atacado nas redes por postagens antes de decisão sobre Lula

Senador Humberto Costa (PT-PE), atacado nas redes por postagens sobre Lula - Kleyton Amorim/UOL
Senador Humberto Costa (PT-PE), atacado nas redes por postagens sobre Lula Imagem: Kleyton Amorim/UOL

Do UOL, em São Paulo

08/03/2021 23h45

O senador Humberto Costa (PT-PE) tem recebido ataques em seu perfil do Twitter devido a um vídeo que postou do ex-presidente Luiz Inácio Lula da Silva.

Nos comentários, opositores acusam o político de saber antecipadamente da decisão de hoje do ministro Edson Fachin de anular as condenações de Lula. Com isso, o petista retomou seus direitos políticos e pode concorrer às eleições de 2022.

Na postagem feita ontem à noite, Costa escreveu: "Podem se preparar", com uma imagem do ex-presidente fazendo exercícios.

"O Humberto Costa já sabia da decisão favorável do STF", escreveu um usuário da rede social. "Me explica esse post 20 horas antes da decisão do STF?", exigiu outro.

Ao UOL, o senador disse que a postagem foi feita "pensando no julgamento do HC [habeas corpus] sobre a declaração da suspeição do [ex-juiz e ex-miistro Sergio] Moro". Ele não quis comentar os ataques.

A defesa de Lula pediu em novembro de 2018 o julgamento de parcialidade do então juiz Sergio Moro, dias após ele aceitar o convite para ser ministro do governo de Jair Bolsonaro (sem partido).

A defesa do petista alega que uma das provas da parcialidade de Moro foi a entrada do ex-juiz na política. Moro nega que tenha havido suspeição ou troca de favores.

O recurso começou a ser julgado em dezembro daquele ano, mas foi interrompido após um pedido de vista do ministro Gilmar Mendes. Ele pretendia devolver o caso à 2ª Turma ainda neste semestre.

Porém, com a decisão de hoje de Fachin, não está certo se o STF manterá o julgamento. Mas membros do Supremo querem manter a discussão, segundo apuraram as colunistas Juliana Dal Piva, do UOL, e Mônica Bergamo, da Folha.

A decisão

Fachin anulou todas as condenações de Lula pela Justiça Federal do Paraná no âmbito da Operação Lava Jato.

Ao conceder o habeas corpus a Lula, Fachin declarou que a 13ª Vara Federal de Curitiba, origem da Lava Jato, não tem competência para julgar os processos do tríplex de Guarujá (SP), do sítio de Atibaia (SP) e os dois relacionados ao Instituto Lula, uma vez que os casos não se limitam apenas aos desvios ocorridos na Petrobras, mas também a outros órgãos da istração pública.