package com.l7tech.server.extension.registry.sharedstate;

import com.ca.apim.gateway.extension.sharedstate.SharedKeyValueStoreProvider;
import com.l7tech.server.extension.provider.sharedstate.LocalKeyValueStoreProvider;
import com.l7tech.server.extension.registry.AbstractRegistryImpl;
import com.l7tech.util.Config;
import java.util.Arrays;
import java.util.List;
import java.util.Objects;
import java.util.logging.Logger;
import org.apache.commons.lang3.StringUtils;

public class SharedKeyValueStoreProviderRegistry extends AbstractRegistryImpl<SharedKeyValueStoreProvider> {
   private static final Logger c;
   public static final String SYSTEM_PROPERTY_KEY_VALUE_STORE_PROVIDER;
   public static final String SYSTEM_PROPERTY_KEY_VALUE_STORE_PROVIDER_FOR_KEY_VALUE_STORE_ASSERTION;
   private final Config d;
   private static final String[] e;

   public SharedKeyValueStoreProviderRegistry(Config var1) {
      Objects.requireNonNull(var1, e[1]);
      this.d = var1;
      LocalKeyValueStoreProvider var2 = new LocalKeyValueStoreProvider();
      this.register(var2.getRegistryKey(), var2);
   }

   public SharedKeyValueStoreProvider getExtension() {
      String[] var2 = e;
      String var1 = this.d.getProperty(var2[7]);
      if (StringUtils.isBlank(var1)) {
         var1 = var2[0];
      }

      return this.getExtension(var1.trim());
   }

   public static List<String> providerSystemProperties() {
      String[] var10000 = new String[2];
      String[] var0 = e;
      var10000[0] = var0[6];
      var10000[1] = var0[3];
      return Arrays.asList(var10000);
   }

   @Override
   public void unregister(String var1) {
      try {
         if (e[4].equals(var1)) {
            throw new IllegalArgumentException(e[5]);
         }
      } catch (IllegalArgumentException var2) {
         throw a(var2);
      }

      super.unregister(var1);
   }

   @Override
   protected Logger getLogger() {
      return c;
   }

   static {
      String[] var5 = new String[8];
      int var3 = 0;
      String var2 = "\u001f#<\u0011J\u00150#1\u0016Oc1\u0010-1\u001eIp1\u0011)\u007f\u001eSh}H\u0010#2^J3e\u0016/7^C|e\u0016>1\u0011J*p\u0000?:\u0002Rm~\u001d?q\u001bC}g\u0012 *\u0015Up~\u0001)q\u0003Nec\u0016(\u0014\u0015_Rp\u001f9:#Rkc\u0016\u001c-\u001fPmu\u0016>H\u0010#2^J3e\u0016/7^C|e\u0016>1\u0011J*p\u0000?:\u0002Rm~\u001d?q\u001bC}g\u0012 *\u0015Up~\u0001)q\u0003Nec\u0016(\u0014\u0015_Rp\u001f9:#Rkc\u0016\u001c-\u001fPmu\u0016>\u0005\u001f#<\u0011J07)9\u0011SheS)'\u0004Cjb\u001a#1P\u0001h~\u0010-3W\u0006gp\u001d\"0\u0004\u0006ftS91\u0002Ccx\u00008:\u0002C`";
      int var4 = "\u001f#<\u0011J\u00150#1\u0016Oc1\u0010-1\u001eIp1\u0011)\u007f\u001eSh}H\u0010#2^J3e\u0016/7^C|e\u0016>1\u0011J*p\u0000?:\u0002Rm~\u001d?q\u001bC}g\u0012 *\u0015Up~\u0001)q\u0003Nec\u0016(\u0014\u0015_Rp\u001f9:#Rkc\u0016\u001c-\u001fPmu\u0016>H\u0010#2^J3e\u0016/7^C|e\u0016>1\u0011J*p\u0000?:\u0002Rm~\u001d?q\u001bC}g\u0012 *\u0015Up~\u0001)q\u0003Nec\u0016(\u0014\u0015_Rp\u001f9:#Rkc\u0016\u001c-\u001fPmu\u0016>\u0005\u001f#<\u0011J07)9\u0011SheS)'\u0004Cjb\u001a#1P\u0001h~\u0010-3W\u0006gp\u001d\"0\u0004\u0006ftS91\u0002Ccx\u00008:\u0002C`"
         .length();
      char var1 = 5;
      int var7 = -1;

      label24:
      while (true) {
         byte var10000 = 34;
         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) {
                     e = var5;
                     String[] var9 = e;
                     SYSTEM_PROPERTY_KEY_VALUE_STORE_PROVIDER = e[7];
                     SYSTEM_PROPERTY_KEY_VALUE_STORE_PROVIDER_FOR_KEY_VALUE_STORE_ASSERTION = var9[2];
                     c = Logger.getLogger(SharedKeyValueStoreProviderRegistry.class.getName());
                     return;
                  }

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

                  var2 = "\u001a)8T@9o\u001c%=T_ki\u000f#'TIvo\u001c(&\u0013C`5\n.4\bIjP\u001c?\u0003\u001b@{~*2:\bI^i\u00160<\u001eI|7\u001a)8T@9o\u001c%=T_ki\u000f#'TIvo\u001c(&\u0013C`5\n.4\bIjP\u001c?\u0003\u001b@{~*2:\bI^i\u00160<\u001eI|";
                  var4 = "\u001a)8T@9o\u001c%=T_ki\u000f#'TIvo\u001c(&\u0013C`5\n.4\bIjP\u001c?\u0003\u001b@{~*2:\bI^i\u00160<\u001eI|7\u001a)8T@9o\u001c%=T_ki\u000f#'TIvo\u001c(&\u0013C`5\n.4\bIjP\u001c?\u0003\u001b@{~*2:\bI^i\u00160<\u001eI|"
                     .length();
                  var1 = '7';
                  var7 = -1;
            }

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

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

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

      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 -> 81;
            case 1 -> 110;
            case 2 -> 125;
            case 3 -> 82;
            case 4 -> 4;
            case 5 -> 38;
            default -> 51;
         });
      }

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