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

Moro x Zanin, Lula = Mandela, ação contra Bolsonaro: 5 momentos da sabatina

O advogado Cristiano Zanin em sabatina na CCJ do Senado - Pedro França/Agência Senado
O advogado Cristiano Zanin em sabatina na CCJ do Senado Imagem: Pedro França/Agência Senado

Do UOL, em Brasília, São Paulo e no Rio

21/06/2023 18h00Atualizada em 21/06/2023 19h38

A sabatina de Cristiano Zanin na CCJ (Comissão de Constituição e Justiça) do Senado para a uma vaga no STF foi marcada pelo primeiro embate do advogado de Lula (PT) com o ex-juiz Sergio Moro (União Brasil-PR) fora dos tribunais, comparação do presidente com Mandela, e até defesa de Jair Bolsonaro (PL).

Foram quase oito horas de questionamento, e o clima, em geral, foi tranquilo — Zanin foi aprovado por 21 votos a 5. À noite, o plenário do Senado aprovou a indicação, por 58 votos a 18.

Embate de Zanin e Moro

Moro disse, antes de questionar o advogado, que ambos não tinham "nenhuma questão pessoal". O ex-juiz responsável pelos processos da operação no Paraná afirmou que não era senador para "falar sobre a Lava Jato".

O advogado foi questionado sobre julgamentos em casos que já tenha atuado, como a Operação Lava Jato, quando Zanin foi o advogado de Lula.

Zanin disse não acreditar que a "etiqueta da Lava Jato" o torne automaticamente suspeito. O advogado distinguiu casos em que se tornará impedido —os que ativamente atuou como advogado da causa — de casos íveis de suspeição, um conceito mais subjetivo que considera a proximidade de um ministro ao assunto.

Eu não acredito que o simples fato de colocar uma etiqueta, indicar o nome Lava Jato, possa ser um critério do ponto de vista jurídico para aquilatar a suspeição ou o impedimento. [...] Sem nenhuma crítica, todos nós sabemos que, no ado recente, quase tudo o que funcionava em varas especializadas recebia a etiqueta de Lava Jato. Então isso não é para mim um critério jurídico, mas sim aquele que a lei prevê, que é analisar as partes e o conteúdo."

Flávio Bolsonaro usa tempo para defender pai no TSE

O senador questionou a opinião de Zanin sobre acrescentar provas após a um processo após a abertura, em referência à inclusão da minuta do golpe no processo que pode ser tornar oo ex-presidente Jair Bolsonaro (PL) inelegível. Zanin se esquivou. O TSE julga a ação amanhã (22).

Não conheço o caso concreto e não poderia, se conhecesse, falar sobre nenhum caso concreto. Os processos têm um rito e cada fase encerrada não deve ser reaberta. Excepcionalmente, o juiz ou relator do caso pode, de alguma forma entender a possível juntada posterior de algum tipo de material. A regra, a meu ver, deve ser a observância do rito e das fases do processo, que sempre caminha para a frente."

Randolfe Rodrigues compara Lula a Mandela

No início de sua fala, Randolfe comparou Lula a Mandela, para criticar quem aponta a indicação de Zanin como "escolha pessoal".

O presidente da República, após um longo período na prisão, nomeou o seu advogado para a Suprema Corte Constitucional. Só que o presidente da República não é Luiz Inácio Lula da Silva, o presidente da República é Nelson Mandela. O advogado não é Cristiano Zanin, o advogado era Arthur Chaskalson."
Randolfe Rodrigues (sem partido-AP)

Magno Malta diz que STF não é lugar de advogado

Ao questionar se Zanin, enquanto advogado de Lula, "trabalhou a mente como julgador", Magno Malta (PL-ES) disse que lugar de advogado não era na Suprema Corte. Assim como Zanin, o ministro do STF Luís Roberto Barroso exercia a função de advogado quando foi indicado ao tribunal.

Eu voto contra o senhor, com o convencimento de que o Supremo Tribunal Federal não é lugar de advogado. Advogado sempre peticionou e protocolou, ele nunca jogou. E vai para dentro da Suprema Corte com a cabeça de advogado."
Senador Magno Malta (PL-ES); Zanin não rebateu

Pistas sobre drogas, aborto e marco temporal

Ao se questionado sobre drogas, Zanin defendeu que "é um mal que precisa ser combatido" e acenou para o papel do Senado em legislar sobre o tema. No âmbito jurídico, no entanto, o advogado evitou marcar uma posição a favor ou contra a criminalização das drogas. O STF está analisando a descriminalização do porte de entorpecentes para consumo próprio.

Sobre a descriminalização do aborto, Zanin se limitou a dizer que a Constituição prevê o direito à vida e que há leis sobre exceções para a prática, como em caso de gravidez derivada de estupro.

A discussão eventualmente existente - e ela existe no Supremo Tribunal Federal - foi levada por alguma instituição legitimada. Acredito eu que, nesse caso, tenha sido um partido político, e o Supremo, uma vez demandado, acredito que tem que analisar o tema."
Cristiano Zanin Martins

A tese do marco temporal para demarcação de terras indígenas foi outro tema espinhoso, acompanhado de perto por senadores da bancada ruralista. Um projeto de lei tramita no Senado em paralelo a uma ação no Supremo Tribunal Federal, que deve ser retomada para julgamento no próximo semestre.

Cada instituição, ao seu tempo e modo, terá que sopesar aquilo que está previsto na Constituição, os valores que estão ali previstos e que, aparentemente, podem estar em conflito e que terão que ser conciliados, como é o caso do direito à propriedade e do direito aos povos originários"
Cristiano Zanin Martins