package com.l7tech.gateway.rest;

import jakarta.inject.Singleton;
import java.util.logging.Level;
import java.util.logging.Logger;
import org.glassfish.hk2.api.Injectee;
import org.glassfish.hk2.api.InjectionResolver;
import org.glassfish.hk2.api.ServiceHandle;
import org.springframework.context.ApplicationContext;

@Singleton
public class SpringBeanInjectionResolver implements InjectionResolver<SpringBean> {
   private static final Logger a;
   private static final boolean b = true;
   private ApplicationContext c;
   private static final String[] d;

   public SpringBeanInjectionResolver(ApplicationContext var1) {
      this.c = var1;
   }

   public Object resolve(Injectee var1, ServiceHandle<?> var2) {
      try {
         if (this.c == null) {
            return this.a(d[0]);
         }
      } catch (IllegalArgumentException var7) {
         throw var7;
      }

      Class var3 = (Class)var1.getRequiredType();

      try {
         if (ApplicationContext.class.equals(var3)) {
            return this.c;
         }
      } catch (IllegalArgumentException var6) {
         throw var6;
      }

      Object var4 = this.c.getBean(var3);

      try {
         return var4 == null ? this.a(d[1], var1.getParent(), var3.getName(), var1.getInjecteeClass().getName()) : var4;
      } catch (IllegalArgumentException var5) {
         throw var5;
      }
   }

   private Object a(String var1, Object... var2) {
      a.log(Level.WARNING, var1, var2);
      throw new IllegalArgumentException(String.format(var1, var2));
   }

   public boolean isConstructorParameterIndicator() {
      return false;
   }

   public boolean isMethodParameterIndicator() {
      return false;
   }

   static {
      String[] var5 = new String[2];
      int var3 = 0;
      String var2 = "%z!\u001cB)O\u0010c>\u001e\u000b)A\n~4\b_jF\u0005yq\u001eD>\u000e\u0006o4\u001e\u000b9K\u0010$q3J$@\u000b~q\u0019E K\u0007~q#[8G\nmq2N+@\u0017$O'k?\u001eD>\u000e\u0016o\"\u001fG<KDh4\u0011Ep\u000eC-*@Vm\tDe7P_3^\u00010q\u000b\u001a7\u000e\rdq\u0013G+]\u0017**BVd\u000e\"e$\u001eOj\u001eDg0\u0004H\"G\nmq\u0012N+@\u0017$";
      int var4 = "%z!\u001cB)O\u0010c>\u001e\u000b)A\n~4\b_jF\u0005yq\u001eD>\u000e\u0006o4\u001e\u000b9K\u0010$q3J$@\u000b~q\u0019E K\u0007~q#[8G\nmq2N+@\u0017$O'k?\u001eD>\u000e\u0016o\"\u001fG<KDh4\u0011Ep\u000eC-*@Vm\tDe7P_3^\u00010q\u000b\u001a7\u000e\rdq\u0013G+]\u0017**BVd\u000e\"e$\u001eOj\u001eDg0\u0004H\"G\nmq\u0012N+@\u0017$"
         .length();
      char var1 = 'A';
      int var0 = -1;

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

         var1 = var2.charAt(var0);
      }
   }

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

      return var10000;
   }

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

      for (int var1 = 0; var10000 > var1; var1++) {
         var10001[var1] = (char)(var10001[var1] ^ switch (var1 % 7) {
            case 0 -> 100;
            case 1 -> 10;
            case 2 -> 81;
            case 3 -> 112;
            case 4 -> 43;
            case 5 -> 74;
            default -> 46;
         });
      }

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