package com.l7tech.gateway.pm2.graphql.helper;

import java.util.logging.Logger;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;

public final class SecureXmlValidator {
   private static final Logger a;
   private static final String[] b;

   private SecureXmlValidator() {
      throw new AssertionError(b[3]);
   }

   public static boolean isInvalidXml(String param0) {
      // $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: ifnull 12
      // 04: aload 0
      // 05: invokevirtual java/lang/String.trim ()Ljava/lang/String;
      // 08: invokevirtual java/lang/String.isEmpty ()Z
      // 0b: ifeq 15
      // 0e: goto 12
      // 11: athrow
      // 12: bipush 1
      // 13: ireturn
      // 14: athrow
      // 15: invokestatic com/l7tech/gateway/pm2/graphql/helper/SecureXmlValidator.a ()Ljavax/xml/parsers/DocumentBuilderFactory;
      // 18: astore 1
      // 19: aload 1
      // 1a: invokevirtual javax/xml/parsers/DocumentBuilderFactory.newDocumentBuilder ()Ljavax/xml/parsers/DocumentBuilder;
      // 1d: new java/io/ByteArrayInputStream
      // 20: dup
      // 21: aload 0
      // 22: invokevirtual java/lang/String.getBytes ()[B
      // 25: invokespecial java/io/ByteArrayInputStream.<init> ([B)V
      // 28: invokevirtual javax/xml/parsers/DocumentBuilder.parse (Ljava/io/InputStream;)Lorg/w3c/dom/Document;
      // 2b: pop
      // 2c: bipush 0
      // 2d: ireturn
      // 2e: astore 1
      // 2f: getstatic com/l7tech/gateway/pm2/graphql/helper/SecureXmlValidator.a Ljava/util/logging/Logger;
      // 32: getstatic java/util/logging/Level.FINE Ljava/util/logging/Level;
      // 35: getstatic com/l7tech/gateway/pm2/graphql/helper/SecureXmlValidator.b [Ljava/lang/String;
      // 38: bipush 1
      // 39: aaload
      // 3a: aload 1
      // 3b: invokevirtual java/util/logging/Logger.log (Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
      // 3e: bipush 1
      // 3f: ireturn
      // try (2 -> 10): 10 javax/xml/parsers/ParserConfigurationException
      // try (0 -> 6): 7 javax/xml/parsers/ParserConfigurationException
      // try (11 -> 23): 24 javax/xml/parsers/ParserConfigurationException
      // try (11 -> 23): 24 org/xml/sax/SAXException
      // try (11 -> 23): 24 java/io/IOException
   }

   private static DocumentBuilderFactory a() throws ParserConfigurationException {
      DocumentBuilderFactory var0 = DocumentBuilderFactory.newInstance();
      var0.setNamespaceAware(true);
      String[] var1 = b;
      var0.setFeature(var1[4], true);
      var0.setFeature(var1[2], false);
      var0.setFeature(var1[0], false);
      var0.setFeature(var1[5], false);
      var0.setXIncludeAware(false);
      var0.setExpandEntityReferences(false);
      return var0;
   }

   static {
      String[] var5 = new String[6];
      int var3 = 0;
      String var2 = "0>(\u001f\b:B '0A]g\nw9=\u0017\u001ds\b9>)\u001dWfB=2(\n@{\f4g,\u000e@t\u0000=>9\u001d\u001fp\u0003,#(\u0006Wf\u0015\u0000\u0007\u0010ODt\u00011.=\u001b[z\u0003x,=\u0006^p\t50>(\u001f\b:B '0A]g\nw9=\u0017\u001ds\b9>)\u001dWfB=2(\n@{\f4g;\n\\p\u001f9&q\n\\a\u0004,#9\u001c(\r>5\u0003[a\u0014x)0\u000eAfM+\"3\u001a^qM6%(OPpM1$/\u001bS{\u00191+(\nV";
      int var4 = "0>(\u001f\b:B '0A]g\nw9=\u0017\u001ds\b9>)\u001dWfB=2(\n@{\f4g,\u000e@t\u0000=>9\u001d\u001fp\u0003,#(\u0006Wf\u0015\u0000\u0007\u0010ODt\u00011.=\u001b[z\u0003x,=\u0006^p\t50>(\u001f\b:B '0A]g\nw9=\u0017\u001ds\b9>)\u001dWfB=2(\n@{\f4g;\n\\p\u001f9&q\n\\a\u0004,#9\u001c(\r>5\u0003[a\u0014x)0\u000eAfM+\"3\u001a^qM6%(OPpM1$/\u001bS{\u00191+(\nV"
         .length();
      char var1 = '7';
      int var7 = -1;

      label24:
      while (true) {
         String var10000 = var2.substring(++var7, var7 + var1);
         byte var10001 = -1;

         while (true) {
            String var12 = a(a(var10000));
            switch (var10001) {
               case 0:
                  var5[var3++] = var12;
                  if ((var7 += var1) >= var4) {
                     b = var5;
                     a = Logger.getLogger(SecureXmlValidator.class.getName());
                     return;
                  }

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

                  var2 = "0>(\u001f\b:B9:=\fZpC78;@Jx\u0001w,9\u000eF`\u001f=9s\u000b[f\f4&3\u0018\u001fq\u0002;>%\u001fW8\t=)0>0>(\u001f\b:B9:=\fZpC78;@Jx\u0001w,9\u000eF`\u001f=9s\u0001]{\u001b9&5\u000bSa\u00046-s\u0003]t\tu/$\u001bWg\u00039&q\u000bFq";
                  var4 = "0>(\u001f\b:B9:=\fZpC78;@Jx\u0001w,9\u000eF`\u001f=9s\u000b[f\f4&3\u0018\u001fq\u0002;>%\u001fW8\t=)0>0>(\u001f\b:B9:=\fZpC78;@Jx\u0001w,9\u000eF`\u001f=9s\u0001]{\u001b9&5\u000bSa\u00046-s\u0003]t\tu/$\u001bWg\u00039&q\u000bFq"
                     .length();
                  var1 = '4';
                  var7 = -1;
            }

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

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

      return var10000;
   }

   private static String a(char[] var0) {
      int var10002 = var0.length;
      char[] var10001 = var0;
      int var10000 = var10002;

      for (int var1 = 0; var10000 > var1; var1++) {
         var10001[var1] = (char)(var10001[var1] ^ switch (var1 % 7) {
            case 0 -> 88;
            case 1 -> 74;
            case 2 -> 92;
            case 3 -> 111;
            case 4 -> 50;
            case 5 -> 21;
            default -> 109;
         });
      }

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