package com.l7tech.server.policy;

import com.l7tech.gateway.common.LicenseException;
import com.l7tech.policy.AssertionLicense;
import com.l7tech.policy.assertion.Assertion;
import com.l7tech.policy.assertion.UnknownAssertion;
import com.l7tech.server.policy.assertion.ServerAssertion;
import com.l7tech.server.util.Injector;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.concurrent.Callable;
import java.util.logging.Logger;
import org.springframework.beans.BeansException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;

public class ServerPolicyFactory implements ApplicationContextAware {
   protected static final Logger logger;
   private final AssertionLicense a;
   private final Injector b;
   private ApplicationContext c;
   private static ThreadLocal<LinkedList<Boolean>> d;
   private static final String[] e;

   static <T> T a(boolean var0, Callable<T> var1) throws Exception {
      try {
         d.get().push(var0);
         return (T)var1.call();
      } finally {
         d.get().pop();
      }
   }

   boolean a() throws NullPointerException {
      return d.get().peek();
   }

   public ServerPolicyFactory(AssertionLicense var1, Injector var2) {
      this.a = var1;
      this.b = var2;
   }

   public ServerAssertion compilePolicy(Assertion var1, boolean var2) throws ServerPolicyException, LicenseException {
      try {
         if (var1 == null) {
            throw new ServerPolicyException(null, e[6]);
         }
      } catch (ServerPolicyException var9) {
         throw a(var9);
      }

      if (var2) {
         Iterator var3 = var1.preorderIterator();

         while (var3.hasNext()) {
            Object var4 = var3.next();

            try {
               if (var4 instanceof UnknownAssertion) {
                  throw new LicenseException(((UnknownAssertion)var4).getDetailMessage());
               }
            } catch (ServerPolicyException var8) {
               throw a(var8);
            }
         }
      }

      an var10 = new an(this, var1);

      try {
         return a(var2, var10);
      } catch (ServerPolicyException var5) {
         throw var5;
      } catch (LicenseException var6) {
         throw var6;
      } catch (Exception var7) {
         throw new ServerPolicyException(var1, var7);
      }
   }

   public ServerAssertion compileSubtree(Assertion var1) throws ServerPolicyException, LicenseException {
      return this.a(var1);
   }

