package com.l7tech.security.wstrust;

import com.l7tech.common.http.GenericHttpClient;
import com.l7tech.security.token.SecurityTokenType;
import com.l7tech.security.token.UsernameTokenImpl;
import com.l7tech.security.token.XmlSecurityToken;
import com.l7tech.security.xml.UnexpectedKeyInfoException;
import com.l7tech.security.xml.processor.ProcessorException;
import com.l7tech.util.ConfigFactory;
import com.l7tech.util.DomUtils;
import com.l7tech.util.InvalidDocumentFormatException;
import com.l7tech.util.MissingRequiredElementException;
import com.l7tech.util.SoapConstants;
import com.l7tech.xml.MessageNotSoapException;
import com.l7tech.xml.SoapFaultDetail;
import com.l7tech.xml.UnsupportedDocumentFormatException;
import com.l7tech.xml.WsTrustRequestType;
import com.l7tech.xml.saml.SamlAssertion;
import com.l7tech.xml.soap.SoapFaultUtils;
import com.l7tech.xml.soap.SoapUtil;
import com.l7tech.xml.soap.SoapVersion;
import java.io.IOException;
import java.net.PasswordAuthentication;
import java.net.URL;
import java.security.GeneralSecurityException;
import java.security.PrivateKey;
import java.security.cert.CertificateException;
import java.security.cert.X509Certificate;
import java.util.Date;
import java.util.logging.Logger;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.xml.sax.SAXException;

public class TokenServiceClient {
   public static final Logger log;
   private final WsTrustConfig a;
   private final GenericHttpClient b;
   private final String c;
   private static final String[] d;

   public TokenServiceClient(WsTrustConfig var1) {
      this(var1, null, null);
   }

   public TokenServiceClient(WsTrustConfig var1, GenericHttpClient var2) {
      this(var1, var2, null);
   }

   public TokenServiceClient(WsTrustConfig var1, GenericHttpClient var2, SoapVersion var3) {
      if (var1 == null) {
         throw new NullPointerException();
      }

      TokenServiceClient var10000;
      String var10001;
      label33: {
         try {
            this.a = var1;
            this.b = var2;
            var10000 = this;
            if (var3 != null) {
               var10001 = var3.getNamespaceUri();
               break label33;
            }
         } catch (NullPointerException var5) {
            throw a(var5);
         }

         try {
            if (ConfigFactory.getBooleanProperty(d[36], false)) {
               var10001 = d[23];
               break label33;
            }
         } catch (NullPointerException var4) {
            throw a(var4);
         }

         var10001 = d[3];
      }

      var10000.c = var10001;
   }

   public Document createRequestSecurityTokenMessage(
      X509Certificate param1,
      PrivateKey param2,
      SecurityTokenType param3,
      WsTrustRequestType param4,
      XmlSecurityToken param5,
      String param6,
      String param7,
      Date param8
   ) throws CertificateException {
      // $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: getfield com/l7tech/security/wstrust/TokenServiceClient.a Lcom/l7tech/security/wstrust/WsTrustConfig;
      // 04: aload 0
      // 05: getfield com/l7tech/security/wstrust/TokenServiceClient.c Ljava/lang/String;
      // 08: aload 3
      // 09: aload 4
      // 0b: aload 6
      // 0d: aload 7
      // 0f: aconst_null
      // 10: bipush 0
      // 11: lconst_0
      // 12: aload 5
      // 14: ifnonnull 1f
      // 17: aconst_null
      // 18: goto 26
      // 1b: invokestatic com/l7tech/security/wstrust/TokenServiceClient.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 1e: athrow
      // 1f: aload 5
      // 21: invokeinterface com/l7tech/security/token/XmlSecurityToken.asElement ()Lorg/w3c/dom/Element; 1
      // 26: invokevirtual com/l7tech/security/wstrust/WsTrustConfig.makeRequestSecurityTokenMessage (Ljava/lang/String;Lcom/l7tech/security/token/SecurityTokenType;Lcom/l7tech/xml/WsTrustRequestType;Ljava/lang/String;Ljava/lang/String;[BIJLorg/w3c/dom/Element;)Lorg/w3c/dom/Document;
      // 29: astore 9
      // 2b: aload 9
      // 2d: invokeinterface org/w3c/dom/Document.getDocumentElement ()Lorg/w3c/dom/Element; 1
      // 32: astore 10
      // 34: aload 10
      // 36: aload 10
      // 38: invokeinterface org/w3c/dom/Element.getNamespaceURI ()Ljava/lang/String; 1
      // 3d: getstatic com/l7tech/security/wstrust/TokenServiceClient.d [Ljava/lang/String;
      // 40: bipush 6
      // 42: aaload
      // 43: invokestatic com/l7tech/util/DomUtils.findFirstChildElementByName (Lorg/w3c/dom/Node;Ljava/lang/String;Ljava/lang/String;)Lorg/w3c/dom/Element;
      // 46: astore 11
      // 48: new com/l7tech/security/xml/decorator/WssDecoratorImpl
      // 4b: dup
      // 4c: invokespecial com/l7tech/security/xml/decorator/WssDecoratorImpl.<init> ()V
      // 4f: astore 12
      // 51: new com/l7tech/security/xml/decorator/DecorationRequirements
      // 54: dup
      // 55: invokespecial com/l7tech/security/xml/decorator/DecorationRequirements.<init> ()V
      // 58: astore 13
      // 5a: aload 2
      // 5b: ifnull 8f
      // 5e: aload 1
      // 5f: ifnull 8f
      // 62: goto 69
      // 65: invokestatic com/l7tech/security/wstrust/TokenServiceClient.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 68: athrow
      // 69: aload 13
      // 6b: aload 1
      // 6c: invokevirtual com/l7tech/security/xml/decorator/DecorationRequirements.setSenderMessageSigningCertificate (Ljava/security/cert/X509Certificate;)V
      // 6f: aload 13
      // 71: aload 2
      // 72: invokevirtual com/l7tech/security/xml/decorator/DecorationRequirements.setSenderMessageSigningPrivateKey (Ljava/security/PrivateKey;)V
      // 75: aload 13
      // 77: bipush 1
      // 78: invokevirtual com/l7tech/security/xml/decorator/DecorationRequirements.setSignTimestamp (Z)V
      // 7b: aload 13
      // 7d: invokevirtual com/l7tech/security/xml/decorator/DecorationRequirements.getElementsToSign ()Ljava/util/Set;
      // 80: aload 11
      // 82: invokeinterface java/util/Set.add (Ljava/lang/Object;)Z 2
      // 87: pop
      // 88: goto 8f
      // 8b: invokestatic com/l7tech/security/wstrust/TokenServiceClient.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 8e: athrow
      // 8f: aload 13
      // 91: aload 8
      // 93: invokevirtual com/l7tech/security/xml/decorator/DecorationRequirements.setTimestampCreatedDate (Ljava/util/Date;)V
      // 96: aload 13
      // 98: bipush 0
      // 99: invokevirtual com/l7tech/security/xml/decorator/DecorationRequirements.setIncludeTimestamp (Z)V
      // 9c: aload 12
      // 9e: new com/l7tech/message/Message
      // a1: dup
      // a2: aload 9
      // a4: invokespecial com/l7tech/message/Message.<init> (Lorg/w3c/dom/Document;)V
      // a7: aload 13
      // a9: invokeinterface com/l7tech/security/xml/decorator/WssDecorator.decorateMessage (Lcom/l7tech/message/Message;Lcom/l7tech/security/xml/decorator/DecorationRequirements;)Lcom/l7tech/security/xml/decorator/WssDecorator$DecorationResult; 3
      // ae: pop
      // af: aload 9
      // b1: areturn
      // b2: astore 9
      // b4: new java/lang/RuntimeException
      // b7: dup
      // b8: aload 9
      // ba: invokespecial java/lang/RuntimeException.<init> (Ljava/lang/Throwable;)V
      // bd: athrow
      // be: astore 9
      // c0: new java/lang/RuntimeException
      // c3: dup
      // c4: aload 9
      // c6: invokespecial java/lang/RuntimeException.<init> (Ljava/lang/Throwable;)V
      // c9: athrow
      // ca: astore 9
      // cc: new java/lang/RuntimeException
      // cf: dup
      // d0: aload 9
      // d2: invokespecial java/lang/RuntimeException.<init> (Ljava/lang/Throwable;)V
      // d5: athrow
      // d6: astore 9
      // d8: aload 9
      // da: athrow
      // db: astore 9
      // dd: new java/lang/RuntimeException
      // e0: dup
      // e1: aload 9
      // e3: invokespecial java/lang/RuntimeException.<init> (Ljava/lang/Throwable;)V
      // e6: athrow
      // e7: astore 9
      // e9: new java/lang/RuntimeException
      // ec: dup
      // ed: aload 9
      // ef: invokespecial java/lang/RuntimeException.<init> (Ljava/lang/Throwable;)V
      // f2: athrow
      // try (42 -> 61): 62 java/io/IOException
      // try (40 -> 44): 45 java/io/IOException
      // try (0 -> 15): 15 java/io/IOException
      // try (0 -> 79): 80 java/io/IOException
      // try (0 -> 79): 86 org/xml/sax/SAXException
      // try (0 -> 79): 92 com/l7tech/util/InvalidDocumentFormatException
      // try (0 -> 79): 98 java/security/cert/CertificateException
      // try (0 -> 79): 101 java/security/GeneralSecurityException
      // try (0 -> 79): 107 com/l7tech/security/xml/decorator/DecoratorException
   }

   public Document createRequestSecurityTokenMessage(SecurityTokenType var1, WsTrustRequestType var2, XmlSecurityToken var3, String var4, String var5) {
      try {
         WsTrustConfig var10000;
         String var10001;
         SecurityTokenType var10002;
         WsTrustRequestType var10003;
         String var10004;
         String var10005;
         Object var10006;
         byte var10007;
         long var10008;
         try {
            var10000 = this.a;
            var10001 = this.c;
            var10002 = var1;
            var10003 = var2;
            var10004 = var4;
            var10005 = var5;
            var10006 = null;
            var10007 = 0;
            var10008 = 0L;
            if (var3 == null) {
               return this.a.makeRequestSecurityTokenMessage(this.c, var1, var2, var4, var5, null, 0, 0L, null);
            }
         } catch (SAXException var7) {
            throw a(var7);
         }

         return var10000.makeRequestSecurityTokenMessage(
            var10001, var10002, var10003, var10004, var10005, (byte[])var10006, var10007, var10008, var3.asElement()
         );
      } catch (SAXException var8) {
         throw new RuntimeException(var8);
      }
   }

