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

Cidade de São Paulo cancela Carnaval de rua, mas mantém desfiles

Os desfiles serão realizados com exigência de vacina e máscara - Simon Plestenjak/UOL
Os desfiles serão realizados com exigência de vacina e máscara Imagem: Simon Plestenjak/UOL

Do UOL, em São Paulo*

06/01/2022 11h21Atualizada em 06/01/2022 13h30

A Prefeitura de São Paulo anunciou hoje o cancelamento dos blocos de rua no Carnaval da cidade devido ao aumento nos casos de covid-19. A informação foi divulgada pelo prefeito Ricardo Nunes (MDB) após reunião em que se apresentou um estudo de vigilância epidemiológica.

Por enquanto, os desfiles das escolas de samba estão mantidos — em entrevista ao SPTV, Ricardo Nunes afirmou que o secretário da Saúde, Edson Aparecido, vai apresentar na semana que vem um estudo à Liga das Escolas de Samba detalhando os protocolos que deverão ser seguidos no evento.

"Vão elaborar esse protocolo, uso de máscara, não ter aglomeração interna como setores reservados. Esse estudo ainda vai ser apresentado, não está concluído. Na semana que vem, Edson Aparecido com a vigilância sanitária, vai apresentar à Liga", disse o prefeito.

Blocos já haviam cancelado participação

Ontem, 41 blocos paulistanos já haviam anunciado que não desfilariam neste ano, mesmo que a prefeitura escolhesse manter a celebração. A lista de cancelamentos inclui o "Pipoca da Rainha" (Daniela Mercury), "Bloco do Alok", "Bloco do Abrava" (Tiago Abravanel) e "Bloco do Kondzilla".

Em comunicado assinado por Fórum de Blocos de Carnaval de Rua de São Paulo, UBCRESP (União dos Blocos de Carnaval de Rua do Estado de São Paulo) e Comissão Feminina de Carnaval de São Paulo, as organizações destacam a "falta de clareza e consenso entre instituições governamentais" em um momento de "nova fase de crise sanitária".

O texto também ressalta a importância de se criar programas de fomento à economia do Carnaval e rejeita a ideia de fazer a comemoração em espaços contidos: "Não itimos a hipótese de se realizar um evento de 'Carnaval de rua' em lugares contidos, ao ar livre, como o Autódromo de Interlagos, Memorial da América Latina, Jockey Club, Sambódromo e outros. Isso é alternativa do setor privado".

Os blocos após o cancelamento

Em conversa com o UOL hoje após o cancelamento do Carnaval de rua, Thais Halisky, coordenadora da Comissão Feminina de Carnaval de São Paulo, afirmou que as três entidades que am o manifesto (União dos Blocos de Carnaval de Rua do Estado de São Paulo, Fórum de Blocos de Carnaval de Rua de São Paulo e Comissão Feminina de Carnaval de São Paulo) devem se reunir hoje para decidir sobre os próximos os.

"O que tivemos como consenso foi que a realização de um evento desse tamanho em um lugar como o Autódromo de Interlagos só exigindo aporte de vacina não era suficiente para garantir a segurança dos foliões e dos integrantes de bloco".

"O que a gente tem visto de uns meses para cá, com o retorno de cinemas, restaurantes e outros eventos, as pessoas acabam deixando de tomar os seus cuidados. Então com o aumento da variante nova e esse aumento do número de casos, a gente percebeu que isso não era suficiente para garantir a segurança."

A gente decidiu provocar uma posição da prefeitura e da secretaria de saúde de São Paulo em relação a esses indicadores. O que a gente tem de informação é que os casos estavam aumentando exponencialmente, então a gente precisava de uma posição mais clara e detalhada para que os blocos pudessem tomar a decisão de sair ou não. Thais Halisky

O que diz o governo

Hoje, em entrevista à CNN Brasil, o coordenador-executivo do Centro de Contingência do Coronavírus do governo de São Paulo, João Gabbardo, avaliou que o Carnaval de rua "é impensável, não tem como fazer".

Ele afirmou que os desfiles das escolas de samba podem ser feitos de forma segura desde que haja testagem, exigência de aporte de vacina e fiscalização do uso de máscara. "Mesmo assim, a gente tem que avaliar: como essas pessoas vão chegar lá? Vão pegar transporte coletivo, vai haver acúmulo", acrescentou.

Gabbardo também não considera as festas privadas uma alternativa segura: "As festas nessas últimas semanas... O que a gente encontra de gente que se contamina em festas de formatura, comemorações de final de ano é muito significativo".

"O risco continua sendo muito elevado. Imaginamos que neste momento não é adequado mesmo, esses eventos privados não devem ser realizados."

* Com informações da Agência Estado