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

Recuperado da covid, Bolsonaro retoma viagens e agenda positiva do governo

Hanrrikson de Andrade e Guilherme Mazieiro

Do UOL, em Brasília

30/07/2020 04h00

Resumo da notícia

  • Somente hoje, Bolsonaro tem agendas em dois estados do Nordeste (Bahia e Piauí) e, amanhã, é esperado no Rio Grande do Sul
  • O cronograma de viagens já estava definido antes do diagnóstico positivo para covid-19, revelado em 7 de julho
  • Objetivo é o de realizar mais deslocamentos durante o segundo semestre, sobretudo em cidades nas quais o governo não tem boa avaliação

A retomada de viagens por Jair Bolsonaro (sem partido) a partir de hoje para inaugurar obras e atrelar sua imagem a realizações marca sua tentativa de iniciar um novo ciclo de governo. Recuperado da covid-19, doença causada pelo novo coronavírus, o presidente retornou à rotina no Palácio do Planalto na última segunda-feira (27) após duas semanas em isolamento.

Somente hoje (30), Bolsonaro tem agendas em dois estados do Nordeste. Na Bahia, ele inaugura o Sistema de Abastecimento de Água em Campo Alegre de Lourdes. Uma hora depois, estará em São Raimundo Nonato, no Piauí, para visitar o Parque Nacional da Serra da Capivara. Amanhã, é esperado em Bagé (RS), onde participará da entrega de unidades habitacionais do programa Minha Casa, Minha Vida.

O cronograma de viagens já estava definido antes do diagnóstico positivo para covid-19, revelado em 7 de julho, e teve que ser adiado em razão da necessidade de isolamento social. Durante o período em que ele ficou recluso no Alvorada, o presidente manteve conversas com ministros e aliados para afinar as estratégias e debater a possibilidade de novos destinos.

O plano, concebido junto aos generais que formam o alto escalão, é realizar mais deslocamentos durante o segundo semestre, sobretudo em cidades nas quais o governo não tem boa avaliação de acordo com as pesquisas de opinião. O Nordeste, reduto eleitoral do PT, é exemplo disso.

Sob anonimato, um ministro do governo afirmou ao UOL que Bolsonaro tem solicitado a seus subordinados sugestões de viagens. Os compromissos no Nordeste, por exemplo, foram costurados com a tutela do chefe da pasta do Desenvolvimento Regional, Rogério Marinho.

Um outro interlocutor do presidente ouvido pelo UOL definiu o "novo ciclo" de Bolsonaro da seguinte forma: "ele quer ser menos [Abraham] Weintraub e mais Tarcísio [de Freitas]".

A primeira referência diz respeito a Abraham Weintraub, um dos expoentes do chamado "núcleo ideológico", fã declarado do ideólogo de direita Olavo de Carvalho que se viu obrigado a pedir demissão do Ministério da Educação depois de chamar ministros do STF (Supremo Tribunal Federal) de "vagabundos", entre outros desgastes políticos.

A segunda, por sua vez, é uma menção ao ministro da Infraestrutura, Tarcisio de Freitas, militar e elogiado desde o começo do governo por viajar o Brasil inaugurando obras.

"Oxigenação"

Bolsonaro tem duas estratégias na busca por uma imagem mais positiva. Além das viagens, ele deu aval à ala governista tida como "moderada" para "oxigenar" a estrutura do Executivo, reduzindo os espaços de poder antes destinados a quadros do chamado "núcleo ideológico".

Dentro desse novo xadrez político, seguidores do ideólogo Olavo de Carvalho estão sendo expurgados do governo. As quedas mais recentes ocorreram no MEC, onde quatro ex-assessores de Weintraub foram exonerados. O quarteto é considerado "olavista".

Com as movimentações, a gestão Bolsonaro busca não só estancar danos provocados por polêmicas e investigações de fake news relacionadas ao "núcleo ideológico", como também abre espaços de poder para os quadros indicados pelo principal parceiro estratégico do governo neste momento: o centrão (bloco informal formado pelos partidos que remam de acordo com a maré política).