package com.google.common.collect; import com.google.common.base.Function; import com.google.common.base.Objects; import com.google.common.base.Preconditions; import com.google.common.base.Predicate; import com.google.common.base.Predicates; import com.google.common.collect.ImmutableMap; import com.google.common.collect.Sets; import java.util.AbstractCollection; import java.util.AbstractMap; import java.util.Collection; import java.util.Comparator; import java.util.HashMap; import java.util.HashSet; import java.util.Iterator; import java.util.LinkedHashMap; import java.util.Map; import java.util.NavigableMap; import java.util.NavigableSet; import java.util.Set; import java.util.SortedMap; import java.util.SortedSet; /* loaded from: classes.dex */ public final class Maps { static abstract class DescendingMap extends ForwardingMap implements NavigableMap { private transient Comparator a; private transient Set> b; private transient NavigableSet c; DescendingMap() { } private static Ordering a(Comparator comparator) { return Ordering.a(comparator).b(); } abstract Iterator> b(); abstract NavigableMap c(); @Override // java.util.NavigableMap public Map.Entry ceilingEntry(K k) { return c().floorEntry(k); } @Override // java.util.NavigableMap public K ceilingKey(K k) { return c().floorKey(k); } @Override // java.util.SortedMap public Comparator comparator() { Comparator comparator = this.a; if (comparator != null) { return comparator; } Comparator comparator2 = c().comparator(); if (comparator2 == null) { comparator2 = Ordering.c(); } Ordering a = a(comparator2); this.a = a; return a; } @Override // java.util.NavigableMap public NavigableSet descendingKeySet() { return c().navigableKeySet(); } @Override // java.util.NavigableMap public NavigableMap descendingMap() { return c(); } @Override // com.google.common.collect.ForwardingMap, java.util.Map public Set> entrySet() { Set> set = this.b; if (set != null) { return set; } Set> a = a(); this.b = a; return a; } @Override // java.util.NavigableMap public Map.Entry firstEntry() { return c().lastEntry(); } @Override // java.util.SortedMap public K firstKey() { return c().lastKey(); } @Override // java.util.NavigableMap public Map.Entry floorEntry(K k) { return c().ceilingEntry(k); } @Override // java.util.NavigableMap public K floorKey(K k) { return c().ceilingKey(k); } @Override // java.util.NavigableMap public NavigableMap headMap(K k, boolean z) { return c().tailMap(k, z).descendingMap(); } @Override // java.util.NavigableMap public Map.Entry higherEntry(K k) { return c().lowerEntry(k); } @Override // java.util.NavigableMap public K higherKey(K k) { return c().lowerKey(k); } @Override // com.google.common.collect.ForwardingMap, java.util.Map public Set keySet() { return navigableKeySet(); } @Override // java.util.NavigableMap public Map.Entry lastEntry() { return c().firstEntry(); } @Override // java.util.SortedMap public K lastKey() { return c().firstKey(); } @Override // java.util.NavigableMap public Map.Entry lowerEntry(K k) { return c().higherEntry(k); } @Override // java.util.NavigableMap public K lowerKey(K k) { return c().higherKey(k); } @Override // java.util.NavigableMap public NavigableSet navigableKeySet() { NavigableSet navigableSet = this.c; if (navigableSet != null) { return navigableSet; } NavigableKeySet navigableKeySet = new NavigableKeySet(this); this.c = navigableKeySet; return navigableKeySet; } @Override // java.util.NavigableMap public Map.Entry pollFirstEntry() { return c().pollLastEntry(); } @Override // java.util.NavigableMap public Map.Entry pollLastEntry() { return c().pollFirstEntry(); } @Override // java.util.NavigableMap public NavigableMap subMap(K k, boolean z, K k2, boolean z2) { return c().subMap(k2, z2, k, z).descendingMap(); } @Override // java.util.NavigableMap public NavigableMap tailMap(K k, boolean z) { return c().headMap(k, z).descendingMap(); } @Override // com.google.common.collect.ForwardingObject public String toString() { return standardToString(); } @Override // com.google.common.collect.ForwardingMap, java.util.Map public Collection values() { return new Values(this); } Set> a() { return new EntrySet() { // from class: com.google.common.collect.Maps.DescendingMap.1EntrySetImpl @Override // com.google.common.collect.Maps.EntrySet Map c() { return DescendingMap.this; } @Override // java.util.AbstractCollection, java.util.Collection, java.lang.Iterable, java.util.Set public Iterator> iterator() { return DescendingMap.this.b(); } }; } /* JADX INFO: Access modifiers changed from: protected */ @Override // com.google.common.collect.ForwardingMap, com.google.common.collect.ForwardingObject public final Map delegate() { return c(); } @Override // java.util.NavigableMap, java.util.SortedMap public SortedMap headMap(K k) { return headMap(k, false); } @Override // java.util.NavigableMap, java.util.SortedMap public SortedMap subMap(K k, K k2) { return subMap(k, true, k2, false); } @Override // java.util.NavigableMap, java.util.SortedMap public SortedMap tailMap(K k) { return tailMap(k, true); } } private enum EntryFunction implements Function, Object> { KEY { // from class: com.google.common.collect.Maps.EntryFunction.1 @Override // com.google.common.base.Function /* renamed from: a, reason: merged with bridge method [inline-methods] */ public Object apply(Map.Entry entry) { return entry.getKey(); } }, VALUE { // from class: com.google.common.collect.Maps.EntryFunction.2 @Override // com.google.common.base.Function /* renamed from: a, reason: merged with bridge method [inline-methods] */ public Object apply(Map.Entry entry) { return entry.getValue(); } } } static abstract class EntrySet extends Sets.ImprovedAbstractSet> { EntrySet() { } abstract Map c(); @Override // java.util.AbstractCollection, java.util.Collection, java.util.Set public void clear() { c().clear(); } @Override // java.util.AbstractCollection, java.util.Collection, java.util.Set public boolean contains(Object obj) { if (!(obj instanceof Map.Entry)) { return false; } Map.Entry entry = (Map.Entry) obj; Object key = entry.getKey(); Object e = Maps.e(c(), key); if (Objects.a(e, entry.getValue())) { return e != null || c().containsKey(key); } return false; } @Override // java.util.AbstractCollection, java.util.Collection, java.util.Set public boolean isEmpty() { return c().isEmpty(); } @Override // java.util.AbstractCollection, java.util.Collection, java.util.Set public boolean remove(Object obj) { if (contains(obj)) { return c().keySet().remove(((Map.Entry) obj).getKey()); } return false; } @Override // com.google.common.collect.Sets.ImprovedAbstractSet, java.util.AbstractSet, java.util.AbstractCollection, java.util.Collection, java.util.Set public boolean removeAll(Collection collection) { try { Preconditions.a(collection); return super.removeAll(collection); } catch (UnsupportedOperationException unused) { return Sets.a((Set) this, collection.iterator()); } } @Override // com.google.common.collect.Sets.ImprovedAbstractSet, java.util.AbstractCollection, java.util.Collection, java.util.Set public boolean retainAll(Collection collection) { try { Preconditions.a(collection); return super.retainAll(collection); } catch (UnsupportedOperationException unused) { HashSet a = Sets.a(collection.size()); for (Object obj : collection) { if (contains(obj)) { a.add(((Map.Entry) obj).getKey()); } } return c().keySet().retainAll(a); } } @Override // java.util.AbstractCollection, java.util.Collection, java.util.Set public int size() { return c().size(); } } public interface EntryTransformer { V2 a(K k, V1 v1); } static abstract class IteratorBasedAbstractMap extends AbstractMap { IteratorBasedAbstractMap() { } @Override // java.util.AbstractMap, java.util.Map public void clear() { Iterators.b(entryIterator()); } abstract Iterator> entryIterator(); @Override // java.util.AbstractMap, java.util.Map public Set> entrySet() { return new EntrySet() { // from class: com.google.common.collect.Maps.IteratorBasedAbstractMap.1 @Override // com.google.common.collect.Maps.EntrySet Map c() { return IteratorBasedAbstractMap.this; } @Override // java.util.AbstractCollection, java.util.Collection, java.lang.Iterable, java.util.Set public Iterator> iterator() { return IteratorBasedAbstractMap.this.entryIterator(); } }; } @Override // java.util.AbstractMap, java.util.Map public abstract int size(); } static class KeySet extends Sets.ImprovedAbstractSet { final Map a; KeySet(Map map) { Preconditions.a(map); this.a = map; } Map c() { return this.a; } @Override // java.util.AbstractCollection, java.util.Collection, java.util.Set public void clear() { c().clear(); } @Override // java.util.AbstractCollection, java.util.Collection, java.util.Set public boolean contains(Object obj) { return c().containsKey(obj); } @Override // java.util.AbstractCollection, java.util.Collection, java.util.Set public boolean isEmpty() { return c().isEmpty(); } @Override // java.util.AbstractCollection, java.util.Collection, java.lang.Iterable, java.util.Set public Iterator iterator() { return Maps.a(c().entrySet().iterator()); } @Override // java.util.AbstractCollection, java.util.Collection, java.util.Set public boolean remove(Object obj) { if (!contains(obj)) { return false; } c().remove(obj); return true; } @Override // java.util.AbstractCollection, java.util.Collection, java.util.Set public int size() { return c().size(); } } static class NavigableKeySet extends SortedKeySet implements NavigableSet { NavigableKeySet(NavigableMap navigableMap) { super(navigableMap); } @Override // java.util.NavigableSet public K ceiling(K k) { return c().ceilingKey(k); } @Override // java.util.NavigableSet public Iterator descendingIterator() { return descendingSet().iterator(); } @Override // java.util.NavigableSet public NavigableSet descendingSet() { return c().descendingKeySet(); } @Override // java.util.NavigableSet public K floor(K k) { return c().floorKey(k); } @Override // java.util.NavigableSet public NavigableSet headSet(K k, boolean z) { return c().headMap(k, z).navigableKeySet(); } @Override // java.util.NavigableSet public K higher(K k) { return c().higherKey(k); } @Override // java.util.NavigableSet public K lower(K k) { return c().lowerKey(k); } @Override // java.util.NavigableSet public K pollFirst() { return (K) Maps.a(c().pollFirstEntry()); } @Override // java.util.NavigableSet public K pollLast() { return (K) Maps.a(c().pollLastEntry()); } @Override // java.util.NavigableSet public NavigableSet subSet(K k, boolean z, K k2, boolean z2) { return c().subMap(k, z, k2, z2).navigableKeySet(); } @Override // java.util.NavigableSet public NavigableSet tailSet(K k, boolean z) { return c().tailMap(k, z).navigableKeySet(); } @Override // com.google.common.collect.Maps.SortedKeySet, java.util.SortedSet, java.util.NavigableSet public SortedSet headSet(K k) { return headSet(k, false); } @Override // com.google.common.collect.Maps.SortedKeySet, java.util.SortedSet, java.util.NavigableSet public SortedSet subSet(K k, K k2) { return subSet(k, true, k2, false); } @Override // com.google.common.collect.Maps.SortedKeySet, java.util.SortedSet, java.util.NavigableSet public SortedSet tailSet(K k) { return tailSet(k, true); } /* JADX INFO: Access modifiers changed from: package-private */ @Override // com.google.common.collect.Maps.SortedKeySet, com.google.common.collect.Maps.KeySet public NavigableMap c() { return (NavigableMap) this.a; } } static class SortedKeySet extends KeySet implements SortedSet { SortedKeySet(SortedMap sortedMap) { super(sortedMap); } @Override // java.util.SortedSet public Comparator comparator() { return c().comparator(); } @Override // java.util.SortedSet public K first() { return c().firstKey(); } public SortedSet headSet(K k) { return new SortedKeySet(c().headMap(k)); } @Override // java.util.SortedSet public K last() { return c().lastKey(); } public SortedSet subSet(K k, K k2) { return new SortedKeySet(c().subMap(k, k2)); } public SortedSet tailSet(K k) { return new SortedKeySet(c().tailMap(k)); } /* JADX INFO: Access modifiers changed from: package-private */ @Override // com.google.common.collect.Maps.KeySet public SortedMap c() { return (SortedMap) super.c(); } } static class TransformedEntriesMap extends IteratorBasedAbstractMap { final Map a; final EntryTransformer b; TransformedEntriesMap(Map map, EntryTransformer entryTransformer) { Preconditions.a(map); this.a = map; Preconditions.a(entryTransformer); this.b = entryTransformer; } @Override // com.google.common.collect.Maps.IteratorBasedAbstractMap, java.util.AbstractMap, java.util.Map public void clear() { this.a.clear(); } @Override // java.util.AbstractMap, java.util.Map public boolean containsKey(Object obj) { return this.a.containsKey(obj); } @Override // com.google.common.collect.Maps.IteratorBasedAbstractMap Iterator> entryIterator() { return Iterators.a((Iterator) this.a.entrySet().iterator(), Maps.a(this.b)); } @Override // java.util.AbstractMap, java.util.Map public V2 get(Object obj) { V1 v1 = this.a.get(obj); if (v1 != null || this.a.containsKey(obj)) { return this.b.a(obj, v1); } return null; } @Override // java.util.AbstractMap, java.util.Map public Set keySet() { return this.a.keySet(); } @Override // java.util.AbstractMap, java.util.Map public V2 remove(Object obj) { if (this.a.containsKey(obj)) { return this.b.a(obj, this.a.remove(obj)); } return null; } @Override // com.google.common.collect.Maps.IteratorBasedAbstractMap, java.util.AbstractMap, java.util.Map public int size() { return this.a.size(); } @Override // java.util.AbstractMap, java.util.Map public Collection values() { return new Values(this); } } static class Values extends AbstractCollection { final Map a; Values(Map map) { Preconditions.a(map); this.a = map; } final Map a() { return this.a; } @Override // java.util.AbstractCollection, java.util.Collection public void clear() { a().clear(); } @Override // java.util.AbstractCollection, java.util.Collection public boolean contains(Object obj) { return a().containsValue(obj); } @Override // java.util.AbstractCollection, java.util.Collection public boolean isEmpty() { return a().isEmpty(); } @Override // java.util.AbstractCollection, java.util.Collection, java.lang.Iterable public Iterator iterator() { return Maps.b(a().entrySet().iterator()); } @Override // java.util.AbstractCollection, java.util.Collection public boolean remove(Object obj) { try { return super.remove(obj); } catch (UnsupportedOperationException unused) { for (Map.Entry entry : a().entrySet()) { if (Objects.a(obj, entry.getValue())) { a().remove(entry.getKey()); return true; } } return false; } } @Override // java.util.AbstractCollection, java.util.Collection public boolean removeAll(Collection collection) { try { Preconditions.a(collection); return super.removeAll(collection); } catch (UnsupportedOperationException unused) { HashSet a = Sets.a(); for (Map.Entry entry : a().entrySet()) { if (collection.contains(entry.getValue())) { a.add(entry.getKey()); } } return a().keySet().removeAll(a); } } @Override // java.util.AbstractCollection, java.util.Collection public boolean retainAll(Collection collection) { try { Preconditions.a(collection); return super.retainAll(collection); } catch (UnsupportedOperationException unused) { HashSet a = Sets.a(); for (Map.Entry entry : a().entrySet()) { if (collection.contains(entry.getValue())) { a.add(entry.getKey()); } } return a().keySet().retainAll(a); } } @Override // java.util.AbstractCollection, java.util.Collection public int size() { return a().size(); } } static abstract class ViewCachingAbstractMap extends AbstractMap { private transient Set> a; private transient Set b; private transient Collection c; ViewCachingAbstractMap() { } abstract Set> a(); Set b() { return new KeySet(this); } Collection c() { return new Values(this); } @Override // java.util.AbstractMap, java.util.Map public Set> entrySet() { Set> set = this.a; if (set != null) { return set; } Set> a = a(); this.a = a; return a; } @Override // java.util.AbstractMap, java.util.Map public Set keySet() { Set set = this.b; if (set != null) { return set; } Set b = b(); this.b = b; return b; } @Override // java.util.AbstractMap, java.util.Map public Collection values() { Collection collection = this.c; if (collection != null) { return collection; } Collection c = c(); this.c = c; return c; } } static Function, K> a() { return EntryFunction.KEY; } static Iterator b(Iterator> it) { return Iterators.a((Iterator) it, d()); } public static LinkedHashMap c() { return new LinkedHashMap<>(); } static Function, V> d() { return EntryFunction.VALUE; } static V e(Map map, Object obj) { Preconditions.a(map); try { return map.get(obj); } catch (ClassCastException | NullPointerException unused) { return null; } } static V f(Map map, Object obj) { Preconditions.a(map); try { return map.remove(obj); } catch (ClassCastException | NullPointerException unused) { return null; } } static Iterator a(Iterator> it) { return Iterators.a((Iterator) it, a()); } public static HashMap b() { return new HashMap<>(); } public static LinkedHashMap c(int i) { return new LinkedHashMap<>(a(i)); } static boolean d(Map map, Object obj) { Preconditions.a(map); try { return map.containsKey(obj); } catch (ClassCastException | NullPointerException unused) { return false; } } static int a(int i) { if (i < 3) { CollectPreconditions.a(i, "expectedSize"); return i + 1; } if (i < 1073741824) { return (int) ((i / 0.75f) + 1.0f); } return Integer.MAX_VALUE; } public static HashMap b(int i) { return new HashMap<>(a(i)); } static boolean c(Map map, Object obj) { if (map == obj) { return true; } if (obj instanceof Map) { return map.entrySet().equals(((Map) obj).entrySet()); } return false; } static Iterator> a(Set set, final Function function) { return new TransformedIterator>(set.iterator()) { // from class: com.google.common.collect.Maps.1 /* JADX WARN: Multi-variable type inference failed */ @Override // com.google.common.collect.TransformedIterator /* bridge */ /* synthetic */ Object a(Object obj) { return a((AnonymousClass1) obj); } @Override // com.google.common.collect.TransformedIterator Map.Entry a(K k) { return Maps.a(k, function.apply(k)); } }; } static Map.Entry b(final Map.Entry entry) { Preconditions.a(entry); return new AbstractMapEntry() { // from class: com.google.common.collect.Maps.5 @Override // com.google.common.collect.AbstractMapEntry, java.util.Map.Entry public K getKey() { return (K) entry.getKey(); } @Override // com.google.common.collect.AbstractMapEntry, java.util.Map.Entry public V getValue() { return (V) entry.getValue(); } }; } public static Map.Entry a(K k, V v) { return new ImmutableEntry(k, v); } public static Map a(Map map, Function function) { return a((Map) map, a(function)); } static Predicate> b(Predicate predicate) { return Predicates.a(predicate, d()); } static V c(Map.Entry entry) { if (entry == null) { return null; } return entry.getValue(); } public static Map a(Map map, EntryTransformer entryTransformer) { return new TransformedEntriesMap(map, entryTransformer); } static boolean b(Map map, Object obj) { return Iterators.a((Iterator) b(map.entrySet().iterator()), obj); } static EntryTransformer a(final Function function) { Preconditions.a(function); return new EntryTransformer() { // from class: com.google.common.collect.Maps.7 @Override // com.google.common.collect.Maps.EntryTransformer public V2 a(K k, V1 v1) { return (V2) Function.this.apply(v1); } }; } static Map.Entry a(final EntryTransformer entryTransformer, final Map.Entry entry) { Preconditions.a(entryTransformer); Preconditions.a(entry); return new AbstractMapEntry() { // from class: com.google.common.collect.Maps.10 @Override // com.google.common.collect.AbstractMapEntry, java.util.Map.Entry public K getKey() { return (K) entry.getKey(); } /* JADX WARN: Multi-variable type inference failed */ @Override // com.google.common.collect.AbstractMapEntry, java.util.Map.Entry public V2 getValue() { return (V2) entryTransformer.a(entry.getKey(), entry.getValue()); } }; } static Function, Map.Entry> a(final EntryTransformer entryTransformer) { Preconditions.a(entryTransformer); return new Function, Map.Entry>() { // from class: com.google.common.collect.Maps.11 @Override // com.google.common.base.Function /* renamed from: a, reason: merged with bridge method [inline-methods] */ public Map.Entry apply(Map.Entry entry) { return Maps.a(EntryTransformer.this, (Map.Entry) entry); } }; } static Predicate> a(Predicate predicate) { return Predicates.a(predicate, a()); } static boolean a(Map map, Object obj) { return Iterators.a((Iterator) a(map.entrySet().iterator()), obj); } static boolean a(Collection> collection, Object obj) { if (obj instanceof Map.Entry) { return collection.contains(b((Map.Entry) obj)); } return false; } static String a(Map map) { StringBuilder a = Collections2.a(map.size()); a.append('{'); boolean z = true; for (Map.Entry entry : map.entrySet()) { if (!z) { a.append(", "); } z = false; a.append(entry.getKey()); a.append('='); a.append(entry.getValue()); } a.append('}'); return a.toString(); } static void a(Map map, Map map2) { for (Map.Entry entry : map2.entrySet()) { map.put(entry.getKey(), entry.getValue()); } } static K a(Map.Entry entry) { if (entry == null) { return null; } return entry.getKey(); } static ImmutableMap a(Collection collection) { ImmutableMap.Builder builder = new ImmutableMap.Builder(collection.size()); Iterator it = collection.iterator(); int i = 0; while (it.hasNext()) { builder.a(it.next(), Integer.valueOf(i)); i++; } return builder.a(); } }