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

import com.l7tech.gateway.common.audit.Audit;
import com.l7tech.policy.assertion.xmlsec.RequireSaml;
import com.l7tech.policy.assertion.xmlsec.SamlAttributeStatement;
import com.l7tech.policy.assertion.xmlsec.SamlAttributeStatement.Attribute;
import com.l7tech.util.Pair;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import java.util.Map;
import java.util.logging.Level;
import org.apache.xmlbeans.XmlObject;
import x0Assertion.oasisNamesTcSAML1.AttributeStatementType;
import x0Assertion.oasisNamesTcSAML1.AttributeType;

class k extends SamlStatementValidate {
   private SamlAttributeStatement a;
   private static final String[] c;

   k(RequireSaml var1) {
      super(var1);
      this.a = var1.getAttributeStatement();
      if (this.a == null) {
         throw new IllegalArgumentException(c[0]);
      }
   }

   @Override
   protected void validate(
      XmlObject var1, Collection<SamlAssertionValidate.Error> var2, Collection<Pair<String, String[]>> var3, Map<String, Object> var4, Audit var5
   ) {
      try {
         if (!(var1 instanceof AttributeStatementType)) {
            throw new IllegalArgumentException(c[4] + AttributeStatementType.class);
         }
      } catch (IllegalArgumentException var25) {
         throw a(var25);
      }

      AttributeStatementType var6 = (AttributeStatementType)var1;
      AttributeType[] var7 = var6.getAttributeArray();
      Attribute[] var8 = this.a.getAttributes();
      Attribute[] var9 = var8;
      int var10 = var9.length;
      int var11 = 0;

      while (var11 < var10) {
         Attribute var12 = var9[var11];
         List var13 = this.a(var12, var7, var2);

         label73: {
            try {
               if (var13 == null || var13.isEmpty()) {
                  break label73;
               }
            } catch (IllegalArgumentException var24) {
               throw a(var24);
            }

            if (var3 != null) {
               for (AttributeType var15 : var13) {
                  String var16 = var15.getAttributeName();
                  ArrayList var17 = new ArrayList();

                  for (XmlObject var21 : var15.getAttributeValueArray()) {
                     String var22 = h.a(var21);
                     var17.add(var22);
                  }

                  var3.add(new Pair(var16, var17.toArray(new String[var17.size()])));
               }
            }

            var11++;
            continue;
         }

         SamlAssertionValidate.Error var26 = new SamlAssertionValidate.Error(c[1], null, var12);

         try {
            if (this.logger.isLoggable(Level.FINER)) {
               this.logger.finer(var26.toString());
            }
         } catch (IllegalArgumentException var23) {
            throw a(var23);
         }

         var2.add(var26);
         return;
      }
   }

