package com.l7tech.policy.validator;

import com.l7tech.policy.AssertionPath;
import com.l7tech.policy.PolicyValidatorResult;
import com.l7tech.policy.assertion.Assertion;
import java.util.List;

public class VariableSetValidator implements AssertionValidator {
   private final Assertion a;
   private final List<String> b;
   private final String c;
   private static final String[] d;

   @Override
   public void validate(AssertionPath var1, PolicyValidationContext var2, PolicyValidatorResult var3) {
      for (String var5 : this.b) {
         var3.addWarning(new PolicyValidatorResult.Warning(this.a, var5, null));
      }

      try {
         if (this.c != null) {
            var3.addError(new PolicyValidatorResult.Error(this.a, this.c, null));
         }
      } catch (IllegalArgumentException var6) {
         throw a(var6);
      }
   }

   VariableSetValidator(Assertion param1) {
      // $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: invokespecial java/lang/Object.<init> ()V
      // 04: new java/util/ArrayList
      // 07: dup
      // 08: invokespecial java/util/ArrayList.<init> ()V
      // 0b: astore 2
      // 0c: aconst_null
      // 0d: astore 3
      // 0e: aload 1
      // 0f: instanceof com/l7tech/policy/assertion/SetsVariables
      // 12: ifeq 90
      // 15: aload 1
      // 16: checkcast com/l7tech/policy/assertion/SetsVariables
      // 19: astore 4
      // 1b: aload 4
      // 1d: invokeinterface com/l7tech/policy/assertion/SetsVariables.getVariablesSet ()[Lcom/l7tech/policy/variable/VariableMetadata; 1
      // 22: astore 5
      // 24: aload 5
      // 26: astore 6
      // 28: aload 6
      // 2a: arraylength
      // 2b: istore 7
      // 2d: bipush 0
      // 2e: istore 8
      // 30: iload 8
      // 32: iload 7
      // 34: if_icmpge 85
      // 37: aload 6
      // 39: iload 8
      // 3b: aaload
      // 3c: astore 9
      // 3e: aload 9
      // 40: invokevirtual com/l7tech/policy/variable/VariableMetadata.getName ()Ljava/lang/String;
      // 43: invokestatic com/l7tech/policy/variable/BuiltinVariables.getMetadata (Ljava/lang/String;)Lcom/l7tech/policy/variable/VariableMetadata;
      // 46: astore 10
      // 48: aload 10
      // 4a: ifnull 7f
      // 4d: aload 10
      // 4f: invokevirtual com/l7tech/policy/variable/VariableMetadata.isSettable ()Z
      // 52: ifne 7f
      // 55: goto 5c
      // 58: invokestatic com/l7tech/policy/validator/VariableSetValidator.a (Ljava/lang/IllegalArgumentException;)Ljava/lang/IllegalArgumentException;
      // 5b: athrow
      // 5c: aload 2
      // 5d: aload 9
      // 5f: invokevirtual com/l7tech/policy/variable/VariableMetadata.getName ()Ljava/lang/String;
      // 62: getstatic com/l7tech/policy/validator/VariableSetValidator.d [Ljava/lang/String;
      // 65: bipush 2
      // 66: aaload
      // 67: swap
      // 68: getstatic com/l7tech/policy/validator/VariableSetValidator.d [Ljava/lang/String;
      // 6b: bipush 0
      // 6c: aaload
      // 6d: 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" ]
      // 72: invokeinterface java/util/List.add (Ljava/lang/Object;)Z 2
      // 77: pop
      // 78: goto 7f
      // 7b: invokestatic com/l7tech/policy/validator/VariableSetValidator.a (Ljava/lang/IllegalArgumentException;)Ljava/lang/IllegalArgumentException;
      // 7e: athrow
      // 7f: iinc 8 1
      // 82: goto 30
      // 85: goto 90
      // 88: astore 5
      // 8a: getstatic com/l7tech/policy/validator/VariableSetValidator.d [Ljava/lang/String;
      // 8d: bipush 1
      // 8e: aaload
      // 8f: astore 3
      // 90: aload 0
      // 91: aload 1
      // 92: putfield com/l7tech/policy/validator/VariableSetValidator.a Lcom/l7tech/policy/assertion/Assertion;
      // 95: aload 0
      // 96: aload 2
      // 97: putfield com/l7tech/policy/validator/VariableSetValidator.b Ljava/util/List;
      // 9a: aload 0
      // 9b: aload 3
      // 9c: putfield com/l7tech/policy/validator/VariableSetValidator.c Ljava/lang/String;
      // 9f: return
      // try (37 -> 56): 57 java/lang/IllegalArgumentException
      // try (35 -> 40): 41 java/lang/IllegalArgumentException
      // try (14 -> 61): 62 java/lang/IllegalArgumentException
   }

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

   static {
      String[] var5 = new String[3];
      int var3 = 0;
      String var2 = "WpB\u001e46W\u0004pX\b`,Y\u0012<NC,$8B\u001e49K\u00035Y\u0019}7VP%X\bgxQ\u001e&J\u0001}<\u0018\u00061Y\u0004u:T\u0015pX\u0014z,Y\b~\u0012$1Y\nq,\u0018&1Y\u0004u:T\u0015j\u000bJ";
      int var4 = "WpB\u001e46W\u0004pX\b`,Y\u0012<NC,$8B\u001e49K\u00035Y\u0019}7VP%X\bgxQ\u001e&J\u0001}<\u0018\u00061Y\u0004u:T\u0015pX\u0014z,Y\b~\u0012$1Y\nq,\u0018&1Y\u0004u:T\u0015j\u000bJ"
         .length();
      char var1 = 18;
      int var0 = -1;

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

         var1 = var2.charAt(var0);
      }
   }

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

      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 -> 107;
            case 1 -> 75;
            case 2 -> 48;
            case 3 -> 118;
            case 4 -> 15;
            case 5 -> 67;
            default -> 35;
         });
      }

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