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

Mirassol vence por 3 a 2, e favorito São Paulo é eliminado em pleno Morumbi

Do UOL, em São Paulo

29/07/2020 20h54

O São Paulo tem mais um fiasco para a sua coleção de vexames vividos nos últimos anos. Hoje (29) à noite, em pleno Morumbi, o Mirassol venceu por 3 a 2 eliminou o Tricolor do Campeonato Paulista, em duelo de quartas de final em jogo único. Agora, o time espera as outras três partidas desta série do estadual para saber quem será o seu adversário na próxima fase. Os gols foram marcados por Zé Roberto (duas vezes) e Daniel Borges. Pablo e Vítor Bueno descontaram.

O Mirassol havia perdido 18 jogadores durante os quatro meses de pausa na competição por causa da pandemia do novo coronavírus. Ainda assim, a equipe do interior acabou a primeira etapa do torneio na segunda posição do Grupo C, com 17 pontos conquistados em 12 partidas (sexta melhor campanha).

A equipe de Fernando Diniz chegou às quartas de final com a terceira melhor campanha do torneio. Até o momento, o São Paulo também é dono do melhor sistema ofensivo da competição, com 21 gols. O artilheiro tricolor na temporada é Pablo, que agora balançou as redes seis vezes. Agora, o Tricolor espera a estreia do Brasileirão, prevista para o dia 9 de agosto, para voltar a jogar.

A semifinal será realizada neste fim de semana, em partida única. Mais uma vez, os estádios terão portões fechados para cumprir o protocolo imposto pela Federação Paulista de Futebol (FPF).

Apoio familiar

Apesar de não poder levar os filhos para ver o jogo, Bruno Alves deu um jeito para contar com o apoio dos herdeiros. O zagueiro teve a imagem de Henry e Helena estampada entre os totens de torcedores nas cadeiras do estádio.

50 vezes Tchê Tchê

O meio campista completou a sua partida de número 50 pelo clube do Morumbi. Titular absoluto na equipe de Fernando Diniz, o jogador fez a sua estreia pelo Tricolor contra o Botafogo (2 a 0), no dia 27 de abril do ano ado.

Quem foi bem

Zé Roberto mostrou que tem faro de gol. O atacante do Mirassol teve duas oportunidades e as converteu.

Quem foi mal

Juanfran não acompanhou o adversário, principalmente nos contragolpes em velocidade. O espanhol também pouco apoiou o sistema ofensivo. Acabou sendo substituído já no intervalo.

Desempenho do São Paulo

Disposto, o time de Fernando Diniz pressionou o adversário já em seu campo de ataque e dominou as ações desde o início do confronto. No entanto, faltava mais objetividade ao time, que não conseguia concluir. O time só acordou após levar dois gols.

Desempenho do Mirassol

A equipe visitante, que perdeu 18 jogadores durante a paralisação do campeonato, até tentou ter uma postura ofensiva e sair com a bola dominada no chão. Porém, o time do interior sofria para sair da marcação tricolor. Nos contragolpes, o Mirassol mostrou eficiência e soube se aproveitar dos erros do rival. Após o segundo gol, o time se desconcentrou e permitiu a reação.

Cronologia do jogo

O São Paulo tinha muita posse de bola e tentava marcar o adversário já no seu campo. Tal domínio, porém, não se transformava em oportunidades. A equipe pouco finalizava. O Mirassol explorava os contragolpes para chegar ao gol de Tiago Volpi. Dessa maneira, o time do interior abriu o placar com com Zé Roberto. Após cobrança de escanteio, aos 19, o atacante apareceu livre para completar de cabeça.

O time visitante manteve a concentração e fez outro, novamente com Zé Roberto. Aos 31, em uma investida em velocidade, o atacante aproveitou cruzamento e mandou para o fundo das redes.

Em desvantagem, o São Paulo acordou e ou a ser mais efetivo. Logo aos 32, o time da casa tentou dar o troco com Pato, que parou nas mãos do goleiro Kewin,

Pouco depois, aos 35, o time do Morumbi fez o seu primeiro. Vítor Bueno cruzou para Pablo. O camisa 9 cabeceou e, no rebote, fez o seu. No minuto seguinte, Vítor Bueno empatou. Pablo escorou de cabeça e, da entrada da área, o atacante arrematou com categoria.

Para a segunda etapa, Diniz tirou Juanfran e colocou Igor Vinícius. O time manteve a postura mais ofensiva, marcando o rival em seu campo. O Mirassol apostava nos contragolpes e nas falhas do Tricolor. Igor Gomes, que não brilhava tanto, quase fez. Aos 9, o meia cruzou, mas a bola foi para o gol e bateu no travessão.

Mesmo com a alteração, o Tricolor tinha dificuldade para finalizar. Pato, Vítor Bueno e Pablo tiveram algumas chances, mas não levavam tanto perigo para o arqueiro Kewin. Aos 21, o treinador fez outra troca, ao colocar Helinho no lugar de Pato.

A estratégia do Mirassol deu certo. Em uma das investidas da equipe, Arboleda afastou mal a bola, e Daniel Borges chutou para marcar o terceiro dos visitantes.

FICHA TÉCNICA:

SÃO PAULO x MIRASSOL
Data:
29 de julho de 2020, quarta-feira
Local: Morumbi, em São Paulo (SP)
Competição: Campeonato Paulista, quartas de final
Árbitro: Flavio Rodrigues de Souza
Assistentes: Marcelo Carvalho Van Gasse e Anderson José de Moraes Coelho
VAR: Rodrigo Guarizo Ferreira do Amaral
Cartões amarelos: Bruno Alves (São Paulo); Zé Roberto (Mirassol)
Gols: Zé Roberto, aos 19 do 1º tempo; Zé Roberto aos 31 do 1º; Pablo aos 35 do 1º; Vítor Bueno aos 36 do 1º. Daniel Borges aos 34 do 2º

SÃO PAULO: Tiago Volpi; Juanfran (Igor Vinícius), Bruno Alves (Everton), Arboleda e Reinaldo; Tchê Tchê (Paulinho Bóia), Daniel Alves e Igor Gomes (Hernanes); Alexandre Pato (Helinho), Pablo e Vitor Bueno. Técnico: Fernando Diniz

MIRASSOL: Kewin; Daniel Borges, Danilo Boza, Reniê e Moraes; Alison Silva, Du (Lucas Vital) e Kauan (Matheus Rocha); Juninho (Wellington), Zé Roberto (João Arthur) e Bruno Mota (Vinicius Baracioli). Técnico: Ricardo Catalá.

São Paulo