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

Suspeitos de tortura serão ouvidos nesta quarta na Comissão da Verdade

Do UOL, no Rio

02/10/2013 06h00

Três militares da reserva prestarão depoimento nesta quarta-feira (2) sobre as sessões de tortura que teriam provocado a morte do preso político Mário Alves, em janeiro de 1970, no interior do DOI-Codi (Destacamento de Operações de Informações - Centro de Operações de Defesa Interna), no Rio de Janeiro.

Os então tenentes Luiz Mário Correia Lima, Dulene Garcez e Armando Avólio Filho serão ouvidos pelos membros da Comissão Estadual da Verdade no auditório da Caarj (Caixa de Assistência dos Advogados do Rio), no centro da cidade.

Dos militares convocados, dois já haviam sido chamados para uma audiência pública sobre o mesmo assunto realizada no dia 14 de agosto, porém não compareceram --os motivos não foram esclarecidos.

Agora, se faltarem mais uma vez, ambos serão conduzidos de forma coercitiva a uma terceira audiência, a ser posteriormente marcada, segundo a assessoria da Comissão da Verdade. No dia 14 de agosto, apenas o hoje coronel da reserva do Corpo de Bombeiros Valter da Costa Jacarandá prestou depoimento. Na ocasião, ele itiu a prática de tortura nos interrogatórios.

O DOI-Codi, criado durante a ditadura militar (1964-1985) e situado no 1º Batalhão de Polícia do Exército, na Tijuca, zona norte da capital fluminense, tinha a função de unificar a repressão política e é apontado como o principal palco das sessões de tortura ocorridas no decorrer do regime.

O órgão possuía salas preparadas especialmente para que os presos políticos da época fossem torturados. Em uma delas, conhecida como "geladeira" ou "caixinha de música", o detento ficava isolado em um ambiente de baixíssima temperatura, e era obrigado a escutar um barulho que se assemelhava ao som emitido por uma turbina de avião.

O relato é de Cid Benjamin, que ficou preso no DOI-Codi durante quase dois meses em 1970, e hoje trabalha no setor de comunicação da Comissão da Verdade do Rio.