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

Dilma Rousseff critica fala de Mourão sobre mortos no Jacarezinho

Dilma Rousseff em live das centrais sindicais no dia 1º de maio - Reprodução/TVT
Dilma Rousseff em live das centrais sindicais no dia 1º de maio Imagem: Reprodução/TVT

Do UOL, em São Paulo

08/05/2021 16h20

A ex-presidente Dilma Rousseff criticou hoje as falas do vice-presidente, general Hamilton Mourão, sobre os mortos durante uma ação policial na favela do Jacarezinho, no Rio de Janeiro. Sem provas, Mourão disse que os mortos eram "todos bandidos". Dilma chamou a mentalidade de "ignóbil e distorcida".

"A chacina no Jacarezinho, durante a pandemia com já 420 mil mortes, mostra um País em completo desgoverno onde reina a ignóbil e distorcida mentalidade expressa na frase do general Mourão: 'mas, são todos bandidos'", escreveu a ex-presidente no Twitter.

E continuou: "O vice-presidente revela sua verdadeira índole ao chancelar o extermínio da população civil como se houvesse nas leis brasileiras autorização para o assassinato quando praticado pela polícia ou pela omissão do governo."

Mourão fez a declaração ontem, embora não tenha apresentado provas. "Tudo bandido. Entra um policial numa operação normal, leva um tiro na cabeça de cima de uma laje. Lamentavelmente essas quadrilhas do narcotráfico são verdadeiras narcoguerrilhas", disse Mourão."É um problema sério do Rio de Janeiro que nós vamos ter que resolver um dia ou outro".

A operação policial realizada no Jacarezinho foi a mais letal da história do Rio de Janeiro, segundo estudo feito pelo Geni (Grupo de Estudos dos Novos Ilegalismos) da UFF (Universidade Federal Fluminense) a pedido do UOL.

Hoje, o número de mortos subiu para 29. Até então, a Polícia Civil tinha confirmado a morte de 28 pessoas, dentre elas o policial civil André Leonardo Mello Frias, 48. Inicialmente, eram 25 mortos na ação de quinta. Ontem, no entanto, mais três óbitos foram confirmados, também sem a informação de quem seriam eles.

As vítimas começaram a ser enterradas na tarde de hoje. Um dos primeiros corpos a serem sepultados foi de Guilherme de Aquino Simões, que teve o funeral realizado às 13h30.

Porém, até está amanhã, pelo menos cinco famílias ainda aguardavam a liberação dos corpos dos parentes no IML (Instituto Médico Legal).

O Alto Comissariado da ONU para Direitos Humanos pediu que investigações imparciais e independentes sejam abertas sobre a ação. Em coletiva de imprensa, o porta-voz da organização, Ruppert Colville, criticou a violência da operação e disse que o caso confirma a tendência de uso excessivo da força por agentes policiais.

A ONU também criticou o fato de a polícia não ter atuado para preservar evidências nos locais dos crimes, o que pode prejudicar as investigações.