package com.l7tech.gateway.common.audit;

import com.l7tech.gateway.common.mapping.MessageContextMapping;
import com.l7tech.gateway.common.mapping.MessageContextMappingKeys;
import com.l7tech.gateway.common.mapping.MessageContextMappingValues;
import com.l7tech.gateway.common.service.PublishedService;
import com.l7tech.objectmodel.Goid;
import com.l7tech.objectmodel.SecurityZone;
import com.l7tech.objectmodel.ZoneableEntity;
import com.l7tech.policy.assertion.AssertionStatus;
import com.l7tech.security.rbac.RbacAttribute;
import com.l7tech.security.token.SecurityTokenType;
import com.l7tech.util.Functions.Nullary;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.JoinColumn;
import jakarta.persistence.ManyToOne;
import jakarta.persistence.Table;
import jakarta.persistence.Transient;
import java.io.IOException;
import java.io.OutputStream;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.logging.Level;
import org.hibernate.annotations.Proxy;
import org.hibernate.annotations.Type;
import org.jetbrains.annotations.Nullable;

@Entity
@Proxy(lazy = false)
@Table(name = "audit_message")
public class MessageSummaryAuditRecord extends AuditRecord implements ZoneableEntity {
   public static final String ATTR_SERVICE_GOID;
   private static final long serialVersionUID = 3558223265338839803L;
   protected int status;
   protected String requestXml;
   protected String responseXml;
   protected Goid serviceGoid = PublishedService.DEFAULT_GOID;
   protected boolean authenticated;
   protected SecurityTokenType authenticationType;
   protected int requestContentLength = -1;
   protected int responseContentLength = -1;
   private int responseHttpStatus = -1;
   private int routingLatency = -1;
   private String operationName;
   private Object operationNameHaver;
   private Goid mappingValuesId;
   private Nullary<Goid> mappingValueIdHaver;
   private MessageContextMappingValues mappingValuesEntity;
   private transient Object originalPolicyEnforcementContext;
   private SecurityZone securityZone;
   private static final String[] b;

   @Deprecated
   public MessageSummaryAuditRecord() {
   }

   public MessageSummaryAuditRecord(
      Level var1,
      String var2,
      String var3,
      AssertionStatus var4,
      String var5,
      String var6,
      int var7,
      String var8,
      int var9,
      int var10,
      int var11,
      Goid var12,
      String var13,
      Object var14,
      boolean var15,
      SecurityTokenType var16,
      Goid var17,
      String var18,
      String var19,
      Nullary<Goid> var20
   ) {
      super(var1, var2, var5, var17, var18, var19, var13, null);
      String[] var22 = b;
      StringBuffer var21 = new StringBuffer(var22[3]);
      if (var4 == AssertionStatus.NONE) {
         if (var10 >= 400 && var10 < 600) {
            var21.append(var22[4]);
            this.setFooterAuditStatus(AuditRecord.MessageSummaryAuditStatus.MESSAGE_PROCESSED_WITH_HTTP_ERROR_CODE);
         } else {
            var22 = b;
            var21.append(var22[6]);
            this.setFooterAuditStatus(AuditRecord.MessageSummaryAuditStatus.MESSAGE_PROCESSED_SUCCESSFULLY);
         }
      } else {
         var22 = b;
         var21.append(var22[5]);
         var21.append(var4.getMessage());
         var21.append(var22[0]).append(var4.getNumeric()).append(")");
         this.setFooterAuditStatus(AuditRecord.MessageSummaryAuditStatus.MESSAGE_WAS_NOT_PROCESSED);
      }

      this.requestId = var3;
      this.setMessage(var21.toString());
      this.status = var4.getNumeric();
      this.requestXml = var6;
      this.requestContentLength = var7;
      this.responseXml = var8;
      this.responseContentLength = var9;
      this.responseHttpStatus = var10;
      this.routingLatency = var11;
      this.operationNameHaver = var14;
      this.serviceGoid = var12;
      this.authenticated = var15;
      this.authenticationType = var16;
      this.mappingValueIdHaver = var20;
   }

   @Column(name = "status")
   public int getStatus() {
      return this.status;
   }

