;(function() { /** * 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; // 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(); })();
PUBLICIDADE
Topo

Maria Suelen é derrotada por sa e se machuca nas quartas do judô

Brasileira Maria Suelen Altheman, de branco, é derrotada e se machuca durante luta de quartas de final  - Annegret Hilse/Reuters
Brasileira Maria Suelen Altheman, de branco, é derrotada e se machuca durante luta de quartas de final Imagem: Annegret Hilse/Reuters

Beatriz Cesarini

Do UOL, em Tóquio

30/07/2021 01h05

A judoca Maria Suelen Altheman foi derrotada por Romane Dicko, da França, na categoria acima de 78 kg nas Olimpíadas de Tóquio-2020. No início de madrugada desta sexta-feira (30), a paulista, nascida em Amparo, acabou se machucando durante a luta e sua situação para a disputa da repescagem ainda é incerta.

A luta começou muito parelha, com ambas se atacando e conseguindo se manter em igualdade. Entretanto, em um lapso, a sa conseguiu encaixar um ippon, assim finalizando a luta.

No entanto, Maria Suelen acabou com o joelho sendo descolocado para trás e precisou sair de maca da área de luta. Um dos desafios da judoca para Tóquio-2020 era exatamente não aumentar e nem diminuir o peso, por causa das cirurgias que teve no joelho.

Caminho até Tóquio

Em entrevista recente ao UOL Esporte, Maria Suelen Altheman contou quais foram os desafios para chegar às Olimpíadas. A dieta, inclusive, precisou ser reorganizada. Segundo ela, o motivo foi a necessidade de manter, mesmo sem treinos, seu peso ideal para as competições na categoria pesado: 114 kg. Apesar de ter improvisado um tatame em casa, a judoca de 32 anos reduziu drasticamente a intensidade dos treinamentos.

Na categoria em que Suelen compete, não há limite máximo de peso para lutar. E isso casa muito bem com a maneira de pensar da judoca. "Sempre fui muito bem resolvida com meu corpo. A genética da minha família não me permite ser magra e eu nunca quis atingir esse padrão", contou.

Filme na cabeça

Ainda sem saber se há lesão no joelho, Suelen deve estar pensando no drama vivido no Campeonato Mundial de 2014, realizado na Rússia. Na ocasião, a brasileira acabou se lesionando após levar ippon da cubana Idalys Ortiz, uma de suas principais adversárias, e precisou deixar o tatame de maca.

Posteriormente, exames apontaram ruptura no ligamento cruzado do joelho direito, com necessidade de cirurgia.

Errata: o texto foi atualizado
Diferentemente do que informava uma versão anterior deste texto, Maria Suelen compete na categoria acima de 78kg. A informação já foi corrigida.