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

Sem MPF, governo e TCU assinam cooperação sobre acordos de leniência

Ministro Dias Toffoli - Rosinei Coutinho/STF Divulgação
Ministro Dias Toffoli Imagem: Rosinei Coutinho/STF Divulgação

Felipe Amorim

Do UOL, em Brasília

06/08/2020 13h34

Representantes do TCU e autoridades do governo Jair Bolsonaro (sem partido) am hoje um termo de cooperação sobre os acordos de leniência com o objetivo de facilitar a troca de informações e evitar conflitos entre as instituições normalmente envolvidas nesse tipo de negociação.

A foi feita em cerimônia on-line realizada no STF (Supremo Tribunal Federal). O presidente do STF, Dias Toffoli, participou da negociação para o acordo.

Além do TCU, firmaram o documento representantes do TCU, AGU (Advocacia-Geral da União), CGU (Controladoria-Geral da União) e Ministério da Justiça. O procurador-geral da República, Augusto Aras, não participou hoje da do termo de cooperação.

O acordo encontra resistência interna no MPF (Ministério Público Federal) e é criticado por esvaziar a participação do órgão na negociação com empresas envolvidas em ilegalidades.

Em nota divulgada ontem pela PGR, Aras afirma ter interesse no acordo com o TCU e o governo mas disse que ainda aguarda manifestação da 5ª Câmara de Coordenação e Revisão, órgão do MPF encarregado da avaliação dos acordos de leniência, antes de decidir pela participação no termo de cooperação.

Os acordos de leniência são uma espécie de delação premiada feita por empresas que, em troca de continuar podendo celebrar contratos com o poder público, confessam irregularidades, pagam multas e se comprometem a ressarcir o prejuízo aos cofres públicos e auxiliar nas investigações.

Na cerimônia de hoje, Toffoli afirmou que o termo de cooperação não retira atribuições do MPF. "O acordo de cooperação sobre acordos de leniência não cria nem retira competências, pois estas decorrem da Constituição e das leis", disse o presidente do STF.

O texto assinado hoje dá protagonismo à CGU e AGU na negociação dos acordos de leniência e prevê que o MPF deverá informar à CGU caso encontre indícios do envolvimento de empresas em crimes, desde que isso não atrapalhe o andamento das investigações.

Esses pontos foram interpretados como um enfraquecimento da atuação do MPF nos acordos.

A ANPR (Associação Nacional dos Procuradores da República) afirmou que o texto prioriza "a atuação de a atuação de órgãos de governo e do controle interno" em detrimento do MPF.

"Alijar o Ministério Público dos acordos de leniência não atende ao interesse público, por não produzir os efeitos de segurança jurídica desejados, além de enfraquecer os esforços do país contra a corrupção", disse a ANPR em nota divulgada ontem.

A Lei Anticorrupção estabelece que é papel da CGU firmar acordos de leniência que envolvam o governo federal.