   public Document createRequestSecurityTokenMessage(
      SecurityTokenType var1, WsTrustRequestType var2, Element var3, String var4, String var5, byte[] var6, int var7, long var8
   ) {
      try {
         return this.a.makeRequestSecurityTokenMessage(this.c, var1, var2, var4, var5, var6, var7, var8, var3);
      } catch (SAXException var11) {
         throw new RuntimeException(var11);
      }
   }

   public TokenServiceClient.SecureConversationSession obtainSecureConversationSessionUsingWssSignature(
      URL var1, Date var2, X509Certificate var3, X509Certificate var4, PrivateKey var5
   ) throws IOException, GeneralSecurityException, TokenServiceClient.UnrecognizedServerCertException {
      Document var6 = this.createRequestSecurityTokenMessage(var4, var5, SecurityTokenType.WSSC_CONTEXT, WsTrustRequestType.ISSUE, null, null, null, var2);
      Object var7 = this.a(var4, var1, var6, var5, var3, null, true);

      try {
         if (!(var7 instanceof TokenServiceClient.SecureConversationSession)) {
            throw new IOException(d[40] + var7.getClass());
         }
      } catch (IOException var8) {
         throw a(var8);
      }

      return (TokenServiceClient.SecureConversationSession)var7;
   }

   public TokenServiceClient.SecureConversationSession obtainSecureConversationSessionWithSslAndOptionalHttpBasic(
      PasswordAuthentication var1, URL var2, X509Certificate var3
   ) throws IOException, GeneralSecurityException, TokenServiceClient.UnrecognizedServerCertException {
      try {
         if (!d[15].equals(var2.getProtocol())) {
            throw new IllegalArgumentException(d[1]);
         }
      } catch (IOException var7) {
         throw a(var7);
      }

      Document var4 = this.createRequestSecurityTokenMessage(SecurityTokenType.WSSC_CONTEXT, WsTrustRequestType.ISSUE, null, null, null);
      Object var5 = this.a(null, var2, var4, null, var3, var1, false);

      try {
         if (!(var5 instanceof TokenServiceClient.SecureConversationSession)) {
            throw new IOException(d[40] + var5.getClass());
         }
      } catch (IOException var6) {
         throw a(var6);
      }

      return (TokenServiceClient.SecureConversationSession)var5;
   }

   public SamlAssertion obtainSamlAssertion(
      PasswordAuthentication param1,
      URL param2,
      X509Certificate param3,
      Date param4,
      X509Certificate param5,
      PrivateKey param6,
      WsTrustRequestType param7,
      SecurityTokenType param8,
      XmlSecurityToken param9,
      String param10,
      String param11,
      boolean param12
   ) throws IOException, GeneralSecurityException, TokenServiceClient.UnrecognizedServerCertException {
      // $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: getfield com/l7tech/security/wstrust/TokenServiceClient.b Lcom/l7tech/common/http/GenericHttpClient;
      // 04: ifnonnull 19
      // 07: new java/lang/IllegalStateException
      // 0a: dup
      // 0b: getstatic com/l7tech/security/wstrust/TokenServiceClient.d [Ljava/lang/String;
      // 0e: bipush 26
      // 10: aaload
      // 11: invokespecial java/lang/IllegalStateException.<init> (Ljava/lang/String;)V
      // 14: athrow
      // 15: invokestatic com/l7tech/security/wstrust/TokenServiceClient.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 18: athrow
      // 19: iload 12
      // 1b: ifeq 3b
      // 1e: aload 3
      // 1f: ifnonnull 3b
      // 22: goto 29
      // 25: invokestatic com/l7tech/security/wstrust/TokenServiceClient.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 28: athrow
      // 29: new java/lang/IllegalArgumentException
      // 2c: dup
      // 2d: getstatic com/l7tech/security/wstrust/TokenServiceClient.d [Ljava/lang/String;
      // 30: bipush 24
      // 32: aaload
      // 33: invokespecial java/lang/IllegalArgumentException.<init> (Ljava/lang/String;)V
      // 36: athrow
      // 37: invokestatic com/l7tech/security/wstrust/TokenServiceClient.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 3a: athrow
      // 3b: aload 4
      // 3d: ifnonnull 49
      // 40: new java/util/Date
      // 43: dup
      // 44: invokespecial java/util/Date.<init> ()V
      // 47: astore 4
      // 49: aload 0
      // 4a: aload 5
      // 4c: aload 6
      // 4e: aload 8
      // 50: aload 7
      // 52: aload 9
      // 54: aload 10
      // 56: aload 11
      // 58: aload 4
      // 5a: invokevirtual com/l7tech/security/wstrust/TokenServiceClient.createRequestSecurityTokenMessage (Ljava/security/cert/X509Certificate;Ljava/security/PrivateKey;Lcom/l7tech/security/token/SecurityTokenType;Lcom/l7tech/xml/WsTrustRequestType;Lcom/l7tech/security/token/XmlSecurityToken;Ljava/lang/String;Ljava/lang/String;Ljava/util/Date;)Lorg/w3c/dom/Document;
      // 5d: astore 13
      // 5f: aload 13
      // 61: invokeinterface org/w3c/dom/Document.getDocumentElement ()Lorg/w3c/dom/Element; 1
      // 66: getstatic com/l7tech/util/DomUtils.XMLNS_NS Ljava/lang/String;
      // 69: getstatic com/l7tech/security/wstrust/TokenServiceClient.d [Ljava/lang/String;
      // 6c: bipush 29
      // 6e: aaload
      // 6f: aload 8
      // 71: ifnonnull 7e
      // 74: getstatic com/l7tech/security/token/SecurityTokenType.SAML_ASSERTION Lcom/l7tech/security/token/SecurityTokenType;
      // 77: goto 80
      // 7a: invokestatic com/l7tech/security/wstrust/TokenServiceClient.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 7d: athrow
      // 7e: aload 8
      // 80: invokevirtual com/l7tech/security/token/SecurityTokenType.getWstPrototypeElementNs ()Ljava/lang/String;
      // 83: invokeinterface org/w3c/dom/Element.setAttributeNS (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V 4
      // 88: aload 0
      // 89: aload 5
      // 8b: aload 2
      // 8c: aload 13
      // 8e: aload 6
      // 90: aload 3
      // 91: aload 1
      // 92: iload 12
      // 94: invokevirtual com/l7tech/security/wstrust/TokenServiceClient.a (Ljava/security/cert/X509Certificate;Ljava/net/URL;Lorg/w3c/dom/Document;Ljava/security/PrivateKey;Ljava/security/cert/X509Certificate;Ljava/net/PasswordAuthentication;Z)Ljava/lang/Object;
      // 97: astore 14
      // 99: aload 14
      // 9b: instanceof com/l7tech/xml/saml/SamlAssertion
      // 9e: ifne c0
      // a1: new java/io/IOException
      // a4: dup
      // a5: aload 14
      // a7: invokevirtual java/lang/Object.getClass ()Ljava/lang/Class;
      // aa: invokestatic java/lang/String.valueOf (Ljava/lang/Object;)Ljava/lang/String;
      // ad: getstatic com/l7tech/security/wstrust/TokenServiceClient.d [Ljava/lang/String;
      // b0: bipush 4
      // b1: aaload
      // b2: swap
      // b3: 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" ]
      // b8: invokespecial java/io/IOException.<init> (Ljava/lang/String;)V
      // bb: athrow
      // bc: invokestatic com/l7tech/security/wstrust/TokenServiceClient.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // bf: athrow
      // c0: aload 14
      // c2: checkcast com/l7tech/xml/saml/SamlAssertion
      // c5: areturn
      // try (0 -> 10): 10 java/io/IOException
      // try (12 -> 16): 17 java/io/IOException
      // try (14 -> 26): 26 java/io/IOException
      // try (45 -> 55): 55 java/io/IOException
      // try (70 -> 85): 85 java/io/IOException
   }

