package com.l7tech.policy.wsp;

import com.l7tech.security.token.SecurityTokenType;
import java.util.regex.Pattern;
import org.w3c.dom.Element;

class t implements TypeMapping {
   private final Pattern a;
   private final Pattern b;
   private final Pattern c;
   private final Pattern d;
   private final Pattern e;
   private static final String[] f;

   t() {
      String[] var1 = f;
      this.a = Pattern.compile(var1[1]);
      this.b = Pattern.compile(var1[9]);
      this.c = Pattern.compile(var1[10]);
      this.d = Pattern.compile(var1[2]);
      this.e = Pattern.compile(var1[8]);
   }

   @Override
   public Class getMappedClass() {
      return SecurityTokenType.class;
   }

   @Override
   public String getSinceVersion() {
      return null;
   }

   @Override
   public String getExternalName() {
      return f[7];
   }

   @Override
   public Element freeze(WspWriter param1, TypedReference param2, Element param3) {
      // $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 12
      // 04: aload 2
      // 05: getfield com/l7tech/policy/wsp/TypedReference.target Ljava/lang/Object;
      // 08: ifnonnull 23
      // 0b: goto 12
      // 0e: invokestatic com/l7tech/policy/wsp/t.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 11: athrow
      // 12: new com/l7tech/policy/wsp/InvalidPolicyTreeException
      // 15: dup
      // 16: getstatic com/l7tech/policy/wsp/t.f [Ljava/lang/String;
      // 19: bipush 3
      // 1a: aaload
      // 1b: invokespecial com/l7tech/policy/wsp/InvalidPolicyTreeException.<init> (Ljava/lang/String;)V
      // 1e: athrow
      // 1f: invokestatic com/l7tech/policy/wsp/t.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 22: athrow
      // 23: aload 2
      // 24: getfield com/l7tech/policy/wsp/TypedReference.target Ljava/lang/Object;
      // 27: instanceof com/l7tech/security/token/SecurityTokenType
      // 2a: ifne 4e
      // 2d: new com/l7tech/policy/wsp/InvalidPolicyTreeException
      // 30: dup
      // 31: aload 2
      // 32: getfield com/l7tech/policy/wsp/TypedReference.target Ljava/lang/Object;
      // 35: invokevirtual java/lang/Object.getClass ()Ljava/lang/Class;
      // 38: invokestatic java/lang/String.valueOf (Ljava/lang/Object;)Ljava/lang/String;
      // 3b: getstatic com/l7tech/policy/wsp/t.f [Ljava/lang/String;
      // 3e: bipush 5
      // 3f: aaload
      // 40: swap
      // 41: 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" ]
      // 46: invokespecial com/l7tech/policy/wsp/InvalidPolicyTreeException.<init> (Ljava/lang/String;)V
      // 49: athrow
      // 4a: invokestatic com/l7tech/policy/wsp/t.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 4d: athrow
      // 4e: aload 2
      // 4f: getfield com/l7tech/policy/wsp/TypedReference.target Ljava/lang/Object;
      // 52: checkcast com/l7tech/security/token/SecurityTokenType
      // 55: astore 4
      // 57: aload 4
      // 59: invokevirtual com/l7tech/security/token/SecurityTokenType.getWstTokenTypeUri ()Ljava/lang/String;
      // 5c: astore 5
      // 5e: getstatic com/l7tech/util/SoapConstants.SECURITY_NAMESPACE Ljava/lang/String;
      // 61: astore 6
      // 63: getstatic com/l7tech/policy/wsp/t.f [Ljava/lang/String;
      // 66: astore 9
      // 68: aload 9
      // 6a: bipush 4
      // 6b: aaload
      // 6c: astore 7
      // 6e: aload 3
      // 6f: aload 9
      // 71: bipush 11
      // 73: aaload
      // 74: aload 6
      // 76: aload 9
      // 78: bipush 0
      // 79: aaload
      // 7a: invokestatic com/l7tech/util/DomUtils.createAndAppendElementNS (Lorg/w3c/dom/Node;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lorg/w3c/dom/Element;
      // 7d: astore 8
      // 7f: aload 8
      // 81: aload 8
      // 83: aload 5
      // 85: invokestatic com/l7tech/util/DomUtils.createTextNode (Lorg/w3c/dom/Node;Ljava/lang/String;)Lorg/w3c/dom/Text;
      // 88: invokeinterface org/w3c/dom/Element.appendChild (Lorg/w3c/dom/Node;)Lorg/w3c/dom/Node; 2
      // 8d: pop
      // 8e: aload 8
      // 90: areturn
      // try (0 -> 5): 6 com/l7tech/policy/wsp/InvalidPolicyTreeException
      // try (2 -> 15): 15 com/l7tech/policy/wsp/InvalidPolicyTreeException
      // try (17 -> 34): 34 com/l7tech/policy/wsp/InvalidPolicyTreeException
   }