   private List<AttributeType> a(Attribute param1, AttributeType[] param2, Collection 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:
      // 000: aload 1
      // 001: invokevirtual com/l7tech/policy/assertion/xmlsec/SamlAttributeStatement$Attribute.getName ()Ljava/lang/String;
      // 004: astore 4
      // 006: aload 1
      // 007: invokevirtual com/l7tech/policy/assertion/xmlsec/SamlAttributeStatement$Attribute.getNamespace ()Ljava/lang/String;
      // 00a: astore 5
      // 00c: aload 1
      // 00d: invokevirtual com/l7tech/policy/assertion/xmlsec/SamlAttributeStatement$Attribute.getValue ()Ljava/lang/String;
      // 010: astore 6
      // 012: aload 1
      // 013: invokevirtual com/l7tech/policy/assertion/xmlsec/SamlAttributeStatement$Attribute.isAnyValue ()Z
      // 016: istore 7
      // 018: aload 0
      // 019: aload 4
      // 01b: invokevirtual com/l7tech/server/policy/assertion/xmlsec/k.a (Ljava/lang/String;)Z
      // 01e: ifne 03d
      // 021: iload 7
      // 023: ifne 06b
      // 026: goto 02d
      // 029: invokestatic com/l7tech/server/policy/assertion/xmlsec/k.a (Ljava/lang/IllegalArgumentException;)Ljava/lang/IllegalArgumentException;
      // 02c: athrow
      // 02d: aload 0
      // 02e: aload 6
      // 030: invokevirtual com/l7tech/server/policy/assertion/xmlsec/k.a (Ljava/lang/String;)Z
      // 033: ifeq 06b
      // 036: goto 03d
      // 039: invokestatic com/l7tech/server/policy/assertion/xmlsec/k.a (Ljava/lang/IllegalArgumentException;)Ljava/lang/IllegalArgumentException;
      // 03c: athrow
      // 03d: new com/l7tech/server/policy/assertion/xmlsec/SamlAssertionValidate$Error
      // 040: dup
      // 041: getstatic com/l7tech/server/policy/assertion/xmlsec/k.c [Ljava/lang/String;
      // 044: astore 20
      // 046: aload 20
      // 048: bipush 5
      // 049: aaload
      // 04a: aconst_null
      // 04b: bipush 0
      // 04c: anewarray 77
      // 04f: invokespecial com/l7tech/server/policy/assertion/xmlsec/SamlAssertionValidate$Error.<init> (Ljava/lang/String;Ljava/lang/Exception;[Ljava/lang/Object;)V
      // 052: astore 8
      // 054: aload 3
      // 055: aload 8
      // 057: invokeinterface java/util/Collection.add (Ljava/lang/Object;)Z 2
      // 05c: pop
      // 05d: aload 0
      // 05e: getfield com/l7tech/server/policy/assertion/xmlsec/k.logger Ljava/util/logging/Logger;
      // 061: aload 8
      // 063: invokevirtual com/l7tech/server/policy/assertion/xmlsec/SamlAssertionValidate$Error.toString ()Ljava/lang/String;
      // 066: invokevirtual java/util/logging/Logger.finer (Ljava/lang/String;)V
      // 069: aconst_null
      // 06a: areturn
      // 06b: new java/util/ArrayList
      // 06e: dup
      // 06f: invokespecial java/util/ArrayList.<init> ()V
      // 072: astore 8
      // 074: aload 2
      // 075: astore 9
      // 077: aload 9
      // 079: arraylength
      // 07a: istore 10
      // 07c: bipush 0
      // 07d: istore 11
      // 07f: iload 11
      // 081: iload 10
      // 083: if_icmpge 1c7
      // 086: aload 9
      // 088: iload 11
      // 08a: aaload
      // 08b: astore 12
      // 08d: aload 4
      // 08f: aload 12
      // 091: invokeinterface x0Assertion/oasisNamesTcSAML1/AttributeType.getAttributeName ()Ljava/lang/String; 1
      // 096: invokevirtual java/lang/String.equals (Ljava/lang/Object;)Z
      // 099: ifeq 1c1
      // 09c: aload 0
      // 09d: aload 5
      // 09f: invokevirtual com/l7tech/server/policy/assertion/xmlsec/k.a (Ljava/lang/String;)Z
      // 0a2: ifne 0c9
      // 0a5: goto 0ac
      // 0a8: invokestatic com/l7tech/server/policy/assertion/xmlsec/k.a (Ljava/lang/IllegalArgumentException;)Ljava/lang/IllegalArgumentException;
      // 0ab: athrow
      // 0ac: aload 5
      // 0ae: aload 12
      // 0b0: invokeinterface x0Assertion/oasisNamesTcSAML1/AttributeType.getAttributeNamespace ()Ljava/lang/String; 1
      // 0b5: invokevirtual java/lang/String.equals (Ljava/lang/Object;)Z
      // 0b8: ifne 0c9
      // 0bb: goto 0c2
      // 0be: invokestatic com/l7tech/server/policy/assertion/xmlsec/k.a (Ljava/lang/IllegalArgumentException;)Ljava/lang/IllegalArgumentException;
      // 0c1: athrow
      // 0c2: goto 1c1
      // 0c5: invokestatic com/l7tech/server/policy/assertion/xmlsec/k.a (Ljava/lang/IllegalArgumentException;)Ljava/lang/IllegalArgumentException;
      // 0c8: athrow
      // 0c9: aload 12
      // 0cb: invokeinterface x0Assertion/oasisNamesTcSAML1/AttributeType.getAttributeValueArray ()[Lorg/apache/xmlbeans/XmlObject; 1
      // 0d0: astore 13
      // 0d2: aload 13
      // 0d4: astore 14
      // 0d6: aload 14
      // 0d8: arraylength
      // 0d9: istore 15
      // 0db: bipush 0
      // 0dc: istore 16
      // 0de: iload 16
      // 0e0: iload 15
      // 0e2: if_icmpge 1c1
      // 0e5: aload 14
      // 0e7: iload 16
      // 0e9: aaload
      // 0ea: astore 17
      // 0ec: aload 17
      // 0ee: invokeinterface org/apache/xmlbeans/XmlObject.newCursor ()Lorg/apache/xmlbeans/XmlCursor; 1
      // 0f3: astore 18
      // 0f5: iload 7
      // 0f7: ifeq 154
      // 0fa: aload 0
      // 0fb: aload 18
      // 0fd: invokeinterface org/apache/xmlbeans/XmlCursor.getTextValue ()Ljava/lang/String; 1
      // 102: invokevirtual com/l7tech/server/policy/assertion/xmlsec/k.a (Ljava/lang/String;)Z
      // 105: ifne 154
      // 108: goto 10f
      // 10b: invokestatic com/l7tech/server/policy/assertion/xmlsec/k.a (Ljava/lang/IllegalArgumentException;)Ljava/lang/IllegalArgumentException;
      // 10e: athrow
      // 10f: aload 0
      // 110: getfield com/l7tech/server/policy/assertion/xmlsec/k.logger Ljava/util/logging/Logger;
      // 113: getstatic java/util/logging/Level.FINER Ljava/util/logging/Level;
      // 116: invokevirtual java/util/logging/Logger.isLoggable (Ljava/util/logging/Level;)Z
      // 119: ifeq 147
      // 11c: goto 123
      // 11f: invokestatic com/l7tech/server/policy/assertion/xmlsec/k.a (Ljava/lang/IllegalArgumentException;)Ljava/lang/IllegalArgumentException;
      // 122: athrow
      // 123: aload 0
      // 124: getfield com/l7tech/server/policy/assertion/xmlsec/k.logger Ljava/util/logging/Logger;
      // 127: getstatic com/l7tech/server/policy/assertion/xmlsec/k.c [Ljava/lang/String;
      // 12a: bipush 2
      // 12b: aaload
      // 12c: bipush 2
      // 12d: anewarray 77
      // 130: dup
      // 131: bipush 0
      // 132: aload 4
      // 134: aastore
      // 135: dup
      // 136: bipush 1
      // 137: aload 6
      // 139: aastore
      // 13a: invokestatic java/text/MessageFormat.format (Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
      // 13d: invokevirtual java/util/logging/Logger.finer (Ljava/lang/String;)V
      // 140: goto 147
      // 143: invokestatic com/l7tech/server/policy/assertion/xmlsec/k.a (Ljava/lang/IllegalArgumentException;)Ljava/lang/IllegalArgumentException;
      // 146: athrow
      // 147: aload 8
      // 149: aload 12
      // 14b: invokeinterface java/util/List.add (Ljava/lang/Object;)Z 2
      // 150: pop
      // 151: goto 1a5
      // 154: aload 18
      // 156: invokeinterface org/apache/xmlbeans/XmlCursor.getTextValue ()Ljava/lang/String; 1
      // 15b: aload 6
      // 15d: invokevirtual java/lang/String.equals (Ljava/lang/Object;)Z
      // 160: ifeq 1a5
      // 163: aload 0
      // 164: getfield com/l7tech/server/policy/assertion/xmlsec/k.logger Ljava/util/logging/Logger;
      // 167: getstatic java/util/logging/Level.FINER Ljava/util/logging/Level;
      // 16a: invokevirtual java/util/logging/Logger.isLoggable (Ljava/util/logging/Level;)Z
      // 16d: ifeq 19b
      // 170: goto 177
      // 173: invokestatic com/l7tech/server/policy/assertion/xmlsec/k.a (Ljava/lang/IllegalArgumentException;)Ljava/lang/IllegalArgumentException;
      // 176: athrow
      // 177: aload 0
      // 178: getfield com/l7tech/server/policy/assertion/xmlsec/k.logger Ljava/util/logging/Logger;
      // 17b: getstatic com/l7tech/server/policy/assertion/xmlsec/k.c [Ljava/lang/String;
      // 17e: bipush 3
      // 17f: aaload
      // 180: bipush 2
      // 181: anewarray 77
      // 184: dup
      // 185: bipush 0
      // 186: aload 4
      // 188: aastore
      // 189: dup
      // 18a: bipush 1
      // 18b: aload 6
      // 18d: aastore
      // 18e: invokestatic java/text/MessageFormat.format (Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
      // 191: invokevirtual java/util/logging/Logger.finer (Ljava/lang/String;)V
      // 194: goto 19b
      // 197: invokestatic com/l7tech/server/policy/assertion/xmlsec/k.a (Ljava/lang/IllegalArgumentException;)Ljava/lang/IllegalArgumentException;
      // 19a: athrow
      // 19b: aload 8
      // 19d: aload 12
      // 19f: invokeinterface java/util/List.add (Ljava/lang/Object;)Z 2
      // 1a4: pop
      // 1a5: aload 18
      // 1a7: invokeinterface org/apache/xmlbeans/XmlCursor.dispose ()V 1
      // 1ac: goto 1bb
      // 1af: astore 19
      // 1b1: aload 18
      // 1b3: invokeinterface org/apache/xmlbeans/XmlCursor.dispose ()V 1
      // 1b8: aload 19
      // 1ba: athrow
      // 1bb: iinc 16 1
      // 1be: goto 0de
      // 1c1: iinc 11 1
      // 1c4: goto 07f
      // 1c7: aload 8
      // 1c9: invokeinterface java/util/List.isEmpty ()Z 1
      // 1ce: ifeq 1d9
      // 1d1: aconst_null
      // 1d2: goto 1db
      // 1d5: invokestatic com/l7tech/server/policy/assertion/xmlsec/k.a (Ljava/lang/IllegalArgumentException;)Ljava/lang/IllegalArgumentException;
      // 1d8: athrow
      // 1d9: aload 8
      // 1db: areturn
      // try (160 -> 185): 186 java/lang/IllegalArgumentException
      // try (155 -> 165): 166 java/lang/IllegalArgumentException
      // try (122 -> 147): 148 java/lang/IllegalArgumentException
      // try (114 -> 127): 128 java/lang/IllegalArgumentException
      // try (112 -> 119): 120 java/lang/IllegalArgumentException
      // try (81 -> 90): 90 java/lang/IllegalArgumentException
      // try (74 -> 86): 87 java/lang/IllegalArgumentException
      // try (69 -> 78): 79 java/lang/IllegalArgumentException
      // try (16 -> 25): 26 java/lang/IllegalArgumentException
      // try (12 -> 18): 19 java/lang/IllegalArgumentException
      // try (112 -> 192): 195 null
      // try (195 -> 196): 195 null
      // try (204 -> 209): 209 java/lang/IllegalArgumentException
   }