   private Object a(
      X509Certificate param1, URL param2, Document param3, PrivateKey param4, X509Certificate param5, PasswordAuthentication param6, boolean param7
   ) throws IOException, GeneralSecurityException, TokenServiceClient.UnrecognizedServerCertException {
      // $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/security/wstrust/TokenServiceClient.b Lcom/l7tech/common/http/GenericHttpClient;
      // 004: ifnonnull 019
      // 007: new java/lang/IllegalStateException
      // 00a: dup
      // 00b: getstatic com/l7tech/security/wstrust/TokenServiceClient.d [Ljava/lang/String;
      // 00e: bipush 55
      // 010: aaload
      // 011: invokespecial java/lang/IllegalStateException.<init> (Ljava/lang/String;)V
      // 014: athrow
      // 015: invokestatic com/l7tech/security/wstrust/TokenServiceClient.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 018: athrow
      // 019: getstatic com/l7tech/security/wstrust/TokenServiceClient.d [Ljava/lang/String;
      // 01c: astore 15
      // 01e: aload 15
      // 020: bipush 28
      // 022: aaload
      // 023: astore 9
      // 025: aload 1
      // 026: ifnull 034
      // 029: aload 1
      // 02a: invokevirtual java/security/cert/X509Certificate.getSubjectDN ()Ljava/security/Principal;
      // 02d: invokeinterface java/security/Principal.getName ()Ljava/lang/String; 1
      // 032: astore 9
      // 034: getstatic com/l7tech/security/wstrust/TokenServiceClient.log Ljava/util/logging/Logger;
      // 037: getstatic java/util/logging/Level.INFO Ljava/util/logging/Level;
      // 03a: aload 9
      // 03c: aload 2
      // 03d: invokevirtual java/net/URL.toString ()Ljava/lang/String;
      // 040: getstatic com/l7tech/security/wstrust/TokenServiceClient.d [Ljava/lang/String;
      // 043: astore 15
      // 045: aload 15
      // 047: bipush 53
      // 049: aaload
      // 04a: dup_x2
      // 04b: pop
      // 04c: aload 15
      // 04e: bipush 49
      // 050: aaload
      // 051: swap
      // 052: invokedynamic makeConcatWithConstants (Ljava/lang/String;Ljava/lang/String;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\u0001\u0001" ]
      // 057: invokevirtual java/util/logging/Logger.log (Ljava/util/logging/Level;Ljava/lang/String;)V
      // 05a: new com/l7tech/common/http/GenericHttpRequestParams
      // 05d: dup
      // 05e: aload 2
      // 05f: invokespecial com/l7tech/common/http/GenericHttpRequestParams.<init> (Ljava/net/URL;)V
      // 062: astore 10
      // 064: aload 6
      // 066: ifnull 077
      // 069: aload 10
      // 06b: aload 6
      // 06d: invokevirtual com/l7tech/common/http/GenericHttpRequestParams.setPasswordAuthentication (Ljava/net/PasswordAuthentication;)V
      // 070: goto 077
      // 073: invokestatic com/l7tech/security/wstrust/TokenServiceClient.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 076: athrow
      // 077: getstatic com/l7tech/security/wstrust/TokenServiceClient.d [Ljava/lang/String;
      // 07a: bipush 39
      // 07c: aaload
      // 07d: aload 3
      // 07e: invokeinterface org/w3c/dom/Document.getDocumentElement ()Lorg/w3c/dom/Element; 1
      // 083: invokeinterface org/w3c/dom/Element.getNamespaceURI ()Ljava/lang/String; 1
      // 088: invokevirtual java/lang/String.equals (Ljava/lang/Object;)Z
      // 08b: ifeq 09d
      // 08e: aload 10
      // 090: getstatic com/l7tech/common/mime/ContentTypeHeader.SOAP_1_2_DEFAULT Lcom/l7tech/common/mime/ContentTypeHeader;
      // 093: invokevirtual com/l7tech/common/http/GenericHttpRequestParams.setContentType (Lcom/l7tech/common/mime/ContentTypeHeader;)V
      // 096: goto 0c5
      // 099: invokestatic com/l7tech/security/wstrust/TokenServiceClient.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 09c: athrow
      // 09d: aload 10
      // 09f: getstatic com/l7tech/common/mime/ContentTypeHeader.XML_DEFAULT Lcom/l7tech/common/mime/ContentTypeHeader;
      // 0a2: invokevirtual com/l7tech/common/http/GenericHttpRequestParams.setContentType (Lcom/l7tech/common/mime/ContentTypeHeader;)V
      // 0a5: aload 10
      // 0a7: bipush 1
      // 0a8: anewarray 87
      // 0ab: dup
      // 0ac: bipush 0
      // 0ad: new com/l7tech/common/http/GenericHttpHeader
      // 0b0: dup
      // 0b1: getstatic com/l7tech/xml/soap/SoapUtil.SOAPACTION Ljava/lang/String;
      // 0b4: getstatic com/l7tech/security/wstrust/TokenServiceClient.d [Ljava/lang/String;
      // 0b7: astore 15
      // 0b9: aload 15
      // 0bb: bipush 46
      // 0bd: aaload
      // 0be: invokespecial com/l7tech/common/http/GenericHttpHeader.<init> (Ljava/lang/String;Ljava/lang/String;)V
      // 0c1: aastore
      // 0c2: invokevirtual com/l7tech/common/http/GenericHttpRequestParams.setExtraHeaders ([Lcom/l7tech/common/http/HttpHeader;)V
      // 0c5: aload 10
      // 0c7: getstatic com/l7tech/common/mime/ContentTypeHeader.XML_DEFAULT Lcom/l7tech/common/mime/ContentTypeHeader;
      // 0ca: invokevirtual com/l7tech/common/http/GenericHttpRequestParams.setContentType (Lcom/l7tech/common/mime/ContentTypeHeader;)V
      // 0cd: aload 10
      // 0cf: bipush 1
      // 0d0: anewarray 87
      // 0d3: dup
      // 0d4: bipush 0
      // 0d5: new com/l7tech/common/http/GenericHttpHeader
      // 0d8: dup
      // 0d9: getstatic com/l7tech/util/SoapConstants.SOAPACTION Ljava/lang/String;
      // 0dc: getstatic com/l7tech/security/wstrust/TokenServiceClient.d [Ljava/lang/String;
      // 0df: astore 15
      // 0e1: aload 15
      // 0e3: bipush 51
      // 0e5: aaload
      // 0e6: invokespecial com/l7tech/common/http/GenericHttpHeader.<init> (Ljava/lang/String;Ljava/lang/String;)V
      // 0e9: aastore
      // 0ea: invokevirtual com/l7tech/common/http/GenericHttpRequestParams.setExtraHeaders ([Lcom/l7tech/common/http/HttpHeader;)V
      // 0ed: new com/l7tech/common/http/SimpleHttpClient
      // 0f0: dup
      // 0f1: aload 0
      // 0f2: getfield com/l7tech/security/wstrust/TokenServiceClient.b Lcom/l7tech/common/http/GenericHttpClient;
      // 0f5: invokespecial com/l7tech/common/http/SimpleHttpClient.<init> (Lcom/l7tech/common/http/GenericHttpClient;)V
      // 0f8: astore 11
      // 0fa: aload 11
      // 0fc: aload 10
      // 0fe: aload 3
      // 0ff: invokevirtual com/l7tech/common/http/SimpleHttpClient.postXml (Lcom/l7tech/common/http/GenericHttpRequestParams;Lorg/w3c/dom/Document;)Lcom/l7tech/common/http/SimpleHttpClient$SimpleXmlResponse;
      // 102: astore 12
      // 104: aload 12
      // 106: invokeinterface com/l7tech/common/http/SimpleHttpClient$SimpleXmlResponse.getContentLength ()Ljava/lang/Long; 1
      // 10b: astore 13
      // 10d: getstatic com/l7tech/security/wstrust/TokenServiceClient.log Ljava/util/logging/Logger;
      // 110: getstatic java/util/logging/Level.FINEST Ljava/util/logging/Level;
      // 113: aload 13
      // 115: aload 15
      // 117: bipush 17
      // 119: aaload
      // 11a: swap
      // 11b: invokedynamic makeConcatWithConstants (Ljava/lang/String;Ljava/lang/Long;)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" ]
      // 120: invokevirtual java/util/logging/Logger.log (Ljava/util/logging/Level;Ljava/lang/String;)V
      // 123: aload 12
      // 125: invokeinterface com/l7tech/common/http/SimpleHttpClient$SimpleXmlResponse.getHeaders ()Lcom/l7tech/common/http/HttpHeaders; 1
      // 12a: getstatic com/l7tech/common/protocol/SecureSpanConstants$HttpHeaders.CERT_STATUS Ljava/lang/String;
      // 12d: invokeinterface com/l7tech/common/http/HttpHeaders.getOnlyOneValue (Ljava/lang/String;)Ljava/lang/String; 2
      // 132: astore 14
      // 134: getstatic com/l7tech/common/protocol/SecureSpanConstants.CERT_INVALID Ljava/lang/String;
      // 137: aload 14
      // 139: invokevirtual java/lang/String.equalsIgnoreCase (Ljava/lang/String;)Z
      // 13c: ifeq 15e
      // 13f: getstatic com/l7tech/security/wstrust/TokenServiceClient.log Ljava/util/logging/Logger;
      // 142: getstatic java/util/logging/Level.INFO Ljava/util/logging/Level;
      // 145: aload 15
      // 147: bipush 11
      // 149: aaload
      // 14a: invokevirtual java/util/logging/Logger.log (Ljava/util/logging/Level;Ljava/lang/String;)V
      // 14d: new com/l7tech/security/wstrust/TokenServiceClient$CertificateInvalidException
      // 150: dup
      // 151: aload 15
      // 153: bipush 52
      // 155: aaload
      // 156: invokespecial com/l7tech/security/wstrust/TokenServiceClient$CertificateInvalidException.<init> (Ljava/lang/String;)V
      // 159: athrow
      // 15a: invokestatic com/l7tech/security/wstrust/TokenServiceClient.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 15d: athrow
      // 15e: aload 12
      // 160: invokeinterface com/l7tech/common/http/SimpleHttpClient$SimpleXmlResponse.getDocument ()Lorg/w3c/dom/Document; 1
      // 165: astore 8
      // 167: goto 1ab
      // 16a: astore 9
      // 16c: new com/l7tech/util/CausedIOException
      // 16f: dup
      // 170: aload 9
      // 172: invokevirtual org/xml/sax/SAXException.getMessage ()Ljava/lang/String;
      // 175: getstatic com/l7tech/security/wstrust/TokenServiceClient.d [Ljava/lang/String;
      // 178: astore 15
      // 17a: aload 15
      // 17c: bipush 12
      // 17e: aaload
      // 17f: swap
      // 180: 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" ]
      // 185: aload 9
      // 187: invokespecial com/l7tech/util/CausedIOException.<init> (Ljava/lang/String;Ljava/lang/Throwable;)V
      // 18a: athrow
      // 18b: astore 9
      // 18d: aload 9
      // 18f: ldc javax/net/ssl/SSLException
      // 191: invokestatic com/l7tech/util/ExceptionUtils.getCauseIfCausedBy (Ljava/lang/Throwable;Ljava/lang/Class;)Ljava/lang/Throwable;
      // 194: astore 10
      // 196: aload 10
      // 198: instanceof javax/net/ssl/SSLException
      // 19b: ifeq 1a8
      // 19e: aload 10
      // 1a0: checkcast javax/net/ssl/SSLException
      // 1a3: athrow
      // 1a4: invokestatic com/l7tech/security/wstrust/TokenServiceClient.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 1a7: athrow
      // 1a8: aload 9
      // 1aa: athrow
      // 1ab: aload 8
      // 1ad: invokestatic com/l7tech/security/wstrust/TokenServiceClient.a (Lorg/w3c/dom/Document;)V
      // 1b0: aload 5
      // 1b2: ifnull 1ef
      // 1b5: iload 7
      // 1b7: ifeq 1ef
      // 1ba: goto 1c1
      // 1bd: invokestatic com/l7tech/security/wstrust/TokenServiceClient.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 1c0: athrow
      // 1c1: aload 1
      // 1c2: ifnull 1e4
      // 1c5: goto 1cc
      // 1c8: invokestatic com/l7tech/security/wstrust/TokenServiceClient.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 1cb: athrow
      // 1cc: aload 4
      // 1ce: ifnull 1e4
      // 1d1: goto 1d8
      // 1d4: invokestatic com/l7tech/security/wstrust/TokenServiceClient.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 1d7: athrow
      // 1d8: aload 0
      // 1d9: aload 8
      // 1db: aload 1
      // 1dc: aload 4
      // 1de: aload 5
      // 1e0: invokevirtual com/l7tech/security/wstrust/TokenServiceClient.parseSignedRequestSecurityTokenResponse (Lorg/w3c/dom/Document;Ljava/security/cert/X509Certificate;Ljava/security/PrivateKey;Ljava/security/cert/X509Certificate;)Ljava/lang/Object;
      // 1e3: areturn
      // 1e4: aload 0
      // 1e5: aload 8
      // 1e7: aconst_null
      // 1e8: aconst_null
      // 1e9: aload 5
      // 1eb: invokevirtual com/l7tech/security/wstrust/TokenServiceClient.parseSignedRequestSecurityTokenResponse (Lorg/w3c/dom/Document;Ljava/security/cert/X509Certificate;Ljava/security/PrivateKey;Ljava/security/cert/X509Certificate;)Ljava/lang/Object;
      // 1ee: areturn
      // 1ef: aload 0
      // 1f0: aload 8
      // 1f2: invokevirtual com/l7tech/security/wstrust/TokenServiceClient.parseUnsignedRequestSecurityTokenResponse (Lorg/w3c/dom/Document;)Ljava/lang/Object;
      // 1f5: areturn
      // 1f6: astore 9
      // 1f8: new com/l7tech/util/CausedIOException
      // 1fb: dup
      // 1fc: aload 9
      // 1fe: invokevirtual com/l7tech/security/xml/processor/ProcessorException.getMessage ()Ljava/lang/String;
      // 201: getstatic com/l7tech/security/wstrust/TokenServiceClient.d [Ljava/lang/String;
      // 204: bipush 22
      // 206: aaload
      // 207: swap
      // 208: 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" ]
      // 20d: aload 9
      // 20f: invokespecial com/l7tech/util/CausedIOException.<init> (Ljava/lang/String;Ljava/lang/Throwable;)V
      // 212: athrow
      // 213: astore 9
      // 215: new com/l7tech/util/CausedIOException
      // 218: dup
      // 219: aload 9
      // 21b: invokevirtual com/l7tech/util/InvalidDocumentFormatException.getMessage ()Ljava/lang/String;
      // 21e: aload 9
      // 220: invokespecial com/l7tech/util/CausedIOException.<init> (Ljava/lang/String;Ljava/lang/Throwable;)V
      // 223: athrow
      // try (135 -> 152): 152 org/xml/sax/SAXException
      // try (55 -> 67): 67 org/xml/sax/SAXException
      // try (47 -> 52): 53 org/xml/sax/SAXException
      // try (0 -> 10): 10 org/xml/sax/SAXException
      // try (12 -> 157): 158 org/xml/sax/SAXException
      // try (12 -> 157): 173 com/l7tech/common/http/GenericHttpException
      // try (197 -> 204): 205 org/xml/sax/SAXException
      // try (192 -> 199): 200 org/xml/sax/SAXException
      // try (188 -> 194): 195 org/xml/sax/SAXException
      // try (178 -> 184): 184 org/xml/sax/SAXException
      // try (188 -> 213): 225 com/l7tech/security/xml/processor/ProcessorException
      // try (214 -> 220): 225 com/l7tech/security/xml/processor/ProcessorException
      // try (221 -> 224): 225 com/l7tech/security/xml/processor/ProcessorException
      // try (188 -> 213): 238 com/l7tech/util/InvalidDocumentFormatException
      // try (214 -> 220): 238 com/l7tech/util/InvalidDocumentFormatException
      // try (221 -> 224): 238 com/l7tech/util/InvalidDocumentFormatException
   }

