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

Rubens Valente

Ministro da Justiça afasta diretor de inteligência

André Mendonça, ministro da Justiça - AGU/Ascom/Divulgação
André Mendonça, ministro da Justiça Imagem: AGU/Ascom/Divulgação

Colunista do UOL

03/08/2020 20h37

O Ministério da Justiça informou em nota nesta segunda-feira (3) que o ministro André Mendonça decidiu substituir a "chefia da Diretoria de Inteligência" da Seopi (Secretaria de Operações Integradas), unidade que fez um dossiê contra policiais antifascismo e quatro acadêmicos considerados "formadores de opinião".

A assessoria do MJ na sequência informou ao UOL que será trocado o diretor de inteligência, Gilson Libório Mendes, coronel reformado que tem formação militar na EsAO (Escola de Aperfeiçoamento de Oficiais) do Exército. O nome do substituto ainda não foi anunciado.

A decisão ocorre dez dias depois de o UOL ter revelado o levantamento secreto. Nesta segunda-feira (3), "O Estado de S. Paulo" mostrou que nove dos servidores que atuavam na área de inteligência do ministério, incluindo Libório, haviam sido nomeados pelo próprio André Mendonça, que assumiu o ministério após o pedido de demissão, em abril, do então ministro Sergio Moro.

A íntegra da nota do ministério é a seguinte:

"Após determinação do ministro da Justiça e Segurança Pública, André Mendonça, a Corregedoria-Geral do Ministério instaurou, nesta segunda-feira (3), Sindicância Investigativa para apurar os fatos relacionados à Diretoria de Inteligência da Secretaria de Operações Integradas (SEOPI), conforme amplamente divulgado na imprensa.

A Comissão foi designada através da Portaria COGER nº 158/2020 e é composta por um delegado de Polícia Federal, integrante da Corregedoria-Geral do MJSP; um Procurador da Fazenda Nacional e um Auditor Federal de Finanças e Controle da Controladoria-Geral da União.

Como medida considerada adequada à realização dos trabalhos da Comissão, o ministro decidiu pela substituição da chefia da Diretoria de Inteligência da SEOPI.

Por fim, o Ministério da Justiça e Segurança Pública destaca que o ministro André Mendonça está à disposição para prestar esclarecimentos à Comissão Mista de Investigação da Atividade de Inteligência, aguardando apenas a definição da data".