package com.l7tech.security.xml;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.jetbrains.annotations.NotNull;

public enum SupportedDigestMethods {
   SHA1,
   SHA256,
   SHA384,
   SHA512;

   @NotNull
   private final String canonicalName;
   @NotNull
   private final String identifier;
   private final List<String> aliases;
   private static final Map<String, SupportedDigestMethods> allAliases;
   private static final String[] a;

   SupportedDigestMethods(@NotNull String var3, @NotNull String var4, String... var5) {
      this.canonicalName = var3;
      this.identifier = var4;
      this.aliases = new ArrayList<>(Arrays.asList(var5));
      this.aliases.add(0, var3);
   }

   @NotNull
   public String getCanonicalName() {
      try {
         return this.canonicalName;
      } catch (IllegalArgumentException var1) {
         throw a(var1);
      }
   }

   @NotNull
   public String getIdentifier() {
      try {
         return this.identifier;
      } catch (IllegalArgumentException var1) {
         throw a(var1);
      }
   }

   public List<String> getAliases() {
      return this.aliases;
   }

   public static List<String> getAlgorithmIds() {
      ArrayList var0 = new ArrayList();

      for (SupportedDigestMethods var4 : values()) {
         var0.add(var4.getIdentifier());
      }

      return var0;
   }

   public static String[] getDigestNames() {
      ArrayList var0 = new ArrayList();

      for (SupportedDigestMethods var4 : values()) {
         var0.add(var4.getCanonicalName());
      }

      return var0.toArray(new String[var0.size()]);
   }

   public static List<String> getAliases(String var0) {
      SupportedDigestMethods var1 = allAliases.get(var0.toUpperCase());

      try {
         if (var1 == null) {
            return null;
         }
      } catch (IllegalArgumentException var2) {
         throw a(var2);
      }

      return var1.getAliases();
   }

   public static SupportedDigestMethods fromAlias(String var0) {
      SupportedDigestMethods var1 = allAliases.get(var0);

      try {
         if (var1 == null) {
            throw new IllegalArgumentException(a[17] + var0);
         } else {
            return var1;
         }
      } catch (IllegalArgumentException var2) {
         throw a(var2);
      }
   }

   public static SupportedDigestMethods fromAlgorithmId(String var0) {
      for (SupportedDigestMethods var4 : values()) {
         try {
            if (var4.getIdentifier().equalsIgnoreCase(var0)) {
               return var4;
            }
         } catch (IllegalArgumentException var5) {
            throw a(var5);
         }
      }

      throw new IllegalArgumentException(a[4] + var0);
   }

