package com.l7tech.policy.validator;

import com.l7tech.policy.assertion.AddHeaderAssertion;
import com.l7tech.policy.variable.VariableNameSyntaxException;

public class AddHeaderAssertionValidator extends AssertionValidatorSupport<AddHeaderAssertion> {
   private static final String[] d;

   public AddHeaderAssertionValidator(AddHeaderAssertion 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: aload 1
      // 02: invokespecial com/l7tech/policy/validator/AssertionValidatorSupport.<init> (Lcom/l7tech/policy/assertion/Assertion;)V
      // 05: aload 1
      // 06: invokevirtual com/l7tech/policy/assertion/AddHeaderAssertion.getHeaderName ()Ljava/lang/String;
      // 09: astore 2
      // 0a: aload 1
      // 0b: invokevirtual com/l7tech/policy/assertion/AddHeaderAssertion.getHeaderValue ()Ljava/lang/String;
      // 0e: astore 3
      // 0f: aload 2
      // 10: ifnull 25
      // 13: aload 2
      // 14: invokevirtual java/lang/String.trim ()Ljava/lang/String;
      // 17: invokevirtual java/lang/String.length ()I
      // 1a: bipush 1
      // 1b: if_icmpge 35
      // 1e: goto 25
      // 21: invokestatic com/l7tech/policy/validator/AddHeaderAssertionValidator.a (Lcom/l7tech/policy/variable/VariableNameSyntaxException;)Lcom/l7tech/policy/variable/VariableNameSyntaxException;
      // 24: athrow
      // 25: aload 0
      // 26: getstatic com/l7tech/policy/validator/AddHeaderAssertionValidator.d [Ljava/lang/String;
      // 29: bipush 2
      // 2a: aaload
      // 2b: invokevirtual com/l7tech/policy/validator/AddHeaderAssertionValidator.addMessage (Ljava/lang/String;)V
      // 2e: goto 86
      // 31: invokestatic com/l7tech/policy/validator/AddHeaderAssertionValidator.a (Lcom/l7tech/policy/variable/VariableNameSyntaxException;)Lcom/l7tech/policy/variable/VariableNameSyntaxException;
      // 34: athrow
      // 35: aload 2
      // 36: invokevirtual java/lang/String.trim ()Ljava/lang/String;
      // 39: aload 2
      // 3a: invokevirtual java/lang/String.equals (Ljava/lang/Object;)Z
      // 3d: ifne 50
      // 40: aload 0
      // 41: getstatic com/l7tech/policy/validator/AddHeaderAssertionValidator.d [Ljava/lang/String;
      // 44: bipush 4
      // 45: aaload
      // 46: invokevirtual com/l7tech/policy/validator/AddHeaderAssertionValidator.addMessage (Ljava/lang/String;)V
      // 49: goto 86
      // 4c: invokestatic com/l7tech/policy/validator/AddHeaderAssertionValidator.a (Lcom/l7tech/policy/variable/VariableNameSyntaxException;)Lcom/l7tech/policy/variable/VariableNameSyntaxException;
      // 4f: athrow
      // 50: aload 2
      // 51: invokestatic com/l7tech/policy/variable/Syntax.getReferencedNames (Ljava/lang/String;)[Ljava/lang/String;
      // 54: arraylength
      // 55: bipush 1
      // 56: if_icmpge 81
      // 59: aload 2
      // 5a: invokestatic com/l7tech/util/ValidationUtils.isValidMimeHeaderName (Ljava/lang/String;)Z
      // 5d: ifne 81
      // 60: goto 67
      // 63: invokestatic com/l7tech/policy/validator/AddHeaderAssertionValidator.a (Lcom/l7tech/policy/variable/VariableNameSyntaxException;)Lcom/l7tech/policy/variable/VariableNameSyntaxException;
      // 66: athrow
      // 67: aload 0
      // 68: aload 2
      // 69: invokestatic com/l7tech/util/ValidationUtils.getMimeHeaderNameMessage (Ljava/lang/String;)Ljava/lang/String;
      // 6c: getstatic com/l7tech/policy/validator/AddHeaderAssertionValidator.d [Ljava/lang/String;
      // 6f: bipush 0
      // 70: aaload
      // 71: swap
      // 72: 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" ]
      // 77: invokevirtual com/l7tech/policy/validator/AddHeaderAssertionValidator.addMessage (Ljava/lang/String;)V
      // 7a: goto 81
      // 7d: invokestatic com/l7tech/policy/validator/AddHeaderAssertionValidator.a (Lcom/l7tech/policy/variable/VariableNameSyntaxException;)Lcom/l7tech/policy/variable/VariableNameSyntaxException;
      // 80: athrow
      // 81: goto 86
      // 84: astore 4
      // 86: aload 3
      // 87: ifnonnull 9a
      // 8a: aload 0
      // 8b: getstatic com/l7tech/policy/validator/AddHeaderAssertionValidator.d [Ljava/lang/String;
      // 8e: bipush 1
      // 8f: aaload
      // 90: invokevirtual com/l7tech/policy/validator/AddHeaderAssertionValidator.addMessage (Ljava/lang/String;)V
      // 93: goto eb
      // 96: invokestatic com/l7tech/policy/validator/AddHeaderAssertionValidator.a (Lcom/l7tech/policy/variable/VariableNameSyntaxException;)Lcom/l7tech/policy/variable/VariableNameSyntaxException;
      // 99: athrow
      // 9a: aload 3
      // 9b: invokevirtual java/lang/String.trim ()Ljava/lang/String;
      // 9e: aload 3
      // 9f: invokevirtual java/lang/String.equals (Ljava/lang/Object;)Z
      // a2: ifne b5
      // a5: aload 0
      // a6: getstatic com/l7tech/policy/validator/AddHeaderAssertionValidator.d [Ljava/lang/String;
      // a9: bipush 5
      // aa: aaload
      // ab: invokevirtual com/l7tech/policy/validator/AddHeaderAssertionValidator.addWarningMessage (Ljava/lang/String;)V
      // ae: goto eb
      // b1: invokestatic com/l7tech/policy/validator/AddHeaderAssertionValidator.a (Lcom/l7tech/policy/variable/VariableNameSyntaxException;)Lcom/l7tech/policy/variable/VariableNameSyntaxException;
      // b4: athrow
      // b5: aload 3
      // b6: invokestatic com/l7tech/policy/variable/Syntax.getReferencedNames (Ljava/lang/String;)[Ljava/lang/String;
      // b9: arraylength
      // ba: bipush 1
      // bb: if_icmpge e6
      // be: aload 3
      // bf: invokestatic com/l7tech/util/ValidationUtils.isValidMimeHeaderValue (Ljava/lang/String;)Z
      // c2: ifne e6
      // c5: goto cc
      // c8: invokestatic com/l7tech/policy/validator/AddHeaderAssertionValidator.a (Lcom/l7tech/policy/variable/VariableNameSyntaxException;)Lcom/l7tech/policy/variable/VariableNameSyntaxException;
      // cb: athrow
      // cc: aload 0
      // cd: aload 2
      // ce: invokestatic com/l7tech/util/ValidationUtils.getMimeHeaderValueMessage (Ljava/lang/String;)Ljava/lang/String;
      // d1: getstatic com/l7tech/policy/validator/AddHeaderAssertionValidator.d [Ljava/lang/String;
      // d4: bipush 3
      // d5: aaload
      // d6: swap
      // d7: 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" ]
      // dc: invokevirtual com/l7tech/policy/validator/AddHeaderAssertionValidator.addWarningMessage (Ljava/lang/String;)V
      // df: goto e6
      // e2: invokestatic com/l7tech/policy/validator/AddHeaderAssertionValidator.a (Lcom/l7tech/policy/variable/VariableNameSyntaxException;)Lcom/l7tech/policy/variable/VariableNameSyntaxException;
      // e5: athrow
      // e6: goto eb
      // e9: astore 4
      // eb: return
      // try (45 -> 60): 61 com/l7tech/policy/variable/VariableNameSyntaxException
      // try (40 -> 48): 49 com/l7tech/policy/variable/VariableNameSyntaxException
      // try (27 -> 38): 38 com/l7tech/policy/variable/VariableNameSyntaxException
      // try (11 -> 25): 25 com/l7tech/policy/variable/VariableNameSyntaxException
      // try (9 -> 16): 17 com/l7tech/policy/variable/VariableNameSyntaxException
      // try (40 -> 63): 64 com/l7tech/policy/variable/VariableNameSyntaxException
      // try (93 -> 108): 109 com/l7tech/policy/variable/VariableNameSyntaxException
      // try (88 -> 96): 97 com/l7tech/policy/variable/VariableNameSyntaxException
      // try (75 -> 86): 86 com/l7tech/policy/variable/VariableNameSyntaxException
      // try (65 -> 73): 73 com/l7tech/policy/variable/VariableNameSyntaxException
      // try (88 -> 111): 112 com/l7tech/policy/variable/VariableNameSyntaxException
   }

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