   private static void a(Document var0) throws InvalidDocumentFormatException {
      Element var1 = SoapUtil.getPayloadElement(var0);

      try {
         if (var1 == null) {
            throw new MissingRequiredElementException(d[16]);
         }
      } catch (InvalidDocumentFormatException var4) {
         throw a(var4);
      }

      try {
         if (!var0.getDocumentElement().getNamespaceURI().equals(var1.getNamespaceURI()) || !d[37].equals(var1.getLocalName())) {
            return;
         }
      } catch (InvalidDocumentFormatException var5) {
         throw a(var5);
      }

      SoapFaultDetail var2 = SoapFaultUtils.gatherSoapFaultDetail(var0);
      String var10002 = var2.getFaultCode();
      String var10003 = var2.getFaultString();
      String[] var3 = d;
      throw new InvalidDocumentFormatException(var3[45] + var10002 + var3[14] + var10003);
   }

   public Object parseUnsignedRequestSecurityTokenResponse(Document var1) throws InvalidDocumentFormatException {
      try {
         return this.a(var1, null, null, null);
      } catch (GeneralSecurityException var3) {
         throw new RuntimeException(var3);
      } catch (ProcessorException var4) {
         throw new RuntimeException(var4);
      } catch (TokenServiceClient.UnrecognizedServerCertException var5) {
         throw new RuntimeException(var5);
      }
   }

   public Object parseSignedRequestSecurityTokenResponse(Document param1, X509Certificate param2, PrivateKey param3, X509Certificate param4) throws InvalidDocumentFormatException, GeneralSecurityException, ProcessorException, TokenServiceClient.UnrecognizedServerCertException {
      // $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 2
      // 01: ifnull 1b
      // 04: aload 3
      // 05: ifnull 1b
      // 08: goto 0f
      // 0b: invokestatic com/l7tech/security/wstrust/TokenServiceClient.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 0e: athrow
      // 0f: aload 4
      // 11: ifnonnull 27
      // 14: goto 1b
      // 17: invokestatic com/l7tech/security/wstrust/TokenServiceClient.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 1a: athrow
      // 1b: new java/lang/NullPointerException
      // 1e: dup
      // 1f: invokespecial java/lang/NullPointerException.<init> ()V
      // 22: athrow
      // 23: invokestatic com/l7tech/security/wstrust/TokenServiceClient.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 26: athrow
      // 27: aload 0
      // 28: aload 1
      // 29: aload 2
      // 2a: aload 3
      // 2b: aload 4
      // 2d: invokevirtual com/l7tech/security/wstrust/TokenServiceClient.a (Lorg/w3c/dom/Document;Ljava/security/cert/X509Certificate;Ljava/security/PrivateKey;Ljava/security/cert/X509Certificate;)Ljava/lang/Object;
      // 30: areturn
      // try (0 -> 4): 5 com/l7tech/util/InvalidDocumentFormatException
      // try (2 -> 9): 10 com/l7tech/util/InvalidDocumentFormatException
      // try (7 -> 16): 16 com/l7tech/util/InvalidDocumentFormatException
   }

   private Object a(Document var1, X509Certificate var2, PrivateKey var3, X509Certificate var4) throws InvalidDocumentFormatException, GeneralSecurityException, ProcessorException, TokenServiceClient.UnrecognizedServerCertException {
      Element var5 = var1.getDocumentElement();

      try {
         if (var5 == null) {
            throw new InvalidDocumentFormatException(d[7]);
         }
      } catch (SAXException var23) {
         throw a(var23);
      }

      String var10001 = var5.getNamespaceURI();
      String[] var13 = d;
      Element var6 = DomUtils.findOnlyOneChildElementByName(var5, var10001, var13[34]);

      try {
         if (var6 == null) {
            throw new MessageNotSoapException(var13[30]);
         }
      } catch (SAXException var22) {
         throw a(var22);
      }

      var13 = d;
      Element var7 = DomUtils.findOnlyOneChildElementByName(var6, SoapConstants.WST_NAMESPACE_ARRAY, var13[42]);

      try {
         if (var7 == null) {
            throw new InvalidDocumentFormatException(var13[8]);
         }
      } catch (SAXException var14) {
         throw a(var14);
      }

      try {
         if (var4 != null) {
            a(var7, var4, var1, var2, var3);
         }
      } catch (SAXException var21) {
         throw a(var21);
      }

      var10001 = this.a.getWstNs();
      var13 = d;
      Element var8 = DomUtils.findOnlyOneChildElementByName(var7, var10001, var13[58]);
      if (var8 == null) {
         var8 = DomUtils.findOnlyOneChildElementByName(var7, SoapConstants.WST_NAMESPACE_ARRAY, var13[25]);
      }

      try {
         if (var8 == null) {
            throw new InvalidDocumentFormatException(d[44]);
         }
      } catch (SAXException var20) {
         throw a(var20);
      }

      Element var9 = DomUtils.findOnlyOneChildElementByName(var8, SoapConstants.WSSC_NAMESPACE_ARRAY, SoapConstants.SECURITY_CONTEXT_TOK_EL_NAME);

      try {
         if (var9 != null) {
            return this.a(var9, var7, var2, var3);
         }
      } catch (SAXException var19) {
         throw a(var19);
      }

      String[] var31 = new String[2];
      var13 = d;
      var31[0] = var13[38];
      var31[1] = var13[2];
      Element var10 = DomUtils.findOnlyOneChildElementByName(var8, var31, var13[35]);

      try {
         if (var10 != null) {
            try {
               return SamlAssertion.newInstance(var10);
            } catch (SAXException var17) {
               throw new InvalidDocumentFormatException(var17);
            }
         }
      } catch (UnsupportedDocumentFormatException var18) {
         throw a(var18);
      }

      Element var11 = DomUtils.findOnlyOneChildElementByName(var8, SoapConstants.SECURITY_URIS_ARRAY, SoapConstants.USERNAME_TOK_EL_NAME);

      try {
         if (var11 != null) {
            try {
               return new UsernameTokenImpl(var11);
            } catch (UnsupportedDocumentFormatException var15) {
               throw new InvalidDocumentFormatException(var15);
            }
         }
      } catch (SAXException var16) {
         throw a(var16);
      }

      Element var12 = DomUtils.findFirstChildElement(var8);
      String var10002 = var12.getLocalName();
      String var10003 = var12.getNamespaceURI();
      var13 = d;
      throw new InvalidDocumentFormatException(var13[20] + var10002 + var13[47] + var10003 + ")");
   }

