package com.l7tech.server.extension.event.metrics;

import com.ca.apim.gateway.extension.event.Event;
import com.l7tech.policy.variable.NoSuchVariableException;
import com.l7tech.server.message.PolicyEnforcementContext;
import com.l7tech.util.ExceptionUtils;
import java.util.logging.Level;
import java.util.logging.Logger;
import org.jetbrains.annotations.NotNull;

public class ServiceMetricsEvent implements Event {
   private static final Logger a;
   private final long b;
   private final String c;
   private final String d;
   private final String e;
   private final String f;
   private final String g;
   private final String h;
   private final int i;
   private final int j;
   private final boolean k;
   private final boolean l;
   private final boolean m;
   private static final String[] n;

   ServiceMetricsEvent(@NotNull PolicyEnforcementContext 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:
      // 000: aload 1
      // 001: ifnonnull 008
      // 004: bipush 0
      // 005: invokestatic com/l7tech/server/extension/event/metrics/ServiceMetricsEvent.a (I)V
      // 008: aload 0
      // 009: invokespecial java/lang/Object.<init> ()V
      // 00c: aload 0
      // 00d: aload 1
      // 00e: invokeinterface com/l7tech/server/message/PolicyEnforcementContext.getStartTime ()J 1
      // 013: putfield com/l7tech/server/extension/event/metrics/ServiceMetricsEvent.b J
      // 016: aload 0
      // 017: aload 1
      // 018: getstatic com/l7tech/policy/variable/BuiltinVariables.SSGNODE_ID Ljava/lang/String;
      // 01b: invokestatic com/l7tech/server/extension/event/metrics/ServiceMetricsEvent.a (Lcom/l7tech/server/message/PolicyEnforcementContext;Ljava/lang/String;)Ljava/lang/String;
      // 01e: putfield com/l7tech/server/extension/event/metrics/ServiceMetricsEvent.c Ljava/lang/String;
      // 021: aload 0
      // 022: aload 1
      // 023: getstatic com/l7tech/policy/variable/BuiltinVariables.SSGNODE_NAME Ljava/lang/String;
      // 026: invokestatic com/l7tech/server/extension/event/metrics/ServiceMetricsEvent.a (Lcom/l7tech/server/message/PolicyEnforcementContext;Ljava/lang/String;)Ljava/lang/String;
      // 029: putfield com/l7tech/server/extension/event/metrics/ServiceMetricsEvent.d Ljava/lang/String;
      // 02c: aload 0
      // 02d: aload 1
      // 02e: getstatic com/l7tech/policy/variable/BuiltinVariables.SSGNODE_IP Ljava/lang/String;
      // 031: invokestatic com/l7tech/server/extension/event/metrics/ServiceMetricsEvent.a (Lcom/l7tech/server/message/PolicyEnforcementContext;Ljava/lang/String;)Ljava/lang/String;
      // 034: putfield com/l7tech/server/extension/event/metrics/ServiceMetricsEvent.e Ljava/lang/String;
      // 037: aload 1
      // 038: invokeinterface com/l7tech/server/message/PolicyEnforcementContext.getService ()Lcom/l7tech/gateway/common/service/PublishedService; 1
      // 03d: ifnull 06d
      // 040: aload 0
      // 041: aload 1
      // 042: invokeinterface com/l7tech/server/message/PolicyEnforcementContext.getService ()Lcom/l7tech/gateway/common/service/PublishedService; 1
      // 047: invokevirtual com/l7tech/gateway/common/service/PublishedService.getGoid ()Lcom/l7tech/objectmodel/Goid;
      // 04a: invokevirtual com/l7tech/objectmodel/Goid.toString ()Ljava/lang/String;
      // 04d: putfield com/l7tech/server/extension/event/metrics/ServiceMetricsEvent.f Ljava/lang/String;
      // 050: aload 0
      // 051: aload 1
      // 052: invokeinterface com/l7tech/server/message/PolicyEnforcementContext.getService ()Lcom/l7tech/gateway/common/service/PublishedService; 1
      // 057: invokevirtual com/l7tech/gateway/common/service/PublishedService.getName ()Ljava/lang/String;
      // 05a: putfield com/l7tech/server/extension/event/metrics/ServiceMetricsEvent.g Ljava/lang/String;
      // 05d: aload 0
      // 05e: aload 1
      // 05f: invokeinterface com/l7tech/server/message/PolicyEnforcementContext.getService ()Lcom/l7tech/gateway/common/service/PublishedService; 1
      // 064: invokevirtual com/l7tech/gateway/common/service/PublishedService.getRoutingUri ()Ljava/lang/String;
      // 067: putfield com/l7tech/server/extension/event/metrics/ServiceMetricsEvent.h Ljava/lang/String;
      // 06a: goto 083
      // 06d: aload 0
      // 06e: getstatic com/l7tech/gateway/common/service/PublishedService.DEFAULT_GOID Lcom/l7tech/objectmodel/Goid;
      // 071: invokevirtual com/l7tech/objectmodel/Goid.toString ()Ljava/lang/String;
      // 074: putfield com/l7tech/server/extension/event/metrics/ServiceMetricsEvent.f Ljava/lang/String;
      // 077: aload 0
      // 078: ldc ""
      // 07a: putfield com/l7tech/server/extension/event/metrics/ServiceMetricsEvent.g Ljava/lang/String;
      // 07d: aload 0
      // 07e: ldc ""
      // 080: putfield com/l7tech/server/extension/event/metrics/ServiceMetricsEvent.h Ljava/lang/String;
      // 083: aload 0
      // 084: aload 1
      // 085: invokeinterface com/l7tech/server/message/PolicyEnforcementContext.getEndTime ()J 1
      // 08a: aload 1
      // 08b: invokeinterface com/l7tech/server/message/PolicyEnforcementContext.getStartTime ()J 1
      // 090: invokestatic java/lang/Math.subtractExact (JJ)J
      // 093: invokestatic java/lang/Math.toIntExact (J)I
      // 096: putfield com/l7tech/server/extension/event/metrics/ServiceMetricsEvent.i I
      // 099: aload 0
      // 09a: aload 1
      // 09b: invokeinterface com/l7tech/server/message/PolicyEnforcementContext.getRoutingTotalTime ()J 1
      // 0a0: invokestatic java/lang/Math.toIntExact (J)I
      // 0a3: putfield com/l7tech/server/extension/event/metrics/ServiceMetricsEvent.j I
      // 0a6: aload 0
      // 0a7: aload 1
      // 0a8: invokeinterface com/l7tech/server/message/PolicyEnforcementContext.isAuthorizedRequest ()Z 1
      // 0ad: ifeq 0c8
      // 0b0: aload 1
      // 0b1: invokeinterface com/l7tech/server/message/PolicyEnforcementContext.isCompletedRequest ()Z 1
      // 0b6: ifeq 0c8
      // 0b9: goto 0c0
      // 0bc: invokestatic com/l7tech/server/extension/event/metrics/ServiceMetricsEvent.a (Ljava/lang/IllegalArgumentException;)Ljava/lang/IllegalArgumentException;
      // 0bf: athrow
      // 0c0: bipush 1
      // 0c1: goto 0c9
      // 0c4: invokestatic com/l7tech/server/extension/event/metrics/ServiceMetricsEvent.a (Ljava/lang/IllegalArgumentException;)Ljava/lang/IllegalArgumentException;
      // 0c7: athrow
      // 0c8: bipush 0
      // 0c9: putfield com/l7tech/server/extension/event/metrics/ServiceMetricsEvent.k Z
      // 0cc: aload 0
      // 0cd: aload 1
      // 0ce: invokeinterface com/l7tech/server/message/PolicyEnforcementContext.isAuthorizedRequest ()Z 1
      // 0d3: ifne 0ee
      // 0d6: aload 1
      // 0d7: invokeinterface com/l7tech/server/message/PolicyEnforcementContext.isCompletedRequest ()Z 1
      // 0dc: ifne 0ee
      // 0df: goto 0e6
      // 0e2: invokestatic com/l7tech/server/extension/event/metrics/ServiceMetricsEvent.a (Ljava/lang/IllegalArgumentException;)Ljava/lang/IllegalArgumentException;
      // 0e5: athrow
      // 0e6: bipush 1
      // 0e7: goto 0ef
      // 0ea: invokestatic com/l7tech/server/extension/event/metrics/ServiceMetricsEvent.a (Ljava/lang/IllegalArgumentException;)Ljava/lang/IllegalArgumentException;
      // 0ed: athrow
      // 0ee: bipush 0
      // 0ef: putfield com/l7tech/server/extension/event/metrics/ServiceMetricsEvent.l Z
      // 0f2: aload 0
      // 0f3: aload 1
      // 0f4: invokeinterface com/l7tech/server/message/PolicyEnforcementContext.isAuthorizedRequest ()Z 1
      // 0f9: ifeq 114
      // 0fc: aload 1
      // 0fd: invokeinterface com/l7tech/server/message/PolicyEnforcementContext.isCompletedRequest ()Z 1
      // 102: ifne 114
      // 105: goto 10c
      // 108: invokestatic com/l7tech/server/extension/event/metrics/ServiceMetricsEvent.a (Ljava/lang/IllegalArgumentException;)Ljava/lang/IllegalArgumentException;
      // 10b: athrow
      // 10c: bipush 1
      // 10d: goto 115
      // 110: invokestatic com/l7tech/server/extension/event/metrics/ServiceMetricsEvent.a (Ljava/lang/IllegalArgumentException;)Ljava/lang/IllegalArgumentException;
      // 113: athrow
      // 114: bipush 0
      // 115: putfield com/l7tech/server/extension/event/metrics/ServiceMetricsEvent.m Z
      // 118: return
      // try (55 -> 75): 76 java/lang/IllegalArgumentException
      // try (72 -> 80): 80 java/lang/IllegalArgumentException
      // try (83 -> 91): 92 java/lang/IllegalArgumentException
      // try (88 -> 96): 96 java/lang/IllegalArgumentException
      // try (99 -> 107): 108 java/lang/IllegalArgumentException
      // try (104 -> 112): 112 java/lang/IllegalArgumentException
   }

