package com.l7tech.policy;

import com.l7tech.objectmodel.GuidBasedEntityManager;
import com.l7tech.objectmodel.HeaderBasedEntityFinder;
import com.l7tech.policy.assertion.Assertion;
import com.l7tech.policy.assertion.PolicyAssertionException;
import com.l7tech.policy.assertion.composite.CompositeAssertion;
import java.util.ArrayDeque;
import java.util.ArrayList;
import java.util.Deque;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import java.util.logging.Level;
import java.util.logging.Logger;
import org.jetbrains.annotations.Nullable;

public class DefaultPolicyPathBuilder extends PolicyPathBuilder {
   private static final Logger b;
   private final GuidBasedEntityManager<Policy> c;
   private final HeaderBasedEntityFinder d;
   private Deque<AssertionPath> e = new ArrayDeque<>();
   private static final String[] g;

   protected DefaultPolicyPathBuilder(GuidBasedEntityManager<Policy> var1, HeaderBasedEntityFinder var2) {
      this.c = var1;
      this.d = var2;
   }

   @Override
   public Assertion inlineIncludes(Assertion param1, @Nullable Set<String> param2, boolean param3) throws PolicyAssertionException, InterruptedException {
      // $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:
      // 00: aload 1
      // 01: ldc com/l7tech/policy/assertion/Include
      // 03: invokestatic com/l7tech/policy/assertion/Assertion.contains (Lcom/l7tech/policy/assertion/Assertion;Ljava/lang/Class;)Z
      // 06: ifeq 5c
      // 09: aload 2
      // 0a: ifnonnull 22
      // 0d: goto 14
      // 10: invokestatic com/l7tech/policy/DefaultPolicyPathBuilder.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 13: athrow
      // 14: new java/util/HashSet
      // 17: dup
      // 18: invokespecial java/util/HashSet.<init> ()V
      // 1b: goto 23
      // 1e: invokestatic com/l7tech/policy/DefaultPolicyPathBuilder.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 21: athrow
      // 22: aload 2
      // 23: astore 5
      // 25: new com/l7tech/policy/IncludeAssertionDereferenceTranslator
      // 28: dup
      // 29: aload 0
      // 2a: getfield com/l7tech/policy/DefaultPolicyPathBuilder.c Lcom/l7tech/objectmodel/GuidBasedEntityManager;
      // 2d: aload 5
      // 2f: bipush 0
      // 30: iload 3
      // 31: invokespecial com/l7tech/policy/IncludeAssertionDereferenceTranslator.<init> (Lcom/l7tech/objectmodel/GuidBasedEntityManager;Ljava/util/Set;ZZ)V
      // 34: astore 6
      // 36: invokestatic com/l7tech/policy/wsp/WspReader.getDefault ()Lcom/l7tech/policy/wsp/WspReader;
      // 39: aload 1
      // 3a: invokestatic com/l7tech/policy/wsp/WspWriter.getPolicyXml (Lcom/l7tech/policy/assertion/Assertion;)Ljava/lang/String;
      // 3d: getstatic com/l7tech/policy/wsp/WspReader.INCLUDE_DISABLED Lcom/l7tech/policy/wsp/WspReader$Visibility;
      // 40: invokevirtual com/l7tech/policy/wsp/WspReader.parsePermissively (Ljava/lang/String;Lcom/l7tech/policy/wsp/WspReader$Visibility;)Lcom/l7tech/policy/assertion/Assertion;
      // 43: aload 6
      // 45: invokestatic com/l7tech/policy/assertion/Assertion.translate (Lcom/l7tech/policy/assertion/Assertion;Lcom/l7tech/policy/assertion/AssertionTranslator;)Lcom/l7tech/policy/assertion/Assertion;
      // 48: astore 4
      // 4a: goto 59
      // 4d: astore 7
      // 4f: new java/lang/RuntimeException
      // 52: dup
      // 53: aload 7
      // 55: invokespecial java/lang/RuntimeException.<init> (Ljava/lang/Throwable;)V
      // 58: athrow
      // 59: goto 5f
      // 5c: aload 1
      // 5d: astore 4
      // 5f: aload 4
      // 61: areturn
      // try (4 -> 13): 13 java/io/IOException
      // try (0 -> 6): 7 java/io/IOException
      // try (26 -> 34): 35 java/io/IOException
   }

