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

Erick 'ensina' Suárez, e Ypiranga vira sobre Grêmio na semifinal do Gaúcho

Lance durante a partida entre Grêmio e Ypiranga no Campeonato Gaúcho - Liamara Polli/AGIF
Lance durante a partida entre Grêmio e Ypiranga no Campeonato Gaúcho Imagem: Liamara Polli/AGIF

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

19/03/2023 18h16

Virada do Canarinho em Erechim! Em jogo com três pênaltis, o Ypiranga virou para cima do Grêmio na partida de ida da semifinal do Campeonato Gaúcho. Com dois gols de pênalti de Erick e penalidade desperdiçada por Suárez, a virada veio já nos acréscimos, sem chance de reação gremista.

Para o Grêmio, Suárez abriu o placar, mas perdeu um pênalti que ampliaria a vantagem, tudo na primeira etapa. O Imortal empilhou chances perdidas. O Ypiranga voltou melhor no segundo tempo e Erick empatou o confronto, de pênalti. Nos acréscimos, novo pênalti de Kannemann que Erick bateu para sacramentar o resultado.

  • Suárez perdeu o segundo pênalti seguido pelo Grêmio;
  • Ypiranga encerrou invencibilidade do Grêmio na temporada;
  • Tricolor sai atrás na semifinal do Gauchão.

O jogo decisivo da semifinal será na Arena do Grêmio, no próximo sábado (25), às 16h30 (de Brasília). O Grêmio precisa vencer por dois ou mais para avançar à final. Empate ou nova vitória dão a vaga ao Ypiranga.

Gols e destaques

Primeira pegada! Com um minuto de jogo, Luis Suárez já sofreu a primeira entrada mais forte do zagueiro do Ypiranga e saiu mancando.

Quase o primeiro! O quique da bola traiu o zagueiro do Ypiranga, Bitello acionou Suárez e o goleiro Caíque fez grande defesa. No rebote, Vina foi travado.

El Pistolero! Transição rápida do Grêmio e bola de Pepê para Suárez, que bateu de trivela e abriu o placar. Na comemoração, homenagem para Lucas Leiva.

Avalanche! Início avassalador do Grêmio. Depois do gol, Suárez recebeu mais uma e finalizou forte. Caíque impediu o segundo do uruguaio.

Primeira do Ypiranga... Fábio derrubou MV na entrada da área. João Pedro bateu na barreira, a bola ficou viva, mas o bandeira deu impedimento.

Mais uma. Matheuzinho recebeu no lado direito com espaço, ou por dois marcadores e bateu rasteiro. A bola ou perto e levou perigo ao gol de Adriel.

Uuuuuuh... Bruno Alves falhou, MV balançou e saiu cara a cara com Adriel, mas bateu para fora. Melhor chance do Ypiranga até o momento.

Opa! Ferreira arrancou em velocidade, invadiu a área e foi derrubado por Robson. O VAR chamou o árbitro, que deu o pênalti para o Grêmio e cartão para o zagueiro.

Perdeu! Na cobrança da penalidade, Caíque pegou a cobrança de Luis Suárez! Para botar no DVD, hein, goleirão?

Perdeu, Vina! Em mais uma chegada com Ferreira, o camisa 10 abriu para Diogo Barbosa, que tocou no meio da área e Vina apareceu sozinho, mas pegou muito mal na bola e perdeu outra boa chance.

Vamos voltar, pessoal? Segundo tempo começou devagar, parecendo que os dois times decidiram ficar no vestiário mais um pouco. Sem emoções.

Quase! Mossoró tentou surpreender a zaga gremista, cobrando falta rápido para Matheuzinho. O atacante cortou para o meio e bateu cruzado. A bola foi na rede, mas pelo lado de fora.

E, aí, professor? Kannemann derrubou Matheuzinho na área e a torcida reclamou. O juiz parou o jogo, foi no VAR e deu pênalti para o Ypiranga.

Olha o empate! Erick bateu bem, no alto, sem chances para Adriel e deixou tudo igual no Colosso da Lagoa.

Adriel! Em contra-ataque rápido do Ypiranga, Matheuzinho arrancou e bateu para boa defesa do goleiro gremista. No rebote, Erick chutou e novamente o goleiro gremista salvou.

Ele de novo! Bola na área em escanteio do Ypiranga, Islan cabeceou para Adriel cair e defender.

Ih... Na cabeçada de Islan, Kannemann bloqueou a bola com o braço. O VAR chamou, o juiz deu mais um pênalti e expulsou o zagueiro. Cenas lamentáveis após a marcação da penalidade.

Mais um dele! Erick é o nome do jogo. Converteu outro pênalti e garantiu a vitória do Canarinho em Erecim!

FICHA TÉCNICA - Ypiranga x Grêmio - Semifinal do Campeonato Gaúcho - Jogo de Ida

Data e horário: 19 de março de 2023, às 16 (de Brasília)
Arbitragem: Rafael Rodrigo Klein; André da Silva Bitencourt (1º assist.); Juarez de Mello Júnior (2º assist.); Lucas Guimaraes Horn (4º árbitro); Wagner Reway (VAR)
Local: Colosso da Lagoa, Erechim
Gols: Erick (YPI); Suárez (GRE);
Cartões amarelos: Robson, Júnior Sergipano e Islan (YPI); Suárez, Kannemann, Ferreira e Diego Souza (GRE)
Cartões vermelhos: Kannemann

YPIRANGA: Caíque; Robson (Yohan), Islan, Júnior Sergipano (Ronald), Patric Calmon; Lorran (Ralph), Mossoró, João Pedro (Jhonatan Ribeiro); Matheuzinho, MV (Wiliam Barbio), Erick

GRÊMIO: Adriel; Fábio (Thaciano), Bruno Alves, Kannemann, Diogo Barbosa; Villasanti, Carballo (Thiago Santos), Pepê (Ferreira), Bitello, Vina (Everton Galdino); Luis Suárez