   public long getTime() {
      return this.b;
   }

   public String getNodeId() {
      return this.c;
   }

   public String getNodeName() {
      return this.d;
   }

   public String getNodeIp() {
      return this.e;
   }

   public String getServiceId() {
      return this.f;
   }

   public String getServiceName() {
      return this.g;
   }

   public String getServiceUri() {
      return this.h;
   }

   public int getTotalFrontendLatency() {
      return this.i;
   }

   public int getTotalBackendLatency() {
      return this.j;
   }

   public boolean isPolicySuccessful() {
      return this.k;
   }

   public boolean isPolicyViolation() {
      return this.l;
   }

   public boolean isRoutingFailure() {
      return this.m;
   }

   private static String a(PolicyEnforcementContext var0, String var1) {
      try {
         return var0.getVariable(var1).toString();
      } catch (NoSuchVariableException var3) {
         a.log(Level.FINE, ExceptionUtils.getDebugException(var3), () -> n[0] + var3.getMessage());
         return "";
      }
   }

   static {
      String[] var5 = new String[5];
      int var3 = 0;
      String var2 = "I(@ZC%,i.F\\_bkz;@\\Pg'izTG^hk\\5^\\R|\u000eb<]GR`&i4Fv^k?i\"F\u000f\u0011\u0003|?Q=o5_\u001a]2?i9Z\u001aB`9z?@\u001aT}?i4A\\^kdi,W[E*&i.@\\Rvd_?@CXf.A?FGXf8I,W[E";
      int var4 = "I(@ZC%,i.F\\_bkz;@\\Pg'izTG^hk\\5^\\R|\u000eb<]GR`&i4Fv^k?i\"F\u000f\u0011\u0003|?Q=o5_\u001a]2?i9Z\u001aB`9z?@\u001aT}?i4A\\^kdi,W[E*&i.@\\Rvd_?@CXf.A?FGXf8I,W[E"
         .length();
      char var1 = '6';
      int var7 = -1;

      label24:
      while (true) {
         byte var10000 = 121;
         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) {
                     n = var5;
                     a = Logger.getLogger(ServiceMetricsEvent.class.getName());
                     return;
                  }

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

                  var2 = "65ZZC=>K.SFZf#~|R\\E#\rD3@}Bo!*,UAVn(~9F\u0013\u0010&>-|[U\u0017&>$yG\u0013Zv>~|Z\\C#/o|ZF[o";
                  var4 = "65ZZC=>K.SFZf#~|R\\E#\rD3@}Bo!*,UAVn(~9F\u0013\u0010&>-|[U\u0017&>$yG\u0013Zv>~|Z\\C#/o|ZF[o".length();
                  var1 = 6;
                  var7 = -1;
            }

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

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

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

      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 -> 117;
            case 1 -> 35;
            case 2 -> 75;
            case 3 -> 76;
            case 4 -> 72;
            case 5 -> 124;
            default -> 50;
         });
      }

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