   @Override
   public PolicyPathResult generate(Assertion var1, boolean var2, int var3) throws InterruptedException, PolicyAssertionException {
      Set var4 = this.a(var1, var2, var3);
      int var5 = 0;

      for (AssertionPath var7 : var4) {
         try {
            var7.setPathOrder(var5);
            if (a.isLoggable(Level.FINEST)) {
               a.finest(pathToString(var7));
            }
         } catch (InterruptedException var8) {
            throw a(var8);
         }

         try {
            if (Thread.interrupted()) {
               throw new InterruptedException();
            }
         } catch (InterruptedException var9) {
            throw a(var9);
         }

         var5++;
      }

      return new j(var4);
   }

   @Override
   public List<PolicyAssertionException> preProcessIncludeFragments(@Nullable Assertion var1) {
      ArrayList var2 = new ArrayList();
      IncludeAssertionDereferenceTranslator var3 = new IncludeAssertionDereferenceTranslator(this.c, new HashSet<>(), false, true);
      if (var1 instanceof CompositeAssertion var4) {
         List var5 = var4.getChildren();
         int var6 = var5.size();
         if (var6 > 0) {
            for (int var7 = 0; var7 < var6; var7++) {
               List var8 = this.preProcessIncludeFragments((Assertion)var5.get(var7));
               var2.addAll(var8);
            }
         }
      }

      try {
         var3.translate(var1);
      } catch (PolicyAssertionException var9) {
         var2.add(var9);
      }

      return var2;
   }

