package com.l7tech.gateway.common.solutionkit;

import com.l7tech.common.io.XmlUtil;
import com.l7tech.policy.solutionkit.SolutionKitManagerCallback;
import com.l7tech.policy.solutionkit.SolutionKitManagerContext;
import com.l7tech.policy.solutionkit.SolutionKitManagerUi;
import com.l7tech.util.MissingRequiredElementException;
import com.l7tech.util.Pair;
import com.l7tech.util.TooManyChildElementsException;
import java.util.Map;
import java.util.Set;
import javax.swing.JButton;
import javax.swing.JPanel;
import org.apache.commons.lang3.StringUtils;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.xml.sax.SAXException;

public class SolutionKitCustomization {
   @NotNull
   private final SolutionKitCustomizationClassLoader a;
   @Nullable
   private final SolutionKitManagerCallback b;
   @Nullable
   private final SolutionKitManagerUi c;
   private static final String[] d;

   public SolutionKitCustomization(
      @NotNull SolutionKitCustomizationClassLoader var1, @Nullable SolutionKitManagerUi var2, @Nullable SolutionKitManagerCallback var3
   ) {
      if (var1 == null) {
         a(0);
      }

      super();
      this.a = var1;
      this.c = var2;
      this.b = var3;
   }

   @NotNull
   public SolutionKitCustomizationClassLoader getClassLoader() {
      try {
         if (this.a == null) {
            a(1);
         }

         return this.a;
      } catch (IllegalArgumentException var1) {
         throw a(var1);
      }
   }

   @Nullable
   public SolutionKitManagerCallback getCustomCallback() {
      return this.b;
   }

   @Nullable
   public SolutionKitManagerUi getCustomUi() {
      return this.c;
   }

   private static void a(@NotNull SolutionKitsConfig var0, @NotNull SolutionKitManagerContext var1, @NotNull SolutionKit var2) throws TooManyChildElementsException, MissingRequiredElementException, SAXException {
      try {
         if (var0 == null) {
            a(2);
         }
      } catch (TooManyChildElementsException var9) {
         throw a(var9);
      }

      try {
         if (var1 == null) {
            a(3);
         }
      } catch (TooManyChildElementsException var5) {
         throw a(var5);
      }

      try {
         if (var2 == null) {
            a(4);
         }
      } catch (TooManyChildElementsException var8) {
         throw a(var8);
      }

      var1.setSolutionKitMetadata(SolutionKitUtils.createDocument(var2));
      var1.setMigrationBundle(var0.getBundleAsDocument(var2));
      String var3 = var2.getUninstallBundle();

      try {
         if (StringUtils.isNotBlank(var3)) {
            var1.setUninstallBundle(XmlUtil.stringToDocument(var3));
         }
      } catch (TooManyChildElementsException var7) {
         throw a(var7);
      }

      SolutionKit var4 = var0.getSolutionKitToUpgrade(var2.getSolutionKitGuid());

      try {
         if (var4 != null) {
            var1.setInstalledSolutionKitMetadata(SolutionKitUtils.createDocument(var4));
         }
      } catch (TooManyChildElementsException var6) {
         throw a(var6);
      }

      var1.setInstanceModifier(var2.getProperty(d[2]));
   }

   public static void addCustomUis(@NotNull JPanel var0, @NotNull SolutionKitsConfig var1, @Nullable SolutionKit var2) throws TooManyChildElementsException, MissingRequiredElementException, SAXException {
      try {
         if (var0 == null) {
            a(5);
         }
      } catch (TooManyChildElementsException var10) {
         throw a(var10);
      }

      try {
         if (var1 == null) {
            a(6);
         }
      } catch (TooManyChildElementsException var8) {
         throw a(var8);
      }

      var0.removeAll();
      if (var2 != null) {
         Map var3 = var1.getCustomizations();
         Pair var4 = (Pair)var3.get(var2.getSolutionKitGuid());

         try {
            if (var4 == null || var4.right == null) {
               return;
            }
         } catch (TooManyChildElementsException var9) {
            throw a(var9);
         }

         SolutionKitManagerUi var5 = ((SolutionKitCustomization)var4.right).getCustomUi();
         if (var5 != null) {
            populateSolutionKitManagerContextMap(var5.getContextMap(), var1);
            JButton var6 = var5.createButton(var0);

            try {
               if (var6 != null) {
                  var0.add(var6);
               }
            } catch (TooManyChildElementsException var7) {
               throw a(var7);
            }
         }
      }
   }

