package com.l7tech.server.policy.assertion.xml;

import com.l7tech.common.http.GenericHttpClientFactory;
import com.l7tech.common.mime.ByteArrayStashManager;
import com.l7tech.common.mime.ContentTypeHeader;
import com.l7tech.common.mime.NoSuchPartException;
import com.l7tech.common.mime.PartInfo;
import com.l7tech.gateway.common.audit.AssertionMessages;
import com.l7tech.message.Message;
import com.l7tech.message.XmlKnob;
import com.l7tech.policy.assertion.AssertionStatus;
import com.l7tech.policy.assertion.MessageTargetable;
import com.l7tech.policy.assertion.PolicyAssertionException;
import com.l7tech.policy.assertion.TargetMessageType;
import com.l7tech.policy.assertion.xml.XslTransformation;
import com.l7tech.policy.variable.NoSuchVariableException;
import com.l7tech.server.ServerConfig;
import com.l7tech.server.message.PolicyEnforcementContext;
import com.l7tech.server.policy.ServerPolicyException;
import com.l7tech.server.policy.assertion.AbstractServerAssertion;
import com.l7tech.server.url.AbstractUrlObjectCache;
import com.l7tech.server.url.HttpObjectCache;
import com.l7tech.server.url.UrlResolver;
import com.l7tech.server.util.res.ResourceGetter;
import com.l7tech.util.Config;
import com.l7tech.util.ConfigFactory;
import com.l7tech.util.InvalidDocumentFormatException;
import com.l7tech.util.ValidatedConfig;
import com.l7tech.util.ConfigFactory.ConfigurationListener;
import com.l7tech.util.Functions.Unary;
import com.l7tech.xml.InvalidXpathException;
import com.l7tech.xml.xpath.CompiledXpath;
import com.l7tech.xml.xpath.XpathExpression;
import com.l7tech.xml.xslt.CompiledStylesheet;
import com.l7tech.xml.xslt.TransformInput;
import com.l7tech.xml.xslt.TransformOutput;
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.util.LinkedHashSet;
import java.util.Map;
import java.util.logging.Logger;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.parsers.SAXParserFactory;
import javax.xml.transform.ErrorListener;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.springframework.beans.factory.BeanFactory;
import org.xml.sax.SAXException;
import org.xml.sax.helpers.DefaultHandler;

public class ServerXslTransformation extends AbstractServerAssertion<XslTransformation> {
   private static final SAXParserFactory d;
   static UrlResolver<CompiledStylesheet> e;
   private static final CompiledXpath f;
   private static final AbstractUrlObjectCache.UserObjectFactory<CompiledStylesheet> g;
   final ResourceGetter<CompiledStylesheet, XmlKnob> h;
   final boolean i;
   final String[] j;
   private static final String[] k;

   public ServerXslTransformation(XslTransformation param1, BeanFactory param2) throws ServerPolicyException {
      // $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: aload 1
      // 02: invokespecial com/l7tech/server/policy/assertion/AbstractServerAssertion.<init> (Lcom/l7tech/policy/assertion/Assertion;)V
      // 05: aload 0
      // 06: aload 1
      // 07: invokevirtual com/l7tech/policy/assertion/xml/XslTransformation.getVariablesUsed ()[Ljava/lang/String;
      // 0a: putfield com/l7tech/server/policy/assertion/xml/ServerXslTransformation.j [Ljava/lang/String;
      // 0d: new com/l7tech/server/policy/assertion/xml/i
      // 10: dup
      // 11: aload 0
      // 12: invokespecial com/l7tech/server/policy/assertion/xml/i.<init> (Lcom/l7tech/server/policy/assertion/xml/ServerXslTransformation;)V
      // 15: astore 3
      // 16: new com/l7tech/server/policy/assertion/xml/k
      // 19: dup
      // 1a: aload 0
      // 1b: invokespecial com/l7tech/server/policy/assertion/xml/k.<init> (Lcom/l7tech/server/policy/assertion/xml/ServerXslTransformation;)V
      // 1e: astore 4
      // 20: aconst_null
      // 21: astore 5
      // 23: aload 1
      // 24: invokevirtual com/l7tech/policy/assertion/xml/XslTransformation.getResourceInfo ()Lcom/l7tech/policy/AssertionResourceInfo;
      // 27: astore 6
      // 29: aload 6
      // 2b: instanceof com/l7tech/policy/MessageUrlResourceInfo
      // 2e: ifeq 38
      // 31: aload 6
      // 33: checkcast com/l7tech/policy/MessageUrlResourceInfo
      // 36: astore 5
      // 38: aload 0
      // 39: aload 5
      // 3b: ifnull 55
      // 3e: aload 5
      // 40: invokevirtual com/l7tech/policy/MessageUrlResourceInfo.isAllowMessagesWithoutUrl ()Z
      // 43: ifeq 55
      // 46: goto 4d
      // 49: invokestatic com/l7tech/server/policy/assertion/xml/ServerXslTransformation.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 4c: athrow
      // 4d: bipush 1
      // 4e: goto 56
      // 51: invokestatic com/l7tech/server/policy/assertion/xml/ServerXslTransformation.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 54: athrow
      // 55: bipush 0
      // 56: putfield com/l7tech/server/policy/assertion/xml/ServerXslTransformation.i Z
      // 59: aload 6
      // 5b: instanceof com/l7tech/policy/SingleUrlResourceInfo
      // 5e: ifeq 76
      // 61: aload 6
      // 63: checkcast com/l7tech/policy/SingleUrlResourceInfo
      // 66: astore 7
      // 68: aload 7
      // 6a: aload 0
      // 6b: aload 7
      // 6d: invokevirtual com/l7tech/policy/SingleUrlResourceInfo.getUrl ()Ljava/lang/String;
      // 70: invokevirtual com/l7tech/server/policy/assertion/xml/ServerXslTransformation.c (Ljava/lang/String;)Ljava/lang/String;
      // 73: invokevirtual com/l7tech/policy/SingleUrlResourceInfo.setUrl (Ljava/lang/String;)V
      // 76: aload 0
      // 77: aload 1
      // 78: aload 6
      // 7a: aload 3
      // 7b: aload 4
      // 7d: aload 0
      // 7e: getstatic com/l7tech/server/policy/assertion/xml/ServerXslTransformation.g Lcom/l7tech/server/url/AbstractUrlObjectCache$UserObjectFactory;
      // 81: aload 2
      // 82: invokevirtual com/l7tech/server/policy/assertion/xml/ServerXslTransformation.getCache (Lcom/l7tech/server/url/AbstractUrlObjectCache$UserObjectFactory;Lorg/springframework/beans/factory/BeanFactory;)Lcom/l7tech/server/url/UrlResolver;
      // 85: aload 0
      // 86: invokevirtual com/l7tech/server/policy/assertion/xml/ServerXslTransformation.getAudit ()Lcom/l7tech/gateway/common/audit/Audit;
      // 89: invokestatic com/l7tech/server/util/res/ResourceGetter.createResourceGetter (Lcom/l7tech/policy/assertion/Assertion;Lcom/l7tech/policy/AssertionResourceInfo;Lcom/l7tech/server/util/res/ResourceObjectFactory;Lcom/l7tech/server/util/res/UrlFinder;Lcom/l7tech/server/url/UrlResolver;Lcom/l7tech/gateway/common/audit/Audit;)Lcom/l7tech/server/util/res/ResourceGetter;
      // 8c: putfield com/l7tech/server/policy/assertion/xml/ServerXslTransformation.h Lcom/l7tech/server/util/res/ResourceGetter;
      // 8f: return
      // try (28 -> 34): 35 com/l7tech/server/policy/ServerPolicyException
      // try (31 -> 39): 39 com/l7tech/server/policy/ServerPolicyException
   }

