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

Corinthians

Corinthians faz contas, foca no G6 e não vê problema com reforços caros

Alessandro Nunes, Duilio Monteiro Alves e Roberto de Andrade, dirigentes do Corinthians - Rodrigo Coca/Ag. Corinthians
Alessandro Nunes, Duilio Monteiro Alves e Roberto de Andrade, dirigentes do Corinthians Imagem: Rodrigo Coca/Ag. Corinthians

Yago Rudá

Do UOL, em São Paulo

25/07/2021 04h00

Depois de mudar os planos no meio da temporada, o Corinthians refez contas, reviu o orçamento e chegou a conclusão de que as contratações de Giuliano, Renato Augusto e possivelmente Roger Guedes estão de acordo com a realidade do clube. Mesmo endividado, o Alvinegro aposta que os reforços para o futebol podem resultar em aumento de receitas e na criação de um time com capacidade de brigar por uma vaga na Copa Libertadores da próxima temporada.

O Corinthians não revela quanto pagará a Renato Augusto e Giuliano, mas a reportagem apurou que os rendimentos da dupla, somando salários e luvas diluídas ao longo da extensão dos contratos, alcançam o teto salarial do clube. O atacante Roger Guedes, monitorado pela diretoria e ainda negociando sua rescisão com o Shandong Luneng, da China, tem conversas para receber os mesmos valores.

A quantia é considerada alta, mas representa metade do valor economizado pelo clube nos sete primeiros meses do ano com as saídas de vários jogadores com salários altos, como Mauro Boselli, Jemerson, Otero, Cazares, Bruno Méndez, Camacho e Ramiro, além de outros com rendimentos menos expressivos, casos de Marllon, André Luis e Davó. O planejamento do Corinthians é contratar menos do que nos últimos anos e não fazer apostas.

Eliminado precocemente da Copa do Brasil e também da Copa Sul-Americana, o Corinthians quer voltar a ter protagonismo no cenário nacional. As contratações de Giuliano e Renato Augusto ilustram o desejo do clube de voltar a disputar a Copa Libertadores na próxima temporada. A diretoria acredita que a dupla colocará a equipe comandada por Sylvinho em condições de brigar pela vaga ao torneio continental, o que geraria novas receitas e ajudaria o clube a enfrentar sua dívida quase bilionária.

As premiações que o clube deixou de ganhar na Sul-Americana e, sobretudo, na Copa do Brasil serviram como argumento para a diretoria ir ao mercado da bola. Financeiramente, o Corinthians acredita que manter uma equipe competitiva é mais vantajoso do que apostar nos garotos da base, já que praticamente nenhum dos garotos efetivados nesta temporada deu conta do recado no profissional até agora.

Corinthians