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

Mauro: Conmebol insiste por Copa América contra prejuízo milionário

Mauro Cezar

UOL Esporte

UOL

em São Paulo

01/06/2021 14h13

O colunista do UOL Mauro Cezar Pereira analisa a confirmação do Brasil como país-sede da Copa América. Para ele, a insistência da Conmebol em realizar o evento mesmo depois das desistências de Colômbia (por causa de instabilidade política no país) e da Argentina (devido ao agravamento da pandemia pela coronavírus no território argentino) tem a ver com dinheiro.

"Os interesses comerciais são enormes evidentemente. A Conmebol não quer correr risco de ter prejuízos milionários com a não realização do seu torneio de seleções", diz o jornalista.

Mauro Cezar argumentou que os números de mortes no Brasil ainda são altos e os de imunizados são baixos. Para ele, realizar o torneio aqui após a negativa da Argentina justamente por causa de preocupações com a pandemia é "sair de um problema e ir para outro".

"Justamente por acontecer no Brasil, onde os números são elevados e o índice de vacinados não ter atingido um patamar minimamente satisfatório, principalmente se compararmos com outros países onde há um número avançado de pessoas já imunizadas com relação ao risco de contrair a doença, evidentemente você sai de um problema e vai para outro. Não faz o menor sentido, óbvio. Isso é até chover no molhado. Falar isso é falar o óbvio".

O colunista argumenta que receber um torneio com a estrutura da Copa América é diferente de realizar competições nacionais e jogos da Libertadores. "Não é uma equipe que vem aqui e joga ou o time do Brasil que sai e joga. São várias seleções e tudo que cerca essas seleções transitando no território nacional. Movimenta mais gente evidentemente. Então é uma situação diferente."

Mauro Cezar ainda criticou a CBF (Confederação Brasileira de Futebol) por não se importar com a situação de clubes, que terão de ceder jogadores para as seleções enquanto os campeonatos nacionais não foram paralisados.

"A CBF trabalha para ela, para suas seleções. Não por acaso, em 2019, quando o Flamengo teve um faturamento extraordinário, em um ano de muitas vitórias, perto de R$ 1 bilhão, a CBF faturou mais que o Flamengo. Ou seja, mesmo quando um clube de maior torcida do Brasil tem o melhor ano da sua história do ponto de vista técnico/financeiro, juntando as duas coisas, a CBF ganha mais. Então é o que sempre acontece. Entre as seleções da CBF e o campeonato, vai jogar o campeonato do jeito que for."

"E realmente é algo assustador: ficar sem oito jogadores em várias partidas por conta de Copa América, seleção olímpica e tudo mais. Então, os times são mutilados, o campeonato fica desfigurado, evidentemente, tem um impacto técnico. Outras equipes também vão sofrer, por exemplo, Palmeiras, Atlético Mineiro e outros, perdendo jogadores importante. Mas a CBF está muito mais preocupada, é obvio isso, com as suas seleções: olímpica, principal, sub-20, sub isso, sub aquilo, do que com o Campeonato Brasileiro, Copa do Brasil ou qualquer competição que envolva os clubes", finaliza.