   @Override
   public TypedReference thaw(Element param1, WspVisitor param2) throws InvalidPolicyStreamException {
      // $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: invokestatic com/l7tech/util/DomUtils.getTextValue (Lorg/w3c/dom/Element;)Ljava/lang/String;
      // 004: invokevirtual java/lang/String.trim ()Ljava/lang/String;
      // 007: astore 3
      // 008: aload 3
      // 009: invokestatic com/l7tech/security/token/SecurityTokenType.getByWstTokenTypeUri (Ljava/lang/String;)Lcom/l7tech/security/token/SecurityTokenType;
      // 00c: astore 4
      // 00e: aload 4
      // 010: ifnull 025
      // 013: new com/l7tech/policy/wsp/TypedReference
      // 016: dup
      // 017: aload 0
      // 018: invokevirtual com/l7tech/policy/wsp/t.getMappedClass ()Ljava/lang/Class;
      // 01b: aload 4
      // 01d: invokespecial com/l7tech/policy/wsp/TypedReference.<init> (Ljava/lang/Class;Ljava/lang/Object;)V
      // 020: areturn
      // 021: invokestatic com/l7tech/policy/wsp/t.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 024: athrow
      // 025: aload 0
      // 026: getfield com/l7tech/policy/wsp/t.a Ljava/util/regex/Pattern;
      // 029: aload 3
      // 02a: invokevirtual java/util/regex/Pattern.matcher (Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
      // 02d: invokevirtual java/util/regex/Matcher.find ()Z
      // 030: ifeq 046
      // 033: new com/l7tech/policy/wsp/TypedReference
      // 036: dup
      // 037: aload 0
      // 038: invokevirtual com/l7tech/policy/wsp/t.getMappedClass ()Ljava/lang/Class;
      // 03b: getstatic com/l7tech/security/token/SecurityTokenType.WSS_X509_BST Lcom/l7tech/security/token/SecurityTokenType;
      // 03e: invokespecial com/l7tech/policy/wsp/TypedReference.<init> (Ljava/lang/Class;Ljava/lang/Object;)V
      // 041: areturn
      // 042: invokestatic com/l7tech/policy/wsp/t.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 045: athrow
      // 046: aload 0
      // 047: getfield com/l7tech/policy/wsp/t.b Ljava/util/regex/Pattern;
      // 04a: aload 3
      // 04b: invokevirtual java/util/regex/Pattern.matcher (Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
      // 04e: invokevirtual java/util/regex/Matcher.find ()Z
      // 051: ifeq 067
      // 054: new com/l7tech/policy/wsp/TypedReference
      // 057: dup
      // 058: aload 0
      // 059: invokevirtual com/l7tech/policy/wsp/t.getMappedClass ()Ljava/lang/Class;
      // 05c: getstatic com/l7tech/security/token/SecurityTokenType.WSS_USERNAME Lcom/l7tech/security/token/SecurityTokenType;
      // 05f: invokespecial com/l7tech/policy/wsp/TypedReference.<init> (Ljava/lang/Class;Ljava/lang/Object;)V
      // 062: areturn
      // 063: invokestatic com/l7tech/policy/wsp/t.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 066: athrow
      // 067: aload 0
      // 068: getfield com/l7tech/policy/wsp/t.c Ljava/util/regex/Pattern;
      // 06b: aload 3
      // 06c: invokevirtual java/util/regex/Pattern.matcher (Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
      // 06f: invokevirtual java/util/regex/Matcher.find ()Z
      // 072: ifeq 088
      // 075: new com/l7tech/policy/wsp/TypedReference
      // 078: dup
      // 079: aload 0
      // 07a: invokevirtual com/l7tech/policy/wsp/t.getMappedClass ()Ljava/lang/Class;
      // 07d: getstatic com/l7tech/security/token/SecurityTokenType.WSSC_CONTEXT Lcom/l7tech/security/token/SecurityTokenType;
      // 080: invokespecial com/l7tech/policy/wsp/TypedReference.<init> (Ljava/lang/Class;Ljava/lang/Object;)V
      // 083: areturn
      // 084: invokestatic com/l7tech/policy/wsp/t.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 087: athrow
      // 088: aload 0
      // 089: getfield com/l7tech/policy/wsp/t.d Ljava/util/regex/Pattern;
      // 08c: aload 3
      // 08d: invokevirtual java/util/regex/Pattern.matcher (Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
      // 090: invokevirtual java/util/regex/Matcher.find ()Z
      // 093: ifeq 0cc
      // 096: aload 3
      // 097: getstatic com/l7tech/policy/wsp/t.f [Ljava/lang/String;
      // 09a: bipush 12
      // 09c: aaload
      // 09d: invokevirtual java/lang/String.indexOf (Ljava/lang/String;)I
      // 0a0: ifle 0bd
      // 0a3: goto 0aa
      // 0a6: invokestatic com/l7tech/policy/wsp/t.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 0a9: athrow
      // 0aa: new com/l7tech/policy/wsp/TypedReference
      // 0ad: dup
      // 0ae: aload 0
      // 0af: invokevirtual com/l7tech/policy/wsp/t.getMappedClass ()Ljava/lang/Class;
      // 0b2: getstatic com/l7tech/security/token/SecurityTokenType.SAML2_ASSERTION Lcom/l7tech/security/token/SecurityTokenType;
      // 0b5: invokespecial com/l7tech/policy/wsp/TypedReference.<init> (Ljava/lang/Class;Ljava/lang/Object;)V
      // 0b8: areturn
      // 0b9: invokestatic com/l7tech/policy/wsp/t.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 0bc: athrow
      // 0bd: new com/l7tech/policy/wsp/TypedReference
      // 0c0: dup
      // 0c1: aload 0
      // 0c2: invokevirtual com/l7tech/policy/wsp/t.getMappedClass ()Ljava/lang/Class;
      // 0c5: getstatic com/l7tech/security/token/SecurityTokenType.SAML_ASSERTION Lcom/l7tech/security/token/SecurityTokenType;
      // 0c8: invokespecial com/l7tech/policy/wsp/TypedReference.<init> (Ljava/lang/Class;Ljava/lang/Object;)V
      // 0cb: areturn
      // 0cc: aload 0
      // 0cd: getfield com/l7tech/policy/wsp/t.e Ljava/util/regex/Pattern;
      // 0d0: aload 3
      // 0d1: invokevirtual java/util/regex/Pattern.matcher (Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
      // 0d4: invokevirtual java/util/regex/Matcher.find ()Z
      // 0d7: ifeq 0ed
      // 0da: new com/l7tech/policy/wsp/TypedReference
      // 0dd: dup
      // 0de: aload 0
      // 0df: invokevirtual com/l7tech/policy/wsp/t.getMappedClass ()Ljava/lang/Class;
      // 0e2: getstatic com/l7tech/security/token/SecurityTokenType.WSS_KERBEROS_BST Lcom/l7tech/security/token/SecurityTokenType;
      // 0e5: invokespecial com/l7tech/policy/wsp/TypedReference.<init> (Ljava/lang/Class;Ljava/lang/Object;)V
      // 0e8: areturn
      // 0e9: invokestatic com/l7tech/policy/wsp/t.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 0ec: athrow
      // 0ed: new com/l7tech/policy/wsp/InvalidPolicyStreamException
      // 0f0: dup
      // 0f1: aload 3
      // 0f2: getstatic com/l7tech/policy/wsp/t.f [Ljava/lang/String;
      // 0f5: bipush 6
      // 0f7: aaload
      // 0f8: swap
      // 0f9: 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" ]
      // 0fe: invokespecial com/l7tech/policy/wsp/InvalidPolicyStreamException.<init> (Ljava/lang/String;)V
      // 101: athrow
      // try (7 -> 16): 16 com/l7tech/policy/wsp/InvalidPolicyStreamException
      // try (18 -> 31): 31 com/l7tech/policy/wsp/InvalidPolicyStreamException
      // try (33 -> 46): 46 com/l7tech/policy/wsp/InvalidPolicyStreamException
      // try (48 -> 61): 61 com/l7tech/policy/wsp/InvalidPolicyStreamException
      // try (63 -> 75): 76 com/l7tech/policy/wsp/InvalidPolicyStreamException
      // try (69 -> 85): 85 com/l7tech/policy/wsp/InvalidPolicyStreamException
      // try (94 -> 107): 107 com/l7tech/policy/wsp/InvalidPolicyStreamException
   }

