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

Chico Alves

OPINIÃO

Texto em que o autor apresenta e defende suas ideias e opiniões, a partir da interpretação de fatos e dados.

Poderosos do Planalto e o jovem Cauã: a polícia do RJ em duas ocorrências

Jair Bolsonaro e Cauã Santos - Divulgação e reprodução
Jair Bolsonaro e Cauã Santos Imagem: Divulgação e reprodução

Colunista do UOL

07/04/2022 13h38

Décadas de operações em favelas e comunidades periféricas do Rio, que tiveram como resultado a morte de muitos inocentes — quase todos negros — e inúmeras violações dos direitos humanos, fixaram o conceito de que a polícia existe para oprimir os pobres e proteger os poderosos (mesmo quando o crime é praticado por eles). As autoridades governamentais, de comandantes das corporações a governadores, volta e meia tentam desmentir essa noção em pronunciamentos e notas à imprensa.

Dois fatos divulgados essa semana reforçam, porém, o caráter elitista das organizações policiais que deveriam garantir democraticamente a segurança pública a toda sociedade fluminense, sem criminalizar a pobreza e nem blindar os engravatados.

Na terça-feira (5), o jovem Cauã dos Santos, de 17 anos, foi assassinado com um tiro de fuzil no peito quando saía de um evento esportivo repleto de crianças, em uma comunidade de Cordovil, zona Norte da capital. Segundo parentes de Cauã, o autor do disparo foi um PM. Pelo relato, após o evento social a rua ficou cheia, com cerca de 150 pessoas conversando, crianças brincando em um pula-pula.

Vizinhos do local contaram que policiais chegaram atirando sem motivo aparente, o que provocou uma grande correria. Cauã foi baleado quando estava em uma roda de amigos. Testemunhas dizem que, em seguida, os PMs jogaram o corpo do adolescente em um valão próximo.

Depois que o caso chegou à imprensa, a Polícia Militar divulgou nota dizendo que equipes faziam patrulhamento quando criminosos armados atiraram contra os soldados, houve confronto e um suspeito foi atingido. Segundo o texto, policiais encontraram uma pistola, carregadores e munição em um córrego da região.

A qualificação de "suspeito", usada pela PM para se referir a Cauã, obrigou os familiares do rapaz ao constrangedor ritual que já se tornou tradicional no Rio, em que os conhecidos da vítima se sentem obrigados a provar que ela era inocente. No caso do rapaz, foram vários os relatos que atestam que ele era um jovem querido, cujo grande interesse eram as artes marciais.

A PM, então, divulgou uma segunda nota, informando que instaurou inquérito policial militar para investigar o caso — algo que deveria ser feito desde o início. Mais à frente, o coronel da PM disse que não sabia que havia um ferido no córrego, que foi socorrido pelos moradores. Sete policiais foram afastados.

Hoje, em um outro caso, a polícia do Rio voltou a produzir notícia negativa.

Dessa vez, a ação das autoridades foi no sentido inverso ao que ocorreu em Cordovil.

Reportagem do jornalista Ítalo Nogueira, publicada na Folha de S. Paulo, revelou ontem o áudio comprometedor, em que a irmã do ex-capitão PM e miliciano Adriano da Nóbrega, morto pela polícia, na Bahia, em 2020, diz à tia que uma reunião no Palácio do Planalto decidiu que ele seria exterminado. "Já tinham dado cargos comissionados no Planalto pela vida dele, já. Fizeram uma reunião com o nome do Adriano no Planalto", afirmou ela, em gravação autorizada pela Justiça.

Na reportagem de hoje, o jornalista da Folha informa que a polícia do Rio omitiu essa menção ao Planalto no relatório que serve de guia ao Ministério Público para planejar as investigações. Ítalo Nogueira explica que, em muitos casos, os promotores ou delegados não ouvem a íntegra das escutas, guiando-se somente pelo resumo feito pelos agentes da polícia. Uma clara obstrução das investigações.

Como se sabe, o miliciano Adriano da Nóbrega era próximo do presidente Jair Bolsonaro e sua família.

Há algo muito errado na instituição que seguidamente se envolve em operações que expõem ao risco de morte inocentes que vivem nas favelas cariocas — sem reduzir um centímetro do controle territorial do tráfico — ao mesmo tempo em que suprime as menções aos ocupantes do Palácio do Planalto em investigação tão escabrosa quanto a da morte de Adriano da Nóbrega.

Nos últimos dias, a sociedade teve bons motivos para reforçar a impressão de que a polícia do Rio realmente existe para oprimir os pobres e proteger os poderosos.