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

Rodrigo Coutinho

OPINIÃO

Texto em que o autor apresenta e defende suas ideias e opiniões, a partir da interpretação de fatos e dados.

Desconcentração do 2º tempo pode custar caro a Senegal

Colunista do UOL

25/11/2022 11h59

Senegal confirmou o favoritismo e bateu a seleção catari por 3x1 na noite desta sexta-feira, no Al Thumama Stadium. O time africano, porém, caiu muito de produção na 2ª etapa e poderia ter construído um placar que possibilitasse uma vida mais tranquila na última rodada. Chegou bem perto inclusive de sofrer o empate, tamanha a queda de um tempo para o outro.

Félix Sanchez fez três mexidas em relação ao time da estreia. O goleiro Al Shebb foi barrado para a entrada de Mershaal Barsham. Pedro Miguel foi jogar na zaga e Ismail Muhammad entrou na ala-direita. Já no meio, Assim Madibo substituiu Abdulaziz Hatem. Aliou Cissé contou com Jakobs desde o início na lateral. Diallo foi para a zaga. Sem Kouyaté no meio, escalou mais um atacante, o centroavante Diédhiou.

Sabendo que precisava não só vencer, mas também construir bom saldo de gols, Senegal se instalou no campo de ataque assim que o jogo começou. O Qatar recuou bastante o bloco de marcação para tentar desarmar e aproveitar a velocidade de Akram Afif nos contragolpes. Madibo oferecia essa condição de desarme no meio.

A seleção da casa até encaixou algumas rápidas transições e chegou a reclamar de um pênalti em cima de Akram Afif, mas não terminou devidamente nenhum dos contragolpes e novamente começou atrás no placar por erros na parte defensiva. Khouki deu uma pixotada incrível em cruzamento despretensioso aos 40', e Boulaye Diá não perdoou. Antes disso, Senegal tinha volume, mas encontrava dificuldades para criar.

01 - Rodrigo Coutinho - Rodrigo Coutinho
Como Qatar e Senegal iniciaram o jogo válido pela 2ª rodada do Grupo A da Copa do Mundo 2022
Imagem: Rodrigo Coutinho

O pouco espaço disponível perto da meta rival era incompatível com as características dos atacantes. Fortes em atacar espaços. Somente Ismaila Sarr conseguiu boas jogadas pela direita a partir de bons es de Sabaly. Gana Gueye e Nampalys Mendy tentavam articular por dentro, mas não tinham tanto sucesso. Diatta funcionou bem também em raros contra-ataques pela esquerda.

Mais uma vez chamou a atenção a limitação de um goleiro catari. O titular da vez, Meshaal Barsham, deu tantos sustos quanto Al Shebb, mas contou com a sorte. Em fase ofensiva, o Qatar até conseguia superar a pressão feita esporadicamente pelos africanos na saída de bola, mas não conseguia ser efetivo no terço final do campo.

Senegal conseguiu ampliar logo aos dois minutos do 2º tempo. Diédhiou atacou a primeira trave em escanteio bem cobrado Jakobs e marcou um belo gol de cabeça. A vantagem poderia impulsionar os africanos para um placar ainda maior, mas causou relaxamento e desconcentração. O Qatar foi para o ataque e quase estragou a festa senegalesa. Não fosse por ótimas defesas de Edouard Mendy, a vitória seria ameaçada.

02 - Sebastian Frej/MB Media/Getty Images - Sebastian Frej/MB Media/Getty Images
Jogadores de Senegal comemora gol marcado por Dia na partida contra o Qatar
Imagem: Sebastian Frej/MB Media/Getty Images

Abdelkarim Hassan foi o jogador catari mais perigoso, principalmente na bola parada aérea. Akrim Afif, Homam Ahmed e Akram Afif cresceram em campo. Félix Sanchez colocou o centroavante Muntari no lugar do meia Al Haydos na segunda metade do 2º tempo. Não demorou para Muhammad cruzar na medida para o gigante de 1,94m diminuir de cabeça.

Quando parecia que o Qatar ia empatar, mais uma falha individual afetou os donos da casa. Mohammed Waad, que tinha acabado de entrar, perdeu a bola para N´Diaye na saída e o atacante senegalês cruzou rasteiro para Bamba Dieng marcar e dar números finais ao placar.