package com.l7tech.policy.assertion;

import com.l7tech.policy.assertion.annotation.RequiresSOAP;
import com.l7tech.util.ConfigFactory;

@RequiresSOAP
public class WsspAssertion extends Assertion {
   public static final String PROP_ALLOW_OVERRIDE_GENERATED_XML;
   private static final boolean ALLOW_OVERRIDE_GENERATED_XML;
   private String basePolicyXml;
   private String inputPolicyXml;
   private String outputPolicyXml;
   static final long serialVersionUID = -7003062913519213583L;
   private static final String[] b;

   public String getBasePolicyXml() {
      return this.basePolicyXml;
   }

   public void setBasePolicyXml(String var1) {
      this.basePolicyXml = this.emptyToNull(var1);
   }

   public String getInputPolicyXml() {
      return this.inputPolicyXml;
   }

   public void setInputPolicyXml(String var1) {
      this.inputPolicyXml = this.emptyToNull(var1);
   }

   public String getOutputPolicyXml() {
      return this.outputPolicyXml;
   }

   public void setOutputPolicyXml(String var1) {
      this.outputPolicyXml = this.emptyToNull(var1);
   }

   private String emptyToNull(String var1) {
      return var1 != null && var1.length() <= 0 ? null : this.nullAsNull(var1);
   }

   private <T> T nullAsNull(T var1) {
      return (T)(var1 != null && !b[8].equals(var1.toString()) ? var1 : null);
   }

   @Override
   public AssertionMetadata meta() {
      DefaultAssertionMetadata var1 = this.defaultMeta();
      String[] var2 = b;
      var1.put(var2[9], var2[5]);
      var1.put(var2[4], var2[11]);
      var1.put(var2[14], var2[1]);
      var1.put(var2[3], new String[]{var2[2]});
      var1.put(var2[13], var2[6]);
      if (ALLOW_OVERRIDE_GENERATED_XML) {
         var1.put(var2[0], var2[7]);
      } else {
         var1.putNull(b[12]);
      }

      return var1;
   }

   static {
      String[] var5 = new String[16];
      int var3 = 0;
      String var2 = "A#6\u0019GD\u0003X4*,F_\u0003^#\u001a\u0005CE\u0004_04\f)R>4FN\u0001\u0003T21FAY\u0019B>5\f\rD\u0012B>,\u001bAS\u0004\u001e!6\u0005KU\u000e\u0000gw\u000eKP\u0003I<5\u000eA05\fVB\u0012w>5\rGD\u0004\u000bU4*\nP_\u0007E86\u0007%t??\u0006PU\u0012\u0011\u0006\nDqS\u0014D#0\u001d[\u0016'^=0\n[\u00164^<)\u0005KW\u0019R4\u001df\u0002t:GU\u0002C8-\u0010\u0002f\u0018]8:\u0010\u0002f\u0005^!<\u001bV_\u0012B7R>4GN\u0001\u0003T21GAY\u0019B>5\f\fF\u0016_45\u001a\fa\u0004B!\u0018\u001aQS\u0005E86\u0007rD\u0018A4+\u001dKS\u0004u88\u0005MQ\u0004_$5\u0005\tB96\u001bVx\u0016\\40R>4GN\u0001\u0003T21GRY\u001bX2 GUE\u0004A\u007f8\u0005NY\u0000~'<\u001bP_\u0013T\u0016<\u0007GD\u0016E4=1OZQc4*\u001dP_\u0014Eq-\u0001G\u0016\u0007^=0\n[\u0016\u0003^q:\u0006LB\u0016X?y\u0006LZ\u000e\u00110*\u001aGD\u0003X>7\u001a\u0002U\u0018\\!8\u001dKT\u001bTq.\u0000V^Wf\u0002t:GU\u0002C8-\u0010rY\u001bX2 G\u0017A#6\u0019GD\u0003X4*,F_\u0003^#\u001f\bAB\u0018C(\u0014A#6\u0019GD\u0003X4*(AB\u001e^?\u0017\bOS";
      int var4 = "A#6\u0019GD\u0003X4*,F_\u0003^#\u001a\u0005CE\u0004_04\f)R>4FN\u0001\u0003T21FAY\u0019B>5\f\rD\u0012B>,\u001bAS\u0004\u001e!6\u0005KU\u000e\u0000gw\u000eKP\u0003I<5\u000eA05\fVB\u0012w>5\rGD\u0004\u000bU4*\nP_\u0007E86\u0007%t??\u0006PU\u0012\u0011\u0006\nDqS\u0014D#0\u001d[\u0016'^=0\n[\u00164^<)\u0005KW\u0019R4\u001df\u0002t:GU\u0002C8-\u0010\u0002f\u0018]8:\u0010\u0002f\u0005^!<\u001bV_\u0012B7R>4GN\u0001\u0003T21GAY\u0019B>5\f\fF\u0016_45\u001a\fa\u0004B!\u0018\u001aQS\u0005E86\u0007rD\u0018A4+\u001dKS\u0004u88\u0005MQ\u0004_$5\u0005\tB96\u001bVx\u0016\\40R>4GN\u0001\u0003T21GRY\u001bX2 GUE\u0004A\u007f8\u0005NY\u0000~'<\u001bP_\u0013T\u0016<\u0007GD\u0016E4=1OZQc4*\u001dP_\u0014Eq-\u0001G\u0016\u0007^=0\n[\u0016\u0003^q:\u0006LB\u0016X?y\u0006LZ\u000e\u00110*\u001aGD\u0003X>7\u001a\u0002U\u0018\\!8\u001dKT\u001bTq.\u0000V^Wf\u0002t:GU\u0002C8-\u0010rY\u001bX2 G\u0017A#6\u0019GD\u0003X4*,F_\u0003^#\u001f\bAB\u0018C(\u0014A#6\u0019GD\u0003X4*(AB\u001e^?\u0017\bOS"
         .length();
      char var1 = 25;
      int var7 = -1;

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

         while (true) {
            String var8 = b(var10000, b(var10001));
            switch (var10002) {
               case 0:
                  var5[var3++] = var8;
                  if ((var7 += var1) >= var4) {
                     b = var5;
                     PROP_ALLOW_OVERRIDE_GENERATED_XML = b[15];
                     ALLOW_OVERRIDE_GENERATED_XML = ConfigFactory.getBooleanProperty(b[10], false);
                     return;
                  }

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

                  var2 = "\\-(\u0011K_\u000fb# \u0011vH\u0005B0O#)ZS\u001c\u001eI/,ZOD\u0006E/=ZHX\u0019\\b%\u0018SD\u001dc:!\u0006MB\u000eI\u000b!\u001aZY\u000bX) ,RG";
                  var4 = "\\-(\u0011K_\u000fb# \u0011vH\u0005B0O#)ZS\u001c\u001eI/,ZOD\u0006E/=ZHX\u0019\\b%\u0018SD\u001dc:!\u0006MB\u000eI\u000b!\u001aZY\u000bX) ,RG"
                     .length();
                  var1 = 15;
                  var7 = -1;
            }

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

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

      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 -> 107;
            case 1 -> 11;
            case 2 -> 3;
            case 3 -> 51;
            case 4 -> 120;
            case 5 -> 108;
            default -> 45;
         });
      }

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