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

Jornais destacam operação que deixou 25 mortos no Rio: carnificina

Colaboração para o UOL

06/05/2021 16h56

A operação policial que deixou 25 mortos na favela do Jacarezinho hoje, no Rio de Janeiro, repercutiu na imprensa internacional. Veículos jornalísticos britânicos como o The Guardian, BBC, The Independent, The Sunday Times, o norte-americano The Washington Post e o argentino La Nacion noticiaram o ocorrido.

A Polícia Civil realizou uma operação contra o tráfico de drogas com intenso tiroteio na manhã de hoje. Pelo menos 25 pessoas morreram, entre elas o policial André Leonardo de Mello Frias. Outros dois agentes foram baleados e dois ageiros ficaram feridos após serem atingidos dentro de uma composição do metrô.

"Os tiroteios feriram dois ageiros do metrô, que circula na superfície daquela parte da cidade, afirmam as reportagens, que mostram pacientes sendo atendidos na plataforma", escreveu o jornal argentino La Nacion.

O jornal The Washington Post disse que, mesmo em uma cidade onde as autoridades frequentemente realizam operações bélicas em bairros sob o controle de organizações criminosas, "o número de mortos foi chocante, mostrando o controle duradouro da violência no maior país da América Latina."

A reportagem do jornal norte-americano diz ainda que as operações policiais violentas são "incentivadas por um grupo de líderes políticos que venceram as eleições com a mensagem de que as táticas de guerra são necessárias para conter o crime."

O britânico The Guardian classificou a ação como uma carnificina. "Fotografias e vídeos feitos pelos moradores e compartilhados com o jornal mostram cadáveres ensanguentados espalhados nas estreitas vielas da favela e ao lado do rio poluído que dá nome ao Jacarezinho", diz a reportagem.

À BBC, o professor Ignacio Cano, do Laboratório de Análise da Violência na UERJ, criticou os argumentos da polícia para a operação. A corporação afirmou que a investigação teve início a partir de informações de que traficantes vêm aliciando crianças e adolescentes para integrar o Comando Vermelho.

"Todos sabem que há menores que trabalham para essas facções. Dizer que você vai iniciar uma ação massiva porque descobriu que os traficantes recrutam crianças é uma piada", disse Cano ao site da emissora britânica.

Os jornais The Sunday Times e The Independent também destacaram as imagens aéreas que mostram suspeitos fugindo da polícia pulando de laje em laje pelas casas da favela, divulgadas pela TV Globo.

"Foi o maior número de mortes em uma operação policial no estado, que há décadas sofre com a violência relacionada às drogas", escreveu o Sunday Times, citando a fala do delegado Ronaldo Oliveira.

O The Guardian ressaltou que a ação ocorreu mesmo com a decisão do STF (Supremo Tribunal Federal) que restringiu operações em favelas durante a pandemia de covid-19.