127 e 220Volts, de onde eles vêm?

Esse post veio da seguinte pergunta no Quora:

Os fios de energia tem duas fases de 127V, essas fases estão em sentido opostos? Se não, como eles são somados para formar 220V?

A resposta que vou dar aqui é baseada na energia elétrica que é fornecida em minha residência. Para outras unidades consumidoras, a resposta pode ser diferente, ok?

Olhando a conta de energia elétrica:

Olhando a conta de energia elétrica de minha casa, conforme figura 1 abaixo, podemos ver que o tipo de fornecimento de energia elétrica é monofásico (guarde essa informação).

Figura 1: Conta de energia monofásica.

Com essa informação dá para falar com segurança que a energia elétrica que chega em minha residência é monofásica a 3 fios.

Pera lá e a pergunta:

É exatamente aqui que entra a pergunta do Quora: Como a energia fornecida pode ser monofásica se chegam 3 fios na residência?

Como se a gente medir do neutro para cada uma das supostas fases dá 127Volts e se a gente medir entre as duas supostas fases temos 220Volts?

Que mutreta é essa?

Me explica isso aí que preciso saber 🙂

O transformador no poste:

Como sempre sem entrar em muitos detalhes, podemos dizer que o transformador lá da rua é um monte de fio enrolado de tal maneira que seja possível reduzir a alta tensão da rua para os 220Volts que utilizamos em casa.

A parte do transformador que recebe a alta tensão da rua é chamada de primário do transformador e a parte que entrega os 220V para as residências é chamada de secundário do transformador.

Focando no secundário do transformador.

A grosso modo, podemos dizer que o secundário do transformador, nesse caso, é composto por 3 enrolamentos ligados conforme figura 2 abaixo, que compõem as 3 fases de um sistema trifásico:

Figura 2: Ligação delta do secundário.

Esse diagrama de ligação do secundário do transformador é chamado de ligação delta. Também tem a ligação estrela que não vou abordar nessa resposta.

Note que os enrolamentos do transformador são ligados “no formato” de um triângulo e que temos as seguintes tensões de fases:

  • Tensão de fase 1 entre o ponto A e C, fornecendo 220Volts.
  • Tensão de fase 2 entre o ponto B e C, fornecendo 220Volts.
  • Tensão de fase 3 entre os pontos A e B, fornecendo 220Volts.

Agora as coisas começam a ficar interessantes:

Os fios que saem dos pontos A, B e C se chamam “fase” e muitos técnicos confundem o fio de fase com a tensão de fase que é algo totalmente diferente.

A tensão de fase é medida, nesse caso, entre dois fios de fase. Um fio de fase está saindo do ponto A e o outro fio de fase está saindo do ponto C.

Quando eu meço a voltagem entre os fios de fase que saem do ponto A e C, eu estou medindo apenas uma tensão de fase, que nesse caso é a tensão de fase 1.

Na minha residência não tem como ter as outras 2 tensões de fase porque está faltando o fio de fase que sai do ponto B. Simplesmente não dá para usar as outras duas tensões de fase.

Por isso é que o sistema é monofásico. Ele é monofásico porque está chegando na unidade consumidora apenas uma tensão de fase.

Eu tenho o neutro e 2 fios de fase que me permitem utilizar apenas uma tensão de fase ;-).

Ok, ainda está faltando o neutro. De onde vem o neutro?

Ainda olhando na figura 2, dá para ver que tem um fio saindo do meio do enrolamento do transformador que faz a fase 1. Ele é o neutro.

Abaixo segue o detalhe da fase 1, mostrando a ligação do fio neutro na rua e nos fios que chegam em casa:

Figura 3: A origem do fio neutro

O fio neutro é uma derivação bem no meio do enrolamento do transformador.

Por isso que a voltagem sai meio a meio, mas mesmo assim a tensão não muda de fase.

Explicando melhor:

Digamos que esse enrolamento entre os pontos A e C tenha 220 espiras (voltas).

Podemos dizer que os 220Volts estão distribuídos entre o ponto A e C do enrolamento do transformador.

Como esse enrolamento tem 220 espiras, podemos dizer que cada espira é responsável por fornecer 1 volt.

À medida que vou subindo as espiras, a voltagem vai subindo até eu chegar na última espira e enxergar os 220Volts entre o ponto A e C.

Não há mudança de fase quando eu caminho do ponto A para o ponto C do enrolamento e vou medindo a tensão das espiras, ou vice versa. A tensão medida apenas aumenta ou diminui, mas sempre permanece em fase. Por isso que é monofásico.

Se eu parar na metade do caminho entre A e C e fizer uma derivação naquele ponto e o chamar de neutro, a tensão de saída do neutro para o ponto A ou C será exatamente a metade da tensão entre o ponto A e C.

Aí o que os caras fazem?

  • “Eles” aterram essa derivação central do transformador da rua, justamente aquele fio que sai do meio do enrolamento.
  • Então eles “batizam” de neutro essa derivação central que foi previamente aterrada.
  • Dizem que “não dá choque”,
  • Nos dizem que ele é o ponto de referência para medir tensão
  • E aí a gente mede do meio do enrolamento do transformador para cada uma das pontas e encontra os 110Volts
  • E aí a gente mede entre os pontos A e C e encontra os 220Volts
  • E fica pensando que são duas fases, só que não é isso por conta da maneira que o enrolamento do transformador foi construído.

