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

PF prende membros da máfia italiana na Praia Grande, no litoral de SP

aporte falso utilizado por Nicola Assisi, considerado com o principal integrante da máfia "Ndrangheta em liberdade - Reprodução/OCCRP
aporte falso utilizado por Nicola Assisi, considerado com o principal integrante da máfia 'Ndrangheta em liberdade Imagem: Reprodução/OCCRP

Do UOL*, em São Paulo

08/07/2019 12h02

A Polícia Federal prendeu na manhã de hoje, em Praia Grande, litoral de São Paulo, dois italianos suspeitos de conexão com o braço da máfia italiana na América do Sul, conhecida como "Ndrangheta". Em dezembro de 2018, o UOL apontou que uma investigação apurava a ligação da máfia com o PCC (Primeiro Comando da Capital).

Os detidos são Nicola Assisi e seu filho, Patrick, que estavam em uma lista de "foragidos perigosos" elaborada pela polícia italiana. O grupo mafioso, com origem na região da Calábria, no sul de Itália, controlaria 40% dos envios globais de cocaína, representando o principal esquema criminoso importador para a Europa.

De acordo com a PF, seu filho "ocupava ao menos três apartamentos na cobertura de prédio de alto padrão". "Ambos estavam foragidos desde 2014, havendo notícia de que aram por Portugal e Argentina utilizando-se de nomes falsos", diz um comunicado da Polícia Federal em Curitiba (PR), responsável pelo inquérito.

A cobertura onde os dois foram presos tem "sofisticado sistema de vigilância", segundo a polícia Os policiais encontraram no imóvel duas armas, dinheiro em espécie e veículos. A operação foi batizada como "Barão Invisível" e realizada em parceria com a Interpol e a Polícia da Itália. Os dois suspeitos devem ser extraditados para o país europeu.

"Duas brilhantes operações contra mafiosos, traficantes e criminosos", comemorou o ministro do Interior da Itália, Matteo Salvini, também fazendo referência a uma ação da Justiça da Espanha que prendeu um peruano condenado por tentativa de homicídio.

Pelo Twitter, o ministro da Justiça, Sergio Moro, parabenizou à PF pela prisão. "Brasil não deve ser refúgio para criminosos", disse.

A reportagem do UOL revelou na época que uma investigação comandada pelo IRPI (Projeto de Jornalismo Investigativo da Itália, na sigla em inglês) apontava que Assisi estaria vivendo na Praia Grande com um aporte falso, dizendo ser o argentino Javier Varela, e teria uma empresa em Ferraz de Vasconcelos, na Grande São Paulo. A ligação da máfia com o PCC foi revelada com detalhes pela primeira vez.

*Com informações da Ansa e Agência Estado