   protected UrlResolver<CompiledStylesheet> getCache(AbstractUrlObjectCache.UserObjectFactory<CompiledStylesheet> var1, BeanFactory var2) {
      synchronized (ServerXslTransformation.class) {
         if (e != null) {
            return e;
         }

         String[] var7 = k;
         GenericHttpClientFactory var4 = (GenericHttpClientFactory)var2.getBean(var7[0]);

         try {
            if (var4 == null) {
               throw new IllegalStateException(var7[31]);
            }
         } catch (IllegalStateException var8) {
            throw a(var8);
         }

         Config var5 = a(ServerConfig.getInstance(), this.logger);
         var7 = k;
         e = new HttpObjectCache<>(
            var7[25],
            var5.getIntProperty(var7[9], 10000),
            var5.getIntProperty(var7[24], 300000),
            var5.getIntProperty(var7[20], -1),
            var4,
            var1,
            HttpObjectCache.WAIT_INITIAL,
            var7[28]
         );
         return e;
      }
   }

   private static Config a(Config var0, Logger var1) {
      ValidatedConfig var2 = new ValidatedConfig(var0, var1, new l());
      String[] var3 = k;
      var2.setMinimumValue(var3[22], 0);
      var2.setMaximumValue(var3[9], 1000000);
      var2.setMinimumValue(var3[21], -1);
      return var2;
   }

   @Override
   public AssertionStatus checkRequest(PolicyEnforcementContext var1) throws IOException, PolicyAssertionException {
      String var2 = this.a();
      var1.setVariable(var2, new String[]{""});
      String[] var11 = k;
      var1.setVariable(var2 + var11[14], "");
      var1.setVariable(var2 + var11[34], "");
      TargetMessageType var4 = this.assertion.getTarget();
      Message var3;
      switch (com.l7tech.server.policy.assertion.xml.h.a[var4.ordinal()]) {
         case 1:
            this.logAndAudit(AssertionMessages.XSLT_REQUEST);
            var3 = var1.getRequest();
            break;
         case 2:
            this.logAndAudit(AssertionMessages.XSLT_RESPONSE);
            var3 = var1.getResponse();
            break;
         case 3:
            String var5 = this.assertion.getOtherTargetMessageVariable();

            try {
               if (var5 == null) {
                  throw new PolicyAssertionException(this.assertion, k[30]);
               }
            } catch (NoSuchVariableException var19) {
               throw a(var19);
            }

            try {
               this.logAndAudit(AssertionMessages.XSLT_OTHER, var5);
               var3 = var1.getTargetMessage((MessageTargetable)this.assertion, true);
               break;
            } catch (NoSuchVariableException var17) {
               this.logAndAudit(AssertionMessages.NO_SUCH_VARIABLE, new String[]{var17.getVariable()}, var17);
               return AssertionStatus.FAILED;
            }
         default:
            this.logAndAudit(AssertionMessages.XSLT_CONFIG_ISSUE);
            return AssertionStatus.SERVER_ERROR;
      }

      LinkedHashSet var20 = new LinkedHashSet();

      try {
         return this.a(var3, var1, var20);
      } catch (SAXException var16) {
         this.logAndAudit(AssertionMessages.XSLT_MSG_NOT_XML);
         return AssertionStatus.BAD_REQUEST;
      } finally {
         if (!var20.isEmpty()) {
            String[] var10 = var20.toArray(new String[var20.size()]);
            var1.setVariable(var2, var10);
            var11 = k;
            var1.setVariable(var2 + var11[17], var10[0]);
            var1.setVariable(var2 + var11[10], var10[var10.length - 1]);
         }
      }
   }

   private AssertionStatus a(Message var1, PolicyEnforcementContext var2, LinkedHashSet<String> var3) throws IOException, PolicyAssertionException, SAXException {
      int var4 = this.assertion.getWhichMimePart();
      if (var4 <= 0) {
         var4 = 0;
      }

      m var5 = new m(this, var2);
      TransformInput var6 = null;

      try {
         Object var7;
         if (var4 == 0) {
            XmlKnob var8;
            try {
               var8 = var1.getXmlKnob();
            } catch (SAXException var20) {
               this.logAndAudit(AssertionMessages.XSLT_MSG_NOT_XML);
               return AssertionStatus.BAD_REQUEST;
            }

            var6 = a(var8, var5);
            var7 = new a(this, var1);
         } else {
            PartInfo var23;
            try {
               var23 = var1.getMimeKnob().getPart(var4);
            } catch (NoSuchPartException var19) {
               this.logAndAudit(AssertionMessages.XSLT_NO_SUCH_PART, Integer.toString(var4));
               return AssertionStatus.BAD_REQUEST;
            }

            var6 = this.a(var23, var5);
            var7 = new b(this, var23);
         }

         Map var24 = var2.getVariableMap(this.j, this.getAudit());
         return this.a(var6, (TransformOutput)var7, var24, var3);
      } finally {
         try {
            if (var6 != null) {
               var6.close();
            }
         } catch (SAXException var21) {
            throw a(var21);
         }
      }
   }