   @Column(name = "service_goid")
   @Type(type = "com.l7tech.server.util.GoidType")
   public Goid getServiceGoid() {
      return this.serviceGoid;
   }

   @Column(name = "request_id")
   @Override
   public String getStrRequestId() {
      return super.getStrRequestId();
   }

   @Deprecated
   @Override
   public void setStrRequestId(String var1) {
      super.setStrRequestId(var1);
   }

   @Column(name = "request_zipxml")
   @Type(type = "com.l7tech.server.util.CompressedStringType")
   public String getRequestXml() {
      return this.requestXml;
   }

   @Column(name = "response_zipxml")
   @Type(type = "com.l7tech.server.util.CompressedStringType")
   public String getResponseXml() {
      return this.responseXml;
   }

   @Column(name = "authenticated")
   public boolean isAuthenticated() {
      return this.authenticated;
   }

   @Column(name = "authenticationType")
   @Type(type = "com.l7tech.server.util.SecurityTokenUserType")
   public SecurityTokenType getAuthenticationType() {
      return this.authenticationType;
   }

   @Column(name = "request_length")
   public int getRequestContentLength() {
      return this.requestContentLength;
   }

   @Column(name = "response_length")
   public int getResponseContentLength() {
      return this.responseContentLength;
   }

   @Column(name = "response_status")
   public int getResponseHttpStatus() {
      return this.responseHttpStatus;
   }

   @Column(name = "routing_latency")
   public int getRoutingLatency() {
      return this.routingLatency;
   }

   @RbacAttribute
   @Column(name = "operation_name")
   public String getOperationName() {
      if (this.operationName == null && this.operationNameHaver != null) {
         this.operationName = this.operationNameHaver.toString();
      }

      return this.operationName;
   }

   @Column(name = "mapping_values_goid")
   @Type(type = "com.l7tech.server.util.GoidType")
   public Goid getMappingValuesId() {
      if (this.mappingValuesId == null && this.mappingValueIdHaver != null) {
         this.mappingValuesId = (Goid)this.mappingValueIdHaver.call();
         if (this.mappingValuesId != null && this.mappingValuesId.getHi() == 0L && this.mappingValuesId.getLow() < 0L) {
            this.mappingValuesId = null;
         }
      }

      return this.mappingValuesId;
   }

   public void setMappingValuesId(Goid var1) {
      this.mappingValueIdHaver = null;
      this.mappingValuesId = var1;
   }

   @Deprecated
   protected void setOperationName(String var1) {
      this.operationNameHaver = null;
      this.operationName = var1;
   }

   @Deprecated
   protected void setStatus(int var1) {
      this.status = var1;
   }

   public void setRequestXml(String var1) {
      this.requestXml = var1;
   }

   @Transient
   @Nullable
   public SecurityZone getSecurityZone() {
      return this.securityZone;
   }

   public void setResponseXml(String var1) {
      this.responseXml = var1;
   }

   @Deprecated
   protected void setServiceGoid(Goid var1) {
      this.serviceGoid = var1;
   }

   @Deprecated
   protected void setAuthenticated(boolean var1) {
      this.authenticated = var1;
   }

   @Deprecated
   public void setAuthenticationType(SecurityTokenType var1) {
      this.authenticationType = var1;
   }

   @Deprecated
   protected void setRequestContentLength(int var1) {
      this.requestContentLength = var1;
   }

   @Deprecated
   protected void setResponseContentLength(int var1) {
      this.responseContentLength = var1;
   }

   @Deprecated
   protected void setResponseHttpStatus(int var1) {
      this.responseHttpStatus = var1;
   }

   @Deprecated
   protected void setRoutingLatency(int var1) {
      this.routingLatency = var1;
   }

   public void setSecurityZone(@Nullable SecurityZone var1) {
      this.securityZone = var1;
   }

   @ManyToOne
   @JoinColumn(name = "mapping_values_goid", insertable = false, updatable = false)
   public MessageContextMappingValues getMappingValuesEntity() {
      return this.mappingValuesEntity;
   }

   public void setMappingValuesEntity(MessageContextMappingValues var1) {
      this.mappingValuesEntity = var1;
   }

