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

Castro se diz subestimado: 'Bolsonaro não me segue no Instagram'

O presidente Jair Bolsonaro (PL) com o governador Cláudio Castro (PL) durante o ato de 7 de setembro, em Copacabana - Saulo Angelo/ Futura Press/ Folhapress
O presidente Jair Bolsonaro (PL) com o governador Cláudio Castro (PL) durante o ato de 7 de setembro, em Copacabana Imagem: Saulo Angelo/ Futura Press/ Folhapress

Do UOL, em São Paulo

06/10/2022 08h11Atualizada em 06/10/2022 11h23

O governador do Rio de Janeiro Cláudio Castro (PL), reeleito para o cargo com 58,67% dos votos e um dos nomes a apoiar o presidente Jair Bolsonaro (PL) no segundo turno, disse em entrevista ao jornal O Globo que se sentiu "subestimado" por forças políticas, e exemplificou: "Até hoje o Bolsonaro não me segue no Instagram".

Além de citar o presidente, Castro disse não ser seguido nas redes sociais pelos filhos de Bolsonaro, pelo presidente da Câmara, Arthur Lira (PL), e pelo presidente do Senado, Rodrigo Pacheco (PSD).

"São sinais. Quase nenhum ministro me segue. Acho que vão ar a seguir agora. Algo me diz que vão", completou.

Castro foi questionado na entrevista sobre sua ascensão ao posto de governador — no primeiro mandato, ele chegou à cadeira após Wilson Witzel (PMB) sofrer um impeachment pela Alerj (Assembleia Legislativa do Rio de Janeiro).

Claudio Castro negou "deslumbramento" com o posto devido a "coisas inacreditáveis" que ouviu ao longo do tempo. "Um grande player da política estadual disse que eu não tinha bunda para sentar nessa cadeira", disse ao jornal.

"Quando eu precisei, Bolsonaro socorreu". Ao justificar sua presença ativa na campanha pela reeleição de Bolsonaro, Claudio Castro disse ter "alinhamento total" com o presidente e afirmou que o Rio de Janeiro, berço político da família Bolsonaro, foi "socorrido" pelo governo federal quando precisou.

"Quando assumi, corremos o risco de atrasar salário, e ele me ajudou. Depois, quando a população estava ando fome, Bolsonaro deu o Auxílio Emergencial. No regime de recuperação fiscal e na concessão da Cedae, ele também estava lá", declarou.

Castro diz que ele foi única opção da direita no Rio de Janeiro. O governador também avaliou a própria vitória como resultado de se viabilizar como único nome de seu campo político no estado. "Isso foi fundamental, já que fiquei sozinho como opção", disse, e alfinetou Marcelo Freixo (PSB), que ficou em segundo lugar na disputa.

"A esquerda vive em uma bolha. Quantos votos o Roger Waters tem no Rio? Pois, então: ele gravou um vídeo em inglês me batendo", declarou. "Existem problemas, é claro. Mas a vida como ela é não é a que a esquerda enxerga".

A respeito das denúncias de corrupção em seu governo — incluindo as folhas de pagamento secretas na Ceperj, caso revelado pelo UOL— serem usadas na campanha de Freixo, Claudio Castro disse que a estratégia de ataques não funcionou. "O governador, hoje, virou um 'prefeitaço'. As pessoas querem alguém que cuide dela, que coloque obras de pé, e não ataques", disse.

Ele também não garantiu que não sejam descobertos outros casos de corrupção em seu governo. "Qualquer um que garanta isso está mentindo. Eu garanto que vou trabalhar muito para punir severamente quem fizer um malfeito".