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

Motorista abordado pela polícia em Paris morreu após ser sufocado, diz site

8.jan.2020 - Cartazes com as frases "A polícia mata" e "Justiça para Cedric" são colocados na rua, ao lado de velas, em Toulouse (França), em protesto pela morte do entregador Cédric Chouviat, que morreu após ser asfixiado pela polícia em Paris, em janeiro de 2020 - NurPhoto via Getty Images
8.jan.2020 - Cartazes com as frases "A polícia mata" e "Justiça para Cedric" são colocados na rua, ao lado de velas, em Toulouse (França), em protesto pela morte do entregador Cédric Chouviat, que morreu após ser asfixiado pela polícia em Paris, em janeiro de 2020 Imagem: NurPhoto via Getty Images

23/06/2020 15h12

O caso aconteceu em janeiro deste ano, mas imagens de vídeo que vieram a público agora dão novos contornos à morte de Cédric Chouviat, em Paris, mostra o site The Guardian. O motorista de 42 anos trabalhava fazendo entregas quando foi abordado por policiais em Paris perto da Torre Eiffel. Ele foi imobilizado no chão e sufocado. Morreu poucos dias depois.

Segundo as imagens, o motorista disse por sete vezes "estou sufocando", em um período de 22 segundos, enquanto era mantido no chão.

Quatro policiais estão sendo interrogados por "homicídio involuntário" no caso que faz eco à morte do norte-americano George Floyd, em maio, nos Estados Unidos.

Os agentes disseram que pararam Chouviat em sua motocicleta porque ele estava olhando para o celular e a placa estava suja. Os policiais alegam que ele foi desrespeitoso e abusivo e resistiu à prisão.

No entanto, um relatório do Instituto de Pesquisas Criminais da Gendarmaria Nacional sugeriu que as trocas entre a polícia e o motorista foram "corretas", embora os policiais possam ter sentido que ele estava sendo "provocativo" ou "desafiador".

As imagens examinadas pelos investigadores sugerem que a situação mudou após 9 minutos e 44 segundos de conversas, nas quais Chouviat pode ser ouvido chamando um policial de "tolo" várias vezes.

De acordo com testemunhas citadas pelo jornal francês Le Monde, os policiais mantiveram Chouviat estrangulado, uma técnica controversa de restrição que foi proibida pelo ministro do Interior francês, Christophe Castaner, este mês, mas foi restabelecida após reclamações da polícia.

Em um relatório sobre o incidente, ado por alguns veículos de notícias, um especialista que avaliou as imagens afirma que: "Aos 11 minutos e 16 segundos, (Couviat) diz ao policial que ele é um 'tolo'. O oficial decide prendê-lo. Nos próximos 22 segundos, podemos ouvir sons diferentes que não conseguimos identificar. A pessoa presa diz várias vezes 'estou sufocando'. Podemos ouvir um dos policiais dizer: 'Tudo bem, tudo bem, algema'."

Chouviat teve um ataque cardíaco e foi levado ao hospital em coma. Ele morreu dois dias depois. Um exame concluiu que ele havia morrido de asfixia por ter sofrido uma "fratura da laringe".

Nenhum dos policiais foi suspenso. Laurent-Franck Lienard, advogado de três deles, disse que eles não haviam ouvido as últimas palavras de Chouviat e que "não tinham absolutamente nenhuma ideia" do que ele estava dizendo.

Lienard afirmou que o homem preso submeteu a polícia a "cerca de 15 minutos de insultos", chamando-os de "palhaços", "fantoches" e "tolos". Ele disse que seus clientes não haviam usado a manobra de estrangulamento.