package com.l7tech.external.assertions.gatewaygraphql.server.util;

import com.l7tech.util.Charsets;
import com.l7tech.util.HexUtils;
import com.l7tech.util.IOUtils;
import com.l7tech.util.OpenSSLUtil;
import java.nio.charset.StandardCharsets;
import org.jetbrains.annotations.NotNull;

public class OpenSSLv02SecretBag extends SecretBag {
   private static final String a;
   private static final String b;
   private static final int c = 10000;
   private static final String[] d;

   @Override
   public String code() {
      return d[7];
   }

   @Override
   public boolean matches(String var1) {
      return d[3].equals(var1);
   }

   @Override
   public byte[] encrypt(@NotNull byte[] var1, @NotNull String var2) {
      try {
         if (var1 == null) {
            a(0);
         }
      } catch (IllegalArgumentException var3) {
         throw a(var3);
      }

      try {
         if (var2 == null) {
            a(1);
         }
      } catch (IllegalArgumentException var4) {
         throw a(var4);
      }

      return new byte[0];
   }

   @Override
   public byte[] decrypt(@NotNull byte[] var1, @NotNull String var2) throws SecretBag.SecretBagException {
      try {
         if (var1 == null) {
            a(2);
         }
      } catch (Exception var6) {
         throw a(var6);
      }

      try {
         if (var2 == null) {
            a(3);
         }
      } catch (Exception var7) {
         throw a(var7);
      }

      try {
         String var3 = HexUtils.encodeBase64(var1, true);
         char[] var4 = IOUtils.decodeCharacters(Charsets.UTF8, var2.getBytes(StandardCharsets.UTF_8));
         return OpenSSLUtil.decryptPassword(var3, var4, 10000);
      } catch (Exception var5) {
         throw new SecretBag.SecretBagException(d[10], var5);
      }
   }

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

   static {
      String[] var5 = new String[12];
      int var3 = 0;
      String var2 = "SO0\u007fhcm_>A\\;~`b\\t\u000e:d\u007f'rNA(Exk^ ^=yljWtK.+*\"A'\u000e3m-\"A.\u000b/+`rAt\u000e2dy'Pe\u000e2~ak\u0007e@?ytwF\bSO0\u007fhcm_\u0015o^9e~t^E@?ytwFeJ\u001erybA\b$a\u000fG{7\u0000$\u0007pO%gbfV\b$a\u000fG{7\u0000$\npO/x}o@a]9\u0007dK?ytwF";
      int var4 = "SO0\u007fhcm_>A\\;~`b\\t\u000e:d\u007f'rNA(Exk^ ^=yljWtK.+*\"A'\u000e3m-\"A.\u000b/+`rAt\u000e2dy'Pe\u000e2~ak\u0007e@?ytwF\bSO0\u007fhcm_\u0015o^9e~t^E@?ytwFeJ\u001erybA\b$a\u000fG{7\u0000$\u0007pO%gbfV\b$a\u000fG{7\u0000$\npO/x}o@a]9\u0007dK?ytwF"
         .length();
      char var1 = '\b';
      int var7 = -1;

      label24:
      while (true) {
         byte var10000 = 30;
         String var10001 = var2.substring(++var7, var7 + var1);
         byte var10002 = -1;

         while (true) {
            String var8 = b(var10000, b(var10001));
            switch (var10002) {
               case 0:
                  var5[var3++] = var8;
                  if ((var7 += var1) >= var4) {
                     d = var5;
                     String[] var9 = d;
                     b = d[0];
                     a = var9[5];
                     return;
                  }

                  var1 = var2.charAt(var7);
                  break;
               default:
                  var5[var3++] = var8;
                  if ((var7 += var1) < var4) {
                     var1 = var2.charAt(var7);
                     continue label24;
                  }

                  var2 = "`y\u000bAZ\u0002rKh\u0016[FVrWn\u001d\u000e_J~InYJMAe\\{\rGFE7Qc\u001c\u000eXCnId\u0018J\bWdLe\u001e\u000egrRkX*b^\u0012%\u0005i\u0018IMFd\u0014\u0001D\u0015c@h\u0011\u0001MZc@y\u0017OD\rvVx\u001c\\\\KxKxVIIVrRj\u0000IZCgMz\u0015\u0001[GeSn\u000b\u0001]V~I$6^MLDvG\u000f\u001e\u001aqrFy\u001cZjCp";
                  var4 = "`y\u000bAZ\u0002rKh\u0016[FVrWn\u001d\u000e_J~InYJMAe\\{\rGFE7Qc\u001c\u000eXCnId\u0018J\bWdLe\u001e\u000egrRkX*b^\u0012%\u0005i\u0018IMFd\u0014\u0001D\u0015c@h\u0011\u0001MZc@y\u0017OD\rvVx\u001c\\\\KxKxVIIVrRj\u0000IZCgMz\u0015\u0001[GeSn\u000b\u0001]V~I$6^MLDvG\u000f\u001e\u001aqrFy\u001cZjCp"
                     .length();
                  var1 = 'C';
                  var7 = -1;
            }

            var10000 = 59;
            var10001 = var2.substring(++var7, var7 + var1);
            var10002 = 0;
         }
      }
   }

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

      return var10000;
   }

   private static String b(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 -> 30;
            case 1 -> 48;
            case 2 -> 66;
            case 3 -> 21;
            case 4 -> 19;
            case 5 -> 25;
            default -> 44;
         });
      }

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