   public MessageContextMapping[] obtainMessageContextMappings() {
      if (this.mappingValuesEntity == null) {
         return new MessageContextMapping[0];
      }

      MessageContextMappingKeys var1 = this.mappingValuesEntity.getMappingKeysEntity();
      if (var1 == null) {
         return new MessageContextMapping[0];
      }

      List var2 = var1.obtainMappingsWithEmptyValues();
      String[] var3 = this.mappingValuesEntity.obtainValues();

      for (int var4 = 0; var4 < var2.size(); var4++) {
         ((MessageContextMapping)var2.get(var4)).setValue(var3[var4]);
      }

      return var2.toArray(new MessageContextMapping[var2.size()]);
   }

   public Object originalPolicyEnforcementContext() {
      return this.originalPolicyEnforcementContext;
   }

   public void originalPolicyEnforcementContext(Object var1) {
      this.originalPolicyEnforcementContext = var1;
   }

   @Override
   public void serializeOtherProperties(OutputStream param1, boolean param2, boolean param3) throws IOException {
      // $VF: Couldn't be decompiled
      // Please report this to the Vineflower issue tracker, at https://github.com/Vineflower/vineflower/issues with a copy of the class file (if you have the rights to distribute it!)
      // java.lang.RuntimeException: parsing failure!
      //   at org.jetbrains.java.decompiler.modules.decompiler.decompose.DomHelper.parseGraph(DomHelper.java:211)
      //   at org.jetbrains.java.decompiler.main.rels.MethodProcessor.codeToJava(MethodProcessor.java:174)
      //
      // Bytecode:
      // 000: aload 1
      // 001: aload 0
      // 002: getfield com/l7tech/gateway/common/audit/MessageSummaryAuditRecord.status I
      // 005: invokestatic java/lang/Integer.toString (I)Ljava/lang/String;
      // 008: invokevirtual java/lang/String.getBytes ()[B
      // 00b: invokevirtual java/io/OutputStream.write ([B)V
      // 00e: aload 1
      // 00f: ldc ":"
      // 011: invokevirtual java/lang/String.getBytes ()[B
      // 014: invokevirtual java/io/OutputStream.write ([B)V
      // 017: aload 0
      // 018: getfield com/l7tech/gateway/common/audit/MessageSummaryAuditRecord.requestId Ljava/lang/String;
      // 01b: ifnull 030
      // 01e: aload 1
      // 01f: aload 0
      // 020: getfield com/l7tech/gateway/common/audit/MessageSummaryAuditRecord.requestId Ljava/lang/String;
      // 023: invokevirtual java/lang/String.getBytes ()[B
      // 026: invokevirtual java/io/OutputStream.write ([B)V
      // 029: goto 030
      // 02c: invokestatic com/l7tech/gateway/common/audit/MessageSummaryAuditRecord.a (Ljava/io/IOException;)Ljava/io/IOException;
      // 02f: athrow
      // 030: aload 1
      // 031: ldc ":"
      // 033: invokevirtual java/lang/String.getBytes ()[B
      // 036: invokevirtual java/io/OutputStream.write ([B)V
      // 039: aload 1
      // 03a: iload 3
      // 03b: ifeq 052
      // 03e: aload 0
      // 03f: getfield com/l7tech/gateway/common/audit/MessageSummaryAuditRecord.serviceGoid Lcom/l7tech/objectmodel/Goid;
      // 042: invokevirtual com/l7tech/objectmodel/Goid.getLow ()J
      // 045: invokestatic java/lang/Long.toString (J)Ljava/lang/String;
      // 048: invokevirtual java/lang/String.getBytes ()[B
      // 04b: goto 05c
      // 04e: invokestatic com/l7tech/gateway/common/audit/MessageSummaryAuditRecord.a (Ljava/io/IOException;)Ljava/io/IOException;
      // 051: athrow
      // 052: aload 0
      // 053: getfield com/l7tech/gateway/common/audit/MessageSummaryAuditRecord.serviceGoid Lcom/l7tech/objectmodel/Goid;
      // 056: invokestatic com/l7tech/objectmodel/Goid.toString (Lcom/l7tech/objectmodel/Goid;)Ljava/lang/String;
      // 059: invokevirtual java/lang/String.getBytes ()[B
      // 05c: invokevirtual java/io/OutputStream.write ([B)V
      // 05f: aload 1
      // 060: ldc ":"
      // 062: invokevirtual java/lang/String.getBytes ()[B
      // 065: invokevirtual java/io/OutputStream.write ([B)V
      // 068: aload 0
      // 069: invokevirtual com/l7tech/gateway/common/audit/MessageSummaryAuditRecord.getOperationName ()Ljava/lang/String;
      // 06c: ifnull 081
      // 06f: aload 1
      // 070: aload 0
      // 071: invokevirtual com/l7tech/gateway/common/audit/MessageSummaryAuditRecord.getOperationName ()Ljava/lang/String;
      // 074: invokevirtual java/lang/String.getBytes ()[B
      // 077: invokevirtual java/io/OutputStream.write ([B)V
      // 07a: goto 081
      // 07d: invokestatic com/l7tech/gateway/common/audit/MessageSummaryAuditRecord.a (Ljava/io/IOException;)Ljava/io/IOException;
      // 080: athrow
      // 081: aload 1
      // 082: ldc ":"
      // 084: invokevirtual java/lang/String.getBytes ()[B
      // 087: invokevirtual java/io/OutputStream.write ([B)V
      // 08a: aload 0
      // 08b: getfield com/l7tech/gateway/common/audit/MessageSummaryAuditRecord.authenticated Z
      // 08e: ifeq 0a1
      // 091: aload 1
      // 092: ldc "1"
      // 094: invokevirtual java/lang/String.getBytes ()[B
      // 097: invokevirtual java/io/OutputStream.write ([B)V
      // 09a: goto 0aa
      // 09d: invokestatic com/l7tech/gateway/common/audit/MessageSummaryAuditRecord.a (Ljava/io/IOException;)Ljava/io/IOException;
      // 0a0: athrow
      // 0a1: aload 1
      // 0a2: ldc "0"
      // 0a4: invokevirtual java/lang/String.getBytes ()[B
      // 0a7: invokevirtual java/io/OutputStream.write ([B)V
      // 0aa: aload 1
      // 0ab: ldc ":"
      // 0ad: invokevirtual java/lang/String.getBytes ()[B
      // 0b0: invokevirtual java/io/OutputStream.write ([B)V
      // 0b3: aload 0
      // 0b4: getfield com/l7tech/gateway/common/audit/MessageSummaryAuditRecord.authenticationType Lcom/l7tech/security/token/SecurityTokenType;
      // 0b7: ifnull 0cf
      // 0ba: aload 1
      // 0bb: aload 0
      // 0bc: getfield com/l7tech/gateway/common/audit/MessageSummaryAuditRecord.authenticationType Lcom/l7tech/security/token/SecurityTokenType;
      // 0bf: invokevirtual com/l7tech/security/token/SecurityTokenType.toString ()Ljava/lang/String;
      // 0c2: invokevirtual java/lang/String.getBytes ()[B
      // 0c5: invokevirtual java/io/OutputStream.write ([B)V
      // 0c8: goto 0cf
      // 0cb: invokestatic com/l7tech/gateway/common/audit/MessageSummaryAuditRecord.a (Ljava/io/IOException;)Ljava/io/IOException;
      // 0ce: athrow
      // 0cf: aload 1
      // 0d0: ldc ":"
      // 0d2: invokevirtual java/lang/String.getBytes ()[B
      // 0d5: invokevirtual java/io/OutputStream.write ([B)V
      // 0d8: aload 1
      // 0d9: aload 0
      // 0da: getfield com/l7tech/gateway/common/audit/MessageSummaryAuditRecord.requestContentLength I
      // 0dd: invokestatic java/lang/Integer.toString (I)Ljava/lang/String;
      // 0e0: invokevirtual java/lang/String.getBytes ()[B
      // 0e3: invokevirtual java/io/OutputStream.write ([B)V
      // 0e6: aload 1
      // 0e7: ldc ":"
      // 0e9: invokevirtual java/lang/String.getBytes ()[B
      // 0ec: invokevirtual java/io/OutputStream.write ([B)V
      // 0ef: aload 1
      // 0f0: aload 0
      // 0f1: getfield com/l7tech/gateway/common/audit/MessageSummaryAuditRecord.responseContentLength I
      // 0f4: invokestatic java/lang/Integer.toString (I)Ljava/lang/String;
      // 0f7: invokevirtual java/lang/String.getBytes ()[B
      // 0fa: invokevirtual java/io/OutputStream.write ([B)V
      // 0fd: aload 1
      // 0fe: ldc ":"
      // 100: invokevirtual java/lang/String.getBytes ()[B
      // 103: invokevirtual java/io/OutputStream.write ([B)V
      // 106: iload 2
      // 107: ifeq 12a
      // 10a: aload 0
      // 10b: getfield com/l7tech/gateway/common/audit/MessageSummaryAuditRecord.requestXml Ljava/lang/String;
      // 10e: ifnull 12a
      // 111: goto 118
      // 114: invokestatic com/l7tech/gateway/common/audit/MessageSummaryAuditRecord.a (Ljava/io/IOException;)Ljava/io/IOException;
      // 117: athrow
      // 118: aload 1
      // 119: aload 0
      // 11a: getfield com/l7tech/gateway/common/audit/MessageSummaryAuditRecord.requestXml Ljava/lang/String;
      // 11d: invokevirtual java/lang/String.getBytes ()[B
      // 120: invokevirtual java/io/OutputStream.write ([B)V
      // 123: goto 12a
      // 126: invokestatic com/l7tech/gateway/common/audit/MessageSummaryAuditRecord.a (Ljava/io/IOException;)Ljava/io/IOException;
      // 129: athrow
      // 12a: aload 1
      // 12b: ldc ":"
      // 12d: invokevirtual java/lang/String.getBytes ()[B
      // 130: invokevirtual java/io/OutputStream.write ([B)V
      // 133: iload 2
      // 134: ifeq 157
      // 137: aload 0
      // 138: getfield com/l7tech/gateway/common/audit/MessageSummaryAuditRecord.responseXml Ljava/lang/String;
      // 13b: ifnull 157
      // 13e: goto 145
      // 141: invokestatic com/l7tech/gateway/common/audit/MessageSummaryAuditRecord.a (Ljava/io/IOException;)Ljava/io/IOException;
      // 144: athrow
      // 145: aload 1
      // 146: aload 0
      // 147: getfield com/l7tech/gateway/common/audit/MessageSummaryAuditRecord.responseXml Ljava/lang/String;
      // 14a: invokevirtual java/lang/String.getBytes ()[B
      // 14d: invokevirtual java/io/OutputStream.write ([B)V
      // 150: goto 157
      // 153: invokestatic com/l7tech/gateway/common/audit/MessageSummaryAuditRecord.a (Ljava/io/IOException;)Ljava/io/IOException;
      // 156: athrow
      // 157: aload 1
      // 158: ldc ":"
      // 15a: invokevirtual java/lang/String.getBytes ()[B
      // 15d: invokevirtual java/io/OutputStream.write ([B)V
      // 160: aload 1
      // 161: aload 0
      // 162: getfield com/l7tech/gateway/common/audit/MessageSummaryAuditRecord.responseHttpStatus I
      // 165: invokestatic java/lang/Integer.toString (I)Ljava/lang/String;
      // 168: invokevirtual java/lang/String.getBytes ()[B
      // 16b: invokevirtual java/io/OutputStream.write ([B)V
      // 16e: aload 1
      // 16f: ldc ":"
      // 171: invokevirtual java/lang/String.getBytes ()[B
      // 174: invokevirtual java/io/OutputStream.write ([B)V
      // 177: aload 1
      // 178: aload 0
      // 179: getfield com/l7tech/gateway/common/audit/MessageSummaryAuditRecord.routingLatency I
      // 17c: invokestatic java/lang/Integer.toString (I)Ljava/lang/String;
      // 17f: invokevirtual java/lang/String.getBytes ()[B
      // 182: invokevirtual java/io/OutputStream.write ([B)V
      // 185: aload 1
      // 186: ldc ":"
      // 188: invokevirtual java/lang/String.getBytes ()[B
      // 18b: invokevirtual java/io/OutputStream.write ([B)V
      // 18e: return
      // try (0 -> 18): 19 java/io/IOException
      // try (21 -> 34): 34 java/io/IOException
      // try (40 -> 53): 54 java/io/IOException
      // try (56 -> 68): 68 java/io/IOException
      // try (74 -> 87): 88 java/io/IOException
      // try (90 -> 119): 120 java/io/IOException
      // try (116 -> 127): 128 java/io/IOException
      // try (130 -> 139): 140 java/io/IOException
      // try (136 -> 147): 148 java/io/IOException
   }

