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

Comissão deve dar continuidade a processo de impeachment de Crivella

O prefeito do Rio, Marcelo Crivella (PRB), durante evento da prefeitura - Marcelo Regua/Agência O Globo - 12.jun.2018
O prefeito do Rio, Marcelo Crivella (PRB), durante evento da prefeitura Imagem: Marcelo Regua/Agência O Globo - 12.jun.2018

Gabriel Sabóia

Do UOL, no Rio

25/04/2019 12h32

A Comissão Processante do impeachment do prefeito do Rio, Marcelo Crivella (PRB), apresenta amanhã à Câmara dos Vereadores um relatório após analisar a defesa apresentada pelo chefe do Executivo. Segundo o UOL apurou, o grupo formado por três vereadores deve ser favorável à continuidade das investigações contra o prefeito.

Todos os vereadores ouvidos pela reportagem classificaram os argumentos apresentados por Crivella como "frágeis". No último dia 17, o prefeito forneceu à Câmara mais de 400 páginas de defesa.

A chamada Comissão Processante é formada pelos três vereadores: Willian Coelho (MDB), Luis Carlos Ramos Filho (Podemos) e Paulo Messina (PRB).

Caso seja confirmada a tendência de continuidade da apuração, as investigações seguem até julho, quando se encerra o prazo para que a comissão tenha elaborado o parecer final e quando deve ser votado o impeachment. Para ser aprovada a deposição de Crivella, são necessários dois terços dos votos da Câmara.

Ainda que a comissão opte amanhã pelo arquivamento do processo de impeachment, esta decisão será votada pelo plenário da Câmara, que pode decidir pela continuidade do rito de deposição de Crivella.

Impopularidade não pode motivar impeachment, diz Crivella

No texto, Crivella se diz vítima de uma "denunciação caluniosa" e afirma que não cometeu ato de improbidade ao renovar os contratos de duas concessionárias que istravam anúncios publicitários em pontos de ônibus da cidade sem licitação.

O prefeito também questiona a legitimidade do processo de impeachment aberto.

Meras situações episódicas de impopularidade governamental ou perda de maioria parlamentar, per se, jamais possam ser tidas como motivos de ensejar a perda do mandato de um chefe do Executivo.
Marcelo Crivella (PRB), prefeito do Rio

Crivella põe em xeque o regimento interno da Câmara do Rio, que permite a abertura do processo de impeachment contra o prefeito, se os votos favoráveis ao projeto superarem 50% do plenário --no caso da Câmara do Rio, 25 vereadores.

Para ele, a Câmara do Rio deveria adotar critério igual ao da Câmara dos Deputados, que exige um mínimo de dois terços de votos favoráveis ao impeachment.

"A instauração de procedimento de cassação do alcaide exige quórum qualificado, o mesmo previsto para instauração de processo de impeachment do presidente da República", afirma.

Linha sucessória alterada pela morte do vice-prefeito

Se Crivella for cassado, o presidente da Câmara, Jorge Felippe (MDB), assumirá temporariamente a prefeitura. Isso porque o vice-prefeito eleito da cidade, Fernando Mac Dowell, morreu no ano ado, fazendo de Felippe o primeiro na linha sucessória do município.

O resultado da votação pela abertura de processo de impeachment mostrou, em números, a perda de apoio do prefeito na Câmara Municipal do Rio de Janeiro. É o quarto pedido analisado pela Casa desde 2016 para que ele tenha o mandato cassado, mas apenas o primeiro a ser acolhido.

Com a Câmara cheia, foram 35 votos favoráveis ao impeachment, mais que o dobro do registrado em duas votações anteriores, em 2018.

Entenda o pedido de impeachment

De acordo com o pedido de impeachment, o prefeito renovou no fim de 2018 um contrato com duas empresas, sem licitação. A medida teria beneficiado as concessionárias Adshel e Cemusa, ambas controladas por grupos estrangeiros.

As duas empresas tinham direito de explorar anúncios em pontos de ônibus e outdoors por 20 anos - o contrato havia sido firmado em 1999 e acabaria neste ano.

Depois desse período, os mobiliários urbanos ariam a pertencer ao município. Crivella teria, então, renovado a concessão sem licitação - o que causou prejuízos aos cofres públicos, segundo argumentou a denúncia.