   @Override
   public TypeMappingFinder getSubtypeFinder() {
      return null;
   }

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

   static {
      String[] var5 = new String[13];
      int var3 = 0;
      String var2 = "8v\u0001\u0014\u000e\u0014?Q,=\u001bA\u00120BH\u0010p\u001d\u0015\u0014?Q,'0J*w\u0006\u0018\t-\u001d3[!0+\u000f\u001d%\u001ak\u0013\u0013\n&\u0019;jR\u0017\u0014&\\5`R\u0010F-L#iR\"\u0003 L=l\u0006\b2,R*k\u00048v\u0001\u0014'\u001ak\u0013\u0013\n&\u0019;jR\u0017\u0014&\\5`R\"\u0003 L=l\u0006\b2,R*kR\u001e\u0000cM6u\u0017Q.8v\u0001\u0014\\\u0010\\,p\u0000\u0018\u0012:m n\u0017\u001fF+X<%\u0007\u001f\u00156I?j\u0000\u0005\u0003'\u0019\u001bj\u0019\u0014\b\u0017@?`HQ\t\u001bj\u0019\u0014\b\u0017@?`\u001a\u0014?Q,!\u0010j\u0010N\u0017\u0003\u0004&K v\u0004D9\u0002i\u0010W7 B\u0012\u0014?Q,30\\=k\u0013\u001c\u0003\u0017V$`\u001cU\b`v\u0011^\u0015 Mk";
      int var4 = "8v\u0001\u0014\u000e\u0014?Q,=\u001bA\u00120BH\u0010p\u001d\u0015\u0014?Q,'0J*w\u0006\u0018\t-\u001d3[!0+\u000f\u001d%\u001ak\u0013\u0013\n&\u0019;jR\u0017\u0014&\\5`R\u0010F-L#iR\"\u0003 L=l\u0006\b2,R*k\u00048v\u0001\u0014'\u001ak\u0013\u0013\n&\u0019;jR\u0017\u0014&\\5`R\"\u0003 L=l\u0006\b2,R*kR\u001e\u0000cM6u\u0017Q.8v\u0001\u0014\\\u0010\\,p\u0000\u0018\u0012:m n\u0017\u001fF+X<%\u0007\u001f\u00156I?j\u0000\u0005\u0003'\u0019\u001bj\u0019\u0014\b\u0017@?`HQ\t\u001bj\u0019\u0014\b\u0017@?`\u001a\u0014?Q,!\u0010j\u0010N\u0017\u0003\u0004&K v\u0004D9\u0002i\u0010W7 B\u0012\u0014?Q,30\\=k\u0013\u001c\u0003\u0017V$`\u001cU\b`v\u0011^\u0015 Mk"
         .length();
      char var1 = 4;
      int var7 = -1;

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

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

                  var2 = "\u001dl\u001f\u0012\u000e\u0011F9f\u0003{-D";
                  var4 = "\u001dl\u001f\u0012\u000e\u0011F9f\u0003{-D".length();
                  var1 = '\t';
                  var7 = -1;
            }

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

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

      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 -> 29;
            case 1 -> 87;
            case 2 -> 32;
            case 3 -> 35;
            case 4 -> 52;
            case 5 -> 17;
            default -> 107;
         });
      }

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