   private Set<AssertionPath> a(Assertion param1, boolean param2, int param3) throws InterruptedException, PolicyAssertionException, PolicyTooComplexException {
      // $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: invokestatic java/lang/System.currentTimeMillis ()J
      // 003: lstore 4
      // 005: new java/util/LinkedHashSet
      // 008: dup
      // 009: invokespecial java/util/LinkedHashSet.<init> ()V
      // 00c: astore 6
      // 00e: new java/util/ArrayList
      // 011: dup
      // 012: invokespecial java/util/ArrayList.<init> ()V
      // 015: astore 7
      // 017: iload 2
      // 018: ifeq 03e
      // 01b: aload 7
      // 01d: new com/l7tech/policy/IncludeAssertionDereferenceTranslator
      // 020: dup
      // 021: aload 0
      // 022: getfield com/l7tech/policy/DefaultPolicyPathBuilder.c Lcom/l7tech/objectmodel/GuidBasedEntityManager;
      // 025: new java/util/HashSet
      // 028: dup
      // 029: invokespecial java/util/HashSet.<init> ()V
      // 02c: bipush 0
      // 02d: bipush 0
      // 02e: invokespecial com/l7tech/policy/IncludeAssertionDereferenceTranslator.<init> (Lcom/l7tech/objectmodel/GuidBasedEntityManager;Ljava/util/Set;ZZ)V
      // 031: invokeinterface java/util/List.add (Ljava/lang/Object;)Z 2
      // 036: pop
      // 037: goto 03e
      // 03a: invokestatic com/l7tech/policy/DefaultPolicyPathBuilder.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 03d: athrow
      // 03e: aload 7
      // 040: new com/l7tech/policy/UsesEntitiesAtDesignTimeAssertionTranslator
      // 043: dup
      // 044: aload 0
      // 045: getfield com/l7tech/policy/DefaultPolicyPathBuilder.d Lcom/l7tech/objectmodel/HeaderBasedEntityFinder;
      // 048: invokespecial com/l7tech/policy/UsesEntitiesAtDesignTimeAssertionTranslator.<init> (Lcom/l7tech/objectmodel/HeaderBasedEntityFinder;)V
      // 04b: invokeinterface java/util/List.add (Ljava/lang/Object;)Z 2
      // 050: pop
      // 051: aload 1
      // 052: new com/l7tech/policy/ChainedAssertionTranslator
      // 055: dup
      // 056: aload 7
      // 058: invokespecial com/l7tech/policy/ChainedAssertionTranslator.<init> (Ljava/util/List;)V
      // 05b: invokevirtual com/l7tech/policy/assertion/Assertion.preorderIterator (Lcom/l7tech/policy/assertion/AssertionTranslator;)Ljava/util/Iterator;
      // 05e: astore 8
      // 060: new com/l7tech/policy/AssertionPath
      // 063: dup
      // 064: bipush 1
      // 065: anewarray 324
      // 068: dup
      // 069: bipush 0
      // 06a: aload 8
      // 06c: invokeinterface java/util/Iterator.next ()Ljava/lang/Object; 1
      // 071: checkcast com/l7tech/policy/assertion/Assertion
      // 074: aastore
      // 075: invokespecial com/l7tech/policy/AssertionPath.<init> ([Lcom/l7tech/policy/assertion/Assertion;)V
      // 078: astore 9
      // 07a: aload 6
      // 07c: aload 9
      // 07e: invokeinterface java/util/Set.add (Ljava/lang/Object;)Z 2
      // 083: pop
      // 084: aload 0
      // 085: getfield com/l7tech/policy/DefaultPolicyPathBuilder.e Ljava/util/Deque;
      // 088: aload 9
      // 08a: invokeinterface java/util/Deque.push (Ljava/lang/Object;)V 2
      // 08f: aload 8
      // 091: invokeinterface java/util/Iterator.hasNext ()Z 1
      // 096: ifeq 2f0
      // 099: invokestatic java/lang/Thread.interrupted ()Z
      // 09c: ifeq 0b2
      // 09f: goto 0a6
      // 0a2: invokestatic com/l7tech/policy/DefaultPolicyPathBuilder.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 0a5: athrow
      // 0a6: new java/lang/InterruptedException
      // 0a9: dup
      // 0aa: invokespecial java/lang/InterruptedException.<init> ()V
      // 0ad: athrow
      // 0ae: invokestatic com/l7tech/policy/DefaultPolicyPathBuilder.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 0b1: athrow
      // 0b2: aload 8
      // 0b4: invokeinterface java/util/Iterator.next ()Ljava/lang/Object; 1
      // 0b9: checkcast com/l7tech/policy/assertion/Assertion
      // 0bc: astore 10
      // 0be: aload 6
      // 0c0: invokeinterface java/util/Set.size ()I 1
      // 0c5: iload 3
      // 0c6: if_icmple 0dc
      // 0c9: new com/l7tech/policy/PolicyTooComplexException
      // 0cc: dup
      // 0cd: aload 10
      // 0cf: getstatic com/l7tech/policy/DefaultPolicyPathBuilder.g [Ljava/lang/String;
      // 0d2: bipush 1
      // 0d3: aaload
      // 0d4: invokespecial com/l7tech/policy/PolicyTooComplexException.<init> (Lcom/l7tech/policy/assertion/Assertion;Ljava/lang/String;)V
      // 0d7: athrow
      // 0d8: invokestatic com/l7tech/policy/DefaultPolicyPathBuilder.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 0db: athrow
      // 0dc: aload 10
      // 0de: invokestatic com/l7tech/policy/DefaultPolicyPathBuilder.a (Lcom/l7tech/policy/assertion/Assertion;)Z
      // 0e1: ifeq 20a
      // 0e4: aload 0
      // 0e5: getfield com/l7tech/policy/DefaultPolicyPathBuilder.e Ljava/util/Deque;
      // 0e8: invokeinterface java/util/Deque.peek ()Ljava/lang/Object; 1
      // 0ed: checkcast com/l7tech/policy/AssertionPath
      // 0f0: astore 11
      // 0f2: aload 10
      // 0f4: invokevirtual com/l7tech/policy/assertion/Assertion.getParent ()Lcom/l7tech/policy/assertion/composite/CompositeAssertion;
      // 0f7: invokevirtual com/l7tech/policy/assertion/composite/CompositeAssertion.getChildren ()Ljava/util/List;
      // 0fa: astore 12
      // 0fc: aload 12
      // 0fe: aload 12
      // 100: invokeinterface java/util/List.size ()I 1
      // 105: bipush 1
      // 106: isub
      // 107: invokeinterface java/util/List.get (I)Ljava/lang/Object; 2
      // 10c: aload 10
      // 10e: if_acmpne 119
      // 111: bipush 1
      // 112: goto 11a
      // 115: invokestatic com/l7tech/policy/DefaultPolicyPathBuilder.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 118: athrow
      // 119: bipush 0
      // 11a: istore 13
      // 11c: new java/util/LinkedHashSet
      // 11f: dup
      // 120: invokespecial java/util/LinkedHashSet.<init> ()V
      // 123: astore 14
      // 125: new java/util/HashSet
      // 128: dup
      // 129: invokespecial java/util/HashSet.<init> ()V
      // 12c: astore 15
      // 12e: aload 6
      // 130: invokeinterface java/util/Set.iterator ()Ljava/util/Iterator; 1
      // 135: astore 16
      // 137: aload 16
      // 139: invokeinterface java/util/Iterator.hasNext ()Z 1
      // 13e: ifeq 1a9
      // 141: aload 16
      // 143: invokeinterface java/util/Iterator.next ()Ljava/lang/Object; 1
      // 148: checkcast com/l7tech/policy/AssertionPath
      // 14b: astore 17
      // 14d: aload 17
      // 14f: aload 10
      // 151: invokevirtual com/l7tech/policy/assertion/Assertion.getParent ()Lcom/l7tech/policy/assertion/composite/CompositeAssertion;
      // 154: invokevirtual com/l7tech/policy/AssertionPath.contains (Lcom/l7tech/policy/assertion/Assertion;)Z
      // 157: ifeq 194
      // 15a: aload 17
      // 15c: aload 10
      // 15e: invokevirtual com/l7tech/policy/AssertionPath.containsSibling (Lcom/l7tech/policy/assertion/Assertion;)Z
      // 161: ifne 194
      // 164: goto 16b
      // 167: invokestatic com/l7tech/policy/DefaultPolicyPathBuilder.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 16a: athrow
      // 16b: aload 17
      // 16d: aload 10
      // 16f: invokevirtual com/l7tech/policy/AssertionPath.addAssertion (Lcom/l7tech/policy/assertion/Assertion;)Lcom/l7tech/policy/AssertionPath;
      // 172: astore 18
      // 174: iload 13
      // 176: ifeq 18a
      // 179: aload 15
      // 17b: aload 17
      // 17d: invokeinterface java/util/Set.add (Ljava/lang/Object;)Z 2
      // 182: pop
      // 183: goto 18a
      // 186: invokestatic com/l7tech/policy/DefaultPolicyPathBuilder.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 189: athrow
      // 18a: aload 14
      // 18c: aload 18
      // 18e: invokeinterface java/util/Set.add (Ljava/lang/Object;)Z 2
      // 193: pop
      // 194: invokestatic java/lang/Thread.interrupted ()Z
      // 197: ifeq 1a6
      // 19a: new java/lang/InterruptedException
      // 19d: dup
      // 19e: invokespecial java/lang/InterruptedException.<init> ()V
      // 1a1: athrow
      // 1a2: invokestatic com/l7tech/policy/DefaultPolicyPathBuilder.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 1a5: athrow
      // 1a6: goto 137
      // 1a9: aload 11
      // 1ab: aload 10
      // 1ad: invokevirtual com/l7tech/policy/AssertionPath.addAssertion (Lcom/l7tech/policy/assertion/Assertion;)Lcom/l7tech/policy/AssertionPath;
      // 1b0: astore 16
      // 1b2: aload 14
      // 1b4: aload 16
      // 1b6: invokeinterface java/util/Set.add (Ljava/lang/Object;)Z 2
      // 1bb: pop
      // 1bc: aload 6
      // 1be: aload 15
      // 1c0: invokeinterface java/util/Set.removeAll (Ljava/util/Collection;)Z 2
      // 1c5: pop
      // 1c6: aload 6
      // 1c8: aload 14
      // 1ca: invokeinterface java/util/Set.addAll (Ljava/util/Collection;)Z 2
      // 1cf: pop
      // 1d0: iload 13
      // 1d2: ifeq 1ed
      // 1d5: aload 0
      // 1d6: getfield com/l7tech/policy/DefaultPolicyPathBuilder.e Ljava/util/Deque;
      // 1d9: invokeinterface java/util/Deque.pop ()Ljava/lang/Object; 1
      // 1de: checkcast com/l7tech/policy/AssertionPath
      // 1e1: astore 17
      // 1e3: aload 6
      // 1e5: aload 17
      // 1e7: invokeinterface java/util/Set.remove (Ljava/lang/Object;)Z 2
      // 1ec: pop
      // 1ed: aload 10
      // 1ef: invokestatic com/l7tech/policy/DefaultPolicyPathBuilder.b (Lcom/l7tech/policy/assertion/Assertion;)Z
      // 1f2: ifeq 207
      // 1f5: aload 0
      // 1f6: getfield com/l7tech/policy/DefaultPolicyPathBuilder.e Ljava/util/Deque;
      // 1f9: aload 16
      // 1fb: invokeinterface java/util/Deque.push (Ljava/lang/Object;)V 2
      // 200: goto 207
      // 203: invokestatic com/l7tech/policy/DefaultPolicyPathBuilder.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 206: athrow
      // 207: goto 2ed
      // 20a: new java/util/LinkedHashSet
      // 20d: dup
      // 20e: invokespecial java/util/LinkedHashSet.<init> ()V
      // 211: astore 11
      // 213: new java/util/HashSet
      // 216: dup
      // 217: invokespecial java/util/HashSet.<init> ()V
      // 21a: astore 12
      // 21c: aload 6
      // 21e: invokeinterface java/util/Set.iterator ()Ljava/util/Iterator; 1
      // 223: astore 13
      // 225: aload 13
      // 227: invokeinterface java/util/Iterator.hasNext ()Z 1
      // 22c: ifeq 27a
      // 22f: aload 13
      // 231: invokeinterface java/util/Iterator.next ()Ljava/lang/Object; 1
      // 236: checkcast com/l7tech/policy/AssertionPath
      // 239: astore 14
      // 23b: aload 14
      // 23d: aload 10
      // 23f: invokevirtual com/l7tech/policy/assertion/Assertion.getParent ()Lcom/l7tech/policy/assertion/composite/CompositeAssertion;
      // 242: invokevirtual com/l7tech/policy/AssertionPath.contains (Lcom/l7tech/policy/assertion/Assertion;)Z
      // 245: ifeq 265
      // 248: aload 14
      // 24a: aload 10
      // 24c: invokevirtual com/l7tech/policy/AssertionPath.addAssertion (Lcom/l7tech/policy/assertion/Assertion;)Lcom/l7tech/policy/AssertionPath;
      // 24f: astore 15
      // 251: aload 11
      // 253: aload 15
      // 255: invokeinterface java/util/Set.add (Ljava/lang/Object;)Z 2
      // 25a: pop
      // 25b: aload 12
      // 25d: aload 14
      // 25f: invokeinterface java/util/Set.add (Ljava/lang/Object;)Z 2
      // 264: pop
      // 265: invokestatic java/lang/Thread.interrupted ()Z
      // 268: ifeq 277
      // 26b: new java/lang/InterruptedException
      // 26e: dup
      // 26f: invokespecial java/lang/InterruptedException.<init> ()V
      // 272: athrow
      // 273: invokestatic com/l7tech/policy/DefaultPolicyPathBuilder.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 276: athrow
      // 277: goto 225
      // 27a: aload 11
      // 27c: aload 11
      // 27e: invokeinterface java/util/Set.size ()I 1
      // 283: anewarray 346
      // 286: invokeinterface java/util/Set.toArray ([Ljava/lang/Object;)[Ljava/lang/Object; 2
      // 28b: checkcast [Lcom/l7tech/policy/AssertionPath;
      // 28e: astore 13
      // 290: aload 13
      // 292: arraylength
      // 293: ifle 2d9
      // 296: aload 13
      // 298: aload 13
      // 29a: arraylength
      // 29b: bipush 1
      // 29c: isub
      // 29d: aaload
      // 29e: astore 14
      // 2a0: aload 14
      // 2a2: invokevirtual com/l7tech/policy/AssertionPath.lastAssertion ()Lcom/l7tech/policy/assertion/Assertion;
      // 2a5: astore 15
      // 2a7: aload 15
      // 2a9: instanceof com/l7tech/policy/assertion/composite/OneOrMoreAssertion
      // 2ac: ifeq 2d9
      // 2af: aload 15
      // 2b1: checkcast com/l7tech/policy/assertion/composite/OneOrMoreAssertion
      // 2b4: astore 16
      // 2b6: aload 16
      // 2b8: invokevirtual com/l7tech/policy/assertion/composite/OneOrMoreAssertion.getChildren ()Ljava/util/List;
      // 2bb: astore 17
      // 2bd: aload 17
      // 2bf: invokeinterface java/util/List.isEmpty ()Z 1
      // 2c4: ifne 2d9
      // 2c7: aload 0
      // 2c8: getfield com/l7tech/policy/DefaultPolicyPathBuilder.e Ljava/util/Deque;
      // 2cb: aload 14
      // 2cd: invokeinterface java/util/Deque.push (Ljava/lang/Object;)V 2
      // 2d2: goto 2d9
      // 2d5: invokestatic com/l7tech/policy/DefaultPolicyPathBuilder.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 2d8: athrow
      // 2d9: aload 6
      // 2db: aload 12
      // 2dd: invokeinterface java/util/Set.removeAll (Ljava/util/Collection;)Z 2
      // 2e2: pop
      // 2e3: aload 6
      // 2e5: aload 11
      // 2e7: invokeinterface java/util/Set.addAll (Ljava/util/Collection;)Z 2
      // 2ec: pop
      // 2ed: goto 08f
      // 2f0: invokestatic java/lang/System.currentTimeMillis ()J
      // 2f3: lload 4
      // 2f5: lsub
      // 2f6: lstore 10
      // 2f8: lload 10
      // 2fa: ldc2_w 2000
      // 2fd: lcmp
      // 2fe: ifle 32e
      // 301: getstatic com/l7tech/policy/DefaultPolicyPathBuilder.b Ljava/util/logging/Logger;
      // 304: lload 10
      // 306: aload 6
      // 308: invokeinterface java/util/Set.size ()I 1
      // 30d: istore 19
      // 30f: lstore 20
      // 311: getstatic com/l7tech/policy/DefaultPolicyPathBuilder.g [Ljava/lang/String;
      // 314: astore 22
      // 316: aload 22
      // 318: bipush 2
      // 319: aaload
      // 31a: lload 20
      // 31c: aload 22
      // 31e: bipush 3
      // 31f: aaload
      // 320: iload 19
      // 322: aload 22
      // 324: bipush 4
      // 325: aaload
      // 326: invokedynamic makeConcatWithConstants (Ljava/lang/String;JLjava/lang/String;ILjava/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\u0001" ]
      // 32b: invokevirtual java/util/logging/Logger.info (Ljava/lang/String;)V
      // 32e: aload 6
      // 330: areturn
      // try (10 -> 25): 26 java/lang/InterruptedException
      // try (63 -> 68): 69 java/lang/InterruptedException
      // try (66 -> 75): 75 java/lang/InterruptedException
      // try (81 -> 93): 93 java/lang/InterruptedException
      // try (107 -> 117): 117 java/lang/InterruptedException
      // try (139 -> 148): 149 java/lang/InterruptedException
      // try (155 -> 161): 162 java/lang/InterruptedException
      // try (168 -> 174): 174 java/lang/InterruptedException
      // try (204 -> 211): 212 java/lang/InterruptedException
      // try (250 -> 256): 256 java/lang/InterruptedException
      // try (288 -> 295): 296 java/lang/InterruptedException
   }

