package com.google.common.collect; import com.google.common.base.MoreObjects; import com.google.common.base.Preconditions; import java.io.Serializable; import java.lang.Comparable; import java.util.Collection; import java.util.Comparator; import java.util.Iterator; import java.util.Map; import java.util.NavigableMap; import java.util.NoSuchElementException; import java.util.Set; import java.util.TreeMap; /* loaded from: classes.dex */ public class TreeRangeSet> extends AbstractRangeSet implements Serializable { private transient Set> asDescendingSetOfRanges; private transient Set> asRanges; private transient RangeSet complement; final NavigableMap, Range> rangesByLowerBound; final class AsRanges extends ForwardingCollection> implements Set> { final Collection> a; AsRanges(TreeRangeSet treeRangeSet, Collection> collection) { this.a = collection; } @Override // java.util.Collection, java.util.Set public boolean equals(Object obj) { return Sets.a(this, obj); } @Override // java.util.Collection, java.util.Set public int hashCode() { return Sets.a(this); } /* JADX INFO: Access modifiers changed from: protected */ @Override // com.google.common.collect.ForwardingCollection, com.google.common.collect.ForwardingObject public Collection> delegate() { return this.a; } } private final class Complement extends TreeRangeSet { Complement() { super(new ComplementRangesByLowerBound(TreeRangeSet.this.rangesByLowerBound)); } @Override // com.google.common.collect.TreeRangeSet, com.google.common.collect.AbstractRangeSet public void add(Range range) { TreeRangeSet.this.remove(range); } @Override // com.google.common.collect.TreeRangeSet, com.google.common.collect.RangeSet public RangeSet complement() { return TreeRangeSet.this; } @Override // com.google.common.collect.TreeRangeSet, com.google.common.collect.AbstractRangeSet public boolean contains(C c) { return !TreeRangeSet.this.contains(c); } @Override // com.google.common.collect.TreeRangeSet, com.google.common.collect.AbstractRangeSet public void remove(Range range) { TreeRangeSet.this.add(range); } } private static final class ComplementRangesByLowerBound> extends AbstractNavigableMap, Range> { private final NavigableMap, Range> a; private final NavigableMap, Range> b; private final Range> c; ComplementRangesByLowerBound(NavigableMap, Range> navigableMap) { this(navigableMap, Range.all()); } @Override // java.util.NavigableMap /* renamed from: b, reason: merged with bridge method [inline-methods] */ public NavigableMap, Range> tailMap(Cut cut, boolean z) { return a(Range.downTo(cut, BoundType.forBoolean(z))); } @Override // java.util.SortedMap public Comparator> comparator() { return Ordering.c(); } @Override // java.util.AbstractMap, java.util.Map public boolean containsKey(Object obj) { return get(obj) != null; } @Override // com.google.common.collect.Maps.IteratorBasedAbstractMap Iterator, Range>> entryIterator() { Collection> values; final Cut cut; if (this.c.hasLowerBound()) { values = this.b.tailMap(this.c.lowerEndpoint(), this.c.lowerBoundType() == BoundType.CLOSED).values(); } else { values = this.b.values(); } final PeekingIterator f = Iterators.f(values.iterator()); if (this.c.contains(Cut.g()) && (!f.hasNext() || ((Range) f.peek()).lowerBound != Cut.g())) { cut = Cut.g(); } else { if (!f.hasNext()) { return Iterators.a(); } cut = ((Range) f.next()).upperBound; } return new AbstractIterator, Range>>() { // from class: com.google.common.collect.TreeRangeSet.ComplementRangesByLowerBound.1 Cut c; { this.c = cut; } /* JADX INFO: Access modifiers changed from: protected */ @Override // com.google.common.collect.AbstractIterator public Map.Entry, Range> a() { Range create; if (ComplementRangesByLowerBound.this.c.upperBound.a(this.c) || this.c == Cut.f()) { return (Map.Entry) b(); } if (f.hasNext()) { Range range = (Range) f.next(); create = Range.create(this.c, range.lowerBound); this.c = range.upperBound; } else { create = Range.create(this.c, Cut.f()); this.c = Cut.f(); } return Maps.a(create.lowerBound, create); } }; } @Override // com.google.common.collect.Maps.IteratorBasedAbstractMap, java.util.AbstractMap, java.util.Map public int size() { return Iterators.h(entryIterator()); } private ComplementRangesByLowerBound(NavigableMap, Range> navigableMap, Range> range) { this.a = navigableMap; this.b = new RangesByUpperBound(navigableMap); this.c = range; } private NavigableMap, Range> a(Range> range) { if (!this.c.isConnected(range)) { return ImmutableSortedMap.of(); } return new ComplementRangesByLowerBound(this.a, range.intersection(this.c)); } @Override // java.util.AbstractMap, java.util.Map public Range get(Object obj) { if (obj instanceof Cut) { try { Cut cut = (Cut) obj; Map.Entry, Range> firstEntry = tailMap(cut, true).firstEntry(); if (firstEntry != null && firstEntry.getKey().equals(cut)) { return firstEntry.getValue(); } } catch (ClassCastException unused) { } } return null; } @Override // java.util.NavigableMap /* renamed from: a, reason: merged with bridge method [inline-methods] */ public NavigableMap, Range> subMap(Cut cut, boolean z, Cut cut2, boolean z2) { return a(Range.range(cut, BoundType.forBoolean(z), cut2, BoundType.forBoolean(z2))); } @Override // java.util.NavigableMap /* renamed from: a, reason: merged with bridge method [inline-methods] */ public NavigableMap, Range> headMap(Cut cut, boolean z) { return a(Range.upTo(cut, BoundType.forBoolean(z))); } @Override // com.google.common.collect.AbstractNavigableMap Iterator, Range>> a() { Cut f; Cut higherKey; if (this.c.hasUpperBound()) { f = this.c.upperEndpoint(); } else { f = Cut.f(); } final PeekingIterator f2 = Iterators.f(this.b.headMap(f, this.c.hasUpperBound() && this.c.upperBoundType() == BoundType.CLOSED).descendingMap().values().iterator()); if (f2.hasNext()) { if (((Range) f2.peek()).upperBound == Cut.f()) { higherKey = ((Range) f2.next()).lowerBound; } else { higherKey = this.a.higherKey(((Range) f2.peek()).upperBound); } } else if (this.c.contains(Cut.g()) && !this.a.containsKey(Cut.g())) { higherKey = this.a.higherKey(Cut.g()); } else { return Iterators.a(); } final Cut cut = (Cut) MoreObjects.a(higherKey, Cut.f()); return new AbstractIterator, Range>>() { // from class: com.google.common.collect.TreeRangeSet.ComplementRangesByLowerBound.2 Cut c; { this.c = cut; } /* JADX INFO: Access modifiers changed from: protected */ @Override // com.google.common.collect.AbstractIterator public Map.Entry, Range> a() { if (this.c == Cut.g()) { return (Map.Entry) b(); } if (f2.hasNext()) { Range range = (Range) f2.next(); Range create = Range.create(range.upperBound, this.c); this.c = range.lowerBound; if (ComplementRangesByLowerBound.this.c.lowerBound.a((Cut) create.lowerBound)) { return Maps.a(create.lowerBound, create); } } else if (ComplementRangesByLowerBound.this.c.lowerBound.a((Cut) Cut.g())) { Range create2 = Range.create(Cut.g(), this.c); this.c = Cut.g(); return Maps.a(Cut.g(), create2); } return (Map.Entry) b(); } }; } } static final class RangesByUpperBound> extends AbstractNavigableMap, Range> { private final NavigableMap, Range> a; private final Range> b; RangesByUpperBound(NavigableMap, Range> navigableMap) { this.a = navigableMap; this.b = Range.all(); } @Override // java.util.NavigableMap /* renamed from: b, reason: merged with bridge method [inline-methods] */ public NavigableMap, Range> tailMap(Cut cut, boolean z) { return a(Range.downTo(cut, BoundType.forBoolean(z))); } @Override // java.util.SortedMap public Comparator> comparator() { return Ordering.c(); } @Override // java.util.AbstractMap, java.util.Map public boolean containsKey(Object obj) { return get(obj) != null; } @Override // com.google.common.collect.Maps.IteratorBasedAbstractMap Iterator, Range>> entryIterator() { final Iterator> it; if (this.b.hasLowerBound()) { Map.Entry lowerEntry = this.a.lowerEntry(this.b.lowerEndpoint()); it = lowerEntry == null ? this.a.values().iterator() : this.b.lowerBound.a((Cut>) ((Range) lowerEntry.getValue()).upperBound) ? this.a.tailMap(lowerEntry.getKey(), true).values().iterator() : this.a.tailMap(this.b.lowerEndpoint(), true).values().iterator(); } else { it = this.a.values().iterator(); } return new AbstractIterator, Range>>() { // from class: com.google.common.collect.TreeRangeSet.RangesByUpperBound.1 /* JADX INFO: Access modifiers changed from: protected */ @Override // com.google.common.collect.AbstractIterator public Map.Entry, Range> a() { if (!it.hasNext()) { return (Map.Entry) b(); } Range range = (Range) it.next(); return RangesByUpperBound.this.b.upperBound.a((Cut) range.upperBound) ? (Map.Entry) b() : Maps.a(range.upperBound, range); } }; } @Override // java.util.AbstractMap, java.util.Map public boolean isEmpty() { return this.b.equals(Range.all()) ? this.a.isEmpty() : !entryIterator().hasNext(); } @Override // com.google.common.collect.Maps.IteratorBasedAbstractMap, java.util.AbstractMap, java.util.Map public int size() { return this.b.equals(Range.all()) ? this.a.size() : Iterators.h(entryIterator()); } private NavigableMap, Range> a(Range> range) { return range.isConnected(this.b) ? new RangesByUpperBound(this.a, range.intersection(this.b)) : ImmutableSortedMap.of(); } @Override // java.util.AbstractMap, java.util.Map public Range get(Object obj) { Map.Entry, Range> lowerEntry; if (obj instanceof Cut) { try { Cut cut = (Cut) obj; if (this.b.contains(cut) && (lowerEntry = this.a.lowerEntry(cut)) != null && lowerEntry.getValue().upperBound.equals(cut)) { return lowerEntry.getValue(); } } catch (ClassCastException unused) { } } return null; } private RangesByUpperBound(NavigableMap, Range> navigableMap, Range> range) { this.a = navigableMap; this.b = range; } @Override // java.util.NavigableMap /* renamed from: a, reason: merged with bridge method [inline-methods] */ public NavigableMap, Range> subMap(Cut cut, boolean z, Cut cut2, boolean z2) { return a(Range.range(cut, BoundType.forBoolean(z), cut2, BoundType.forBoolean(z2))); } @Override // java.util.NavigableMap /* renamed from: a, reason: merged with bridge method [inline-methods] */ public NavigableMap, Range> headMap(Cut cut, boolean z) { return a(Range.upTo(cut, BoundType.forBoolean(z))); } @Override // com.google.common.collect.AbstractNavigableMap Iterator, Range>> a() { Collection> values; if (this.b.hasUpperBound()) { values = this.a.headMap(this.b.upperEndpoint(), false).descendingMap().values(); } else { values = this.a.descendingMap().values(); } final PeekingIterator f = Iterators.f(values.iterator()); if (f.hasNext() && this.b.upperBound.a((Cut>) ((Range) f.peek()).upperBound)) { f.next(); } return new AbstractIterator, Range>>() { // from class: com.google.common.collect.TreeRangeSet.RangesByUpperBound.2 /* JADX INFO: Access modifiers changed from: protected */ @Override // com.google.common.collect.AbstractIterator public Map.Entry, Range> a() { if (!f.hasNext()) { return (Map.Entry) b(); } Range range = (Range) f.next(); return RangesByUpperBound.this.b.lowerBound.a((Cut) range.upperBound) ? Maps.a(range.upperBound, range) : (Map.Entry) b(); } }; } } private final class SubRangeSet extends TreeRangeSet { private final Range a; /* JADX WARN: Illegal instructions before constructor call */ /* Code decompiled incorrectly, please refer to instructions dump. To view partially-correct code enable 'Show inconsistent code' option in preferences */ SubRangeSet(com.google.common.collect.Range r5) { /* r3 = this; com.google.common.collect.TreeRangeSet.this = r4 com.google.common.collect.TreeRangeSet$SubRangeSetRangesByLowerBound r0 = new com.google.common.collect.TreeRangeSet$SubRangeSetRangesByLowerBound com.google.common.collect.Range r1 = com.google.common.collect.Range.all() java.util.NavigableMap>, com.google.common.collect.Range>> r4 = r4.rangesByLowerBound r2 = 0 r0.(r1, r5, r4) r3.(r0) r3.a = r5 return */ throw new UnsupportedOperationException("Method not decompiled: com.google.common.collect.TreeRangeSet.SubRangeSet.(com.google.common.collect.TreeRangeSet, com.google.common.collect.Range):void"); } @Override // com.google.common.collect.TreeRangeSet, com.google.common.collect.AbstractRangeSet public void add(Range range) { Preconditions.a(this.a.encloses(range), "Cannot add range %s to subRangeSet(%s)", range, this.a); super.add(range); } @Override // com.google.common.collect.TreeRangeSet, com.google.common.collect.AbstractRangeSet public void clear() { TreeRangeSet.this.remove(this.a); } @Override // com.google.common.collect.TreeRangeSet, com.google.common.collect.AbstractRangeSet public boolean contains(C c) { return this.a.contains(c) && TreeRangeSet.this.contains(c); } @Override // com.google.common.collect.TreeRangeSet, com.google.common.collect.AbstractRangeSet, com.google.common.collect.RangeSet public boolean encloses(Range range) { Range rangeEnclosing; return (this.a.isEmpty() || !this.a.encloses(range) || (rangeEnclosing = TreeRangeSet.this.rangeEnclosing(range)) == null || rangeEnclosing.intersection(this.a).isEmpty()) ? false : true; } @Override // com.google.common.collect.TreeRangeSet, com.google.common.collect.AbstractRangeSet public Range rangeContaining(C c) { Range rangeContaining; if (this.a.contains(c) && (rangeContaining = TreeRangeSet.this.rangeContaining(c)) != null) { return rangeContaining.intersection(this.a); } return null; } @Override // com.google.common.collect.TreeRangeSet, com.google.common.collect.AbstractRangeSet public void remove(Range range) { if (range.isConnected(this.a)) { TreeRangeSet.this.remove(range.intersection(this.a)); } } @Override // com.google.common.collect.TreeRangeSet public RangeSet subRangeSet(Range range) { return range.encloses(this.a) ? this : range.isConnected(this.a) ? new SubRangeSet(this, this.a.intersection(range)) : ImmutableRangeSet.of(); } } private static final class SubRangeSetRangesByLowerBound> extends AbstractNavigableMap, Range> { private final Range> a; private final Range b; private final NavigableMap, Range> c; private final NavigableMap, Range> d; @Override // java.util.SortedMap public Comparator> comparator() { return Ordering.c(); } @Override // java.util.AbstractMap, java.util.Map public boolean containsKey(Object obj) { return get(obj) != null; } @Override // com.google.common.collect.Maps.IteratorBasedAbstractMap Iterator, Range>> entryIterator() { final Iterator> it; if (this.b.isEmpty()) { return Iterators.a(); } if (this.a.upperBound.a((Cut>) this.b.lowerBound)) { return Iterators.a(); } if (this.a.lowerBound.a((Cut>) this.b.lowerBound)) { it = this.d.tailMap(this.b.lowerBound, false).values().iterator(); } else { it = this.c.tailMap(this.a.lowerBound.c(), this.a.lowerBoundType() == BoundType.CLOSED).values().iterator(); } final Cut cut = (Cut) Ordering.c().b(this.a.upperBound, Cut.c(this.b.upperBound)); return new AbstractIterator, Range>>() { // from class: com.google.common.collect.TreeRangeSet.SubRangeSetRangesByLowerBound.1 /* JADX INFO: Access modifiers changed from: protected */ @Override // com.google.common.collect.AbstractIterator public Map.Entry, Range> a() { if (!it.hasNext()) { return (Map.Entry) b(); } Range range = (Range) it.next(); if (cut.a((Cut) range.lowerBound)) { return (Map.Entry) b(); } Range intersection = range.intersection(SubRangeSetRangesByLowerBound.this.b); return Maps.a(intersection.lowerBound, intersection); } }; } @Override // com.google.common.collect.Maps.IteratorBasedAbstractMap, java.util.AbstractMap, java.util.Map public int size() { return Iterators.h(entryIterator()); } private SubRangeSetRangesByLowerBound(Range> range, Range range2, NavigableMap, Range> navigableMap) { Preconditions.a(range); this.a = range; Preconditions.a(range2); this.b = range2; Preconditions.a(navigableMap); this.c = navigableMap; this.d = new RangesByUpperBound(navigableMap); } private NavigableMap, Range> a(Range> range) { return !range.isConnected(this.a) ? ImmutableSortedMap.of() : new SubRangeSetRangesByLowerBound(this.a.intersection(range), this.b, this.c); } @Override // java.util.NavigableMap /* renamed from: b, reason: merged with bridge method [inline-methods] */ public NavigableMap, Range> tailMap(Cut cut, boolean z) { return a(Range.downTo(cut, BoundType.forBoolean(z))); } @Override // java.util.AbstractMap, java.util.Map public Range get(Object obj) { if (obj instanceof Cut) { try { Cut cut = (Cut) obj; if (this.a.contains(cut) && cut.compareTo(this.b.lowerBound) >= 0 && cut.compareTo(this.b.upperBound) < 0) { if (cut.equals(this.b.lowerBound)) { Range range = (Range) Maps.c(this.c.floorEntry(cut)); if (range != null && range.upperBound.compareTo(this.b.lowerBound) > 0) { return range.intersection(this.b); } } else { Range range2 = (Range) this.c.get(cut); if (range2 != null) { return range2.intersection(this.b); } } } } catch (ClassCastException unused) { } } return null; } @Override // java.util.NavigableMap /* renamed from: a, reason: merged with bridge method [inline-methods] */ public NavigableMap, Range> subMap(Cut cut, boolean z, Cut cut2, boolean z2) { return a(Range.range(cut, BoundType.forBoolean(z), cut2, BoundType.forBoolean(z2))); } @Override // java.util.NavigableMap /* renamed from: a, reason: merged with bridge method [inline-methods] */ public NavigableMap, Range> headMap(Cut cut, boolean z) { return a(Range.upTo(cut, BoundType.forBoolean(z))); } @Override // com.google.common.collect.AbstractNavigableMap Iterator, Range>> a() { if (this.b.isEmpty()) { return Iterators.a(); } Cut cut = (Cut) Ordering.c().b(this.a.upperBound, Cut.c(this.b.upperBound)); final Iterator it = this.c.headMap(cut.c(), cut.e() == BoundType.CLOSED).descendingMap().values().iterator(); return new AbstractIterator, Range>>() { // from class: com.google.common.collect.TreeRangeSet.SubRangeSetRangesByLowerBound.2 /* JADX INFO: Access modifiers changed from: protected */ @Override // com.google.common.collect.AbstractIterator public Map.Entry, Range> a() { if (!it.hasNext()) { return (Map.Entry) b(); } Range range = (Range) it.next(); if (SubRangeSetRangesByLowerBound.this.b.lowerBound.compareTo(range.upperBound) >= 0) { return (Map.Entry) b(); } Range intersection = range.intersection(SubRangeSetRangesByLowerBound.this.b); return SubRangeSetRangesByLowerBound.this.a.contains(intersection.lowerBound) ? Maps.a(intersection.lowerBound, intersection) : (Map.Entry) b(); } }; } } public static > TreeRangeSet create() { return new TreeRangeSet<>(new TreeMap()); } /* JADX INFO: Access modifiers changed from: private */ public Range rangeEnclosing(Range range) { Preconditions.a(range); Map.Entry, Range> floorEntry = this.rangesByLowerBound.floorEntry(range.lowerBound); if (floorEntry == null || !floorEntry.getValue().encloses(range)) { return null; } return floorEntry.getValue(); } private void replaceRangeWithSameLowerBound(Range range) { if (range.isEmpty()) { this.rangesByLowerBound.remove(range.lowerBound); } else { this.rangesByLowerBound.put(range.lowerBound, range); } } @Override // com.google.common.collect.AbstractRangeSet public void add(Range range) { Preconditions.a(range); if (range.isEmpty()) { return; } Cut cut = range.lowerBound; Cut cut2 = range.upperBound; Map.Entry, Range> lowerEntry = this.rangesByLowerBound.lowerEntry(cut); if (lowerEntry != null) { Range value = lowerEntry.getValue(); if (value.upperBound.compareTo(cut) >= 0) { if (value.upperBound.compareTo(cut2) >= 0) { cut2 = value.upperBound; } cut = value.lowerBound; } } Map.Entry, Range> floorEntry = this.rangesByLowerBound.floorEntry(cut2); if (floorEntry != null) { Range value2 = floorEntry.getValue(); if (value2.upperBound.compareTo(cut2) >= 0) { cut2 = value2.upperBound; } } this.rangesByLowerBound.subMap(cut, cut2).clear(); replaceRangeWithSameLowerBound(Range.create(cut, cut2)); } @Override // com.google.common.collect.AbstractRangeSet public /* bridge */ /* synthetic */ void addAll(RangeSet rangeSet) { super.addAll(rangeSet); } public Set> asDescendingSetOfRanges() { Set> set = this.asDescendingSetOfRanges; if (set != null) { return set; } AsRanges asRanges = new AsRanges(this, this.rangesByLowerBound.descendingMap().values()); this.asDescendingSetOfRanges = asRanges; return asRanges; } @Override // com.google.common.collect.RangeSet public Set> asRanges() { Set> set = this.asRanges; if (set != null) { return set; } AsRanges asRanges = new AsRanges(this, this.rangesByLowerBound.values()); this.asRanges = asRanges; return asRanges; } @Override // com.google.common.collect.AbstractRangeSet public /* bridge */ /* synthetic */ void clear() { super.clear(); } @Override // com.google.common.collect.RangeSet public RangeSet complement() { RangeSet rangeSet = this.complement; if (rangeSet != null) { return rangeSet; } Complement complement = new Complement(); this.complement = complement; return complement; } @Override // com.google.common.collect.AbstractRangeSet public /* bridge */ /* synthetic */ boolean contains(Comparable comparable) { return super.contains(comparable); } @Override // com.google.common.collect.AbstractRangeSet, com.google.common.collect.RangeSet public boolean encloses(Range range) { Preconditions.a(range); Map.Entry, Range> floorEntry = this.rangesByLowerBound.floorEntry(range.lowerBound); return floorEntry != null && floorEntry.getValue().encloses(range); } @Override // com.google.common.collect.AbstractRangeSet public /* bridge */ /* synthetic */ boolean enclosesAll(RangeSet rangeSet) { return super.enclosesAll(rangeSet); } @Override // com.google.common.collect.AbstractRangeSet public /* bridge */ /* synthetic */ boolean equals(Object obj) { return super.equals(obj); } @Override // com.google.common.collect.AbstractRangeSet public boolean intersects(Range range) { Preconditions.a(range); Map.Entry, Range> ceilingEntry = this.rangesByLowerBound.ceilingEntry(range.lowerBound); if (ceilingEntry != null && ceilingEntry.getValue().isConnected(range) && !ceilingEntry.getValue().intersection(range).isEmpty()) { return true; } Map.Entry, Range> lowerEntry = this.rangesByLowerBound.lowerEntry(range.lowerBound); return (lowerEntry == null || !lowerEntry.getValue().isConnected(range) || lowerEntry.getValue().intersection(range).isEmpty()) ? false : true; } @Override // com.google.common.collect.AbstractRangeSet, com.google.common.collect.RangeSet public /* bridge */ /* synthetic */ boolean isEmpty() { return super.isEmpty(); } @Override // com.google.common.collect.AbstractRangeSet public Range rangeContaining(C c) { Preconditions.a(c); Map.Entry, Range> floorEntry = this.rangesByLowerBound.floorEntry(Cut.c(c)); if (floorEntry == null || !floorEntry.getValue().contains(c)) { return null; } return floorEntry.getValue(); } @Override // com.google.common.collect.AbstractRangeSet public void remove(Range range) { Preconditions.a(range); if (range.isEmpty()) { return; } Map.Entry, Range> lowerEntry = this.rangesByLowerBound.lowerEntry(range.lowerBound); if (lowerEntry != null) { Range value = lowerEntry.getValue(); if (value.upperBound.compareTo(range.lowerBound) >= 0) { if (range.hasUpperBound() && value.upperBound.compareTo(range.upperBound) >= 0) { replaceRangeWithSameLowerBound(Range.create(range.upperBound, value.upperBound)); } replaceRangeWithSameLowerBound(Range.create(value.lowerBound, range.lowerBound)); } } Map.Entry, Range> floorEntry = this.rangesByLowerBound.floorEntry(range.upperBound); if (floorEntry != null) { Range value2 = floorEntry.getValue(); if (range.hasUpperBound() && value2.upperBound.compareTo(range.upperBound) >= 0) { replaceRangeWithSameLowerBound(Range.create(range.upperBound, value2.upperBound)); } } this.rangesByLowerBound.subMap(range.lowerBound, range.upperBound).clear(); } @Override // com.google.common.collect.AbstractRangeSet, com.google.common.collect.RangeSet public /* bridge */ /* synthetic */ void removeAll(RangeSet rangeSet) { super.removeAll(rangeSet); } public Range span() { Map.Entry, Range> firstEntry = this.rangesByLowerBound.firstEntry(); Map.Entry, Range> lastEntry = this.rangesByLowerBound.lastEntry(); if (firstEntry != null) { return Range.create(firstEntry.getValue().lowerBound, lastEntry.getValue().upperBound); } throw new NoSuchElementException(); } public RangeSet subRangeSet(Range range) { return range.equals(Range.all()) ? this : new SubRangeSet(this, range); } private TreeRangeSet(NavigableMap, Range> navigableMap) { this.rangesByLowerBound = navigableMap; } public static > TreeRangeSet create(RangeSet rangeSet) { TreeRangeSet create = create(); create.addAll(rangeSet); return create; } @Override // com.google.common.collect.AbstractRangeSet public /* bridge */ /* synthetic */ void addAll(Iterable iterable) { super.addAll(iterable); } @Override // com.google.common.collect.AbstractRangeSet public /* bridge */ /* synthetic */ boolean enclosesAll(Iterable iterable) { return super.enclosesAll(iterable); } @Override // com.google.common.collect.AbstractRangeSet public /* bridge */ /* synthetic */ void removeAll(Iterable iterable) { super.removeAll(iterable); } public static > TreeRangeSet create(Iterable> iterable) { TreeRangeSet create = create(); create.addAll(iterable); return create; } }