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

Libertadores - 2022

Willian e Arias marcam, Flu vence Millonarios e avança na Libertadores

Willian, do Fluminense, comemora gol contra o Millonarios, da Colômbia, pela Libertadores - Thiago Ribeiro/AGIF
Willian, do Fluminense, comemora gol contra o Millonarios, da Colômbia, pela Libertadores Imagem: Thiago Ribeiro/AGIF

Do UOL, no Rio de Janeiro (RJ)

01/03/2022 23h24

O Fluminense está classificado para a terceira fase preliminar da Copa Libertadores. A equipe tricolor voltou a vencer o Millonarios, da Colômbia, na noite de hoje (1º), e garantiu a vaga. O triunfo por 2 a 0, em São Januário, foi construído com gols de Willian Bigode e Arias, ambos no segundo tempo.

No primeiro encontro entre os times, em Bogotá, na última semana, a equipe do técnico Abel Braga havia saído de campo com o resultado positivo de 2 a 1, de virada — David Braz e Cano marcaram.

O time das Laranjeiras aguarda o vencedor do confronto entre Atlético Nacional, da Colômbia, e Olimpia, do Paraguai. Os paraguaios triunfaram por 3 a 1 em casa e os times voltam a se encarar na quinta-feira.

O Flu volta a campo no sábado, contra o Resende, pelo Campeonato Carioca. A equipe é líder do Estadual, com 24 pontos.

Após um primeiro tempo em que oscilou, e um início de etapa final em que viu o Millonarios melhor, o Fluminense abriu o placar com Willian Bigode e ou a atuar com mais tranquilidade. Depois, Arias, que havia entrado pouco antes, ampliou.

Quem foi bem - Luiz Henrique

O atacante Luiz Henrique se apresentou para o jogo e foi um dos principais "desafogos" do Fluminense nas investidas ao ataque. Com movimentação, participou de boas jogadas no setor ofensivo, como o lance que terminou no gol de Willian Bigode.

Quem foi mal - Yago Felipe

Yago Felipe, capitão tricolor no duelo de hoje, não esteve em uma boa noite. O jogador, principalmente no primeiro tempo, mostrou falhas na marcação e também ao tentar auxiliar o ataque. Na etapa final, participou do lance do gol de Arias.

Cano apagado

Titular após a lesão de Fred, Cano era a esperança de gols do Fluminense. Além disso, voltou a São Januário após defender o Vasco por duas temporadas. Porém, a bola não chegou tanto quanto esperado, e o camisa 14 teve atuação mais apagada. Desviou a bola no lance do gol que abriu o placar, e acabou substituído por Arias.

Desempenho do Fluminense

O Fluminense entrou em campo com o time, hoje, considerado titular, e com a formação que Abel Braga vem colocando em prática. Após um início intenso, e explorando as alas, a equipe caiu de ritmo e voltou a apresentar problemas que já havia indicado em outros momentos na temporada, como ausências no setor de criação.

Diante deste cenário, pouco após a volta do intervalo, a torcida começou a pedir mudanças, e gritou o nome de Arias. O fato de o time das Laranjeiras abrir o placar fez a conjuntura do duelo ficar mais favorável. Pouco depois, a equipe ampliou a vantagem e istrou bem.

Desempenho do Millonarios

Com um 4-5-1, os colombianos iniciaram o jogo ainda dando espaços ao Fluminense, mas, aos poucos, conseguiram equilibrar e levar perigo, principalmente nos avanços em velocidade pela direita. A jogada aérea também era uma arma explorada, e que levou perigo ao goleiro Fábio.

Na volta do intervalo, buscaram implementar uma pressão, mas acabaram cedendo espaços e viram o Fluminense abrir o placar e ampliar pouco depois.

Cronologia

O Fluminense começou o jogo comandando as ações e assustando em finalização de Willian Bigode, que obrigou Montero a fazer grande defesa. O Tricolor explorava as alas, principalmente a esquerda, e tinha mais posse de bola, mas não conseguia transformar em oportunidades mais clara de gol.