   private AssertionStatus a(TransformInput param1, TransformOutput param2, Map<String, Object> param3, LinkedHashSet<String> param4) throws IOException, PolicyAssertionException {
      // $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:
      // 000: aload 0
      // 001: getfield com/l7tech/server/policy/assertion/xml/ServerXslTransformation.h Lcom/l7tech/server/util/res/ResourceGetter;
      // 004: aload 1
      // 005: invokevirtual com/l7tech/xml/xslt/TransformInput.getXmlKnob ()Lcom/l7tech/message/XmlKnob;
      // 008: aload 3
      // 009: invokevirtual com/l7tech/server/util/res/ResourceGetter.getResource (Ljava/lang/Object;Ljava/util/Map;)Ljava/lang/Object;
      // 00c: checkcast com/l7tech/xml/xslt/CompiledStylesheet
      // 00f: astore 5
      // 011: aload 5
      // 013: ifnonnull 04b
      // 016: aload 0
      // 017: getfield com/l7tech/server/policy/assertion/xml/ServerXslTransformation.i Z
      // 01a: ifeq 02f
      // 01d: goto 024
      // 020: invokestatic com/l7tech/server/policy/assertion/xml/ServerXslTransformation.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 023: athrow
      // 024: aload 0
      // 025: getstatic com/l7tech/gateway/common/audit/AssertionMessages.XSLT_NO_PI_OK Lcom/l7tech/gateway/common/audit/Messages$M;
      // 028: invokevirtual com/l7tech/server/policy/assertion/xml/ServerXslTransformation.logAndAudit (Lcom/l7tech/gateway/common/audit/AuditDetailMessage;)V
      // 02b: getstatic com/l7tech/policy/assertion/AssertionStatus.NONE Lcom/l7tech/policy/assertion/AssertionStatus;
      // 02e: areturn
      // 02f: aload 0
      // 030: getstatic com/l7tech/gateway/common/audit/AssertionMessages.EXCEPTION_WARNING_WITH_MORE_INFO Lcom/l7tech/gateway/common/audit/Messages$M;
      // 033: bipush 1
      // 034: anewarray 640
      // 037: dup
      // 038: bipush 0
      // 039: getstatic com/l7tech/server/policy/assertion/xml/ServerXslTransformation.k [Ljava/lang/String;
      // 03c: astore 9
      // 03e: aload 9
      // 040: bipush 8
      // 042: aaload
      // 043: aastore
      // 044: invokevirtual com/l7tech/server/policy/assertion/xml/ServerXslTransformation.logAndAudit (Lcom/l7tech/gateway/common/audit/AuditDetailMessage;[Ljava/lang/String;)V
      // 047: getstatic com/l7tech/policy/assertion/AssertionStatus.SERVER_ERROR Lcom/l7tech/policy/assertion/AssertionStatus;
      // 04a: areturn
      // 04b: aload 5
      // 04d: aload 1
      // 04e: aload 2
      // 04f: aload 0
      // 050: aload 4
      // 052: invokevirtual com/l7tech/server/policy/assertion/xml/ServerXslTransformation.a (Ljava/util/LinkedHashSet;)Ljavax/xml/transform/ErrorListener;
      // 055: invokevirtual com/l7tech/xml/xslt/CompiledStylesheet.transform (Lcom/l7tech/xml/xslt/TransformInput;Lcom/l7tech/xml/xslt/TransformOutput;Ljavax/xml/transform/ErrorListener;)V
      // 058: getstatic com/l7tech/policy/assertion/AssertionStatus.NONE Lcom/l7tech/policy/assertion/AssertionStatus;
      // 05b: areturn
      // 05c: astore 5
      // 05e: aload 0
      // 05f: getstatic com/l7tech/gateway/common/audit/AssertionMessages.XSLT_MSG_NOT_XML Lcom/l7tech/gateway/common/audit/Messages$M;
      // 062: invokevirtual com/l7tech/server/policy/assertion/xml/ServerXslTransformation.logAndAudit (Lcom/l7tech/gateway/common/audit/AuditDetailMessage;)V
      // 065: getstatic com/l7tech/policy/assertion/AssertionStatus.BAD_REQUEST Lcom/l7tech/policy/assertion/AssertionStatus;
      // 068: areturn
      // 069: astore 5
      // 06b: aload 0
      // 06c: getstatic com/l7tech/gateway/common/audit/AssertionMessages.XSLT_MSG_NOT_XML Lcom/l7tech/gateway/common/audit/Messages$M;
      // 06f: invokevirtual com/l7tech/server/policy/assertion/xml/ServerXslTransformation.logAndAudit (Lcom/l7tech/gateway/common/audit/AuditDetailMessage;)V
      // 072: getstatic com/l7tech/policy/assertion/AssertionStatus.BAD_REQUEST Lcom/l7tech/policy/assertion/AssertionStatus;
      // 075: areturn
      // 076: astore 5
      // 078: aload 0
      // 079: getstatic com/l7tech/gateway/common/audit/AssertionMessages.XSLT_CANT_READ_XSL Lcom/l7tech/gateway/common/audit/Messages$M;
      // 07c: bipush 2
      // 07d: anewarray 640
      // 080: dup
      // 081: bipush 0
      // 082: aload 5
      // 084: invokevirtual com/l7tech/server/util/res/ResourceGetter$MalformedResourceUrlException.getUrl ()Ljava/lang/String;
      // 087: aastore
      // 088: dup
      // 089: bipush 1
      // 08a: getstatic com/l7tech/server/policy/assertion/xml/ServerXslTransformation.k [Ljava/lang/String;
      // 08d: astore 9
      // 08f: aload 9
      // 091: bipush 12
      // 093: aaload
      // 094: aastore
      // 095: invokevirtual com/l7tech/server/policy/assertion/xml/ServerXslTransformation.logAndAudit (Lcom/l7tech/gateway/common/audit/AuditDetailMessage;[Ljava/lang/String;)V
      // 098: getstatic com/l7tech/policy/assertion/AssertionStatus.BAD_REQUEST Lcom/l7tech/policy/assertion/AssertionStatus;
      // 09b: areturn
      // 09c: astore 5
      // 09e: aload 0
      // 09f: getstatic com/l7tech/gateway/common/audit/AssertionMessages.XSLT_BAD_URL Lcom/l7tech/gateway/common/audit/Messages$M;
      // 0a2: bipush 1
      // 0a3: anewarray 640
      // 0a6: dup
      // 0a7: bipush 0
      // 0a8: aload 5
      // 0aa: invokevirtual com/l7tech/server/util/res/ResourceGetter$UrlNotPermittedException.getUrl ()Ljava/lang/String;
      // 0ad: aastore
      // 0ae: invokevirtual com/l7tech/server/policy/assertion/xml/ServerXslTransformation.logAndAudit (Lcom/l7tech/gateway/common/audit/AuditDetailMessage;[Ljava/lang/String;)V
      // 0b1: getstatic com/l7tech/policy/assertion/AssertionStatus.BAD_REQUEST Lcom/l7tech/policy/assertion/AssertionStatus;
      // 0b4: areturn
      // 0b5: astore 5
      // 0b7: aload 0
      // 0b8: getstatic com/l7tech/gateway/common/audit/AssertionMessages.XSLT_CANT_READ_XSL Lcom/l7tech/gateway/common/audit/Messages$M;
      // 0bb: bipush 2
      // 0bc: anewarray 640
      // 0bf: dup
      // 0c0: bipush 0
      // 0c1: aload 5
      // 0c3: invokevirtual com/l7tech/server/util/res/ResourceGetter$ResourceIOException.getUrl ()Ljava/lang/String;
      // 0c6: aastore
      // 0c7: dup
      // 0c8: bipush 1
      // 0c9: aload 5
      // 0cb: invokestatic com/l7tech/util/ExceptionUtils.getMessage (Ljava/lang/Throwable;)Ljava/lang/String;
      // 0ce: aastore
      // 0cf: aload 5
      // 0d1: invokestatic com/l7tech/util/ExceptionUtils.getDebugException (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 0d4: invokevirtual com/l7tech/server/policy/assertion/xml/ServerXslTransformation.logAndAudit (Lcom/l7tech/gateway/common/audit/AuditDetailMessage;[Ljava/lang/String;Ljava/lang/Throwable;)V
      // 0d7: getstatic com/l7tech/policy/assertion/AssertionStatus.SERVER_ERROR Lcom/l7tech/policy/assertion/AssertionStatus;
      // 0da: areturn
      // 0db: astore 5
      // 0dd: aload 0
      // 0de: getstatic com/l7tech/gateway/common/audit/AssertionMessages.XSLT_BAD_EXT_XSL Lcom/l7tech/gateway/common/audit/Messages$M;
      // 0e1: bipush 2
      // 0e2: anewarray 640
      // 0e5: dup
      // 0e6: bipush 0
      // 0e7: aload 5
      // 0e9: invokevirtual com/l7tech/server/util/res/ResourceGetter$ResourceParseException.getUrl ()Ljava/lang/String;
      // 0ec: aastore
      // 0ed: dup
      // 0ee: bipush 1
      // 0ef: aload 5
      // 0f1: invokestatic com/l7tech/util/ExceptionUtils.getMessage (Ljava/lang/Throwable;)Ljava/lang/String;
      // 0f4: aastore
      // 0f5: aload 5
      // 0f7: invokestatic com/l7tech/util/ExceptionUtils.getDebugException (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 0fa: invokevirtual com/l7tech/server/policy/assertion/xml/ServerXslTransformation.logAndAudit (Lcom/l7tech/gateway/common/audit/AuditDetailMessage;[Ljava/lang/String;Ljava/lang/Throwable;)V
      // 0fd: getstatic com/l7tech/policy/assertion/AssertionStatus.SERVER_ERROR Lcom/l7tech/policy/assertion/AssertionStatus;
      // 100: areturn
      // 101: astore 5
      // 103: aload 0
      // 104: getstatic com/l7tech/gateway/common/audit/AssertionMessages.XSLT_CANT_READ_XSL Lcom/l7tech/gateway/common/audit/Messages$M;
      // 107: bipush 2
      // 108: anewarray 640
      // 10b: dup
      // 10c: bipush 0
      // 10d: getstatic com/l7tech/server/policy/assertion/xml/ServerXslTransformation.k [Ljava/lang/String;
      // 110: astore 9
      // 112: aload 9
      // 114: bipush 6
      // 116: aaload
      // 117: aastore
      // 118: dup
      // 119: bipush 1
      // 11a: aload 5
      // 11c: invokestatic com/l7tech/util/ExceptionUtils.getMessage (Ljava/lang/Throwable;)Ljava/lang/String;
      // 11f: aastore
      // 120: invokevirtual com/l7tech/server/policy/assertion/xml/ServerXslTransformation.logAndAudit (Lcom/l7tech/gateway/common/audit/AuditDetailMessage;[Ljava/lang/String;)V
      // 123: getstatic com/l7tech/policy/assertion/AssertionStatus.SERVER_ERROR Lcom/l7tech/policy/assertion/AssertionStatus;
      // 126: areturn
      // 127: astore 5
      // 129: aload 0
      // 12a: getstatic com/l7tech/gateway/common/audit/AssertionMessages.XSLT_NO_PI Lcom/l7tech/gateway/common/audit/Messages$M;
      // 12d: invokevirtual com/l7tech/server/policy/assertion/xml/ServerXslTransformation.logAndAudit (Lcom/l7tech/gateway/common/audit/AuditDetailMessage;)V
      // 130: getstatic com/l7tech/policy/assertion/AssertionStatus.BAD_REQUEST Lcom/l7tech/policy/assertion/AssertionStatus;
      // 133: areturn
      // 134: astore 5
      // 136: getstatic com/l7tech/policy/assertion/AssertionStatus.SERVER_ERROR Lcom/l7tech/policy/assertion/AssertionStatus;
      // 139: astore 6
      // 13b: aload 5
      // 13d: invokevirtual javax/xml/transform/TransformerException.getCause ()Ljava/lang/Throwable;
      // 140: astore 7
      // 142: aload 7
      // 144: ifnull 15f
      // 147: getstatic com/l7tech/server/policy/assertion/xml/ServerXslTransformation.k [Ljava/lang/String;
      // 14a: bipush 32
      // 14c: aaload
      // 14d: aload 7
      // 14f: invokevirtual java/lang/Throwable.getMessage ()Ljava/lang/String;
      // 152: invokevirtual java/lang/String.equals (Ljava/lang/Object;)Z
      // 155: ifne 183
      // 158: goto 15f
      // 15b: invokestatic com/l7tech/server/policy/assertion/xml/ServerXslTransformation.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 15e: athrow
      // 15f: aload 7
      // 161: ifnonnull 18b
      // 164: goto 16b
      // 167: invokestatic com/l7tech/server/policy/assertion/xml/ServerXslTransformation.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 16a: athrow
      // 16b: getstatic com/l7tech/server/policy/assertion/xml/ServerXslTransformation.k [Ljava/lang/String;
      // 16e: bipush 33
      // 170: aaload
      // 171: aload 5
      // 173: invokevirtual javax/xml/transform/TransformerException.getMessage ()Ljava/lang/String;
      // 176: invokevirtual java/lang/String.equals (Ljava/lang/Object;)Z
      // 179: ifeq 18b
      // 17c: goto 183
      // 17f: invokestatic com/l7tech/server/policy/assertion/xml/ServerXslTransformation.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 182: athrow
      // 183: getstatic com/l7tech/policy/assertion/AssertionStatus.FALSIFIED Lcom/l7tech/policy/assertion/AssertionStatus;
      // 186: astore 6
      // 188: goto 1b3
      // 18b: aload 5
      // 18d: invokestatic com/l7tech/util/ExceptionUtils.getMessage (Ljava/lang/Throwable;)Ljava/lang/String;
      // 190: getstatic com/l7tech/server/policy/assertion/xml/ServerXslTransformation.k [Ljava/lang/String;
      // 193: bipush 29
      // 195: aaload
      // 196: swap
      // 197: invokedynamic makeConcatWithConstants (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; bsm=java/lang/invoke/StringConcatFactory.makeConcatWithConstants (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite; args=[ "\u0001\u0001" ]
      // 19c: astore 8
      // 19e: aload 0
      // 19f: getstatic com/l7tech/gateway/common/audit/AssertionMessages.EXCEPTION_WARNING_WITH_MORE_INFO Lcom/l7tech/gateway/common/audit/Messages$M;
      // 1a2: bipush 1
      // 1a3: anewarray 640
      // 1a6: dup
      // 1a7: bipush 0
      // 1a8: aload 8
      // 1aa: aastore
      // 1ab: aload 5
      // 1ad: invokestatic com/l7tech/util/ExceptionUtils.getDebugException (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 1b0: invokevirtual com/l7tech/server/policy/assertion/xml/ServerXslTransformation.logAndAudit (Lcom/l7tech/gateway/common/audit/AuditDetailMessage;[Ljava/lang/String;Ljava/lang/Throwable;)V
      // 1b3: aload 6
      // 1b5: areturn
      // try (8 -> 13): 14 com/l7tech/server/util/res/ResourceGetter$InvalidMessageException
      // try (0 -> 20): 45 com/l7tech/server/util/res/ResourceGetter$InvalidMessageException
      // try (21 -> 35): 45 com/l7tech/server/util/res/ResourceGetter$InvalidMessageException
      // try (36 -> 44): 45 com/l7tech/server/util/res/ResourceGetter$InvalidMessageException
      // try (0 -> 20): 51 org/xml/sax/SAXException
      // try (21 -> 35): 51 org/xml/sax/SAXException
      // try (36 -> 44): 51 org/xml/sax/SAXException
      // try (0 -> 20): 57 com/l7tech/server/util/res/ResourceGetter$MalformedResourceUrlException
      // try (21 -> 35): 57 com/l7tech/server/util/res/ResourceGetter$MalformedResourceUrlException
      // try (36 -> 44): 57 com/l7tech/server/util/res/ResourceGetter$MalformedResourceUrlException
      // try (0 -> 20): 78 com/l7tech/server/util/res/ResourceGetter$UrlNotPermittedException
      // try (21 -> 35): 78 com/l7tech/server/util/res/ResourceGetter$UrlNotPermittedException
      // try (36 -> 44): 78 com/l7tech/server/util/res/ResourceGetter$UrlNotPermittedException
      // try (0 -> 20): 91 com/l7tech/server/util/res/ResourceGetter$ResourceIOException
      // try (21 -> 35): 91 com/l7tech/server/util/res/ResourceGetter$ResourceIOException
      // try (36 -> 44): 91 com/l7tech/server/util/res/ResourceGetter$ResourceIOException
      // try (0 -> 20): 111 com/l7tech/server/util/res/ResourceGetter$ResourceParseException
      // try (21 -> 35): 111 com/l7tech/server/util/res/ResourceGetter$ResourceParseException
      // try (36 -> 44): 111 com/l7tech/server/util/res/ResourceGetter$ResourceParseException
      // try (0 -> 20): 131 java/security/GeneralSecurityException
      // try (21 -> 35): 131 java/security/GeneralSecurityException
      // try (36 -> 44): 131 java/security/GeneralSecurityException
      // try (0 -> 20): 152 com/l7tech/server/util/res/ResourceGetter$UrlNotFoundException
      // try (21 -> 35): 152 com/l7tech/server/util/res/ResourceGetter$UrlNotFoundException
      // try (36 -> 44): 152 com/l7tech/server/util/res/ResourceGetter$UrlNotFoundException
      // try (0 -> 20): 158 javax/xml/transform/TransformerException
      // try (21 -> 35): 158 javax/xml/transform/TransformerException
      // try (36 -> 44): 158 javax/xml/transform/TransformerException
      // try (164 -> 173): 174 com/l7tech/server/util/res/ResourceGetter$InvalidMessageException
      // try (166 -> 178): 179 com/l7tech/server/util/res/ResourceGetter$InvalidMessageException
      // try (176 -> 188): 189 com/l7tech/server/util/res/ResourceGetter$InvalidMessageException
   }