   // $VF: Failed to inline enum fields
   // Please report this to the Vineflower issue tracker, at https://github.com/Vineflower/vineflower/issues with a copy of the class file (if you have the rights to distribute it!)
   static {
      String[] var5 = new String[28];
      int var3 = 0;
      String var2 = "E\u0006NIaM\u0004E\u0006NJ\u0003E\u0006N\u0005E\u0006NVe\u001eC |\u000e$\u000b\bd:j\u001ft\u001f\u000eq+|\u000ft\u001a\u000bq!}\u0012 \u0013\n,n\u0006E\u0006NNeI-~:{\u000bnTHa9xU#HIy<hTfKW'a?O{\u0003\nz*|\u00123V\ny<jX'\u0013\u0006%v;>W<h\u000e9\u001e\tbni\u0014&['X!{5!\u0017\u000b6>n\t5\u0016\u0002b+}[s^\u00141n`\u001dt^\u00148k|[9\u000e\u0014bna\u0014 [\u0005sna\u000e8\u0017'~:{\u000bnTHa9xU#HIy<hTfKW'a?O{\u0003\nz+a\u0018w\b\u000fw|:M\u0006E\u0006NHlO.u!bT8L\u0013s-gT'\u001e\u0004c<f\u000f-T\u001f{\" (!\u000b\u0017y<{\u001e0?\u000eq+|\u000f\u0019\u001e\u0013~!k\b\u0006*'a\u0012 E\u0006E\u0006NHlO\ru/a\u0014:\u0012\u0004w\"A\u001a9\u001e\u0007E\u0006NVgCS\u0010q+{85\u0015\bx'l\u001a85\u0006{+&~:{\u000bnTHa9xU#HIy<hTfKW&a?B{\u0003\nz*|\u00123X\u0014~/>\u001bC |\u000e$\u000b\bd:j\u001ft\u001f\u000eq+|\u000ft\u0016\u0002b&`\u001fn[\u0006E\u0006NNeI\u0004E\u0006NJ\u0007E\u0006NVfNQ*V\u0000`\u000f\u001a\u000e\u000bznb\u001e \u0013\brn*\bz^\u00146#z\b [\ty:/\t1\u000f\u0012d /\u0015!\u0017\u000b\u0006E\u0006NIaM\u0007E\u0006NVaJU\n\u007f*j\u0015 \u0012\u0001\u007f+}.u!bT8L\u0013s-gT'\u001e\u0004c<f\u000f-T\u001f{\" (!\u000b\u0017y<{\u001e0?\u000eq+|\u000f\u0019\u001e\u0013~!k\b";
      int var4 = "E\u0006NIaM\u0004E\u0006NJ\u0003E\u0006N\u0005E\u0006NVe\u001eC |\u000e$\u000b\bd:j\u001ft\u001f\u000eq+|\u000ft\u001a\u000bq!}\u0012 \u0013\n,n\u0006E\u0006NNeI-~:{\u000bnTHa9xU#HIy<hTfKW'a?O{\u0003\nz*|\u00123V\ny<jX'\u0013\u0006%v;>W<h\u000e9\u001e\tbni\u0014&['X!{5!\u0017\u000b6>n\t5\u0016\u0002b+}[s^\u00141n`\u001dt^\u00148k|[9\u000e\u0014bna\u0014 [\u0005sna\u000e8\u0017'~:{\u000bnTHa9xU#HIy<hTfKW'a?O{\u0003\nz+a\u0018w\b\u000fw|:M\u0006E\u0006NHlO.u!bT8L\u0013s-gT'\u001e\u0004c<f\u000f-T\u001f{\" (!\u000b\u0017y<{\u001e0?\u000eq+|\u000f\u0019\u001e\u0013~!k\b\u0006*'a\u0012 E\u0006E\u0006NHlO\ru/a\u0014:\u0012\u0004w\"A\u001a9\u001e\u0007E\u0006NVgCS\u0010q+{85\u0015\bx'l\u001a85\u0006{+&~:{\u000bnTHa9xU#HIy<hTfKW&a?B{\u0003\nz*|\u00123X\u0014~/>\u001bC |\u000e$\u000b\bd:j\u001ft\u001f\u000eq+|\u000ft\u0016\u0002b&`\u001fn[\u0006E\u0006NNeI\u0004E\u0006NJ\u0007E\u0006NVfNQ*V\u0000`\u000f\u001a\u000e\u000bznb\u001e \u0013\brn*\bz^\u00146#z\b [\ty:/\t1\u000f\u0012d /\u0015!\u0017\u000b\u0006E\u0006NIaM\u0007E\u0006NVaJU\n\u007f*j\u0015 \u0012\u0001\u007f+}.u!bT8L\u0013s-gT'\u001e\u0004c<f\u000f-T\u001f{\" (!\u000b\u0017y<{\u001e0?\u000eq+|\u000f\u0019\u001e\u0013~!k\b"
         .length();
      char var1 = 6;
      int var13 = -1;

      label41:
      while (true) {
         byte var10000 = 72;
         String var10001 = var2.substring(++var13, var13 + var1);
         byte var10002 = -1;

         while (true) {
            String var15 = a(var10000, a(var10001));
            switch (var10002) {
               case 0:
                  var5[var3++] = var15;
                  if ((var13 += var1) >= var4) {
                     a = var5;
                     String[] var14 = a;
                     SHA1 = new SupportedDigestMethods(var14[3], var14[16], var14[2], var14[19]);
                     SHA256 = new SupportedDigestMethods(var14[20], var14[8], var14[0]);
                     SHA384 = new SupportedDigestMethods(var14[14], var14[6], var14[9]);
                     SHA512 = new SupportedDigestMethods(var14[23], var14[27], var14[5]);
                     allAliases = new HashMap<>();

                     for (SupportedDigestMethods var9 : values()) {
                        for (String var11 : var9.getAliases()) {
                           allAliases.put(var11, var9);
                        }
                     }

                     return;
                  }

                  var1 = var2.charAt(var13);
                  break;
               default:
                  var5[var3++] = var15;
                  if ((var13 += var1) < var4) {
                     var1 = var2.charAt(var13);
                     continue label41;
                  }

                  var2 = "\u0003Y\t@Bl{\u0010U\u001b`C{'\fH\ty\u001c&:\u0013K\n'Q:;\u000bN\u001a&\u00149%U\u0013M=\tqx\bY\u0013j\u0005z}\u0005\tL;";
                  var4 = "\u0003Y\t@Bl{\u0010U\u001b`C{'\fH\ty\u001c&:\u0013K\n'Q:;\u000bN\u001a&\u00149%U\u0013M=\tqx\bY\u0013j\u0005z}\u0005\tL;".length();
                  var1 = '\r';
                  var13 = -1;
            }

            var10000 = 58;
            var10001 = var2.substring(++var13, var13 + var1);
            var10002 = 0;
         }
      }
   }

   private static IllegalArgumentException a(IllegalArgumentException var0) {
      return var0;
   }

   private static char[] a(String var0) {
      char[] var10000 = var0.toCharArray();
      if (var10000.length < 2) {
         var10000[0] = (char)(var10000[0] ^ 47);
      }

      return var10000;
   }

   private static String a(int var0, char[] var1) {
      int var10003 = var1.length;
      int var10002 = var0;
      char[] var10001 = var1;
      int var10000 = var10003;

      for (int var2 = 0; var10000 > var2; var2++) {
         var10001[var2] = (char)(var10001[var2] ^ var10002 ^ switch (var2 % 7) {
            case 0 -> 94;
            case 1 -> 6;
            case 2 -> 71;
            case 3 -> 51;
            case 4 -> 28;
            case 5 -> 51;
            default -> 47;
         });
      }

      return new String(var10001).intern();
   }
}