   private static void a(Element param0, X509Certificate param1, Document param2, X509Certificate param3, PrivateKey param4) throws InvalidDocumentFormatException, GeneralSecurityException, ProcessorException, TokenServiceClient.UnrecognizedServerCertException {
      // $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: new com/l7tech/security/xml/processor/WssProcessorImpl
      // 003: dup
      // 004: invokespecial com/l7tech/security/xml/processor/WssProcessorImpl.<init> ()V
      // 007: astore 6
      // 009: aload 6
      // 00b: new com/l7tech/message/Message
      // 00e: dup
      // 00f: aload 2
      // 010: invokestatic com/l7tech/message/Message.getMaxBytes ()J
      // 013: invokespecial com/l7tech/message/Message.<init> (Lorg/w3c/dom/Document;J)V
      // 016: aconst_null
      // 017: new com/l7tech/security/xml/SimpleSecurityTokenResolver
      // 01a: dup
      // 01b: aload 3
      // 01c: aload 4
      // 01e: invokespecial com/l7tech/security/xml/SimpleSecurityTokenResolver.<init> (Ljava/security/cert/X509Certificate;Ljava/security/PrivateKey;)V
      // 021: invokeinterface com/l7tech/security/xml/processor/WssProcessor.undecorateMessage (Lcom/l7tech/message/Message;Lcom/l7tech/security/xml/processor/SecurityContextFinder;Lcom/l7tech/security/xml/SecurityTokenResolver;)Lcom/l7tech/security/xml/processor/ProcessorResult; 4
      // 026: astore 5
      // 028: goto 059
      // 02b: astore 6
      // 02d: new com/l7tech/util/InvalidDocumentFormatException
      // 030: dup
      // 031: getstatic com/l7tech/security/wstrust/TokenServiceClient.d [Ljava/lang/String;
      // 034: astore 12
      // 036: aload 12
      // 038: bipush 32
      // 03a: aaload
      // 03b: aload 6
      // 03d: invokespecial com/l7tech/util/InvalidDocumentFormatException.<init> (Ljava/lang/String;Ljava/lang/Throwable;)V
      // 040: athrow
      // 041: astore 6
      // 043: new com/l7tech/security/xml/processor/ProcessorException
      // 046: dup
      // 047: aload 6
      // 049: invokespecial com/l7tech/security/xml/processor/ProcessorException.<init> (Ljava/lang/Throwable;)V
      // 04c: athrow
      // 04d: astore 6
      // 04f: new com/l7tech/util/InvalidDocumentFormatException
      // 052: dup
      // 053: aload 6
      // 055: invokespecial com/l7tech/util/InvalidDocumentFormatException.<init> (Ljava/lang/Throwable;)V
      // 058: athrow
      // 059: aload 5
      // 05b: invokeinterface com/l7tech/security/xml/processor/ProcessorResult.getElementsThatWereSigned ()[Lcom/l7tech/security/token/SignedElement; 1
      // 060: astore 6
      // 062: aconst_null
      // 063: astore 7
      // 065: bipush 0
      // 066: istore 8
      // 068: iload 8
      // 06a: aload 6
      // 06c: arraylength
      // 06d: if_icmpge 0fd
      // 070: aload 6
      // 072: iload 8
      // 074: aaload
      // 075: astore 9
      // 077: aload 0
      // 078: aload 9
      // 07a: invokeinterface com/l7tech/security/token/SignedElement.asElement ()Lorg/w3c/dom/Element; 1
      // 07f: invokestatic com/l7tech/util/DomUtils.isElementAncestor (Lorg/w3c/dom/Element;Lorg/w3c/dom/Element;)Z
      // 082: ifeq 0f7
      // 085: aload 7
      // 087: ifnull 0a3
      // 08a: goto 091
      // 08d: invokestatic com/l7tech/security/wstrust/TokenServiceClient.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 090: athrow
      // 091: new com/l7tech/util/InvalidDocumentFormatException
      // 094: dup
      // 095: getstatic com/l7tech/security/wstrust/TokenServiceClient.d [Ljava/lang/String;
      // 098: bipush 18
      // 09a: aaload
      // 09b: invokespecial com/l7tech/util/InvalidDocumentFormatException.<init> (Ljava/lang/String;)V
      // 09e: athrow
      // 09f: invokestatic com/l7tech/security/wstrust/TokenServiceClient.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 0a2: athrow
      // 0a3: aload 9
      // 0a5: invokeinterface com/l7tech/security/token/SignedElement.getSigningSecurityToken ()Lcom/l7tech/security/token/SigningSecurityToken; 1
      // 0aa: astore 7
      // 0ac: aload 7
      // 0ae: instanceof com/l7tech/security/token/X509SigningSecurityToken
      // 0b1: ifne 0c6
      // 0b4: new com/l7tech/util/InvalidDocumentFormatException
      // 0b7: dup
      // 0b8: getstatic com/l7tech/security/wstrust/TokenServiceClient.d [Ljava/lang/String;
      // 0bb: bipush 10
      // 0bd: aaload
      // 0be: invokespecial com/l7tech/util/InvalidDocumentFormatException.<init> (Ljava/lang/String;)V
      // 0c1: athrow
      // 0c2: invokestatic com/l7tech/security/wstrust/TokenServiceClient.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 0c5: athrow
      // 0c6: aload 7
      // 0c8: checkcast com/l7tech/security/token/X509SecurityToken
      // 0cb: astore 10
      // 0cd: aload 10
      // 0cf: invokeinterface com/l7tech/security/token/X509SecurityToken.getCertificate ()Ljava/security/cert/X509Certificate; 1
      // 0d4: astore 11
      // 0d6: aload 11
      // 0d8: invokevirtual java/security/cert/X509Certificate.getPublicKey ()Ljava/security/PublicKey;
      // 0db: aload 1
      // 0dc: invokevirtual java/security/cert/X509Certificate.getPublicKey ()Ljava/security/PublicKey;
      // 0df: invokestatic com/l7tech/common/io/CertUtils.arePublicKeysEqual (Ljava/security/PublicKey;Ljava/security/PublicKey;)Z
      // 0e2: ifne 0f7
      // 0e5: new com/l7tech/security/wstrust/TokenServiceClient$UnrecognizedServerCertException
      // 0e8: dup
      // 0e9: getstatic com/l7tech/security/wstrust/TokenServiceClient.d [Ljava/lang/String;
      // 0ec: bipush 43
      // 0ee: aaload
      // 0ef: invokespecial com/l7tech/security/wstrust/TokenServiceClient$UnrecognizedServerCertException.<init> (Ljava/lang/String;)V
      // 0f2: athrow
      // 0f3: invokestatic com/l7tech/security/wstrust/TokenServiceClient.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 0f6: athrow
      // 0f7: iinc 8 1
      // 0fa: goto 068
      // 0fd: aload 7
      // 0ff: ifnonnull 113
      // 102: new com/l7tech/util/InvalidDocumentFormatException
      // 105: dup
      // 106: getstatic com/l7tech/security/wstrust/TokenServiceClient.d [Ljava/lang/String;
      // 109: bipush 0
      // 10a: aaload
      // 10b: invokespecial com/l7tech/util/InvalidDocumentFormatException.<init> (Ljava/lang/String;)V
      // 10e: athrow
      // 10f: invokestatic com/l7tech/security/wstrust/TokenServiceClient.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 112: athrow
      // 113: return
      // try (0 -> 18): 19 com/l7tech/security/xml/processor/BadSecurityContextException
      // try (0 -> 18): 30 java/io/IOException
      // try (0 -> 18): 36 org/xml/sax/SAXException
      // try (57 -> 64): 65 com/l7tech/security/xml/processor/BadSecurityContextException
      // try (62 -> 74): 74 com/l7tech/security/xml/processor/BadSecurityContextException
      // try (79 -> 89): 89 com/l7tech/security/xml/processor/BadSecurityContextException
      // try (97 -> 110): 110 com/l7tech/security/xml/processor/BadSecurityContextException
      // try (114 -> 123): 123 com/l7tech/security/xml/processor/BadSecurityContextException
   }