   private ErrorListener a(LinkedHashSet<String> var1) {
      return new n(this, var1);
   }

   private String a() {
      return this.assertion.getMsgVarPrefix() + "." + XslTransformation.VARIABLE_NAME;
   }

   private String a(XmlKnob param1) throws SAXException, InvalidDocumentFormatException, IOException {
      // $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: invokeinterface com/l7tech/message/XmlKnob.isDomParsed ()Z 1
      // 06: ifne 09
      // 09: aload 1
      // 0a: invokeinterface com/l7tech/message/XmlKnob.getElementCursor ()Lcom/l7tech/xml/ElementCursor; 1
      // 0f: astore 2
      // 10: aload 2
      // 11: invokevirtual com/l7tech/xml/ElementCursor.moveToRoot ()V
      // 14: aconst_null
      // 15: astore 3
      // 16: aload 2
      // 17: getstatic com/l7tech/server/policy/assertion/xml/ServerXslTransformation.f Lcom/l7tech/xml/xpath/CompiledXpath;
      // 1a: invokevirtual com/l7tech/xml/ElementCursor.getXpathResult (Lcom/l7tech/xml/xpath/CompiledXpath;)Lcom/l7tech/xml/xpath/XpathResult;
      // 1d: astore 3
      // 1e: goto 54
      // 21: astore 4
      // 23: aload 0
      // 24: getfield com/l7tech/server/policy/assertion/xml/ServerXslTransformation.logger Ljava/util/logging/Logger;
      // 27: getstatic java/util/logging/Level.WARNING Ljava/util/logging/Level;
      // 2a: invokevirtual java/util/logging/Logger.isLoggable (Ljava/util/logging/Level;)Z
      // 2d: ifeq 54
      // 30: aload 0
      // 31: getfield com/l7tech/server/policy/assertion/xml/ServerXslTransformation.logger Ljava/util/logging/Logger;
      // 34: getstatic java/util/logging/Level.WARNING Ljava/util/logging/Level;
      // 37: aload 4
      // 39: invokestatic com/l7tech/util/ExceptionUtils.getMessage (Ljava/lang/Throwable;)Ljava/lang/String;
      // 3c: getstatic com/l7tech/server/policy/assertion/xml/ServerXslTransformation.k [Ljava/lang/String;
      // 3f: bipush 27
      // 41: aaload
      // 42: swap
      // 43: invokedynamic makeConcatWithConstants (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; bsm=java/lang/invoke/StringConcatFactory.makeConcatWithConstants (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite; args=[ "\u0001\u0001" ]
      // 48: aload 4
      // 4a: invokevirtual java/util/logging/Logger.log (Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
      // 4d: goto 54
      // 50: invokestatic com/l7tech/server/policy/assertion/xml/ServerXslTransformation.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 53: athrow
      // 54: aload 3
      // 55: ifnull c1
      // 58: aload 3
      // 59: invokeinterface com/l7tech/xml/xpath/XpathResult.getNodeSet ()Lcom/l7tech/xml/xpath/XpathResultNodeSet; 1
      // 5e: astore 4
      // 60: aload 4
      // 62: ifnull c1
      // 65: aload 4
      // 67: invokeinterface com/l7tech/xml/xpath/XpathResultNodeSet.isEmpty ()Z 1
      // 6c: ifne c1
      // 6f: goto 76
      // 72: invokestatic com/l7tech/server/policy/assertion/xml/ServerXslTransformation.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 75: athrow
      // 76: aload 4
      // 78: invokeinterface com/l7tech/xml/xpath/XpathResultNodeSet.size ()I 1
      // 7d: bipush 1
      // 7e: if_icmpeq 9b
      // 81: goto 88
      // 84: invokestatic com/l7tech/server/policy/assertion/xml/ServerXslTransformation.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 87: athrow
      // 88: aload 0
      // 89: getstatic com/l7tech/gateway/common/audit/AssertionMessages.XSLT_MULTIPLE_PIS Lcom/l7tech/gateway/common/audit/Messages$M;
      // 8c: invokevirtual com/l7tech/server/policy/assertion/xml/ServerXslTransformation.logAndAudit (Lcom/l7tech/gateway/common/audit/AuditDetailMessage;)V
      // 8f: new com/l7tech/util/InvalidDocumentFormatException
      // 92: dup
      // 93: invokespecial com/l7tech/util/InvalidDocumentFormatException.<init> ()V
      // 96: athrow
      // 97: invokestatic com/l7tech/server/policy/assertion/xml/ServerXslTransformation.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 9a: athrow
      // 9b: aload 4
      // 9d: bipush 0
      // 9e: invokeinterface com/l7tech/xml/xpath/XpathResultNodeSet.getNodeValue (I)Ljava/lang/String; 2
      // a3: astore 5
      // a5: aload 0
      // a6: aload 5
      // a8: invokevirtual com/l7tech/server/policy/assertion/xml/ServerXslTransformation.a (Ljava/lang/String;)Ljava/lang/String;
      // ab: astore 6
      // ad: aload 6
      // af: ifnonnull ba
      // b2: aconst_null
      // b3: goto c0
      // b6: invokestatic com/l7tech/server/policy/assertion/xml/ServerXslTransformation.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // b9: athrow
      // ba: aload 0
      // bb: aload 6
      // bd: invokevirtual com/l7tech/server/policy/assertion/xml/ServerXslTransformation.c (Ljava/lang/String;)Ljava/lang/String;
      // c0: areturn
      // c1: aconst_null
      // c2: areturn
      // try (10 -> 14): 15 javax/xml/xpath/XPathExpressionException
      // try (16 -> 33): 34 javax/xml/xpath/XPathExpressionException
      // try (41 -> 46): 47 javax/xml/xpath/XPathExpressionException
      // try (43 -> 53): 54 javax/xml/xpath/XPathExpressionException
      // try (49 -> 63): 63 javax/xml/xpath/XPathExpressionException
      // try (73 -> 77): 77 javax/xml/xpath/XPathExpressionException
   }