   static boolean a(Assertion param0) {
      // $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:
      // 00: aload 0
      // 01: invokevirtual com/l7tech/policy/assertion/Assertion.getParent ()Lcom/l7tech/policy/assertion/composite/CompositeAssertion;
      // 04: astore 1
      // 05: aload 1
      // 06: ifnull 2a
      // 09: aload 1
      // 0a: instanceof com/l7tech/policy/assertion/composite/OneOrMoreAssertion
      // 0d: ifeq 32
      // 10: goto 17
      // 13: invokestatic com/l7tech/policy/DefaultPolicyPathBuilder.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 16: athrow
      // 17: aload 1
      // 18: invokevirtual com/l7tech/policy/assertion/composite/CompositeAssertion.getChildren ()Ljava/util/List;
      // 1b: invokeinterface java/util/List.isEmpty ()Z 1
      // 20: ifne 32
      // 23: goto 2a
      // 26: invokestatic com/l7tech/policy/DefaultPolicyPathBuilder.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 29: athrow
      // 2a: bipush 1
      // 2b: goto 33
      // 2e: invokestatic com/l7tech/policy/DefaultPolicyPathBuilder.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 31: athrow
      // 32: bipush 0
      // 33: ireturn
      // try (3 -> 8): 9 java/lang/RuntimeException
      // try (5 -> 15): 16 java/lang/RuntimeException
      // try (11 -> 20): 20 java/lang/RuntimeException
   }