   private Object a(Element param1, Element param2, X509Certificate param3, PrivateKey param4) throws InvalidDocumentFormatException, GeneralSecurityException, UnexpectedKeyInfoException {
      // $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 1
      // 001: getstatic com/l7tech/util/SoapConstants.WSSC_NAMESPACE_ARRAY [Ljava/lang/String;
      // 004: getstatic com/l7tech/security/wstrust/TokenServiceClient.d [Ljava/lang/String;
      // 007: astore 14
      // 009: aload 14
      // 00b: bipush 13
      // 00d: aaload
      // 00e: invokestatic com/l7tech/util/DomUtils.findOnlyOneChildElementByName (Lorg/w3c/dom/Element;[Ljava/lang/String;Ljava/lang/String;)Lorg/w3c/dom/Element;
      // 011: astore 5
      // 013: aload 5
      // 015: ifnonnull 029
      // 018: new com/l7tech/util/InvalidDocumentFormatException
      // 01b: dup
      // 01c: aload 14
      // 01e: bipush 60
      // 020: aaload
      // 021: invokespecial com/l7tech/util/InvalidDocumentFormatException.<init> (Ljava/lang/String;)V
      // 024: athrow
      // 025: invokestatic com/l7tech/security/wstrust/TokenServiceClient.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 028: athrow
      // 029: aload 5
      // 02b: invokestatic com/l7tech/util/DomUtils.getTextValue (Lorg/w3c/dom/Element;)Ljava/lang/String;
      // 02e: invokevirtual java/lang/String.trim ()Ljava/lang/String;
      // 031: astore 6
      // 033: aload 6
      // 035: ifnull 048
      // 038: aload 6
      // 03a: invokevirtual java/lang/String.length ()I
      // 03d: bipush 4
      // 03e: if_icmpge 05a
      // 041: goto 048
      // 044: invokestatic com/l7tech/security/wstrust/TokenServiceClient.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 047: athrow
      // 048: new com/l7tech/util/InvalidDocumentFormatException
      // 04b: dup
      // 04c: getstatic com/l7tech/security/wstrust/TokenServiceClient.d [Ljava/lang/String;
      // 04f: bipush 41
      // 051: aaload
      // 052: invokespecial com/l7tech/util/InvalidDocumentFormatException.<init> (Ljava/lang/String;)V
      // 055: athrow
      // 056: invokestatic com/l7tech/security/wstrust/TokenServiceClient.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 059: athrow
      // 05a: aload 2
      // 05b: aload 0
      // 05c: getfield com/l7tech/security/wstrust/TokenServiceClient.a Lcom/l7tech/security/wstrust/WsTrustConfig;
      // 05f: invokevirtual com/l7tech/security/wstrust/WsTrustConfig.getWstNs ()Ljava/lang/String;
      // 062: getstatic com/l7tech/security/wstrust/TokenServiceClient.d [Ljava/lang/String;
      // 065: astore 14
      // 067: aload 14
      // 069: bipush 56
      // 06b: aaload
      // 06c: invokestatic com/l7tech/util/DomUtils.findOnlyOneChildElementByName (Lorg/w3c/dom/Element;Ljava/lang/String;Ljava/lang/String;)Lorg/w3c/dom/Element;
      // 06f: astore 7
      // 071: aload 7
      // 073: ifnonnull 084
      // 076: aload 2
      // 077: getstatic com/l7tech/util/SoapConstants.WST_NAMESPACE_ARRAY [Ljava/lang/String;
      // 07a: aload 14
      // 07c: bipush 59
      // 07e: aaload
      // 07f: invokestatic com/l7tech/util/DomUtils.findOnlyOneChildElementByName (Lorg/w3c/dom/Element;[Ljava/lang/String;Ljava/lang/String;)Lorg/w3c/dom/Element;
      // 082: astore 7
      // 084: aconst_null
      // 085: astore 8
      // 087: aload 7
      // 089: ifnull 0e4
      // 08c: aload 7
      // 08e: getstatic com/l7tech/util/SoapConstants.WSU_URIS_ARRAY [Ljava/lang/String;
      // 091: getstatic com/l7tech/security/wstrust/TokenServiceClient.d [Ljava/lang/String;
      // 094: astore 14
      // 096: aload 14
      // 098: bipush 27
      // 09a: aaload
      // 09b: invokestatic com/l7tech/util/DomUtils.findOnlyOneChildElementByName (Lorg/w3c/dom/Element;[Ljava/lang/String;Ljava/lang/String;)Lorg/w3c/dom/Element;
      // 09e: astore 9
      // 0a0: aload 9
      // 0a2: ifnull 0e4
      // 0a5: aload 9
      // 0a7: invokestatic com/l7tech/util/DomUtils.getTextValue (Lorg/w3c/dom/Element;)Ljava/lang/String;
      // 0aa: invokevirtual java/lang/String.trim ()Ljava/lang/String;
      // 0ad: astore 10
      // 0af: aload 10
      // 0b1: ifnull 0e4
      // 0b4: aload 10
      // 0b6: invokevirtual java/lang/String.length ()I
      // 0b9: bipush 3
      // 0ba: if_icmple 0e4
      // 0bd: goto 0c4
      // 0c0: invokestatic com/l7tech/security/wstrust/TokenServiceClient.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 0c3: athrow
      // 0c4: aload 10
      // 0c6: invokestatic com/l7tech/util/ISO8601Date.parse (Ljava/lang/String;)Ljava/util/Date;
      // 0c9: astore 8
      // 0cb: goto 0e4
      // 0ce: astore 11
      // 0d0: new com/l7tech/util/InvalidDocumentFormatException
      // 0d3: dup
      // 0d4: getstatic com/l7tech/security/wstrust/TokenServiceClient.d [Ljava/lang/String;
      // 0d7: astore 14
      // 0d9: aload 14
      // 0db: bipush 57
      // 0dd: aaload
      // 0de: aload 11
      // 0e0: invokespecial com/l7tech/util/InvalidDocumentFormatException.<init> (Ljava/lang/String;Ljava/lang/Throwable;)V
      // 0e3: athrow
      // 0e4: aload 2
      // 0e5: aload 0
      // 0e6: getfield com/l7tech/security/wstrust/TokenServiceClient.a Lcom/l7tech/security/wstrust/WsTrustConfig;
      // 0e9: invokevirtual com/l7tech/security/wstrust/WsTrustConfig.getWstNs ()Ljava/lang/String;
      // 0ec: getstatic com/l7tech/security/wstrust/TokenServiceClient.d [Ljava/lang/String;
      // 0ef: astore 14
      // 0f1: aload 14
      // 0f3: bipush 50
      // 0f5: aaload
      // 0f6: invokestatic com/l7tech/util/DomUtils.findOnlyOneChildElementByName (Lorg/w3c/dom/Element;Ljava/lang/String;Ljava/lang/String;)Lorg/w3c/dom/Element;
      // 0f9: astore 9
      // 0fb: aload 9
      // 0fd: ifnonnull 10e
      // 100: aload 2
      // 101: getstatic com/l7tech/util/SoapConstants.WST_NAMESPACE_ARRAY [Ljava/lang/String;
      // 104: aload 14
      // 106: bipush 19
      // 108: aaload
      // 109: invokestatic com/l7tech/util/DomUtils.findOnlyOneChildElementByName (Lorg/w3c/dom/Element;[Ljava/lang/String;Ljava/lang/String;)Lorg/w3c/dom/Element;
      // 10c: astore 9
      // 10e: aload 9
      // 110: ifnonnull 124
      // 113: new com/l7tech/util/InvalidDocumentFormatException
      // 116: dup
      // 117: getstatic com/l7tech/security/wstrust/TokenServiceClient.d [Ljava/lang/String;
      // 11a: bipush 5
      // 11b: aaload
      // 11c: invokespecial com/l7tech/util/InvalidDocumentFormatException.<init> (Ljava/lang/String;)V
      // 11f: athrow
      // 120: invokestatic com/l7tech/security/wstrust/TokenServiceClient.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 123: athrow
      // 124: aload 9
      // 126: getstatic com/l7tech/util/SoapConstants.XMLENC_NS Ljava/lang/String;
      // 129: getstatic com/l7tech/security/wstrust/TokenServiceClient.d [Ljava/lang/String;
      // 12c: astore 14
      // 12e: aload 14
      // 130: bipush 54
      // 132: aaload
      // 133: invokestatic com/l7tech/util/DomUtils.findOnlyOneChildElementByName (Lorg/w3c/dom/Element;Ljava/lang/String;Ljava/lang/String;)Lorg/w3c/dom/Element;
      // 136: astore 10
      // 138: aload 9
      // 13a: getstatic com/l7tech/util/SoapConstants.WST_NAMESPACE_ARRAY [Ljava/lang/String;
      // 13d: aload 14
      // 13f: bipush 9
      // 141: aaload
      // 142: invokestatic com/l7tech/util/DomUtils.findOnlyOneChildElementByName (Lorg/w3c/dom/Element;[Ljava/lang/String;Ljava/lang/String;)Lorg/w3c/dom/Element;
      // 145: astore 11
      // 147: aload 10
      // 149: ifnull 1a0
      // 14c: aload 3
      // 14d: ifnull 164
      // 150: goto 157
      // 153: invokestatic com/l7tech/security/wstrust/TokenServiceClient.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 156: athrow
      // 157: aload 10
      // 159: aload 3
      // 15a: invokestatic com/l7tech/security/xml/KeyInfoElement.checkKeyInfo (Lorg/w3c/dom/Element;Ljava/security/cert/X509Certificate;)V
      // 15d: goto 177
      // 160: invokestatic com/l7tech/security/wstrust/TokenServiceClient.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 163: athrow
      // 164: getstatic com/l7tech/security/wstrust/TokenServiceClient.log Ljava/util/logging/Logger;
      // 167: getstatic java/util/logging/Level.FINER Ljava/util/logging/Level;
      // 16a: getstatic com/l7tech/security/wstrust/TokenServiceClient.d [Ljava/lang/String;
      // 16d: astore 14
      // 16f: aload 14
      // 171: bipush 33
      // 173: aaload
      // 174: invokevirtual java/util/logging/Logger.log (Ljava/util/logging/Level;Ljava/lang/String;)V
      // 177: aload 10
      // 179: invokestatic com/l7tech/security/xml/XencUtil.checkEncryptionMethod (Lorg/w3c/dom/Element;)Ljava/lang/String;
      // 17c: pop
      // 17d: aload 4
      // 17f: ifnonnull 194
      // 182: new com/l7tech/util/InvalidDocumentFormatException
      // 185: dup
      // 186: getstatic com/l7tech/security/wstrust/TokenServiceClient.d [Ljava/lang/String;
      // 189: bipush 31
      // 18b: aaload
      // 18c: invokespecial com/l7tech/util/InvalidDocumentFormatException.<init> (Ljava/lang/String;)V
      // 18f: athrow
      // 190: invokestatic com/l7tech/security/wstrust/TokenServiceClient.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 193: athrow
      // 194: aload 10
      // 196: aload 4
      // 198: invokestatic com/l7tech/security/xml/XencUtil.decryptKey (Lorg/w3c/dom/Element;Ljava/security/PrivateKey;)[B
      // 19b: astore 12
      // 19d: goto 1e8
      // 1a0: aload 11
      // 1a2: ifnull 1c3
      // 1a5: aload 4
      // 1a7: ifnonnull 1c3
      // 1aa: goto 1b1
      // 1ad: invokestatic com/l7tech/security/wstrust/TokenServiceClient.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 1b0: athrow
      // 1b1: aload 11
      // 1b3: invokestatic com/l7tech/util/DomUtils.getTextValue (Lorg/w3c/dom/Element;)Ljava/lang/String;
      // 1b6: astore 13
      // 1b8: aload 13
      // 1ba: bipush 1
      // 1bb: invokestatic com/l7tech/util/HexUtils.decodeBase64 (Ljava/lang/String;Z)[B
      // 1be: astore 12
      // 1c0: goto 1e8
      // 1c3: aload 11
      // 1c5: ifnull 1da
      // 1c8: new com/l7tech/util/InvalidDocumentFormatException
      // 1cb: dup
      // 1cc: getstatic com/l7tech/security/wstrust/TokenServiceClient.d [Ljava/lang/String;
      // 1cf: bipush 21
      // 1d1: aaload
      // 1d2: invokespecial com/l7tech/util/InvalidDocumentFormatException.<init> (Ljava/lang/String;)V
      // 1d5: athrow
      // 1d6: invokestatic com/l7tech/security/wstrust/TokenServiceClient.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 1d9: athrow
      // 1da: new com/l7tech/util/InvalidDocumentFormatException
      // 1dd: dup
      // 1de: getstatic com/l7tech/security/wstrust/TokenServiceClient.d [Ljava/lang/String;
      // 1e1: bipush 48
      // 1e3: aaload
      // 1e4: invokespecial com/l7tech/util/InvalidDocumentFormatException.<init> (Ljava/lang/String;)V
      // 1e7: athrow
      // 1e8: aload 8
      // 1ea: astore 13
      // 1ec: new com/l7tech/security/wstrust/b
      // 1ef: dup
      // 1f0: aload 0
      // 1f1: aload 6
      // 1f3: aload 12
      // 1f5: aload 13
      // 1f7: invokespecial com/l7tech/security/wstrust/b.<init> (Lcom/l7tech/security/wstrust/TokenServiceClient;Ljava/lang/String;[BLjava/util/Date;)V
      // 1fa: areturn
      // try (81 -> 87): 88 java/text/ParseException
      // try (26 -> 40): 40 java/text/ParseException
      // try (24 -> 30): 31 java/text/ParseException
      // try (9 -> 18): 18 java/text/ParseException
      // try (90 -> 93): 94 java/text/ParseException
      // try (125 -> 134): 134 java/text/ParseException
      // try (152 -> 156): 157 java/text/ParseException
      // try (154 -> 163): 163 java/text/ParseException
      // try (173 -> 185): 185 java/text/ParseException
      // try (192 -> 196): 197 java/text/ParseException
      // try (207 -> 216): 216 java/text/ParseException
   }

