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

Liga dos Campeões - 2021/2022

PSG eficiente vence o City com pintura de Messi e Donnarumma paredão

Do UOL, em São Paulo

28/09/2021 17h55

Após a semifinal da edição ada, Paris Saint-Germain e Manchester City voltaram a se enfrentar pela Liga dos Campeões. Desta vez, o time francês levou a melhor e venceu por 2 a 0, no Parque dos Príncipes, em Paris. Idrissa Gueye abriu o placar e Lionel Messi, pela primeira vez com a camisa do novo clube, ampliou com uma pintura após e de Mbappé.

O trio MMN começou a dar indícios que, aos poucos, está 'criando liga'. O primeiro gol teve participação dos três, e o segundo foi em um contra-ataque mortal de Mbappé e Lionel Messi. O argentino recebeu e do francês e bateu no ângulo para marcar o seu primeiro gol pela nova equipe.

Após sair perdendo, os comandados de Guardiola fizeram Donnarumma e o setor defensivo dos mandantes trabalharem bastante, o que enalteceu a partida feita pelo arqueiro italiano. A saída encontrada pelo PSG foi trabalhar com base na velocidade dos contra-ataques, o que garantiu os três pontos para o Paris. No total, foram 18 finalizações do City, contra apenas seis do "eficiente" PSG.

Com o resultado, o PSG chega aos quatro pontos, mesmo número que o Club Brugge, e divide a liderança com o time belga. Já o City é o terceiro colocado com três pontos, enquanto o RB Leipzig amarga a lanterna sem ter pontuado ainda.

Trio MMN em campo

Após muita dúvida sobre a presença de Lionel Messi em campo, Maurício Pochettino colocou o trio MMN em campo. Na primeira etapa, os três participaram da jogada que abriu o placar para o Paris.

Depois do gol, os comandados de Guardiola tiveram muito controle do jogo. Os ses tentaram agir com base no contra-ataque, mas não tiveram muito êxito, principalmente pela forte marcação dos ingleses.

Na segunda etapa, os três tiveram um começo não tão muito expressivo. Mas, na reta final, com o poder do contra-ataque, Messi fez seu primeiro gol na Champions pelo PSG.

'Herói improvável' em ação

Depois do golaço feito contra o Montpellier no Campeonato Francês, Idrissa Gueye voltou a levar o Parque dos Príncipes ao delírio. Após uma jogada que começou pelos pés de Messi, teve cruzamento de Mbappé e furada de Neymar, o volante aproveitou a oportunidade e abriu o placar.

O goleiro Ederson ainda tentou evitar que as redes fossem balançadas, mas não conseguiu.

Travessão amigo!

Após o gol, o Paris começou a se defender e jogar com base nos contra-ataques. Após algumas oportunidades de deixar tudo igual, o Manchester City assustou aos 25 minutos de jogo.

Sterling e Bernardo Silva acertaram o travessão de Donnarumma, que quase viu o placar ficar igual no Parque dos Príncipes. O lance fez com que Guardiola ficasse extremamente agitado no banco de reservas.

Pressão inglesa

Mesmo atrás no placar, o Manchester City teve muito controle do jogo mesmo atrás do placar. As principais oportunidades do jogo foram de Sterling, De Bruyne, Grealish e companhia.

As boas atuações do setor defensivo dos comandados de Pochettino e do arqueiro Donnarumma fizeram com que a primeira etapa acabasse com a vantagem de 1 a 0 do Paris.

Primeiro gol do craque

Lionel Messi tirou a pressão das costas. No segundo tempo, em um contra-ataque espetacular do PSG, o camisa 30 recebeu um belo e de Mbappé e fez um golaço.

Mesmo com a pressão que o City colocava no confronto para deixar tudo igual, a dupla mostrou uma força e velocidade descomunal, o que pegou a defesa do Manchester desprevenida ao ponto de não conseguir evitar o segundo gol dos mandantes.

Donnarumma paredão

A atuação do goleiro italiano também foi elogiável. Diante da pressão imposta pelo City e as inúmeras chances criadas, o ex-Milan mostrou muita segurança e impediu as possibilidades dos ingleses em criar qualquer tipo de reação durante os 90 minutos.

Próximos compromissos

Antes de voltar aos gramados pela Champions, os dois terão dois compromissos. Pelo Campeonato Francês, o PSG terá Rennes e Angers pela frente, nos dias 3 e 10 de outubro, respectivamente.

Já o Manchester City fará um clássico contra o Liverpool no domingo (3), e receberá o Burnley no dia 16, ambos pelo Campeonato Inglês.

Na Liga dos Campeões. Os ingleses visitarão o Club Brugge e os ses receberão o RB Leipzig. As partidas marcarão o final dos jogos de ida da fase de grupos do torneio europeu.