   @Transient
   @Override
   public Map<String, Object> getAuditMetadata() {
      HashMap var1 = new HashMap<>(super.getAuditMetadata());
      var1.put(com.l7tech.gateway.common.audit.a.k, AssertionStatus.fromInt(this.status).getMessage());
      if (this.requestId != null) {
         var1.put(com.l7tech.gateway.common.audit.a.e, this.requestId);
      }

      var1.put(com.l7tech.gateway.common.audit.a.l, this.name);
      if (this.getOperationName() != null) {
         var1.put(com.l7tech.gateway.common.audit.a.m, this.getOperationName());
      }

      var1.put(com.l7tech.gateway.common.audit.a.n, this.authenticated);
      if (this.authenticationType != null) {
         var1.put(com.l7tech.gateway.common.audit.a.o, this.authenticationType.toString());
      }

      if (this.requestContentLength >= 0) {
         var1.put(com.l7tech.gateway.common.audit.a.p, this.requestContentLength);
      }

      if (this.responseContentLength >= 0) {
         var1.put(com.l7tech.gateway.common.audit.a.q, this.responseContentLength);
      }

      var1.put(com.l7tech.gateway.common.audit.a.r, this.responseHttpStatus);
      var1.put(com.l7tech.gateway.common.audit.a.s, this.routingLatency);
      return var1;
   }

