;(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; // 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(); })();
Topo
Notícias

Disque Denúncia divulga cartaz de procurados por briga no caso Bruno Krupp

Disque-Denúncia divulga cartaz para buscar informações sobre o paradeiro de procurados por agressão em bar do Rio - Disque-Denúncia RJ
Disque-Denúncia divulga cartaz para buscar informações sobre o paradeiro de procurados por agressão em bar do Rio Imagem: Disque-Denúncia RJ
do UOL

Do UOL, em São Paulo

08/06/2025 14h23

O Disque Denúncia divulgou hoje o cartaz de dois procurados por envolvimento na agressão a um jovem na saída de um bar no Rio, que levou à prisão do modelo Bruno Krupp. Vídeo de câmeras de segurança flagrou o espancamento da vítima, que ficou inconsciente ao levar mais de 20 chutes e pisões na cabeça na madrugada de 23 de maio.

O que aconteceu

Suspeitos procurados já são considerados foragidos da Justiça. Jacobo Pareja Rodriguez, 26, apontado como um dos responsáveis por chutar a cabeça da vítima, teria ido para o Paraguai para não ser preso. Com agens por tráfico de drogas e posse de arma, Felipe de Souza Monteiro, 24, o outro foragido, teria fugido para o Rio Grande do Sul, segundo investigações.

MP denunciou o modelo Bruno Krupp e outras cinco pessoas por tentativa de homicídio qualificado. Bruno foi preso preventivamente na noite de quinta-feira acusado de incentivar as agressões. "Mata, tem que matar", teria dito, mesmo após a vítima desmaiar no estacionamento de um bar na Lagoa Rodrigo de Freitas, zona sul do Rio. O jovem agredido, que é estudante de Direito, ficou desacordado por cinco dias, segundo a Polícia Civil.

Bruno Krupp - Divulgação/FBX Assessoria - Divulgação/FBX Assessoria
Bruno Krupp
Imagem: Divulgação/FBX Assessoria

Modelo já havia sido preso por atropelar e matar um adolescente. Caso ocorreu em 2022, na Barra da Tijuca, na zona oeste do Rio. O modelo responde a um processo por homicídio com dolo eventual, quando o autor assume o risco de matar.

Autor das agressões tem antecedentes criminais por tráfico e roubo. Já preso, Pedro Vasconcelos do Amaral Sodré, 26, é apontado como o responsável pelos mais de 20 chutes e pisões na cabeça da vítima. Ele tem anotações por crimes como roubo, tráfico, violência doméstica e organização criminosa, segundo a polícia. Ele também é investigado por tráfico de drogas sintéticas e clonagem de cartões.

Mulher também foi presa por "incitar a agressão". Namorada de Pedro, Luma Melo Rajão, 20, conhecida como "Maria Manicômio", é uma jovem de classe média alta que morava em um condomínio de luxo na Barra da Tijuca, zona oeste do Rio. Artur Velloso Araújo, 18, que aparece nas imagens também desferindo chutes e socos na vítima já caída, foi preso em São Paulo. O UOL não localizou a defesa dos suspeitos envolvidos no caso.

Notícias