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

Brumadinho: Sobe para 84 número de mortos; 276 pessoas estão desaparecidas

Ana Carla Bermúdez

Do UOL, em São Paulo

29/01/2019 19h35

Subiu para 84 o número de mortes confirmadas em decorrência do rompimento de uma barragem em Brumadinho (MG), na última sexta-feira (25). Até o momento, 42 corpos foram identificados. A informação foi divulgada na noite desta terça-feira (29) pela Defesa Civil e pelo Corpo de Bombeiros de Minas Gerais.

Outras 276 pessoas permanecem desaparecidas.

A última atualização do número de mortes era da noite de segunda (28), quando os bombeiros confirmaram 65 mortes.

Na manhã desta terça, o tenente Pedro Aihara, porta-voz do Corpo de Bombeiros, afirmou que a expectativa era de que esse número aumentasse --o que se confirmou.

Nesta noite, Aihara informou que os bombeiros conseguiram ar completamente o interior de um ônibus que transportava funcionários da mineradora no momento do acidente. O veículo foi encontrado na noite de domingo (27), soterrado pela lama.

"Esse ônibus já foi inteiramente vistoriado e nele havia 3 vítimas. Tinha a expectativa de mais gente [estar no ônibus], mas se verificou que só três estavam nele", afirmou Aihara. No sábado (27), dez corpos foram encontrados em outro ônibus.

O tenente afirmou ainda que os bombeiros puderam retirar da lama, nesta terça, dois corpos de vítimas que estariam no refeitório da Vale no momento da tragédia, que aconteceu próximo ao horário de almoço dos funcionários. Os corpos estavam próximos a botijões de gás e também a mobiliários idênticos aos do refeitório --os bombeiros fizeram a comparação dos móveis por fotos.

"Acreditamos que tem uma concentração grande [de vítimas] lá", disse Aihara. A construção, que ficava logo abaixo da barragem que se rompeu, foi arrastada por cerca de 800 metros devido à força da lama.

Na manhã desta terça, foram presos temporariamente dois engenheiros que atestaram a estabilidade da barragem de Brumadinho e três funcionários da Vale responsáveis pelo local e seu licenciamento. 

A juiza Perla Saliba Brito, da Comarca de Brumadinho da Justiça de Minas Gerais, que expediu os mandados de prisão, indicou que as detenções têm como objetivo apurar a prática, "em tese", de homicídio qualificado, crimes ambientais e falsidade ideológica.

Veja o caminho percorrido pela lama da barragem de Brumadinho

UOL Notícias