É só uma bobina com uma derivação central no enrolamento do transformador, cuja derivação central, “por acaso” foi aterrada.

De quebra, temos que dentro da casa, o neutro e terra tem o mesmo ponto de origem.

Enquanto o terra serve para proteger dispositivos elétricos e pessoas, o neutro permite que a residência seja alimentada com uma tensão menor e mais segura.

Note também que o neutro é aterrado tanto no poste como na caixa de medição de energia elétrica e o aterramento dentro da unidade consumidora deve ter uma origem única.

É isso. Espero que tenha conseguido esclarecer essa dúvida.

Fonte:

MARTIGNONI, Alfonso. Transformadores. 8. ed. São Paulo: Globo, 1969. 307 p. (ISBN: 85-250-0223-2).

High-leg delta – Wikipedia

LIG BT 12° edição – 2014

Publicado por Renato de Pierri em 15/02/2021

Pavê dos Padres – Nestlé

Sabe aquela receita de pavê maravilhosa que ninguém conta como é feita?

Pois é… já perdi uma dúzia de vezes, várias delas.

Para não perder de novo, mais uma delas, ela segue abaixo. Afinal nem só de bits e bytes vive o ser humano!

Fonte: escaneado direto da gaveta de receitas de minha casa, antes que ela suma de vez.

Ingredientes:

  • 1 lata de Leita Moça
  • Meia medida de leite
  • 2ovos
  • 1 xícara (chá) de Chocolate em Pó Solúvel Nestlé
  • 4 colheres (sopa) de açúcar
  • 1 lata de Creme de Leite Nestlé
  • 1 xícara (chá) de leite
  • 1 pacote de Biscoito Champagne São Luiz (200g)
  • 100g de Chocolate Meio Amargo Nestlé, picado

Modo de Preparo:

  • Leve ao fogo baixo o Leite Moça com a meia medida do leite, as gemas peneiradas e 3 colheres (sopa) de Chocolate em Pó.
  • Mexa sempre até adquirir consistência cremosa.
  • Bata as claras em neve.
  • Junte o açúcar, batendo sempre até formar um merengue.
  • Adicione levemente o Creme de Leite Nestlé, o Chocolate Meio Amargo picado; faça outra camada de biscoitos e o creme de claras.
  • Leve à geladeira por no mínimo 4 horas.
  • Na hora de servir, peneire o restante do chocolate em pó sobre a superfície.

Rendimento: 6 a 8 porções.

Por que programar não é pra qualquer um?

Responder essa, parece que estão querendo colocar os programadores em um patamar superior. SQN. Programadores precisam se dedicar muito nessa profissão.

A profissão de programador, como um todo, demanda que o profissional seja capaz de desmembrar tarefas complexas em passos menores e facilmente executáveis, utilizando uma linguagem extremamente precisa e que não admite erros.

Programas simples como solicitar que um led acenda ao abrirmos uma porta, demandam uma série de instruções que precisam estar ordenadas na sequência correta e devem ser sintática e semanticamente corretas.

Exemplificando, para o Arduino, um programa desses que acende ou apaga um led a partir do monitoramento de um sensor, seria mais ou menos assim:

#include <Arduino.h>

int ledPortaAberta=8;
int ledPortaFechada=10;
int sensorPorta=6;

#define DESLIGADO LOW
#define LIGADO HIGH

void setup(){
	pinMode(ledPortaAberta, OUTPUT);
	pinMode(ledPortaFechada, OUTPUT);
	pinMode(sensorPorta, INPUT);
	Serial.begin(9600);
}

void loop(){
	
	if (digitalRead(sensorPorta)==LIGADO){
		digitalWrite(ledPortaAberta, DESLIGADO);
		digitalWrite(ledPortaFechada, LIGADO);
		Serial.println("Porta fechada");
	}
	else {
		digitalWrite(ledPortaAberta, LIGADO);
		digitalWrite(ledPortaFechada, DESLIGADO);
		Serial.println("Porta aberta");
	}
	delay(1);
}

Conforme dito, o programa não deve ter nenhum erro sintático, caso contrário ele não ele não irá compilar e muito menos será possível gerar o código executável abaixo:

Ainda assim, não basta saber escrever o programa, colocar os comandos na sequência correta, seguir todas regras da linguagem, saber compilar, gerar esse código hexadecimal e até entender cada um dos comandos hexa acima.

O programa também tem que ser semanticamente correto.

A semântica, o sentido das palavras bem como a interpretação das sentenças e dos enunciados utilizados nessa linguagem acima devem refletir exatamente o que foi solicitado em linguagem natural, “quando uma porta se abre, um led se acende e quanto a mesma porta se fecha, o led tem que apagar”.

O trabalho do programador é converter um requisito em linguagem natural para a linguagem formal.

Esse trabalho de fazer a conversão e garantir que a semântica de ambas linguagens estejam alinhadas é onde está a arte e o desafio que programadores enfrentam todos os dias.

Dá para aprender, mas eu diria que poucos são metódicos o suficiente para tal.

É uma questão de perfil, nada mais.

Resposta originalmente postada no Quora em 29/maio/2020 e fonte da foto do teclado: https://www.cybercentralcorp.com/blog/

Pensando do ponto de vista do videogame, quais seriam os principais tipos (arquétipos) de personagens?

Resposta originalmente postada no Quora, por Renato de Pìerri em 28/07/2019