   static boolean b(Assertion param0) {
      // $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:
      // 00: aload 0
      // 01: instanceof com/l7tech/policy/assertion/composite/OneOrMoreAssertion
      // 04: ifeq 25
      // 07: aload 0
      // 08: checkcast com/l7tech/policy/assertion/composite/OneOrMoreAssertion
      // 0b: invokevirtual com/l7tech/policy/assertion/composite/OneOrMoreAssertion.getChildren ()Ljava/util/List;
      // 0e: invokeinterface java/util/List.isEmpty ()Z 1
      // 13: ifne 25
      // 16: goto 1d
      // 19: invokestatic com/l7tech/policy/DefaultPolicyPathBuilder.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 1c: athrow
      // 1d: bipush 1
      // 1e: goto 26
      // 21: invokestatic com/l7tech/policy/DefaultPolicyPathBuilder.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 24: athrow
      // 25: bipush 0
      // 26: ireturn
      // try (0 -> 8): 9 java/lang/RuntimeException
      // try (3 -> 13): 13 java/lang/RuntimeException
   }

   public static String pathToString(AssertionPath var0) {
      String[] var1 = g;
      return a(var1[5], var1[0], var0);
   }

   private static String a(String param0, String param1, AssertionPath param2) {
      // $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:
      // 00: aload 2
      // 01: invokevirtual com/l7tech/policy/AssertionPath.getPath ()[Lcom/l7tech/policy/assertion/Assertion;
      // 04: astore 3
      // 05: new java/lang/StringBuffer
      // 08: dup
      // 09: aload 0
      // 0a: invokespecial java/lang/StringBuffer.<init> (Ljava/lang/String;)V
      // 0d: astore 4
      // 0f: bipush 0
      // 10: istore 5
      // 12: iload 5
      // 14: aload 3
      // 15: arraylength
      // 16: if_icmpge 8c
      // 19: aload 3
      // 1a: iload 5
      // 1c: aaload
      // 1d: instanceof com/l7tech/policy/assertion/composite/CompositeAssertion
      // 20: ifeq 66
      // 23: goto 2a
      // 26: invokestatic com/l7tech/policy/DefaultPolicyPathBuilder.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 29: athrow
      // 2a: aload 4
      // 2c: ldc ""
      // 2e: invokevirtual java/lang/StringBuffer.append (Ljava/lang/String;)Ljava/lang/StringBuffer;
      // 31: iload 5
      // 33: bipush 1
      // 34: iadd
      // 35: invokevirtual java/lang/StringBuffer.append (I)Ljava/lang/StringBuffer;
      // 38: ldc " "
      // 3a: invokevirtual java/lang/StringBuffer.append (Ljava/lang/String;)Ljava/lang/StringBuffer;
      // 3d: aload 3
      // 3e: iload 5
      // 40: aaload
      // 41: invokevirtual java/lang/Object.getClass ()Ljava/lang/Class;
      // 44: invokevirtual java/lang/Class.toString ()Ljava/lang/String;
      // 47: invokevirtual java/lang/StringBuffer.append (Ljava/lang/String;)Ljava/lang/StringBuffer;
      // 4a: bipush 64
      // 4c: invokevirtual java/lang/StringBuffer.append (C)Ljava/lang/StringBuffer;
      // 4f: aload 3
      // 50: iload 5
      // 52: aaload
      // 53: invokestatic java/lang/System.identityHashCode (Ljava/lang/Object;)I
      // 56: invokevirtual java/lang/StringBuffer.append (I)Ljava/lang/StringBuffer;
      // 59: ldc "\n"
      // 5b: invokevirtual java/lang/StringBuffer.append (Ljava/lang/String;)Ljava/lang/StringBuffer;
      // 5e: pop
      // 5f: goto 86
      // 62: invokestatic com/l7tech/policy/DefaultPolicyPathBuilder.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 65: athrow
      // 66: aload 4
      // 68: ldc ""
      // 6a: invokevirtual java/lang/StringBuffer.append (Ljava/lang/String;)Ljava/lang/StringBuffer;
      // 6d: iload 5
      // 6f: bipush 1
      // 70: iadd
      // 71: invokevirtual java/lang/StringBuffer.append (I)Ljava/lang/StringBuffer;
      // 74: ldc " "
      // 76: invokevirtual java/lang/StringBuffer.append (Ljava/lang/String;)Ljava/lang/StringBuffer;
      // 79: aload 3
      // 7a: iload 5
      // 7c: aaload
      // 7d: invokevirtual java/lang/StringBuffer.append (Ljava/lang/Object;)Ljava/lang/StringBuffer;
      // 80: ldc "\n"
      // 82: invokevirtual java/lang/StringBuffer.append (Ljava/lang/String;)Ljava/lang/StringBuffer;
      // 85: pop
      // 86: iinc 5 1
      // 89: goto 12
      // 8c: aload 4
      // 8e: aload 1
      // 8f: invokevirtual java/lang/StringBuffer.append (Ljava/lang/String;)Ljava/lang/StringBuffer;
      // 92: pop
      // 93: aload 4
      // 95: invokevirtual java/lang/StringBuffer.toString ()Ljava/lang/String;
      // 98: areturn
      // try (10 -> 19): 20 java/lang/RuntimeException
      // try (14 -> 48): 48 java/lang/RuntimeException
   }

