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

Lula se reúne com reitores e faz críticas a Bolsonaro: 'Saindo das trevas'

Do UOL, em Brasília

19/01/2023 11h31Atualizada em 19/01/2023 14h45

Lula (PT) aproveitou a primeira reunião com com reitores de universidades e institutos federais, hoje, no Palácio do Planalto, para criticar a gestão do ex-presidente Jair Bolsonaro (PL) na Educação.

O presidente cumpriu uma promessa de campanha e convidou os docentes no primeiro mês de governo. Lula reforçou que encontros como este foram suspensos na gestão de seu antecessor.

Estamos começando um novo momento. Eu sei do obscurantismo que vocês viveram nesses últimos quatro anos. E eu quero dizer que estamos saindo das trevas para voltar à luminosidade de um novo tempo"
Lula, a reitores federais

Camilo Santana, ministro da Educação, lamentou do que chamou de "desmonte" da educação e já itiu que algumas metas não poderão ser batidas, dadas as condições

Camilo estabeleceu alguns compromissos com o reitores:

  • Formar o novo PNE (Plano Nacional de Educação), previsto para 2024;
  • Criar o SNE (Sistema Nacional de Educação), já aprovado na Câmara dos Deputados, mas pendente no Senado;
  • Nomear todos os reitores eleitos pelos pares;
  • Retomar as mais de 4 mil obras paralisadas em todos os níveis educacionais;
  • Reajustar as bolsas de Capes (Coordenação de Aperfeiçoamento de Pessoal de Nível Superior) e CNPq (Conselho Nacional de Desenvolvimento Científico e Tecnológico).

Temos de olhar a educação de uma forma sistêmica, desde a creche à pós-graduação. Apenas um terço das crianças brasileiras aprende a ler e escrever na idade certa, isso compromete todo o ciclo."
Camilo Santana, ministro da Educação

Lula lembrou que, na sua primeira gestão, ele e o então ministro da Educação (e atual titular da Fazenda), Fernando Haddad, criaram o hábito de se reunirem com os representantes das universidades pelo menos uma vez por ano para ouvir reivindicações e debater projetos.

O encontro com vocês é o encontro da civilização. Eu nunca consegui compreender qual era a dificuldade que um presidente da república tinha de se encontrar com reitores uma vez por ano. A única explicação era medo de que vocês iam fazer reivindicações."
Lula, a reitores federais

Ele prometeu ainda que haverá autonomia educacional para as decisões dos reitores e das universidades.

"Não pensem que o Lula vai escolher o reitor que ele gosta. Quem tem de gostar do reitor são os professores", disse, em indireta a Bolsonaro, que escolheu 20 reitores de fora da lista tríplice.

Segundo reitores presentes, reuniões gerais com os reitores federais não ocorrem "há muitos anos", sem registro de que tenha havido alguma durante o governo Bolsonaro.

"As universidades foram maltratadas, detratadas, esganadas orçamentalmente. Fomos colocados como alvo, e pior: fomos alijados do nosso papel principal, que é estar a serviço do Brasil, dos projetos de desenvolvimento nacional", disse o presidente da Andifes (Associação Nacional dos Dirigentes das Instituições Federais de Ensino Superior), Ricardo Fonseca, reitor da UFPR, que fez a fala de abertura.

Participaram do encontro:

  • 106 reitores de universidades e institutos federais de todos os estados e do Distrito Federal
  • Luciana Santos, ministra da Ciência e Tecnologia
  • Rui Costa, ministro da Casa Civil
  • Márcio Macêdo, ministro da Secretaria-Geral
  • Ricardo Galvão, presidente do CNPq