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

Esse conteúdo é antigo

Bauru (SP) tem racionamento de água a partir de hoje

Abastecimento será em dias alternados - Reprodução/Popular Mechanics
Abastecimento será em dias alternados Imagem: Reprodução/Popular Mechanics

16/09/2020 11h41

A cidade de Bauru, no interior paulista, tem, a partir de hoje racionamento de água, com abastecimento em dias alternados. Desde a meia-noite estão sendo abastecidos somente os bairros da região da Vila Falcão. Amanhã (17), a água só vai chegar para os moradores da parte central do município.

O racionamento foi adotado, segundo o Departamento de Água e Esgoto de Bauru (DAE), devido à seca enfrentada pelo Rio Batalha, que está com um volume de água consideravelmente abaixo do ideal, reduzindo em 10% a disponibilidade de água. "Além da estiagem prolongada, o aumento do consumo de água na cidade em razão das altas temperaturas registradas em pleno inverno e a baixa umidade relativa do ar contribuíram para o rebaixamento da represa", explica a nota da autarquia responsável pelo abastecimento municipal.

O DAE pede a colaboração da população para evitar que o racionamento se prolongue. Entre as medidas recomendadas está a de não lavar carros e calçadas, reduzir o tempo de banho e usar a máquina de lavar somente com a capacidade máxima.

Os moradores dos bairros atendidos podem solicitar abastecimento extra por caminhões-pipa ao DAE. O contato pode ser feito por telefone fixo para o 0800 771 0195 ou por celular para 3235-6140 e 3235-6179.

Os bairros afetados na região da Vila Falcão são: Vila Independência, Vila Nipônica, Jardim Ferraz, Popular Ipiranga, Jardim Solange, Vila Santista, Jardim Ouro Verde, Jardim Vitória, Residencial Sabiá, Residencial Andorinhas, Núcleo Joaquim Guilherme, Granja Cecília, Vila Falcão, Alto Paraíso, Vila Pacífico, Vila Industrial, Residenciais Filardi, Vila Dumont I, Spazio Comendador e Shangrila, Vila Bela, Vila Dutra, Santa Cândida e Leão 13.

Na região central o racionamento vai atingir o centro, os Altos da Cidade, o Jardim Estoril, o Jardim Aeroporto, o Jardim Cruzeiro do Sul, o Parque Paulistano, o Jardim Carolina, a Vila Cardia, Higienópolis, a Vila Universitária e o Jardim Panorama.