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

Número de mortos em massacre de Boa Vista sobe para 33; diretor relata crueldade de presos

6.jan.2017 - No IML (Instituto Médico Legal), profissionais retiram corpos de detentos mortos no massacre da Penitenciária Agrícola de Monte Cristo - Daniel Teixeira/Estadão Conteúdo
6.jan.2017 - No IML (Instituto Médico Legal), profissionais retiram corpos de detentos mortos no massacre da Penitenciária Agrícola de Monte Cristo Imagem: Daniel Teixeira/Estadão Conteúdo

Luan Santos

Colaboração para o UOL, em Boa Vista

08/01/2017 16h45Atualizada em 08/01/2017 17h09

O governo de Roraima identificou neste domingo (8) os dois corpos encontrados no sábado na área da cozinha da Penitenciária Agrícola Monte Cristo, em Boa Vista, e confirmou que o número de presos mortos no massacre de sexta subiu para 33.

Somente nos oito primeiros dias de 2017, foram 99 presos mortos no Brasil, mais de 12 por dia. Foram 64 mortes em Manaus, outras duas na Paraíba e os 33 presos mortos em Boa Vista. Em 2016, 372 presos foram assassinados em presídios no Brasil, pouco mais de uma morte por dia, segundo levantamento feito pelo UOL.

Segundo o diretor em exercício do IML (Instituto de Medicina e Odontologia Legal) de Roraima, Rodrigo Matoso, os presos foram identificados como Jaime da Conceição e Erismar Duran.

A mulher de Jaime, Simone Alves, contou que recebeu uma ligação anônima de dentro do presídio. "Falaram que meu marido estava morto, que cavaram um buraco e colocaram ele sem vida lá dentro. Imediatamente tomei providências e acionei a polícia", disse. "Se não fosse a ligação talvez ele estaria lá até agora. Parece um pesadelo", afirmou.

Segundo o diretor do IML, todos os 33 corpos já foram periciados, sendo que 29 deles foram liberados para as famílias. "Estamos com apenas quatro corpos em situações específicas para serem liberados", informou. A justificativa é que as identidades civis das vítimas são de outros Estados e até de outro país, já que um deles é venezuelano. A previsão do IML é de que esses corpos sejam liberados até segunda (9).

Rodrigo disse ainda sobre o estado em que estavam os mortos. "A mutilação dos corpos aconteceu depois do evento morte. Todos apresentavam marcas de arma branca", afirmou.

Segundo a assessoria de comunicação do governo de Roraima, algumas famílias foram cadastradas, ainda no IML, para receber um auxílio-funeral. 

Ajuda federal

A governadora de Roraima, Suely Campos (PP), divulgou em sua página no Facebook que recebeu na manhã deste domingo uma ligação do Ministro da Justiça, Alexandre de Moraes.

Ela reiterou o pedido de auxílio da Força Nacional de Segurança a Roraima. Segundo ela, o ministro informou que, em poucos dias, deve enviar o apoio necessário para garantir a ordem pública e enfrentar a grave tensão instalada na penitenciária do Estado.

Suely disse acreditar que a união de esforços entre os governos estadual e federal, há muito pleiteada, agora vai fazer pelo sistema prisional, o que não foi feito nos últimos anos.

Ela lembrou ainda que a crise do sistema prisional é nacional e nenhum Estado consegue debelá-la sem que haja o apoio do Governo Federal e demais poderes.