package com.l7tech.server.policy.variable;

import com.l7tech.policy.variable.Syntax.SyntaxErrorHandler;
import com.l7tech.util.ByteGen;
import java.util.regex.Pattern;

public class ByteGenSelector implements ExpandVariables.Selector<ByteGen> {
   static final String a;
   static final int b = 10485760;
   private static final String c;
   private static final String d;
   private static final String e;
   private static final String f;
   private static final String g;
   private static final Pattern h;
   private static final String[] i;

   public ExpandVariables.Selector.Selection select(String param1, ByteGen param2, String param3, SyntaxErrorHandler param4, boolean param5) {
      // $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: getstatic com/l7tech/server/policy/variable/ByteGenSelector.h Ljava/util/regex/Pattern;
      // 003: aload 3
      // 004: invokevirtual java/util/regex/Pattern.matcher (Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
      // 007: astore 6
      // 009: aload 6
      // 00b: invokevirtual java/util/regex/Matcher.matches ()Z
      // 00e: ifeq 1af
      // 011: aload 6
      // 013: bipush 1
      // 014: invokevirtual java/util/regex/Matcher.group (I)Ljava/lang/String;
      // 017: astore 7
      // 019: aload 6
      // 01b: bipush 2
      // 01c: invokevirtual java/util/regex/Matcher.group (I)Ljava/lang/String;
      // 01f: astore 8
      // 021: bipush 32
      // 023: istore 9
      // 025: aload 7
      // 027: ifnull 0f0
      // 02a: aload 7
      // 02c: invokevirtual java/lang/String.length ()I
      // 02f: ifle 0f0
      // 032: goto 039
      // 035: invokestatic com/l7tech/server/policy/variable/ByteGenSelector.a (Ljava/lang/NumberFormatException;)Ljava/lang/NumberFormatException;
      // 038: athrow
      // 039: aload 7
      // 03b: invokestatic java/lang/Integer.parseInt (Ljava/lang/String;)I
      // 03e: istore 9
      // 040: getstatic com/l7tech/server/policy/variable/ByteGenSelector.i [Ljava/lang/String;
      // 043: astore 12
      // 045: aload 12
      // 047: bipush 11
      // 049: aaload
      // 04a: ldc 10485760
      // 04c: invokestatic com/l7tech/util/ConfigFactory.getIntProperty (Ljava/lang/String;I)I
      // 04f: istore 10
      // 051: iload 9
      // 053: bipush 1
      // 054: if_icmpge 084
      // 057: aload 4
      // 059: aload 3
      // 05a: aload 12
      // 05c: bipush 12
      // 05e: aaload
      // 05f: 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" ]
      // 064: invokeinterface com/l7tech/policy/variable/Syntax$SyntaxErrorHandler.handleBadVariable (Ljava/lang/String;)Ljava/lang/String; 2
      // 069: astore 11
      // 06b: iload 5
      // 06d: ifeq 07e
      // 070: new java/lang/IllegalArgumentException
      // 073: dup
      // 074: aload 11
      // 076: invokespecial java/lang/IllegalArgumentException.<init> (Ljava/lang/String;)V
      // 079: athrow
      // 07a: invokestatic com/l7tech/server/policy/variable/ByteGenSelector.a (Ljava/lang/NumberFormatException;)Ljava/lang/NumberFormatException;
      // 07d: athrow
      // 07e: bipush 1
      // 07f: istore 9
      // 081: goto 0bf
      // 084: iload 9
      // 086: iload 10
      // 088: if_icmple 0bf
      // 08b: aload 4
      // 08d: aload 3
      // 08e: iload 10
      // 090: getstatic com/l7tech/server/policy/variable/ByteGenSelector.i [Ljava/lang/String;
      // 093: astore 12
      // 095: aload 12
      // 097: bipush 0
      // 098: aaload
      // 099: swap
      // 09a: ldc "."
      // 09c: invokedynamic makeConcatWithConstants (Ljava/lang/String;Ljava/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" ]
      // 0a1: invokeinterface com/l7tech/policy/variable/Syntax$SyntaxErrorHandler.handleBadVariable (Ljava/lang/String;)Ljava/lang/String; 2
      // 0a6: astore 11
      // 0a8: iload 5
      // 0aa: ifeq 0bb
      // 0ad: new java/lang/IllegalArgumentException
      // 0b0: dup
      // 0b1: aload 11
      // 0b3: invokespecial java/lang/IllegalArgumentException.<init> (Ljava/lang/String;)V
      // 0b6: athrow
      // 0b7: invokestatic com/l7tech/server/policy/variable/ByteGenSelector.a (Ljava/lang/NumberFormatException;)Ljava/lang/NumberFormatException;
      // 0ba: athrow
      // 0bb: iload 10
      // 0bd: istore 9
      // 0bf: goto 0f0
      // 0c2: astore 10
      // 0c4: aload 4
      // 0c6: aload 3
      // 0c7: getstatic com/l7tech/server/policy/variable/ByteGenSelector.i [Ljava/lang/String;
      // 0ca: astore 12
      // 0cc: aload 12
      // 0ce: bipush 14
      // 0d0: aaload
      // 0d1: 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" ]
      // 0d6: invokeinterface com/l7tech/policy/variable/Syntax$SyntaxErrorHandler.handleBadVariable (Ljava/lang/String;)Ljava/lang/String; 2
      // 0db: astore 11
      // 0dd: iload 5
      // 0df: ifeq 0f0
      // 0e2: new java/lang/IllegalArgumentException
      // 0e5: dup
      // 0e6: aload 11
      // 0e8: invokespecial java/lang/IllegalArgumentException.<init> (Ljava/lang/String;)V
      // 0eb: athrow
      // 0ec: invokestatic com/l7tech/server/policy/variable/ByteGenSelector.a (Ljava/lang/NumberFormatException;)Ljava/lang/NumberFormatException;
      // 0ef: athrow
      // 0f0: iload 9
      // 0f2: newarray 8
      // 0f4: astore 10
      // 0f6: aload 2
      // 0f7: aload 10
      // 0f9: bipush 0
      // 0fa: iload 9
      // 0fc: invokeinterface com/l7tech/util/ByteGen.generateBytes ([BII)V 4
      // 101: aload 8
      // 103: invokevirtual java/lang/String.isEmpty ()Z
      // 106: ifne 11e
      // 109: getstatic com/l7tech/server/policy/variable/ByteGenSelector.i [Ljava/lang/String;
      // 10c: bipush 8
      // 10e: aaload
      // 10f: aload 8
      // 111: invokevirtual java/lang/String.equalsIgnoreCase (Ljava/lang/String;)Z
      // 114: ifeq 12f
      // 117: goto 11e
      // 11a: invokestatic com/l7tech/server/policy/variable/ByteGenSelector.a (Ljava/lang/NumberFormatException;)Ljava/lang/NumberFormatException;
      // 11d: athrow
      // 11e: new com/l7tech/server/policy/variable/ExpandVariables$Selector$Selection
      // 121: dup
      // 122: aload 10
      // 124: invokestatic com/l7tech/util/HexUtils.hexDump ([B)Ljava/lang/String;
      // 127: invokespecial com/l7tech/server/policy/variable/ExpandVariables$Selector$Selection.<init> (Ljava/lang/Object;)V
      // 12a: areturn
      // 12b: invokestatic com/l7tech/server/policy/variable/ByteGenSelector.a (Ljava/lang/NumberFormatException;)Ljava/lang/NumberFormatException;
      // 12e: athrow
      // 12f: getstatic com/l7tech/server/policy/variable/ByteGenSelector.i [Ljava/lang/String;
      // 132: bipush 5
      // 133: aaload
      // 134: aload 8
      // 136: invokevirtual java/lang/String.equalsIgnoreCase (Ljava/lang/String;)Z
      // 139: ifeq 14e
      // 13c: new com/l7tech/server/policy/variable/ExpandVariables$Selector$Selection
      // 13f: dup
      // 140: aload 10
      // 142: bipush 1
      // 143: invokestatic com/l7tech/util/HexUtils.encodeBase64 ([BZ)Ljava/lang/String;
      // 146: invokespecial com/l7tech/server/policy/variable/ExpandVariables$Selector$Selection.<init> (Ljava/lang/Object;)V
      // 149: areturn
      // 14a: invokestatic com/l7tech/server/policy/variable/ByteGenSelector.a (Ljava/lang/NumberFormatException;)Ljava/lang/NumberFormatException;
      // 14d: athrow
      // 14e: getstatic com/l7tech/server/policy/variable/ByteGenSelector.i [Ljava/lang/String;
      // 151: bipush 3
      // 152: aaload
      // 153: aload 8
      // 155: invokevirtual java/lang/String.equalsIgnoreCase (Ljava/lang/String;)Z
      // 158: ifeq 169
      // 15b: new com/l7tech/server/policy/variable/ExpandVariables$Selector$Selection
      // 15e: dup
      // 15f: aload 10
      // 161: invokespecial com/l7tech/server/policy/variable/ExpandVariables$Selector$Selection.<init> (Ljava/lang/Object;)V
      // 164: areturn
      // 165: invokestatic com/l7tech/server/policy/variable/ByteGenSelector.a (Ljava/lang/NumberFormatException;)Ljava/lang/NumberFormatException;
      // 168: athrow
      // 169: getstatic com/l7tech/server/policy/variable/ByteGenSelector.i [Ljava/lang/String;
      // 16c: bipush 15
      // 16e: aaload
      // 16f: aload 8
      // 171: invokevirtual java/lang/String.equalsIgnoreCase (Ljava/lang/String;)Z
      // 174: ifeq 18c
      // 177: new com/l7tech/server/policy/variable/ExpandVariables$Selector$Selection
      // 17a: dup
      // 17b: new java/math/BigInteger
      // 17e: dup
      // 17f: aload 10
      // 181: invokespecial java/math/BigInteger.<init> ([B)V
      // 184: invokespecial com/l7tech/server/policy/variable/ExpandVariables$Selector$Selection.<init> (Ljava/lang/Object;)V
      // 187: areturn
      // 188: invokestatic com/l7tech/server/policy/variable/ByteGenSelector.a (Ljava/lang/NumberFormatException;)Ljava/lang/NumberFormatException;
      // 18b: athrow
      // 18c: getstatic com/l7tech/server/policy/variable/ByteGenSelector.i [Ljava/lang/String;
      // 18f: bipush 2
      // 190: aaload
      // 191: aload 8
      // 193: invokevirtual java/lang/String.equalsIgnoreCase (Ljava/lang/String;)Z
      // 196: ifeq 1af
      // 199: new com/l7tech/server/policy/variable/ExpandVariables$Selector$Selection
      // 19c: dup
      // 19d: new java/math/BigInteger
      // 1a0: dup
      // 1a1: bipush 1
      // 1a2: aload 10
      // 1a4: invokespecial java/math/BigInteger.<init> (I[B)V
      // 1a7: invokespecial com/l7tech/server/policy/variable/ExpandVariables$Selector$Selection.<init> (Ljava/lang/Object;)V
      // 1aa: areturn
      // 1ab: invokestatic com/l7tech/server/policy/variable/ByteGenSelector.a (Ljava/lang/NumberFormatException;)Ljava/lang/NumberFormatException;
      // 1ae: athrow
      // 1af: aload 4
      // 1b1: aload 3
      // 1b2: getstatic com/l7tech/server/policy/variable/ByteGenSelector.i [Ljava/lang/String;
      // 1b5: bipush 6
      // 1b7: aaload
      // 1b8: 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" ]
      // 1bd: invokeinterface com/l7tech/policy/variable/Syntax$SyntaxErrorHandler.handleBadVariable (Ljava/lang/String;)Ljava/lang/String; 2
      // 1c2: astore 7
      // 1c4: iload 5
      // 1c6: ifeq 1d7
      // 1c9: new java/lang/IllegalArgumentException
      // 1cc: dup
      // 1cd: aload 7
      // 1cf: invokespecial java/lang/IllegalArgumentException.<init> (Ljava/lang/String;)V
      // 1d2: athrow
      // 1d3: invokestatic com/l7tech/server/policy/variable/ByteGenSelector.a (Ljava/lang/NumberFormatException;)Ljava/lang/NumberFormatException;
      // 1d6: athrow
      // 1d7: getstatic com/l7tech/server/policy/variable/ByteGenSelector.NOT_PRESENT Lcom/l7tech/server/policy/variable/ExpandVariables$Selector$Selection;
      // 1da: areturn
      // try (75 -> 82): 82 java/lang/NumberFormatException
      // try (47 -> 54): 54 java/lang/NumberFormatException
      // try (17 -> 22): 23 java/lang/NumberFormatException
      // try (25 -> 86): 87 java/lang/NumberFormatException
      // try (98 -> 105): 105 java/lang/NumberFormatException
      // try (110 -> 124): 125 java/lang/NumberFormatException
      // try (118 -> 133): 133 java/lang/NumberFormatException
      // try (135 -> 148): 148 java/lang/NumberFormatException
      // try (150 -> 161): 161 java/lang/NumberFormatException
      // try (163 -> 177): 177 java/lang/NumberFormatException
      // try (179 -> 194): 194 java/lang/NumberFormatException
      // try (204 -> 211): 211 java/lang/NumberFormatException
   }