Personagens Clássicos

Por que contamos histórias? A motivação de contarmos histórias, segundo Carl Jung, pode ser explicada a partir da noção do inconsciente coletivo. Trata-se de um conhecimento nato que podemos passar a vida inteira sem nunca o notarmos.

Dentro desse inconsciente coletivo há temas universais e personagens que se manifestam em nossa cultura na forma de histórias e estão presentes na literatura, música, arte, filme e jogos.

O inconsciente coletivo do Jung é a base de nossa conexão a certos tipos de personagens universais e esses personagens são utilizados em toda a área do entretenimento para aumentar a conexão entre a audiência e a história.

Herói:

O herói é o personagem central em um jogo single player. Ao criar um personagem herói, tenha em mente que esse herói será o avatar do jogador e o jogador deve se identificar e gostar desse personagem. Ao herói sempre é apresentado um problema no início do jogo e ele entra em uma jornada, física ou emocional, a fim de resolver o desafio. O herói executa a maioria das ações e assume a maioria dos riscos e responsabilidades. Luke Skywalker é um tipo clássico de personagem herói

Fonte da foto: Star Wars Luke Skywalker Wallpaper

Sombra (Shadow):

O sombra é um personagem extremamente importante. Ele representa o oposto do herói, é o vilão da história. Trata-se do responsável por todos os problemas do herói. Dependendo do jogo, esse personagem fica escondido até chegar ao climax da história e nada impede que o shadow seja o lado negro do herói. Darth Vader, por exemplo.

Fonte da foto: Darth Vader Wallpaper

Mentor:

O mentor orienta o heroi dentro da trama da história (ou jogo). Provê informações para o herói, faz a função de conselheiro e pode orientar pois tem experiência prévia. Obi Wan Kenobi e Yoda são exemplos de mentores. Ah! O mentor também pode dar orientações furadas e colocar o herói em apuros.

Fonte da foto: Yoda Walpaper

Aliado:

O aliado é um personagem que ajuda na evolução do heroi durante a jornada e pode ajudá-lo em tarefas difíceis de se executar sozinho. Han Solo e Chewbacca do Star Wars são exemplos de aliados.

Guardião:

O guardião está lá para “atrapalhar” o progresso do herói se valendo de todas as artimanhas que forem necessárias, até que o herói prove seu valor e o guardião o libere. Podemos considerar um guardião clássico a Esfinge que guarda os portões de Tebas na peça grega Édipo. A Esfinge (guardiã) testa o Édipo (herói), propondo uma charada. Édipo a responde corretamente e consegue entrar em Tebas continuando sua jornada, caso contrário seria devorado.

Trickster (trambiqueiro):

O trambiqueiro é um personagem neutro que está lá para enganar. Pode causar um dano severo por conta de suas pegadinhas, interrompendo a evolução do personagem ou podem ser um personagem cômico para suavizar a trama da história. C3PO E R2D2 são exemplos de personagens trickster e podem assumir a posição de co-adjuvante do heroi ou até assumir o papel de sombra.

Herald (mensageiro):

O mensageiro serve para facilitar a mudança de rumo (ou de level) na história e fornecer orientação. Um exemplo de personagem ‘herald’ seria a princesa Leia que pede por ajuda e acaba motivando Luke Skywalker a seguir sua jornada.

Protagonista:

Dentro dos arquétipos de Carl Jung, o primeiro deles é o protagonista, que pode se confundir com o arquétipo do herói. Trata-se do personagem principal. Jogos single-player são centrados nesse personagem e a história do jogo é contada a partir do ponto de vista do dese personagem, mesmo que o jogo não seja em primeira pessoa. Gordon Freeman em Half-Live, por exemplo.

Fonte da foto: Half Life 2

Uma das funções do protagonista é levar a história adiante, agir antes de reagir e fazer as coisas acontecerem. O protagonista pode até perder o controle por conta de um ataque, mas ele sempre recupera o controle da situação. Lara Croft (Tomb Raider) e Ezio Auditore da Firenze (Assasin’s Creed II) são protagonistas.

Outro ponto importante no protagonista é que ele tenha falhas como qualquer humano, aproximando-o de sua audiência e gerando empatia. As falhas podem ser na forma física como uma paralisia, ser feio, ter culpa por um crime cometido no passado ou ser como o Super Homem que não aguenta nem uma Kriptonita.

Antagonista:

É o contrário do herói. É o vilão do jogo. Do ponto de vista do Jung seria o arquétipo do sombra, porém nem sempre o antagonista é malvado. O pró e o antagonista podem simplesmente ter pontos de vista diferentes como liberal x conservador, privado x público ou mesmo estilo de vida diferentes entre um e outro.

Caso protagonista e antagonista tenham um mesmo objetivo em uma história, eles podem se aliar, o que é chamado de união de opostos, dado que a resolução de um determinado conflito é mais importante no momento.

Co-Protagonista:

Co-Protagonista une forças com o protagonista na história. Muitas vezes esses personagens aparecem em games multiplayer massivos (MMOs) que precisam de times. Esse tipo de personagem pode iniciar no jogo como antagonista, mas no decorrer do game se tornam co-protagonistas a partir de um determinado evento ou embate.

Fonte:

NOVAK, Jeannie. GAME DEVELOPMENT ESSENTIALS: AN INTRODUCTION. 3. ed. United States: Delmar Cenage Learning, 2012. 514 p. ISBN 13: 978-1-111-30765-3.

