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

Lideranças do MBL seguem Moro e se filiam ao Podemos

10.nov.2021 - Ex-juiz e ex-ministro Sergio Moro, durante evento de filiação ao Podemos - Mateus Bonomi/AGIF/Estadão Conteúdo
10.nov.2021 - Ex-juiz e ex-ministro Sergio Moro, durante evento de filiação ao Podemos Imagem: Mateus Bonomi/AGIF/Estadão Conteúdo

Gustavo Queiroz

São Paulo

27/01/2022 08h32Atualizada em 27/01/2022 09h19

O Movimento Brasil Livre (MBL) consolidou o apoio ao pré-candidato à Presidência Sérgio Moro e iniciou a migração de suas lideranças ao Podemos, partido que abriga o ex-juiz na corrida presidencial.

O deputado estadual Arthur do Val, a coordenadora do MBL Adelaide Oliveira e o vereador de São Paulo Rubinho Nunes participaram da filiação à legenda nesta quarta-feira, 26, todos com objetivo de disputar um cargo na Câmara. O deputado federal Kim Kataguiri assinou a ficha de forma simbólica enquanto aguarda alternativa para deixar o DEM antes da janela partidária.

Arthur do Val, pré-candidato ao governo de São Paulo, afirmou que o MBL vai trabalhar "noite e dia" para impulsionar a candidatura de Moro e disse que a "terceira via" nasceu em São Paulo. Também estiveram presentes no evento o ex-ministro de Jair Bolsonaro general Santos Cruz, filiado ao Podemos em novembro, a presidente do partido, a deputada Renata Abreu, e o deputado federal André Janones (Avante).

Em um clima semelhante ao último evento do MBL, quando Moro já havia sido apresentado como o "próximo presidente do Brasil", o ex-juiz foi ovacionado pelos presentes no Teatro Renaissance, em São Paulo. O pré-candidato criticou o PT e voltou a apresentar uma pauta anticorrupção e disse "não poder perder São Paulo" na corrida eleitoral. "A gente precisa colocar nossa bandeira aqui no Estado de São Paulo".

Moro celebrou a aliança e, junto aos demais membros do MBL, pautou seu discurso em conquistar um público chamado de "jovem" e "esperançoso", com diversas referências a movimentos de rua a partir de 2013. O ex-juiz disse que a ocasião não celebra uma união entre partidos, mas entre "movimentos, partidos e pessoas" além de "setor privado e sociedade civil."

Vem pra Rua

Além do MBL, Moro dialoga também com o movimento Vem pra Rua. Nesta quarta-feira, ele assinou com o grupo uma carta de compromisso onde promete o fim da prisão em segunda instância, do foro privilegiado e da reeleição para o cargo de presidente.

Já o MBL recebeu do Podemos a garantia de "independência" para os membros do movimento. Rubinho Nunes destacou a "liberdade para o MBL atuar dentro do partido" como um dos atrativos para a filiação do grupo.

Mirando o presidente Jair Bolsonaro, Santos Cruz defendeu que as Forças Armadas não devem participar da política institucional. "Vi milhares de pessoas morrendo por violência de origem política. E sempre os líderes covardes não são eles que morrem. O fanatismo sempre termina em violência", disse, citando "milícias da internet" que, segundo ele, praticam "o que se pratica em todos os regimes totalitários pelo mundo". "ando por todos os ismos até chegar no bolsonarismo."

Deputado federal cotado para a disputa presidencial, Janones desejou sucesso a Arthur do Val e Moro. "Nós temos projetos diferentes a nível nacional, mas o mesmo que eu disse ao MBL eu digo a você. Nosso objetivo é um só, o bem do País", afirmou.