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

Risco de novo rompimento é descartado e buscas são retomadas em Brumadinho

Talita Marchao

Do UOL, em São Paulo

27/01/2019 15h00Atualizada em 27/01/2019 16h00

A Defesa Civil de Minas Gerais informou neste domingo (27) que as buscas por vítimas da barragem em Brumadinho foram retomadas depois que foi descartado o risco de um novo rompimento de uma barragem de água do complexo da Vale na cidade. As pessoas que foram retiradas de suas casas poderão voltar, afirmou o tenente-coronel da Defesa Civil, Flávio Godinho.

Segundo Godinho, a barragem 6 ainda está sendo monitorada e drenada. Os níveis de água continuarão sendo medidos e novos alertas podem ser emitidos em caso de risco.

Mais cedo, Godinho informou que 37 pessoas morreram e 192 foram resgatadas por bombeiros. Outras 287 pessoas são consideradas desaparecidas. Os parentes de desaparecidos podem entrar em contato por meio dos telefones 0800 528 7000 e 0800 821 5000 para cadastrar os nomes de familiares. 

Dos 37 mortos, 16 já foram identificados. Oito corpos foram entregues às famílias para sepultamento. De acordo com a Polícia Civil, a identificação das vítimas é difícil devido ao estado em que os corpos se encontram. Além do reconhecimento por familiares, a identificação é feita por digitais, arcada dentária e DNA.

O porta-voz do Corpo de Bombeiros, Pedro Aihara, afirmou que, apesar do período de interrupção das buscas, ainda existe chance de encontrar sobreviventes. "À medida que o tempo a, a chance diminui. Mas sabemos que, ainda assim, é possível encontrar pessoas vivas", disse.

Sirenes para evacuação

Por volta das 5h30 deste domingo, sirenes tocaram em Brumadinho e os moradores foram alertados sobre o risco de um novo rompimento. Um aviso os orientava a buscar as regiões mais altas da cidade. Durante toda a manhã, autoridades pediram que a população buscasse três pontos seguros: uma igreja no centro de Brumadinho, o quartel policial e o morro do Querosene.

Minutos antes de anunciar a retomada das buscas, o próprio Godinho e um representante do Corpo de Bombeiros informaram que ao menos 3.000 pessoas seriam evacuadas. No total, segundo as primeiras avaliações das autoridades, ao menos 24 mil pessoas estariam em áreas de risco.

O Corpo de Bombeiros informou que, a partir deste domingo, há restrições à circulação de aeronaves na região, com o objetivo de facilitar ações de resgate. "Somente aeronaves envolvidas nas ações de resgate podem sobrevoar o local", disse um porta-voz.

Veja o caminho percorrido pela lama da barragem de Brumadinho

UOL Notícias