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

MMA


Alvo de Cain Velasquez teria abusado sexualmente de um familiar do ex-UFC

Cain Velasquez é ex-campeão peso-pesado do UFC - Rey Del Rio/Getty Images
Cain Velasquez é ex-campeão peso-pesado do UFC Imagem: Rey Del Rio/Getty Images

Ag. Fight

02/03/2022 12h23

A notícia sobre a prisão do ex-campeão peso-pesado do UFC Cain Velasquez, acusado de tentativa de homicídio, pegou a comunidade das lutas de surpresa. Agora, ados alguns dias, mais detalhes sobre o ocorrido vêm a público e ajudam a explicar a motivação por trás da atitude do ex-astro do Ultimate.

De acordo com o 'The San Jose Mercury News', o alvo de Cain seria um homem acusado de molestar sexualmente um familiar próximo do ex-campeão do UFC. Velasquez foi preso na última segunda-feira (28), na Califórnia (EUA), após, supostamente, ter atirado contra um carro com três ocupantes, atingindo um dos indivíduos, que foi transportado para o hospital e não corre risco de morte.

Ainda de acordo com a publicação, que cita documentos judiciais e outras fontes, o suposto autor das agressões sexuais contra o familiar de Velasquez seria Harry Eugene Goularte, de 43 anos, que vive em San Martin, na Califórnia, em uma creche istrada por sua mãe. O homem era um dos três ocupantes do veículo alvejado pelo lutador, mas não foi atingido no tiroteio.

A identidade da suposta vítima das agressões sexuais foi omitida dos relatórios por se tratar de um menor de idade. Mas, de acordo com relatos da 'NBC Bay Area', documentos do processo mostram que os abusos sexuais podem ter ocorrido "100 vezes".

O suposto ataque pelo qual Cain Velasquez foi preso ocorreu três dias depois de Harry Eugene Goularte ter sido liberado - apesar do protesto do promotor do Distrito de Santa Clara - de uma audiência judicial realizada na última sexta-feira, na qual era acusado de "um lascivo e obsceno ato com uma criança menor de 14 anos".

O indivíduo atingido no tiroteio seria o padrasto do acusado. A terceira pessoa presente no veículo não teve sua identidade revelada até o momento. Por sua vez, Cain Velasquez segue detido, sem direito a fiança, acusado de tentativa de assassinato. O ex-campeão do UFC tem uma audiência marcada nesta quarta-feira, de acordo com registros online. Já Goularte deve voltar à Corte, para responder pela acusação de abuso sexual, apenas em abril.