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

Esse conteúdo é antigo

Garis são baleados no Rio após policial militar reagir a roubo

Em foto de arquivo, garis trabalham no recolhimento do lixo no Rio. Profissionais da Comlurb baleados hoje foram socorridos ao Hospital Salgado Filho  - Saulo Angelo/Estadão Conteúdo
Em foto de arquivo, garis trabalham no recolhimento do lixo no Rio. Profissionais da Comlurb baleados hoje foram socorridos ao Hospital Salgado Filho Imagem: Saulo Angelo/Estadão Conteúdo

Do UOL, em São Pauo

30/04/2021 13h45Atualizada em 30/04/2021 13h52

Dois garis foram baleados hoje no bairro de Piedade, na Zona Norte do Rio de Janeiro. Os profissionais da Comlurb (Companhia Municipal de Limpeza Urbana) foram atingidos enquanto trabalhavam como consequência de um tiroteio. A troca de tiros teve início após um policial militar reagir a um roubo na região.

Segundo a PM (Polícia Militar), o policial estava saindo do serviço hoje pela manhã quando sofreu uma tentativa de roubo. Após ele reagir, teve início um tiroteio e os suspeitos fizeram o condutor de uma van de refém para fugirem com o veículo.

Em nota, a corporação ainda relata que policiais do 3º BPM (Batalhão da Polícia Militar), localizado no Méier — bairro próximo à Piedade —, deram apoio à ocorrência, resultando na captura de dois suspeitos. Um deles foi preso e outro foi levado ao Hospital Municipal Salgado Filho, também no Méier, porque estava ferido.

Os dois garis atingidos no tiroteio também foram socorridos e levados para o mesmo hospital. De acordo com a Comlurb, os profissionais atingidos são Wellington Resende, de 34 anos, e Roberto Marcolino, de 54 anos. Ferido na perna, Wellington já recebeu alta. Mas Roberto foi baleado na barriga e ava por cirurgia ainda no início da tarde.

"A Comlurb lamenta o ocorrido com os funcionários e informa que a Companhia está prestando todo o apoio", afirmou a empresa de limpeza pública em nota.

Segundo a plataforma Fogo Cruzado, que registra relatos de tiroteios no Rio, a região do Morro do Urubu, que fica em Piedade, teve registros de tiros às 8h35 da manhã de hoje.

12 agens por roubo

Segundo informações da PM, com os suspeitos foi apreendida uma pistola calibre 9 mm. A corporação afirma que ambos já estiveram presos e juntos têm 12 agens por roubo, sendo seis de cada um.