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

Banheiro para todos, "fica, Minhocão", juro zero: ideias de França para SP

8.out.2020 - Fernanda Luz/Divulgação
Imagem: 8.out.2020 - Fernanda Luz/Divulgação

Nathan Lopes

Do UOL, em São Paulo

16/10/2020 04h00

O candidato do PSB a prefeito de São Paulo, Márcio França, propõe, em seu plano de governo, parcerias para a oferta de banheiros pela cidade. O ex-governador paulista também pretende gerar linhas de empréstimo sem juros para microempreendedores.

Nos últimos dias, o UOL começou a apresentar um resumo dos planos de governo apresentados pelas candidaturas que disputam a Prefeitura de São Paulo. A ordem de publicação segue a posição na primeira pesquisa de intenções de voto realizada pelo Datafolha. Já foram publicados pontos de destaque do programa de Celso Russomanno (Republicanos), líder do levantamento, Bruno Covas (PSDB), que concorre à reeleição, e de Guilherme Boulos (PSOL).

O programa de França possui 35 páginas e traz 40 propostas. A íntegra do documento apresentado à Justiça Eleitoral está disponível neste link.

Empréstimos a juro zero

Dentro do que ele intitula "Plano Márcio - A Retomada", ele pretende estimular a abertura de 250 mil microempresas na capital. "Vamos emprestar até R$ 3.000, com juro zero, para que possamos voltar a crescer e gerar empregos", diz o texto. "Teria que pagar [o empréstimo] em até quatro anos", segundo Anderson Pomini, coordenador da campanha de França.

O candidato também promete "uma linha de crédito para as pequenas empresas, de até R$ 50 mil" para empresa de prestação de serviços e de comércio. Nesse caso, a ideia é que haja a cobrança de uma taxa próxima à da Selic, hoje em 2% ao ano.

"Esses valores não serão retirados dos cofres da prefeitura. A nossa ideia é que a prefeitura funcione como um órgão garantidor junto às instituições financeiras para quebrar a resistência àquele microempreendedor que tenha alguma restrição", diz Pomini. Junto às instituições financeiras, a prefeitura usaria parte do crédito que tem a receber de dívidas como garantia. "E essa instituição poderia cobrar esse crédito no futuro."

Jornada reduzida e salário de R$ 600

França também sugere criar um programa de trabalho com jornada reduzida, que seria realizada três vezes por semana com carga de seis horas diárias. O salário seria de R$ 600 e serviria como "compensação aos programas de auxílio e renda básica". As atividades abarcadas pela proposta estariam nas áreas de "limpeza, manutenção, pequenos reparos, jardinagem, em toda a cidade".

Segundo Pomini, a ideia é beneficiar 300 mil famílias diretamente. "Justamente para enfrentar esse período extraordinário que será enfrentado pelo próximo prefeito." Ele diz que a proposta será subsidiada pela prefeitura e serviria também para a estimular a economia.

O candidato também propõe que as escolas funcionem aos finais de semana e feriados, "permitindo a sua utilização para a complementação das atividades educacionais e assim recuperar o ano perdido".

"A ideia não é fazer com que o estudante fique na sala de aula de segunda a domingo. O objetivo principal é que esses equipamentos sejam utilizados pela gestão pública", diz Pomini. "Não só reposição de aula, mas também capacitação de profissionais que estejam desempregados."

"Banheiro para Todos"

Entre as propostas de França consta a criação do programa "Banheiro para Todos". De acordo com o plano de governo, as edificações públicas deverão ser abertas para utilização dos sanitários. Ele também pretende instalar banheiros químicos "em praças consideradas de grande porte" e construir sanitários em terminais de ônibus.

"Todos os banheiros em espaços públicos deverão funcionar 24 horas por dia." França também pretende criar incentivos para "estabelecimentos privados que autorizarem gratuitamente a utilização dos banheiros". O texto, porém, não diz qual seria o benefício. Segundo Pomini, um deles poderia ser desconto no IPTU (Imposto Predial e Territorial Urbano).

"Em vez de construirmos banheiros, pensarmos na construção de novos equipamentos públicos para gerarmos mais gastos e impacto no orçamento da prefeitura, a ideia é fomentarmos a utilização daqueles que já existem", diz o coordenador.

Tarifa zero no transporte aos domingos

França promete não aumentar a tarifa do ônibus, hoje em R$ 4,40. Ele também diz que, aos domingos e feriados, as viagens serão feitas de forma gratuita, o que seria possível com "a criação de um sistema de patrocínio em rede, envolvendo comerciantes e prestadores de serviços, de forma que esse setor econômico possa patrocinar o subsídio necessário".

Pomini diz que empresários deverão se cadastrar em um programa e que estejam dispostos a subsidiar o custo da agem para as pessoas que venham da periferia. "[Comerciantes] têm, claro, total interesse em fazer com que as pessoas da periferia venham para o centro no final de semana para consumir", diz.

Fica, Minhocão

O Minhocão, apelido do elevado João Goulart, no centro de São Paulo, também é citado no programa. A estrutura viária tem críticos, que, inclusive, defendem sua demolição.

França, porém, quer manter o elevado, mas com a "instalação de painéis acústicos translúcidos, que contribuem para a substancial redução do ruído causado pelo tráfego de veículos, bem como reduzem os efeitos da poluição sonora", traz o plano.

De acordo com o segundo levantamento do Datafolha, divulgado na semana ada, França aparece em quarto lugar na intenção de voto do eleitorado paulistano. O primeiro turno acontece em 15 de novembro.