   static {
      String[] var5 = new String[61];
      int var3 = 0;
      String var2 = "b\"\r|f8\u001aUg\u001ccm/IG&\r,g9\u001d\u00104\u0017kg3\r\u001e\u0011e\u00152,d#\u001aDg\u001ci)\u001e=d\u0017-%E5\u00106f7\u001aY4Dbh;\fC}\no3\u0005(}\u000bD>'fSQ4\ri{\"\u0000_))X3\n|3yFC$\u0016id7\u001a\u001e?\u0013`z9\b@i\u0011~ny\u001a_&\u000e#l8\u001fU+\u0011|ly*d(\u0015igv\u001aU5\bi{v\u001bU3\u000b~g3\r\u00102\u0010{h8\u001dU#^xf=\f^g\nuy3I)b\"\r|f8\u001aUg\u001dcg\"\bY)\u001bh)8\u0006\u0010\u0015\u001b}|3\u001aD\"\u001a\\{9\u0006V\u0013\u0011gl8\u0004r(\u001au b\"\r|f8\u001aUg\u0016mmv\u0007_g\u001acj#\u0004U)\n,l:\f]\"\u0010x?b\"\r|f8\u001aUg\u001ccm/IT(\u001b\u007f)8\u0006Dg\u001dcg\"\bY)^{z\"Sb\"\u000fyl%\u001dc\"\u001dy{?\u001dI\u0013\u0011gl8;U4\u000ecg%\f\fr.\u0010m{/:U$\fi}=b\"\r|f8\u001aUg\u001ccm/IG&\r,z?\u000e^\"\u001a )4\u001cDg\u0010c}v\u001eY3\u0016,h8IhrN5)\u0005\fS2\fe}/Id(\u0015ig?d(\u0015igv\u001aU5\bej3IB\"\u000fyl%\u001d\u0010!\u001fee3\r\u0010#\u000bi)\"\u0006\u0010.\u0010zh:\u0000Tg\u001d``3\u0007Dg\u001di{\"\u0000V.\u001dm}3GJe)\u001fne3ID(^|h$\u001aUg,ix#\fC3-ij#\u001bY3\u0007Xf=\f^\u0015\u001b\u007fy9\u0007C\"^j{9\u0004\u00104\u001bo|$\u0000D>^xf=\f^g\ri{ \u0000S\"D,\ny#\u001bb}?\u000fY\"\f\u0002\ng\u0005X3\n|z=d(\u0015igv\u001aU5\bi{v\u001bU4\u000ecg%\f\u0010.\r,d?\u001aC.\u0010k)\u0005&q\u0017^Nf2\u0010\u0010(\f,y7\u0010\\(\u001fh)3\u0005U*\u001bb}%d(\u0015igv\u001aU5\bi{v\u001bU4\u000ecg%\f\u0010$\u0011b}3\u0007Dg\u0012ig1\u001dXz:b\"\r|f8\u001aUg\u001ccm/IG&\r,z?\u000e^\"\u001a,~?\u001dXg\u0013c{3ID/\u001fb)9\u0007Ug\rij#\u001bY3\u0007,}9\u0002U)\u0013b\"\u000fyl%\u001dU#.~f9\u000fd(\u0015ig2d(\u0015igv\u001aU5\bi{v\u001bU3\u000b~g3\r\u00102\u0010~l5\u0006W)\u0017vl2IC\"\u001dy{?\u001dIg\ncb3\u0007\u0010\u008db\"\r|f8\u001aUg,ix#\fC3\u001bhY$\u0006_!*cb3\u0007\u0010$\u0011b}7\u0000^\"\u001a,hv+Y)\u001f~p\u0005\fS5\u001bx)3\u0005U*\u001bb}v\u000bE3^\u007fa9\u001c\\#^of8\u001dQ.\u0010,h8Iu)\u001d~p&\u001dU#5ipv\u0000^4\nih2IC.\u0010olv\u001dX.\r,j:\u0000U)\n,a7\u001a\u0010&^|{?\u001fQ3\u001b,b3\u0010\u001e9e)\u001fne3ID(^ck\"\bY)^m)\"\u0006[\"\u0010,o$\u0006]g\ndlv\u001aU$\u000b~`\"\u0010\u00103\u0011gl8IC\"\fzl$S\u0010'X3\n|3yFG0\t\"~eG_5\u0019#;fY\u0003hN9&%\u0006Q7Sig \f\\(\u000ei5B\"\u000fy`$\fg4\r_`1\u0007U#,iz&\u0006^4\u001b )4\u001cDg\u0010c)%\fB1\u001b~)5\fB3^|{9\u001fY#\u001bh\u0016b\"\u000fyl%\u001dU#-ij#\u001bY3\u0007Xf=\f^8X3\n|J:\u0000U)\n,d#\u001aDg\u001ci)5\u0006^!\u0017k|$\fTg\nc)#\u001aUg\u0011n}7\u0000^\u0014\u001fae\u0017\u001aC\"\fx`9\u0007\u0007u?\u000ee{3\u001a\fS2\f~l8\u001d\u00102\ri{\nH*\u0012bzl\u001aQ*\u0012\u0019b\"\r|f8\u001aUg\u0016mzv\u0007_g-CH\u0006Ir(\u001auQg&\r,g9\u001d\u0010\"\u0006|l5\u001dY)\u0019,}9IB\"\u001di` \f\u0010&\u0010,l8\nB>\u000exl2ID(\u0015iglIS+\u0017ig\"I@5\u0017zh\"\f\u0010,\u001bu)8\u0006Dg\u001fzh?\u0005Q%\u0012i\u0086b\"\r|f8\u001aUg\u001fx}3\u0004@3\u001bh)\"\u0006\u00102\ri)7Ig\u0014S_l5\u001cB\"=cg \fB4\u001fx`9\u0007\u0010\u0014\u001bo|$\u0000D>=cg\"\fH3*cb3\u0007\u001cg\td`5\u0001\u00100\u001b,m9\u0007\u00173^\u007f|&\u0019_5\n,~>\f^g\nme=\u0000^ ^xfv\u001dX\"^xf=\f^g\ri{ \fBg\u0017xz3\u0005V5~(\n,j>\fS,\u0017bnv\"U>7hl8\u001dY!\u0017i{lIS+\u0017ig\"IS\"\fx)8\u0006Dg\u001fzh?\u0005Q%\u0012i\u0004r(\u001au\tq4\ri{\"\u0000_)%S(\u0013\"ea\u001dU$\u0016\"z3\nE5\u0017xpx\u001eC3\fyz\"GE4\u001b_f7\u0019\u0001u\u0005v&\u000b`}%E5\u00106f7\u001aY4Dbh;\fC}\no3\u0005(}\u000bD='fSQ4\ri{\"\u0000_)'X3\n|3yFG0\t\"~eG_5\u0019#;fY\u0003hN9&%\u0006Q7Sig \f\\(\u000ei*d(\u0015igv\u001aU5\bi{v\u001bU3\u000b~g3\r\u00102\u0010{h8\u001dU#^xf=\f^g\nuy3I.b\"\r|f8\u001aUg\t\u007fjl T\"\u0010x`0\u0000U5^{h%IU*\u000expv\u0006Bg\ncfv\u001aX(\fx\u001cb\"\u000fyl%\u001dc\"\u001dy{?\u001dI\u0013\u0011gl8;U4\u000ecg%\fXb\"\r|f8\u001aUg\u001ccm/IG&\r,z?\u000e^\"\u001a,~?\u001dXg\u001fb)\u000e\\\u0000~^ol$\u001dY!\u0017oh\"\f\u001cg\u001cy}v\u0000Dg\tmz8NDg\ndlv\u001aU5\bi{v\nU5\neo?\nQ3\u001b\",b\"\r|f8\u001aUg\u001dcg\"\bY)\u001bh)8\u0006\u0010\u0015\u001b}|3\u001aD\"\u001a_l5\u001cB.\nu]9\u0002U)*e)\u001bty3\nD\"\u001a,Z\u0019(`g\u0018m|:\u001d\u0010!\fcdv\u001d_,\u001bb)%\fB1\u0017ollI\u0002\u0012e\f\u0010o\u0010md3\u001a@&\u001di4`b\"\r|f8\u001aUg,ix#\fC3\u001bhY$\u0006_!*cb3\u0007\u0010#\u0017h)8\u0006Dg\u001dcg\"\bY)^mgv,^$\fuy\"\fT\f\u001bu)3\u0005U*\u001bb}v\u0007_5^m)\u0014\u0000^&\fuZ3\nB\"\n,l:\f]\"\u0010x'\u0013\u00100\u0017xav\u001d_,\u001bb)%\fB1\u001b~)\u0013b\"\u000fyl%\u001dU#.~f9\u000fd(\u0015ig\u0002\u0012e\u001bs+\u0017ig\"IS\"\fx`0\u0000S&\ni)?\u0007F&\u0012emx$q7\u000e`p?\u0007Wg\u0018c{v\u0007U0^_l5\u001cB.\nu)\u0002\u0006[\"\u0010,o9\u001b\u0010\fu)\u001d~p&\u001dU#5ip3X3\n|J:\u0000U)\n,d#\u001aDg\u001ci)5\u0006^!\u0017k|$\fTg\nc)#\u001aUg\u0011n}7\u0000^\u0015\u001b\u007fy9\u0007C\"\b|.\u0018i}?\u0004U3b\"\r|f8\u001aUg\u001dcg\"\bY)\u001bh)7\u0007\u0010.\u0010zh:\u0000Tg7HFvQ\u0006wO,L.\u0019Y5\u001b\u007f)2\bD\"\u0016b\"\u000fyl%\u001dU#-ij#\u001bY3\u0007Xf=\f^";
      int var4 = "b\"\r|f8\u001aUg\u001ccm/IG&\r,g9\u001d\u00104\u0017kg3\r\u001e\u0011e\u00152,d#\u001aDg\u001ci)\u001e=d\u0017-%E5\u00106f7\u001aY4Dbh;\fC}\no3\u0005(}\u000bD>'fSQ4\ri{\"\u0000_))X3\n|3yFC$\u0016id7\u001a\u001e?\u0013`z9\b@i\u0011~ny\u001a_&\u000e#l8\u001fU+\u0011|ly*d(\u0015igv\u001aU5\bi{v\u001bU3\u000b~g3\r\u00102\u0010{h8\u001dU#^xf=\f^g\nuy3I)b\"\r|f8\u001aUg\u001dcg\"\bY)\u001bh)8\u0006\u0010\u0015\u001b}|3\u001aD\"\u001a\\{9\u0006V\u0013\u0011gl8\u0004r(\u001au b\"\r|f8\u001aUg\u0016mmv\u0007_g\u001acj#\u0004U)\n,l:\f]\"\u0010x?b\"\r|f8\u001aUg\u001ccm/IT(\u001b\u007f)8\u0006Dg\u001dcg\"\bY)^{z\"Sb\"\u000fyl%\u001dc\"\u001dy{?\u001dI\u0013\u0011gl8;U4\u000ecg%\f\fr.\u0010m{/:U$\fi}=b\"\r|f8\u001aUg\u001ccm/IG&\r,z?\u000e^\"\u001a )4\u001cDg\u0010c}v\u001eY3\u0016,h8IhrN5)\u0005\fS2\fe}/Id(\u0015ig?d(\u0015igv\u001aU5\bej3IB\"\u000fyl%\u001d\u0010!\u001fee3\r\u0010#\u000bi)\"\u0006\u0010.\u0010zh:\u0000Tg\u001d``3\u0007Dg\u001di{\"\u0000V.\u001dm}3GJe)\u001fne3ID(^|h$\u001aUg,ix#\fC3-ij#\u001bY3\u0007Xf=\f^\u0015\u001b\u007fy9\u0007C\"^j{9\u0004\u00104\u001bo|$\u0000D>^xf=\f^g\ri{ \u0000S\"D,\ny#\u001bb}?\u000fY\"\f\u0002\ng\u0005X3\n|z=d(\u0015igv\u001aU5\bi{v\u001bU4\u000ecg%\f\u0010.\r,d?\u001aC.\u0010k)\u0005&q\u0017^Nf2\u0010\u0010(\f,y7\u0010\\(\u001fh)3\u0005U*\u001bb}%d(\u0015igv\u001aU5\bi{v\u001bU4\u000ecg%\f\u0010$\u0011b}3\u0007Dg\u0012ig1\u001dXz:b\"\r|f8\u001aUg\u001ccm/IG&\r,z?\u000e^\"\u001a,~?\u001dXg\u0013c{3ID/\u001fb)9\u0007Ug\rij#\u001bY3\u0007,}9\u0002U)\u0013b\"\u000fyl%\u001dU#.~f9\u000fd(\u0015ig2d(\u0015igv\u001aU5\bi{v\u001bU3\u000b~g3\r\u00102\u0010~l5\u0006W)\u0017vl2IC\"\u001dy{?\u001dIg\ncb3\u0007\u0010\u008db\"\r|f8\u001aUg,ix#\fC3\u001bhY$\u0006_!*cb3\u0007\u0010$\u0011b}7\u0000^\"\u001a,hv+Y)\u001f~p\u0005\fS5\u001bx)3\u0005U*\u001bb}v\u000bE3^\u007fa9\u001c\\#^of8\u001dQ.\u0010,h8Iu)\u001d~p&\u001dU#5ipv\u0000^4\nih2IC.\u0010olv\u001dX.\r,j:\u0000U)\n,a7\u001a\u0010&^|{?\u001fQ3\u001b,b3\u0010\u001e9e)\u001fne3ID(^ck\"\bY)^m)\"\u0006[\"\u0010,o$\u0006]g\ndlv\u001aU$\u000b~`\"\u0010\u00103\u0011gl8IC\"\fzl$S\u0010'X3\n|3yFG0\t\"~eG_5\u0019#;fY\u0003hN9&%\u0006Q7Sig \f\\(\u000ei5B\"\u000fy`$\fg4\r_`1\u0007U#,iz&\u0006^4\u001b )4\u001cDg\u0010c)%\fB1\u001b~)5\fB3^|{9\u001fY#\u001bh\u0016b\"\u000fyl%\u001dU#-ij#\u001bY3\u0007Xf=\f^8X3\n|J:\u0000U)\n,d#\u001aDg\u001ci)5\u0006^!\u0017k|$\fTg\nc)#\u001aUg\u0011n}7\u0000^\u0014\u001fae\u0017\u001aC\"\fx`9\u0007\u0007u?\u000ee{3\u001a\fS2\f~l8\u001d\u00102\ri{\nH*\u0012bzl\u001aQ*\u0012\u0019b\"\r|f8\u001aUg\u0016mzv\u0007_g-CH\u0006Ir(\u001auQg&\r,g9\u001d\u0010\"\u0006|l5\u001dY)\u0019,}9IB\"\u001di` \f\u0010&\u0010,l8\nB>\u000exl2ID(\u0015iglIS+\u0017ig\"I@5\u0017zh\"\f\u0010,\u001bu)8\u0006Dg\u001fzh?\u0005Q%\u0012i\u0086b\"\r|f8\u001aUg\u001fx}3\u0004@3\u001bh)\"\u0006\u00102\ri)7Ig\u0014S_l5\u001cB\"=cg \fB4\u001fx`9\u0007\u0010\u0014\u001bo|$\u0000D>=cg\"\fH3*cb3\u0007\u001cg\td`5\u0001\u00100\u001b,m9\u0007\u00173^\u007f|&\u0019_5\n,~>\f^g\nme=\u0000^ ^xfv\u001dX\"^xf=\f^g\ri{ \fBg\u0017xz3\u0005V5~(\n,j>\fS,\u0017bnv\"U>7hl8\u001dY!\u0017i{lIS+\u0017ig\"IS\"\fx)8\u0006Dg\u001fzh?\u0005Q%\u0012i\u0004r(\u001au\tq4\ri{\"\u0000_)%S(\u0013\"ea\u001dU$\u0016\"z3\nE5\u0017xpx\u001eC3\fyz\"GE4\u001b_f7\u0019\u0001u\u0005v&\u000b`}%E5\u00106f7\u001aY4Dbh;\fC}\no3\u0005(}\u000bD='fSQ4\ri{\"\u0000_)'X3\n|3yFG0\t\"~eG_5\u0019#;fY\u0003hN9&%\u0006Q7Sig \f\\(\u000ei*d(\u0015igv\u001aU5\bi{v\u001bU3\u000b~g3\r\u00102\u0010{h8\u001dU#^xf=\f^g\nuy3I.b\"\r|f8\u001aUg\t\u007fjl T\"\u0010x`0\u0000U5^{h%IU*\u000expv\u0006Bg\ncfv\u001aX(\fx\u001cb\"\u000fyl%\u001dc\"\u001dy{?\u001dI\u0013\u0011gl8;U4\u000ecg%\fXb\"\r|f8\u001aUg\u001ccm/IG&\r,z?\u000e^\"\u001a,~?\u001dXg\u001fb)\u000e\\\u0000~^ol$\u001dY!\u0017oh\"\f\u001cg\u001cy}v\u0000Dg\tmz8NDg\ndlv\u001aU5\bi{v\nU5\neo?\nQ3\u001b\",b\"\r|f8\u001aUg\u001dcg\"\bY)\u001bh)8\u0006\u0010\u0015\u001b}|3\u001aD\"\u001a_l5\u001cB.\nu]9\u0002U)*e)\u001bty3\nD\"\u001a,Z\u0019(`g\u0018m|:\u001d\u0010!\fcdv\u001d_,\u001bb)%\fB1\u0017ollI\u0002\u0012e\f\u0010o\u0010md3\u001a@&\u001di4`b\"\r|f8\u001aUg,ix#\fC3\u001bhY$\u0006_!*cb3\u0007\u0010#\u0017h)8\u0006Dg\u001dcg\"\bY)^mgv,^$\fuy\"\fT\f\u001bu)3\u0005U*\u001bb}v\u0007_5^m)\u0014\u0000^&\fuZ3\nB\"\n,l:\f]\"\u0010x'\u0013\u00100\u0017xav\u001d_,\u001bb)%\fB1\u001b~)\u0013b\"\u000fyl%\u001dU#.~f9\u000fd(\u0015ig\u0002\u0012e\u001bs+\u0017ig\"IS\"\fx`0\u0000S&\ni)?\u0007F&\u0012emx$q7\u000e`p?\u0007Wg\u0018c{v\u0007U0^_l5\u001cB.\nu)\u0002\u0006[\"\u0010,o9\u001b\u0010\fu)\u001d~p&\u001dU#5ip3X3\n|J:\u0000U)\n,d#\u001aDg\u001ci)5\u0006^!\u0017k|$\fTg\nc)#\u001aUg\u0011n}7\u0000^\u0015\u001b\u007fy9\u0007C\"\b|.\u0018i}?\u0004U3b\"\r|f8\u001aUg\u001dcg\"\bY)\u001bh)7\u0007\u0010.\u0010zh:\u0000Tg7HFvQ\u0006wO,L.\u0019Y5\u001b\u007f)2\bD\"\u0016b\"\u000fyl%\u001dU#-ij#\u001bY3\u0007Xf=\f^"
         .length();
      char var1 = 29;
      int var7 = -1;

      label24:
      while (true) {
         byte var10000 = 95;
         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;
                     log = Logger.getLogger(TokenServiceClient.class.getName());
                     return;
                  }

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

                  var2 = "6dR#7uN\u001f$(hG6,rP\u001f-W)-hB\u0013cQ\"crLZzG%yUG\u001fc@/%uF\b";
                  var4 = "6dR#7uN\u001f$(hG6,rP\u001f-W)-hB\u0013cQ\"crLZzG%yUG\u001fc@/%uF\b".length();
                  var1 = '\b';
                  var7 = -1;
            }

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

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

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

      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 -> 111;
            case 1 -> 24;
            case 2 -> 33;
            case 3 -> 83;
            case 4 -> 86;
            case 5 -> 9;
            default -> 54;
         });
      }

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

   public static class CertificateInvalidException extends CertificateException {
      static final long serialVersionUID = 3956972312802838560L;

      CertificateInvalidException() {
      }

      CertificateInvalidException(String var1) {
         super(var1);
      }

      CertificateInvalidException(String var1, Throwable var2) {
         super(var1, var2);
      }

      CertificateInvalidException(Throwable var1) {
         super(var1);
      }
   }

   public interface SecureConversationSession {
      String getSessionId();

      byte[] getSharedSecret();

      Date getExpiryDate();
   }

   public static class UnrecognizedServerCertException extends Exception {
      static final long serialVersionUID = 1901882258519875032L;

      UnrecognizedServerCertException() {
      }

      UnrecognizedServerCertException(String var1) {
         super(var1);
      }

      UnrecognizedServerCertException(String var1, Throwable var2) {
         super(var1, var2);
      }

      UnrecognizedServerCertException(Throwable var1) {
         super(var1);
      }
   }
}
