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

São Paulo

São Paulo perde para Racing e ainda não tem vaga assegurada na Libertadores

Siga o UOL Esporte no

Colaboração para o UOL, em São Paulo

18/05/2021 23h22

O São Paulo sofreu a primeira derrota nesta edição da Copa Libertadores da América ao perder para o Racing-ARG, por 1 a 0, no Morumbi, pela quinta rodada do Grupo E. De olho na final do Campeonato Paulista na quinta-feira (20), contra o Palmeiras, o técnico Hernán Crespo poupou os titulares nesta noite. O Racing também teve escalação cheia de reservas, já que enfrentará o Boca Juniors no domingo (23), pela semifinal do Campeonato Argentino.

Com o resultado, o São Paulo permaneceu com oito pontos e perdeu a liderança do Grupo E justamente para o Racing, que pulou para 11 pontos e agora está classificado. O Rentistas-URU tem três pontos e joga amanhã em Lima contra o Sporting Cristal-PER, que é o lanterna com um ponto. Se o time uruguaio não vencer, o Tricolor garantirá a segunda vaga para as oitavas de final da Libertadores.

Porém, caso o Rentistas ganhe e chegue aos seis pontos, a classificação só será decidida na última rodada, na próxima terça-feira (25). O São Paulo precisaria vencer o Sporting Cristal no Morumbi para não depender do duelo entre Racing e Rentistas na Argentina.

Essa foi apenas a segunda derrota do São Paulo nesta temporada. O time de Hernán Crespo viu, também, ser encerrada uma invencibilidade que durava 14 jogos. Além disso, perdeu pela primeira vez para um time argentino no Morumbi pela Libertadores. Antes do duelo desta noite, o Tricolor sustentava uma sequência de 12 jogos sem reveses contra os "hermanos", com dez vitórias e dois empates.

São Paulo assusta, mas não mantém ímpeto

O São Paulo começou melhor e levou perigo logo aos dez minutos de jogo, quando Igor Gomes desviou cruzamento e viu o goleiro Arias —eleito pela Conmebol como o melhor da partida— salvar com o pé. Depois desta primeira chance, porém, o time não conseguiu mais assustar o Racing no primeiro tempo.

Racing abre o placar

Se o São Paulo não estava bem, o Racing seguia o mesmo caminho. Os ataques de ambos os times tinham dificuldade para criar boas situações. Até que, aos 27, num cochilo da defesa são-paulina, o time argentino soube aproveitar para abrir o placar, com Novillo. Livre na área, ele aproveitou cruzamento e mandou de cabeça para o fundo da rede de Tiago Volpi, um dos poucos atletas do time principal de Crespo mandados a campo.

Segundo tempo começa elétrico

O primeiro tempo continuou sem grandes lances mesmo depois de o Racing abrir o placar. Já a etapa final começou mais agitada. Orban marcou de cabeça, mas estava muito impedido e o gol foi anulado corretamente. Em seguida, Galeano disputou bola com Segovia e ficou reclamando de pênalti duvidoso, a bola sobrou para Vitor Bueno, que também caiu na área após trombar com Segovia. O árbitro, por sua vez, mandou o jogo seguir nos dois lances.

Crespo recorre a titulares

Em busca do empate, Hernán Crespo fez três substituições aos 15 minutos, sendo dois jogadores titulares. Recuperado de lesão, Daniel Alves entrou na vaga de Orejuela. Luciano foi acionado no lugar de Vitor Bueno. Para completar, Shaylon, que vem ganhando a confiança do técnico, assumiu a posição de William.

São Paulo melhora e pressiona

As mudanças de Crespo melhoraram a equipe. Os três, inclusive, participaram de um bom lance que quase resultado no empate. Daniel Alves lançou para Shaylon, que cruzou e viu Luciano, desajeitado, finalizar sem força, em cima do goleiro Arias.

Daniel Alves balança a rede, mas em impedimento

O São Paulo também teve um gol anulado corretamente por impedimento. Aos 34, Welington cruzou e Daniel Alves cabeceou para o fundo da rede, mas estava bem adiantado.

Domínio não resulta em gol

O segundo tempo foi todo do São Paulo. Apesar de não ter sido brilhante, o Tricolor ficou mais com a bola e rondou a área adversária. No entanto, não conseguiu o empate e sofreu sua primeira derrota nesta Libertadores.

SÃO PAULO 0 X 1 RACING

Local: Morumbi, em São Paulo (SP)
Data e hora: 18/5/2021, às 21h30
Árbitro: Jesus Valenzuela (VEN)
Assistentes: Tulio Moreno (VEN) e Lubin Torrealba (VEN)
Cartões amarelos: Welington, Rodrigo Freitas (São Paulo); Martínez, Copetti (Racing)
Gol: Novillo, aos 27 minutos do 1º tempo

SÃO PAULO: Tiago Volpi, Diego Costa, Rodrigo Freitas e Bruno Alves; Orejuela (Daniel Alves), William (Shaylon), Rodrigo Nestor, Igor Gomes (Hernanes) e Welington; Galeano (Rojas) e Vitor Bueno (Luciano). Técnico: Hernán Crespo.

RACING: Gabriel Arias; Fabricio Domínguez, Imanol Segovia (Sigali), Lucas Orban, Joaquín Novillo e Ignacio Galván (Mena); Aníbal Moreno, Mauricio Martínez e Matías Rojas (Piatti); Maximiliano Lovera (Leonel Miranda) e Leandro Godoy (Copetti). Técnico: Juan Antonio Pizzi.

São Paulo