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

Renato Gaúcho faz analogia com paquera para questionar posse de bola

Jeremias Wernek

Do UOL, em Porto Alegre

31/12/2020 00h44

Renato Gaúcho contou que montou a estratégia do Grêmio para eliminar o São Paulo no treino de terça-feira, em Porto Alegre. Depois de garantir vaga à final da Copa do Brasil, o treinador exaltou a competitividade da equipe e ainda fez analogia com paquera para desdenhar percentual de posse de bola — que foi maciça para o lado são-paulino nos dois jogos.

O Grêmio empatou em zero no Morumbi e confirmou a vantagem obtida na semana anterior, quando venceu por 1 a 0 em Porto Alegre. Na final, o time gaúcho pega o Palmeiras, que eliminou o América-MG.

"Nós usamos o regulamento debaixo do braço na hora certa. As melhores oportunidades no primeiro tempo foram do Grêmio. O jogo foi bom. Tínhamos que anular as jogadas do São Paulo, principalmente com o Daniel Alves. Não demos espaço e no segundo tempo, lá pela metade, a gente sabia que eles iam começar a alçar bola na área e treinamos isso com três zagueiros. Soubemos sofrer e vai da estratégia, estratégia. Aí sim é saber sofrer no final. Enfrentamos uma grande equipe e não é por nada que o São Paulo é líder do Campeonato Brasileiro. O São Paulo pressionou, pressionou… Mas quase nada. O São Paulo não conseguiu grandes chances. O grupo ou bem essa pressão com bolas alçadas na área. O importante foi a classificação. Jogamos com regulamento somente no final do jogo", disse Renato Gaúcho ao falar da postura do Grêmio ao longo da partida de volta do duelo.

Ao final da entrevista, quando perguntado sobre a posse de bola, Portaluppi usou analogia para ilustrar a ideia que tem sobre o quesito.

"A tua pergunta é boa… Deixa eu te contar uma coisa sobre posse de bola. Minha equipe é objetiva para buscar o gol. Não adianta ficar tocando a bola dentro do próprio campo. Quando meu time tem a bola, é agressivo. A mim, não interessa ter 70% de posse de bola. Vou te contar uma historinha sobre posse de bola. Teve um cara que pegou uma mulher bonita e levou ela para jantar. Levou para jantar a luz de velas, conversou bastante. Saiu do restaurante, foi na boate e ficou até às 5h da manhã com ela. Gastou uma saliva monstruosa. Aí, na boate, chegou um amigo meu, conversou com ela 15 minutos e levou ela para o motel. Entendeu? Se não entendeu outra hora eu explico. Meu amigo ganhou o jogo. Feliz Ano Novo", encerrou.