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

Juiz dá 72 horas para Bolsonaro explicar ações contra queimadas na Amazônia

O presidente da República, Jair Bolsonaro (PSL) - Mateus Bonomi/Agif/Estadão Conteúdo
O presidente da República, Jair Bolsonaro (PSL) Imagem: Mateus Bonomi/Agif/Estadão Conteúdo

Stella Borges

Do UOL, em São Paulo

24/08/2019 08h11

O juiz federal Rolando Valcir Espanholo, substituto da 21ª Vara da Seção Judiciária do Distrito Federal, determinou ontem que o presidente Jair Bolsonaro (PSL) tem 72 horas para apresentar as medidas que estão sendo adotadas pelo governo para controlar ou minimizar os efeitos das queimadas na região amazônica.

O magistrado também ordenou que Bolsonaro e a União apresentem "o real panorama da situação" e que informem se as autoridades federais ou locais já adotaram as providências legais para punir os responsáveis pelos incêndios, conforme a Lei de Crimes Ambientais.

Spanholo tomou a decisão ao analisar uma ação popular movida por Carlos Alexandre Klomfahs.

"Considerando ser impossível não reconhecer a gravidade da situação humana e ambiental gerada pelos incêndios, julgo oportuno que os réus apresentem, no prazo de 72 horas (reduzido por conta da situação peculiar vivenciada), o real panorama da situação e as correspondentes medidas istrativas que estão sendo adotadas pelo Poder Público (isoladamente e/ou em parceria com os Entes locais), para controlar e/ou minimizar os efeitos adversos das queimadas reportadas nos autos", diz um trecho do despacho.

Segundo o magistrado, a Constituição "não deixa dúvidas acerca da responsabilidade do Poder Público em coibir, dentre outras, o emprego de técnicas e métodos que coloquem em risco a vida, a qualidade de vida e o meio ambiente". No entanto, ele ponderou que a responsabilidade por proteger o meio ambiente também cabe aos estados e municípios. "Não é apenas responsabilidade da União, como erroneamente se tem difundido".

Ontem, o presidente autorizou o uso das Forças Armadas no combate às queimadas e prometeu tolerância zero contra crimes ambientais em pronunciamento na rede nacional. Segundo ele, embora as queimadas deste ano não estejam fora da média dos últimos 15 anos, "não estamos satisfeitos com o que estamos assistindo".

As queimadas na região amazônica têm repercutido internacionalmente e geraram reação de líderes internacionais. Ontem, houve protestos em pelo menos 15 cidades da Europa, Ásia e América, e o assunto deve ser discutido em reunião do G7, grupo formado por líderes dos EUA, Reino Unido, França, Alemanha, Itália, Canadá e Japão, que acontece neste fim de semana.