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

Justiça busca Robinho em endereços onde vizinhos nunca o viram

Do UOL, em São Paulo e Santos (SP)

08/03/2023 04h00Atualizada em 08/03/2023 10h36

O Ministério Público Federal entregou à Justiça quatro endereços nos quais Robinho poderia ser encontrado, todos eles na Baixada Santista, no litoral de São Paulo. Mas três deles não têm qualquer sinal do ex-jogador, condenado a nove anos de prisão na Itália por estupro.

A reportagem do UOL esteve nos locais e conversou com vizinhos e trabalhadores das imediações. A Justiça tenta encontrar Robinho para que ele seja oficialmente informado da abertura do processo que pode levar à transferência de sua pena ao Brasil.

No parecer que defende o seguimento do processo, o MPF encaminhou dois endereços em São Vicente, um em Santos e outro no Guarujá.

O único fidedigno é o do Guarujá, onde Robinho tem uma propriedade em um condomínio fechado de luxo.

A reportagem confirmou que nos demais não moram nem o ex-jogador, nem seus parentes ou amigos. Um dos endereços de São Vicente inclusive está incorreto, indicando uma rua que não existe. Em outra rua com nome semelhante, a reportagem não encontrou sinais de Robinho nem ninguém que o tenha visto.

O Ministério Público Federal ainda deixou de informar um dos endereços mais conhecidos de Robinho em Santos, uma cobertura localizada no bairro da Aparecida. O ex-atleta costumava frequentar esse apartamento antes da condenação, mas não apareceu por lá nas últimas semanas.

Inconsistências em endereços são comuns

O MPF tem um setor de pesquisa que busca nos bancos de dados públicos os endereços das pessoas que precisam ser achadas pela Justiça. Inconsistências nos endereços são comuns e, se apontadas pelos oficiais de Justiça, o departamento refina a busca até o paradeiro real ser descoberto.

Procurado, o MPF não respondeu até a publicação dessa reportagem. Caso Robinho não seja encontrado em 30 dias, o caso pode ser julgado à revelia.

Robinho não pode reverter condenação

O parecer do MPF com os endereços atribuídos a Robinho foi entregue à Justiça no dia 27 de fevereiro e os autos do processo foram remetidos à análise da ministra Maria Thereza de Assis Moura, presidente do STJ. Ontem, ela negou a retenção do aporte do ex-atleta, considerando a medida prematura.

Como o caso já transitou em julgado na Itália, não há possibilidade de Robinho reverter a condenação. Sua defesa pode, porém, questionar a transferência da pena ao Brasil.

A Justiça italiana pede para que Robinho cumpra a pena de nove anos no Brasil. Antes, os italianos haviam pedido sua extradição à Itália, o que não é permitido pela Constituição brasileira. Depois que a Itália pediu a transferência da pena, o STJ ou a analisar a legalidade do pedido.