;(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
Logo Pagbenk Seu dinheiro rende mais
Topo

Economista Elena Landau critica postura de Bolsonaro sobre saída de Levy

Elena Landau, ex-diretora do BNDES em foto de 2018 - Reinaldo Canato/Folhapress
Elena Landau, ex-diretora do BNDES em foto de 2018 Imagem: Reinaldo Canato/Folhapress

Daniela Amorim

Rio de Janeiro

16/06/2019 13h47

A economista e advogada Elena Landau criticou neste domingo (16) através de redes sociais a postura do governo do presidente Jair Bolsonaro no episódio que provocou o pedido de demissão de Joaquim Levy da presidência do Banco Nacional de Desenvolvimento Econômico e Social (BNDES).

Segundo ela, Levy jamais teria anunciado a issão de um diretor sem que o nome tivesse ado pela aprovação do ministro da Economia, Paulo Guedes.

"BNDES não tem essa independência. Todos os diretores am pelo crivo do ministro. Deveriam ter demitido logo Levy, mas esperaram essa historinha sem sentido para ter apoio da malta das redes", escreveu Elena Landau em seu perfil no Twitter.

Elena foi diretora do BNDES durante o governo de Fernando Henrique Cardoso. Hoje ela presidente o movimento Livres, que defende o liberalismo econômico.

Em outra postagem, a economista sugeriu que Paulo Guedes estava insatisfeito com a devolução de recursos do BNDES ao Tesouro.

"Guedes prometeu zerar déficit e acabou precisando de crédito complementar. Tava de olho no pagamento dos empréstimos do BNDES. Não veio o que ele esperava. Fez maior arruaça com os míseros 6bi da Caixa. E vocês acham que foi Bolsonaro sozinho que tirou Levy?", escreveu Elena.

Segundo ela, independentemente de quem for contratado como substituto na liderança do banco de fomento, toda a diretoria deverá ser trocada, "para mostrar que não está nas mãos dos funcionários, como disseram sobre Levy".

"Não tem nenhum sentido Levy, que trabalhou no governo PT, ser demitido porque chamou um técnico que trabalhou no governo PT. Isso tudo foi desculpa e deram um jeito, Bolsonaro e Guedes juntos, de tirar o cara. Guedes toda hora reclamava do Levy. Tudo ensaiado", criticou ela.

Presidente do BNDES está com "cabeça a prêmio", diz Bolsonaro

UOL Notícias