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

O que disseram os sobreviventes de chacina com 7 mortes após jogo de sinuca

Do UOL, em São Paulo

24/02/2023 04h00

Os dois sobreviventes da chacina da última terça-feira (21) após um jogo de sinuca em um bar de Sinop (MT) contaram em depoimento o que viram. Uma das testemunhas só presenciou os primeiros disparos e fugiu. Já a outra viu todo o ataque.

O homem que sobreviveu ao ataque aparece no vídeo de camiseta preta e bermuda clara. Ele estava sentado em uma mesa próximo à rua quando o grupo foi rendido por Ezequias, que estava armado e abordou as vítimas na parte de trás do bar.

O sobrevivente se levanta quando vê Edgar caminhando em direção ao bar com uma espingarda nas mãos. O atirador estava ao lado dele quando fez os dois primeiros disparos. O sobrevivente então sai correndo do local.

"Ele disse que só viu esses dois primeiros disparos e saiu correndo", disse o delegado Bráulio Junqueira, responsável pela investigação do caso.

Já a outra sobrevivente era a esposa de Getúlio Rodrigues Frazão Júnior, 36, que teria vencido Edgar nas partidas de sinuca. Em depoimento, ela disse ter visto Ezequias atirando no seu marido e em Maciel Bruno de Andrade, 35, o dono do bar.

"Ela viu o próprio marido e o dono do bar sendo mortos a tiros. Ela só escutou o estrondo [dos tiros de espingarda dados por Edgar]. E só não foi morta por sorte, já que estava dentro do bar, ao lado das vítimas", disse o delegado.

Só depois do ataque, ela percebeu que Larissa Frazão de Almeida, 12, filha do casal, também havia sido morta no atentado. Ela tentou fugir, mas foi morta com um tiro nas costas.

O que aconteceu com os autores da chacina:

  • Edgar Ricardo de Oliveira, 30, se entregou ontem à polícia. Nas imagens, é ele quem aparece com uma espingarda, matando a maioria das pessoas.
  • Ezequias Souza Ribeiro, 27, morreu na quarta-feira (22) após ter sido baleado por resistir à prisão, segundo a PM. No vídeo, ele é o responsável por render e atirar nas vítimas em um bar.
  • Edgar teve a prisão temporária decretada pela Justiça por homicídio qualificado por motivo fútil, uso de arma de fogo e meios que dificultaram a defesa das vítimas.