   @Nullable
   private String a(String var1) throws SAXException {
      try {
         String[] var6 = k;
         String var2 = var6[23] + var1 + var6[18];
         String[] var3 = new String[]{null, null};
         this.a(var2, new o(this, var3));
         String var4 = var3[0];
         String var5 = var3[1];
         if (!var6[15].equals(var5)) {
            this.logger.fine(var6[11]);
            return null;
         } else {
            return var4;
         }
      } catch (ParserConfigurationException var7) {
         throw new RuntimeException(var7);
      } catch (IOException var8) {
         throw new RuntimeException(var8);
      }
   }

   void a(String var1, DefaultHandler var2) throws IOException, SAXException, ParserConfigurationException {
      String[] var3 = k;
      d.setFeature(var3[16], true);
      d.setFeature(var3[19], false);
      d.setFeature(var3[4], false);
      d.newSAXParser().parse(new ByteArrayInputStream(var1.getBytes()), var2);
   }

   private static TransformInput a(XmlKnob var0, Unary<Object, String> var1) throws IOException, SAXException {
      return new TransformInput(var0, null, var1);
   }

   private TransformInput a(PartInfo var1, Unary<Object, String> var2) throws IOException, SAXException {
      try {
         Message var3 = new Message(new ByteArrayStashManager(), ContentTypeHeader.XML_DEFAULT, var1.getInputStream(false));
         return new TransformInput(var3.getXmlKnob(), var3, var2);
      } catch (NoSuchPartException var4) {
         throw new IOException(k[37]);
      }
   }

