package com.l7tech.server.module;

import com.l7tech.objectmodel.Goid;
import com.l7tech.util.Pair;
import com.l7tech.util.Functions.UnaryThrows;
import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

class l implements UnaryThrows<Pair<InputStream, String>, Connection, SQLException> {
   final Goid val$goid;
   final ServerModuleFileManagerImpl this$0;
   private static final String a;

   l(ServerModuleFileManagerImpl var1, Goid var2) {
      this.this$0 = var1;
      this.val$goid = var2;
   }

   public Pair<InputStream, String> call(Connection var1) throws SQLException {
      PreparedStatement var2 = var1.prepareStatement(a);

      Pair var5;
      label88: {
         try {
            var2.setBytes(1, this.val$goid.getBytes());

            try {
               label92: {
                  ResultSet var3 = var2.executeQuery();

                  label82: {
                     try {
                        if (var3.next()) {
                           InputStream var4 = var3.getBinaryStream(1);
                           if (var4 != null) {
                              var5 = Pair.pair(com.l7tech.server.module.a.stash(this.this$0.stashManagerFactory.createStashManager(), var4), var3.getString(2));
                              break label82;
                           }
                        }
                     } catch (Throwable var12) {
                        if (var3 != null) {
                           try {
                              var3.close();
                           } catch (Throwable var7) {
                              var12.addSuppressed(var7);
                           }
                        }

                        throw var12;
                     }

                     try {
                        if (var3 != null) {
                           var3.close();
                        }
                        break label92;
                     } catch (Throwable var11) {
                        throw a(var11);
                     }
                  }

                  try {
                     if (var3 != null) {
                        var3.close();
                     }
                     break label88;
                  } catch (Throwable var10) {
                     throw a(var10);
                  }
               }
            } catch (IOException var13) {
               throw new SQLException(var13);
            }
         } catch (Throwable var14) {
            if (var2 != null) {
               try {
                  var2.close();
               } catch (Throwable var6) {
                  var14.addSuppressed(var6);
               }
            }

            throw var14;
         }

         try {
            if (var2 != null) {
               var2.close();
            }

            return null;
         } catch (Throwable var9) {
            throw a(var9);
         }
      }

      try {
         if (var2 != null) {
            var2.close();
         }

         return var5;
      } catch (Throwable var8) {
         throw a(var8);
      }
   }

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

   static {
      String var10002 = a(
         105,
         a(
            "T\\O\u001fQ5.cxw;M\u0003ws|pv2\u0012g`wb.g\u0013kXiq5b\u0004|spf)2'\\HT#)w\u0013xbk\\7}\u0005{k|\\<{\rk'tl>g\rk'PM\u0014W3.MVJ\u00142\u0012kuof(M\faclo?M\u0007gk|\\>s\u0015o'}b.sAAI9n5v\u0014bb7g;f\u0000Q`vj>2\\.cxw;<\u0006an}#\rZ$\\B9n5v\u0014bb7d5{\u0005.:9<"
         )
      );
      byte var10001 = -1;
      a = var10002;
   }

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

      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 -> 110;
            case 1 -> 112;
            case 2 -> 106;
            case 3 -> 51;
            case 4 -> 123;
            case 5 -> 8;
            default -> 103;
         });
      }

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