package com.l7tech.gateway.common.module;

import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.Enumeration;
import java.util.Properties;
import java.util.jar.JarEntry;
import java.util.jar.JarFile;
import java.util.jar.JarInputStream;
import org.jetbrains.annotations.NotNull;

public class CustomAssertionsScannerHelper {
   private String a;
   private String b;
   private static final String[] c;

   public CustomAssertionsScannerHelper(String var1) {
      this.a = var1;
      this.b = var1;
      if (var1 != null) {
         try {
            if (var1.startsWith("/")) {
               this.a = var1.substring(1);
               return;
            }
         } catch (IllegalArgumentException var2) {
            throw a(var2);
         }

         this.b = "/" + var1;
      }
   }

   public boolean hasCustomAssertionPropertyFileName() {
      // $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: getfield com/l7tech/gateway/common/module/CustomAssertionsScannerHelper.a Ljava/lang/String;
      // 04: ifnull 1d
      // 07: aload 0
      // 08: getfield com/l7tech/gateway/common/module/CustomAssertionsScannerHelper.b Ljava/lang/String;
      // 0b: ifnull 1d
      // 0e: goto 15
      // 11: invokestatic com/l7tech/gateway/common/module/CustomAssertionsScannerHelper.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 14: athrow
      // 15: bipush 1
      // 16: goto 1e
      // 19: invokestatic com/l7tech/gateway/common/module/CustomAssertionsScannerHelper.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 1c: athrow
      // 1d: bipush 0
      // 1e: ireturn
      // try (0 -> 6): 7 java/lang/IllegalArgumentException
      // try (3 -> 11): 11 java/lang/IllegalArgumentException
   }

   public boolean isCustomAssertion(@NotNull JarFile var1) {
      try {
         if (var1 == null) {
            a(0);
         }
      } catch (IllegalArgumentException var3) {
         throw a(var3);
      }

      Enumeration var2 = var1.entries();

      while (var2.hasMoreElements()) {
         if (this.isCustomAssertionPropertiesFile((JarEntry)var2.nextElement())) {
            return true;
         }
      }

      return false;
   }

   public boolean isCustomAssertion(@NotNull JarInputStream var1) throws IOException {
      try {
         if (var1 == null) {
            a(1);
         }
      } catch (IOException var3) {
         throw a(var3);
      }

      JarEntry var2;
      while ((var2 = var1.getNextJarEntry()) != null) {
         if (this.isCustomAssertionPropertiesFile(var2)) {
            return true;
         }
      }

      return false;
   }

   public boolean isCustomAssertionPropertiesFile(JarEntry 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 1
      // 01: ifnull 44
      // 04: aload 1
      // 05: invokevirtual java/util/jar/JarEntry.isDirectory ()Z
      // 08: ifne 44
      // 0b: goto 12
      // 0e: invokestatic com/l7tech/gateway/common/module/CustomAssertionsScannerHelper.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 11: athrow
      // 12: aload 1
      // 13: invokevirtual java/util/jar/JarEntry.getName ()Ljava/lang/String;
      // 16: aload 0
      // 17: getfield com/l7tech/gateway/common/module/CustomAssertionsScannerHelper.a Ljava/lang/String;
      // 1a: invokevirtual java/lang/String.startsWith (Ljava/lang/String;)Z
      // 1d: ifne 3c
      // 20: goto 27
      // 23: invokestatic com/l7tech/gateway/common/module/CustomAssertionsScannerHelper.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 26: athrow
      // 27: aload 1
      // 28: invokevirtual java/util/jar/JarEntry.getName ()Ljava/lang/String;
      // 2b: aload 0
      // 2c: getfield com/l7tech/gateway/common/module/CustomAssertionsScannerHelper.b Ljava/lang/String;
      // 2f: invokevirtual java/lang/String.startsWith (Ljava/lang/String;)Z
      // 32: ifeq 44
      // 35: goto 3c
      // 38: invokestatic com/l7tech/gateway/common/module/CustomAssertionsScannerHelper.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 3b: athrow
      // 3c: bipush 1
      // 3d: goto 45
      // 40: invokestatic com/l7tech/gateway/common/module/CustomAssertionsScannerHelper.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 43: athrow
      // 44: bipush 0
      // 45: ireturn
      // try (0 -> 5): 6 java/lang/IllegalArgumentException
      // try (2 -> 14): 15 java/lang/IllegalArgumentException
      // try (8 -> 23): 24 java/lang/IllegalArgumentException
      // try (17 -> 28): 28 java/lang/IllegalArgumentException
   }