   private ServerAssertion a(Assertion param1) throws ServerPolicyException, LicenseException {
      // $VF: Couldn't be decompiled
      // 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!)
      // java.lang.RuntimeException: parsing failure!
      //   at org.jetbrains.java.decompiler.modules.decompiler.decompose.DomHelper.parseGraph(DomHelper.java:211)
      //   at org.jetbrains.java.decompiler.main.rels.MethodProcessor.codeToJava(MethodProcessor.java:174)
      //
      // Bytecode:
      // 000: aload 1
      // 001: ifnonnull 017
      // 004: new com/l7tech/server/policy/ServerPolicyException
      // 007: dup
      // 008: aconst_null
      // 009: getstatic com/l7tech/server/policy/ServerPolicyFactory.e [Ljava/lang/String;
      // 00c: bipush 9
      // 00e: aaload
      // 00f: invokespecial com/l7tech/server/policy/ServerPolicyException.<init> (Lcom/l7tech/policy/assertion/Assertion;Ljava/lang/String;)V
      // 012: athrow
      // 013: invokestatic com/l7tech/server/policy/ServerPolicyFactory.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 016: athrow
      // 017: aload 0
      // 018: invokevirtual com/l7tech/server/policy/ServerPolicyFactory.a ()Z
      // 01b: ifeq 04d
      // 01e: aload 0
      // 01f: getfield com/l7tech/server/policy/ServerPolicyFactory.a Lcom/l7tech/policy/AssertionLicense;
      // 022: aload 1
      // 023: invokeinterface com/l7tech/policy/AssertionLicense.isAssertionEnabled (Lcom/l7tech/policy/assertion/Assertion;)Z 2
      // 028: ifne 04d
      // 02b: goto 032
      // 02e: invokestatic com/l7tech/server/policy/ServerPolicyFactory.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 031: athrow
      // 032: new com/l7tech/gateway/common/LicenseException
      // 035: dup
      // 036: aload 1
      // 037: invokevirtual com/l7tech/policy/assertion/Assertion.getFeatureSetClassName ()Ljava/lang/String;
      // 03a: getstatic com/l7tech/server/policy/ServerPolicyFactory.e [Ljava/lang/String;
      // 03d: bipush 1
      // 03e: aaload
      // 03f: swap
      // 040: invokedynamic makeConcatWithConstants (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; bsm=java/lang/invoke/StringConcatFactory.makeConcatWithConstants (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite; args=[ "\u0001\u0001" ]
      // 045: invokespecial com/l7tech/gateway/common/LicenseException.<init> (Ljava/lang/String;)V
      // 048: athrow
      // 049: invokestatic com/l7tech/server/policy/ServerPolicyFactory.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 04c: athrow
      // 04d: aload 1
      // 04e: invokevirtual com/l7tech/policy/assertion/Assertion.isEnabled ()Z
      // 051: ifne 066
      // 054: new com/l7tech/server/policy/ServerPolicyException
      // 057: dup
      // 058: aload 1
      // 059: getstatic com/l7tech/server/policy/ServerPolicyFactory.e [Ljava/lang/String;
      // 05c: bipush 3
      // 05d: aaload
      // 05e: invokespecial com/l7tech/server/policy/ServerPolicyException.<init> (Lcom/l7tech/policy/assertion/Assertion;Ljava/lang/String;)V
      // 061: athrow
      // 062: invokestatic com/l7tech/server/policy/ServerPolicyFactory.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 065: athrow
      // 066: aload 1
      // 067: instanceof com/l7tech/policy/assertion/CommentAssertion
      // 06a: ifeq 07f
      // 06d: new com/l7tech/server/policy/ServerPolicyException
      // 070: dup
      // 071: aload 1
      // 072: getstatic com/l7tech/server/policy/ServerPolicyFactory.e [Ljava/lang/String;
      // 075: bipush 0
      // 076: aaload
      // 077: invokespecial com/l7tech/server/policy/ServerPolicyException.<init> (Lcom/l7tech/policy/assertion/Assertion;Ljava/lang/String;)V
      // 07a: athrow
      // 07b: invokestatic com/l7tech/server/policy/ServerPolicyFactory.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 07e: athrow
      // 07f: aload 1
      // 080: invokevirtual java/lang/Object.getClass ()Ljava/lang/Class;
      // 083: astore 2
      // 084: aload 1
      // 085: invokevirtual com/l7tech/policy/assertion/Assertion.meta ()Lcom/l7tech/policy/assertion/AssertionMetadata;
      // 088: getstatic com/l7tech/server/policy/ServerPolicyFactory.e [Ljava/lang/String;
      // 08b: astore 18
      // 08d: aload 18
      // 08f: bipush 11
      // 091: aaload
      // 092: invokeinterface com/l7tech/policy/assertion/AssertionMetadata.get (Ljava/lang/String;)Ljava/lang/Object; 2
      // 097: checkcast java/lang/String
      // 09a: astore 3
      // 09b: aload 3
      // 09c: ifnonnull 0c2
      // 09f: new com/l7tech/server/policy/ServerPolicyException
      // 0a2: dup
      // 0a3: aload 1
      // 0a4: aload 1
      // 0a5: invokevirtual java/lang/Object.getClass ()Ljava/lang/Class;
      // 0a8: invokevirtual java/lang/Class.getName ()Ljava/lang/String;
      // 0ab: aload 18
      // 0ad: bipush 2
      // 0ae: aaload
      // 0af: swap
      // 0b0: aload 18
      // 0b2: bipush 8
      // 0b4: aaload
      // 0b5: invokedynamic makeConcatWithConstants (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; bsm=java/lang/invoke/StringConcatFactory.makeConcatWithConstants (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite; args=[ "\u0001\u0001\u0001" ]
      // 0ba: invokespecial com/l7tech/server/policy/ServerPolicyException.<init> (Lcom/l7tech/policy/assertion/Assertion;Ljava/lang/String;)V
      // 0bd: athrow
      // 0be: invokestatic com/l7tech/server/policy/ServerPolicyFactory.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 0c1: athrow
      // 0c2: invokestatic java/lang/Thread.currentThread ()Ljava/lang/Thread;
      // 0c5: astore 4
      // 0c7: aload 4
      // 0c9: invokevirtual java/lang/Thread.getContextClassLoader ()Ljava/lang/ClassLoader;
      // 0cc: astore 5
      // 0ce: aload 1
      // 0cf: invokevirtual java/lang/Object.getClass ()Ljava/lang/Class;
      // 0d2: invokevirtual java/lang/Class.getClassLoader ()Ljava/lang/ClassLoader;
      // 0d5: astore 6
      // 0d7: aload 4
      // 0d9: aload 6
      // 0db: invokevirtual java/lang/Thread.setContextClassLoader (Ljava/lang/ClassLoader;)V
      // 0de: aload 6
      // 0e0: aload 3
      // 0e1: invokevirtual java/lang/ClassLoader.loadClass (Ljava/lang/String;)Ljava/lang/Class;
      // 0e4: astore 7
      // 0e6: ldc com/l7tech/server/policy/assertion/ServerAssertion
      // 0e8: aload 7
      // 0ea: invokevirtual java/lang/Class.isAssignableFrom (Ljava/lang/Class;)Z
      // 0ed: ifne 109
      // 0f0: new com/l7tech/server/policy/ServerPolicyException
      // 0f3: dup
      // 0f4: aload 1
      // 0f5: aload 3
      // 0f6: getstatic com/l7tech/server/policy/ServerPolicyFactory.e [Ljava/lang/String;
      // 0f9: bipush 12
      // 0fb: aaload
      // 0fc: invokedynamic makeConcatWithConstants (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; bsm=java/lang/invoke/StringConcatFactory.makeConcatWithConstants (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite; args=[ "\u0001\u0001" ]
      // 101: invokespecial com/l7tech/server/policy/ServerPolicyException.<init> (Lcom/l7tech/policy/assertion/Assertion;Ljava/lang/String;)V
      // 104: athrow
      // 105: invokestatic com/l7tech/server/policy/ServerPolicyFactory.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 108: athrow
      // 109: getstatic com/l7tech/server/policy/ServerPolicyFactory.logger Ljava/util/logging/Logger;
      // 10c: getstatic java/util/logging/Level.FINE Ljava/util/logging/Level;
      // 10f: invokevirtual java/util/logging/Logger.isLoggable (Ljava/util/logging/Level;)Z
      // 112: ifeq 151
      // 115: getstatic com/l7tech/server/policy/ServerPolicyFactory.logger Ljava/util/logging/Logger;
      // 118: getstatic java/util/logging/Level.FINE Ljava/util/logging/Level;
      // 11b: getstatic com/l7tech/server/policy/ServerPolicyFactory.e [Ljava/lang/String;
      // 11e: bipush 5
      // 11f: aaload
      // 120: bipush 4
      // 121: anewarray 120
      // 124: dup
      // 125: bipush 0
      // 126: aload 7
      // 128: invokevirtual java/lang/Class.getName ()Ljava/lang/String;
      // 12b: aastore
      // 12c: dup
      // 12d: bipush 1
      // 12e: aload 2
      // 12f: invokevirtual java/lang/Class.getName ()Ljava/lang/String;
      // 132: aastore
      // 133: dup
      // 134: bipush 2
      // 135: aload 1
      // 136: invokevirtual com/l7tech/policy/assertion/Assertion.getOrdinal ()I
      // 139: invokestatic java/lang/Integer.valueOf (I)Ljava/lang/Integer;
      // 13c: aastore
      // 13d: dup
      // 13e: bipush 3
      // 13f: aload 1
      // 140: invokevirtual com/l7tech/policy/assertion/Assertion.ownerPolicyGoid ()Lcom/l7tech/objectmodel/Goid;
      // 143: aastore
      // 144: invokestatic java/text/MessageFormat.format (Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
      // 147: invokevirtual java/util/logging/Logger.log (Ljava/util/logging/Level;Ljava/lang/String;)V
      // 14a: goto 151
      // 14d: invokestatic com/l7tech/server/policy/ServerPolicyFactory.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 150: athrow
      // 151: bipush 2
      // 152: anewarray 69
      // 155: dup
      // 156: bipush 0
      // 157: bipush 1
      // 158: anewarray 133
      // 15b: dup
      // 15c: bipush 0
      // 15d: aload 2
      // 15e: aastore
      // 15f: aastore
      // 160: dup
      // 161: bipush 1
      // 162: bipush 2
      // 163: anewarray 133
      // 166: dup
      // 167: bipush 0
      // 168: aload 2
      // 169: aastore
      // 16a: dup
      // 16b: bipush 1
      // 16c: ldc org/springframework/context/ApplicationContext
      // 16e: aastore
      // 16f: aastore
      // 170: astore 8
      // 172: aload 8
      // 174: astore 9
      // 176: aload 9
      // 178: arraylength
      // 179: istore 10
      // 17b: bipush 0
      // 17c: istore 11
      // 17e: iload 11
      // 180: iload 10
      // 182: if_icmpge 213
      // 185: aload 9
      // 187: iload 11
      // 189: aaload
      // 18a: astore 12
      // 18c: aload 7
      // 18e: aload 12
      // 190: invokestatic com/l7tech/util/ConstructorInvocation.findMatchingConstructor (Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
      // 193: astore 13
      // 195: aload 13
      // 197: ifnull 20d
      // 19a: aload 12
      // 19c: arraylength
      // 19d: anewarray 120
      // 1a0: astore 14
      // 1a2: aload 14
      // 1a4: arraylength
      // 1a5: ifle 1b4
      // 1a8: aload 14
      // 1aa: bipush 0
      // 1ab: aload 1
      // 1ac: aastore
      // 1ad: goto 1b4
      // 1b0: invokestatic com/l7tech/server/policy/ServerPolicyFactory.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 1b3: athrow
      // 1b4: bipush 1
      // 1b5: istore 15
      // 1b7: iload 15
      // 1b9: aload 14
      // 1bb: arraylength
      // 1bc: if_icmpge 1d2
      // 1bf: aload 14
      // 1c1: iload 15
      // 1c3: aload 0
      // 1c4: getfield com/l7tech/server/policy/ServerPolicyFactory.c Lorg/springframework/context/ApplicationContext;
      // 1c7: aastore
      // 1c8: iinc 15 1
      // 1cb: goto 1b7
      // 1ce: invokestatic com/l7tech/server/policy/ServerPolicyFactory.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 1d1: athrow
      // 1d2: aload 13
      // 1d4: aload 14
      // 1d6: invokevirtual java/lang/reflect/Constructor.newInstance ([Ljava/lang/Object;)Ljava/lang/Object;
      // 1d9: checkcast com/l7tech/server/policy/assertion/ServerAssertion
      // 1dc: astore 15
      // 1de: aload 0
      // 1df: getfield com/l7tech/server/policy/ServerPolicyFactory.b Lcom/l7tech/server/util/Injector;
      // 1e2: aload 15
      // 1e4: invokeinterface com/l7tech/server/util/Injector.inject (Ljava/lang/Object;)V 2
      // 1e9: aload 15
      // 1eb: instanceof org/springframework/beans/factory/InitializingBean
      // 1ee: ifeq 1ff
      // 1f1: aload 15
      // 1f3: checkcast org/springframework/beans/factory/InitializingBean
      // 1f6: astore 16
      // 1f8: aload 16
      // 1fa: invokeinterface org/springframework/beans/factory/InitializingBean.afterPropertiesSet ()V 1
      // 1ff: aload 15
      // 201: astore 16
      // 203: aload 4
      // 205: aload 5
      // 207: invokevirtual java/lang/Thread.setContextClassLoader (Ljava/lang/ClassLoader;)V
      // 20a: aload 16
      // 20c: areturn
      // 20d: iinc 11 1
      // 210: goto 17e
      // 213: aload 4
      // 215: aload 5
      // 217: invokevirtual java/lang/Thread.setContextClassLoader (Ljava/lang/ClassLoader;)V
      // 21a: goto 229
      // 21d: astore 17
      // 21f: aload 4
      // 221: aload 5
      // 223: invokevirtual java/lang/Thread.setContextClassLoader (Ljava/lang/ClassLoader;)V
      // 226: aload 17
      // 228: athrow
      // 229: new com/l7tech/server/policy/ServerPolicyException
      // 22c: dup
      // 22d: aload 1
      // 22e: aload 3
      // 22f: aload 2
      // 230: invokestatic java/lang/String.valueOf (Ljava/lang/Object;)Ljava/lang/String;
      // 233: getstatic com/l7tech/server/policy/ServerPolicyFactory.e [Ljava/lang/String;
      // 236: astore 18
      // 238: aload 18
      // 23a: bipush 7
      // 23c: aaload
      // 23d: swap
      // 23e: invokedynamic makeConcatWithConstants (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; bsm=java/lang/invoke/StringConcatFactory.makeConcatWithConstants (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite; args=[ "\u0001\u0001\u0001" ]
      // 243: invokespecial com/l7tech/server/policy/ServerPolicyException.<init> (Lcom/l7tech/policy/assertion/Assertion;Ljava/lang/String;)V
      // 246: athrow
      // 247: astore 2
      // 248: aload 2
      // 249: athrow
      // 24a: astore 2
      // 24b: aload 2
      // 24c: invokevirtual java/lang/reflect/InvocationTargetException.getCause ()Ljava/lang/Throwable;
      // 24f: astore 3
      // 250: aload 3
      // 251: instanceof com/l7tech/gateway/common/LicenseException
      // 254: ifeq 260
      // 257: aload 3
      // 258: checkcast com/l7tech/gateway/common/LicenseException
      // 25b: athrow
      // 25c: invokestatic com/l7tech/server/policy/ServerPolicyFactory.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 25f: athrow
      // 260: new com/l7tech/server/policy/ServerPolicyException
      // 263: dup
      // 264: aload 1
      // 265: aload 1
      // 266: invokevirtual java/lang/Object.getClass ()Ljava/lang/Class;
      // 269: invokevirtual java/lang/Class.getName ()Ljava/lang/String;
      // 26c: aload 2
      // 26d: invokestatic com/l7tech/util/ExceptionUtils.getMessage (Ljava/lang/Throwable;)Ljava/lang/String;
      // 270: getstatic com/l7tech/server/policy/ServerPolicyFactory.e [Ljava/lang/String;
      // 273: astore 18
      // 275: aload 18
      // 277: bipush 13
      // 279: aaload
      // 27a: dup_x2
      // 27b: pop
      // 27c: aload 18
      // 27e: bipush 10
      // 280: aaload
      // 281: swap
      // 282: invokedynamic makeConcatWithConstants (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; bsm=java/lang/invoke/StringConcatFactory.makeConcatWithConstants (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite; args=[ "\u0001\u0001\u0001\u0001" ]
      // 287: aload 2
      // 288: invokespecial com/l7tech/server/policy/ServerPolicyException.<init> (Lcom/l7tech/policy/assertion/Assertion;Ljava/lang/String;Ljava/lang/Throwable;)V
      // 28b: athrow
      // 28c: astore 2
      // 28d: new com/l7tech/server/policy/ServerPolicyException
      // 290: dup
      // 291: aload 1
      // 292: aload 1
      // 293: invokevirtual java/lang/Object.getClass ()Ljava/lang/Class;
      // 296: invokevirtual java/lang/Class.getName ()Ljava/lang/String;
      // 299: aload 2
      // 29a: invokestatic com/l7tech/util/ExceptionUtils.getMessage (Ljava/lang/Throwable;)Ljava/lang/String;
      // 29d: getstatic com/l7tech/server/policy/ServerPolicyFactory.e [Ljava/lang/String;
      // 2a0: astore 18
      // 2a2: aload 18
      // 2a4: bipush 13
      // 2a6: aaload
      // 2a7: dup_x2
      // 2a8: pop
      // 2a9: aload 18
      // 2ab: bipush 4
      // 2ac: aaload
      // 2ad: swap
      // 2ae: invokedynamic makeConcatWithConstants (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; bsm=java/lang/invoke/StringConcatFactory.makeConcatWithConstants (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite; args=[ "\u0001\u0001\u0001\u0001" ]
      // 2b3: aload 2
      // 2b4: invokespecial com/l7tech/server/policy/ServerPolicyException.<init> (Lcom/l7tech/policy/assertion/Assertion;Ljava/lang/String;Ljava/lang/Throwable;)V
      // 2b7: athrow
      // try (225 -> 236): 236 com/l7tech/gateway/common/LicenseException
      // try (213 -> 220): 221 com/l7tech/gateway/common/LicenseException
      // try (127 -> 161): 162 com/l7tech/gateway/common/LicenseException
      // try (111 -> 125): 125 com/l7tech/gateway/common/LicenseException
      // try (75 -> 93): 93 com/l7tech/gateway/common/LicenseException
      // try (49 -> 60): 60 com/l7tech/gateway/common/LicenseException
      // try (36 -> 47): 47 com/l7tech/gateway/common/LicenseException
      // try (15 -> 34): 34 com/l7tech/gateway/common/LicenseException
      // try (12 -> 20): 21 com/l7tech/gateway/common/LicenseException
      // try (0 -> 10): 10 com/l7tech/gateway/common/LicenseException
      // try (107 -> 257): 268 null
      // try (262 -> 264): 268 null
      // try (268 -> 269): 268 null
      // try (12 -> 260): 289 com/l7tech/gateway/common/LicenseException
      // try (262 -> 289): 289 com/l7tech/gateway/common/LicenseException
      // try (12 -> 260): 292 java/lang/reflect/InvocationTargetException
      // try (262 -> 289): 292 java/lang/reflect/InvocationTargetException
      // try (12 -> 260): 327 java/lang/Throwable
      // try (262 -> 289): 327 java/lang/Throwable
      // try (296 -> 302): 302 com/l7tech/gateway/common/LicenseException
   }

