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

Servidores do Inep apoiam exoneração de colegas e pedem resposta do MEC

Servidores apontam "fragilidade técnica" na gestão do presidente Danilo Dupas - Pillar Pedreira/Agência Senado
Servidores apontam "fragilidade técnica" na gestão do presidente Danilo Dupas Imagem: Pillar Pedreira/Agência Senado

Ana Paula Bimbati

Do UOL, em São Paulo

18/11/2021 17h11

Um grupo de 54 servidores do Inep (Instituto Nacional de Estudos e Pesquisas Educacionais Anísio Teixeira) enviou ofício aos diretores do órgão se "solidarizando" com o pedido de exoneração dos mais de 30 funcionários do instituto.

O grupo afirma que os demissionários "sempre desempenharam suas funções com alta qualidade técnica, abstendo-se de questões ideológicas, remuneratórias bem como de fundo político-partidário". O documento enviado à alta gestão do Inep foi obtido pelo UOL.

A entrega dos cargos aconteceu no início do mês de forma coletiva como uma medida para pressionar a saída de Danilo Dupas, presidente da autarquia. O movimento começou com a saída de dois outros coordenadores ligados ao Enem (Exame Nacional do Ensino Médio) na semana anterior.

No documento, que começou com 12 s ontem, o grupo de servidores, que não têm cargo de chefia, também pede um posicionamento do MEC (Ministério da Educação), "quanto a situação de vulnerabilidade em que nos encontramos nesse momento, que repercutirá nas ações do órgão para o ano de 2022, por começarem a ser planejadas e executadas em janeiro, e que nos causa grande preocupação".

Nos últimos dias, relatos de servidores de possíveis interferências na prova também foram revelados. Reportagem do Fantástico, da TV Globo, apresentou no domingo (14) relatos de servidores que afirmaram que o diretor de Avaliação de Educação Básica, Anderson Oliveira, pediu a remoção de mais de 20 questões da primeira versão da prova deste ano.

O jornal O Estado de S. Paulo divulgou reportagem ontem (17) que afirma que o Inep ou a imprimir a prova previamente neste ano com a intenção de que mais pessoas tivessem o ao exame antes da aplicação.

Diretor responsável pelo Enem também apoia servidores

Na semana ada, Oliveira também emitiu um ofício apoiando os demissionários e pedindo atuação "rápida" do MEC. "Ainda que não tenha havido aderência completa dessa diretoria na do ofício em tela, as adversidades que relatam são legítimas e devem receber atuação rápida e eficaz da alta gestão e do ministério a que se vincula o Inep", escreveu o diretor responsável pelo Enem.

O diretor sugeriu também mais de 15 ações que podem ser feitas para garantir a "sustentabilidade e excelência" do órgão.