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

import com.ca.apim.gateway.extension.sharedstate.ratelimiter.SharedRateLimiterProvider;
import com.l7tech.server.extension.registry.AbstractRegistryImpl;
import java.util.logging.Level;
import java.util.logging.Logger;

public class SharedRateLimiterProviderRegistry extends AbstractRegistryImpl<SharedRateLimiterProvider> {
   private static final Logger c;
   public static final String SYSPROP_RATELIMITER_PROVIDER;
   private static final String[] d;

   public SharedRateLimiterProvider getExtension(String var1) {
      var1 = var1 == null ? null : var1.trim();
      if (var1 != null && !var1.isEmpty()) {
         SharedRateLimiterProvider var2 = (SharedRateLimiterProvider)super.getExtension(var1.contains(":") ? var1.split(":")[0] : var1);
         if (var2 == null) {
            c.log(Level.WARNING, d[0], var1);
         }

         return var2;
      } else {
         String[] var3 = d;
         c.log(Level.WARNING, var3[1]);
         return null;
      }
   }

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

   static {
      String[] var5 = new String[3];
      int var3 = 0;
      String var2 = "N\u001c\u000bC\rTP \u0000CQ\nR\\R\u0012_U4^Ui\u0007NB(EWv\u001aOU\n\u0017^o\u0006ETX\u0010\u001f{CV\u0017_+s\u001bJB\u001dSja\u0007N|\u0011ZQt\u0016Y`\nXNi\u0017NBX^K \u001dDDXTWn\u0015BW\rE]d5c\u001cF\u001e\u0014\u0000Le\u0010C\u001e\u000bRJv\u0016Y\u001e\u001dOLe\u001dXY\u0017Y\u0016s\u001bJB\u001dSja\u0007N|\u0011ZQt\u0016Y`\nXNi\u0017NB";
      int var4 = "N\u001c\u000bC\rTP \u0000CQ\nR\\R\u0012_U4^Ui\u0007NB(EWv\u001aOU\n\u0017^o\u0006ETX\u0010\u001f{CV\u0017_+s\u001bJB\u001dSja\u0007N|\u0011ZQt\u0016Y`\nXNi\u0017NBX^K \u001dDDXTWn\u0015BW\rE]d5c\u001cF\u001e\u0014\u0000Le\u0010C\u001e\u000bRJv\u0016Y\u001e\u001dOLe\u001dXY\u0017Y\u0016s\u001bJB\u001dSja\u0007N|\u0011ZQt\u0016Y`\nXNi\u0017NB"
         .length();
      char var1 = '/';
      int var0 = -1;

      while (true) {
         String var10002 = b(76, b(var2.substring(++var0, var0 + var1)));
         byte var10001 = -1;
         var5[var3++] = var10002;
         if ((var0 += var1) >= var4) {
            d = var5;
            SYSPROP_RATELIMITER_PROVIDER = d[2];
            c = Logger.getLogger(SharedRateLimiterProviderRegistry.class.getName());
            return;
         }

         var1 = var2.charAt(var0);
      }
   }

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

      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 -> 76;
            case 1 -> 63;
            case 2 -> 103;
            case 3 -> 124;
            case 4 -> 52;
            case 5 -> 123;
            default -> 116;
         });
      }

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