   @Transient
   @Override
   public String getLoggerName() {
      return b[2];
   }

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

   static {
      String[] var5 = new String[7];
      int var3 = 0;
      String var2 = "\u0014P\u000bG\u001dAUYRhs\u0017ZG\u0019W\u0017^\r\\\u0006yQ\u001b[\rCT\u007fB\u001dA\r]T~G\u0019TF\by\u001d@PQVh\u0014\u001eD\n\\@UB~Q\u001c\u0013TYEe\u00140gw`\u0011hF\n\\Q\u0010RbP\u001d";
      int var4 = "\u0014P\u000bG\u001dAUYRhs\u0017ZG\u0019W\u0017^\r\\\u0006yQ\u001b[\rCT\u007fB\u001dA\r]T~G\u0019TF\by\u001d@PQVh\u0014\u001eD\n\\@UB~Q\u001c\u0013TYEe\u00140gw`\u0011hF\n\\Q\u0010RbP\u001d"
         .length();
      char var1 = 2;
      int var7 = -1;

      label24:
      while (true) {
         byte var10000 = 73;
         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;
                     ATTR_SERVICE_GOID = b[1];
                     return;
                  }

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

                  var2 = "\u0016L\u0015V\u000b\u000b,A]\u0014\u0019\u0006\u0001+\u0012H\u0002LE\u0016\u0011_\t\u0015\u0000\u0017+\u0004IF\u0005\u0010\u0007;\u0004^\u0015\u0010\u0010\b4\u0018";
                  var4 = "\u0016L\u0015V\u000b\u000b,A]\u0014\u0019\u0006\u0001+\u0012H\u0002LE\u0016\u0011_\t\u0015\u0000\u0017+\u0004IF\u0005\u0010\u0007;\u0004^\u0015\u0010\u0010\b4\u0018"
                     .length();
                  var1 = 19;
                  var7 = -1;
            }

            var10000 = 28;
            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] ^ 68);
      }

      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 -> 125;
            case 1 -> 49;
            case 2 -> 122;
            case 3 -> 106;
            case 4 -> 121;
            case 5 -> 120;
            default -> 68;
         });
      }

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