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

Moro "recicla" pacote anticorrupção que não avançou no Congresso

Leandro Prazeres*

Do UOL, em Brasília

05/02/2019 04h00

O projeto anticrime apresentado nesta segunda-feira (4) pelo ministro da Justiça e Segurança Pública, Sergio Moro, "reciclou" pelo menos 10 tópicos do famoso pacote das 10 medidas de combate à corrupção que "naufragou" no Congresso Nacional entre 2016 e 2017 (leia a íntegra do projeto). 

O pacote das 10 medidas foi um projeto de iniciativa popular que contou com a de mais de 2 milhões de pessoas. Ele foi encabeçado pela PR-PR (Procuradoria da República no Paraná) no auge da Operação Lava Jato. 

Moro, então no comando da 13ª Vara da Justiça Federal do Paraná, chegou a participar de uma sessão da comissão especial que analisava a matéria na Câmara dos Deputados para defender a iniciativa. 

Apesar do empenho do então magistrado, o projeto foi esfacelado ao tramitar na Câmara dos Deputados. Das dez medidas inicialmente propostas, apenas uma foi aprovada pelo Plenário da Câmara de forma integral. A proposta ainda tramita no Senado.

Na época, o então deputado e hoje ministro da Casa Civil, Onyx Lorenzoni, disse que o projeto estava sendo "dizimado". 

Agora, para Moro, o Congresso vive "outro momento político".

"Há uma abertura maior para propostas relacionadas a essa área de corrupção. Muitas vezes no ado, houve também problemas de conflitos e tensões decorrentes do momento circunstancial. Acredito que essas questões foram muito superadas com a eleição do novo governo federal", afirmou.

Moro diz que lei deve ser mais rigorosa com crimes graves

UOL Notícias

Regime fechado para corrupção

Entre as medidas recuperadas por Moro em seu projeto anticrime, estão as que endurecem o cumprimento das penas para condenados pelos crimes de peculato, corrupção iva e corrupção ativa. 

A proposta que chegou à Câmara previa o aumento da pena para quem cometesse esses crimes. O projeto de Moro não altera o tamanho das penas, mas determina que o regime para cumprimento das sentenças é, inicialmente, o fechado. A ideia é evitar que condenados por corrupção comecem o cumprimento de suas penas em regimes como o semiaberto. 

O projeto de Moro, assim como o pacote das 10 medidas, também prevê alterações no regime de prescrição de punições. A nova proposta prevê que o prazo para prescrição não corra enquanto houver embargos de declaração ou recursos em tribunais superiores tramitando. Em 2016, o Plenário da Câmara derrubou uma medida semelhante que constava no pacote das 10 medidas. 

Outra proposta recuperada por Moro é a criação do "informante do bem". Trata-se de uma pessoa que pode ser agente público ou não e que poderá prestar informações sobre crimes sem que sua identidade seja divulgada ao longo do processo. 

A proposta causou bastante polêmica quando foi divulgada em 2016 e chegou a ser retirada do parecer final de Onyx Lorenzoni. Agora, a proposta volta prevendo que "ninguém poderá ser condenado apenas com base em depoimento prestado pelo informante, quanto mantida em sigilo a sua identidade".

*Colaborou Bernardo Barbosa, do UOL em São Paulo