Susto

O Millonarios, aos poucos, foi equilibrando o jogo e ou a também ter a bola e chegar ao gol adversário. Em uma das investidas, Celis ou por André, chegou à linha de fundo e cruzou. Vega chegou batendo e Fábio desviou para fora.

Vai daí?

Após Cris Silva roubar de Vásquez no meio de campo, a bola sobrou para Luiz Henrique. O camisa 11 viu o goleiro adiantado e bateu um pouco à frente da meia-lua. A bola não foi da forma imaginada, mas Montero encostou nela e cedeu o escanteio ao Tricolor.

Ritmo cai

Na reta final do primeiro tempo, o ritmo do jogo caiu e o Fluminense começou a cometer erros no meio de campo, o que atrapalhava a saída de bola. O Millonarios, por sua vez, ia ao ataque e viu Fábio fazer nova defesa em cabeçada de Herazo.

Quase!

O Millonarios voltou melhor do intervalo, e teve presença maior no campo de ataque, mas o time que chegou mais próximo de abrir o placar foi o Fluminense. Após levantamento para a área, a bola sobrou para David Braz na altura da marca do escanteio. O zagueiro desviou e Montero teve de ir no canto esquerdo fazer a defesa.

Flu comemora

Depois da chance de Braz, o Tricolor pareceu ter acordado no jogo, e abriu o placar com Willian Bigode. Luiz Henrique acabou Calegari na ultraagem, e ele cruzou para a área. Cano desviou, a bola pegou na zaga, e sobrou para o camisa 17.

Entrou e fez

Arias entrou na vaga de Germán Cano aos 25 minutos do segundo. Cerca de dois minutos depois, ele recebeu e bateu na saída do goleiro do Millonarios, ampliando a vantagem do Fluminense na partida. "Gol relâmpago" não chega a ser uma novidade para o colombiano nesta temporada. Ele ou por situações parecidas contra o Madureira e Flamengo.

istrou

Com a vantagem construída no placar, os comandados de Abel Braga aram a trocar es com mais cautela e segurar a posse, istrando o tempo e evitando que o adversário ensaiasse uma reação.

"Olé"

Nos acréscimos, a torcida que antes estava insatisfeita com a atuação, ou a gritar "olé" com a troca de es do Fluminense, que garantia a classificação sem grandes obstáculos. Além disso, fez a famosa coreografia de "ola".

E o Maracanã?

O confronto foi em São Januário pelo fato de o gramado do Maracanã estar ando por reformas. O estádio deve estar liberado para uso apenas na reta final do Carioca.

FICHA TÉCNICA
FLUMINENSE 2 X 0 MILLLONARIOS (COL)

Competição: Copa Libertadores
Local: São Januário
Dia: 1º de março, de 2022, terça-feira
Horário: 21h30 (horário de Brasília)
Árbitro: Fernando Rapallini (ARG)
Assistentes: Juan Belatti (ARG) e Diego Bonfa (ARG)
Cartões amarelos: Cris Silva, Calegari (FLU); Herazo, Vargas, Ricardo Márquez (MIL)
Cartão vermelho: -
Gols: Willian Bigode, do Fluminense, aos 15'/2ºT; Arias, do Fluminense, aos 27'/2ºT

FLUMINENSE: Fábio, Nino, Felipe Melo e David Braz; Calegari (Martinelli), André, Yago Felipe (Ganso) e Cris Silva; Luiz Henrique (Nathan), Willian Bigode (Pineida) e Cano (Arias). Técnico: Abel Braga

MILLONARIOS: Montero, Román, Llinás, Vargas e Bertel; Vásquez (Ricardo Márquez), Vega, Richard Celis (Gómez), David Silva e Daniel Ruiz (Quiñones); Herazo (Valencia). Técnico: Alberto Gamero