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

Corte em universidades federais é inconstitucional, diz órgão do MPF

Nathan Lopes

Do UOL, em São Paulo

15/05/2019 11h16

A decisão do ministério da Educação de bloquear recursos de universidades federais é inconstitucional, segundo aPFDC (Procuradoria Federal dos Direitos do Cidadão). Protestos acontecem pelo país hoje contra a ação da pasta. Os cortes atingem despesas de custeio e investimentos.

O órgão integra o MPF (Ministério Público Federal), que promove hoje o "Dia D em Defesa da Educação". Procuradores pretendem instaurar inquéritos públicos pedindo informações sobre cortes de verbas aos ministérios da Educação e da Economia, e para instituições de ensino federais.

Segundo a PFDC, o contingenciamento proposto "é contrário ao princípio da separação de Poderes e à autonomia universitária". E isso se dá, de acordo com o órgão, porque a pasta e uma comissão com representantes de reitores de universidades federais atuam em conjunto na definição do orçamento das instituições.

Ministro diz que cortes em universidades equivalem a 3,5 bombons em 100

UOL Notícias

"Substitui Legislativo"

"É muito importante ter presente esse dado porque foi a única conquista significativa no campo da autonomia orçamentária das universidades", escreveu, em um ofício à PGR (Procuradoria Geral da República), Deborah Duprat, procuradora federal dos direitos do cidadão. Para ela, a ação do ministério "desorganiza completamente a matriz de distribuição definida pela comissão".

O órgão também indica que o governo contingenciou 24,7% da verba da Educação e questiona por que o congelamento de verbas determinado pelo ministério nas 15 instituições mais atingidas varia entre 35,72% (Universidade Federal de Alagoas) e 53,96% (Universidade Federal do Sul da Bahia).

A despeito de haver muita crítica à figura do "contingenciamento", o propósito aqui não é discuti-lo, mas verificar os seus limites
Deborah Duprat, procuradora federal dos direitos do cidadão

Para Duprat, com essas porcentagens diferentes, "o Ministro da Educação substitui, ainda que indiretamente, as escolhas legislativas, criando, mesmo que temporariamente, distorções significativas na LOA [Lei Orçamentária Anual]".

Necessidade a ser demonstrada

A PFDC acredita que o ministério precisa demonstrar a necessidade do bloqueio e que o governo tem "obrigação legal" de apresentar um cronograma mensal de gastos.

O órgão ainda pontua que o orçamento quando não é executado deve ser avaliado pelo Legislativo, que o definiu.

"Considerando que o Legislativo já definiu as alocações dos recursos, a manutenção de suas escolhas depende de que o percentual de limitação de empenho seja o mesmo no âmbito de todo o Ministério da Educação", disse a procuradora. "Do contrário, o Executivo estará alterando as definições legislativas da distribuição da receita então prevista".

A manifestação da PFDC foi encaminhada à PGR, que avaliará seu conteúdo para se manifestar junto às altas Cortes do país.

Câmara convoca Abraham Weintraub para dar sastifação sobre cortes

redetv