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

Governadora interina do DF articula impeachment de Ibaneis Rocha

Daniel Weterman

Em Brasília

09/01/2023 19h25

O grupo político da governadora interina do Distrito Federal, Celina Leão (PP), começou a articular, nos bastidores, uma estratégia para abrir um processo de impeachment contra o governador Ibaneis Rocha (MDB). A ideia é manter Celina no comando do governo.

Ibaneis foi afastado por 90 dias pelo ministro Alexandre de Moraes, do Supremo Tribunal Federal (STF), após o magistrado apontar omissão do governador, neste domingo, 8, nos atos extremistas de invasão às sedes dos três Poderes, em Brasília. A crise desencadeou uma articulação para o impeachment de Ibaneis por crime de responsabilidade. O governador afastado afirmou, em nota, que respeita a decisão de Moraes e disse ter fé "na Justiça e nas instituições democráticas".

O impeachment depende da Câmara Legislativa do Distrito Federal e precisa ser despachado pelo presidente da Casa, Wellington Luiz (MDB), aliado de Ibaneis, antes de ser submetido à tramitação em comissões e no plenário. O quebra-quebra provocado por apoiadores radicais do ex-presidente Jair Bolsonaro, em Brasília, enfraqueceu o governador, que poderá sofrer uma dissidência em sua base de apoio.

Aliados de Celina calculam que a governadora interina tem, atualmente, pelo menos seis votos para apoiar um pedido de impeachment contra Ibaneis na Casa, entre os 24 deputados. O cálculo não inclui a oposição, que age em outra frente para denunciar o governador.

Quem é Celina Leão

Celina Leão foi eleita na chapa de Ibaneis, em outubro do ano ado. Ela não compôs o governo do Distrito Federal no primeiro mandato do emedebista. Celina já foi presidente da Câmara Legislativa do Distrito Federal e chegou a ser afastada do cargo, em 2016, por suspeitas de pagamento de propina em troca da liberação de emendas parlamentares.

Aliada de Bolsonaro, Celina foi deputada federal pelo PP antes de ser eleita vice-governadora na chapa de Ibaneis. Ela coordenou a campanha de Bolsonaro entre as mulheres e organizou viagens da ex-primeira dama Michelle Bolsonaro no segundo turno da eleição presidencial. Integrante da Assembleia de Deus Madureira, a governadora interina também ajudou a ampliar a campanha de Bolsonaro no meio evangélico.

Após a ação extremista em Brasília, Celina fez uma publicação nas redes sociais afirmando ser "inissível a invasão aos Poderes da República". Depois, já como governadora interina, divulgou uma nota condenando os ataques e anunciando uma investigação para apurar a possível participação de servidores na invasão. O presidente Luiz Inácio Lula da Silva decretou intervenção federal na segurança pública do Distrito Federal, tirando o comando da área das mãos do governo.