// 
// Decompiled by Procyon v0.6.0
// 

package com.google.crypto.tink.aead;

import com.google.crypto.tink.config.TinkFips;
import com.google.crypto.tink.mac.MacConfig;
import java.security.GeneralSecurityException;
import com.google.errorprone.annotations.CanIgnoreReturnValue;
import com.google.crypto.tink.proto.RegistryConfig;

public final class AeadConfig
{
    public static final String AES_CTR_HMAC_AEAD_TYPE_URL;
    public static final String AES_GCM_TYPE_URL;
    public static final String AES_GCM_SIV_TYPE_URL;
    public static final String AES_EAX_TYPE_URL;
    public static final String KMS_AEAD_TYPE_URL;
    public static final String KMS_ENVELOPE_AEAD_TYPE_URL;
    public static final String CHACHA20_POLY1305_TYPE_URL;
    public static final String XCHACHA20_POLY1305_TYPE_URL;
    @Deprecated
    public static final RegistryConfig TINK_1_0_0;
    @Deprecated
    public static final RegistryConfig TINK_1_1_0;
    @Deprecated
    public static final RegistryConfig LATEST;
    
    @CanIgnoreReturnValue
    private static String initializeClassReturnInput(final String s) {
        return s;
    }
    
    @Deprecated
    public static void init() throws GeneralSecurityException {
        register();
    }
    
    public static void register() throws GeneralSecurityException {
        AeadWrapper.register();
        MacConfig.register();
        AesCtrHmacAeadKeyManager.register(true);
        AesGcmKeyManager.register(true);
        if (TinkFips.useOnlyFips()) {
            return;
        }
        AesEaxKeyManager.register(true);
        AesGcmSivKeyManager.register(true);
        ChaCha20Poly1305KeyManager.register(true);
        KmsAeadKeyManager.register(true);
        KmsEnvelopeAeadKeyManager.register(true);
        XChaCha20Poly1305KeyManager.register(true);
        XAesGcmKeyManager.register(true);
    }
    
    @Deprecated
    public static void registerStandardKeyTypes() throws GeneralSecurityException {
        register();
    }
    
    private AeadConfig() {
    }
    
    static {
        AES_CTR_HMAC_AEAD_TYPE_URL = initializeClassReturnInput("type.googleapis.com/google.crypto.tink.AesCtrHmacAeadKey");
        AES_GCM_TYPE_URL = initializeClassReturnInput("type.googleapis.com/google.crypto.tink.AesGcmKey");
        AES_GCM_SIV_TYPE_URL = initializeClassReturnInput("type.googleapis.com/google.crypto.tink.AesGcmSivKey");
        AES_EAX_TYPE_URL = initializeClassReturnInput("type.googleapis.com/google.crypto.tink.AesEaxKey");
        KMS_AEAD_TYPE_URL = initializeClassReturnInput("type.googleapis.com/google.crypto.tink.KmsAeadKey");
        KMS_ENVELOPE_AEAD_TYPE_URL = initializeClassReturnInput("type.googleapis.com/google.crypto.tink.KmsEnvelopeAeadKey");
        CHACHA20_POLY1305_TYPE_URL = initializeClassReturnInput("type.googleapis.com/google.crypto.tink.ChaCha20Poly1305Key");
        XCHACHA20_POLY1305_TYPE_URL = initializeClassReturnInput("type.googleapis.com/google.crypto.tink.XChaCha20Poly1305Key");
        TINK_1_0_0 = RegistryConfig.getDefaultInstance();
        TINK_1_1_0 = AeadConfig.TINK_1_0_0;
        LATEST = AeadConfig.TINK_1_0_0;
        try {
            init();
        }
        catch (final GeneralSecurityException e) {
            throw new ExceptionInInitializerError(e);
        }
    }
}