   private static String b(@NotNull String var0) {
      try {
         if (var0 == null) {
            b(0);
         }
      } catch (IllegalStateException var2) {
         throw a(var2);
      }

      try {
         return var0.endsWith(k[35]) ? k[1] : null;
      } catch (IllegalStateException var1) {
         throw a(var1);
      }
   }

   private String c(@NotNull String var1) {
      try {
         if (var1 == null) {
            b(1);
         }
      } catch (IllegalStateException var2) {
         throw a(var2);
      }

      try {
         if (k[39].equals(this.assertion.getXsltVersion())) {
            return var1 + k[36];
         }
      } catch (IllegalStateException var3) {
         throw a(var3);
      }

      return var1;
   }

   static {
      String[] var5 = new String[40];
      int var3 = 0;
      String var2 = "\u0002h\u0000\ty~I\u000fr\u0000?[qT\u0005n\r\u0003X2D>+n\u0013\fWwN\u001e<\u0012\u0016H2`$s\u00007O~LJl\u0015\u000b[\u007fE\u001ey\u0006Y\u001d7SM<\u001b\u001f\u001a7SD9\u0007YWgS\u001e<\u001a\u0016N2B\u000f<\u001a\fV~\u0015\ry\u0000!I~T<y\u0006\nS}N,n\u001b\u0014o`L7\u0002h\u0000\t\u0000=\u000f\u0012q\u0018WU`GEo\u0015\u0001\u0015tE\u000bh\u0001\u000b_a\u000f\u000fd\u0000\u001cH|A\u00061\u0004\u0018HsM\u000fh\u0011\u000b\u0017wN\u001eu\u0000\u0010_a>\ts\u0019VV%T\u000f\u007f\u001cVIwR\u001cy\u0006VJ}L\u0003\u007f\rV[aS\u000fn\u0000\u0010U|\u000f\u0012q\u0018ViwR\u001cy\u0006!I~t\u0018}\u001a\n\\}R\u0007}\u0000\u0010U|*\"H )i2U\u0018pNYO|A\bp\u0011YN}\u0000\tn\u0011\u0018Nw\u0000\u000brT*i^\u0000\ts\u001a\r_jT(\u001an\u001b\u001a_aS\u0003r\u0013TS|S\u001en\u0001\u001aN{O\u00044S\u0001W~\r\u0019h\r\u0015_aH\u000fy\u0000^\u0013$#r\u0000\u001cH|A\u0006<\u0007\u001cHdE\u0018<\u0011\u000bH}RP<\u001a\fV~\u0000\u0018y\u0007\u0016O`C\u000f\u0013\u0012o\u0018\rwsX)}\u0017\u0011_WN\u001en\u001d\u001cI\u0005Dp\u0015\nN@#{\u001a\u0016H{N\r<\f\u0014V?S\u001ee\u0018\u001cIzE\u000fhT\tH}C\u000fo\u0007\u0010Tu\u0000\u0003r\u0007\rHgC\u001eu\u001b\u0017\u001aeI\u001etT\u0017U|\r2O8YNkP\u000f\u000e?N8YSa\u0000\u0003r\u0002\u0018V{D\u000f\u0012o\u0018\rwsX)}\u0017\u0011_SG\u000f\u0006Dz\u001d\u000bIf\b\u001ey\f\r\u0015jS\u00064\u0002h\u0000\t\u0000=\u000f\u000bl\u0015\u001aRw\u000e\u0005n\u0013VB\u007fLEz\u0011\u0018NgR\u000fo[\u001dSaA\u0006p\u001b\u000e\u0017vO\th\r\t_?D\u000f\u007f\u0018\u0006Dz\u001d\u000bIf\u0003J3J5\u0002h\u0000\t\u0000=\u000f\u0012q\u0018WU`GEo\u0015\u0001\u0015tE\u000bh\u0001\u000b_a\u000f\u000fd\u0000\u001cH|A\u00061\u0013\u001cTwR\u000bpY\u001cTfI\u001eu\u0011\n\u0014\u0012o\u0018\rwsX9h\u0015\u0015_QA\tt\u00118]w\u0014\u0012o\u0018\rwsX9h\u0015\u0015_QA\tt\u00118]w\u0013\u0012o\u0018\rwsX)}\u0017\u0011_WN\u001en\u001d\u001cI\u0007Vx\u0001\u0014Wk\u0000\u000f\u0012o\u0018\rwsX)}\u0017\u0011_SG\u000f\u00052O8Tn\u0017\u000ey\u0017\u0016HsT\u000fK\u001d\rRJS\u0006h\"\u001cHaI\u0005r\u000e2L\u0015\rR2F\u000bu\u0018\u001c^(\u0000\u0015\u0012o\u0018=Uqm\u000bd0\u0016M|L\u0005}\u0010*ShE\u001d/n\u0006\u0016H2T\u0018}\u001a\n\\}R\u0007u\u001a\u001e\u001avO\ti\u0019\u001cTf\u001aJ\u001f>}\u0006\u001e_f\u0000\u0007y\u0007\n[uEJj\u0015\u000bSsB\u0006yT\u0017Uf\u0000\u0019y\u0000\u0019$sT\u0011NfP)p\u001d\u001cTff\u000b\u007f\u0000\u0016Hk\u0000\by\u0015\u0017\t\u001ey\u0006\u0014S|A\u001ey\u001f9h\r\u0015_aH\u000fy\u0000Y^{R\u000f\u007f\u0000\u001c^2T\u000fn\u0019\u0010TsT\u0003s\u001a\u0005Dp\u0015\nN\u0007Id\u0007\u0015N \u0010\u0007Id\u0007\u0015N \u0010-'U9<\u001abA\u0018hT\u0011[a\u0000\u000bp\u0006\u001c[vYJ~\u0011\u001cT2D\u000fo\u0000\u000bOqT\u0003j\u0011\u0015C2R\u000f}\u0010";
      int var4 = "\u0002h\u0000\ty~I\u000fr\u0000?[qT\u0005n\r\u0003X2D>+n\u0013\fWwN\u001e<\u0012\u0016H2`$s\u00007O~LJl\u0015\u000b[\u007fE\u001ey\u0006Y\u001d7SM<\u001b\u001f\u001a7SD9\u0007YWgS\u001e<\u001a\u0016N2B\u000f<\u001a\fV~\u0015\ry\u0000!I~T<y\u0006\nS}N,n\u001b\u0014o`L7\u0002h\u0000\t\u0000=\u000f\u0012q\u0018WU`GEo\u0015\u0001\u0015tE\u000bh\u0001\u000b_a\u000f\u000fd\u0000\u001cH|A\u00061\u0004\u0018HsM\u000fh\u0011\u000b\u0017wN\u001eu\u0000\u0010_a>\ts\u0019VV%T\u000f\u007f\u001cVIwR\u001cy\u0006VJ}L\u0003\u007f\rV[aS\u000fn\u0000\u0010U|\u000f\u0012q\u0018ViwR\u001cy\u0006!I~t\u0018}\u001a\n\\}R\u0007}\u0000\u0010U|*\"H )i2U\u0018pNYO|A\bp\u0011YN}\u0000\tn\u0011\u0018Nw\u0000\u000brT*i^\u0000\ts\u001a\r_jT(\u001an\u001b\u001a_aS\u0003r\u0013TS|S\u001en\u0001\u001aN{O\u00044S\u0001W~\r\u0019h\r\u0015_aH\u000fy\u0000^\u0013$#r\u0000\u001cH|A\u0006<\u0007\u001cHdE\u0018<\u0011\u000bH}RP<\u001a\fV~\u0000\u0018y\u0007\u0016O`C\u000f\u0013\u0012o\u0018\rwsX)}\u0017\u0011_WN\u001en\u001d\u001cI\u0005Dp\u0015\nN@#{\u001a\u0016H{N\r<\f\u0014V?S\u001ee\u0018\u001cIzE\u000fhT\tH}C\u000fo\u0007\u0010Tu\u0000\u0003r\u0007\rHgC\u001eu\u001b\u0017\u001aeI\u001etT\u0017U|\r2O8YNkP\u000f\u000e?N8YSa\u0000\u0003r\u0002\u0018V{D\u000f\u0012o\u0018\rwsX)}\u0017\u0011_SG\u000f\u0006Dz\u001d\u000bIf\b\u001ey\f\r\u0015jS\u00064\u0002h\u0000\t\u0000=\u000f\u000bl\u0015\u001aRw\u000e\u0005n\u0013VB\u007fLEz\u0011\u0018NgR\u000fo[\u001dSaA\u0006p\u001b\u000e\u0017vO\th\r\t_?D\u000f\u007f\u0018\u0006Dz\u001d\u000bIf\u0003J3J5\u0002h\u0000\t\u0000=\u000f\u0012q\u0018WU`GEo\u0015\u0001\u0015tE\u000bh\u0001\u000b_a\u000f\u000fd\u0000\u001cH|A\u00061\u0013\u001cTwR\u000bpY\u001cTfI\u001eu\u0011\n\u0014\u0012o\u0018\rwsX9h\u0015\u0015_QA\tt\u00118]w\u0014\u0012o\u0018\rwsX9h\u0015\u0015_QA\tt\u00118]w\u0013\u0012o\u0018\rwsX)}\u0017\u0011_WN\u001en\u001d\u001cI\u0007Vx\u0001\u0014Wk\u0000\u000f\u0012o\u0018\rwsX)}\u0017\u0011_SG\u000f\u00052O8Tn\u0017\u000ey\u0017\u0016HsT\u000fK\u001d\rRJS\u0006h\"\u001cHaI\u0005r\u000e2L\u0015\rR2F\u000bu\u0018\u001c^(\u0000\u0015\u0012o\u0018=Uqm\u000bd0\u0016M|L\u0005}\u0010*ShE\u001d/n\u0006\u0016H2T\u0018}\u001a\n\\}R\u0007u\u001a\u001e\u001avO\ti\u0019\u001cTf\u001aJ\u001f>}\u0006\u001e_f\u0000\u0007y\u0007\n[uEJj\u0015\u000bSsB\u0006yT\u0017Uf\u0000\u0019y\u0000\u0019$sT\u0011NfP)p\u001d\u001cTff\u000b\u007f\u0000\u0016Hk\u0000\by\u0015\u0017\t\u001ey\u0006\u0014S|A\u001ey\u001f9h\r\u0015_aH\u000fy\u0000Y^{R\u000f\u007f\u0000\u001c^2T\u000fn\u0019\u0010TsT\u0003s\u001a\u0005Dp\u0015\nN\u0007Id\u0007\u0015N \u0010\u0007Id\u0007\u0015N \u0010-'U9<\u001abA\u0018hT\u0011[a\u0000\u000bp\u0006\u001c[vYJ~\u0011\u001cT2D\u000fo\u0000\u000bOqT\u0003j\u0011\u0015C2R\u000f}\u0010"
         .length();
      char var1 = 17;
      int var9 = -1;

      label34:
      while (true) {
         byte var10000 = 60;
         String var10001 = var2.substring(++var9, var9 + var1);
         byte var10002 = -1;

         while (true) {
            String var11 = b(var10000, d(var10001));
            switch (var10002) {
               case 0:
                  var5[var3++] = var11;
                  if ((var9 += var1) >= var4) {
                     k = var5;
                     d = SAXParserFactory.newInstance();
                     e = null;
                     d.setNamespaceAware(false);
                     d.setValidating(false);
                     ConfigurationListener var6 = var0 -> {
                        try {
                           if (e != null) {
                              ((HttpObjectCache)e).setMaxCacheAge(ConfigFactory.getIntProperty(k[24], 300000));
                           }
                        } catch (IllegalStateException var1x) {
                           throw a(var1x);
                        }
                     };
                     String[] var12 = new String[1];
                     String[] var10 = k;
                     var12[0] = var10[13];
                     ConfigFactory.addListener(var6, var12);

                     try {
                        f = new XpathExpression(var10[7]).compile();
                     } catch (InvalidXpathException var7) {
                        throw new RuntimeException(var7);
                     }

                     g = new g();
                     return;
                  }

                  var1 = var2.charAt(var9);
                  break;
               default:
                  var5[var3++] = var11;
                  if ((var9 += var1) < var4) {
                     var1 = var2.charAt(var9);
                     continue label34;
                  }

                  var2 = "=L:\blBk&Y\u0003z\u0010f";
                  var4 = "=L:\blBk&Y\u0003z\u0010f".length();
                  var1 = '\t';
                  var9 = -1;
            }

            var10000 = 30;
            var10001 = var2.substring(++var9, var9 + var1);
            var10002 = 0;
         }
      }
   }

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

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

      return var10000;
   }

   private static String b(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 -> 86;
            case 1 -> 32;
            case 2 -> 72;
            case 3 -> 69;
            case 4 -> 6;
            case 5 -> 46;
            default -> 28;
         });
      }

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