   private boolean a(String param1) {
      // $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: ifnull 14
      // 04: ldc ""
      // 06: aload 1
      // 07: invokevirtual java/lang/String.equals (Ljava/lang/Object;)Z
      // 0a: ifeq 1c
      // 0d: goto 14
      // 10: invokestatic com/l7tech/server/policy/assertion/xmlsec/k.a (Ljava/lang/IllegalArgumentException;)Ljava/lang/IllegalArgumentException;
      // 13: athrow
      // 14: bipush 1
      // 15: goto 1d
      // 18: invokestatic com/l7tech/server/policy/assertion/xmlsec/k.a (Ljava/lang/IllegalArgumentException;)Ljava/lang/IllegalArgumentException;
      // 1b: athrow
      // 1c: bipush 0
      // 1d: ireturn
      // try (0 -> 6): 7 java/lang/IllegalArgumentException
      // try (2 -> 11): 11 java/lang/IllegalArgumentException
   }

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

   static {
      String[] var5 = new String[6];
      int var3 = 0;
      String var2 = "qaHZh2\u007fDp\u001cZd!\u007fYgYEd>~C5TIw5*^zH\bc5o^5OXd3cV|YL-~z\u001cE`$iX|RO!\u0011~DgUJt$o\u0010eNMr5dDpX\u0006!\u0002oA`UZd4*K%A\u001b}tHKi5n\u0010{]Edpq\u0000h\u0010\b`>s\u0010c]Dt5\u001c}tHKi5n\u0010{]Edpq\u0000h\u0010\bw1fEp\u001cS0-*";
      int var4 = "qaHZh2\u007fDp\u001cZd!\u007fYgYEd>~C5TIw5*^zH\bc5o^5OXd3cV|YL-~z\u001cE`$iX|RO!\u0011~DgUJt$o\u0010eNMr5dDpX\u0006!\u0002oA`UZd4*K%A\u001b}tHKi5n\u0010{]Edpq\u0000h\u0010\b`>s\u0010c]Dt5\u001c}tHKi5n\u0010{]Edpq\u0000h\u0010\bw1fEp\u001cS0-*"
         .length();
      char var1 = '.';
      int var7 = -1;

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

         while (true) {
            String var8 = b(var10000, c(var10001));
            switch (var10002) {
               case 0:
                  var5[var3++] = var8;
                  if ((var7 += var1) >= var4) {
                     c = var5;
                     return;
                  }

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

                  var2 = "owVWx>uN/4caPSw#t\nNRFi#r_{C\u0012x%~Y{TSr$d\n'HSv/0E}\u0006Dz&eO/OA;$eFc\u000f";
                  var4 = "owVWx>uN/4caPSw#t\nNRFi#r_{C\u0012x%~Y{TSr$d\n'HSv/0E}\u0006Dz&eO/OA;$eFc\u000f".length();
                  var1 = '\t';
                  var7 = -1;
            }

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

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

      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 -> 124;
            case 1 -> 89;
            case 2 -> 112;
            case 3 -> 100;
            case 4 -> 77;
            case 5 -> 28;
            default -> 70;
         });
      }

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