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

Moro: Pena a Silveira foi excessiva, mas indulto poderia ter sido parcial

Colaboração para o UOL, em São Paulo

25/04/2022 11h44Atualizada em 25/04/2022 13h40

O ex-ministro da Justiça e ex-juiz Sergio Moro avaliou que o deputado federal Daniel Silveira (PTB-RJ) se "excedeu nas palavras" ao atacar o STF (Supremo Tribunal Federal), mas que a pena dada pela Corte foi "excessiva".

Além do mais, Moro afirmou que o presidente Jair Bolsonaro (PL) errou ao conceder um perdão total da pena aplicada ao deputado federal aliado. "Poderia talvez ter dado um indulto parcial, de redução da pena", disse o ex-juiz ao UOL Entrevista, conduzido pela apresentadora Fabíola Cidral, com participação dos colunistas Josias de Souza e Alberto Bombig.

Para o ex-ministro, o que aconteceu no caso, no fundo, foi uma "sucessão de erros" que poderiam ter sido evitados caso Silveira não proferisse críticas ao STF, que "não estão protegidas pela liberdade de expressão" por se tratarem de ataques.

"O indulto vem dessa sucessão de erros que não fazem bem para a nossa democracia", declarou Moro. "Ele me parece desproporcional aos ataques feitos por ele ao STF", avaliou ainda sobre o perdão presidencial.

A fala veio após uma série de críticas ao Supremo. Moro disse que não compreende alguns dos votos proferidos nos últimos dois anos e afirmou que certas ações "praticamente desmantelaram" o combate à corrupção no Brasil.

"Essa decisão de revogar a prisão após condenação em segunda instância, essas anulações de condenações do ex-presidente Lula [Luiz Inácio Lula da Silva (PT)] por motivos que, sinceramente, não consigo compreender com facilidade, tudo isso levou a um enfraquecimento do combate à corrupção e deixou o país vulnerável", declarou o ex-juiz.

Apesar disso, disse que é preciso fortalecer as instituições e comparou Lula com Bolsonaro, dizendo que ambos são "representantes de espectros políticos que flertam com o populismo e o autoritarismo".

Moro afirmou que o Brasil relativizou as declarações de Bolsonaro nas eleições adas e pode enfrentar "o risco de fazer a mesma minimização" elegendo Lula. "Eu era juiz da Lava Jato, fomos severamente atacados pelo Lula e pelo PT", declarou.

"Em 2018, o presidente atual deu uma série de declarações que foram relativizadas, inclusive faço aqui meu mea culpa, que colocavam em dúvidas as credenciais democráticas dele. E hoje vemos uma situação bastante complexa", disse Moro. "Por isso, precisamos de um centro moderado que seja firme em princípios e valores. A população precisa ser estimulada a escolher e a votar em alternativas."