Cuidados ao instalar o Maven no Windows

Se você instalou o Maven para Rodar com o Windows e está tentando usar o Oracle JDeveloper ou alguma outra IDE da Oracle e as coisas não estão funcionando muito bem, talvez seja a hora de ajustar algumas configurações no seu Windows.

  1. Baixe o Maven do site da Apache próprio para o Windows, descompacte e mova a pasta com o Maven para a pasta Arquivos de Programas ou para o diretório de sua escolha.
  2. Em propriedades do sistema do Windows, adicione a variável de ambiente M2_HOME com o valor do caminho do Maven
  3. Adicione a variável de ambiente M2 nas variáveis ​​de ambiente com o valor %M2_HOME%\bin
  4. Adicione a variável de ambiente MAVEN_OPTS com o valor -Xms256m -Xmx512m
  5. Adicione a variável de ambiente JAVA_HOME. Ela deve apontar para o diretório raiz do JDK (o diretório do JRE não serve para nada).
  6. Inclua %M2% na variável de ambiente Path
  7. Inclua %JAVA_HOME%\bin na variável de ambiente Path
  8. No prompt de comando execute mvn –version para verificar se o Maven instalou ok.

Para saber mais: JDeveloper / Maven integration

Post publicado em 21/11/2019 por Renato de Pierri

Qual é a diferença entre requisitos funcionais e requisitos não funcionais na engenharia de software?

Resposta originalmente publicada no Quora em 01/11/2019

Olha, dei uma lida no Sommerville e lá está escrito mais ou menos o seguinte:

Requisitos funcionais:

É a definição das funcionalidades que um sistema de software deve fornecer. Esse tipo de requisito informa como o sistema deve trabalhar os dados de entrada e quais informações devem ser geradas na saída.

Serve para definir o comportamento do sistema em situações específicas. Os requisitos funcionais também servem para definir o escopo do sistema de software ao limitarem explicitamente o que o sistema deve ou não deve fazer.

Requisitos não funcionais:

Esse tipo de requisito trata das limitações nos serviços ou funções oferecidas pelo sistema baseando em parâmetros como “número de transações por segundo”, “número de usuários operando o sistema ao mesmo tempo” ou limitações impostas por padronizações, por exemplo.

Requisitos não funcionais muitas vezes se aplicam à implementação e operação do sistema como um todo ao contrário de focar em funcionalidades e ou serviços individuais de sistemas.


Na verdade, há uma linha não muito clara entre o que é requisito funcional e não funcional. Dependendo da abordagem isso pode ficar confuso.

Um requisito de usuário de segurança como limitar o tempo de acesso de usuários autenticados, pode se enquadrar como requisito não funcional.

Entretanto quando visto com mais detalhes, o requisito de limitar o tempo de acesso de usuário pode se desdobrar em outros requisitos claramente funcionais.

Esse desdobramento pode levar o requisito da limitação do tempo de acesso a ser tratado como um requisito funcional.

Isso mostra que requisitos de um sistema de software são interligados e um requisito pode gerar limitações, influenciar ou mesmo acabar gerando outros requisitos.

Os requisitos de sistema entretanto não só especificam serviços ou funcionalidades do sistema.

Eles também especificam o que é necessário para assegurar que os serviços e funcionalidades sejam efetivamente entregues.

Fonte: SOMMERVILLE, Ian. Software Engineering: Tenth Edition. 10. ed. Boston: Pearson, 2016. 796 p. ISBAN 13: 978-0-13-394303-0. página 91

Como o levantamento de histórias e cenários podem ajudar na elucidação de requisitos para o desenvolvimento de um sistema de software?

Pergunta publicada originalmente no Quora em 01/11/2019

Aí galera, segue a minha visão sobre o assunto depois de dar uma lida no Sommerville.

Um dos objetivos do processo de elucidação de requisitos é conhecer o trabalho que os stakeholders (interessados no projeto) querem implementar no sistema, de forma a ajudá-los em suas atividades.

Durante a elucidação de requisitos, os engenheiros de software trabalham junto com os stakeholders para entender o domínio da aplicação.

Os engenheiros de software levantam as atividades trabalhadas, os serviços, as funcionalidades que precisam ser implementadas no sistema, bem com tomam conhecimento da performance desejada e assimilam as limitações impostas pelo hardware, dentre outros pontos.

Dado que pessoas, incluindo stakeholders, normalmente tem dificuldades em definirem requisitos de forma abstrata, muitas vezes eles são levantados a partir de exemplos da vida real, mais fáceis de serem obtidos.

Pessoas são capazes de descrever como enfrentam situações particulares ou são boas em descreverem como seria possível, a elas, melhorarem seus métodos de trabalho.

Levantamento de histórias e cenários é uma ferramenta poderosa para que engenheiros de software capturarem esse tipo de informação, normalmente descrita em linguagem natural.

De posse dessas histórias e cenários, o engenheiro de software os utiliza nas reuniões com os stakeholders para definir quais funcionalidades do software devem ser implementadas e ou deprecadas.

Para saber mais:

SOMMERVILLE, Ian. Software Engineering: Tenth Edition. 10. ed. Boston: Pearson, 2016. 796 p. ISBN 13: 978-0-13-394303-0. –

Tópicos:

  • Requirements elicitation
  • Stories and scenarios.

