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

Bolsonaro vai à praia para ver homenagem de pilotos militares

Hanrrikson de Andrade e Gustavo Maia

Do UOL, no Rio

31/10/2018 12h04Atualizada em 31/10/2018 22h35

O presidente eleito, Jair Bolsonaro (PSL), dirigiu-se na manhã desta quarta-feira (31) ao Posto 4 da praia da Barra da Tijuca, na zona oeste do Rio, para acompanhar uma performance da Esquadrilha Céu, clube de aviação que reúne militares da ativa e da reserva da FAB (Força Aérea Brasileira).

A exibição foi realizada pelo grupo em homenagem ao presidente eleito. Bolsonaro é capitão reformado do Exército e tem sua carreira política fortemente vinculada à imagem das Forças Armadas.

Os militares fizeram uma exibição de aproximadamente 15 minutos, com deslocamentos simples e lançamento de fumaça no ar.

Bolsonaro acompanhou a performance do espaço destinado aos salva-vidas do Posto 4. Ele vestia colete à prova de balas sob a camisa de malha branca com listras azuis.

Leia também

Segundo a assessoria da esquadrilha, a ideia original era fazer uma apresentação mais elaborada, já que o grupo é capacitado para realizar performances semelhantes às da Esquadrilha da Fumaça, da FAB. No entanto, para tal, eles precisariam de uma autorização especial.

O objetivo inicial era escrever no céu a sigla “B17”, que remete ao nome do presidente eleito e o número de urna do PSL. No entanto, para fugir da burocracia, os pilotos optaram por uma exibição menos sofisticada.

Ao sair de casa, o presidente percorreu cerca de um quilômetro em um comboio reforçado em comparação com os seus últimos deslocamentos. Enquanto esteve no Posto 4, ele ficou rodeado de policiais federais que fazem sua segurança há meses.

Agentes do COT (Comando de Operações Táticas), tropa de elite da Polícia Federal, acompanharam Bolsonaro e ficaram no topo do posto vestidos com uniformes camuflados.

Eles estavam fortemente armados e observaram a movimentação com binóculos.

No calçadão, o humorista Paulo Cesar Rocha, conhecido personagem "Paulo Cintura" da Escolinha do Professor Raimundo, gritou “Bolsonaro” e o presidente eleito pediu que os seguranças permitissem que ele subisse na plataforma de observação. Amigos, os dois se abraçaram.

Na saída da praia, Bolsonaro ignorou perguntas de jornalistas sobre a visita do juiz federal Sergio Moro, prevista para esta quinta-feira (1°). O magistrado é cotado para assumir o Ministério da Justiça.

Desde a vitória nas eleições, no domingo, essa foi a terceira vez que ele saiu de casa, em um condomínio de luxo na orla da Barra da Tijuca.

Na segunda-feira (29), ele recebeu poucos aliados e concedeu entrevistas a emissoras de TV.

Nesta terça (30), ele foi até o Jardim Botânico, na zona sul, participar de uma reunião sobre a equipe de transição, e mais tarde foi a um culto do pastor Silas Malafaia.