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

Em nota, advogada de Bolsonaro tenta desvincular Wassef do presidente

17.jun.2020 - O advogado Frederick Wassef, durante posse do ministro de Comunicações, em Brasília, um dia antes de Fabrício Queiroz, ex-assessor de Flávio Bolsonaro, ser preso em seu sítio em Atibaia (SP) - Mateus Bonomi/Agif - Agência de Fotografia/Estadão Conteúdo
17.jun.2020 - O advogado Frederick Wassef, durante posse do ministro de Comunicações, em Brasília, um dia antes de Fabrício Queiroz, ex-assessor de Flávio Bolsonaro, ser preso em seu sítio em Atibaia (SP) Imagem: Mateus Bonomi/Agif - Agência de Fotografia/Estadão Conteúdo

Do UOL, em São Paulo

18/06/2020 17h53

A advogada do presidente Jair Bolsonaro (sem partido), Karina Kufa, divulgou uma nota hoje para a CNN Brasil em que tenta desvincular o advogado Frederick Wassef do chefe do Executivo, após a prisão hoje cedo de Fabrício Queiroz.

No comunicado, Kufa diz que todas as ações contra Bolsonaro — "sejam elas cíveis, eleitorais ou criminais em curso no poder Judiciário, exceto as de competência da AGU (Advocacia-Geral da União)" — estão sob a responsabilidade de seu escritório de advocacia.

"Wassef não presta serviço advocatício em nenhuma ação que seja parte de Bolsonaro e não faz parte do referido escritório", diz a nota.

Em relação à ação penal sobre o atentado sofrido pelo presidente, em 2018, a advogada afirma que Wassef é apenas "parte na condição de assistente de acusação em desfavor de Adélio Bispo".

Na nota, Kufa ainda atribui uma afirmação ao delegado do inquérito, Rodrigo Moraes Fernandes, que disse em maio de 2020 que "embora Wassef se apresente como advogado da vítima, não possui procuração nos autores deste inquérito, sendo que jamais esteve nesta Polícia Federal para consultar investigações e indicar testemunhas".

Frederick Wassef é dono do imóvel onde foi encontrado Fabrício Queiroz. Ex-assessor de Flávio Bolsonaro e policial reformado, Queiroz foi preso na manhã de hoje numa ação conjunta do MP-RJ (Ministério Público do Rio de Janeiro) e do MP-SP (Ministério Público de São Paulo).

O advogado Frederick Wassef atuou no caso Adélio Bispo, cujos inquéritos foram encerrados pela Polícia Federal. Sua relação com o presidente é de proximidade. Ele também defende o senador Flávio Bolsonaro (Republicanos-RJ) no inquérito em que apura suspeita de lavagem de dinheiro e com operação de Queiroz.

Wassef esteve ontem (17) na posse do novo ministro das Comunicações, deputado Fábio Faria (PSD), genro do dono do SBT, Sílvio Santos. Ele foi como "amigo" do presidente, segundo um interlocutor do ministro disse à colunista Mônica Bergamo.

Antes disso, ele também marcou presença na posse de André Mendonça como ministro da Justiça, em abril. Wassef estava no Palácio do Planalto contrariado por duas situações. Primeiro, com a decisão do ministro do STF (Supremo Tribunal Federal), Alexandre de Moraes, de barrar o delegado Alexandre Ramagem para tomar posse como diretor-geral da Polícia Federal. Segundo, com a nota da AGU (Advocacia Geral da União) afirmando que não iria recorrer da decisão.