   public void setApplicationContext(ApplicationContext var1) throws BeansException {
      this.c = var1;
   }

   static {
      String[] var5 = new String[14];
      int var3 = 0;
      String var2 = "u7\u0016F74=[*E@$.:[0EA `7[)\u0015J)%0\u0014&\u0000@$5'Qd\fWe)'\u0014%E@*-9Q*\u0011\u0003$3'Q6\u0011J*.:`,\u0000\u0003601W-\u0003J $tU7\u0016F74=[*EJ6`:[0EP00$[6\u0011F!`;Zd\u0011K,3ts%\u0011F2!-\u000ed'q6\u0017L7`7F!\u0004W,.3\u00147\u0015F&)2]'EB631F0\fL+`2[6E\u00043u7\u0016F74=[*E@$.:[0EA `7[)\u0015J)%0\u0014&\u0000@$5'Qd\fWe)'\u0014 \fP$\"8Q \u0003\u0013~E]}*\u0016W$. ]%\u0011J+'tG!\u0017U 2tU7\u0016F74=[*EL#` M4\u0000\u0003>p)\u0014\"\nQe!'G!\u0017W,/:\u0014?T^e/&P-\u000bB)ztOv\u0018\u0003,.tD+\tJ&9ts\u000b,g\u007f`/\u00079Gf+\nWe0;X-\u0006Ze!'G!\u0017W,/:\u0014-\u0016\u0003+58XdH\u000ee0;X-\u0006Ze#;Z0\u0004J+3tZ+EF+!6X!\u0001\u0003$3'Q6\u0011J*.'\u000b2\u0014 \nF6`:[0EK$61\u0014%\u0011\u0003)%5G0EBe0!V(\f@e#;Z7\u0011Q0# [6HE7/9\u0019.\u0013~EB631F0\fL+`0Q'\tB7%'\u0014*\n\u00036%&B!\u0017\u0003,-$X!\bF+45@-\nM\u0019s!\u000bF7)7\u0014%\u0016P 2 ]+\u000b\u0003,3tZ1\tO\u0003\u0013~E\u0018G!\u0017U 2\u0015G7\u0000Q1);Z\u0007\tB63:U)\u0000";
      int var4 = "u7\u0016F74=[*E@$.:[0EA `7[)\u0015J)%0\u0014&\u0000@$5'Qd\fWe)'\u0014%E@*-9Q*\u0011\u0003$3'Q6\u0011J*.:`,\u0000\u0003601W-\u0003J $tU7\u0016F74=[*EJ6`:[0EP00$[6\u0011F!`;Zd\u0011K,3ts%\u0011F2!-\u000ed'q6\u0017L7`7F!\u0004W,.3\u00147\u0015F&)2]'EB631F0\fL+`2[6E\u00043u7\u0016F74=[*E@$.:[0EA `7[)\u0015J)%0\u0014&\u0000@$5'Qd\fWe)'\u0014 \fP$\"8Q \u0003\u0013~E]}*\u0016W$. ]%\u0011J+'tG!\u0017U 2tU7\u0016F74=[*EL#` M4\u0000\u0003>p)\u0014\"\nQe!'G!\u0017W,/:\u0014?T^e/&P-\u000bB)ztOv\u0018\u0003,.tD+\tJ&9ts\u000b,g\u007f`/\u00079Gf+\nWe0;X-\u0006Ze!'G!\u0017W,/:\u0014-\u0016\u0003+58XdH\u000ee0;X-\u0006Ze#;Z0\u0004J+3tZ+EF+!6X!\u0001\u0003$3'Q6\u0011J*.'\u000b2\u0014 \nF6`:[0EK$61\u0014%\u0011\u0003)%5G0EBe0!V(\f@e#;Z7\u0011Q0# [6HE7/9\u0019.\u0013~EB631F0\fL+`0Q'\tB7%'\u0014*\n\u00036%&B!\u0017\u0003,-$X!\bF+45@-\nM\u0019s!\u000bF7)7\u0014%\u0016P 2 ]+\u000b\u0003,3tZ1\tO\u0003\u0013~E\u0018G!\u0017U 2\u0015G7\u0000Q1);Z\u0007\tB63:U)\u0000"
         .length();
      char var1 = '>';
      int var7 = -1;

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

         while (true) {
            String var8 = a(var10000, a(var10001));
            switch (var10002) {
               case 0:
                  var5[var3++] = var8;
                  if ((var7 += var1) >= var4) {
                     e = var5;
                     logger = Logger.getLogger(ServerPolicyFactory.class.getName());
                     d = new av();
                     return;
                  }

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

                  var2 = "F\u007fDQy}rFw\u0017\"r`p\u0003dv\u0002dwt\u0012\u007fX\u001f'#dE\u001ee2e\u0014sV\u0005~|aFeG\u0014t{`\u000fu\u0017\u0010dac\u0014b^\u001ey2`\td\u0017V";
                  var4 = "F\u007fDQy}rFw\u0017\"r`p\u0003dv\u0002dwt\u0012\u007fX\u001f'#dE\u001ee2e\u0014sV\u0005~|aFeG\u0014t{`\u000fu\u0017\u0010dac\u0014b^\u001ey2`\td\u0017V"
                     .length();
                  var1 = 25;
                  var7 = -1;
            }

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

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

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

      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 -> 9;
            case 1 -> 121;
            case 2 -> 88;
            case 3 -> 30;
            case 4 -> 120;
            case 5 -> 125;
            default -> 105;
         });
      }

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