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

Palmeiras relata que Scarpa e três funcionários têm corona pela 2ª vez

Reprodução/YouTube
Imagem: Reprodução/YouTube

Danilo Lavieri

Colaboração para o UOL

19/11/2020 14h59

O Palmeiras afirmou que Gustavo Scarpa e mais três funcionários testaram positivo pela segunda vez para coronavírus. O meia já havia sido contaminado antes da volta aos treinos na parada forçada do futebol brasileiro —os clubes foram impedidos de treinar entre a segunda quinzena de março e o início de julho.

Em entrevista ao UOL Esporte, Gustavo Magliocca, médico do clube, afirmou que não é possível afirmar com base nos estudos feitos até hoje que se trata de uma reinfecção do covid-19.

"Estamos simplesmente observando o cenário científico mundial a respeito da doença. No Palmeiras, tivemos quatro casos em uma diferença de três a quatro meses de um atleta e três pessoas do estafe que apresentaram covid novamente. Não estamos falando que é reinfecção e que é especificamente o covid-19, mas tivemos o coronavírus identificado em quatro pessoas por duas vezes", afirmou Magliocca.

Ele explicou que a ciência ainda não deu uma resposta sobre os casos de reinfecção e explica que ainda é preciso o avanço dos estudos para poder determinar se foi o mesmo vírus que infectou os atletas ou se foi apenas da mesma família viral.

"Acreditamos muito que em breve os cientistas vão dar uma resposta para isso. A gente aguarda e, por enquanto, o que a gente observa é que a carga viral foi mais alta e com sintomas menos brandos. Mas todos permanecem não hospitalizados", completou.

De acordo com o protocolo da CBF, os atletas que têm um teste positivo pela segunda vez poderiam atuar normalmente porque não estariam transmitidos, mas os clubes adotam postura mais cautelosa. O Athletico, por exemplo, tirou Thiago Heleno das oitavas da Copa do Brasil apesar de ter testado duas vezes positivo.

Ontem, diante do Ceará pelas quartas de final da Copa do Brasil, o Palmeiras teve quase 20 desfalques, sendo 15 deles por conta de testes do coronavírus que deram positivo. Foram eles Vinicius Silvestre, Jaílson, Gabriel Menino, Matias Viña, Alan Empereur, Benjamín Kuscevic, Luan, Gustavo Scarpa, Danilo, Quiñonez, Gabriel Silva, Gabriel Verón, Rony, Pedro Acacio e Hinestroza.