   static {
      String[] var5 = new String[6];
      int var3 = 0;
      String var2 = "slj\u0005p'5859%l7|6(j0\u007f7}B\t)&)}:5-)%`},x)*/8>7zy'$!r:o<fgm>7z6f'!p:5)'>(mca14%5y+5-./`n,y0%3\u001a\t)&)}:5)'>(>!`0*.)p$5-)%+>\u000745j&q15";
      int var4 = "slj\u0005p'5859%l7|6(j0\u007f7}B\t)&)}:5-)%`},x)*/8>7zy'$!r:o<fgm>7z6f'!p:5)'>(mca14%5y+5-./`n,y0%3\u001a\t)&)}:5)'>(>!`0*.)p$5-)%+>\u000745j&q15"
         .length();
      char var1 = 21;
      int var7 = -1;

      label24:
      while (true) {
         byte var10000 = 119;
         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) {
                     g = var5;
                     b = Logger.getLogger(DefaultPolicyPathBuilder.class.getName());
                     return;
                  }

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

                  var2 = "|3.1sncum\u0018vio\u0007~!y2c.6h#b(* +;6q(+E";
                  var4 = "|3.1sncum\u0018vio\u0007~!y2c.6h#b(* +;6q(+E".length();
                  var1 = '\t';
                  var7 = -1;
            }

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

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

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

      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 -> 46;
            case 1 -> 49;
            case 2 -> 61;
            case 3 -> 55;
            case 4 -> 105;
            case 5 -> 52;
            default -> 98;
         });
      }

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