Em que situação um programador pode dizer “ainda bem que sei programar”?

Isso não é um tutorial.

Pergunta adicionada no Quora em 12/10/2019

Esses dias eu estava acessando alguns sites e começou a dar aquele maldito erro informando que a conexão não é confiável, cada vez que tentava acessar sites do governo.

Isso acontece porque o governo emite seus certificados de segurança e por algum motivo o certificado raiz não consta na instalação do Windows e Linux. Fica faltando e é uma droga.

Como faz para resolver esse B.O?

O incomodado tem que sair procurando o certificado certo, fazer o download e instalar. É um inconveniente no calor das entregas das tarefas do escritório, fora que se formatar o computador, tem que fazer tudo de novo.

Isso é um saco para quem manja de TI e deve ser Aramaico para quem é de humanas.

Bom, recentemente resolvendo esse problema no meu micro, obviamente tendo dificuldades para achar o certificado correto, descobri que uma boa alma do Instituto Nacional de Tecnologia da Informação fez um prensadão de todos os certificados existentes e postou nessa página aqui -> Certificados das ACs da ICP-Brasil – Arquivo Único Compactado.

Esse funcionário público que teve essa ideia merece uma caixa de Bis de presente. Quem o conhecer, mande os parabéns!

Uma vez encontrado um arquivo com todos certificados, bastaria descompactar e instalar os certificados, mas aí o problema complica:

São 164 certificados (em 2022)!

  • Cada um tem que dar uma meia dúzia de cliques nos locais certos.
  • Se fizer errado, o certificado não instala direito, fica tudo zoado e não funciona.
  • Há risco de esquecer de instalar alguns certificados.
  • Há o risco de ficar reinstalando certificados já instalados.
  • O processo é demorado pra caramba, leva cerca de 1 hora por computador, muito tempo para uma pequena empresa, por exemplo.

“Ainda bem que sei programar” entra a partir desse ponto.

Após uma breve internetada, achei um script de PowerShell, o ajustei para as minhas necessidades e mandei rodar.

Como eu fiz?

O código pronto está aí embaixo. em linhas gerais:

  • Baixei e descompactei o arquivo em um diretório temporário
  • Abri o editor do PowerShell e naveguei até o diretório
  • Dei um “ls>diretorio.csv” para listar o diretório em um arquivo csv
  • Abri o arquivo no Excel e com umas fórmulas, montei o caminho dos arquivos
  • Depois usei essa informação para montar o script

Instalou todos certificados de uma vez em menos de 1 minuto.

Na prática fazer isso pela primeira vez levaria o mesmo tempo que fazer manualmente, mas dessa forma todos certificados foram instalados corretamente (com certeza), com os cliques corretos e sem esquecer de ninguém. Fora que nas próximas, supostamente sofrerei menos com a instalação de certificados, fora que hoje 07/2022 eu tive de repetir essa instalação e rodou em minutos, pois eu já tinha feito o caminho das pedras 🙂

Programadores entenderão:

O script está aqui, é específico para minha máquina e não segue nenhuma das boas práticas de programação, mas resolveu o B.O.

