package com.l7tech.common.log;

import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import org.jetbrains.annotations.Nullable;

class b {
   private final Map<String, List<List<String>>> a = new HashMap<>();
   private HybridDiagnosticContext.SavedDiagnosticContext b;

   private b() {
   }

   public List<List<String>> get(String var1) {
      return this.a.get(var1);
   }

   public List<List<String>> put(String var1, List<List<String>> var2) {
      this.a();
      return this.a.put(var1, var2);
   }

   public List<List<String>> remove(String var1) {
      this.a();
      return this.a.remove(var1);
   }

   public void push(String var1, List<String> var2) {
      this.a();
      List var3 = this.a.get(var1);
      if (var3 == null) {
         var3 = new ArrayList();
         this.a.put(var1, var3);
      }

      var3.add(var2);
   }

   public List<String> peek(String var1) {
      List var2 = this.a.get(var1);
      return var2 != null && !var2.isEmpty() ? (List)var2.get(var2.size() - 1) : null;
   }

   public List<String> pop(String var1, @Nullable List<String> var2) {
      this.a();
      List var3 = this.a.get(var1);
      List var4;
      if (var3 != null && !var3.isEmpty()) {
         if (var2 != null && !var2.equals(var3.get(var3.size() - 1))) {
            var4 = null;
         } else {
            var4 = (List)var3.remove(var3.size() - 1);
         }
      } else {
         var4 = null;
      }

      return var4;
   }

   private void a() {
      this.b = null;
   }

   private HybridDiagnosticContext.SavedDiagnosticContext b() {
      if (this.b == null) {
         this.b = new HybridDiagnosticContext.SavedDiagnosticContext(this);
      }

      return this.b;
   }

   private HybridDiagnosticContext.SavedDiagnosticContext a(HybridDiagnosticContext.SavedDiagnosticContext var1) {
      HybridDiagnosticContext.SavedDiagnosticContext var2 = this.b();
      this.a.clear();

      for (Entry var4 : var1.a.entrySet()) {
         this.a.put((String)var4.getKey(), new ArrayList<>((Collection<? extends List<String>>)var4.getValue()));
      }

      return var2;
   }
}