   public static void populateSolutionKitManagerContextMap(@NotNull Map<String, SolutionKitManagerContext> var0, @NotNull SolutionKitsConfig var1) throws MissingRequiredElementException, TooManyChildElementsException, SAXException {
      try {
         if (var0 == null) {
            a(7);
         }
      } catch (MissingRequiredElementException var6) {
         throw a(var6);
      }

      try {
         if (var1 == null) {
            a(8);
         }
      } catch (MissingRequiredElementException var8) {
         throw a(var8);
      }

      var0.clear();
      SolutionKit var2 = var1.getParentSolutionKitLoaded();

      try {
         if (var2 != null) {
            var0.put(var2.getSolutionKitGuid(), a(var1, var2));
         }
      } catch (MissingRequiredElementException var7) {
         throw a(var7);
      }

      for (SolutionKit var5 : var1.getLoadedSolutionKits().keySet()) {
         var0.put(var5.getSolutionKitGuid(), a(var1, var5));
      }
   }

   @NotNull
   private static SolutionKitManagerContext a(@NotNull SolutionKitsConfig var0, @NotNull SolutionKit var1) throws MissingRequiredElementException, TooManyChildElementsException, SAXException {
      try {
         if (var0 == null) {
            a(9);
         }
      } catch (MissingRequiredElementException var7) {
         throw a(var7);
      }

      try {
         if (var1 == null) {
            a(10);
         }
      } catch (MissingRequiredElementException var10) {
         throw a(var10);
      }

      Map var2 = var0.getCustomizations();
      Pair var3 = (Pair)var2.get(var1.getSolutionKitGuid());
      SolutionKitManagerContext var4 = null;

      SolutionKitCustomization var10000;
      label51: {
         try {
            if (var3 != null) {
               var10000 = (SolutionKitCustomization)var3.right;
               break label51;
            }
         } catch (MissingRequiredElementException var9) {
            throw a(var9);
         }

         var10000 = null;
      }

      SolutionKitCustomization var5 = var10000;
      if (var5 != null) {
         SolutionKitManagerUi var6 = var5.getCustomUi();

         label41: {
            try {
               if (var6 != null) {
                  var11 = var6.getContext();
                  break label41;
               }
            } catch (MissingRequiredElementException var8) {
               throw a(var8);
            }

            var11 = null;
         }

         var4 = var11;
      }

      if (var4 == null) {
         var4 = new SolutionKitManagerContext();
      }

      a(var0, var4, var1);
      return new a(var4);
   }

   public static void populateSelectedSolutionKits(@NotNull Set<String> var0, @NotNull SolutionKitsConfig var1) {
      try {
         if (var0 == null) {
            a(11);
         }
      } catch (IllegalArgumentException var6) {
         throw a(var6);
      }

      try {
         if (var1 == null) {
            a(12);
         }
      } catch (IllegalArgumentException var8) {
         throw a(var8);
      }

      var0.clear();
      SolutionKit var2 = var1.getParentSolutionKitLoaded();

      try {
         if (var2 != null) {
            var0.add(var2.getSolutionKitGuid());
         }
      } catch (IllegalArgumentException var7) {
         throw a(var7);
      }

      for (SolutionKit var5 : var1.getSelectedSolutionKits()) {
         var0.add(var5.getSolutionKitGuid());
      }
   }

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

