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

PM da Rota morto em SP foi ameaçado pelo PCC há 6 meses, diz colega

Luís Adorno

Do UOL, em São Paulo

04/05/2019 14h52Atualizada em 06/05/2019 14h50

O policial militar Fernando Flavio Flores, 38, assassinado na manhã de hoje em Interlagos, zona sul de São Paulo, foi ameaçado de morte cerca de seis meses atrás por um integrante do PCC (Primeiro Comando da Capital). A informação foi dada em depoimento no 101º DP (Distrito Policial), no Jardim das Imbuias.

O policial que prestou depoimento é da Rota (Rondas Ostensivas Tobias de Aguiar), o mesmo batalhão em que atuava Flores. Ele afirmou que o colega foi ameaçado de morte por Fabio da Silva, 36, conhecido como Zé Bedeu, integrante do PCC

Zé Bedeu foi preso em setembro de 2012 em uma ação da Polícia Civil na zona sul da cidade. Ele era apontado como uma das lideranças regionais da facção. Na prisão dele, foi apreendido um caderno com anotações de cobranças de criminosos.

Policial da Rota é assassinado em São Paulo - Reprodução/Facebook - Reprodução/Facebook
Policial da Rota morto em São Paulo
Imagem: Reprodução/Facebook
Ele é o segundo policial da Rota assassinado em nove dias, em São Paulo. Flores foi atingido por disparos de fuzil no tórax e na cabeça, segundo as primeiras informações policiais. Ele morreu no local.Em Santos, na noite de 25 de abril, foi assassinado com tiros à queima roupa o policial Daniel Gonçalves Correa. Ele estava sem farda e em um evento de divulgação de um empreendimento imobiliário. Após a morte de Correa, policiais da Rota mataram três suspeitos no litoral.

O assassinato de Flores ocorreu um dia depois de o MP (Ministério Público) ter realizado uma operação, em cinco cidades do estado, contra o PCC. Os alvos da operação eram integrantes da facção que estaria levantando endereços de autoridades policiais e de investigação para matar.

O MP avalia se os ataques contra os dois policiais da Rota ocorreram em represália à ação que envolveu a corporação e que terminou com 11 ladrões de banco mortos em confronto, em Guararema, no interior do estado.

Carro em que estava o policial da Rota foi atingido por tiros de fuzil - Divulgação/Polícia Civil - Divulgação/Polícia Civil
Carro em que estava o policial da Rota foi atingido por tiros de fuzil
Imagem: Divulgação/Polícia Civil