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

MPF é favorável a soltura de Torres, que terá de cumprir medidas cautelares

17/04/2023 17h04Atualizada em 17/04/2023 19h52

O MPF (Ministério Público Federal) disse ao STF (Supremo Tribunal Federal) que é a favor da soltura do ex-secretário de Segurança Pública do Distrito Federal Anderson Torres.

O que aconteceu:

Torres já teve pedido de liberdade rejeitado em outras oportunidades pelo STF. Com o avanço das investigações, o MPF foi favorável à soltura. "Considerando o cenário atual das investigações, existem medidas cautelares diversas da prisão que cumprem de forma mais adequada as finalidades em tela", disse o subprocurador-geral da República Carlos Frederico Santos

Santos condicionou a revogação da prisão ao cumprimento de medidas cautelares: uso de tornozeleira eletrônica, proibição de Torres de se ausentar do Distrito Federal e de manter contato com os demais investigados, além da manutenção do afastamento do cargo de delegado de Polícia Federal.

O monitoramento eletrônico e a restrição de deslocamento constituem medidas menos gravosas do que a prisão, na opinião do MPF. Elas são providências adequadas ao caso, além de garantirem a aplicação da lei penal.

Prisão do ex-ministro

O ex-ministro está preso há 94 dias no Batalhão da Polícia Militar do Distrito Federal. Ex-secretário de Segurança Pública, Torres é investigado por suposta omissão durante os ataques que resultaram na invasão e depredação da sede dos três Poderes.

Este foi o segundo pedido de soltura apresentado por Torres a Moraes, mas o primeiro encabeçado pelo advogado Eumar Novacki, ex-chefe da Casa Civil de Ibaneis Rocha. Ele assumiu a defesa após a saída do criminalista Rodrigo Roca.

No início de março, Moraes rejeitou o primeiro pedido de liberdade de Torres. Na ocasião, o ministro apontou:
A necessidade de diligências pendentes a serem concluídas pela PF, incluindo a perícia na minuta encontrada na casa de Torres;

O trecho do parecer da PGR, que cita a ausência deliberada de Torres do comando das estruturas da Secretaria de Segurança Pública às vésperas dos atos

Os elementos de prova até o momento coligidos aos autos indicam que Anderson Gustavo Torres teria descumprido, no mínimo mediante omissão, os deveres do cargo de Secretário de Segurança Pública do Distrito Federal"
Alexandre de Moraes, em decisão que rejeitou a soltura de Torres em março