   static {
      String[] var5 = new String[20];
      int var3 = 0;
      String var2 = ")\\)W#;3<`6N:..6]\u0012K;\u0017&7R>G=\u0019(7G<Z;\u0017&)\u0006eZ7K;d\u0010\u0010]*V.4$<~6F&<.<A>:\\4\r#m3<P1\r(;3<D8[`9(4^6L`)(5F-K 4,0Gvq 62-Z6L\u000433\u001aF*V 7.#R-K 4\u000e>V-a#;4*\u007f6C+?5\n*X4a 43<K-\f8W=a:)36^\fK<!)\\)W#;3<`6N:..6]\u0012K;\u0017&7R>G=\u0019(7G<Z;\u001c)\\)W#;3<`<N*93<W\nM#/30\\7i&.4\b*V-V&4 *\u0012*\\5W;3(7x0V<\u0019(7U0E>\u0018A>W\"?)-\u0013?M=z\u0007\u0017\\-l:6+yC8P.7\"-V+\u0002h\u007f4~\u00136Do\u007f4w\u0016*\u0002\"/4-\u00137M;z%<\u00137W#6*\u0019}6V\u0001/+5\u00134G;2(=\u0013|Qa\u007f4y^,Q;z)6GyP*.2+]yL:6+>:\\4\r#m3<P1\r(;3<D8[`9(4^6L`)(5F-K 4,0Gvq 62-Z6L\u000433\u001aF*V 7.#R-K 4\u000b:_8Q<\u0016(8W<P\u0017:F*V 7.#R;N*\u00182-G6L\u001f;)<_\u000b*\\5W;3(7x0V\n:\\7V*\"3\u0014R)";
      int var4 = ")\\)W#;3<`6N:..6]\u0012K;\u0017&7R>G=\u0019(7G<Z;\u0017&)\u0006eZ7K;d\u0010\u0010]*V.4$<~6F&<.<A>:\\4\r#m3<P1\r(;3<D8[`9(4^6L`)(5F-K 4,0Gvq 62-Z6L\u000433\u001aF*V 7.#R-K 4\u000e>V-a#;4*\u007f6C+?5\n*X4a 43<K-\f8W=a:)36^\fK<!)\\)W#;3<`6N:..6]\u0012K;\u0017&7R>G=\u0019(7G<Z;\u001c)\\)W#;3<`<N*93<W\nM#/30\\7i&.4\b*V-V&4 *\u0012*\\5W;3(7x0V<\u0019(7U0E>\u0018A>W\"?)-\u0013?M=z\u0007\u0017\\-l:6+yC8P.7\"-V+\u0002h\u007f4~\u00136Do\u007f4w\u0016*\u0002\"/4-\u00137M;z%<\u00137W#6*\u0019}6V\u0001/+5\u00134G;2(=\u0013|Qa\u007f4y^,Q;z)6GyP*.2+]yL:6+>:\\4\r#m3<P1\r(;3<D8[`9(4^6L`)(5F-K 4,0Gvq 62-Z6L\u000433\u001aF*V 7.#R-K 4\u000b:_8Q<\u0016(8W<P\u0017:F*V 7.#R;N*\u00182-G6L\u001f;)<_\u000b*\\5W;3(7x0V\n:\\7V*\"3\u0014R)"
         .length();
      char var1 = '$';
      int var7 = -1;

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

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

                  var2 = "\nb\u0019Y\t-\u0001\bf\u0019s2\u0000\u0017\u0004q\u0004r\u000e\u000f\u001f>h\u0001c\u000f\u0007\u001c\u0003L\u0004b6\u000f\u001d\f`\bd8\u0001\u001d\u0019b\u0015b\u000f\u001eb\u0001s\u0018\u001a\u0016\t@\u0018\u007f\u001f=\u0016\u0019";
                  var4 = "\nb\u0019Y\t-\u0001\bf\u0019s2\u0000\u0017\u0004q\u0004r\u000e\u000f\u001f>h\u0001c\u000f\u0007\u001c\u0003L\u0004b6\u000f\u001d\f`\bd8\u0001\u001d\u0019b\u0015b\u000f\u001eb\u0001s\u0018\u001a\u0016\t@\u0018\u007f\u001f=\u0016\u0019"
                     .length();
                  var1 = '.';
                  var7 = -1;
            }

            var10000 = 111;
            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] ^ 28);
      }

      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 -> 2;
            case 1 -> 104;
            case 2 -> 2;
            case 3 -> 121;
            case 4 -> 20;
            case 5 -> 1;
            default -> 28;
         });
      }

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