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

Esse conteúdo é antigo

Motociclistas aglomeram e dão nó em trânsito no Rio à espera de Bolsonaro

Igor Mello

Do UOL, no Rio

23/05/2021 08h53Atualizada em 23/05/2021 11h19

Centenas de motociclistas, ciclistas e pedestres se aglomeram em frente ao Parque Aquático Maria Lenk, na zona oeste do Rio, à espera do presidente Jair Bolsonaro (sem partido). Eles devem sair em um eio de moto pelas ruas do Rio na manhã de hoje.

Ao contrário do que havia sido previsto pela prefeitura do Rio, eles resolveram ocupar toda a pista lateral da avenida Embaixador Abelardo Bueno —um dos principais corredores da região da Barra da Tijuca. Segundo o planejamento da prefeitura, eles deveriam se concentrar em um bolsão dentro do Parque Olímpico.

Apoiadores de Jair Bolsonaro na região do Parque Olímpico, no Rio de Janeiro; presidente participará de eio de moto - Igor Mello/UOL - Igor Mello/UOL
Apoiadores de Jair Bolsonaro na região do Parque Olímpico, no Rio de Janeiro; presidente participará de eio de moto
Imagem: Igor Mello/UOL

A interdição da pista e o grande número de motociclistas chegando ao local provocou um nó no trânsito da região, com um grande engarrafamento se formando. Mesmo ônibus e viaturas da Polícia Militar estão presas no congestionamento.

Entre os apoiadores de Bolsonaro, parte considerável não usa máscara.

Congestionamento da região do Parque Olímpico, no Rio de Janeiro, antes de eio de moto com presença de Jair Bolsonaro - Igor Mello/UOL - Igor Mello/UOL
Congestionamento da região do Parque Olímpico, no Rio de Janeiro, antes de eio de moto com presença de Jair Bolsonaro
Imagem: Igor Mello/UOL

A participação de Bolsonaro irá mobilizar um efetivo de mais de 1.000 policiais militares de mais de 20 unidades diferentes. O evento em apoio ao presidente, pelas ruas das zonas oeste e sul da cidade, ocorre no momento em que o governo é pressionado pelas revelações da I (Comissão Parlamentar de Inquérito) da Covid-19, no Senado, e em que o o ex-presidente Luiz Inácio Lula da Silva (PT) cresce nas pesquisas de intenção de voto na eleição de 2022. Um dos organizadores da manifestação é Waldir Ferraz, amigo de longa data e ex-assessor de Bolsonaro.

O presidente encontrará com apoiadores no Parque Olímpico, principal instalação construída para a Olimpíada Rio 2016, na zona oeste da cidade. De lá, percorrerá aproximadamente 40 quilômetros até o Monumento dos Pracinhas, no Flamengo, zona sul da capital, onde está prevista a dispersão.

Essa não será a primeira manifestação que Bolsonaro participará com motociclistas. No começo do mês, ele circulou com cerca de 3.000 veículos pelas ruas de Brasília, também em um ato em apoio ao seu governo.

Veja fotos do eio de moto de Bolsonaro com apoiadores no Rio