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

MP Eleitoral investiga Castro por empregar aliados em folha secreta na Uerj

O governador Cláudio Castro em inauguração da nova sede do Cap-Uerj, em março de 2022 - Rafael Campos/ Governo do Rio de Janeiro
O governador Cláudio Castro em inauguração da nova sede do Cap-Uerj, em março de 2022 Imagem: Rafael Campos/ Governo do Rio de Janeiro

Do UOL, no Rio

16/09/2022 19h25

O MPE (Ministério Público Eleitoral) abriu uma investigação contra o governador do Rio de Janeiro, Cláudio Castro (PL), e seu braço direito, o deputado estadual Rodrigo Bacellar (PL), por conta da contratação de aliados políticos em folhas de pagamento secretas em programas na Uerj (Universidade do Estado do Rio de Janeiro).

A investigação foi iniciada após série de reportagens do UOL mostrar que diversas pessoas com vínculos políticos no grupo de Castro —que busca a reeleição— foram contratadas com salários de até R$ 32 mil em programas realizados pela Uerj com recursos de órgãos do governo do estado, por meio de descentralização orçamentária.

Levantamento feito pelo UOL mostra que 13 projetos realizados nesses moldes receberam transferências de R$ 593,6 milhões de secretarias e outros órgãos estaduais apenas neste ano, sem transparência. A abertura da investigação foi antecipada pelo site Metrópoles e confirmada pela reportagem.

O MP Eleitoral solicitou à Uerj uma série de informações a respeito dos programas, como a relação dos contratados em caráter temporário.

O que está sendo investigado? A PRE-RJ (Procuradoria Regional Eleitoral do Rio de Janeiro) apura indícios de abuso de poder político e econômico por parte de Castro e Bacellar pelo uso dos programas.

O principal foco das irregularidades é o projeto Observatório Social da Operação Segurança Presente, no qual diversas pessoas ligadas a Castro e a Bacellar foram contratadas. A reportagem revelou que o advogado Aislan Coelho, tesoureiro das campanhas de Castro e Bacellar, recebeu R$ 70 mil da Uerj ao mesmo tempo que acumulava o cargo de chefe de gabinete da Segov (Secretaria Estadual de Governo).

Outros servidores com ligação com Bacellar também foram contratados, assim como o irmão de Márcio Pacheco —o ex-deputado estadual e atualmente conselheiro do Tribunal de Contas do Estado é padrinho político de Castro.

A série de reportagens também mostrou que a Uerj alterou normas internas para permitir que pessoas fossem contratadas nessas vagas —chamadas de núcleo estruturante dos projetos— sem sequer ar por um processo seletivo simplificado.

Apenas no Observatório Social da Operação Segurança Presente R$ 3,2 milhões foram gastos em 2021 com pagamentos a 55 pessoas com agens recentes por cargos comissionados em órgãos públicos ou ligações com políticos. O grupo corresponde a mais de um terço dos 157 integrantes do núcleo estruturante deste projeto.

Nele também foi contratado o ex-vereador Daniel Martins, preso na Operação Lava Jato sob a acusação de ser o operador de propina de um dos deputados estaduais investigados na Operação Furna da Onça.

As folhas de pagamento secretas da Uerj guardam semelhança com o escândalo dos cargos secretos, também investigado pelo MP Eleitoral.

O que dizem os citados? O deputado Rodrigo Bacellar, o governo do Rio e a Uerj negaram que tenha havido irregularidades na ocupação de cargos em programas da Uerj.

A universidade afirma ainda que os contratados nos núcleos estruturantes "am por uma seleção não necessariamente via edital, mas sim por meio de outras modalidades, como análise de currículo e entrevista".

Nenhuma folha de pagamento, no entanto, foi divulgada pela Uerj. A universidade informou que vem consolidando as informações em um site de transparência atualizado diariamente. Até a publicação desta reportagem, não havia tabelas de remunerações consolidadas, mas um sistema de buscas que mostra um valor a partir da digitação exata de um nome, sem especificar a que mês se refere.