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

Chico Alves

Episódio me causou muita dor, diz alvo de dossiê antifascista de ministério

Ricardo Balestreri - Divulgação
Ricardo Balestreri Imagem: Divulgação

Colunista do UOL

21/08/2020 17h24

Junto com 579 policiais antifascistas e outros três professores universitários, o secretário de Articulação da Cidadania do Pará, Ricardo Balestreri, teve o nome incluído no dossiê sigiloso produzido no Ministério da Justiça e revelado pelo UOL.

Até então em silêncio, ele se manifestou pela primeira vez depois que o STF (Supremo Tribunal Federal) decidiu ontem barrar a produção do documento. Balesteri, que foi secretário nacional de Segurança Pública, escreveu um texto sobre o assunto.

A coluna publica a seguir parte do desabafo de Balestreri:

"(...) A posição leal à Constituição e à democracia, vitoriosa no STF, fez com que muitos amigos celebrassem, hoje, 'um limão que se transformou em limonada'. Eu, é claro, também celebrei com muita alegria. Tem havido tão poucos motivos para celebrar no Brasil dos nossos dias...

Desconfio, contudo, que junto aos limões da limonada, fomos, também nós, espremidos.

Esse episódio me causou muita dor. Me fez rememorar a perseguição que sofri durante a ditadura, por ser liderança estudantil e editar um jornal de linha cristã (daquele cristianismo de Jesus de Nazaré, não o desse farisaico que pulula pelo Brasil atual).

Um fragmento da epístola do apóstolo Tiago, publicado em um dos números do tal jornal, era um dos textos marcados como 'altamente subversivos' e os policiais federais de então exigiam 'o sobrenome e o endereço do autor' para 'estourar o aparelho'. Me acusavam de 'mentor' da publicação e da fantasiosa organização por detrás, uma coisa muito parecida com essa de agora: 'formador de opinião'. Como se as pessoas precisassem de alguém de fora para formar as próprias opiniões...

Esse sofrimento, fundado em coisas tão insólitas, durou pelo menos uns dois anos e só me salvei por causa da Lei da Anistia. Sei bem, portanto, o que é ser monitorado, ameaçado, ter direitos suprimidos, por 'delitos de opinião'.

O dossiê do Ministério da Justiça me trouxe de volta todas essas lembranças que eu já havia guardado no porão da mente e por isso é que, mesmo comemorando a decisão da justiça, continuo me sentindo tão amassado quanto 'os limões da limonada'.

A atividade verdadeira de inteligência é nobre e necessária, mas deve estar fundada na coleta e análise de informações baseadas em riscos reais às instituições. Opiniões não se enquadram nessa categoria.

Não há democracia sem o direito ao contraditório, à oposição. Não se monitora, sob sigilo, opositores, por mero diletantismo. O monitoramento serve para propor e articular a repressão. O sigilo é para montarem em paz as arapucas. Nada desculpa isso em uma democracia.

Como Secretário Nacional de Segurança, dirigi o Subsistema Brasileiro de Inteligência em Segurança Pública. Nesse âmbito, comandei, com minha competente equipe de policiais, a confecção de uma doutrina nacional de inteligência, baseada nos princípios constitucionais, na cidadania, na ética, no legalismo, no respeito aos direitos humanos. Em tempos áureos, quando a Senasp era uma potência, jamais abdicamos de uma postura técnica e nunca controlamos adversários políticos pacifistas. Parece que tudo isso ficou para trás...

Triste Brasil este, o da inversão de valores, em que ao invés de se monitorar a atividade deletéria e violenta dos fascistas, são os antifascistas, os democratas liberais e constitucionalistas, que merecem as desconfianças e a arapongagem desse arremedo muito ruim de um Estado de Direito".