$caminhos ="C:\Users\antenor\Downloads\ACcompactado\AC-A-DIGIFORTE-RFB.crt",
"C:\Users\antenor\Downloads\ACcompactado\AC-ACD-v5.crt",
"C:\Users\antenor\Downloads\ACcompactado\AC-CERTISIGN-ICP-BRASIL-CODE.crt",
"C:\Users\antenor\Downloads\ACcompactado\AC-CERTISIGN-ICP-BRASIL-SSL-G2.crt",
"C:\Users\antenor\Downloads\ACcompactado\AC-CERTISIGN-ICP-BRASIL-SSL.crt",
"C:\Users\antenor\Downloads\ACcompactado\AC-DIGITAL-MAIS.crt",
"C:\Users\antenor\Downloads\ACcompactado\AC-INFOCO-DIGITAL-v5.crt",
"C:\Users\antenor\Downloads\ACcompactado\AC-PRIME-v5.crt",
"C:\Users\antenor\Downloads\ACcompactado\AC-PRODESP-RFB-v1.crt",
"C:\Users\antenor\Downloads\ACcompactado\AC-PRODESP-SP-SSL.crt",
"C:\Users\antenor\Downloads\ACcompactado\AC-PRODESP-SP.crt",
"C:\Users\antenor\Downloads\ACcompactado\AC-QUALITYCERT-v5.crt",
"C:\Users\antenor\Downloads\ACcompactado\AC-REDEBRASIL-v5.crt",
"C:\Users\antenor\Downloads\ACcompactado\AC-SEMPRE-RFB.crt",
"C:\Users\antenor\Downloads\ACcompactado\AC-SERASA-SSL-EV.crt",
"C:\Users\antenor\Downloads\ACcompactado\AC-SERPRO-SSLv1-v10.crt",
"C:\Users\antenor\Downloads\ACcompactado\AC-SOLUTI-CS-EV.crt",
"C:\Users\antenor\Downloads\ACcompactado\AC-SOLUTI-SSL-EV-G2.crt",
"C:\Users\antenor\Downloads\ACcompactado\AC-SOLUTI-SSL-EV.crt",
"C:\Users\antenor\Downloads\ACcompactado\AC-SOLUTI-v5-G2.crt",
"C:\Users\antenor\Downloads\ACcompactado\AC-SyngularID.crt",
"C:\Users\antenor\Downloads\ACcompactado\AC-VALID-CODE-SIGNING.crt",
"C:\Users\antenor\Downloads\ACcompactado\AC-VALID-SSL-EV.crt",
"C:\Users\antenor\Downloads\ACcompactado\ACIMPRENSAOFICIALRFBSSL.crt",
"C:\Users\antenor\Downloads\ACcompactado\AC_A_R_A_CERTIFICACAO_DIGITAL_v5.crt",
"C:\Users\antenor\Downloads\ACcompactado\AC_BoaVista.crt",
"C:\Users\antenor\Downloads\ACcompactado\AC_BR_RFB_G4.crt",
"C:\Users\antenor\Downloads\ACcompactado\AC_CACB_CD.crt",
"C:\Users\antenor\Downloads\ACcompactado\AC_CACB_RFB_G2.crt",
"C:\Users\antenor\Downloads\ACcompactado\AC_CERTBANK_v5.crt",
"C:\Users\antenor\Downloads\ACcompactado\AC_CERTDATA_BRASIL.crt",
"C:\Users\antenor\Downloads\ACcompactado\ac_certfacil_v5.crt",
"C:\Users\antenor\Downloads\ACcompactado\ac_certifica_anapolis_v5.crt",
"C:\Users\antenor\Downloads\ACcompactado\AC_CERTIFICA_MINAS_v5.crt",
"C:\Users\antenor\Downloads\ACcompactado\AC_CERTISIGN-JUS_CODESIGNING_G6.crt",
"C:\Users\antenor\Downloads\ACcompactado\AC_CERTISIGN-JUS_G5.crt",
"C:\Users\antenor\Downloads\ACcompactado\AC_CERTISIGN-JUS_SSL_G6.crt",
"C:\Users\antenor\Downloads\ACcompactado\AC_Certisign_G7.crt",
"C:\Users\antenor\Downloads\ACcompactado\AC_Certisign_JUS_G6.crt",
"C:\Users\antenor\Downloads\ACcompactado\AC_Certisign_Multipla_CodeSigning.crt",
"C:\Users\antenor\Downloads\ACcompactado\AC_Certisign_Multipla_G7.crt",
"C:\Users\antenor\Downloads\ACcompactado\AC_Certisign_Multipla_SSL.crt",
"C:\Users\antenor\Downloads\ACcompactado\AC_Certisign_RFB_G5.crt",
"C:\Users\antenor\Downloads\ACcompactado\AC_Certisign_SPB_G6.crt",
"C:\Users\antenor\Downloads\ACcompactado\AC_Certisign_Tempo_G2.crt",
"C:\Users\antenor\Downloads\ACcompactado\AC_CERTMAIS_CD.crt",
"C:\Users\antenor\Downloads\ACcompactado\AC_CNDL_RFB_v3.crt",
"C:\Users\antenor\Downloads\ACcompactado\AC_CONSULTI_BRASIL_RFB.crt",
"C:\Users\antenor\Downloads\ACcompactado\AC_Defesa_v5.crt",
"C:\Users\antenor\Downloads\ACcompactado\AC_Digital.crt",
"C:\Users\antenor\Downloads\ACcompactado\AC_Digitalsign_ACP.crt",
"C:\Users\antenor\Downloads\ACcompactado\AC_DIGITALSIGN_ACP_G2.crt",
"C:\Users\antenor\Downloads\ACcompactado\AC_DIGITALSIGN_G2.crt",
"C:\Users\antenor\Downloads\ACcompactado\AC_DIGITALSIGN_RFB_G2.crt",
"C:\Users\antenor\Downloads\ACcompactado\AC_DIGITALSIGN_RFB_G3.crt",
"C:\Users\antenor\Downloads\ACcompactado\AC_DIGITALSIGN_SSL.crt",
"C:\Users\antenor\Downloads\ACcompactado\AC_DIGITAL_MULTIPLA_G1.crt",
"C:\Users\antenor\Downloads\ACcompactado\AC_DIGITAL_v5.crt",
"C:\Users\antenor\Downloads\ACcompactado\AC_DOCCLOUD.crt",
"C:\Users\antenor\Downloads\ACcompactado\AC_DOCCLOUD_RFB_v2.crt",
"C:\Users\antenor\Downloads\ACcompactado\AC_EGBA_Multipla_G2.crt",
"C:\Users\antenor\Downloads\ACcompactado\AC_EGBA_RFB.crt",
"C:\Users\antenor\Downloads\ACcompactado\AC_FCDL_SC_v5.crt",
"C:\Users\antenor\Downloads\ACcompactado\AC_FENACOR_RFB.crt",
"C:\Users\antenor\Downloads\ACcompactado\AC_Imprensa_Oficial_G4.crt",
"C:\Users\antenor\Downloads\ACcompactado\AC_Imprensa_Oficial_SP_G4.crt",
"C:\Users\antenor\Downloads\ACcompactado\AC_Imprensa_Oficial_SP_RFB_G5.crt",
"C:\Users\antenor\Downloads\ACcompactado\AC_Imprensa_Oficial_SSL.crt",
"C:\Users\antenor\Downloads\ACcompactado\AC_Instituto_Fenacon_G3.crt",
"C:\Users\antenor\Downloads\ACcompactado\AC_Instituto_Fenacon_G4.crt",
"C:\Users\antenor\Downloads\ACcompactado\AC_Instituto_Fenacon_RFB_G3.crt",
"C:\Users\antenor\Downloads\ACcompactado\AC_INTERCERT_v5.crt",
"C:\Users\antenor\Downloads\ACcompactado\AC_LINK_CD.crt",
"C:\Users\antenor\Downloads\ACcompactado\AC_LINK_RFB_v2.crt",
"C:\Users\antenor\Downloads\ACcompactado\AC_MAXIMUS_TECNOLOGIA_E_EVENTOS_v5.crt",
"C:\Users\antenor\Downloads\ACcompactado\AC_META_CERTIFICADO_DIGITAL_CD.crt",
"C:\Users\antenor\Downloads\ACcompactado\ac_mult_v5.crt",
"C:\Users\antenor\Downloads\ACcompactado\AC_Notarial_RFB_G4.crt",
"C:\Users\antenor\Downloads\ACcompactado\AC_OAB_G3.crt",
"C:\Users\antenor\Downloads\ACcompactado\AC_ONLINEBRASIL_v5.crt",
"C:\Users\antenor\Downloads\ACcompactado\AC_ONLINE_RFB_v5.crt",
"C:\Users\antenor\Downloads\ACcompactado\AC_PLANO_DIGITAL_CD.crt",
"C:\Users\antenor\Downloads\ACcompactado\AC_PREMIUM_CERTIFICADORA_DIGITAL_CD.crt",
"C:\Users\antenor\Downloads\ACcompactado\AC_Prodemge_BR.crt",
"C:\Users\antenor\Downloads\ACcompactado\AC_Prodemge_Codesigning.crt",
"C:\Users\antenor\Downloads\ACcompactado\AC_Prodemge_Codesigning_v2.crt",
"C:\Users\antenor\Downloads\ACcompactado\AC_PRODEMGE_G4.crt",
"C:\Users\antenor\Downloads\ACcompactado\AC_Prodemge_MG.crt",
"C:\Users\antenor\Downloads\ACcompactado\AC_Prodemge_MG_v2.crt",
"C:\Users\antenor\Downloads\ACcompactado\AC_Prodemge_RFB.crt",
"C:\Users\antenor\Downloads\ACcompactado\AC_Prodemge_RFB_G4.crt",
"C:\Users\antenor\Downloads\ACcompactado\AC_Prodemge_SSL.crt",
"C:\Users\antenor\Downloads\ACcompactado\AC_Prodemge_SSL_v2.crt",
"C:\Users\antenor\Downloads\ACcompactado\AC_PRODESP_v1.crt",
"C:\Users\antenor\Downloads\ACcompactado\AC_REDE_IDEIA_CD.crt",
"C:\Users\antenor\Downloads\ACcompactado\AC_REDE_IDEIA_RFB.crt",
"C:\Users\antenor\Downloads\ACcompactado\AC_SAFEIDBRASIL.crt",
"C:\Users\antenor\Downloads\ACcompactado\AC_SAFETECH_CD.crt",
"C:\Users\antenor\Downloads\ACcompactado\AC_SAFEWEB_CD.crt",
"C:\Users\antenor\Downloads\ACcompactado\AC_SAFEWEB_RFB_v5.crt",
"C:\Users\antenor\Downloads\ACcompactado\AC_SAFEWEB_TIMESTAMPING.crt",
"C:\Users\antenor\Downloads\ACcompactado\AC_Safeweb_v5.crt",
"C:\Users\antenor\Downloads\ACcompactado\AC_Secretaria_da_Receita_Federal_do_Brasil_v4.crt",
"C:\Users\antenor\Downloads\ACcompactado\AC_SENHA_DIGITAL_BRASIL.crt",
"C:\Users\antenor\Downloads\ACcompactado\AC_Serasa_JUS_v5.crt",
"C:\Users\antenor\Downloads\ACcompactado\AC_Serasa_RFB_v5.crt",
"C:\Users\antenor\Downloads\ACcompactado\AC_SERPRO_JUS_v5.crt",
"C:\Users\antenor\Downloads\ACcompactado\AC_SIC_BRASIL.crt",
"C:\Users\antenor\Downloads\ACcompactado\AC_SIC_RFB.crt",
"C:\Users\antenor\Downloads\ACcompactado\AC_SIG_BRASIL.crt",
"C:\Users\antenor\Downloads\ACcompactado\AC_SINCOR_G4.crt",
"C:\Users\antenor\Downloads\ACcompactado\AC_Sincor_RFB_G5.crt",
"C:\Users\antenor\Downloads\ACcompactado\AC_SINCOR_RIO_RFB_G2.crt",
"C:\Users\antenor\Downloads\ACcompactado\AC_SOLUTI-JUS_CODESIGNING_v5.crt",
"C:\Users\antenor\Downloads\ACcompactado\AC_SOLUTI-JUS_SSL_v5.crt",
"C:\Users\antenor\Downloads\ACcompactado\AC_SOLUTI-JUS_v5.crt",
"C:\Users\antenor\Downloads\ACcompactado\AC_Soluti.crt",
"C:\Users\antenor\Downloads\ACcompactado\AC_SOLUTI_Multipla_CODESIGNING.crt",
"C:\Users\antenor\Downloads\ACcompactado\AC_SOLUTI_Multipla_SSL.crt",
"C:\Users\antenor\Downloads\ACcompactado\AC_SOLUTI_Multipla_TIMESTAMPING.crt",
"C:\Users\antenor\Downloads\ACcompactado\AC_Soluti_Multipla_v1.crt",
"C:\Users\antenor\Downloads\ACcompactado\AC_SOLUTI_Multipla_v5.crt",
"C:\Users\antenor\Downloads\ACcompactado\AC_SOLUTI_RFB_V5.crt",
"C:\Users\antenor\Downloads\ACcompactado\ac_soluti_spb_v5.crt",
"C:\Users\antenor\Downloads\ACcompactado\AC_Soluti_v5.crt",
"C:\Users\antenor\Downloads\ACcompactado\AC_SyngularID_Multipla.crt",
"C:\Users\antenor\Downloads\ACcompactado\AC_VALID-JUS_CODESIGNING_v5.crt",
"C:\Users\antenor\Downloads\ACcompactado\AC_VALID-JUS_SSL_v5.crt",
"C:\Users\antenor\Downloads\ACcompactado\AC_VALID-JUS_v5.crt",
"C:\Users\antenor\Downloads\ACcompactado\AC_VALID_BRASIL_CODESIGNING.crt",
"C:\Users\antenor\Downloads\ACcompactado\AC_VALID_BRASIL_SSL.crt",
"C:\Users\antenor\Downloads\ACcompactado\AC_VALID_BRASIL_v5.crt",
"C:\Users\antenor\Downloads\ACcompactado\AC_VALID_PLUS_CODESIGNING.crt",
"C:\Users\antenor\Downloads\ACcompactado\AC_VALID_PLUS_SSL.crt",
"C:\Users\antenor\Downloads\ACcompactado\AC_VALID_PLUS_TIMESTAMPING.crt",
"C:\Users\antenor\Downloads\ACcompactado\AC_VALID_PLUS_v5.crt",
"C:\Users\antenor\Downloads\ACcompactado\AC_VALID_RFB_v5.crt",
"C:\Users\antenor\Downloads\ACcompactado\AC_VALID_SPB_v5.crt",
"C:\Users\antenor\Downloads\ACcompactado\AC_VALID_v5.crt",
"C:\Users\antenor\Downloads\ACcompactado\Autoridade_Certificadora_ALTERNATIVE.crt",
"C:\Users\antenor\Downloads\ACcompactado\Autoridade_Certificadora_da_Casa_da_Moeda_do_Brasil_v3.crt",
"C:\Users\antenor\Downloads\ACcompactado\Autoridade_Certificadora_da_Justica_v5.crt",
"C:\Users\antenor\Downloads\ACcompactado\Autoridade_Certificadora_da_Presidencia_da_Republica_v4.crt",
"C:\Users\antenor\Downloads\ACcompactado\Autoridade_Certificadora_da_Presidencia_da_Republica_v5.crt",
"C:\Users\antenor\Downloads\ACcompactado\Autoridade_Certificadora_do_Serpro_Final_SSL.crt",
"C:\Users\antenor\Downloads\ACcompactado\Autoridade_Certificadora_do_Serpro_Final_v5.crt",
"C:\Users\antenor\Downloads\ACcompactado\Autoridade_Certificadora_INFOCOMEX.crt",
"C:\Users\antenor\Downloads\ACcompactado\Autoridade_Certificadora_INVIA.crt",
"C:\Users\antenor\Downloads\ACcompactado\Autoridade_Certificadora_NACIONAL.crt",
"C:\Users\antenor\Downloads\ACcompactado\AUTORIDADE_CERTIFICADORA_PROCERTI.crt",
"C:\Users\antenor\Downloads\ACcompactado\Autoridade_Certificadora_SDI.crt",
"C:\Users\antenor\Downloads\ACcompactado\Autoridade_Certificadora_SEFAZCE.crt",
"C:\Users\antenor\Downloads\ACcompactado\Autoridade_Certificadora_SERPRORFBv5.crt",
"C:\Users\antenor\Downloads\ACcompactado\Autoridade_Certificadora_Serpro_v4.crt",
"C:\Users\antenor\Downloads\ACcompactado\ICP-Brasil.crt",
"C:\Users\antenor\Downloads\ACcompactado\ICP-Brasilv10.crt",
"C:\Users\antenor\Downloads\ACcompactado\ICP-Brasilv11.crt",
"C:\Users\antenor\Downloads\ACcompactado\ICP-Brasilv2.crt",
"C:\Users\antenor\Downloads\ACcompactado\ICP-Brasilv5.crt",
"C:\Users\antenor\Downloads\ACcompactado\Instituto_Nacional_de_Metrologia_Qualidade_e_Tecnologia_INMETRO.crt",
"C:\Users\antenor\Downloads\ACcompactado\Serasa_AC_v5.crt",
"C:\Users\antenor\Downloads\ACcompactado\Serasa_Autoridade_Certificadora_Principal_v5.crt",
"C:\Users\antenor\Downloads\ACcompactado\Serasa_CD_SSL_v5.crt",
"C:\Users\antenor\Downloads\ACcompactado\Serasa_CD_v5.crt"

foreach ($caminho in $caminhos) {
	$cert = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2($caminho)
	$rootStore = Get-Item cert:\LocalMachine\Root
	$rootStore.Open("ReadWrite")
	$rootStore.Add($cert)
	$rootStore.Close()
}