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

São Paulo

Muricy Ramalho é abordado e discute com guarda no litoral de SP

Eduardo Lucizano

DO UOL, em São Paulo

15/03/2021 18h05Atualizada em 15/03/2021 20h02

O coordenador de futebol do São Paulo, Muricy Ramalho, discutiu com um fiscal da Guarda Municipal de Bertioga ontem ao ser abordado durante uma caminhada na praia de Riviera de São Lourenço, onde está desde o início da pandemia de covid-19.

Muricy Ramalho disse ao UOL Esporte que anteciparam o decreto que fecharia as praias sem avisar a população e por isso estava fazendo exercício no momento em que foi abordado. De acordo com prefeitura de Bertioga, "a interdição de praias, prevista na Fase Emergencial do Plano São Paulo, foi antecipada em Bertioga e começou a valer a partir de sábado (13). A proibição inclui, o, circulação ou qualquer atividade na faixa de areia, jardins, mar e calçadão".

"Acontece que baixaram um decreto que a praia iria fechar segunda-feira, aí todas as pessoas da Riviera acordaram e foram fazer exercício, como faço todos os dias, a GCM me parou dizendo que anteciparam o decreto e eu disse ao funcionário que tem que avisar os moradores e fui embora, só isso", disse Muricy.

Um vídeo que circula nas redes sociais mostra Muricy conversando com os guardas e dizendo que não ia para a praia quando anunciavam as restrições. "Mais de um ano que estou aqui e nem meus filhos vêm na minha casa, eu me cuido pra caramba", diz o ex-treinador.

Em entrevista à Rádio Bandeirantes na noite de hoje, Muricy disse que faz as caminhadas para cuidar do coração e que tirou a máscara no fim da caminhada.

"Vou caminhar porque preciso por causa do meu coração, no fim da caminhada me pararam e disseram eu tinha que voltar para grama, e disse que tinham que comunicar, não pode de repente acordar todo mundo e ir embora. Em relação à máscara, eu estava cansado e tirei a máscara mesmo, mas não xinguei os funcionários, dei minha opinião. É bem diferente, eu não estava fazendo nada de anormal, praia é o lugar mais seguro, eu não estava fazendo nada de errado, é minha caminhada, tudo distante, não tem aglomeração, total respeito ao protocolo", disse.

Segundo a prefeitura de Bertioga, mais de 500 pessoas foram abordadas em Riviera e São Lourenço ontem. "A Prefeitura de Bertioga realizou neste domingo (14), uma força-tarefa em Riviera e São Lourenço, para garantir o cumprimento do decreto municipal que determinou o fechamento das praias da Cidade. A operação contabilizou mais de 500 abordagens. O objetivo é frear o avanço do vírus e evitar o colapso no sistema de saúde", diz nota da prefeitura.

São Paulo