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

Esse conteúdo é antigo

Juristas aprovam prisão de Sara Winter e questionam influência de Bolsonaro

Miguel Reale Júnior é ex-ministro de FHC e foi um dos autores do pedido de impeachment de Dilma - André Dusek/Estadão Conteúdo
Miguel Reale Júnior é ex-ministro de FHC e foi um dos autores do pedido de impeachment de Dilma Imagem: André Dusek/Estadão Conteúdo

Do UOL, em São Paulo

15/06/2020 15h02

Os juristas Miguel Reale Júnior e Lenio Streck concordaram hoje ao analisar a prisão temporária da ativista Sara Winter, realizada pela Policia Federal em Brasília. Reale Júnior, que foi um dos autores do impeachment da ex-presidente Dilma Rousseff, disse que ficou "chocado" com o protesto que lançou fogos de artifício em direção ao STF (Supremo Tribunal Federal), realizado pelo grupo liderado por Sara.

"Os fatos de ontem (na realidade foram anteontem) são extremamente graves, fiquei chocado com o que aconteceu, o ataque à suprema corte, um bombardeio de fogos de artifício mais simbólico do que ataque físico, uma voz chamando os ministros de comunistas, de um ridículo absurdo", relatou à CNN Brasil o jurista, ex-ministro da Justiça de Fernando Henrique Cardoso.

Também em tom de indignação, Streck explicou o porquê da prisão de Sara ser correta na sua visão. "É uma prisão de caderninho. Quando se tem aulas de processo penal e se ensina o que é a prisão preventiva, este é um bom exemplo neste sentido. Por outro lado, há uma questão importante, é essa questão de um ataque à corte. É vergonhoso, insano o que se está se fazendo", afirmou.

"A prisão da Sara Winter e de outros que pertencem a esse movimento dos 300 do Brasil (grupo liderado pela ativista) são em decorrência da contumaz atitude de violação das instituições, seja em manifestações favoráveis ao AI-5, seja invadindo o Congresso Nacional, seja lançando esses fogos de artifício", concordou Reale Júnior.

Os juristas criticaram duramente as ações do grupo 300 do Brasil. O protesto com fogos em direção ao STF foi apenas um de vários episódios em que a organização gerou polêmica por atacar instituições e membros específicos do Judiciário, como o ministro do Alexandre de Moraes.

Reale Júnior e Streck apontaram, porém, que veem responsabilidade do presidente Jair Bolsonaro em ter incentivado esses tipos de manifestações.

"Uma coisa é eu dizer que a Terra é plana, é muito engraçado, isso é um fake news, mas está dentro da liberdade de instrução. Outra coisa é eu dizer que as vacinas fazem mal, ou então invada hospital. Que pode ser ao mesmo tempo fake news ou discursos incentivadores", comentou Streck, lembrando a declaração de Bolsonaro sobre invadir hospitais para filmar se leitos estão realmente sendo ocupados.

"Foi um bombardeio simbólico, mas muito significativo, contra a suprema corte do país, ou seja, atingindo as instituições e se sentindo no direito, em nome de Bolsonaro, que é na verdade o artífice desse processo, na medida em que incentiva", comentou Reale Júnior.

"Ele foi a atos desse grupo, participou de manifestações como a à frente do exército, apoiando, dizendo que ele estava lá porque eles estavam certos, e eles estavam com faixas de 'abaixo o STF', 'abaixo o Congresso', 'intervenção já'. Ou seja, esse grupo reiteradamente vem praticando atos de violação do estado de direito e logicamente a prisão temporária cabe na medida em que existe a possibilidade de reiteração de atos delituosos", completou o ex-ministro.