   static {
      String[] var5 = new String[6];
      int var3 = 0;
      String var2 = "\tF\u0005P\u000f\u001cG/B\tQJ\u0007\u0014aM\u000b@J\u0018\u0006-J\u0000\u000eJ\u000e\u0017B\bA\u000fN\u000e2\u0003\nA\u0006\u0002I\u0015\tF\u0005P\u000f\u001cG/B\tQJ\u0007\u0014aF\tD\u001e\u0017I(\u0017B\bA\u000fN\u000e2\u0003\n[\u001eN\u0006aU\u0005X\u0003\nG\fj)qJ\u0006\u0002 G\u0001FJ\u0018\u0006-V\u0001\u000eJ";
      int var4 = "\tF\u0005P\u000f\u001cG/B\tQJ\u0007\u0014aM\u000b@J\u0018\u0006-J\u0000\u000eJ\u000e\u0017B\bA\u000fN\u000e2\u0003\nA\u0006\u0002I\u0015\tF\u0005P\u000f\u001cG/B\tQJ\u0007\u0014aF\tD\u001e\u0017I(\u0017B\bA\u000fN\u000e2\u0003\n[\u001eN\u0006aU\u0005X\u0003\nG\fj)qJ\u0006\u0002 G\u0001FJ\u0018\u0006-V\u0001\u000eJ"
         .length();
      char var1 = 26;
      int var7 = -1;

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

         while (true) {
            String var8 = a(var10000, b(var10001));
            switch (var10002) {
               case 0:
                  var5[var3++] = var8;
                  if ((var7 += var1) >= var4) {
                     d = var5;
                     return;
                  }

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

                  var2 = "i&e0o|'O\"i1*ffRch1kjnO$$;x.sS\"m8c``\u00014l=~ktQ\"g1$)w\"h!o.o@0$8oocH-cte|'U1e=fgiFcs<czbR3e7o ";
                  var4 = "i&e0o|'O\"i1*ffRch1kjnO$$;x.sS\"m8c``\u00014l=~ktQ\"g1$)w\"h!o.o@0$8oocH-cte|'U1e=fgiFcs<czbR3e7o ".length();
                  var1 = '/';
                  var7 = -1;
            }

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

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

      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 -> 15;
            case 1 -> 109;
            case 2 -> 42;
            case 3 -> 122;
            case 4 -> 36;
            case 5 -> 32;
            default -> 41;
         });
      }

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