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


Ultimate encaminha Renato Moicano como rival de Rafael dos Anjos no UFC 272

Renato Moicano venceu o inglês Jai Herbert no UFC Las Vegas 30 - Zuffa LLC
Renato Moicano venceu o inglês Jai Herbert no UFC Las Vegas 30 Imagem: Zuffa LLC

Ag. Fight

01/03/2022 14h29

A constante dança das cadeiras envolvendo o brasileiro Rafael dos Anjos parece ter encontrado um capítulo final nesta terça-feira (1º), apenas quatro dias antes do card do UFC 272. Ao que tudo indica, o ex-campeão dos pesos-leves (70 kg) fará uma luta em peso-casado diante do compatriota Renato 'Moicano'.

A informação foi divulgada em primeira mão pelo site 'MMA Fighting' e confirmada pela reportagem da Ag. Fight com fontes próximas à organização do evento - as duas aceitaram verbalmente a disputa, mas ainda não am o contrato. Desta forma, a disputa será realizada em um peso-casado de até 72,5 kg, em cinco rounds - esta cláusula foi mantida do contrato original de Dos Anjos.

Vale lembrar que 'RDA' enfrentaria Rafael Fiziev na semana ada. No entanto, o rival encontrou dificuldades para retirar seu visto e a disputa foi adiada em uma semana. Em seguida, o lutador do Cazaquistão testou positivo para o vírus da covid-19 e deixou o combate, dando início a um verdadeiro leilão de atletas dispostos a medirem forças com o ex-campeão do UFC.

Nas redes sociais, o russo Islam Makhachev pareceu chegar a um acordo com o próprio Dos Anjos para uma disputa ser realizada na divisão de cima, até 77 kg. Infelizmente, não será desta vez que a rivalidade entre eles será resolvida no octógono - eles já am contratos para duelos em outras três ocasiões nos últimos anos.

Sem lutar desde novembro de 2020, quando venceu Paul Felder por decisão dos jurados, 'RDA' acumula um cartel profissional com 30 vitórias e 13 derrotas. Por sua vez, Moicano, embalado por duas vitórias seguidas na organização, soma 16 triunfos e quatro reveses no MMA.