;(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 aposta em elenco 'remendado' e corre atrás dos rivais no sub-20

Na última apresentação do Corinthians sub-20, a equipe foi goleada, em casa, por 6x0 diante do Vasco da Gama  - Marco Galvão/ Ag. Corinthians
Na última apresentação do Corinthians sub-20, a equipe foi goleada, em casa, por 6x0 diante do Vasco da Gama Imagem: Marco Galvão/ Ag. Corinthians

Yago Rudá

Do UOL, em São Paulo

14/07/2021 04h00

A temporada da equipe sub-20 do Corinthians não tem sido nada boa. O clube foi eliminado da Copa do Brasil logo na primeira fase pelo União ABC, do Mato Grosso do Sul, e no Campeonato Brasileiro da categoria tem a pior campanha após quatro rodadas, sendo que nos dois últimos jogos (ambos em casa) foi goleado pelo Atlético-MG (4 a 0) e pelo Vasco da Gama (6 a 0). Hoje (14), às 15h (de Brasília), o Timãozinho encara o rival São Paulo —melhor time da tabela— fora de casa, em Cotia.

Nas duas últimas goleadas sofridas pelo Corinthians, o técnico Tarcísio Pugliese usou 22 jogadores do elenco, sendo que apenas sete deles aram pelas categorias inferiores da base do Corinthians. O restante dos atletas chegou ao clube do Parque São Jorge nos dois últimos anos, a maioria em acordos comerciais com outras equipes do Brasil — prática adotada pela antiga gestão do departamento de formação de atletas.

São os casos, por exemplo, de Mandaca, volante recentemente comprado pelo Corinthians, que veio do CSP, da Paraíba, do atacante Antony, emprestado pelo ville e que será devolvido ao clube catarinense amanhã (15), e do zagueiro Alemão, que chegou ao Parque São Jorge no ano ado, após se destacar pela Francana na Copinha.

Neste cenário, o Corinthians perdeu seu protagonismo na categoria e hoje está um o atrás de todos os outros grandes clubes do futebol brasileiro. Para o duelo desta tarde no CT de Cotia, do rival São Paulo, o técnico Tarcísio Pugliese fará uma série de modificações na equipe titular. A ideia é montar um time mais competitivo e que consiga bater de frente com o Tricolor.

Crise na categoria

Independentemente de qual seja o resultado no Majestoso desta tarde, a categoria seguirá borbulhando nos bastidores. Recentemente, Carlos Brazil — o gerente recém-contratado para assumir a base — optou pela demissão de Pugliese. O conselheiro Jacinto Antônio Ribeiro, o Jaça, usou da sua influência no departamento para manter o treinador no cargo. A situação gerou uma grave crise interna no Parque São Jorge, mas a situação foi contornada.

O caso ganhou repercussão nacional, já que Brazil havia convidado Diogo Siston, do Vasco, para assumir a cadeira. O treinador pediu demissão do Cruzmaltino alegando a proposta do Corinthians, mas não assumiu o comando do Timãozinho por conta do ocorrido nos bastidores.

Corinthians