   @Override
   public Class<ByteGen> getContextObjectClass() {
      return ByteGen.class;
   }

   static {
      String[] var5 = new String[17];
      int var3 = 0;
      String var2 = "WF\u00044+h\\\u0003EK!nd@\u0005A\u001f)y$\u0005Wi\u00050jfL\u0013\u0000\t?\u007fo\u0005\u0014O\u001e(\u007f1\u0005\u001aU\u00182+h@WL\u000e5x*Q\u001fA\u0005f\b\u0002N\u0018/ld@\u0013\b\u0002N\u0018/ld@\u0013\u0006\u0015I\u0005'ys2\u0014O\u0006hg=Q\u0012C\u0003hxoW\u0001E\u0019h{eI\u001eC\u0012h}kW\u001eA\t*n$g\u000eT\u000e\u0001nd\u000b\u001aA\u0013\u0004r~@\u0004\u0006\u0015A\u0018#=>UWF\u00044+h\\\u0003EK!nd@\u0005A\u001f)y$\u0005\"N\u0019#heB\u0019I\u0011#o*V\u0002F\r/s1\u0005\u001aU\u00182+h@W\u000e\u0003#s&\u0005YB]r+eWW\u000e\t/ekW\u000e\u0000\u00044+$\u0019\u0019U\u0006x%b@\u000f\u0007\u001eN\u001f#loW\u0003\u001fE\u0013\u0006\u0015I\u0005'ys\u0006\u0015A\u0018#=>2\u0014O\u0006hg=Q\u0012C\u0003hxoW\u0001E\u0019h{eI\u001eC\u0012h}kW\u001eA\t*n$g\u000eT\u000e\u0001nd\u000b\u001aA\u0013\u0004r~@\u0004;WF\u00044+h\\\u0003EK!nd@\u0005A\u001f)y$\u0005Wi\u00050jfL\u0013\u0000\t?\u007fo\u0005\u0014O\u001e(\u007f1\u0005\u001aU\u00182+h@WP\u00045b~L\u0001EE\u0003\u001fE\u0013AWF\u00044+h\\\u0003EK!nd@\u0005A\u001f)y$\u0005Wi\u00050jfL\u0013\u0000\t?\u007fo\u0005\u0014O\u001e(\u007f1\u0005\u001aU\u00182+h@WAK0jfL\u0013\u0000\u00053fh@\u0005\u000e";
      int var4 = "WF\u00044+h\\\u0003EK!nd@\u0005A\u001f)y$\u0005Wi\u00050jfL\u0013\u0000\t?\u007fo\u0005\u0014O\u001e(\u007f1\u0005\u001aU\u00182+h@WL\u000e5x*Q\u001fA\u0005f\b\u0002N\u0018/ld@\u0013\b\u0002N\u0018/ld@\u0013\u0006\u0015I\u0005'ys2\u0014O\u0006hg=Q\u0012C\u0003hxoW\u0001E\u0019h{eI\u001eC\u0012h}kW\u001eA\t*n$g\u000eT\u000e\u0001nd\u000b\u001aA\u0013\u0004r~@\u0004\u0006\u0015A\u0018#=>UWF\u00044+h\\\u0003EK!nd@\u0005A\u001f)y$\u0005\"N\u0019#heB\u0019I\u0011#o*V\u0002F\r/s1\u0005\u001aU\u00182+h@W\u000e\u0003#s&\u0005YB]r+eWW\u000e\t/ekW\u000e\u0000\u00044+$\u0019\u0019U\u0006x%b@\u000f\u0007\u001eN\u001f#loW\u0003\u001fE\u0013\u0006\u0015I\u0005'ys\u0006\u0015A\u0018#=>2\u0014O\u0006hg=Q\u0012C\u0003hxoW\u0001E\u0019h{eI\u001eC\u0012h}kW\u001eA\t*n$g\u000eT\u000e\u0001nd\u000b\u001aA\u0013\u0004r~@\u0004;WF\u00044+h\\\u0003EK!nd@\u0005A\u001f)y$\u0005Wi\u00050jfL\u0013\u0000\t?\u007fo\u0005\u0014O\u001e(\u007f1\u0005\u001aU\u00182+h@WP\u00045b~L\u0001EE\u0003\u001fE\u0013AWF\u00044+h\\\u0003EK!nd@\u0005A\u001f)y$\u0005Wi\u00050jfL\u0013\u0000\t?\u007fo\u0005\u0014O\u001e(\u007f1\u0005\u001aU\u00182+h@WAK0jfL\u0013\u0000\u00053fh@\u0005\u000e"
         .length();
      char var1 = '<';
      int var7 = -1;

      label24:
      while (true) {
         byte var10000 = 50;
         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) {
                     i = var5;
                     String[] var9 = i;
                     f = i[7];
                     g = var9[1];
                     e = var9[9];
                     d = var9[10];
                     a = var9[4];
                     c = var9[13];
                     h = Pattern.compile(i[16]);
                     return;
                  }

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

                  var2 = "\u0005U\u00048wtL&2\u0013Og8MZG\u0012Xb*M\u0010\u0010\u001fYt/9e\r\u0016\n\u001c=K\u000eA\u0002,\u0002L<cF\u0012T";
                  var4 = "\u0005U\u00048wtL&2\u0013Og8MZG\u0012Xb*M\u0010\u0010\u001fYt/9e\r\u0016\n\u001c=K\u000eA\u0002,\u0002L<cF\u0012T".length();
                  var1 = 7;
                  var7 = -1;
            }

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

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

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

      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 -> 69;
            case 1 -> 18;
            case 2 -> 89;
            case 3 -> 116;
            case 4 -> 57;
            case 5 -> 56;
            default -> 23;
         });
      }

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