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

Josias de Souza

ANÁLISE

Texto baseado no relato de acontecimentos, mas contextualizado a partir do conhecimento do jornalista sobre o tema; pode incluir interpretações do jornalista sobre os fatos.

Bolsonaro vai à Cúpula do Clima como tiozão esquisito que queima a Amazônia

Jair Bolsonaro e Ricardo Salles (Foto: Reprodução) - Reprodução / Internet
Jair Bolsonaro e Ricardo Salles (Foto: Reprodução) Imagem: Reprodução / Internet

Colunista do UOL

21/04/2021 05h05

Receba os novos posts desta coluna no seu e-mail

Email inválido

Bolsonaro comparecerá à Cúpula do Clima, que começa nesta quinta-feira, mais ou menos como um tiozão excêntrico que é convidado para as reuniões de família porque, afinal, é da família. Tomado por suas ideias antiambientais, o capitão seria esquecido. Mas, sabe como é, ele preside o Brasil. Joe Biden não teria como excluir de um encontro ambiental o líder do país que abriga a Amazônia.

Nas reuniões de família, as crianças são instruídas a não estimular as excentricidades do tiozão esquisito. Na cúpula climática, os chefes de Estado talvez tenham de reprimir uma espécie de sorriso interior nos minutos dedicados à fala de Bolsonaro. A videoconferência proporciona um distanciamento que facilita a tolerância. Mas a indulgência, quando é muita, tende a conceder uma respeitabilidade que nem todos os presentes acharão que Bolsonaro merece.

A fama do presidente brasileiro o precede. Consolidou-se a impressão de que Bolsonaro é do tipo que queima floresta e rasga dinheiro. Implodiu o Fundo Amazônia, que o BNDES geria com doações internacionais. Em uma década, o fundo recebeu doações de R$ 3,4 bilhões. Dinheiro a fundo perdido, sem a necessidade de ressarcimento.

Espantado com as boiadas que Ricardo Salles vem ando desde 2019, o governo da Alemanha reteve ree de R$ 150 milhões. A Noruega bloqueou transferência de R$ 133 milhões. E Bolsonaro declarou que o Brasil não precisa de esmolas. Rosnou gracejos sobre as florestas que os alemães já não possuem. Ironizou o hábito dos noruegueses de caçar baleias.

Agora, o tiozão do Planalto exibiu novas excentricidades antes do início da Cúpula do Clima. Numa carta-livro de sete páginas endereçada a Biden, Bolsonaro fez pose de ambientalista. E prometeu zerar o desmatamento em 2030, desde que os Estados Unidos ajudem a financiar a brincadeira.

Quem olha ao redor, percebe que Bolsonaro esqueceu de maneirar. Na antessala da cúpula climática, fiscais do Ibama pintaram-se para a guerra. Estão revoltados com uma portaria que tornou inviável a aplicação de multas contra desmatadores na Amazônia.

Um delegado foi ejetado da poltrona de chefe da Polícia Federal no Amazonas depois de denunciar um conluio do ministro antiambiental de Bolsonaro com madeireiros pilhados na maior apreensão de madeira ilegal de todos os tempos. Cresce o desmatamento. E o capitão pede a Biden e ao mundo que remunerem os favores ambientais que o Brasil faz ao planeta.

Não é que Biden não confie em nada do que Bolsonaro escreveu nas sete folhas e sua carta. A questão é que o presidente americano e o resto do mundo desconfiam de tudo o que vem de Bolsonaro.

No aconchego da família, a disposição para tolerar esquisitices é muito maior. Há sempre o risco de o tiozão escandalizar as senhoras. Entretanto, duas taças de vinho serão suficientes para que ele durma no sofá da sala, com um sobrinho-neto no colo. Todos sabem que só terão que vê-lo novamente no Natal do ano seguinte.

Com Bolsonaro, a coisa é mais complicada. É improvável que o capitão durma durante a Cúpula do Clima, com Ricardo Salles no colo. E todos sabem que sua Presidência deve durar pelo menos até dezembro de 2022.