package com.l7tech.server.service;

import com.l7tech.identity.UserBean;
import com.l7tech.util.ExceptionUtils;
import java.io.File;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.attribute.BasicFileAttributes;
import java.util.List;
import java.util.concurrent.Callable;
import java.util.stream.Collectors;
import java.util.stream.Stream;

class g implements Callable<Boolean> {
   final UserBean val$adminUser;
   final MigrationBundleBootstrapService this$0;
   private static final String a;

   g(MigrationBundleBootstrapService var1, UserBean var2) {
      this.this$0 = var1;
      this.val$adminUser = var2;
   }

   public Boolean call() throws Exception {
      File var1 = new File(this.this$0.b);

      try {
         if (!var1.exists()) {
            return false;
         }
      } catch (Throwable var9) {
         throw a(var9);
      }

      try {
         if (!var1.isDirectory()) {
            return false;
         }
      } catch (Throwable var13) {
         throw a(var13);
      }

      List var2;
      try {
         Stream var3 = Files.find(var1.toPath(), Integer.MAX_VALUE, this::lambda$call$0);

         try {
            var2 = var3.collect(Collectors.toList());
         } catch (Throwable var10) {
            if (var3 != null) {
               try {
                  var3.close();
               } catch (Throwable var6) {
                  var10.addSuppressed(var6);
               }
            }

            throw var10;
         }

         try {
            if (var3 != null) {
               var3.close();
            }
         } catch (Throwable var8) {
            throw a(var8);
         }
      } catch (IOException var11) {
         throw new MigrationBundleBootstrapService.BundleInstallFailedException(a + ExceptionUtils.getMessage(var11), var11);
      }

      try {
         if (var2.isEmpty()) {
            return false;
         }
      } catch (Throwable var12) {
         throw a(var12);
      }

      var2.sort(Path::compareTo);

      for (Path var4 : var2) {
         File var5 = var4.toFile();

         try {
            if (var5.isFile()) {
               this.this$0.a(var5, this.val$adminUser);
            }
         } catch (Throwable var7) {
            throw a(var7);
         }
      }

      return true;
   }

   private boolean lambda$call$0(Path var1, BasicFileAttributes var2) {
      return var2.isRegularFile() && this.this$0.a(var1.toFile());
   }

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

   static {
      String var10002 = a(108, a("MWF=\u00196M\u007fY\u000f7\u0015<\t+BG4\\0\u0018eRC4\u000fhM"));
      byte var10001 = -1;
      a = var10002;
   }

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

      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 -> 103;
            case 1 -> 90;
            case 2 -> 67;
            case 3 -> 61;
            case 4 -> 16;
            case 5 -> 62;
            default -> 1;
         });
      }

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