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


Por pouco: Matheus Nicolau vence por decisão dividida em retorno ao UFC

O brasileiro Matheus Nicolau (de calção amarelo) aplica chute em Manel Kape em duelo no UFC Fight Night  - Jeff Bottari/Zuffa LLC/Getty Images
O brasileiro Matheus Nicolau (de calção amarelo) aplica chute em Manel Kape em duelo no UFC Fight Night Imagem: Jeff Bottari/Zuffa LLC/Getty Images

Ag. Fight

13/03/2021 23h03

Logo em seu retorno ao octógono do UFC, Matheus Nicolau ficou responsável por desempatar o placar da disputa 'Brasil x Resto do Mundo' no octógono neste sábado (13), em Las Vegas (EUA). Para isso, o brasileiro mediu forças com o ex-atleta do Rizin Manel Kape e travou uma verdadeira guerra de três assaltos.

Melhor no início, o mineiro de 28 anos foi dominado em pé na segunda etapa e entrou no terceiro assalto disposto e trocar golpes em pé de igual para igual com seu oponente.

E após cinco minutos equilibrados, a vitória por vantagem mínima foi apontada por dois dos três jurados, garantindo assim o 16º triunfo do peso-mosca (57 kg) no MMA. Seu cartel ainda conta com duas derrotas.

Demitido do UFC em 2018, após perder sua primeira luta no evento justamente quando somava outros três triunfos na organização, Matheus anotou duas vitórias em outros shows até convencer que merecia retornar ao octógono mais famoso do mundo.

A luta

A tática do brasileiro ficou clara logo no início do combate. Mais calmo, Matheus caminhou ao redor do octógono e apostou nos contragolpes para encontrar o momento certo de atacar. Em dois momentos, o peso-mosca (547 kg) mineiro derrubou o oponente e controlou a disputa por cima. Vantagem na parcial. Matheus 10 x 9 Kape.

Na segunda etapa, porém, a Kape se mostrou muito forte fisicamente para as investidas do brasileiro. Caminhando para frente a todo momento, o atleta de Angola não se deixou mais derrubar e tomou a iniciativa das ações em todos os cinco minutos disputados. Chutes, sequências de golpes retos e alguns potentes cruzados deixaram Matheus nitidamente acuado. Matheus 19 x 19 Kape.

O terceiro e último assalto foi o mais movimentado e disputado. Travados apenas em pé, os cinco minutos contaram com mais disposição de Matheus, que atacou com diversos cruzados que encontraram o rosto do oponente.

Por sua vez, o angolano apresentou mais volume de ataques e dominou o centro do octógono. Belo round em que prevaleceu a precisão do mineiro. Matheus 29 x 28 Kape.

Veja os resultados do UFC Fight Night, em Las Vegas:

O duelo entre Leon Edwards e Belal Muhammad não teve vencedor (dedada no olho)
Ryan Spann nocauteou Misha Cirkunov no 1º round
Dan Ige nocauteou Gavin Tucker no 1º round
Davey Grant nocauteou Jonathan Martinez no 2º round
Matheus Nicolau venceu Manel Kape por decisão dividida
O duelo entre Eryk Anders e Darren Stewart não teve vencedor (joelhada ilegal)
Angela Hill venceu Ashley Yoder por decisão unânime
Charles Jourdain nocauteou Marcelo Rojo no 3º round
Rani Yahya finalizou Ray Rodriguez no 2º round
Nasrat Haqparast venceu Rafa García por decisão unânime
JJ Aldrich venceu Cortney Casey por decisão dividida
Jinh Yu Frey venceu Glorinha de Paula por decisão unânime
Matthew Semelsberger nocauteou Jason Witt no 1º round