   public Collection<String> getAssertions(@NotNull JarFile var1) throws IOException {
      try {
         if (var1 == null) {
            a(2);
         }
      } catch (Throwable var11) {
         throw a(var11);
      }

      ArrayList var2 = new ArrayList();
      Enumeration var3 = var1.entries();

      while (var3.hasMoreElements()) {
         JarEntry var4 = (JarEntry)var3.nextElement();
         InputStream var5 = var1.getInputStream(var4);

         try {
            if (this.isCustomAssertionPropertiesFile(var4)) {
               this.a(var5, var2);
            }
         } catch (Throwable var10) {
            if (var5 != null) {
               try {
                  var5.close();
               } catch (Throwable var8) {
                  var10.addSuppressed(var8);
               }
            }

            throw var10;
         }

         try {
            if (var5 != null) {
               var5.close();
            }
         } catch (Throwable var9) {
            throw a(var9);
         }
      }

      return Collections.unmodifiableCollection(var2);
   }

   public Collection<String> getAssertions(@NotNull JarInputStream var1) throws IOException {
      try {
         if (var1 == null) {
            a(3);
         }
      } catch (IOException var5) {
         throw a(var5);
      }

      ArrayList var2 = new ArrayList();

      while (true) {
         JarEntry var3;
         JarEntry var10000 = var3 = var1.getNextJarEntry();

         try {
            if (var10000 == null) {
               return Collections.unmodifiableCollection(var2);
            }

            if (!this.isCustomAssertionPropertiesFile(var3)) {
               continue;
            }
         } catch (IOException var4) {
            throw a(var4);
         }

         this.a(var1, var2);
      }
   }

   private void a(@NotNull InputStream var1, @NotNull Collection<String> var2) throws IOException {
      try {
         if (var1 == null) {
            a(4);
         }
      } catch (IOException var10) {
         throw a(var10);
      }

      try {
         if (var2 == null) {
            a(5);
         }
      } catch (IOException var11) {
         throw a(var11);
      }

      Properties var3 = new Properties();
      var3.load(var1);

      for (Object var5 : var3.keySet()) {
         String var6 = var5.toString();
         String[] var9 = c;
         if (var6.endsWith(var9[1])) {
            String var7 = var6.substring(0, var6.indexOf(var9[6]));
            String var8 = (String)var3.get(var7 + var9[6]);
            var2.add(var8);
         }
      }
   }

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

   static {
      String[] var5 = new String[10];
      int var3 = 0;
      String var2 = "\u001fNXj\u0004\bS\n_ED\u0019\b\u0006VH@J\u0004\b\u0011\u0011Xo^\u0004\u000fY\u0015j_X\u0012\tB\u0011DB>\u001bDA\u0004\u001bLB\u001dHD\u0004\u0010\u001aB\u001d\\MRX\u0018Y\u0015FCEX\u0016Y\u001c^@NX8C\u000b_CF6\bE\u001dYXB\u0018\u0015E+HME\u0019\u001eD0N@[\u0012\t\u0007\u0012J^m\u001e\u0017S\n\u0019X_N\u0005\u000f_\u0017E_\u0006VH@J\u0004\b>9YK^\u001a\u001eX\f\u000bJD\u0005[v6DXe\u0002\u0017ZX[MY\u0016\u0016S\fN^\u000bP^E_\u000bCMW^EV\u000e_\u000b\u001a\u000eE\f\u000bBD\u0003[T\u001d\u000bB^\u001b\u0017";
      int var4 = "\u001fNXj\u0004\bS\n_ED\u0019\b\u0006VH@J\u0004\b\u0011\u0011Xo^\u0004\u000fY\u0015j_X\u0012\tB\u0011DB>\u001bDA\u0004\u001bLB\u001dHD\u0004\u0010\u001aB\u001d\\MRX\u0018Y\u0015FCEX\u0016Y\u001c^@NX8C\u000b_CF6\bE\u001dYXB\u0018\u0015E+HME\u0019\u001eD0N@[\u0012\t\u0007\u0012J^m\u001e\u0017S\n\u0019X_N\u0005\u000f_\u0017E_\u0006VH@J\u0004\b>9YK^\u001a\u001eX\f\u000bJD\u0005[v6DXe\u0002\u0017ZX[MY\u0016\u0016S\fN^\u000bP^E_\u000bCMW^EV\u000e_\u000b\u001a\u000eE\f\u000bBD\u0003[T\u001d\u000bB^\u001b\u0017"
         .length();
      char var1 = '\r';
      int var7 = -1;

      label24:
      while (true) {
         byte var10000 = 79;
         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) {
                     c = var5;
                     return;
                  }

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

                  var2 = " pm\u000b/wjk<\u001ap8|\u007ft";
                  var4 = " pm\u000b/wjk<\u001ap8|\u007ft".length();
                  var1 = 3;
                  var7 = -1;
            }

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

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

      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 -> 55;
            case 1 -> 100;
            case 2 -> 99;
            case 3 -> 100;
            case 4 -> 56;
            case 5 -> 52;
            default -> 121;
         });
      }

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