From 2b24881f5bdf96fbaa81260c8c7585a9dfa4a5d5 Mon Sep 17 00:00:00 2001 From: dbenoff Date: Sat, 11 Feb 2017 10:53:34 -0800 Subject: [PATCH 001/226] Added flex street matching (cherry picked from commit d0ae263) --- .../routing/algorithm/AStar.java | 27 +++-- .../InterleavedBidirectionalHeuristic.java | 108 +++++++++++++++++- .../routing/core/RoutingContext.java | 17 +-- .../routing/core/RoutingRequest.java | 6 +- .../temporary/TemporaryPatternHop.java | 42 +++++++ .../temporary/TemporaryPreAlightEdge.java | 37 ++++++ .../temporary/TemporaryPreBoardEdge.java | 47 ++++++++ .../temporary/TemporaryStreetTransitLink.java | 27 +++++ .../TemporaryTransitBoardAlight.java | 29 +++++ .../opentripplanner/routing/graph/Graph.java | 2 + .../routing/graph/GraphIndex.java | 85 +++++++++++--- .../vertextype/TemporaryFlexTransitStop.java | 24 ++++ 12 files changed, 418 insertions(+), 33 deletions(-) create mode 100644 src/main/java/org/opentripplanner/routing/edgetype/temporary/TemporaryPatternHop.java create mode 100644 src/main/java/org/opentripplanner/routing/edgetype/temporary/TemporaryPreAlightEdge.java create mode 100644 src/main/java/org/opentripplanner/routing/edgetype/temporary/TemporaryPreBoardEdge.java create mode 100644 src/main/java/org/opentripplanner/routing/edgetype/temporary/TemporaryStreetTransitLink.java create mode 100644 src/main/java/org/opentripplanner/routing/edgetype/temporary/TemporaryTransitBoardAlight.java create mode 100644 src/main/java/org/opentripplanner/routing/vertextype/TemporaryFlexTransitStop.java diff --git a/src/main/java/org/opentripplanner/routing/algorithm/AStar.java b/src/main/java/org/opentripplanner/routing/algorithm/AStar.java index d1b03d1561a..a63635a71d0 100644 --- a/src/main/java/org/opentripplanner/routing/algorithm/AStar.java +++ b/src/main/java/org/opentripplanner/routing/algorithm/AStar.java @@ -13,11 +13,7 @@ the License, or (at your option) any later version. package org.opentripplanner.routing.algorithm; -import java.util.Collection; -import java.util.Collections; -import java.util.LinkedList; -import java.util.List; - +import com.beust.jcommander.internal.Lists; import org.opentripplanner.common.pqueue.BinHeap; import org.opentripplanner.routing.algorithm.strategies.RemainingWeightHeuristic; import org.opentripplanner.routing.algorithm.strategies.SearchTerminationStrategy; @@ -25,16 +21,21 @@ the License, or (at your option) any later version. import org.opentripplanner.routing.core.RoutingContext; import org.opentripplanner.routing.core.RoutingRequest; import org.opentripplanner.routing.core.State; +import org.opentripplanner.routing.edgetype.StreetTransitLink; +import org.opentripplanner.routing.edgetype.temporary.TemporaryStreetTransitLink; import org.opentripplanner.routing.graph.Edge; import org.opentripplanner.routing.graph.Vertex; -import org.opentripplanner.routing.spt.*; +import org.opentripplanner.routing.spt.GraphPath; +import org.opentripplanner.routing.spt.ShortestPathTree; import org.opentripplanner.util.DateUtils; import org.opentripplanner.util.monitoring.MonitoringStore; import org.opentripplanner.util.monitoring.MonitoringStoreFactory; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import com.beust.jcommander.internal.Lists; +import java.util.Collection; +import java.util.LinkedList; +import java.util.List; /** * Find the shortest path between graph vertices using A*. @@ -175,11 +176,23 @@ boolean iterate(){ if (verbose) System.out.println(" vertex " + runState.u_vertex); + State s = runState.u; + if(s.getBackEdge() != null) + System.out.println(s.getBackEdge().getClass().getName() + " " + s.getBackMode() + " |" + s.getBackEdge().getFromVertex().getY()+","+ s.getBackEdge().getFromVertex().getX()); + runState.nVisited += 1; Collection edges = runState.options.arriveBy ? runState.u_vertex.getIncoming() : runState.u_vertex.getOutgoing(); for (Edge edge : edges) { + if(edge.getClass().isAssignableFrom(StreetTransitLink.class) ){ + continue; + } + + if(edge.getClass().isAssignableFrom(TemporaryStreetTransitLink.class) ){ + //System.out.println(edge); + } + // Iterate over traversal results. When an edge leads nowhere (as indicated by // returning NULL), the iteration is over. TODO Use this to board multiple trips. for (State v = edge.traverse(runState.u); v != null; v = v.getNextResult()) { diff --git a/src/main/java/org/opentripplanner/routing/algorithm/strategies/InterleavedBidirectionalHeuristic.java b/src/main/java/org/opentripplanner/routing/algorithm/strategies/InterleavedBidirectionalHeuristic.java index a1ff7a2d5ec..ea345e14e69 100644 --- a/src/main/java/org/opentripplanner/routing/algorithm/strategies/InterleavedBidirectionalHeuristic.java +++ b/src/main/java/org/opentripplanner/routing/algorithm/strategies/InterleavedBidirectionalHeuristic.java @@ -13,12 +13,19 @@ the License, or (props, at your option) any later version. package org.opentripplanner.routing.algorithm.strategies; +import com.google.common.collect.BiMap; +import com.google.common.collect.HashBiMap; import gnu.trove.map.TObjectDoubleMap; import gnu.trove.map.hash.TObjectDoubleHashMap; +import org.onebusaway.gtfs.model.AgencyAndId; +import org.onebusaway.gtfs.model.Stop; import org.opentripplanner.common.pqueue.BinHeap; import org.opentripplanner.routing.core.RoutingRequest; import org.opentripplanner.routing.core.State; +import org.opentripplanner.routing.edgetype.PatternHop; +import org.opentripplanner.routing.edgetype.StreetEdge; import org.opentripplanner.routing.edgetype.StreetTransitLink; +import org.opentripplanner.routing.edgetype.TripPattern; import org.opentripplanner.routing.graph.Edge; import org.opentripplanner.routing.graph.Graph; import org.opentripplanner.routing.graph.Vertex; @@ -30,7 +37,8 @@ the License, or (props, at your option) any later version. import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import java.util.Set; +import java.util.*; +import java.util.stream.Collectors; /** * This the goal direction heuristic used for transit searches. @@ -86,6 +94,12 @@ public class InterleavedBidirectionalHeuristic implements RemainingWeightHeurist */ TObjectDoubleMap postBoardingWeights; + /** Closest edge to the origin that lies along the associated tripPattern. */ + BiMap originFlexEdges = HashBiMap.create(); + + /** Closest edge to the destination that lies along the associated tripPattern. */ + BiMap destinationFlexEdges = HashBiMap.create(); + Graph graph; RoutingRequest routingRequest; @@ -156,7 +170,7 @@ public double estimateRemainingWeight (State s) { // Zero is always an underestimate. return 0; } - if (v instanceof StreetVertex) { + if (v instanceof StreetVertex && !s.isOnFlex()) { // The main search is on the streets, not on transit. if (s.isEverBoarded()) { // If we have already ridden transit we must be near the destination. If not the map returns INF. @@ -278,12 +292,28 @@ private TObjectDoubleMap streetSearch (RoutingRequest rr, boolean fromTa Vertex initVertex = fromTarget ? rr.rctx.target : rr.rctx.origin; State initState = new State(initVertex, rr); pq.insert(initState, 0); + Map tripPatternStateMap = new HashMap<>(); while ( ! pq.empty()) { - if (abortTime < Long.MAX_VALUE && System.currentTimeMillis() > abortTime) { + /*if (abortTime < Long.MAX_VALUE && System.currentTimeMillis() > abortTime) { return null; - } + }*/ State s = pq.extract_min(); Vertex v = s.getVertex(); + if(s.getBackEdge() != null + && s.getBackEdge() instanceof StreetEdge + && s.getBackEdge().getGeometry() != null){ + Collection patterns = graph.index.getPatternsForEdge(s.getBackEdge()); + for(TripPattern tripPattern : patterns){ + if(tripPatternStateMap.containsKey(tripPattern)){ + State oldState = tripPatternStateMap.get(tripPattern); + if(oldState.getWeight() < s.getWeight()){ + continue; + } + } + tripPatternStateMap.put(tripPattern, s); + } + //System.out.println(s.getBackMode() + " " + s.getBackEdge().getClass().getName() + " " + v.getClass().getName()); + } // At this point the vertex is closed (pulled off heap). // This is the lowest cost we will ever see for this vertex. We can record the cost to reach it. if (v instanceof TransitStop) { @@ -316,6 +346,76 @@ private TObjectDoubleMap streetSearch (RoutingRequest rr, boolean fromTa } } } + + for(TripPattern tripPattern : tripPatternStateMap.keySet()){ + State s = tripPatternStateMap.get(tripPattern); + } + + Map> stateToTripPatternsMap = new HashMap<>(); + for(TripPattern tripPattern : tripPatternStateMap.keySet()){ + State s = tripPatternStateMap.get(tripPattern); + if(!stateToTripPatternsMap.containsKey(s)){ + stateToTripPatternsMap.put(s, new ArrayList<>()); + } + stateToTripPatternsMap.get(s).add(tripPattern); + } + + for(State s : stateToTripPatternsMap.keySet()){ + + Vertex v = fromTarget ? s.getBackEdge().getToVertex() : s.getBackEdge().getFromVertex(); + + Stop stop = new Stop(); + stop.setId(new AgencyAndId("1", String.valueOf(Math.random()))); + stop.setLat(v.getLat()); + stop.setLon(v.getLon()); + stop.setName(String.valueOf(Math.random())); + TransitStop transitStop = new TemporaryFlexTransitStop(graph, stop); + TemporaryStreetTransitLink streetTransitLink = new TemporaryStreetTransitLink((StreetVertex)v, transitStop, true); + rr.rctx.temporaryEdges.add(streetTransitLink); + + if(fromTarget){ + //reverse search + }else{ + //forward search + TransitStopDepart transitStopDepart = new TransitStopDepart(graph, stop, transitStop); + TemporaryPreBoardEdge preBoardEdge = new TemporaryPreBoardEdge(transitStop, transitStopDepart); + rr.rctx.temporaryEdges.add(preBoardEdge); + + for(TripPattern tripPattern : stateToTripPatternsMap.get(s)){ + + List patternHops = graph.index.getHopsForEdge(s.getBackEdge(), fromTarget) + .stream() + .filter(e -> e.getPattern() == tripPattern) + .collect(Collectors.toList()); + + for(PatternHop patternHop : patternHops){ + PatternDepartVertex patternDepartVertex = + new PatternDepartVertex(graph, tripPattern, patternHop.getStopIndex()); + + //todo make a clone of the patternHop + TemporaryPatternHop temporaryPatternHop = new TemporaryPatternHop(patternDepartVertex, + (PatternStopVertex)patternHop.getToVertex(), patternHop.getBeginStop(), patternHop.getEndStop(), patternHop.getStopIndex()); + rr.rctx.temporaryEdges.add(temporaryPatternHop); + + /** TransitBoardAlight: Boarding constructor (TransitStopDepart, PatternStopVertex) */ + TemporaryTransitBoardAlight transitBoardAlight = + new TemporaryTransitBoardAlight(transitStopDepart, patternDepartVertex, patternHop.getStopIndex(), TraverseMode.BUS); + } + } + } + } + + + + + + + BiMap tripPatternEdgeBiMap = fromTarget ? destinationFlexEdges : originFlexEdges; + for(TripPattern tripPattern : tripPatternStateMap.keySet()){ + State s = tripPatternStateMap.get(tripPattern); + tripPatternEdgeBiMap.put(s.getBackEdge(), tripPattern); + } + LOG.debug("Heuristric street search hit {} vertices.", vertices.size()); LOG.debug("Heuristric street search hit {} transit stops.", transitQueue.size()); return vertices; diff --git a/src/main/java/org/opentripplanner/routing/core/RoutingContext.java b/src/main/java/org/opentripplanner/routing/core/RoutingContext.java index 8ce196ada43..bd38ed39ef1 100644 --- a/src/main/java/org/opentripplanner/routing/core/RoutingContext.java +++ b/src/main/java/org/opentripplanner/routing/core/RoutingContext.java @@ -26,6 +26,7 @@ the License, or (at your option) any later version. import org.opentripplanner.routing.algorithm.strategies.RemainingWeightHeuristic; import org.opentripplanner.routing.algorithm.strategies.TrivialRemainingWeightHeuristic; import org.opentripplanner.routing.edgetype.StreetEdge; +import org.opentripplanner.routing.edgetype.TemporaryEdge; import org.opentripplanner.routing.edgetype.TemporaryPartialStreetEdge; import org.opentripplanner.routing.edgetype.TimetableSnapshot; import org.opentripplanner.routing.error.GraphNotFoundException; @@ -45,13 +46,7 @@ the License, or (at your option) any later version. import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import java.util.ArrayList; -import java.util.Calendar; -import java.util.Date; -import java.util.HashMap; -import java.util.HashSet; -import java.util.Map; -import java.util.Set; +import java.util.*; /** * A RoutingContext holds information needed to carry out a search for a particular TraverseOptions, on a specific graph. @@ -126,6 +121,8 @@ public class RoutingContext implements Cloneable { /** Indicates that a maximum slope constraint was specified but was removed during routing to produce a result. */ public boolean slopeRestrictionRemoved = false; + public Collection temporaryEdges = new ArrayList<>(); + /* CONSTRUCTORS */ /** @@ -417,5 +414,11 @@ public boolean isWheelchairAccessible(Vertex v) { public void destroy() { if (origin instanceof TemporaryVertex) ((TemporaryVertex) origin).dispose(); if (target instanceof TemporaryVertex) ((TemporaryVertex) target).dispose(); + if(temporaryEdges != null){ + for(TemporaryEdge temporaryEdge : temporaryEdges){ + temporaryEdge.dispose(); + } + } + } } diff --git a/src/main/java/org/opentripplanner/routing/core/RoutingRequest.java b/src/main/java/org/opentripplanner/routing/core/RoutingRequest.java index 2d91a4105e1..fe023cd397b 100644 --- a/src/main/java/org/opentripplanner/routing/core/RoutingRequest.java +++ b/src/main/java/org/opentripplanner/routing/core/RoutingRequest.java @@ -419,7 +419,7 @@ public class RoutingRequest implements Cloneable, Serializable { public boolean longDistance = false; /** Should traffic congestion be considered when driving? */ - public boolean useTraffic = true; + public boolean useTraffic = false; /** The function that compares paths converging on the same vertex to decide which ones continue to be explored. */ public DominanceFunction dominanceFunction = new DominanceFunction.Pareto(); @@ -1220,4 +1220,8 @@ public void canSplitEdge(StreetEdge edge) { } } + + public boolean isFlexAllowed() { + return flexAllowed && modes.isTransit(); + } } diff --git a/src/main/java/org/opentripplanner/routing/edgetype/temporary/TemporaryPatternHop.java b/src/main/java/org/opentripplanner/routing/edgetype/temporary/TemporaryPatternHop.java new file mode 100644 index 00000000000..099905be4c0 --- /dev/null +++ b/src/main/java/org/opentripplanner/routing/edgetype/temporary/TemporaryPatternHop.java @@ -0,0 +1,42 @@ +/* This program is free software: you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public License + as published by the Free Software Foundation, either version 3 of + the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +package org.opentripplanner.routing.edgetype.temporary; + +import org.onebusaway.gtfs.model.Stop; +import org.opentripplanner.routing.edgetype.PatternHop; +import org.opentripplanner.routing.edgetype.PreAlightEdge; +import org.opentripplanner.routing.edgetype.StationEdge; +import org.opentripplanner.routing.edgetype.TemporaryEdge; +import org.opentripplanner.routing.vertextype.PatternStopVertex; +import org.opentripplanner.routing.vertextype.TransitStop; +import org.opentripplanner.routing.vertextype.TransitStopArrive; + + +public class TemporaryPatternHop extends PatternHop implements TemporaryEdge { + + + public TemporaryPatternHop(PatternStopVertex from, PatternStopVertex to, Stop begin, Stop end, int stopIndex) { + super(from, to, begin, end, stopIndex); + } + + public boolean equals(Object obj) { + return (this == obj); + } + + @Override + public void dispose() { + fromv.removeOutgoing(this); + tov.removeIncoming(this); + } +} diff --git a/src/main/java/org/opentripplanner/routing/edgetype/temporary/TemporaryPreAlightEdge.java b/src/main/java/org/opentripplanner/routing/edgetype/temporary/TemporaryPreAlightEdge.java new file mode 100644 index 00000000000..97412d2b6be --- /dev/null +++ b/src/main/java/org/opentripplanner/routing/edgetype/temporary/TemporaryPreAlightEdge.java @@ -0,0 +1,37 @@ +/* This program is free software: you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public License + as published by the Free Software Foundation, either version 3 of + the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +package org.opentripplanner.routing.edgetype.temporary; + +import org.opentripplanner.routing.edgetype.PreAlightEdge; +import org.opentripplanner.routing.edgetype.PreBoardEdge; +import org.opentripplanner.routing.edgetype.StationEdge; +import org.opentripplanner.routing.edgetype.TemporaryEdge; +import org.opentripplanner.routing.vertextype.TransitStop; +import org.opentripplanner.routing.vertextype.TransitStopArrive; +import org.opentripplanner.routing.vertextype.TransitStopDepart; + + +public class TemporaryPreAlightEdge extends PreAlightEdge implements StationEdge, TemporaryEdge { + + + public TemporaryPreAlightEdge(TransitStopArrive from, TransitStop to) { + super(from, to); + } + + @Override + public void dispose() { + fromv.removeOutgoing(this); + tov.removeIncoming(this); + } +} diff --git a/src/main/java/org/opentripplanner/routing/edgetype/temporary/TemporaryPreBoardEdge.java b/src/main/java/org/opentripplanner/routing/edgetype/temporary/TemporaryPreBoardEdge.java new file mode 100644 index 00000000000..a8b3d928155 --- /dev/null +++ b/src/main/java/org/opentripplanner/routing/edgetype/temporary/TemporaryPreBoardEdge.java @@ -0,0 +1,47 @@ +/* This program is free software: you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public License + as published by the Free Software Foundation, either version 3 of + the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +package org.opentripplanner.routing.edgetype.temporary; + +import org.opentripplanner.routing.core.RoutingRequest; +import org.opentripplanner.routing.core.State; +import org.opentripplanner.routing.core.StateEditor; +import org.opentripplanner.routing.core.TraverseMode; +import org.opentripplanner.routing.edgetype.FreeEdge; +import org.opentripplanner.routing.edgetype.PreBoardEdge; +import org.opentripplanner.routing.edgetype.StationEdge; +import org.opentripplanner.routing.edgetype.TemporaryEdge; +import org.opentripplanner.routing.vertextype.TransitStop; +import org.opentripplanner.routing.vertextype.TransitStopDepart; + +/** + * PreBoard edges connect a TransitStop to its agency_stop_depart vertices; PreAlight edges connect + * an agency_stop_arrive vertex to its TransitStop. + * + * Applies the local stop rules (see TransitStop.java and LocalStopFinder.java) as well as transfer + * limits, timed and preferred transfer rules, transfer penalties, and boarding costs. This avoids + * applying these costs/rules repeatedly in (Pattern)Board edges. These are single station or + * station-to-station specific costs, rather than trip-pattern specific costs. + */ +public class TemporaryPreBoardEdge extends PreBoardEdge implements StationEdge, TemporaryEdge { + + public TemporaryPreBoardEdge(TransitStop from, TransitStopDepart to) { + super(from, to); + } + + @Override + public void dispose() { + fromv.removeOutgoing(this); + tov.removeIncoming(this); + } +} diff --git a/src/main/java/org/opentripplanner/routing/edgetype/temporary/TemporaryStreetTransitLink.java b/src/main/java/org/opentripplanner/routing/edgetype/temporary/TemporaryStreetTransitLink.java new file mode 100644 index 00000000000..147c05459fb --- /dev/null +++ b/src/main/java/org/opentripplanner/routing/edgetype/temporary/TemporaryStreetTransitLink.java @@ -0,0 +1,27 @@ +package org.opentripplanner.routing.edgetype.temporary; + +import org.opentripplanner.routing.edgetype.StreetTransitLink; +import org.opentripplanner.routing.edgetype.TemporaryEdge; +import org.opentripplanner.routing.vertextype.StreetVertex; +import org.opentripplanner.routing.vertextype.TransitStop; + +/** + * Created by dbenoff on 2/10/17. + */ +public class TemporaryStreetTransitLink extends StreetTransitLink implements TemporaryEdge { + + + public TemporaryStreetTransitLink(StreetVertex fromv, TransitStop tov, boolean wheelchairAccessible) { + super(fromv, tov, wheelchairAccessible); + } + + public TemporaryStreetTransitLink(TransitStop fromv, StreetVertex tov, boolean wheelchairAccessible) { + super(fromv, tov, wheelchairAccessible); + } + + @Override + public void dispose() { + fromv.removeOutgoing(this); + tov.removeIncoming(this); + } +} diff --git a/src/main/java/org/opentripplanner/routing/edgetype/temporary/TemporaryTransitBoardAlight.java b/src/main/java/org/opentripplanner/routing/edgetype/temporary/TemporaryTransitBoardAlight.java new file mode 100644 index 00000000000..cb0d5645a0c --- /dev/null +++ b/src/main/java/org/opentripplanner/routing/edgetype/temporary/TemporaryTransitBoardAlight.java @@ -0,0 +1,29 @@ +package org.opentripplanner.routing.edgetype.temporary; + +import org.opentripplanner.routing.core.TraverseMode; +import org.opentripplanner.routing.edgetype.TemporaryEdge; +import org.opentripplanner.routing.edgetype.TransitBoardAlight; +import org.opentripplanner.routing.vertextype.PatternStopVertex; +import org.opentripplanner.routing.vertextype.TransitStopArrive; +import org.opentripplanner.routing.vertextype.TransitStopDepart; + +/** + * Created by dbenoff on 2/10/17. + */ +public class TemporaryTransitBoardAlight extends TransitBoardAlight implements TemporaryEdge { + + + public TemporaryTransitBoardAlight(TransitStopDepart fromStopVertex, PatternStopVertex toPatternVertex, int stopIndex, TraverseMode mode) { + super(fromStopVertex, toPatternVertex, stopIndex, mode); + } + + public TemporaryTransitBoardAlight(PatternStopVertex fromPatternStop, TransitStopArrive toStationVertex, int stopIndex, TraverseMode mode) { + super(fromPatternStop, toStationVertex, stopIndex, mode); + } + + @Override + public void dispose() { + fromv.removeOutgoing(this); + tov.removeIncoming(this); + } +} diff --git a/src/main/java/org/opentripplanner/routing/graph/Graph.java b/src/main/java/org/opentripplanner/routing/graph/Graph.java index 755d877a239..26bd84d0496 100644 --- a/src/main/java/org/opentripplanner/routing/graph/Graph.java +++ b/src/main/java/org/opentripplanner/routing/graph/Graph.java @@ -36,6 +36,7 @@ the License, or (at your option) any later version. import org.opentripplanner.common.geometry.GraphUtils; import org.opentripplanner.graph_builder.annotation.GraphBuilderAnnotation; import org.opentripplanner.graph_builder.annotation.NoFutureDates; +import org.opentripplanner.graph_builder.module.DirectTransferGenerator; import org.opentripplanner.model.GraphBundle; import org.opentripplanner.routing.alertpatch.AlertPatch; import org.opentripplanner.routing.core.MortonVertexComparatorFactory; @@ -713,6 +714,7 @@ public void index(StreetVertexIndexFactory indexFactory) { } // TODO: Move this ^ stuff into the graph index this.index = new GraphIndex(this); + //new DirectTransferGenerator().buildGraph(this, null); } /** diff --git a/src/main/java/org/opentripplanner/routing/graph/GraphIndex.java b/src/main/java/org/opentripplanner/routing/graph/GraphIndex.java index c16a04b355a..c342dec1189 100644 --- a/src/main/java/org/opentripplanner/routing/graph/GraphIndex.java +++ b/src/main/java/org/opentripplanner/routing/graph/GraphIndex.java @@ -1,13 +1,9 @@ package org.opentripplanner.routing.graph; import com.google.common.collect.ArrayListMultimap; -import java.util.BitSet; -import java.util.Collection; -import java.util.List; -import java.util.Map; -import java.util.Set; -import java.util.Calendar; -import com.fasterxml.jackson.databind.ObjectMapper; + +import java.util.*; + import com.google.common.collect.HashMultimap; import com.google.common.collect.Lists; import com.google.common.collect.Maps; @@ -16,6 +12,8 @@ import com.google.common.util.concurrent.ThreadFactoryBuilder; import com.vividsolutions.jts.geom.Coordinate; import com.vividsolutions.jts.geom.Envelope; +import com.vividsolutions.jts.geom.Geometry; +import com.vividsolutions.jts.operation.distance.DistanceOp; import graphql.ExecutionResult; import graphql.GraphQL; import org.apache.lucene.util.PriorityQueue; @@ -32,6 +30,8 @@ import org.opentripplanner.common.geometry.SphericalDistanceLibrary; import org.opentripplanner.common.model.GenericLocation; import org.opentripplanner.common.model.P2; +import org.opentripplanner.graph_builder.module.DirectTransferGenerator; +import org.opentripplanner.graph_builder.module.map.StreetMatcher; import org.opentripplanner.index.IndexGraphQLSchema; import org.opentripplanner.index.model.StopTimesInPattern; import org.opentripplanner.index.model.TripTimeShort; @@ -45,10 +45,7 @@ import org.opentripplanner.routing.core.ServiceDay; import org.opentripplanner.routing.core.State; import org.opentripplanner.routing.core.TraverseMode; -import org.opentripplanner.routing.edgetype.TablePatternEdge; -import org.opentripplanner.routing.edgetype.Timetable; -import org.opentripplanner.routing.edgetype.TimetableSnapshot; -import org.opentripplanner.routing.edgetype.TripPattern; +import org.opentripplanner.routing.edgetype.*; import org.opentripplanner.routing.spt.DominanceFunction; import org.opentripplanner.routing.trippattern.FrequencyEntry; import org.opentripplanner.routing.trippattern.TripTimes; @@ -57,11 +54,8 @@ import org.slf4j.LoggerFactory; import javax.ws.rs.core.Response; -import java.util.ArrayList; import java.util.BitSet; import java.util.Collection; -import java.util.HashMap; -import java.util.HashSet; import java.util.List; import java.util.Map; import java.util.Set; @@ -97,6 +91,9 @@ public class GraphIndex { final HashGridSpatialIndex stopSpatialIndex = new HashGridSpatialIndex(); public final Map stopClusterForStop = Maps.newHashMap(); public final Map stopClusterForId = Maps.newHashMap(); + public final Multimap patternsForEdge = ArrayListMultimap.create(); + public final Multimap hopsForEdge = ArrayListMultimap.create(); + public final HashGridSpatialIndex hopIndex = new HashGridSpatialIndex<>(); /* Should eventually be replaced with new serviceId indexes. */ private final CalendarService calendarService; @@ -158,6 +155,44 @@ public GraphIndex (Graph graph) { Envelope envelope = new Envelope(stopVertex.getCoordinate()); stopSpatialIndex.insert(envelope, stopVertex); } + + StreetMatcher matcher = new StreetMatcher(graph); + LOG.info("Finding corresponding street edges for trip patterns..."); + for (TripPattern pattern : patternForId.values()) { + if (pattern.mode == TraverseMode.BUS) { + /* we can only match geometry to streets on bus routes */ + LOG.debug("Matching {}", pattern); + //If there are no shapes in GTFS pattern geometry is generated + //generated geometry is useless for street matching + //that is why pattern.geometry is null in that case + if (pattern.geometry == null) { + continue; + } + + edges = matcher.match(pattern.geometry); + if (edges == null || edges.isEmpty()) { + LOG.warn("Could not match to street network: {}", pattern); + continue; + } + for (Edge e : edges) { + patternsForEdge.put(e, pattern); + } + for(PatternHop patternHop : pattern.getPatternHops()){ + edges = matcher.match(patternHop.getGeometry()); + + if (edges == null || edges.isEmpty()) { + LOG.warn("Could not match to street network: {}", pattern); + continue; + } + for (Edge e : edges) { + hopsForEdge.put(e, patternHop); + } + } + } + } + + LOG.info("Finished processing street edges for trip patterns..."); + for (TripPattern pattern : patternForId.values()) { patternsForFeedId.put(pattern.getFeedId(), pattern); patternsForRoute.put(pattern.route, pattern); @@ -181,6 +216,10 @@ public GraphIndex (Graph graph) { graphQL = new GraphQL(new IndexGraphQLSchema(this).indexSchema, Executors.newCachedThreadPool( new ThreadFactoryBuilder().setNameFormat("GraphQLExecutor-" + graph.routerId + "-%d").build() )); + + LOG.info("initializing edge map..."); + initializeEdgeMap(); + LOG.info("Done indexing graph."); } @@ -681,4 +720,22 @@ public Set getAllAgencies() { return allAgencies; } + private void initializeEdgeMap() { + for (TripPattern pattern : patternsForStop.values()) { + for (PatternHop hop : pattern.getPatternHops()) { + Geometry geometry = hop.getGeometry(); + Envelope envelope = geometry.getEnvelopeInternal(); + hopIndex.insert(envelope, hop); + } + } + } + + public Collection getHopsForEdge(Edge e, boolean arriveBy) { + return hopsForEdge.get(e); + } + + public Collection getPatternsForEdge(Edge e) { + return patternsForEdge.get(e); + } + } diff --git a/src/main/java/org/opentripplanner/routing/vertextype/TemporaryFlexTransitStop.java b/src/main/java/org/opentripplanner/routing/vertextype/TemporaryFlexTransitStop.java new file mode 100644 index 00000000000..d9feeee7c75 --- /dev/null +++ b/src/main/java/org/opentripplanner/routing/vertextype/TemporaryFlexTransitStop.java @@ -0,0 +1,24 @@ +/* This program is free software: you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public License + as published by the Free Software Foundation, either version 3 of + the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ +package org.opentripplanner.routing.vertextype; + +import org.onebusaway.gtfs.model.Stop; +import org.opentripplanner.routing.graph.Graph; + +public class TemporaryFlexTransitStop extends TransitStop { + + public TemporaryFlexTransitStop(Graph graph, Stop stop) { + super(graph, stop); + } +} From 6fcb2f73159273e85c880d9f508acbd5fc090f4d Mon Sep 17 00:00:00 2001 From: dbenoff Date: Sat, 11 Feb 2017 15:30:16 -0800 Subject: [PATCH 002/226] Simple flex bus case with no transfers working --- .../routing/algorithm/AStar.java | 47 +++++++++++++------ .../InterleavedBidirectionalHeuristic.java | 45 +++++++++++++++--- .../routing/core/RoutingRequest.java | 3 -- 3 files changed, 72 insertions(+), 23 deletions(-) diff --git a/src/main/java/org/opentripplanner/routing/algorithm/AStar.java b/src/main/java/org/opentripplanner/routing/algorithm/AStar.java index a63635a71d0..85a7c065505 100644 --- a/src/main/java/org/opentripplanner/routing/algorithm/AStar.java +++ b/src/main/java/org/opentripplanner/routing/algorithm/AStar.java @@ -22,6 +22,10 @@ the License, or (at your option) any later version. import org.opentripplanner.routing.core.RoutingRequest; import org.opentripplanner.routing.core.State; import org.opentripplanner.routing.edgetype.StreetTransitLink; +import org.opentripplanner.routing.edgetype.TemporaryEdge; +import org.opentripplanner.routing.edgetype.TemporaryFreeEdge; +import org.opentripplanner.routing.edgetype.TemporaryPartialStreetEdge; +import org.opentripplanner.routing.edgetype.temporary.TemporaryPreAlightEdge; import org.opentripplanner.routing.edgetype.temporary.TemporaryStreetTransitLink; import org.opentripplanner.routing.graph.Edge; import org.opentripplanner.routing.graph.Vertex; @@ -33,9 +37,7 @@ the License, or (at your option) any later version. import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import java.util.Collection; -import java.util.LinkedList; -import java.util.List; +import java.util.*; /** * Find the shortest path between graph vertices using A*. @@ -122,12 +124,12 @@ private void startSearch(RoutingRequest options, // Initializing the bidirectional heuristic is a pretty complicated operation that involves searching through // the streets around the origin and destination. runState.heuristic.initialize(runState.options, abortTime); - if (abortTime < Long.MAX_VALUE && System.currentTimeMillis() > abortTime) { + /* if (abortTime < Long.MAX_VALUE && System.currentTimeMillis() > abortTime) { LOG.warn("Timeout during initialization of goal direction heuristic."); options.rctx.debugOutput.timedOut = true; runState = null; // Search timed out return; - } + }*/ // Priority Queue. // The queue is self-resizing, so we initialize it to have size = O(sqrt(|V|)) << |V|. @@ -176,9 +178,30 @@ boolean iterate(){ if (verbose) System.out.println(" vertex " + runState.u_vertex); - State s = runState.u; - if(s.getBackEdge() != null) - System.out.println(s.getBackEdge().getClass().getName() + " " + s.getBackMode() + " |" + s.getBackEdge().getFromVertex().getY()+","+ s.getBackEdge().getFromVertex().getX()); + /*State s = runState.u; + boolean temp = false; + while(s.getBackState() != null){ + if(s.getBackEdge() instanceof TemporaryEdge && !(s.getBackEdge() instanceof TemporaryFreeEdge) && !(s.getBackEdge() instanceof TemporaryPartialStreetEdge)){ + temp = true; + break; + } + s = s.getBackState(); + } + + if(temp){ + State s0 = runState.u; + List states = new ArrayList<>(); + while(s0.getBackState() != null){ + states.add(s0); + s0 = s0.getBackState(); + } + Collections.reverse(states); + System.out.println("State history:"); + for(State s1 : states){ + System.out.println(s1.getBackEdge().getClass().getName() + " " + s1.getBackMode() + " |" + s1.getBackEdge().getFromVertex().getY()+","+ s1.getBackEdge().getFromVertex().getX()); + } + System.out.println(""); + }*/ runState.nVisited += 1; @@ -189,10 +212,6 @@ boolean iterate(){ continue; } - if(edge.getClass().isAssignableFrom(TemporaryStreetTransitLink.class) ){ - //System.out.println(edge); - } - // Iterate over traversal results. When an edge leads nowhere (as indicated by // returning NULL), the iteration is over. TODO Use this to board multiple trips. for (State v = edge.traverse(runState.u); v != null; v = v.getNextResult()) { @@ -252,7 +271,7 @@ void runSearch(long abortTime){ /* * Terminate based on timeout? */ - if (abortTime < Long.MAX_VALUE && System.currentTimeMillis() > abortTime) { + /*if (abortTime < Long.MAX_VALUE && System.currentTimeMillis() > abortTime) { LOG.warn("Search timeout. origin={} target={}", runState.rctx.origin, runState.rctx.target); // Rather than returning null to indicate that the search was aborted/timed out, // we instead set a flag in the routing context and return the SPT anyway. This @@ -261,7 +280,7 @@ void runSearch(long abortTime){ runState.options.rctx.debugOutput.timedOut = true; // signal timeout in debug output object break; - } + }*/ /* * Get next best state and, if it hasn't already been dominated, add adjacent states to queue. diff --git a/src/main/java/org/opentripplanner/routing/algorithm/strategies/InterleavedBidirectionalHeuristic.java b/src/main/java/org/opentripplanner/routing/algorithm/strategies/InterleavedBidirectionalHeuristic.java index ea345e14e69..39fd836ad71 100644 --- a/src/main/java/org/opentripplanner/routing/algorithm/strategies/InterleavedBidirectionalHeuristic.java +++ b/src/main/java/org/opentripplanner/routing/algorithm/strategies/InterleavedBidirectionalHeuristic.java @@ -22,18 +22,19 @@ the License, or (props, at your option) any later version. import org.opentripplanner.common.pqueue.BinHeap; import org.opentripplanner.routing.core.RoutingRequest; import org.opentripplanner.routing.core.State; +import org.opentripplanner.routing.core.TraverseMode; import org.opentripplanner.routing.edgetype.PatternHop; import org.opentripplanner.routing.edgetype.StreetEdge; import org.opentripplanner.routing.edgetype.StreetTransitLink; import org.opentripplanner.routing.edgetype.TripPattern; +import org.opentripplanner.routing.edgetype.temporary.*; import org.opentripplanner.routing.graph.Edge; import org.opentripplanner.routing.graph.Graph; import org.opentripplanner.routing.graph.Vertex; import org.opentripplanner.routing.location.StreetLocation; import org.opentripplanner.routing.spt.DominanceFunction; import org.opentripplanner.routing.spt.ShortestPathTree; -import org.opentripplanner.routing.vertextype.StreetVertex; -import org.opentripplanner.routing.vertextype.TransitStop; +import org.opentripplanner.routing.vertextype.*; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -170,7 +171,7 @@ public double estimateRemainingWeight (State s) { // Zero is always an underestimate. return 0; } - if (v instanceof StreetVertex && !s.isOnFlex()) { + if (v instanceof StreetVertex) { // The main search is on the streets, not on transit. if (s.isEverBoarded()) { // If we have already ridden transit we must be near the destination. If not the map returns INF. @@ -363,6 +364,7 @@ private TObjectDoubleMap streetSearch (RoutingRequest rr, boolean fromTa for(State s : stateToTripPatternsMap.keySet()){ Vertex v = fromTarget ? s.getBackEdge().getToVertex() : s.getBackEdge().getFromVertex(); + System.out.println("creating temporary transit link at |" + v.getY() + "," + v.getX()); Stop stop = new Stop(); stop.setId(new AgencyAndId("1", String.valueOf(Math.random()))); @@ -370,13 +372,45 @@ private TObjectDoubleMap streetSearch (RoutingRequest rr, boolean fromTa stop.setLon(v.getLon()); stop.setName(String.valueOf(Math.random())); TransitStop transitStop = new TemporaryFlexTransitStop(graph, stop); - TemporaryStreetTransitLink streetTransitLink = new TemporaryStreetTransitLink((StreetVertex)v, transitStop, true); - rr.rctx.temporaryEdges.add(streetTransitLink); + if(fromTarget){ //reverse search + + TemporaryStreetTransitLink streetTransitLink = new TemporaryStreetTransitLink(transitStop, (StreetVertex)v, true); + rr.rctx.temporaryEdges.add(streetTransitLink); + + TransitStopArrive transitStopArrive = new TransitStopArrive(graph, stop, transitStop); + TemporaryPreAlightEdge preAlightEdge = new TemporaryPreAlightEdge(transitStopArrive, transitStop); + rr.rctx.temporaryEdges.add(preAlightEdge); + + for(TripPattern tripPattern : stateToTripPatternsMap.get(s)){ + + List patternHops = graph.index.getHopsForEdge(s.getBackEdge(), fromTarget) + .stream() + .filter(e -> e.getPattern() == tripPattern) + .collect(Collectors.toList()); + + for(PatternHop patternHop : patternHops){ + PatternArriveVertex patternArriveVertex = + new PatternArriveVertex(graph, tripPattern, patternHop.getStopIndex()); + + TemporaryPatternHop temporaryPatternHop = new TemporaryPatternHop((PatternStopVertex)patternHop.getFromVertex(), + patternArriveVertex, patternHop.getBeginStop(), patternHop.getEndStop(), patternHop.getStopIndex()); + rr.rctx.temporaryEdges.add(temporaryPatternHop); + + /** Alighting constructor (PatternStopVertex --> TransitStopArrive) */ + TemporaryTransitBoardAlight transitBoardAlight = + new TemporaryTransitBoardAlight(patternArriveVertex, transitStopArrive, patternHop.getStopIndex(), TraverseMode.BUS); + } + } + }else{ //forward search + + TemporaryStreetTransitLink streetTransitLink = new TemporaryStreetTransitLink((StreetVertex)v, transitStop, true); + rr.rctx.temporaryEdges.add(streetTransitLink); + TransitStopDepart transitStopDepart = new TransitStopDepart(graph, stop, transitStop); TemporaryPreBoardEdge preBoardEdge = new TemporaryPreBoardEdge(transitStop, transitStopDepart); rr.rctx.temporaryEdges.add(preBoardEdge); @@ -392,7 +426,6 @@ private TObjectDoubleMap streetSearch (RoutingRequest rr, boolean fromTa PatternDepartVertex patternDepartVertex = new PatternDepartVertex(graph, tripPattern, patternHop.getStopIndex()); - //todo make a clone of the patternHop TemporaryPatternHop temporaryPatternHop = new TemporaryPatternHop(patternDepartVertex, (PatternStopVertex)patternHop.getToVertex(), patternHop.getBeginStop(), patternHop.getEndStop(), patternHop.getStopIndex()); rr.rctx.temporaryEdges.add(temporaryPatternHop); diff --git a/src/main/java/org/opentripplanner/routing/core/RoutingRequest.java b/src/main/java/org/opentripplanner/routing/core/RoutingRequest.java index fe023cd397b..291ebd9f78a 100644 --- a/src/main/java/org/opentripplanner/routing/core/RoutingRequest.java +++ b/src/main/java/org/opentripplanner/routing/core/RoutingRequest.java @@ -1221,7 +1221,4 @@ public void canSplitEdge(StreetEdge edge) { } - public boolean isFlexAllowed() { - return flexAllowed && modes.isTransit(); - } } From cd2fd80c0c56a847cce8a2c894c6918bd1a87096 Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Mon, 13 Feb 2017 13:18:55 -0500 Subject: [PATCH 003/226] Get continuous pickups/dropoffs into OTP data model version and maven updates for camsys dev Initial commit for transfers. Partial PatternHop edges for hop-to-stop transfers Fix transfer heuristics initial work to get backwards transfers (stop->hop) to work backwards transfers should work now --- pom.xml | 25 +- .../graph_builder/GraphBuilder.java | 4 + .../module/FlexDirectTransferGenerator.java | 419 ++++++++++++++++++ .../opentripplanner/model/StopPattern.java | 23 +- .../routing/algorithm/GenericDijkstra.java | 9 +- .../routing/edgetype/PartialPatternHop.java | 95 ++++ .../routing/edgetype/PatternHop.java | 38 +- .../routing/edgetype/TripPattern.java | 2 +- .../vertextype/PatternArriveVertex.java | 9 + .../vertextype/PatternDepartVertex.java | 9 + 10 files changed, 614 insertions(+), 19 deletions(-) create mode 100644 src/main/java/org/opentripplanner/graph_builder/module/FlexDirectTransferGenerator.java create mode 100644 src/main/java/org/opentripplanner/routing/edgetype/PartialPatternHop.java diff --git a/pom.xml b/pom.xml index aa3c6ecd259..78b4f4fba0f 100644 --- a/pom.xml +++ b/pom.xml @@ -10,9 +10,9 @@ jar - scm:git:http://github.com/opentripplanner/OpenTripPlanner.git - scm:git:ssh://git@github.com/opentripplanner/OpenTripPlanner.git - http://github.com/opentripplanner/OpenTripPlanner + scm:git:http://github.com/camsys/OpenTripPlanner.git + scm:git:ssh://git@github.com/camsys/OpenTripPlanner.git + http://github.com/camsys/OpenTripPlanner @@ -24,11 +24,15 @@ - - conveyal-maven-repo - Conveyal Maven Repository - s3://maven.conveyal.com/ + releases-obaweb-repo + OneBusAway OBAWEB Release Repo + http://repo.obaweb.org:8080/archiva/repository/releases/ + + snapshots-obaweb-repo + OneBusAway OBAWEB Snapshot Repo + http://repo.obaweb.org:8080/archiva/repository/snapshots/ + @@ -361,6 +365,11 @@ bintray http://dl.bintray.com/andimarek/graphql-java + + snapshots-obaweb-repo + OneBusAway OBAWEB Snapshot Repo + http://repo.obaweb.org:8080/archiva/repository/snapshots/ + @@ -573,7 +582,7 @@ org.onebusaway onebusaway-gtfs - 1.3.5-conveyal-SNAPSHOT-2 + 1.3.5-vt-SNAPSHOT diff --git a/src/main/java/org/opentripplanner/graph_builder/GraphBuilder.java b/src/main/java/org/opentripplanner/graph_builder/GraphBuilder.java index ef0b384225c..1faee3f9a3f 100644 --- a/src/main/java/org/opentripplanner/graph_builder/GraphBuilder.java +++ b/src/main/java/org/opentripplanner/graph_builder/GraphBuilder.java @@ -18,6 +18,7 @@ the License, or (at your option) any later version. import org.opentripplanner.graph_builder.model.GtfsBundle; import org.opentripplanner.graph_builder.module.DirectTransferGenerator; import org.opentripplanner.graph_builder.module.EmbedConfig; +import org.opentripplanner.graph_builder.module.FlexDirectTransferGenerator; import org.opentripplanner.graph_builder.module.GtfsModule; import org.opentripplanner.graph_builder.module.PruneFloatingIslands; import org.opentripplanner.graph_builder.module.StreetLinkerModule; @@ -308,6 +309,9 @@ public static GraphBuilder forDirectory(CommandLineParameters params, File dir) if ( ! builderParams.useTransfersTxt) { // This module will use streets or straight line distance depending on whether OSM data is found in the graph. graphBuilder.addModule(new DirectTransferGenerator()); + if (hasOSM) { + graphBuilder.addModule(new FlexDirectTransferGenerator()); + } } } graphBuilder.addModule(new EmbedConfig(builderConfig, routerConfig)); diff --git a/src/main/java/org/opentripplanner/graph_builder/module/FlexDirectTransferGenerator.java b/src/main/java/org/opentripplanner/graph_builder/module/FlexDirectTransferGenerator.java new file mode 100644 index 00000000000..ea966869fe8 --- /dev/null +++ b/src/main/java/org/opentripplanner/graph_builder/module/FlexDirectTransferGenerator.java @@ -0,0 +1,419 @@ +/* This program is free software: you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public License + as published by the Free Software Foundation, either version 3 of + the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +package org.opentripplanner.graph_builder.module; + +import com.google.common.collect.ArrayListMultimap; +import com.google.common.collect.Multimap; +import com.vividsolutions.jts.geom.Coordinate; +import com.vividsolutions.jts.geom.GeometryFactory; +import com.vividsolutions.jts.geom.LineString; +import com.vividsolutions.jts.linearref.LengthIndexedLine; +import org.apache.commons.math3.util.Pair; +import org.onebusaway.gtfs.model.AgencyAndId; +import org.onebusaway.gtfs.model.Stop; +import org.opentripplanner.api.resource.CoordinateArrayListSequence; +import org.opentripplanner.common.geometry.GeometryUtils; +import org.opentripplanner.common.geometry.PackedCoordinateSequence; +import org.opentripplanner.common.geometry.SphericalDistanceLibrary; +import org.opentripplanner.graph_builder.module.map.StreetMatcher; +import org.opentripplanner.graph_builder.services.GraphBuilderModule; +import org.opentripplanner.routing.algorithm.GenericDijkstra; +import org.opentripplanner.routing.algorithm.TraverseVisitor; +import org.opentripplanner.routing.algorithm.strategies.TrivialRemainingWeightHeuristic; +import org.opentripplanner.routing.core.RoutingRequest; +import org.opentripplanner.routing.core.State; +import org.opentripplanner.routing.core.TraverseMode; +import org.opentripplanner.routing.edgetype.PartialPatternHop; +import org.opentripplanner.routing.edgetype.PatternHop; +import org.opentripplanner.routing.edgetype.PreAlightEdge; +import org.opentripplanner.routing.edgetype.PreBoardEdge; +import org.opentripplanner.routing.edgetype.SimpleTransfer; +import org.opentripplanner.routing.edgetype.StreetEdge; +import org.opentripplanner.routing.edgetype.TransitBoardAlight; +import org.opentripplanner.routing.edgetype.TripPattern; +import org.opentripplanner.routing.graph.Edge; +import org.opentripplanner.routing.graph.Graph; +import org.opentripplanner.routing.graph.GraphIndex; +import org.opentripplanner.routing.graph.Vertex; +import org.opentripplanner.routing.spt.GraphPath; +import org.opentripplanner.routing.vertextype.PatternArriveVertex; +import org.opentripplanner.routing.vertextype.PatternDepartVertex; +import org.opentripplanner.routing.vertextype.PatternStopVertex; +import org.opentripplanner.routing.vertextype.TransitStop; +import org.opentripplanner.routing.vertextype.TransitStopArrive; +import org.opentripplanner.routing.vertextype.TransitStopDepart; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collection; +import java.util.Collections; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +/** + * {@link GraphBuilderModule} module that links flex-enabled PatternHops to other ones or TransitStops. + * + * It will use the street network if OSM data has already been loaded into the graph. + * Otherwise it will use straight-line distance between stops. + * + */ +public class FlexDirectTransferGenerator implements GraphBuilderModule { + + private static Logger LOG = LoggerFactory.getLogger(FlexDirectTransferGenerator.class); + + private static final double MAX_DISTANCE = 1000; + private static final double TRANSIT_STOP_CUTOFF = 100; + + public List provides() { + return Arrays.asList("linking"); + } + + public List getPrerequisites() { + return Arrays.asList("street to transit"); + } + + StreetMatcher matcher; + GeometryFactory geometryFactory = GeometryUtils.getGeometryFactory(); + + @Override + public void buildGraph(Graph graph, HashMap, Object> extra) { + + /* Initialize graph index which is needed by the nearby stop finder. */ + if (graph.index == null) { + graph.index = new GraphIndex(graph); + } + + /* Initialize street matcher. */ + matcher = new StreetMatcher(graph); + + int nTransfersTotal = 0; + int nLinkableHops = 0; + + for (TripPattern tripPattern : graph.index.patternsForFeedId.values()) { + for (PatternHop hop : tripPattern.getPatternHops()) { + + // for each hop, find nearby stops and hops. create transfers. + if (hop.getContinuousDropoff() > 0 || hop.getContinuousPickup() > 0) { + if (++nLinkableHops % 1000 == 0) { + LOG.info("Linked {} hops", nLinkableHops); + } + + // Exclude a transfer point if the transfer from DirectTransferGenerator would be better: + // - it is a TransitStop and it is within 100m of either endpoint of the hop + // - it is a hop where either endpoint is within 100m of either endpoint of this hop. + + Collection pts = findNearbyTransferPoints(graph, hop); + + for (TransferPointAtDistance pt : pts) { + if (!shouldExclude(hop, pt)) { + link(graph, hop, pt); + } + } + } + + } + } + + + LOG.info("Done creating transfers for flex hops. Created a total of {} transfers from {} hops.", nTransfersTotal, nLinkableHops); + } + + @Override + public void checkInputs() { + // No inputs + } + + + // This is based on NearbyStopFinder but more flexible + // In addition, we *require* that we have streets (can't use Euclidean distance). Flag stops make no sense without streets. + private Collection findNearbyTransferPoints(Graph graph, PatternHop hop) { + Multimap closestTransferPointForTripPattern = ArrayListMultimap.create(); + + RoutingRequest request = new RoutingRequest(TraverseMode.WALK); + request.softWalkLimiting = false; + request.maxWalkDistance = MAX_DISTANCE; + request.batch = true; + request.setRoutingContext(graph, hop.getFromVertex(), hop.getToVertex()); + + GenericDijkstra gd = new GenericDijkstra(request); + + gd.setHeuristic(new TrivialRemainingWeightHeuristic()); + gd.traverseVisitor = new TraverseVisitor() { + @Override + public void visitEdge(Edge edge, State state) { + } + + @Override + public void visitVertex(State state) { + Vertex v = state.getVertex(); + + // TODO: Check these assumptions: + // If we encounter something from a trip pattern, it's definitely the first time we've seen it. + // It's fine to search from vertices rather than the line, because we would need to turn from an intersection anyway. + + + if (v instanceof TransitStop) { + TransitStop tstop = (TransitStop) v; + Collection patterns = graph.index.patternsForStop.get(tstop.getStop()); + for (TripPattern pattern : patterns) { + TransferPointAtDistance pt = new TransferPointAtDistance(hop, state, tstop); + closestTransferPointForTripPattern.put(pattern, pt); + } + } + + // get hops + if (state.backEdge instanceof StreetEdge) { + for (PatternHop h : graph.index.getHopsForEdge(state.backEdge, true)) { + if (h.getContinuousPickup() > 0 || h.getContinuousDropoff() > 0) { + TripPattern pattern = h.getPattern(); + TransferPointAtDistance pt = new TransferPointAtDistance(hop, state, h, state.getVertex().getCoordinate()); + closestTransferPointForTripPattern.put(pattern, pt); + } + } + } + } + + @Override + public void visitEnqueue(State state) { + } + + }; + + // Remap edge to the graph to find vertices for search + List edges = matcher.match(hop.getGeometry()); + Set verts = new HashSet<>(); + for (Edge e : edges) { + verts.add(e.getToVertex()); + verts.add(e.getFromVertex()); + } + + State[] states = verts.stream().map(v -> new State(v, request)).toArray(State[]::new); + + gd.getShortestPathTree(states); + + Set pts = new HashSet<>(); + + for (Collection ptsForPattern : closestTransferPointForTripPattern.asMap().values()) { + TransferPointAtDistance best = Collections.max(ptsForPattern, (x, y) -> y.betterThan(x, true) ? -1 : 1); + TransferPointAtDistance rev = Collections.max(ptsForPattern, (x, y) -> y.betterThan(x, false) ? -1 : 1); + pts.add(best); + pts.add(rev); + } + + LOG.debug("for hop={} found {} transfer points", hop, pts.size()); + return pts; + } + + private void link(Graph graph, PatternHop hop, TransferPointAtDistance point) { + if (point.isTransitStop()) { + // linking from a hop to a transit stop + + Vertex v = point.getFrom(); + Stop stop = new Stop(); + stop.setId(new AgencyAndId(hop.getPattern().getFeedId(), String.valueOf(Math.random()))); + stop.setLat(v.getLat()); + stop.setLon(v.getLon()); + + String msg = String.format("Transfer from pattern=%s, stopIndex=%d, pos=%s to stop=%s, dist=%g, dafh=%g", hop.getPattern().code, hop.getStopIndex(), v.getCoordinate().toString(), point.tstop.toString(), point.dist, point.distanceAlongFromHop); + stop.setName(msg); + TransitStop transferStop = new TransitStop(graph, stop); + + // hop -> stop transfer + PatternArriveVertex patternArriveVertex = new PatternArriveVertex(graph, hop.getPattern(), hop.getStopIndex(), stop); + TransitStopArrive transitStopArrive = new TransitStopArrive(graph, stop, transferStop); + PartialPatternHop.startHop(hop, patternArriveVertex, stop, matcher, geometryFactory); + new TransitBoardAlight(patternArriveVertex, transitStopArrive, hop.getStopIndex(), hop.getPattern().mode); + new PreAlightEdge(transitStopArrive, transferStop); + new SimpleTransfer(transferStop, point.tstop, point.dist, point.geom, point.edges); + + // stop -> hop + TransitStopDepart transitStopDepart = new TransitStopDepart(graph, stop, transferStop); + PatternDepartVertex patternDepartVertex = new PatternDepartVertex(graph, hop.getPattern(), hop.getStopIndex(), stop); + new PreBoardEdge(transferStop, transitStopDepart); + new TransitBoardAlight(transitStopDepart, patternDepartVertex, hop.getStopIndex(), hop.getPattern().mode); + PartialPatternHop.endHop(hop, patternDepartVertex,stop, matcher, geometryFactory); + TransferPointAtDistance rev = point.reverse(); + new SimpleTransfer(point.tstop, transferStop, rev.dist, rev.geom, rev.edges); + + } else { + // TODO + } + } + + private static boolean tooClose(Vertex v, Vertex w) { + return SphericalDistanceLibrary.fastDistance(v.getLat(), v.getLon(), w.getLat(), w.getLon()) < TRANSIT_STOP_CUTOFF; + } + + private static boolean shouldExclude(PatternHop hop, TransitStop stop) { + return tooClose(hop.getFromVertex(), stop) || tooClose(hop.getToVertex(), stop); + } + + private static boolean shouldExclude(PatternHop hop0, PatternHop hop1) { + Vertex v = hop0.getFromVertex(), w = hop0.getToVertex(), x = hop1.getFromVertex(), y = hop1.getToVertex(); + return tooClose(v, x) || tooClose(v, y) || tooClose(w, x) || tooClose(w, y); + } + + private static boolean shouldExclude(PatternHop hop, TransferPointAtDistance pt) { + return pt.isTransitStop() ? shouldExclude(hop, pt.getTransitStop()) : shouldExclude(hop, pt.getHop()); + } +} + +class TransferPointAtDistance { + + State state; + + TransitStop tstop; + double dist; // distance TO original hop + LineString geom; + List edges; + PatternHop hop; + Coordinate locationOnHop; + Vertex from; + + PatternHop fromHop; + double distanceAlongFromHop; // distance along original hop + + private static GeometryFactory geometryFactory = GeometryUtils.getGeometryFactory(); + + public TransferPointAtDistance(PatternHop fromHop, State state, TransitStop tstop) { + this(fromHop, state); + this.tstop = tstop; + } + + public TransferPointAtDistance(PatternHop fromHop, State state, PatternHop hop, Coordinate coord) { + this(fromHop, state); + this.hop = hop; + this.locationOnHop = coord; + } + + public boolean isTransitStop() { + return tstop != null; + } + + public TransitStop getTransitStop() { + return tstop; + } + + public PatternHop getHop() { + return hop; + } + + public Vertex getFrom() { + return from; + } + + private TransferPointAtDistance(PatternHop fromHop, State state) { + this(state); + this.state = state; + this.fromHop = fromHop; + LengthIndexedLine line = new LengthIndexedLine(fromHop.getGeometry()); + this.distanceAlongFromHop = (line.project(from.getCoordinate())/line.getEndIndex()) * fromHop.getDistance(); + } + + // TODO: merge with NearbyStopFinder.stopAtDistanceForState() (where this code was taken from) + private TransferPointAtDistance(State state) { + double distance = 0.0; + GraphPath graphPath = new GraphPath(state, false); + from = graphPath.states.getFirst().getVertex(); + CoordinateArrayListSequence coordinates = new CoordinateArrayListSequence(); + List edges = new ArrayList<>(); + for (Edge edge : graphPath.edges) { + if (edge instanceof StreetEdge) { + LineString geometry = edge.getGeometry(); + if (geometry != null) { + if (coordinates.size() == 0) { + coordinates.extend(geometry.getCoordinates()); + } else { + coordinates.extend(geometry.getCoordinates(), 1); + } + } + distance += edge.getDistance(); + } + edges.add(edge); + } + if (coordinates.size() < 2) { // Otherwise the walk step generator breaks. + ArrayList coordinateList = new ArrayList(2); + coordinateList.add(graphPath.states.get(1).getVertex().getCoordinate()); + State lastState = graphPath.states.getLast().getBackState(); + coordinateList.add(lastState.getVertex().getCoordinate()); + coordinates = new CoordinateArrayListSequence(coordinateList); + } + this.geom = geometryFactory.createLineString(new PackedCoordinateSequence.Double(coordinates.toCoordinateArray())); + this.edges = edges; + this.dist = distance; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + + TransferPointAtDistance that = (TransferPointAtDistance) o; + + if (Double.compare(that.dist, dist) != 0) return false; + if (tstop != null ? !tstop.equals(that.tstop) : that.tstop != null) return false; + if (hop != null ? !hop.equals(that.hop) : that.hop != null) return false; + return locationOnHop != null ? locationOnHop.equals(that.locationOnHop) : that.locationOnHop == null; + } + + @Override + public int hashCode() { + int result; + long temp; + result = tstop != null ? tstop.hashCode() : 0; + temp = Double.doubleToLongBits(dist); + result = 31 * result + (int) (temp ^ (temp >>> 32)); + result = 31 * result + (hop != null ? hop.hashCode() : 0); + result = 31 * result + (locationOnHop != null ? locationOnHop.hashCode() : 0); + return result; + } + + @Override + public String toString() { + return "TransferPointAtDistance[dist=" + dist + "," + + ((tstop != null) ? ("tstop=" + tstop.toString()) : ("hop=" + hop.toString() + ",coord=" + locationOnHop.toString())) + + "]"; + } + + public boolean betterThan(TransferPointAtDistance other, boolean preferEarlyTransfer) { + if (other==null) + return true; + // prefer a transfer point that is at a real stop [unless the real stop is outside the cutoff away?] + if (this.isTransitStop() && !other.isTransitStop()) + return true; + if (!this.isTransitStop() && other.isTransitStop()) + return false; + + // prefer traveling a shorter distance as long as the difference is not trivial. (should this be "softer"? if your walk preferences are larger you might prefer to walk a "cutoff") + if (other.dist - this.dist > 100) + return true; + if (this.dist - other.dist > 100) + return false; + + // prefer transferring earlier in the hop (or later, since we need to do reverse hops) + if (preferEarlyTransfer) + return (this.distanceAlongFromHop < other.distanceAlongFromHop); + else + return (this.distanceAlongFromHop > other.distanceAlongFromHop); + } + + public TransferPointAtDistance reverse() { + return new TransferPointAtDistance(state.reverse()); + } +} diff --git a/src/main/java/org/opentripplanner/model/StopPattern.java b/src/main/java/org/opentripplanner/model/StopPattern.java index cdbb70888ee..b24826c7a36 100644 --- a/src/main/java/org/opentripplanner/model/StopPattern.java +++ b/src/main/java/org/opentripplanner/model/StopPattern.java @@ -52,13 +52,17 @@ public class StopPattern implements Serializable { public final Stop[] stops; public final int[] pickups; public final int[] dropoffs; + public final int[] continuousPickups; + public final int[] continuousDropoffs; public boolean equals(Object other) { if (other instanceof StopPattern) { StopPattern that = (StopPattern) other; return Arrays.equals(this.stops, that.stops) && Arrays.equals(this.pickups, that.pickups) && - Arrays.equals(this.dropoffs, that.dropoffs); + Arrays.equals(this.dropoffs, that.dropoffs) && + Arrays.equals(this.continuousPickups, that.continuousPickups) && + Arrays.equals(this.continuousDropoffs, that.continuousDropoffs); } else { return false; } @@ -71,6 +75,10 @@ public int hashCode() { hash += Arrays.hashCode(this.pickups); hash *= 31; hash += Arrays.hashCode(this.dropoffs); + hash *= 31; + hash += Arrays.hashCode(this.continuousPickups); + hash *= 31; + hash += Arrays.hashCode(this.continuousDropoffs); return hash; } @@ -88,6 +96,8 @@ private StopPattern (int size) { stops = new Stop[size]; pickups = new int[size]; dropoffs = new int[size]; + continuousPickups = new int[size]; + continuousDropoffs = new int[size]; } /** Assumes that stopTimes are already sorted by time. */ @@ -101,6 +111,15 @@ public StopPattern (List stopTimes) { // pick/drop messages could be stored in individual trips pickups[i] = stopTime.getPickupType(); dropoffs[i] = stopTime.getDropOffType(); + + // continuous pickup/dropoff can be empty (-1), which means 0 for the first stoptime, and the previous value for subsequent stop times. + if (i == 0) { + continuousPickups[i] = stopTime.getContinuousPickup() == -1 ? 0 : stopTime.getContinuousPickup(); + continuousDropoffs[i] = stopTime.getContinuousDropOff() == -1 ? 0 : stopTime.getContinuousDropOff(); + } else { + continuousPickups[i] = stopTime.getContinuousPickup() == -1 ? continuousPickups[i-1] : stopTime.getContinuousPickup(); + continuousDropoffs[i] = stopTime.getContinuousDropOff() == -1 ? continuousDropoffs[i-1] : stopTime.getContinuousDropOff(); + } } /* * TriMet GTFS has many trips that differ only in the pick/drop status of their initial and @@ -144,6 +163,8 @@ public HashCode semanticHash(HashFunction hashFunction) { for (int hop = 0; hop < size - 1; hop++) { hasher.putInt(pickups[hop]); hasher.putInt(dropoffs[hop + 1]); + hasher.putInt(continuousPickups[hop]); + hasher.putInt(continuousDropoffs[hop + 1]); } return hasher.hash(); } diff --git a/src/main/java/org/opentripplanner/routing/algorithm/GenericDijkstra.java b/src/main/java/org/opentripplanner/routing/algorithm/GenericDijkstra.java index d4314e01c46..85c7d4a57d5 100644 --- a/src/main/java/org/opentripplanner/routing/algorithm/GenericDijkstra.java +++ b/src/main/java/org/opentripplanner/routing/algorithm/GenericDijkstra.java @@ -64,7 +64,8 @@ public void setSkipTraverseResultStrategy(SkipTraverseResultStrategy skipTravers this.skipTraverseResultStrategy = skipTraverseResultStrategy; } - public ShortestPathTree getShortestPathTree(State initialState) { + public ShortestPathTree getShortestPathTree(State... initialStates) { + State initialState = initialStates[0]; Vertex target = null; if (options.rctx != null) { target = initialState.getOptions().rctx.target; @@ -72,8 +73,10 @@ public ShortestPathTree getShortestPathTree(State initialState) { ShortestPathTree spt = new DominanceFunction.MinimumWeight().getNewShortestPathTree(options); BinHeap queue = new BinHeap(1000); - spt.add(initialState); - queue.insert(initialState, initialState.getWeight()); + for (State state : initialStates) { + spt.add(state); + queue.insert(state, state.getWeight()); + } while (!queue.empty()) { // Until the priority queue is empty: State u = queue.extract_min(); diff --git a/src/main/java/org/opentripplanner/routing/edgetype/PartialPatternHop.java b/src/main/java/org/opentripplanner/routing/edgetype/PartialPatternHop.java new file mode 100644 index 00000000000..54d002e900e --- /dev/null +++ b/src/main/java/org/opentripplanner/routing/edgetype/PartialPatternHop.java @@ -0,0 +1,95 @@ +/* This program is free software: you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public License + as published by the Free Software Foundation, either version 3 of + the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +package org.opentripplanner.routing.edgetype; + +import com.vividsolutions.jts.geom.Coordinate; +import com.vividsolutions.jts.geom.CoordinateSequence; +import com.vividsolutions.jts.geom.GeometryFactory; +import com.vividsolutions.jts.geom.LineString; +import com.vividsolutions.jts.linearref.LengthIndexedLine; +import org.onebusaway.gtfs.model.Stop; +import org.opentripplanner.graph_builder.module.map.StreetMatcher; +import org.opentripplanner.routing.core.RoutingRequest; +import org.opentripplanner.routing.core.State; +import org.opentripplanner.routing.graph.Edge; +import org.opentripplanner.routing.vertextype.PatternArriveVertex; +import org.opentripplanner.routing.vertextype.PatternDepartVertex; +import org.opentripplanner.routing.vertextype.PatternStopVertex; + +import java.util.ArrayList; +import java.util.List; + + +public class PartialPatternHop extends PatternHop { + + private static final long serialVersionUID = 1L; + + private double startIndex; + private double endIndex; + private double percentageOfHop; + + private PartialPatternHop(PatternHop hop, PatternStopVertex from, PatternStopVertex to, Stop fromStop, Stop toStop, StreetMatcher matcher, GeometryFactory factory, boolean start) { + super(from, to, fromStop, toStop, hop.getStopIndex(), hop.getContinuousPickup(), hop.getContinuousDropoff(), false); + LengthIndexedLine line = new LengthIndexedLine(hop.getGeometry()); + if (start) { + this.startIndex = 0; + this.endIndex = line.project(to.getCoordinate()); + } else { + this.startIndex = line.project(from.getCoordinate()); + this.endIndex = line.getEndIndex(); + } + this.setGeometryFromHop(matcher, factory, hop); + this.percentageOfHop = (this.endIndex - this.startIndex) / line.getEndIndex(); + } + + // given hop s0->s1 and a temporary position t, create a partial hop s0->t + public static PartialPatternHop startHop(PatternHop hop, PatternArriveVertex to, Stop toStop, StreetMatcher matcher, GeometryFactory factory) { + return new PartialPatternHop(hop, (PatternStopVertex) hop.getFromVertex(), to, hop.getBeginStop(), toStop, matcher, factory, true); + } + + public static PartialPatternHop endHop(PatternHop hop, PatternDepartVertex from, Stop fromStop, StreetMatcher matcher, GeometryFactory factory) { + return new PartialPatternHop(hop, from, (PatternStopVertex) hop.getToVertex(), fromStop, hop.getEndStop(), matcher, factory, false); + } + + @Override + public double timeLowerBound(RoutingRequest options) { + return percentageOfHop * super.timeLowerBound(options); + } + + @Override + public int getRunningTime(State s0) { + return (int) (percentageOfHop * super.getRunningTime(s0)); + } + + private void setGeometryFromHop(StreetMatcher matcher, GeometryFactory factory, PatternHop hop) { + List edges = matcher.match(hop.getGeometry()); + List coords = new ArrayList<>(); + LengthIndexedLine line = new LengthIndexedLine(hop.getGeometry()); + for (Edge e : edges) { + double idx = line.project(e.getToVertex().getCoordinate()); + if (idx >= endIndex) + break; + if (idx < startIndex) + continue; + for (Coordinate c : e.getGeometry().getCoordinates()) + coords.add(c); + } + Coordinate[] arr = coords.toArray(new Coordinate[0]); + LineString geometry = factory.createLineString(arr); + setGeometry(geometry); + } + + +} + diff --git a/src/main/java/org/opentripplanner/routing/edgetype/PatternHop.java b/src/main/java/org/opentripplanner/routing/edgetype/PatternHop.java index 5ca091f4460..75a323408b7 100644 --- a/src/main/java/org/opentripplanner/routing/edgetype/PatternHop.java +++ b/src/main/java/org/opentripplanner/routing/edgetype/PatternHop.java @@ -37,16 +37,28 @@ public class PatternHop extends TablePatternEdge implements OnboardEdge, HopEdge private Stop begin, end; + private int continuousPickup, continuousDropoff; + public int stopIndex; private LineString geometry = null; - public PatternHop(PatternStopVertex from, PatternStopVertex to, Stop begin, Stop end, int stopIndex) { + protected PatternHop(PatternStopVertex from, PatternStopVertex to, Stop begin, Stop end, int stopIndex, int continuousPickup, int continuousDropoff, boolean setInPattern) { super(from, to); this.begin = begin; this.end = end; this.stopIndex = stopIndex; - getPattern().setPatternHop(stopIndex, this); + if (setInPattern) + getPattern().setPatternHop(stopIndex, this); + this.continuousPickup = continuousPickup; + this.continuousDropoff = continuousDropoff; + } + + public PatternHop(PatternStopVertex from, PatternStopVertex to, Stop begin, Stop end, int stopIndex, int continuousPickup, int continuousDropoff) { + this(from, to, begin, end, stopIndex, continuousPickup, continuousDropoff, true); + } + public PatternHop(PatternStopVertex from, PatternStopVertex to, Stop begin, Stop end, int stopIndex) { + this(from, to, begin, end, stopIndex, 0, 0); } public double getDistance() { @@ -78,7 +90,7 @@ public State optimisticTraverse(State state0) { } } - int runningTime = getPattern().scheduledTimetable.getBestRunningTime(stopIndex); + int runningTime = (int) timeLowerBound(options); StateEditor s1 = state0.edit(this); s1.incrementTimeInSeconds(runningTime); s1.setBackMode(getMode()); @@ -98,7 +110,7 @@ public double weightLowerBound(RoutingRequest options) { public State traverse(State s0) { RoutingRequest options = s0.getOptions(); - + // Ignore this edge if either of its stop is banned hard if (!options.bannedStopsHard.isEmpty()) { if (options.bannedStopsHard.matches(((PatternStopVertex) fromv).getStop()) @@ -107,8 +119,8 @@ public State traverse(State s0) { } } - TripTimes tripTimes = s0.getTripTimes(); - int runningTime = tripTimes.getRunningTime(stopIndex); + int runningTime = getRunningTime(s0); + StateEditor s1 = s0.edit(this); s1.incrementTimeInSeconds(runningTime); if (s0.getOptions().arriveBy) @@ -121,6 +133,11 @@ public State traverse(State s0) { return s1.makeState(); } + public int getRunningTime(State s0) { + TripTimes tripTimes = s0.getTripTimes(); + return tripTimes.getRunningTime(stopIndex); + } + public void setGeometry(LineString geometry) { this.geometry = geometry; } @@ -154,4 +171,13 @@ public String toString() { public int getStopIndex() { return stopIndex; } + + public int getContinuousPickup() { + return continuousPickup; + } + + public int getContinuousDropoff() { + return continuousDropoff; + } + } diff --git a/src/main/java/org/opentripplanner/routing/edgetype/TripPattern.java b/src/main/java/org/opentripplanner/routing/edgetype/TripPattern.java index 808fdc1b414..64fe6d017af 100644 --- a/src/main/java/org/opentripplanner/routing/edgetype/TripPattern.java +++ b/src/main/java/org/opentripplanner/routing/edgetype/TripPattern.java @@ -521,7 +521,7 @@ public void makePatternVerticesAndEdges(Graph graph, Map Date: Thu, 16 Feb 2017 15:56:04 -0800 Subject: [PATCH 004/226] added temporary edges --- .../temporary/TemporaryPatternHop.java | 42 +++++++++++++++++++ .../temporary/TemporaryPreAlightEdge.java | 35 ++++++++++++++++ .../temporary/TemporaryPreBoardEdge.java | 42 +++++++++++++++++++ .../temporary/TemporaryStreetTransitLink.java | 27 ++++++++++++ .../TemporaryTransitBoardAlight.java | 30 +++++++++++++ 5 files changed, 176 insertions(+) create mode 100644 src/main/java/org/opentripplanner/routing/edgetype/temporary/TemporaryPatternHop.java create mode 100644 src/main/java/org/opentripplanner/routing/edgetype/temporary/TemporaryPreAlightEdge.java create mode 100644 src/main/java/org/opentripplanner/routing/edgetype/temporary/TemporaryPreBoardEdge.java create mode 100644 src/main/java/org/opentripplanner/routing/edgetype/temporary/TemporaryStreetTransitLink.java create mode 100644 src/main/java/org/opentripplanner/routing/edgetype/temporary/TemporaryTransitBoardAlight.java diff --git a/src/main/java/org/opentripplanner/routing/edgetype/temporary/TemporaryPatternHop.java b/src/main/java/org/opentripplanner/routing/edgetype/temporary/TemporaryPatternHop.java new file mode 100644 index 00000000000..0cfd545adab --- /dev/null +++ b/src/main/java/org/opentripplanner/routing/edgetype/temporary/TemporaryPatternHop.java @@ -0,0 +1,42 @@ +/* This program is free software: you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public License + as published by the Free Software Foundation, either version 3 of + the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +package org.opentripplanner.routing.edgetype.temporary; + +import org.onebusaway.gtfs.model.Stop; +import org.opentripplanner.routing.edgetype.PatternHop; +import org.opentripplanner.routing.edgetype.TemporaryEdge; +import org.opentripplanner.routing.vertextype.PatternStopVertex; + + +public class TemporaryPatternHop extends PatternHop implements TemporaryEdge { + + // How much shorter is the hop geometry for the flag stop relative to the original length? + // We use this to calculate arrivals at flag stops. + public double distanceRatio; + + public TemporaryPatternHop(PatternStopVertex from, PatternStopVertex to, Stop begin, Stop end, int stopIndex, Double distanceRatio) { + super(from, to, begin, end, stopIndex); + this.distanceRatio = distanceRatio; + } + + public boolean equals(Object obj) { + return (this == obj); + } + + @Override + public void dispose() { + fromv.removeOutgoing(this); + tov.removeIncoming(this); + } +} diff --git a/src/main/java/org/opentripplanner/routing/edgetype/temporary/TemporaryPreAlightEdge.java b/src/main/java/org/opentripplanner/routing/edgetype/temporary/TemporaryPreAlightEdge.java new file mode 100644 index 00000000000..ce6d88e7127 --- /dev/null +++ b/src/main/java/org/opentripplanner/routing/edgetype/temporary/TemporaryPreAlightEdge.java @@ -0,0 +1,35 @@ +/* This program is free software: you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public License + as published by the Free Software Foundation, either version 3 of + the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +package org.opentripplanner.routing.edgetype.temporary; + +import org.opentripplanner.routing.edgetype.PreAlightEdge; +import org.opentripplanner.routing.edgetype.StationEdge; +import org.opentripplanner.routing.edgetype.TemporaryEdge; +import org.opentripplanner.routing.vertextype.TransitStop; +import org.opentripplanner.routing.vertextype.TransitStopArrive; + + +public class TemporaryPreAlightEdge extends PreAlightEdge implements StationEdge, TemporaryEdge { + + + public TemporaryPreAlightEdge(TransitStopArrive from, TransitStop to) { + super(from, to); + } + + @Override + public void dispose() { + fromv.removeOutgoing(this); + tov.removeIncoming(this); + } +} diff --git a/src/main/java/org/opentripplanner/routing/edgetype/temporary/TemporaryPreBoardEdge.java b/src/main/java/org/opentripplanner/routing/edgetype/temporary/TemporaryPreBoardEdge.java new file mode 100644 index 00000000000..804837efbd2 --- /dev/null +++ b/src/main/java/org/opentripplanner/routing/edgetype/temporary/TemporaryPreBoardEdge.java @@ -0,0 +1,42 @@ +/* This program is free software: you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public License + as published by the Free Software Foundation, either version 3 of + the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +package org.opentripplanner.routing.edgetype.temporary; + +import org.opentripplanner.routing.edgetype.PreBoardEdge; +import org.opentripplanner.routing.edgetype.StationEdge; +import org.opentripplanner.routing.edgetype.TemporaryEdge; +import org.opentripplanner.routing.vertextype.TransitStop; +import org.opentripplanner.routing.vertextype.TransitStopDepart; + +/** + * PreBoard edges connect a TransitStop to its agency_stop_depart vertices; PreAlight edges connect + * an agency_stop_arrive vertex to its TransitStop. + * + * Applies the local stop rules (see TransitStop.java and LocalStopFinder.java) as well as transfer + * limits, timed and preferred transfer rules, transfer penalties, and boarding costs. This avoids + * applying these costs/rules repeatedly in (Pattern)Board edges. These are single station or + * station-to-station specific costs, rather than trip-pattern specific costs. + */ +public class TemporaryPreBoardEdge extends PreBoardEdge implements StationEdge, TemporaryEdge { + + public TemporaryPreBoardEdge(TransitStop from, TransitStopDepart to) { + super(from, to); + } + + @Override + public void dispose() { + fromv.removeOutgoing(this); + tov.removeIncoming(this); + } +} diff --git a/src/main/java/org/opentripplanner/routing/edgetype/temporary/TemporaryStreetTransitLink.java b/src/main/java/org/opentripplanner/routing/edgetype/temporary/TemporaryStreetTransitLink.java new file mode 100644 index 00000000000..147c05459fb --- /dev/null +++ b/src/main/java/org/opentripplanner/routing/edgetype/temporary/TemporaryStreetTransitLink.java @@ -0,0 +1,27 @@ +package org.opentripplanner.routing.edgetype.temporary; + +import org.opentripplanner.routing.edgetype.StreetTransitLink; +import org.opentripplanner.routing.edgetype.TemporaryEdge; +import org.opentripplanner.routing.vertextype.StreetVertex; +import org.opentripplanner.routing.vertextype.TransitStop; + +/** + * Created by dbenoff on 2/10/17. + */ +public class TemporaryStreetTransitLink extends StreetTransitLink implements TemporaryEdge { + + + public TemporaryStreetTransitLink(StreetVertex fromv, TransitStop tov, boolean wheelchairAccessible) { + super(fromv, tov, wheelchairAccessible); + } + + public TemporaryStreetTransitLink(TransitStop fromv, StreetVertex tov, boolean wheelchairAccessible) { + super(fromv, tov, wheelchairAccessible); + } + + @Override + public void dispose() { + fromv.removeOutgoing(this); + tov.removeIncoming(this); + } +} diff --git a/src/main/java/org/opentripplanner/routing/edgetype/temporary/TemporaryTransitBoardAlight.java b/src/main/java/org/opentripplanner/routing/edgetype/temporary/TemporaryTransitBoardAlight.java new file mode 100644 index 00000000000..9696188cbde --- /dev/null +++ b/src/main/java/org/opentripplanner/routing/edgetype/temporary/TemporaryTransitBoardAlight.java @@ -0,0 +1,30 @@ +package org.opentripplanner.routing.edgetype.temporary; + +import org.opentripplanner.routing.core.TraverseMode; +import org.opentripplanner.routing.edgetype.TemporaryEdge; +import org.opentripplanner.routing.edgetype.TransitBoardAlight; +import org.opentripplanner.routing.vertextype.PatternStopVertex; +import org.opentripplanner.routing.vertextype.TransitStopArrive; +import org.opentripplanner.routing.vertextype.TransitStopDepart; + +/** + * Created by dbenoff on 2/10/17. + */ +public class TemporaryTransitBoardAlight extends TransitBoardAlight implements TemporaryEdge { + + public TemporaryTransitBoardAlight(TransitStopDepart fromStopVertex, PatternStopVertex toPatternVertex, + int stopIndex, TraverseMode mode) { + super(fromStopVertex, toPatternVertex, stopIndex, mode); + } + + public TemporaryTransitBoardAlight(PatternStopVertex fromPatternStop, TransitStopArrive toStationVertex, + int stopIndex, TraverseMode mode) { + super(fromPatternStop, toStationVertex, stopIndex, mode); + } + + @Override + public void dispose() { + fromv.removeOutgoing(this); + tov.removeIncoming(this); + } +} From 2d7dda18a3bda00dc01c788d694c3a81a5f55f0f Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Fri, 17 Feb 2017 15:51:32 -0500 Subject: [PATCH 005/226] Fix timing for flex transfers and get it to work for stop->hop transfers --- .../module/FlexDirectTransferGenerator.java | 26 +++++---- .../routing/edgetype/PartialPatternHop.java | 6 +- .../routing/edgetype/Timetable.java | 10 +++- .../routing/edgetype/TransitBoardAlight.java | 32 +++++++---- .../edgetype/TransitBoardAlightAtFlex.java | 57 +++++++++++++++++++ 5 files changed, 103 insertions(+), 28 deletions(-) create mode 100644 src/main/java/org/opentripplanner/routing/edgetype/TransitBoardAlightAtFlex.java diff --git a/src/main/java/org/opentripplanner/graph_builder/module/FlexDirectTransferGenerator.java b/src/main/java/org/opentripplanner/graph_builder/module/FlexDirectTransferGenerator.java index ea966869fe8..6acc10a1f89 100644 --- a/src/main/java/org/opentripplanner/graph_builder/module/FlexDirectTransferGenerator.java +++ b/src/main/java/org/opentripplanner/graph_builder/module/FlexDirectTransferGenerator.java @@ -41,6 +41,7 @@ the License, or (at your option) any later version. import org.opentripplanner.routing.edgetype.SimpleTransfer; import org.opentripplanner.routing.edgetype.StreetEdge; import org.opentripplanner.routing.edgetype.TransitBoardAlight; +import org.opentripplanner.routing.edgetype.TransitBoardAlightAtFlex; import org.opentripplanner.routing.edgetype.TripPattern; import org.opentripplanner.routing.graph.Edge; import org.opentripplanner.routing.graph.Graph; @@ -118,7 +119,7 @@ public void buildGraph(Graph graph, HashMap, Object> extra) { // - it is a TransitStop and it is within 100m of either endpoint of the hop // - it is a hop where either endpoint is within 100m of either endpoint of this hop. - Collection pts = findNearbyTransferPoints(graph, hop); + Collection pts = findNearbyTransferPoints(graph, hop); for (TransferPointAtDistance pt : pts) { if (!shouldExclude(hop, pt)) { @@ -211,7 +212,7 @@ public void visitEnqueue(State state) { for (Collection ptsForPattern : closestTransferPointForTripPattern.asMap().values()) { TransferPointAtDistance best = Collections.max(ptsForPattern, (x, y) -> y.betterThan(x, true) ? -1 : 1); - TransferPointAtDistance rev = Collections.max(ptsForPattern, (x, y) -> y.betterThan(x, false) ? -1 : 1); + TransferPointAtDistance rev = Collections.max(ptsForPattern, (x, y) -> y.betterThan(x, false) ? -1 : 1); pts.add(best); pts.add(rev); } @@ -220,7 +221,7 @@ public void visitEnqueue(State state) { return pts; } - private void link(Graph graph, PatternHop hop, TransferPointAtDistance point) { + public void link(Graph graph, PatternHop hop, TransferPointAtDistance point) { if (point.isTransitStop()) { // linking from a hop to a transit stop @@ -237,8 +238,8 @@ private void link(Graph graph, PatternHop hop, TransferPointAtDistance point) { // hop -> stop transfer PatternArriveVertex patternArriveVertex = new PatternArriveVertex(graph, hop.getPattern(), hop.getStopIndex(), stop); TransitStopArrive transitStopArrive = new TransitStopArrive(graph, stop, transferStop); - PartialPatternHop.startHop(hop, patternArriveVertex, stop, matcher, geometryFactory); - new TransitBoardAlight(patternArriveVertex, transitStopArrive, hop.getStopIndex(), hop.getPattern().mode); + PartialPatternHop startHop = PartialPatternHop.startHop(hop, patternArriveVertex, stop, matcher, geometryFactory); + new TransitBoardAlightAtFlex(patternArriveVertex, transitStopArrive, hop.getStopIndex(), hop.getPattern().mode, startHop.getPercentageOfHop()); new PreAlightEdge(transitStopArrive, transferStop); new SimpleTransfer(transferStop, point.tstop, point.dist, point.geom, point.edges); @@ -246,8 +247,8 @@ private void link(Graph graph, PatternHop hop, TransferPointAtDistance point) { TransitStopDepart transitStopDepart = new TransitStopDepart(graph, stop, transferStop); PatternDepartVertex patternDepartVertex = new PatternDepartVertex(graph, hop.getPattern(), hop.getStopIndex(), stop); new PreBoardEdge(transferStop, transitStopDepart); - new TransitBoardAlight(transitStopDepart, patternDepartVertex, hop.getStopIndex(), hop.getPattern().mode); - PartialPatternHop.endHop(hop, patternDepartVertex,stop, matcher, geometryFactory); + PartialPatternHop endHop = PartialPatternHop.endHop(hop, patternDepartVertex, stop, matcher, geometryFactory); + new TransitBoardAlightAtFlex(transitStopDepart, patternDepartVertex, hop.getStopIndex(), hop.getPattern().mode, endHop.getPercentageOfHop()); TransferPointAtDistance rev = point.reverse(); new SimpleTransfer(point.tstop, transferStop, rev.dist, rev.geom, rev.edges); @@ -257,7 +258,7 @@ private void link(Graph graph, PatternHop hop, TransferPointAtDistance point) { } private static boolean tooClose(Vertex v, Vertex w) { - return SphericalDistanceLibrary.fastDistance(v.getLat(), v.getLon(), w.getLat(), w.getLon()) < TRANSIT_STOP_CUTOFF; + return SphericalDistanceLibrary.fastDistance(v.getLat(), v.getLon(), w.getLat(), w.getLon()) < TRANSIT_STOP_CUTOFF; } private static boolean shouldExclude(PatternHop hop, TransitStop stop) { @@ -272,6 +273,7 @@ private static boolean shouldExclude(PatternHop hop0, PatternHop hop1) { private static boolean shouldExclude(PatternHop hop, TransferPointAtDistance pt) { return pt.isTransitStop() ? shouldExclude(hop, pt.getTransitStop()) : shouldExclude(hop, pt.getHop()); } + } class TransferPointAtDistance { @@ -281,7 +283,7 @@ class TransferPointAtDistance { TransitStop tstop; double dist; // distance TO original hop LineString geom; - List edges; + List edges; PatternHop hop; Coordinate locationOnHop; Vertex from; @@ -323,7 +325,7 @@ private TransferPointAtDistance(PatternHop fromHop, State state) { this.state = state; this.fromHop = fromHop; LengthIndexedLine line = new LengthIndexedLine(fromHop.getGeometry()); - this.distanceAlongFromHop = (line.project(from.getCoordinate())/line.getEndIndex()) * fromHop.getDistance(); + this.distanceAlongFromHop = (line.project(from.getCoordinate()) / line.getEndIndex()) * fromHop.getDistance(); } // TODO: merge with NearbyStopFinder.stopAtDistanceForState() (where this code was taken from) @@ -392,7 +394,7 @@ public String toString() { } public boolean betterThan(TransferPointAtDistance other, boolean preferEarlyTransfer) { - if (other==null) + if (other == null) return true; // prefer a transfer point that is at a real stop [unless the real stop is outside the cutoff away?] if (this.isTransitStop() && !other.isTransitStop()) @@ -416,4 +418,4 @@ public boolean betterThan(TransferPointAtDistance other, boolean preferEarlyTran public TransferPointAtDistance reverse() { return new TransferPointAtDistance(state.reverse()); } -} +} \ No newline at end of file diff --git a/src/main/java/org/opentripplanner/routing/edgetype/PartialPatternHop.java b/src/main/java/org/opentripplanner/routing/edgetype/PartialPatternHop.java index 54d002e900e..f6385d770ef 100644 --- a/src/main/java/org/opentripplanner/routing/edgetype/PartialPatternHop.java +++ b/src/main/java/org/opentripplanner/routing/edgetype/PartialPatternHop.java @@ -49,7 +49,8 @@ private PartialPatternHop(PatternHop hop, PatternStopVertex from, PatternStopVer this.startIndex = line.project(from.getCoordinate()); this.endIndex = line.getEndIndex(); } - this.setGeometryFromHop(matcher, factory, hop); + if (matcher != null && factory != null) + this.setGeometryFromHop(matcher, factory, hop); this.percentageOfHop = (this.endIndex - this.startIndex) / line.getEndIndex(); } @@ -90,6 +91,9 @@ private void setGeometryFromHop(StreetMatcher matcher, GeometryFactory factory, setGeometry(geometry); } + public double getPercentageOfHop() { + return percentageOfHop; + } } diff --git a/src/main/java/org/opentripplanner/routing/edgetype/Timetable.java b/src/main/java/org/opentripplanner/routing/edgetype/Timetable.java index 774259215fa..28297b559a9 100644 --- a/src/main/java/org/opentripplanner/routing/edgetype/Timetable.java +++ b/src/main/java/org/opentripplanner/routing/edgetype/Timetable.java @@ -134,7 +134,7 @@ public boolean temporallyViable(ServiceDay sd, long searchTime, int bestWait, bo * @return the TripTimes object representing the (possibly updated) best trip, or null if no * trip matches both the time and other criteria. */ - public TripTimes getNextTrip(State s0, ServiceDay serviceDay, int stopIndex, boolean boarding) { + public TripTimes getNextTrip(State s0, ServiceDay serviceDay, int stopIndex, boolean boarding, double adjustment) { /* Search at the state's time, but relative to midnight on the given service day. */ int time = serviceDay.secondsSinceMidnight(s0.getTimeSeconds()); // NOTE the time is sometimes negative here. That is fine, we search for the first trip of the day. @@ -163,7 +163,7 @@ public TripTimes getNextTrip(State s0, ServiceDay serviceDay, int stopIndex, boo int adjustedTime = adjustTimeForTransfer(s0, currentStop, tt.trip, boarding, serviceDay, time); if (adjustedTime == -1) continue; if (boarding) { - int depTime = tt.getDepartureTime(stopIndex); + int depTime = tt.getDepartureTime(stopIndex) + (int)(adjustment*tt.getRunningTime(stopIndex)); if (depTime < 0) continue; // negative values were previously used for canceled trips/passed stops/skipped stops, but // now its not sure if this check should be still in place because there is a boolean field // for canceled trips @@ -172,7 +172,7 @@ public TripTimes getNextTrip(State s0, ServiceDay serviceDay, int stopIndex, boo bestTime = depTime; } } else { - int arvTime = tt.getArrivalTime(stopIndex); + int arvTime = tt.getArrivalTime(stopIndex) + (int)(adjustment*tt.getRunningTime(stopIndex)); if (arvTime < 0) continue; if (arvTime <= adjustedTime && arvTime > bestTime) { bestTrip = tt; @@ -215,6 +215,10 @@ public TripTimes getNextTrip(State s0, ServiceDay serviceDay, int stopIndex, boo return bestTrip; } + public TripTimes getNextTrip(State s0, ServiceDay serviceDay, int stopIndex, boolean boarding) { + return getNextTrip(s0, serviceDay, stopIndex, boarding, 0); + } + /** * Check transfer table rules. Given the last alight time from the State, * return the boarding time t0 adjusted for this particular trip's minimum transfer time, diff --git a/src/main/java/org/opentripplanner/routing/edgetype/TransitBoardAlight.java b/src/main/java/org/opentripplanner/routing/edgetype/TransitBoardAlight.java index 5ef7102af68..adf3cbed05c 100644 --- a/src/main/java/org/opentripplanner/routing/edgetype/TransitBoardAlight.java +++ b/src/main/java/org/opentripplanner/routing/edgetype/TransitBoardAlight.java @@ -259,24 +259,14 @@ public State traverse(State s0, long arrivalTimeAtStop) { * 00:30 tommorrow. The 00:30 trip should be taken, but if we stopped the search after * finding today's 25:00 trip we would never find tomorrow's 00:30 trip. */ - TripPattern tripPattern = this.getPattern(); int bestWait = -1; TripTimes bestTripTimes = null; ServiceDay bestServiceDay = null; for (ServiceDay sd : rctx.serviceDays) { - /* Find the proper timetable (updated or original) if there is a realtime snapshot. */ - Timetable timetable = tripPattern.getUpdatedTimetable(options, sd); - /* Skip this day/timetable if no trip in it could possibly be useful. */ - // TODO disabled until frequency representation is stable, and min/max timetable times are set from frequencies - // However, experiments seem to show very little measurable improvement here (due to cache locality?) - // if ( ! timetable.temporallyViable(sd, s0.getTimeSeconds(), bestWait, boarding)) continue; - /* Find the next or prev departure depending on final boolean parameter. */ - TripTimes tripTimes = timetable.getNextTrip(s0, sd, stopIndex, boarding); + TripTimes tripTimes = getNextTrip(s0, sd); if (tripTimes != null) { /* Wait is relative to departures on board and arrivals on alight. */ - int wait = boarding ? - (int)(sd.time(tripTimes.getDepartureTime(stopIndex)) - s0.getTimeSeconds()): - (int)(s0.getTimeSeconds() - sd.time(tripTimes.getArrivalTime(stopIndex))); + int wait = calculateWait(s0, sd, tripTimes); /* A trip was found. The wait should be non-negative. */ if (wait < 0) LOG.error("Negative wait time when boarding."); /* Track the soonest departure over all relevant schedules. */ @@ -362,6 +352,24 @@ public State traverse(State s0, long arrivalTimeAtStop) { } } + public TripTimes getNextTrip(State s0, ServiceDay sd) { + RoutingRequest options = s0.getOptions(); + Timetable timetable = getPattern().getUpdatedTimetable(options, sd); + /* Skip this day/timetable if no trip in it could possibly be useful. */ + // TODO disabled until frequency representation is stable, and min/max timetable times are set from frequencies + // However, experiments seem to show very little measurable improvement here (due to cache locality?) + // if ( ! timetable.temporallyViable(sd, s0.getTimeSeconds(), bestWait, boarding)) continue; + /* Find the next or prev departure depending on final boolean parameter. */ + TripTimes tripTimes = timetable.getNextTrip(s0, sd, stopIndex, boarding); + return tripTimes; + } + + public int calculateWait(State s0, ServiceDay sd, TripTimes tripTimes) { + return boarding ? + (int)(sd.time(tripTimes.getDepartureTime(stopIndex)) - s0.getTimeSeconds()): + (int)(s0.getTimeSeconds() - sd.time(tripTimes.getArrivalTime(stopIndex))); + } + /** @return the stop where this board/alight edge is located. */ private Stop getStop() { PatternStopVertex stopVertex = (PatternStopVertex) (boarding ? tov : fromv); diff --git a/src/main/java/org/opentripplanner/routing/edgetype/TransitBoardAlightAtFlex.java b/src/main/java/org/opentripplanner/routing/edgetype/TransitBoardAlightAtFlex.java new file mode 100644 index 00000000000..ac36749808c --- /dev/null +++ b/src/main/java/org/opentripplanner/routing/edgetype/TransitBoardAlightAtFlex.java @@ -0,0 +1,57 @@ +package org.opentripplanner.routing.edgetype; + +import org.opentripplanner.routing.core.RoutingRequest; +import org.opentripplanner.routing.core.ServiceDay; +import org.opentripplanner.routing.core.State; +import org.opentripplanner.routing.core.TraverseMode; +import org.opentripplanner.routing.trippattern.TripTimes; +import org.opentripplanner.routing.vertextype.PatternStopVertex; +import org.opentripplanner.routing.vertextype.TransitStopArrive; +import org.opentripplanner.routing.vertextype.TransitStopDepart; + +/** + * Created by sjacobs on 2/17/17. + */ +public class TransitBoardAlightAtFlex extends TransitBoardAlight { + + private final double percentageOfHop; + + /** Boarding constructor (TransitStopDepart --> PatternStopVertex) */ + public TransitBoardAlightAtFlex (TransitStopDepart fromStopVertex, PatternStopVertex toPatternVertex, + int stopIndex, TraverseMode mode, double percentageOfHop) { + super(fromStopVertex, toPatternVertex, stopIndex, mode); + this.percentageOfHop = 1 - percentageOfHop; + } + + /** Alighting constructor (PatternStopVertex --> TransitStopArrive) */ + public TransitBoardAlightAtFlex (PatternStopVertex fromPatternStop, TransitStopArrive toStationVertex, + int stopIndex, TraverseMode mode, double percentageOfHop) { + super(fromPatternStop, toStationVertex, stopIndex, mode); + this.percentageOfHop = percentageOfHop; + } + + @Override + public TripTimes getNextTrip(State s0, ServiceDay sd) { + RoutingRequest options = s0.getOptions(); + Timetable timetable = getPattern().getUpdatedTimetable(options, sd); + TripTimes tripTimes = timetable.getNextTrip(s0, sd, getStopIndex(), boarding, percentageOfHop); + return tripTimes; + } + + @Override + public int calculateWait(State s0, ServiceDay sd, TripTimes tripTimes) { + int stopIndex = getStopIndex(); + int adjustment = (int) (percentageOfHop * (tripTimes.getRunningTime(stopIndex))); + // we need to fudge this by two seconds so that we can optimize later on. + return boarding ? + (int)(sd.time(tripTimes.getDepartureTime(stopIndex) + adjustment) - s0.getTimeSeconds()) + 2: + (int)(s0.getTimeSeconds() - sd.time(tripTimes.getArrivalTime(stopIndex) + adjustment)); + } + + @Override + public String toString() { + return "TransitBoardAlightAtFlex(" + + (boarding ? "boarding " : "alighting ") + + getFromVertex() + " to " + getToVertex() + ")"; + } +} From adfe204976ffe3873296ef364b6af39132656caf Mon Sep 17 00:00:00 2001 From: dbenoff Date: Sun, 19 Feb 2017 09:42:55 -0800 Subject: [PATCH 006/226] flex routing works! --- .../api/resource/PlannerResource.java | 1 + .../common/geometry/GeometryUtils.java | 22 ++ .../routing/algorithm/AStar.java | 37 ++- .../InterleavedBidirectionalHeuristic.java | 245 +++++++++++++++++- .../routing/core/RoutingContext.java | 17 +- .../routing/core/RoutingRequest.java | 2 +- .../routing/core/StateData.java | 2 +- .../routing/edgetype/PatternDwell.java | 1 + .../routing/edgetype/PatternHop.java | 36 ++- .../routing/edgetype/TransitBoardAlight.java | 20 +- .../temporary/TemporaryPatternHop.java | 18 +- .../routing/graph/GraphIndex.java | 101 +++++++- .../routing/impl/GraphPathFinder.java | 5 + .../routing/spt/GraphPath.java | 4 +- 14 files changed, 463 insertions(+), 48 deletions(-) diff --git a/src/main/java/org/opentripplanner/api/resource/PlannerResource.java b/src/main/java/org/opentripplanner/api/resource/PlannerResource.java index c87f9b223ec..98c992853de 100644 --- a/src/main/java/org/opentripplanner/api/resource/PlannerResource.java +++ b/src/main/java/org/opentripplanner/api/resource/PlannerResource.java @@ -91,6 +91,7 @@ public Response plan(@Context UriInfo uriInfo, @Context Request grizzlyRequest) response.setPlan(plan); } catch (Exception e) { + e.printStackTrace(); PlannerError error = new PlannerError(e); if(!PlannerError.isPlanningError(e.getClass())) LOG.warn("Error while planning path: ", e); diff --git a/src/main/java/org/opentripplanner/common/geometry/GeometryUtils.java b/src/main/java/org/opentripplanner/common/geometry/GeometryUtils.java index 60fa0d6868d..d84091caa81 100644 --- a/src/main/java/org/opentripplanner/common/geometry/GeometryUtils.java +++ b/src/main/java/org/opentripplanner/common/geometry/GeometryUtils.java @@ -19,8 +19,12 @@ the License, or (at your option) any later version. import com.vividsolutions.jts.linearref.LocationIndexedLine; import org.geojson.GeoJsonObject; import org.geojson.LngLatAlt; +import org.geotools.geometry.jts.JTS; +import org.geotools.math.Line; import org.geotools.referencing.CRS; +import org.geotools.referencing.GeodeticCalculator; import org.opengis.referencing.crs.CoordinateReferenceSystem; +import org.opengis.referencing.operation.TransformException; import org.opentripplanner.analyst.UnsupportedGeometryException; import org.opentripplanner.common.model.P2; import org.slf4j.Logger; @@ -186,6 +190,24 @@ public static Geometry convertGeoJsonToJtsGeometry(GeoJsonObject geoJsonGeom) throw new UnsupportedGeometryException(geoJsonGeom.getClass().toString()); } + public static double getLengthInMeters(LineString lineString) { + GeodeticCalculator calculator = new GeodeticCalculator(WGS84_XY); + double length = 0d; + try { + for (int i = 0; i < lineString.getCoordinates().length - 1; i++) { + Coordinate fromCoord = lineString.getCoordinates()[i]; + Coordinate toCoord = lineString.getCoordinates()[i + 1]; + calculator.setStartingPosition(JTS.toDirectPosition(fromCoord, WGS84_XY)); + calculator.setDestinationPosition(JTS.toDirectPosition(toCoord, WGS84_XY)); + double incrementalDistance = calculator.getOrthodromicDistance(); + length += incrementalDistance; + } + }catch (TransformException tfe){ + throw new RuntimeException(tfe.getMessage()); + } + return length; + } + private static Coordinate[] convertPath(List path) { Coordinate[] coords = new Coordinate[path.size()]; int i = 0; diff --git a/src/main/java/org/opentripplanner/routing/algorithm/AStar.java b/src/main/java/org/opentripplanner/routing/algorithm/AStar.java index d1b03d1561a..a5894a09a79 100644 --- a/src/main/java/org/opentripplanner/routing/algorithm/AStar.java +++ b/src/main/java/org/opentripplanner/routing/algorithm/AStar.java @@ -25,6 +25,10 @@ the License, or (at your option) any later version. import org.opentripplanner.routing.core.RoutingContext; import org.opentripplanner.routing.core.RoutingRequest; import org.opentripplanner.routing.core.State; +import org.opentripplanner.routing.edgetype.PatternDwell; +import org.opentripplanner.routing.edgetype.StreetEdge; +import org.opentripplanner.routing.edgetype.TemporaryEdge; +import org.opentripplanner.routing.edgetype.temporary.TemporaryPatternHop; import org.opentripplanner.routing.graph.Edge; import org.opentripplanner.routing.graph.Vertex; import org.opentripplanner.routing.spt.*; @@ -63,7 +67,7 @@ class RunState { public State u; public ShortestPathTree spt; - BinHeap pq; + public BinHeap pq; RemainingWeightHeuristic heuristic; public RoutingContext rctx; public int nVisited; @@ -81,7 +85,7 @@ public RunState(RoutingRequest options, SearchTerminationStrategy terminationStr } - private RunState runState; + public RunState runState; /** * Compute SPT using default timeout and termination strategy. @@ -121,12 +125,12 @@ private void startSearch(RoutingRequest options, // Initializing the bidirectional heuristic is a pretty complicated operation that involves searching through // the streets around the origin and destination. runState.heuristic.initialize(runState.options, abortTime); - if (abortTime < Long.MAX_VALUE && System.currentTimeMillis() > abortTime) { + /*if (abortTime < Long.MAX_VALUE && System.currentTimeMillis() > abortTime) { LOG.warn("Timeout during initialization of goal direction heuristic."); options.rctx.debugOutput.timedOut = true; runState = null; // Search timed out return; - } + }*/ // Priority Queue. // The queue is self-resizing, so we initialize it to have size = O(sqrt(|V|)) << |V|. @@ -157,7 +161,7 @@ boolean iterate(){ // get the lowest-weight state in the queue runState.u = runState.pq.extract_min(); - + // check that this state has not been dominated // and mark vertex as visited if (!runState.spt.visit(runState.u)) { @@ -176,10 +180,21 @@ boolean iterate(){ System.out.println(" vertex " + runState.u_vertex); runState.nVisited += 1; - + Collection edges = runState.options.arriveBy ? runState.u_vertex.getIncoming() : runState.u_vertex.getOutgoing(); - for (Edge edge : edges) { + if(edges.size() > 1){ + for (Edge edge : edges) { + if (runState.u.stateData.tripId != null + && runState.u.stateData.tripId.getId().equals("110695680") + && edge instanceof TemporaryPatternHop) { + String backEdge = runState.u.getBackEdge().toString(); + String edgeClass = runState.u.getBackEdge().getClass().getName(); + } + } + } + + for (Edge edge : edges) { // Iterate over traversal results. When an edge leads nowhere (as indicated by // returning NULL), the iteration is over. TODO Use this to board multiple trips. for (State v = edge.traverse(runState.u); v != null; v = v.getNextResult()) { @@ -239,7 +254,7 @@ void runSearch(long abortTime){ /* * Terminate based on timeout? */ - if (abortTime < Long.MAX_VALUE && System.currentTimeMillis() > abortTime) { + /*if (abortTime < Long.MAX_VALUE && System.currentTimeMillis() > abortTime) { LOG.warn("Search timeout. origin={} target={}", runState.rctx.origin, runState.rctx.target); // Rather than returning null to indicate that the search was aborted/timed out, // we instead set a flag in the routing context and return the SPT anyway. This @@ -248,7 +263,7 @@ void runSearch(long abortTime){ runState.options.rctx.debugOutput.timedOut = true; // signal timeout in debug output object break; - } + }*/ /* * Get next best state and, if it hasn't already been dominated, add adjacent states to queue. @@ -368,4 +383,8 @@ public List getPathsToTarget() { } return ret; } + + public BinHeap getPq(){ + return this.runState.pq; + } } diff --git a/src/main/java/org/opentripplanner/routing/algorithm/strategies/InterleavedBidirectionalHeuristic.java b/src/main/java/org/opentripplanner/routing/algorithm/strategies/InterleavedBidirectionalHeuristic.java index a1ff7a2d5ec..2b827564bc7 100644 --- a/src/main/java/org/opentripplanner/routing/algorithm/strategies/InterleavedBidirectionalHeuristic.java +++ b/src/main/java/org/opentripplanner/routing/algorithm/strategies/InterleavedBidirectionalHeuristic.java @@ -13,24 +13,38 @@ the License, or (props, at your option) any later version. package org.opentripplanner.routing.algorithm.strategies; +import com.google.common.collect.BiMap; +import com.google.common.collect.HashBiMap; +import com.vividsolutions.jts.geom.Coordinate; +import com.vividsolutions.jts.geom.LineString; import gnu.trove.map.TObjectDoubleMap; import gnu.trove.map.hash.TObjectDoubleHashMap; +import org.onebusaway.gtfs.model.AgencyAndId; +import org.onebusaway.gtfs.model.Stop; +import org.opentripplanner.common.geometry.GeometryUtils; +import org.opentripplanner.common.geometry.SphericalDistanceLibrary; import org.opentripplanner.common.pqueue.BinHeap; +import org.opentripplanner.model.StopPattern; import org.opentripplanner.routing.core.RoutingRequest; import org.opentripplanner.routing.core.State; +import org.opentripplanner.routing.core.TraverseMode; +import org.opentripplanner.routing.edgetype.PatternHop; import org.opentripplanner.routing.edgetype.StreetTransitLink; +import org.opentripplanner.routing.edgetype.TemporaryEdge; +import org.opentripplanner.routing.edgetype.TripPattern; +import org.opentripplanner.routing.edgetype.temporary.*; import org.opentripplanner.routing.graph.Edge; import org.opentripplanner.routing.graph.Graph; import org.opentripplanner.routing.graph.Vertex; import org.opentripplanner.routing.location.StreetLocation; import org.opentripplanner.routing.spt.DominanceFunction; import org.opentripplanner.routing.spt.ShortestPathTree; -import org.opentripplanner.routing.vertextype.StreetVertex; -import org.opentripplanner.routing.vertextype.TransitStop; +import org.opentripplanner.routing.vertextype.*; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import java.util.Set; +import java.util.*; +import java.util.stream.Collectors; /** * This the goal direction heuristic used for transit searches. @@ -86,6 +100,12 @@ public class InterleavedBidirectionalHeuristic implements RemainingWeightHeurist */ TObjectDoubleMap postBoardingWeights; + /** Closest edge to the origin that lies along the associated tripPattern. */ + BiMap originFlexEdges = HashBiMap.create(); + + /** Closest edge to the destination that lies along the associated tripPattern. */ + BiMap destinationFlexEdges = HashBiMap.create(); + Graph graph; RoutingRequest routingRequest; @@ -150,7 +170,16 @@ public void initialize(RoutingRequest request, long abortTime) { */ @Override public double estimateRemainingWeight (State s) { + final Vertex v = s.getVertex(); + + if(s.isEverBoarded() && s.getBackEdge() instanceof PatternHop){ + double h = postBoardingWeights.get(v); + if (h == Double.POSITIVE_INFINITY) { + h = maxWeightSeen; + } + } + if (v instanceof StreetLocation) { // Temporary vertices (StreetLocations) might not be found in the street searches. // Zero is always an underestimate. @@ -201,6 +230,7 @@ public void doSomeWork() { } int uWeight = (int) transitQueue.peek_min_key(); Vertex u = transitQueue.extract_min(); + // The weight of the queue head is uniformly increasing. // This is the highest weight ever seen for a closed vertex. maxWeightSeen = uWeight; @@ -218,6 +248,7 @@ public void doSomeWork() { // When the main search is arriveBy the heuristic search looks at OUTgoing edges. for (Edge e : routingRequest.arriveBy ? u.getOutgoing() : u.getIncoming()) { // Do not enter streets in this phase, which should only touch transit. + if (e instanceof StreetTransitLink) { continue; } @@ -278,12 +309,26 @@ private TObjectDoubleMap streetSearch (RoutingRequest rr, boolean fromTa Vertex initVertex = fromTarget ? rr.rctx.target : rr.rctx.origin; State initState = new State(initVertex, rr); pq.insert(initState, 0); + Map tripPatternStateMap = new HashMap<>(); while ( ! pq.empty()) { - if (abortTime < Long.MAX_VALUE && System.currentTimeMillis() > abortTime) { + /*if (abortTime < Long.MAX_VALUE && System.currentTimeMillis() > abortTime) { return null; - } + }*/ State s = pq.extract_min(); Vertex v = s.getVertex(); + if(s.getBackEdge() != null + && s.getBackEdge().getGeometry() != null){ + Collection patterns = graph.index.getPatternsForEdge(s.getBackEdge()); + for(TripPattern tripPattern : patterns){ + if(tripPatternStateMap.containsKey(tripPattern)){ + State oldState = tripPatternStateMap.get(tripPattern); + if(oldState.getWeight() < s.getWeight()){ + continue; + } + } + tripPatternStateMap.put(tripPattern, s); + } + } // At this point the vertex is closed (pulled off heap). // This is the lowest cost we will ever see for this vertex. We can record the cost to reach it. if (v instanceof TransitStop) { @@ -316,9 +361,199 @@ private TObjectDoubleMap streetSearch (RoutingRequest rr, boolean fromTa } } } + + for(TripPattern tripPattern : tripPatternStateMap.keySet()){ + State s = tripPatternStateMap.get(tripPattern); + } + + Map> stateToTripPatternsMap = new HashMap<>(); + for(TripPattern tripPattern : tripPatternStateMap.keySet()){ + State s = tripPatternStateMap.get(tripPattern); + if(!stateToTripPatternsMap.containsKey(s)){ + stateToTripPatternsMap.put(s, new ArrayList<>()); + } + stateToTripPatternsMap.get(s).add(tripPattern); + } + + for(State s : stateToTripPatternsMap.keySet()){ + + Vertex v = fromTarget ? s.getBackEdge().getToVertex() : s.getBackEdge().getFromVertex(); + + Stop flagStop = new Stop(); + flagStop.setId(new AgencyAndId("1", String.valueOf(Math.random()))); + flagStop.setLat(v.getLat()); + flagStop.setLon(v.getLon()); + //flagStop.setName(String.valueOf(Math.random())); + TransitStop flagTransitStop = new TransitStop(graph, flagStop); + + if(fromTarget){ + //reverse search + transitQueue.insert(flagTransitStop, s.getWeight()); + TemporaryStreetTransitLink streetTransitLink = new TemporaryStreetTransitLink(flagTransitStop, (StreetVertex)v, true); + rr.rctx.temporaryEdges.add(streetTransitLink); + + TransitStopArrive transitStopArrive = new TransitStopArrive(graph, flagStop, flagTransitStop); + TemporaryPreAlightEdge preAlightEdge = new TemporaryPreAlightEdge(transitStopArrive, flagTransitStop); + rr.rctx.temporaryEdges.add(preAlightEdge); + + for(TripPattern originalTripPattern : stateToTripPatternsMap.get(s)){ + + List patternHops = graph.index.getHopsForEdge(s.getBackEdge(), fromTarget) + .stream() + .filter(e -> e.getPattern() == originalTripPattern) + .collect(Collectors.toList()); + + for(PatternHop originalPatternHop : patternHops){ + + + //don't create a temporary flag stop if it is very close to one of the existing stops + if(tooCloseToPatternHopStops(originalPatternHop, v)) + continue; + + int stopIndex = originalPatternHop.getStopIndex(); + + TripPattern temporaryTripPattern = originalTripPattern.clone(); + temporaryTripPattern.code = String.valueOf(Math.random()); + + PatternArriveVertex patternArriveVertex = + new PatternArriveVertex(graph, temporaryTripPattern, stopIndex + 1); + + TemporaryPatternHop forwardSearchPatternHop = findShortenedPatternHops(originalPatternHop); + if(forwardSearchPatternHop != null){ + //processed by forward search already, use the trimmed geometry + LineString preStopHopGeometry = getShortenedPatternHopGeometryForFlagStop(forwardSearchPatternHop.getGeometry().getCoordinates(), v.getCoordinate(), fromTarget); + double originalHopGeometryLength = GeometryUtils.getLengthInMeters(forwardSearchPatternHop.originalPatternHop.getGeometry()); + double shortenedHopGeometryLength = GeometryUtils.getLengthInMeters(preStopHopGeometry); + double distanceRatio = shortenedHopGeometryLength/originalHopGeometryLength; + forwardSearchPatternHop.distanceRatio = distanceRatio; + forwardSearchPatternHop.setGeometry(preStopHopGeometry); + }else{ + //haven't seen this patternHop, create a temporary one + LineString preStopHopGeometry = getShortenedPatternHopGeometryForFlagStop(originalPatternHop.getGeometry().getCoordinates(), v.getCoordinate(), false); + double originalHopGeometryLength = GeometryUtils.getLengthInMeters(originalPatternHop.getGeometry()); + double shortenedHopGeometryLength = GeometryUtils.getLengthInMeters(preStopHopGeometry); + double distanceRatio = shortenedHopGeometryLength/originalHopGeometryLength; + TemporaryPatternHop temporaryPatternHop = new TemporaryPatternHop(originalPatternHop, patternArriveVertex, flagStop, distanceRatio); + temporaryPatternHop.setGeometry(preStopHopGeometry); + rr.rctx.temporaryEdges.add(temporaryPatternHop); + } + + /** Alighting constructor (PatternStopVertex --> TransitStopArrive) */ + TemporaryTransitBoardAlight transitBoardAlight = + new TemporaryTransitBoardAlight(patternArriveVertex, transitStopArrive, originalPatternHop.getStopIndex(), TraverseMode.BUS); + rr.rctx.temporaryEdges.add(transitBoardAlight); + + + } + } + + }else{ + //forward search + + TemporaryStreetTransitLink streetTransitLink = new TemporaryStreetTransitLink((StreetVertex)v, flagTransitStop, true); + rr.rctx.temporaryEdges.add(streetTransitLink); + + TransitStopDepart transitStopDepart = new TransitStopDepart(graph, flagStop, flagTransitStop); + TemporaryPreBoardEdge temporaryPreBoardEdge = new TemporaryPreBoardEdge(flagTransitStop, transitStopDepart); + rr.rctx.temporaryEdges.add(temporaryPreBoardEdge); + + for(TripPattern originalTripPattern : stateToTripPatternsMap.get(s)){ + + List patternHops = graph.index.getHopsForEdge(s.getBackEdge(), fromTarget) + .stream() + .filter(e -> e.getPattern() == originalTripPattern) + .collect(Collectors.toList()); + + for(PatternHop originalPatternHop : patternHops){ + + //don't create a temporary flag stop if it is very close to one of the existing stops + if(tooCloseToPatternHopStops(originalPatternHop, v)) + continue; + + TripPattern temporaryTripPattern = originalTripPattern.clone(); + temporaryTripPattern.code = String.valueOf(Math.random()); + + PatternDepartVertex patternDepartVertex = + new PatternDepartVertex(graph, temporaryTripPattern, originalPatternHop.getStopIndex()); + + LineString postStopHopGeometry = getShortenedPatternHopGeometryForFlagStop(originalPatternHop.getGeometry().getCoordinates(), v.getCoordinate(), fromTarget); + double originalHopGeometryLength = GeometryUtils.getLengthInMeters(originalPatternHop.getGeometry()); + double shortenedHopGeometryLength = GeometryUtils.getLengthInMeters(postStopHopGeometry); + double distanceRatio = shortenedHopGeometryLength/originalHopGeometryLength; + TemporaryPatternHop temporaryPatternHop = new TemporaryPatternHop(originalPatternHop, patternDepartVertex, flagStop, distanceRatio); + temporaryPatternHop.setGeometry(postStopHopGeometry); + + rr.rctx.temporaryEdges.add(temporaryPatternHop); + + + + /** TransitBoardAlight: Boarding constructor (TransitStopDepart, PatternStopVertex) */ + TemporaryTransitBoardAlight transitBoardAlight = + new TemporaryTransitBoardAlight(transitStopDepart, patternDepartVertex, originalPatternHop.getStopIndex(), TraverseMode.BUS); + rr.rctx.temporaryEdges.add(transitBoardAlight); + } + } + } + } + LOG.debug("Heuristric street search hit {} vertices.", vertices.size()); LOG.debug("Heuristric street search hit {} transit stops.", transitQueue.size()); return vertices; } + /** + * Finds the closest coordinate along a line to the target, splices that point into the line, and returns + * a coordinate array containing either the partial array up to and including the target, or the target and all after + * @param lineCoordinates + * @param flexPoint + * @return coordinate of the flex point or null if a stop exists at that point already + */ + private LineString getShortenedPatternHopGeometryForFlagStop(Coordinate[] lineCoordinates, Coordinate flexPoint, Boolean reverseSearch){ + + double lowestDistanceSum = Double.MAX_VALUE; + int lowestDistanceIndex = -1; + for(int i = 0; i < lineCoordinates.length; i++){ + double distance = SphericalDistanceLibrary.fastDistance(flexPoint, lineCoordinates[i]); + if(distance < lowestDistanceSum){ + lowestDistanceIndex = i; + lowestDistanceSum = distance; + } + } + + //this hop is heading away from the destination, leave geometry unchanged + if(reverseSearch && lowestDistanceIndex == 0) + return GeometryUtils.getGeometryFactory().createLineString(lineCoordinates); + + List lineCoordinateList = new ArrayList<>(); + Collections.addAll(lineCoordinateList, lineCoordinates); + lineCoordinateList.set(lowestDistanceIndex, flexPoint); + List shortenedHopGeometry = reverseSearch ? lineCoordinateList.subList(0, lowestDistanceIndex + 1) : lineCoordinateList.subList(lowestDistanceIndex, lineCoordinateList.size()); + + return GeometryUtils.getGeometryFactory().createLineString(shortenedHopGeometry.toArray(new Coordinate[shortenedHopGeometry.size()])); + } + + /** + * When reverse search creates a shortened pattern hop, check whether the forward search shortened the start of + * the geometry already. If so, use that geometry, then shorten the other end, then update both hops + * @param originalPatternHop + * @return + */ + private TemporaryPatternHop findShortenedPatternHops(PatternHop originalPatternHop){ + for(TemporaryEdge e : routingRequest.rctx.temporaryEdges){ + if(e instanceof TemporaryPatternHop && ((TemporaryPatternHop)e).originalPatternHop.equals(originalPatternHop)){ + return (TemporaryPatternHop)e; + } + } + return null; + } + + private boolean tooCloseToPatternHopStops(PatternHop originalPatternHop, Vertex v){ + //don't create a temporary flag stop if it is very close to one of the existing stops + Double startDistance = SphericalDistanceLibrary.fastDistance(originalPatternHop.getFromVertex().getCoordinate(), v.getCoordinate()); + Double endDistance = SphericalDistanceLibrary.fastDistance(originalPatternHop.getToVertex().getCoordinate(), v.getCoordinate()); + if(startDistance < 10 || endDistance < 10) + return true; + return false; + } + } diff --git a/src/main/java/org/opentripplanner/routing/core/RoutingContext.java b/src/main/java/org/opentripplanner/routing/core/RoutingContext.java index 8ce196ada43..bd38ed39ef1 100644 --- a/src/main/java/org/opentripplanner/routing/core/RoutingContext.java +++ b/src/main/java/org/opentripplanner/routing/core/RoutingContext.java @@ -26,6 +26,7 @@ the License, or (at your option) any later version. import org.opentripplanner.routing.algorithm.strategies.RemainingWeightHeuristic; import org.opentripplanner.routing.algorithm.strategies.TrivialRemainingWeightHeuristic; import org.opentripplanner.routing.edgetype.StreetEdge; +import org.opentripplanner.routing.edgetype.TemporaryEdge; import org.opentripplanner.routing.edgetype.TemporaryPartialStreetEdge; import org.opentripplanner.routing.edgetype.TimetableSnapshot; import org.opentripplanner.routing.error.GraphNotFoundException; @@ -45,13 +46,7 @@ the License, or (at your option) any later version. import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import java.util.ArrayList; -import java.util.Calendar; -import java.util.Date; -import java.util.HashMap; -import java.util.HashSet; -import java.util.Map; -import java.util.Set; +import java.util.*; /** * A RoutingContext holds information needed to carry out a search for a particular TraverseOptions, on a specific graph. @@ -126,6 +121,8 @@ public class RoutingContext implements Cloneable { /** Indicates that a maximum slope constraint was specified but was removed during routing to produce a result. */ public boolean slopeRestrictionRemoved = false; + public Collection temporaryEdges = new ArrayList<>(); + /* CONSTRUCTORS */ /** @@ -417,5 +414,11 @@ public boolean isWheelchairAccessible(Vertex v) { public void destroy() { if (origin instanceof TemporaryVertex) ((TemporaryVertex) origin).dispose(); if (target instanceof TemporaryVertex) ((TemporaryVertex) target).dispose(); + if(temporaryEdges != null){ + for(TemporaryEdge temporaryEdge : temporaryEdges){ + temporaryEdge.dispose(); + } + } + } } diff --git a/src/main/java/org/opentripplanner/routing/core/RoutingRequest.java b/src/main/java/org/opentripplanner/routing/core/RoutingRequest.java index 2d91a4105e1..415484c1332 100644 --- a/src/main/java/org/opentripplanner/routing/core/RoutingRequest.java +++ b/src/main/java/org/opentripplanner/routing/core/RoutingRequest.java @@ -419,7 +419,7 @@ public class RoutingRequest implements Cloneable, Serializable { public boolean longDistance = false; /** Should traffic congestion be considered when driving? */ - public boolean useTraffic = true; + public boolean useTraffic = false; /** The function that compares paths converging on the same vertex to decide which ones continue to be explored. */ public DominanceFunction dominanceFunction = new DominanceFunction.Pareto(); diff --git a/src/main/java/org/opentripplanner/routing/core/StateData.java b/src/main/java/org/opentripplanner/routing/core/StateData.java index 97f23574b96..20d6cb8d577 100644 --- a/src/main/java/org/opentripplanner/routing/core/StateData.java +++ b/src/main/java/org/opentripplanner/routing/core/StateData.java @@ -35,7 +35,7 @@ public class StateData implements Cloneable { // which trip index inside a pattern protected TripTimes tripTimes; - protected AgencyAndId tripId; + public AgencyAndId tripId; protected Trip previousTrip; diff --git a/src/main/java/org/opentripplanner/routing/edgetype/PatternDwell.java b/src/main/java/org/opentripplanner/routing/edgetype/PatternDwell.java index c305e91e9e9..29c103d7665 100644 --- a/src/main/java/org/opentripplanner/routing/edgetype/PatternDwell.java +++ b/src/main/java/org/opentripplanner/routing/edgetype/PatternDwell.java @@ -63,6 +63,7 @@ public String getName(Locale locale) { } public State traverse(State state0) { + //int trip = state0.getTrip(); TripTimes tripTimes = state0.getTripTimes(); int dwellTime = tripTimes.getDwellTime(stopIndex); diff --git a/src/main/java/org/opentripplanner/routing/edgetype/PatternHop.java b/src/main/java/org/opentripplanner/routing/edgetype/PatternHop.java index 5ca091f4460..bcbafe6ad04 100644 --- a/src/main/java/org/opentripplanner/routing/edgetype/PatternHop.java +++ b/src/main/java/org/opentripplanner/routing/edgetype/PatternHop.java @@ -14,14 +14,15 @@ the License, or (at your option) any later version. package org.opentripplanner.routing.edgetype; import java.util.Locale; + +import com.vividsolutions.jts.geom.Point; +import com.vividsolutions.jts.linearref.LengthIndexedLine; import org.onebusaway.gtfs.model.Stop; import org.opentripplanner.common.geometry.GeometryUtils; import org.opentripplanner.common.geometry.SphericalDistanceLibrary; import org.opentripplanner.gtfs.GtfsLibrary; -import org.opentripplanner.routing.core.RoutingRequest; -import org.opentripplanner.routing.core.State; -import org.opentripplanner.routing.core.StateEditor; -import org.opentripplanner.routing.core.TraverseMode; +import org.opentripplanner.routing.core.*; +import org.opentripplanner.routing.edgetype.temporary.TemporaryPatternHop; import org.opentripplanner.routing.trippattern.TripTimes; import org.opentripplanner.routing.vertextype.PatternStopVertex; import com.vividsolutions.jts.geom.Coordinate; @@ -49,9 +50,15 @@ public PatternHop(PatternStopVertex from, PatternStopVertex to, Stop begin, Stop getPattern().setPatternHop(stopIndex, this); } + // made more accurate public double getDistance() { - return SphericalDistanceLibrary.distance(begin.getLat(), begin.getLon(), end.getLat(), - end.getLon()); + double distance = 0; + LineString line = getGeometry(); + for (int i = 0; i < line.getNumPoints() - 1; i++) { + Point p0 = line.getPointN(i), p1 = line.getPointN(i+1); + distance += SphericalDistanceLibrary.distance(p0.getCoordinate(), p1.getCoordinate()); + } + return distance; } public TraverseMode getMode() { @@ -97,6 +104,7 @@ public double weightLowerBound(RoutingRequest options) { } public State traverse(State s0) { + RoutingRequest options = s0.getOptions(); // Ignore this edge if either of its stop is banned hard @@ -109,6 +117,12 @@ public State traverse(State s0) { TripTimes tripTimes = s0.getTripTimes(); int runningTime = tripTimes.getRunningTime(stopIndex); + + if(this instanceof TemporaryPatternHop){ + double distanceRatio = ((TemporaryPatternHop)this).distanceRatio; + runningTime = (int) (runningTime * distanceRatio); + } + StateEditor s1 = s0.edit(this); s1.incrementTimeInSeconds(runningTime); if (s0.getOptions().arriveBy) @@ -118,6 +132,16 @@ public State traverse(State s0) { //s1.setRoute(pattern.getExemplar().route.getId()); s1.incrementWeight(runningTime); s1.setBackMode(getMode()); + if(this.toString().indexOf("1:15:0:05_10_D lat,lng=39.739934,-104.977259")> -1){ + State newState = s1.makeState(); + if(this instanceof TemporaryPatternHop){ + System.out.println("temporary running time: " + runningTime + " weight: " + newState.getWeight() + " for: " + this); + }else{ + System.out.println("running time: " + runningTime + " weight: " + newState.getWeight() + " for: " + this); + } + + return newState; + } return s1.makeState(); } diff --git a/src/main/java/org/opentripplanner/routing/edgetype/TransitBoardAlight.java b/src/main/java/org/opentripplanner/routing/edgetype/TransitBoardAlight.java index 5ef7102af68..8faf04c9d18 100644 --- a/src/main/java/org/opentripplanner/routing/edgetype/TransitBoardAlight.java +++ b/src/main/java/org/opentripplanner/routing/edgetype/TransitBoardAlight.java @@ -15,7 +15,10 @@ the License, or (at your option) any later version. import java.util.BitSet; +import java.util.Date; import java.util.Locale; +import java.util.concurrent.TimeUnit; + import org.onebusaway.gtfs.model.Stop; import org.onebusaway.gtfs.model.Trip; import org.opentripplanner.routing.core.RoutingContext; @@ -123,6 +126,7 @@ public String getName(Locale locale) { @Override public State traverse(State state0) { + return traverse(state0, 0); } @@ -327,6 +331,7 @@ public State traverse(State s0, long arrivalTimeAtStop) { if (!s0.isEverBoarded() && !options.reverseOptimizing) { wait_cost *= options.waitAtBeginningFactor; s1.setInitialWaitTimeSeconds(bestWait); + //System.out.println("bestWait " + bestWait + " " + trip.getId() + " " + this.getId() + " " + this.getFromVertex().getY() + "," +this.getFromVertex().getX()); } else { wait_cost *= options.waitReluctance; } @@ -356,7 +361,20 @@ public State traverse(State s0, long arrivalTimeAtStop) { if (optimized == null) LOG.error("Null optimized state. This shouldn't happen."); return optimized; } - + + /*if(this instanceof TemporaryEdge && !s0.isEverBoarded()){ + State test = s1.makeState(); + System.out.println("_________________________" + this.getId()); + System.out.println(this.getFromVertex().getY() + "," + this.getFromVertex().getX()); + System.out.println(this.getToVertex().getY() + "," + this.getToVertex().getX()); + System.out.println("initial weight: " + String.valueOf(s0.getWeight())); + System.out.println("traverse weight: " + String.valueOf(test.getWeight() - s0.getWeight())); + System.out.println("total weight: " + test.getWeight()); + System.out.println("waiting weight: " + (wait_cost + options.getBoardCost(s0.getNonTransitMode()))); + System.out.println(new Date(test.getTimeInMillis()).toString()); + return test; + }*/ + /* If we didn't return an optimized path, return an unoptimized one. */ return s1.makeState(); } diff --git a/src/main/java/org/opentripplanner/routing/edgetype/temporary/TemporaryPatternHop.java b/src/main/java/org/opentripplanner/routing/edgetype/temporary/TemporaryPatternHop.java index 0cfd545adab..6468271c29c 100644 --- a/src/main/java/org/opentripplanner/routing/edgetype/temporary/TemporaryPatternHop.java +++ b/src/main/java/org/opentripplanner/routing/edgetype/temporary/TemporaryPatternHop.java @@ -16,6 +16,8 @@ the License, or (at your option) any later version. import org.onebusaway.gtfs.model.Stop; import org.opentripplanner.routing.edgetype.PatternHop; import org.opentripplanner.routing.edgetype.TemporaryEdge; +import org.opentripplanner.routing.vertextype.PatternArriveVertex; +import org.opentripplanner.routing.vertextype.PatternDepartVertex; import org.opentripplanner.routing.vertextype.PatternStopVertex; @@ -24,10 +26,22 @@ public class TemporaryPatternHop extends PatternHop implements TemporaryEdge { // How much shorter is the hop geometry for the flag stop relative to the original length? // We use this to calculate arrivals at flag stops. public double distanceRatio; + public PatternHop originalPatternHop; - public TemporaryPatternHop(PatternStopVertex from, PatternStopVertex to, Stop begin, Stop end, int stopIndex, Double distanceRatio) { - super(from, to, begin, end, stopIndex); + //forward search constructor + public TemporaryPatternHop(PatternHop originalPatternHop, PatternDepartVertex patternDepartVertex, Stop flagStop, double distanceRatio){ + super(patternDepartVertex, (PatternStopVertex)originalPatternHop.getToVertex(), originalPatternHop.getBeginStop(), flagStop, + originalPatternHop.getStopIndex()); this.distanceRatio = distanceRatio; + this.originalPatternHop = originalPatternHop; + } + + //reverse search constructor + public TemporaryPatternHop(PatternHop originalPatternHop, PatternArriveVertex patternArriveVertex, Stop flagStop, double distanceRatio){ + super((PatternDepartVertex)originalPatternHop.getFromVertex(), patternArriveVertex, originalPatternHop.getBeginStop(), flagStop, + originalPatternHop.getStopIndex()); + this.distanceRatio = distanceRatio; + this.originalPatternHop = originalPatternHop; } public boolean equals(Object obj) { diff --git a/src/main/java/org/opentripplanner/routing/graph/GraphIndex.java b/src/main/java/org/opentripplanner/routing/graph/GraphIndex.java index c16a04b355a..680a30befac 100644 --- a/src/main/java/org/opentripplanner/routing/graph/GraphIndex.java +++ b/src/main/java/org/opentripplanner/routing/graph/GraphIndex.java @@ -1,13 +1,9 @@ package org.opentripplanner.routing.graph; import com.google.common.collect.ArrayListMultimap; -import java.util.BitSet; -import java.util.Collection; -import java.util.List; -import java.util.Map; -import java.util.Set; -import java.util.Calendar; -import com.fasterxml.jackson.databind.ObjectMapper; + +import java.util.*; + import com.google.common.collect.HashMultimap; import com.google.common.collect.Lists; import com.google.common.collect.Maps; @@ -16,6 +12,8 @@ import com.google.common.util.concurrent.ThreadFactoryBuilder; import com.vividsolutions.jts.geom.Coordinate; import com.vividsolutions.jts.geom.Envelope; +import com.vividsolutions.jts.geom.Geometry; +import com.vividsolutions.jts.operation.distance.DistanceOp; import graphql.ExecutionResult; import graphql.GraphQL; import org.apache.lucene.util.PriorityQueue; @@ -28,10 +26,13 @@ import org.onebusaway.gtfs.model.calendar.ServiceDate; import org.onebusaway.gtfs.services.calendar.CalendarService; import org.opentripplanner.common.LuceneIndex; +import org.opentripplanner.common.geometry.GeometryUtils; import org.opentripplanner.common.geometry.HashGridSpatialIndex; import org.opentripplanner.common.geometry.SphericalDistanceLibrary; import org.opentripplanner.common.model.GenericLocation; import org.opentripplanner.common.model.P2; +import org.opentripplanner.graph_builder.module.DirectTransferGenerator; +import org.opentripplanner.graph_builder.module.map.StreetMatcher; import org.opentripplanner.index.IndexGraphQLSchema; import org.opentripplanner.index.model.StopTimesInPattern; import org.opentripplanner.index.model.TripTimeShort; @@ -45,10 +46,7 @@ import org.opentripplanner.routing.core.ServiceDay; import org.opentripplanner.routing.core.State; import org.opentripplanner.routing.core.TraverseMode; -import org.opentripplanner.routing.edgetype.TablePatternEdge; -import org.opentripplanner.routing.edgetype.Timetable; -import org.opentripplanner.routing.edgetype.TimetableSnapshot; -import org.opentripplanner.routing.edgetype.TripPattern; +import org.opentripplanner.routing.edgetype.*; import org.opentripplanner.routing.spt.DominanceFunction; import org.opentripplanner.routing.trippattern.FrequencyEntry; import org.opentripplanner.routing.trippattern.TripTimes; @@ -57,11 +55,8 @@ import org.slf4j.LoggerFactory; import javax.ws.rs.core.Response; -import java.util.ArrayList; import java.util.BitSet; import java.util.Collection; -import java.util.HashMap; -import java.util.HashSet; import java.util.List; import java.util.Map; import java.util.Set; @@ -97,6 +92,9 @@ public class GraphIndex { final HashGridSpatialIndex stopSpatialIndex = new HashGridSpatialIndex(); public final Map stopClusterForStop = Maps.newHashMap(); public final Map stopClusterForId = Maps.newHashMap(); + public final Multimap patternsForEdge = ArrayListMultimap.create(); + public final Multimap hopsForEdge = ArrayListMultimap.create(); + public final HashGridSpatialIndex hopIndex = new HashGridSpatialIndex<>(); /* Should eventually be replaced with new serviceId indexes. */ private final CalendarService calendarService; @@ -158,6 +156,44 @@ public GraphIndex (Graph graph) { Envelope envelope = new Envelope(stopVertex.getCoordinate()); stopSpatialIndex.insert(envelope, stopVertex); } + + StreetMatcher matcher = new StreetMatcher(graph); + LOG.info("Finding corresponding street edges for trip patterns..."); + for (TripPattern pattern : patternForId.values()) { + if (pattern.mode == TraverseMode.BUS) { + /* we can only match geometry to streets on bus routes */ + LOG.debug("Matching {}", pattern); + //If there are no shapes in GTFS pattern geometry is generated + //generated geometry is useless for street matching + //that is why pattern.geometry is null in that case + if (pattern.geometry == null) { + continue; + } + + edges = matcher.match(pattern.geometry); + if (edges == null || edges.isEmpty()) { + LOG.warn("Could not match to street network: {}", pattern); + continue; + } + for (Edge e : edges) { + patternsForEdge.put(e, pattern); + } + for(PatternHop patternHop : pattern.getPatternHops()){ + edges = matcher.match(patternHop.getGeometry()); + + if (edges == null || edges.isEmpty()) { + LOG.warn("Could not match to street network: {}", pattern); + continue; + } + for (Edge e : edges) { + hopsForEdge.put(e, patternHop); + } + } + } + } + + LOG.info("Finished processing street edges for trip patterns..."); + for (TripPattern pattern : patternForId.values()) { patternsForFeedId.put(pattern.getFeedId(), pattern); patternsForRoute.put(pattern.route, pattern); @@ -181,6 +217,10 @@ public GraphIndex (Graph graph) { graphQL = new GraphQL(new IndexGraphQLSchema(this).indexSchema, Executors.newCachedThreadPool( new ThreadFactoryBuilder().setNameFormat("GraphQLExecutor-" + graph.routerId + "-%d").build() )); + + LOG.info("initializing edge map..."); + initializeEdgeMap(); + LOG.info("Done indexing graph."); } @@ -681,4 +721,37 @@ public Set getAllAgencies() { return allAgencies; } + private void initializeEdgeMap() { + for (TripPattern pattern : patternsForStop.values()) { + for (PatternHop hop : pattern.getPatternHops()) { + Geometry geometry = hop.getGeometry(); + Envelope envelope = geometry.getEnvelopeInternal(); + hopIndex.insert(envelope, hop); + } + } + } + + public Collection getHopsForEdge(Edge e, boolean arriveBy) { + return hopsForEdge.get(e); + } + + public Collection getPatternsForEdge(Edge e) { + return patternsForEdge.get(e); + } + + public Collection getStopsNearPoint(Vertex v, int radiusInMeters){ + Envelope env = new Envelope(new Coordinate(v.getLon(), v.getLat())); + env.expandBy(SphericalDistanceLibrary.metersToLonDegrees(radiusInMeters, v.getLat()), + SphericalDistanceLibrary.metersToDegrees(radiusInMeters)); + Collection transitStops = graph.index.stopSpatialIndex.query(env); + List results = new ArrayList<>(); + for(TransitStop transitStop : transitStops){ + if(radiusInMeters >= SphericalDistanceLibrary.fastDistance(transitStop.getCoordinate(), v.getCoordinate())) + results.add(transitStop); + } + return results; + } + + + } diff --git a/src/main/java/org/opentripplanner/routing/impl/GraphPathFinder.java b/src/main/java/org/opentripplanner/routing/impl/GraphPathFinder.java index 796110fa7cb..608864b2409 100644 --- a/src/main/java/org/opentripplanner/routing/impl/GraphPathFinder.java +++ b/src/main/java/org/opentripplanner/routing/impl/GraphPathFinder.java @@ -17,6 +17,7 @@ the License, or (at your option) any later version. import org.onebusaway.gtfs.model.AgencyAndId; import org.opentripplanner.api.resource.DebugOutput; import org.opentripplanner.common.model.GenericLocation; +import org.opentripplanner.common.pqueue.BinHeap; import org.opentripplanner.routing.algorithm.AStar; import org.opentripplanner.routing.algorithm.strategies.EuclideanRemainingWeightHeuristic; import org.opentripplanner.routing.algorithm.strategies.InterleavedBidirectionalHeuristic; @@ -25,6 +26,7 @@ the License, or (at your option) any later version. import org.opentripplanner.routing.core.RoutingRequest; import org.opentripplanner.routing.core.State; import org.opentripplanner.routing.edgetype.LegSwitchingEdge; +import org.opentripplanner.routing.edgetype.temporary.TemporaryPatternHop; import org.opentripplanner.routing.error.PathNotFoundException; import org.opentripplanner.routing.error.VertexNotFoundException; import org.opentripplanner.routing.graph.Edge; @@ -183,6 +185,7 @@ public List getPaths(RoutingRequest options) { } LOG.debug("END SEARCH ({} msec)", System.currentTimeMillis() - searchBeginTime); Collections.sort(paths, new PathComparator(options.arriveBy)); + return paths; } @@ -210,6 +213,8 @@ public List graphPathFinderEntryPoint (RoutingRequest request) { throw e; } + + // Detect and report that most obnoxious of bugs: path reversal asymmetry. // Removing paths might result in an empty list, so do this check before the empty list check. if (paths != null) { diff --git a/src/main/java/org/opentripplanner/routing/spt/GraphPath.java b/src/main/java/org/opentripplanner/routing/spt/GraphPath.java index e1ad4d8fc03..8078987dbc9 100644 --- a/src/main/java/org/opentripplanner/routing/spt/GraphPath.java +++ b/src/main/java/org/opentripplanner/routing/spt/GraphPath.java @@ -81,10 +81,10 @@ public GraphPath(State s, boolean optimize) { if (back) { lastState = optimize ? s.optimize() : s.reverse(); } else { - lastState = optimize ? s.optimize().optimize() : s; + //lastState = optimize ? s.optimize().optimize() : s; } // DEBUG - // lastState = s; + lastState = s; /* * Starting from latest (time-wise) state, copy states to the head of a list in reverse From b23c195b7f7f6d6da568e9610015b02d82822257 Mon Sep 17 00:00:00 2001 From: dbenoff Date: Mon, 20 Feb 2017 10:00:55 -0800 Subject: [PATCH 007/226] flex routing works! --- pom.xml | 7 +++++ .../InterleavedBidirectionalHeuristic.java | 28 +++++++++++++------ .../TemporaryPatternHop.java | 2 +- .../TemporaryPreAlightEdge.java | 2 +- .../TemporaryPreBoardEdge.java | 2 +- .../TemporaryStreetTransitLink.java | 2 +- .../TemporaryTransitBoardAlight.java | 2 +- 7 files changed, 31 insertions(+), 14 deletions(-) rename src/main/java/org/opentripplanner/routing/edgetype/{temporary => flex}/TemporaryPatternHop.java (97%) rename src/main/java/org/opentripplanner/routing/edgetype/{temporary => flex}/TemporaryPreAlightEdge.java (95%) rename src/main/java/org/opentripplanner/routing/edgetype/{temporary => flex}/TemporaryPreBoardEdge.java (96%) rename src/main/java/org/opentripplanner/routing/edgetype/{temporary => flex}/TemporaryStreetTransitLink.java (93%) rename src/main/java/org/opentripplanner/routing/edgetype/{temporary => flex}/TemporaryTransitBoardAlight.java (95%) diff --git a/pom.xml b/pom.xml index aa3c6ecd259..a2a5b2189b6 100644 --- a/pom.xml +++ b/pom.xml @@ -734,6 +734,13 @@ + + + + org.apache.commons + commons-lang3 + 3.5 + diff --git a/src/main/java/org/opentripplanner/routing/algorithm/strategies/InterleavedBidirectionalHeuristic.java b/src/main/java/org/opentripplanner/routing/algorithm/strategies/InterleavedBidirectionalHeuristic.java index 2b827564bc7..fac3b216118 100644 --- a/src/main/java/org/opentripplanner/routing/algorithm/strategies/InterleavedBidirectionalHeuristic.java +++ b/src/main/java/org/opentripplanner/routing/algorithm/strategies/InterleavedBidirectionalHeuristic.java @@ -15,12 +15,15 @@ the License, or (props, at your option) any later version. import com.google.common.collect.BiMap; import com.google.common.collect.HashBiMap; +import com.google.common.collect.Lists; import com.vividsolutions.jts.geom.Coordinate; import com.vividsolutions.jts.geom.LineString; import gnu.trove.map.TObjectDoubleMap; import gnu.trove.map.hash.TObjectDoubleHashMap; +import org.apache.commons.lang3.SerializationUtils; import org.onebusaway.gtfs.model.AgencyAndId; import org.onebusaway.gtfs.model.Stop; +import org.onebusaway.gtfs.model.StopTime; import org.opentripplanner.common.geometry.GeometryUtils; import org.opentripplanner.common.geometry.SphericalDistanceLibrary; import org.opentripplanner.common.pqueue.BinHeap; @@ -32,13 +35,15 @@ the License, or (props, at your option) any later version. import org.opentripplanner.routing.edgetype.StreetTransitLink; import org.opentripplanner.routing.edgetype.TemporaryEdge; import org.opentripplanner.routing.edgetype.TripPattern; -import org.opentripplanner.routing.edgetype.temporary.*; +import org.opentripplanner.routing.edgetype.flex.*; import org.opentripplanner.routing.graph.Edge; import org.opentripplanner.routing.graph.Graph; import org.opentripplanner.routing.graph.Vertex; import org.opentripplanner.routing.location.StreetLocation; import org.opentripplanner.routing.spt.DominanceFunction; import org.opentripplanner.routing.spt.ShortestPathTree; +import org.opentripplanner.routing.trippattern.FrequencyEntry; +import org.opentripplanner.routing.trippattern.TripTimes; import org.opentripplanner.routing.vertextype.*; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -405,18 +410,17 @@ private TObjectDoubleMap streetSearch (RoutingRequest rr, boolean fromTa for(PatternHop originalPatternHop : patternHops){ - - //don't create a temporary flag stop if it is very close to one of the existing stops + //don't create a flex flag stop if it is very close to one of the existing stops if(tooCloseToPatternHopStops(originalPatternHop, v)) continue; int stopIndex = originalPatternHop.getStopIndex(); - TripPattern temporaryTripPattern = originalTripPattern.clone(); + TripPattern temporaryTripPattern = createTripPatternWithFlagStopPattern(originalTripPattern, flagStop, originalPatternHop.getStopIndex()); temporaryTripPattern.code = String.valueOf(Math.random()); PatternArriveVertex patternArriveVertex = - new PatternArriveVertex(graph, temporaryTripPattern, stopIndex + 1); + new PatternArriveVertex(graph, temporaryTripPattern, stopIndex); TemporaryPatternHop forwardSearchPatternHop = findShortenedPatternHops(originalPatternHop); if(forwardSearchPatternHop != null){ @@ -428,8 +432,8 @@ private TObjectDoubleMap streetSearch (RoutingRequest rr, boolean fromTa forwardSearchPatternHop.distanceRatio = distanceRatio; forwardSearchPatternHop.setGeometry(preStopHopGeometry); }else{ - //haven't seen this patternHop, create a temporary one - LineString preStopHopGeometry = getShortenedPatternHopGeometryForFlagStop(originalPatternHop.getGeometry().getCoordinates(), v.getCoordinate(), false); + //haven't seen this patternHop, create a flex one + LineString preStopHopGeometry = getShortenedPatternHopGeometryForFlagStop(originalPatternHop.getGeometry().getCoordinates(), v.getCoordinate(), fromTarget); double originalHopGeometryLength = GeometryUtils.getLengthInMeters(originalPatternHop.getGeometry()); double shortenedHopGeometryLength = GeometryUtils.getLengthInMeters(preStopHopGeometry); double distanceRatio = shortenedHopGeometryLength/originalHopGeometryLength; @@ -466,11 +470,11 @@ private TObjectDoubleMap streetSearch (RoutingRequest rr, boolean fromTa for(PatternHop originalPatternHop : patternHops){ - //don't create a temporary flag stop if it is very close to one of the existing stops + //don't create a flex flag stop if it is very close to one of the existing stops if(tooCloseToPatternHopStops(originalPatternHop, v)) continue; - TripPattern temporaryTripPattern = originalTripPattern.clone(); + TripPattern temporaryTripPattern = createTripPatternWithFlagStopPattern(originalTripPattern, flagStop, originalPatternHop.getStopIndex()); temporaryTripPattern.code = String.valueOf(Math.random()); PatternDepartVertex patternDepartVertex = @@ -556,4 +560,10 @@ private boolean tooCloseToPatternHopStops(PatternHop originalPatternHop, Vertex return false; } + private TripPattern createTripPatternWithFlagStopPattern(TripPattern tripPattern, Stop flagStop, int stopIndex){ + TripPattern clonedTripPattern = SerializationUtils.clone(tripPattern); + clonedTripPattern.stopPattern.stops[stopIndex] = flagStop; + return clonedTripPattern; + } + } diff --git a/src/main/java/org/opentripplanner/routing/edgetype/temporary/TemporaryPatternHop.java b/src/main/java/org/opentripplanner/routing/edgetype/flex/TemporaryPatternHop.java similarity index 97% rename from src/main/java/org/opentripplanner/routing/edgetype/temporary/TemporaryPatternHop.java rename to src/main/java/org/opentripplanner/routing/edgetype/flex/TemporaryPatternHop.java index 6468271c29c..74326008620 100644 --- a/src/main/java/org/opentripplanner/routing/edgetype/temporary/TemporaryPatternHop.java +++ b/src/main/java/org/opentripplanner/routing/edgetype/flex/TemporaryPatternHop.java @@ -11,7 +11,7 @@ the License, or (at your option) any later version. You should have received a copy of the GNU General Public License along with this program. If not, see . */ -package org.opentripplanner.routing.edgetype.temporary; +package org.opentripplanner.routing.edgetype.flex; import org.onebusaway.gtfs.model.Stop; import org.opentripplanner.routing.edgetype.PatternHop; diff --git a/src/main/java/org/opentripplanner/routing/edgetype/temporary/TemporaryPreAlightEdge.java b/src/main/java/org/opentripplanner/routing/edgetype/flex/TemporaryPreAlightEdge.java similarity index 95% rename from src/main/java/org/opentripplanner/routing/edgetype/temporary/TemporaryPreAlightEdge.java rename to src/main/java/org/opentripplanner/routing/edgetype/flex/TemporaryPreAlightEdge.java index ce6d88e7127..b7ddd10ff7e 100644 --- a/src/main/java/org/opentripplanner/routing/edgetype/temporary/TemporaryPreAlightEdge.java +++ b/src/main/java/org/opentripplanner/routing/edgetype/flex/TemporaryPreAlightEdge.java @@ -11,7 +11,7 @@ the License, or (at your option) any later version. You should have received a copy of the GNU General Public License along with this program. If not, see . */ -package org.opentripplanner.routing.edgetype.temporary; +package org.opentripplanner.routing.edgetype.flex; import org.opentripplanner.routing.edgetype.PreAlightEdge; import org.opentripplanner.routing.edgetype.StationEdge; diff --git a/src/main/java/org/opentripplanner/routing/edgetype/temporary/TemporaryPreBoardEdge.java b/src/main/java/org/opentripplanner/routing/edgetype/flex/TemporaryPreBoardEdge.java similarity index 96% rename from src/main/java/org/opentripplanner/routing/edgetype/temporary/TemporaryPreBoardEdge.java rename to src/main/java/org/opentripplanner/routing/edgetype/flex/TemporaryPreBoardEdge.java index 804837efbd2..66dde6afa87 100644 --- a/src/main/java/org/opentripplanner/routing/edgetype/temporary/TemporaryPreBoardEdge.java +++ b/src/main/java/org/opentripplanner/routing/edgetype/flex/TemporaryPreBoardEdge.java @@ -11,7 +11,7 @@ the License, or (at your option) any later version. You should have received a copy of the GNU General Public License along with this program. If not, see . */ -package org.opentripplanner.routing.edgetype.temporary; +package org.opentripplanner.routing.edgetype.flex; import org.opentripplanner.routing.edgetype.PreBoardEdge; import org.opentripplanner.routing.edgetype.StationEdge; diff --git a/src/main/java/org/opentripplanner/routing/edgetype/temporary/TemporaryStreetTransitLink.java b/src/main/java/org/opentripplanner/routing/edgetype/flex/TemporaryStreetTransitLink.java similarity index 93% rename from src/main/java/org/opentripplanner/routing/edgetype/temporary/TemporaryStreetTransitLink.java rename to src/main/java/org/opentripplanner/routing/edgetype/flex/TemporaryStreetTransitLink.java index 147c05459fb..a4f32924041 100644 --- a/src/main/java/org/opentripplanner/routing/edgetype/temporary/TemporaryStreetTransitLink.java +++ b/src/main/java/org/opentripplanner/routing/edgetype/flex/TemporaryStreetTransitLink.java @@ -1,4 +1,4 @@ -package org.opentripplanner.routing.edgetype.temporary; +package org.opentripplanner.routing.edgetype.flex; import org.opentripplanner.routing.edgetype.StreetTransitLink; import org.opentripplanner.routing.edgetype.TemporaryEdge; diff --git a/src/main/java/org/opentripplanner/routing/edgetype/temporary/TemporaryTransitBoardAlight.java b/src/main/java/org/opentripplanner/routing/edgetype/flex/TemporaryTransitBoardAlight.java similarity index 95% rename from src/main/java/org/opentripplanner/routing/edgetype/temporary/TemporaryTransitBoardAlight.java rename to src/main/java/org/opentripplanner/routing/edgetype/flex/TemporaryTransitBoardAlight.java index 9696188cbde..32d497689f6 100644 --- a/src/main/java/org/opentripplanner/routing/edgetype/temporary/TemporaryTransitBoardAlight.java +++ b/src/main/java/org/opentripplanner/routing/edgetype/flex/TemporaryTransitBoardAlight.java @@ -1,4 +1,4 @@ -package org.opentripplanner.routing.edgetype.temporary; +package org.opentripplanner.routing.edgetype.flex; import org.opentripplanner.routing.core.TraverseMode; import org.opentripplanner.routing.edgetype.TemporaryEdge; From d02e9696ec1ceb5cb4c94f64609c2c18720792c1 Mon Sep 17 00:00:00 2001 From: dbenoff Date: Mon, 20 Feb 2017 18:04:33 -0800 Subject: [PATCH 008/226] flex routing works! --- .../routing/algorithm/AStar.java | 29 ++++----------- .../InterleavedBidirectionalHeuristic.java | 33 ++++++----------- .../routing/edgetype/PatternHop.java | 36 +++++++++---------- .../routing/impl/GraphPathFinder.java | 1 - 4 files changed, 36 insertions(+), 63 deletions(-) diff --git a/src/main/java/org/opentripplanner/routing/algorithm/AStar.java b/src/main/java/org/opentripplanner/routing/algorithm/AStar.java index a5894a09a79..78c94b5b5a7 100644 --- a/src/main/java/org/opentripplanner/routing/algorithm/AStar.java +++ b/src/main/java/org/opentripplanner/routing/algorithm/AStar.java @@ -13,11 +13,7 @@ the License, or (at your option) any later version. package org.opentripplanner.routing.algorithm; -import java.util.Collection; -import java.util.Collections; -import java.util.LinkedList; -import java.util.List; - +import com.beust.jcommander.internal.Lists; import org.opentripplanner.common.pqueue.BinHeap; import org.opentripplanner.routing.algorithm.strategies.RemainingWeightHeuristic; import org.opentripplanner.routing.algorithm.strategies.SearchTerminationStrategy; @@ -25,20 +21,20 @@ the License, or (at your option) any later version. import org.opentripplanner.routing.core.RoutingContext; import org.opentripplanner.routing.core.RoutingRequest; import org.opentripplanner.routing.core.State; -import org.opentripplanner.routing.edgetype.PatternDwell; -import org.opentripplanner.routing.edgetype.StreetEdge; -import org.opentripplanner.routing.edgetype.TemporaryEdge; -import org.opentripplanner.routing.edgetype.temporary.TemporaryPatternHop; +import org.opentripplanner.routing.edgetype.flex.TemporaryPatternHop; import org.opentripplanner.routing.graph.Edge; import org.opentripplanner.routing.graph.Vertex; -import org.opentripplanner.routing.spt.*; +import org.opentripplanner.routing.spt.GraphPath; +import org.opentripplanner.routing.spt.ShortestPathTree; import org.opentripplanner.util.DateUtils; import org.opentripplanner.util.monitoring.MonitoringStore; import org.opentripplanner.util.monitoring.MonitoringStoreFactory; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import com.beust.jcommander.internal.Lists; +import java.util.Collection; +import java.util.LinkedList; +import java.util.List; /** * Find the shortest path between graph vertices using A*. @@ -183,17 +179,6 @@ boolean iterate(){ Collection edges = runState.options.arriveBy ? runState.u_vertex.getIncoming() : runState.u_vertex.getOutgoing(); - if(edges.size() > 1){ - for (Edge edge : edges) { - if (runState.u.stateData.tripId != null - && runState.u.stateData.tripId.getId().equals("110695680") - && edge instanceof TemporaryPatternHop) { - String backEdge = runState.u.getBackEdge().toString(); - String edgeClass = runState.u.getBackEdge().getClass().getName(); - } - } - } - for (Edge edge : edges) { // Iterate over traversal results. When an edge leads nowhere (as indicated by // returning NULL), the iteration is over. TODO Use this to board multiple trips. diff --git a/src/main/java/org/opentripplanner/routing/algorithm/strategies/InterleavedBidirectionalHeuristic.java b/src/main/java/org/opentripplanner/routing/algorithm/strategies/InterleavedBidirectionalHeuristic.java index fac3b216118..13e3fd7fcce 100644 --- a/src/main/java/org/opentripplanner/routing/algorithm/strategies/InterleavedBidirectionalHeuristic.java +++ b/src/main/java/org/opentripplanner/routing/algorithm/strategies/InterleavedBidirectionalHeuristic.java @@ -367,10 +367,6 @@ private TObjectDoubleMap streetSearch (RoutingRequest rr, boolean fromTa } } - for(TripPattern tripPattern : tripPatternStateMap.keySet()){ - State s = tripPatternStateMap.get(tripPattern); - } - Map> stateToTripPatternsMap = new HashMap<>(); for(TripPattern tripPattern : tripPatternStateMap.keySet()){ State s = tripPatternStateMap.get(tripPattern); @@ -388,7 +384,7 @@ private TObjectDoubleMap streetSearch (RoutingRequest rr, boolean fromTa flagStop.setId(new AgencyAndId("1", String.valueOf(Math.random()))); flagStop.setLat(v.getLat()); flagStop.setLon(v.getLon()); - //flagStop.setName(String.valueOf(Math.random())); + flagStop.setName(s.getBackEdge().getName()); TransitStop flagTransitStop = new TransitStop(graph, flagStop); if(fromTarget){ @@ -410,10 +406,6 @@ private TObjectDoubleMap streetSearch (RoutingRequest rr, boolean fromTa for(PatternHop originalPatternHop : patternHops){ - //don't create a flex flag stop if it is very close to one of the existing stops - if(tooCloseToPatternHopStops(originalPatternHop, v)) - continue; - int stopIndex = originalPatternHop.getStopIndex(); TripPattern temporaryTripPattern = createTripPatternWithFlagStopPattern(originalTripPattern, flagStop, originalPatternHop.getStopIndex()); @@ -434,6 +426,8 @@ private TObjectDoubleMap streetSearch (RoutingRequest rr, boolean fromTa }else{ //haven't seen this patternHop, create a flex one LineString preStopHopGeometry = getShortenedPatternHopGeometryForFlagStop(originalPatternHop.getGeometry().getCoordinates(), v.getCoordinate(), fromTarget); + if(preStopHopGeometry == null) + continue; //flex point is very close to the beginning or end of the hop. Leave this hop unchanged; double originalHopGeometryLength = GeometryUtils.getLengthInMeters(originalPatternHop.getGeometry()); double shortenedHopGeometryLength = GeometryUtils.getLengthInMeters(preStopHopGeometry); double distanceRatio = shortenedHopGeometryLength/originalHopGeometryLength; @@ -470,9 +464,10 @@ private TObjectDoubleMap streetSearch (RoutingRequest rr, boolean fromTa for(PatternHop originalPatternHop : patternHops){ - //don't create a flex flag stop if it is very close to one of the existing stops - if(tooCloseToPatternHopStops(originalPatternHop, v)) - continue; + LineString postStopHopGeometry = getShortenedPatternHopGeometryForFlagStop(originalPatternHop.getGeometry().getCoordinates(), v.getCoordinate(), fromTarget); + if(postStopHopGeometry == null) + continue; //flex point is very close to the beginning or end of the hop. Leave this hop unchanged; + TripPattern temporaryTripPattern = createTripPatternWithFlagStopPattern(originalTripPattern, flagStop, originalPatternHop.getStopIndex()); temporaryTripPattern.code = String.valueOf(Math.random()); @@ -480,7 +475,6 @@ private TObjectDoubleMap streetSearch (RoutingRequest rr, boolean fromTa PatternDepartVertex patternDepartVertex = new PatternDepartVertex(graph, temporaryTripPattern, originalPatternHop.getStopIndex()); - LineString postStopHopGeometry = getShortenedPatternHopGeometryForFlagStop(originalPatternHop.getGeometry().getCoordinates(), v.getCoordinate(), fromTarget); double originalHopGeometryLength = GeometryUtils.getLengthInMeters(originalPatternHop.getGeometry()); double shortenedHopGeometryLength = GeometryUtils.getLengthInMeters(postStopHopGeometry); double distanceRatio = shortenedHopGeometryLength/originalHopGeometryLength; @@ -533,6 +527,10 @@ private LineString getShortenedPatternHopGeometryForFlagStop(Coordinate[] lineCo lineCoordinateList.set(lowestDistanceIndex, flexPoint); List shortenedHopGeometry = reverseSearch ? lineCoordinateList.subList(0, lowestDistanceIndex + 1) : lineCoordinateList.subList(lowestDistanceIndex, lineCoordinateList.size()); + if(shortenedHopGeometry.size() < 2){ + return null; + } + return GeometryUtils.getGeometryFactory().createLineString(shortenedHopGeometry.toArray(new Coordinate[shortenedHopGeometry.size()])); } @@ -551,15 +549,6 @@ private TemporaryPatternHop findShortenedPatternHops(PatternHop originalPatternH return null; } - private boolean tooCloseToPatternHopStops(PatternHop originalPatternHop, Vertex v){ - //don't create a temporary flag stop if it is very close to one of the existing stops - Double startDistance = SphericalDistanceLibrary.fastDistance(originalPatternHop.getFromVertex().getCoordinate(), v.getCoordinate()); - Double endDistance = SphericalDistanceLibrary.fastDistance(originalPatternHop.getToVertex().getCoordinate(), v.getCoordinate()); - if(startDistance < 10 || endDistance < 10) - return true; - return false; - } - private TripPattern createTripPatternWithFlagStopPattern(TripPattern tripPattern, Stop flagStop, int stopIndex){ TripPattern clonedTripPattern = SerializationUtils.clone(tripPattern); clonedTripPattern.stopPattern.stops[stopIndex] = flagStop; diff --git a/src/main/java/org/opentripplanner/routing/edgetype/PatternHop.java b/src/main/java/org/opentripplanner/routing/edgetype/PatternHop.java index bcbafe6ad04..f9f19d310c3 100644 --- a/src/main/java/org/opentripplanner/routing/edgetype/PatternHop.java +++ b/src/main/java/org/opentripplanner/routing/edgetype/PatternHop.java @@ -13,20 +13,22 @@ the License, or (at your option) any later version. package org.opentripplanner.routing.edgetype; -import java.util.Locale; - +import com.vividsolutions.jts.geom.Coordinate; +import com.vividsolutions.jts.geom.LineString; import com.vividsolutions.jts.geom.Point; -import com.vividsolutions.jts.linearref.LengthIndexedLine; import org.onebusaway.gtfs.model.Stop; import org.opentripplanner.common.geometry.GeometryUtils; import org.opentripplanner.common.geometry.SphericalDistanceLibrary; import org.opentripplanner.gtfs.GtfsLibrary; -import org.opentripplanner.routing.core.*; -import org.opentripplanner.routing.edgetype.temporary.TemporaryPatternHop; +import org.opentripplanner.routing.core.RoutingRequest; +import org.opentripplanner.routing.core.State; +import org.opentripplanner.routing.core.StateEditor; +import org.opentripplanner.routing.core.TraverseMode; +import org.opentripplanner.routing.edgetype.flex.TemporaryPatternHop; import org.opentripplanner.routing.trippattern.TripTimes; import org.opentripplanner.routing.vertextype.PatternStopVertex; -import com.vividsolutions.jts.geom.Coordinate; -import com.vividsolutions.jts.geom.LineString; + +import java.util.Locale; /** * A transit vehicle's journey between departure at one stop and arrival at the next. @@ -86,6 +88,8 @@ public State optimisticTraverse(State state0) { } int runningTime = getPattern().scheduledTimetable.getBestRunningTime(stopIndex); + if(this instanceof TemporaryPatternHop) + runningTime = (int) (runningTime * ((TemporaryPatternHop)this).distanceRatio); StateEditor s1 = state0.edit(this); s1.incrementTimeInSeconds(runningTime); s1.setBackMode(getMode()); @@ -95,7 +99,13 @@ public State optimisticTraverse(State state0) { @Override public double timeLowerBound(RoutingRequest options) { - return getPattern().scheduledTimetable.getBestRunningTime(stopIndex); + if(this instanceof TemporaryPatternHop){ + int runningTime = getPattern().scheduledTimetable.getBestRunningTime(stopIndex); + double distanceRatio = ((TemporaryPatternHop)this).distanceRatio; + return (int) runningTime * distanceRatio; + }else{ + return getPattern().scheduledTimetable.getBestRunningTime(stopIndex); + } } @Override @@ -132,16 +142,6 @@ public State traverse(State s0) { //s1.setRoute(pattern.getExemplar().route.getId()); s1.incrementWeight(runningTime); s1.setBackMode(getMode()); - if(this.toString().indexOf("1:15:0:05_10_D lat,lng=39.739934,-104.977259")> -1){ - State newState = s1.makeState(); - if(this instanceof TemporaryPatternHop){ - System.out.println("temporary running time: " + runningTime + " weight: " + newState.getWeight() + " for: " + this); - }else{ - System.out.println("running time: " + runningTime + " weight: " + newState.getWeight() + " for: " + this); - } - - return newState; - } return s1.makeState(); } diff --git a/src/main/java/org/opentripplanner/routing/impl/GraphPathFinder.java b/src/main/java/org/opentripplanner/routing/impl/GraphPathFinder.java index 608864b2409..09ec408bd1b 100644 --- a/src/main/java/org/opentripplanner/routing/impl/GraphPathFinder.java +++ b/src/main/java/org/opentripplanner/routing/impl/GraphPathFinder.java @@ -26,7 +26,6 @@ the License, or (at your option) any later version. import org.opentripplanner.routing.core.RoutingRequest; import org.opentripplanner.routing.core.State; import org.opentripplanner.routing.edgetype.LegSwitchingEdge; -import org.opentripplanner.routing.edgetype.temporary.TemporaryPatternHop; import org.opentripplanner.routing.error.PathNotFoundException; import org.opentripplanner.routing.error.VertexNotFoundException; import org.opentripplanner.routing.graph.Edge; From c51284d4061cf3ff3fbd5fb74852614e50a80ded Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Tue, 21 Feb 2017 15:43:15 -0500 Subject: [PATCH 009/226] hop-to-hop transfers --- .../module/FlexDirectTransferGenerator.java | 104 +++++++++++------- 1 file changed, 67 insertions(+), 37 deletions(-) diff --git a/src/main/java/org/opentripplanner/graph_builder/module/FlexDirectTransferGenerator.java b/src/main/java/org/opentripplanner/graph_builder/module/FlexDirectTransferGenerator.java index 6acc10a1f89..141a57c0137 100644 --- a/src/main/java/org/opentripplanner/graph_builder/module/FlexDirectTransferGenerator.java +++ b/src/main/java/org/opentripplanner/graph_builder/module/FlexDirectTransferGenerator.java @@ -91,6 +91,7 @@ public List getPrerequisites() { StreetMatcher matcher; GeometryFactory geometryFactory = GeometryUtils.getGeometryFactory(); + Multimap flexPatternsToIgnore = ArrayListMultimap.create(); @Override public void buildGraph(Graph graph, HashMap, Object> extra) { @@ -105,14 +106,20 @@ public void buildGraph(Graph graph, HashMap, Object> extra) { int nTransfersTotal = 0; int nLinkableHops = 0; + int nSkippedHops = 0; for (TripPattern tripPattern : graph.index.patternsForFeedId.values()) { for (PatternHop hop : tripPattern.getPatternHops()) { + if (hop.getDistance() < MAX_DISTANCE) { + nSkippedHops++; + continue; + } + // for each hop, find nearby stops and hops. create transfers. if (hop.getContinuousDropoff() > 0 || hop.getContinuousPickup() > 0) { if (++nLinkableHops % 1000 == 0) { - LOG.info("Linked {} hops", nLinkableHops); + LOG.info("Linked {} hops, skipped {} hops", nLinkableHops, nSkippedHops); } // Exclude a transfer point if the transfer from DirectTransferGenerator would be better: @@ -124,6 +131,9 @@ public void buildGraph(Graph graph, HashMap, Object> extra) { for (TransferPointAtDistance pt : pts) { if (!shouldExclude(hop, pt)) { link(graph, hop, pt); + if (!pt.isTransitStop()) { + flexPatternsToIgnore.put(pt.hop.getPattern(), tripPattern); + } } } } @@ -181,9 +191,12 @@ public void visitVertex(State state) { // get hops if (state.backEdge instanceof StreetEdge) { for (PatternHop h : graph.index.getHopsForEdge(state.backEdge, true)) { + if (flexPatternsToIgnore.get(hop.getPattern()).contains(h.getPattern())) { + continue; + } if (h.getContinuousPickup() > 0 || h.getContinuousDropoff() > 0) { TripPattern pattern = h.getPattern(); - TransferPointAtDistance pt = new TransferPointAtDistance(hop, state, h, state.getVertex().getCoordinate()); + TransferPointAtDistance pt = new TransferPointAtDistance(hop, state, h, state.getVertex()); closestTransferPointForTripPattern.put(pattern, pt); } } @@ -222,41 +235,58 @@ public void visitEnqueue(State state) { } public void link(Graph graph, PatternHop hop, TransferPointAtDistance point) { + if (point.isTransitStop()) { // linking from a hop to a transit stop - Vertex v = point.getFrom(); - Stop stop = new Stop(); - stop.setId(new AgencyAndId(hop.getPattern().getFeedId(), String.valueOf(Math.random()))); - stop.setLat(v.getLat()); - stop.setLon(v.getLon()); - - String msg = String.format("Transfer from pattern=%s, stopIndex=%d, pos=%s to stop=%s, dist=%g, dafh=%g", hop.getPattern().code, hop.getStopIndex(), v.getCoordinate().toString(), point.tstop.toString(), point.dist, point.distanceAlongFromHop); - stop.setName(msg); - TransitStop transferStop = new TransitStop(graph, stop); - - // hop -> stop transfer - PatternArriveVertex patternArriveVertex = new PatternArriveVertex(graph, hop.getPattern(), hop.getStopIndex(), stop); - TransitStopArrive transitStopArrive = new TransitStopArrive(graph, stop, transferStop); - PartialPatternHop startHop = PartialPatternHop.startHop(hop, patternArriveVertex, stop, matcher, geometryFactory); - new TransitBoardAlightAtFlex(patternArriveVertex, transitStopArrive, hop.getStopIndex(), hop.getPattern().mode, startHop.getPercentageOfHop()); - new PreAlightEdge(transitStopArrive, transferStop); - new SimpleTransfer(transferStop, point.tstop, point.dist, point.geom, point.edges); - - // stop -> hop - TransitStopDepart transitStopDepart = new TransitStopDepart(graph, stop, transferStop); - PatternDepartVertex patternDepartVertex = new PatternDepartVertex(graph, hop.getPattern(), hop.getStopIndex(), stop); - new PreBoardEdge(transferStop, transitStopDepart); - PartialPatternHop endHop = PartialPatternHop.endHop(hop, patternDepartVertex, stop, matcher, geometryFactory); - new TransitBoardAlightAtFlex(transitStopDepart, patternDepartVertex, hop.getStopIndex(), hop.getPattern().mode, endHop.getPercentageOfHop()); + String msg = String.format("Transfer from pattern=%s, stopIndex=%d, pos=%s to stop=%s, dist=%g, dafh=%g", hop.getPattern().code, hop.getStopIndex(), point.getFrom().getCoordinate().toString(), point.tstop.toString(), point.dist, point.distanceAlongFromHop); + TransitStop transferStop = newStopOnPartialHop(graph, hop, point.getFrom(), msg); TransferPointAtDistance rev = point.reverse(); + + new SimpleTransfer(transferStop, point.tstop, point.dist, point.geom, point.edges); new SimpleTransfer(point.tstop, transferStop, rev.dist, rev.geom, rev.edges); } else { - // TODO + PatternHop toHop = point.hop; + String fromMsg = String.format("transfer FROM pattern=%s, stopIndex=%d, pos=%s", hop.getPattern().code, hop.getStopIndex(), point.getFrom().getCoordinate()); + String toMsg = String.format("transfer TO pattern=%s, stopindex=%d, pos=%s", toHop.getPattern().code, toHop.getStopIndex(), point.hopTo.getCoordinate()); + + TransitStop fromStop = newStopOnPartialHop(graph, hop, point.getFrom(), fromMsg); + TransitStop toStop = newStopOnPartialHop(graph, toHop, point.hopTo, toMsg); + TransferPointAtDistance rev = point.reverse(); + + new SimpleTransfer(fromStop, toStop, point.dist, point.geom, point.edges); + new SimpleTransfer(toStop, fromStop, rev.dist, rev.geom, rev.edges); + } } + private TransitStop newStopOnPartialHop(Graph graph, PatternHop hop, Vertex vertex, String name) { + Stop stop = new Stop(); + stop.setId(new AgencyAndId(hop.getPattern().getFeedId(), String.valueOf(Math.random()))); + stop.setLat(vertex.getLat()); + stop.setLon(vertex.getLon()); + stop.setName(name); + + TransitStop transferStop = new TransitStop(graph, stop); + + // hop -> stop transfer + PatternArriveVertex patternArriveVertex = new PatternArriveVertex(graph, hop.getPattern(), hop.getStopIndex(), stop); + TransitStopArrive transitStopArrive = new TransitStopArrive(graph, stop, transferStop); + PartialPatternHop startHop = PartialPatternHop.startHop(hop, patternArriveVertex, stop, matcher, geometryFactory); + new TransitBoardAlightAtFlex(patternArriveVertex, transitStopArrive, hop.getStopIndex(), hop.getPattern().mode, startHop.getPercentageOfHop()); + new PreAlightEdge(transitStopArrive, transferStop); + + // stop -> hop + TransitStopDepart transitStopDepart = new TransitStopDepart(graph, stop, transferStop); + PatternDepartVertex patternDepartVertex = new PatternDepartVertex(graph, hop.getPattern(), hop.getStopIndex(), stop); + new PreBoardEdge(transferStop, transitStopDepart); + PartialPatternHop endHop = PartialPatternHop.endHop(hop, patternDepartVertex, stop, matcher, geometryFactory); + new TransitBoardAlightAtFlex(transitStopDepart, patternDepartVertex, hop.getStopIndex(), hop.getPattern().mode, endHop.getPercentageOfHop()); + + return transferStop; + } + private static boolean tooClose(Vertex v, Vertex w) { return SphericalDistanceLibrary.fastDistance(v.getLat(), v.getLon(), w.getLat(), w.getLon()) < TRANSIT_STOP_CUTOFF; } @@ -285,9 +315,9 @@ class TransferPointAtDistance { LineString geom; List edges; PatternHop hop; - Coordinate locationOnHop; - Vertex from; + Vertex hopTo; // if hop + Vertex from; PatternHop fromHop; double distanceAlongFromHop; // distance along original hop @@ -298,10 +328,10 @@ public TransferPointAtDistance(PatternHop fromHop, State state, TransitStop tsto this.tstop = tstop; } - public TransferPointAtDistance(PatternHop fromHop, State state, PatternHop hop, Coordinate coord) { + public TransferPointAtDistance(PatternHop fromHop, State state, PatternHop hop, Vertex vertex) { this(fromHop, state); this.hop = hop; - this.locationOnHop = coord; + this.hopTo = vertex; } public boolean isTransitStop() { @@ -371,7 +401,7 @@ public boolean equals(Object o) { if (Double.compare(that.dist, dist) != 0) return false; if (tstop != null ? !tstop.equals(that.tstop) : that.tstop != null) return false; if (hop != null ? !hop.equals(that.hop) : that.hop != null) return false; - return locationOnHop != null ? locationOnHop.equals(that.locationOnHop) : that.locationOnHop == null; + return hopTo != null ? hopTo.equals(that.hopTo) : that.hopTo == null; } @Override @@ -382,24 +412,24 @@ public int hashCode() { temp = Double.doubleToLongBits(dist); result = 31 * result + (int) (temp ^ (temp >>> 32)); result = 31 * result + (hop != null ? hop.hashCode() : 0); - result = 31 * result + (locationOnHop != null ? locationOnHop.hashCode() : 0); + result = 31 * result + (hopTo != null ? hopTo.hashCode() : 0); return result; } @Override public String toString() { return "TransferPointAtDistance[dist=" + dist + "," + - ((tstop != null) ? ("tstop=" + tstop.toString()) : ("hop=" + hop.toString() + ",coord=" + locationOnHop.toString())) + ((tstop != null) ? ("tstop=" + tstop.toString()) : ("hop=" + hop.toString() + ",coord=" + hopTo.toString())) + "]"; } public boolean betterThan(TransferPointAtDistance other, boolean preferEarlyTransfer) { if (other == null) return true; - // prefer a transfer point that is at a real stop [unless the real stop is outside the cutoff away?] - if (this.isTransitStop() && !other.isTransitStop()) + // prefer a transfer point that is at a real stop [unless the real stop is outside some cutoff away?] + if (this.isTransitStop() && !other.isTransitStop() && this.dist < other.dist + 500) return true; - if (!this.isTransitStop() && other.isTransitStop()) + if (!this.isTransitStop() && other.isTransitStop() && other.dist < this.dist + 500) return false; // prefer traveling a shorter distance as long as the difference is not trivial. (should this be "softer"? if your walk preferences are larger you might prefer to walk a "cutoff") From ab4eba4dca56bc9de53ee1490e5ace598b15e7c5 Mon Sep 17 00:00:00 2001 From: dbenoff Date: Tue, 7 Mar 2017 07:10:14 -0800 Subject: [PATCH 010/226] reverse optimizing works --- .../routing/algorithm/AStar.java | 7 +-- .../InterleavedBidirectionalHeuristic.java | 24 +++---- .../routing/core/RoutingContext.java | 14 +++-- .../routing/core/ServiceDay.java | 2 +- .../opentripplanner/routing/core/State.java | 2 + .../routing/core/StateData.java | 7 ++- .../routing/edgetype/PatternHop.java | 23 +++++-- .../routing/edgetype/TransitBoardAlight.java | 62 ++++++++++++++----- .../edgetype/flex/TemporaryPatternHop.java | 1 + .../routing/graph/GraphIndex.java | 40 +----------- .../routing/impl/GraphPathFinder.java | 1 - .../routing/spt/GraphPath.java | 22 +++++-- .../vertextype/PatternArriveVertex.java | 9 +++ .../vertextype/PatternDepartVertex.java | 11 +++- 14 files changed, 135 insertions(+), 90 deletions(-) diff --git a/src/main/java/org/opentripplanner/routing/algorithm/AStar.java b/src/main/java/org/opentripplanner/routing/algorithm/AStar.java index 78c94b5b5a7..6d0c6f9afa5 100644 --- a/src/main/java/org/opentripplanner/routing/algorithm/AStar.java +++ b/src/main/java/org/opentripplanner/routing/algorithm/AStar.java @@ -21,7 +21,6 @@ the License, or (at your option) any later version. import org.opentripplanner.routing.core.RoutingContext; import org.opentripplanner.routing.core.RoutingRequest; import org.opentripplanner.routing.core.State; -import org.opentripplanner.routing.edgetype.flex.TemporaryPatternHop; import org.opentripplanner.routing.graph.Edge; import org.opentripplanner.routing.graph.Vertex; import org.opentripplanner.routing.spt.GraphPath; @@ -178,8 +177,8 @@ boolean iterate(){ runState.nVisited += 1; Collection edges = runState.options.arriveBy ? runState.u_vertex.getIncoming() : runState.u_vertex.getOutgoing(); - for (Edge edge : edges) { + // Iterate over traversal results. When an edge leads nowhere (as indicated by // returning NULL), the iteration is over. TODO Use this to board multiple trips. for (State v = edge.traverse(runState.u); v != null; v = v.getNextResult()) { @@ -368,8 +367,4 @@ public List getPathsToTarget() { } return ret; } - - public BinHeap getPq(){ - return this.runState.pq; - } } diff --git a/src/main/java/org/opentripplanner/routing/algorithm/strategies/InterleavedBidirectionalHeuristic.java b/src/main/java/org/opentripplanner/routing/algorithm/strategies/InterleavedBidirectionalHeuristic.java index 13e3fd7fcce..fcff7628a11 100644 --- a/src/main/java/org/opentripplanner/routing/algorithm/strategies/InterleavedBidirectionalHeuristic.java +++ b/src/main/java/org/opentripplanner/routing/algorithm/strategies/InterleavedBidirectionalHeuristic.java @@ -376,15 +376,18 @@ private TObjectDoubleMap streetSearch (RoutingRequest rr, boolean fromTa stateToTripPatternsMap.get(s).add(tripPattern); } + int i = 0; for(State s : stateToTripPatternsMap.keySet()){ Vertex v = fromTarget ? s.getBackEdge().getToVertex() : s.getBackEdge().getFromVertex(); Stop flagStop = new Stop(); + flagStop.setId(new AgencyAndId("1", "temp_" + String.valueOf(i))); flagStop.setId(new AgencyAndId("1", String.valueOf(Math.random()))); flagStop.setLat(v.getLat()); flagStop.setLon(v.getLon()); flagStop.setName(s.getBackEdge().getName()); + flagStop.setLocationType(99); TransitStop flagTransitStop = new TransitStop(graph, flagStop); if(fromTarget){ @@ -408,11 +411,12 @@ private TObjectDoubleMap streetSearch (RoutingRequest rr, boolean fromTa int stopIndex = originalPatternHop.getStopIndex(); - TripPattern temporaryTripPattern = createTripPatternWithFlagStopPattern(originalTripPattern, flagStop, originalPatternHop.getStopIndex()); - temporaryTripPattern.code = String.valueOf(Math.random()); + //TODO make deep copy of trip pattern + TripPattern temporaryTripPattern = originalTripPattern; PatternArriveVertex patternArriveVertex = - new PatternArriveVertex(graph, temporaryTripPattern, stopIndex); + new PatternArriveVertex(graph, temporaryTripPattern, stopIndex, flagStop); + rr.rctx.temporaryVertices.add(patternArriveVertex); TemporaryPatternHop forwardSearchPatternHop = findShortenedPatternHops(originalPatternHop); if(forwardSearchPatternHop != null){ @@ -469,11 +473,12 @@ private TObjectDoubleMap streetSearch (RoutingRequest rr, boolean fromTa continue; //flex point is very close to the beginning or end of the hop. Leave this hop unchanged; - TripPattern temporaryTripPattern = createTripPatternWithFlagStopPattern(originalTripPattern, flagStop, originalPatternHop.getStopIndex()); - temporaryTripPattern.code = String.valueOf(Math.random()); + //TODO make deep copy of trip pattern + TripPattern temporaryTripPattern = originalTripPattern; PatternDepartVertex patternDepartVertex = - new PatternDepartVertex(graph, temporaryTripPattern, originalPatternHop.getStopIndex()); + new PatternDepartVertex(graph, temporaryTripPattern, originalPatternHop.getStopIndex(), flagStop); + rr.rctx.temporaryVertices.add(patternDepartVertex); double originalHopGeometryLength = GeometryUtils.getLengthInMeters(originalPatternHop.getGeometry()); double shortenedHopGeometryLength = GeometryUtils.getLengthInMeters(postStopHopGeometry); @@ -492,6 +497,7 @@ private TObjectDoubleMap streetSearch (RoutingRequest rr, boolean fromTa } } } + i++; } LOG.debug("Heuristric street search hit {} vertices.", vertices.size()); @@ -549,10 +555,4 @@ private TemporaryPatternHop findShortenedPatternHops(PatternHop originalPatternH return null; } - private TripPattern createTripPatternWithFlagStopPattern(TripPattern tripPattern, Stop flagStop, int stopIndex){ - TripPattern clonedTripPattern = SerializationUtils.clone(tripPattern); - clonedTripPattern.stopPattern.stops[stopIndex] = flagStop; - return clonedTripPattern; - } - } diff --git a/src/main/java/org/opentripplanner/routing/core/RoutingContext.java b/src/main/java/org/opentripplanner/routing/core/RoutingContext.java index bd38ed39ef1..12e3e13cd6d 100644 --- a/src/main/java/org/opentripplanner/routing/core/RoutingContext.java +++ b/src/main/java/org/opentripplanner/routing/core/RoutingContext.java @@ -123,6 +123,8 @@ public class RoutingContext implements Cloneable { public Collection temporaryEdges = new ArrayList<>(); + public Collection temporaryVertices = new ArrayList<>(); + /* CONSTRUCTORS */ /** @@ -414,11 +416,13 @@ public boolean isWheelchairAccessible(Vertex v) { public void destroy() { if (origin instanceof TemporaryVertex) ((TemporaryVertex) origin).dispose(); if (target instanceof TemporaryVertex) ((TemporaryVertex) target).dispose(); - if(temporaryEdges != null){ - for(TemporaryEdge temporaryEdge : temporaryEdges){ - temporaryEdge.dispose(); - } - } + + LOG.debug("ms Cleaning up {} temporary edges", temporaryEdges.size()); + temporaryEdges.forEach(TemporaryEdge::dispose); + temporaryEdges.clear(); + + temporaryVertices.forEach(graph::remove); + temporaryVertices.clear(); } } diff --git a/src/main/java/org/opentripplanner/routing/core/ServiceDay.java b/src/main/java/org/opentripplanner/routing/core/ServiceDay.java index 6e14efd281d..75fb147f0a1 100644 --- a/src/main/java/org/opentripplanner/routing/core/ServiceDay.java +++ b/src/main/java/org/opentripplanner/routing/core/ServiceDay.java @@ -35,7 +35,7 @@ the License, or (props, at your option) any later version. public class ServiceDay implements Serializable { private static final long serialVersionUID = -1206371243806996680L; - protected long midnight; + public long midnight; protected ServiceDate serviceDate; protected BitSet serviceIdsRunning; diff --git a/src/main/java/org/opentripplanner/routing/core/State.java b/src/main/java/org/opentripplanner/routing/core/State.java index 01fa70fc93e..3a8594ca816 100644 --- a/src/main/java/org/opentripplanner/routing/core/State.java +++ b/src/main/java/org/opentripplanner/routing/core/State.java @@ -482,6 +482,8 @@ public State reversedClone() { newState.stateData.usingRentedBike = stateData.usingRentedBike; newState.stateData.carParked = stateData.carParked; newState.stateData.bikeParked = stateData.bikeParked; + newState.stateData.flagStopDepartureOffsets = stateData.flagStopDepartureOffsets; + newState.stateData.flagStopArrivalOffsets = stateData.flagStopArrivalOffsets; return newState; } diff --git a/src/main/java/org/opentripplanner/routing/core/StateData.java b/src/main/java/org/opentripplanner/routing/core/StateData.java index 20d6cb8d577..29625ec3552 100644 --- a/src/main/java/org/opentripplanner/routing/core/StateData.java +++ b/src/main/java/org/opentripplanner/routing/core/StateData.java @@ -14,6 +14,7 @@ the License, or (props, at your option) any later version. package org.opentripplanner.routing.core; import java.util.HashMap; +import java.util.Map; import java.util.Set; import org.onebusaway.gtfs.model.AgencyAndId; @@ -35,7 +36,7 @@ public class StateData implements Cloneable { // which trip index inside a pattern protected TripTimes tripTimes; - public AgencyAndId tripId; + protected AgencyAndId tripId; protected Trip previousTrip; @@ -97,6 +98,10 @@ public class StateData implements Cloneable { /* This boolean is set to true upon transition from a normal street to a no-through-traffic street. */ protected boolean enteredNoThroughTrafficArea; + public Map flagStopDepartureOffsets; + + public Map flagStopArrivalOffsets; + public StateData(RoutingRequest options) { TraverseModeSet modes = options.modes; if (modes.getCar()) diff --git a/src/main/java/org/opentripplanner/routing/edgetype/PatternHop.java b/src/main/java/org/opentripplanner/routing/edgetype/PatternHop.java index f9f19d310c3..71e5d90e595 100644 --- a/src/main/java/org/opentripplanner/routing/edgetype/PatternHop.java +++ b/src/main/java/org/opentripplanner/routing/edgetype/PatternHop.java @@ -28,6 +28,7 @@ the License, or (at your option) any later version. import org.opentripplanner.routing.trippattern.TripTimes; import org.opentripplanner.routing.vertextype.PatternStopVertex; +import java.util.HashMap; import java.util.Locale; /** @@ -89,7 +90,7 @@ public State optimisticTraverse(State state0) { int runningTime = getPattern().scheduledTimetable.getBestRunningTime(stopIndex); if(this instanceof TemporaryPatternHop) - runningTime = (int) (runningTime * ((TemporaryPatternHop)this).distanceRatio); + runningTime = (int)Math.round(runningTime * ((TemporaryPatternHop)this).distanceRatio); StateEditor s1 = state0.edit(this); s1.incrementTimeInSeconds(runningTime); s1.setBackMode(getMode()); @@ -107,7 +108,7 @@ public double timeLowerBound(RoutingRequest options) { return getPattern().scheduledTimetable.getBestRunningTime(stopIndex); } } - + @Override public double weightLowerBound(RoutingRequest options) { return timeLowerBound(options); @@ -128,9 +129,23 @@ public State traverse(State s0) { TripTimes tripTimes = s0.getTripTimes(); int runningTime = tripTimes.getRunningTime(stopIndex); - if(this instanceof TemporaryPatternHop){ + //TODO handle cases where both stops on the hop are flag stops + if(this instanceof TemporaryPatternHop && !options.reverseOptimizing){ double distanceRatio = ((TemporaryPatternHop)this).distanceRatio; - runningTime = (int) (runningTime * distanceRatio); + int originalRunningTime = runningTime; + runningTime = (int) Math.round(runningTime * distanceRatio); + int diff = originalRunningTime - runningTime; + if(s0.stateData.flagStopArrivalOffsets == null) + s0.stateData.flagStopArrivalOffsets = new HashMap<>(); + if(s0.stateData.flagStopDepartureOffsets == null) + s0.stateData.flagStopDepartureOffsets = new HashMap<>(); + if(this.getBeginStop().getLocationType() == 99 + && this.getEndStop().getLocationType() == 99) + throw new RuntimeException("how to handle this?"); + if(this.getBeginStop().getLocationType() == 99) + s0.stateData.flagStopDepartureOffsets.put(this.getPattern().code + "|" + this.getStopIndex(), diff); + if(this.getEndStop().getLocationType() == 99) + s0.stateData.flagStopArrivalOffsets.put(this.getPattern().code + "|" + (this.getStopIndex() + 1), diff); } StateEditor s1 = s0.edit(this); diff --git a/src/main/java/org/opentripplanner/routing/edgetype/TransitBoardAlight.java b/src/main/java/org/opentripplanner/routing/edgetype/TransitBoardAlight.java index 8faf04c9d18..9c44ac086d1 100644 --- a/src/main/java/org/opentripplanner/routing/edgetype/TransitBoardAlight.java +++ b/src/main/java/org/opentripplanner/routing/edgetype/TransitBoardAlight.java @@ -29,6 +29,8 @@ the License, or (at your option) any later version. import org.opentripplanner.routing.core.TransferTable; import org.opentripplanner.routing.core.TraverseMode; import org.opentripplanner.routing.core.TraverseModeSet; +import org.opentripplanner.routing.edgetype.flex.TemporaryPatternHop; +import org.opentripplanner.routing.edgetype.flex.TemporaryTransitBoardAlight; import org.opentripplanner.routing.trippattern.TripTimes; import org.opentripplanner.routing.vertextype.PatternStopVertex; import org.opentripplanner.routing.vertextype.TransitStopArrive; @@ -231,7 +233,20 @@ public State traverse(State s0, long arrivalTimeAtStop) { } s1.setBackMode(getMode()); - return s1.makeState(); + + if (s0.getOptions().reverseOptimizing){ + State ret = s1.makeState(); + long interval = ret.getTimeDeltaSeconds(); + System.out.println("transit alight reverse " + s0.getVertex() + " " + this.getId() + " " + interval + " seconds" ); + return ret; + }else{ + State ret = s1.makeState(); + long interval = ret.getTimeDeltaSeconds(); + System.out.println("transit alight forward " + s0.getVertex() + " " + this.getId() + " " + interval + " seconds"); + return ret; + } + + //return s1.makeState(); } else { /* We are going onto transit and must look for a suitable transit trip on this pattern. */ @@ -282,6 +297,7 @@ public State traverse(State s0, long arrivalTimeAtStop) { (int)(sd.time(tripTimes.getDepartureTime(stopIndex)) - s0.getTimeSeconds()): (int)(s0.getTimeSeconds() - sd.time(tripTimes.getArrivalTime(stopIndex))); /* A trip was found. The wait should be non-negative. */ + System.out.println("getNextTrip id: " + this.getId() + " wait: " + wait + " trip id: " + tripTimes.trip.getId().getId() + " state time: " + new Date(s0.getTimeInMillis()) + " stopIndex: " + stopIndex + " boarding: " + boarding); if (wait < 0) LOG.error("Negative wait time when boarding."); /* Track the soonest departure over all relevant schedules. */ if (bestWait < 0 || wait < bestWait) { @@ -293,7 +309,7 @@ public State traverse(State s0, long arrivalTimeAtStop) { } if (bestWait < 0) return null; // no appropriate trip was found Trip trip = bestTripTimes.trip; - + /* check if route and/or Agency are banned for this plan */ // FIXME this should be done WHILE searching for a trip. if (options.tripIsBanned(trip)) return null; @@ -310,7 +326,24 @@ public State traverse(State s0, long arrivalTimeAtStop) { getStop(), s0.getPreviousTrip(), trip, boarding); transferPenalty = transferTable.determineTransferPenalty(transferTime, options.nonpreferredTransferPenalty); - } + } + + //if this is a flag stop in between two regular stops, + double departureOffset = 0; + if(this instanceof TemporaryTransitBoardAlight){ + if(this.boarding){ + TemporaryPatternHop temporaryPatternHop = (TemporaryPatternHop)this.getToVertex().getOutgoing().iterator().next(); + int runningTime = bestTripTimes.getArrivalTime(stopIndex + 1) - bestTripTimes.getDepartureTime(stopIndex); + departureOffset = runningTime - Math.round(runningTime * temporaryPatternHop.distanceRatio); + bestWait += departureOffset; + }else{ + TemporaryPatternHop temporaryPatternHop = (TemporaryPatternHop)this.getFromVertex().getIncoming().iterator().next(); + int runningTime = bestTripTimes.getArrivalTime(stopIndex + 1) - bestTripTimes.getDepartureTime(stopIndex); + departureOffset = Math.round(runningTime * temporaryPatternHop.distanceRatio); + bestWait += departureOffset; + } + + } /* Found a trip to board. Now make the child state. */ StateEditor s1 = s0.edit(this); @@ -362,21 +395,18 @@ public State traverse(State s0, long arrivalTimeAtStop) { return optimized; } - /*if(this instanceof TemporaryEdge && !s0.isEverBoarded()){ - State test = s1.makeState(); - System.out.println("_________________________" + this.getId()); - System.out.println(this.getFromVertex().getY() + "," + this.getFromVertex().getX()); - System.out.println(this.getToVertex().getY() + "," + this.getToVertex().getX()); - System.out.println("initial weight: " + String.valueOf(s0.getWeight())); - System.out.println("traverse weight: " + String.valueOf(test.getWeight() - s0.getWeight())); - System.out.println("total weight: " + test.getWeight()); - System.out.println("waiting weight: " + (wait_cost + options.getBoardCost(s0.getNonTransitMode()))); - System.out.println(new Date(test.getTimeInMillis()).toString()); - return test; - }*/ + State ret = s1.makeState(); + int interval = ret.getTimeDeltaSeconds(); + if (s0.getOptions().reverseOptimizing) { + System.out.println("transit board reverse " + ret.getVertex() + " id: " + this.getId() + " time: " + new Date(ret.getTimeInMillis()) + " offset: " + departureOffset + " tripId: " + trip.getId().getId()); + }else{ + System.out.println("transit board forward " + ret.getVertex() + " id: " + this.getId() + " time: " + new Date(ret.getTimeInMillis()) + " offset: " + departureOffset + " tripId: " + trip.getId().getId()); + } + + return ret; /* If we didn't return an optimized path, return an unoptimized one. */ - return s1.makeState(); + //return s1.makeState(); } } diff --git a/src/main/java/org/opentripplanner/routing/edgetype/flex/TemporaryPatternHop.java b/src/main/java/org/opentripplanner/routing/edgetype/flex/TemporaryPatternHop.java index 74326008620..4c500e03f3c 100644 --- a/src/main/java/org/opentripplanner/routing/edgetype/flex/TemporaryPatternHop.java +++ b/src/main/java/org/opentripplanner/routing/edgetype/flex/TemporaryPatternHop.java @@ -14,6 +14,7 @@ the License, or (at your option) any later version. package org.opentripplanner.routing.edgetype.flex; import org.onebusaway.gtfs.model.Stop; +import org.opentripplanner.routing.core.RoutingRequest; import org.opentripplanner.routing.edgetype.PatternHop; import org.opentripplanner.routing.edgetype.TemporaryEdge; import org.opentripplanner.routing.vertextype.PatternArriveVertex; diff --git a/src/main/java/org/opentripplanner/routing/graph/GraphIndex.java b/src/main/java/org/opentripplanner/routing/graph/GraphIndex.java index 680a30befac..eef3a2986d0 100644 --- a/src/main/java/org/opentripplanner/routing/graph/GraphIndex.java +++ b/src/main/java/org/opentripplanner/routing/graph/GraphIndex.java @@ -1,37 +1,22 @@ package org.opentripplanner.routing.graph; -import com.google.common.collect.ArrayListMultimap; - -import java.util.*; - -import com.google.common.collect.HashMultimap; -import com.google.common.collect.Lists; -import com.google.common.collect.Maps; -import com.google.common.collect.Multimap; -import com.google.common.collect.Sets; +import com.google.common.collect.*; import com.google.common.util.concurrent.ThreadFactoryBuilder; import com.vividsolutions.jts.geom.Coordinate; import com.vividsolutions.jts.geom.Envelope; import com.vividsolutions.jts.geom.Geometry; -import com.vividsolutions.jts.operation.distance.DistanceOp; import graphql.ExecutionResult; import graphql.GraphQL; import org.apache.lucene.util.PriorityQueue; import org.joda.time.LocalDate; -import org.onebusaway.gtfs.model.Agency; -import org.onebusaway.gtfs.model.AgencyAndId; -import org.onebusaway.gtfs.model.Route; -import org.onebusaway.gtfs.model.Stop; -import org.onebusaway.gtfs.model.Trip; +import org.onebusaway.gtfs.model.*; import org.onebusaway.gtfs.model.calendar.ServiceDate; import org.onebusaway.gtfs.services.calendar.CalendarService; import org.opentripplanner.common.LuceneIndex; -import org.opentripplanner.common.geometry.GeometryUtils; import org.opentripplanner.common.geometry.HashGridSpatialIndex; import org.opentripplanner.common.geometry.SphericalDistanceLibrary; import org.opentripplanner.common.model.GenericLocation; import org.opentripplanner.common.model.P2; -import org.opentripplanner.graph_builder.module.DirectTransferGenerator; import org.opentripplanner.graph_builder.module.map.StreetMatcher; import org.opentripplanner.index.IndexGraphQLSchema; import org.opentripplanner.index.model.StopTimesInPattern; @@ -55,11 +40,7 @@ import org.slf4j.LoggerFactory; import javax.ws.rs.core.Response; -import java.util.BitSet; -import java.util.Collection; -import java.util.List; -import java.util.Map; -import java.util.Set; +import java.util.*; import java.util.concurrent.Executors; /** @@ -739,19 +720,4 @@ public Collection getPatternsForEdge(Edge e) { return patternsForEdge.get(e); } - public Collection getStopsNearPoint(Vertex v, int radiusInMeters){ - Envelope env = new Envelope(new Coordinate(v.getLon(), v.getLat())); - env.expandBy(SphericalDistanceLibrary.metersToLonDegrees(radiusInMeters, v.getLat()), - SphericalDistanceLibrary.metersToDegrees(radiusInMeters)); - Collection transitStops = graph.index.stopSpatialIndex.query(env); - List results = new ArrayList<>(); - for(TransitStop transitStop : transitStops){ - if(radiusInMeters >= SphericalDistanceLibrary.fastDistance(transitStop.getCoordinate(), v.getCoordinate())) - results.add(transitStop); - } - return results; - } - - - } diff --git a/src/main/java/org/opentripplanner/routing/impl/GraphPathFinder.java b/src/main/java/org/opentripplanner/routing/impl/GraphPathFinder.java index 09ec408bd1b..78048268243 100644 --- a/src/main/java/org/opentripplanner/routing/impl/GraphPathFinder.java +++ b/src/main/java/org/opentripplanner/routing/impl/GraphPathFinder.java @@ -17,7 +17,6 @@ the License, or (at your option) any later version. import org.onebusaway.gtfs.model.AgencyAndId; import org.opentripplanner.api.resource.DebugOutput; import org.opentripplanner.common.model.GenericLocation; -import org.opentripplanner.common.pqueue.BinHeap; import org.opentripplanner.routing.algorithm.AStar; import org.opentripplanner.routing.algorithm.strategies.EuclideanRemainingWeightHeuristic; import org.opentripplanner.routing.algorithm.strategies.InterleavedBidirectionalHeuristic; diff --git a/src/main/java/org/opentripplanner/routing/spt/GraphPath.java b/src/main/java/org/opentripplanner/routing/spt/GraphPath.java index 8078987dbc9..d275b859a55 100644 --- a/src/main/java/org/opentripplanner/routing/spt/GraphPath.java +++ b/src/main/java/org/opentripplanner/routing/spt/GraphPath.java @@ -70,21 +70,31 @@ public GraphPath(State s, boolean optimize) { optimize = false; } -// LOG.info("NORMAL"); -// s.dumpPath(); -// LOG.info("OPTIMIZED"); -// s.optimize().dumpPath(); + if(s.isEverBoarded()){ + + LOG.info("NORMAL"); + s.dumpPath(); + LOG.info("OPTIMIZE"); + State s1 = s.optimize(); + s1.dumpPath(); + LOG.info("OPTIMIZE AGAIN"); + State s2 = s1.optimize(); + s2.dumpPath(); + } /* Put path in chronological order, and optimize as necessary */ State lastState; walkDistance = s.getWalkDistance(); + LOG.info("IGNORE______________________________________________"); if (back) { lastState = optimize ? s.optimize() : s.reverse(); } else { - //lastState = optimize ? s.optimize().optimize() : s; + + lastState = optimize ? s.optimize().optimize() : s; } + LOG.info("DONE______________________________________________"); // DEBUG - lastState = s; + // lastState = s; /* * Starting from latest (time-wise) state, copy states to the head of a list in reverse diff --git a/src/main/java/org/opentripplanner/routing/vertextype/PatternArriveVertex.java b/src/main/java/org/opentripplanner/routing/vertextype/PatternArriveVertex.java index 2069f83e06d..3c2646ae7bb 100644 --- a/src/main/java/org/opentripplanner/routing/vertextype/PatternArriveVertex.java +++ b/src/main/java/org/opentripplanner/routing/vertextype/PatternArriveVertex.java @@ -13,6 +13,7 @@ the License, or (at your option) any later version. package org.opentripplanner.routing.vertextype; +import org.onebusaway.gtfs.model.Stop; import org.opentripplanner.routing.edgetype.TripPattern; import org.opentripplanner.routing.graph.Graph; @@ -25,6 +26,11 @@ public PatternArriveVertex(Graph g, TripPattern pattern, int stopIndex) { super(g, makeLabel(pattern, stopIndex), pattern, pattern.stopPattern.stops[stopIndex]); } + /** constructor for temporary trip patterns */ + public PatternArriveVertex(Graph g, TripPattern pattern, int stopIndex, Stop stop) { + super(g, makeTemporaryLabel(pattern, stopIndex), pattern, stop); + } + // constructor for frequency patterns is now missing // it is possible to have both a freq and non-freq pattern with the same stop pattern @@ -32,5 +38,8 @@ private static String makeLabel(TripPattern pattern, int stop) { return String.format("%s_%02d_A", pattern.code, stop); } + private static String makeTemporaryLabel(TripPattern pattern, int stop) { + return String.format("%s_%02d_A", pattern.code + "_temp", stop); + } } diff --git a/src/main/java/org/opentripplanner/routing/vertextype/PatternDepartVertex.java b/src/main/java/org/opentripplanner/routing/vertextype/PatternDepartVertex.java index dd20ca06025..829003a5f93 100644 --- a/src/main/java/org/opentripplanner/routing/vertextype/PatternDepartVertex.java +++ b/src/main/java/org/opentripplanner/routing/vertextype/PatternDepartVertex.java @@ -13,6 +13,7 @@ the License, or (at your option) any later version. package org.opentripplanner.routing.vertextype; +import org.onebusaway.gtfs.model.Stop; import org.opentripplanner.routing.edgetype.TripPattern; import org.opentripplanner.routing.graph.Graph; @@ -25,6 +26,11 @@ public PatternDepartVertex(Graph g, TripPattern pattern, int stopIndex) { super(g, makeLabel(pattern, stopIndex), pattern, pattern.stopPattern.stops[stopIndex]); } + /** constructor for temporary trip patterns */ + public PatternDepartVertex(Graph g, TripPattern pattern, int stopIndex, Stop stop) { + super(g, makeTemporaryLabel(pattern, stopIndex), pattern, stop); + } + // constructor for single-trip hops with no trip pattern (frequency patterns) is now missing // it is possible to have both a freq and non-freq pattern with the same stop pattern @@ -32,5 +38,8 @@ private static String makeLabel(TripPattern pattern, int stop) { return String.format("%s_%02d_D", pattern.code, stop); } - + private static String makeTemporaryLabel(TripPattern pattern, int stop) { + return String.format("%s_%02d_D", pattern.code + "_temp", stop); + } + } From d0c503af27aa6453bb9f2aecdef94b33911ad3f2 Mon Sep 17 00:00:00 2001 From: dbenoff Date: Tue, 7 Mar 2017 13:31:23 -0800 Subject: [PATCH 011/226] Merged in flex direct transfer work --- pom.xml | 32 +- .../api/resource/PlannerResource.java | 1 - .../graph_builder/GraphBuilder.java | 4 + .../module/FlexDirectTransferGenerator.java | 413 ++++++++++++++++++ .../opentripplanner/model/StopPattern.java | 23 +- .../routing/algorithm/GenericDijkstra.java | 9 +- .../InterleavedBidirectionalHeuristic.java | 29 +- .../routing/core/ServiceDay.java | 2 +- .../opentripplanner/routing/core/State.java | 2 - .../routing/core/StateData.java | 5 - .../routing/edgetype/PartialPatternHop.java | 95 ++++ .../routing/edgetype/PatternHop.java | 62 ++- .../routing/edgetype/TransitBoardAlight.java | 18 +- .../routing/edgetype/TripPattern.java | 2 +- .../opentripplanner/routing/graph/Graph.java | 2 + .../routing/impl/GraphPathFinder.java | 3 - .../routing/spt/GraphPath.java | 18 +- .../vertextype/TemporaryFlexTransitStop.java | 24 + 18 files changed, 627 insertions(+), 117 deletions(-) create mode 100644 src/main/java/org/opentripplanner/graph_builder/module/FlexDirectTransferGenerator.java create mode 100644 src/main/java/org/opentripplanner/routing/edgetype/PartialPatternHop.java create mode 100644 src/main/java/org/opentripplanner/routing/vertextype/TemporaryFlexTransitStop.java diff --git a/pom.xml b/pom.xml index a2a5b2189b6..78b4f4fba0f 100644 --- a/pom.xml +++ b/pom.xml @@ -10,9 +10,9 @@ jar - scm:git:http://github.com/opentripplanner/OpenTripPlanner.git - scm:git:ssh://git@github.com/opentripplanner/OpenTripPlanner.git - http://github.com/opentripplanner/OpenTripPlanner + scm:git:http://github.com/camsys/OpenTripPlanner.git + scm:git:ssh://git@github.com/camsys/OpenTripPlanner.git + http://github.com/camsys/OpenTripPlanner @@ -24,11 +24,15 @@ - - conveyal-maven-repo - Conveyal Maven Repository - s3://maven.conveyal.com/ + releases-obaweb-repo + OneBusAway OBAWEB Release Repo + http://repo.obaweb.org:8080/archiva/repository/releases/ + + snapshots-obaweb-repo + OneBusAway OBAWEB Snapshot Repo + http://repo.obaweb.org:8080/archiva/repository/snapshots/ + @@ -361,6 +365,11 @@ bintray http://dl.bintray.com/andimarek/graphql-java + + snapshots-obaweb-repo + OneBusAway OBAWEB Snapshot Repo + http://repo.obaweb.org:8080/archiva/repository/snapshots/ + @@ -573,7 +582,7 @@ org.onebusaway onebusaway-gtfs - 1.3.5-conveyal-SNAPSHOT-2 + 1.3.5-vt-SNAPSHOT @@ -734,13 +743,6 @@ - - - - org.apache.commons - commons-lang3 - 3.5 - diff --git a/src/main/java/org/opentripplanner/api/resource/PlannerResource.java b/src/main/java/org/opentripplanner/api/resource/PlannerResource.java index 98c992853de..c87f9b223ec 100644 --- a/src/main/java/org/opentripplanner/api/resource/PlannerResource.java +++ b/src/main/java/org/opentripplanner/api/resource/PlannerResource.java @@ -91,7 +91,6 @@ public Response plan(@Context UriInfo uriInfo, @Context Request grizzlyRequest) response.setPlan(plan); } catch (Exception e) { - e.printStackTrace(); PlannerError error = new PlannerError(e); if(!PlannerError.isPlanningError(e.getClass())) LOG.warn("Error while planning path: ", e); diff --git a/src/main/java/org/opentripplanner/graph_builder/GraphBuilder.java b/src/main/java/org/opentripplanner/graph_builder/GraphBuilder.java index ef0b384225c..1faee3f9a3f 100644 --- a/src/main/java/org/opentripplanner/graph_builder/GraphBuilder.java +++ b/src/main/java/org/opentripplanner/graph_builder/GraphBuilder.java @@ -18,6 +18,7 @@ the License, or (at your option) any later version. import org.opentripplanner.graph_builder.model.GtfsBundle; import org.opentripplanner.graph_builder.module.DirectTransferGenerator; import org.opentripplanner.graph_builder.module.EmbedConfig; +import org.opentripplanner.graph_builder.module.FlexDirectTransferGenerator; import org.opentripplanner.graph_builder.module.GtfsModule; import org.opentripplanner.graph_builder.module.PruneFloatingIslands; import org.opentripplanner.graph_builder.module.StreetLinkerModule; @@ -308,6 +309,9 @@ public static GraphBuilder forDirectory(CommandLineParameters params, File dir) if ( ! builderParams.useTransfersTxt) { // This module will use streets or straight line distance depending on whether OSM data is found in the graph. graphBuilder.addModule(new DirectTransferGenerator()); + if (hasOSM) { + graphBuilder.addModule(new FlexDirectTransferGenerator()); + } } } graphBuilder.addModule(new EmbedConfig(builderConfig, routerConfig)); diff --git a/src/main/java/org/opentripplanner/graph_builder/module/FlexDirectTransferGenerator.java b/src/main/java/org/opentripplanner/graph_builder/module/FlexDirectTransferGenerator.java new file mode 100644 index 00000000000..033c87be5a2 --- /dev/null +++ b/src/main/java/org/opentripplanner/graph_builder/module/FlexDirectTransferGenerator.java @@ -0,0 +1,413 @@ +/* This program is free software: you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public License + as published by the Free Software Foundation, either version 3 of + the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +package org.opentripplanner.graph_builder.module; + +import com.vividsolutions.jts.geom.Coordinate; +import com.vividsolutions.jts.geom.GeometryFactory; +import com.vividsolutions.jts.geom.LineString; +import com.vividsolutions.jts.linearref.LengthIndexedLine; +import org.apache.commons.math3.util.Pair; +import org.onebusaway.gtfs.model.AgencyAndId; +import org.onebusaway.gtfs.model.Stop; +import org.opentripplanner.api.resource.CoordinateArrayListSequence; +import org.opentripplanner.common.geometry.GeometryUtils; +import org.opentripplanner.common.geometry.PackedCoordinateSequence; +import org.opentripplanner.common.geometry.SphericalDistanceLibrary; +import org.opentripplanner.graph_builder.module.map.StreetMatcher; +import org.opentripplanner.graph_builder.services.GraphBuilderModule; +import org.opentripplanner.routing.algorithm.GenericDijkstra; +import org.opentripplanner.routing.algorithm.TraverseVisitor; +import org.opentripplanner.routing.algorithm.strategies.TrivialRemainingWeightHeuristic; +import org.opentripplanner.routing.core.RoutingRequest; +import org.opentripplanner.routing.core.State; +import org.opentripplanner.routing.core.TraverseMode; +import org.opentripplanner.routing.edgetype.PartialPatternHop; +import org.opentripplanner.routing.edgetype.PatternHop; +import org.opentripplanner.routing.edgetype.PreAlightEdge; +import org.opentripplanner.routing.edgetype.PreBoardEdge; +import org.opentripplanner.routing.edgetype.SimpleTransfer; +import org.opentripplanner.routing.edgetype.StreetEdge; +import org.opentripplanner.routing.edgetype.TransitBoardAlight; +import org.opentripplanner.routing.edgetype.TripPattern; +import org.opentripplanner.routing.graph.Edge; +import org.opentripplanner.routing.graph.Graph; +import org.opentripplanner.routing.graph.GraphIndex; +import org.opentripplanner.routing.graph.Vertex; +import org.opentripplanner.routing.spt.GraphPath; +import org.opentripplanner.routing.vertextype.PatternArriveVertex; +import org.opentripplanner.routing.vertextype.PatternDepartVertex; +import org.opentripplanner.routing.vertextype.PatternStopVertex; +import org.opentripplanner.routing.vertextype.TransitStop; +import org.opentripplanner.routing.vertextype.TransitStopArrive; +import org.opentripplanner.routing.vertextype.TransitStopDepart; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collection; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +/** + * {@link GraphBuilderModule} module that links flex-enabled PatternHops to other ones or TransitStops. + * + * It will use the street network if OSM data has already been loaded into the graph. + * Otherwise it will use straight-line distance between stops. + * + */ +public class FlexDirectTransferGenerator implements GraphBuilderModule { + + private static Logger LOG = LoggerFactory.getLogger(FlexDirectTransferGenerator.class); + + private static final double MAX_DISTANCE = 1000; + private static final double TRANSIT_STOP_CUTOFF = 100; + + public List provides() { + return Arrays.asList("linking"); + } + + public List getPrerequisites() { + return Arrays.asList("street to transit"); + } + + StreetMatcher matcher; + GeometryFactory geometryFactory = GeometryUtils.getGeometryFactory(); + + @Override + public void buildGraph(Graph graph, HashMap, Object> extra) { + + /* Initialize graph index which is needed by the nearby stop finder. */ + if (graph.index == null) { + graph.index = new GraphIndex(graph); + } + + /* Initialize street matcher. */ + matcher = new StreetMatcher(graph); + + int nTransfersTotal = 0; + int nLinkableHops = 0; + + for (TripPattern tripPattern : graph.index.patternsForFeedId.values()) { + for (PatternHop hop : tripPattern.getPatternHops()) { + + // for each hop, find nearby stops and hops. create transfers. + if (hop.getContinuousDropoff() > 0 || hop.getContinuousPickup() > 0) { + if (++nLinkableHops % 1000 == 0) { + LOG.info("Linked {} hops", nLinkableHops); + } + + // Exclude a transfer point if the transfer from DirectTransferGenerator would be better: + // - it is a TransitStop and it is within 100m of either endpoint of the hop + // - it is a hop where either endpoint is within 100m of either endpoint of this hop. + + Collection pts = findNearbyTransferPoints(graph, hop); + + for (TransferPointAtDistance pt : pts) { + if (!shouldExclude(hop, pt)) { + link(graph, hop, pt); + } + } + } + + } + } + + + LOG.info("Done creating transfers for flex hops. Created a total of {} transfers from {} hops.", nTransfersTotal, nLinkableHops); + } + + @Override + public void checkInputs() { + // No inputs + } + + + // This is based on NearbyStopFinder but more flexible + // In addition, we *require* that we have streets (can't use Euclidean distance). Flag stops make no sense without streets. + private Collection findNearbyTransferPoints(Graph graph, PatternHop hop) { + Map closestTransferPointForTripPattern = new HashMap<>(); + + RoutingRequest request = new RoutingRequest(TraverseMode.WALK); + request.softWalkLimiting = false; + request.maxWalkDistance = MAX_DISTANCE; + request.batch = true; + request.setRoutingContext(graph, hop.getFromVertex(), hop.getToVertex()); + + GenericDijkstra gd = new GenericDijkstra(request); + + gd.setHeuristic(new TrivialRemainingWeightHeuristic()); + gd.traverseVisitor = new TraverseVisitor() { + @Override + public void visitEdge(Edge edge, State state) { + } + + @Override + public void visitVertex(State state) { + Vertex v = state.getVertex(); + + // TODO: Check these assumptions: + // If we encounter something from a trip pattern, it's definitely the first time we've seen it. + // It's fine to search from vertices rather than the line, because we would need to turn from an intersection anyway. + + + if (v instanceof TransitStop) { + TransitStop tstop = (TransitStop) v; + Collection patterns = graph.index.patternsForStop.get(tstop.getStop()); + for (TripPattern pattern : patterns) { + TransferPointAtDistance pt = new TransferPointAtDistance(hop, state, tstop); + addPointForTripPattern(pattern, pt); + } + } + + // get hops + if (state.backEdge instanceof StreetEdge) { + for (PatternHop h : graph.index.getHopsForEdge(state.backEdge, true)) { + if (h.getContinuousPickup() > 0 || h.getContinuousDropoff() > 0) { + TripPattern pattern = h.getPattern(); + TransferPointAtDistance pt = new TransferPointAtDistance(hop, state, h, state.getVertex().getCoordinate()); + addPointForTripPattern(pattern, pt); + } + } + } + } + + @Override + public void visitEnqueue(State state) { + } + + private void addPointForTripPattern(TripPattern pattern, TransferPointAtDistance pt) { + TransferPointAtDistance other = closestTransferPointForTripPattern.get(pattern); + if (pt.betterThan(other) && !pattern.equals(hop.getPattern())) { + closestTransferPointForTripPattern.put(pattern, pt); + } + } + }; + + // Remap edge to the graph to find vertices for search + List edges = matcher.match(hop.getGeometry()); + Set verts = new HashSet<>(); + for (Edge e : edges) { + verts.add(e.getToVertex()); + verts.add(e.getFromVertex()); + } + + State[] states = verts.stream().map(v -> new State(v, request)).toArray(State[]::new); + + gd.getShortestPathTree(states); + + Set pts = new HashSet<>(closestTransferPointForTripPattern.values()); + + LOG.debug("for hop={} found {} transfer points", hop, pts.size()); + return pts; + } + + private void link(Graph graph, PatternHop hop, TransferPointAtDistance point) { + if (point.isTransitStop()) { + // linking from a hop to a transit stop + + Vertex v = point.getFrom(); + Stop stop = new Stop(); + stop.setId(new AgencyAndId(hop.getPattern().getFeedId(), String.valueOf(Math.random()))); + stop.setLat(v.getLat()); + stop.setLon(v.getLon()); + + String msg = String.format("Transfer from pattern=%s, stopIndex=%d, pos=%s to stop=%s, dist=%g, dafh=%g", hop.getPattern().code, hop.getStopIndex(), v.getCoordinate().toString(), point.tstop.toString(), point.dist, point.distanceAlongFromHop); + stop.setName(msg); + TransitStop transferStop = new TransitStop(graph, stop); + + // hop -> stop transfer + PatternArriveVertex patternArriveVertex = new PatternArriveVertex(graph, hop.getPattern(), hop.getStopIndex(), stop); + TransitStopArrive transitStopArrive = new TransitStopArrive(graph, stop, transferStop); + PartialPatternHop.startHop(hop, patternArriveVertex, stop, matcher, geometryFactory); + new TransitBoardAlight(patternArriveVertex, transitStopArrive, hop.getStopIndex(), hop.getPattern().mode); + new PreAlightEdge(transitStopArrive, transferStop); + new SimpleTransfer(transferStop, point.tstop, point.dist, point.geom, point.edges); + + // stop -> hop + TransitStopDepart transitStopDepart = new TransitStopDepart(graph, stop, transferStop); + PatternDepartVertex patternDepartVertex = new PatternDepartVertex(graph, hop.getPattern(), hop.getStopIndex(), stop); + new PreBoardEdge(transferStop, transitStopDepart); + new TransitBoardAlight(transitStopDepart, patternDepartVertex, hop.getStopIndex(), hop.getPattern().mode); + PartialPatternHop.endHop(hop, patternDepartVertex,stop, matcher, geometryFactory); + TransferPointAtDistance rev = point.reverse(); + new SimpleTransfer(point.tstop, transferStop, rev.dist, rev.geom, rev.edges); + } else { + // TODO + } + } + + private static boolean tooClose(Vertex v, Vertex w) { + return SphericalDistanceLibrary.fastDistance(v.getLat(), v.getLon(), w.getLat(), w.getLon()) < TRANSIT_STOP_CUTOFF; + } + + private static boolean shouldExclude(PatternHop hop, TransitStop stop) { + return tooClose(hop.getFromVertex(), stop) || tooClose(hop.getToVertex(), stop); + } + + private static boolean shouldExclude(PatternHop hop0, PatternHop hop1) { + Vertex v = hop0.getFromVertex(), w = hop0.getToVertex(), x = hop1.getFromVertex(), y = hop1.getToVertex(); + return tooClose(v, x) || tooClose(v, y) || tooClose(w, x) || tooClose(w, y); + } + + private static boolean shouldExclude(PatternHop hop, TransferPointAtDistance pt) { + return pt.isTransitStop() ? shouldExclude(hop, pt.getTransitStop()) : shouldExclude(hop, pt.getHop()); + } +} + +class TransferPointAtDistance { + + State state; + + TransitStop tstop; + double dist; // distance TO original hop + LineString geom; + List edges; + PatternHop hop; + Coordinate locationOnHop; + Vertex from; + + PatternHop fromHop; + double distanceAlongFromHop; // distance along original hop + + private static GeometryFactory geometryFactory = GeometryUtils.getGeometryFactory(); + + public TransferPointAtDistance(PatternHop fromHop, State state, TransitStop tstop) { + this(fromHop, state); + this.tstop = tstop; + } + + public TransferPointAtDistance(PatternHop fromHop, State state, PatternHop hop, Coordinate coord) { + this(fromHop, state); + this.hop = hop; + this.locationOnHop = coord; + } + + public boolean isTransitStop() { + return tstop != null; + } + + public TransitStop getTransitStop() { + return tstop; + } + + public PatternHop getHop() { + return hop; + } + + public Vertex getFrom() { + return from; + } + + private TransferPointAtDistance(PatternHop fromHop, State state) { + this(state); + this.state = state; + this.fromHop = fromHop; + LengthIndexedLine line = new LengthIndexedLine(fromHop.getGeometry()); + this.distanceAlongFromHop = (line.project(from.getCoordinate())/line.getEndIndex()) * fromHop.getDistance(); + } + + // TODO: merge with NearbyStopFinder.stopAtDistanceForState() (where this code was taken from) + private TransferPointAtDistance(State state) { + double distance = 0.0; + GraphPath graphPath = new GraphPath(state, false); + from = graphPath.states.getFirst().getVertex(); + CoordinateArrayListSequence coordinates = new CoordinateArrayListSequence(); + List edges = new ArrayList<>(); + for (Edge edge : graphPath.edges) { + if (edge instanceof StreetEdge) { + LineString geometry = edge.getGeometry(); + if (geometry != null) { + if (coordinates.size() == 0) { + coordinates.extend(geometry.getCoordinates()); + } else { + coordinates.extend(geometry.getCoordinates(), 1); + } + } + distance += edge.getDistance(); + } + edges.add(edge); + } + if (coordinates.size() < 2) { // Otherwise the walk step generator breaks. + ArrayList coordinateList = new ArrayList(2); + coordinateList.add(graphPath.states.get(1).getVertex().getCoordinate()); + State lastState = graphPath.states.getLast().getBackState(); + coordinateList.add(lastState.getVertex().getCoordinate()); + coordinates = new CoordinateArrayListSequence(coordinateList); + } + this.geom = geometryFactory.createLineString(new PackedCoordinateSequence.Double(coordinates.toCoordinateArray())); + this.edges = edges; + this.dist = distance; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + + TransferPointAtDistance that = (TransferPointAtDistance) o; + + if (Double.compare(that.dist, dist) != 0) return false; + if (tstop != null ? !tstop.equals(that.tstop) : that.tstop != null) return false; + if (hop != null ? !hop.equals(that.hop) : that.hop != null) return false; + return locationOnHop != null ? locationOnHop.equals(that.locationOnHop) : that.locationOnHop == null; + } + + @Override + public int hashCode() { + int result; + long temp; + result = tstop != null ? tstop.hashCode() : 0; + temp = Double.doubleToLongBits(dist); + result = 31 * result + (int) (temp ^ (temp >>> 32)); + result = 31 * result + (hop != null ? hop.hashCode() : 0); + result = 31 * result + (locationOnHop != null ? locationOnHop.hashCode() : 0); + return result; + } + + @Override + public String toString() { + return "TransferPointAtDistance[dist=" + dist + "," + + ((tstop != null) ? ("tstop=" + tstop.toString()) : ("hop=" + hop.toString() + ",coord=" + locationOnHop.toString())) + + "]"; + } + + public boolean betterThan(TransferPointAtDistance other) { + if (other==null) + return true; + // prefer a transfer point that is at a real stop [unless the real stop is outside the cutoff away?] + if (this.isTransitStop() && !other.isTransitStop()) + return true; + if (!this.isTransitStop() && other.isTransitStop()) + return false; + + // prefer traveling a shorter distance as long as the difference is not trivial. (should this be "softer"? if your walk preferences are larger you might prefer to walk a "cutoff") + if (other.dist - this.dist > 100) + return true; + if (this.dist - other.dist > 100) + return false; + + // prefer transferring earlier in the hop + if (this.distanceAlongFromHop < other.distanceAlongFromHop) + return true; + return false; + } + + public TransferPointAtDistance reverse() { + return new TransferPointAtDistance(state.reverse()); + } +} \ No newline at end of file diff --git a/src/main/java/org/opentripplanner/model/StopPattern.java b/src/main/java/org/opentripplanner/model/StopPattern.java index cdbb70888ee..b24826c7a36 100644 --- a/src/main/java/org/opentripplanner/model/StopPattern.java +++ b/src/main/java/org/opentripplanner/model/StopPattern.java @@ -52,13 +52,17 @@ public class StopPattern implements Serializable { public final Stop[] stops; public final int[] pickups; public final int[] dropoffs; + public final int[] continuousPickups; + public final int[] continuousDropoffs; public boolean equals(Object other) { if (other instanceof StopPattern) { StopPattern that = (StopPattern) other; return Arrays.equals(this.stops, that.stops) && Arrays.equals(this.pickups, that.pickups) && - Arrays.equals(this.dropoffs, that.dropoffs); + Arrays.equals(this.dropoffs, that.dropoffs) && + Arrays.equals(this.continuousPickups, that.continuousPickups) && + Arrays.equals(this.continuousDropoffs, that.continuousDropoffs); } else { return false; } @@ -71,6 +75,10 @@ public int hashCode() { hash += Arrays.hashCode(this.pickups); hash *= 31; hash += Arrays.hashCode(this.dropoffs); + hash *= 31; + hash += Arrays.hashCode(this.continuousPickups); + hash *= 31; + hash += Arrays.hashCode(this.continuousDropoffs); return hash; } @@ -88,6 +96,8 @@ private StopPattern (int size) { stops = new Stop[size]; pickups = new int[size]; dropoffs = new int[size]; + continuousPickups = new int[size]; + continuousDropoffs = new int[size]; } /** Assumes that stopTimes are already sorted by time. */ @@ -101,6 +111,15 @@ public StopPattern (List stopTimes) { // pick/drop messages could be stored in individual trips pickups[i] = stopTime.getPickupType(); dropoffs[i] = stopTime.getDropOffType(); + + // continuous pickup/dropoff can be empty (-1), which means 0 for the first stoptime, and the previous value for subsequent stop times. + if (i == 0) { + continuousPickups[i] = stopTime.getContinuousPickup() == -1 ? 0 : stopTime.getContinuousPickup(); + continuousDropoffs[i] = stopTime.getContinuousDropOff() == -1 ? 0 : stopTime.getContinuousDropOff(); + } else { + continuousPickups[i] = stopTime.getContinuousPickup() == -1 ? continuousPickups[i-1] : stopTime.getContinuousPickup(); + continuousDropoffs[i] = stopTime.getContinuousDropOff() == -1 ? continuousDropoffs[i-1] : stopTime.getContinuousDropOff(); + } } /* * TriMet GTFS has many trips that differ only in the pick/drop status of their initial and @@ -144,6 +163,8 @@ public HashCode semanticHash(HashFunction hashFunction) { for (int hop = 0; hop < size - 1; hop++) { hasher.putInt(pickups[hop]); hasher.putInt(dropoffs[hop + 1]); + hasher.putInt(continuousPickups[hop]); + hasher.putInt(continuousDropoffs[hop + 1]); } return hasher.hash(); } diff --git a/src/main/java/org/opentripplanner/routing/algorithm/GenericDijkstra.java b/src/main/java/org/opentripplanner/routing/algorithm/GenericDijkstra.java index d4314e01c46..85c7d4a57d5 100644 --- a/src/main/java/org/opentripplanner/routing/algorithm/GenericDijkstra.java +++ b/src/main/java/org/opentripplanner/routing/algorithm/GenericDijkstra.java @@ -64,7 +64,8 @@ public void setSkipTraverseResultStrategy(SkipTraverseResultStrategy skipTravers this.skipTraverseResultStrategy = skipTraverseResultStrategy; } - public ShortestPathTree getShortestPathTree(State initialState) { + public ShortestPathTree getShortestPathTree(State... initialStates) { + State initialState = initialStates[0]; Vertex target = null; if (options.rctx != null) { target = initialState.getOptions().rctx.target; @@ -72,8 +73,10 @@ public ShortestPathTree getShortestPathTree(State initialState) { ShortestPathTree spt = new DominanceFunction.MinimumWeight().getNewShortestPathTree(options); BinHeap queue = new BinHeap(1000); - spt.add(initialState); - queue.insert(initialState, initialState.getWeight()); + for (State state : initialStates) { + spt.add(state); + queue.insert(state, state.getWeight()); + } while (!queue.empty()) { // Until the priority queue is empty: State u = queue.extract_min(); diff --git a/src/main/java/org/opentripplanner/routing/algorithm/strategies/InterleavedBidirectionalHeuristic.java b/src/main/java/org/opentripplanner/routing/algorithm/strategies/InterleavedBidirectionalHeuristic.java index fcff7628a11..08436c3c675 100644 --- a/src/main/java/org/opentripplanner/routing/algorithm/strategies/InterleavedBidirectionalHeuristic.java +++ b/src/main/java/org/opentripplanner/routing/algorithm/strategies/InterleavedBidirectionalHeuristic.java @@ -15,19 +15,15 @@ the License, or (props, at your option) any later version. import com.google.common.collect.BiMap; import com.google.common.collect.HashBiMap; -import com.google.common.collect.Lists; import com.vividsolutions.jts.geom.Coordinate; import com.vividsolutions.jts.geom.LineString; import gnu.trove.map.TObjectDoubleMap; import gnu.trove.map.hash.TObjectDoubleHashMap; -import org.apache.commons.lang3.SerializationUtils; import org.onebusaway.gtfs.model.AgencyAndId; import org.onebusaway.gtfs.model.Stop; -import org.onebusaway.gtfs.model.StopTime; import org.opentripplanner.common.geometry.GeometryUtils; import org.opentripplanner.common.geometry.SphericalDistanceLibrary; import org.opentripplanner.common.pqueue.BinHeap; -import org.opentripplanner.model.StopPattern; import org.opentripplanner.routing.core.RoutingRequest; import org.opentripplanner.routing.core.State; import org.opentripplanner.routing.core.TraverseMode; @@ -42,8 +38,6 @@ the License, or (props, at your option) any later version. import org.opentripplanner.routing.location.StreetLocation; import org.opentripplanner.routing.spt.DominanceFunction; import org.opentripplanner.routing.spt.ShortestPathTree; -import org.opentripplanner.routing.trippattern.FrequencyEntry; -import org.opentripplanner.routing.trippattern.TripTimes; import org.opentripplanner.routing.vertextype.*; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -383,7 +377,6 @@ private TObjectDoubleMap streetSearch (RoutingRequest rr, boolean fromTa Stop flagStop = new Stop(); flagStop.setId(new AgencyAndId("1", "temp_" + String.valueOf(i))); - flagStop.setId(new AgencyAndId("1", String.valueOf(Math.random()))); flagStop.setLat(v.getLat()); flagStop.setLon(v.getLon()); flagStop.setName(s.getBackEdge().getName()); @@ -400,11 +393,11 @@ private TObjectDoubleMap streetSearch (RoutingRequest rr, boolean fromTa TemporaryPreAlightEdge preAlightEdge = new TemporaryPreAlightEdge(transitStopArrive, flagTransitStop); rr.rctx.temporaryEdges.add(preAlightEdge); - for(TripPattern originalTripPattern : stateToTripPatternsMap.get(s)){ + for(TripPattern tripPattern : stateToTripPatternsMap.get(s)){ List patternHops = graph.index.getHopsForEdge(s.getBackEdge(), fromTarget) .stream() - .filter(e -> e.getPattern() == originalTripPattern) + .filter(e -> e.getPattern() == tripPattern) .collect(Collectors.toList()); for(PatternHop originalPatternHop : patternHops){ @@ -412,10 +405,9 @@ private TObjectDoubleMap streetSearch (RoutingRequest rr, boolean fromTa int stopIndex = originalPatternHop.getStopIndex(); //TODO make deep copy of trip pattern - TripPattern temporaryTripPattern = originalTripPattern; PatternArriveVertex patternArriveVertex = - new PatternArriveVertex(graph, temporaryTripPattern, stopIndex, flagStop); + new PatternArriveVertex(graph, tripPattern, stopIndex, flagStop); rr.rctx.temporaryVertices.add(patternArriveVertex); TemporaryPatternHop forwardSearchPatternHop = findShortenedPatternHops(originalPatternHop); @@ -459,11 +451,11 @@ private TObjectDoubleMap streetSearch (RoutingRequest rr, boolean fromTa TemporaryPreBoardEdge temporaryPreBoardEdge = new TemporaryPreBoardEdge(flagTransitStop, transitStopDepart); rr.rctx.temporaryEdges.add(temporaryPreBoardEdge); - for(TripPattern originalTripPattern : stateToTripPatternsMap.get(s)){ + for(TripPattern tripPattern : stateToTripPatternsMap.get(s)){ List patternHops = graph.index.getHopsForEdge(s.getBackEdge(), fromTarget) .stream() - .filter(e -> e.getPattern() == originalTripPattern) + .filter(e -> e.getPattern() == tripPattern) .collect(Collectors.toList()); for(PatternHop originalPatternHop : patternHops){ @@ -472,12 +464,8 @@ private TObjectDoubleMap streetSearch (RoutingRequest rr, boolean fromTa if(postStopHopGeometry == null) continue; //flex point is very close to the beginning or end of the hop. Leave this hop unchanged; - - //TODO make deep copy of trip pattern - TripPattern temporaryTripPattern = originalTripPattern; - PatternDepartVertex patternDepartVertex = - new PatternDepartVertex(graph, temporaryTripPattern, originalPatternHop.getStopIndex(), flagStop); + new PatternDepartVertex(graph, tripPattern, originalPatternHop.getStopIndex(), flagStop); rr.rctx.temporaryVertices.add(patternDepartVertex); double originalHopGeometryLength = GeometryUtils.getLengthInMeters(originalPatternHop.getGeometry()); @@ -485,11 +473,8 @@ private TObjectDoubleMap streetSearch (RoutingRequest rr, boolean fromTa double distanceRatio = shortenedHopGeometryLength/originalHopGeometryLength; TemporaryPatternHop temporaryPatternHop = new TemporaryPatternHop(originalPatternHop, patternDepartVertex, flagStop, distanceRatio); temporaryPatternHop.setGeometry(postStopHopGeometry); - rr.rctx.temporaryEdges.add(temporaryPatternHop); - - /** TransitBoardAlight: Boarding constructor (TransitStopDepart, PatternStopVertex) */ TemporaryTransitBoardAlight transitBoardAlight = new TemporaryTransitBoardAlight(transitStopDepart, patternDepartVertex, originalPatternHop.getStopIndex(), TraverseMode.BUS); @@ -542,7 +527,7 @@ private LineString getShortenedPatternHopGeometryForFlagStop(Coordinate[] lineCo /** * When reverse search creates a shortened pattern hop, check whether the forward search shortened the start of - * the geometry already. If so, use that geometry, then shorten the other end, then update both hops + * the geometry already. If so, use that geometry, then shorten the other end. * @param originalPatternHop * @return */ diff --git a/src/main/java/org/opentripplanner/routing/core/ServiceDay.java b/src/main/java/org/opentripplanner/routing/core/ServiceDay.java index 75fb147f0a1..6e14efd281d 100644 --- a/src/main/java/org/opentripplanner/routing/core/ServiceDay.java +++ b/src/main/java/org/opentripplanner/routing/core/ServiceDay.java @@ -35,7 +35,7 @@ the License, or (props, at your option) any later version. public class ServiceDay implements Serializable { private static final long serialVersionUID = -1206371243806996680L; - public long midnight; + protected long midnight; protected ServiceDate serviceDate; protected BitSet serviceIdsRunning; diff --git a/src/main/java/org/opentripplanner/routing/core/State.java b/src/main/java/org/opentripplanner/routing/core/State.java index 3a8594ca816..01fa70fc93e 100644 --- a/src/main/java/org/opentripplanner/routing/core/State.java +++ b/src/main/java/org/opentripplanner/routing/core/State.java @@ -482,8 +482,6 @@ public State reversedClone() { newState.stateData.usingRentedBike = stateData.usingRentedBike; newState.stateData.carParked = stateData.carParked; newState.stateData.bikeParked = stateData.bikeParked; - newState.stateData.flagStopDepartureOffsets = stateData.flagStopDepartureOffsets; - newState.stateData.flagStopArrivalOffsets = stateData.flagStopArrivalOffsets; return newState; } diff --git a/src/main/java/org/opentripplanner/routing/core/StateData.java b/src/main/java/org/opentripplanner/routing/core/StateData.java index 29625ec3552..97f23574b96 100644 --- a/src/main/java/org/opentripplanner/routing/core/StateData.java +++ b/src/main/java/org/opentripplanner/routing/core/StateData.java @@ -14,7 +14,6 @@ the License, or (props, at your option) any later version. package org.opentripplanner.routing.core; import java.util.HashMap; -import java.util.Map; import java.util.Set; import org.onebusaway.gtfs.model.AgencyAndId; @@ -98,10 +97,6 @@ public class StateData implements Cloneable { /* This boolean is set to true upon transition from a normal street to a no-through-traffic street. */ protected boolean enteredNoThroughTrafficArea; - public Map flagStopDepartureOffsets; - - public Map flagStopArrivalOffsets; - public StateData(RoutingRequest options) { TraverseModeSet modes = options.modes; if (modes.getCar()) diff --git a/src/main/java/org/opentripplanner/routing/edgetype/PartialPatternHop.java b/src/main/java/org/opentripplanner/routing/edgetype/PartialPatternHop.java new file mode 100644 index 00000000000..54d002e900e --- /dev/null +++ b/src/main/java/org/opentripplanner/routing/edgetype/PartialPatternHop.java @@ -0,0 +1,95 @@ +/* This program is free software: you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public License + as published by the Free Software Foundation, either version 3 of + the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +package org.opentripplanner.routing.edgetype; + +import com.vividsolutions.jts.geom.Coordinate; +import com.vividsolutions.jts.geom.CoordinateSequence; +import com.vividsolutions.jts.geom.GeometryFactory; +import com.vividsolutions.jts.geom.LineString; +import com.vividsolutions.jts.linearref.LengthIndexedLine; +import org.onebusaway.gtfs.model.Stop; +import org.opentripplanner.graph_builder.module.map.StreetMatcher; +import org.opentripplanner.routing.core.RoutingRequest; +import org.opentripplanner.routing.core.State; +import org.opentripplanner.routing.graph.Edge; +import org.opentripplanner.routing.vertextype.PatternArriveVertex; +import org.opentripplanner.routing.vertextype.PatternDepartVertex; +import org.opentripplanner.routing.vertextype.PatternStopVertex; + +import java.util.ArrayList; +import java.util.List; + + +public class PartialPatternHop extends PatternHop { + + private static final long serialVersionUID = 1L; + + private double startIndex; + private double endIndex; + private double percentageOfHop; + + private PartialPatternHop(PatternHop hop, PatternStopVertex from, PatternStopVertex to, Stop fromStop, Stop toStop, StreetMatcher matcher, GeometryFactory factory, boolean start) { + super(from, to, fromStop, toStop, hop.getStopIndex(), hop.getContinuousPickup(), hop.getContinuousDropoff(), false); + LengthIndexedLine line = new LengthIndexedLine(hop.getGeometry()); + if (start) { + this.startIndex = 0; + this.endIndex = line.project(to.getCoordinate()); + } else { + this.startIndex = line.project(from.getCoordinate()); + this.endIndex = line.getEndIndex(); + } + this.setGeometryFromHop(matcher, factory, hop); + this.percentageOfHop = (this.endIndex - this.startIndex) / line.getEndIndex(); + } + + // given hop s0->s1 and a temporary position t, create a partial hop s0->t + public static PartialPatternHop startHop(PatternHop hop, PatternArriveVertex to, Stop toStop, StreetMatcher matcher, GeometryFactory factory) { + return new PartialPatternHop(hop, (PatternStopVertex) hop.getFromVertex(), to, hop.getBeginStop(), toStop, matcher, factory, true); + } + + public static PartialPatternHop endHop(PatternHop hop, PatternDepartVertex from, Stop fromStop, StreetMatcher matcher, GeometryFactory factory) { + return new PartialPatternHop(hop, from, (PatternStopVertex) hop.getToVertex(), fromStop, hop.getEndStop(), matcher, factory, false); + } + + @Override + public double timeLowerBound(RoutingRequest options) { + return percentageOfHop * super.timeLowerBound(options); + } + + @Override + public int getRunningTime(State s0) { + return (int) (percentageOfHop * super.getRunningTime(s0)); + } + + private void setGeometryFromHop(StreetMatcher matcher, GeometryFactory factory, PatternHop hop) { + List edges = matcher.match(hop.getGeometry()); + List coords = new ArrayList<>(); + LengthIndexedLine line = new LengthIndexedLine(hop.getGeometry()); + for (Edge e : edges) { + double idx = line.project(e.getToVertex().getCoordinate()); + if (idx >= endIndex) + break; + if (idx < startIndex) + continue; + for (Coordinate c : e.getGeometry().getCoordinates()) + coords.add(c); + } + Coordinate[] arr = coords.toArray(new Coordinate[0]); + LineString geometry = factory.createLineString(arr); + setGeometry(geometry); + } + + +} + diff --git a/src/main/java/org/opentripplanner/routing/edgetype/PatternHop.java b/src/main/java/org/opentripplanner/routing/edgetype/PatternHop.java index 71e5d90e595..71ad19be9ff 100644 --- a/src/main/java/org/opentripplanner/routing/edgetype/PatternHop.java +++ b/src/main/java/org/opentripplanner/routing/edgetype/PatternHop.java @@ -27,8 +27,6 @@ the License, or (at your option) any later version. import org.opentripplanner.routing.edgetype.flex.TemporaryPatternHop; import org.opentripplanner.routing.trippattern.TripTimes; import org.opentripplanner.routing.vertextype.PatternStopVertex; - -import java.util.HashMap; import java.util.Locale; /** @@ -41,27 +39,33 @@ public class PatternHop extends TablePatternEdge implements OnboardEdge, HopEdge private Stop begin, end; + private int continuousPickup, continuousDropoff; + public int stopIndex; private LineString geometry = null; - public PatternHop(PatternStopVertex from, PatternStopVertex to, Stop begin, Stop end, int stopIndex) { + protected PatternHop(PatternStopVertex from, PatternStopVertex to, Stop begin, Stop end, int stopIndex, int continuousPickup, int continuousDropoff, boolean setInPattern) { super(from, to); this.begin = begin; this.end = end; this.stopIndex = stopIndex; + if (setInPattern) getPattern().setPatternHop(stopIndex, this); + this.continuousPickup = continuousPickup; + this.continuousDropoff = continuousDropoff; + } + + public PatternHop(PatternStopVertex from, PatternStopVertex to, Stop begin, Stop end, int stopIndex, int continuousPickup, int continuousDropoff) { + this(from, to, begin, end, stopIndex, continuousPickup, continuousDropoff, true); + } + public PatternHop(PatternStopVertex from, PatternStopVertex to, Stop begin, Stop end, int stopIndex) { + this(from, to, begin, end, stopIndex, 0, 0); } - // made more accurate public double getDistance() { - double distance = 0; - LineString line = getGeometry(); - for (int i = 0; i < line.getNumPoints() - 1; i++) { - Point p0 = line.getPointN(i), p1 = line.getPointN(i+1); - distance += SphericalDistanceLibrary.distance(p0.getCoordinate(), p1.getCoordinate()); - } - return distance; + return SphericalDistanceLibrary.distance(begin.getLat(), begin.getLon(), end.getLat(), + end.getLon()); } public TraverseMode getMode() { @@ -115,7 +119,6 @@ public double weightLowerBound(RoutingRequest options) { } public State traverse(State s0) { - RoutingRequest options = s0.getOptions(); // Ignore this edge if either of its stop is banned hard @@ -128,26 +131,6 @@ public State traverse(State s0) { TripTimes tripTimes = s0.getTripTimes(); int runningTime = tripTimes.getRunningTime(stopIndex); - - //TODO handle cases where both stops on the hop are flag stops - if(this instanceof TemporaryPatternHop && !options.reverseOptimizing){ - double distanceRatio = ((TemporaryPatternHop)this).distanceRatio; - int originalRunningTime = runningTime; - runningTime = (int) Math.round(runningTime * distanceRatio); - int diff = originalRunningTime - runningTime; - if(s0.stateData.flagStopArrivalOffsets == null) - s0.stateData.flagStopArrivalOffsets = new HashMap<>(); - if(s0.stateData.flagStopDepartureOffsets == null) - s0.stateData.flagStopDepartureOffsets = new HashMap<>(); - if(this.getBeginStop().getLocationType() == 99 - && this.getEndStop().getLocationType() == 99) - throw new RuntimeException("how to handle this?"); - if(this.getBeginStop().getLocationType() == 99) - s0.stateData.flagStopDepartureOffsets.put(this.getPattern().code + "|" + this.getStopIndex(), diff); - if(this.getEndStop().getLocationType() == 99) - s0.stateData.flagStopArrivalOffsets.put(this.getPattern().code + "|" + (this.getStopIndex() + 1), diff); - } - StateEditor s1 = s0.edit(this); s1.incrementTimeInSeconds(runningTime); if (s0.getOptions().arriveBy) @@ -160,6 +143,11 @@ public State traverse(State s0) { return s1.makeState(); } + public int getRunningTime(State s0) { + TripTimes tripTimes = s0.getTripTimes(); + return tripTimes.getRunningTime(stopIndex); + } + public void setGeometry(LineString geometry) { this.geometry = geometry; } @@ -193,4 +181,14 @@ public String toString() { public int getStopIndex() { return stopIndex; } + + public int getContinuousPickup() { + return continuousPickup; } + + public int getContinuousDropoff() { + return continuousDropoff; + } + +} + diff --git a/src/main/java/org/opentripplanner/routing/edgetype/TransitBoardAlight.java b/src/main/java/org/opentripplanner/routing/edgetype/TransitBoardAlight.java index 9c44ac086d1..0bfd6a903aa 100644 --- a/src/main/java/org/opentripplanner/routing/edgetype/TransitBoardAlight.java +++ b/src/main/java/org/opentripplanner/routing/edgetype/TransitBoardAlight.java @@ -15,10 +15,7 @@ the License, or (at your option) any later version. import java.util.BitSet; -import java.util.Date; import java.util.Locale; -import java.util.concurrent.TimeUnit; - import org.onebusaway.gtfs.model.Stop; import org.onebusaway.gtfs.model.Trip; import org.opentripplanner.routing.core.RoutingContext; @@ -128,7 +125,6 @@ public String getName(Locale locale) { @Override public State traverse(State state0) { - return traverse(state0, 0); } @@ -297,7 +293,6 @@ public State traverse(State s0, long arrivalTimeAtStop) { (int)(sd.time(tripTimes.getDepartureTime(stopIndex)) - s0.getTimeSeconds()): (int)(s0.getTimeSeconds() - sd.time(tripTimes.getArrivalTime(stopIndex))); /* A trip was found. The wait should be non-negative. */ - System.out.println("getNextTrip id: " + this.getId() + " wait: " + wait + " trip id: " + tripTimes.trip.getId().getId() + " state time: " + new Date(s0.getTimeInMillis()) + " stopIndex: " + stopIndex + " boarding: " + boarding); if (wait < 0) LOG.error("Negative wait time when boarding."); /* Track the soonest departure over all relevant schedules. */ if (bestWait < 0 || wait < bestWait) { @@ -364,7 +359,6 @@ public State traverse(State s0, long arrivalTimeAtStop) { if (!s0.isEverBoarded() && !options.reverseOptimizing) { wait_cost *= options.waitAtBeginningFactor; s1.setInitialWaitTimeSeconds(bestWait); - //System.out.println("bestWait " + bestWait + " " + trip.getId() + " " + this.getId() + " " + this.getFromVertex().getY() + "," +this.getFromVertex().getX()); } else { wait_cost *= options.waitReluctance; } @@ -395,18 +389,8 @@ public State traverse(State s0, long arrivalTimeAtStop) { return optimized; } - State ret = s1.makeState(); - int interval = ret.getTimeDeltaSeconds(); - if (s0.getOptions().reverseOptimizing) { - System.out.println("transit board reverse " + ret.getVertex() + " id: " + this.getId() + " time: " + new Date(ret.getTimeInMillis()) + " offset: " + departureOffset + " tripId: " + trip.getId().getId()); - }else{ - System.out.println("transit board forward " + ret.getVertex() + " id: " + this.getId() + " time: " + new Date(ret.getTimeInMillis()) + " offset: " + departureOffset + " tripId: " + trip.getId().getId()); - } - - return ret; - /* If we didn't return an optimized path, return an unoptimized one. */ - //return s1.makeState(); + return s1.makeState(); } } diff --git a/src/main/java/org/opentripplanner/routing/edgetype/TripPattern.java b/src/main/java/org/opentripplanner/routing/edgetype/TripPattern.java index 808fdc1b414..64fe6d017af 100644 --- a/src/main/java/org/opentripplanner/routing/edgetype/TripPattern.java +++ b/src/main/java/org/opentripplanner/routing/edgetype/TripPattern.java @@ -521,7 +521,7 @@ public void makePatternVerticesAndEdges(Graph graph, Map getPaths(RoutingRequest options) { } LOG.debug("END SEARCH ({} msec)", System.currentTimeMillis() - searchBeginTime); Collections.sort(paths, new PathComparator(options.arriveBy)); - return paths; } @@ -211,8 +210,6 @@ public List graphPathFinderEntryPoint (RoutingRequest request) { throw e; } - - // Detect and report that most obnoxious of bugs: path reversal asymmetry. // Removing paths might result in an empty list, so do this check before the empty list check. if (paths != null) { diff --git a/src/main/java/org/opentripplanner/routing/spt/GraphPath.java b/src/main/java/org/opentripplanner/routing/spt/GraphPath.java index d275b859a55..e1ad4d8fc03 100644 --- a/src/main/java/org/opentripplanner/routing/spt/GraphPath.java +++ b/src/main/java/org/opentripplanner/routing/spt/GraphPath.java @@ -70,29 +70,19 @@ public GraphPath(State s, boolean optimize) { optimize = false; } - if(s.isEverBoarded()){ - - LOG.info("NORMAL"); - s.dumpPath(); - LOG.info("OPTIMIZE"); - State s1 = s.optimize(); - s1.dumpPath(); - LOG.info("OPTIMIZE AGAIN"); - State s2 = s1.optimize(); - s2.dumpPath(); - } +// LOG.info("NORMAL"); +// s.dumpPath(); +// LOG.info("OPTIMIZED"); +// s.optimize().dumpPath(); /* Put path in chronological order, and optimize as necessary */ State lastState; walkDistance = s.getWalkDistance(); - LOG.info("IGNORE______________________________________________"); if (back) { lastState = optimize ? s.optimize() : s.reverse(); } else { - lastState = optimize ? s.optimize().optimize() : s; } - LOG.info("DONE______________________________________________"); // DEBUG // lastState = s; diff --git a/src/main/java/org/opentripplanner/routing/vertextype/TemporaryFlexTransitStop.java b/src/main/java/org/opentripplanner/routing/vertextype/TemporaryFlexTransitStop.java new file mode 100644 index 00000000000..d9feeee7c75 --- /dev/null +++ b/src/main/java/org/opentripplanner/routing/vertextype/TemporaryFlexTransitStop.java @@ -0,0 +1,24 @@ +/* This program is free software: you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public License + as published by the Free Software Foundation, either version 3 of + the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ +package org.opentripplanner.routing.vertextype; + +import org.onebusaway.gtfs.model.Stop; +import org.opentripplanner.routing.graph.Graph; + +public class TemporaryFlexTransitStop extends TransitStop { + + public TemporaryFlexTransitStop(Graph graph, Stop stop) { + super(graph, stop); + } +} From d3c3e9c39684d9f03175ddac669d2f58ea0109fd Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Wed, 8 Mar 2017 13:31:43 -0500 Subject: [PATCH 012/226] Revert "Merged in flex direct transfer work" This reverts commit d0c503af27aa6453bb9f2aecdef94b33911ad3f2. --- pom.xml | 32 +- .../api/resource/PlannerResource.java | 1 + .../graph_builder/GraphBuilder.java | 4 - .../module/FlexDirectTransferGenerator.java | 413 ------------------ .../opentripplanner/model/StopPattern.java | 23 +- .../routing/algorithm/GenericDijkstra.java | 9 +- .../InterleavedBidirectionalHeuristic.java | 29 +- .../routing/core/ServiceDay.java | 2 +- .../opentripplanner/routing/core/State.java | 2 + .../routing/core/StateData.java | 5 + .../routing/edgetype/PartialPatternHop.java | 95 ---- .../routing/edgetype/PatternHop.java | 62 +-- .../routing/edgetype/TransitBoardAlight.java | 18 +- .../routing/edgetype/TripPattern.java | 2 +- .../opentripplanner/routing/graph/Graph.java | 2 - .../routing/impl/GraphPathFinder.java | 3 + .../routing/spt/GraphPath.java | 18 +- .../vertextype/TemporaryFlexTransitStop.java | 24 - 18 files changed, 117 insertions(+), 627 deletions(-) delete mode 100644 src/main/java/org/opentripplanner/graph_builder/module/FlexDirectTransferGenerator.java delete mode 100644 src/main/java/org/opentripplanner/routing/edgetype/PartialPatternHop.java delete mode 100644 src/main/java/org/opentripplanner/routing/vertextype/TemporaryFlexTransitStop.java diff --git a/pom.xml b/pom.xml index 78b4f4fba0f..a2a5b2189b6 100644 --- a/pom.xml +++ b/pom.xml @@ -10,9 +10,9 @@ jar - scm:git:http://github.com/camsys/OpenTripPlanner.git - scm:git:ssh://git@github.com/camsys/OpenTripPlanner.git - http://github.com/camsys/OpenTripPlanner + scm:git:http://github.com/opentripplanner/OpenTripPlanner.git + scm:git:ssh://git@github.com/opentripplanner/OpenTripPlanner.git + http://github.com/opentripplanner/OpenTripPlanner @@ -24,15 +24,11 @@ - releases-obaweb-repo - OneBusAway OBAWEB Release Repo - http://repo.obaweb.org:8080/archiva/repository/releases/ + + conveyal-maven-repo + Conveyal Maven Repository + s3://maven.conveyal.com/ - - snapshots-obaweb-repo - OneBusAway OBAWEB Snapshot Repo - http://repo.obaweb.org:8080/archiva/repository/snapshots/ - @@ -365,11 +361,6 @@ bintray http://dl.bintray.com/andimarek/graphql-java - - snapshots-obaweb-repo - OneBusAway OBAWEB Snapshot Repo - http://repo.obaweb.org:8080/archiva/repository/snapshots/ - @@ -582,7 +573,7 @@ org.onebusaway onebusaway-gtfs - 1.3.5-vt-SNAPSHOT + 1.3.5-conveyal-SNAPSHOT-2 @@ -743,6 +734,13 @@ + + + + org.apache.commons + commons-lang3 + 3.5 + diff --git a/src/main/java/org/opentripplanner/api/resource/PlannerResource.java b/src/main/java/org/opentripplanner/api/resource/PlannerResource.java index c87f9b223ec..98c992853de 100644 --- a/src/main/java/org/opentripplanner/api/resource/PlannerResource.java +++ b/src/main/java/org/opentripplanner/api/resource/PlannerResource.java @@ -91,6 +91,7 @@ public Response plan(@Context UriInfo uriInfo, @Context Request grizzlyRequest) response.setPlan(plan); } catch (Exception e) { + e.printStackTrace(); PlannerError error = new PlannerError(e); if(!PlannerError.isPlanningError(e.getClass())) LOG.warn("Error while planning path: ", e); diff --git a/src/main/java/org/opentripplanner/graph_builder/GraphBuilder.java b/src/main/java/org/opentripplanner/graph_builder/GraphBuilder.java index 1faee3f9a3f..ef0b384225c 100644 --- a/src/main/java/org/opentripplanner/graph_builder/GraphBuilder.java +++ b/src/main/java/org/opentripplanner/graph_builder/GraphBuilder.java @@ -18,7 +18,6 @@ the License, or (at your option) any later version. import org.opentripplanner.graph_builder.model.GtfsBundle; import org.opentripplanner.graph_builder.module.DirectTransferGenerator; import org.opentripplanner.graph_builder.module.EmbedConfig; -import org.opentripplanner.graph_builder.module.FlexDirectTransferGenerator; import org.opentripplanner.graph_builder.module.GtfsModule; import org.opentripplanner.graph_builder.module.PruneFloatingIslands; import org.opentripplanner.graph_builder.module.StreetLinkerModule; @@ -309,9 +308,6 @@ public static GraphBuilder forDirectory(CommandLineParameters params, File dir) if ( ! builderParams.useTransfersTxt) { // This module will use streets or straight line distance depending on whether OSM data is found in the graph. graphBuilder.addModule(new DirectTransferGenerator()); - if (hasOSM) { - graphBuilder.addModule(new FlexDirectTransferGenerator()); - } } } graphBuilder.addModule(new EmbedConfig(builderConfig, routerConfig)); diff --git a/src/main/java/org/opentripplanner/graph_builder/module/FlexDirectTransferGenerator.java b/src/main/java/org/opentripplanner/graph_builder/module/FlexDirectTransferGenerator.java deleted file mode 100644 index 033c87be5a2..00000000000 --- a/src/main/java/org/opentripplanner/graph_builder/module/FlexDirectTransferGenerator.java +++ /dev/null @@ -1,413 +0,0 @@ -/* This program is free software: you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public License - as published by the Free Software Foundation, either version 3 of - the License, or (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . */ - -package org.opentripplanner.graph_builder.module; - -import com.vividsolutions.jts.geom.Coordinate; -import com.vividsolutions.jts.geom.GeometryFactory; -import com.vividsolutions.jts.geom.LineString; -import com.vividsolutions.jts.linearref.LengthIndexedLine; -import org.apache.commons.math3.util.Pair; -import org.onebusaway.gtfs.model.AgencyAndId; -import org.onebusaway.gtfs.model.Stop; -import org.opentripplanner.api.resource.CoordinateArrayListSequence; -import org.opentripplanner.common.geometry.GeometryUtils; -import org.opentripplanner.common.geometry.PackedCoordinateSequence; -import org.opentripplanner.common.geometry.SphericalDistanceLibrary; -import org.opentripplanner.graph_builder.module.map.StreetMatcher; -import org.opentripplanner.graph_builder.services.GraphBuilderModule; -import org.opentripplanner.routing.algorithm.GenericDijkstra; -import org.opentripplanner.routing.algorithm.TraverseVisitor; -import org.opentripplanner.routing.algorithm.strategies.TrivialRemainingWeightHeuristic; -import org.opentripplanner.routing.core.RoutingRequest; -import org.opentripplanner.routing.core.State; -import org.opentripplanner.routing.core.TraverseMode; -import org.opentripplanner.routing.edgetype.PartialPatternHop; -import org.opentripplanner.routing.edgetype.PatternHop; -import org.opentripplanner.routing.edgetype.PreAlightEdge; -import org.opentripplanner.routing.edgetype.PreBoardEdge; -import org.opentripplanner.routing.edgetype.SimpleTransfer; -import org.opentripplanner.routing.edgetype.StreetEdge; -import org.opentripplanner.routing.edgetype.TransitBoardAlight; -import org.opentripplanner.routing.edgetype.TripPattern; -import org.opentripplanner.routing.graph.Edge; -import org.opentripplanner.routing.graph.Graph; -import org.opentripplanner.routing.graph.GraphIndex; -import org.opentripplanner.routing.graph.Vertex; -import org.opentripplanner.routing.spt.GraphPath; -import org.opentripplanner.routing.vertextype.PatternArriveVertex; -import org.opentripplanner.routing.vertextype.PatternDepartVertex; -import org.opentripplanner.routing.vertextype.PatternStopVertex; -import org.opentripplanner.routing.vertextype.TransitStop; -import org.opentripplanner.routing.vertextype.TransitStopArrive; -import org.opentripplanner.routing.vertextype.TransitStopDepart; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collection; -import java.util.HashMap; -import java.util.HashSet; -import java.util.List; -import java.util.Map; -import java.util.Set; - -/** - * {@link GraphBuilderModule} module that links flex-enabled PatternHops to other ones or TransitStops. - * - * It will use the street network if OSM data has already been loaded into the graph. - * Otherwise it will use straight-line distance between stops. - * - */ -public class FlexDirectTransferGenerator implements GraphBuilderModule { - - private static Logger LOG = LoggerFactory.getLogger(FlexDirectTransferGenerator.class); - - private static final double MAX_DISTANCE = 1000; - private static final double TRANSIT_STOP_CUTOFF = 100; - - public List provides() { - return Arrays.asList("linking"); - } - - public List getPrerequisites() { - return Arrays.asList("street to transit"); - } - - StreetMatcher matcher; - GeometryFactory geometryFactory = GeometryUtils.getGeometryFactory(); - - @Override - public void buildGraph(Graph graph, HashMap, Object> extra) { - - /* Initialize graph index which is needed by the nearby stop finder. */ - if (graph.index == null) { - graph.index = new GraphIndex(graph); - } - - /* Initialize street matcher. */ - matcher = new StreetMatcher(graph); - - int nTransfersTotal = 0; - int nLinkableHops = 0; - - for (TripPattern tripPattern : graph.index.patternsForFeedId.values()) { - for (PatternHop hop : tripPattern.getPatternHops()) { - - // for each hop, find nearby stops and hops. create transfers. - if (hop.getContinuousDropoff() > 0 || hop.getContinuousPickup() > 0) { - if (++nLinkableHops % 1000 == 0) { - LOG.info("Linked {} hops", nLinkableHops); - } - - // Exclude a transfer point if the transfer from DirectTransferGenerator would be better: - // - it is a TransitStop and it is within 100m of either endpoint of the hop - // - it is a hop where either endpoint is within 100m of either endpoint of this hop. - - Collection pts = findNearbyTransferPoints(graph, hop); - - for (TransferPointAtDistance pt : pts) { - if (!shouldExclude(hop, pt)) { - link(graph, hop, pt); - } - } - } - - } - } - - - LOG.info("Done creating transfers for flex hops. Created a total of {} transfers from {} hops.", nTransfersTotal, nLinkableHops); - } - - @Override - public void checkInputs() { - // No inputs - } - - - // This is based on NearbyStopFinder but more flexible - // In addition, we *require* that we have streets (can't use Euclidean distance). Flag stops make no sense without streets. - private Collection findNearbyTransferPoints(Graph graph, PatternHop hop) { - Map closestTransferPointForTripPattern = new HashMap<>(); - - RoutingRequest request = new RoutingRequest(TraverseMode.WALK); - request.softWalkLimiting = false; - request.maxWalkDistance = MAX_DISTANCE; - request.batch = true; - request.setRoutingContext(graph, hop.getFromVertex(), hop.getToVertex()); - - GenericDijkstra gd = new GenericDijkstra(request); - - gd.setHeuristic(new TrivialRemainingWeightHeuristic()); - gd.traverseVisitor = new TraverseVisitor() { - @Override - public void visitEdge(Edge edge, State state) { - } - - @Override - public void visitVertex(State state) { - Vertex v = state.getVertex(); - - // TODO: Check these assumptions: - // If we encounter something from a trip pattern, it's definitely the first time we've seen it. - // It's fine to search from vertices rather than the line, because we would need to turn from an intersection anyway. - - - if (v instanceof TransitStop) { - TransitStop tstop = (TransitStop) v; - Collection patterns = graph.index.patternsForStop.get(tstop.getStop()); - for (TripPattern pattern : patterns) { - TransferPointAtDistance pt = new TransferPointAtDistance(hop, state, tstop); - addPointForTripPattern(pattern, pt); - } - } - - // get hops - if (state.backEdge instanceof StreetEdge) { - for (PatternHop h : graph.index.getHopsForEdge(state.backEdge, true)) { - if (h.getContinuousPickup() > 0 || h.getContinuousDropoff() > 0) { - TripPattern pattern = h.getPattern(); - TransferPointAtDistance pt = new TransferPointAtDistance(hop, state, h, state.getVertex().getCoordinate()); - addPointForTripPattern(pattern, pt); - } - } - } - } - - @Override - public void visitEnqueue(State state) { - } - - private void addPointForTripPattern(TripPattern pattern, TransferPointAtDistance pt) { - TransferPointAtDistance other = closestTransferPointForTripPattern.get(pattern); - if (pt.betterThan(other) && !pattern.equals(hop.getPattern())) { - closestTransferPointForTripPattern.put(pattern, pt); - } - } - }; - - // Remap edge to the graph to find vertices for search - List edges = matcher.match(hop.getGeometry()); - Set verts = new HashSet<>(); - for (Edge e : edges) { - verts.add(e.getToVertex()); - verts.add(e.getFromVertex()); - } - - State[] states = verts.stream().map(v -> new State(v, request)).toArray(State[]::new); - - gd.getShortestPathTree(states); - - Set pts = new HashSet<>(closestTransferPointForTripPattern.values()); - - LOG.debug("for hop={} found {} transfer points", hop, pts.size()); - return pts; - } - - private void link(Graph graph, PatternHop hop, TransferPointAtDistance point) { - if (point.isTransitStop()) { - // linking from a hop to a transit stop - - Vertex v = point.getFrom(); - Stop stop = new Stop(); - stop.setId(new AgencyAndId(hop.getPattern().getFeedId(), String.valueOf(Math.random()))); - stop.setLat(v.getLat()); - stop.setLon(v.getLon()); - - String msg = String.format("Transfer from pattern=%s, stopIndex=%d, pos=%s to stop=%s, dist=%g, dafh=%g", hop.getPattern().code, hop.getStopIndex(), v.getCoordinate().toString(), point.tstop.toString(), point.dist, point.distanceAlongFromHop); - stop.setName(msg); - TransitStop transferStop = new TransitStop(graph, stop); - - // hop -> stop transfer - PatternArriveVertex patternArriveVertex = new PatternArriveVertex(graph, hop.getPattern(), hop.getStopIndex(), stop); - TransitStopArrive transitStopArrive = new TransitStopArrive(graph, stop, transferStop); - PartialPatternHop.startHop(hop, patternArriveVertex, stop, matcher, geometryFactory); - new TransitBoardAlight(patternArriveVertex, transitStopArrive, hop.getStopIndex(), hop.getPattern().mode); - new PreAlightEdge(transitStopArrive, transferStop); - new SimpleTransfer(transferStop, point.tstop, point.dist, point.geom, point.edges); - - // stop -> hop - TransitStopDepart transitStopDepart = new TransitStopDepart(graph, stop, transferStop); - PatternDepartVertex patternDepartVertex = new PatternDepartVertex(graph, hop.getPattern(), hop.getStopIndex(), stop); - new PreBoardEdge(transferStop, transitStopDepart); - new TransitBoardAlight(transitStopDepart, patternDepartVertex, hop.getStopIndex(), hop.getPattern().mode); - PartialPatternHop.endHop(hop, patternDepartVertex,stop, matcher, geometryFactory); - TransferPointAtDistance rev = point.reverse(); - new SimpleTransfer(point.tstop, transferStop, rev.dist, rev.geom, rev.edges); - } else { - // TODO - } - } - - private static boolean tooClose(Vertex v, Vertex w) { - return SphericalDistanceLibrary.fastDistance(v.getLat(), v.getLon(), w.getLat(), w.getLon()) < TRANSIT_STOP_CUTOFF; - } - - private static boolean shouldExclude(PatternHop hop, TransitStop stop) { - return tooClose(hop.getFromVertex(), stop) || tooClose(hop.getToVertex(), stop); - } - - private static boolean shouldExclude(PatternHop hop0, PatternHop hop1) { - Vertex v = hop0.getFromVertex(), w = hop0.getToVertex(), x = hop1.getFromVertex(), y = hop1.getToVertex(); - return tooClose(v, x) || tooClose(v, y) || tooClose(w, x) || tooClose(w, y); - } - - private static boolean shouldExclude(PatternHop hop, TransferPointAtDistance pt) { - return pt.isTransitStop() ? shouldExclude(hop, pt.getTransitStop()) : shouldExclude(hop, pt.getHop()); - } -} - -class TransferPointAtDistance { - - State state; - - TransitStop tstop; - double dist; // distance TO original hop - LineString geom; - List edges; - PatternHop hop; - Coordinate locationOnHop; - Vertex from; - - PatternHop fromHop; - double distanceAlongFromHop; // distance along original hop - - private static GeometryFactory geometryFactory = GeometryUtils.getGeometryFactory(); - - public TransferPointAtDistance(PatternHop fromHop, State state, TransitStop tstop) { - this(fromHop, state); - this.tstop = tstop; - } - - public TransferPointAtDistance(PatternHop fromHop, State state, PatternHop hop, Coordinate coord) { - this(fromHop, state); - this.hop = hop; - this.locationOnHop = coord; - } - - public boolean isTransitStop() { - return tstop != null; - } - - public TransitStop getTransitStop() { - return tstop; - } - - public PatternHop getHop() { - return hop; - } - - public Vertex getFrom() { - return from; - } - - private TransferPointAtDistance(PatternHop fromHop, State state) { - this(state); - this.state = state; - this.fromHop = fromHop; - LengthIndexedLine line = new LengthIndexedLine(fromHop.getGeometry()); - this.distanceAlongFromHop = (line.project(from.getCoordinate())/line.getEndIndex()) * fromHop.getDistance(); - } - - // TODO: merge with NearbyStopFinder.stopAtDistanceForState() (where this code was taken from) - private TransferPointAtDistance(State state) { - double distance = 0.0; - GraphPath graphPath = new GraphPath(state, false); - from = graphPath.states.getFirst().getVertex(); - CoordinateArrayListSequence coordinates = new CoordinateArrayListSequence(); - List edges = new ArrayList<>(); - for (Edge edge : graphPath.edges) { - if (edge instanceof StreetEdge) { - LineString geometry = edge.getGeometry(); - if (geometry != null) { - if (coordinates.size() == 0) { - coordinates.extend(geometry.getCoordinates()); - } else { - coordinates.extend(geometry.getCoordinates(), 1); - } - } - distance += edge.getDistance(); - } - edges.add(edge); - } - if (coordinates.size() < 2) { // Otherwise the walk step generator breaks. - ArrayList coordinateList = new ArrayList(2); - coordinateList.add(graphPath.states.get(1).getVertex().getCoordinate()); - State lastState = graphPath.states.getLast().getBackState(); - coordinateList.add(lastState.getVertex().getCoordinate()); - coordinates = new CoordinateArrayListSequence(coordinateList); - } - this.geom = geometryFactory.createLineString(new PackedCoordinateSequence.Double(coordinates.toCoordinateArray())); - this.edges = edges; - this.dist = distance; - } - - @Override - public boolean equals(Object o) { - if (this == o) return true; - if (o == null || getClass() != o.getClass()) return false; - - TransferPointAtDistance that = (TransferPointAtDistance) o; - - if (Double.compare(that.dist, dist) != 0) return false; - if (tstop != null ? !tstop.equals(that.tstop) : that.tstop != null) return false; - if (hop != null ? !hop.equals(that.hop) : that.hop != null) return false; - return locationOnHop != null ? locationOnHop.equals(that.locationOnHop) : that.locationOnHop == null; - } - - @Override - public int hashCode() { - int result; - long temp; - result = tstop != null ? tstop.hashCode() : 0; - temp = Double.doubleToLongBits(dist); - result = 31 * result + (int) (temp ^ (temp >>> 32)); - result = 31 * result + (hop != null ? hop.hashCode() : 0); - result = 31 * result + (locationOnHop != null ? locationOnHop.hashCode() : 0); - return result; - } - - @Override - public String toString() { - return "TransferPointAtDistance[dist=" + dist + "," + - ((tstop != null) ? ("tstop=" + tstop.toString()) : ("hop=" + hop.toString() + ",coord=" + locationOnHop.toString())) - + "]"; - } - - public boolean betterThan(TransferPointAtDistance other) { - if (other==null) - return true; - // prefer a transfer point that is at a real stop [unless the real stop is outside the cutoff away?] - if (this.isTransitStop() && !other.isTransitStop()) - return true; - if (!this.isTransitStop() && other.isTransitStop()) - return false; - - // prefer traveling a shorter distance as long as the difference is not trivial. (should this be "softer"? if your walk preferences are larger you might prefer to walk a "cutoff") - if (other.dist - this.dist > 100) - return true; - if (this.dist - other.dist > 100) - return false; - - // prefer transferring earlier in the hop - if (this.distanceAlongFromHop < other.distanceAlongFromHop) - return true; - return false; - } - - public TransferPointAtDistance reverse() { - return new TransferPointAtDistance(state.reverse()); - } -} \ No newline at end of file diff --git a/src/main/java/org/opentripplanner/model/StopPattern.java b/src/main/java/org/opentripplanner/model/StopPattern.java index b24826c7a36..cdbb70888ee 100644 --- a/src/main/java/org/opentripplanner/model/StopPattern.java +++ b/src/main/java/org/opentripplanner/model/StopPattern.java @@ -52,17 +52,13 @@ public class StopPattern implements Serializable { public final Stop[] stops; public final int[] pickups; public final int[] dropoffs; - public final int[] continuousPickups; - public final int[] continuousDropoffs; public boolean equals(Object other) { if (other instanceof StopPattern) { StopPattern that = (StopPattern) other; return Arrays.equals(this.stops, that.stops) && Arrays.equals(this.pickups, that.pickups) && - Arrays.equals(this.dropoffs, that.dropoffs) && - Arrays.equals(this.continuousPickups, that.continuousPickups) && - Arrays.equals(this.continuousDropoffs, that.continuousDropoffs); + Arrays.equals(this.dropoffs, that.dropoffs); } else { return false; } @@ -75,10 +71,6 @@ public int hashCode() { hash += Arrays.hashCode(this.pickups); hash *= 31; hash += Arrays.hashCode(this.dropoffs); - hash *= 31; - hash += Arrays.hashCode(this.continuousPickups); - hash *= 31; - hash += Arrays.hashCode(this.continuousDropoffs); return hash; } @@ -96,8 +88,6 @@ private StopPattern (int size) { stops = new Stop[size]; pickups = new int[size]; dropoffs = new int[size]; - continuousPickups = new int[size]; - continuousDropoffs = new int[size]; } /** Assumes that stopTimes are already sorted by time. */ @@ -111,15 +101,6 @@ public StopPattern (List stopTimes) { // pick/drop messages could be stored in individual trips pickups[i] = stopTime.getPickupType(); dropoffs[i] = stopTime.getDropOffType(); - - // continuous pickup/dropoff can be empty (-1), which means 0 for the first stoptime, and the previous value for subsequent stop times. - if (i == 0) { - continuousPickups[i] = stopTime.getContinuousPickup() == -1 ? 0 : stopTime.getContinuousPickup(); - continuousDropoffs[i] = stopTime.getContinuousDropOff() == -1 ? 0 : stopTime.getContinuousDropOff(); - } else { - continuousPickups[i] = stopTime.getContinuousPickup() == -1 ? continuousPickups[i-1] : stopTime.getContinuousPickup(); - continuousDropoffs[i] = stopTime.getContinuousDropOff() == -1 ? continuousDropoffs[i-1] : stopTime.getContinuousDropOff(); - } } /* * TriMet GTFS has many trips that differ only in the pick/drop status of their initial and @@ -163,8 +144,6 @@ public HashCode semanticHash(HashFunction hashFunction) { for (int hop = 0; hop < size - 1; hop++) { hasher.putInt(pickups[hop]); hasher.putInt(dropoffs[hop + 1]); - hasher.putInt(continuousPickups[hop]); - hasher.putInt(continuousDropoffs[hop + 1]); } return hasher.hash(); } diff --git a/src/main/java/org/opentripplanner/routing/algorithm/GenericDijkstra.java b/src/main/java/org/opentripplanner/routing/algorithm/GenericDijkstra.java index 85c7d4a57d5..d4314e01c46 100644 --- a/src/main/java/org/opentripplanner/routing/algorithm/GenericDijkstra.java +++ b/src/main/java/org/opentripplanner/routing/algorithm/GenericDijkstra.java @@ -64,8 +64,7 @@ public void setSkipTraverseResultStrategy(SkipTraverseResultStrategy skipTravers this.skipTraverseResultStrategy = skipTraverseResultStrategy; } - public ShortestPathTree getShortestPathTree(State... initialStates) { - State initialState = initialStates[0]; + public ShortestPathTree getShortestPathTree(State initialState) { Vertex target = null; if (options.rctx != null) { target = initialState.getOptions().rctx.target; @@ -73,10 +72,8 @@ public ShortestPathTree getShortestPathTree(State... initialStates) { ShortestPathTree spt = new DominanceFunction.MinimumWeight().getNewShortestPathTree(options); BinHeap queue = new BinHeap(1000); - for (State state : initialStates) { - spt.add(state); - queue.insert(state, state.getWeight()); - } + spt.add(initialState); + queue.insert(initialState, initialState.getWeight()); while (!queue.empty()) { // Until the priority queue is empty: State u = queue.extract_min(); diff --git a/src/main/java/org/opentripplanner/routing/algorithm/strategies/InterleavedBidirectionalHeuristic.java b/src/main/java/org/opentripplanner/routing/algorithm/strategies/InterleavedBidirectionalHeuristic.java index 08436c3c675..fcff7628a11 100644 --- a/src/main/java/org/opentripplanner/routing/algorithm/strategies/InterleavedBidirectionalHeuristic.java +++ b/src/main/java/org/opentripplanner/routing/algorithm/strategies/InterleavedBidirectionalHeuristic.java @@ -15,15 +15,19 @@ the License, or (props, at your option) any later version. import com.google.common.collect.BiMap; import com.google.common.collect.HashBiMap; +import com.google.common.collect.Lists; import com.vividsolutions.jts.geom.Coordinate; import com.vividsolutions.jts.geom.LineString; import gnu.trove.map.TObjectDoubleMap; import gnu.trove.map.hash.TObjectDoubleHashMap; +import org.apache.commons.lang3.SerializationUtils; import org.onebusaway.gtfs.model.AgencyAndId; import org.onebusaway.gtfs.model.Stop; +import org.onebusaway.gtfs.model.StopTime; import org.opentripplanner.common.geometry.GeometryUtils; import org.opentripplanner.common.geometry.SphericalDistanceLibrary; import org.opentripplanner.common.pqueue.BinHeap; +import org.opentripplanner.model.StopPattern; import org.opentripplanner.routing.core.RoutingRequest; import org.opentripplanner.routing.core.State; import org.opentripplanner.routing.core.TraverseMode; @@ -38,6 +42,8 @@ the License, or (props, at your option) any later version. import org.opentripplanner.routing.location.StreetLocation; import org.opentripplanner.routing.spt.DominanceFunction; import org.opentripplanner.routing.spt.ShortestPathTree; +import org.opentripplanner.routing.trippattern.FrequencyEntry; +import org.opentripplanner.routing.trippattern.TripTimes; import org.opentripplanner.routing.vertextype.*; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -377,6 +383,7 @@ private TObjectDoubleMap streetSearch (RoutingRequest rr, boolean fromTa Stop flagStop = new Stop(); flagStop.setId(new AgencyAndId("1", "temp_" + String.valueOf(i))); + flagStop.setId(new AgencyAndId("1", String.valueOf(Math.random()))); flagStop.setLat(v.getLat()); flagStop.setLon(v.getLon()); flagStop.setName(s.getBackEdge().getName()); @@ -393,11 +400,11 @@ private TObjectDoubleMap streetSearch (RoutingRequest rr, boolean fromTa TemporaryPreAlightEdge preAlightEdge = new TemporaryPreAlightEdge(transitStopArrive, flagTransitStop); rr.rctx.temporaryEdges.add(preAlightEdge); - for(TripPattern tripPattern : stateToTripPatternsMap.get(s)){ + for(TripPattern originalTripPattern : stateToTripPatternsMap.get(s)){ List patternHops = graph.index.getHopsForEdge(s.getBackEdge(), fromTarget) .stream() - .filter(e -> e.getPattern() == tripPattern) + .filter(e -> e.getPattern() == originalTripPattern) .collect(Collectors.toList()); for(PatternHop originalPatternHop : patternHops){ @@ -405,9 +412,10 @@ private TObjectDoubleMap streetSearch (RoutingRequest rr, boolean fromTa int stopIndex = originalPatternHop.getStopIndex(); //TODO make deep copy of trip pattern + TripPattern temporaryTripPattern = originalTripPattern; PatternArriveVertex patternArriveVertex = - new PatternArriveVertex(graph, tripPattern, stopIndex, flagStop); + new PatternArriveVertex(graph, temporaryTripPattern, stopIndex, flagStop); rr.rctx.temporaryVertices.add(patternArriveVertex); TemporaryPatternHop forwardSearchPatternHop = findShortenedPatternHops(originalPatternHop); @@ -451,11 +459,11 @@ private TObjectDoubleMap streetSearch (RoutingRequest rr, boolean fromTa TemporaryPreBoardEdge temporaryPreBoardEdge = new TemporaryPreBoardEdge(flagTransitStop, transitStopDepart); rr.rctx.temporaryEdges.add(temporaryPreBoardEdge); - for(TripPattern tripPattern : stateToTripPatternsMap.get(s)){ + for(TripPattern originalTripPattern : stateToTripPatternsMap.get(s)){ List patternHops = graph.index.getHopsForEdge(s.getBackEdge(), fromTarget) .stream() - .filter(e -> e.getPattern() == tripPattern) + .filter(e -> e.getPattern() == originalTripPattern) .collect(Collectors.toList()); for(PatternHop originalPatternHop : patternHops){ @@ -464,8 +472,12 @@ private TObjectDoubleMap streetSearch (RoutingRequest rr, boolean fromTa if(postStopHopGeometry == null) continue; //flex point is very close to the beginning or end of the hop. Leave this hop unchanged; + + //TODO make deep copy of trip pattern + TripPattern temporaryTripPattern = originalTripPattern; + PatternDepartVertex patternDepartVertex = - new PatternDepartVertex(graph, tripPattern, originalPatternHop.getStopIndex(), flagStop); + new PatternDepartVertex(graph, temporaryTripPattern, originalPatternHop.getStopIndex(), flagStop); rr.rctx.temporaryVertices.add(patternDepartVertex); double originalHopGeometryLength = GeometryUtils.getLengthInMeters(originalPatternHop.getGeometry()); @@ -473,8 +485,11 @@ private TObjectDoubleMap streetSearch (RoutingRequest rr, boolean fromTa double distanceRatio = shortenedHopGeometryLength/originalHopGeometryLength; TemporaryPatternHop temporaryPatternHop = new TemporaryPatternHop(originalPatternHop, patternDepartVertex, flagStop, distanceRatio); temporaryPatternHop.setGeometry(postStopHopGeometry); + rr.rctx.temporaryEdges.add(temporaryPatternHop); + + /** TransitBoardAlight: Boarding constructor (TransitStopDepart, PatternStopVertex) */ TemporaryTransitBoardAlight transitBoardAlight = new TemporaryTransitBoardAlight(transitStopDepart, patternDepartVertex, originalPatternHop.getStopIndex(), TraverseMode.BUS); @@ -527,7 +542,7 @@ private LineString getShortenedPatternHopGeometryForFlagStop(Coordinate[] lineCo /** * When reverse search creates a shortened pattern hop, check whether the forward search shortened the start of - * the geometry already. If so, use that geometry, then shorten the other end. + * the geometry already. If so, use that geometry, then shorten the other end, then update both hops * @param originalPatternHop * @return */ diff --git a/src/main/java/org/opentripplanner/routing/core/ServiceDay.java b/src/main/java/org/opentripplanner/routing/core/ServiceDay.java index 6e14efd281d..75fb147f0a1 100644 --- a/src/main/java/org/opentripplanner/routing/core/ServiceDay.java +++ b/src/main/java/org/opentripplanner/routing/core/ServiceDay.java @@ -35,7 +35,7 @@ the License, or (props, at your option) any later version. public class ServiceDay implements Serializable { private static final long serialVersionUID = -1206371243806996680L; - protected long midnight; + public long midnight; protected ServiceDate serviceDate; protected BitSet serviceIdsRunning; diff --git a/src/main/java/org/opentripplanner/routing/core/State.java b/src/main/java/org/opentripplanner/routing/core/State.java index 01fa70fc93e..3a8594ca816 100644 --- a/src/main/java/org/opentripplanner/routing/core/State.java +++ b/src/main/java/org/opentripplanner/routing/core/State.java @@ -482,6 +482,8 @@ public State reversedClone() { newState.stateData.usingRentedBike = stateData.usingRentedBike; newState.stateData.carParked = stateData.carParked; newState.stateData.bikeParked = stateData.bikeParked; + newState.stateData.flagStopDepartureOffsets = stateData.flagStopDepartureOffsets; + newState.stateData.flagStopArrivalOffsets = stateData.flagStopArrivalOffsets; return newState; } diff --git a/src/main/java/org/opentripplanner/routing/core/StateData.java b/src/main/java/org/opentripplanner/routing/core/StateData.java index 97f23574b96..29625ec3552 100644 --- a/src/main/java/org/opentripplanner/routing/core/StateData.java +++ b/src/main/java/org/opentripplanner/routing/core/StateData.java @@ -14,6 +14,7 @@ the License, or (props, at your option) any later version. package org.opentripplanner.routing.core; import java.util.HashMap; +import java.util.Map; import java.util.Set; import org.onebusaway.gtfs.model.AgencyAndId; @@ -97,6 +98,10 @@ public class StateData implements Cloneable { /* This boolean is set to true upon transition from a normal street to a no-through-traffic street. */ protected boolean enteredNoThroughTrafficArea; + public Map flagStopDepartureOffsets; + + public Map flagStopArrivalOffsets; + public StateData(RoutingRequest options) { TraverseModeSet modes = options.modes; if (modes.getCar()) diff --git a/src/main/java/org/opentripplanner/routing/edgetype/PartialPatternHop.java b/src/main/java/org/opentripplanner/routing/edgetype/PartialPatternHop.java deleted file mode 100644 index 54d002e900e..00000000000 --- a/src/main/java/org/opentripplanner/routing/edgetype/PartialPatternHop.java +++ /dev/null @@ -1,95 +0,0 @@ -/* This program is free software: you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public License - as published by the Free Software Foundation, either version 3 of - the License, or (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . */ - -package org.opentripplanner.routing.edgetype; - -import com.vividsolutions.jts.geom.Coordinate; -import com.vividsolutions.jts.geom.CoordinateSequence; -import com.vividsolutions.jts.geom.GeometryFactory; -import com.vividsolutions.jts.geom.LineString; -import com.vividsolutions.jts.linearref.LengthIndexedLine; -import org.onebusaway.gtfs.model.Stop; -import org.opentripplanner.graph_builder.module.map.StreetMatcher; -import org.opentripplanner.routing.core.RoutingRequest; -import org.opentripplanner.routing.core.State; -import org.opentripplanner.routing.graph.Edge; -import org.opentripplanner.routing.vertextype.PatternArriveVertex; -import org.opentripplanner.routing.vertextype.PatternDepartVertex; -import org.opentripplanner.routing.vertextype.PatternStopVertex; - -import java.util.ArrayList; -import java.util.List; - - -public class PartialPatternHop extends PatternHop { - - private static final long serialVersionUID = 1L; - - private double startIndex; - private double endIndex; - private double percentageOfHop; - - private PartialPatternHop(PatternHop hop, PatternStopVertex from, PatternStopVertex to, Stop fromStop, Stop toStop, StreetMatcher matcher, GeometryFactory factory, boolean start) { - super(from, to, fromStop, toStop, hop.getStopIndex(), hop.getContinuousPickup(), hop.getContinuousDropoff(), false); - LengthIndexedLine line = new LengthIndexedLine(hop.getGeometry()); - if (start) { - this.startIndex = 0; - this.endIndex = line.project(to.getCoordinate()); - } else { - this.startIndex = line.project(from.getCoordinate()); - this.endIndex = line.getEndIndex(); - } - this.setGeometryFromHop(matcher, factory, hop); - this.percentageOfHop = (this.endIndex - this.startIndex) / line.getEndIndex(); - } - - // given hop s0->s1 and a temporary position t, create a partial hop s0->t - public static PartialPatternHop startHop(PatternHop hop, PatternArriveVertex to, Stop toStop, StreetMatcher matcher, GeometryFactory factory) { - return new PartialPatternHop(hop, (PatternStopVertex) hop.getFromVertex(), to, hop.getBeginStop(), toStop, matcher, factory, true); - } - - public static PartialPatternHop endHop(PatternHop hop, PatternDepartVertex from, Stop fromStop, StreetMatcher matcher, GeometryFactory factory) { - return new PartialPatternHop(hop, from, (PatternStopVertex) hop.getToVertex(), fromStop, hop.getEndStop(), matcher, factory, false); - } - - @Override - public double timeLowerBound(RoutingRequest options) { - return percentageOfHop * super.timeLowerBound(options); - } - - @Override - public int getRunningTime(State s0) { - return (int) (percentageOfHop * super.getRunningTime(s0)); - } - - private void setGeometryFromHop(StreetMatcher matcher, GeometryFactory factory, PatternHop hop) { - List edges = matcher.match(hop.getGeometry()); - List coords = new ArrayList<>(); - LengthIndexedLine line = new LengthIndexedLine(hop.getGeometry()); - for (Edge e : edges) { - double idx = line.project(e.getToVertex().getCoordinate()); - if (idx >= endIndex) - break; - if (idx < startIndex) - continue; - for (Coordinate c : e.getGeometry().getCoordinates()) - coords.add(c); - } - Coordinate[] arr = coords.toArray(new Coordinate[0]); - LineString geometry = factory.createLineString(arr); - setGeometry(geometry); - } - - -} - diff --git a/src/main/java/org/opentripplanner/routing/edgetype/PatternHop.java b/src/main/java/org/opentripplanner/routing/edgetype/PatternHop.java index 71ad19be9ff..71e5d90e595 100644 --- a/src/main/java/org/opentripplanner/routing/edgetype/PatternHop.java +++ b/src/main/java/org/opentripplanner/routing/edgetype/PatternHop.java @@ -27,6 +27,8 @@ the License, or (at your option) any later version. import org.opentripplanner.routing.edgetype.flex.TemporaryPatternHop; import org.opentripplanner.routing.trippattern.TripTimes; import org.opentripplanner.routing.vertextype.PatternStopVertex; + +import java.util.HashMap; import java.util.Locale; /** @@ -39,33 +41,27 @@ public class PatternHop extends TablePatternEdge implements OnboardEdge, HopEdge private Stop begin, end; - private int continuousPickup, continuousDropoff; - public int stopIndex; private LineString geometry = null; - protected PatternHop(PatternStopVertex from, PatternStopVertex to, Stop begin, Stop end, int stopIndex, int continuousPickup, int continuousDropoff, boolean setInPattern) { + public PatternHop(PatternStopVertex from, PatternStopVertex to, Stop begin, Stop end, int stopIndex) { super(from, to); this.begin = begin; this.end = end; this.stopIndex = stopIndex; - if (setInPattern) getPattern().setPatternHop(stopIndex, this); - this.continuousPickup = continuousPickup; - this.continuousDropoff = continuousDropoff; - } - - public PatternHop(PatternStopVertex from, PatternStopVertex to, Stop begin, Stop end, int stopIndex, int continuousPickup, int continuousDropoff) { - this(from, to, begin, end, stopIndex, continuousPickup, continuousDropoff, true); - } - public PatternHop(PatternStopVertex from, PatternStopVertex to, Stop begin, Stop end, int stopIndex) { - this(from, to, begin, end, stopIndex, 0, 0); } + // made more accurate public double getDistance() { - return SphericalDistanceLibrary.distance(begin.getLat(), begin.getLon(), end.getLat(), - end.getLon()); + double distance = 0; + LineString line = getGeometry(); + for (int i = 0; i < line.getNumPoints() - 1; i++) { + Point p0 = line.getPointN(i), p1 = line.getPointN(i+1); + distance += SphericalDistanceLibrary.distance(p0.getCoordinate(), p1.getCoordinate()); + } + return distance; } public TraverseMode getMode() { @@ -119,6 +115,7 @@ public double weightLowerBound(RoutingRequest options) { } public State traverse(State s0) { + RoutingRequest options = s0.getOptions(); // Ignore this edge if either of its stop is banned hard @@ -131,6 +128,26 @@ public State traverse(State s0) { TripTimes tripTimes = s0.getTripTimes(); int runningTime = tripTimes.getRunningTime(stopIndex); + + //TODO handle cases where both stops on the hop are flag stops + if(this instanceof TemporaryPatternHop && !options.reverseOptimizing){ + double distanceRatio = ((TemporaryPatternHop)this).distanceRatio; + int originalRunningTime = runningTime; + runningTime = (int) Math.round(runningTime * distanceRatio); + int diff = originalRunningTime - runningTime; + if(s0.stateData.flagStopArrivalOffsets == null) + s0.stateData.flagStopArrivalOffsets = new HashMap<>(); + if(s0.stateData.flagStopDepartureOffsets == null) + s0.stateData.flagStopDepartureOffsets = new HashMap<>(); + if(this.getBeginStop().getLocationType() == 99 + && this.getEndStop().getLocationType() == 99) + throw new RuntimeException("how to handle this?"); + if(this.getBeginStop().getLocationType() == 99) + s0.stateData.flagStopDepartureOffsets.put(this.getPattern().code + "|" + this.getStopIndex(), diff); + if(this.getEndStop().getLocationType() == 99) + s0.stateData.flagStopArrivalOffsets.put(this.getPattern().code + "|" + (this.getStopIndex() + 1), diff); + } + StateEditor s1 = s0.edit(this); s1.incrementTimeInSeconds(runningTime); if (s0.getOptions().arriveBy) @@ -143,11 +160,6 @@ public State traverse(State s0) { return s1.makeState(); } - public int getRunningTime(State s0) { - TripTimes tripTimes = s0.getTripTimes(); - return tripTimes.getRunningTime(stopIndex); - } - public void setGeometry(LineString geometry) { this.geometry = geometry; } @@ -181,14 +193,4 @@ public String toString() { public int getStopIndex() { return stopIndex; } - - public int getContinuousPickup() { - return continuousPickup; } - - public int getContinuousDropoff() { - return continuousDropoff; - } - -} - diff --git a/src/main/java/org/opentripplanner/routing/edgetype/TransitBoardAlight.java b/src/main/java/org/opentripplanner/routing/edgetype/TransitBoardAlight.java index 0bfd6a903aa..9c44ac086d1 100644 --- a/src/main/java/org/opentripplanner/routing/edgetype/TransitBoardAlight.java +++ b/src/main/java/org/opentripplanner/routing/edgetype/TransitBoardAlight.java @@ -15,7 +15,10 @@ the License, or (at your option) any later version. import java.util.BitSet; +import java.util.Date; import java.util.Locale; +import java.util.concurrent.TimeUnit; + import org.onebusaway.gtfs.model.Stop; import org.onebusaway.gtfs.model.Trip; import org.opentripplanner.routing.core.RoutingContext; @@ -125,6 +128,7 @@ public String getName(Locale locale) { @Override public State traverse(State state0) { + return traverse(state0, 0); } @@ -293,6 +297,7 @@ public State traverse(State s0, long arrivalTimeAtStop) { (int)(sd.time(tripTimes.getDepartureTime(stopIndex)) - s0.getTimeSeconds()): (int)(s0.getTimeSeconds() - sd.time(tripTimes.getArrivalTime(stopIndex))); /* A trip was found. The wait should be non-negative. */ + System.out.println("getNextTrip id: " + this.getId() + " wait: " + wait + " trip id: " + tripTimes.trip.getId().getId() + " state time: " + new Date(s0.getTimeInMillis()) + " stopIndex: " + stopIndex + " boarding: " + boarding); if (wait < 0) LOG.error("Negative wait time when boarding."); /* Track the soonest departure over all relevant schedules. */ if (bestWait < 0 || wait < bestWait) { @@ -359,6 +364,7 @@ public State traverse(State s0, long arrivalTimeAtStop) { if (!s0.isEverBoarded() && !options.reverseOptimizing) { wait_cost *= options.waitAtBeginningFactor; s1.setInitialWaitTimeSeconds(bestWait); + //System.out.println("bestWait " + bestWait + " " + trip.getId() + " " + this.getId() + " " + this.getFromVertex().getY() + "," +this.getFromVertex().getX()); } else { wait_cost *= options.waitReluctance; } @@ -389,8 +395,18 @@ public State traverse(State s0, long arrivalTimeAtStop) { return optimized; } + State ret = s1.makeState(); + int interval = ret.getTimeDeltaSeconds(); + if (s0.getOptions().reverseOptimizing) { + System.out.println("transit board reverse " + ret.getVertex() + " id: " + this.getId() + " time: " + new Date(ret.getTimeInMillis()) + " offset: " + departureOffset + " tripId: " + trip.getId().getId()); + }else{ + System.out.println("transit board forward " + ret.getVertex() + " id: " + this.getId() + " time: " + new Date(ret.getTimeInMillis()) + " offset: " + departureOffset + " tripId: " + trip.getId().getId()); + } + + return ret; + /* If we didn't return an optimized path, return an unoptimized one. */ - return s1.makeState(); + //return s1.makeState(); } } diff --git a/src/main/java/org/opentripplanner/routing/edgetype/TripPattern.java b/src/main/java/org/opentripplanner/routing/edgetype/TripPattern.java index 64fe6d017af..808fdc1b414 100644 --- a/src/main/java/org/opentripplanner/routing/edgetype/TripPattern.java +++ b/src/main/java/org/opentripplanner/routing/edgetype/TripPattern.java @@ -521,7 +521,7 @@ public void makePatternVerticesAndEdges(Graph graph, Map getPaths(RoutingRequest options) { } LOG.debug("END SEARCH ({} msec)", System.currentTimeMillis() - searchBeginTime); Collections.sort(paths, new PathComparator(options.arriveBy)); + return paths; } @@ -210,6 +211,8 @@ public List graphPathFinderEntryPoint (RoutingRequest request) { throw e; } + + // Detect and report that most obnoxious of bugs: path reversal asymmetry. // Removing paths might result in an empty list, so do this check before the empty list check. if (paths != null) { diff --git a/src/main/java/org/opentripplanner/routing/spt/GraphPath.java b/src/main/java/org/opentripplanner/routing/spt/GraphPath.java index e1ad4d8fc03..d275b859a55 100644 --- a/src/main/java/org/opentripplanner/routing/spt/GraphPath.java +++ b/src/main/java/org/opentripplanner/routing/spt/GraphPath.java @@ -70,19 +70,29 @@ public GraphPath(State s, boolean optimize) { optimize = false; } -// LOG.info("NORMAL"); -// s.dumpPath(); -// LOG.info("OPTIMIZED"); -// s.optimize().dumpPath(); + if(s.isEverBoarded()){ + + LOG.info("NORMAL"); + s.dumpPath(); + LOG.info("OPTIMIZE"); + State s1 = s.optimize(); + s1.dumpPath(); + LOG.info("OPTIMIZE AGAIN"); + State s2 = s1.optimize(); + s2.dumpPath(); + } /* Put path in chronological order, and optimize as necessary */ State lastState; walkDistance = s.getWalkDistance(); + LOG.info("IGNORE______________________________________________"); if (back) { lastState = optimize ? s.optimize() : s.reverse(); } else { + lastState = optimize ? s.optimize().optimize() : s; } + LOG.info("DONE______________________________________________"); // DEBUG // lastState = s; diff --git a/src/main/java/org/opentripplanner/routing/vertextype/TemporaryFlexTransitStop.java b/src/main/java/org/opentripplanner/routing/vertextype/TemporaryFlexTransitStop.java deleted file mode 100644 index d9feeee7c75..00000000000 --- a/src/main/java/org/opentripplanner/routing/vertextype/TemporaryFlexTransitStop.java +++ /dev/null @@ -1,24 +0,0 @@ -/* This program is free software: you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public License - as published by the Free Software Foundation, either version 3 of - the License, or (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . -*/ -package org.opentripplanner.routing.vertextype; - -import org.onebusaway.gtfs.model.Stop; -import org.opentripplanner.routing.graph.Graph; - -public class TemporaryFlexTransitStop extends TransitStop { - - public TemporaryFlexTransitStop(Graph graph, Stop stop) { - super(graph, stop); - } -} From b69d79c2f4361df71b13829ff7011c1b80dd746e Mon Sep 17 00:00:00 2001 From: dbenoff Date: Thu, 9 Mar 2017 23:10:48 -0800 Subject: [PATCH 013/226] Merged in flex direct transfer work --- .../InterleavedBidirectionalHeuristic.java | 28 ++++++++-------- .../flex/TemporaryTransitBoardAlight.java | 32 +++++++++++++++++-- 2 files changed, 44 insertions(+), 16 deletions(-) diff --git a/src/main/java/org/opentripplanner/routing/algorithm/strategies/InterleavedBidirectionalHeuristic.java b/src/main/java/org/opentripplanner/routing/algorithm/strategies/InterleavedBidirectionalHeuristic.java index fcff7628a11..4ceffef3aa1 100644 --- a/src/main/java/org/opentripplanner/routing/algorithm/strategies/InterleavedBidirectionalHeuristic.java +++ b/src/main/java/org/opentripplanner/routing/algorithm/strategies/InterleavedBidirectionalHeuristic.java @@ -418,15 +418,15 @@ private TObjectDoubleMap streetSearch (RoutingRequest rr, boolean fromTa new PatternArriveVertex(graph, temporaryTripPattern, stopIndex, flagStop); rr.rctx.temporaryVertices.add(patternArriveVertex); - TemporaryPatternHop forwardSearchPatternHop = findShortenedPatternHops(originalPatternHop); - if(forwardSearchPatternHop != null){ + TemporaryPatternHop reverseSearchPatternHop = findShortenedPatternHops(originalPatternHop); + if(reverseSearchPatternHop != null){ //processed by forward search already, use the trimmed geometry - LineString preStopHopGeometry = getShortenedPatternHopGeometryForFlagStop(forwardSearchPatternHop.getGeometry().getCoordinates(), v.getCoordinate(), fromTarget); - double originalHopGeometryLength = GeometryUtils.getLengthInMeters(forwardSearchPatternHop.originalPatternHop.getGeometry()); + LineString preStopHopGeometry = getShortenedPatternHopGeometryForFlagStop(reverseSearchPatternHop.getGeometry().getCoordinates(), v.getCoordinate(), fromTarget); + double originalHopGeometryLength = GeometryUtils.getLengthInMeters(reverseSearchPatternHop.originalPatternHop.getGeometry()); double shortenedHopGeometryLength = GeometryUtils.getLengthInMeters(preStopHopGeometry); double distanceRatio = shortenedHopGeometryLength/originalHopGeometryLength; - forwardSearchPatternHop.distanceRatio = distanceRatio; - forwardSearchPatternHop.setGeometry(preStopHopGeometry); + reverseSearchPatternHop.distanceRatio = distanceRatio; + reverseSearchPatternHop.setGeometry(preStopHopGeometry); }else{ //haven't seen this patternHop, create a flex one LineString preStopHopGeometry = getShortenedPatternHopGeometryForFlagStop(originalPatternHop.getGeometry().getCoordinates(), v.getCoordinate(), fromTarget); @@ -435,14 +435,14 @@ private TObjectDoubleMap streetSearch (RoutingRequest rr, boolean fromTa double originalHopGeometryLength = GeometryUtils.getLengthInMeters(originalPatternHop.getGeometry()); double shortenedHopGeometryLength = GeometryUtils.getLengthInMeters(preStopHopGeometry); double distanceRatio = shortenedHopGeometryLength/originalHopGeometryLength; - TemporaryPatternHop temporaryPatternHop = new TemporaryPatternHop(originalPatternHop, patternArriveVertex, flagStop, distanceRatio); - temporaryPatternHop.setGeometry(preStopHopGeometry); - rr.rctx.temporaryEdges.add(temporaryPatternHop); + reverseSearchPatternHop = new TemporaryPatternHop(originalPatternHop, patternArriveVertex, flagStop, distanceRatio); + reverseSearchPatternHop.setGeometry(preStopHopGeometry); + rr.rctx.temporaryEdges.add(reverseSearchPatternHop); } /** Alighting constructor (PatternStopVertex --> TransitStopArrive) */ TemporaryTransitBoardAlight transitBoardAlight = - new TemporaryTransitBoardAlight(patternArriveVertex, transitStopArrive, originalPatternHop.getStopIndex(), TraverseMode.BUS); + new TemporaryTransitBoardAlight(patternArriveVertex, transitStopArrive, originalPatternHop.getStopIndex(), TraverseMode.BUS, reverseSearchPatternHop.distanceRatio); rr.rctx.temporaryEdges.add(transitBoardAlight); @@ -483,16 +483,16 @@ private TObjectDoubleMap streetSearch (RoutingRequest rr, boolean fromTa double originalHopGeometryLength = GeometryUtils.getLengthInMeters(originalPatternHop.getGeometry()); double shortenedHopGeometryLength = GeometryUtils.getLengthInMeters(postStopHopGeometry); double distanceRatio = shortenedHopGeometryLength/originalHopGeometryLength; - TemporaryPatternHop temporaryPatternHop = new TemporaryPatternHop(originalPatternHop, patternDepartVertex, flagStop, distanceRatio); - temporaryPatternHop.setGeometry(postStopHopGeometry); + TemporaryPatternHop forwardSearchPatternHop = new TemporaryPatternHop(originalPatternHop, patternDepartVertex, flagStop, distanceRatio); + forwardSearchPatternHop.setGeometry(postStopHopGeometry); - rr.rctx.temporaryEdges.add(temporaryPatternHop); + rr.rctx.temporaryEdges.add(forwardSearchPatternHop); /** TransitBoardAlight: Boarding constructor (TransitStopDepart, PatternStopVertex) */ TemporaryTransitBoardAlight transitBoardAlight = - new TemporaryTransitBoardAlight(transitStopDepart, patternDepartVertex, originalPatternHop.getStopIndex(), TraverseMode.BUS); + new TemporaryTransitBoardAlight(transitStopDepart, patternDepartVertex, originalPatternHop.getStopIndex(), TraverseMode.BUS, forwardSearchPatternHop.distanceRatio); rr.rctx.temporaryEdges.add(transitBoardAlight); } } diff --git a/src/main/java/org/opentripplanner/routing/edgetype/flex/TemporaryTransitBoardAlight.java b/src/main/java/org/opentripplanner/routing/edgetype/flex/TemporaryTransitBoardAlight.java index 32d497689f6..717c7272952 100644 --- a/src/main/java/org/opentripplanner/routing/edgetype/flex/TemporaryTransitBoardAlight.java +++ b/src/main/java/org/opentripplanner/routing/edgetype/flex/TemporaryTransitBoardAlight.java @@ -1,8 +1,13 @@ package org.opentripplanner.routing.edgetype.flex; +import org.opentripplanner.routing.core.RoutingRequest; +import org.opentripplanner.routing.core.ServiceDay; +import org.opentripplanner.routing.core.State; import org.opentripplanner.routing.core.TraverseMode; import org.opentripplanner.routing.edgetype.TemporaryEdge; +import org.opentripplanner.routing.edgetype.Timetable; import org.opentripplanner.routing.edgetype.TransitBoardAlight; +import org.opentripplanner.routing.trippattern.TripTimes; import org.opentripplanner.routing.vertextype.PatternStopVertex; import org.opentripplanner.routing.vertextype.TransitStopArrive; import org.opentripplanner.routing.vertextype.TransitStopDepart; @@ -12,14 +17,18 @@ */ public class TemporaryTransitBoardAlight extends TransitBoardAlight implements TemporaryEdge { + double distanceRatio; + public TemporaryTransitBoardAlight(TransitStopDepart fromStopVertex, PatternStopVertex toPatternVertex, - int stopIndex, TraverseMode mode) { + int stopIndex, TraverseMode mode, double distanceRatio) { super(fromStopVertex, toPatternVertex, stopIndex, mode); + this.distanceRatio = distanceRatio; } public TemporaryTransitBoardAlight(PatternStopVertex fromPatternStop, TransitStopArrive toStationVertex, - int stopIndex, TraverseMode mode) { + int stopIndex, TraverseMode mode, double distanceRatio) { super(fromPatternStop, toStationVertex, stopIndex, mode); + this.distanceRatio = distanceRatio; } @Override @@ -27,4 +36,23 @@ public void dispose() { fromv.removeOutgoing(this); tov.removeIncoming(this); } + + + @Override + public TripTimes getNextTrip(State s0, ServiceDay sd) { + RoutingRequest options = s0.getOptions(); + Timetable timetable = getPattern().getUpdatedTimetable(options, sd); + TripTimes tripTimes = timetable.getNextTrip(s0, sd, getStopIndex(), boarding, distanceRatio); + return tripTimes; + } + + @Override + public int calculateWait(State s0, ServiceDay sd, TripTimes tripTimes) { + int stopIndex = getStopIndex(); + int adjustment = (int) (distanceRatio * (tripTimes.getRunningTime(stopIndex))); + // we need to fudge this by two seconds so that we can optimize later on. + return boarding ? + (int)(sd.time(tripTimes.getDepartureTime(stopIndex) + adjustment) - s0.getTimeSeconds()) + 2: + (int)(s0.getTimeSeconds() - sd.time(tripTimes.getArrivalTime(stopIndex) + adjustment)); + } } From 31ae808c35271f9d37f9a97548240a2848efcaab Mon Sep 17 00:00:00 2001 From: dbenoff Date: Mon, 1 May 2017 13:05:29 -0700 Subject: [PATCH 014/226] added logic to handle origins/destinations that lie right on flag stop routes. --- .../module/FlexDirectTransferGenerator.java | 2 +- .../InterleavedBidirectionalHeuristic.java | 109 +++++++++++++++--- .../flex/TemporaryStreetTransitLink.java | 12 +- .../routing/graph/GraphIndex.java | 2 +- .../routing/impl/FlagStopSplitterService.java | 103 +++++++++++++++++ 5 files changed, 208 insertions(+), 20 deletions(-) create mode 100644 src/main/java/org/opentripplanner/routing/impl/FlagStopSplitterService.java diff --git a/src/main/java/org/opentripplanner/graph_builder/module/FlexDirectTransferGenerator.java b/src/main/java/org/opentripplanner/graph_builder/module/FlexDirectTransferGenerator.java index 141a57c0137..667bdc421df 100644 --- a/src/main/java/org/opentripplanner/graph_builder/module/FlexDirectTransferGenerator.java +++ b/src/main/java/org/opentripplanner/graph_builder/module/FlexDirectTransferGenerator.java @@ -190,7 +190,7 @@ public void visitVertex(State state) { // get hops if (state.backEdge instanceof StreetEdge) { - for (PatternHop h : graph.index.getHopsForEdge(state.backEdge, true)) { + for (PatternHop h : graph.index.getHopsForEdge(state.backEdge)) { if (flexPatternsToIgnore.get(hop.getPattern()).contains(h.getPattern())) { continue; } diff --git a/src/main/java/org/opentripplanner/routing/algorithm/strategies/InterleavedBidirectionalHeuristic.java b/src/main/java/org/opentripplanner/routing/algorithm/strategies/InterleavedBidirectionalHeuristic.java index 4ceffef3aa1..ed46fecbefb 100644 --- a/src/main/java/org/opentripplanner/routing/algorithm/strategies/InterleavedBidirectionalHeuristic.java +++ b/src/main/java/org/opentripplanner/routing/algorithm/strategies/InterleavedBidirectionalHeuristic.java @@ -15,39 +15,32 @@ the License, or (props, at your option) any later version. import com.google.common.collect.BiMap; import com.google.common.collect.HashBiMap; -import com.google.common.collect.Lists; import com.vividsolutions.jts.geom.Coordinate; import com.vividsolutions.jts.geom.LineString; import gnu.trove.map.TObjectDoubleMap; import gnu.trove.map.hash.TObjectDoubleHashMap; -import org.apache.commons.lang3.SerializationUtils; import org.onebusaway.gtfs.model.AgencyAndId; import org.onebusaway.gtfs.model.Stop; -import org.onebusaway.gtfs.model.StopTime; import org.opentripplanner.common.geometry.GeometryUtils; import org.opentripplanner.common.geometry.SphericalDistanceLibrary; import org.opentripplanner.common.pqueue.BinHeap; -import org.opentripplanner.model.StopPattern; import org.opentripplanner.routing.core.RoutingRequest; import org.opentripplanner.routing.core.State; import org.opentripplanner.routing.core.TraverseMode; -import org.opentripplanner.routing.edgetype.PatternHop; -import org.opentripplanner.routing.edgetype.StreetTransitLink; -import org.opentripplanner.routing.edgetype.TemporaryEdge; -import org.opentripplanner.routing.edgetype.TripPattern; +import org.opentripplanner.routing.edgetype.*; import org.opentripplanner.routing.edgetype.flex.*; import org.opentripplanner.routing.graph.Edge; import org.opentripplanner.routing.graph.Graph; import org.opentripplanner.routing.graph.Vertex; +import org.opentripplanner.routing.impl.FlagStopSplitterService; import org.opentripplanner.routing.location.StreetLocation; import org.opentripplanner.routing.spt.DominanceFunction; import org.opentripplanner.routing.spt.ShortestPathTree; -import org.opentripplanner.routing.trippattern.FrequencyEntry; -import org.opentripplanner.routing.trippattern.TripTimes; import org.opentripplanner.routing.vertextype.*; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import java.awt.geom.Point2D; import java.util.*; import java.util.stream.Collectors; @@ -367,6 +360,8 @@ private TObjectDoubleMap streetSearch (RoutingRequest rr, boolean fromTa } } + findFlagStopEdgesNearby(rr, initVertex, tripPatternStateMap, fromTarget); + Map> stateToTripPatternsMap = new HashMap<>(); for(TripPattern tripPattern : tripPatternStateMap.keySet()){ State s = tripPatternStateMap.get(tripPattern); @@ -379,11 +374,21 @@ private TObjectDoubleMap streetSearch (RoutingRequest rr, boolean fromTa int i = 0; for(State s : stateToTripPatternsMap.keySet()){ - Vertex v = fromTarget ? s.getBackEdge().getToVertex() : s.getBackEdge().getFromVertex(); + Vertex v; + + if(s.getVertex() == initVertex){ + //the origin/destination lies along a flag stop route + v = initVertex; + }else{ + v = fromTarget ? s.getBackEdge().getToVertex() : s.getBackEdge().getFromVertex(); + } + + + + //if nearby, wire stop to init vertex Stop flagStop = new Stop(); - flagStop.setId(new AgencyAndId("1", "temp_" + String.valueOf(i))); - flagStop.setId(new AgencyAndId("1", String.valueOf(Math.random()))); + flagStop.setId(new AgencyAndId("1", "temp_" + String.valueOf(Math.random()))); flagStop.setLat(v.getLat()); flagStop.setLon(v.getLon()); flagStop.setName(s.getBackEdge().getName()); @@ -402,7 +407,7 @@ private TObjectDoubleMap streetSearch (RoutingRequest rr, boolean fromTa for(TripPattern originalTripPattern : stateToTripPatternsMap.get(s)){ - List patternHops = graph.index.getHopsForEdge(s.getBackEdge(), fromTarget) + List patternHops = graph.index.getHopsForEdge(s.getBackEdge()) .stream() .filter(e -> e.getPattern() == originalTripPattern) .collect(Collectors.toList()); @@ -461,7 +466,7 @@ private TObjectDoubleMap streetSearch (RoutingRequest rr, boolean fromTa for(TripPattern originalTripPattern : stateToTripPatternsMap.get(s)){ - List patternHops = graph.index.getHopsForEdge(s.getBackEdge(), fromTarget) + List patternHops = graph.index.getHopsForEdge(s.getBackEdge()) .stream() .filter(e -> e.getPattern() == originalTripPattern) .collect(Collectors.toList()); @@ -516,11 +521,15 @@ private LineString getShortenedPatternHopGeometryForFlagStop(Coordinate[] lineCo double lowestDistanceSum = Double.MAX_VALUE; int lowestDistanceIndex = -1; - for(int i = 0; i < lineCoordinates.length; i++){ + Coordinate closestPoint = null; + for(int i = 0; i < lineCoordinates.length - 1; i++){ + + Coordinate iterClosestPoint = closestPointToSegment(lineCoordinates[i], lineCoordinates[i+1], flexPoint); double distance = SphericalDistanceLibrary.fastDistance(flexPoint, lineCoordinates[i]); if(distance < lowestDistanceSum){ lowestDistanceIndex = i; lowestDistanceSum = distance; + closestPoint = iterClosestPoint; } } @@ -530,9 +539,16 @@ private LineString getShortenedPatternHopGeometryForFlagStop(Coordinate[] lineCo List lineCoordinateList = new ArrayList<>(); Collections.addAll(lineCoordinateList, lineCoordinates); + lineCoordinateList.set(lowestDistanceIndex, flexPoint); List shortenedHopGeometry = reverseSearch ? lineCoordinateList.subList(0, lowestDistanceIndex + 1) : lineCoordinateList.subList(lowestDistanceIndex, lineCoordinateList.size()); + if(reverseSearch){ + shortenedHopGeometry.add(shortenedHopGeometry.size() - 1, closestPoint); + }else{ + shortenedHopGeometry.add(1, closestPoint); + } + if(shortenedHopGeometry.size() < 2){ return null; } @@ -555,4 +571,65 @@ private TemporaryPatternHop findShortenedPatternHops(PatternHop originalPatternH return null; } + /** + * Find the street edges that were split at beginning of search by StreetSplitter, check whether they are served by flag stop routes. + * This is duplicating the work done earlier by StreetSplitter, but want to minimize the number of changes introduced by flag stops. + * @param + * @return + */ + private void findFlagStopEdgesNearby(RoutingRequest rr, Vertex initVertex, Map tripPatternStateMap, boolean fromTarget){ + List flagStopOriginEdges = FlagStopSplitterService.getClosestStreetEdgesToOrigin(rr.rctx, graph); + List flagStopDestinationEdges = FlagStopSplitterService.getClosestStreetEdgesToDestination(rr.rctx, graph); + + if(fromTarget){ + for(StreetEdge streetEdge : flagStopDestinationEdges){ + State nearbyState = new State(initVertex, rr); + nearbyState.backEdge = streetEdge; + Collection patterns = graph.index.getPatternsForEdge(streetEdge); + //todo find trippatterns for flag stop routes only + for(TripPattern tripPattern : patterns){ + tripPatternStateMap.put(tripPattern, nearbyState); + } + } + } else { + for(StreetEdge streetEdge : flagStopOriginEdges){ + State nearbyState = new State(initVertex, rr); + nearbyState.backEdge = streetEdge; + Collection patterns = graph.index.getPatternsForEdge(streetEdge); + //todo find trippatterns for flag stop routes only + for(TripPattern tripPattern : patterns){ + tripPatternStateMap.put(tripPattern, nearbyState); + } + } + } + } + + /** + * @param start + * First point of the segment + * @param end + * Second point of the segment + * @param point + * Point to which we want to know the distance of the segment + * defined by p1,p2 + * @return The closest coordinate along the given segment to the given point. + */ + private Coordinate closestPointToSegment(Coordinate start, Coordinate end, Coordinate point) { + + // first convert line to normalized unit vector + double dx = end.x - start.x; + double dy = end.y - start.y; + double mag = Math.sqrt(dx*dx + dy*dy); + dx /= mag; + dy /= mag; + + // translate the point and get the dot product + double lambda = (dx * (point.x - start.x)) + (dy * (point.y - start.y)); + double x4 = (dx * lambda) + start.x; + double y4 = (dy * lambda) + start.y; + + return new Coordinate(x4, y4); + + } + } diff --git a/src/main/java/org/opentripplanner/routing/edgetype/flex/TemporaryStreetTransitLink.java b/src/main/java/org/opentripplanner/routing/edgetype/flex/TemporaryStreetTransitLink.java index a4f32924041..9e1344f51d0 100644 --- a/src/main/java/org/opentripplanner/routing/edgetype/flex/TemporaryStreetTransitLink.java +++ b/src/main/java/org/opentripplanner/routing/edgetype/flex/TemporaryStreetTransitLink.java @@ -1,5 +1,6 @@ package org.opentripplanner.routing.edgetype.flex; +import org.opentripplanner.routing.core.State; import org.opentripplanner.routing.edgetype.StreetTransitLink; import org.opentripplanner.routing.edgetype.TemporaryEdge; import org.opentripplanner.routing.vertextype.StreetVertex; @@ -19,9 +20,16 @@ public TemporaryStreetTransitLink(TransitStop fromv, StreetVertex tov, boolean w super(fromv, tov, wheelchairAccessible); } + public State traverse(State s0) { + return super.traverse(s0); + } + @Override public void dispose() { - fromv.removeOutgoing(this); - tov.removeIncoming(this); + //TemporaryStreetLocation dispose could have been called already + if(fromv.getOutgoing().contains(this)) + fromv.removeOutgoing(this); + if(tov.getIncoming().contains(this)) + tov.removeIncoming(this); } } diff --git a/src/main/java/org/opentripplanner/routing/graph/GraphIndex.java b/src/main/java/org/opentripplanner/routing/graph/GraphIndex.java index 26a64881c35..8628930b33e 100644 --- a/src/main/java/org/opentripplanner/routing/graph/GraphIndex.java +++ b/src/main/java/org/opentripplanner/routing/graph/GraphIndex.java @@ -727,7 +727,7 @@ private void initializeEdgeMap() { } } - public Collection getHopsForEdge(Edge e, boolean arriveBy) { + public Collection getHopsForEdge(Edge e) { return hopsForEdge.get(e); } diff --git a/src/main/java/org/opentripplanner/routing/impl/FlagStopSplitterService.java b/src/main/java/org/opentripplanner/routing/impl/FlagStopSplitterService.java new file mode 100644 index 00000000000..f908b84ade0 --- /dev/null +++ b/src/main/java/org/opentripplanner/routing/impl/FlagStopSplitterService.java @@ -0,0 +1,103 @@ +/* This program is free software: you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public License + as published by the Free Software Foundation, either version 3 of + the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +package org.opentripplanner.routing.impl; + +import com.vividsolutions.jts.geom.*; +import org.opentripplanner.common.geometry.SphericalDistanceLibrary; +import org.opentripplanner.routing.core.RoutingContext; +import org.opentripplanner.routing.core.RoutingRequest; +import org.opentripplanner.routing.edgetype.*; +import org.opentripplanner.routing.graph.Edge; +import org.opentripplanner.routing.graph.Graph; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.util.*; +import java.util.stream.Collectors; + +/** + * Find the nearest street edges to the given point, check if they are served by flag stop routes. + * + * @author dbenoff + */ +public class FlagStopSplitterService { + + private static GeometryFactory gf = new GeometryFactory(); + + private static final long serialVersionUID = -3729628250159575313L; + + private static final Logger LOG = LoggerFactory.getLogger(FlagStopSplitterService.class); + + public static List getClosestStreetEdgesToOrigin(RoutingContext ctx, Graph graph) { + return getClosestStreetEdges(ctx, graph, true); + } + + public static List getClosestStreetEdgesToDestination(RoutingContext ctx, Graph graph) { + return getClosestStreetEdges(ctx, graph, false); + } + + private static List getClosestStreetEdges(RoutingContext ctx, Graph graph, Boolean isOrigin) { + + RoutingRequest opt = ctx.opt; + opt.rctx = ctx; + + Double lon = opt.to.lng; + Double lat = opt.to.lat; + + if(isOrigin){ + lon = opt.from.lng; + lat = opt.from.lat; + } + + + Coordinate pointLocation = new Coordinate(lon, lat); + + final double radiusDeg = SphericalDistanceLibrary.metersToDegrees(500); + + Envelope env = new Envelope(pointLocation); + + // local equirectangular projection + final double xscale = Math.cos(lat * Math.PI / 180); + + env.expandBy(radiusDeg / xscale, radiusDeg); + + Collection edges = graph.streetIndex.getEdgesForEnvelope(env); + Map> edgeDistanceMap = new TreeMap<>(); + for(Edge edge : edges){ + if(edge instanceof StreetEdge){ + LineString line = edge.getGeometry(); + double dist = SphericalDistanceLibrary.fastDistance(pointLocation, line); + double roundOff = (double) Math.round(dist * 100) / 100; + if(!edgeDistanceMap.containsKey(roundOff)) + edgeDistanceMap.put(roundOff, new ArrayList<>()); + edgeDistanceMap.get(roundOff).add((StreetEdge) edge); + } + } + + List closestEdges = edgeDistanceMap.values().iterator().next(); + List ret = new ArrayList<>(); + for(StreetEdge closestEdge : closestEdges){ + List patternHops = graph.index.getHopsForEdge(closestEdge) + .stream() + //.filter(e -> e.getPattern() == originalTripPattern) + //todo: check if these are flag stop hops + .collect(Collectors.toList()); + if(patternHops.size() > 0){ + ret.add(closestEdge); + } + } + return ret; + } + +} From f41e94b48e9a9062cef72d8897a8213fce6096cd Mon Sep 17 00:00:00 2001 From: dbenoff Date: Sat, 6 May 2017 11:58:25 -0700 Subject: [PATCH 015/226] fixed temporary pattern hop geography trimming. --- .../InterleavedBidirectionalHeuristic.java | 64 +++++++++---------- 1 file changed, 31 insertions(+), 33 deletions(-) diff --git a/src/main/java/org/opentripplanner/routing/algorithm/strategies/InterleavedBidirectionalHeuristic.java b/src/main/java/org/opentripplanner/routing/algorithm/strategies/InterleavedBidirectionalHeuristic.java index ed46fecbefb..49825b2f826 100644 --- a/src/main/java/org/opentripplanner/routing/algorithm/strategies/InterleavedBidirectionalHeuristic.java +++ b/src/main/java/org/opentripplanner/routing/algorithm/strategies/InterleavedBidirectionalHeuristic.java @@ -16,6 +16,7 @@ the License, or (props, at your option) any later version. import com.google.common.collect.BiMap; import com.google.common.collect.HashBiMap; import com.vividsolutions.jts.geom.Coordinate; +import com.vividsolutions.jts.geom.LineSegment; import com.vividsolutions.jts.geom.LineString; import gnu.trove.map.TObjectDoubleMap; import gnu.trove.map.hash.TObjectDoubleHashMap; @@ -427,6 +428,8 @@ private TObjectDoubleMap streetSearch (RoutingRequest rr, boolean fromTa if(reverseSearchPatternHop != null){ //processed by forward search already, use the trimmed geometry LineString preStopHopGeometry = getShortenedPatternHopGeometryForFlagStop(reverseSearchPatternHop.getGeometry().getCoordinates(), v.getCoordinate(), fromTarget); + if(preStopHopGeometry == null) + continue; //flex point far away or is very close to the beginning or end of the hop. Leave this hop unchanged; double originalHopGeometryLength = GeometryUtils.getLengthInMeters(reverseSearchPatternHop.originalPatternHop.getGeometry()); double shortenedHopGeometryLength = GeometryUtils.getLengthInMeters(preStopHopGeometry); double distanceRatio = shortenedHopGeometryLength/originalHopGeometryLength; @@ -436,7 +439,7 @@ private TObjectDoubleMap streetSearch (RoutingRequest rr, boolean fromTa //haven't seen this patternHop, create a flex one LineString preStopHopGeometry = getShortenedPatternHopGeometryForFlagStop(originalPatternHop.getGeometry().getCoordinates(), v.getCoordinate(), fromTarget); if(preStopHopGeometry == null) - continue; //flex point is very close to the beginning or end of the hop. Leave this hop unchanged; + continue; //flex point far away or is very close to the beginning or end of the hop. Leave this hop unchanged; double originalHopGeometryLength = GeometryUtils.getLengthInMeters(originalPatternHop.getGeometry()); double shortenedHopGeometryLength = GeometryUtils.getLengthInMeters(preStopHopGeometry); double distanceRatio = shortenedHopGeometryLength/originalHopGeometryLength; @@ -524,18 +527,27 @@ private LineString getShortenedPatternHopGeometryForFlagStop(Coordinate[] lineCo Coordinate closestPoint = null; for(int i = 0; i < lineCoordinates.length - 1; i++){ - Coordinate iterClosestPoint = closestPointToSegment(lineCoordinates[i], lineCoordinates[i+1], flexPoint); - double distance = SphericalDistanceLibrary.fastDistance(flexPoint, lineCoordinates[i]); - if(distance < lowestDistanceSum){ - lowestDistanceIndex = i; - lowestDistanceSum = distance; - closestPoint = iterClosestPoint; + LineSegment lineSegment = new LineSegment(lineCoordinates[i], lineCoordinates[i+1]); + Coordinate iterClosestPoint = lineSegment.project(flexPoint); + boolean betweenPoints = isBetweenPoints(lineCoordinates[i], lineCoordinates[i+1], iterClosestPoint); + if(betweenPoints){ + double distance = SphericalDistanceLibrary.fastDistance(flexPoint, lineCoordinates[i]); + if(distance < lowestDistanceSum){ + lowestDistanceIndex = i; + lowestDistanceSum = distance; + closestPoint = iterClosestPoint; + } } } - //this hop is heading away from the destination, leave geometry unchanged - if(reverseSearch && lowestDistanceIndex == 0) + if(lowestDistanceIndex == -1) + return null; + + if(reverseSearch && lowestDistanceIndex == 0){ + lineCoordinates[lineCoordinates.length - 1] = closestPoint; return GeometryUtils.getGeometryFactory().createLineString(lineCoordinates); + } + List lineCoordinateList = new ArrayList<>(); Collections.addAll(lineCoordinateList, lineCoordinates); @@ -605,31 +617,17 @@ private void findFlagStopEdgesNearby(RoutingRequest rr, Vertex initVertex, Map t } /** - * @param start - * First point of the segment - * @param end - * Second point of the segment - * @param point - * Point to which we want to know the distance of the segment - * defined by p1,p2 - * @return The closest coordinate along the given segment to the given point. + * + * @param start start point of the segment + * @param end end point of the segment + * @param point coordinate along the line defined by the segment, not necessarily in between the points + * @return */ - private Coordinate closestPointToSegment(Coordinate start, Coordinate end, Coordinate point) { - - // first convert line to normalized unit vector - double dx = end.x - start.x; - double dy = end.y - start.y; - double mag = Math.sqrt(dx*dx + dy*dy); - dx /= mag; - dy /= mag; - - // translate the point and get the dot product - double lambda = (dx * (point.x - start.x)) + (dy * (point.y - start.y)); - double x4 = (dx * lambda) + start.x; - double y4 = (dy * lambda) + start.y; - - return new Coordinate(x4, y4); - + private static boolean isBetweenPoints(Coordinate start, Coordinate end, Coordinate point) { + double distance1 = Math.round (SphericalDistanceLibrary.fastDistance(point, start) * 100) / 100; + double distance2 = Math.round (SphericalDistanceLibrary.fastDistance(point, end) * 100) / 100; + double totalDistance = Math.round (SphericalDistanceLibrary.fastDistance(start, end) * 100) / 100; + return distance1 + distance2 <= totalDistance; } } From cd3784b6343ae3d46fa2b16cecddf59169eeecd9 Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Thu, 1 Jun 2017 10:55:25 -0400 Subject: [PATCH 016/226] remove redundant flex transit classes --- .../routing/algorithm/AStar.java | 5 -- .../temporary/TemporaryPatternHop.java | 42 ----------------- .../temporary/TemporaryPreAlightEdge.java | 37 --------------- .../temporary/TemporaryPreBoardEdge.java | 47 ------------------- .../temporary/TemporaryStreetTransitLink.java | 27 ----------- .../TemporaryTransitBoardAlight.java | 29 ------------ 6 files changed, 187 deletions(-) delete mode 100644 src/main/java/org/opentripplanner/routing/edgetype/temporary/TemporaryPatternHop.java delete mode 100644 src/main/java/org/opentripplanner/routing/edgetype/temporary/TemporaryPreAlightEdge.java delete mode 100644 src/main/java/org/opentripplanner/routing/edgetype/temporary/TemporaryPreBoardEdge.java delete mode 100644 src/main/java/org/opentripplanner/routing/edgetype/temporary/TemporaryStreetTransitLink.java delete mode 100644 src/main/java/org/opentripplanner/routing/edgetype/temporary/TemporaryTransitBoardAlight.java diff --git a/src/main/java/org/opentripplanner/routing/algorithm/AStar.java b/src/main/java/org/opentripplanner/routing/algorithm/AStar.java index a549e344bd8..c4f7f6ecb9a 100644 --- a/src/main/java/org/opentripplanner/routing/algorithm/AStar.java +++ b/src/main/java/org/opentripplanner/routing/algorithm/AStar.java @@ -22,11 +22,6 @@ the License, or (at your option) any later version. import org.opentripplanner.routing.core.RoutingRequest; import org.opentripplanner.routing.core.State; import org.opentripplanner.routing.edgetype.StreetTransitLink; -import org.opentripplanner.routing.edgetype.TemporaryEdge; -import org.opentripplanner.routing.edgetype.TemporaryFreeEdge; -import org.opentripplanner.routing.edgetype.TemporaryPartialStreetEdge; -import org.opentripplanner.routing.edgetype.temporary.TemporaryPreAlightEdge; -import org.opentripplanner.routing.edgetype.temporary.TemporaryStreetTransitLink; import org.opentripplanner.routing.graph.Edge; import org.opentripplanner.routing.graph.Vertex; import org.opentripplanner.routing.spt.GraphPath; diff --git a/src/main/java/org/opentripplanner/routing/edgetype/temporary/TemporaryPatternHop.java b/src/main/java/org/opentripplanner/routing/edgetype/temporary/TemporaryPatternHop.java deleted file mode 100644 index 099905be4c0..00000000000 --- a/src/main/java/org/opentripplanner/routing/edgetype/temporary/TemporaryPatternHop.java +++ /dev/null @@ -1,42 +0,0 @@ -/* This program is free software: you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public License - as published by the Free Software Foundation, either version 3 of - the License, or (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . */ - -package org.opentripplanner.routing.edgetype.temporary; - -import org.onebusaway.gtfs.model.Stop; -import org.opentripplanner.routing.edgetype.PatternHop; -import org.opentripplanner.routing.edgetype.PreAlightEdge; -import org.opentripplanner.routing.edgetype.StationEdge; -import org.opentripplanner.routing.edgetype.TemporaryEdge; -import org.opentripplanner.routing.vertextype.PatternStopVertex; -import org.opentripplanner.routing.vertextype.TransitStop; -import org.opentripplanner.routing.vertextype.TransitStopArrive; - - -public class TemporaryPatternHop extends PatternHop implements TemporaryEdge { - - - public TemporaryPatternHop(PatternStopVertex from, PatternStopVertex to, Stop begin, Stop end, int stopIndex) { - super(from, to, begin, end, stopIndex); - } - - public boolean equals(Object obj) { - return (this == obj); - } - - @Override - public void dispose() { - fromv.removeOutgoing(this); - tov.removeIncoming(this); - } -} diff --git a/src/main/java/org/opentripplanner/routing/edgetype/temporary/TemporaryPreAlightEdge.java b/src/main/java/org/opentripplanner/routing/edgetype/temporary/TemporaryPreAlightEdge.java deleted file mode 100644 index 97412d2b6be..00000000000 --- a/src/main/java/org/opentripplanner/routing/edgetype/temporary/TemporaryPreAlightEdge.java +++ /dev/null @@ -1,37 +0,0 @@ -/* This program is free software: you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public License - as published by the Free Software Foundation, either version 3 of - the License, or (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . */ - -package org.opentripplanner.routing.edgetype.temporary; - -import org.opentripplanner.routing.edgetype.PreAlightEdge; -import org.opentripplanner.routing.edgetype.PreBoardEdge; -import org.opentripplanner.routing.edgetype.StationEdge; -import org.opentripplanner.routing.edgetype.TemporaryEdge; -import org.opentripplanner.routing.vertextype.TransitStop; -import org.opentripplanner.routing.vertextype.TransitStopArrive; -import org.opentripplanner.routing.vertextype.TransitStopDepart; - - -public class TemporaryPreAlightEdge extends PreAlightEdge implements StationEdge, TemporaryEdge { - - - public TemporaryPreAlightEdge(TransitStopArrive from, TransitStop to) { - super(from, to); - } - - @Override - public void dispose() { - fromv.removeOutgoing(this); - tov.removeIncoming(this); - } -} diff --git a/src/main/java/org/opentripplanner/routing/edgetype/temporary/TemporaryPreBoardEdge.java b/src/main/java/org/opentripplanner/routing/edgetype/temporary/TemporaryPreBoardEdge.java deleted file mode 100644 index a8b3d928155..00000000000 --- a/src/main/java/org/opentripplanner/routing/edgetype/temporary/TemporaryPreBoardEdge.java +++ /dev/null @@ -1,47 +0,0 @@ -/* This program is free software: you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public License - as published by the Free Software Foundation, either version 3 of - the License, or (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . */ - -package org.opentripplanner.routing.edgetype.temporary; - -import org.opentripplanner.routing.core.RoutingRequest; -import org.opentripplanner.routing.core.State; -import org.opentripplanner.routing.core.StateEditor; -import org.opentripplanner.routing.core.TraverseMode; -import org.opentripplanner.routing.edgetype.FreeEdge; -import org.opentripplanner.routing.edgetype.PreBoardEdge; -import org.opentripplanner.routing.edgetype.StationEdge; -import org.opentripplanner.routing.edgetype.TemporaryEdge; -import org.opentripplanner.routing.vertextype.TransitStop; -import org.opentripplanner.routing.vertextype.TransitStopDepart; - -/** - * PreBoard edges connect a TransitStop to its agency_stop_depart vertices; PreAlight edges connect - * an agency_stop_arrive vertex to its TransitStop. - * - * Applies the local stop rules (see TransitStop.java and LocalStopFinder.java) as well as transfer - * limits, timed and preferred transfer rules, transfer penalties, and boarding costs. This avoids - * applying these costs/rules repeatedly in (Pattern)Board edges. These are single station or - * station-to-station specific costs, rather than trip-pattern specific costs. - */ -public class TemporaryPreBoardEdge extends PreBoardEdge implements StationEdge, TemporaryEdge { - - public TemporaryPreBoardEdge(TransitStop from, TransitStopDepart to) { - super(from, to); - } - - @Override - public void dispose() { - fromv.removeOutgoing(this); - tov.removeIncoming(this); - } -} diff --git a/src/main/java/org/opentripplanner/routing/edgetype/temporary/TemporaryStreetTransitLink.java b/src/main/java/org/opentripplanner/routing/edgetype/temporary/TemporaryStreetTransitLink.java deleted file mode 100644 index 147c05459fb..00000000000 --- a/src/main/java/org/opentripplanner/routing/edgetype/temporary/TemporaryStreetTransitLink.java +++ /dev/null @@ -1,27 +0,0 @@ -package org.opentripplanner.routing.edgetype.temporary; - -import org.opentripplanner.routing.edgetype.StreetTransitLink; -import org.opentripplanner.routing.edgetype.TemporaryEdge; -import org.opentripplanner.routing.vertextype.StreetVertex; -import org.opentripplanner.routing.vertextype.TransitStop; - -/** - * Created by dbenoff on 2/10/17. - */ -public class TemporaryStreetTransitLink extends StreetTransitLink implements TemporaryEdge { - - - public TemporaryStreetTransitLink(StreetVertex fromv, TransitStop tov, boolean wheelchairAccessible) { - super(fromv, tov, wheelchairAccessible); - } - - public TemporaryStreetTransitLink(TransitStop fromv, StreetVertex tov, boolean wheelchairAccessible) { - super(fromv, tov, wheelchairAccessible); - } - - @Override - public void dispose() { - fromv.removeOutgoing(this); - tov.removeIncoming(this); - } -} diff --git a/src/main/java/org/opentripplanner/routing/edgetype/temporary/TemporaryTransitBoardAlight.java b/src/main/java/org/opentripplanner/routing/edgetype/temporary/TemporaryTransitBoardAlight.java deleted file mode 100644 index cb0d5645a0c..00000000000 --- a/src/main/java/org/opentripplanner/routing/edgetype/temporary/TemporaryTransitBoardAlight.java +++ /dev/null @@ -1,29 +0,0 @@ -package org.opentripplanner.routing.edgetype.temporary; - -import org.opentripplanner.routing.core.TraverseMode; -import org.opentripplanner.routing.edgetype.TemporaryEdge; -import org.opentripplanner.routing.edgetype.TransitBoardAlight; -import org.opentripplanner.routing.vertextype.PatternStopVertex; -import org.opentripplanner.routing.vertextype.TransitStopArrive; -import org.opentripplanner.routing.vertextype.TransitStopDepart; - -/** - * Created by dbenoff on 2/10/17. - */ -public class TemporaryTransitBoardAlight extends TransitBoardAlight implements TemporaryEdge { - - - public TemporaryTransitBoardAlight(TransitStopDepart fromStopVertex, PatternStopVertex toPatternVertex, int stopIndex, TraverseMode mode) { - super(fromStopVertex, toPatternVertex, stopIndex, mode); - } - - public TemporaryTransitBoardAlight(PatternStopVertex fromPatternStop, TransitStopArrive toStationVertex, int stopIndex, TraverseMode mode) { - super(fromPatternStop, toStationVertex, stopIndex, mode); - } - - @Override - public void dispose() { - fromv.removeOutgoing(this); - tov.removeIncoming(this); - } -} From b323a12f4dc37b26477c08a9e74cfd91c6c11627 Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Thu, 1 Jun 2017 15:23:19 -0400 Subject: [PATCH 017/226] quiet logging --- .../routing/edgetype/TransitBoardAlight.java | 31 +++---------------- .../routing/spt/GraphPath.java | 17 ++++------ 2 files changed, 10 insertions(+), 38 deletions(-) diff --git a/src/main/java/org/opentripplanner/routing/edgetype/TransitBoardAlight.java b/src/main/java/org/opentripplanner/routing/edgetype/TransitBoardAlight.java index bffaaa98637..1baaac57529 100644 --- a/src/main/java/org/opentripplanner/routing/edgetype/TransitBoardAlight.java +++ b/src/main/java/org/opentripplanner/routing/edgetype/TransitBoardAlight.java @@ -234,19 +234,7 @@ public State traverse(State s0, long arrivalTimeAtStop) { s1.setBackMode(getMode()); - if (s0.getOptions().reverseOptimizing){ - State ret = s1.makeState(); - long interval = ret.getTimeDeltaSeconds(); - System.out.println("transit alight reverse " + s0.getVertex() + " " + this.getId() + " " + interval + " seconds" ); - return ret; - }else{ - State ret = s1.makeState(); - long interval = ret.getTimeDeltaSeconds(); - System.out.println("transit alight forward " + s0.getVertex() + " " + this.getId() + " " + interval + " seconds"); - return ret; - } - - //return s1.makeState(); + return s1.makeState(); } else { /* We are going onto transit and must look for a suitable transit trip on this pattern. */ @@ -287,8 +275,8 @@ public State traverse(State s0, long arrivalTimeAtStop) { /* Wait is relative to departures on board and arrivals on alight. */ int wait = calculateWait(s0, sd, tripTimes); /* A trip was found. The wait should be non-negative. */ - System.out.println("getNextTrip id: " + this.getId() + " wait: " + wait + " trip id: " + tripTimes.trip.getId().getId() + " state time: " + new Date(s0.getTimeInMillis()) + " stopIndex: " + stopIndex + " boarding: " + boarding); - if (wait < 0) LOG.error("Negative wait time when boarding."); + if (wait < 0) + LOG.error("Negative wait time when boarding."); /* Track the soonest departure over all relevant schedules. */ if (bestWait < 0 || wait < bestWait) { bestWait = wait; @@ -354,7 +342,6 @@ public State traverse(State s0, long arrivalTimeAtStop) { if (!s0.isEverBoarded() && !options.reverseOptimizing) { wait_cost *= options.waitAtBeginningFactor; s1.setInitialWaitTimeSeconds(bestWait); - //System.out.println("bestWait " + bestWait + " " + trip.getId() + " " + this.getId() + " " + this.getFromVertex().getY() + "," +this.getFromVertex().getX()); } else { wait_cost *= options.waitReluctance; } @@ -385,18 +372,8 @@ public State traverse(State s0, long arrivalTimeAtStop) { return optimized; } - State ret = s1.makeState(); - int interval = ret.getTimeDeltaSeconds(); - if (s0.getOptions().reverseOptimizing) { - System.out.println("transit board reverse " + ret.getVertex() + " id: " + this.getId() + " time: " + new Date(ret.getTimeInMillis()) + " offset: " + departureOffset + " tripId: " + trip.getId().getId()); - }else{ - System.out.println("transit board forward " + ret.getVertex() + " id: " + this.getId() + " time: " + new Date(ret.getTimeInMillis()) + " offset: " + departureOffset + " tripId: " + trip.getId().getId()); - } - - return ret; - /* If we didn't return an optimized path, return an unoptimized one. */ - //return s1.makeState(); + return s1.makeState(); } } diff --git a/src/main/java/org/opentripplanner/routing/spt/GraphPath.java b/src/main/java/org/opentripplanner/routing/spt/GraphPath.java index d275b859a55..71a40737b21 100644 --- a/src/main/java/org/opentripplanner/routing/spt/GraphPath.java +++ b/src/main/java/org/opentripplanner/routing/spt/GraphPath.java @@ -71,30 +71,25 @@ public GraphPath(State s, boolean optimize) { } if(s.isEverBoarded()){ - - LOG.info("NORMAL"); - s.dumpPath(); - LOG.info("OPTIMIZE"); +// LOG.info("NORMAL"); +// s.dumpPath(); +// LOG.info("OPTIMIZE"); State s1 = s.optimize(); - s1.dumpPath(); - LOG.info("OPTIMIZE AGAIN"); +// s1.dumpPath(); +// LOG.info("OPTIMIZE AGAIN"); State s2 = s1.optimize(); - s2.dumpPath(); +// s2.dumpPath(); } /* Put path in chronological order, and optimize as necessary */ State lastState; walkDistance = s.getWalkDistance(); - LOG.info("IGNORE______________________________________________"); if (back) { lastState = optimize ? s.optimize() : s.reverse(); } else { lastState = optimize ? s.optimize().optimize() : s; } - LOG.info("DONE______________________________________________"); - // DEBUG - // lastState = s; /* * Starting from latest (time-wise) state, copy states to the head of a list in reverse From 38b510cd56c16c6a737f4926f6303120ec59c2a9 Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Thu, 1 Jun 2017 15:23:37 -0400 Subject: [PATCH 018/226] avoid vertex name collisions --- .../routing/vertextype/PatternArriveVertex.java | 4 +++- .../routing/vertextype/PatternDepartVertex.java | 8 +++++--- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src/main/java/org/opentripplanner/routing/vertextype/PatternArriveVertex.java b/src/main/java/org/opentripplanner/routing/vertextype/PatternArriveVertex.java index 3c2646ae7bb..c518cb82be2 100644 --- a/src/main/java/org/opentripplanner/routing/vertextype/PatternArriveVertex.java +++ b/src/main/java/org/opentripplanner/routing/vertextype/PatternArriveVertex.java @@ -17,6 +17,8 @@ the License, or (at your option) any later version. import org.opentripplanner.routing.edgetype.TripPattern; import org.opentripplanner.routing.graph.Graph; +import java.util.Random; + public class PatternArriveVertex extends PatternStopVertex { private static final long serialVersionUID = 20140101; @@ -39,7 +41,7 @@ private static String makeLabel(TripPattern pattern, int stop) { } private static String makeTemporaryLabel(TripPattern pattern, int stop) { - return String.format("%s_%02d_A", pattern.code + "_temp", stop); + return String.format("%s_%02d_A_%d", pattern.code + "_temp", stop, new Random().nextInt()); } } diff --git a/src/main/java/org/opentripplanner/routing/vertextype/PatternDepartVertex.java b/src/main/java/org/opentripplanner/routing/vertextype/PatternDepartVertex.java index 829003a5f93..834657356db 100644 --- a/src/main/java/org/opentripplanner/routing/vertextype/PatternDepartVertex.java +++ b/src/main/java/org/opentripplanner/routing/vertextype/PatternDepartVertex.java @@ -17,6 +17,8 @@ the License, or (at your option) any later version. import org.opentripplanner.routing.edgetype.TripPattern; import org.opentripplanner.routing.graph.Graph; +import java.util.Random; + public class PatternDepartVertex extends PatternStopVertex { private static final long serialVersionUID = 20140101; @@ -28,7 +30,7 @@ public PatternDepartVertex(Graph g, TripPattern pattern, int stopIndex) { /** constructor for temporary trip patterns */ public PatternDepartVertex(Graph g, TripPattern pattern, int stopIndex, Stop stop) { - super(g, makeTemporaryLabel(pattern, stopIndex), pattern, stop); + super(g, makeTemporaryLabel(pattern, stopIndex, stop), pattern, stop); } // constructor for single-trip hops with no trip pattern (frequency patterns) is now missing @@ -38,8 +40,8 @@ private static String makeLabel(TripPattern pattern, int stop) { return String.format("%s_%02d_D", pattern.code, stop); } - private static String makeTemporaryLabel(TripPattern pattern, int stop) { - return String.format("%s_%02d_D", pattern.code + "_temp", stop); + private static String makeTemporaryLabel(TripPattern pattern, int stop, Stop origin) { + return String.format("%s_%02d_D_%s", pattern.code + "_temp", stop, origin.toString()); } } From 286827db76f54dcdc907cfaca48f155a3359f2a0 Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Tue, 13 Jun 2017 11:51:56 -0500 Subject: [PATCH 019/226] in progress, switch to temp partial hop --- .../InterleavedBidirectionalHeuristic.java | 75 ++++++++----------- .../routing/edgetype/PartialPatternHop.java | 25 +++++-- .../routing/edgetype/TransitBoardAlight.java | 9 ++- .../flex/TemporaryPartialPatternHop.java | 44 +++++++++++ .../routing/graph/GraphIndex.java | 4 +- 5 files changed, 102 insertions(+), 55 deletions(-) create mode 100644 src/main/java/org/opentripplanner/routing/edgetype/flex/TemporaryPartialPatternHop.java diff --git a/src/main/java/org/opentripplanner/routing/algorithm/strategies/InterleavedBidirectionalHeuristic.java b/src/main/java/org/opentripplanner/routing/algorithm/strategies/InterleavedBidirectionalHeuristic.java index 49825b2f826..57639a1e2b3 100644 --- a/src/main/java/org/opentripplanner/routing/algorithm/strategies/InterleavedBidirectionalHeuristic.java +++ b/src/main/java/org/opentripplanner/routing/algorithm/strategies/InterleavedBidirectionalHeuristic.java @@ -16,6 +16,7 @@ the License, or (props, at your option) any later version. import com.google.common.collect.BiMap; import com.google.common.collect.HashBiMap; import com.vividsolutions.jts.geom.Coordinate; +import com.vividsolutions.jts.geom.GeometryFactory; import com.vividsolutions.jts.geom.LineSegment; import com.vividsolutions.jts.geom.LineString; import gnu.trove.map.TObjectDoubleMap; @@ -25,6 +26,7 @@ the License, or (props, at your option) any later version. import org.opentripplanner.common.geometry.GeometryUtils; import org.opentripplanner.common.geometry.SphericalDistanceLibrary; import org.opentripplanner.common.pqueue.BinHeap; +import org.opentripplanner.graph_builder.module.map.StreetMatcher; import org.opentripplanner.routing.core.RoutingRequest; import org.opentripplanner.routing.core.State; import org.opentripplanner.routing.core.TraverseMode; @@ -417,40 +419,26 @@ private TObjectDoubleMap streetSearch (RoutingRequest rr, boolean fromTa int stopIndex = originalPatternHop.getStopIndex(); - //TODO make deep copy of trip pattern - TripPattern temporaryTripPattern = originalTripPattern; - PatternArriveVertex patternArriveVertex = - new PatternArriveVertex(graph, temporaryTripPattern, stopIndex, flagStop); + new PatternArriveVertex(graph, originalTripPattern, stopIndex, flagStop); rr.rctx.temporaryVertices.add(patternArriveVertex); - TemporaryPatternHop reverseSearchPatternHop = findShortenedPatternHops(originalPatternHop); - if(reverseSearchPatternHop != null){ - //processed by forward search already, use the trimmed geometry - LineString preStopHopGeometry = getShortenedPatternHopGeometryForFlagStop(reverseSearchPatternHop.getGeometry().getCoordinates(), v.getCoordinate(), fromTarget); - if(preStopHopGeometry == null) - continue; //flex point far away or is very close to the beginning or end of the hop. Leave this hop unchanged; - double originalHopGeometryLength = GeometryUtils.getLengthInMeters(reverseSearchPatternHop.originalPatternHop.getGeometry()); - double shortenedHopGeometryLength = GeometryUtils.getLengthInMeters(preStopHopGeometry); - double distanceRatio = shortenedHopGeometryLength/originalHopGeometryLength; - reverseSearchPatternHop.distanceRatio = distanceRatio; - reverseSearchPatternHop.setGeometry(preStopHopGeometry); - }else{ - //haven't seen this patternHop, create a flex one - LineString preStopHopGeometry = getShortenedPatternHopGeometryForFlagStop(originalPatternHop.getGeometry().getCoordinates(), v.getCoordinate(), fromTarget); - if(preStopHopGeometry == null) - continue; //flex point far away or is very close to the beginning or end of the hop. Leave this hop unchanged; - double originalHopGeometryLength = GeometryUtils.getLengthInMeters(originalPatternHop.getGeometry()); - double shortenedHopGeometryLength = GeometryUtils.getLengthInMeters(preStopHopGeometry); - double distanceRatio = shortenedHopGeometryLength/originalHopGeometryLength; - reverseSearchPatternHop = new TemporaryPatternHop(originalPatternHop, patternArriveVertex, flagStop, distanceRatio); - reverseSearchPatternHop.setGeometry(preStopHopGeometry); - rr.rctx.temporaryEdges.add(reverseSearchPatternHop); + Collection reverseHops = findTemporaryPatternHops(rr, originalPatternHop); + for (TemporaryPartialPatternHop reverseHop : reverseHops) { + // create new shortened hop + reverseHop.shortenEnd(patternArriveVertex, flagStop, rr.rctx); } + TemporaryPartialPatternHop hop = TemporaryPartialPatternHop.startHop(originalPatternHop, patternArriveVertex, flagStop, rr.rctx); + + + // todo - david's code has this comment. why don't I need it? + // flex point far away or is very close to the beginning or end of the hop. Leave this hop unchanged; + + /** Alighting constructor (PatternStopVertex --> TransitStopArrive) */ TemporaryTransitBoardAlight transitBoardAlight = - new TemporaryTransitBoardAlight(patternArriveVertex, transitStopArrive, originalPatternHop.getStopIndex(), TraverseMode.BUS, reverseSearchPatternHop.distanceRatio); + new TemporaryTransitBoardAlight(patternArriveVertex, transitStopArrive, originalPatternHop.getStopIndex(), TraverseMode.BUS, hop.getPercentageOfHop()); rr.rctx.temporaryEdges.add(transitBoardAlight); @@ -476,31 +464,16 @@ private TObjectDoubleMap streetSearch (RoutingRequest rr, boolean fromTa for(PatternHop originalPatternHop : patternHops){ - LineString postStopHopGeometry = getShortenedPatternHopGeometryForFlagStop(originalPatternHop.getGeometry().getCoordinates(), v.getCoordinate(), fromTarget); - if(postStopHopGeometry == null) - continue; //flex point is very close to the beginning or end of the hop. Leave this hop unchanged; - - - //TODO make deep copy of trip pattern - TripPattern temporaryTripPattern = originalTripPattern; - PatternDepartVertex patternDepartVertex = - new PatternDepartVertex(graph, temporaryTripPattern, originalPatternHop.getStopIndex(), flagStop); + new PatternDepartVertex(graph, originalTripPattern, originalPatternHop.getStopIndex(), flagStop); rr.rctx.temporaryVertices.add(patternDepartVertex); - double originalHopGeometryLength = GeometryUtils.getLengthInMeters(originalPatternHop.getGeometry()); - double shortenedHopGeometryLength = GeometryUtils.getLengthInMeters(postStopHopGeometry); - double distanceRatio = shortenedHopGeometryLength/originalHopGeometryLength; - TemporaryPatternHop forwardSearchPatternHop = new TemporaryPatternHop(originalPatternHop, patternDepartVertex, flagStop, distanceRatio); - forwardSearchPatternHop.setGeometry(postStopHopGeometry); - - rr.rctx.temporaryEdges.add(forwardSearchPatternHop); - + TemporaryPartialPatternHop hop = TemporaryPartialPatternHop.endHop(originalPatternHop, patternDepartVertex, flagStop, rr.rctx); /** TransitBoardAlight: Boarding constructor (TransitStopDepart, PatternStopVertex) */ TemporaryTransitBoardAlight transitBoardAlight = - new TemporaryTransitBoardAlight(transitStopDepart, patternDepartVertex, originalPatternHop.getStopIndex(), TraverseMode.BUS, forwardSearchPatternHop.distanceRatio); + new TemporaryTransitBoardAlight(transitStopDepart, patternDepartVertex, originalPatternHop.getStopIndex(), TraverseMode.BUS, hop.getPercentageOfHop()); rr.rctx.temporaryEdges.add(transitBoardAlight); } } @@ -583,6 +556,18 @@ private TemporaryPatternHop findShortenedPatternHops(PatternHop originalPatternH return null; } + private Collection findTemporaryPatternHops(RoutingRequest options, PatternHop patternHop) { + Collection ret = new ArrayList(); + for (TemporaryEdge e : options.rctx.temporaryEdges) { + if (e instanceof TemporaryPartialPatternHop) { + TemporaryPartialPatternHop hop = (TemporaryPartialPatternHop) e; + if (hop.isOriginalHop(patternHop)) + ret.add(hop); + } + } + return ret; + } + /** * Find the street edges that were split at beginning of search by StreetSplitter, check whether they are served by flag stop routes. * This is duplicating the work done earlier by StreetSplitter, but want to minimize the number of changes introduced by flag stops. diff --git a/src/main/java/org/opentripplanner/routing/edgetype/PartialPatternHop.java b/src/main/java/org/opentripplanner/routing/edgetype/PartialPatternHop.java index f6385d770ef..8f4b91e3802 100644 --- a/src/main/java/org/opentripplanner/routing/edgetype/PartialPatternHop.java +++ b/src/main/java/org/opentripplanner/routing/edgetype/PartialPatternHop.java @@ -38,29 +38,36 @@ public class PartialPatternHop extends PatternHop { private double startIndex; private double endIndex; private double percentageOfHop; + private PatternHop originalHop; - private PartialPatternHop(PatternHop hop, PatternStopVertex from, PatternStopVertex to, Stop fromStop, Stop toStop, StreetMatcher matcher, GeometryFactory factory, boolean start) { + public enum Type { START, END, BOTH_SIDES }; + + public PartialPatternHop(PatternHop hop, PatternStopVertex from, PatternStopVertex to, Stop fromStop, Stop toStop, StreetMatcher matcher, GeometryFactory factory, Type type) { super(from, to, fromStop, toStop, hop.getStopIndex(), hop.getContinuousPickup(), hop.getContinuousDropoff(), false); LengthIndexedLine line = new LengthIndexedLine(hop.getGeometry()); - if (start) { + if (type.equals(Type.START)) { this.startIndex = 0; this.endIndex = line.project(to.getCoordinate()); - } else { + } else if (type.equals(Type.END)) { this.startIndex = line.project(from.getCoordinate()); this.endIndex = line.getEndIndex(); + } else { + this.startIndex = line.project(from.getCoordinate()); + this.endIndex = line.project(to.getCoordinate()); } if (matcher != null && factory != null) this.setGeometryFromHop(matcher, factory, hop); this.percentageOfHop = (this.endIndex - this.startIndex) / line.getEndIndex(); + this.originalHop = hop; } // given hop s0->s1 and a temporary position t, create a partial hop s0->t public static PartialPatternHop startHop(PatternHop hop, PatternArriveVertex to, Stop toStop, StreetMatcher matcher, GeometryFactory factory) { - return new PartialPatternHop(hop, (PatternStopVertex) hop.getFromVertex(), to, hop.getBeginStop(), toStop, matcher, factory, true); + return new PartialPatternHop(hop, (PatternStopVertex) hop.getFromVertex(), to, hop.getBeginStop(), toStop, matcher, factory, Type.START); } public static PartialPatternHop endHop(PatternHop hop, PatternDepartVertex from, Stop fromStop, StreetMatcher matcher, GeometryFactory factory) { - return new PartialPatternHop(hop, from, (PatternStopVertex) hop.getToVertex(), fromStop, hop.getEndStop(), matcher, factory, false); + return new PartialPatternHop(hop, from, (PatternStopVertex) hop.getToVertex(), fromStop, hop.getEndStop(), matcher, factory, Type.END); } @Override @@ -73,6 +80,14 @@ public int getRunningTime(State s0) { return (int) (percentageOfHop * super.getRunningTime(s0)); } + public boolean isOriginalHop(PatternHop hop) { + return originalHop.getId() == hop.getId(); + } + + public PatternHop getOriginalHop() { + return originalHop; + } + private void setGeometryFromHop(StreetMatcher matcher, GeometryFactory factory, PatternHop hop) { List edges = matcher.match(hop.getGeometry()); List coords = new ArrayList<>(); diff --git a/src/main/java/org/opentripplanner/routing/edgetype/TransitBoardAlight.java b/src/main/java/org/opentripplanner/routing/edgetype/TransitBoardAlight.java index 1baaac57529..39840d67136 100644 --- a/src/main/java/org/opentripplanner/routing/edgetype/TransitBoardAlight.java +++ b/src/main/java/org/opentripplanner/routing/edgetype/TransitBoardAlight.java @@ -29,6 +29,7 @@ the License, or (at your option) any later version. import org.opentripplanner.routing.core.TransferTable; import org.opentripplanner.routing.core.TraverseMode; import org.opentripplanner.routing.core.TraverseModeSet; +import org.opentripplanner.routing.edgetype.flex.TemporaryPartialPatternHop; import org.opentripplanner.routing.edgetype.flex.TemporaryPatternHop; import org.opentripplanner.routing.edgetype.flex.TemporaryTransitBoardAlight; import org.opentripplanner.routing.trippattern.TripTimes; @@ -310,14 +311,14 @@ public State traverse(State s0, long arrivalTimeAtStop) { double departureOffset = 0; if(this instanceof TemporaryTransitBoardAlight){ if(this.boarding){ - TemporaryPatternHop temporaryPatternHop = (TemporaryPatternHop)this.getToVertex().getOutgoing().iterator().next(); + TemporaryPartialPatternHop temporaryPatternHop = (TemporaryPartialPatternHop) this.getToVertex().getOutgoing().iterator().next(); int runningTime = bestTripTimes.getArrivalTime(stopIndex + 1) - bestTripTimes.getDepartureTime(stopIndex); - departureOffset = runningTime - Math.round(runningTime * temporaryPatternHop.distanceRatio); + departureOffset = runningTime - Math.round(runningTime * temporaryPatternHop.getPercentageOfHop()); bestWait += departureOffset; }else{ - TemporaryPatternHop temporaryPatternHop = (TemporaryPatternHop)this.getFromVertex().getIncoming().iterator().next(); + TemporaryPartialPatternHop temporaryPatternHop = (TemporaryPartialPatternHop) this.getFromVertex().getIncoming().iterator().next(); int runningTime = bestTripTimes.getArrivalTime(stopIndex + 1) - bestTripTimes.getDepartureTime(stopIndex); - departureOffset = Math.round(runningTime * temporaryPatternHop.distanceRatio); + departureOffset = Math.round(runningTime * temporaryPatternHop.getPercentageOfHop()); bestWait += departureOffset; } diff --git a/src/main/java/org/opentripplanner/routing/edgetype/flex/TemporaryPartialPatternHop.java b/src/main/java/org/opentripplanner/routing/edgetype/flex/TemporaryPartialPatternHop.java new file mode 100644 index 00000000000..78a56a68b4a --- /dev/null +++ b/src/main/java/org/opentripplanner/routing/edgetype/flex/TemporaryPartialPatternHop.java @@ -0,0 +1,44 @@ +package org.opentripplanner.routing.edgetype.flex; + +import com.vividsolutions.jts.geom.GeometryFactory; +import org.onebusaway.gtfs.model.Stop; +import org.opentripplanner.common.geometry.GeometryUtils; +import org.opentripplanner.graph_builder.module.map.StreetMatcher; +import org.opentripplanner.routing.core.RoutingContext; +import org.opentripplanner.routing.edgetype.PartialPatternHop; +import org.opentripplanner.routing.edgetype.PatternHop; +import org.opentripplanner.routing.edgetype.TemporaryEdge; +import org.opentripplanner.routing.vertextype.PatternArriveVertex; +import org.opentripplanner.routing.vertextype.PatternDepartVertex; +import org.opentripplanner.routing.vertextype.PatternStopVertex; + +/** + * Created by simon on 6/13/17. + */ +// this may replace TemporaryPatternHop. the problem I want to solve is multiple possible hops. +public class TemporaryPartialPatternHop extends PartialPatternHop implements TemporaryEdge { + public TemporaryPartialPatternHop(PatternHop hop, PatternStopVertex from, PatternStopVertex to, Stop fromStop, Stop toStop, RoutingContext rctx, Type type) { + super(hop, from, to, fromStop, toStop, rctx.graph.index.matcher, GeometryUtils.getGeometryFactory(), type); + rctx.temporaryEdges.add(this); + } + + // todo can this be smarter + // start hop is a hop from the existing origin TO a new flag destination + public static TemporaryPartialPatternHop startHop(PatternHop hop, PatternArriveVertex to, Stop toStop, RoutingContext rctx) { + return new TemporaryPartialPatternHop(hop, (PatternStopVertex) hop.getFromVertex(), to, hop.getBeginStop(), toStop, rctx, Type.START); + } + + public static TemporaryPartialPatternHop endHop(PatternHop hop, PatternDepartVertex from, Stop fromStop, RoutingContext rctx) { + return new TemporaryPartialPatternHop(hop, from, (PatternStopVertex) hop.getToVertex(), fromStop, hop.getEndStop(), rctx, Type.END); + } + + public TemporaryPartialPatternHop shortenEnd(PatternStopVertex to, Stop toStop, RoutingContext rctx) { + return new TemporaryPartialPatternHop(getOriginalHop(), (PatternStopVertex) getFromVertex(), to, getBeginStop(), toStop, rctx, Type.BOTH_SIDES); + } + + @Override + public void dispose() { + fromv.removeOutgoing(this); + tov.removeIncoming(this); + } +} diff --git a/src/main/java/org/opentripplanner/routing/graph/GraphIndex.java b/src/main/java/org/opentripplanner/routing/graph/GraphIndex.java index 8628930b33e..24574ef09e8 100644 --- a/src/main/java/org/opentripplanner/routing/graph/GraphIndex.java +++ b/src/main/java/org/opentripplanner/routing/graph/GraphIndex.java @@ -114,6 +114,8 @@ public class GraphIndex { /** Store distances from each stop to all nearby street intersections. Useful in speeding up analyst requests. */ private transient StopTreeCache stopTreeCache = null; + public final StreetMatcher matcher; + public GraphIndex (Graph graph) { LOG.info("Indexing graph..."); @@ -153,7 +155,7 @@ public GraphIndex (Graph graph) { stopSpatialIndex.insert(envelope, stopVertex); } - StreetMatcher matcher = new StreetMatcher(graph); + matcher = new StreetMatcher(graph); LOG.info("Finding corresponding street edges for trip patterns..."); for (TripPattern pattern : patternForId.values()) { if (pattern.mode == TraverseMode.BUS) { From 50c826b30eacc01efa93bbd7c18e81858ba14baf Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Wed, 14 Jun 2017 10:43:19 -0400 Subject: [PATCH 020/226] fix geometry for partial pattern hops --- .../module/FlexDirectTransferGenerator.java | 10 ++--- .../routing/edgetype/PartialPatternHop.java | 45 +++++-------------- .../flex/TemporaryPartialPatternHop.java | 5 +-- 3 files changed, 17 insertions(+), 43 deletions(-) diff --git a/src/main/java/org/opentripplanner/graph_builder/module/FlexDirectTransferGenerator.java b/src/main/java/org/opentripplanner/graph_builder/module/FlexDirectTransferGenerator.java index 667bdc421df..1ed281dfa92 100644 --- a/src/main/java/org/opentripplanner/graph_builder/module/FlexDirectTransferGenerator.java +++ b/src/main/java/org/opentripplanner/graph_builder/module/FlexDirectTransferGenerator.java @@ -89,9 +89,9 @@ public List getPrerequisites() { return Arrays.asList("street to transit"); } - StreetMatcher matcher; - GeometryFactory geometryFactory = GeometryUtils.getGeometryFactory(); - Multimap flexPatternsToIgnore = ArrayListMultimap.create(); + private StreetMatcher matcher; + private GeometryFactory geometryFactory = GeometryUtils.getGeometryFactory(); + private Multimap flexPatternsToIgnore = ArrayListMultimap.create(); @Override public void buildGraph(Graph graph, HashMap, Object> extra) { @@ -273,7 +273,7 @@ private TransitStop newStopOnPartialHop(Graph graph, PatternHop hop, Vertex vert // hop -> stop transfer PatternArriveVertex patternArriveVertex = new PatternArriveVertex(graph, hop.getPattern(), hop.getStopIndex(), stop); TransitStopArrive transitStopArrive = new TransitStopArrive(graph, stop, transferStop); - PartialPatternHop startHop = PartialPatternHop.startHop(hop, patternArriveVertex, stop, matcher, geometryFactory); + PartialPatternHop startHop = PartialPatternHop.startHop(hop, patternArriveVertex, stop); new TransitBoardAlightAtFlex(patternArriveVertex, transitStopArrive, hop.getStopIndex(), hop.getPattern().mode, startHop.getPercentageOfHop()); new PreAlightEdge(transitStopArrive, transferStop); @@ -281,7 +281,7 @@ private TransitStop newStopOnPartialHop(Graph graph, PatternHop hop, Vertex vert TransitStopDepart transitStopDepart = new TransitStopDepart(graph, stop, transferStop); PatternDepartVertex patternDepartVertex = new PatternDepartVertex(graph, hop.getPattern(), hop.getStopIndex(), stop); new PreBoardEdge(transferStop, transitStopDepart); - PartialPatternHop endHop = PartialPatternHop.endHop(hop, patternDepartVertex, stop, matcher, geometryFactory); + PartialPatternHop endHop = PartialPatternHop.endHop(hop, patternDepartVertex, stop); new TransitBoardAlightAtFlex(transitStopDepart, patternDepartVertex, hop.getStopIndex(), hop.getPattern().mode, endHop.getPercentageOfHop()); return transferStop; diff --git a/src/main/java/org/opentripplanner/routing/edgetype/PartialPatternHop.java b/src/main/java/org/opentripplanner/routing/edgetype/PartialPatternHop.java index 8f4b91e3802..467726fb434 100644 --- a/src/main/java/org/opentripplanner/routing/edgetype/PartialPatternHop.java +++ b/src/main/java/org/opentripplanner/routing/edgetype/PartialPatternHop.java @@ -13,24 +13,16 @@ the License, or (at your option) any later version. package org.opentripplanner.routing.edgetype; -import com.vividsolutions.jts.geom.Coordinate; -import com.vividsolutions.jts.geom.CoordinateSequence; -import com.vividsolutions.jts.geom.GeometryFactory; +import com.vividsolutions.jts.geom.Geometry; import com.vividsolutions.jts.geom.LineString; import com.vividsolutions.jts.linearref.LengthIndexedLine; import org.onebusaway.gtfs.model.Stop; -import org.opentripplanner.graph_builder.module.map.StreetMatcher; import org.opentripplanner.routing.core.RoutingRequest; import org.opentripplanner.routing.core.State; -import org.opentripplanner.routing.graph.Edge; import org.opentripplanner.routing.vertextype.PatternArriveVertex; import org.opentripplanner.routing.vertextype.PatternDepartVertex; import org.opentripplanner.routing.vertextype.PatternStopVertex; -import java.util.ArrayList; -import java.util.List; - - public class PartialPatternHop extends PatternHop { private static final long serialVersionUID = 1L; @@ -42,7 +34,7 @@ public class PartialPatternHop extends PatternHop { public enum Type { START, END, BOTH_SIDES }; - public PartialPatternHop(PatternHop hop, PatternStopVertex from, PatternStopVertex to, Stop fromStop, Stop toStop, StreetMatcher matcher, GeometryFactory factory, Type type) { + public PartialPatternHop(PatternHop hop, PatternStopVertex from, PatternStopVertex to, Stop fromStop, Stop toStop, Type type) { super(from, to, fromStop, toStop, hop.getStopIndex(), hop.getContinuousPickup(), hop.getContinuousDropoff(), false); LengthIndexedLine line = new LengthIndexedLine(hop.getGeometry()); if (type.equals(Type.START)) { @@ -55,19 +47,22 @@ public PartialPatternHop(PatternHop hop, PatternStopVertex from, PatternStopVert this.startIndex = line.project(from.getCoordinate()); this.endIndex = line.project(to.getCoordinate()); } - if (matcher != null && factory != null) - this.setGeometryFromHop(matcher, factory, hop); this.percentageOfHop = (this.endIndex - this.startIndex) / line.getEndIndex(); this.originalHop = hop; + + Geometry geom = line.extractLine(startIndex, endIndex); + if (geom instanceof LineString) { // according to the javadocs, it is. + setGeometry((LineString) geom); + } } // given hop s0->s1 and a temporary position t, create a partial hop s0->t - public static PartialPatternHop startHop(PatternHop hop, PatternArriveVertex to, Stop toStop, StreetMatcher matcher, GeometryFactory factory) { - return new PartialPatternHop(hop, (PatternStopVertex) hop.getFromVertex(), to, hop.getBeginStop(), toStop, matcher, factory, Type.START); + public static PartialPatternHop startHop(PatternHop hop, PatternArriveVertex to, Stop toStop) { + return new PartialPatternHop(hop, (PatternStopVertex) hop.getFromVertex(), to, hop.getBeginStop(), toStop, Type.START); } - public static PartialPatternHop endHop(PatternHop hop, PatternDepartVertex from, Stop fromStop, StreetMatcher matcher, GeometryFactory factory) { - return new PartialPatternHop(hop, from, (PatternStopVertex) hop.getToVertex(), fromStop, hop.getEndStop(), matcher, factory, Type.END); + public static PartialPatternHop endHop(PatternHop hop, PatternDepartVertex from, Stop fromStop) { + return new PartialPatternHop(hop, from, (PatternStopVertex) hop.getToVertex(), fromStop, hop.getEndStop(), Type.END); } @Override @@ -88,24 +83,6 @@ public PatternHop getOriginalHop() { return originalHop; } - private void setGeometryFromHop(StreetMatcher matcher, GeometryFactory factory, PatternHop hop) { - List edges = matcher.match(hop.getGeometry()); - List coords = new ArrayList<>(); - LengthIndexedLine line = new LengthIndexedLine(hop.getGeometry()); - for (Edge e : edges) { - double idx = line.project(e.getToVertex().getCoordinate()); - if (idx >= endIndex) - break; - if (idx < startIndex) - continue; - for (Coordinate c : e.getGeometry().getCoordinates()) - coords.add(c); - } - Coordinate[] arr = coords.toArray(new Coordinate[0]); - LineString geometry = factory.createLineString(arr); - setGeometry(geometry); - } - public double getPercentageOfHop() { return percentageOfHop; } diff --git a/src/main/java/org/opentripplanner/routing/edgetype/flex/TemporaryPartialPatternHop.java b/src/main/java/org/opentripplanner/routing/edgetype/flex/TemporaryPartialPatternHop.java index 78a56a68b4a..f8959583a8a 100644 --- a/src/main/java/org/opentripplanner/routing/edgetype/flex/TemporaryPartialPatternHop.java +++ b/src/main/java/org/opentripplanner/routing/edgetype/flex/TemporaryPartialPatternHop.java @@ -1,9 +1,6 @@ package org.opentripplanner.routing.edgetype.flex; -import com.vividsolutions.jts.geom.GeometryFactory; import org.onebusaway.gtfs.model.Stop; -import org.opentripplanner.common.geometry.GeometryUtils; -import org.opentripplanner.graph_builder.module.map.StreetMatcher; import org.opentripplanner.routing.core.RoutingContext; import org.opentripplanner.routing.edgetype.PartialPatternHop; import org.opentripplanner.routing.edgetype.PatternHop; @@ -18,7 +15,7 @@ // this may replace TemporaryPatternHop. the problem I want to solve is multiple possible hops. public class TemporaryPartialPatternHop extends PartialPatternHop implements TemporaryEdge { public TemporaryPartialPatternHop(PatternHop hop, PatternStopVertex from, PatternStopVertex to, Stop fromStop, Stop toStop, RoutingContext rctx, Type type) { - super(hop, from, to, fromStop, toStop, rctx.graph.index.matcher, GeometryUtils.getGeometryFactory(), type); + super(hop, from, to, fromStop, toStop, type); rctx.temporaryEdges.add(this); } From 6c4b5fd8be9a69bc662fcc83f4c1c8a7593285e2 Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Thu, 15 Jun 2017 11:52:56 -0400 Subject: [PATCH 021/226] allow hops to decide they are trivial --- .../InterleavedBidirectionalHeuristic.java | 21 +++++++----- .../routing/edgetype/PartialPatternHop.java | 23 +++++++++++-- .../routing/edgetype/TransitBoardAlight.java | 17 ---------- .../flex/TemporaryPartialPatternHop.java | 9 ++++- .../flex/TemporaryTransitBoardAlight.java | 34 +++++++++++++------ 5 files changed, 65 insertions(+), 39 deletions(-) diff --git a/src/main/java/org/opentripplanner/routing/algorithm/strategies/InterleavedBidirectionalHeuristic.java b/src/main/java/org/opentripplanner/routing/algorithm/strategies/InterleavedBidirectionalHeuristic.java index 57639a1e2b3..d0383e3e832 100644 --- a/src/main/java/org/opentripplanner/routing/algorithm/strategies/InterleavedBidirectionalHeuristic.java +++ b/src/main/java/org/opentripplanner/routing/algorithm/strategies/InterleavedBidirectionalHeuristic.java @@ -385,9 +385,7 @@ private TObjectDoubleMap streetSearch (RoutingRequest rr, boolean fromTa }else{ v = fromTarget ? s.getBackEdge().getToVertex() : s.getBackEdge().getFromVertex(); } - - - + //if nearby, wire stop to init vertex Stop flagStop = new Stop(); @@ -426,11 +424,16 @@ private TObjectDoubleMap streetSearch (RoutingRequest rr, boolean fromTa Collection reverseHops = findTemporaryPatternHops(rr, originalPatternHop); for (TemporaryPartialPatternHop reverseHop : reverseHops) { // create new shortened hop - reverseHop.shortenEnd(patternArriveVertex, flagStop, rr.rctx); + TemporaryPartialPatternHop newHop = reverseHop.shortenEnd(patternArriveVertex, flagStop, rr.rctx); + if (newHop.isTrivial()) + continue; + rr.rctx.temporaryEdges.add(newHop); } TemporaryPartialPatternHop hop = TemporaryPartialPatternHop.startHop(originalPatternHop, patternArriveVertex, flagStop, rr.rctx); - + if (hop.isTrivial()) + continue; + rr.rctx.temporaryEdges.add(hop); // todo - david's code has this comment. why don't I need it? // flex point far away or is very close to the beginning or end of the hop. Leave this hop unchanged; @@ -438,7 +441,7 @@ private TObjectDoubleMap streetSearch (RoutingRequest rr, boolean fromTa /** Alighting constructor (PatternStopVertex --> TransitStopArrive) */ TemporaryTransitBoardAlight transitBoardAlight = - new TemporaryTransitBoardAlight(patternArriveVertex, transitStopArrive, originalPatternHop.getStopIndex(), TraverseMode.BUS, hop.getPercentageOfHop()); + new TemporaryTransitBoardAlight(patternArriveVertex, transitStopArrive, originalPatternHop.getStopIndex(), TraverseMode.BUS, hop); rr.rctx.temporaryEdges.add(transitBoardAlight); @@ -469,11 +472,13 @@ private TObjectDoubleMap streetSearch (RoutingRequest rr, boolean fromTa rr.rctx.temporaryVertices.add(patternDepartVertex); TemporaryPartialPatternHop hop = TemporaryPartialPatternHop.endHop(originalPatternHop, patternDepartVertex, flagStop, rr.rctx); - + if (hop.isTrivial()) + continue; + rr.rctx.temporaryEdges.add(hop); /** TransitBoardAlight: Boarding constructor (TransitStopDepart, PatternStopVertex) */ TemporaryTransitBoardAlight transitBoardAlight = - new TemporaryTransitBoardAlight(transitStopDepart, patternDepartVertex, originalPatternHop.getStopIndex(), TraverseMode.BUS, hop.getPercentageOfHop()); + new TemporaryTransitBoardAlight(transitStopDepart, patternDepartVertex, originalPatternHop.getStopIndex(), TraverseMode.BUS, hop); rr.rctx.temporaryEdges.add(transitBoardAlight); } } diff --git a/src/main/java/org/opentripplanner/routing/edgetype/PartialPatternHop.java b/src/main/java/org/opentripplanner/routing/edgetype/PartialPatternHop.java index 467726fb434..5f45fbbb52a 100644 --- a/src/main/java/org/opentripplanner/routing/edgetype/PartialPatternHop.java +++ b/src/main/java/org/opentripplanner/routing/edgetype/PartialPatternHop.java @@ -29,10 +29,16 @@ public class PartialPatternHop extends PatternHop { private double startIndex; private double endIndex; + private double originalHopLength; private double percentageOfHop; private PatternHop originalHop; - public enum Type { START, END, BOTH_SIDES }; + // say initial hop goes from index a to b, and this hop goes from a' to b'. We have several types of partial hops: + public enum Type { + START, // a' > a, b' = b + END, // a' = a, b' < b + BOTH_SIDES // a' > a, b' < b + }; public PartialPatternHop(PatternHop hop, PatternStopVertex from, PatternStopVertex to, Stop fromStop, Stop toStop, Type type) { super(from, to, fromStop, toStop, hop.getStopIndex(), hop.getContinuousPickup(), hop.getContinuousDropoff(), false); @@ -49,7 +55,7 @@ public PartialPatternHop(PatternHop hop, PatternStopVertex from, PatternStopVert } this.percentageOfHop = (this.endIndex - this.startIndex) / line.getEndIndex(); this.originalHop = hop; - + this.originalHopLength = line.getEndIndex(); Geometry geom = line.extractLine(startIndex, endIndex); if (geom instanceof LineString) { // according to the javadocs, it is. setGeometry((LineString) geom); @@ -87,5 +93,18 @@ public double getPercentageOfHop() { return percentageOfHop; } + public double getStartIndex() { + return startIndex; + } + + public double getEndIndex() { + return endIndex; + } + + public double getOriginalHopLength() { + return originalHopLength; + } + + } diff --git a/src/main/java/org/opentripplanner/routing/edgetype/TransitBoardAlight.java b/src/main/java/org/opentripplanner/routing/edgetype/TransitBoardAlight.java index 39840d67136..840c180d08c 100644 --- a/src/main/java/org/opentripplanner/routing/edgetype/TransitBoardAlight.java +++ b/src/main/java/org/opentripplanner/routing/edgetype/TransitBoardAlight.java @@ -307,23 +307,6 @@ public State traverse(State s0, long arrivalTimeAtStop) { options.nonpreferredTransferPenalty); } - //if this is a flag stop in between two regular stops, - double departureOffset = 0; - if(this instanceof TemporaryTransitBoardAlight){ - if(this.boarding){ - TemporaryPartialPatternHop temporaryPatternHop = (TemporaryPartialPatternHop) this.getToVertex().getOutgoing().iterator().next(); - int runningTime = bestTripTimes.getArrivalTime(stopIndex + 1) - bestTripTimes.getDepartureTime(stopIndex); - departureOffset = runningTime - Math.round(runningTime * temporaryPatternHop.getPercentageOfHop()); - bestWait += departureOffset; - }else{ - TemporaryPartialPatternHop temporaryPatternHop = (TemporaryPartialPatternHop) this.getFromVertex().getIncoming().iterator().next(); - int runningTime = bestTripTimes.getArrivalTime(stopIndex + 1) - bestTripTimes.getDepartureTime(stopIndex); - departureOffset = Math.round(runningTime * temporaryPatternHop.getPercentageOfHop()); - bestWait += departureOffset; - } - - } - /* Found a trip to board. Now make the child state. */ StateEditor s1 = s0.edit(this); s1.setBackMode(getMode()); diff --git a/src/main/java/org/opentripplanner/routing/edgetype/flex/TemporaryPartialPatternHop.java b/src/main/java/org/opentripplanner/routing/edgetype/flex/TemporaryPartialPatternHop.java index f8959583a8a..a08d8ab2067 100644 --- a/src/main/java/org/opentripplanner/routing/edgetype/flex/TemporaryPartialPatternHop.java +++ b/src/main/java/org/opentripplanner/routing/edgetype/flex/TemporaryPartialPatternHop.java @@ -16,7 +16,6 @@ public class TemporaryPartialPatternHop extends PartialPatternHop implements TemporaryEdge { public TemporaryPartialPatternHop(PatternHop hop, PatternStopVertex from, PatternStopVertex to, Stop fromStop, Stop toStop, RoutingContext rctx, Type type) { super(hop, from, to, fromStop, toStop, type); - rctx.temporaryEdges.add(this); } // todo can this be smarter @@ -38,4 +37,12 @@ public void dispose() { fromv.removeOutgoing(this); tov.removeIncoming(this); } + + // is this hop too not-different to care about? for now lets say should be 2% different *shrugs* + public boolean isTrivial() { + return false; +// double length = getOriginalHopLength(); +// double thisLength = getEndIndex() - getStartIndex(); +// return (thisLength / length) > 0.99; + } } diff --git a/src/main/java/org/opentripplanner/routing/edgetype/flex/TemporaryTransitBoardAlight.java b/src/main/java/org/opentripplanner/routing/edgetype/flex/TemporaryTransitBoardAlight.java index 717c7272952..70acfb9ed14 100644 --- a/src/main/java/org/opentripplanner/routing/edgetype/flex/TemporaryTransitBoardAlight.java +++ b/src/main/java/org/opentripplanner/routing/edgetype/flex/TemporaryTransitBoardAlight.java @@ -4,6 +4,7 @@ import org.opentripplanner.routing.core.ServiceDay; import org.opentripplanner.routing.core.State; import org.opentripplanner.routing.core.TraverseMode; +import org.opentripplanner.routing.edgetype.PartialPatternHop; import org.opentripplanner.routing.edgetype.TemporaryEdge; import org.opentripplanner.routing.edgetype.Timetable; import org.opentripplanner.routing.edgetype.TransitBoardAlight; @@ -17,18 +18,25 @@ */ public class TemporaryTransitBoardAlight extends TransitBoardAlight implements TemporaryEdge { - double distanceRatio; + // normalized to [0, 1] + private double startIndex; + private double endIndex; public TemporaryTransitBoardAlight(TransitStopDepart fromStopVertex, PatternStopVertex toPatternVertex, - int stopIndex, TraverseMode mode, double distanceRatio) { + int stopIndex, TraverseMode mode, PartialPatternHop hop) { super(fromStopVertex, toPatternVertex, stopIndex, mode); - this.distanceRatio = distanceRatio; + setIndices(hop); } public TemporaryTransitBoardAlight(PatternStopVertex fromPatternStop, TransitStopArrive toStationVertex, - int stopIndex, TraverseMode mode, double distanceRatio) { + int stopIndex, TraverseMode mode, PartialPatternHop hop) { super(fromPatternStop, toStationVertex, stopIndex, mode); - this.distanceRatio = distanceRatio; + setIndices(hop); + } + + private void setIndices(PartialPatternHop hop) { + this.startIndex = hop.getStartIndex() / hop.getOriginalHopLength(); + this.endIndex = hop.getEndIndex() / hop.getOriginalHopLength(); } @Override @@ -42,17 +50,21 @@ public void dispose() { public TripTimes getNextTrip(State s0, ServiceDay sd) { RoutingRequest options = s0.getOptions(); Timetable timetable = getPattern().getUpdatedTimetable(options, sd); - TripTimes tripTimes = timetable.getNextTrip(s0, sd, getStopIndex(), boarding, distanceRatio); + TripTimes tripTimes = timetable.getNextTrip(s0, sd, getStopIndex(), boarding, startIndex); return tripTimes; } @Override public int calculateWait(State s0, ServiceDay sd, TripTimes tripTimes) { int stopIndex = getStopIndex(); - int adjustment = (int) (distanceRatio * (tripTimes.getRunningTime(stopIndex))); - // we need to fudge this by two seconds so that we can optimize later on. - return boarding ? - (int)(sd.time(tripTimes.getDepartureTime(stopIndex) + adjustment) - s0.getTimeSeconds()) + 2: - (int)(s0.getTimeSeconds() - sd.time(tripTimes.getArrivalTime(stopIndex) + adjustment)); + if (boarding) { + // we need to fudge this by two seconds so that we can optimize later on. + int adjustment = (int) (startIndex * (tripTimes.getRunningTime(stopIndex))); + return (int)(sd.time(tripTimes.getDepartureTime(stopIndex) + adjustment) - s0.getTimeSeconds()) + 2; + } + else { + int adjustment = (int) (startIndex * (tripTimes.getRunningTime(stopIndex))); + return (int)(s0.getTimeSeconds() - sd.time(tripTimes.getArrivalTime(stopIndex) + adjustment)); + } } } From 448e9942b9657b321cb6068ab4a50c2079c1fb42 Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Fri, 16 Jun 2017 11:42:02 -0400 Subject: [PATCH 022/226] some refactoring of partial hops, and allow flag stop for street edges going the wrong way (since we are peds) - this solves bug in VGF-1 --- .../InterleavedBidirectionalHeuristic.java | 3 +- .../routing/edgetype/PartialPatternHop.java | 27 ++---- .../flex/TemporaryPartialPatternHop.java | 17 ++-- .../routing/graph/GraphIndex.java | 85 +++++++++++-------- 4 files changed, 69 insertions(+), 63 deletions(-) diff --git a/src/main/java/org/opentripplanner/routing/algorithm/strategies/InterleavedBidirectionalHeuristic.java b/src/main/java/org/opentripplanner/routing/algorithm/strategies/InterleavedBidirectionalHeuristic.java index d0383e3e832..9f657147c05 100644 --- a/src/main/java/org/opentripplanner/routing/algorithm/strategies/InterleavedBidirectionalHeuristic.java +++ b/src/main/java/org/opentripplanner/routing/algorithm/strategies/InterleavedBidirectionalHeuristic.java @@ -425,7 +425,7 @@ private TObjectDoubleMap streetSearch (RoutingRequest rr, boolean fromTa for (TemporaryPartialPatternHop reverseHop : reverseHops) { // create new shortened hop TemporaryPartialPatternHop newHop = reverseHop.shortenEnd(patternArriveVertex, flagStop, rr.rctx); - if (newHop.isTrivial()) + if (newHop == null || newHop.isTrivial()) continue; rr.rctx.temporaryEdges.add(newHop); } @@ -438,7 +438,6 @@ private TObjectDoubleMap streetSearch (RoutingRequest rr, boolean fromTa // todo - david's code has this comment. why don't I need it? // flex point far away or is very close to the beginning or end of the hop. Leave this hop unchanged; - /** Alighting constructor (PatternStopVertex --> TransitStopArrive) */ TemporaryTransitBoardAlight transitBoardAlight = new TemporaryTransitBoardAlight(patternArriveVertex, transitStopArrive, originalPatternHop.getStopIndex(), TraverseMode.BUS, hop); diff --git a/src/main/java/org/opentripplanner/routing/edgetype/PartialPatternHop.java b/src/main/java/org/opentripplanner/routing/edgetype/PartialPatternHop.java index 5f45fbbb52a..9e20ea154bb 100644 --- a/src/main/java/org/opentripplanner/routing/edgetype/PartialPatternHop.java +++ b/src/main/java/org/opentripplanner/routing/edgetype/PartialPatternHop.java @@ -33,26 +33,11 @@ public class PartialPatternHop extends PatternHop { private double percentageOfHop; private PatternHop originalHop; - // say initial hop goes from index a to b, and this hop goes from a' to b'. We have several types of partial hops: - public enum Type { - START, // a' > a, b' = b - END, // a' = a, b' < b - BOTH_SIDES // a' > a, b' < b - }; - - public PartialPatternHop(PatternHop hop, PatternStopVertex from, PatternStopVertex to, Stop fromStop, Stop toStop, Type type) { + public PartialPatternHop(PatternHop hop, PatternStopVertex from, PatternStopVertex to, Stop fromStop, Stop toStop, double startIndex, double endIndex) { super(from, to, fromStop, toStop, hop.getStopIndex(), hop.getContinuousPickup(), hop.getContinuousDropoff(), false); LengthIndexedLine line = new LengthIndexedLine(hop.getGeometry()); - if (type.equals(Type.START)) { - this.startIndex = 0; - this.endIndex = line.project(to.getCoordinate()); - } else if (type.equals(Type.END)) { - this.startIndex = line.project(from.getCoordinate()); - this.endIndex = line.getEndIndex(); - } else { - this.startIndex = line.project(from.getCoordinate()); - this.endIndex = line.project(to.getCoordinate()); - } + this.startIndex = startIndex; + this.endIndex = endIndex; this.percentageOfHop = (this.endIndex - this.startIndex) / line.getEndIndex(); this.originalHop = hop; this.originalHopLength = line.getEndIndex(); @@ -64,11 +49,13 @@ public PartialPatternHop(PatternHop hop, PatternStopVertex from, PatternStopVert // given hop s0->s1 and a temporary position t, create a partial hop s0->t public static PartialPatternHop startHop(PatternHop hop, PatternArriveVertex to, Stop toStop) { - return new PartialPatternHop(hop, (PatternStopVertex) hop.getFromVertex(), to, hop.getBeginStop(), toStop, Type.START); + LengthIndexedLine line = new LengthIndexedLine(hop.getGeometry()); + return new PartialPatternHop(hop, (PatternStopVertex) hop.getFromVertex(), to, hop.getBeginStop(), toStop, line.getStartIndex(), line.project(to.getCoordinate())); } public static PartialPatternHop endHop(PatternHop hop, PatternDepartVertex from, Stop fromStop) { - return new PartialPatternHop(hop, from, (PatternStopVertex) hop.getToVertex(), fromStop, hop.getEndStop(), Type.END); + LengthIndexedLine line = new LengthIndexedLine(hop.getGeometry()); + return new PartialPatternHop(hop, from, (PatternStopVertex) hop.getToVertex(), fromStop, hop.getEndStop(), line.project(from.getCoordinate()), line.getEndIndex()); } @Override diff --git a/src/main/java/org/opentripplanner/routing/edgetype/flex/TemporaryPartialPatternHop.java b/src/main/java/org/opentripplanner/routing/edgetype/flex/TemporaryPartialPatternHop.java index a08d8ab2067..dcdac0b1f3e 100644 --- a/src/main/java/org/opentripplanner/routing/edgetype/flex/TemporaryPartialPatternHop.java +++ b/src/main/java/org/opentripplanner/routing/edgetype/flex/TemporaryPartialPatternHop.java @@ -1,5 +1,6 @@ package org.opentripplanner.routing.edgetype.flex; +import com.vividsolutions.jts.linearref.LengthIndexedLine; import org.onebusaway.gtfs.model.Stop; import org.opentripplanner.routing.core.RoutingContext; import org.opentripplanner.routing.edgetype.PartialPatternHop; @@ -14,22 +15,28 @@ */ // this may replace TemporaryPatternHop. the problem I want to solve is multiple possible hops. public class TemporaryPartialPatternHop extends PartialPatternHop implements TemporaryEdge { - public TemporaryPartialPatternHop(PatternHop hop, PatternStopVertex from, PatternStopVertex to, Stop fromStop, Stop toStop, RoutingContext rctx, Type type) { - super(hop, from, to, fromStop, toStop, type); + public TemporaryPartialPatternHop(PatternHop hop, PatternStopVertex from, PatternStopVertex to, Stop fromStop, Stop toStop, RoutingContext rctx, double startIndex, double endIndex) { + super(hop, from, to, fromStop, toStop, startIndex, endIndex); } // todo can this be smarter // start hop is a hop from the existing origin TO a new flag destination public static TemporaryPartialPatternHop startHop(PatternHop hop, PatternArriveVertex to, Stop toStop, RoutingContext rctx) { - return new TemporaryPartialPatternHop(hop, (PatternStopVertex) hop.getFromVertex(), to, hop.getBeginStop(), toStop, rctx, Type.START); + LengthIndexedLine line = new LengthIndexedLine(hop.getGeometry()); + return new TemporaryPartialPatternHop(hop, (PatternStopVertex) hop.getFromVertex(), to, hop.getBeginStop(), toStop, rctx, line.getStartIndex(), line.project(to.getCoordinate())); } public static TemporaryPartialPatternHop endHop(PatternHop hop, PatternDepartVertex from, Stop fromStop, RoutingContext rctx) { - return new TemporaryPartialPatternHop(hop, from, (PatternStopVertex) hop.getToVertex(), fromStop, hop.getEndStop(), rctx, Type.END); + LengthIndexedLine line = new LengthIndexedLine(hop.getGeometry()); + return new TemporaryPartialPatternHop(hop, from, (PatternStopVertex) hop.getToVertex(), fromStop, hop.getEndStop(), rctx, line.project(from.getCoordinate()), line.getEndIndex()); } public TemporaryPartialPatternHop shortenEnd(PatternStopVertex to, Stop toStop, RoutingContext rctx) { - return new TemporaryPartialPatternHop(getOriginalHop(), (PatternStopVertex) getFromVertex(), to, getBeginStop(), toStop, rctx, Type.BOTH_SIDES); + LengthIndexedLine line = new LengthIndexedLine(getOriginalHop().getGeometry()); + double endIndex = line.project(to.getCoordinate()); + if (endIndex < getStartIndex()) + return null; + return new TemporaryPartialPatternHop(getOriginalHop(), (PatternStopVertex) getFromVertex(), to, getBeginStop(), toStop, rctx, getStartIndex(), endIndex); } @Override diff --git a/src/main/java/org/opentripplanner/routing/graph/GraphIndex.java b/src/main/java/org/opentripplanner/routing/graph/GraphIndex.java index 24574ef09e8..088c2f6e441 100644 --- a/src/main/java/org/opentripplanner/routing/graph/GraphIndex.java +++ b/src/main/java/org/opentripplanner/routing/graph/GraphIndex.java @@ -114,8 +114,6 @@ public class GraphIndex { /** Store distances from each stop to all nearby street intersections. Useful in speeding up analyst requests. */ private transient StopTreeCache stopTreeCache = null; - public final StreetMatcher matcher; - public GraphIndex (Graph graph) { LOG.info("Indexing graph..."); @@ -155,40 +153,6 @@ public GraphIndex (Graph graph) { stopSpatialIndex.insert(envelope, stopVertex); } - matcher = new StreetMatcher(graph); - LOG.info("Finding corresponding street edges for trip patterns..."); - for (TripPattern pattern : patternForId.values()) { - if (pattern.mode == TraverseMode.BUS) { - /* we can only match geometry to streets on bus routes */ - LOG.debug("Matching {}", pattern); - //If there are no shapes in GTFS pattern geometry is generated - //generated geometry is useless for street matching - //that is why pattern.geometry is null in that case - if (pattern.geometry == null) { - continue; - } - - edges = matcher.match(pattern.geometry); - if (edges == null || edges.isEmpty()) { - LOG.warn("Could not match to street network: {}", pattern); - continue; - } - for (Edge e : edges) { - patternsForEdge.put(e, pattern); - } - for(PatternHop patternHop : pattern.getPatternHops()){ - edges = matcher.match(patternHop.getGeometry()); - - if (edges == null || edges.isEmpty()) { - LOG.warn("Could not match to street network: {}", pattern); - continue; - } - for (Edge e : edges) { - hopsForEdge.put(e, patternHop); - } - } - } - } LOG.info("Finished processing street edges for trip patterns..."); @@ -216,6 +180,9 @@ public GraphIndex (Graph graph) { new ThreadFactoryBuilder().setNameFormat("GraphQLExecutor-" + graph.routerId + "-%d").build() )); + LOG.info("initializing hops-for-edge map..."); + initializeHopsForEdgeMap(); + LOG.info("initializing edge map..."); initializeEdgeMap(); @@ -729,6 +696,52 @@ private void initializeEdgeMap() { } } + private void initializeHopsForEdgeMap() { + StreetMatcher matcher = new StreetMatcher(graph); + LOG.info("Finding corresponding street edges for trip patterns..."); + for (TripPattern pattern : patternForId.values()) { + if (pattern.mode == TraverseMode.BUS) { + /* we can only match geometry to streets on bus routes */ + LOG.debug("Matching {}", pattern); + //If there are no shapes in GTFS pattern geometry is generated + //generated geometry is useless for street matching + //that is why pattern.geometry is null in that case + if (pattern.geometry == null) { + continue; + } + + List edges = matcher.match(pattern.geometry); + if (edges == null || edges.isEmpty()) { + LOG.warn("Could not match to street network: {}", pattern); + continue; + } + for (Edge e : edges) { + patternsForEdge.put(e, pattern); + } + for(PatternHop patternHop : pattern.getPatternHops()) { + edges = matcher.match(patternHop.getGeometry()); + + if (edges == null || edges.isEmpty()) { + LOG.warn("Could not match to street network: {}", pattern); + continue; + } + for (Edge e : edges) { + hopsForEdge.put(e, patternHop); + } + + // do the reverse, since we are walking and can go the other way. + edges = matcher.match(patternHop.getGeometry().reverse()); + if (edges == null || edges.isEmpty()) { + continue; + } + for (Edge e : edges) { + hopsForEdge.put(e, patternHop); + } + } + } + } + } + public Collection getHopsForEdge(Edge e) { return hopsForEdge.get(e); } From c8e9ee224dcbbcdae1ecd59a914d6c8cc89159a9 Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Fri, 16 Jun 2017 12:53:45 -0400 Subject: [PATCH 023/226] fix bug with arriveBy=true searches --- .../InterleavedBidirectionalHeuristic.java | 12 +++++++----- .../opentripplanner/routing/edgetype/Timetable.java | 3 ++- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/src/main/java/org/opentripplanner/routing/algorithm/strategies/InterleavedBidirectionalHeuristic.java b/src/main/java/org/opentripplanner/routing/algorithm/strategies/InterleavedBidirectionalHeuristic.java index 9f657147c05..2a1b236179b 100644 --- a/src/main/java/org/opentripplanner/routing/algorithm/strategies/InterleavedBidirectionalHeuristic.java +++ b/src/main/java/org/opentripplanner/routing/algorithm/strategies/InterleavedBidirectionalHeuristic.java @@ -297,11 +297,12 @@ public void doSomeWork() { * TODO what if the egress segment is by bicycle or car mode? This is no longer admissible. */ private TObjectDoubleMap streetSearch (RoutingRequest rr, boolean fromTarget, long abortTime) { - LOG.debug("Heuristic street search around the {}.", fromTarget ? "target" : "origin"); + LOG.info("Heuristic street search around the {}.", fromTarget ? "target" : "origin"); rr = rr.clone(); if (fromTarget) { rr.setArriveBy(!rr.arriveBy); } + // Create a map that returns Infinity when it does not contain a vertex. TObjectDoubleMap vertices = new TObjectDoubleHashMap<>(100, 0.5f, Double.POSITIVE_INFINITY); ShortestPathTree spt = new DominanceFunction.MinimumWeight().getNewShortestPathTree(rr); @@ -363,7 +364,7 @@ private TObjectDoubleMap streetSearch (RoutingRequest rr, boolean fromTa } } - findFlagStopEdgesNearby(rr, initVertex, tripPatternStateMap, fromTarget); + findFlagStopEdgesNearby(rr, initVertex, tripPatternStateMap); Map> stateToTripPatternsMap = new HashMap<>(); for(TripPattern tripPattern : tripPatternStateMap.keySet()){ @@ -381,6 +382,7 @@ private TObjectDoubleMap streetSearch (RoutingRequest rr, boolean fromTa if(s.getVertex() == initVertex){ //the origin/destination lies along a flag stop route + LOG.info("the origin/destination lies along a flag stop route. fromTarget={}, vertex={}", fromTarget, initVertex); v = initVertex; }else{ v = fromTarget ? s.getBackEdge().getToVertex() : s.getBackEdge().getFromVertex(); @@ -396,7 +398,7 @@ private TObjectDoubleMap streetSearch (RoutingRequest rr, boolean fromTa flagStop.setLocationType(99); TransitStop flagTransitStop = new TransitStop(graph, flagStop); - if(fromTarget){ + if(rr.arriveBy) { //reverse search transitQueue.insert(flagTransitStop, s.getWeight()); TemporaryStreetTransitLink streetTransitLink = new TemporaryStreetTransitLink(flagTransitStop, (StreetVertex)v, true); @@ -578,11 +580,11 @@ private Collection findTemporaryPatternHops(RoutingR * @param * @return */ - private void findFlagStopEdgesNearby(RoutingRequest rr, Vertex initVertex, Map tripPatternStateMap, boolean fromTarget){ + private void findFlagStopEdgesNearby(RoutingRequest rr, Vertex initVertex, Map tripPatternStateMap) { List flagStopOriginEdges = FlagStopSplitterService.getClosestStreetEdgesToOrigin(rr.rctx, graph); List flagStopDestinationEdges = FlagStopSplitterService.getClosestStreetEdgesToDestination(rr.rctx, graph); - if(fromTarget){ + if(rr.arriveBy){ for(StreetEdge streetEdge : flagStopDestinationEdges){ State nearbyState = new State(initVertex, rr); nearbyState.backEdge = streetEdge; diff --git a/src/main/java/org/opentripplanner/routing/edgetype/Timetable.java b/src/main/java/org/opentripplanner/routing/edgetype/Timetable.java index 28297b559a9..a07ca20d392 100644 --- a/src/main/java/org/opentripplanner/routing/edgetype/Timetable.java +++ b/src/main/java/org/opentripplanner/routing/edgetype/Timetable.java @@ -172,7 +172,8 @@ public TripTimes getNextTrip(State s0, ServiceDay serviceDay, int stopIndex, boo bestTime = depTime; } } else { - int arvTime = tt.getArrivalTime(stopIndex) + (int)(adjustment*tt.getRunningTime(stopIndex)); + int arvTimeAdj = (adjustment != 0) ? (int)(adjustment*tt.getRunningTime(stopIndex)) : 0; + int arvTime = tt.getArrivalTime(stopIndex) + arvTimeAdj; if (arvTime < 0) continue; if (arvTime <= adjustedTime && arvTime > bestTime) { bestTrip = tt; From 248209750b0f7cc60849c977176b79919c086aee Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Wed, 21 Jun 2017 14:30:05 -0400 Subject: [PATCH 024/226] Add penalty for flag stop boardings, so they can co-exist with "real" transit boarding. Some refactoring to support this. --- .../api/common/RoutingResource.java | 9 +++++ .../routing/algorithm/AStar.java | 5 --- .../routing/core/RoutingRequest.java | 5 +++ .../routing/edgetype/TransitBoardAlight.java | 34 +++++++++++-------- .../routing/edgetype/TripPattern.java | 4 +++ .../flex/TemporaryTransitBoardAlight.java | 6 ++++ .../routing/graph/GraphIndex.java | 3 +- 7 files changed, 44 insertions(+), 22 deletions(-) diff --git a/src/main/java/org/opentripplanner/api/common/RoutingResource.java b/src/main/java/org/opentripplanner/api/common/RoutingResource.java index 3b71da50ad6..e882da764be 100644 --- a/src/main/java/org/opentripplanner/api/common/RoutingResource.java +++ b/src/main/java/org/opentripplanner/api/common/RoutingResource.java @@ -347,6 +347,12 @@ public abstract class RoutingResource { @QueryParam("disableRemainingWeightHeuristic") protected Boolean disableRemainingWeightHeuristic; + /** + * Extra penalty added for flag stop boarding/alighting. + */ + @QueryParam("flagStopExtraPenalty") + protected Integer flagStopExtraPenalty; + @QueryParam("maxHours") private Double maxHours; @@ -573,6 +579,9 @@ protected RoutingRequest buildRequest() throws ParameterException { if (disableRemainingWeightHeuristic != null) request.disableRemainingWeightHeuristic = disableRemainingWeightHeuristic; + if (flagStopExtraPenalty != null) + request.flagStopExtraPenalty = flagStopExtraPenalty; + if (maxHours != null) request.maxHours = maxHours; diff --git a/src/main/java/org/opentripplanner/routing/algorithm/AStar.java b/src/main/java/org/opentripplanner/routing/algorithm/AStar.java index c4f7f6ecb9a..8b40435cebe 100644 --- a/src/main/java/org/opentripplanner/routing/algorithm/AStar.java +++ b/src/main/java/org/opentripplanner/routing/algorithm/AStar.java @@ -21,7 +21,6 @@ the License, or (at your option) any later version. import org.opentripplanner.routing.core.RoutingContext; import org.opentripplanner.routing.core.RoutingRequest; import org.opentripplanner.routing.core.State; -import org.opentripplanner.routing.edgetype.StreetTransitLink; import org.opentripplanner.routing.graph.Edge; import org.opentripplanner.routing.graph.Vertex; import org.opentripplanner.routing.spt.GraphPath; @@ -203,10 +202,6 @@ boolean iterate(){ Collection edges = runState.options.arriveBy ? runState.u_vertex.getIncoming() : runState.u_vertex.getOutgoing(); for (Edge edge : edges) { - if(edge.getClass().isAssignableFrom(StreetTransitLink.class) ){ - continue; - } - // Iterate over traversal results. When an edge leads nowhere (as indicated by // returning NULL), the iteration is over. TODO Use this to board multiple trips. for (State v = edge.traverse(runState.u); v != null; v = v.getNextResult()) { diff --git a/src/main/java/org/opentripplanner/routing/core/RoutingRequest.java b/src/main/java/org/opentripplanner/routing/core/RoutingRequest.java index 291ebd9f78a..e00e8b9f6b3 100644 --- a/src/main/java/org/opentripplanner/routing/core/RoutingRequest.java +++ b/src/main/java/org/opentripplanner/routing/core/RoutingRequest.java @@ -373,6 +373,11 @@ public class RoutingRequest implements Cloneable, Serializable { */ public boolean disableRemainingWeightHeuristic = false; + /** + * Extra penalty added for flag-stop boarding/alighting + */ + public int flagStopExtraPenalty = 90; + /** * The routing context used to actually carry out this search. It is important to build States from TraverseOptions * rather than RoutingContexts,and just keep a reference to the context in the TraverseOptions, rather than using diff --git a/src/main/java/org/opentripplanner/routing/edgetype/TransitBoardAlight.java b/src/main/java/org/opentripplanner/routing/edgetype/TransitBoardAlight.java index 840c180d08c..51ae52ade42 100644 --- a/src/main/java/org/opentripplanner/routing/edgetype/TransitBoardAlight.java +++ b/src/main/java/org/opentripplanner/routing/edgetype/TransitBoardAlight.java @@ -293,19 +293,6 @@ public State traverse(State s0, long arrivalTimeAtStop) { // FIXME this should be done WHILE searching for a trip. if (options.tripIsBanned(trip)) return null; - /* Check if route is preferred by the user. */ - long preferences_penalty = options.preferencesPenaltyForRoute(getPattern().route); - - /* Compute penalty for non-preferred transfers. */ - int transferPenalty = 0; - /* If this is not the first boarding, then we are transferring. */ - if (s0.isEverBoarded()) { - TransferTable transferTable = options.getRoutingContext().transferTable; - int transferTime = transferTable.getTransferTime(s0.getPreviousStop(), - getStop(), s0.getPreviousTrip(), trip, boarding); - transferPenalty = transferTable.determineTransferPenalty(transferTime, - options.nonpreferredTransferPenalty); - } /* Found a trip to board. Now make the child state. */ StateEditor s1 = s0.edit(this); @@ -330,8 +317,7 @@ public State traverse(State s0, long arrivalTimeAtStop) { wait_cost *= options.waitReluctance; } - s1.incrementWeight(preferences_penalty); - s1.incrementWeight(transferPenalty); + s1.incrementWeight(getPenaltyWeight(s0, options, trip)); // when reverse optimizing, the board cost needs to be applied on // alight to prevent state domination due to free alights @@ -361,6 +347,24 @@ public State traverse(State s0, long arrivalTimeAtStop) { } } + public long getPenaltyWeight(State s0, RoutingRequest options, Trip trip) { + /* Check if route is preferred by the user. */ + long preferences_penalty = options.preferencesPenaltyForRoute(getPattern().route); + + /* Compute penalty for non-preferred transfers. */ + int transferPenalty = 0; + /* If this is not the first boarding, then we are transferring. */ + if (s0.isEverBoarded()) { + TransferTable transferTable = options.getRoutingContext().transferTable; + int transferTime = transferTable.getTransferTime(s0.getPreviousStop(), + getStop(), s0.getPreviousTrip(), trip, boarding); + transferPenalty = transferTable.determineTransferPenalty(transferTime, + options.nonpreferredTransferPenalty); + } + + return preferences_penalty + transferPenalty; + } + public TripTimes getNextTrip(State s0, ServiceDay sd) { RoutingRequest options = s0.getOptions(); Timetable timetable = getPattern().getUpdatedTimetable(options, sd); diff --git a/src/main/java/org/opentripplanner/routing/edgetype/TripPattern.java b/src/main/java/org/opentripplanner/routing/edgetype/TripPattern.java index 64fe6d017af..6f342c91462 100644 --- a/src/main/java/org/opentripplanner/routing/edgetype/TripPattern.java +++ b/src/main/java/org/opentripplanner/routing/edgetype/TripPattern.java @@ -713,4 +713,8 @@ public String getFeedId() { return route.getId().getAgencyId(); } + public boolean hasFlagStopService() { + /* we can only match geometry to streets on bus routes */ + return TraverseMode.BUS.equals(this.mode); + } } diff --git a/src/main/java/org/opentripplanner/routing/edgetype/flex/TemporaryTransitBoardAlight.java b/src/main/java/org/opentripplanner/routing/edgetype/flex/TemporaryTransitBoardAlight.java index 70acfb9ed14..78cd38152a3 100644 --- a/src/main/java/org/opentripplanner/routing/edgetype/flex/TemporaryTransitBoardAlight.java +++ b/src/main/java/org/opentripplanner/routing/edgetype/flex/TemporaryTransitBoardAlight.java @@ -1,5 +1,6 @@ package org.opentripplanner.routing.edgetype.flex; +import org.onebusaway.gtfs.model.Trip; import org.opentripplanner.routing.core.RoutingRequest; import org.opentripplanner.routing.core.ServiceDay; import org.opentripplanner.routing.core.State; @@ -67,4 +68,9 @@ public int calculateWait(State s0, ServiceDay sd, TripTimes tripTimes) { return (int)(s0.getTimeSeconds() - sd.time(tripTimes.getArrivalTime(stopIndex) + adjustment)); } } + + @Override + public long getPenaltyWeight(State s0, RoutingRequest options, Trip trip) { + return super.getPenaltyWeight(s0, options, trip) + options.flagStopExtraPenalty; + } } diff --git a/src/main/java/org/opentripplanner/routing/graph/GraphIndex.java b/src/main/java/org/opentripplanner/routing/graph/GraphIndex.java index 088c2f6e441..44d9bd2094d 100644 --- a/src/main/java/org/opentripplanner/routing/graph/GraphIndex.java +++ b/src/main/java/org/opentripplanner/routing/graph/GraphIndex.java @@ -700,8 +700,7 @@ private void initializeHopsForEdgeMap() { StreetMatcher matcher = new StreetMatcher(graph); LOG.info("Finding corresponding street edges for trip patterns..."); for (TripPattern pattern : patternForId.values()) { - if (pattern.mode == TraverseMode.BUS) { - /* we can only match geometry to streets on bus routes */ + if (pattern.hasFlagStopService()) { LOG.debug("Matching {}", pattern); //If there are no shapes in GTFS pattern geometry is generated //generated geometry is useless for street matching From 158d829d8ad2d0bc2738ed6bff45a465e667580e Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Wed, 21 Jun 2017 16:07:53 -0400 Subject: [PATCH 025/226] Bugfix: if street edge is very long, traverse method kills walk budget, which will prevent flag stops from being generated. Add extra check. --- .../InterleavedBidirectionalHeuristic.java | 36 +++++++++++++------ 1 file changed, 25 insertions(+), 11 deletions(-) diff --git a/src/main/java/org/opentripplanner/routing/algorithm/strategies/InterleavedBidirectionalHeuristic.java b/src/main/java/org/opentripplanner/routing/algorithm/strategies/InterleavedBidirectionalHeuristic.java index 2a1b236179b..15952815ab4 100644 --- a/src/main/java/org/opentripplanner/routing/algorithm/strategies/InterleavedBidirectionalHeuristic.java +++ b/src/main/java/org/opentripplanner/routing/algorithm/strategies/InterleavedBidirectionalHeuristic.java @@ -320,16 +320,7 @@ private TObjectDoubleMap streetSearch (RoutingRequest rr, boolean fromTa Vertex v = s.getVertex(); if(s.getBackEdge() != null && s.getBackEdge().getGeometry() != null){ - Collection patterns = graph.index.getPatternsForEdge(s.getBackEdge()); - for(TripPattern tripPattern : patterns){ - if(tripPatternStateMap.containsKey(tripPattern)){ - State oldState = tripPatternStateMap.get(tripPattern); - if(oldState.getWeight() < s.getWeight()){ - continue; - } - } - tripPatternStateMap.put(tripPattern, s); - } + addStateToTripPatternStateMap(s, tripPatternStateMap); } // At this point the vertex is closed (pulled off heap). // This is the lowest cost we will ever see for this vertex. We can record the cost to reach it. @@ -356,6 +347,7 @@ private TObjectDoubleMap streetSearch (RoutingRequest rr, boolean fromTa // Walk cutoff will happen in the street edge traversal method. State s1 = e.traverse(s); if (s1 == null) { + checkFlexAtLongStreetEdge(s, e, tripPatternStateMap); continue; } if (spt.add(s1)) { @@ -459,7 +451,7 @@ private TObjectDoubleMap streetSearch (RoutingRequest rr, boolean fromTa TemporaryPreBoardEdge temporaryPreBoardEdge = new TemporaryPreBoardEdge(flagTransitStop, transitStopDepart); rr.rctx.temporaryEdges.add(temporaryPreBoardEdge); - for(TripPattern originalTripPattern : stateToTripPatternsMap.get(s)){ + for(TripPattern originalTripPattern : stateToTripPatternsMap.get(s)) { List patternHops = graph.index.getHopsForEdge(s.getBackEdge()) .stream() @@ -607,6 +599,28 @@ private void findFlagStopEdgesNearby(RoutingRequest rr, Vertex initVertex, Map t } } + // It's possible that the edge is a very long StreetEdge whose traversal will kill our walk budget, but it's + // a good candidate for flex edges. + private void checkFlexAtLongStreetEdge(State s0, Edge e, Map tripPatternStateMap) { + if (s0.getWalkDistance() + e.getDistance() >= s0.getOptions().getMaxWalkDistance()) { + State s1 = s0.edit(e).makeState(); + addStateToTripPatternStateMap(s1, tripPatternStateMap); + } + } + + private void addStateToTripPatternStateMap(State s, Map tripPatternStateMap) { + Collection patterns = graph.index.getPatternsForEdge(s.getBackEdge()); + for(TripPattern tripPattern : patterns){ + if(tripPatternStateMap.containsKey(tripPattern)){ + State oldState = tripPatternStateMap.get(tripPattern); + if(oldState.getWeight() < s.getWeight()){ + continue; + } + } + tripPatternStateMap.put(tripPattern, s); + } + } + /** * * @param start start point of the segment From bbc8d47161581a37e7bc32b42eacd875c788af6f Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Thu, 22 Jun 2017 11:12:01 -0400 Subject: [PATCH 026/226] VGF-24 ensure temporary edges/vertices are really temporary --- .../InterleavedBidirectionalHeuristic.java | 43 ++++++++++++------- .../routing/edgetype/TransitBoardAlight.java | 5 --- .../flex/TemporaryPatternArriveVertex.java | 40 +++++++++++++++++ .../flex/TemporaryPatternDepartVertex.java | 40 +++++++++++++++++ .../vertextype/flex/TemporaryTransitStop.java | 38 ++++++++++++++++ .../flex/TemporaryTransitStopArrive.java | 39 +++++++++++++++++ .../flex/TemporaryTransitStopDepart.java | 39 +++++++++++++++++ 7 files changed, 224 insertions(+), 20 deletions(-) create mode 100644 src/main/java/org/opentripplanner/routing/vertextype/flex/TemporaryPatternArriveVertex.java create mode 100644 src/main/java/org/opentripplanner/routing/vertextype/flex/TemporaryPatternDepartVertex.java create mode 100644 src/main/java/org/opentripplanner/routing/vertextype/flex/TemporaryTransitStop.java create mode 100644 src/main/java/org/opentripplanner/routing/vertextype/flex/TemporaryTransitStopArrive.java create mode 100644 src/main/java/org/opentripplanner/routing/vertextype/flex/TemporaryTransitStopDepart.java diff --git a/src/main/java/org/opentripplanner/routing/algorithm/strategies/InterleavedBidirectionalHeuristic.java b/src/main/java/org/opentripplanner/routing/algorithm/strategies/InterleavedBidirectionalHeuristic.java index 15952815ab4..24c7d4ab49b 100644 --- a/src/main/java/org/opentripplanner/routing/algorithm/strategies/InterleavedBidirectionalHeuristic.java +++ b/src/main/java/org/opentripplanner/routing/algorithm/strategies/InterleavedBidirectionalHeuristic.java @@ -16,7 +16,6 @@ the License, or (props, at your option) any later version. import com.google.common.collect.BiMap; import com.google.common.collect.HashBiMap; import com.vividsolutions.jts.geom.Coordinate; -import com.vividsolutions.jts.geom.GeometryFactory; import com.vividsolutions.jts.geom.LineSegment; import com.vividsolutions.jts.geom.LineString; import gnu.trove.map.TObjectDoubleMap; @@ -26,7 +25,6 @@ the License, or (props, at your option) any later version. import org.opentripplanner.common.geometry.GeometryUtils; import org.opentripplanner.common.geometry.SphericalDistanceLibrary; import org.opentripplanner.common.pqueue.BinHeap; -import org.opentripplanner.graph_builder.module.map.StreetMatcher; import org.opentripplanner.routing.core.RoutingRequest; import org.opentripplanner.routing.core.State; import org.opentripplanner.routing.core.TraverseMode; @@ -40,10 +38,15 @@ the License, or (props, at your option) any later version. import org.opentripplanner.routing.spt.DominanceFunction; import org.opentripplanner.routing.spt.ShortestPathTree; import org.opentripplanner.routing.vertextype.*; +import org.opentripplanner.routing.vertextype.flex.TemporaryPatternArriveVertex; +import org.opentripplanner.routing.vertextype.flex.TemporaryPatternDepartVertex; +import org.opentripplanner.routing.edgetype.flex.TemporaryTransitBoardAlight; +import org.opentripplanner.routing.vertextype.flex.TemporaryTransitStop; +import org.opentripplanner.routing.vertextype.flex.TemporaryTransitStopArrive; +import org.opentripplanner.routing.vertextype.flex.TemporaryTransitStopDepart; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import java.awt.geom.Point2D; import java.util.*; import java.util.stream.Collectors; @@ -297,7 +300,7 @@ public void doSomeWork() { * TODO what if the egress segment is by bicycle or car mode? This is no longer admissible. */ private TObjectDoubleMap streetSearch (RoutingRequest rr, boolean fromTarget, long abortTime) { - LOG.info("Heuristic street search around the {}.", fromTarget ? "target" : "origin"); + LOG.debug("Heuristic street search around the {}.", fromTarget ? "target" : "origin"); rr = rr.clone(); if (fromTarget) { rr.setArriveBy(!rr.arriveBy); @@ -377,7 +380,7 @@ private TObjectDoubleMap streetSearch (RoutingRequest rr, boolean fromTa LOG.info("the origin/destination lies along a flag stop route. fromTarget={}, vertex={}", fromTarget, initVertex); v = initVertex; }else{ - v = fromTarget ? s.getBackEdge().getToVertex() : s.getBackEdge().getFromVertex(); + v = rr.arriveBy ? s.getBackEdge().getToVertex() : s.getBackEdge().getFromVertex(); } //if nearby, wire stop to init vertex @@ -388,7 +391,8 @@ private TObjectDoubleMap streetSearch (RoutingRequest rr, boolean fromTa flagStop.setLon(v.getLon()); flagStop.setName(s.getBackEdge().getName()); flagStop.setLocationType(99); - TransitStop flagTransitStop = new TransitStop(graph, flagStop); + TemporaryTransitStop flagTransitStop = new TemporaryTransitStop(graph, flagStop); + rr.rctx.temporaryVertices.add(flagTransitStop); if(rr.arriveBy) { //reverse search @@ -396,7 +400,8 @@ private TObjectDoubleMap streetSearch (RoutingRequest rr, boolean fromTa TemporaryStreetTransitLink streetTransitLink = new TemporaryStreetTransitLink(flagTransitStop, (StreetVertex)v, true); rr.rctx.temporaryEdges.add(streetTransitLink); - TransitStopArrive transitStopArrive = new TransitStopArrive(graph, flagStop, flagTransitStop); + TemporaryTransitStopArrive transitStopArrive = new TemporaryTransitStopArrive(graph, flagStop, flagTransitStop); + rr.rctx.temporaryVertices.add(transitStopArrive); TemporaryPreAlightEdge preAlightEdge = new TemporaryPreAlightEdge(transitStopArrive, flagTransitStop); rr.rctx.temporaryEdges.add(preAlightEdge); @@ -411,22 +416,27 @@ private TObjectDoubleMap streetSearch (RoutingRequest rr, boolean fromTa int stopIndex = originalPatternHop.getStopIndex(); - PatternArriveVertex patternArriveVertex = - new PatternArriveVertex(graph, originalTripPattern, stopIndex, flagStop); + TemporaryPatternArriveVertex patternArriveVertex = + new TemporaryPatternArriveVertex(graph, originalTripPattern, stopIndex, flagStop); rr.rctx.temporaryVertices.add(patternArriveVertex); Collection reverseHops = findTemporaryPatternHops(rr, originalPatternHop); for (TemporaryPartialPatternHop reverseHop : reverseHops) { // create new shortened hop TemporaryPartialPatternHop newHop = reverseHop.shortenEnd(patternArriveVertex, flagStop, rr.rctx); - if (newHop == null || newHop.isTrivial()) + if (newHop == null || newHop.isTrivial()) { + if (newHop != null) + newHop.dispose(); continue; + } rr.rctx.temporaryEdges.add(newHop); } TemporaryPartialPatternHop hop = TemporaryPartialPatternHop.startHop(originalPatternHop, patternArriveVertex, flagStop, rr.rctx); - if (hop.isTrivial()) + if (hop.isTrivial()) { + hop.dispose(); continue; + } rr.rctx.temporaryEdges.add(hop); // todo - david's code has this comment. why don't I need it? @@ -447,7 +457,8 @@ private TObjectDoubleMap streetSearch (RoutingRequest rr, boolean fromTa TemporaryStreetTransitLink streetTransitLink = new TemporaryStreetTransitLink((StreetVertex)v, flagTransitStop, true); rr.rctx.temporaryEdges.add(streetTransitLink); - TransitStopDepart transitStopDepart = new TransitStopDepart(graph, flagStop, flagTransitStop); + TemporaryTransitStopDepart transitStopDepart = new TemporaryTransitStopDepart(graph, flagStop, flagTransitStop); + rr.rctx.temporaryVertices.add(transitStopDepart); TemporaryPreBoardEdge temporaryPreBoardEdge = new TemporaryPreBoardEdge(flagTransitStop, transitStopDepart); rr.rctx.temporaryEdges.add(temporaryPreBoardEdge); @@ -460,13 +471,15 @@ private TObjectDoubleMap streetSearch (RoutingRequest rr, boolean fromTa for(PatternHop originalPatternHop : patternHops){ - PatternDepartVertex patternDepartVertex = - new PatternDepartVertex(graph, originalTripPattern, originalPatternHop.getStopIndex(), flagStop); + TemporaryPatternDepartVertex patternDepartVertex = + new TemporaryPatternDepartVertex(graph, originalTripPattern, originalPatternHop.getStopIndex(), flagStop); rr.rctx.temporaryVertices.add(patternDepartVertex); TemporaryPartialPatternHop hop = TemporaryPartialPatternHop.endHop(originalPatternHop, patternDepartVertex, flagStop, rr.rctx); - if (hop.isTrivial()) + if (hop.isTrivial()) { + hop.dispose(); continue; + } rr.rctx.temporaryEdges.add(hop); /** TransitBoardAlight: Boarding constructor (TransitStopDepart, PatternStopVertex) */ diff --git a/src/main/java/org/opentripplanner/routing/edgetype/TransitBoardAlight.java b/src/main/java/org/opentripplanner/routing/edgetype/TransitBoardAlight.java index 51ae52ade42..80e06b72c0e 100644 --- a/src/main/java/org/opentripplanner/routing/edgetype/TransitBoardAlight.java +++ b/src/main/java/org/opentripplanner/routing/edgetype/TransitBoardAlight.java @@ -15,9 +15,7 @@ the License, or (at your option) any later version. import java.util.BitSet; -import java.util.Date; import java.util.Locale; -import java.util.concurrent.TimeUnit; import org.onebusaway.gtfs.model.Stop; import org.onebusaway.gtfs.model.Trip; @@ -29,9 +27,6 @@ the License, or (at your option) any later version. import org.opentripplanner.routing.core.TransferTable; import org.opentripplanner.routing.core.TraverseMode; import org.opentripplanner.routing.core.TraverseModeSet; -import org.opentripplanner.routing.edgetype.flex.TemporaryPartialPatternHop; -import org.opentripplanner.routing.edgetype.flex.TemporaryPatternHop; -import org.opentripplanner.routing.edgetype.flex.TemporaryTransitBoardAlight; import org.opentripplanner.routing.trippattern.TripTimes; import org.opentripplanner.routing.vertextype.PatternStopVertex; import org.opentripplanner.routing.vertextype.TransitStopArrive; diff --git a/src/main/java/org/opentripplanner/routing/vertextype/flex/TemporaryPatternArriveVertex.java b/src/main/java/org/opentripplanner/routing/vertextype/flex/TemporaryPatternArriveVertex.java new file mode 100644 index 00000000000..f6a3efdc6e9 --- /dev/null +++ b/src/main/java/org/opentripplanner/routing/vertextype/flex/TemporaryPatternArriveVertex.java @@ -0,0 +1,40 @@ +/* This program is free software: you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public License + as published by the Free Software Foundation, either version 3 of + the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ +package org.opentripplanner.routing.vertextype.flex; + +import com.google.common.collect.Iterables; +import org.onebusaway.gtfs.model.Stop; +import org.opentripplanner.routing.edgetype.TemporaryEdge; +import org.opentripplanner.routing.edgetype.TripPattern; +import org.opentripplanner.routing.graph.Graph; +import org.opentripplanner.routing.vertextype.PatternArriveVertex; +import org.opentripplanner.routing.vertextype.TemporaryVertex; + +public class TemporaryPatternArriveVertex extends PatternArriveVertex implements TemporaryVertex { + + public TemporaryPatternArriveVertex(Graph g, TripPattern pattern, int stopIndex, Stop stop) { + super(g, pattern, stopIndex, stop); + } + + @Override + public boolean isEndVertex() { + return false; + } + + @Override + public void dispose() { + for (Object temp : Iterables.concat(getIncoming(), getOutgoing())) { + ((TemporaryEdge) temp).dispose(); + } + } +} diff --git a/src/main/java/org/opentripplanner/routing/vertextype/flex/TemporaryPatternDepartVertex.java b/src/main/java/org/opentripplanner/routing/vertextype/flex/TemporaryPatternDepartVertex.java new file mode 100644 index 00000000000..cb33f9661a1 --- /dev/null +++ b/src/main/java/org/opentripplanner/routing/vertextype/flex/TemporaryPatternDepartVertex.java @@ -0,0 +1,40 @@ +/* This program is free software: you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public License + as published by the Free Software Foundation, either version 3 of + the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ +package org.opentripplanner.routing.vertextype.flex; + +import com.google.common.collect.Iterables; +import org.onebusaway.gtfs.model.Stop; +import org.opentripplanner.routing.edgetype.TemporaryEdge; +import org.opentripplanner.routing.edgetype.TripPattern; +import org.opentripplanner.routing.graph.Graph; +import org.opentripplanner.routing.vertextype.PatternDepartVertex; +import org.opentripplanner.routing.vertextype.TemporaryVertex; + +public class TemporaryPatternDepartVertex extends PatternDepartVertex implements TemporaryVertex { + + public TemporaryPatternDepartVertex(Graph g, TripPattern pattern, int stopIndex, Stop stop) { + super(g, pattern, stopIndex, stop); + } + + @Override + public boolean isEndVertex() { + return false; + } + + @Override + public void dispose() { + for (Object temp : Iterables.concat(getIncoming(), getOutgoing())) { + ((TemporaryEdge) temp).dispose(); + } + } +} diff --git a/src/main/java/org/opentripplanner/routing/vertextype/flex/TemporaryTransitStop.java b/src/main/java/org/opentripplanner/routing/vertextype/flex/TemporaryTransitStop.java new file mode 100644 index 00000000000..483b62e4523 --- /dev/null +++ b/src/main/java/org/opentripplanner/routing/vertextype/flex/TemporaryTransitStop.java @@ -0,0 +1,38 @@ +/* This program is free software: you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public License + as published by the Free Software Foundation, either version 3 of + the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ +package org.opentripplanner.routing.vertextype.flex; + +import com.google.common.collect.Iterables; +import org.onebusaway.gtfs.model.Stop; +import org.opentripplanner.routing.edgetype.TemporaryEdge; +import org.opentripplanner.routing.graph.Graph; +import org.opentripplanner.routing.vertextype.TemporaryVertex; +import org.opentripplanner.routing.vertextype.TransitStop; + +public class TemporaryTransitStop extends TransitStop implements TemporaryVertex { + public TemporaryTransitStop(Graph graph, Stop stop) { + super(graph, stop); + } + + @Override + public boolean isEndVertex() { + return false; + } + + @Override + public void dispose() { + for (Object temp : Iterables.concat(getIncoming(), getOutgoing())) { + ((TemporaryEdge) temp).dispose(); + } + } +} diff --git a/src/main/java/org/opentripplanner/routing/vertextype/flex/TemporaryTransitStopArrive.java b/src/main/java/org/opentripplanner/routing/vertextype/flex/TemporaryTransitStopArrive.java new file mode 100644 index 00000000000..c8d1f3a2c75 --- /dev/null +++ b/src/main/java/org/opentripplanner/routing/vertextype/flex/TemporaryTransitStopArrive.java @@ -0,0 +1,39 @@ +/* This program is free software: you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public License + as published by the Free Software Foundation, either version 3 of + the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ +package org.opentripplanner.routing.vertextype.flex; + +import com.google.common.collect.Iterables; +import org.onebusaway.gtfs.model.Stop; +import org.opentripplanner.routing.edgetype.TemporaryEdge; +import org.opentripplanner.routing.graph.Graph; +import org.opentripplanner.routing.vertextype.TemporaryVertex; +import org.opentripplanner.routing.vertextype.TransitStop; +import org.opentripplanner.routing.vertextype.TransitStopArrive; + +public class TemporaryTransitStopArrive extends TransitStopArrive implements TemporaryVertex { + public TemporaryTransitStopArrive(Graph graph, Stop stop, TransitStop transitStop) { + super(graph, stop, transitStop); + } + + @Override + public boolean isEndVertex() { + return false; + } + + @Override + public void dispose() { + for (Object temp : Iterables.concat(getIncoming(), getOutgoing())) { + ((TemporaryEdge) temp).dispose(); + } + } +} diff --git a/src/main/java/org/opentripplanner/routing/vertextype/flex/TemporaryTransitStopDepart.java b/src/main/java/org/opentripplanner/routing/vertextype/flex/TemporaryTransitStopDepart.java new file mode 100644 index 00000000000..847a12f9865 --- /dev/null +++ b/src/main/java/org/opentripplanner/routing/vertextype/flex/TemporaryTransitStopDepart.java @@ -0,0 +1,39 @@ +/* This program is free software: you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public License + as published by the Free Software Foundation, either version 3 of + the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ +package org.opentripplanner.routing.vertextype.flex; + +import com.google.common.collect.Iterables; +import org.onebusaway.gtfs.model.Stop; +import org.opentripplanner.routing.edgetype.TemporaryEdge; +import org.opentripplanner.routing.graph.Graph; +import org.opentripplanner.routing.vertextype.TemporaryVertex; +import org.opentripplanner.routing.vertextype.TransitStop; +import org.opentripplanner.routing.vertextype.TransitStopDepart; + +public class TemporaryTransitStopDepart extends TransitStopDepart implements TemporaryVertex { + public TemporaryTransitStopDepart(Graph graph, Stop stop, TransitStop transitStop) { + super(graph, stop, transitStop); + } + + @Override + public boolean isEndVertex() { + return false; + } + + @Override + public void dispose() { + for (Object temp : Iterables.concat(getIncoming(), getOutgoing())) { + ((TemporaryEdge) temp).dispose(); + } + } +} From 869b83c62149e728e5663636f280707a28fd8811 Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Fri, 23 Jun 2017 11:10:50 -0400 Subject: [PATCH 027/226] VGF-25 fix IBH so arrive-by new vertices get put in transit queue --- .../InterleavedBidirectionalHeuristic.java | 23 +++++++++++------- .../vertextype/TemporaryFlexTransitStop.java | 24 ------------------- 2 files changed, 15 insertions(+), 32 deletions(-) delete mode 100644 src/main/java/org/opentripplanner/routing/vertextype/TemporaryFlexTransitStop.java diff --git a/src/main/java/org/opentripplanner/routing/algorithm/strategies/InterleavedBidirectionalHeuristic.java b/src/main/java/org/opentripplanner/routing/algorithm/strategies/InterleavedBidirectionalHeuristic.java index 24c7d4ab49b..259528abf66 100644 --- a/src/main/java/org/opentripplanner/routing/algorithm/strategies/InterleavedBidirectionalHeuristic.java +++ b/src/main/java/org/opentripplanner/routing/algorithm/strategies/InterleavedBidirectionalHeuristic.java @@ -331,11 +331,7 @@ private TObjectDoubleMap streetSearch (RoutingRequest rr, boolean fromTa // We don't want to continue into the transit network yet, but when searching around the target // place vertices on the transit queue so we can explore the transit network backward later. if (fromTarget) { - double weight = s.getWeight(); - transitQueue.insert(v, weight); - if (weight > maxWeightSeen) { - maxWeightSeen = weight; - } + insertIntoTransitQueue(s, v); } continue; } @@ -377,7 +373,7 @@ private TObjectDoubleMap streetSearch (RoutingRequest rr, boolean fromTa if(s.getVertex() == initVertex){ //the origin/destination lies along a flag stop route - LOG.info("the origin/destination lies along a flag stop route. fromTarget={}, vertex={}", fromTarget, initVertex); + LOG.debug("the origin/destination lies along a flag stop route. fromTarget={}, vertex={}", fromTarget, initVertex); v = initVertex; }else{ v = rr.arriveBy ? s.getBackEdge().getToVertex() : s.getBackEdge().getFromVertex(); @@ -394,9 +390,12 @@ private TObjectDoubleMap streetSearch (RoutingRequest rr, boolean fromTa TemporaryTransitStop flagTransitStop = new TemporaryTransitStop(graph, flagStop); rr.rctx.temporaryVertices.add(flagTransitStop); + if (fromTarget) { + insertIntoTransitQueue(s, flagTransitStop); + } + if(rr.arriveBy) { //reverse search - transitQueue.insert(flagTransitStop, s.getWeight()); TemporaryStreetTransitLink streetTransitLink = new TemporaryStreetTransitLink(flagTransitStop, (StreetVertex)v, true); rr.rctx.temporaryEdges.add(streetTransitLink); @@ -496,7 +495,15 @@ private TObjectDoubleMap streetSearch (RoutingRequest rr, boolean fromTa LOG.debug("Heuristric street search hit {} transit stops.", transitQueue.size()); return vertices; } - + + private void insertIntoTransitQueue(State s, Vertex v) { + double weight = s.getWeight(); + transitQueue.insert(v, weight); + if (weight > maxWeightSeen) { + maxWeightSeen = weight; + } + } + /** * Finds the closest coordinate along a line to the target, splices that point into the line, and returns * a coordinate array containing either the partial array up to and including the target, or the target and all after diff --git a/src/main/java/org/opentripplanner/routing/vertextype/TemporaryFlexTransitStop.java b/src/main/java/org/opentripplanner/routing/vertextype/TemporaryFlexTransitStop.java deleted file mode 100644 index d9feeee7c75..00000000000 --- a/src/main/java/org/opentripplanner/routing/vertextype/TemporaryFlexTransitStop.java +++ /dev/null @@ -1,24 +0,0 @@ -/* This program is free software: you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public License - as published by the Free Software Foundation, either version 3 of - the License, or (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . -*/ -package org.opentripplanner.routing.vertextype; - -import org.onebusaway.gtfs.model.Stop; -import org.opentripplanner.routing.graph.Graph; - -public class TemporaryFlexTransitStop extends TransitStop { - - public TemporaryFlexTransitStop(Graph graph, Stop stop) { - super(graph, stop); - } -} From 4300b7e0b521c167d082ff0a248673142faad069 Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Fri, 23 Jun 2017 11:11:07 -0400 Subject: [PATCH 028/226] fix duplicates in index --- .../java/org/opentripplanner/routing/graph/GraphIndex.java | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/src/main/java/org/opentripplanner/routing/graph/GraphIndex.java b/src/main/java/org/opentripplanner/routing/graph/GraphIndex.java index 44d9bd2094d..a4fab6bc088 100644 --- a/src/main/java/org/opentripplanner/routing/graph/GraphIndex.java +++ b/src/main/java/org/opentripplanner/routing/graph/GraphIndex.java @@ -13,7 +13,6 @@ import com.vividsolutions.jts.geom.Coordinate; import com.vividsolutions.jts.geom.Envelope; import com.vividsolutions.jts.geom.Geometry; -import com.vividsolutions.jts.operation.distance.DistanceOp; import graphql.ExecutionResult; import graphql.GraphQL; import org.apache.lucene.util.PriorityQueue; @@ -27,8 +26,6 @@ import org.opentripplanner.common.model.GenericLocation; import org.opentripplanner.common.model.P2; import org.opentripplanner.graph_builder.module.map.StreetMatcher; -import org.opentripplanner.graph_builder.module.DirectTransferGenerator; -import org.opentripplanner.graph_builder.module.map.StreetMatcher; import org.opentripplanner.index.IndexGraphQLSchema; import org.opentripplanner.index.model.StopTimesInPattern; import org.opentripplanner.index.model.TripTimeShort; @@ -88,8 +85,8 @@ public class GraphIndex { final HashGridSpatialIndex stopSpatialIndex = new HashGridSpatialIndex(); public final Map stopClusterForStop = Maps.newHashMap(); public final Map stopClusterForId = Maps.newHashMap(); - public final Multimap patternsForEdge = ArrayListMultimap.create(); - public final Multimap hopsForEdge = ArrayListMultimap.create(); + public final Multimap patternsForEdge = HashMultimap.create(); + public final Multimap hopsForEdge = HashMultimap.create(); public final HashGridSpatialIndex hopIndex = new HashGridSpatialIndex<>(); /* Should eventually be replaced with new serviceId indexes. */ From ee876dc679cb6060685c8c8dc4e26d7d70f91bf6 Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Fri, 23 Jun 2017 11:40:00 -0400 Subject: [PATCH 029/226] temporary flag stop service --- .../routing/algorithm/AStar.java | 3 + .../InterleavedBidirectionalHeuristic.java | 358 +----------------- .../flex/TemporaryFlagStopService.java | 295 +++++++++++++++ 3 files changed, 310 insertions(+), 346 deletions(-) create mode 100644 src/main/java/org/opentripplanner/routing/flex/TemporaryFlagStopService.java diff --git a/src/main/java/org/opentripplanner/routing/algorithm/AStar.java b/src/main/java/org/opentripplanner/routing/algorithm/AStar.java index 8b40435cebe..4ffb1ed92b6 100644 --- a/src/main/java/org/opentripplanner/routing/algorithm/AStar.java +++ b/src/main/java/org/opentripplanner/routing/algorithm/AStar.java @@ -21,6 +21,7 @@ the License, or (at your option) any later version. import org.opentripplanner.routing.core.RoutingContext; import org.opentripplanner.routing.core.RoutingRequest; import org.opentripplanner.routing.core.State; +import org.opentripplanner.routing.flex.TemporaryFlagStopService; import org.opentripplanner.routing.graph.Edge; import org.opentripplanner.routing.graph.Vertex; import org.opentripplanner.routing.spt.GraphPath; @@ -114,6 +115,8 @@ private void startSearch(RoutingRequest options, new TrivialRemainingWeightHeuristic() : runState.rctx.remainingWeightHeuristic; + new TemporaryFlagStopService(runState.options.rctx.graph).initialize(runState.options); + // Since initial states can be multiple, heuristic cannot depend on the initial state. // Initializing the bidirectional heuristic is a pretty complicated operation that involves searching through // the streets around the origin and destination. diff --git a/src/main/java/org/opentripplanner/routing/algorithm/strategies/InterleavedBidirectionalHeuristic.java b/src/main/java/org/opentripplanner/routing/algorithm/strategies/InterleavedBidirectionalHeuristic.java index 259528abf66..a1ff7a2d5ec 100644 --- a/src/main/java/org/opentripplanner/routing/algorithm/strategies/InterleavedBidirectionalHeuristic.java +++ b/src/main/java/org/opentripplanner/routing/algorithm/strategies/InterleavedBidirectionalHeuristic.java @@ -13,42 +13,24 @@ the License, or (props, at your option) any later version. package org.opentripplanner.routing.algorithm.strategies; -import com.google.common.collect.BiMap; -import com.google.common.collect.HashBiMap; -import com.vividsolutions.jts.geom.Coordinate; -import com.vividsolutions.jts.geom.LineSegment; -import com.vividsolutions.jts.geom.LineString; import gnu.trove.map.TObjectDoubleMap; import gnu.trove.map.hash.TObjectDoubleHashMap; -import org.onebusaway.gtfs.model.AgencyAndId; -import org.onebusaway.gtfs.model.Stop; -import org.opentripplanner.common.geometry.GeometryUtils; -import org.opentripplanner.common.geometry.SphericalDistanceLibrary; import org.opentripplanner.common.pqueue.BinHeap; import org.opentripplanner.routing.core.RoutingRequest; import org.opentripplanner.routing.core.State; -import org.opentripplanner.routing.core.TraverseMode; -import org.opentripplanner.routing.edgetype.*; -import org.opentripplanner.routing.edgetype.flex.*; +import org.opentripplanner.routing.edgetype.StreetTransitLink; import org.opentripplanner.routing.graph.Edge; import org.opentripplanner.routing.graph.Graph; import org.opentripplanner.routing.graph.Vertex; -import org.opentripplanner.routing.impl.FlagStopSplitterService; import org.opentripplanner.routing.location.StreetLocation; import org.opentripplanner.routing.spt.DominanceFunction; import org.opentripplanner.routing.spt.ShortestPathTree; -import org.opentripplanner.routing.vertextype.*; -import org.opentripplanner.routing.vertextype.flex.TemporaryPatternArriveVertex; -import org.opentripplanner.routing.vertextype.flex.TemporaryPatternDepartVertex; -import org.opentripplanner.routing.edgetype.flex.TemporaryTransitBoardAlight; -import org.opentripplanner.routing.vertextype.flex.TemporaryTransitStop; -import org.opentripplanner.routing.vertextype.flex.TemporaryTransitStopArrive; -import org.opentripplanner.routing.vertextype.flex.TemporaryTransitStopDepart; +import org.opentripplanner.routing.vertextype.StreetVertex; +import org.opentripplanner.routing.vertextype.TransitStop; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import java.util.*; -import java.util.stream.Collectors; +import java.util.Set; /** * This the goal direction heuristic used for transit searches. @@ -104,12 +86,6 @@ public class InterleavedBidirectionalHeuristic implements RemainingWeightHeurist */ TObjectDoubleMap postBoardingWeights; - /** Closest edge to the origin that lies along the associated tripPattern. */ - BiMap originFlexEdges = HashBiMap.create(); - - /** Closest edge to the destination that lies along the associated tripPattern. */ - BiMap destinationFlexEdges = HashBiMap.create(); - Graph graph; RoutingRequest routingRequest; @@ -174,16 +150,7 @@ public void initialize(RoutingRequest request, long abortTime) { */ @Override public double estimateRemainingWeight (State s) { - final Vertex v = s.getVertex(); - - if(s.isEverBoarded() && s.getBackEdge() instanceof PatternHop){ - double h = postBoardingWeights.get(v); - if (h == Double.POSITIVE_INFINITY) { - h = maxWeightSeen; - } - } - if (v instanceof StreetLocation) { // Temporary vertices (StreetLocations) might not be found in the street searches. // Zero is always an underestimate. @@ -234,7 +201,6 @@ public void doSomeWork() { } int uWeight = (int) transitQueue.peek_min_key(); Vertex u = transitQueue.extract_min(); - // The weight of the queue head is uniformly increasing. // This is the highest weight ever seen for a closed vertex. maxWeightSeen = uWeight; @@ -252,7 +218,6 @@ public void doSomeWork() { // When the main search is arriveBy the heuristic search looks at OUTgoing edges. for (Edge e : routingRequest.arriveBy ? u.getOutgoing() : u.getIncoming()) { // Do not enter streets in this phase, which should only touch transit. - if (e instanceof StreetTransitLink) { continue; } @@ -305,7 +270,6 @@ private TObjectDoubleMap streetSearch (RoutingRequest rr, boolean fromTa if (fromTarget) { rr.setArriveBy(!rr.arriveBy); } - // Create a map that returns Infinity when it does not contain a vertex. TObjectDoubleMap vertices = new TObjectDoubleHashMap<>(100, 0.5f, Double.POSITIVE_INFINITY); ShortestPathTree spt = new DominanceFunction.MinimumWeight().getNewShortestPathTree(rr); @@ -314,24 +278,23 @@ private TObjectDoubleMap streetSearch (RoutingRequest rr, boolean fromTa Vertex initVertex = fromTarget ? rr.rctx.target : rr.rctx.origin; State initState = new State(initVertex, rr); pq.insert(initState, 0); - Map tripPatternStateMap = new HashMap<>(); while ( ! pq.empty()) { - /*if (abortTime < Long.MAX_VALUE && System.currentTimeMillis() > abortTime) { + if (abortTime < Long.MAX_VALUE && System.currentTimeMillis() > abortTime) { return null; - }*/ + } State s = pq.extract_min(); Vertex v = s.getVertex(); - if(s.getBackEdge() != null - && s.getBackEdge().getGeometry() != null){ - addStateToTripPatternStateMap(s, tripPatternStateMap); - } // At this point the vertex is closed (pulled off heap). // This is the lowest cost we will ever see for this vertex. We can record the cost to reach it. if (v instanceof TransitStop) { // We don't want to continue into the transit network yet, but when searching around the target // place vertices on the transit queue so we can explore the transit network backward later. if (fromTarget) { - insertIntoTransitQueue(s, v); + double weight = s.getWeight(); + transitQueue.insert(v, weight); + if (weight > maxWeightSeen) { + maxWeightSeen = weight; + } } continue; } @@ -346,7 +309,6 @@ private TObjectDoubleMap streetSearch (RoutingRequest rr, boolean fromTa // Walk cutoff will happen in the street edge traversal method. State s1 = e.traverse(s); if (s1 == null) { - checkFlexAtLongStreetEdge(s, e, tripPatternStateMap); continue; } if (spt.add(s1)) { @@ -354,305 +316,9 @@ private TObjectDoubleMap streetSearch (RoutingRequest rr, boolean fromTa } } } - - findFlagStopEdgesNearby(rr, initVertex, tripPatternStateMap); - - Map> stateToTripPatternsMap = new HashMap<>(); - for(TripPattern tripPattern : tripPatternStateMap.keySet()){ - State s = tripPatternStateMap.get(tripPattern); - if(!stateToTripPatternsMap.containsKey(s)){ - stateToTripPatternsMap.put(s, new ArrayList<>()); - } - stateToTripPatternsMap.get(s).add(tripPattern); - } - - int i = 0; - for(State s : stateToTripPatternsMap.keySet()){ - - Vertex v; - - if(s.getVertex() == initVertex){ - //the origin/destination lies along a flag stop route - LOG.debug("the origin/destination lies along a flag stop route. fromTarget={}, vertex={}", fromTarget, initVertex); - v = initVertex; - }else{ - v = rr.arriveBy ? s.getBackEdge().getToVertex() : s.getBackEdge().getFromVertex(); - } - - //if nearby, wire stop to init vertex - - Stop flagStop = new Stop(); - flagStop.setId(new AgencyAndId("1", "temp_" + String.valueOf(Math.random()))); - flagStop.setLat(v.getLat()); - flagStop.setLon(v.getLon()); - flagStop.setName(s.getBackEdge().getName()); - flagStop.setLocationType(99); - TemporaryTransitStop flagTransitStop = new TemporaryTransitStop(graph, flagStop); - rr.rctx.temporaryVertices.add(flagTransitStop); - - if (fromTarget) { - insertIntoTransitQueue(s, flagTransitStop); - } - - if(rr.arriveBy) { - //reverse search - TemporaryStreetTransitLink streetTransitLink = new TemporaryStreetTransitLink(flagTransitStop, (StreetVertex)v, true); - rr.rctx.temporaryEdges.add(streetTransitLink); - - TemporaryTransitStopArrive transitStopArrive = new TemporaryTransitStopArrive(graph, flagStop, flagTransitStop); - rr.rctx.temporaryVertices.add(transitStopArrive); - TemporaryPreAlightEdge preAlightEdge = new TemporaryPreAlightEdge(transitStopArrive, flagTransitStop); - rr.rctx.temporaryEdges.add(preAlightEdge); - - for(TripPattern originalTripPattern : stateToTripPatternsMap.get(s)){ - - List patternHops = graph.index.getHopsForEdge(s.getBackEdge()) - .stream() - .filter(e -> e.getPattern() == originalTripPattern) - .collect(Collectors.toList()); - - for(PatternHop originalPatternHop : patternHops){ - - int stopIndex = originalPatternHop.getStopIndex(); - - TemporaryPatternArriveVertex patternArriveVertex = - new TemporaryPatternArriveVertex(graph, originalTripPattern, stopIndex, flagStop); - rr.rctx.temporaryVertices.add(patternArriveVertex); - - Collection reverseHops = findTemporaryPatternHops(rr, originalPatternHop); - for (TemporaryPartialPatternHop reverseHop : reverseHops) { - // create new shortened hop - TemporaryPartialPatternHop newHop = reverseHop.shortenEnd(patternArriveVertex, flagStop, rr.rctx); - if (newHop == null || newHop.isTrivial()) { - if (newHop != null) - newHop.dispose(); - continue; - } - rr.rctx.temporaryEdges.add(newHop); - } - - TemporaryPartialPatternHop hop = TemporaryPartialPatternHop.startHop(originalPatternHop, patternArriveVertex, flagStop, rr.rctx); - if (hop.isTrivial()) { - hop.dispose(); - continue; - } - rr.rctx.temporaryEdges.add(hop); - - // todo - david's code has this comment. why don't I need it? - // flex point far away or is very close to the beginning or end of the hop. Leave this hop unchanged; - - /** Alighting constructor (PatternStopVertex --> TransitStopArrive) */ - TemporaryTransitBoardAlight transitBoardAlight = - new TemporaryTransitBoardAlight(patternArriveVertex, transitStopArrive, originalPatternHop.getStopIndex(), TraverseMode.BUS, hop); - rr.rctx.temporaryEdges.add(transitBoardAlight); - - - } - } - - }else{ - //forward search - - TemporaryStreetTransitLink streetTransitLink = new TemporaryStreetTransitLink((StreetVertex)v, flagTransitStop, true); - rr.rctx.temporaryEdges.add(streetTransitLink); - - TemporaryTransitStopDepart transitStopDepart = new TemporaryTransitStopDepart(graph, flagStop, flagTransitStop); - rr.rctx.temporaryVertices.add(transitStopDepart); - TemporaryPreBoardEdge temporaryPreBoardEdge = new TemporaryPreBoardEdge(flagTransitStop, transitStopDepart); - rr.rctx.temporaryEdges.add(temporaryPreBoardEdge); - - for(TripPattern originalTripPattern : stateToTripPatternsMap.get(s)) { - - List patternHops = graph.index.getHopsForEdge(s.getBackEdge()) - .stream() - .filter(e -> e.getPattern() == originalTripPattern) - .collect(Collectors.toList()); - - for(PatternHop originalPatternHop : patternHops){ - - TemporaryPatternDepartVertex patternDepartVertex = - new TemporaryPatternDepartVertex(graph, originalTripPattern, originalPatternHop.getStopIndex(), flagStop); - rr.rctx.temporaryVertices.add(patternDepartVertex); - - TemporaryPartialPatternHop hop = TemporaryPartialPatternHop.endHop(originalPatternHop, patternDepartVertex, flagStop, rr.rctx); - if (hop.isTrivial()) { - hop.dispose(); - continue; - } - rr.rctx.temporaryEdges.add(hop); - - /** TransitBoardAlight: Boarding constructor (TransitStopDepart, PatternStopVertex) */ - TemporaryTransitBoardAlight transitBoardAlight = - new TemporaryTransitBoardAlight(transitStopDepart, patternDepartVertex, originalPatternHop.getStopIndex(), TraverseMode.BUS, hop); - rr.rctx.temporaryEdges.add(transitBoardAlight); - } - } - } - i++; - } - LOG.debug("Heuristric street search hit {} vertices.", vertices.size()); LOG.debug("Heuristric street search hit {} transit stops.", transitQueue.size()); return vertices; } - - private void insertIntoTransitQueue(State s, Vertex v) { - double weight = s.getWeight(); - transitQueue.insert(v, weight); - if (weight > maxWeightSeen) { - maxWeightSeen = weight; - } - } - - /** - * Finds the closest coordinate along a line to the target, splices that point into the line, and returns - * a coordinate array containing either the partial array up to and including the target, or the target and all after - * @param lineCoordinates - * @param flexPoint - * @return coordinate of the flex point or null if a stop exists at that point already - */ - private LineString getShortenedPatternHopGeometryForFlagStop(Coordinate[] lineCoordinates, Coordinate flexPoint, Boolean reverseSearch){ - - double lowestDistanceSum = Double.MAX_VALUE; - int lowestDistanceIndex = -1; - Coordinate closestPoint = null; - for(int i = 0; i < lineCoordinates.length - 1; i++){ - - LineSegment lineSegment = new LineSegment(lineCoordinates[i], lineCoordinates[i+1]); - Coordinate iterClosestPoint = lineSegment.project(flexPoint); - boolean betweenPoints = isBetweenPoints(lineCoordinates[i], lineCoordinates[i+1], iterClosestPoint); - if(betweenPoints){ - double distance = SphericalDistanceLibrary.fastDistance(flexPoint, lineCoordinates[i]); - if(distance < lowestDistanceSum){ - lowestDistanceIndex = i; - lowestDistanceSum = distance; - closestPoint = iterClosestPoint; - } - } - } - - if(lowestDistanceIndex == -1) - return null; - - if(reverseSearch && lowestDistanceIndex == 0){ - lineCoordinates[lineCoordinates.length - 1] = closestPoint; - return GeometryUtils.getGeometryFactory().createLineString(lineCoordinates); - } - - - List lineCoordinateList = new ArrayList<>(); - Collections.addAll(lineCoordinateList, lineCoordinates); - - lineCoordinateList.set(lowestDistanceIndex, flexPoint); - List shortenedHopGeometry = reverseSearch ? lineCoordinateList.subList(0, lowestDistanceIndex + 1) : lineCoordinateList.subList(lowestDistanceIndex, lineCoordinateList.size()); - - if(reverseSearch){ - shortenedHopGeometry.add(shortenedHopGeometry.size() - 1, closestPoint); - }else{ - shortenedHopGeometry.add(1, closestPoint); - } - - if(shortenedHopGeometry.size() < 2){ - return null; - } - - return GeometryUtils.getGeometryFactory().createLineString(shortenedHopGeometry.toArray(new Coordinate[shortenedHopGeometry.size()])); - } - - /** - * When reverse search creates a shortened pattern hop, check whether the forward search shortened the start of - * the geometry already. If so, use that geometry, then shorten the other end, then update both hops - * @param originalPatternHop - * @return - */ - private TemporaryPatternHop findShortenedPatternHops(PatternHop originalPatternHop){ - for(TemporaryEdge e : routingRequest.rctx.temporaryEdges){ - if(e instanceof TemporaryPatternHop && ((TemporaryPatternHop)e).originalPatternHop.equals(originalPatternHop)){ - return (TemporaryPatternHop)e; - } - } - return null; - } - - private Collection findTemporaryPatternHops(RoutingRequest options, PatternHop patternHop) { - Collection ret = new ArrayList(); - for (TemporaryEdge e : options.rctx.temporaryEdges) { - if (e instanceof TemporaryPartialPatternHop) { - TemporaryPartialPatternHop hop = (TemporaryPartialPatternHop) e; - if (hop.isOriginalHop(patternHop)) - ret.add(hop); - } - } - return ret; - } - - /** - * Find the street edges that were split at beginning of search by StreetSplitter, check whether they are served by flag stop routes. - * This is duplicating the work done earlier by StreetSplitter, but want to minimize the number of changes introduced by flag stops. - * @param - * @return - */ - private void findFlagStopEdgesNearby(RoutingRequest rr, Vertex initVertex, Map tripPatternStateMap) { - List flagStopOriginEdges = FlagStopSplitterService.getClosestStreetEdgesToOrigin(rr.rctx, graph); - List flagStopDestinationEdges = FlagStopSplitterService.getClosestStreetEdgesToDestination(rr.rctx, graph); - - if(rr.arriveBy){ - for(StreetEdge streetEdge : flagStopDestinationEdges){ - State nearbyState = new State(initVertex, rr); - nearbyState.backEdge = streetEdge; - Collection patterns = graph.index.getPatternsForEdge(streetEdge); - //todo find trippatterns for flag stop routes only - for(TripPattern tripPattern : patterns){ - tripPatternStateMap.put(tripPattern, nearbyState); - } - } - } else { - for(StreetEdge streetEdge : flagStopOriginEdges){ - State nearbyState = new State(initVertex, rr); - nearbyState.backEdge = streetEdge; - Collection patterns = graph.index.getPatternsForEdge(streetEdge); - //todo find trippatterns for flag stop routes only - for(TripPattern tripPattern : patterns){ - tripPatternStateMap.put(tripPattern, nearbyState); - } - } - } - } - - // It's possible that the edge is a very long StreetEdge whose traversal will kill our walk budget, but it's - // a good candidate for flex edges. - private void checkFlexAtLongStreetEdge(State s0, Edge e, Map tripPatternStateMap) { - if (s0.getWalkDistance() + e.getDistance() >= s0.getOptions().getMaxWalkDistance()) { - State s1 = s0.edit(e).makeState(); - addStateToTripPatternStateMap(s1, tripPatternStateMap); - } - } - - private void addStateToTripPatternStateMap(State s, Map tripPatternStateMap) { - Collection patterns = graph.index.getPatternsForEdge(s.getBackEdge()); - for(TripPattern tripPattern : patterns){ - if(tripPatternStateMap.containsKey(tripPattern)){ - State oldState = tripPatternStateMap.get(tripPattern); - if(oldState.getWeight() < s.getWeight()){ - continue; - } - } - tripPatternStateMap.put(tripPattern, s); - } - } - - /** - * - * @param start start point of the segment - * @param end end point of the segment - * @param point coordinate along the line defined by the segment, not necessarily in between the points - * @return - */ - private static boolean isBetweenPoints(Coordinate start, Coordinate end, Coordinate point) { - double distance1 = Math.round (SphericalDistanceLibrary.fastDistance(point, start) * 100) / 100; - double distance2 = Math.round (SphericalDistanceLibrary.fastDistance(point, end) * 100) / 100; - double totalDistance = Math.round (SphericalDistanceLibrary.fastDistance(start, end) * 100) / 100; - return distance1 + distance2 <= totalDistance; - } - + } diff --git a/src/main/java/org/opentripplanner/routing/flex/TemporaryFlagStopService.java b/src/main/java/org/opentripplanner/routing/flex/TemporaryFlagStopService.java new file mode 100644 index 00000000000..186a628337b --- /dev/null +++ b/src/main/java/org/opentripplanner/routing/flex/TemporaryFlagStopService.java @@ -0,0 +1,295 @@ +/* This program is free software: you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public License + as published by the Free Software Foundation, either version 3 of + the License, or (props, at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ +package org.opentripplanner.routing.flex; + +import com.beust.jcommander.internal.Maps; +import org.onebusaway.gtfs.model.AgencyAndId; +import org.onebusaway.gtfs.model.Stop; +import org.opentripplanner.routing.algorithm.GenericDijkstra; +import org.opentripplanner.routing.algorithm.TraverseVisitor; +import org.opentripplanner.routing.algorithm.strategies.TrivialRemainingWeightHeuristic; +import org.opentripplanner.routing.core.RoutingContext; +import org.opentripplanner.routing.core.RoutingRequest; +import org.opentripplanner.routing.core.State; +import org.opentripplanner.routing.core.TraverseMode; +import org.opentripplanner.routing.edgetype.PatternHop; +import org.opentripplanner.routing.edgetype.StreetEdge; +import org.opentripplanner.routing.edgetype.TemporaryEdge; +import org.opentripplanner.routing.edgetype.TripPattern; +import org.opentripplanner.routing.edgetype.flex.TemporaryPartialPatternHop; +import org.opentripplanner.routing.edgetype.flex.TemporaryPreAlightEdge; +import org.opentripplanner.routing.edgetype.flex.TemporaryPreBoardEdge; +import org.opentripplanner.routing.edgetype.flex.TemporaryStreetTransitLink; +import org.opentripplanner.routing.edgetype.flex.TemporaryTransitBoardAlight; +import org.opentripplanner.routing.graph.Edge; +import org.opentripplanner.routing.graph.Graph; +import org.opentripplanner.routing.graph.Vertex; +import org.opentripplanner.routing.impl.FlagStopSplitterService; +import org.opentripplanner.routing.vertextype.StreetVertex; +import org.opentripplanner.routing.vertextype.flex.TemporaryPatternArriveVertex; +import org.opentripplanner.routing.vertextype.flex.TemporaryPatternDepartVertex; +import org.opentripplanner.routing.vertextype.flex.TemporaryTransitStop; +import org.opentripplanner.routing.vertextype.flex.TemporaryTransitStopArrive; +import org.opentripplanner.routing.vertextype.flex.TemporaryTransitStopDepart; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +/** + * Add temporary vertices/edges for flag stops. + */ +public class TemporaryFlagStopService { + + private Graph graph; + + public TemporaryFlagStopService(Graph graph) { + this.graph = graph; + } + + public void initialize(RoutingRequest request) { + RoutingRequest forward = request.clone(); + forward.setMode(TraverseMode.WALK); + streetSearch(forward); + + RoutingRequest backward = request.clone(); + backward.setMode(TraverseMode.WALK); + backward.setArriveBy(!request.arriveBy); + streetSearch(backward); + } + + private void streetSearch(RoutingRequest rr) { + Map tripPatternStateMap = Maps.newHashMap(); + GenericDijkstra gd = new GenericDijkstra(rr); + gd.setHeuristic(new TrivialRemainingWeightHeuristic()); + gd.traverseVisitor = new TraverseVisitor() { + @Override + public void visitEdge(Edge edge, State state) { + addStateToTripPatternStateMap(edge, state, tripPatternStateMap); + } + + @Override + public void visitVertex(State state) { + + } + + @Override + public void visitEnqueue(State state) { + + } + }; + gd.getShortestPathTree(new State(rr)); + + Map> stateToTripPatternsMap = new HashMap<>(); + for(TripPattern tripPattern : tripPatternStateMap.keySet()){ + State s = tripPatternStateMap.get(tripPattern); + if(!stateToTripPatternsMap.containsKey(s)){ + stateToTripPatternsMap.put(s, new ArrayList<>()); + } + stateToTripPatternsMap.get(s).add(tripPattern); + } + + int i = 0; + for(State s : stateToTripPatternsMap.keySet()){ + + Vertex v; + +// if(s.getVertex() == initVertex){ +// //the origin/destination lies along a flag stop route +// LOG.debug("the origin/destination lies along a flag stop route. fromTarget={}, vertex={}", fromTarget, initVertex); +// v = initVertex; +// }else{ + v = rr.arriveBy ? s.getBackEdge().getToVertex() : s.getBackEdge().getFromVertex(); + //} + + //if nearby, wire stop to init vertex + + Stop flagStop = new Stop(); + flagStop.setId(new AgencyAndId("1", "temp_" + String.valueOf(Math.random()))); + flagStop.setLat(v.getLat()); + flagStop.setLon(v.getLon()); + flagStop.setName(s.getBackEdge().getName()); + flagStop.setLocationType(99); + TemporaryTransitStop flagTransitStop = new TemporaryTransitStop(graph, flagStop); + rr.rctx.temporaryVertices.add(flagTransitStop); + + if(rr.arriveBy) { + //reverse search + TemporaryStreetTransitLink streetTransitLink = new TemporaryStreetTransitLink(flagTransitStop, (StreetVertex)v, true); + rr.rctx.temporaryEdges.add(streetTransitLink); + + TemporaryTransitStopArrive transitStopArrive = new TemporaryTransitStopArrive(graph, flagStop, flagTransitStop); + rr.rctx.temporaryVertices.add(transitStopArrive); + TemporaryPreAlightEdge preAlightEdge = new TemporaryPreAlightEdge(transitStopArrive, flagTransitStop); + rr.rctx.temporaryEdges.add(preAlightEdge); + + for(TripPattern originalTripPattern : stateToTripPatternsMap.get(s)){ + + List patternHops = graph.index.getHopsForEdge(s.getBackEdge()) + .stream() + .filter(e -> e.getPattern() == originalTripPattern) + .collect(Collectors.toList()); + + for(PatternHop originalPatternHop : patternHops){ + + int stopIndex = originalPatternHop.getStopIndex(); + + TemporaryPatternArriveVertex patternArriveVertex = + new TemporaryPatternArriveVertex(graph, originalTripPattern, stopIndex, flagStop); + rr.rctx.temporaryVertices.add(patternArriveVertex); + + Collection reverseHops = findTemporaryPatternHops(rr, originalPatternHop); + for (TemporaryPartialPatternHop reverseHop : reverseHops) { + // create new shortened hop + TemporaryPartialPatternHop newHop = reverseHop.shortenEnd(patternArriveVertex, flagStop, rr.rctx); + if (newHop == null || newHop.isTrivial()) { + if (newHop != null) + newHop.dispose(); + continue; + } + rr.rctx.temporaryEdges.add(newHop); + } + + TemporaryPartialPatternHop hop = TemporaryPartialPatternHop.startHop(originalPatternHop, patternArriveVertex, flagStop, rr.rctx); + if (hop.isTrivial()) { + hop.dispose(); + continue; + } + rr.rctx.temporaryEdges.add(hop); + + // todo - david's code has this comment. why don't I need it? + // flex point far away or is very close to the beginning or end of the hop. Leave this hop unchanged; + + /** Alighting constructor (PatternStopVertex --> TransitStopArrive) */ + TemporaryTransitBoardAlight transitBoardAlight = + new TemporaryTransitBoardAlight(patternArriveVertex, transitStopArrive, originalPatternHop.getStopIndex(), TraverseMode.BUS, hop); + rr.rctx.temporaryEdges.add(transitBoardAlight); + + + } + } + + }else{ + //forward search + + TemporaryStreetTransitLink streetTransitLink = new TemporaryStreetTransitLink((StreetVertex)v, flagTransitStop, true); + rr.rctx.temporaryEdges.add(streetTransitLink); + + TemporaryTransitStopDepart transitStopDepart = new TemporaryTransitStopDepart(graph, flagStop, flagTransitStop); + rr.rctx.temporaryVertices.add(transitStopDepart); + TemporaryPreBoardEdge temporaryPreBoardEdge = new TemporaryPreBoardEdge(flagTransitStop, transitStopDepart); + rr.rctx.temporaryEdges.add(temporaryPreBoardEdge); + + for(TripPattern originalTripPattern : stateToTripPatternsMap.get(s)) { + + List patternHops = graph.index.getHopsForEdge(s.getBackEdge()) + .stream() + .filter(e -> e.getPattern() == originalTripPattern) + .collect(Collectors.toList()); + + for(PatternHop originalPatternHop : patternHops){ + + TemporaryPatternDepartVertex patternDepartVertex = + new TemporaryPatternDepartVertex(graph, originalTripPattern, originalPatternHop.getStopIndex(), flagStop); + rr.rctx.temporaryVertices.add(patternDepartVertex); + + TemporaryPartialPatternHop hop = TemporaryPartialPatternHop.endHop(originalPatternHop, patternDepartVertex, flagStop, rr.rctx); + if (hop.isTrivial()) { + hop.dispose(); + continue; + } + rr.rctx.temporaryEdges.add(hop); + + /** TransitBoardAlight: Boarding constructor (TransitStopDepart, PatternStopVertex) */ + TemporaryTransitBoardAlight transitBoardAlight = + new TemporaryTransitBoardAlight(transitStopDepart, patternDepartVertex, originalPatternHop.getStopIndex(), TraverseMode.BUS, hop); + rr.rctx.temporaryEdges.add(transitBoardAlight); + } + } + } + i++; + } + + + } + + private void addStateToTripPatternStateMap(Edge edge, State s, Map tripPatternStateMap) { + Collection patterns = graph.index.getPatternsForEdge(edge); + for(TripPattern tripPattern : patterns){ + if(tripPatternStateMap.containsKey(tripPattern)){ + State oldState = tripPatternStateMap.get(tripPattern); + if(oldState.getWeight() < s.getWeight()){ + continue; + } + } + tripPatternStateMap.put(tripPattern, s); + } + } + + /** + * Find the street edges that were split at beginning of search by StreetSplitter, check whether they are served by flag stop routes. + * This is duplicating the work done earlier by StreetSplitter, but want to minimize the number of changes introduced by flag stops. + * @param + * @return + */ + private void findFlagStopEdgesNearby(RoutingRequest rr, Vertex initVertex, Map tripPatternStateMap) { + List flagStopOriginEdges = FlagStopSplitterService.getClosestStreetEdgesToOrigin(rr.rctx, graph); + List flagStopDestinationEdges = FlagStopSplitterService.getClosestStreetEdgesToDestination(rr.rctx, graph); + + if(rr.arriveBy){ + for(StreetEdge streetEdge : flagStopDestinationEdges){ + State nearbyState = new State(initVertex, rr); + nearbyState.backEdge = streetEdge; + Collection patterns = graph.index.getPatternsForEdge(streetEdge); + //todo find trippatterns for flag stop routes only + for(TripPattern tripPattern : patterns){ + tripPatternStateMap.put(tripPattern, nearbyState); + } + } + } else { + for(StreetEdge streetEdge : flagStopOriginEdges){ + State nearbyState = new State(initVertex, rr); + nearbyState.backEdge = streetEdge; + Collection patterns = graph.index.getPatternsForEdge(streetEdge); + //todo find trippatterns for flag stop routes only + for(TripPattern tripPattern : patterns){ + tripPatternStateMap.put(tripPattern, nearbyState); + } + } + } + } + + // It's possible that the edge is a very long StreetEdge whose traversal will kill our walk budget, but it's + // a good candidate for flex edges. + private void checkFlexAtLongStreetEdge(State s0, Edge e, Map tripPatternStateMap) { + if (s0.getWalkDistance() + e.getDistance() >= s0.getOptions().getMaxWalkDistance()) { + State s1 = s0.edit(e).makeState(); + addStateToTripPatternStateMap(e, s1, tripPatternStateMap); + } + } + + private Collection findTemporaryPatternHops(RoutingRequest options, PatternHop patternHop) { + Collection ret = new ArrayList(); + for (TemporaryEdge e : options.rctx.temporaryEdges) { + if (e instanceof TemporaryPartialPatternHop) { + TemporaryPartialPatternHop hop = (TemporaryPartialPatternHop) e; + if (hop.isOriginalHop(patternHop)) + ret.add(hop); + } + } + return ret; + } +} From 28583907ae1b85c8f0c116a674053190acac6e41 Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Fri, 23 Jun 2017 12:12:25 -0400 Subject: [PATCH 030/226] add nearby flag stops to temp service --- .../flex/TemporaryFlagStopService.java | 23 +++++++++++-------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/main/java/org/opentripplanner/routing/flex/TemporaryFlagStopService.java b/src/main/java/org/opentripplanner/routing/flex/TemporaryFlagStopService.java index 186a628337b..1a7f1d9c6fc 100644 --- a/src/main/java/org/opentripplanner/routing/flex/TemporaryFlagStopService.java +++ b/src/main/java/org/opentripplanner/routing/flex/TemporaryFlagStopService.java @@ -18,7 +18,6 @@ the License, or (props, at your option) any later version. import org.opentripplanner.routing.algorithm.GenericDijkstra; import org.opentripplanner.routing.algorithm.TraverseVisitor; import org.opentripplanner.routing.algorithm.strategies.TrivialRemainingWeightHeuristic; -import org.opentripplanner.routing.core.RoutingContext; import org.opentripplanner.routing.core.RoutingRequest; import org.opentripplanner.routing.core.State; import org.opentripplanner.routing.core.TraverseMode; @@ -41,6 +40,8 @@ the License, or (props, at your option) any later version. import org.opentripplanner.routing.vertextype.flex.TemporaryTransitStop; import org.opentripplanner.routing.vertextype.flex.TemporaryTransitStopArrive; import org.opentripplanner.routing.vertextype.flex.TemporaryTransitStopDepart; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import java.util.ArrayList; import java.util.Collection; @@ -54,6 +55,8 @@ the License, or (props, at your option) any later version. */ public class TemporaryFlagStopService { + private static final Logger LOG = LoggerFactory.getLogger(TemporaryFlagStopService.class); + private Graph graph; public TemporaryFlagStopService(Graph graph) { @@ -91,7 +94,9 @@ public void visitEnqueue(State state) { } }; - gd.getShortestPathTree(new State(rr)); + Vertex initVertex = rr.arriveBy ? rr.rctx.toVertex : rr.rctx.fromVertex; + gd.getShortestPathTree(new State(initVertex, rr)); + findFlagStopEdgesNearby(rr, initVertex, tripPatternStateMap); Map> stateToTripPatternsMap = new HashMap<>(); for(TripPattern tripPattern : tripPatternStateMap.keySet()){ @@ -107,13 +112,13 @@ public void visitEnqueue(State state) { Vertex v; -// if(s.getVertex() == initVertex){ -// //the origin/destination lies along a flag stop route -// LOG.debug("the origin/destination lies along a flag stop route. fromTarget={}, vertex={}", fromTarget, initVertex); -// v = initVertex; -// }else{ - v = rr.arriveBy ? s.getBackEdge().getToVertex() : s.getBackEdge().getFromVertex(); - //} + if(s.getVertex() == initVertex){ + //the origin/destination lies along a flag stop route + LOG.debug("the origin/destination lies along a flag stop route."); + v = initVertex; + }else{ + v = rr.arriveBy ? s.getBackEdge().getToVertex() : s.getBackEdge().getFromVertex(); + } //if nearby, wire stop to init vertex From 9c2587f5a8d3f5e4515e964812d063b396535fe9 Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Fri, 23 Jun 2017 13:24:15 -0400 Subject: [PATCH 031/226] Refactoring - move FlagStopSplitterService code into FlagStopCreationService. Rename TemporaryFlagStopService -> FlagStopCreationService --- .../routing/algorithm/AStar.java | 4 +- ...vice.java => FlagStopCreationService.java} | 92 +++++++++++----- .../routing/impl/FlagStopSplitterService.java | 103 ------------------ 3 files changed, 65 insertions(+), 134 deletions(-) rename src/main/java/org/opentripplanner/routing/flex/{TemporaryFlagStopService.java => FlagStopCreationService.java} (82%) delete mode 100644 src/main/java/org/opentripplanner/routing/impl/FlagStopSplitterService.java diff --git a/src/main/java/org/opentripplanner/routing/algorithm/AStar.java b/src/main/java/org/opentripplanner/routing/algorithm/AStar.java index 4ffb1ed92b6..30a8370aab6 100644 --- a/src/main/java/org/opentripplanner/routing/algorithm/AStar.java +++ b/src/main/java/org/opentripplanner/routing/algorithm/AStar.java @@ -21,7 +21,7 @@ the License, or (at your option) any later version. import org.opentripplanner.routing.core.RoutingContext; import org.opentripplanner.routing.core.RoutingRequest; import org.opentripplanner.routing.core.State; -import org.opentripplanner.routing.flex.TemporaryFlagStopService; +import org.opentripplanner.routing.flex.FlagStopCreationService; import org.opentripplanner.routing.graph.Edge; import org.opentripplanner.routing.graph.Vertex; import org.opentripplanner.routing.spt.GraphPath; @@ -115,7 +115,7 @@ private void startSearch(RoutingRequest options, new TrivialRemainingWeightHeuristic() : runState.rctx.remainingWeightHeuristic; - new TemporaryFlagStopService(runState.options.rctx.graph).initialize(runState.options); + new FlagStopCreationService(runState.options.rctx.graph).initialize(runState.options); // Since initial states can be multiple, heuristic cannot depend on the initial state. // Initializing the bidirectional heuristic is a pretty complicated operation that involves searching through diff --git a/src/main/java/org/opentripplanner/routing/flex/TemporaryFlagStopService.java b/src/main/java/org/opentripplanner/routing/flex/FlagStopCreationService.java similarity index 82% rename from src/main/java/org/opentripplanner/routing/flex/TemporaryFlagStopService.java rename to src/main/java/org/opentripplanner/routing/flex/FlagStopCreationService.java index 1a7f1d9c6fc..39c7053f011 100644 --- a/src/main/java/org/opentripplanner/routing/flex/TemporaryFlagStopService.java +++ b/src/main/java/org/opentripplanner/routing/flex/FlagStopCreationService.java @@ -13,8 +13,12 @@ the License, or (props, at your option) any later version. package org.opentripplanner.routing.flex; import com.beust.jcommander.internal.Maps; +import com.vividsolutions.jts.geom.Coordinate; +import com.vividsolutions.jts.geom.Envelope; +import com.vividsolutions.jts.geom.LineString; import org.onebusaway.gtfs.model.AgencyAndId; import org.onebusaway.gtfs.model.Stop; +import org.opentripplanner.common.geometry.SphericalDistanceLibrary; import org.opentripplanner.routing.algorithm.GenericDijkstra; import org.opentripplanner.routing.algorithm.TraverseVisitor; import org.opentripplanner.routing.algorithm.strategies.TrivialRemainingWeightHeuristic; @@ -33,7 +37,6 @@ the License, or (props, at your option) any later version. import org.opentripplanner.routing.graph.Edge; import org.opentripplanner.routing.graph.Graph; import org.opentripplanner.routing.graph.Vertex; -import org.opentripplanner.routing.impl.FlagStopSplitterService; import org.opentripplanner.routing.vertextype.StreetVertex; import org.opentripplanner.routing.vertextype.flex.TemporaryPatternArriveVertex; import org.opentripplanner.routing.vertextype.flex.TemporaryPatternDepartVertex; @@ -48,18 +51,19 @@ the License, or (props, at your option) any later version. import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.TreeMap; import java.util.stream.Collectors; /** * Add temporary vertices/edges for flag stops. */ -public class TemporaryFlagStopService { +public class FlagStopCreationService { - private static final Logger LOG = LoggerFactory.getLogger(TemporaryFlagStopService.class); + private static final Logger LOG = LoggerFactory.getLogger(FlagStopCreationService.class); private Graph graph; - public TemporaryFlagStopService(Graph graph) { + public FlagStopCreationService(Graph graph) { this.graph = graph; } @@ -250,31 +254,18 @@ private void addStateToTripPatternStateMap(Edge edge, State s, Map flagStopOriginEdges = FlagStopSplitterService.getClosestStreetEdgesToOrigin(rr.rctx, graph); - List flagStopDestinationEdges = FlagStopSplitterService.getClosestStreetEdgesToDestination(rr.rctx, graph); - - if(rr.arriveBy){ - for(StreetEdge streetEdge : flagStopDestinationEdges){ - State nearbyState = new State(initVertex, rr); - nearbyState.backEdge = streetEdge; - Collection patterns = graph.index.getPatternsForEdge(streetEdge); - //todo find trippatterns for flag stop routes only - for(TripPattern tripPattern : patterns){ - tripPatternStateMap.put(tripPattern, nearbyState); - } - } - } else { - for(StreetEdge streetEdge : flagStopOriginEdges){ - State nearbyState = new State(initVertex, rr); - nearbyState.backEdge = streetEdge; - Collection patterns = graph.index.getPatternsForEdge(streetEdge); - //todo find trippatterns for flag stop routes only - for(TripPattern tripPattern : patterns){ - tripPatternStateMap.put(tripPattern, nearbyState); - } - } - } + private void findFlagStopEdgesNearby(RoutingRequest rr, Vertex initVertex, Map tripPatternStateMap) { + List flagStopEdges = getClosestStreetEdges(initVertex.getCoordinate()); + + for(StreetEdge streetEdge : flagStopEdges){ + State nearbyState = new State(initVertex, rr); + nearbyState.backEdge = streetEdge; + Collection patterns = graph.index.getPatternsForEdge(streetEdge); + //todo find trippatterns for flag stop routes only + for(TripPattern tripPattern : patterns){ + tripPatternStateMap.put(tripPattern, nearbyState); + } + } } // It's possible that the edge is a very long StreetEdge whose traversal will kill our walk budget, but it's @@ -297,4 +288,47 @@ private Collection findTemporaryPatternHops(RoutingR } return ret; } + + /** + * Find the nearest street edges to the given point, check if they are served by flag stop routes. + */ + private List getClosestStreetEdges(Coordinate pointLocation) { + + final double radiusDeg = SphericalDistanceLibrary.metersToDegrees(500); + + Envelope env = new Envelope(pointLocation); + + // local equirectangular projection + double lat = pointLocation.getOrdinate(1); + final double xscale = Math.cos(lat * Math.PI / 180); + + env.expandBy(radiusDeg / xscale, radiusDeg); + + Collection edges = graph.streetIndex.getEdgesForEnvelope(env); + Map> edgeDistanceMap = new TreeMap<>(); + for(Edge edge : edges){ + if(edge instanceof StreetEdge){ + LineString line = edge.getGeometry(); + double dist = SphericalDistanceLibrary.fastDistance(pointLocation, line); + double roundOff = (double) Math.round(dist * 100) / 100; + if(!edgeDistanceMap.containsKey(roundOff)) + edgeDistanceMap.put(roundOff, new ArrayList<>()); + edgeDistanceMap.get(roundOff).add((StreetEdge) edge); + } + } + + List closestEdges = edgeDistanceMap.values().iterator().next(); + List ret = new ArrayList<>(); + for(StreetEdge closestEdge : closestEdges){ + List patternHops = graph.index.getHopsForEdge(closestEdge) + .stream() + //.filter(e -> e.getPattern() == originalTripPattern) + //todo: check if these are flag stop hops + .collect(Collectors.toList()); + if(patternHops.size() > 0){ + ret.add(closestEdge); + } + } + return ret; + } } diff --git a/src/main/java/org/opentripplanner/routing/impl/FlagStopSplitterService.java b/src/main/java/org/opentripplanner/routing/impl/FlagStopSplitterService.java deleted file mode 100644 index f908b84ade0..00000000000 --- a/src/main/java/org/opentripplanner/routing/impl/FlagStopSplitterService.java +++ /dev/null @@ -1,103 +0,0 @@ -/* This program is free software: you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public License - as published by the Free Software Foundation, either version 3 of - the License, or (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . */ - -package org.opentripplanner.routing.impl; - -import com.vividsolutions.jts.geom.*; -import org.opentripplanner.common.geometry.SphericalDistanceLibrary; -import org.opentripplanner.routing.core.RoutingContext; -import org.opentripplanner.routing.core.RoutingRequest; -import org.opentripplanner.routing.edgetype.*; -import org.opentripplanner.routing.graph.Edge; -import org.opentripplanner.routing.graph.Graph; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import java.util.*; -import java.util.stream.Collectors; - -/** - * Find the nearest street edges to the given point, check if they are served by flag stop routes. - * - * @author dbenoff - */ -public class FlagStopSplitterService { - - private static GeometryFactory gf = new GeometryFactory(); - - private static final long serialVersionUID = -3729628250159575313L; - - private static final Logger LOG = LoggerFactory.getLogger(FlagStopSplitterService.class); - - public static List getClosestStreetEdgesToOrigin(RoutingContext ctx, Graph graph) { - return getClosestStreetEdges(ctx, graph, true); - } - - public static List getClosestStreetEdgesToDestination(RoutingContext ctx, Graph graph) { - return getClosestStreetEdges(ctx, graph, false); - } - - private static List getClosestStreetEdges(RoutingContext ctx, Graph graph, Boolean isOrigin) { - - RoutingRequest opt = ctx.opt; - opt.rctx = ctx; - - Double lon = opt.to.lng; - Double lat = opt.to.lat; - - if(isOrigin){ - lon = opt.from.lng; - lat = opt.from.lat; - } - - - Coordinate pointLocation = new Coordinate(lon, lat); - - final double radiusDeg = SphericalDistanceLibrary.metersToDegrees(500); - - Envelope env = new Envelope(pointLocation); - - // local equirectangular projection - final double xscale = Math.cos(lat * Math.PI / 180); - - env.expandBy(radiusDeg / xscale, radiusDeg); - - Collection edges = graph.streetIndex.getEdgesForEnvelope(env); - Map> edgeDistanceMap = new TreeMap<>(); - for(Edge edge : edges){ - if(edge instanceof StreetEdge){ - LineString line = edge.getGeometry(); - double dist = SphericalDistanceLibrary.fastDistance(pointLocation, line); - double roundOff = (double) Math.round(dist * 100) / 100; - if(!edgeDistanceMap.containsKey(roundOff)) - edgeDistanceMap.put(roundOff, new ArrayList<>()); - edgeDistanceMap.get(roundOff).add((StreetEdge) edge); - } - } - - List closestEdges = edgeDistanceMap.values().iterator().next(); - List ret = new ArrayList<>(); - for(StreetEdge closestEdge : closestEdges){ - List patternHops = graph.index.getHopsForEdge(closestEdge) - .stream() - //.filter(e -> e.getPattern() == originalTripPattern) - //todo: check if these are flag stop hops - .collect(Collectors.toList()); - if(patternHops.size() > 0){ - ret.add(closestEdge); - } - } - return ret; - } - -} From 0c99c8a7b2bb6e0c514d6b5a238f7a1fcd78836b Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Sun, 25 Jun 2017 17:40:51 -0400 Subject: [PATCH 032/226] Move creation of temporary edges outside search --- .../java/org/opentripplanner/routing/algorithm/AStar.java | 3 --- .../routing/flex/FlagStopCreationService.java | 4 ---- .../org/opentripplanner/routing/impl/GraphPathFinder.java | 5 +++++ 3 files changed, 5 insertions(+), 7 deletions(-) diff --git a/src/main/java/org/opentripplanner/routing/algorithm/AStar.java b/src/main/java/org/opentripplanner/routing/algorithm/AStar.java index 30a8370aab6..8b40435cebe 100644 --- a/src/main/java/org/opentripplanner/routing/algorithm/AStar.java +++ b/src/main/java/org/opentripplanner/routing/algorithm/AStar.java @@ -21,7 +21,6 @@ the License, or (at your option) any later version. import org.opentripplanner.routing.core.RoutingContext; import org.opentripplanner.routing.core.RoutingRequest; import org.opentripplanner.routing.core.State; -import org.opentripplanner.routing.flex.FlagStopCreationService; import org.opentripplanner.routing.graph.Edge; import org.opentripplanner.routing.graph.Vertex; import org.opentripplanner.routing.spt.GraphPath; @@ -115,8 +114,6 @@ private void startSearch(RoutingRequest options, new TrivialRemainingWeightHeuristic() : runState.rctx.remainingWeightHeuristic; - new FlagStopCreationService(runState.options.rctx.graph).initialize(runState.options); - // Since initial states can be multiple, heuristic cannot depend on the initial state. // Initializing the bidirectional heuristic is a pretty complicated operation that involves searching through // the streets around the origin and destination. diff --git a/src/main/java/org/opentripplanner/routing/flex/FlagStopCreationService.java b/src/main/java/org/opentripplanner/routing/flex/FlagStopCreationService.java index 39c7053f011..4bc01ff7b9c 100644 --- a/src/main/java/org/opentripplanner/routing/flex/FlagStopCreationService.java +++ b/src/main/java/org/opentripplanner/routing/flex/FlagStopCreationService.java @@ -186,8 +186,6 @@ public void visitEnqueue(State state) { TemporaryTransitBoardAlight transitBoardAlight = new TemporaryTransitBoardAlight(patternArriveVertex, transitStopArrive, originalPatternHop.getStopIndex(), TraverseMode.BUS, hop); rr.rctx.temporaryEdges.add(transitBoardAlight); - - } } @@ -231,8 +229,6 @@ public void visitEnqueue(State state) { } i++; } - - } private void addStateToTripPatternStateMap(Edge edge, State s, Map tripPatternStateMap) { diff --git a/src/main/java/org/opentripplanner/routing/impl/GraphPathFinder.java b/src/main/java/org/opentripplanner/routing/impl/GraphPathFinder.java index 78048268243..053f8a6f852 100644 --- a/src/main/java/org/opentripplanner/routing/impl/GraphPathFinder.java +++ b/src/main/java/org/opentripplanner/routing/impl/GraphPathFinder.java @@ -27,6 +27,7 @@ the License, or (at your option) any later version. import org.opentripplanner.routing.edgetype.LegSwitchingEdge; import org.opentripplanner.routing.error.PathNotFoundException; import org.opentripplanner.routing.error.VertexNotFoundException; +import org.opentripplanner.routing.flex.FlagStopCreationService; import org.opentripplanner.routing.graph.Edge; import org.opentripplanner.routing.graph.Vertex; import org.opentripplanner.routing.spt.DominanceFunction; @@ -135,6 +136,10 @@ public List getPaths(RoutingRequest options) { * This would cause long distance mode to do unbounded street searches and consider the whole graph walkable. */ if (options.maxWalkDistance == Double.MAX_VALUE) options.maxWalkDistance = DEFAULT_MAX_WALK; if (options.maxWalkDistance > CLAMP_MAX_WALK) options.maxWalkDistance = CLAMP_MAX_WALK; + if (options.modes.isTransit()) { + // create temporary flex stops (just once even if we run multiple searches) + new FlagStopCreationService(router.graph).initialize(options); + } long searchBeginTime = System.currentTimeMillis(); LOG.debug("BEGIN SEARCH"); List paths = Lists.newArrayList(); From 83b594620d257fb3be16c4baaa2016f8baf92698 Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Sun, 25 Jun 2017 19:07:08 -0400 Subject: [PATCH 033/226] Fix State.optimize() issue by adding a fudge factor to time lookup. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit When boarding at TemporaryTransitBoardAlight, pretend it is 2 seconds ago when you look for trips. Some code cleanup is warranted here, and/or actually figuring out what’s going on. --- .../opentripplanner/routing/edgetype/Timetable.java | 6 +++--- .../routing/edgetype/TransitBoardAlightAtFlex.java | 2 +- .../edgetype/flex/TemporaryPartialPatternHop.java | 10 +++++----- .../edgetype/flex/TemporaryTransitBoardAlight.java | 2 +- 4 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/main/java/org/opentripplanner/routing/edgetype/Timetable.java b/src/main/java/org/opentripplanner/routing/edgetype/Timetable.java index a07ca20d392..f5d176a31a7 100644 --- a/src/main/java/org/opentripplanner/routing/edgetype/Timetable.java +++ b/src/main/java/org/opentripplanner/routing/edgetype/Timetable.java @@ -134,9 +134,9 @@ public boolean temporallyViable(ServiceDay sd, long searchTime, int bestWait, bo * @return the TripTimes object representing the (possibly updated) best trip, or null if no * trip matches both the time and other criteria. */ - public TripTimes getNextTrip(State s0, ServiceDay serviceDay, int stopIndex, boolean boarding, double adjustment) { + public TripTimes getNextTrip(State s0, ServiceDay serviceDay, int stopIndex, boolean boarding, double adjustment, int timeAdjustment) { /* Search at the state's time, but relative to midnight on the given service day. */ - int time = serviceDay.secondsSinceMidnight(s0.getTimeSeconds()); + int time = serviceDay.secondsSinceMidnight(s0.getTimeSeconds()) + timeAdjustment; // NOTE the time is sometimes negative here. That is fine, we search for the first trip of the day. // Adjust for possible boarding time TODO: This should be included in the trip and based on GTFS if (boarding) { @@ -217,7 +217,7 @@ public TripTimes getNextTrip(State s0, ServiceDay serviceDay, int stopIndex, boo } public TripTimes getNextTrip(State s0, ServiceDay serviceDay, int stopIndex, boolean boarding) { - return getNextTrip(s0, serviceDay, stopIndex, boarding, 0); + return getNextTrip(s0, serviceDay, stopIndex, boarding, 0, 0); } /** diff --git a/src/main/java/org/opentripplanner/routing/edgetype/TransitBoardAlightAtFlex.java b/src/main/java/org/opentripplanner/routing/edgetype/TransitBoardAlightAtFlex.java index ac36749808c..8ffa6b0eeff 100644 --- a/src/main/java/org/opentripplanner/routing/edgetype/TransitBoardAlightAtFlex.java +++ b/src/main/java/org/opentripplanner/routing/edgetype/TransitBoardAlightAtFlex.java @@ -34,7 +34,7 @@ public TransitBoardAlightAtFlex (PatternStopVertex fromPatternStop, TransitStopA public TripTimes getNextTrip(State s0, ServiceDay sd) { RoutingRequest options = s0.getOptions(); Timetable timetable = getPattern().getUpdatedTimetable(options, sd); - TripTimes tripTimes = timetable.getNextTrip(s0, sd, getStopIndex(), boarding, percentageOfHop); + TripTimes tripTimes = timetable.getNextTrip(s0, sd, getStopIndex(), boarding, percentageOfHop, 0); return tripTimes; } diff --git a/src/main/java/org/opentripplanner/routing/edgetype/flex/TemporaryPartialPatternHop.java b/src/main/java/org/opentripplanner/routing/edgetype/flex/TemporaryPartialPatternHop.java index dcdac0b1f3e..0ac94532603 100644 --- a/src/main/java/org/opentripplanner/routing/edgetype/flex/TemporaryPartialPatternHop.java +++ b/src/main/java/org/opentripplanner/routing/edgetype/flex/TemporaryPartialPatternHop.java @@ -2,6 +2,7 @@ import com.vividsolutions.jts.linearref.LengthIndexedLine; import org.onebusaway.gtfs.model.Stop; +import org.opentripplanner.common.geometry.SphericalDistanceLibrary; import org.opentripplanner.routing.core.RoutingContext; import org.opentripplanner.routing.edgetype.PartialPatternHop; import org.opentripplanner.routing.edgetype.PatternHop; @@ -45,11 +46,10 @@ public void dispose() { tov.removeIncoming(this); } - // is this hop too not-different to care about? for now lets say should be 2% different *shrugs* + // is this hop too not-different to care about? for now lets say should be > 20 m shorter than original hop public boolean isTrivial() { - return false; -// double length = getOriginalHopLength(); -// double thisLength = getEndIndex() - getStartIndex(); -// return (thisLength / length) > 0.99; + double length = SphericalDistanceLibrary.fastLength(getGeometry()); + double parentLength = SphericalDistanceLibrary.fastLength(getOriginalHop().getGeometry()); + return length + 20 >= parentLength; } } diff --git a/src/main/java/org/opentripplanner/routing/edgetype/flex/TemporaryTransitBoardAlight.java b/src/main/java/org/opentripplanner/routing/edgetype/flex/TemporaryTransitBoardAlight.java index 78cd38152a3..abc13ebee7d 100644 --- a/src/main/java/org/opentripplanner/routing/edgetype/flex/TemporaryTransitBoardAlight.java +++ b/src/main/java/org/opentripplanner/routing/edgetype/flex/TemporaryTransitBoardAlight.java @@ -51,7 +51,7 @@ public void dispose() { public TripTimes getNextTrip(State s0, ServiceDay sd) { RoutingRequest options = s0.getOptions(); Timetable timetable = getPattern().getUpdatedTimetable(options, sd); - TripTimes tripTimes = timetable.getNextTrip(s0, sd, getStopIndex(), boarding, startIndex); + TripTimes tripTimes = timetable.getNextTrip(s0, sd, getStopIndex(), boarding, startIndex, -2); return tripTimes; } From 03ca5b680d4bf8112763d0017daf575272ee73d5 Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Tue, 27 Jun 2017 10:23:39 -0400 Subject: [PATCH 034/226] Check whether PatternHops have flag stop service. Only build flex transfers if configured to do so. --- .../org/opentripplanner/graph_builder/GraphBuilder.java | 2 +- .../org/opentripplanner/routing/edgetype/PatternHop.java | 4 ++++ .../org/opentripplanner/routing/edgetype/TripPattern.java | 3 +-- .../routing/flex/FlagStopCreationService.java | 8 +++++--- .../standalone/GraphBuilderParameters.java | 8 ++++++++ 5 files changed, 19 insertions(+), 6 deletions(-) diff --git a/src/main/java/org/opentripplanner/graph_builder/GraphBuilder.java b/src/main/java/org/opentripplanner/graph_builder/GraphBuilder.java index 1faee3f9a3f..37ba1a7ffcf 100644 --- a/src/main/java/org/opentripplanner/graph_builder/GraphBuilder.java +++ b/src/main/java/org/opentripplanner/graph_builder/GraphBuilder.java @@ -309,7 +309,7 @@ public static GraphBuilder forDirectory(CommandLineParameters params, File dir) if ( ! builderParams.useTransfersTxt) { // This module will use streets or straight line distance depending on whether OSM data is found in the graph. graphBuilder.addModule(new DirectTransferGenerator()); - if (hasOSM) { + if (hasOSM && builderParams.createFlexTransfers) { graphBuilder.addModule(new FlexDirectTransferGenerator()); } } diff --git a/src/main/java/org/opentripplanner/routing/edgetype/PatternHop.java b/src/main/java/org/opentripplanner/routing/edgetype/PatternHop.java index de6ff08e7e1..e9e80fd889b 100644 --- a/src/main/java/org/opentripplanner/routing/edgetype/PatternHop.java +++ b/src/main/java/org/opentripplanner/routing/edgetype/PatternHop.java @@ -219,4 +219,8 @@ public int getContinuousDropoff() { return continuousDropoff; } + public boolean hasFlagStopService() { + return continuousPickup > 0 || continuousDropoff > 0; + } + } diff --git a/src/main/java/org/opentripplanner/routing/edgetype/TripPattern.java b/src/main/java/org/opentripplanner/routing/edgetype/TripPattern.java index 6f342c91462..d148fdcce19 100644 --- a/src/main/java/org/opentripplanner/routing/edgetype/TripPattern.java +++ b/src/main/java/org/opentripplanner/routing/edgetype/TripPattern.java @@ -714,7 +714,6 @@ public String getFeedId() { } public boolean hasFlagStopService() { - /* we can only match geometry to streets on bus routes */ - return TraverseMode.BUS.equals(this.mode); + return Arrays.stream(patternHops).anyMatch(PatternHop::hasFlagStopService); } } diff --git a/src/main/java/org/opentripplanner/routing/flex/FlagStopCreationService.java b/src/main/java/org/opentripplanner/routing/flex/FlagStopCreationService.java index 4bc01ff7b9c..ab5e023f9fd 100644 --- a/src/main/java/org/opentripplanner/routing/flex/FlagStopCreationService.java +++ b/src/main/java/org/opentripplanner/routing/flex/FlagStopCreationService.java @@ -145,14 +145,15 @@ public void visitEnqueue(State state) { TemporaryPreAlightEdge preAlightEdge = new TemporaryPreAlightEdge(transitStopArrive, flagTransitStop); rr.rctx.temporaryEdges.add(preAlightEdge); - for(TripPattern originalTripPattern : stateToTripPatternsMap.get(s)){ + for(TripPattern originalTripPattern : stateToTripPatternsMap.get(s)) { List patternHops = graph.index.getHopsForEdge(s.getBackEdge()) .stream() .filter(e -> e.getPattern() == originalTripPattern) + .filter(e -> e.getContinuousDropoff() > 0) .collect(Collectors.toList()); - for(PatternHop originalPatternHop : patternHops){ + for(PatternHop originalPatternHop : patternHops) { int stopIndex = originalPatternHop.getStopIndex(); @@ -205,9 +206,10 @@ public void visitEnqueue(State state) { List patternHops = graph.index.getHopsForEdge(s.getBackEdge()) .stream() .filter(e -> e.getPattern() == originalTripPattern) + .filter(e -> e.getContinuousPickup() > 0) .collect(Collectors.toList()); - for(PatternHop originalPatternHop : patternHops){ + for(PatternHop originalPatternHop : patternHops) { TemporaryPatternDepartVertex patternDepartVertex = new TemporaryPatternDepartVertex(graph, originalTripPattern, originalPatternHop.getStopIndex(), flagStop); diff --git a/src/main/java/org/opentripplanner/standalone/GraphBuilderParameters.java b/src/main/java/org/opentripplanner/standalone/GraphBuilderParameters.java index 94c491f800b..79148b831a6 100644 --- a/src/main/java/org/opentripplanner/standalone/GraphBuilderParameters.java +++ b/src/main/java/org/opentripplanner/standalone/GraphBuilderParameters.java @@ -129,6 +129,13 @@ public class GraphBuilderParameters { */ public final int pruningThresholdIslandWithStops; + /** + * Whether to run FlexDirectTransferGenerator to create flex transfers. This can take a long + * time and is only necessary if flex routing is used and there are not designated transfer + * points. + */ + public final boolean createFlexTransfers; + /** * Set all parameters from the given Jackson JSON tree, applying defaults. * Supplying MissingNode.getInstance() will cause all the defaults to be applied. @@ -158,6 +165,7 @@ public GraphBuilderParameters(JsonNode config) { maxInterlineDistance = config.path("maxInterlineDistance").asInt(200); pruningThresholdIslandWithoutStops = config.path("islandWithoutStopsMaxSize").asInt(40); pruningThresholdIslandWithStops = config.path("islandWithStopsMaxSize").asInt(5); + createFlexTransfers = config.path("createFlexTransfers").asBoolean(false); } } From d4d8b417da690148e7ee44d66294391b1485789f Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Tue, 27 Jun 2017 14:41:00 -0400 Subject: [PATCH 035/226] Change continuous pickup/dropoff to continuous stops --- .../module/FlexDirectTransferGenerator.java | 4 +-- .../opentripplanner/model/StopPattern.java | 25 ++++++------------- .../routing/edgetype/PartialPatternHop.java | 2 +- .../routing/edgetype/PatternHop.java | 23 +++++++---------- .../routing/edgetype/TripPattern.java | 2 +- .../routing/flex/FlagStopCreationService.java | 4 +-- 6 files changed, 23 insertions(+), 37 deletions(-) diff --git a/src/main/java/org/opentripplanner/graph_builder/module/FlexDirectTransferGenerator.java b/src/main/java/org/opentripplanner/graph_builder/module/FlexDirectTransferGenerator.java index 1ed281dfa92..28eaedb5de1 100644 --- a/src/main/java/org/opentripplanner/graph_builder/module/FlexDirectTransferGenerator.java +++ b/src/main/java/org/opentripplanner/graph_builder/module/FlexDirectTransferGenerator.java @@ -117,7 +117,7 @@ public void buildGraph(Graph graph, HashMap, Object> extra) { } // for each hop, find nearby stops and hops. create transfers. - if (hop.getContinuousDropoff() > 0 || hop.getContinuousPickup() > 0) { + if (hop.hasFlagStopService()) { if (++nLinkableHops % 1000 == 0) { LOG.info("Linked {} hops, skipped {} hops", nLinkableHops, nSkippedHops); } @@ -194,7 +194,7 @@ public void visitVertex(State state) { if (flexPatternsToIgnore.get(hop.getPattern()).contains(h.getPattern())) { continue; } - if (h.getContinuousPickup() > 0 || h.getContinuousDropoff() > 0) { + if (h.hasFlagStopService()) { TripPattern pattern = h.getPattern(); TransferPointAtDistance pt = new TransferPointAtDistance(hop, state, h, state.getVertex()); closestTransferPointForTripPattern.put(pattern, pt); diff --git a/src/main/java/org/opentripplanner/model/StopPattern.java b/src/main/java/org/opentripplanner/model/StopPattern.java index b24826c7a36..b8f826c190b 100644 --- a/src/main/java/org/opentripplanner/model/StopPattern.java +++ b/src/main/java/org/opentripplanner/model/StopPattern.java @@ -7,7 +7,6 @@ import com.google.common.hash.HashCode; import com.google.common.hash.HashFunction; import com.google.common.hash.Hasher; -import com.google.common.hash.Hashing; import org.onebusaway.gtfs.model.Stop; import org.onebusaway.gtfs.model.StopTime; import org.slf4j.Logger; @@ -52,8 +51,7 @@ public class StopPattern implements Serializable { public final Stop[] stops; public final int[] pickups; public final int[] dropoffs; - public final int[] continuousPickups; - public final int[] continuousDropoffs; + public final int[] continuousStops; public boolean equals(Object other) { if (other instanceof StopPattern) { @@ -61,8 +59,7 @@ public boolean equals(Object other) { return Arrays.equals(this.stops, that.stops) && Arrays.equals(this.pickups, that.pickups) && Arrays.equals(this.dropoffs, that.dropoffs) && - Arrays.equals(this.continuousPickups, that.continuousPickups) && - Arrays.equals(this.continuousDropoffs, that.continuousDropoffs); + Arrays.equals(this.continuousStops, that.continuousStops); } else { return false; } @@ -76,9 +73,7 @@ public int hashCode() { hash *= 31; hash += Arrays.hashCode(this.dropoffs); hash *= 31; - hash += Arrays.hashCode(this.continuousPickups); - hash *= 31; - hash += Arrays.hashCode(this.continuousDropoffs); + hash += Arrays.hashCode(this.continuousStops); return hash; } @@ -96,8 +91,7 @@ private StopPattern (int size) { stops = new Stop[size]; pickups = new int[size]; dropoffs = new int[size]; - continuousPickups = new int[size]; - continuousDropoffs = new int[size]; + continuousStops = new int[size]; } /** Assumes that stopTimes are already sorted by time. */ @@ -112,13 +106,11 @@ public StopPattern (List stopTimes) { pickups[i] = stopTime.getPickupType(); dropoffs[i] = stopTime.getDropOffType(); - // continuous pickup/dropoff can be empty (-1), which means 0 for the first stoptime, and the previous value for subsequent stop times. + // continuous stops can be empty (-1), which means 0 for the first stoptime, and the previous value for subsequent stop times. if (i == 0) { - continuousPickups[i] = stopTime.getContinuousPickup() == -1 ? 0 : stopTime.getContinuousPickup(); - continuousDropoffs[i] = stopTime.getContinuousDropOff() == -1 ? 0 : stopTime.getContinuousDropOff(); + continuousStops[i] = stopTime.getContinuousStops() == -1 ? 0 : stopTime.getContinuousStops(); } else { - continuousPickups[i] = stopTime.getContinuousPickup() == -1 ? continuousPickups[i-1] : stopTime.getContinuousPickup(); - continuousDropoffs[i] = stopTime.getContinuousDropOff() == -1 ? continuousDropoffs[i-1] : stopTime.getContinuousDropOff(); + continuousStops[i] = stopTime.getContinuousStops() == -1 ? continuousStops[i-1] : stopTime.getContinuousStops(); } } /* @@ -163,8 +155,7 @@ public HashCode semanticHash(HashFunction hashFunction) { for (int hop = 0; hop < size - 1; hop++) { hasher.putInt(pickups[hop]); hasher.putInt(dropoffs[hop + 1]); - hasher.putInt(continuousPickups[hop]); - hasher.putInt(continuousDropoffs[hop + 1]); + hasher.putInt(continuousStops[hop]); } return hasher.hash(); } diff --git a/src/main/java/org/opentripplanner/routing/edgetype/PartialPatternHop.java b/src/main/java/org/opentripplanner/routing/edgetype/PartialPatternHop.java index 9e20ea154bb..15b51f7e41f 100644 --- a/src/main/java/org/opentripplanner/routing/edgetype/PartialPatternHop.java +++ b/src/main/java/org/opentripplanner/routing/edgetype/PartialPatternHop.java @@ -34,7 +34,7 @@ public class PartialPatternHop extends PatternHop { private PatternHop originalHop; public PartialPatternHop(PatternHop hop, PatternStopVertex from, PatternStopVertex to, Stop fromStop, Stop toStop, double startIndex, double endIndex) { - super(from, to, fromStop, toStop, hop.getStopIndex(), hop.getContinuousPickup(), hop.getContinuousDropoff(), false); + super(from, to, fromStop, toStop, hop.getStopIndex(), hop.getContinuousStops(), false); LengthIndexedLine line = new LengthIndexedLine(hop.getGeometry()); this.startIndex = startIndex; this.endIndex = endIndex; diff --git a/src/main/java/org/opentripplanner/routing/edgetype/PatternHop.java b/src/main/java/org/opentripplanner/routing/edgetype/PatternHop.java index e9e80fd889b..8ac8b2b98c2 100644 --- a/src/main/java/org/opentripplanner/routing/edgetype/PatternHop.java +++ b/src/main/java/org/opentripplanner/routing/edgetype/PatternHop.java @@ -41,28 +41,27 @@ public class PatternHop extends TablePatternEdge implements OnboardEdge, HopEdge private Stop begin, end; - private int continuousPickup, continuousDropoff; + private int continuousStops; public int stopIndex; private LineString geometry = null; - protected PatternHop(PatternStopVertex from, PatternStopVertex to, Stop begin, Stop end, int stopIndex, int continuousPickup, int continuousDropoff, boolean setInPattern) { + protected PatternHop(PatternStopVertex from, PatternStopVertex to, Stop begin, Stop end, int stopIndex, int continuousStops, boolean setInPattern) { super(from, to); this.begin = begin; this.end = end; this.stopIndex = stopIndex; if (setInPattern) getPattern().setPatternHop(stopIndex, this); - this.continuousPickup = continuousPickup; - this.continuousDropoff = continuousDropoff; + this.continuousStops = continuousStops; } - public PatternHop(PatternStopVertex from, PatternStopVertex to, Stop begin, Stop end, int stopIndex, int continuousPickup, int continuousDropoff) { - this(from, to, begin, end, stopIndex, continuousPickup, continuousDropoff, true); + public PatternHop(PatternStopVertex from, PatternStopVertex to, Stop begin, Stop end, int stopIndex, int continuousStops) { + this(from, to, begin, end, stopIndex, continuousStops, true); } public PatternHop(PatternStopVertex from, PatternStopVertex to, Stop begin, Stop end, int stopIndex) { - this(from, to, begin, end, stopIndex, 0, 0); + this(from, to, begin, end, stopIndex, 0); } // made more accurate @@ -211,16 +210,12 @@ public int getStopIndex() { return stopIndex; } - public int getContinuousPickup() { - return continuousPickup; - } - - public int getContinuousDropoff() { - return continuousDropoff; + public int getContinuousStops() { + return continuousStops; } public boolean hasFlagStopService() { - return continuousPickup > 0 || continuousDropoff > 0; + return continuousStops > 0; } } diff --git a/src/main/java/org/opentripplanner/routing/edgetype/TripPattern.java b/src/main/java/org/opentripplanner/routing/edgetype/TripPattern.java index d148fdcce19..99dba671e0f 100644 --- a/src/main/java/org/opentripplanner/routing/edgetype/TripPattern.java +++ b/src/main/java/org/opentripplanner/routing/edgetype/TripPattern.java @@ -521,7 +521,7 @@ public void makePatternVerticesAndEdges(Graph graph, Map patternHops = graph.index.getHopsForEdge(s.getBackEdge()) .stream() .filter(e -> e.getPattern() == originalTripPattern) - .filter(e -> e.getContinuousDropoff() > 0) + .filter(PatternHop::hasFlagStopService) .collect(Collectors.toList()); for(PatternHop originalPatternHop : patternHops) { @@ -206,7 +206,7 @@ public void visitEnqueue(State state) { List patternHops = graph.index.getHopsForEdge(s.getBackEdge()) .stream() .filter(e -> e.getPattern() == originalTripPattern) - .filter(e -> e.getContinuousPickup() > 0) + .filter(PatternHop::hasFlagStopService) .collect(Collectors.toList()); for(PatternHop originalPatternHop : patternHops) { From 7efa78fdfb654df8316831e29a1bcf13fbb632f8 Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Tue, 27 Jun 2017 16:41:16 -0400 Subject: [PATCH 036/226] bump maven conveyal repo to https --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index fca2c03ba0d..165b23c44f1 100644 --- a/pom.xml +++ b/pom.xml @@ -354,7 +354,7 @@ conveyal Conveyal Maven Repository - http://maven.conveyal.com/ + https://maven.conveyal.com/ From a6fa0137240211af87eda97edd7acbb94ffb2ca3 Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Tue, 27 Jun 2017 17:02:29 -0400 Subject: [PATCH 037/226] disable mvn ssl re https://stackoverflow.com/questions/15691985/maven-release-peer-not-authenticated --- pom.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/pom.xml b/pom.xml index 165b23c44f1..dd96ae7026a 100644 --- a/pom.xml +++ b/pom.xml @@ -165,6 +165,7 @@ clean verify site + -Dmaven.wagon.http.ssl.insecure=true -Dmaven.wagon.http.ssl.allowall=true From f499f81dda62f0aa8bdb57fda5721fe4ae18452f Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Wed, 28 Jun 2017 09:57:09 -0400 Subject: [PATCH 038/226] Revert "disable mvn ssl re https://stackoverflow.com/questions/15691985/maven-release-peer-not-authenticated" This reverts commit a6fa0137240211af87eda97edd7acbb94ffb2ca3. --- pom.xml | 1 - 1 file changed, 1 deletion(-) diff --git a/pom.xml b/pom.xml index dd96ae7026a..165b23c44f1 100644 --- a/pom.xml +++ b/pom.xml @@ -165,7 +165,6 @@ clean verify site - -Dmaven.wagon.http.ssl.insecure=true -Dmaven.wagon.http.ssl.allowall=true From 7d10b419fd1af51b80d125e34416c32ae4d33a3f Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Wed, 28 Jun 2017 11:37:20 -0400 Subject: [PATCH 039/226] Update distribution management obaweb --> nexus --- pom.xml | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/pom.xml b/pom.xml index 165b23c44f1..9beb09b7dc4 100644 --- a/pom.xml +++ b/pom.xml @@ -23,16 +23,16 @@ - - releases-obaweb-repo - OneBusAway OBAWEB Release Repo - http://repo.obaweb.org:8080/archiva/repository/releases/ - - - snapshots-obaweb-repo - OneBusAway OBAWEB Snapshot Repo - http://repo.obaweb.org:8080/archiva/repository/snapshots/ - + + nexus.onebusaway.org-releases + Nexus Release Repo + http://nexus.onebusaway.org/content/repositories/releases/ + + + nexus.onebusaway.org-snapshots + Nexus Snapshot Repo + http://nexus.onebusaway.org/content/repositories/snapshots/ + @@ -366,9 +366,9 @@ http://dl.bintray.com/andimarek/graphql-java - snapshots-obaweb-repo - OneBusAway OBAWEB Snapshot Repo - http://repo.obaweb.org:8080/archiva/repository/snapshots/ + snapshots-nexus-repo + Nexus Snapshots Repo + http://nexus.onebusaway.org/content/repositories/snapshots/ From 40d6dfd05b15121739f17483ebf79d01cc39e110 Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Sun, 2 Jul 2017 00:25:49 -0400 Subject: [PATCH 040/226] Fix flag stop routing: TemporaryTransitBoardAlight at end of new pattern hop should have the subsequent stopIndex. Rounding error was causing issues with State.optimize() --- .../routing/edgetype/PartialPatternHop.java | 3 +-- .../routing/edgetype/Timetable.java | 12 +++++----- .../edgetype/TransitBoardAlightAtFlex.java | 2 +- .../flex/TemporaryTransitBoardAlight.java | 22 ++++++++++--------- .../routing/flex/FlagStopCreationService.java | 6 ++--- 5 files changed, 23 insertions(+), 22 deletions(-) diff --git a/src/main/java/org/opentripplanner/routing/edgetype/PartialPatternHop.java b/src/main/java/org/opentripplanner/routing/edgetype/PartialPatternHop.java index 15b51f7e41f..4f1f0859d5b 100644 --- a/src/main/java/org/opentripplanner/routing/edgetype/PartialPatternHop.java +++ b/src/main/java/org/opentripplanner/routing/edgetype/PartialPatternHop.java @@ -65,7 +65,7 @@ public double timeLowerBound(RoutingRequest options) { @Override public int getRunningTime(State s0) { - return (int) (percentageOfHop * super.getRunningTime(s0)); + return (int) Math.round(percentageOfHop * super.getRunningTime(s0)); } public boolean isOriginalHop(PatternHop hop) { @@ -92,6 +92,5 @@ public double getOriginalHopLength() { return originalHopLength; } - } diff --git a/src/main/java/org/opentripplanner/routing/edgetype/Timetable.java b/src/main/java/org/opentripplanner/routing/edgetype/Timetable.java index f5d176a31a7..682dabaa794 100644 --- a/src/main/java/org/opentripplanner/routing/edgetype/Timetable.java +++ b/src/main/java/org/opentripplanner/routing/edgetype/Timetable.java @@ -15,6 +15,7 @@ the License, or (at your option) any later version. import java.io.Serializable; import java.util.Arrays; +import java.util.Date; import java.util.Iterator; import java.util.List; import java.util.Map; @@ -134,9 +135,9 @@ public boolean temporallyViable(ServiceDay sd, long searchTime, int bestWait, bo * @return the TripTimes object representing the (possibly updated) best trip, or null if no * trip matches both the time and other criteria. */ - public TripTimes getNextTrip(State s0, ServiceDay serviceDay, int stopIndex, boolean boarding, double adjustment, int timeAdjustment) { + public TripTimes getNextTrip(State s0, ServiceDay serviceDay, int stopIndex, boolean boarding, double flexOffsetScale) { /* Search at the state's time, but relative to midnight on the given service day. */ - int time = serviceDay.secondsSinceMidnight(s0.getTimeSeconds()) + timeAdjustment; + int time = serviceDay.secondsSinceMidnight(s0.getTimeSeconds()); // NOTE the time is sometimes negative here. That is fine, we search for the first trip of the day. // Adjust for possible boarding time TODO: This should be included in the trip and based on GTFS if (boarding) { @@ -163,7 +164,7 @@ public TripTimes getNextTrip(State s0, ServiceDay serviceDay, int stopIndex, boo int adjustedTime = adjustTimeForTransfer(s0, currentStop, tt.trip, boarding, serviceDay, time); if (adjustedTime == -1) continue; if (boarding) { - int depTime = tt.getDepartureTime(stopIndex) + (int)(adjustment*tt.getRunningTime(stopIndex)); + int depTime = tt.getDepartureTime(stopIndex) + (int) Math.round(flexOffsetScale*tt.getRunningTime(stopIndex)); if (depTime < 0) continue; // negative values were previously used for canceled trips/passed stops/skipped stops, but // now its not sure if this check should be still in place because there is a boolean field // for canceled trips @@ -172,8 +173,7 @@ public TripTimes getNextTrip(State s0, ServiceDay serviceDay, int stopIndex, boo bestTime = depTime; } } else { - int arvTimeAdj = (adjustment != 0) ? (int)(adjustment*tt.getRunningTime(stopIndex)) : 0; - int arvTime = tt.getArrivalTime(stopIndex) + arvTimeAdj; + int arvTime = tt.getArrivalTime(stopIndex) + (int) Math.round(flexOffsetScale*tt.getRunningTime(stopIndex - 1)); if (arvTime < 0) continue; if (arvTime <= adjustedTime && arvTime > bestTime) { bestTrip = tt; @@ -217,7 +217,7 @@ public TripTimes getNextTrip(State s0, ServiceDay serviceDay, int stopIndex, boo } public TripTimes getNextTrip(State s0, ServiceDay serviceDay, int stopIndex, boolean boarding) { - return getNextTrip(s0, serviceDay, stopIndex, boarding, 0, 0); + return getNextTrip(s0, serviceDay, stopIndex, boarding, 0); } /** diff --git a/src/main/java/org/opentripplanner/routing/edgetype/TransitBoardAlightAtFlex.java b/src/main/java/org/opentripplanner/routing/edgetype/TransitBoardAlightAtFlex.java index 8ffa6b0eeff..ac36749808c 100644 --- a/src/main/java/org/opentripplanner/routing/edgetype/TransitBoardAlightAtFlex.java +++ b/src/main/java/org/opentripplanner/routing/edgetype/TransitBoardAlightAtFlex.java @@ -34,7 +34,7 @@ public TransitBoardAlightAtFlex (PatternStopVertex fromPatternStop, TransitStopA public TripTimes getNextTrip(State s0, ServiceDay sd) { RoutingRequest options = s0.getOptions(); Timetable timetable = getPattern().getUpdatedTimetable(options, sd); - TripTimes tripTimes = timetable.getNextTrip(s0, sd, getStopIndex(), boarding, percentageOfHop, 0); + TripTimes tripTimes = timetable.getNextTrip(s0, sd, getStopIndex(), boarding, percentageOfHop); return tripTimes; } diff --git a/src/main/java/org/opentripplanner/routing/edgetype/flex/TemporaryTransitBoardAlight.java b/src/main/java/org/opentripplanner/routing/edgetype/flex/TemporaryTransitBoardAlight.java index abc13ebee7d..a0dad956a9e 100644 --- a/src/main/java/org/opentripplanner/routing/edgetype/flex/TemporaryTransitBoardAlight.java +++ b/src/main/java/org/opentripplanner/routing/edgetype/flex/TemporaryTransitBoardAlight.java @@ -4,7 +4,6 @@ import org.opentripplanner.routing.core.RoutingRequest; import org.opentripplanner.routing.core.ServiceDay; import org.opentripplanner.routing.core.State; -import org.opentripplanner.routing.core.TraverseMode; import org.opentripplanner.routing.edgetype.PartialPatternHop; import org.opentripplanner.routing.edgetype.TemporaryEdge; import org.opentripplanner.routing.edgetype.Timetable; @@ -22,22 +21,24 @@ public class TemporaryTransitBoardAlight extends TransitBoardAlight implements T // normalized to [0, 1] private double startIndex; private double endIndex; + private PartialPatternHop hop; public TemporaryTransitBoardAlight(TransitStopDepart fromStopVertex, PatternStopVertex toPatternVertex, - int stopIndex, TraverseMode mode, PartialPatternHop hop) { - super(fromStopVertex, toPatternVertex, stopIndex, mode); + int stopIndex, PartialPatternHop hop) { + super(fromStopVertex, toPatternVertex, stopIndex, hop.getMode()); setIndices(hop); } public TemporaryTransitBoardAlight(PatternStopVertex fromPatternStop, TransitStopArrive toStationVertex, - int stopIndex, TraverseMode mode, PartialPatternHop hop) { - super(fromPatternStop, toStationVertex, stopIndex, mode); + int stopIndex, PartialPatternHop hop) { + super(fromPatternStop, toStationVertex, stopIndex, hop.getMode()); setIndices(hop); } private void setIndices(PartialPatternHop hop) { this.startIndex = hop.getStartIndex() / hop.getOriginalHopLength(); this.endIndex = hop.getEndIndex() / hop.getOriginalHopLength(); + this.hop = hop; } @Override @@ -49,9 +50,10 @@ public void dispose() { @Override public TripTimes getNextTrip(State s0, ServiceDay sd) { + double adjustment = boarding ? startIndex : -1 * (1 - endIndex); RoutingRequest options = s0.getOptions(); Timetable timetable = getPattern().getUpdatedTimetable(options, sd); - TripTimes tripTimes = timetable.getNextTrip(s0, sd, getStopIndex(), boarding, startIndex, -2); + TripTimes tripTimes = timetable.getNextTrip(s0, sd, getStopIndex(), boarding, adjustment); return tripTimes; } @@ -60,12 +62,12 @@ public int calculateWait(State s0, ServiceDay sd, TripTimes tripTimes) { int stopIndex = getStopIndex(); if (boarding) { // we need to fudge this by two seconds so that we can optimize later on. - int adjustment = (int) (startIndex * (tripTimes.getRunningTime(stopIndex))); - return (int)(sd.time(tripTimes.getDepartureTime(stopIndex) + adjustment) - s0.getTimeSeconds()) + 2; + int offset = (int) Math.round(startIndex * (tripTimes.getRunningTime(stopIndex))); + return (int)(sd.time(tripTimes.getDepartureTime(stopIndex) + offset) - s0.getTimeSeconds()); } else { - int adjustment = (int) (startIndex * (tripTimes.getRunningTime(stopIndex))); - return (int)(s0.getTimeSeconds() - sd.time(tripTimes.getArrivalTime(stopIndex) + adjustment)); + int offset = (int) Math.round((1-endIndex) * (tripTimes.getRunningTime(stopIndex - 1))); + return (int)(s0.getTimeSeconds() - sd.time(tripTimes.getArrivalTime(stopIndex) - offset)); } } diff --git a/src/main/java/org/opentripplanner/routing/flex/FlagStopCreationService.java b/src/main/java/org/opentripplanner/routing/flex/FlagStopCreationService.java index 6aa78369bf8..d1d8e07ca88 100644 --- a/src/main/java/org/opentripplanner/routing/flex/FlagStopCreationService.java +++ b/src/main/java/org/opentripplanner/routing/flex/FlagStopCreationService.java @@ -155,7 +155,7 @@ public void visitEnqueue(State state) { for(PatternHop originalPatternHop : patternHops) { - int stopIndex = originalPatternHop.getStopIndex(); + int stopIndex = originalPatternHop.getStopIndex() + 1; TemporaryPatternArriveVertex patternArriveVertex = new TemporaryPatternArriveVertex(graph, originalTripPattern, stopIndex, flagStop); @@ -185,7 +185,7 @@ public void visitEnqueue(State state) { /** Alighting constructor (PatternStopVertex --> TransitStopArrive) */ TemporaryTransitBoardAlight transitBoardAlight = - new TemporaryTransitBoardAlight(patternArriveVertex, transitStopArrive, originalPatternHop.getStopIndex(), TraverseMode.BUS, hop); + new TemporaryTransitBoardAlight(patternArriveVertex, transitStopArrive, stopIndex, hop); rr.rctx.temporaryEdges.add(transitBoardAlight); } } @@ -224,7 +224,7 @@ public void visitEnqueue(State state) { /** TransitBoardAlight: Boarding constructor (TransitStopDepart, PatternStopVertex) */ TemporaryTransitBoardAlight transitBoardAlight = - new TemporaryTransitBoardAlight(transitStopDepart, patternDepartVertex, originalPatternHop.getStopIndex(), TraverseMode.BUS, hop); + new TemporaryTransitBoardAlight(transitStopDepart, patternDepartVertex, originalPatternHop.getStopIndex(), hop); rr.rctx.temporaryEdges.add(transitBoardAlight); } } From e27bd2e42d48bc05b4c31128d161961c4cebfc74 Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Sun, 2 Jul 2017 14:10:30 -0400 Subject: [PATCH 041/226] fix TransitBoardAlight class hierarchy, add some license headers --- .../module/FlexDirectTransferGenerator.java | 10 +-- .../edgetype/TransitBoardAlightAtFlex.java | 57 ------------ .../edgetype/flex/FlexTransitBoardAlight.java | 88 +++++++++++++++++++ .../flex/TemporaryPartialPatternHop.java | 26 ++++-- .../flex/TemporaryTransitBoardAlight.java | 71 ++++----------- 5 files changed, 125 insertions(+), 127 deletions(-) delete mode 100644 src/main/java/org/opentripplanner/routing/edgetype/TransitBoardAlightAtFlex.java create mode 100644 src/main/java/org/opentripplanner/routing/edgetype/flex/FlexTransitBoardAlight.java diff --git a/src/main/java/org/opentripplanner/graph_builder/module/FlexDirectTransferGenerator.java b/src/main/java/org/opentripplanner/graph_builder/module/FlexDirectTransferGenerator.java index 28eaedb5de1..082e7249701 100644 --- a/src/main/java/org/opentripplanner/graph_builder/module/FlexDirectTransferGenerator.java +++ b/src/main/java/org/opentripplanner/graph_builder/module/FlexDirectTransferGenerator.java @@ -19,7 +19,6 @@ the License, or (at your option) any later version. import com.vividsolutions.jts.geom.GeometryFactory; import com.vividsolutions.jts.geom.LineString; import com.vividsolutions.jts.linearref.LengthIndexedLine; -import org.apache.commons.math3.util.Pair; import org.onebusaway.gtfs.model.AgencyAndId; import org.onebusaway.gtfs.model.Stop; import org.opentripplanner.api.resource.CoordinateArrayListSequence; @@ -40,8 +39,7 @@ the License, or (at your option) any later version. import org.opentripplanner.routing.edgetype.PreBoardEdge; import org.opentripplanner.routing.edgetype.SimpleTransfer; import org.opentripplanner.routing.edgetype.StreetEdge; -import org.opentripplanner.routing.edgetype.TransitBoardAlight; -import org.opentripplanner.routing.edgetype.TransitBoardAlightAtFlex; +import org.opentripplanner.routing.edgetype.flex.FlexTransitBoardAlight; import org.opentripplanner.routing.edgetype.TripPattern; import org.opentripplanner.routing.graph.Edge; import org.opentripplanner.routing.graph.Graph; @@ -50,7 +48,6 @@ the License, or (at your option) any later version. import org.opentripplanner.routing.spt.GraphPath; import org.opentripplanner.routing.vertextype.PatternArriveVertex; import org.opentripplanner.routing.vertextype.PatternDepartVertex; -import org.opentripplanner.routing.vertextype.PatternStopVertex; import org.opentripplanner.routing.vertextype.TransitStop; import org.opentripplanner.routing.vertextype.TransitStopArrive; import org.opentripplanner.routing.vertextype.TransitStopDepart; @@ -64,7 +61,6 @@ the License, or (at your option) any later version. import java.util.HashMap; import java.util.HashSet; import java.util.List; -import java.util.Map; import java.util.Set; /** @@ -274,7 +270,7 @@ private TransitStop newStopOnPartialHop(Graph graph, PatternHop hop, Vertex vert PatternArriveVertex patternArriveVertex = new PatternArriveVertex(graph, hop.getPattern(), hop.getStopIndex(), stop); TransitStopArrive transitStopArrive = new TransitStopArrive(graph, stop, transferStop); PartialPatternHop startHop = PartialPatternHop.startHop(hop, patternArriveVertex, stop); - new TransitBoardAlightAtFlex(patternArriveVertex, transitStopArrive, hop.getStopIndex(), hop.getPattern().mode, startHop.getPercentageOfHop()); + new FlexTransitBoardAlight(patternArriveVertex, transitStopArrive, hop.getStopIndex() + 1, startHop); new PreAlightEdge(transitStopArrive, transferStop); // stop -> hop @@ -282,7 +278,7 @@ private TransitStop newStopOnPartialHop(Graph graph, PatternHop hop, Vertex vert PatternDepartVertex patternDepartVertex = new PatternDepartVertex(graph, hop.getPattern(), hop.getStopIndex(), stop); new PreBoardEdge(transferStop, transitStopDepart); PartialPatternHop endHop = PartialPatternHop.endHop(hop, patternDepartVertex, stop); - new TransitBoardAlightAtFlex(transitStopDepart, patternDepartVertex, hop.getStopIndex(), hop.getPattern().mode, endHop.getPercentageOfHop()); + new FlexTransitBoardAlight(transitStopDepart, patternDepartVertex, hop.getStopIndex(), endHop); return transferStop; } diff --git a/src/main/java/org/opentripplanner/routing/edgetype/TransitBoardAlightAtFlex.java b/src/main/java/org/opentripplanner/routing/edgetype/TransitBoardAlightAtFlex.java deleted file mode 100644 index ac36749808c..00000000000 --- a/src/main/java/org/opentripplanner/routing/edgetype/TransitBoardAlightAtFlex.java +++ /dev/null @@ -1,57 +0,0 @@ -package org.opentripplanner.routing.edgetype; - -import org.opentripplanner.routing.core.RoutingRequest; -import org.opentripplanner.routing.core.ServiceDay; -import org.opentripplanner.routing.core.State; -import org.opentripplanner.routing.core.TraverseMode; -import org.opentripplanner.routing.trippattern.TripTimes; -import org.opentripplanner.routing.vertextype.PatternStopVertex; -import org.opentripplanner.routing.vertextype.TransitStopArrive; -import org.opentripplanner.routing.vertextype.TransitStopDepart; - -/** - * Created by sjacobs on 2/17/17. - */ -public class TransitBoardAlightAtFlex extends TransitBoardAlight { - - private final double percentageOfHop; - - /** Boarding constructor (TransitStopDepart --> PatternStopVertex) */ - public TransitBoardAlightAtFlex (TransitStopDepart fromStopVertex, PatternStopVertex toPatternVertex, - int stopIndex, TraverseMode mode, double percentageOfHop) { - super(fromStopVertex, toPatternVertex, stopIndex, mode); - this.percentageOfHop = 1 - percentageOfHop; - } - - /** Alighting constructor (PatternStopVertex --> TransitStopArrive) */ - public TransitBoardAlightAtFlex (PatternStopVertex fromPatternStop, TransitStopArrive toStationVertex, - int stopIndex, TraverseMode mode, double percentageOfHop) { - super(fromPatternStop, toStationVertex, stopIndex, mode); - this.percentageOfHop = percentageOfHop; - } - - @Override - public TripTimes getNextTrip(State s0, ServiceDay sd) { - RoutingRequest options = s0.getOptions(); - Timetable timetable = getPattern().getUpdatedTimetable(options, sd); - TripTimes tripTimes = timetable.getNextTrip(s0, sd, getStopIndex(), boarding, percentageOfHop); - return tripTimes; - } - - @Override - public int calculateWait(State s0, ServiceDay sd, TripTimes tripTimes) { - int stopIndex = getStopIndex(); - int adjustment = (int) (percentageOfHop * (tripTimes.getRunningTime(stopIndex))); - // we need to fudge this by two seconds so that we can optimize later on. - return boarding ? - (int)(sd.time(tripTimes.getDepartureTime(stopIndex) + adjustment) - s0.getTimeSeconds()) + 2: - (int)(s0.getTimeSeconds() - sd.time(tripTimes.getArrivalTime(stopIndex) + adjustment)); - } - - @Override - public String toString() { - return "TransitBoardAlightAtFlex(" + - (boarding ? "boarding " : "alighting ") + - getFromVertex() + " to " + getToVertex() + ")"; - } -} diff --git a/src/main/java/org/opentripplanner/routing/edgetype/flex/FlexTransitBoardAlight.java b/src/main/java/org/opentripplanner/routing/edgetype/flex/FlexTransitBoardAlight.java new file mode 100644 index 00000000000..cbb21022d70 --- /dev/null +++ b/src/main/java/org/opentripplanner/routing/edgetype/flex/FlexTransitBoardAlight.java @@ -0,0 +1,88 @@ +/* This program is free software: you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public License + as published by the Free Software Foundation, either version 3 of + the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +package org.opentripplanner.routing.edgetype.flex; + +import org.onebusaway.gtfs.model.Trip; +import org.opentripplanner.routing.core.RoutingRequest; +import org.opentripplanner.routing.core.ServiceDay; +import org.opentripplanner.routing.core.State; +import org.opentripplanner.routing.edgetype.PartialPatternHop; +import org.opentripplanner.routing.edgetype.Timetable; +import org.opentripplanner.routing.edgetype.TransitBoardAlight; +import org.opentripplanner.routing.trippattern.TripTimes; +import org.opentripplanner.routing.vertextype.PatternStopVertex; +import org.opentripplanner.routing.vertextype.TransitStopArrive; +import org.opentripplanner.routing.vertextype.TransitStopDepart; + +public class FlexTransitBoardAlight extends TransitBoardAlight { + + // normalized to [0, 1] + private double startIndex; + private double endIndex; + private PartialPatternHop hop; + + public FlexTransitBoardAlight(TransitStopDepart fromStopVertex, PatternStopVertex toPatternVertex, + int stopIndex, PartialPatternHop hop) { + super(fromStopVertex, toPatternVertex, stopIndex, hop.getMode()); + setIndices(hop); + } + + public FlexTransitBoardAlight(PatternStopVertex fromPatternStop, TransitStopArrive toStationVertex, + int stopIndex, PartialPatternHop hop) { + super(fromPatternStop, toStationVertex, stopIndex, hop.getMode()); + setIndices(hop); + } + + private void setIndices(PartialPatternHop hop) { + this.startIndex = hop.getStartIndex() / hop.getOriginalHopLength(); + this.endIndex = hop.getEndIndex() / hop.getOriginalHopLength(); + this.hop = hop; + } + + + @Override + public TripTimes getNextTrip(State s0, ServiceDay sd) { + double adjustment = boarding ? startIndex : -1 * (1 - endIndex); + RoutingRequest options = s0.getOptions(); + Timetable timetable = getPattern().getUpdatedTimetable(options, sd); + TripTimes tripTimes = timetable.getNextTrip(s0, sd, getStopIndex(), boarding, adjustment); + return tripTimes; + } + + @Override + public int calculateWait(State s0, ServiceDay sd, TripTimes tripTimes) { + int stopIndex = getStopIndex(); + if (boarding) { + // we need to fudge this by two seconds so that we can optimize later on. + int offset = (int) Math.round(startIndex * (tripTimes.getRunningTime(stopIndex))); + return (int)(sd.time(tripTimes.getDepartureTime(stopIndex) + offset) - s0.getTimeSeconds()); + } + else { + int offset = (int) Math.round((1-endIndex) * (tripTimes.getRunningTime(stopIndex - 1))); + return (int)(s0.getTimeSeconds() - sd.time(tripTimes.getArrivalTime(stopIndex) - offset)); + } + } + + @Override + public long getPenaltyWeight(State s0, RoutingRequest options, Trip trip) { + return super.getPenaltyWeight(s0, options, trip) + options.flagStopExtraPenalty; + } + + @Override + public String toString() { + return "FlexTransitBoardAlight(" + + (boarding ? "boarding " : "alighting ") + + getFromVertex() + " to " + getToVertex() + ")"; + } +} diff --git a/src/main/java/org/opentripplanner/routing/edgetype/flex/TemporaryPartialPatternHop.java b/src/main/java/org/opentripplanner/routing/edgetype/flex/TemporaryPartialPatternHop.java index 0ac94532603..7bf9b807464 100644 --- a/src/main/java/org/opentripplanner/routing/edgetype/flex/TemporaryPartialPatternHop.java +++ b/src/main/java/org/opentripplanner/routing/edgetype/flex/TemporaryPartialPatternHop.java @@ -1,3 +1,16 @@ +/* This program is free software: you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public License + as published by the Free Software Foundation, either version 3 of + the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + package org.opentripplanner.routing.edgetype.flex; import com.vividsolutions.jts.linearref.LengthIndexedLine; @@ -11,10 +24,6 @@ import org.opentripplanner.routing.vertextype.PatternDepartVertex; import org.opentripplanner.routing.vertextype.PatternStopVertex; -/** - * Created by simon on 6/13/17. - */ -// this may replace TemporaryPatternHop. the problem I want to solve is multiple possible hops. public class TemporaryPartialPatternHop extends PartialPatternHop implements TemporaryEdge { public TemporaryPartialPatternHop(PatternHop hop, PatternStopVertex from, PatternStopVertex to, Stop fromStop, Stop toStop, RoutingContext rctx, double startIndex, double endIndex) { super(hop, from, to, fromStop, toStop, startIndex, endIndex); @@ -46,10 +55,11 @@ public void dispose() { tov.removeIncoming(this); } - // is this hop too not-different to care about? for now lets say should be > 20 m shorter than original hop + // is this hop too not-different to care about? for now lets say should be > 50 m shorter than original hop public boolean isTrivial() { - double length = SphericalDistanceLibrary.fastLength(getGeometry()); - double parentLength = SphericalDistanceLibrary.fastLength(getOriginalHop().getGeometry()); - return length + 20 >= parentLength; + double length = SphericalDistanceLibrary.fastLength(getGeometry()); + double parentLength = SphericalDistanceLibrary.fastLength(getOriginalHop().getGeometry()); + return length + 50 >= parentLength; } + } diff --git a/src/main/java/org/opentripplanner/routing/edgetype/flex/TemporaryTransitBoardAlight.java b/src/main/java/org/opentripplanner/routing/edgetype/flex/TemporaryTransitBoardAlight.java index a0dad956a9e..b5569d28513 100644 --- a/src/main/java/org/opentripplanner/routing/edgetype/flex/TemporaryTransitBoardAlight.java +++ b/src/main/java/org/opentripplanner/routing/edgetype/flex/TemporaryTransitBoardAlight.java @@ -1,44 +1,34 @@ +/* This program is free software: you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public License + as published by the Free Software Foundation, either version 3 of + the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + package org.opentripplanner.routing.edgetype.flex; -import org.onebusaway.gtfs.model.Trip; -import org.opentripplanner.routing.core.RoutingRequest; -import org.opentripplanner.routing.core.ServiceDay; -import org.opentripplanner.routing.core.State; import org.opentripplanner.routing.edgetype.PartialPatternHop; import org.opentripplanner.routing.edgetype.TemporaryEdge; -import org.opentripplanner.routing.edgetype.Timetable; -import org.opentripplanner.routing.edgetype.TransitBoardAlight; -import org.opentripplanner.routing.trippattern.TripTimes; import org.opentripplanner.routing.vertextype.PatternStopVertex; import org.opentripplanner.routing.vertextype.TransitStopArrive; import org.opentripplanner.routing.vertextype.TransitStopDepart; -/** - * Created by dbenoff on 2/10/17. - */ -public class TemporaryTransitBoardAlight extends TransitBoardAlight implements TemporaryEdge { - - // normalized to [0, 1] - private double startIndex; - private double endIndex; - private PartialPatternHop hop; +public class TemporaryTransitBoardAlight extends FlexTransitBoardAlight implements TemporaryEdge { public TemporaryTransitBoardAlight(TransitStopDepart fromStopVertex, PatternStopVertex toPatternVertex, int stopIndex, PartialPatternHop hop) { - super(fromStopVertex, toPatternVertex, stopIndex, hop.getMode()); - setIndices(hop); + super(fromStopVertex, toPatternVertex, stopIndex, hop); } public TemporaryTransitBoardAlight(PatternStopVertex fromPatternStop, TransitStopArrive toStationVertex, int stopIndex, PartialPatternHop hop) { - super(fromPatternStop, toStationVertex, stopIndex, hop.getMode()); - setIndices(hop); - } - - private void setIndices(PartialPatternHop hop) { - this.startIndex = hop.getStartIndex() / hop.getOriginalHopLength(); - this.endIndex = hop.getEndIndex() / hop.getOriginalHopLength(); - this.hop = hop; + super(fromPatternStop, toStationVertex, stopIndex, hop); } @Override @@ -46,33 +36,4 @@ public void dispose() { fromv.removeOutgoing(this); tov.removeIncoming(this); } - - - @Override - public TripTimes getNextTrip(State s0, ServiceDay sd) { - double adjustment = boarding ? startIndex : -1 * (1 - endIndex); - RoutingRequest options = s0.getOptions(); - Timetable timetable = getPattern().getUpdatedTimetable(options, sd); - TripTimes tripTimes = timetable.getNextTrip(s0, sd, getStopIndex(), boarding, adjustment); - return tripTimes; - } - - @Override - public int calculateWait(State s0, ServiceDay sd, TripTimes tripTimes) { - int stopIndex = getStopIndex(); - if (boarding) { - // we need to fudge this by two seconds so that we can optimize later on. - int offset = (int) Math.round(startIndex * (tripTimes.getRunningTime(stopIndex))); - return (int)(sd.time(tripTimes.getDepartureTime(stopIndex) + offset) - s0.getTimeSeconds()); - } - else { - int offset = (int) Math.round((1-endIndex) * (tripTimes.getRunningTime(stopIndex - 1))); - return (int)(s0.getTimeSeconds() - sd.time(tripTimes.getArrivalTime(stopIndex) - offset)); - } - } - - @Override - public long getPenaltyWeight(State s0, RoutingRequest options, Trip trip) { - return super.getPenaltyWeight(s0, options, trip) + options.flagStopExtraPenalty; - } } From 09f91d289a47b318177e224a94e3053a42cab201 Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Mon, 3 Jul 2017 13:21:24 -0400 Subject: [PATCH 042/226] remove snapshot dependencies, update pom for release --- pom.xml | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/pom.xml b/pom.xml index 2051186affe..df82bb9e34c 100644 --- a/pom.xml +++ b/pom.xml @@ -8,7 +8,7 @@ org.opentripplanner otp - 1.2.0-SNAPSHOT + 1.2.0.0-SNAPSHOT jar @@ -358,6 +358,14 @@ + + org.apache.maven.plugins + maven-release-plugin + 2.5.3 + + false + + @@ -436,6 +444,11 @@ Nexus Snapshots Repo http://nexus.onebusaway.org/content/repositories/snapshots/ + + releases-nexus-repo + Nexus Snapshots Repo + http://nexus.onebusaway.org/content/repositories/releases/ + @@ -653,7 +666,7 @@ org.onebusaway onebusaway-gtfs - 1.3.5-vt-SNAPSHOT + 1.3.5.2-vt @@ -720,7 +733,7 @@ crosby.binary osmpbf - 1.3.4-SNAPSHOT + 1.3.4 @@ -803,7 +816,7 @@ com.conveyal r5 - 0.1-SNAPSHOT + 0.1 slf4j-simple From 332f2857180ca74118b47a99b46636c9ef9c8be2 Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Mon, 3 Jul 2017 13:26:58 -0400 Subject: [PATCH 043/226] [maven-release-plugin] prepare release otp-1.2.0.0 --- pom.xml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index df82bb9e34c..83b52b65422 100644 --- a/pom.xml +++ b/pom.xml @@ -8,7 +8,7 @@ org.opentripplanner otp - 1.2.0.0-SNAPSHOT + 1.2.0.0 jar @@ -75,7 +75,8 @@ scm:git:http://github.com/camsys/OpenTripPlanner.git scm:git:ssh://git@github.com/camsys/OpenTripPlanner.git http://github.com/camsys/OpenTripPlanner - + otp-1.2.0.0 + 10.5 From 642a890801582b54671b7c8257b17930f2399552 Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Mon, 3 Jul 2017 13:27:02 -0400 Subject: [PATCH 044/226] [maven-release-plugin] prepare for next development iteration --- pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index 83b52b65422..dcfe9c54113 100644 --- a/pom.xml +++ b/pom.xml @@ -8,7 +8,7 @@ org.opentripplanner otp - 1.2.0.0 + 1.2.0.1-SNAPSHOT jar @@ -75,7 +75,7 @@ scm:git:http://github.com/camsys/OpenTripPlanner.git scm:git:ssh://git@github.com/camsys/OpenTripPlanner.git http://github.com/camsys/OpenTripPlanner - otp-1.2.0.0 + HEAD From 07512906aab530dff1117faf08873b7b2c9cbbd5 Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Mon, 3 Jul 2017 13:32:40 -0400 Subject: [PATCH 045/226] [maven-release-plugin] rollback the release of otp-1.2.0.0 --- pom.xml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/pom.xml b/pom.xml index dcfe9c54113..df82bb9e34c 100644 --- a/pom.xml +++ b/pom.xml @@ -8,7 +8,7 @@ org.opentripplanner otp - 1.2.0.1-SNAPSHOT + 1.2.0.0-SNAPSHOT jar @@ -75,8 +75,7 @@ scm:git:http://github.com/camsys/OpenTripPlanner.git scm:git:ssh://git@github.com/camsys/OpenTripPlanner.git http://github.com/camsys/OpenTripPlanner - HEAD - + 10.5 From a054f5a2f64111f396a843a9b9957014cefe6462 Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Mon, 3 Jul 2017 13:35:09 -0400 Subject: [PATCH 046/226] [maven-release-plugin] prepare release otp-1.2.0.0 --- pom.xml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index df82bb9e34c..83b52b65422 100644 --- a/pom.xml +++ b/pom.xml @@ -8,7 +8,7 @@ org.opentripplanner otp - 1.2.0.0-SNAPSHOT + 1.2.0.0 jar @@ -75,7 +75,8 @@ scm:git:http://github.com/camsys/OpenTripPlanner.git scm:git:ssh://git@github.com/camsys/OpenTripPlanner.git http://github.com/camsys/OpenTripPlanner - + otp-1.2.0.0 + 10.5 From 58f4039659bb258bfbc717e053f6f49e0261fd5b Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Mon, 3 Jul 2017 13:35:13 -0400 Subject: [PATCH 047/226] [maven-release-plugin] prepare for next development iteration --- pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index 83b52b65422..dcfe9c54113 100644 --- a/pom.xml +++ b/pom.xml @@ -8,7 +8,7 @@ org.opentripplanner otp - 1.2.0.0 + 1.2.0.1-SNAPSHOT jar @@ -75,7 +75,7 @@ scm:git:http://github.com/camsys/OpenTripPlanner.git scm:git:ssh://git@github.com/camsys/OpenTripPlanner.git http://github.com/camsys/OpenTripPlanner - otp-1.2.0.0 + HEAD From 743dc754e7d7ad138928f0e8d09100ab24536012 Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Mon, 3 Jul 2017 13:36:46 -0400 Subject: [PATCH 048/226] [maven-release-plugin] rollback the release of otp-1.2.0.0 --- pom.xml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/pom.xml b/pom.xml index dcfe9c54113..df82bb9e34c 100644 --- a/pom.xml +++ b/pom.xml @@ -8,7 +8,7 @@ org.opentripplanner otp - 1.2.0.1-SNAPSHOT + 1.2.0.0-SNAPSHOT jar @@ -75,8 +75,7 @@ scm:git:http://github.com/camsys/OpenTripPlanner.git scm:git:ssh://git@github.com/camsys/OpenTripPlanner.git http://github.com/camsys/OpenTripPlanner - HEAD - + 10.5 From 3d6b9ef8407607a829f9a648c98969e8496955a0 Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Mon, 3 Jul 2017 13:37:29 -0400 Subject: [PATCH 049/226] remove sonatype --- pom.xml | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/pom.xml b/pom.xml index df82bb9e34c..cab2f4d7ceb 100644 --- a/pom.xml +++ b/pom.xml @@ -176,18 +176,6 @@ 1.8 - - - org.sonatype.plugins - nexus-staging-maven-plugin - 1.6.7 - true - - ossrh - https://oss.sonatype.org/ - true - - com.webcohesion.enunciate enunciate-maven-plugin From 976e69742394ee568aaa6a452225bbf0d2923bef Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Mon, 3 Jul 2017 13:38:10 -0400 Subject: [PATCH 050/226] [maven-release-plugin] prepare release otp-1.2.0.0 --- pom.xml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index cab2f4d7ceb..af6937ed985 100644 --- a/pom.xml +++ b/pom.xml @@ -8,7 +8,7 @@ org.opentripplanner otp - 1.2.0.0-SNAPSHOT + 1.2.0.0 jar @@ -75,7 +75,8 @@ scm:git:http://github.com/camsys/OpenTripPlanner.git scm:git:ssh://git@github.com/camsys/OpenTripPlanner.git http://github.com/camsys/OpenTripPlanner - + otp-1.2.0.0 + 10.5 From 2e7e258e2caf0f50c6c120eab7f842f9acbbbd38 Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Mon, 3 Jul 2017 13:38:14 -0400 Subject: [PATCH 051/226] [maven-release-plugin] prepare for next development iteration --- pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index af6937ed985..d92ace5cec5 100644 --- a/pom.xml +++ b/pom.xml @@ -8,7 +8,7 @@ org.opentripplanner otp - 1.2.0.0 + 1.2.0.1-SNAPSHOT jar @@ -75,7 +75,7 @@ scm:git:http://github.com/camsys/OpenTripPlanner.git scm:git:ssh://git@github.com/camsys/OpenTripPlanner.git http://github.com/camsys/OpenTripPlanner - otp-1.2.0.0 + HEAD From 6ec4e74e0323af1cc45f67c8b53fe6387b7b213f Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Wed, 5 Jul 2017 14:51:34 -0400 Subject: [PATCH 052/226] VGF-29 and VGF-33: add boardAlightType, boardArea, and alightArea to response. Add flagStopBufferSize to request params. --- .../api/common/RoutingResource.java | 9 +++++ .../api/model/BoardAlightType.java | 20 ++++++++++ .../org/opentripplanner/api/model/Place.java | 16 ++++++++ .../GraphPathToTripPlanConverter.java | 11 +++++ .../routing/core/RoutingRequest.java | 5 +++ .../routing/edgetype/PartialPatternHop.java | 40 +++++++++++++++++-- .../flex/TemporaryPartialPatternHop.java | 18 ++++----- .../routing/flex/FlagStopCreationService.java | 6 +-- 8 files changed, 109 insertions(+), 16 deletions(-) create mode 100644 src/main/java/org/opentripplanner/api/model/BoardAlightType.java diff --git a/src/main/java/org/opentripplanner/api/common/RoutingResource.java b/src/main/java/org/opentripplanner/api/common/RoutingResource.java index 41441a2df41..df3d233d18d 100644 --- a/src/main/java/org/opentripplanner/api/common/RoutingResource.java +++ b/src/main/java/org/opentripplanner/api/common/RoutingResource.java @@ -353,6 +353,12 @@ public abstract class RoutingResource { @QueryParam("flagStopExtraPenalty") protected Integer flagStopExtraPenalty; + /* + * Size of flag stop buffer zone in UI + */ + @QueryParam("flagStopBufferSize") + protected Double flagStopBufferSize; + @QueryParam("maxHours") private Double maxHours; @@ -588,6 +594,9 @@ protected RoutingRequest buildRequest() throws ParameterException { if (flagStopExtraPenalty != null) request.flagStopExtraPenalty = flagStopExtraPenalty; + if (flagStopBufferSize != null) + request.flagStopBufferSize = flagStopBufferSize; + if (maxHours != null) request.maxHours = maxHours; diff --git a/src/main/java/org/opentripplanner/api/model/BoardAlightType.java b/src/main/java/org/opentripplanner/api/model/BoardAlightType.java new file mode 100644 index 00000000000..69bdcc5e8db --- /dev/null +++ b/src/main/java/org/opentripplanner/api/model/BoardAlightType.java @@ -0,0 +1,20 @@ +/* This program is free software: you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public License + as published by the Free Software Foundation, either version 3 of + the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see .*/ +package org.opentripplanner.api.model; + +/** + * Represent type of board/alight. To distinguish flex transit modes. + */ +public enum BoardAlightType { + DEFAULT, FLAG_STOP, DEVIATED; +} diff --git a/src/main/java/org/opentripplanner/api/model/Place.java b/src/main/java/org/opentripplanner/api/model/Place.java index 1d2ae2baeec..a0371245541 100644 --- a/src/main/java/org/opentripplanner/api/model/Place.java +++ b/src/main/java/org/opentripplanner/api/model/Place.java @@ -21,6 +21,7 @@ the License, or (at your option) any later version. import org.opentripplanner.util.Constants; import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import org.opentripplanner.util.model.EncodedPolylineBean; /** * A Place is where a journey starts or ends, or a transit stop along the way. @@ -104,6 +105,21 @@ public class Place { */ public String bikeShareId; + /** + * Type of board or alight (to distinguish flexible transit modes). + */ + public BoardAlightType boardAlightType; + + /** + * Board area (for flag stops) + */ + public EncodedPolylineBean boardArea; + + /** + * Alight area (for flag stops) + */ + public EncodedPolylineBean alightArea; + /** * Returns the geometry in GeoJSON format * @return diff --git a/src/main/java/org/opentripplanner/api/resource/GraphPathToTripPlanConverter.java b/src/main/java/org/opentripplanner/api/resource/GraphPathToTripPlanConverter.java index e926358ae1e..d82cd2b603e 100644 --- a/src/main/java/org/opentripplanner/api/resource/GraphPathToTripPlanConverter.java +++ b/src/main/java/org/opentripplanner/api/resource/GraphPathToTripPlanConverter.java @@ -697,6 +697,17 @@ private static Place makePlace(State state, Vertex vertex, Edge edge, Stop stop, place.stopSequence = tripTimes.getStopSequence(place.stopIndex); } place.vertexType = VertexType.TRANSIT; + place.boardAlightType = BoardAlightType.DEFAULT; + if (edge instanceof PartialPatternHop) { + PartialPatternHop hop = (PartialPatternHop) edge; + if (hop.hasBoardArea()) { + place.boardArea = PolylineEncoder.createEncodings(hop.getBoardArea()); + } + if (hop.hasAlightArea()) { + place.alightArea = PolylineEncoder.createEncodings(hop.getAlightArea()); + } + place.boardAlightType = BoardAlightType.FLAG_STOP; + } } else if(vertex instanceof BikeRentalStationVertex) { place.bikeShareId = ((BikeRentalStationVertex) vertex).getId(); LOG.trace("Added bike share Id {} to place", place.bikeShareId); diff --git a/src/main/java/org/opentripplanner/routing/core/RoutingRequest.java b/src/main/java/org/opentripplanner/routing/core/RoutingRequest.java index af578b2d92d..a942221a11b 100644 --- a/src/main/java/org/opentripplanner/routing/core/RoutingRequest.java +++ b/src/main/java/org/opentripplanner/routing/core/RoutingRequest.java @@ -378,6 +378,11 @@ public class RoutingRequest implements Cloneable, Serializable { */ public int flagStopExtraPenalty = 90; + /** + * Size of flag stop buffer in UI + */ + public double flagStopBufferSize; + /** * The routing context used to actually carry out this search. It is important to build States from TraverseOptions * rather than RoutingContexts,and just keep a reference to the context in the TraverseOptions, rather than using diff --git a/src/main/java/org/opentripplanner/routing/edgetype/PartialPatternHop.java b/src/main/java/org/opentripplanner/routing/edgetype/PartialPatternHop.java index 4f1f0859d5b..5e5f7bb13cc 100644 --- a/src/main/java/org/opentripplanner/routing/edgetype/PartialPatternHop.java +++ b/src/main/java/org/opentripplanner/routing/edgetype/PartialPatternHop.java @@ -17,6 +17,7 @@ the License, or (at your option) any later version. import com.vividsolutions.jts.geom.LineString; import com.vividsolutions.jts.linearref.LengthIndexedLine; import org.onebusaway.gtfs.model.Stop; +import org.opentripplanner.common.geometry.SphericalDistanceLibrary; import org.opentripplanner.routing.core.RoutingRequest; import org.opentripplanner.routing.core.State; import org.opentripplanner.routing.vertextype.PatternArriveVertex; @@ -32,8 +33,10 @@ public class PartialPatternHop extends PatternHop { private double originalHopLength; private double percentageOfHop; private PatternHop originalHop; + private Geometry boardArea; + private Geometry alightArea; - public PartialPatternHop(PatternHop hop, PatternStopVertex from, PatternStopVertex to, Stop fromStop, Stop toStop, double startIndex, double endIndex) { + public PartialPatternHop(PatternHop hop, PatternStopVertex from, PatternStopVertex to, Stop fromStop, Stop toStop, double startIndex, double endIndex, double buffer) { super(from, to, fromStop, toStop, hop.getStopIndex(), hop.getContinuousStops(), false); LengthIndexedLine line = new LengthIndexedLine(hop.getGeometry()); this.startIndex = startIndex; @@ -41,21 +44,35 @@ public PartialPatternHop(PatternHop hop, PatternStopVertex from, PatternStopVert this.percentageOfHop = (this.endIndex - this.startIndex) / line.getEndIndex(); this.originalHop = hop; this.originalHopLength = line.getEndIndex(); - Geometry geom = line.extractLine(startIndex, endIndex); + setGeometry(hop, line, buffer); + } + + private void setGeometry(PatternHop hop, LengthIndexedLine line, double buffer) { + double pointsPerMeter = (line.getEndIndex() - line.getStartIndex()) / SphericalDistanceLibrary.fastLength(hop.getGeometry()); + double bufferPts = buffer * pointsPerMeter; + double start = Math.max(line.getStartIndex(), startIndex - bufferPts); + double end = Math.min(line.getEndIndex(), endIndex + bufferPts); + Geometry geom = line.extractLine(start, end); if (geom instanceof LineString) { // according to the javadocs, it is. setGeometry((LineString) geom); } + if (startIndex > line.getStartIndex() && buffer > 0) { + boardArea = line.extractLine(start, Math.min(startIndex + bufferPts, end)); + } + if (endIndex < line.getEndIndex() && buffer > 0) { + alightArea = line.extractLine(Math.max(endIndex - bufferPts, start), end); + } } // given hop s0->s1 and a temporary position t, create a partial hop s0->t public static PartialPatternHop startHop(PatternHop hop, PatternArriveVertex to, Stop toStop) { LengthIndexedLine line = new LengthIndexedLine(hop.getGeometry()); - return new PartialPatternHop(hop, (PatternStopVertex) hop.getFromVertex(), to, hop.getBeginStop(), toStop, line.getStartIndex(), line.project(to.getCoordinate())); + return new PartialPatternHop(hop, (PatternStopVertex) hop.getFromVertex(), to, hop.getBeginStop(), toStop, line.getStartIndex(), line.project(to.getCoordinate()), 0); } public static PartialPatternHop endHop(PatternHop hop, PatternDepartVertex from, Stop fromStop) { LengthIndexedLine line = new LengthIndexedLine(hop.getGeometry()); - return new PartialPatternHop(hop, from, (PatternStopVertex) hop.getToVertex(), fromStop, hop.getEndStop(), line.project(from.getCoordinate()), line.getEndIndex()); + return new PartialPatternHop(hop, from, (PatternStopVertex) hop.getToVertex(), fromStop, hop.getEndStop(), line.project(from.getCoordinate()), line.getEndIndex(), 0); } @Override @@ -92,5 +109,20 @@ public double getOriginalHopLength() { return originalHopLength; } + public Geometry getBoardArea() { + return boardArea; + } + + public Geometry getAlightArea() { + return alightArea; + } + + public boolean hasBoardArea() { + return boardArea != null; + } + + public boolean hasAlightArea() { + return alightArea != null; + } } diff --git a/src/main/java/org/opentripplanner/routing/edgetype/flex/TemporaryPartialPatternHop.java b/src/main/java/org/opentripplanner/routing/edgetype/flex/TemporaryPartialPatternHop.java index 7bf9b807464..f7ce68d42fa 100644 --- a/src/main/java/org/opentripplanner/routing/edgetype/flex/TemporaryPartialPatternHop.java +++ b/src/main/java/org/opentripplanner/routing/edgetype/flex/TemporaryPartialPatternHop.java @@ -16,7 +16,7 @@ the License, or (at your option) any later version. import com.vividsolutions.jts.linearref.LengthIndexedLine; import org.onebusaway.gtfs.model.Stop; import org.opentripplanner.common.geometry.SphericalDistanceLibrary; -import org.opentripplanner.routing.core.RoutingContext; +import org.opentripplanner.routing.core.RoutingRequest; import org.opentripplanner.routing.edgetype.PartialPatternHop; import org.opentripplanner.routing.edgetype.PatternHop; import org.opentripplanner.routing.edgetype.TemporaryEdge; @@ -25,28 +25,28 @@ the License, or (at your option) any later version. import org.opentripplanner.routing.vertextype.PatternStopVertex; public class TemporaryPartialPatternHop extends PartialPatternHop implements TemporaryEdge { - public TemporaryPartialPatternHop(PatternHop hop, PatternStopVertex from, PatternStopVertex to, Stop fromStop, Stop toStop, RoutingContext rctx, double startIndex, double endIndex) { - super(hop, from, to, fromStop, toStop, startIndex, endIndex); + public TemporaryPartialPatternHop(PatternHop hop, PatternStopVertex from, PatternStopVertex to, Stop fromStop, Stop toStop, double startIndex, double endIndex, double buffer) { + super(hop, from, to, fromStop, toStop, startIndex, endIndex, buffer); } // todo can this be smarter // start hop is a hop from the existing origin TO a new flag destination - public static TemporaryPartialPatternHop startHop(PatternHop hop, PatternArriveVertex to, Stop toStop, RoutingContext rctx) { + public static TemporaryPartialPatternHop startHop(RoutingRequest opt, PatternHop hop, PatternArriveVertex to, Stop toStop) { LengthIndexedLine line = new LengthIndexedLine(hop.getGeometry()); - return new TemporaryPartialPatternHop(hop, (PatternStopVertex) hop.getFromVertex(), to, hop.getBeginStop(), toStop, rctx, line.getStartIndex(), line.project(to.getCoordinate())); + return new TemporaryPartialPatternHop(hop, (PatternStopVertex) hop.getFromVertex(), to, hop.getBeginStop(), toStop, line.getStartIndex(), line.project(to.getCoordinate()), opt.flagStopBufferSize); } - public static TemporaryPartialPatternHop endHop(PatternHop hop, PatternDepartVertex from, Stop fromStop, RoutingContext rctx) { + public static TemporaryPartialPatternHop endHop(RoutingRequest opt, PatternHop hop, PatternDepartVertex from, Stop fromStop) { LengthIndexedLine line = new LengthIndexedLine(hop.getGeometry()); - return new TemporaryPartialPatternHop(hop, from, (PatternStopVertex) hop.getToVertex(), fromStop, hop.getEndStop(), rctx, line.project(from.getCoordinate()), line.getEndIndex()); + return new TemporaryPartialPatternHop(hop, from, (PatternStopVertex) hop.getToVertex(), fromStop, hop.getEndStop(), line.project(from.getCoordinate()), line.getEndIndex(), opt.flagStopBufferSize); } - public TemporaryPartialPatternHop shortenEnd(PatternStopVertex to, Stop toStop, RoutingContext rctx) { + public TemporaryPartialPatternHop shortenEnd(RoutingRequest opt, PatternStopVertex to, Stop toStop) { LengthIndexedLine line = new LengthIndexedLine(getOriginalHop().getGeometry()); double endIndex = line.project(to.getCoordinate()); if (endIndex < getStartIndex()) return null; - return new TemporaryPartialPatternHop(getOriginalHop(), (PatternStopVertex) getFromVertex(), to, getBeginStop(), toStop, rctx, getStartIndex(), endIndex); + return new TemporaryPartialPatternHop(getOriginalHop(), (PatternStopVertex) getFromVertex(), to, getBeginStop(), toStop, getStartIndex(), endIndex, opt.flagStopBufferSize); } @Override diff --git a/src/main/java/org/opentripplanner/routing/flex/FlagStopCreationService.java b/src/main/java/org/opentripplanner/routing/flex/FlagStopCreationService.java index d1d8e07ca88..68ab39b73c7 100644 --- a/src/main/java/org/opentripplanner/routing/flex/FlagStopCreationService.java +++ b/src/main/java/org/opentripplanner/routing/flex/FlagStopCreationService.java @@ -164,7 +164,7 @@ public void visitEnqueue(State state) { Collection reverseHops = findTemporaryPatternHops(rr, originalPatternHop); for (TemporaryPartialPatternHop reverseHop : reverseHops) { // create new shortened hop - TemporaryPartialPatternHop newHop = reverseHop.shortenEnd(patternArriveVertex, flagStop, rr.rctx); + TemporaryPartialPatternHop newHop = reverseHop.shortenEnd(rr, patternArriveVertex, flagStop); if (newHop == null || newHop.isTrivial()) { if (newHop != null) newHop.dispose(); @@ -173,7 +173,7 @@ public void visitEnqueue(State state) { rr.rctx.temporaryEdges.add(newHop); } - TemporaryPartialPatternHop hop = TemporaryPartialPatternHop.startHop(originalPatternHop, patternArriveVertex, flagStop, rr.rctx); + TemporaryPartialPatternHop hop = TemporaryPartialPatternHop.startHop(rr, originalPatternHop, patternArriveVertex, flagStop); if (hop.isTrivial()) { hop.dispose(); continue; @@ -215,7 +215,7 @@ public void visitEnqueue(State state) { new TemporaryPatternDepartVertex(graph, originalTripPattern, originalPatternHop.getStopIndex(), flagStop); rr.rctx.temporaryVertices.add(patternDepartVertex); - TemporaryPartialPatternHop hop = TemporaryPartialPatternHop.endHop(originalPatternHop, patternDepartVertex, flagStop, rr.rctx); + TemporaryPartialPatternHop hop = TemporaryPartialPatternHop.endHop(rr, originalPatternHop, patternDepartVertex, flagStop); if (hop.isTrivial()) { hop.dispose(); continue; From 45c868718c05fb3c7e3b812c3f14a4014e8e5b4b Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Mon, 10 Jul 2017 17:24:50 -0400 Subject: [PATCH 053/226] VGF-33 change boardArea and alightArea to flagStoparea --- src/main/java/org/opentripplanner/api/model/Place.java | 9 ++------- .../api/resource/GraphPathToTripPlanConverter.java | 9 ++++----- 2 files changed, 6 insertions(+), 12 deletions(-) diff --git a/src/main/java/org/opentripplanner/api/model/Place.java b/src/main/java/org/opentripplanner/api/model/Place.java index a0371245541..c7719ee09ac 100644 --- a/src/main/java/org/opentripplanner/api/model/Place.java +++ b/src/main/java/org/opentripplanner/api/model/Place.java @@ -111,14 +111,9 @@ public class Place { public BoardAlightType boardAlightType; /** - * Board area (for flag stops) + * Board or alight area for flag stops */ - public EncodedPolylineBean boardArea; - - /** - * Alight area (for flag stops) - */ - public EncodedPolylineBean alightArea; + public EncodedPolylineBean flagStopArea; /** * Returns the geometry in GeoJSON format diff --git a/src/main/java/org/opentripplanner/api/resource/GraphPathToTripPlanConverter.java b/src/main/java/org/opentripplanner/api/resource/GraphPathToTripPlanConverter.java index d82cd2b603e..3895f5a58d2 100644 --- a/src/main/java/org/opentripplanner/api/resource/GraphPathToTripPlanConverter.java +++ b/src/main/java/org/opentripplanner/api/resource/GraphPathToTripPlanConverter.java @@ -25,7 +25,6 @@ the License, or (props, at your option) any later version. import org.opentripplanner.profile.BikeRentalStationInfo; import org.opentripplanner.routing.alertpatch.Alert; import org.opentripplanner.routing.alertpatch.AlertPatch; -import org.opentripplanner.routing.bike_rental.BikeRentalStation; import org.opentripplanner.routing.core.*; import org.opentripplanner.routing.edgetype.*; import org.opentripplanner.routing.error.TrivialPathException; @@ -700,11 +699,11 @@ private static Place makePlace(State state, Vertex vertex, Edge edge, Stop stop, place.boardAlightType = BoardAlightType.DEFAULT; if (edge instanceof PartialPatternHop) { PartialPatternHop hop = (PartialPatternHop) edge; - if (hop.hasBoardArea()) { - place.boardArea = PolylineEncoder.createEncodings(hop.getBoardArea()); + if (hop.hasBoardArea() && !endOfLeg) { + place.flagStopArea = PolylineEncoder.createEncodings(hop.getBoardArea()); } - if (hop.hasAlightArea()) { - place.alightArea = PolylineEncoder.createEncodings(hop.getAlightArea()); + if (hop.hasAlightArea() && endOfLeg) { + place.flagStopArea = PolylineEncoder.createEncodings(hop.getAlightArea()); } place.boardAlightType = BoardAlightType.FLAG_STOP; } From 2f1463b0c4c6c5a7c87546ccf26ded37a40a14cb Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Sun, 16 Jul 2017 18:10:16 -0400 Subject: [PATCH 054/226] VGF-33 add logic to shift board/alight areas 8m to the right wrt the direction of travel --- .../GraphPathToTripPlanConverter.java | 13 ++++++-- .../common/geometry/GeometryUtils.java | 32 ++++++++++++++++++- 2 files changed, 42 insertions(+), 3 deletions(-) diff --git a/src/main/java/org/opentripplanner/api/resource/GraphPathToTripPlanConverter.java b/src/main/java/org/opentripplanner/api/resource/GraphPathToTripPlanConverter.java index 3895f5a58d2..422dc95ea86 100644 --- a/src/main/java/org/opentripplanner/api/resource/GraphPathToTripPlanConverter.java +++ b/src/main/java/org/opentripplanner/api/resource/GraphPathToTripPlanConverter.java @@ -52,6 +52,12 @@ public abstract class GraphPathToTripPlanConverter { private static final Logger LOG = LoggerFactory.getLogger(GraphPathToTripPlanConverter.class); private static final double MAX_ZAG_DISTANCE = 30; // TODO add documentation, what is a "zag"? + /** + * Number of meters to shift boarding/alighting areas for partial hops relative to PatternHop geometry + * Needed for flag stops UI. + */ + private static final double PARTIAL_HOP_OFFSET = 8; + /** * Generates a TripPlan from a set of paths */ @@ -699,11 +705,14 @@ private static Place makePlace(State state, Vertex vertex, Edge edge, Stop stop, place.boardAlightType = BoardAlightType.DEFAULT; if (edge instanceof PartialPatternHop) { PartialPatternHop hop = (PartialPatternHop) edge; + double distance = (state.getOptions().driveOnRight ? 1 : -1) * PARTIAL_HOP_OFFSET; if (hop.hasBoardArea() && !endOfLeg) { - place.flagStopArea = PolylineEncoder.createEncodings(hop.getBoardArea()); + Geometry geom = GeometryUtils.shiftLineByPerpendicularVector((LineString) hop.getBoardArea(), distance); + place.flagStopArea = PolylineEncoder.createEncodings(geom); } if (hop.hasAlightArea() && endOfLeg) { - place.flagStopArea = PolylineEncoder.createEncodings(hop.getAlightArea()); + Geometry geom = GeometryUtils.shiftLineByPerpendicularVector((LineString) hop.getAlightArea(), distance); + place.flagStopArea = PolylineEncoder.createEncodings(geom); } place.boardAlightType = BoardAlightType.FLAG_STOP; } diff --git a/src/main/java/org/opentripplanner/common/geometry/GeometryUtils.java b/src/main/java/org/opentripplanner/common/geometry/GeometryUtils.java index d84091caa81..852a76b59f8 100644 --- a/src/main/java/org/opentripplanner/common/geometry/GeometryUtils.java +++ b/src/main/java/org/opentripplanner/common/geometry/GeometryUtils.java @@ -14,15 +14,16 @@ the License, or (at your option) any later version. package org.opentripplanner.common.geometry; import com.vividsolutions.jts.geom.*; +import com.vividsolutions.jts.geom.impl.CoordinateArraySequence; import com.vividsolutions.jts.linearref.LengthLocationMap; import com.vividsolutions.jts.linearref.LinearLocation; import com.vividsolutions.jts.linearref.LocationIndexedLine; import org.geojson.GeoJsonObject; import org.geojson.LngLatAlt; import org.geotools.geometry.jts.JTS; -import org.geotools.math.Line; import org.geotools.referencing.CRS; import org.geotools.referencing.GeodeticCalculator; +import org.opengis.geometry.DirectPosition; import org.opengis.referencing.crs.CoordinateReferenceSystem; import org.opengis.referencing.operation.TransformException; import org.opentripplanner.analyst.UnsupportedGeometryException; @@ -216,4 +217,33 @@ private static Coordinate[] convertPath(List path) { } return coords; } + + public static Geometry shiftLineByPerpendicularVector(LineString line, double distance) { + GeodeticCalculator calculator = new GeodeticCalculator(WGS84_XY); + Coordinate[] coords = new Coordinate[line.getNumPoints()]; + double angle = 0; + int coeffecient = distance < 0 ? -1 : 1; + distance = Math.abs(distance); + try { + for (int i = 0; i < line.getNumPoints(); i++) { + Coordinate p0 = line.getCoordinateN(i); + calculator.setStartingPosition(JTS.toDirectPosition(p0, WGS84_XY)); + if (i < line.getNumPoints() - 1) { + Coordinate p1 = line.getCoordinateN(i + 1); + calculator.setDestinationPosition(JTS.toDirectPosition(p1, WGS84_XY)); + angle = calculator.getAzimuth() + (coeffecient) * 90d; + while (angle >= 180d) + angle -= 360d; + while (angle <= -180d) + angle += 360d; + } + calculator.setDirection(angle, distance); + DirectPosition pos = calculator.getDestinationPosition(); + coords[i] = new Coordinate(pos.getOrdinate(0), pos.getOrdinate(1)); + } + } catch (TransformException tfe) { + throw new RuntimeException(tfe.getMessage()); + } + return new LineString(new CoordinateArraySequence(coords), getGeometryFactory()); + } } From 7be83fd2aa55520531b4d55ffd31c356c16fa351 Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Mon, 17 Jul 2017 11:57:22 -0400 Subject: [PATCH 055/226] Disable conveyal repo as it does not work with camsys jenkins server --- pom.xml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pom.xml b/pom.xml index d92ace5cec5..34958ce64b7 100644 --- a/pom.xml +++ b/pom.xml @@ -427,6 +427,9 @@ conveyal Conveyal Maven Repository https://maven.conveyal.com/ + + false + snapshots-nexus-repo From f28c51687bae6369c67efcd17f5881e31fb12ea2 Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Mon, 17 Jul 2017 12:02:51 -0400 Subject: [PATCH 056/226] revert GraphPath --- .../opentripplanner/routing/spt/GraphPath.java | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/src/main/java/org/opentripplanner/routing/spt/GraphPath.java b/src/main/java/org/opentripplanner/routing/spt/GraphPath.java index 71a40737b21..e1ad4d8fc03 100644 --- a/src/main/java/org/opentripplanner/routing/spt/GraphPath.java +++ b/src/main/java/org/opentripplanner/routing/spt/GraphPath.java @@ -70,16 +70,10 @@ public GraphPath(State s, boolean optimize) { optimize = false; } - if(s.isEverBoarded()){ -// LOG.info("NORMAL"); -// s.dumpPath(); -// LOG.info("OPTIMIZE"); - State s1 = s.optimize(); -// s1.dumpPath(); -// LOG.info("OPTIMIZE AGAIN"); - State s2 = s1.optimize(); -// s2.dumpPath(); - } +// LOG.info("NORMAL"); +// s.dumpPath(); +// LOG.info("OPTIMIZED"); +// s.optimize().dumpPath(); /* Put path in chronological order, and optimize as necessary */ State lastState; @@ -87,9 +81,10 @@ public GraphPath(State s, boolean optimize) { if (back) { lastState = optimize ? s.optimize() : s.reverse(); } else { - lastState = optimize ? s.optimize().optimize() : s; } + // DEBUG + // lastState = s; /* * Starting from latest (time-wise) state, copy states to the head of a list in reverse From 7618658b1b51eb88d4a97836a2f07e3c85c003d8 Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Mon, 17 Jul 2017 13:16:37 -0400 Subject: [PATCH 057/226] Add config: turn flex routing off by default so tests pass --- .../org/opentripplanner/routing/graph/Graph.java | 3 +++ .../opentripplanner/routing/graph/GraphIndex.java | 14 +------------- .../routing/impl/GraphPathFinder.java | 2 +- .../org/opentripplanner/standalone/Router.java | 6 ++++++ 4 files changed, 11 insertions(+), 14 deletions(-) diff --git a/src/main/java/org/opentripplanner/routing/graph/Graph.java b/src/main/java/org/opentripplanner/routing/graph/Graph.java index 6eaaa81776a..ba287378c8d 100644 --- a/src/main/java/org/opentripplanner/routing/graph/Graph.java +++ b/src/main/java/org/opentripplanner/routing/graph/Graph.java @@ -205,6 +205,9 @@ public class Graph implements Serializable { /** The difference in meters between the WGS84 ellipsoid height and geoid height at the graph's center */ public Double ellipsoidToGeoidDifference = 0.0; + /** Whether to use flex modes */ + public boolean useFlexService = false; + public Graph(Graph basedOn) { this(); this.bundle = basedOn.getBundle(); diff --git a/src/main/java/org/opentripplanner/routing/graph/GraphIndex.java b/src/main/java/org/opentripplanner/routing/graph/GraphIndex.java index 701a5fac011..fccda9eeda8 100644 --- a/src/main/java/org/opentripplanner/routing/graph/GraphIndex.java +++ b/src/main/java/org/opentripplanner/routing/graph/GraphIndex.java @@ -190,12 +190,10 @@ public GraphIndex (Graph graph) { new ExecutorServiceExecutionStrategy(Executors.newCachedThreadPool( new ThreadFactoryBuilder().setNameFormat("GraphQLExecutor-" + graph.routerId + "-%d").build() ))); - + LOG.info("initializing hops-for-edge map..."); initializeHopsForEdgeMap(); - LOG.info("initializing edge map..."); - initializeEdgeMap(); LOG.info("Done indexing graph."); } @@ -698,16 +696,6 @@ public Set getAllAgencies() { return allAgencies; } - private void initializeEdgeMap() { - for (TripPattern pattern : patternsForStop.values()) { - for (PatternHop hop : pattern.getPatternHops()) { - Geometry geometry = hop.getGeometry(); - Envelope envelope = geometry.getEnvelopeInternal(); - hopIndex.insert(envelope, hop); - } - } - } - private void initializeHopsForEdgeMap() { StreetMatcher matcher = new StreetMatcher(graph); LOG.info("Finding corresponding street edges for trip patterns..."); diff --git a/src/main/java/org/opentripplanner/routing/impl/GraphPathFinder.java b/src/main/java/org/opentripplanner/routing/impl/GraphPathFinder.java index 053f8a6f852..ab050aa943c 100644 --- a/src/main/java/org/opentripplanner/routing/impl/GraphPathFinder.java +++ b/src/main/java/org/opentripplanner/routing/impl/GraphPathFinder.java @@ -136,7 +136,7 @@ public List getPaths(RoutingRequest options) { * This would cause long distance mode to do unbounded street searches and consider the whole graph walkable. */ if (options.maxWalkDistance == Double.MAX_VALUE) options.maxWalkDistance = DEFAULT_MAX_WALK; if (options.maxWalkDistance > CLAMP_MAX_WALK) options.maxWalkDistance = CLAMP_MAX_WALK; - if (options.modes.isTransit()) { + if (options.modes.isTransit() && router.graph.useFlexService) { // create temporary flex stops (just once even if we run multiple searches) new FlagStopCreationService(router.graph).initialize(options); } diff --git a/src/main/java/org/opentripplanner/standalone/Router.java b/src/main/java/org/opentripplanner/standalone/Router.java index e4acdb77588..48e2901da46 100644 --- a/src/main/java/org/opentripplanner/standalone/Router.java +++ b/src/main/java/org/opentripplanner/standalone/Router.java @@ -160,6 +160,12 @@ public void startup(JsonNode config) { } else { graph.stopClusterMode = "proximity"; } + + /* Set whether to use flex service */ + JsonNode useFlexService = config.get("useFlexService"); + if (useFlexService != null) { + graph.useFlexService = useFlexService.asBoolean(false); + } /* Create Graph updater modules from JSON config. */ GraphUpdaterConfigurator.setupGraph(this.graph, config); From 755b9ca6a4b087722a0060e147e3d5d1721b3a6f Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Mon, 17 Jul 2017 13:40:58 -0400 Subject: [PATCH 058/226] Remove conveyal repo so camsys jenkins works --- pom.xml | 8 -------- 1 file changed, 8 deletions(-) diff --git a/pom.xml b/pom.xml index 34958ce64b7..6881325574f 100644 --- a/pom.xml +++ b/pom.xml @@ -423,14 +423,6 @@ axis https://people.apache.org/repo/m1-ibiblio-rsync-repository/org.apache.axis2/ - - conveyal - Conveyal Maven Repository - https://maven.conveyal.com/ - - false - - snapshots-nexus-repo Nexus Snapshots Repo From 0e89443c8fb12a8dfd568f1685b0aa24b56ca0bf Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Mon, 17 Jul 2017 18:07:39 -0400 Subject: [PATCH 059/226] init park&ride - add demand services to graph, expose via IndexAPI --- pom.xml | 2 +- .../org/opentripplanner/index/IndexAPI.java | 8 ++ .../model/DemandResponseServiceBean.java | 46 ++++++++++ .../factory/GTFSPatternHopFactory.java | 24 +++++- .../routing/flex/DemandResponseService.java | 86 +++++++++++++++++++ .../opentripplanner/routing/graph/Graph.java | 6 +- .../routing/graph/GraphIndex.java | 8 +- 7 files changed, 173 insertions(+), 7 deletions(-) create mode 100644 src/main/java/org/opentripplanner/index/model/DemandResponseServiceBean.java create mode 100644 src/main/java/org/opentripplanner/routing/flex/DemandResponseService.java diff --git a/pom.xml b/pom.xml index 6881325574f..2e1bba367c5 100644 --- a/pom.xml +++ b/pom.xml @@ -650,7 +650,7 @@ org.onebusaway onebusaway-gtfs - 1.3.5.2-vt + 1.3.5.3-vt-SNAPSHOT diff --git a/src/main/java/org/opentripplanner/index/IndexAPI.java b/src/main/java/org/opentripplanner/index/IndexAPI.java index c95c6311d89..eb35bdc0e2e 100644 --- a/src/main/java/org/opentripplanner/index/IndexAPI.java +++ b/src/main/java/org/opentripplanner/index/IndexAPI.java @@ -29,6 +29,7 @@ the License, or (at your option) any later version. import org.onebusaway.gtfs.model.calendar.ServiceDate; import org.opentripplanner.common.geometry.SphericalDistanceLibrary; import org.opentripplanner.gtfs.GtfsLibrary; +import org.opentripplanner.index.model.DemandResponseServiceBean; import org.opentripplanner.index.model.PatternDetail; import org.opentripplanner.index.model.PatternShort; import org.opentripplanner.index.model.RouteShort; @@ -582,6 +583,13 @@ public Response getStopCluster (@PathParam("clusterId") String clusterIdString) } } + /** Return all demand services. */ + @GET + @Path("/demandResponseServices") + public Response getDemandResponseServices() { + return Response.status(Status.OK).entity(DemandResponseServiceBean.list(index.demandResponseServicesForId.values())).build(); + } + @POST @Path("/graphql") @Consumes(MediaType.APPLICATION_JSON) diff --git a/src/main/java/org/opentripplanner/index/model/DemandResponseServiceBean.java b/src/main/java/org/opentripplanner/index/model/DemandResponseServiceBean.java new file mode 100644 index 00000000000..4a63ba179cb --- /dev/null +++ b/src/main/java/org/opentripplanner/index/model/DemandResponseServiceBean.java @@ -0,0 +1,46 @@ +/* This program is free software: you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public License + as published by the Free Software Foundation, either version 3 of + the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +package org.opentripplanner.index.model; + +import org.onebusaway.gtfs.model.AgencyAndId; +import org.opentripplanner.routing.flex.DemandResponseService; +import org.opentripplanner.util.PolylineEncoder; +import org.opentripplanner.util.model.EncodedPolylineBean; + +import java.util.Collection; +import java.util.List; +import java.util.stream.Collectors; + +public class DemandResponseServiceBean { + + private static final long serialVersionUID = 1L; + + public AgencyAndId serviceId; + public RouteShort route; + public int startTime; // start time, in seconds past midnight + public int endTime; // end time, in seconds past midnight + public EncodedPolylineBean coverageArea; + + public DemandResponseServiceBean(DemandResponseService svc) { + serviceId = svc.getServiceId(); + route = new RouteShort(svc.getRoute()); + startTime = svc.getStartTime(); + endTime = svc.getEndTime(); + coverageArea = PolylineEncoder.createEncodings(svc.getCoverageArea().getExteriorRing()); + } + + public static List list(Collection services) { + return services.stream().map(DemandResponseServiceBean::new).collect(Collectors.toList()); + } +} diff --git a/src/main/java/org/opentripplanner/routing/edgetype/factory/GTFSPatternHopFactory.java b/src/main/java/org/opentripplanner/routing/edgetype/factory/GTFSPatternHopFactory.java index 489aa9ef417..aed8c66d96d 100644 --- a/src/main/java/org/opentripplanner/routing/edgetype/factory/GTFSPatternHopFactory.java +++ b/src/main/java/org/opentripplanner/routing/edgetype/factory/GTFSPatternHopFactory.java @@ -31,6 +31,7 @@ the License, or (at your option) any later version. import org.apache.commons.math3.util.FastMath; import org.onebusaway.gtfs.model.Agency; import org.onebusaway.gtfs.model.AgencyAndId; +import org.onebusaway.gtfs.model.Area; import org.onebusaway.gtfs.model.Frequency; import org.onebusaway.gtfs.model.Pathway; import org.onebusaway.gtfs.model.Route; @@ -57,7 +58,6 @@ the License, or (at your option) any later version. import org.opentripplanner.graph_builder.annotation.RepeatedStops; import org.opentripplanner.graph_builder.annotation.TripDegenerate; import org.opentripplanner.graph_builder.annotation.TripUndefinedService; -import org.opentripplanner.graph_builder.annotation.*; import org.opentripplanner.graph_builder.module.GtfsFeedId; import org.opentripplanner.gtfs.GtfsContext; import org.opentripplanner.gtfs.GtfsLibrary; @@ -75,6 +75,7 @@ the License, or (at your option) any later version. import org.opentripplanner.routing.edgetype.Timetable; import org.opentripplanner.routing.edgetype.TransferEdge; import org.opentripplanner.routing.edgetype.TripPattern; +import org.opentripplanner.routing.flex.DemandResponseService; import org.opentripplanner.routing.graph.Edge; import org.opentripplanner.routing.graph.Graph; import org.opentripplanner.routing.graph.Vertex; @@ -103,6 +104,7 @@ the License, or (at your option) any later version. import java.util.LinkedList; import java.util.List; import java.util.Map; +import java.util.stream.Collectors; // Filtering out (removing) stoptimes from a trip forces us to either have two copies of that list, // or do all the steps within one loop over trips. It would be clearer if there were multiple loops over the trips. @@ -386,6 +388,12 @@ public void run(Graph graph) { /* Fetch the stop times for this trip. Copy the list since it's immutable. */ List stopTimes = new ArrayList(_dao.getStopTimesForTrip(trip)); + if (hasDemandService(stopTimes)) { + String areaId = stopTimes.get(0).getStartServiceAreaId(); + List areas = _dao.getAllAreas().stream().filter(a -> a.getAreaId().equals(areaId)).collect(Collectors.toList()); + addDemandService(graph, trip, stopTimes.get(0), stopTimes.get(1), areas); + } + /* GTFS stop times frequently contain duplicate, missing, or incorrect entries. Repair them. */ TIntList removedStopSequences = removeRepeatedStops(stopTimes); if (!removedStopSequences.isEmpty()) { @@ -1459,14 +1467,24 @@ public void setStopContext(GtfsStopContext context) { this.context = context; } - public double getMaxStopToShapeSnapDistance() { return maxStopToShapeSnapDistance; } - public void setMaxStopToShapeSnapDistance(double maxStopToShapeSnapDistance) { this.maxStopToShapeSnapDistance = maxStopToShapeSnapDistance; } + private boolean hasDemandService(List stopTimes) { + if (stopTimes.size() != 2) + return false; + StopTime st0 = stopTimes.get(0); + StopTime st1 = stopTimes.get(1); + return st0.getStartServiceAreaId() != null + && st0.getStartServiceAreaId().equals(st1.getEndServiceAreaId()); + } + + private void addDemandService(Graph graph, Trip trip, StopTime st0, StopTime st1, List areas) { + graph.demandResponseServices.add(new DemandResponseService(trip, st0, st1, areas)); + } } diff --git a/src/main/java/org/opentripplanner/routing/flex/DemandResponseService.java b/src/main/java/org/opentripplanner/routing/flex/DemandResponseService.java new file mode 100644 index 00000000000..3c9bdb40bf3 --- /dev/null +++ b/src/main/java/org/opentripplanner/routing/flex/DemandResponseService.java @@ -0,0 +1,86 @@ +/* This program is free software: you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public License + as published by the Free Software Foundation, either version 3 of + the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +package org.opentripplanner.routing.flex; + +import com.vividsolutions.jts.geom.Coordinate; +import com.vividsolutions.jts.geom.Geometry; +import com.vividsolutions.jts.geom.Polygon; +import org.onebusaway.gtfs.model.AgencyAndId; +import org.onebusaway.gtfs.model.Area; +import org.onebusaway.gtfs.model.Route; +import org.onebusaway.gtfs.model.StopTime; +import org.onebusaway.gtfs.model.Trip; +import org.opentripplanner.common.geometry.GeometryUtils; +import org.opentripplanner.routing.core.State; + +import java.io.Serializable; +import java.util.ArrayList; +import java.util.List; + +public class DemandResponseService implements Serializable { + + private static final long serialVersionUID = 1L; + + private AgencyAndId serviceId; + private Route route; + private int startTime; // start time, in seconds past midnight + private int endTime; // end time, in seconds past midnight + private Polygon coverageArea; + + public DemandResponseService(Trip trip, StopTime start, StopTime end, List areas) { + this.serviceId = trip.getServiceId(); + this.route = trip.getRoute(); + this.startTime = start.getDepartureTime(); + this.endTime = end.getArrivalTime(); + areas.sort((a, b) -> a.getSequence() - b.getSequence()); + ArrayList coords = new ArrayList<>(); + for (int i = 0; i < areas.size(); i++) { + Area area = areas.get(i); + coords.add(new Coordinate(area.getLon(), area.getLat())); + } + if (! coords.get(0).equals(coords.get(coords.size() - 1))) { + coords.add(coords.get(0)); + } + coverageArea = GeometryUtils.getGeometryFactory().createPolygon(coords.toArray(new Coordinate[0])); + } + + public AgencyAndId getServiceId() { + return serviceId; + } + + public Route getRoute() { + return route; + } + + public int getStartTime() { + return startTime; + } + + public int getEndTime() { + return endTime; + } + + public Polygon getCoverageArea() { + return coverageArea; + } + + public boolean isApplicableTo(State s) { + Geometry point = GeometryUtils.getGeometryFactory().createPoint(s.getVertex().getCoordinate()); + if (!getCoverageArea().contains(point)) + return false; + int time = s.getServiceDay().secondsSinceMidnight(s.getTimeSeconds()); + return time > startTime && time < endTime; + } + +} diff --git a/src/main/java/org/opentripplanner/routing/graph/Graph.java b/src/main/java/org/opentripplanner/routing/graph/Graph.java index ba287378c8d..99477f244f2 100644 --- a/src/main/java/org/opentripplanner/routing/graph/Graph.java +++ b/src/main/java/org/opentripplanner/routing/graph/Graph.java @@ -36,7 +36,6 @@ the License, or (at your option) any later version. import org.opentripplanner.common.geometry.GraphUtils; import org.opentripplanner.graph_builder.annotation.GraphBuilderAnnotation; import org.opentripplanner.graph_builder.annotation.NoFutureDates; -import org.opentripplanner.graph_builder.module.DirectTransferGenerator; import org.opentripplanner.model.GraphBundle; import org.opentripplanner.routing.alertpatch.AlertPatch; import org.opentripplanner.routing.core.MortonVertexComparatorFactory; @@ -45,6 +44,7 @@ the License, or (at your option) any later version. import org.opentripplanner.routing.edgetype.EdgeWithCleanup; import org.opentripplanner.routing.edgetype.StreetEdge; import org.opentripplanner.routing.edgetype.TripPattern; +import org.opentripplanner.routing.flex.DemandResponseService; import org.opentripplanner.routing.impl.DefaultStreetVertexIndexFactory; import org.opentripplanner.routing.services.StreetVertexIndexFactory; import org.opentripplanner.routing.services.StreetVertexIndexService; @@ -208,6 +208,9 @@ public class Graph implements Serializable { /** Whether to use flex modes */ public boolean useFlexService = false; + /** Available demand-based services */ + public List demandResponseServices = new ArrayList<>(); + public Graph(Graph basedOn) { this(); this.bundle = basedOn.getBundle(); @@ -1078,4 +1081,5 @@ public long getTransitServiceStarts() { public long getTransitServiceEnds() { return transitServiceEnds; } + } diff --git a/src/main/java/org/opentripplanner/routing/graph/GraphIndex.java b/src/main/java/org/opentripplanner/routing/graph/GraphIndex.java index fccda9eeda8..ddee14cde48 100644 --- a/src/main/java/org/opentripplanner/routing/graph/GraphIndex.java +++ b/src/main/java/org/opentripplanner/routing/graph/GraphIndex.java @@ -17,7 +17,6 @@ import com.google.common.util.concurrent.ThreadFactoryBuilder; import com.vividsolutions.jts.geom.Coordinate; import com.vividsolutions.jts.geom.Envelope; -import com.vividsolutions.jts.geom.Geometry; import graphql.ExecutionResult; import graphql.GraphQL; import graphql.execution.ExecutorServiceExecutionStrategy; @@ -54,6 +53,7 @@ import org.opentripplanner.routing.edgetype.Timetable; import org.opentripplanner.routing.edgetype.TimetableSnapshot; import org.opentripplanner.routing.edgetype.TripPattern; +import org.opentripplanner.routing.flex.DemandResponseService; import org.opentripplanner.routing.spt.DominanceFunction; import org.opentripplanner.routing.trippattern.FrequencyEntry; import org.opentripplanner.routing.trippattern.TripTimes; @@ -99,7 +99,7 @@ public class GraphIndex { public final Map stopClusterForId = Maps.newHashMap(); public final Multimap patternsForEdge = HashMultimap.create(); public final Multimap hopsForEdge = HashMultimap.create(); - public final HashGridSpatialIndex hopIndex = new HashGridSpatialIndex<>(); + public final Map demandResponseServicesForId = Maps.newHashMap(); /* Should eventually be replaced with new serviceId indexes. */ private final CalendarService calendarService; @@ -194,6 +194,10 @@ public GraphIndex (Graph graph) { LOG.info("initializing hops-for-edge map..."); initializeHopsForEdgeMap(); + LOG.info("initializing demand services...."); + for (DemandResponseService service : graph.demandResponseServices) { + demandResponseServicesForId.put(service.getRoute().getId(), service); + } LOG.info("Done indexing graph."); } From c6a77a5f85f6b84c51f1d57bcaee0accd823fbd0 Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Tue, 18 Jul 2017 13:32:14 -0400 Subject: [PATCH 060/226] Fix bug with patterns that do not have street network data --- .../opentripplanner/routing/flex/FlagStopCreationService.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/main/java/org/opentripplanner/routing/flex/FlagStopCreationService.java b/src/main/java/org/opentripplanner/routing/flex/FlagStopCreationService.java index 68ab39b73c7..78bfb1014ec 100644 --- a/src/main/java/org/opentripplanner/routing/flex/FlagStopCreationService.java +++ b/src/main/java/org/opentripplanner/routing/flex/FlagStopCreationService.java @@ -48,6 +48,7 @@ the License, or (props, at your option) any later version. import java.util.ArrayList; import java.util.Collection; +import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -303,6 +304,9 @@ private List getClosestStreetEdges(Coordinate pointLocation) { env.expandBy(radiusDeg / xscale, radiusDeg); Collection edges = graph.streetIndex.getEdgesForEnvelope(env); + if (edges.isEmpty()) { + return Collections.emptyList(); + } Map> edgeDistanceMap = new TreeMap<>(); for(Edge edge : edges){ if(edge instanceof StreetEdge){ From 4526b76d5028e2cc9e723935e58498d17a5e1e6d Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Wed, 19 Jul 2017 17:24:51 -0400 Subject: [PATCH 061/226] add null check to avoid NPE --- .../org/opentripplanner/routing/graph/GraphIndex.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/main/java/org/opentripplanner/routing/graph/GraphIndex.java b/src/main/java/org/opentripplanner/routing/graph/GraphIndex.java index ddee14cde48..fe93ffccda5 100644 --- a/src/main/java/org/opentripplanner/routing/graph/GraphIndex.java +++ b/src/main/java/org/opentripplanner/routing/graph/GraphIndex.java @@ -194,9 +194,11 @@ public GraphIndex (Graph graph) { LOG.info("initializing hops-for-edge map..."); initializeHopsForEdgeMap(); - LOG.info("initializing demand services...."); - for (DemandResponseService service : graph.demandResponseServices) { - demandResponseServicesForId.put(service.getRoute().getId(), service); + if (graph.demandResponseServices != null) { + LOG.info("initializing demand services...."); + for (DemandResponseService service : graph.demandResponseServices) { + demandResponseServicesForId.put(service.getRoute().getId(), service); + } } LOG.info("Done indexing graph."); From 7052036c5d137e878227b7e2e2b051e2b0f35f41 Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Thu, 13 Jul 2017 10:34:20 -0400 Subject: [PATCH 062/226] Add continuousStops to API output for stoptimes --- .../opentripplanner/index/model/TripTimeShort.java | 2 ++ .../routing/trippattern/TripTimes.java | 11 +++++++++++ 2 files changed, 13 insertions(+) diff --git a/src/main/java/org/opentripplanner/index/model/TripTimeShort.java b/src/main/java/org/opentripplanner/index/model/TripTimeShort.java index 19abc4da43e..890312bd8de 100644 --- a/src/main/java/org/opentripplanner/index/model/TripTimeShort.java +++ b/src/main/java/org/opentripplanner/index/model/TripTimeShort.java @@ -31,6 +31,7 @@ public class TripTimeShort { public AgencyAndId tripId; public String blockId; public String headsign; + public int continuousStops; /** * This is stop-specific, so the index i is a stop index, not a hop index. @@ -50,6 +51,7 @@ public TripTimeShort(TripTimes tt, int i, Stop stop) { realtimeState = tt.getRealTimeState(); blockId = tt.trip.getBlockId(); headsign = tt.getHeadsign(i); + continuousStops = tt.getContinuousStops(i); } public TripTimeShort(TripTimes tt, int i, Stop stop, ServiceDay sd) { diff --git a/src/main/java/org/opentripplanner/routing/trippattern/TripTimes.java b/src/main/java/org/opentripplanner/routing/trippattern/TripTimes.java index 8b6de0f8a78..811db64755a 100644 --- a/src/main/java/org/opentripplanner/routing/trippattern/TripTimes.java +++ b/src/main/java/org/opentripplanner/routing/trippattern/TripTimes.java @@ -108,6 +108,8 @@ public class TripTimes implements Serializable, Comparable, Cloneable */ private final int[] stopSequences; + private final int[] continuousStops; + /** * The real-time state of this TripTimes. */ @@ -126,6 +128,7 @@ public TripTimes(final Trip trip, final List stopTimes, final Deduplic final int[] departures = new int[nStops]; final int[] arrivals = new int[nStops]; final int[] sequences = new int[nStops]; + final int[] continuousStops = new int[nStops]; final BitSet timepoints = new BitSet(nStops); // Times are always shifted to zero. This is essential for frequencies and deduplication. timeShift = stopTimes.get(0).getArrivalTime(); @@ -135,6 +138,7 @@ public TripTimes(final Trip trip, final List stopTimes, final Deduplic arrivals[s] = st.getArrivalTime() - timeShift; sequences[s] = st.getStopSequence(); timepoints.set(s, st.getTimepoint() == 1); + continuousStops[s] = st.getContinuousStops(); s++; } this.scheduledDepartureTimes = deduplicator.deduplicateIntArray(departures); @@ -146,6 +150,7 @@ public TripTimes(final Trip trip, final List stopTimes, final Deduplic this.arrivalTimes = null; this.departureTimes = null; this.timepoints = deduplicator.deduplicateBitSet(timepoints); + this.continuousStops = deduplicator.deduplicateIntArray(continuousStops); LOG.trace("trip {} has timepoint at indexes {}", trip, timepoints); } @@ -161,6 +166,7 @@ public TripTimes(final TripTimes object) { this.scheduledArrivalTimes = object.scheduledArrivalTimes; this.stopSequences = object.stopSequences; this.timepoints = object.timepoints; + this.continuousStops = object.continuousStops; } /** @@ -285,6 +291,11 @@ public void setRealTimeState(final RealTimeState realTimeState) { this.realTimeState = realTimeState; } + /** @return the difference between the scheduled and actual arrival times at this stop. */ + public int getContinuousStops(final int stop) { + return continuousStops[stop]; + } + /** Used in debugging / dumping times. */ public static String formatSeconds(int s) { int m = s / 60; From 63f1550972499c3a659a7edc6090f64c87f33121 Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Fri, 21 Jul 2017 11:44:07 -0400 Subject: [PATCH 063/226] bump gtfs dependency for release --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 2e1bba367c5..23350a3fb25 100644 --- a/pom.xml +++ b/pom.xml @@ -650,7 +650,7 @@ org.onebusaway onebusaway-gtfs - 1.3.5.3-vt-SNAPSHOT + 1.3.5.3-vt From 092ab1938ba1dda9984ab808d309e4ddafe4fd1c Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Fri, 21 Jul 2017 12:18:02 -0400 Subject: [PATCH 064/226] [maven-release-plugin] prepare release otp-1.2.0.1-RC1 --- pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index 23350a3fb25..487a4228767 100644 --- a/pom.xml +++ b/pom.xml @@ -8,7 +8,7 @@ org.opentripplanner otp - 1.2.0.1-SNAPSHOT + 1.2.0.1-RC1 jar @@ -75,7 +75,7 @@ scm:git:http://github.com/camsys/OpenTripPlanner.git scm:git:ssh://git@github.com/camsys/OpenTripPlanner.git http://github.com/camsys/OpenTripPlanner - HEAD + otp-1.2.0.1-RC1 From 128f8d00ff2f7a9f2ebf81462025a5ed82197c24 Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Fri, 21 Jul 2017 12:18:08 -0400 Subject: [PATCH 065/226] [maven-release-plugin] prepare for next development iteration --- pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index 487a4228767..21eb8fcea46 100644 --- a/pom.xml +++ b/pom.xml @@ -8,7 +8,7 @@ org.opentripplanner otp - 1.2.0.1-RC1 + 1.2.0.2-SNAPSHOT jar @@ -75,7 +75,7 @@ scm:git:http://github.com/camsys/OpenTripPlanner.git scm:git:ssh://git@github.com/camsys/OpenTripPlanner.git http://github.com/camsys/OpenTripPlanner - otp-1.2.0.1-RC1 + HEAD From 0144010c21e578528121a5da96aaa86bdfc9a6ef Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Mon, 24 Jul 2017 11:53:47 -0400 Subject: [PATCH 066/226] Ensure flag stop creation service only explores within walk distance --- .../opentripplanner/routing/flex/FlagStopCreationService.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/main/java/org/opentripplanner/routing/flex/FlagStopCreationService.java b/src/main/java/org/opentripplanner/routing/flex/FlagStopCreationService.java index 78bfb1014ec..e9898b13291 100644 --- a/src/main/java/org/opentripplanner/routing/flex/FlagStopCreationService.java +++ b/src/main/java/org/opentripplanner/routing/flex/FlagStopCreationService.java @@ -99,6 +99,8 @@ public void visitEnqueue(State state) { } }; + gd.setSearchTerminationStrategy((o, t, state, s, opt) -> state.getWalkDistance() > opt.maxWalkDistance); + Vertex initVertex = rr.arriveBy ? rr.rctx.toVertex : rr.rctx.fromVertex; gd.getShortestPathTree(new State(initVertex, rr)); findFlagStopEdgesNearby(rr, initVertex, tripPatternStateMap); From e109d40c6abee05e711d1e56481bbff55e6b07bd Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Tue, 25 Jul 2017 17:56:09 -0400 Subject: [PATCH 067/226] VGF-43 add temp edges based on closest pattern hop, not closest trip pattern --- .../routing/flex/FlagStopCreationService.java | 167 +++++++----------- 1 file changed, 65 insertions(+), 102 deletions(-) diff --git a/src/main/java/org/opentripplanner/routing/flex/FlagStopCreationService.java b/src/main/java/org/opentripplanner/routing/flex/FlagStopCreationService.java index e9898b13291..5024bc5bc32 100644 --- a/src/main/java/org/opentripplanner/routing/flex/FlagStopCreationService.java +++ b/src/main/java/org/opentripplanner/routing/flex/FlagStopCreationService.java @@ -28,7 +28,6 @@ the License, or (props, at your option) any later version. import org.opentripplanner.routing.edgetype.PatternHop; import org.opentripplanner.routing.edgetype.StreetEdge; import org.opentripplanner.routing.edgetype.TemporaryEdge; -import org.opentripplanner.routing.edgetype.TripPattern; import org.opentripplanner.routing.edgetype.flex.TemporaryPartialPatternHop; import org.opentripplanner.routing.edgetype.flex.TemporaryPreAlightEdge; import org.opentripplanner.routing.edgetype.flex.TemporaryPreBoardEdge; @@ -53,7 +52,6 @@ the License, or (props, at your option) any later version. import java.util.List; import java.util.Map; import java.util.TreeMap; -import java.util.stream.Collectors; /** * Add temporary vertices/edges for flag stops. @@ -80,13 +78,13 @@ public void initialize(RoutingRequest request) { } private void streetSearch(RoutingRequest rr) { - Map tripPatternStateMap = Maps.newHashMap(); + Map patternHopStateMap = Maps.newHashMap(); GenericDijkstra gd = new GenericDijkstra(rr); gd.setHeuristic(new TrivialRemainingWeightHeuristic()); gd.traverseVisitor = new TraverseVisitor() { @Override public void visitEdge(Edge edge, State state) { - addStateToTripPatternStateMap(edge, state, tripPatternStateMap); + addStateToPatternHopStateMap(edge, state, patternHopStateMap); } @Override @@ -103,19 +101,18 @@ public void visitEnqueue(State state) { Vertex initVertex = rr.arriveBy ? rr.rctx.toVertex : rr.rctx.fromVertex; gd.getShortestPathTree(new State(initVertex, rr)); - findFlagStopEdgesNearby(rr, initVertex, tripPatternStateMap); + findFlagStopEdgesNearby(rr, initVertex, patternHopStateMap); - Map> stateToTripPatternsMap = new HashMap<>(); - for(TripPattern tripPattern : tripPatternStateMap.keySet()){ - State s = tripPatternStateMap.get(tripPattern); - if(!stateToTripPatternsMap.containsKey(s)){ - stateToTripPatternsMap.put(s, new ArrayList<>()); + Map> stateToPatternHopMap = new HashMap<>(); + for(PatternHop patternHop : patternHopStateMap.keySet()){ + State s = patternHopStateMap.get(patternHop); + if(!stateToPatternHopMap.containsKey(s)){ + stateToPatternHopMap.put(s, new ArrayList<>()); } - stateToTripPatternsMap.get(s).add(tripPattern); + stateToPatternHopMap.get(s).add(patternHop); } - int i = 0; - for(State s : stateToTripPatternsMap.keySet()){ + for(State s : stateToPatternHopMap.keySet()){ Vertex v; @@ -128,7 +125,6 @@ public void visitEnqueue(State state) { } //if nearby, wire stop to init vertex - Stop flagStop = new Stop(); flagStop.setId(new AgencyAndId("1", "temp_" + String.valueOf(Math.random()))); flagStop.setLat(v.getLat()); @@ -148,49 +144,42 @@ public void visitEnqueue(State state) { TemporaryPreAlightEdge preAlightEdge = new TemporaryPreAlightEdge(transitStopArrive, flagTransitStop); rr.rctx.temporaryEdges.add(preAlightEdge); - for(TripPattern originalTripPattern : stateToTripPatternsMap.get(s)) { - - List patternHops = graph.index.getHopsForEdge(s.getBackEdge()) - .stream() - .filter(e -> e.getPattern() == originalTripPattern) - .filter(PatternHop::hasFlagStopService) - .collect(Collectors.toList()); + for(PatternHop originalPatternHop : stateToPatternHopMap.get(s)) { - for(PatternHop originalPatternHop : patternHops) { - int stopIndex = originalPatternHop.getStopIndex() + 1; + int stopIndex = originalPatternHop.getStopIndex() + 1; - TemporaryPatternArriveVertex patternArriveVertex = - new TemporaryPatternArriveVertex(graph, originalTripPattern, stopIndex, flagStop); - rr.rctx.temporaryVertices.add(patternArriveVertex); + TemporaryPatternArriveVertex patternArriveVertex = + new TemporaryPatternArriveVertex(graph, originalPatternHop.getPattern(), stopIndex, flagStop); + rr.rctx.temporaryVertices.add(patternArriveVertex); - Collection reverseHops = findTemporaryPatternHops(rr, originalPatternHop); - for (TemporaryPartialPatternHop reverseHop : reverseHops) { - // create new shortened hop - TemporaryPartialPatternHop newHop = reverseHop.shortenEnd(rr, patternArriveVertex, flagStop); - if (newHop == null || newHop.isTrivial()) { - if (newHop != null) - newHop.dispose(); - continue; - } - rr.rctx.temporaryEdges.add(newHop); - } - - TemporaryPartialPatternHop hop = TemporaryPartialPatternHop.startHop(rr, originalPatternHop, patternArriveVertex, flagStop); - if (hop.isTrivial()) { - hop.dispose(); + Collection reverseHops = findTemporaryPatternHops(rr, originalPatternHop); + for (TemporaryPartialPatternHop reverseHop : reverseHops) { + // create new shortened hop + TemporaryPartialPatternHop newHop = reverseHop.shortenEnd(rr, patternArriveVertex, flagStop); + if (newHop == null || newHop.isTrivial()) { + if (newHop != null) + newHop.dispose(); continue; } - rr.rctx.temporaryEdges.add(hop); - - // todo - david's code has this comment. why don't I need it? - // flex point far away or is very close to the beginning or end of the hop. Leave this hop unchanged; + rr.rctx.temporaryEdges.add(newHop); + } - /** Alighting constructor (PatternStopVertex --> TransitStopArrive) */ - TemporaryTransitBoardAlight transitBoardAlight = - new TemporaryTransitBoardAlight(patternArriveVertex, transitStopArrive, stopIndex, hop); - rr.rctx.temporaryEdges.add(transitBoardAlight); + TemporaryPartialPatternHop hop = TemporaryPartialPatternHop.startHop(rr, originalPatternHop, patternArriveVertex, flagStop); + if (hop.isTrivial()) { + hop.dispose(); + continue; } + rr.rctx.temporaryEdges.add(hop); + + // todo - david's code has this comment. why don't I need it? + // flex point far away or is very close to the beginning or end of the hop. Leave this hop unchanged; + + /** Alighting constructor (PatternStopVertex --> TransitStopArrive) */ + TemporaryTransitBoardAlight transitBoardAlight = + new TemporaryTransitBoardAlight(patternArriveVertex, transitStopArrive, stopIndex, hop); + rr.rctx.temporaryEdges.add(transitBoardAlight); + } }else{ @@ -204,80 +193,58 @@ public void visitEnqueue(State state) { TemporaryPreBoardEdge temporaryPreBoardEdge = new TemporaryPreBoardEdge(flagTransitStop, transitStopDepart); rr.rctx.temporaryEdges.add(temporaryPreBoardEdge); - for(TripPattern originalTripPattern : stateToTripPatternsMap.get(s)) { + for(PatternHop originalPatternHop : stateToPatternHopMap.get(s)) { - List patternHops = graph.index.getHopsForEdge(s.getBackEdge()) - .stream() - .filter(e -> e.getPattern() == originalTripPattern) - .filter(PatternHop::hasFlagStopService) - .collect(Collectors.toList()); + TemporaryPatternDepartVertex patternDepartVertex = + new TemporaryPatternDepartVertex(graph, originalPatternHop.getPattern(), originalPatternHop.getStopIndex(), flagStop); + rr.rctx.temporaryVertices.add(patternDepartVertex); - for(PatternHop originalPatternHop : patternHops) { - - TemporaryPatternDepartVertex patternDepartVertex = - new TemporaryPatternDepartVertex(graph, originalTripPattern, originalPatternHop.getStopIndex(), flagStop); - rr.rctx.temporaryVertices.add(patternDepartVertex); - - TemporaryPartialPatternHop hop = TemporaryPartialPatternHop.endHop(rr, originalPatternHop, patternDepartVertex, flagStop); - if (hop.isTrivial()) { - hop.dispose(); - continue; - } - rr.rctx.temporaryEdges.add(hop); - - /** TransitBoardAlight: Boarding constructor (TransitStopDepart, PatternStopVertex) */ - TemporaryTransitBoardAlight transitBoardAlight = - new TemporaryTransitBoardAlight(transitStopDepart, patternDepartVertex, originalPatternHop.getStopIndex(), hop); - rr.rctx.temporaryEdges.add(transitBoardAlight); + TemporaryPartialPatternHop hop = TemporaryPartialPatternHop.endHop(rr, originalPatternHop, patternDepartVertex, flagStop); + if (hop.isTrivial()) { + hop.dispose(); + continue; } + rr.rctx.temporaryEdges.add(hop); + + /** TransitBoardAlight: Boarding constructor (TransitStopDepart, PatternStopVertex) */ + TemporaryTransitBoardAlight transitBoardAlight = + new TemporaryTransitBoardAlight(transitStopDepart, patternDepartVertex, originalPatternHop.getStopIndex(), hop); + rr.rctx.temporaryEdges.add(transitBoardAlight); } } - i++; } } - private void addStateToTripPatternStateMap(Edge edge, State s, Map tripPatternStateMap) { - Collection patterns = graph.index.getPatternsForEdge(edge); - for(TripPattern tripPattern : patterns){ - if(tripPatternStateMap.containsKey(tripPattern)){ - State oldState = tripPatternStateMap.get(tripPattern); - if(oldState.getWeight() < s.getWeight()){ + private void addStateToPatternHopStateMap(Edge edge, State s, Map patternHopStateMap) { + Collection hops = graph.index.getHopsForEdge(edge); + for(PatternHop hop : hops){ + if(patternHopStateMap.containsKey(hop)){ + State oldState = patternHopStateMap.get(hop); + if(oldState.getBackState().getWeight() < s.getBackState().getWeight()) { continue; } } - tripPatternStateMap.put(tripPattern, s); + patternHopStateMap.put(hop, s); } } /** * Find the street edges that were split at beginning of search by StreetSplitter, check whether they are served by flag stop routes. * This is duplicating the work done earlier by StreetSplitter, but want to minimize the number of changes introduced by flag stops. - * @param - * @return */ - private void findFlagStopEdgesNearby(RoutingRequest rr, Vertex initVertex, Map tripPatternStateMap) { + private void findFlagStopEdgesNearby(RoutingRequest rr, Vertex initVertex, Map patternHopStateMap) { List flagStopEdges = getClosestStreetEdges(initVertex.getCoordinate()); for(StreetEdge streetEdge : flagStopEdges){ State nearbyState = new State(initVertex, rr); nearbyState.backEdge = streetEdge; - Collection patterns = graph.index.getPatternsForEdge(streetEdge); - //todo find trippatterns for flag stop routes only - for(TripPattern tripPattern : patterns){ - tripPatternStateMap.put(tripPattern, nearbyState); + Collection hops = graph.index.getHopsForEdge(streetEdge); + for(PatternHop hop : hops){ + patternHopStateMap.put(hop, nearbyState); } } } - // It's possible that the edge is a very long StreetEdge whose traversal will kill our walk budget, but it's - // a good candidate for flex edges. - private void checkFlexAtLongStreetEdge(State s0, Edge e, Map tripPatternStateMap) { - if (s0.getWalkDistance() + e.getDistance() >= s0.getOptions().getMaxWalkDistance()) { - State s1 = s0.edit(e).makeState(); - addStateToTripPatternStateMap(e, s1, tripPatternStateMap); - } - } - private Collection findTemporaryPatternHops(RoutingRequest options, PatternHop patternHop) { Collection ret = new ArrayList(); for (TemporaryEdge e : options.rctx.temporaryEdges) { @@ -324,12 +291,8 @@ private List getClosestStreetEdges(Coordinate pointLocation) { List closestEdges = edgeDistanceMap.values().iterator().next(); List ret = new ArrayList<>(); for(StreetEdge closestEdge : closestEdges){ - List patternHops = graph.index.getHopsForEdge(closestEdge) - .stream() - //.filter(e -> e.getPattern() == originalTripPattern) - //todo: check if these are flag stop hops - .collect(Collectors.toList()); - if(patternHops.size() > 0){ + Collection patternHops = graph.index.getHopsForEdge(closestEdge); + if(patternHops.size() > 0) { ret.add(closestEdge); } } From 6d444d4f6302bba7f2db49fbd125baba4bc29430 Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Wed, 26 Jul 2017 13:48:14 -0400 Subject: [PATCH 068/226] VGF-33 fix buffer area: use Nick's algorithm --- .../GraphPathToTripPlanConverter.java | 10 +-- .../common/geometry/GeometryUtils.java | 82 ++++++++++++++----- .../routing/edgetype/PartialPatternHop.java | 9 +- .../opentripplanner/routing/graph/Edge.java | 6 ++ 4 files changed, 79 insertions(+), 28 deletions(-) diff --git a/src/main/java/org/opentripplanner/api/resource/GraphPathToTripPlanConverter.java b/src/main/java/org/opentripplanner/api/resource/GraphPathToTripPlanConverter.java index 422dc95ea86..71ca8ff4ab3 100644 --- a/src/main/java/org/opentripplanner/api/resource/GraphPathToTripPlanConverter.java +++ b/src/main/java/org/opentripplanner/api/resource/GraphPathToTripPlanConverter.java @@ -56,7 +56,7 @@ public abstract class GraphPathToTripPlanConverter { * Number of meters to shift boarding/alighting areas for partial hops relative to PatternHop geometry * Needed for flag stops UI. */ - private static final double PARTIAL_HOP_OFFSET = 8; + private static final double PARTIAL_HOP_OFFSET = 5; /** * Generates a TripPlan from a set of paths @@ -214,7 +214,7 @@ private static CoordinateArrayListSequence makeCoordinates(Edge[] edges) { CoordinateArrayListSequence coordinates = new CoordinateArrayListSequence(); for (Edge edge : edges) { - LineString geometry = edge.getGeometry(); + LineString geometry = edge.getDisplayGeometry(); if (geometry != null) { if (coordinates.size() == 0) { @@ -705,13 +705,13 @@ private static Place makePlace(State state, Vertex vertex, Edge edge, Stop stop, place.boardAlightType = BoardAlightType.DEFAULT; if (edge instanceof PartialPatternHop) { PartialPatternHop hop = (PartialPatternHop) edge; - double distance = (state.getOptions().driveOnRight ? 1 : -1) * PARTIAL_HOP_OFFSET; + boolean reverse = !state.getOptions().driveOnRight; if (hop.hasBoardArea() && !endOfLeg) { - Geometry geom = GeometryUtils.shiftLineByPerpendicularVector((LineString) hop.getBoardArea(), distance); + Geometry geom = GeometryUtils.shiftLineByPerpendicularVector((LineString) hop.getBoardArea(), PARTIAL_HOP_OFFSET, reverse); place.flagStopArea = PolylineEncoder.createEncodings(geom); } if (hop.hasAlightArea() && endOfLeg) { - Geometry geom = GeometryUtils.shiftLineByPerpendicularVector((LineString) hop.getAlightArea(), distance); + Geometry geom = GeometryUtils.shiftLineByPerpendicularVector((LineString) hop.getAlightArea(), PARTIAL_HOP_OFFSET, reverse); place.flagStopArea = PolylineEncoder.createEncodings(geom); } place.boardAlightType = BoardAlightType.FLAG_STOP; diff --git a/src/main/java/org/opentripplanner/common/geometry/GeometryUtils.java b/src/main/java/org/opentripplanner/common/geometry/GeometryUtils.java index 852a76b59f8..dea2b6fda0a 100644 --- a/src/main/java/org/opentripplanner/common/geometry/GeometryUtils.java +++ b/src/main/java/org/opentripplanner/common/geometry/GeometryUtils.java @@ -13,7 +13,15 @@ the License, or (at your option) any later version. package org.opentripplanner.common.geometry; -import com.vividsolutions.jts.geom.*; +import com.vividsolutions.jts.geom.Coordinate; +import com.vividsolutions.jts.geom.CoordinateSequence; +import com.vividsolutions.jts.geom.CoordinateSequenceFactory; +import com.vividsolutions.jts.geom.Geometry; +import com.vividsolutions.jts.geom.GeometryFactory; +import com.vividsolutions.jts.geom.LineSegment; +import com.vividsolutions.jts.geom.LineString; +import com.vividsolutions.jts.geom.LinearRing; +import com.vividsolutions.jts.geom.Polygon; import com.vividsolutions.jts.geom.impl.CoordinateArraySequence; import com.vividsolutions.jts.linearref.LengthLocationMap; import com.vividsolutions.jts.linearref.LinearLocation; @@ -218,32 +226,62 @@ private static Coordinate[] convertPath(List path) { return coords; } - public static Geometry shiftLineByPerpendicularVector(LineString line, double distance) { - GeodeticCalculator calculator = new GeodeticCalculator(WGS84_XY); - Coordinate[] coords = new Coordinate[line.getNumPoints()]; - double angle = 0; - int coeffecient = distance < 0 ? -1 : 1; - distance = Math.abs(distance); + public static Geometry shiftLineByPerpendicularVector(LineString line, double distance, boolean reverse) { + int nPoints = line.getNumPoints(); + LineSegment[] segments = new LineSegment[nPoints + 1]; + Coordinate[] p = line.getCoordinates(); + try { - for (int i = 0; i < line.getNumPoints(); i++) { - Coordinate p0 = line.getCoordinateN(i); - calculator.setStartingPosition(JTS.toDirectPosition(p0, WGS84_XY)); - if (i < line.getNumPoints() - 1) { - Coordinate p1 = line.getCoordinateN(i + 1); - calculator.setDestinationPosition(JTS.toDirectPosition(p1, WGS84_XY)); - angle = calculator.getAzimuth() + (coeffecient) * 90d; - while (angle >= 180d) - angle -= 360d; - while (angle <= -180d) - angle += 360d; - } - calculator.setDirection(angle, distance); - DirectPosition pos = calculator.getDestinationPosition(); - coords[i] = new Coordinate(pos.getOrdinate(0), pos.getOrdinate(1)); + segments[0] = makeLineSegment(p[0], getComplementaryAngle(p[0], p[1], reverse), distance); + for (int i = 0; i < nPoints - 1; i++) { + segments[i + 1] = makeParallelLineSegment(p[i], p[i+1], distance, reverse); } + segments[nPoints] = makeLineSegment(p[nPoints-1], getComplementaryAngle(p[nPoints-2], p[nPoints-1], reverse), distance); } catch (TransformException tfe) { + tfe.printStackTrace(); throw new RuntimeException(tfe.getMessage()); } + + Coordinate[] coords = new Coordinate[nPoints]; + for (int i = 0; i < nPoints; i++) { + coords[i] = segments[i].lineIntersection(segments[i+1]); + } + return new LineString(new CoordinateArraySequence(coords), getGeometryFactory()); } + + private static LineSegment makeParallelLineSegment(Coordinate p0, Coordinate p1, double distance, boolean reverse) throws TransformException { + double angle = getComplementaryAngle(p0, p1, reverse); + Coordinate s0 = shiftCoordinateByAngle(p0, angle, distance); + Coordinate s1 = shiftCoordinateByAngle(p1, angle, distance); + return new LineSegment(s0, s1); + } + + private static Coordinate shiftCoordinateByAngle(Coordinate p0, double angle, double distance) throws TransformException { + GeodeticCalculator calculator = new GeodeticCalculator(WGS84_XY); + calculator.setStartingPosition(JTS.toDirectPosition(p0, WGS84_XY)); + calculator.setDirection(angle, distance); + DirectPosition pos = calculator.getDestinationPosition(); + return JTS.toGeometry(pos).getCoordinate(); + } + + private static LineSegment makeLineSegment(Coordinate p0, double angle, double distance) + throws TransformException { + Coordinate p1 = shiftCoordinateByAngle(p0, angle, distance); + return new LineSegment(p0, p1); + } + + private static double getComplementaryAngle(Coordinate p0, Coordinate p1, boolean reverse) throws TransformException { + GeodeticCalculator calculator = new GeodeticCalculator(WGS84_XY); + calculator.setStartingPosition(JTS.toDirectPosition(p0, WGS84_XY)); + calculator.setDestinationPosition(JTS.toDirectPosition(p1, WGS84_XY)); + double angle = calculator.getAzimuth(); + angle += (reverse ? -90 : 90); + while (angle >= 180d) + angle -= 360d; + while (angle <= -180d) + angle += 360d; + return angle; + } + } diff --git a/src/main/java/org/opentripplanner/routing/edgetype/PartialPatternHop.java b/src/main/java/org/opentripplanner/routing/edgetype/PartialPatternHop.java index 5e5f7bb13cc..df672f9e54e 100644 --- a/src/main/java/org/opentripplanner/routing/edgetype/PartialPatternHop.java +++ b/src/main/java/org/opentripplanner/routing/edgetype/PartialPatternHop.java @@ -35,6 +35,7 @@ public class PartialPatternHop extends PatternHop { private PatternHop originalHop; private Geometry boardArea; private Geometry alightArea; + private LineString displayGeometry; public PartialPatternHop(PatternHop hop, PatternStopVertex from, PatternStopVertex to, Stop fromStop, Stop toStop, double startIndex, double endIndex, double buffer) { super(from, to, fromStop, toStop, hop.getStopIndex(), hop.getContinuousStops(), false); @@ -52,7 +53,8 @@ private void setGeometry(PatternHop hop, LengthIndexedLine line, double buffer) double bufferPts = buffer * pointsPerMeter; double start = Math.max(line.getStartIndex(), startIndex - bufferPts); double end = Math.min(line.getEndIndex(), endIndex + bufferPts); - Geometry geom = line.extractLine(start, end); + displayGeometry = (LineString) line.extractLine(start, end); + Geometry geom = line.extractLine(startIndex, endIndex); if (geom instanceof LineString) { // according to the javadocs, it is. setGeometry((LineString) geom); } @@ -124,5 +126,10 @@ public boolean hasBoardArea() { public boolean hasAlightArea() { return alightArea != null; } + + @Override + public LineString getDisplayGeometry() { + return displayGeometry; + } } diff --git a/src/main/java/org/opentripplanner/routing/graph/Edge.java b/src/main/java/org/opentripplanner/routing/graph/Edge.java index 7293080c8cf..10c52f124b0 100644 --- a/src/main/java/org/opentripplanner/routing/graph/Edge.java +++ b/src/main/java/org/opentripplanner/routing/graph/Edge.java @@ -202,6 +202,12 @@ public LineString getGeometry() { return null; } + // Allow subclasses to provide a special geometry for display purposes. Required for flag stop + // partial PatternHops, which have a buffer area to display. + public LineString getDisplayGeometry() { + return getGeometry(); + } + /** * Returns the azimuth of this edge from head to tail. * From 7bb01f078b4816c03917cbeca223b42c2990aa4b Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Thu, 27 Jul 2017 15:16:43 -0400 Subject: [PATCH 069/226] VGF-48 fix buffer area with close-to-parallel segments --- .../common/geometry/GeometryUtils.java | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/src/main/java/org/opentripplanner/common/geometry/GeometryUtils.java b/src/main/java/org/opentripplanner/common/geometry/GeometryUtils.java index dea2b6fda0a..8cab9bda432 100644 --- a/src/main/java/org/opentripplanner/common/geometry/GeometryUtils.java +++ b/src/main/java/org/opentripplanner/common/geometry/GeometryUtils.java @@ -22,7 +22,6 @@ the License, or (at your option) any later version. import com.vividsolutions.jts.geom.LineString; import com.vividsolutions.jts.geom.LinearRing; import com.vividsolutions.jts.geom.Polygon; -import com.vividsolutions.jts.geom.impl.CoordinateArraySequence; import com.vividsolutions.jts.linearref.LengthLocationMap; import com.vividsolutions.jts.linearref.LinearLocation; import com.vividsolutions.jts.linearref.LocationIndexedLine; @@ -39,7 +38,9 @@ the License, or (at your option) any later version. import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import java.util.Arrays; import java.util.List; +import java.util.Objects; public class GeometryUtils { private static final Logger LOG = LoggerFactory.getLogger(GeometryUtils.class); @@ -244,10 +245,17 @@ public static Geometry shiftLineByPerpendicularVector(LineString line, double di Coordinate[] coords = new Coordinate[nPoints]; for (int i = 0; i < nPoints; i++) { - coords[i] = segments[i].lineIntersection(segments[i+1]); + double angleDiff = Math.abs(segments[i].angle() - segments[i + 1].angle()); + // if segments are sufficiently parallel use an endpoint + if (angleDiff < 0.000001) { + coords[i] = segments[i].getCoordinate(1); + } else { + coords[i] = segments[i].lineIntersection(segments[i + 1]); + } } - - return new LineString(new CoordinateArraySequence(coords), getGeometryFactory()); + // for safety + coords = Arrays.stream(coords).filter(Objects::nonNull).toArray(Coordinate[]::new); + return getGeometryFactory().createLineString(coords); } private static LineSegment makeParallelLineSegment(Coordinate p0, Coordinate p1, double distance, boolean reverse) throws TransformException { From 2e54b25d04e64a0d6c912188f10089b842680eed Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Fri, 28 Jul 2017 11:02:17 -0400 Subject: [PATCH 070/226] VGF-48 add some extra checks --- .../common/geometry/GeometryUtils.java | 32 ++++++++++++++----- 1 file changed, 24 insertions(+), 8 deletions(-) diff --git a/src/main/java/org/opentripplanner/common/geometry/GeometryUtils.java b/src/main/java/org/opentripplanner/common/geometry/GeometryUtils.java index 8cab9bda432..6ea9bd2069f 100644 --- a/src/main/java/org/opentripplanner/common/geometry/GeometryUtils.java +++ b/src/main/java/org/opentripplanner/common/geometry/GeometryUtils.java @@ -38,6 +38,7 @@ the License, or (at your option) any later version. import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.Objects; @@ -228,9 +229,19 @@ private static Coordinate[] convertPath(List path) { } public static Geometry shiftLineByPerpendicularVector(LineString line, double distance, boolean reverse) { - int nPoints = line.getNumPoints(); + // restrict coordinates to line segments that are sufficiently long + List coordList = new ArrayList<>(); + coordList.add(line.getCoordinateN(0)); + for (int i = 1; i < line.getNumPoints(); i++) { + Coordinate coord = line.getCoordinateN(i); + if (SphericalDistanceLibrary.fastDistance(coordList.get(i - 1), coord) > 0.01) { + coordList.add(coord); + } + } + + Coordinate[] p = coordList.toArray(new Coordinate[0]); + int nPoints = p.length; LineSegment[] segments = new LineSegment[nPoints + 1]; - Coordinate[] p = line.getCoordinates(); try { segments[0] = makeLineSegment(p[0], getComplementaryAngle(p[0], p[1], reverse), distance); @@ -243,19 +254,24 @@ public static Geometry shiftLineByPerpendicularVector(LineString line, double di throw new RuntimeException(tfe.getMessage()); } - Coordinate[] coords = new Coordinate[nPoints]; + List coords = new ArrayList<>(); for (int i = 0; i < nPoints; i++) { + Coordinate coord; double angleDiff = Math.abs(segments[i].angle() - segments[i + 1].angle()); // if segments are sufficiently parallel use an endpoint if (angleDiff < 0.000001) { - coords[i] = segments[i].getCoordinate(1); + coord = segments[i].getCoordinate(1); + } else { + coord = segments[i].lineIntersection(segments[i + 1]); + } + // sanity check + if (coord != null && SphericalDistanceLibrary.fastDistance(coord, p[i]) < (10.0 * distance)) { + coords.add(coord); } else { - coords[i] = segments[i].lineIntersection(segments[i + 1]); + LOG.error("Error shifting line segment {}", line); } } - // for safety - coords = Arrays.stream(coords).filter(Objects::nonNull).toArray(Coordinate[]::new); - return getGeometryFactory().createLineString(coords); + return getGeometryFactory().createLineString(coords.toArray(new Coordinate[0])); } private static LineSegment makeParallelLineSegment(Coordinate p0, Coordinate p1, double distance, boolean reverse) throws TransformException { From f0e2960e035a74b0a03695a36a6837a1ff6c3296 Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Mon, 31 Jul 2017 17:57:27 -0400 Subject: [PATCH 071/226] PatternHop supports separate pickup/dropoff value --- .../routing/edgetype/PartialPatternHop.java | 2 +- .../routing/edgetype/PatternHop.java | 42 +++++++++++++++---- .../routing/edgetype/TripPattern.java | 2 +- .../routing/flex/FlagStopCreationService.java | 29 +++++++------ 4 files changed, 51 insertions(+), 24 deletions(-) diff --git a/src/main/java/org/opentripplanner/routing/edgetype/PartialPatternHop.java b/src/main/java/org/opentripplanner/routing/edgetype/PartialPatternHop.java index df672f9e54e..93cf39acbe5 100644 --- a/src/main/java/org/opentripplanner/routing/edgetype/PartialPatternHop.java +++ b/src/main/java/org/opentripplanner/routing/edgetype/PartialPatternHop.java @@ -38,7 +38,7 @@ public class PartialPatternHop extends PatternHop { private LineString displayGeometry; public PartialPatternHop(PatternHop hop, PatternStopVertex from, PatternStopVertex to, Stop fromStop, Stop toStop, double startIndex, double endIndex, double buffer) { - super(from, to, fromStop, toStop, hop.getStopIndex(), hop.getContinuousStops(), false); + super(from, to, fromStop, toStop, hop.getStopIndex(), hop.getRequestStops(), false); LengthIndexedLine line = new LengthIndexedLine(hop.getGeometry()); this.startIndex = startIndex; this.endIndex = endIndex; diff --git a/src/main/java/org/opentripplanner/routing/edgetype/PatternHop.java b/src/main/java/org/opentripplanner/routing/edgetype/PatternHop.java index 8ac8b2b98c2..7e3dcb0c22a 100644 --- a/src/main/java/org/opentripplanner/routing/edgetype/PatternHop.java +++ b/src/main/java/org/opentripplanner/routing/edgetype/PatternHop.java @@ -37,33 +37,53 @@ the License, or (at your option) any later version. */ public class PatternHop extends TablePatternEdge implements OnboardEdge, HopEdge { + private enum RequestStops { + NONE, PICKUP, DROPOFF, BOTH; + private static RequestStops fromGtfs(int continuousPickup, int continuousDropoff) { + if (continuousDropoff > 0 && continuousPickup > 0) + return BOTH; + else if (continuousDropoff > 0) + return DROPOFF; + else if (continuousDropoff > 0) + return PICKUP; + return NONE; + } + private boolean pickUp() { + return this.equals(PICKUP) || this.equals(BOTH); + } + private boolean dropOff() { + return this.equals(DROPOFF) || this.equals(BOTH); + } + } + private static final long serialVersionUID = 1L; private Stop begin, end; - private int continuousStops; + private RequestStops requestStops; public int stopIndex; private LineString geometry = null; - protected PatternHop(PatternStopVertex from, PatternStopVertex to, Stop begin, Stop end, int stopIndex, int continuousStops, boolean setInPattern) { + protected PatternHop(PatternStopVertex from, PatternStopVertex to, Stop begin, Stop end, int stopIndex, RequestStops requestStops, boolean setInPattern) { super(from, to); this.begin = begin; this.end = end; this.stopIndex = stopIndex; if (setInPattern) getPattern().setPatternHop(stopIndex, this); - this.continuousStops = continuousStops; + this.requestStops = requestStops; } - public PatternHop(PatternStopVertex from, PatternStopVertex to, Stop begin, Stop end, int stopIndex, int continuousStops) { - this(from, to, begin, end, stopIndex, continuousStops, true); + public PatternHop(PatternStopVertex from, PatternStopVertex to, Stop begin, Stop end, int stopIndex, int continuousPickup, int continuousDropoff) { + this(from, to, begin, end, stopIndex, RequestStops.fromGtfs(continuousPickup, continuousDropoff), true); } public PatternHop(PatternStopVertex from, PatternStopVertex to, Stop begin, Stop end, int stopIndex) { - this(from, to, begin, end, stopIndex, 0); + this(from, to, begin, end, stopIndex, 0, 0); } + // made more accurate public double getDistance() { double distance = 0; @@ -210,12 +230,16 @@ public int getStopIndex() { return stopIndex; } - public int getContinuousStops() { - return continuousStops; + public RequestStops getRequestStops() { + return requestStops; } public boolean hasFlagStopService() { - return continuousStops > 0; + return !requestStops.equals(RequestStops.NONE); + } + + public boolean canRequestService(boolean boarding) { + return boarding ? requestStops.pickUp() : requestStops.dropOff(); } } diff --git a/src/main/java/org/opentripplanner/routing/edgetype/TripPattern.java b/src/main/java/org/opentripplanner/routing/edgetype/TripPattern.java index 99dba671e0f..80625e0633b 100644 --- a/src/main/java/org/opentripplanner/routing/edgetype/TripPattern.java +++ b/src/main/java/org/opentripplanner/routing/edgetype/TripPattern.java @@ -521,7 +521,7 @@ public void makePatternVerticesAndEdges(Graph graph, Map patternHopStateMap) { + private void addStateToPatternHopStateMap(RoutingRequest rr, Edge edge, State s, Map patternHopStateMap) { Collection hops = graph.index.getHopsForEdge(edge); - for(PatternHop hop : hops){ - if(patternHopStateMap.containsKey(hop)){ + for(PatternHop hop : hops) { + if (patternHopStateMap.containsKey(hop)) { State oldState = patternHopStateMap.get(hop); if(oldState.getBackState().getWeight() < s.getBackState().getWeight()) { continue; } } - patternHopStateMap.put(hop, s); + if (hop.canRequestService(!rr.arriveBy)) { + patternHopStateMap.put(hop, s); + } } } @@ -235,13 +236,15 @@ private void addStateToPatternHopStateMap(Edge edge, State s, Map patternHopStateMap) { List flagStopEdges = getClosestStreetEdges(initVertex.getCoordinate()); - for(StreetEdge streetEdge : flagStopEdges){ - State nearbyState = new State(initVertex, rr); - nearbyState.backEdge = streetEdge; - Collection hops = graph.index.getHopsForEdge(streetEdge); - for(PatternHop hop : hops){ - patternHopStateMap.put(hop, nearbyState); - } + for(StreetEdge streetEdge : flagStopEdges){ + State nearbyState = new State(initVertex, rr); + nearbyState.backEdge = streetEdge; + Collection hops = graph.index.getHopsForEdge(streetEdge); + for(PatternHop hop : hops) { + if (hop.canRequestService(!rr.arriveBy)) { + patternHopStateMap.put(hop, nearbyState); + } + } } } From 16f5bbf1acde6b39cf8c728260a075bdf023896c Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Sun, 30 Jul 2017 21:00:40 -0400 Subject: [PATCH 072/226] Deviated route service - Totally refactored flag stops so I could re-use code - Add street names - Legs can be mixed between flag stops/deviated-route Todo - Possible max DRT search area should not be hardcoded - Do we need walk-to-DRT - Ensure API contains everything UI needs - Possible: tune weightings between flag stop and deviated-route --- pom.xml | 2 +- .../GraphPathToTripPlanConverter.java | 6 +- .../module/FlexDirectTransferGenerator.java | 2 +- .../opentripplanner/model/StopPattern.java | 14 + .../routing/core/RoutingRequest.java | 5 + .../routing/edgetype/PatternHop.java | 15 +- .../routing/edgetype/Timetable.java | 8 +- .../routing/edgetype/TripPattern.java | 2 +- .../edgetype/flex/FlexTransitBoardAlight.java | 11 +- .../{ => flex}/PartialPatternHop.java | 100 +++++- .../flex/TemporaryPartialPatternHop.java | 29 +- .../flex/TemporaryTransitBoardAlight.java | 1 - .../flex/DeviatedRouteGraphModifier.java | 121 +++++++ .../routing/flex/FlagStopCreationService.java | 301 ---------------- .../routing/flex/FlagStopGraphModifier.java | 179 ++++++++++ .../routing/flex/GtfsFlexGraphModifier.java | 326 ++++++++++++++++++ .../routing/impl/GraphPathFinder.java | 12 +- .../vertextype/flex/TemporaryTransitStop.java | 15 +- 18 files changed, 789 insertions(+), 360 deletions(-) rename src/main/java/org/opentripplanner/routing/edgetype/{ => flex}/PartialPatternHop.java (55%) create mode 100644 src/main/java/org/opentripplanner/routing/flex/DeviatedRouteGraphModifier.java delete mode 100644 src/main/java/org/opentripplanner/routing/flex/FlagStopCreationService.java create mode 100644 src/main/java/org/opentripplanner/routing/flex/FlagStopGraphModifier.java create mode 100644 src/main/java/org/opentripplanner/routing/flex/GtfsFlexGraphModifier.java diff --git a/pom.xml b/pom.xml index 21eb8fcea46..d2035e21dc8 100644 --- a/pom.xml +++ b/pom.xml @@ -650,7 +650,7 @@ org.onebusaway onebusaway-gtfs - 1.3.5.3-vt + 1.3.5.4-vt-SNAPSHOT diff --git a/src/main/java/org/opentripplanner/api/resource/GraphPathToTripPlanConverter.java b/src/main/java/org/opentripplanner/api/resource/GraphPathToTripPlanConverter.java index 71ca8ff4ab3..481fb84cd1f 100644 --- a/src/main/java/org/opentripplanner/api/resource/GraphPathToTripPlanConverter.java +++ b/src/main/java/org/opentripplanner/api/resource/GraphPathToTripPlanConverter.java @@ -27,6 +27,7 @@ the License, or (props, at your option) any later version. import org.opentripplanner.routing.alertpatch.AlertPatch; import org.opentripplanner.routing.core.*; import org.opentripplanner.routing.edgetype.*; +import org.opentripplanner.routing.edgetype.flex.PartialPatternHop; import org.opentripplanner.routing.error.TrivialPathException; import org.opentripplanner.routing.graph.Edge; import org.opentripplanner.routing.graph.Graph; @@ -210,7 +211,7 @@ private static Calendar makeCalendar(State state) { * @param edges The array of input edges * @return The coordinates of the points on the edges */ - private static CoordinateArrayListSequence makeCoordinates(Edge[] edges) { + public static CoordinateArrayListSequence makeCoordinates(Edge[] edges) { CoordinateArrayListSequence coordinates = new CoordinateArrayListSequence(); for (Edge edge : edges) { @@ -715,6 +716,9 @@ private static Place makePlace(State state, Vertex vertex, Edge edge, Stop stop, place.flagStopArea = PolylineEncoder.createEncodings(geom); } place.boardAlightType = BoardAlightType.FLAG_STOP; + if ((endOfLeg && hop.isDeviatedRouteAlight()) || (!endOfLeg && hop.isDeviatedRouteBoard())) { + place.boardAlightType = BoardAlightType.DEVIATED; + } } } else if(vertex instanceof BikeRentalStationVertex) { place.bikeShareId = ((BikeRentalStationVertex) vertex).getId(); diff --git a/src/main/java/org/opentripplanner/graph_builder/module/FlexDirectTransferGenerator.java b/src/main/java/org/opentripplanner/graph_builder/module/FlexDirectTransferGenerator.java index 082e7249701..d7d0a8bd0cc 100644 --- a/src/main/java/org/opentripplanner/graph_builder/module/FlexDirectTransferGenerator.java +++ b/src/main/java/org/opentripplanner/graph_builder/module/FlexDirectTransferGenerator.java @@ -33,7 +33,7 @@ the License, or (at your option) any later version. import org.opentripplanner.routing.core.RoutingRequest; import org.opentripplanner.routing.core.State; import org.opentripplanner.routing.core.TraverseMode; -import org.opentripplanner.routing.edgetype.PartialPatternHop; +import org.opentripplanner.routing.edgetype.flex.PartialPatternHop; import org.opentripplanner.routing.edgetype.PatternHop; import org.opentripplanner.routing.edgetype.PreAlightEdge; import org.opentripplanner.routing.edgetype.PreBoardEdge; diff --git a/src/main/java/org/opentripplanner/model/StopPattern.java b/src/main/java/org/opentripplanner/model/StopPattern.java index b8f826c190b..655760db1b6 100644 --- a/src/main/java/org/opentripplanner/model/StopPattern.java +++ b/src/main/java/org/opentripplanner/model/StopPattern.java @@ -52,6 +52,7 @@ public class StopPattern implements Serializable { public final int[] pickups; public final int[] dropoffs; public final int[] continuousStops; + public final double[] serviceAreaRadius; public boolean equals(Object other) { if (other instanceof StopPattern) { @@ -92,12 +93,14 @@ private StopPattern (int size) { pickups = new int[size]; dropoffs = new int[size]; continuousStops = new int[size]; + serviceAreaRadius = new double[size]; } /** Assumes that stopTimes are already sorted by time. */ public StopPattern (List stopTimes) { this (stopTimes.size()); if (size == 0) return; + double lastServiceAreaRadius = 0; for (int i = 0; i < size; ++i) { StopTime stopTime = stopTimes.get(i); stops[i] = stopTime.getStop(); @@ -112,6 +115,16 @@ public StopPattern (List stopTimes) { } else { continuousStops[i] = stopTime.getContinuousStops() == -1 ? continuousStops[i-1] : stopTime.getContinuousStops(); } + + if (stopTime.getStartServiceAreaRadius() != StopTime.MISSING_VALUE) { + lastServiceAreaRadius = stopTime.getStartServiceAreaRadius(); + } + + serviceAreaRadius[i] = lastServiceAreaRadius; + + if (stopTime.getEndServiceAreaRadius() != StopTime.MISSING_VALUE) { + lastServiceAreaRadius = 0; + } } /* * TriMet GTFS has many trips that differ only in the pick/drop status of their initial and @@ -156,6 +169,7 @@ public HashCode semanticHash(HashFunction hashFunction) { hasher.putInt(pickups[hop]); hasher.putInt(dropoffs[hop + 1]); hasher.putInt(continuousStops[hop]); + hasher.putDouble(serviceAreaRadius[hop]); } return hasher.hash(); } diff --git a/src/main/java/org/opentripplanner/routing/core/RoutingRequest.java b/src/main/java/org/opentripplanner/routing/core/RoutingRequest.java index a942221a11b..d94d00949e5 100644 --- a/src/main/java/org/opentripplanner/routing/core/RoutingRequest.java +++ b/src/main/java/org/opentripplanner/routing/core/RoutingRequest.java @@ -378,6 +378,11 @@ public class RoutingRequest implements Cloneable, Serializable { */ public int flagStopExtraPenalty = 90; + /** + * Extra penalty added for deviated-route boarding/alighting + */ + public int deviatedRouteExtraPenalty = 180; + /** * Size of flag stop buffer in UI */ diff --git a/src/main/java/org/opentripplanner/routing/edgetype/PatternHop.java b/src/main/java/org/opentripplanner/routing/edgetype/PatternHop.java index 8ac8b2b98c2..46d9fe6bc50 100644 --- a/src/main/java/org/opentripplanner/routing/edgetype/PatternHop.java +++ b/src/main/java/org/opentripplanner/routing/edgetype/PatternHop.java @@ -43,11 +43,13 @@ public class PatternHop extends TablePatternEdge implements OnboardEdge, HopEdge private int continuousStops; + private double serviceAreaRadius; + public int stopIndex; private LineString geometry = null; - protected PatternHop(PatternStopVertex from, PatternStopVertex to, Stop begin, Stop end, int stopIndex, int continuousStops, boolean setInPattern) { + protected PatternHop(PatternStopVertex from, PatternStopVertex to, Stop begin, Stop end, int stopIndex, int continuousStops, double serviceAreaRadius, boolean setInPattern) { super(from, to); this.begin = begin; this.end = end; @@ -55,13 +57,14 @@ protected PatternHop(PatternStopVertex from, PatternStopVertex to, Stop begin, S if (setInPattern) getPattern().setPatternHop(stopIndex, this); this.continuousStops = continuousStops; + this.serviceAreaRadius = serviceAreaRadius; } - public PatternHop(PatternStopVertex from, PatternStopVertex to, Stop begin, Stop end, int stopIndex, int continuousStops) { - this(from, to, begin, end, stopIndex, continuousStops, true); + public PatternHop(PatternStopVertex from, PatternStopVertex to, Stop begin, Stop end, int stopIndex, int continuousStops, double serviceAreaRadius) { + this(from, to, begin, end, stopIndex, continuousStops, serviceAreaRadius, true); } public PatternHop(PatternStopVertex from, PatternStopVertex to, Stop begin, Stop end, int stopIndex) { - this(from, to, begin, end, stopIndex, 0); + this(from, to, begin, end, stopIndex, 0, 0d); } // made more accurate @@ -218,4 +221,8 @@ public boolean hasFlagStopService() { return continuousStops > 0; } + // TODO fix hasFlagStopService usage + public double getServiceAreaRadius() { + return serviceAreaRadius; + } } diff --git a/src/main/java/org/opentripplanner/routing/edgetype/Timetable.java b/src/main/java/org/opentripplanner/routing/edgetype/Timetable.java index 682dabaa794..72260f9d0f4 100644 --- a/src/main/java/org/opentripplanner/routing/edgetype/Timetable.java +++ b/src/main/java/org/opentripplanner/routing/edgetype/Timetable.java @@ -135,7 +135,7 @@ public boolean temporallyViable(ServiceDay sd, long searchTime, int bestWait, bo * @return the TripTimes object representing the (possibly updated) best trip, or null if no * trip matches both the time and other criteria. */ - public TripTimes getNextTrip(State s0, ServiceDay serviceDay, int stopIndex, boolean boarding, double flexOffsetScale) { + public TripTimes getNextTrip(State s0, ServiceDay serviceDay, int stopIndex, boolean boarding, double flexOffsetScale, int preBoardVehicleTime, int postAlightVehicleTime) { /* Search at the state's time, but relative to midnight on the given service day. */ int time = serviceDay.secondsSinceMidnight(s0.getTimeSeconds()); // NOTE the time is sometimes negative here. That is fine, we search for the first trip of the day. @@ -164,7 +164,7 @@ public TripTimes getNextTrip(State s0, ServiceDay serviceDay, int stopIndex, boo int adjustedTime = adjustTimeForTransfer(s0, currentStop, tt.trip, boarding, serviceDay, time); if (adjustedTime == -1) continue; if (boarding) { - int depTime = tt.getDepartureTime(stopIndex) + (int) Math.round(flexOffsetScale*tt.getRunningTime(stopIndex)); + int depTime = tt.getDepartureTime(stopIndex) + (int) Math.round(flexOffsetScale*tt.getRunningTime(stopIndex)) - preBoardVehicleTime; if (depTime < 0) continue; // negative values were previously used for canceled trips/passed stops/skipped stops, but // now its not sure if this check should be still in place because there is a boolean field // for canceled trips @@ -173,7 +173,7 @@ public TripTimes getNextTrip(State s0, ServiceDay serviceDay, int stopIndex, boo bestTime = depTime; } } else { - int arvTime = tt.getArrivalTime(stopIndex) + (int) Math.round(flexOffsetScale*tt.getRunningTime(stopIndex - 1)); + int arvTime = tt.getArrivalTime(stopIndex) + (int) Math.round(flexOffsetScale*tt.getRunningTime(stopIndex - 1)) + postAlightVehicleTime; if (arvTime < 0) continue; if (arvTime <= adjustedTime && arvTime > bestTime) { bestTrip = tt; @@ -217,7 +217,7 @@ public TripTimes getNextTrip(State s0, ServiceDay serviceDay, int stopIndex, boo } public TripTimes getNextTrip(State s0, ServiceDay serviceDay, int stopIndex, boolean boarding) { - return getNextTrip(s0, serviceDay, stopIndex, boarding, 0); + return getNextTrip(s0, serviceDay, stopIndex, boarding, 0, 0, 0); } /** diff --git a/src/main/java/org/opentripplanner/routing/edgetype/TripPattern.java b/src/main/java/org/opentripplanner/routing/edgetype/TripPattern.java index 99dba671e0f..1c5db4fe7e4 100644 --- a/src/main/java/org/opentripplanner/routing/edgetype/TripPattern.java +++ b/src/main/java/org/opentripplanner/routing/edgetype/TripPattern.java @@ -521,7 +521,7 @@ public void makePatternVerticesAndEdges(Graph graph, Map. */ -package org.opentripplanner.routing.edgetype; +package org.opentripplanner.routing.edgetype.flex; +import com.vividsolutions.jts.geom.Coordinate; import com.vividsolutions.jts.geom.Geometry; import com.vividsolutions.jts.geom.LineString; import com.vividsolutions.jts.linearref.LengthIndexedLine; import org.onebusaway.gtfs.model.Stop; +import org.opentripplanner.api.resource.CoordinateArrayListSequence; +import org.opentripplanner.common.geometry.GeometryUtils; import org.opentripplanner.common.geometry.SphericalDistanceLibrary; import org.opentripplanner.routing.core.RoutingRequest; import org.opentripplanner.routing.core.State; +import org.opentripplanner.routing.edgetype.PatternHop; import org.opentripplanner.routing.vertextype.PatternArriveVertex; import org.opentripplanner.routing.vertextype.PatternDepartVertex; import org.opentripplanner.routing.vertextype.PatternStopVertex; @@ -37,32 +41,86 @@ public class PartialPatternHop extends PatternHop { private Geometry alightArea; private LineString displayGeometry; + // if we have this, it's a deviated-route hop + private int startVehicleTime = 0; + private int endVehicleTime = 0; + private LineString startGeometry; + private LineString endGeometry; + + // constructor for flag stops public PartialPatternHop(PatternHop hop, PatternStopVertex from, PatternStopVertex to, Stop fromStop, Stop toStop, double startIndex, double endIndex, double buffer) { - super(from, to, fromStop, toStop, hop.getStopIndex(), hop.getContinuousStops(), false); + super(from, to, fromStop, toStop, hop.getStopIndex(), hop.getContinuousStops(), hop.getServiceAreaRadius(), false); LengthIndexedLine line = new LengthIndexedLine(hop.getGeometry()); this.startIndex = startIndex; this.endIndex = endIndex; this.percentageOfHop = (this.endIndex - this.startIndex) / line.getEndIndex(); this.originalHop = hop; this.originalHopLength = line.getEndIndex(); - setGeometry(hop, line, buffer); + setGeometry(hop, line, buffer, buffer); + } + + // constructor for deviated-route service + public PartialPatternHop(PatternHop hop, PatternStopVertex from, PatternStopVertex to, Stop fromStop, Stop toStop, double startIndex, double endIndex, + LineString startGeometry, int startVehicleTime, LineString endGeometry, int endVehicleTime, double buffer) { + super(from, to, fromStop, toStop, hop.getStopIndex(), hop.getContinuousStops(), hop.getServiceAreaRadius(), false); + + LengthIndexedLine line = new LengthIndexedLine(hop.getGeometry()); + this.startIndex = startIndex; + this.endIndex = endIndex; + this.percentageOfHop = (this.endIndex - this.startIndex) / line.getEndIndex(); + this.originalHop = hop; + this.originalHopLength = line.getEndIndex(); + this.startVehicleTime = startVehicleTime; + this.endVehicleTime = endVehicleTime; + this.startGeometry = startGeometry; + this.endGeometry = endGeometry; + + // Only area on the route will be part of display geometry. + boolean flagStopBoard = startIndex > 0 && startVehicleTime == 0; + boolean flagStopAlight = endIndex < line.getEndIndex() && endVehicleTime == 0; + setGeometry(hop, line, flagStopBoard ? buffer : 0, flagStopAlight ? buffer : 0); + + LineString transitGeometry = (LineString) line.extractLine(startIndex, endIndex); + CoordinateArrayListSequence coordinates = new CoordinateArrayListSequence(); + if (startGeometry != null) { + coordinates.extend(startGeometry.getCoordinates()); + } + coordinates.extend(transitGeometry.getCoordinates()); + if (endGeometry != null) { + coordinates.extend(endGeometry.getCoordinates()); + } + LineString geometry = GeometryUtils.getGeometryFactory().createLineString(coordinates); + setGeometry(geometry); + } + + public boolean isDeviatedRouteService() { + return startVehicleTime > 0 || endVehicleTime > 0; + } + + public boolean isDeviatedRouteBoard() { + return startVehicleTime > 0; } - private void setGeometry(PatternHop hop, LengthIndexedLine line, double buffer) { + public boolean isDeviatedRouteAlight() { + return endVehicleTime > 0; + } + + private void setGeometry(PatternHop hop, LengthIndexedLine line, double boardBuffer, double alightBuffer) { double pointsPerMeter = (line.getEndIndex() - line.getStartIndex()) / SphericalDistanceLibrary.fastLength(hop.getGeometry()); - double bufferPts = buffer * pointsPerMeter; - double start = Math.max(line.getStartIndex(), startIndex - bufferPts); - double end = Math.min(line.getEndIndex(), endIndex + bufferPts); + double boardBufferPts = boardBuffer * pointsPerMeter; + double alightBufferPts = alightBuffer * pointsPerMeter; + double start = Math.max(line.getStartIndex(), startIndex - boardBufferPts); + double end = Math.min(line.getEndIndex(), endIndex + alightBufferPts); displayGeometry = (LineString) line.extractLine(start, end); Geometry geom = line.extractLine(startIndex, endIndex); if (geom instanceof LineString) { // according to the javadocs, it is. setGeometry((LineString) geom); } - if (startIndex > line.getStartIndex() && buffer > 0) { - boardArea = line.extractLine(start, Math.min(startIndex + bufferPts, end)); + if (startIndex > line.getStartIndex() && boardBuffer > 0) { + boardArea = line.extractLine(start, Math.min(startIndex + boardBufferPts, end)); } - if (endIndex < line.getEndIndex() && buffer > 0) { - alightArea = line.extractLine(Math.max(endIndex - bufferPts, start), end); + if (endIndex < line.getEndIndex() && alightBuffer > 0) { + alightArea = line.extractLine(Math.max(endIndex - alightBufferPts, start), end); } } @@ -79,12 +137,12 @@ public static PartialPatternHop endHop(PatternHop hop, PatternDepartVertex from, @Override public double timeLowerBound(RoutingRequest options) { - return percentageOfHop * super.timeLowerBound(options); + return (percentageOfHop * super.timeLowerBound(options)) + startVehicleTime + endVehicleTime; } @Override public int getRunningTime(State s0) { - return (int) Math.round(percentageOfHop * super.getRunningTime(s0)); + return (int) Math.round(percentageOfHop * super.getRunningTime(s0)) + startVehicleTime + endVehicleTime; } public boolean isOriginalHop(PatternHop hop) { @@ -127,6 +185,22 @@ public boolean hasAlightArea() { return alightArea != null; } + public int getStartVehicleTime() { + return startVehicleTime; + } + + public int getEndVehicleTime() { + return endVehicleTime; + } + + public LineString getStartGeometry() { + return startGeometry; + } + + public LineString getEndGeometry() { + return endGeometry; + } + @Override public LineString getDisplayGeometry() { return displayGeometry; diff --git a/src/main/java/org/opentripplanner/routing/edgetype/flex/TemporaryPartialPatternHop.java b/src/main/java/org/opentripplanner/routing/edgetype/flex/TemporaryPartialPatternHop.java index f7ce68d42fa..5adcd040c93 100644 --- a/src/main/java/org/opentripplanner/routing/edgetype/flex/TemporaryPartialPatternHop.java +++ b/src/main/java/org/opentripplanner/routing/edgetype/flex/TemporaryPartialPatternHop.java @@ -13,15 +13,11 @@ the License, or (at your option) any later version. package org.opentripplanner.routing.edgetype.flex; -import com.vividsolutions.jts.linearref.LengthIndexedLine; +import com.vividsolutions.jts.geom.LineString; import org.onebusaway.gtfs.model.Stop; import org.opentripplanner.common.geometry.SphericalDistanceLibrary; -import org.opentripplanner.routing.core.RoutingRequest; -import org.opentripplanner.routing.edgetype.PartialPatternHop; import org.opentripplanner.routing.edgetype.PatternHop; import org.opentripplanner.routing.edgetype.TemporaryEdge; -import org.opentripplanner.routing.vertextype.PatternArriveVertex; -import org.opentripplanner.routing.vertextype.PatternDepartVertex; import org.opentripplanner.routing.vertextype.PatternStopVertex; public class TemporaryPartialPatternHop extends PartialPatternHop implements TemporaryEdge { @@ -29,24 +25,9 @@ public TemporaryPartialPatternHop(PatternHop hop, PatternStopVertex from, Patter super(hop, from, to, fromStop, toStop, startIndex, endIndex, buffer); } - // todo can this be smarter - // start hop is a hop from the existing origin TO a new flag destination - public static TemporaryPartialPatternHop startHop(RoutingRequest opt, PatternHop hop, PatternArriveVertex to, Stop toStop) { - LengthIndexedLine line = new LengthIndexedLine(hop.getGeometry()); - return new TemporaryPartialPatternHop(hop, (PatternStopVertex) hop.getFromVertex(), to, hop.getBeginStop(), toStop, line.getStartIndex(), line.project(to.getCoordinate()), opt.flagStopBufferSize); - } - - public static TemporaryPartialPatternHop endHop(RoutingRequest opt, PatternHop hop, PatternDepartVertex from, Stop fromStop) { - LengthIndexedLine line = new LengthIndexedLine(hop.getGeometry()); - return new TemporaryPartialPatternHop(hop, from, (PatternStopVertex) hop.getToVertex(), fromStop, hop.getEndStop(), line.project(from.getCoordinate()), line.getEndIndex(), opt.flagStopBufferSize); - } - - public TemporaryPartialPatternHop shortenEnd(RoutingRequest opt, PatternStopVertex to, Stop toStop) { - LengthIndexedLine line = new LengthIndexedLine(getOriginalHop().getGeometry()); - double endIndex = line.project(to.getCoordinate()); - if (endIndex < getStartIndex()) - return null; - return new TemporaryPartialPatternHop(getOriginalHop(), (PatternStopVertex) getFromVertex(), to, getBeginStop(), toStop, getStartIndex(), endIndex, opt.flagStopBufferSize); + public TemporaryPartialPatternHop(PatternHop hop, PatternStopVertex from, PatternStopVertex to, Stop fromStop, Stop toStop, double startIndex, double endIndex, + LineString startGeometry, int startVehicleTime, LineString endGeometry, int endVehicleTime, double buffer) { + super(hop, from, to, fromStop, toStop, startIndex, endIndex, startGeometry, startVehicleTime, endGeometry, endVehicleTime, buffer); } @Override @@ -57,6 +38,8 @@ public void dispose() { // is this hop too not-different to care about? for now lets say should be > 50 m shorter than original hop public boolean isTrivial() { + if ((isDeviatedRouteBoard() && getStartVehicleTime() < 5) || (isDeviatedRouteAlight() && getEndVehicleTime() < 5)) + return true; double length = SphericalDistanceLibrary.fastLength(getGeometry()); double parentLength = SphericalDistanceLibrary.fastLength(getOriginalHop().getGeometry()); return length + 50 >= parentLength; diff --git a/src/main/java/org/opentripplanner/routing/edgetype/flex/TemporaryTransitBoardAlight.java b/src/main/java/org/opentripplanner/routing/edgetype/flex/TemporaryTransitBoardAlight.java index b5569d28513..3ab8648c8aa 100644 --- a/src/main/java/org/opentripplanner/routing/edgetype/flex/TemporaryTransitBoardAlight.java +++ b/src/main/java/org/opentripplanner/routing/edgetype/flex/TemporaryTransitBoardAlight.java @@ -13,7 +13,6 @@ the License, or (at your option) any later version. package org.opentripplanner.routing.edgetype.flex; -import org.opentripplanner.routing.edgetype.PartialPatternHop; import org.opentripplanner.routing.edgetype.TemporaryEdge; import org.opentripplanner.routing.vertextype.PatternStopVertex; import org.opentripplanner.routing.vertextype.TransitStopArrive; diff --git a/src/main/java/org/opentripplanner/routing/flex/DeviatedRouteGraphModifier.java b/src/main/java/org/opentripplanner/routing/flex/DeviatedRouteGraphModifier.java new file mode 100644 index 00000000000..fd7e79504c1 --- /dev/null +++ b/src/main/java/org/opentripplanner/routing/flex/DeviatedRouteGraphModifier.java @@ -0,0 +1,121 @@ +/* This program is free software: you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public License + as published by the Free Software Foundation, either version 3 of + the License, or (props, at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +package org.opentripplanner.routing.flex; + +import com.vividsolutions.jts.geom.LineString; +import com.vividsolutions.jts.linearref.LengthIndexedLine; +import org.onebusaway.gtfs.model.Stop; +import org.opentripplanner.api.resource.CoordinateArrayListSequence; +import org.opentripplanner.common.geometry.GeometryUtils; +import org.opentripplanner.common.geometry.SphericalDistanceLibrary; +import org.opentripplanner.routing.algorithm.strategies.SearchTerminationStrategy; +import org.opentripplanner.routing.core.RoutingRequest; +import org.opentripplanner.routing.core.State; +import org.opentripplanner.routing.core.TraverseMode; +import org.opentripplanner.routing.edgetype.PatternHop; +import org.opentripplanner.routing.edgetype.flex.TemporaryPartialPatternHop; +import org.opentripplanner.routing.graph.Edge; +import org.opentripplanner.routing.graph.Graph; +import org.opentripplanner.routing.location.TemporaryStreetLocation; +import org.opentripplanner.routing.spt.GraphPath; +import org.opentripplanner.routing.vertextype.PatternArriveVertex; +import org.opentripplanner.routing.vertextype.PatternDepartVertex; +import org.opentripplanner.routing.vertextype.PatternStopVertex; +import org.opentripplanner.routing.vertextype.StreetVertex; + +import static org.opentripplanner.api.resource.GraphPathToTripPlanConverter.makeCoordinates; + +public class DeviatedRouteGraphModifier extends GtfsFlexGraphModifier { + + private static final int MAX_DRS_SEARCH_DIST = 1600; // could be set by data + + public DeviatedRouteGraphModifier(Graph graph) { + super(graph); + } + + @Override + public TraverseMode getMode() { + return TraverseMode.CAR; + } + + @Override + public SearchTerminationStrategy getSearchTerminationStrategy() { + return (origin, target, state, s, opt) -> { + double distance = SphericalDistanceLibrary.distance(origin.getCoordinate(), state.getVertex().getCoordinate()); + return distance > MAX_DRS_SEARCH_DIST; + }; + } + + @Override + public TemporaryPartialPatternHop makeHopNewTo(RoutingRequest opt, State state, PatternHop hop, PatternArriveVertex to, Stop toStop) { + GraphPath path = new GraphPath(state, false); + LengthIndexedLine line = new LengthIndexedLine(hop.getGeometry()); + double startIndex = line.getStartIndex(); + double endIndex = line.project(state.getBackEdge().getToVertex().getCoordinate()); + return new TemporaryPartialPatternHop(hop, (PatternStopVertex) hop.getFromVertex(), to, hop.getBeginStop(), toStop, + startIndex, endIndex, null, 0, geometry(path), path.getDuration(), opt.flagStopBufferSize); + } + + @Override + public TemporaryPartialPatternHop makeHopNewFrom(RoutingRequest opt, State state, PatternHop hop, PatternDepartVertex from, Stop fromStop) { + GraphPath path = new GraphPath(state, false); + LengthIndexedLine line = new LengthIndexedLine(hop.getGeometry()); + // state is place where we meet line + double startIndex = line.project(state.getBackEdge().getFromVertex().getCoordinate()); + double endIndex = line.getEndIndex(); + return new TemporaryPartialPatternHop(hop, from, (PatternStopVertex) hop.getToVertex(), fromStop, hop.getEndStop(), + startIndex, endIndex, geometry(path), path.getDuration(), null, 0, opt.flagStopBufferSize); + } + + @Override + public TemporaryPartialPatternHop shortenEnd(RoutingRequest opt, State state, TemporaryPartialPatternHop hop, PatternStopVertex to, Stop toStop) { + PatternHop originalHop = hop.getOriginalHop(); + GraphPath path = new GraphPath(state, false); + LengthIndexedLine line = new LengthIndexedLine(originalHop.getGeometry()); + double endIndex = line.project(state.getBackEdge().getToVertex().getCoordinate()); + if (endIndex < hop.getStartIndex()) + return null; + return new TemporaryPartialPatternHop(originalHop, (PatternStopVertex) hop.getFromVertex(), to, hop.getBeginStop(), toStop, + hop.getStartIndex(), endIndex, hop.getStartGeometry(), hop.getStartVehicleTime(), geometry(path), path.getDuration(), opt.flagStopBufferSize); + } + + @Override + public boolean checkHopAllowsBoardAlight(State s, PatternHop hop, boolean boarding) { + StreetVertex sv = findFirstStreetVertex(s); + double distance = SphericalDistanceLibrary.distance(s.getVertex().getCoordinate(), sv.getCoordinate()); + return distance < hop.getServiceAreaRadius(); + } + + // For deviated-route, we're going to have one temporary stop for the origin, and one for the destination. + @Override + public StreetVertex getLocationForTemporaryStop(State s, PatternHop hop) { + return findFirstStreetVertex(s); + } + + private StreetVertex findFirstStreetVertex(State state) { + StreetVertex v = null; + for (State s = state; s != null; s = s.getBackState()) { + if (s.getVertex() instanceof StreetVertex && ! (s.getVertex() instanceof TemporaryStreetLocation)) { + v = (StreetVertex) s.getVertex(); + } + } + return v; + } + + private static LineString geometry(GraphPath path) { + CoordinateArrayListSequence coordinates = makeCoordinates(path.edges.toArray(new Edge[0])); + return GeometryUtils.getGeometryFactory().createLineString(coordinates); + } + +} diff --git a/src/main/java/org/opentripplanner/routing/flex/FlagStopCreationService.java b/src/main/java/org/opentripplanner/routing/flex/FlagStopCreationService.java deleted file mode 100644 index 5024bc5bc32..00000000000 --- a/src/main/java/org/opentripplanner/routing/flex/FlagStopCreationService.java +++ /dev/null @@ -1,301 +0,0 @@ -/* This program is free software: you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public License - as published by the Free Software Foundation, either version 3 of - the License, or (props, at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . */ -package org.opentripplanner.routing.flex; - -import com.beust.jcommander.internal.Maps; -import com.vividsolutions.jts.geom.Coordinate; -import com.vividsolutions.jts.geom.Envelope; -import com.vividsolutions.jts.geom.LineString; -import org.onebusaway.gtfs.model.AgencyAndId; -import org.onebusaway.gtfs.model.Stop; -import org.opentripplanner.common.geometry.SphericalDistanceLibrary; -import org.opentripplanner.routing.algorithm.GenericDijkstra; -import org.opentripplanner.routing.algorithm.TraverseVisitor; -import org.opentripplanner.routing.algorithm.strategies.TrivialRemainingWeightHeuristic; -import org.opentripplanner.routing.core.RoutingRequest; -import org.opentripplanner.routing.core.State; -import org.opentripplanner.routing.core.TraverseMode; -import org.opentripplanner.routing.edgetype.PatternHop; -import org.opentripplanner.routing.edgetype.StreetEdge; -import org.opentripplanner.routing.edgetype.TemporaryEdge; -import org.opentripplanner.routing.edgetype.flex.TemporaryPartialPatternHop; -import org.opentripplanner.routing.edgetype.flex.TemporaryPreAlightEdge; -import org.opentripplanner.routing.edgetype.flex.TemporaryPreBoardEdge; -import org.opentripplanner.routing.edgetype.flex.TemporaryStreetTransitLink; -import org.opentripplanner.routing.edgetype.flex.TemporaryTransitBoardAlight; -import org.opentripplanner.routing.graph.Edge; -import org.opentripplanner.routing.graph.Graph; -import org.opentripplanner.routing.graph.Vertex; -import org.opentripplanner.routing.vertextype.StreetVertex; -import org.opentripplanner.routing.vertextype.flex.TemporaryPatternArriveVertex; -import org.opentripplanner.routing.vertextype.flex.TemporaryPatternDepartVertex; -import org.opentripplanner.routing.vertextype.flex.TemporaryTransitStop; -import org.opentripplanner.routing.vertextype.flex.TemporaryTransitStopArrive; -import org.opentripplanner.routing.vertextype.flex.TemporaryTransitStopDepart; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import java.util.ArrayList; -import java.util.Collection; -import java.util.Collections; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.TreeMap; - -/** - * Add temporary vertices/edges for flag stops. - */ -public class FlagStopCreationService { - - private static final Logger LOG = LoggerFactory.getLogger(FlagStopCreationService.class); - - private Graph graph; - - public FlagStopCreationService(Graph graph) { - this.graph = graph; - } - - public void initialize(RoutingRequest request) { - RoutingRequest forward = request.clone(); - forward.setMode(TraverseMode.WALK); - streetSearch(forward); - - RoutingRequest backward = request.clone(); - backward.setMode(TraverseMode.WALK); - backward.setArriveBy(!request.arriveBy); - streetSearch(backward); - } - - private void streetSearch(RoutingRequest rr) { - Map patternHopStateMap = Maps.newHashMap(); - GenericDijkstra gd = new GenericDijkstra(rr); - gd.setHeuristic(new TrivialRemainingWeightHeuristic()); - gd.traverseVisitor = new TraverseVisitor() { - @Override - public void visitEdge(Edge edge, State state) { - addStateToPatternHopStateMap(edge, state, patternHopStateMap); - } - - @Override - public void visitVertex(State state) { - - } - - @Override - public void visitEnqueue(State state) { - - } - }; - gd.setSearchTerminationStrategy((o, t, state, s, opt) -> state.getWalkDistance() > opt.maxWalkDistance); - - Vertex initVertex = rr.arriveBy ? rr.rctx.toVertex : rr.rctx.fromVertex; - gd.getShortestPathTree(new State(initVertex, rr)); - findFlagStopEdgesNearby(rr, initVertex, patternHopStateMap); - - Map> stateToPatternHopMap = new HashMap<>(); - for(PatternHop patternHop : patternHopStateMap.keySet()){ - State s = patternHopStateMap.get(patternHop); - if(!stateToPatternHopMap.containsKey(s)){ - stateToPatternHopMap.put(s, new ArrayList<>()); - } - stateToPatternHopMap.get(s).add(patternHop); - } - - for(State s : stateToPatternHopMap.keySet()){ - - Vertex v; - - if(s.getVertex() == initVertex){ - //the origin/destination lies along a flag stop route - LOG.debug("the origin/destination lies along a flag stop route."); - v = initVertex; - }else{ - v = rr.arriveBy ? s.getBackEdge().getToVertex() : s.getBackEdge().getFromVertex(); - } - - //if nearby, wire stop to init vertex - Stop flagStop = new Stop(); - flagStop.setId(new AgencyAndId("1", "temp_" + String.valueOf(Math.random()))); - flagStop.setLat(v.getLat()); - flagStop.setLon(v.getLon()); - flagStop.setName(s.getBackEdge().getName()); - flagStop.setLocationType(99); - TemporaryTransitStop flagTransitStop = new TemporaryTransitStop(graph, flagStop); - rr.rctx.temporaryVertices.add(flagTransitStop); - - if(rr.arriveBy) { - //reverse search - TemporaryStreetTransitLink streetTransitLink = new TemporaryStreetTransitLink(flagTransitStop, (StreetVertex)v, true); - rr.rctx.temporaryEdges.add(streetTransitLink); - - TemporaryTransitStopArrive transitStopArrive = new TemporaryTransitStopArrive(graph, flagStop, flagTransitStop); - rr.rctx.temporaryVertices.add(transitStopArrive); - TemporaryPreAlightEdge preAlightEdge = new TemporaryPreAlightEdge(transitStopArrive, flagTransitStop); - rr.rctx.temporaryEdges.add(preAlightEdge); - - for(PatternHop originalPatternHop : stateToPatternHopMap.get(s)) { - - - int stopIndex = originalPatternHop.getStopIndex() + 1; - - TemporaryPatternArriveVertex patternArriveVertex = - new TemporaryPatternArriveVertex(graph, originalPatternHop.getPattern(), stopIndex, flagStop); - rr.rctx.temporaryVertices.add(patternArriveVertex); - - Collection reverseHops = findTemporaryPatternHops(rr, originalPatternHop); - for (TemporaryPartialPatternHop reverseHop : reverseHops) { - // create new shortened hop - TemporaryPartialPatternHop newHop = reverseHop.shortenEnd(rr, patternArriveVertex, flagStop); - if (newHop == null || newHop.isTrivial()) { - if (newHop != null) - newHop.dispose(); - continue; - } - rr.rctx.temporaryEdges.add(newHop); - } - - TemporaryPartialPatternHop hop = TemporaryPartialPatternHop.startHop(rr, originalPatternHop, patternArriveVertex, flagStop); - if (hop.isTrivial()) { - hop.dispose(); - continue; - } - rr.rctx.temporaryEdges.add(hop); - - // todo - david's code has this comment. why don't I need it? - // flex point far away or is very close to the beginning or end of the hop. Leave this hop unchanged; - - /** Alighting constructor (PatternStopVertex --> TransitStopArrive) */ - TemporaryTransitBoardAlight transitBoardAlight = - new TemporaryTransitBoardAlight(patternArriveVertex, transitStopArrive, stopIndex, hop); - rr.rctx.temporaryEdges.add(transitBoardAlight); - - } - - }else{ - //forward search - - TemporaryStreetTransitLink streetTransitLink = new TemporaryStreetTransitLink((StreetVertex)v, flagTransitStop, true); - rr.rctx.temporaryEdges.add(streetTransitLink); - - TemporaryTransitStopDepart transitStopDepart = new TemporaryTransitStopDepart(graph, flagStop, flagTransitStop); - rr.rctx.temporaryVertices.add(transitStopDepart); - TemporaryPreBoardEdge temporaryPreBoardEdge = new TemporaryPreBoardEdge(flagTransitStop, transitStopDepart); - rr.rctx.temporaryEdges.add(temporaryPreBoardEdge); - - for(PatternHop originalPatternHop : stateToPatternHopMap.get(s)) { - - TemporaryPatternDepartVertex patternDepartVertex = - new TemporaryPatternDepartVertex(graph, originalPatternHop.getPattern(), originalPatternHop.getStopIndex(), flagStop); - rr.rctx.temporaryVertices.add(patternDepartVertex); - - TemporaryPartialPatternHop hop = TemporaryPartialPatternHop.endHop(rr, originalPatternHop, patternDepartVertex, flagStop); - if (hop.isTrivial()) { - hop.dispose(); - continue; - } - rr.rctx.temporaryEdges.add(hop); - - /** TransitBoardAlight: Boarding constructor (TransitStopDepart, PatternStopVertex) */ - TemporaryTransitBoardAlight transitBoardAlight = - new TemporaryTransitBoardAlight(transitStopDepart, patternDepartVertex, originalPatternHop.getStopIndex(), hop); - rr.rctx.temporaryEdges.add(transitBoardAlight); - } - } - } - } - - private void addStateToPatternHopStateMap(Edge edge, State s, Map patternHopStateMap) { - Collection hops = graph.index.getHopsForEdge(edge); - for(PatternHop hop : hops){ - if(patternHopStateMap.containsKey(hop)){ - State oldState = patternHopStateMap.get(hop); - if(oldState.getBackState().getWeight() < s.getBackState().getWeight()) { - continue; - } - } - patternHopStateMap.put(hop, s); - } - } - - /** - * Find the street edges that were split at beginning of search by StreetSplitter, check whether they are served by flag stop routes. - * This is duplicating the work done earlier by StreetSplitter, but want to minimize the number of changes introduced by flag stops. - */ - private void findFlagStopEdgesNearby(RoutingRequest rr, Vertex initVertex, Map patternHopStateMap) { - List flagStopEdges = getClosestStreetEdges(initVertex.getCoordinate()); - - for(StreetEdge streetEdge : flagStopEdges){ - State nearbyState = new State(initVertex, rr); - nearbyState.backEdge = streetEdge; - Collection hops = graph.index.getHopsForEdge(streetEdge); - for(PatternHop hop : hops){ - patternHopStateMap.put(hop, nearbyState); - } - } - } - - private Collection findTemporaryPatternHops(RoutingRequest options, PatternHop patternHop) { - Collection ret = new ArrayList(); - for (TemporaryEdge e : options.rctx.temporaryEdges) { - if (e instanceof TemporaryPartialPatternHop) { - TemporaryPartialPatternHop hop = (TemporaryPartialPatternHop) e; - if (hop.isOriginalHop(patternHop)) - ret.add(hop); - } - } - return ret; - } - - /** - * Find the nearest street edges to the given point, check if they are served by flag stop routes. - */ - private List getClosestStreetEdges(Coordinate pointLocation) { - - final double radiusDeg = SphericalDistanceLibrary.metersToDegrees(500); - - Envelope env = new Envelope(pointLocation); - - // local equirectangular projection - double lat = pointLocation.getOrdinate(1); - final double xscale = Math.cos(lat * Math.PI / 180); - - env.expandBy(radiusDeg / xscale, radiusDeg); - - Collection edges = graph.streetIndex.getEdgesForEnvelope(env); - if (edges.isEmpty()) { - return Collections.emptyList(); - } - Map> edgeDistanceMap = new TreeMap<>(); - for(Edge edge : edges){ - if(edge instanceof StreetEdge){ - LineString line = edge.getGeometry(); - double dist = SphericalDistanceLibrary.fastDistance(pointLocation, line); - double roundOff = (double) Math.round(dist * 100) / 100; - if(!edgeDistanceMap.containsKey(roundOff)) - edgeDistanceMap.put(roundOff, new ArrayList<>()); - edgeDistanceMap.get(roundOff).add((StreetEdge) edge); - } - } - - List closestEdges = edgeDistanceMap.values().iterator().next(); - List ret = new ArrayList<>(); - for(StreetEdge closestEdge : closestEdges){ - Collection patternHops = graph.index.getHopsForEdge(closestEdge); - if(patternHops.size() > 0) { - ret.add(closestEdge); - } - } - return ret; - } -} diff --git a/src/main/java/org/opentripplanner/routing/flex/FlagStopGraphModifier.java b/src/main/java/org/opentripplanner/routing/flex/FlagStopGraphModifier.java new file mode 100644 index 00000000000..bd0d2970aa6 --- /dev/null +++ b/src/main/java/org/opentripplanner/routing/flex/FlagStopGraphModifier.java @@ -0,0 +1,179 @@ +/* This program is free software: you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public License + as published by the Free Software Foundation, either version 3 of + the License, or (props, at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ +package org.opentripplanner.routing.flex; + +import com.vividsolutions.jts.geom.Coordinate; +import com.vividsolutions.jts.geom.Envelope; +import com.vividsolutions.jts.geom.LineString; +import com.vividsolutions.jts.linearref.LengthIndexedLine; +import org.onebusaway.gtfs.model.Stop; +import org.opentripplanner.common.geometry.SphericalDistanceLibrary; +import org.opentripplanner.routing.algorithm.strategies.SearchTerminationStrategy; +import org.opentripplanner.routing.core.RoutingRequest; +import org.opentripplanner.routing.core.State; +import org.opentripplanner.routing.core.TraverseMode; +import org.opentripplanner.routing.edgetype.PatternHop; +import org.opentripplanner.routing.edgetype.StreetEdge; +import org.opentripplanner.routing.edgetype.flex.TemporaryPartialPatternHop; +import org.opentripplanner.routing.graph.Edge; +import org.opentripplanner.routing.graph.Graph; +import org.opentripplanner.routing.graph.Vertex; +import org.opentripplanner.routing.vertextype.PatternArriveVertex; +import org.opentripplanner.routing.vertextype.PatternDepartVertex; +import org.opentripplanner.routing.vertextype.PatternStopVertex; +import org.opentripplanner.routing.vertextype.StreetVertex; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.Collections; +import java.util.List; +import java.util.Map; +import java.util.TreeMap; + +/** + * Add temporary vertices/edges for flag stops. + */ +public class FlagStopGraphModifier extends GtfsFlexGraphModifier { + + private static final Logger LOG = LoggerFactory.getLogger(FlagStopGraphModifier.class); + + public FlagStopGraphModifier(Graph graph) { + super(graph); + } + + @Override + public TraverseMode getMode() { + return TraverseMode.WALK; + } + + @Override + public SearchTerminationStrategy getSearchTerminationStrategy() { + return (o, t, state, s, opt) -> state.getWalkDistance() > opt.maxWalkDistance; + } + + @Override + public TemporaryPartialPatternHop makeHopNewTo(RoutingRequest opt, State state, PatternHop hop, PatternArriveVertex to, Stop toStop) { + LengthIndexedLine line = new LengthIndexedLine(hop.getGeometry()); + return new TemporaryPartialPatternHop(hop, (PatternStopVertex) hop.getFromVertex(), to, hop.getBeginStop(), toStop, line.getStartIndex(), line.project(to.getCoordinate()), opt.flagStopBufferSize); + } + + @Override + public TemporaryPartialPatternHop makeHopNewFrom(RoutingRequest opt, State state, PatternHop hop, PatternDepartVertex from, Stop fromStop) { + LengthIndexedLine line = new LengthIndexedLine(hop.getGeometry()); + return new TemporaryPartialPatternHop(hop, from, (PatternStopVertex) hop.getToVertex(), fromStop, hop.getEndStop(), line.project(from.getCoordinate()), line.getEndIndex(), opt.flagStopBufferSize); + } + + @Override + public TemporaryPartialPatternHop shortenEnd(RoutingRequest opt, State state, TemporaryPartialPatternHop hop, PatternStopVertex to, Stop toStop) { + PatternHop originalHop = hop.getOriginalHop(); + LengthIndexedLine line = new LengthIndexedLine(originalHop.getGeometry()); + double endIndex = line.project(to.getCoordinate()); + if (endIndex < hop.getStartIndex()) + return null; + return new TemporaryPartialPatternHop(originalHop, (PatternStopVertex) hop.getFromVertex(), to, hop.getBeginStop(), toStop, hop.getStartIndex(), endIndex, + hop.getStartGeometry(), hop.getStartVehicleTime(), null, 0, opt.flagStopBufferSize); + } + + @Override + public void findExtraHops(RoutingRequest rr, Map patternHopStateMap) { + Vertex initVertex = rr.arriveBy ? rr.rctx.toVertex : rr.rctx.fromVertex; + findFlagStopEdgesNearby(rr, initVertex, patternHopStateMap); + } + + @Override + public StreetVertex getLocationForTemporaryStop(State s, PatternHop hop) { + RoutingRequest rr = s.getOptions(); + Vertex initVertex = rr.arriveBy ? rr.rctx.toVertex : rr.rctx.fromVertex; + + Vertex v; + if(s.getVertex() == initVertex){ + //the origin/destination lies along a flag stop route + LOG.debug("the origin/destination lies along a flag stop route."); + v = initVertex; + } else { + v = rr.arriveBy ? s.getBackEdge().getToVertex() : s.getBackEdge().getFromVertex(); + } + + // wire stop to init vertex + return (StreetVertex) v; + } + + // TODO change when f0e2960e035a7 is merged + @Override + public boolean checkHopAllowsBoardAlight(State state, PatternHop hop, boolean boarding) { + return true; + } + + /** + * Find the street edges that were split at beginning of search by StreetSplitter, check whether they are served by flag stop routes. + * This is duplicating the work done earlier by StreetSplitter, but want to minimize the number of changes introduced by flag stops. + */ + private void findFlagStopEdgesNearby(RoutingRequest rr, Vertex initVertex, Map patternHopStateMap) { + List flagStopEdges = getClosestStreetEdges(initVertex.getCoordinate()); + + for(StreetEdge streetEdge : flagStopEdges){ + State nearbyState = new State(initVertex, rr); + nearbyState.backEdge = streetEdge; + Collection hops = graph.index.getHopsForEdge(streetEdge); + for (PatternHop hop : hops) { + if (checkHopAllowsBoardAlight(nearbyState, hop, !rr.arriveBy)) { + patternHopStateMap.put(hop, nearbyState); + } + } + } + } + + /** + * Find the nearest street edges to the given point, check if they are served by flag stop routes. + */ + private List getClosestStreetEdges(Coordinate pointLocation) { + + final double radiusDeg = SphericalDistanceLibrary.metersToDegrees(500); + + Envelope env = new Envelope(pointLocation); + + // local equirectangular projection + double lat = pointLocation.getOrdinate(1); + final double xscale = Math.cos(lat * Math.PI / 180); + + env.expandBy(radiusDeg / xscale, radiusDeg); + + Collection edges = graph.streetIndex.getEdgesForEnvelope(env); + if (edges.isEmpty()) { + return Collections.emptyList(); + } + Map> edgeDistanceMap = new TreeMap<>(); + for(Edge edge : edges){ + if(edge instanceof StreetEdge){ + LineString line = edge.getGeometry(); + double dist = SphericalDistanceLibrary.fastDistance(pointLocation, line); + double roundOff = (double) Math.round(dist * 100) / 100; + if(!edgeDistanceMap.containsKey(roundOff)) + edgeDistanceMap.put(roundOff, new ArrayList<>()); + edgeDistanceMap.get(roundOff).add((StreetEdge) edge); + } + } + + List closestEdges = edgeDistanceMap.values().iterator().next(); + List ret = new ArrayList<>(); + for(StreetEdge closestEdge : closestEdges){ + Collection patternHops = graph.index.getHopsForEdge(closestEdge); + if(patternHops.size() > 0) { + ret.add(closestEdge); + } + } + return ret; + } +} diff --git a/src/main/java/org/opentripplanner/routing/flex/GtfsFlexGraphModifier.java b/src/main/java/org/opentripplanner/routing/flex/GtfsFlexGraphModifier.java new file mode 100644 index 00000000000..f299bc21284 --- /dev/null +++ b/src/main/java/org/opentripplanner/routing/flex/GtfsFlexGraphModifier.java @@ -0,0 +1,326 @@ +/* This program is free software: you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public License + as published by the Free Software Foundation, either version 3 of + the License, or (props, at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ +package org.opentripplanner.routing.flex; + +import com.google.common.collect.Iterables; +import com.google.common.collect.Maps; +import org.apache.commons.math3.util.Pair; +import org.onebusaway.gtfs.model.AgencyAndId; +import org.onebusaway.gtfs.model.Stop; +import org.opentripplanner.routing.algorithm.GenericDijkstra; +import org.opentripplanner.routing.algorithm.TraverseVisitor; +import org.opentripplanner.routing.algorithm.strategies.SearchTerminationStrategy; +import org.opentripplanner.routing.algorithm.strategies.TrivialRemainingWeightHeuristic; +import org.opentripplanner.routing.core.RoutingContext; +import org.opentripplanner.routing.core.RoutingRequest; +import org.opentripplanner.routing.core.State; +import org.opentripplanner.routing.core.TraverseMode; +import org.opentripplanner.routing.edgetype.PatternHop; +import org.opentripplanner.routing.edgetype.StreetEdge; +import org.opentripplanner.routing.edgetype.TemporaryEdge; +import org.opentripplanner.routing.edgetype.flex.TemporaryPartialPatternHop; +import org.opentripplanner.routing.edgetype.flex.TemporaryPreAlightEdge; +import org.opentripplanner.routing.edgetype.flex.TemporaryPreBoardEdge; +import org.opentripplanner.routing.edgetype.flex.TemporaryStreetTransitLink; +import org.opentripplanner.routing.edgetype.flex.TemporaryTransitBoardAlight; +import org.opentripplanner.routing.graph.Edge; +import org.opentripplanner.routing.graph.Graph; +import org.opentripplanner.routing.graph.Vertex; +import org.opentripplanner.routing.vertextype.PatternArriveVertex; +import org.opentripplanner.routing.vertextype.PatternDepartVertex; +import org.opentripplanner.routing.vertextype.PatternStopVertex; +import org.opentripplanner.routing.vertextype.StreetVertex; +import org.opentripplanner.routing.vertextype.TransitStopArrive; +import org.opentripplanner.routing.vertextype.TransitStopDepart; +import org.opentripplanner.routing.vertextype.flex.TemporaryPatternArriveVertex; +import org.opentripplanner.routing.vertextype.flex.TemporaryPatternDepartVertex; +import org.opentripplanner.routing.vertextype.flex.TemporaryTransitStop; +import org.opentripplanner.routing.vertextype.flex.TemporaryTransitStopArrive; +import org.opentripplanner.routing.vertextype.flex.TemporaryTransitStopDepart; +import org.opentripplanner.util.I18NString; +import org.opentripplanner.util.LocalizedString; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.Locale; +import java.util.Map; +import java.util.stream.Collectors; + +/** + * Factor out shared code for flex stops + */ +public abstract class GtfsFlexGraphModifier { + + private static final Logger LOG = LoggerFactory.getLogger(GtfsFlexGraphModifier.class); + + protected Graph graph; + + protected GtfsFlexGraphModifier(Graph graph) { + this.graph = graph; + } + + /* + * overall pattern - do a search according to some parameters. based on the result of that search, make stops + * + */ + + public abstract TraverseMode getMode(); + + public abstract SearchTerminationStrategy getSearchTerminationStrategy(); + + // this the core of what's different: how the hops are created + + // Given an existing pattern hop (s, t), let's say a new hop (s', t) is a START hop and a new hop (s, t') is an END hop + + // start hop is a hop from the existing origin TO a new flag destination + public abstract TemporaryPartialPatternHop makeHopNewTo(RoutingRequest opt, State state, PatternHop hop, PatternArriveVertex to, Stop toStop); + + public abstract TemporaryPartialPatternHop makeHopNewFrom(RoutingRequest opt, State state, PatternHop hop, PatternDepartVertex from, Stop fromStop); + + public abstract TemporaryPartialPatternHop shortenEnd(RoutingRequest opt, State state, TemporaryPartialPatternHop hop, PatternStopVertex to, Stop toStop); + + // true if we can add an extra stop on this hop, false otherwise + public abstract boolean checkHopAllowsBoardAlight(State state, PatternHop hop, boolean boarding); + + public abstract StreetVertex getLocationForTemporaryStop(State s, PatternHop hop); + + private Map temporaryTransitStopsForLocation = Maps.newHashMap(); + + public void createForwardHops(RoutingRequest request) { + RoutingRequest forward = request.clone(); + forward.setMode(getMode()); + streetSearch(forward); + } + + public void createBackwardHops(RoutingRequest request) { + RoutingRequest backward = request.clone(); + backward.setMode(getMode()); + backward.setArriveBy(!request.arriveBy); + streetSearch(backward); + } + + private void streetSearch(RoutingRequest rr) { + for(Pair p : getClosestPatternHops(rr)) { + State s = p.getKey(); + PatternHop hop = p.getValue(); + TemporaryTransitStop flagTransitStop = getTemporaryStop(s, hop); + if (rr.arriveBy) { + createHopsToTemporaryStop(rr, s, flagTransitStop, hop); + } else { + createHopsFromTemporaryStop(rr, s, flagTransitStop, hop); + } + } + } + + private TemporaryTransitStop getTemporaryStop(State s, PatternHop hop) { + StreetVertex streetVertex = getLocationForTemporaryStop(s, hop); + if (temporaryTransitStopsForLocation.get(streetVertex) == null) { + String name = findName(s, streetVertex, s.getOptions().locale); + TemporaryTransitStop stop = createTemporaryTransitStop(name, streetVertex, s.getContext()); + temporaryTransitStopsForLocation.put(streetVertex, stop); + return stop; + } + return temporaryTransitStopsForLocation.get(streetVertex); + } + + private String findName(State state, StreetVertex vertex, Locale locale) { + I18NString unnamed = new LocalizedString("unnamedStreet", (String[]) null); + I18NString name = vertex.getIntersectionName(locale); + if (!name.equals(unnamed)) { + return name.toString(); + } + for (Edge e : Iterables.concat(vertex.getIncoming(), vertex.getOutgoing())) { + if (e instanceof StreetEdge) { + return e.getName(locale); + } + } + if (state.backEdge instanceof StreetEdge) { + return state.backEdge.getName(locale); + } + return unnamed.toString(); + } + + private Collection> getClosestPatternHops(RoutingRequest rr) { + Map patternHopStateMap = Maps.newHashMap(); + GenericDijkstra gd = new GenericDijkstra(rr); + gd.setHeuristic(new TrivialRemainingWeightHeuristic()); + gd.traverseVisitor = new TraverseVisitor() { + @Override + public void visitEdge(Edge edge, State state) { + addStateToPatternHopStateMap(edge, state, patternHopStateMap); + } + + @Override + public void visitVertex(State state) { + } + + @Override + public void visitEnqueue(State state) { + } + }; + gd.setSearchTerminationStrategy(getSearchTerminationStrategy()); + + Vertex initVertex = rr.arriveBy ? rr.rctx.toVertex : rr.rctx.fromVertex; + gd.getShortestPathTree(new State(initVertex, rr)); + findExtraHops(rr, patternHopStateMap); + + return patternHopStateMap.entrySet() + .stream() + .map(e -> new Pair<>(e.getValue(), e.getKey())) + .collect(Collectors.toList()); + } + + // optional hook to get extra hops in there, e.g. for flag stops where start/end vertices can be ON hop. + public void findExtraHops(RoutingRequest rr, Map patternHopStateMap) { + } + + private TemporaryTransitStop createTemporaryTransitStop(String name, StreetVertex v, RoutingContext rctx) { + Stop flagStop = new Stop(); + flagStop.setId(new AgencyAndId("1", "temp_" + String.valueOf(Math.random()))); + flagStop.setLat(v.getLat()); + flagStop.setLon(v.getLon()); + flagStop.setName(name); + flagStop.setLocationType(99); + TemporaryTransitStop flagTransitStop = new TemporaryTransitStop(graph, flagStop, v); + rctx.temporaryVertices.add(flagTransitStop); + return flagTransitStop; + } + + private void createHopsToTemporaryStop(RoutingRequest rr, State state, TemporaryTransitStop flagTransitStop, PatternHop originalPatternHop) { + Stop flagStop = flagTransitStop.getStop(); + + TransitStopArrive transitStopArrive; + if (flagTransitStop.getDegreeOut() == 0) { + TemporaryStreetTransitLink streetTransitLink = new TemporaryStreetTransitLink(flagTransitStop, flagTransitStop.getStreetVertex(), true); + rr.rctx.temporaryEdges.add(streetTransitLink); + + transitStopArrive = new TemporaryTransitStopArrive(graph, flagStop, flagTransitStop); + rr.rctx.temporaryVertices.add(transitStopArrive); + TemporaryPreAlightEdge preAlightEdge = new TemporaryPreAlightEdge(transitStopArrive, flagTransitStop); + rr.rctx.temporaryEdges.add(preAlightEdge); + + flagTransitStop.arriveVertex = transitStopArrive; + } else { + transitStopArrive = flagTransitStop.arriveVertex; + } + + int stopIndex = originalPatternHop.getStopIndex() + 1; + + Collection reverseHops = findTemporaryPatternHops(rr, originalPatternHop); + for (TemporaryPartialPatternHop reverseHop : reverseHops) { + // create new shortened hop + TemporaryPatternArriveVertex patternArriveVertex = + new TemporaryPatternArriveVertex(graph, originalPatternHop.getPattern(), stopIndex, flagStop); + rr.rctx.temporaryVertices.add(patternArriveVertex); + + TemporaryPartialPatternHop newHop = shortenEnd(rr, state, reverseHop, patternArriveVertex, flagStop); + if (newHop == null || newHop.isTrivial()) { + if (newHop != null) + newHop.dispose(); + continue; + } + rr.rctx.temporaryEdges.add(newHop); + + TemporaryTransitBoardAlight transitBoardAlight = + new TemporaryTransitBoardAlight(patternArriveVertex, transitStopArrive, stopIndex, newHop); + rr.rctx.temporaryEdges.add(transitBoardAlight); + } + + TemporaryPatternArriveVertex patternArriveVertex = + new TemporaryPatternArriveVertex(graph, originalPatternHop.getPattern(), stopIndex, flagStop); + rr.rctx.temporaryVertices.add(patternArriveVertex); + + TemporaryPartialPatternHop hop = makeHopNewTo(rr, state, originalPatternHop, patternArriveVertex, flagStop); + if (hop.isTrivial()) { + hop.dispose(); + return; + } + rr.rctx.temporaryEdges.add(hop); + + // todo - david's code has this comment. why don't I need it? + // flex point far away or is very close to the beginning or end of the hop. Leave this hop unchanged; + + /** Alighting constructor (PatternStopVertex --> TransitStopArrive) */ + TemporaryTransitBoardAlight transitBoardAlight = + new TemporaryTransitBoardAlight(patternArriveVertex, transitStopArrive, stopIndex, hop); + rr.rctx.temporaryEdges.add(transitBoardAlight); + + } + + private void createHopsFromTemporaryStop(RoutingRequest rr, State state, TemporaryTransitStop flagTransitStop, PatternHop originalPatternHop) { + Stop flagStop = flagTransitStop.getStop(); + + TransitStopDepart transitStopDepart; + if (flagTransitStop.getDegreeIn() == 0) { + TemporaryStreetTransitLink streetTransitLink = new TemporaryStreetTransitLink(flagTransitStop.getStreetVertex(), flagTransitStop, true); + rr.rctx.temporaryEdges.add(streetTransitLink); + + transitStopDepart = new TemporaryTransitStopDepart(graph, flagStop, flagTransitStop); + rr.rctx.temporaryVertices.add(transitStopDepart); + TemporaryPreBoardEdge temporaryPreBoardEdge = new TemporaryPreBoardEdge(flagTransitStop, transitStopDepart); + rr.rctx.temporaryEdges.add(temporaryPreBoardEdge); + + flagTransitStop.departVertex = transitStopDepart; + } else { + transitStopDepart = flagTransitStop.departVertex; + } + + TemporaryPatternDepartVertex patternDepartVertex = + new TemporaryPatternDepartVertex(graph, originalPatternHop.getPattern(), originalPatternHop.getStopIndex(), flagStop); + rr.rctx.temporaryVertices.add(patternDepartVertex); + + TemporaryPartialPatternHop hop = makeHopNewFrom(rr, state, originalPatternHop, patternDepartVertex, flagStop); + if (hop.isTrivial()) { + hop.dispose(); + return; + } + rr.rctx.temporaryEdges.add(hop); + + /** TransitBoardAlight: Boarding constructor (TransitStopDepart, PatternStopVertex) */ + TemporaryTransitBoardAlight transitBoardAlight = + new TemporaryTransitBoardAlight(transitStopDepart, patternDepartVertex, originalPatternHop.getStopIndex(), hop); + rr.rctx.temporaryEdges.add(transitBoardAlight); + } + + private void addStateToPatternHopStateMap(Edge edge, State s, Map patternHopStateMap) { + Collection hops = graph.index.getHopsForEdge(edge); + for(PatternHop hop : hops){ + if(patternHopStateMap.containsKey(hop)){ + State oldState = patternHopStateMap.get(hop); + if(oldState.getBackState().getWeight() < s.getBackState().getWeight()) { + continue; + } + } + if (checkHopAllowsBoardAlight(s, hop, !s.getOptions().arriveBy)) { + patternHopStateMap.put(hop, s); + } + } + } + + + private Collection findTemporaryPatternHops(RoutingRequest options, PatternHop patternHop) { + Collection ret = new ArrayList(); + for (TemporaryEdge e : options.rctx.temporaryEdges) { + if (e instanceof TemporaryPartialPatternHop) { + TemporaryPartialPatternHop hop = (TemporaryPartialPatternHop) e; + if (hop.isOriginalHop(patternHop)) + ret.add(hop); + } + } + return ret; + } + + +} diff --git a/src/main/java/org/opentripplanner/routing/impl/GraphPathFinder.java b/src/main/java/org/opentripplanner/routing/impl/GraphPathFinder.java index ab050aa943c..4c41f1d71e0 100644 --- a/src/main/java/org/opentripplanner/routing/impl/GraphPathFinder.java +++ b/src/main/java/org/opentripplanner/routing/impl/GraphPathFinder.java @@ -27,7 +27,8 @@ the License, or (at your option) any later version. import org.opentripplanner.routing.edgetype.LegSwitchingEdge; import org.opentripplanner.routing.error.PathNotFoundException; import org.opentripplanner.routing.error.VertexNotFoundException; -import org.opentripplanner.routing.flex.FlagStopCreationService; +import org.opentripplanner.routing.flex.DeviatedRouteGraphModifier; +import org.opentripplanner.routing.flex.FlagStopGraphModifier; import org.opentripplanner.routing.graph.Edge; import org.opentripplanner.routing.graph.Vertex; import org.opentripplanner.routing.spt.DominanceFunction; @@ -137,8 +138,13 @@ public List getPaths(RoutingRequest options) { if (options.maxWalkDistance == Double.MAX_VALUE) options.maxWalkDistance = DEFAULT_MAX_WALK; if (options.maxWalkDistance > CLAMP_MAX_WALK) options.maxWalkDistance = CLAMP_MAX_WALK; if (options.modes.isTransit() && router.graph.useFlexService) { - // create temporary flex stops (just once even if we run multiple searches) - new FlagStopCreationService(router.graph).initialize(options); + // create temporary flex stops/hops (just once even if we run multiple searches) + FlagStopGraphModifier svc1 = new FlagStopGraphModifier(router.graph); + DeviatedRouteGraphModifier svc2 = new DeviatedRouteGraphModifier(router.graph); + svc1.createForwardHops(options); + svc2.createForwardHops(options); + svc1.createBackwardHops(options); + svc2.createBackwardHops(options); } long searchBeginTime = System.currentTimeMillis(); LOG.debug("BEGIN SEARCH"); diff --git a/src/main/java/org/opentripplanner/routing/vertextype/flex/TemporaryTransitStop.java b/src/main/java/org/opentripplanner/routing/vertextype/flex/TemporaryTransitStop.java index 483b62e4523..96b2888e99b 100644 --- a/src/main/java/org/opentripplanner/routing/vertextype/flex/TemporaryTransitStop.java +++ b/src/main/java/org/opentripplanner/routing/vertextype/flex/TemporaryTransitStop.java @@ -15,13 +15,21 @@ the License, or (at your option) any later version. import com.google.common.collect.Iterables; import org.onebusaway.gtfs.model.Stop; import org.opentripplanner.routing.edgetype.TemporaryEdge; +import org.opentripplanner.routing.edgetype.flex.TemporaryTransitBoardAlight; +import org.opentripplanner.routing.graph.Edge; import org.opentripplanner.routing.graph.Graph; +import org.opentripplanner.routing.vertextype.StreetVertex; import org.opentripplanner.routing.vertextype.TemporaryVertex; import org.opentripplanner.routing.vertextype.TransitStop; public class TemporaryTransitStop extends TransitStop implements TemporaryVertex { - public TemporaryTransitStop(Graph graph, Stop stop) { + + // stop is *at* a street vertex + private StreetVertex streetVertex; + + public TemporaryTransitStop(Graph graph, Stop stop, StreetVertex streetVertex) { super(graph, stop); + this.streetVertex = streetVertex; } @Override @@ -35,4 +43,9 @@ public void dispose() { ((TemporaryEdge) temp).dispose(); } } + + public StreetVertex getStreetVertex() { + return streetVertex; + } + } From 3986cf59ba9b6c61f37cf05a3810bfa35b073300 Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Mon, 7 Aug 2017 22:10:21 -0400 Subject: [PATCH 073/226] Some cleanup/bugfixes post-merge --- .../GraphPathToTripPlanConverter.java | 4 +- .../common/geometry/GeometryUtils.java | 2 +- .../opentripplanner/routing/core/State.java | 2 - .../routing/core/StateData.java | 4 -- .../routing/edgetype/PatternHop.java | 45 +++------------ .../routing/edgetype/TripPattern.java | 4 +- .../edgetype/flex/PartialPatternHop.java | 11 +++- .../edgetype/flex/TemporaryPatternHop.java | 57 ------------------- .../routing/flex/FlagStopGraphModifier.java | 3 +- .../routing/flex/GtfsFlexGraphModifier.java | 4 +- .../routing/graph/GraphIndex.java | 2 +- 11 files changed, 28 insertions(+), 110 deletions(-) delete mode 100644 src/main/java/org/opentripplanner/routing/edgetype/flex/TemporaryPatternHop.java diff --git a/src/main/java/org/opentripplanner/api/resource/GraphPathToTripPlanConverter.java b/src/main/java/org/opentripplanner/api/resource/GraphPathToTripPlanConverter.java index 481fb84cd1f..c7c6456d55d 100644 --- a/src/main/java/org/opentripplanner/api/resource/GraphPathToTripPlanConverter.java +++ b/src/main/java/org/opentripplanner/api/resource/GraphPathToTripPlanConverter.java @@ -715,7 +715,9 @@ private static Place makePlace(State state, Vertex vertex, Edge edge, Stop stop, Geometry geom = GeometryUtils.shiftLineByPerpendicularVector((LineString) hop.getAlightArea(), PARTIAL_HOP_OFFSET, reverse); place.flagStopArea = PolylineEncoder.createEncodings(geom); } - place.boardAlightType = BoardAlightType.FLAG_STOP; + if ((endOfLeg && hop.isFlagStopAlight()) || (!endOfLeg && hop.isFlagStopBoard())) { + place.boardAlightType = BoardAlightType.FLAG_STOP; + } if ((endOfLeg && hop.isDeviatedRouteAlight()) || (!endOfLeg && hop.isDeviatedRouteBoard())) { place.boardAlightType = BoardAlightType.DEVIATED; } diff --git a/src/main/java/org/opentripplanner/common/geometry/GeometryUtils.java b/src/main/java/org/opentripplanner/common/geometry/GeometryUtils.java index 6ea9bd2069f..8445370da4f 100644 --- a/src/main/java/org/opentripplanner/common/geometry/GeometryUtils.java +++ b/src/main/java/org/opentripplanner/common/geometry/GeometryUtils.java @@ -234,7 +234,7 @@ public static Geometry shiftLineByPerpendicularVector(LineString line, double di coordList.add(line.getCoordinateN(0)); for (int i = 1; i < line.getNumPoints(); i++) { Coordinate coord = line.getCoordinateN(i); - if (SphericalDistanceLibrary.fastDistance(coordList.get(i - 1), coord) > 0.01) { + if (SphericalDistanceLibrary.fastDistance(coordList.get(coordList.size() - 1), coord) > 0.01) { coordList.add(coord); } } diff --git a/src/main/java/org/opentripplanner/routing/core/State.java b/src/main/java/org/opentripplanner/routing/core/State.java index 3a8594ca816..01fa70fc93e 100644 --- a/src/main/java/org/opentripplanner/routing/core/State.java +++ b/src/main/java/org/opentripplanner/routing/core/State.java @@ -482,8 +482,6 @@ public State reversedClone() { newState.stateData.usingRentedBike = stateData.usingRentedBike; newState.stateData.carParked = stateData.carParked; newState.stateData.bikeParked = stateData.bikeParked; - newState.stateData.flagStopDepartureOffsets = stateData.flagStopDepartureOffsets; - newState.stateData.flagStopArrivalOffsets = stateData.flagStopArrivalOffsets; return newState; } diff --git a/src/main/java/org/opentripplanner/routing/core/StateData.java b/src/main/java/org/opentripplanner/routing/core/StateData.java index 29625ec3552..5440a1d2560 100644 --- a/src/main/java/org/opentripplanner/routing/core/StateData.java +++ b/src/main/java/org/opentripplanner/routing/core/StateData.java @@ -98,10 +98,6 @@ public class StateData implements Cloneable { /* This boolean is set to true upon transition from a normal street to a no-through-traffic street. */ protected boolean enteredNoThroughTrafficArea; - public Map flagStopDepartureOffsets; - - public Map flagStopArrivalOffsets; - public StateData(RoutingRequest options) { TraverseModeSet modes = options.modes; if (modes.getCar()) diff --git a/src/main/java/org/opentripplanner/routing/edgetype/PatternHop.java b/src/main/java/org/opentripplanner/routing/edgetype/PatternHop.java index 7e1a655d727..afaced39f73 100644 --- a/src/main/java/org/opentripplanner/routing/edgetype/PatternHop.java +++ b/src/main/java/org/opentripplanner/routing/edgetype/PatternHop.java @@ -24,11 +24,9 @@ the License, or (at your option) any later version. import org.opentripplanner.routing.core.State; import org.opentripplanner.routing.core.StateEditor; import org.opentripplanner.routing.core.TraverseMode; -import org.opentripplanner.routing.edgetype.flex.TemporaryPatternHop; import org.opentripplanner.routing.trippattern.TripTimes; import org.opentripplanner.routing.vertextype.PatternStopVertex; -import java.util.HashMap; import java.util.Locale; /** @@ -37,6 +35,8 @@ the License, or (at your option) any later version. */ public class PatternHop extends TablePatternEdge implements OnboardEdge, HopEdge { + private static final long serialVersionUID = 2L; + private enum RequestStops { NONE, PICKUP, DROPOFF, BOTH; private static RequestStops fromGtfs(int continuousPickup, int continuousDropoff) { @@ -44,7 +44,7 @@ private static RequestStops fromGtfs(int continuousPickup, int continuousDropoff return BOTH; else if (continuousDropoff > 0) return DROPOFF; - else if (continuousDropoff > 0) + else if (continuousPickup > 0) return PICKUP; return NONE; } @@ -56,8 +56,6 @@ private boolean dropOff() { } } - private static final long serialVersionUID = 1L; - private Stop begin, end; private RequestStops requestStops; @@ -79,7 +77,7 @@ protected PatternHop(PatternStopVertex from, PatternStopVertex to, Stop begin, S this.serviceAreaRadius = serviceAreaRadius; } - public PatternHop(PatternStopVertex from, PatternStopVertex to, Stop begin, Stop end, int stopIndex, int continuousPickup, int continuousDropoff, int serviceAreaRadius) { + public PatternHop(PatternStopVertex from, PatternStopVertex to, Stop begin, Stop end, int stopIndex, int continuousPickup, int continuousDropoff, double serviceAreaRadius) { this(from, to, begin, end, stopIndex, RequestStops.fromGtfs(continuousPickup, continuousDropoff), serviceAreaRadius, true); } public PatternHop(PatternStopVertex from, PatternStopVertex to, Stop begin, Stop end, int stopIndex) { @@ -122,8 +120,6 @@ public State optimisticTraverse(State state0) { } int runningTime = (int) timeLowerBound(options); - if(this instanceof TemporaryPatternHop) - runningTime = (int)Math.round(runningTime * ((TemporaryPatternHop)this).distanceRatio); StateEditor s1 = state0.edit(this); s1.incrementTimeInSeconds(runningTime); s1.setBackMode(getMode()); @@ -133,13 +129,7 @@ public State optimisticTraverse(State state0) { @Override public double timeLowerBound(RoutingRequest options) { - if(this instanceof TemporaryPatternHop){ - int runningTime = getPattern().scheduledTimetable.getBestRunningTime(stopIndex); - double distanceRatio = ((TemporaryPatternHop)this).distanceRatio; - return (int) runningTime * distanceRatio; - }else{ - return getPattern().scheduledTimetable.getBestRunningTime(stopIndex); - } + return getPattern().scheduledTimetable.getBestRunningTime(stopIndex); } @Override @@ -161,26 +151,6 @@ public State traverse(State s0) { int runningTime = getRunningTime(s0); - //TODO handle cases where both stops on the hop are flag stops - if(this instanceof TemporaryPatternHop && !options.reverseOptimizing){ - double distanceRatio = ((TemporaryPatternHop)this).distanceRatio; - int originalRunningTime = runningTime; - runningTime = (int) Math.round(runningTime * distanceRatio); - int diff = originalRunningTime - runningTime; - if(s0.stateData.flagStopArrivalOffsets == null) - s0.stateData.flagStopArrivalOffsets = new HashMap<>(); - if(s0.stateData.flagStopDepartureOffsets == null) - s0.stateData.flagStopDepartureOffsets = new HashMap<>(); - if(this.getBeginStop().getLocationType() == 99 - && this.getEndStop().getLocationType() == 99) - throw new RuntimeException("how to handle this?"); - if(this.getBeginStop().getLocationType() == 99) - s0.stateData.flagStopDepartureOffsets.put(this.getPattern().code + "|" + this.getStopIndex(), diff); - if(this.getEndStop().getLocationType() == 99) - s0.stateData.flagStopArrivalOffsets.put(this.getPattern().code + "|" + (this.getStopIndex() + 1), diff); - } - - StateEditor s1 = s0.edit(this); s1.incrementTimeInSeconds(runningTime); if (s0.getOptions().arriveBy) @@ -240,11 +210,14 @@ public boolean hasFlagStopService() { return !requestStops.equals(RequestStops.NONE); } + public boolean hasFlexService() { + return hasFlagStopService() || getServiceAreaRadius() > 0; + } + public boolean canRequestService(boolean boarding) { return boarding ? requestStops.pickUp() : requestStops.dropOff(); } - // TODO fix hasFlagStopService usage public double getServiceAreaRadius() { return serviceAreaRadius; } diff --git a/src/main/java/org/opentripplanner/routing/edgetype/TripPattern.java b/src/main/java/org/opentripplanner/routing/edgetype/TripPattern.java index 9afcfdcabbc..7d340482260 100644 --- a/src/main/java/org/opentripplanner/routing/edgetype/TripPattern.java +++ b/src/main/java/org/opentripplanner/routing/edgetype/TripPattern.java @@ -713,7 +713,7 @@ public String getFeedId() { return route.getId().getAgencyId(); } - public boolean hasFlagStopService() { - return Arrays.stream(patternHops).anyMatch(PatternHop::hasFlagStopService); + public boolean hasFlexService() { + return Arrays.stream(patternHops).anyMatch(PatternHop::hasFlexService); } } diff --git a/src/main/java/org/opentripplanner/routing/edgetype/flex/PartialPatternHop.java b/src/main/java/org/opentripplanner/routing/edgetype/flex/PartialPatternHop.java index 972a57ce5b1..d64f9c2a0c3 100644 --- a/src/main/java/org/opentripplanner/routing/edgetype/flex/PartialPatternHop.java +++ b/src/main/java/org/opentripplanner/routing/edgetype/flex/PartialPatternHop.java @@ -13,7 +13,6 @@ the License, or (at your option) any later version. package org.opentripplanner.routing.edgetype.flex; -import com.vividsolutions.jts.geom.Coordinate; import com.vividsolutions.jts.geom.Geometry; import com.vividsolutions.jts.geom.LineString; import com.vividsolutions.jts.linearref.LengthIndexedLine; @@ -62,7 +61,7 @@ public PartialPatternHop(PatternHop hop, PatternStopVertex from, PatternStopVert // constructor for deviated-route service public PartialPatternHop(PatternHop hop, PatternStopVertex from, PatternStopVertex to, Stop fromStop, Stop toStop, double startIndex, double endIndex, LineString startGeometry, int startVehicleTime, LineString endGeometry, int endVehicleTime, double buffer) { - super(from, to, fromStop, toStop, hop.getStopIndex(), hop.getContinuousStops(), hop.getServiceAreaRadius(), false); + super(from, to, fromStop, toStop, hop.getStopIndex(), hop.getRequestStops(), hop.getServiceAreaRadius(), false); LengthIndexedLine line = new LengthIndexedLine(hop.getGeometry()); this.startIndex = startIndex; @@ -105,6 +104,14 @@ public boolean isDeviatedRouteAlight() { return endVehicleTime > 0; } + public boolean isFlagStopBoard() { + return startIndex > 0 && startVehicleTime == 0; + } + + public boolean isFlagStopAlight() { + return endIndex < originalHopLength && endVehicleTime == 0; + } + private void setGeometry(PatternHop hop, LengthIndexedLine line, double boardBuffer, double alightBuffer) { double pointsPerMeter = (line.getEndIndex() - line.getStartIndex()) / SphericalDistanceLibrary.fastLength(hop.getGeometry()); double boardBufferPts = boardBuffer * pointsPerMeter; diff --git a/src/main/java/org/opentripplanner/routing/edgetype/flex/TemporaryPatternHop.java b/src/main/java/org/opentripplanner/routing/edgetype/flex/TemporaryPatternHop.java deleted file mode 100644 index 4c500e03f3c..00000000000 --- a/src/main/java/org/opentripplanner/routing/edgetype/flex/TemporaryPatternHop.java +++ /dev/null @@ -1,57 +0,0 @@ -/* This program is free software: you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public License - as published by the Free Software Foundation, either version 3 of - the License, or (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . */ - -package org.opentripplanner.routing.edgetype.flex; - -import org.onebusaway.gtfs.model.Stop; -import org.opentripplanner.routing.core.RoutingRequest; -import org.opentripplanner.routing.edgetype.PatternHop; -import org.opentripplanner.routing.edgetype.TemporaryEdge; -import org.opentripplanner.routing.vertextype.PatternArriveVertex; -import org.opentripplanner.routing.vertextype.PatternDepartVertex; -import org.opentripplanner.routing.vertextype.PatternStopVertex; - - -public class TemporaryPatternHop extends PatternHop implements TemporaryEdge { - - // How much shorter is the hop geometry for the flag stop relative to the original length? - // We use this to calculate arrivals at flag stops. - public double distanceRatio; - public PatternHop originalPatternHop; - - //forward search constructor - public TemporaryPatternHop(PatternHop originalPatternHop, PatternDepartVertex patternDepartVertex, Stop flagStop, double distanceRatio){ - super(patternDepartVertex, (PatternStopVertex)originalPatternHop.getToVertex(), originalPatternHop.getBeginStop(), flagStop, - originalPatternHop.getStopIndex()); - this.distanceRatio = distanceRatio; - this.originalPatternHop = originalPatternHop; - } - - //reverse search constructor - public TemporaryPatternHop(PatternHop originalPatternHop, PatternArriveVertex patternArriveVertex, Stop flagStop, double distanceRatio){ - super((PatternDepartVertex)originalPatternHop.getFromVertex(), patternArriveVertex, originalPatternHop.getBeginStop(), flagStop, - originalPatternHop.getStopIndex()); - this.distanceRatio = distanceRatio; - this.originalPatternHop = originalPatternHop; - } - - public boolean equals(Object obj) { - return (this == obj); - } - - @Override - public void dispose() { - fromv.removeOutgoing(this); - tov.removeIncoming(this); - } -} diff --git a/src/main/java/org/opentripplanner/routing/flex/FlagStopGraphModifier.java b/src/main/java/org/opentripplanner/routing/flex/FlagStopGraphModifier.java index bd0d2970aa6..e7e5f02b214 100644 --- a/src/main/java/org/opentripplanner/routing/flex/FlagStopGraphModifier.java +++ b/src/main/java/org/opentripplanner/routing/flex/FlagStopGraphModifier.java @@ -110,10 +110,9 @@ public StreetVertex getLocationForTemporaryStop(State s, PatternHop hop) { return (StreetVertex) v; } - // TODO change when f0e2960e035a7 is merged @Override public boolean checkHopAllowsBoardAlight(State state, PatternHop hop, boolean boarding) { - return true; + return hop.canRequestService(boarding); } /** diff --git a/src/main/java/org/opentripplanner/routing/flex/GtfsFlexGraphModifier.java b/src/main/java/org/opentripplanner/routing/flex/GtfsFlexGraphModifier.java index f299bc21284..d186c1c822e 100644 --- a/src/main/java/org/opentripplanner/routing/flex/GtfsFlexGraphModifier.java +++ b/src/main/java/org/opentripplanner/routing/flex/GtfsFlexGraphModifier.java @@ -202,7 +202,7 @@ private void createHopsToTemporaryStop(RoutingRequest rr, State state, Temporary Stop flagStop = flagTransitStop.getStop(); TransitStopArrive transitStopArrive; - if (flagTransitStop.getDegreeOut() == 0) { + if (flagTransitStop.arriveVertex == null) { TemporaryStreetTransitLink streetTransitLink = new TemporaryStreetTransitLink(flagTransitStop, flagTransitStop.getStreetVertex(), true); rr.rctx.temporaryEdges.add(streetTransitLink); @@ -263,7 +263,7 @@ private void createHopsFromTemporaryStop(RoutingRequest rr, State state, Tempora Stop flagStop = flagTransitStop.getStop(); TransitStopDepart transitStopDepart; - if (flagTransitStop.getDegreeIn() == 0) { + if (flagTransitStop.departVertex == null) { TemporaryStreetTransitLink streetTransitLink = new TemporaryStreetTransitLink(flagTransitStop.getStreetVertex(), flagTransitStop, true); rr.rctx.temporaryEdges.add(streetTransitLink); diff --git a/src/main/java/org/opentripplanner/routing/graph/GraphIndex.java b/src/main/java/org/opentripplanner/routing/graph/GraphIndex.java index fe93ffccda5..eabe8d45bb9 100644 --- a/src/main/java/org/opentripplanner/routing/graph/GraphIndex.java +++ b/src/main/java/org/opentripplanner/routing/graph/GraphIndex.java @@ -706,7 +706,7 @@ private void initializeHopsForEdgeMap() { StreetMatcher matcher = new StreetMatcher(graph); LOG.info("Finding corresponding street edges for trip patterns..."); for (TripPattern pattern : patternForId.values()) { - if (pattern.hasFlagStopService()) { + if (pattern.hasFlexService()) { LOG.debug("Matching {}", pattern); //If there are no shapes in GTFS pattern geometry is generated //generated geometry is useless for street matching From 77d8bec58ca2beca5677a95d13aa052974a73612 Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Tue, 8 Aug 2017 10:43:43 -0400 Subject: [PATCH 074/226] Reorganize, add some documentation to graph modifiers, add deviated route point to API --- .../org/opentripplanner/api/model/Place.java | 10 ++ .../GraphPathToTripPlanConverter.java | 4 + .../routing/edgetype/PatternHop.java | 38 ++++---- .../edgetype/flex/PartialPatternHop.java | 66 ++++++------- .../flex/DeviatedRouteGraphModifier.java | 4 +- .../routing/flex/GtfsFlexGraphModifier.java | 95 +++++++++++++++---- 6 files changed, 149 insertions(+), 68 deletions(-) diff --git a/src/main/java/org/opentripplanner/api/model/Place.java b/src/main/java/org/opentripplanner/api/model/Place.java index c7719ee09ac..a958a94510c 100644 --- a/src/main/java/org/opentripplanner/api/model/Place.java +++ b/src/main/java/org/opentripplanner/api/model/Place.java @@ -115,6 +115,16 @@ public class Place { */ public EncodedPolylineBean flagStopArea; + /** + * The longitude of the route geometry endpoint for a deviated-route place. + */ + public Double deviatedRouteLon = null; + + /** + * The latitude of the route geometry endpoint for a deviated-route place. + */ + public Double deviatedRouteLat = null; + /** * Returns the geometry in GeoJSON format * @return diff --git a/src/main/java/org/opentripplanner/api/resource/GraphPathToTripPlanConverter.java b/src/main/java/org/opentripplanner/api/resource/GraphPathToTripPlanConverter.java index c7c6456d55d..3372b88d579 100644 --- a/src/main/java/org/opentripplanner/api/resource/GraphPathToTripPlanConverter.java +++ b/src/main/java/org/opentripplanner/api/resource/GraphPathToTripPlanConverter.java @@ -720,6 +720,10 @@ private static Place makePlace(State state, Vertex vertex, Edge edge, Stop stop, } if ((endOfLeg && hop.isDeviatedRouteAlight()) || (!endOfLeg && hop.isDeviatedRouteBoard())) { place.boardAlightType = BoardAlightType.DEVIATED; + int i = endOfLeg ? hop.getDisplayGeometry().getNumPoints() - 1 : 0; + Coordinate c = hop.getDisplayGeometry().getCoordinateN(i); + place.deviatedRouteLat = c.getOrdinate(1); + place.deviatedRouteLon = c.getOrdinate(0); } } } else if(vertex instanceof BikeRentalStationVertex) { diff --git a/src/main/java/org/opentripplanner/routing/edgetype/PatternHop.java b/src/main/java/org/opentripplanner/routing/edgetype/PatternHop.java index afaced39f73..768a5ed5a39 100644 --- a/src/main/java/org/opentripplanner/routing/edgetype/PatternHop.java +++ b/src/main/java/org/opentripplanner/routing/edgetype/PatternHop.java @@ -37,25 +37,6 @@ public class PatternHop extends TablePatternEdge implements OnboardEdge, HopEdge private static final long serialVersionUID = 2L; - private enum RequestStops { - NONE, PICKUP, DROPOFF, BOTH; - private static RequestStops fromGtfs(int continuousPickup, int continuousDropoff) { - if (continuousDropoff > 0 && continuousPickup > 0) - return BOTH; - else if (continuousDropoff > 0) - return DROPOFF; - else if (continuousPickup > 0) - return PICKUP; - return NONE; - } - private boolean pickUp() { - return this.equals(PICKUP) || this.equals(BOTH); - } - private boolean dropOff() { - return this.equals(DROPOFF) || this.equals(BOTH); - } - } - private Stop begin, end; private RequestStops requestStops; @@ -221,4 +202,23 @@ public boolean canRequestService(boolean boarding) { public double getServiceAreaRadius() { return serviceAreaRadius; } + + private enum RequestStops { + NONE, PICKUP, DROPOFF, BOTH; + private static RequestStops fromGtfs(int continuousPickup, int continuousDropoff) { + if (continuousDropoff > 0 && continuousPickup > 0) + return BOTH; + else if (continuousDropoff > 0) + return DROPOFF; + else if (continuousPickup > 0) + return PICKUP; + return NONE; + } + private boolean pickUp() { + return this.equals(PICKUP) || this.equals(BOTH); + } + private boolean dropOff() { + return this.equals(DROPOFF) || this.equals(BOTH); + } + } } diff --git a/src/main/java/org/opentripplanner/routing/edgetype/flex/PartialPatternHop.java b/src/main/java/org/opentripplanner/routing/edgetype/flex/PartialPatternHop.java index d64f9c2a0c3..eeff6fa115c 100644 --- a/src/main/java/org/opentripplanner/routing/edgetype/flex/PartialPatternHop.java +++ b/src/main/java/org/opentripplanner/routing/edgetype/flex/PartialPatternHop.java @@ -47,6 +47,7 @@ public class PartialPatternHop extends PatternHop { private LineString endGeometry; // constructor for flag stops + // this could be merged into deviated-route service constructor public PartialPatternHop(PatternHop hop, PatternStopVertex from, PatternStopVertex to, Stop fromStop, Stop toStop, double startIndex, double endIndex, double buffer) { super(from, to, fromStop, toStop, hop.getStopIndex(), hop.getRequestStops(), hop.getServiceAreaRadius(), false); LengthIndexedLine line = new LengthIndexedLine(hop.getGeometry()); @@ -92,26 +93,6 @@ public PartialPatternHop(PatternHop hop, PatternStopVertex from, PatternStopVert setGeometry(geometry); } - public boolean isDeviatedRouteService() { - return startVehicleTime > 0 || endVehicleTime > 0; - } - - public boolean isDeviatedRouteBoard() { - return startVehicleTime > 0; - } - - public boolean isDeviatedRouteAlight() { - return endVehicleTime > 0; - } - - public boolean isFlagStopBoard() { - return startIndex > 0 && startVehicleTime == 0; - } - - public boolean isFlagStopAlight() { - return endIndex < originalHopLength && endVehicleTime == 0; - } - private void setGeometry(PatternHop hop, LengthIndexedLine line, double boardBuffer, double alightBuffer) { double pointsPerMeter = (line.getEndIndex() - line.getStartIndex()) / SphericalDistanceLibrary.fastLength(hop.getGeometry()); double boardBufferPts = boardBuffer * pointsPerMeter; @@ -152,10 +133,43 @@ public int getRunningTime(State s0) { return (int) Math.round(percentageOfHop * super.getRunningTime(s0)) + startVehicleTime + endVehicleTime; } + @Override + public LineString getDisplayGeometry() { + return displayGeometry; + } + + public boolean isDeviatedRouteService() { + return startVehicleTime > 0 || endVehicleTime > 0; + } + + public boolean isDeviatedRouteBoard() { + return startVehicleTime > 0; + } + + public boolean isDeviatedRouteAlight() { + return endVehicleTime > 0; + } + + public boolean isFlagStopBoard() { + return startIndex > 0 && startVehicleTime == 0; + } + + public boolean isFlagStopAlight() { + return endIndex < originalHopLength && endVehicleTime == 0; + } + public boolean isOriginalHop(PatternHop hop) { return originalHop.getId() == hop.getId(); } + public boolean hasBoardArea() { + return boardArea != null; + } + + public boolean hasAlightArea() { + return alightArea != null; + } + public PatternHop getOriginalHop() { return originalHop; } @@ -184,14 +198,6 @@ public Geometry getAlightArea() { return alightArea; } - public boolean hasBoardArea() { - return boardArea != null; - } - - public boolean hasAlightArea() { - return alightArea != null; - } - public int getStartVehicleTime() { return startVehicleTime; } @@ -208,9 +214,5 @@ public LineString getEndGeometry() { return endGeometry; } - @Override - public LineString getDisplayGeometry() { - return displayGeometry; - } } diff --git a/src/main/java/org/opentripplanner/routing/flex/DeviatedRouteGraphModifier.java b/src/main/java/org/opentripplanner/routing/flex/DeviatedRouteGraphModifier.java index fd7e79504c1..f507746cd9d 100644 --- a/src/main/java/org/opentripplanner/routing/flex/DeviatedRouteGraphModifier.java +++ b/src/main/java/org/opentripplanner/routing/flex/DeviatedRouteGraphModifier.java @@ -36,6 +36,9 @@ the License, or (props, at your option) any later version. import static org.opentripplanner.api.resource.GraphPathToTripPlanConverter.makeCoordinates; +/** + * Add temporary vertices/edges for deviated-route service. + */ public class DeviatedRouteGraphModifier extends GtfsFlexGraphModifier { private static final int MAX_DRS_SEARCH_DIST = 1600; // could be set by data @@ -97,7 +100,6 @@ public boolean checkHopAllowsBoardAlight(State s, PatternHop hop, boolean boardi return distance < hop.getServiceAreaRadius(); } - // For deviated-route, we're going to have one temporary stop for the origin, and one for the destination. @Override public StreetVertex getLocationForTemporaryStop(State s, PatternHop hop) { return findFirstStreetVertex(s); diff --git a/src/main/java/org/opentripplanner/routing/flex/GtfsFlexGraphModifier.java b/src/main/java/org/opentripplanner/routing/flex/GtfsFlexGraphModifier.java index d186c1c822e..720018a6f58 100644 --- a/src/main/java/org/opentripplanner/routing/flex/GtfsFlexGraphModifier.java +++ b/src/main/java/org/opentripplanner/routing/flex/GtfsFlexGraphModifier.java @@ -59,7 +59,7 @@ the License, or (props, at your option) any later version. import java.util.stream.Collectors; /** - * Factor out shared code for flex stops + * Create temporary vertices and edges for GTFS-flex service. */ public abstract class GtfsFlexGraphModifier { @@ -67,43 +67,112 @@ public abstract class GtfsFlexGraphModifier { protected Graph graph; + private Map temporaryTransitStopsForLocation = Maps.newHashMap(); + protected GtfsFlexGraphModifier(Graph graph) { this.graph = graph; } /* - * overall pattern - do a search according to some parameters. based on the result of that search, make stops - * + * Overall pattern - do a graph search from the origin and destination according to some + * parameters, in order to find nearby PatternHops and the States where they were found. + * Based on those PatternHops/States, make new board and alight temporary edges/vertices. + * Note: this was originally factored out of flag stop creation code. */ + /** + * Return the mode that the graph search should be in. + */ public abstract TraverseMode getMode(); + /** + * Return the termination strategy which should be used during the graph search. + */ public abstract SearchTerminationStrategy getSearchTerminationStrategy(); // this the core of what's different: how the hops are created - // Given an existing pattern hop (s, t), let's say a new hop (s', t) is a START hop and a new hop (s, t') is an END hop - - // start hop is a hop from the existing origin TO a new flag destination + /** + * Create a new {@link PatternHop} with a new "to" location (from the route to a new destination). + * + * @param opt Options for the graph search + * @param state State at which the original PatternHop was found during the graph search + * @param hop Original pattern hop to modify + * @param to New "to" location + * @param toStop Stop for new "to" location + * @return new pattern hop + */ public abstract TemporaryPartialPatternHop makeHopNewTo(RoutingRequest opt, State state, PatternHop hop, PatternArriveVertex to, Stop toStop); + /** + * Create a new {@link PatternHop} with a new "from" location (from a new destination to the route). + * + * @param opt Options for the graph search + * @param state Options for the graph search + * @param hop Original pattern hop to modify + * @param from New "from" location + * @param fromStop Stop for new "from" location + * @return new pattern hop + */ public abstract TemporaryPartialPatternHop makeHopNewFrom(RoutingRequest opt, State state, PatternHop hop, PatternDepartVertex from, Stop fromStop); + /** + * From an existing TemporaryPartialPatternHop which has a new "from" location, create a new + * TemporaryPartialPatternHop with the same "from" location and a new "to" location. The + * existence of this method implies that searches from the origin should take place prior + * to searches from the destination. + * + * @param opt Options for the graph search + * @param state ptions for the graph search + * @param hop Temporary pattern hop to modify + * @param to New "to" location + * @param toStop Stop for new "to" location + * @return new pattern hop + */ public abstract TemporaryPartialPatternHop shortenEnd(RoutingRequest opt, State state, TemporaryPartialPatternHop hop, PatternStopVertex to, Stop toStop); - // true if we can add an extra stop on this hop, false otherwise + /** + * Returns true if the given hop can be boarded/alighted. + */ public abstract boolean checkHopAllowsBoardAlight(State state, PatternHop hop, boolean boarding); + /** + * Subclasses can specify where the new temporary stop should be created, given a nearby + * PatternHop. + * + * @param s State at which PatternHop was found + * @param hop PatternHop found during graph search + * @return location for new stop + */ public abstract StreetVertex getLocationForTemporaryStop(State s, PatternHop hop); - private Map temporaryTransitStopsForLocation = Maps.newHashMap(); + /** + * Subclasses can override this method to provide extra hops (not found in graph search) + * at which to create new vertices/edges, e.g. for flag stops where start/end vertices can be + * ON hop. + * + * @param rr request for graph search + * @param patternHopStateMap map to insert new PatternHop/State pairs into + */ + public void findExtraHops(RoutingRequest rr, Map patternHopStateMap) { + } + /** + * Create temporary edges and vertices from the origin into the transit network. + * + * @param request request for graph search + */ public void createForwardHops(RoutingRequest request) { RoutingRequest forward = request.clone(); forward.setMode(getMode()); streetSearch(forward); } + /** + * Create temporary edges and vertices from the transit network to the destination. + * + * @param request request for graph search + */ public void createBackwardHops(RoutingRequest request) { RoutingRequest backward = request.clone(); backward.setMode(getMode()); @@ -135,6 +204,7 @@ private TemporaryTransitStop getTemporaryStop(State s, PatternHop hop) { return temporaryTransitStopsForLocation.get(streetVertex); } + // Return a reasonable name for a vertex. private String findName(State state, StreetVertex vertex, Locale locale) { I18NString unnamed = new LocalizedString("unnamedStreet", (String[]) null); I18NString name = vertex.getIntersectionName(locale); @@ -146,7 +216,7 @@ private String findName(State state, StreetVertex vertex, Locale locale) { return e.getName(locale); } } - if (state.backEdge instanceof StreetEdge) { + if (state.backEdge instanceof StreetEdge) { // this really assumes flag stops return state.backEdge.getName(locale); } return unnamed.toString(); @@ -182,10 +252,6 @@ public void visitEnqueue(State state) { .collect(Collectors.toList()); } - // optional hook to get extra hops in there, e.g. for flag stops where start/end vertices can be ON hop. - public void findExtraHops(RoutingRequest rr, Map patternHopStateMap) { - } - private TemporaryTransitStop createTemporaryTransitStop(String name, StreetVertex v, RoutingContext rctx) { Stop flagStop = new Stop(); flagStop.setId(new AgencyAndId("1", "temp_" + String.valueOf(Math.random()))); @@ -309,7 +375,6 @@ private void addStateToPatternHopStateMap(Edge edge, State s, Map findTemporaryPatternHops(RoutingRequest options, PatternHop patternHop) { Collection ret = new ArrayList(); for (TemporaryEdge e : options.rctx.temporaryEdges) { @@ -321,6 +386,4 @@ private Collection findTemporaryPatternHops(RoutingR } return ret; } - - } From e31eaa4a39310c52ab7ae0acf6af83037a59b895 Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Tue, 8 Aug 2017 12:15:49 -0400 Subject: [PATCH 075/226] Add service area radius to API output --- .../index/model/TripTimeShort.java | 2 ++ .../routing/trippattern/Deduplicator.java | 32 +++++++++++++++++++ .../routing/trippattern/TripTimes.java | 20 +++++++++++- 3 files changed, 53 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/opentripplanner/index/model/TripTimeShort.java b/src/main/java/org/opentripplanner/index/model/TripTimeShort.java index 890312bd8de..f9c814af295 100644 --- a/src/main/java/org/opentripplanner/index/model/TripTimeShort.java +++ b/src/main/java/org/opentripplanner/index/model/TripTimeShort.java @@ -32,6 +32,7 @@ public class TripTimeShort { public String blockId; public String headsign; public int continuousStops; + public double serviceAreaRadius; /** * This is stop-specific, so the index i is a stop index, not a hop index. @@ -52,6 +53,7 @@ public TripTimeShort(TripTimes tt, int i, Stop stop) { blockId = tt.trip.getBlockId(); headsign = tt.getHeadsign(i); continuousStops = tt.getContinuousStops(i); + serviceAreaRadius = tt.getServiceAreaRadius(i); } public TripTimeShort(TripTimes tt, int i, Stop stop, ServiceDay sd) { diff --git a/src/main/java/org/opentripplanner/routing/trippattern/Deduplicator.java b/src/main/java/org/opentripplanner/routing/trippattern/Deduplicator.java index 1b16825ba32..39cb4d04aac 100644 --- a/src/main/java/org/opentripplanner/routing/trippattern/Deduplicator.java +++ b/src/main/java/org/opentripplanner/routing/trippattern/Deduplicator.java @@ -28,6 +28,7 @@ public class Deduplicator implements Serializable { private static final long serialVersionUID = 20140524L; private final Map canonicalIntArrays = Maps.newHashMap(); + private final Map canonicalDoubleArrays = Maps.newHashMap(); private final Map canonicalStrings = Maps.newHashMap(); private final Map canonicalBitSets = Maps.newHashMap(); private final Map canonicalStringArrays = Maps.newHashMap(); @@ -35,6 +36,7 @@ public class Deduplicator implements Serializable { /** Free up any memory used by the deduplicator. */ public void reset() { canonicalIntArrays.clear(); + canonicalDoubleArrays.clear(); canonicalStrings.clear(); canonicalBitSets.clear(); canonicalStringArrays.clear(); @@ -52,6 +54,17 @@ public int[] deduplicateIntArray(int[] original) { return canonical.array; } + public double[] deduplicateDoubleArray(double[] original) { + if (original == null) return null; + DoubleArray doubleArray = new DoubleArray(original); + DoubleArray canonical = canonicalDoubleArrays.get(doubleArray); + if (canonical == null) { + canonical = doubleArray; + canonicalDoubleArrays.put(canonical, canonical); + } + return canonical.array; + } + public String deduplicateString(String original) { if (original == null) return null; String canonical = canonicalStrings.get(original); @@ -101,6 +114,25 @@ public int hashCode() { } } + /** A wrapper for a primitive int array. This is insane but necessary in Java. */ + private class DoubleArray implements Serializable { + private static final long serialVersionUID = 20140524L; + final double[] array; + DoubleArray(double[] array) { + this.array = array; + } + @Override + public boolean equals (Object other) { + if (other instanceof DoubleArray) { + return Arrays.equals(array, ((DoubleArray) other).array); + } else return false; + } + @Override + public int hashCode() { + return Arrays.hashCode(array); + } + } + /** A wrapper for a String array. Optionally, the individual Strings may be deduplicated too. */ private class StringArray implements Serializable { private static final long serialVersionUID = 20140524L; diff --git a/src/main/java/org/opentripplanner/routing/trippattern/TripTimes.java b/src/main/java/org/opentripplanner/routing/trippattern/TripTimes.java index 811db64755a..462ed492863 100644 --- a/src/main/java/org/opentripplanner/routing/trippattern/TripTimes.java +++ b/src/main/java/org/opentripplanner/routing/trippattern/TripTimes.java @@ -110,6 +110,8 @@ public class TripTimes implements Serializable, Comparable, Cloneable private final int[] continuousStops; + private final double[] serviceAreaRadius; + /** * The real-time state of this TripTimes. */ @@ -129,9 +131,11 @@ public TripTimes(final Trip trip, final List stopTimes, final Deduplic final int[] arrivals = new int[nStops]; final int[] sequences = new int[nStops]; final int[] continuousStops = new int[nStops]; + final double[] serviceAreaRadius = new double[nStops]; final BitSet timepoints = new BitSet(nStops); // Times are always shifted to zero. This is essential for frequencies and deduplication. timeShift = stopTimes.get(0).getArrivalTime(); + double radius = 0; int s = 0; for (final StopTime st : stopTimes) { departures[s] = st.getDepartureTime() - timeShift; @@ -139,6 +143,13 @@ public TripTimes(final Trip trip, final List stopTimes, final Deduplic sequences[s] = st.getStopSequence(); timepoints.set(s, st.getTimepoint() == 1); continuousStops[s] = st.getContinuousStops(); + if (st.getStartServiceAreaRadius() != StopTime.MISSING_VALUE) { + radius = st.getStartServiceAreaRadius(); + } + serviceAreaRadius[s] = radius; + if (st.getEndServiceAreaRadius() != StopTime.MISSING_VALUE) { + radius = 0; + } s++; } this.scheduledDepartureTimes = deduplicator.deduplicateIntArray(departures); @@ -151,6 +162,7 @@ public TripTimes(final Trip trip, final List stopTimes, final Deduplic this.departureTimes = null; this.timepoints = deduplicator.deduplicateBitSet(timepoints); this.continuousStops = deduplicator.deduplicateIntArray(continuousStops); + this.serviceAreaRadius = deduplicator.deduplicateDoubleArray(serviceAreaRadius); LOG.trace("trip {} has timepoint at indexes {}", trip, timepoints); } @@ -167,6 +179,7 @@ public TripTimes(final TripTimes object) { this.stopSequences = object.stopSequences; this.timepoints = object.timepoints; this.continuousStops = object.continuousStops; + this.serviceAreaRadius = object.serviceAreaRadius; } /** @@ -291,11 +304,16 @@ public void setRealTimeState(final RealTimeState realTimeState) { this.realTimeState = realTimeState; } - /** @return the difference between the scheduled and actual arrival times at this stop. */ + /** Returns whether this stop allows continuous dropoff/pickup */ public int getContinuousStops(final int stop) { return continuousStops[stop]; } + /** Returns associated dropoff/pickup radius for this stop*/ + public double getServiceAreaRadius(final int stop) { + return serviceAreaRadius[stop]; + } + /** Used in debugging / dumping times. */ public static String formatSeconds(int s) { int m = s / 60; From 02b23dad30b821115799b2118808466e7b47bbf2 Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Tue, 8 Aug 2017 15:19:47 -0400 Subject: [PATCH 076/226] bump gtfs version --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index d2035e21dc8..7b8058856cd 100644 --- a/pom.xml +++ b/pom.xml @@ -650,7 +650,7 @@ org.onebusaway onebusaway-gtfs - 1.3.5.4-vt-SNAPSHOT + 1.3.5.4-vt From 78df5306beb9669b886b0f51a7b5de8ed0c76073 Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Tue, 8 Aug 2017 15:41:01 -0400 Subject: [PATCH 077/226] [maven-release-plugin] prepare release otp-1.2.0.2-RC1 --- pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index 7b8058856cd..c73c97885a3 100644 --- a/pom.xml +++ b/pom.xml @@ -8,7 +8,7 @@ org.opentripplanner otp - 1.2.0.2-SNAPSHOT + 1.2.0.2-RC1 jar @@ -75,7 +75,7 @@ scm:git:http://github.com/camsys/OpenTripPlanner.git scm:git:ssh://git@github.com/camsys/OpenTripPlanner.git http://github.com/camsys/OpenTripPlanner - HEAD + otp-1.2.0.2-RC1 From e5757580e7e66481a3a8b91e27d7f9c01bbfe00b Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Tue, 8 Aug 2017 15:41:07 -0400 Subject: [PATCH 078/226] [maven-release-plugin] prepare for next development iteration --- pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index c73c97885a3..8a7fc6bd302 100644 --- a/pom.xml +++ b/pom.xml @@ -8,7 +8,7 @@ org.opentripplanner otp - 1.2.0.2-RC1 + 1.2.0.3-SNAPSHOT jar @@ -75,7 +75,7 @@ scm:git:http://github.com/camsys/OpenTripPlanner.git scm:git:ssh://git@github.com/camsys/OpenTripPlanner.git http://github.com/camsys/OpenTripPlanner - otp-1.2.0.2-RC1 + HEAD From 77c8c1b55c3109472810c7d8fd6316327b292ccb Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Thu, 10 Aug 2017 17:16:37 -0400 Subject: [PATCH 079/226] VGF-41 make sure length of temporary hop is nonzero --- .../routing/edgetype/flex/TemporaryPartialPatternHop.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/org/opentripplanner/routing/edgetype/flex/TemporaryPartialPatternHop.java b/src/main/java/org/opentripplanner/routing/edgetype/flex/TemporaryPartialPatternHop.java index 5adcd040c93..18962022489 100644 --- a/src/main/java/org/opentripplanner/routing/edgetype/flex/TemporaryPartialPatternHop.java +++ b/src/main/java/org/opentripplanner/routing/edgetype/flex/TemporaryPartialPatternHop.java @@ -42,7 +42,7 @@ public boolean isTrivial() { return true; double length = SphericalDistanceLibrary.fastLength(getGeometry()); double parentLength = SphericalDistanceLibrary.fastLength(getOriginalHop().getGeometry()); - return length + 50 >= parentLength; + return length == 0 || length + 50 >= parentLength; } } From 9645718c38733f255c7323cfe1c453456a9de462 Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Fri, 11 Aug 2017 10:06:54 -0400 Subject: [PATCH 080/226] VGF-54 - make sure flag stop locations are actually on the line of the patternhop, not at (or past) endpoints --- .../routing/flex/FlagStopGraphModifier.java | 8 +++++++- .../routing/flex/GtfsFlexGraphModifier.java | 6 ++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/opentripplanner/routing/flex/FlagStopGraphModifier.java b/src/main/java/org/opentripplanner/routing/flex/FlagStopGraphModifier.java index e7e5f02b214..e67b79f1697 100644 --- a/src/main/java/org/opentripplanner/routing/flex/FlagStopGraphModifier.java +++ b/src/main/java/org/opentripplanner/routing/flex/FlagStopGraphModifier.java @@ -106,7 +106,13 @@ public StreetVertex getLocationForTemporaryStop(State s, PatternHop hop) { v = rr.arriveBy ? s.getBackEdge().getToVertex() : s.getBackEdge().getFromVertex(); } - // wire stop to init vertex + // Ensure on line + LengthIndexedLine line = new LengthIndexedLine(hop.getGeometry()); + double i = line.project(v.getCoordinate()); + if (i <= line.getStartIndex() || i >= line.getEndIndex()) { + return null; + } + return (StreetVertex) v; } diff --git a/src/main/java/org/opentripplanner/routing/flex/GtfsFlexGraphModifier.java b/src/main/java/org/opentripplanner/routing/flex/GtfsFlexGraphModifier.java index 720018a6f58..0a1d22a1384 100644 --- a/src/main/java/org/opentripplanner/routing/flex/GtfsFlexGraphModifier.java +++ b/src/main/java/org/opentripplanner/routing/flex/GtfsFlexGraphModifier.java @@ -185,6 +185,9 @@ private void streetSearch(RoutingRequest rr) { State s = p.getKey(); PatternHop hop = p.getValue(); TemporaryTransitStop flagTransitStop = getTemporaryStop(s, hop); + if (flagTransitStop == null) { + continue; + } if (rr.arriveBy) { createHopsToTemporaryStop(rr, s, flagTransitStop, hop); } else { @@ -195,6 +198,9 @@ private void streetSearch(RoutingRequest rr) { private TemporaryTransitStop getTemporaryStop(State s, PatternHop hop) { StreetVertex streetVertex = getLocationForTemporaryStop(s, hop); + if (streetVertex == null) { + return null; + } if (temporaryTransitStopsForLocation.get(streetVertex) == null) { String name = findName(s, streetVertex, s.getOptions().locale); TemporaryTransitStop stop = createTemporaryTransitStop(name, streetVertex, s.getContext()); From 1c64c415592d23b3b2c4781efbc9ec7400a61a57 Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Fri, 11 Aug 2017 13:33:21 -0400 Subject: [PATCH 081/226] VGF-56 apply flag stop penalty when boarding AND alighting --- .../routing/edgetype/TransitBoardAlight.java | 38 ++++++++++--------- .../edgetype/flex/FlexTransitBoardAlight.java | 4 +- 2 files changed, 22 insertions(+), 20 deletions(-) diff --git a/src/main/java/org/opentripplanner/routing/edgetype/TransitBoardAlight.java b/src/main/java/org/opentripplanner/routing/edgetype/TransitBoardAlight.java index 80e06b72c0e..d12b059b3cc 100644 --- a/src/main/java/org/opentripplanner/routing/edgetype/TransitBoardAlight.java +++ b/src/main/java/org/opentripplanner/routing/edgetype/TransitBoardAlight.java @@ -190,6 +190,7 @@ public State traverse(State s0, long arrivalTimeAtStop) { // TODO: should we have different cost for alighting and boarding compared to regular waiting? } } + s1.incrementWeight(getExtraWeight(options)); /* Determine the wait. */ if (arrivalTimeAtStop > 0) { // FIXME what is this arrivalTimeAtStop? @@ -311,8 +312,21 @@ public State traverse(State s0, long arrivalTimeAtStop) { } else { wait_cost *= options.waitReluctance; } - - s1.incrementWeight(getPenaltyWeight(s0, options, trip)); + + long preferences_penalty = options.preferencesPenaltyForRoute(getPattern().route); + + /* Compute penalty for non-preferred transfers. */ + int transferPenalty = 0; + /* If this is not the first boarding, then we are transferring. */ + if (s0.isEverBoarded()) { + TransferTable transferTable = options.getRoutingContext().transferTable; + int transferTime = transferTable.getTransferTime(s0.getPreviousStop(), + getStop(), s0.getPreviousTrip(), trip, boarding); + transferPenalty = transferTable.determineTransferPenalty(transferTime, + options.nonpreferredTransferPenalty); + } + + s1.incrementWeight(preferences_penalty + transferPenalty); // when reverse optimizing, the board cost needs to be applied on // alight to prevent state domination due to free alights @@ -321,6 +335,8 @@ public State traverse(State s0, long arrivalTimeAtStop) { } else { s1.incrementWeight(wait_cost + options.getBoardCost(s0.getNonTransitMode())); } + + s1.incrementWeight(getExtraWeight(options)); // On-the-fly reverse optimization // determine if this needs to be reverse-optimized. @@ -342,22 +358,8 @@ public State traverse(State s0, long arrivalTimeAtStop) { } } - public long getPenaltyWeight(State s0, RoutingRequest options, Trip trip) { - /* Check if route is preferred by the user. */ - long preferences_penalty = options.preferencesPenaltyForRoute(getPattern().route); - - /* Compute penalty for non-preferred transfers. */ - int transferPenalty = 0; - /* If this is not the first boarding, then we are transferring. */ - if (s0.isEverBoarded()) { - TransferTable transferTable = options.getRoutingContext().transferTable; - int transferTime = transferTable.getTransferTime(s0.getPreviousStop(), - getStop(), s0.getPreviousTrip(), trip, boarding); - transferPenalty = transferTable.determineTransferPenalty(transferTime, - options.nonpreferredTransferPenalty); - } - - return preferences_penalty + transferPenalty; + public long getExtraWeight(RoutingRequest options) { + return 0; } public TripTimes getNextTrip(State s0, ServiceDay sd) { diff --git a/src/main/java/org/opentripplanner/routing/edgetype/flex/FlexTransitBoardAlight.java b/src/main/java/org/opentripplanner/routing/edgetype/flex/FlexTransitBoardAlight.java index 9794c070cb5..888edb0079c 100644 --- a/src/main/java/org/opentripplanner/routing/edgetype/flex/FlexTransitBoardAlight.java +++ b/src/main/java/org/opentripplanner/routing/edgetype/flex/FlexTransitBoardAlight.java @@ -73,9 +73,9 @@ public int calculateWait(State s0, ServiceDay sd, TripTimes tripTimes) { } @Override - public long getPenaltyWeight(State s0, RoutingRequest options, Trip trip) { + public long getExtraWeight(RoutingRequest options) { boolean deviatedRoute = (boarding && hop.isDeviatedRouteBoard()) || (!boarding && hop.isDeviatedRouteAlight()); - return super.getPenaltyWeight(s0, options, trip) + (deviatedRoute ? options.deviatedRouteExtraPenalty : options.flagStopExtraPenalty); + return (deviatedRoute ? options.deviatedRouteExtraPenalty : options.flagStopExtraPenalty); } @Override From dd9db06310cd2512ccfc5ec7950bbc0a8527fd5e Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Fri, 11 Aug 2017 16:21:58 -0400 Subject: [PATCH 082/226] Initial commit for service areas for deviated-route service. - Read in areas from GTFS, persist to graph and expose from IndexAPI. - Use in deviated-route service routing. --- .../org/opentripplanner/index/IndexAPI.java | 22 ++++++ .../index/model/AreaShort.java | 29 ++++++++ .../index/model/TripTimeShort.java | 2 + .../opentripplanner/model/StopPattern.java | 29 ++++++-- .../routing/edgetype/PatternHop.java | 22 ++++-- .../routing/edgetype/TripPattern.java | 2 +- .../factory/GTFSPatternHopFactory.java | 55 ++++++++++++++- .../edgetype/flex/PartialPatternHop.java | 14 +++- .../flex/TemporaryPartialPatternHop.java | 8 ++- .../flex/DeviatedRouteGraphModifier.java | 9 +++ .../opentripplanner/routing/graph/Graph.java | 8 +++ .../routing/graph/GraphIndex.java | 68 ++++++++++++++++++- .../routing/trippattern/TripTimes.java | 31 +++++++++ 13 files changed, 281 insertions(+), 18 deletions(-) create mode 100644 src/main/java/org/opentripplanner/index/model/AreaShort.java diff --git a/src/main/java/org/opentripplanner/index/IndexAPI.java b/src/main/java/org/opentripplanner/index/IndexAPI.java index eb35bdc0e2e..71725da2f46 100644 --- a/src/main/java/org/opentripplanner/index/IndexAPI.java +++ b/src/main/java/org/opentripplanner/index/IndexAPI.java @@ -21,6 +21,7 @@ the License, or (at your option) any later version. import com.google.common.collect.Collections2; import com.vividsolutions.jts.geom.Coordinate; import com.vividsolutions.jts.geom.Envelope; +import com.vividsolutions.jts.geom.Polygon; import org.onebusaway.gtfs.model.Agency; import org.onebusaway.gtfs.model.AgencyAndId; import org.onebusaway.gtfs.model.Route; @@ -29,6 +30,7 @@ the License, or (at your option) any later version. import org.onebusaway.gtfs.model.calendar.ServiceDate; import org.opentripplanner.common.geometry.SphericalDistanceLibrary; import org.opentripplanner.gtfs.GtfsLibrary; +import org.opentripplanner.index.model.AreaShort; import org.opentripplanner.index.model.DemandResponseServiceBean; import org.opentripplanner.index.model.PatternDetail; import org.opentripplanner.index.model.PatternShort; @@ -590,6 +592,26 @@ public Response getDemandResponseServices() { return Response.status(Status.OK).entity(DemandResponseServiceBean.list(index.demandResponseServicesForId.values())).build(); } + /** Return all area IDs. */ + @GET + @Path("/areas") + public Response getAllAreas() { + List ids = new ArrayList<>(index.areasById.keySet()); + return Response.status(Status.OK).entity(ids).build(); + } + + /** Return all area IDs. */ + @GET + @Path("/areas/{id}") + public Response getAreaIdByFeedId(@PathParam("id") String areaIdString) { + AgencyAndId id = GtfsLibrary.convertIdFromString(areaIdString); + Polygon area = index.areasById.get(id); + if (area == null) { + return Response.status(Status.NOT_FOUND).build(); + } + return Response.status(Status.OK).entity(new AreaShort(id, area)).build(); + } + @POST @Path("/graphql") @Consumes(MediaType.APPLICATION_JSON) diff --git a/src/main/java/org/opentripplanner/index/model/AreaShort.java b/src/main/java/org/opentripplanner/index/model/AreaShort.java new file mode 100644 index 00000000000..dcd1922d342 --- /dev/null +++ b/src/main/java/org/opentripplanner/index/model/AreaShort.java @@ -0,0 +1,29 @@ +/* This program is free software: you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public License + as published by the Free Software Foundation, either version 3 of + the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +package org.opentripplanner.index.model; + +import com.vividsolutions.jts.geom.Polygon; +import org.onebusaway.gtfs.model.AgencyAndId; +import org.opentripplanner.util.PolylineEncoder; +import org.opentripplanner.util.model.EncodedPolylineBean; + +public class AreaShort { + public AgencyAndId areaId; + public EncodedPolylineBean polygon; + + public AreaShort(AgencyAndId areaId, Polygon polygon) { + this.areaId = areaId; + this.polygon = PolylineEncoder.createEncodings(polygon.getExteriorRing()); + } +} diff --git a/src/main/java/org/opentripplanner/index/model/TripTimeShort.java b/src/main/java/org/opentripplanner/index/model/TripTimeShort.java index f9c814af295..c1d9caf2fc1 100644 --- a/src/main/java/org/opentripplanner/index/model/TripTimeShort.java +++ b/src/main/java/org/opentripplanner/index/model/TripTimeShort.java @@ -33,6 +33,7 @@ public class TripTimeShort { public String headsign; public int continuousStops; public double serviceAreaRadius; + public String serviceArea; /** * This is stop-specific, so the index i is a stop index, not a hop index. @@ -54,6 +55,7 @@ public TripTimeShort(TripTimes tt, int i, Stop stop) { headsign = tt.getHeadsign(i); continuousStops = tt.getContinuousStops(i); serviceAreaRadius = tt.getServiceAreaRadius(i); + serviceArea = tt.getServiceArea(i); } public TripTimeShort(TripTimes tt, int i, Stop stop, ServiceDay sd) { diff --git a/src/main/java/org/opentripplanner/model/StopPattern.java b/src/main/java/org/opentripplanner/model/StopPattern.java index 655760db1b6..821e1f14053 100644 --- a/src/main/java/org/opentripplanner/model/StopPattern.java +++ b/src/main/java/org/opentripplanner/model/StopPattern.java @@ -3,10 +3,12 @@ import java.io.Serializable; import java.util.Arrays; import java.util.List; +import java.util.function.Function; import com.google.common.hash.HashCode; import com.google.common.hash.HashFunction; import com.google.common.hash.Hasher; +import com.vividsolutions.jts.geom.Polygon; import org.onebusaway.gtfs.model.Stop; import org.onebusaway.gtfs.model.StopTime; import org.slf4j.Logger; @@ -53,6 +55,7 @@ public class StopPattern implements Serializable { public final int[] dropoffs; public final int[] continuousStops; public final double[] serviceAreaRadius; + public final Polygon[] serviceAreas; // likely at most one distinct object will be in this array public boolean equals(Object other) { if (other instanceof StopPattern) { @@ -60,7 +63,8 @@ public boolean equals(Object other) { return Arrays.equals(this.stops, that.stops) && Arrays.equals(this.pickups, that.pickups) && Arrays.equals(this.dropoffs, that.dropoffs) && - Arrays.equals(this.continuousStops, that.continuousStops); + Arrays.equals(this.continuousStops, that.continuousStops) && + Arrays.equals(this.serviceAreas, that.serviceAreas); } else { return false; } @@ -75,6 +79,8 @@ public int hashCode() { hash += Arrays.hashCode(this.dropoffs); hash *= 31; hash += Arrays.hashCode(this.continuousStops); + hash *= 31; + hash += Arrays.hashCode(this.serviceAreas); return hash; } @@ -94,13 +100,19 @@ private StopPattern (int size) { dropoffs = new int[size]; continuousStops = new int[size]; serviceAreaRadius = new double[size]; + serviceAreas = new Polygon[size]; } - /** Assumes that stopTimes are already sorted by time. */ public StopPattern (List stopTimes) { + this(stopTimes, null); + } + + /** Assumes that stopTimes are already sorted by time. */ + public StopPattern (List stopTimes, Function polygonById) { this (stopTimes.size()); if (size == 0) return; double lastServiceAreaRadius = 0; + Polygon lastPolygon = null; for (int i = 0; i < size; ++i) { StopTime stopTime = stopTimes.get(i); stops[i] = stopTime.getStop(); @@ -119,12 +131,20 @@ public StopPattern (List stopTimes) { if (stopTime.getStartServiceAreaRadius() != StopTime.MISSING_VALUE) { lastServiceAreaRadius = stopTime.getStartServiceAreaRadius(); } - serviceAreaRadius[i] = lastServiceAreaRadius; - if (stopTime.getEndServiceAreaRadius() != StopTime.MISSING_VALUE) { lastServiceAreaRadius = 0; } + + if (polygonById != null) { + if (stopTime.getStartServiceAreaId() != null) { + lastPolygon = polygonById.apply(stopTime.getStartServiceAreaId()); + } + serviceAreas[i] = lastPolygon; + if (stopTime.getEndServiceAreaId() != null) { + lastPolygon = null; + } + } } /* * TriMet GTFS has many trips that differ only in the pick/drop status of their initial and @@ -170,6 +190,7 @@ public HashCode semanticHash(HashFunction hashFunction) { hasher.putInt(dropoffs[hop + 1]); hasher.putInt(continuousStops[hop]); hasher.putDouble(serviceAreaRadius[hop]); + hasher.putInt(serviceAreas[hop].hashCode()); } return hasher.hash(); } diff --git a/src/main/java/org/opentripplanner/routing/edgetype/PatternHop.java b/src/main/java/org/opentripplanner/routing/edgetype/PatternHop.java index 768a5ed5a39..30421f5a0ab 100644 --- a/src/main/java/org/opentripplanner/routing/edgetype/PatternHop.java +++ b/src/main/java/org/opentripplanner/routing/edgetype/PatternHop.java @@ -16,6 +16,7 @@ the License, or (at your option) any later version. import com.vividsolutions.jts.geom.Coordinate; import com.vividsolutions.jts.geom.LineString; import com.vividsolutions.jts.geom.Point; +import com.vividsolutions.jts.geom.Polygon; import org.onebusaway.gtfs.model.Stop; import org.opentripplanner.common.geometry.GeometryUtils; import org.opentripplanner.common.geometry.SphericalDistanceLibrary; @@ -43,11 +44,13 @@ public class PatternHop extends TablePatternEdge implements OnboardEdge, HopEdge private double serviceAreaRadius; + private Polygon serviceArea; + public int stopIndex; private LineString geometry = null; - protected PatternHop(PatternStopVertex from, PatternStopVertex to, Stop begin, Stop end, int stopIndex, RequestStops requestStops, double serviceAreaRadius, boolean setInPattern) { + protected PatternHop(PatternStopVertex from, PatternStopVertex to, Stop begin, Stop end, int stopIndex, RequestStops requestStops, double serviceAreaRadius, Polygon serviceArea, boolean setInPattern) { super(from, to); this.begin = begin; this.end = end; @@ -56,13 +59,14 @@ protected PatternHop(PatternStopVertex from, PatternStopVertex to, Stop begin, S getPattern().setPatternHop(stopIndex, this); this.requestStops = requestStops; this.serviceAreaRadius = serviceAreaRadius; + this.serviceArea = serviceArea; } - public PatternHop(PatternStopVertex from, PatternStopVertex to, Stop begin, Stop end, int stopIndex, int continuousPickup, int continuousDropoff, double serviceAreaRadius) { - this(from, to, begin, end, stopIndex, RequestStops.fromGtfs(continuousPickup, continuousDropoff), serviceAreaRadius, true); + public PatternHop(PatternStopVertex from, PatternStopVertex to, Stop begin, Stop end, int stopIndex, int continuousPickup, int continuousDropoff, double serviceAreaRadius, Polygon serviceArea) { + this(from, to, begin, end, stopIndex, RequestStops.fromGtfs(continuousPickup, continuousDropoff), serviceAreaRadius, serviceArea, true); } public PatternHop(PatternStopVertex from, PatternStopVertex to, Stop begin, Stop end, int stopIndex) { - this(from, to, begin, end, stopIndex, 0, 0, 0d); + this(from, to, begin, end, stopIndex, 0, 0, 0d, null); } // made more accurate @@ -192,7 +196,7 @@ public boolean hasFlagStopService() { } public boolean hasFlexService() { - return hasFlagStopService() || getServiceAreaRadius() > 0; + return hasFlagStopService() || getServiceAreaRadius() > 0 || getServiceArea() != null; } public boolean canRequestService(boolean boarding) { @@ -203,6 +207,14 @@ public double getServiceAreaRadius() { return serviceAreaRadius; } + public Polygon getServiceArea() { + return serviceArea; + } + + public boolean hasServiceArea() { + return serviceArea != null; + } + private enum RequestStops { NONE, PICKUP, DROPOFF, BOTH; private static RequestStops fromGtfs(int continuousPickup, int continuousDropoff) { diff --git a/src/main/java/org/opentripplanner/routing/edgetype/TripPattern.java b/src/main/java/org/opentripplanner/routing/edgetype/TripPattern.java index 7d340482260..0852631eb2f 100644 --- a/src/main/java/org/opentripplanner/routing/edgetype/TripPattern.java +++ b/src/main/java/org/opentripplanner/routing/edgetype/TripPattern.java @@ -521,7 +521,7 @@ public void makePatternVerticesAndEdges(Graph graph, Map _geometriesByShapeId = new HashMap(); private Map _distancesByShapeId = new HashMap(); - + + private Map _areasById = new HashMap(); + private FareServiceFactory fareServiceFactory; private Multimap tripPatterns = HashMultimap.create(); @@ -341,6 +345,9 @@ public void run(Graph graph) { // Perhaps it is to allow name collisions with previously loaded feeds. clearCachedData(); + loadAreaMap(); + loadAreasIntoGraph(graph); + /* Assign 0-based numeric codes to all GTFS service IDs. */ for (AgencyAndId serviceId : _dao.getAllServiceIds()) { // TODO: FIX Service code collision for multiple feeds. @@ -418,7 +425,7 @@ public void run(Graph graph) { } /* Get the existing TripPattern for this filtered StopPattern, or create one. */ - StopPattern stopPattern = new StopPattern(stopTimes); + StopPattern stopPattern = new StopPattern(stopTimes, _areasById::get); TripPattern tripPattern = findOrCreateTripPattern(stopPattern, trip.getRoute(), directionId); /* Create a TripTimes object for this list of stoptimes, which form one trip. */ @@ -1050,6 +1057,7 @@ private void clearCachedData() { _geometriesByShapeId.clear(); _distancesByShapeId.clear(); _geometriesByShapeSegmentKey.clear(); + _areasById.clear(); } private void loadTransfers(Graph graph) { @@ -1321,10 +1329,18 @@ private TIntList removeRepeatedStops (List stopTimes) { StopTime prev = null; Iterator it = stopTimes.iterator(); TIntList stopSequencesRemoved = new TIntArrayList(); + double serviceAreaRadius = 0.0d; + String serviceArea = null; while (it.hasNext()) { StopTime st = it.next(); + if (st.getStartServiceAreaRadius() != StopTime.MISSING_VALUE) { + serviceAreaRadius = st.getStartServiceAreaRadius(); + } + if (st.getStartServiceAreaId() != null) { + serviceArea = st.getStartServiceAreaId(); + } if (prev != null) { - if (prev.getStop().equals(st.getStop())) { + if (prev.getStop().equals(st.getStop()) && serviceAreaRadius == 0.0d && serviceArea == null) { // OBA gives us unmodifiable lists, but we have copied them. // Merge the two stop times, making sure we're not throwing out a stop time with times in favor of an @@ -1342,6 +1358,12 @@ private TIntList removeRepeatedStops (List stopTimes) { } } prev = st; + if (st.getEndServiceAreaRadius() != StopTime.MISSING_VALUE) { + serviceAreaRadius = 0.0d; + } + if (st.getEndServiceAreaId() != null) { + serviceArea = null; + } } return stopSequencesRemoved; } @@ -1475,6 +1497,33 @@ public void setMaxStopToShapeSnapDistance(double maxStopToShapeSnapDistance) { this.maxStopToShapeSnapDistance = maxStopToShapeSnapDistance; } + private void loadAreaMap() { + _dao.getAllAreas() + .stream() + .collect(Collectors.groupingBy(Area::getAreaId, Collectors.toList())) + .forEach(this::loadArea); + } + + private void loadArea(String name, List areas) { + areas.sort(Comparator.comparingInt(Area::getSequence)); + double[] coordinates = new double[areas.size() * 2]; + int i = 0; + for (Area area : areas) { + coordinates[i++] = area.getLon(); + coordinates[i++] = area.getLat(); + } + CoordinateSequence sequence = new PackedCoordinateSequence.Double(coordinates, 2); + Polygon polygon = _geometryFactory.createPolygon(sequence); + _areasById.put(name, polygon); + } + + private void loadAreasIntoGraph(Graph graph) { + for (Map.Entry entry : _areasById.entrySet()) { + AgencyAndId id = new AgencyAndId(_feedId.getId(), entry.getKey()); + graph.areasById.put(id, entry.getValue()); + } + } + private boolean hasDemandService(List stopTimes) { if (stopTimes.size() != 2) return false; diff --git a/src/main/java/org/opentripplanner/routing/edgetype/flex/PartialPatternHop.java b/src/main/java/org/opentripplanner/routing/edgetype/flex/PartialPatternHop.java index eeff6fa115c..04fadaca823 100644 --- a/src/main/java/org/opentripplanner/routing/edgetype/flex/PartialPatternHop.java +++ b/src/main/java/org/opentripplanner/routing/edgetype/flex/PartialPatternHop.java @@ -13,6 +13,7 @@ the License, or (at your option) any later version. package org.opentripplanner.routing.edgetype.flex; +import com.vividsolutions.jts.geom.Coordinate; import com.vividsolutions.jts.geom.Geometry; import com.vividsolutions.jts.geom.LineString; import com.vividsolutions.jts.linearref.LengthIndexedLine; @@ -49,7 +50,7 @@ public class PartialPatternHop extends PatternHop { // constructor for flag stops // this could be merged into deviated-route service constructor public PartialPatternHop(PatternHop hop, PatternStopVertex from, PatternStopVertex to, Stop fromStop, Stop toStop, double startIndex, double endIndex, double buffer) { - super(from, to, fromStop, toStop, hop.getStopIndex(), hop.getRequestStops(), hop.getServiceAreaRadius(), false); + super(from, to, fromStop, toStop, hop.getStopIndex(), hop.getRequestStops(), hop.getServiceAreaRadius(), hop.getServiceArea(), false); LengthIndexedLine line = new LengthIndexedLine(hop.getGeometry()); this.startIndex = startIndex; this.endIndex = endIndex; @@ -62,7 +63,7 @@ public PartialPatternHop(PatternHop hop, PatternStopVertex from, PatternStopVert // constructor for deviated-route service public PartialPatternHop(PatternHop hop, PatternStopVertex from, PatternStopVertex to, Stop fromStop, Stop toStop, double startIndex, double endIndex, LineString startGeometry, int startVehicleTime, LineString endGeometry, int endVehicleTime, double buffer) { - super(from, to, fromStop, toStop, hop.getStopIndex(), hop.getRequestStops(), hop.getServiceAreaRadius(), false); + super(from, to, fromStop, toStop, hop.getStopIndex(), hop.getRequestStops(), hop.getServiceAreaRadius(), hop.getServiceArea(), false); LengthIndexedLine line = new LengthIndexedLine(hop.getGeometry()); this.startIndex = startIndex; @@ -78,7 +79,14 @@ public PartialPatternHop(PatternHop hop, PatternStopVertex from, PatternStopVert // Only area on the route will be part of display geometry. boolean flagStopBoard = startIndex > 0 && startVehicleTime == 0; boolean flagStopAlight = endIndex < line.getEndIndex() && endVehicleTime == 0; - setGeometry(hop, line, flagStopBoard ? buffer : 0, flagStopAlight ? buffer : 0); + if (!hop.getBeginStop().equals(hop.getEndStop())) { + setGeometry(hop, line, flagStopBoard ? buffer : 0, flagStopAlight ? buffer : 0); + } else { + // If this hop has no geometry (entirely flexible deviated-route): + Coordinate c = hop.getFromVertex().getCoordinate(); + displayGeometry = GeometryUtils.getGeometryFactory().createLineString(new Coordinate[]{c, c}); + percentageOfHop = 0; + } LineString transitGeometry = (LineString) line.extractLine(startIndex, endIndex); CoordinateArrayListSequence coordinates = new CoordinateArrayListSequence(); diff --git a/src/main/java/org/opentripplanner/routing/edgetype/flex/TemporaryPartialPatternHop.java b/src/main/java/org/opentripplanner/routing/edgetype/flex/TemporaryPartialPatternHop.java index 18962022489..68a8daa7fb6 100644 --- a/src/main/java/org/opentripplanner/routing/edgetype/flex/TemporaryPartialPatternHop.java +++ b/src/main/java/org/opentripplanner/routing/edgetype/flex/TemporaryPartialPatternHop.java @@ -42,7 +42,13 @@ public boolean isTrivial() { return true; double length = SphericalDistanceLibrary.fastLength(getGeometry()); double parentLength = SphericalDistanceLibrary.fastLength(getOriginalHop().getGeometry()); - return length == 0 || length + 50 >= parentLength; + if (length == 0) { + return true; + } + if (parentLength == 0) { + return length < 5d; // deviated route + } + return length + 50 >= parentLength; } } diff --git a/src/main/java/org/opentripplanner/routing/flex/DeviatedRouteGraphModifier.java b/src/main/java/org/opentripplanner/routing/flex/DeviatedRouteGraphModifier.java index f507746cd9d..a1fa5b5b9ee 100644 --- a/src/main/java/org/opentripplanner/routing/flex/DeviatedRouteGraphModifier.java +++ b/src/main/java/org/opentripplanner/routing/flex/DeviatedRouteGraphModifier.java @@ -14,6 +14,7 @@ the License, or (props, at your option) any later version. package org.opentripplanner.routing.flex; import com.vividsolutions.jts.geom.LineString; +import com.vividsolutions.jts.geom.Point; import com.vividsolutions.jts.linearref.LengthIndexedLine; import org.onebusaway.gtfs.model.Stop; import org.opentripplanner.api.resource.CoordinateArrayListSequence; @@ -96,6 +97,13 @@ public TemporaryPartialPatternHop shortenEnd(RoutingRequest opt, State state, Te @Override public boolean checkHopAllowsBoardAlight(State s, PatternHop hop, boolean boarding) { StreetVertex sv = findFirstStreetVertex(s); + if (hop.hasServiceArea()) { + Point orig = GeometryUtils.getGeometryFactory().createPoint(sv.getCoordinate()); + Point dest = GeometryUtils.getGeometryFactory().createPoint(s.getVertex().getCoordinate()); + if (hop.getServiceArea().contains(orig) && hop.getServiceArea().contains(dest)) { + return true; + } + } double distance = SphericalDistanceLibrary.distance(s.getVertex().getCoordinate(), sv.getCoordinate()); return distance < hop.getServiceAreaRadius(); } @@ -120,4 +128,5 @@ private static LineString geometry(GraphPath path) { return GeometryUtils.getGeometryFactory().createLineString(coordinates); } + } diff --git a/src/main/java/org/opentripplanner/routing/graph/Graph.java b/src/main/java/org/opentripplanner/routing/graph/Graph.java index 99477f244f2..f898439896f 100644 --- a/src/main/java/org/opentripplanner/routing/graph/Graph.java +++ b/src/main/java/org/opentripplanner/routing/graph/Graph.java @@ -19,6 +19,7 @@ the License, or (at your option) any later version. import com.vividsolutions.jts.geom.Coordinate; import com.vividsolutions.jts.geom.Envelope; import com.vividsolutions.jts.geom.Geometry; +import com.vividsolutions.jts.geom.Polygon; import gnu.trove.list.TDoubleList; import gnu.trove.list.linked.TDoubleLinkedList; import org.apache.commons.math3.stat.descriptive.rank.Median; @@ -211,6 +212,9 @@ public class Graph implements Serializable { /** Available demand-based services */ public List demandResponseServices = new ArrayList<>(); + /** Areas for flex service */ + public Map areasById = new HashMap<>(); + public Graph(Graph basedOn) { this(); this.bundle = basedOn.getBundle(); @@ -917,6 +921,10 @@ public void addAgency(String feedId, Agency agency) { this.feedIds.add(feedId); } + public void addArea(String feedId, String areaId, Polygon area) { + this.areasById.put(new AgencyAndId(feedId, areaId), area); + } + /** * Returns the time zone for the first agency in this graph. This is used to interpret times in API requests. The JVM default time zone cannot be * used because we support multiple graphs on one server via the routerId. Ideally we would want to interpret times in the time zone of the diff --git a/src/main/java/org/opentripplanner/routing/graph/GraphIndex.java b/src/main/java/org/opentripplanner/routing/graph/GraphIndex.java index eabe8d45bb9..ec4dd27f471 100644 --- a/src/main/java/org/opentripplanner/routing/graph/GraphIndex.java +++ b/src/main/java/org/opentripplanner/routing/graph/GraphIndex.java @@ -5,6 +5,7 @@ import java.util.ArrayList; import java.util.BitSet; import java.util.Collection; +import java.util.Collections; import java.util.List; import java.util.Map; import java.util.Set; @@ -17,6 +18,8 @@ import com.google.common.util.concurrent.ThreadFactoryBuilder; import com.vividsolutions.jts.geom.Coordinate; import com.vividsolutions.jts.geom.Envelope; +import com.vividsolutions.jts.geom.LineString; +import com.vividsolutions.jts.geom.Polygon; import graphql.ExecutionResult; import graphql.GraphQL; import graphql.execution.ExecutorServiceExecutionStrategy; @@ -49,6 +52,7 @@ import org.opentripplanner.routing.core.State; import org.opentripplanner.routing.core.TraverseMode; import org.opentripplanner.routing.edgetype.PatternHop; +import org.opentripplanner.routing.edgetype.StreetEdge; import org.opentripplanner.routing.edgetype.TablePatternEdge; import org.opentripplanner.routing.edgetype.Timetable; import org.opentripplanner.routing.edgetype.TimetableSnapshot; @@ -65,7 +69,9 @@ import java.util.Date; import java.util.HashMap; import java.util.HashSet; +import java.util.TreeMap; import java.util.concurrent.Executors; +import java.util.stream.Collectors; /** * This class contains all the transient indexes of graph elements -- those that are not @@ -100,6 +106,7 @@ public class GraphIndex { public final Multimap patternsForEdge = HashMultimap.create(); public final Multimap hopsForEdge = HashMultimap.create(); public final Map demandResponseServicesForId = Maps.newHashMap(); + public final Map areasById = Maps.newHashMap(); /* Should eventually be replaced with new serviceId indexes. */ private final CalendarService calendarService; @@ -201,6 +208,13 @@ public GraphIndex (Graph graph) { } } + LOG.info("Initializing areas...."); + if (graph.areasById != null) { + for (AgencyAndId id : graph.areasById.keySet()) { + areasById.put(id, graph.areasById.get(id)); + } + } + LOG.info("Done indexing graph."); } @@ -724,7 +738,14 @@ private void initializeHopsForEdgeMap() { patternsForEdge.put(e, pattern); } for(PatternHop patternHop : pattern.getPatternHops()) { - edges = matcher.match(patternHop.getGeometry()); + + if (isSinglePoint(patternHop.getGeometry())) { + Coordinate pt = patternHop.getGeometry().getCoordinate(); + edges = findClosestEdges(pt); + } + else { + edges = matcher.match(patternHop.getGeometry()); + } if (edges == null || edges.isEmpty()) { LOG.warn("Could not match to street network: {}", pattern); @@ -755,4 +776,49 @@ public Collection getPatternsForEdge(Edge e) { return patternsForEdge.get(e); } + // TODO: move this + private List findClosestEdges(Coordinate pointLocation) { + if (graph.streetIndex == null) + return Collections.emptyList(); + + final double radiusDeg = SphericalDistanceLibrary.metersToDegrees(500); + + Envelope env = new Envelope(pointLocation); + + // local equirectangular projection + double lat = pointLocation.getOrdinate(1); + final double xscale = Math.cos(lat * Math.PI / 180); + + env.expandBy(radiusDeg / xscale, radiusDeg); + + Collection edges = graph.streetIndex.getEdgesForEnvelope(env); + if (edges.isEmpty()) { + return Collections.emptyList(); + } + Map> edgeDistanceMap = new TreeMap<>(); + for(Edge edge : edges){ + if(edge instanceof StreetEdge){ + LineString line = edge.getGeometry(); + double dist = SphericalDistanceLibrary.fastDistance(pointLocation, line); + double roundOff = (double) Math.round(dist * 100) / 100; + if(!edgeDistanceMap.containsKey(roundOff)) + edgeDistanceMap.put(roundOff, new ArrayList<>()); + edgeDistanceMap.get(roundOff).add((StreetEdge) edge); + } + } + + List closestEdges = edgeDistanceMap.values().iterator().next() + .stream().map(e -> (Edge) e).collect(Collectors.toList()); + return closestEdges; + } + + private boolean isSinglePoint(LineString line) { + Coordinate coord = line.getCoordinate(); + for (int i = 0; i < line.getNumPoints(); i++) { + if (!coord.equals(line.getCoordinateN(i))) { + return false; + } + } + return true; + } } diff --git a/src/main/java/org/opentripplanner/routing/trippattern/TripTimes.java b/src/main/java/org/opentripplanner/routing/trippattern/TripTimes.java index 462ed492863..4f6c0188a7b 100644 --- a/src/main/java/org/opentripplanner/routing/trippattern/TripTimes.java +++ b/src/main/java/org/opentripplanner/routing/trippattern/TripTimes.java @@ -18,6 +18,7 @@ the License, or (at your option) any later version. import java.util.BitSet; import java.util.List; +import com.vividsolutions.jts.geom.Polygon; import org.onebusaway.gtfs.model.StopTime; import org.onebusaway.gtfs.model.Trip; import org.opentripplanner.common.MavenVersion; @@ -112,6 +113,8 @@ public class TripTimes implements Serializable, Comparable, Cloneable private final double[] serviceAreaRadius; + private final String[] serviceArea; + /** * The real-time state of this TripTimes. */ @@ -132,10 +135,12 @@ public TripTimes(final Trip trip, final List stopTimes, final Deduplic final int[] sequences = new int[nStops]; final int[] continuousStops = new int[nStops]; final double[] serviceAreaRadius = new double[nStops]; + final String[] serviceArea = new String[nStops]; final BitSet timepoints = new BitSet(nStops); // Times are always shifted to zero. This is essential for frequencies and deduplication. timeShift = stopTimes.get(0).getArrivalTime(); double radius = 0; + String area = null; int s = 0; for (final StopTime st : stopTimes) { departures[s] = st.getDepartureTime() - timeShift; @@ -143,13 +148,33 @@ public TripTimes(final Trip trip, final List stopTimes, final Deduplic sequences[s] = st.getStopSequence(); timepoints.set(s, st.getTimepoint() == 1); continuousStops[s] = st.getContinuousStops(); + if (st.getStartServiceAreaRadius() != StopTime.MISSING_VALUE) { radius = st.getStartServiceAreaRadius(); } serviceAreaRadius[s] = radius; if (st.getEndServiceAreaRadius() != StopTime.MISSING_VALUE) { + if (st.getEndServiceAreaRadius() != radius) { + String message = String.format("Trip %s: start service area radius %g does not match end radius %g", + st.getTrip().getId(), radius, st.getEndServiceAreaRadius()); + throw new IllegalArgumentException(message); + } radius = 0; } + + if (st.getStartServiceAreaId() != null) { + area = st.getStartServiceAreaId(); + } + serviceArea[s] = area; + if (st.getEndServiceAreaId() != null) { + if (!st.getEndServiceAreaId().equals(area)) { + String message = String.format("Trip %s: start service area %s does not match end area %s", + st.getTrip().getId(), area, st.getEndServiceAreaId()); + throw new IllegalArgumentException(message); + } + area = null; + } + s++; } this.scheduledDepartureTimes = deduplicator.deduplicateIntArray(departures); @@ -163,6 +188,7 @@ public TripTimes(final Trip trip, final List stopTimes, final Deduplic this.timepoints = deduplicator.deduplicateBitSet(timepoints); this.continuousStops = deduplicator.deduplicateIntArray(continuousStops); this.serviceAreaRadius = deduplicator.deduplicateDoubleArray(serviceAreaRadius); + this.serviceArea = deduplicator.deduplicateStringArray(serviceArea); LOG.trace("trip {} has timepoint at indexes {}", trip, timepoints); } @@ -180,6 +206,7 @@ public TripTimes(final TripTimes object) { this.timepoints = object.timepoints; this.continuousStops = object.continuousStops; this.serviceAreaRadius = object.serviceAreaRadius; + this.serviceArea = object.serviceArea; } /** @@ -314,6 +341,10 @@ public double getServiceAreaRadius(final int stop) { return serviceAreaRadius[stop]; } + public String getServiceArea(final int stop) { + return serviceArea[stop]; + } + /** Used in debugging / dumping times. */ public static String formatSeconds(int s) { int m = s / 60; From e7f3c06e0c06e04b9fa7e2cda41ae3ba240fcb56 Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Mon, 14 Aug 2017 12:56:56 -0400 Subject: [PATCH 083/226] Deviated-route service State.optimize bugfix. Also increase max search distance for deviated route. --- .../routing/edgetype/flex/FlexTransitBoardAlight.java | 11 ++++++++--- .../routing/flex/DeviatedRouteGraphModifier.java | 2 +- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/src/main/java/org/opentripplanner/routing/edgetype/flex/FlexTransitBoardAlight.java b/src/main/java/org/opentripplanner/routing/edgetype/flex/FlexTransitBoardAlight.java index 888edb0079c..a33f698c8ed 100644 --- a/src/main/java/org/opentripplanner/routing/edgetype/flex/FlexTransitBoardAlight.java +++ b/src/main/java/org/opentripplanner/routing/edgetype/flex/FlexTransitBoardAlight.java @@ -13,7 +13,6 @@ the License, or (at your option) any later version. package org.opentripplanner.routing.edgetype.flex; -import org.onebusaway.gtfs.model.Trip; import org.opentripplanner.routing.core.RoutingRequest; import org.opentripplanner.routing.core.ServiceDay; import org.opentripplanner.routing.core.State; @@ -44,8 +43,14 @@ public FlexTransitBoardAlight(PatternStopVertex fromPatternStop, TransitStopArri } private void setIndices(PartialPatternHop hop) { - this.startIndex = hop.getStartIndex() / hop.getOriginalHopLength(); - this.endIndex = hop.getEndIndex() / hop.getOriginalHopLength(); + if (hop.getOriginalHopLength() > 0) { + this.startIndex = hop.getStartIndex() / hop.getOriginalHopLength(); + this.endIndex = hop.getEndIndex() / hop.getOriginalHopLength(); + } else { + // entirely-deviated area hop. Never add entire path time. + this.startIndex = 0.0d; + this.endIndex = 0.0d; + } this.hop = hop; } diff --git a/src/main/java/org/opentripplanner/routing/flex/DeviatedRouteGraphModifier.java b/src/main/java/org/opentripplanner/routing/flex/DeviatedRouteGraphModifier.java index a1fa5b5b9ee..55b7960f071 100644 --- a/src/main/java/org/opentripplanner/routing/flex/DeviatedRouteGraphModifier.java +++ b/src/main/java/org/opentripplanner/routing/flex/DeviatedRouteGraphModifier.java @@ -42,7 +42,7 @@ the License, or (props, at your option) any later version. */ public class DeviatedRouteGraphModifier extends GtfsFlexGraphModifier { - private static final int MAX_DRS_SEARCH_DIST = 1600; // could be set by data + private static final int MAX_DRS_SEARCH_DIST = 1600 * 10; // approx 5 mile limit. Could be set by data. public DeviatedRouteGraphModifier(Graph graph) { super(graph); From 2202d4d732666fe3a585bc2d2dac42ed0cca5ec6 Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Wed, 16 Aug 2017 17:42:16 -0400 Subject: [PATCH 084/226] VGF-58 bugfixes - forward and backward searches should be correct, fix State.optimize --- .../routing/edgetype/flex/PartialPatternHop.java | 11 +++++++++-- .../routing/flex/GtfsFlexGraphModifier.java | 4 +++- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/src/main/java/org/opentripplanner/routing/edgetype/flex/PartialPatternHop.java b/src/main/java/org/opentripplanner/routing/edgetype/flex/PartialPatternHop.java index 04fadaca823..65688e31d1b 100644 --- a/src/main/java/org/opentripplanner/routing/edgetype/flex/PartialPatternHop.java +++ b/src/main/java/org/opentripplanner/routing/edgetype/flex/PartialPatternHop.java @@ -24,6 +24,7 @@ the License, or (at your option) any later version. import org.opentripplanner.routing.core.RoutingRequest; import org.opentripplanner.routing.core.State; import org.opentripplanner.routing.edgetype.PatternHop; +import org.opentripplanner.routing.trippattern.TripTimes; import org.opentripplanner.routing.vertextype.PatternArriveVertex; import org.opentripplanner.routing.vertextype.PatternDepartVertex; import org.opentripplanner.routing.vertextype.PatternStopVertex; @@ -133,12 +134,18 @@ public static PartialPatternHop endHop(PatternHop hop, PatternDepartVertex from, @Override public double timeLowerBound(RoutingRequest options) { - return (percentageOfHop * super.timeLowerBound(options)) + startVehicleTime + endVehicleTime; + return Math.floor(percentageOfHop * super.timeLowerBound(options)) + startVehicleTime + endVehicleTime; } @Override public int getRunningTime(State s0) { - return (int) Math.round(percentageOfHop * super.getRunningTime(s0)) + startVehicleTime + endVehicleTime; + double startPct = startIndex / originalHopLength; + double endPct = endIndex / originalHopLength; + TripTimes tt = s0.getTripTimes(); + // necessary so rounding happens using the same coefficients as in FlexTransitBoardAlight + int arr = tt.getArrivalTime(stopIndex + 1) - (int) Math.round((1 - endPct) * (tt.getRunningTime(stopIndex))); + int dep = tt.getDepartureTime(stopIndex) + (int) Math.round(startPct * (tt.getRunningTime(stopIndex))); + return (arr - dep) + startVehicleTime + endVehicleTime; } @Override diff --git a/src/main/java/org/opentripplanner/routing/flex/GtfsFlexGraphModifier.java b/src/main/java/org/opentripplanner/routing/flex/GtfsFlexGraphModifier.java index 0a1d22a1384..2d51c68e31a 100644 --- a/src/main/java/org/opentripplanner/routing/flex/GtfsFlexGraphModifier.java +++ b/src/main/java/org/opentripplanner/routing/flex/GtfsFlexGraphModifier.java @@ -165,6 +165,7 @@ public void findExtraHops(RoutingRequest rr, Map patternHopSt public void createForwardHops(RoutingRequest request) { RoutingRequest forward = request.clone(); forward.setMode(getMode()); + forward.setArriveBy(false); streetSearch(forward); } @@ -176,7 +177,7 @@ public void createForwardHops(RoutingRequest request) { public void createBackwardHops(RoutingRequest request) { RoutingRequest backward = request.clone(); backward.setMode(getMode()); - backward.setArriveBy(!request.arriveBy); + backward.setArriveBy(true); streetSearch(backward); } @@ -248,6 +249,7 @@ public void visitEnqueue(State state) { }; gd.setSearchTerminationStrategy(getSearchTerminationStrategy()); + Vertex initVertex = rr.arriveBy ? rr.rctx.toVertex : rr.rctx.fromVertex; gd.getShortestPathTree(new State(initVertex, rr)); findExtraHops(rr, patternHopStateMap); From 4165ac6122e47cd15beb53b7ce535ff5aa5c0583 Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Thu, 17 Aug 2017 13:44:02 -0400 Subject: [PATCH 085/226] fix NaN bug in PartialPatternHop --- .../routing/edgetype/flex/PartialPatternHop.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/main/java/org/opentripplanner/routing/edgetype/flex/PartialPatternHop.java b/src/main/java/org/opentripplanner/routing/edgetype/flex/PartialPatternHop.java index 65688e31d1b..468d95ffb36 100644 --- a/src/main/java/org/opentripplanner/routing/edgetype/flex/PartialPatternHop.java +++ b/src/main/java/org/opentripplanner/routing/edgetype/flex/PartialPatternHop.java @@ -139,6 +139,9 @@ public double timeLowerBound(RoutingRequest options) { @Override public int getRunningTime(State s0) { + if (originalHopLength == 0) { + return startVehicleTime + endVehicleTime; + } double startPct = startIndex / originalHopLength; double endPct = endIndex / originalHopLength; TripTimes tt = s0.getTripTimes(); From b5e908689056f978c70f2d121701f1a70dd8999f Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Thu, 17 Aug 2017 14:15:26 -0400 Subject: [PATCH 086/226] [maven-release-plugin] prepare release otp-1.2.0.3-RC1 --- pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index 8a7fc6bd302..b036f5e2126 100644 --- a/pom.xml +++ b/pom.xml @@ -8,7 +8,7 @@ org.opentripplanner otp - 1.2.0.3-SNAPSHOT + 1.2.0.3-RC1 jar @@ -75,7 +75,7 @@ scm:git:http://github.com/camsys/OpenTripPlanner.git scm:git:ssh://git@github.com/camsys/OpenTripPlanner.git http://github.com/camsys/OpenTripPlanner - HEAD + otp-1.2.0.3-RC1 From 9682204376c0c89ccfffec902b6860827bcb82f6 Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Thu, 17 Aug 2017 14:15:30 -0400 Subject: [PATCH 087/226] [maven-release-plugin] prepare for next development iteration --- pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index b036f5e2126..558f0d031e3 100644 --- a/pom.xml +++ b/pom.xml @@ -8,7 +8,7 @@ org.opentripplanner otp - 1.2.0.3-RC1 + 1.2.0.4-SNAPSHOT jar @@ -75,7 +75,7 @@ scm:git:http://github.com/camsys/OpenTripPlanner.git scm:git:ssh://git@github.com/camsys/OpenTripPlanner.git http://github.com/camsys/OpenTripPlanner - otp-1.2.0.3-RC1 + HEAD From 64db083804bce0ea204e61929b436c360cdeb5db Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Fri, 18 Aug 2017 11:14:33 -0400 Subject: [PATCH 088/226] Extend BusRouteStreetMatcher to edit geometry of PatternHops. Also remove EdgesForRoute from BusRouteStreetMatcher because it does not appear to be used. Addresses VGF-57 --- .../module/map/BusRouteStreetMatcher.java | 61 ++++++++++--------- 1 file changed, 33 insertions(+), 28 deletions(-) diff --git a/src/main/java/org/opentripplanner/graph_builder/module/map/BusRouteStreetMatcher.java b/src/main/java/org/opentripplanner/graph_builder/module/map/BusRouteStreetMatcher.java index 63a6a9fc815..b9d9d06af58 100644 --- a/src/main/java/org/opentripplanner/graph_builder/module/map/BusRouteStreetMatcher.java +++ b/src/main/java/org/opentripplanner/graph_builder/module/map/BusRouteStreetMatcher.java @@ -17,9 +17,9 @@ the License, or (at your option) any later version. import com.vividsolutions.jts.geom.LineString; import org.onebusaway.gtfs.model.Route; import org.opentripplanner.common.geometry.GeometryUtils; -import org.opentripplanner.extra_graph.EdgesForRoute; import org.opentripplanner.graph_builder.services.GraphBuilderModule; import org.opentripplanner.routing.core.TraverseMode; +import org.opentripplanner.routing.edgetype.PatternHop; import org.opentripplanner.routing.edgetype.TripPattern; import org.opentripplanner.routing.graph.Edge; import org.opentripplanner.routing.graph.Graph; @@ -51,50 +51,55 @@ public List getPrerequisites() { return Arrays.asList("streets", "transit"); } - /* - The "extra" parameter is a mechanism for passing arbitrary things between graph builder modules. - Whether or not this is a good idea is open to debate, but that's what it is. - An EdgesForRoute instance is generated by MapBuilder and StreetMatcher, then retrieved later by the - NetworkLinkerLibrary later (actually in LinkRequests). - */ public void buildGraph(Graph graph, HashMap, Object> extra) { //Mapbuilder needs transit index graph.index(new DefaultStreetVertexIndexFactory()); StreetMatcher matcher = new StreetMatcher(graph); - EdgesForRoute edgesForRoute = new EdgesForRoute(); - extra.put(EdgesForRoute.class, edgesForRoute); log.info("Finding corresponding street edges for trip patterns..."); // Why do we need to iterate over the routes? Why not just patterns? + int nPatterns = 0; + int nHops = 0; for (Route route : graph.index.routeForId.values()) { for (TripPattern pattern : graph.index.patternsForRoute.get(route)) { - if (pattern.mode == TraverseMode.BUS) { + //If there are no shapes in GTFS pattern geometry is generated + //generated geometry is useless for street matching + //that is why pattern.geometry is null in that case + if (pattern.mode == TraverseMode.BUS && pattern.geometry != null) { /* we can only match geometry to streets on bus routes */ log.debug("Matching {}", pattern); - //If there are no shapes in GTFS pattern geometry is generated - //generated geometry is useless for street matching - //that is why pattern.geometry is null in that case - if (pattern.geometry == null) { - continue; - } - List edges = matcher.match(pattern.geometry); - if (edges == null || edges.isEmpty()) { - log.warn("Could not match to street network: {}", pattern); - continue; + // Replace the pattern's geometry from GTFS with that of the equivalent OSM edges. + LineString ls = getMatchedGeometry(matcher, pattern.geometry, pattern.toString()); + if (ls != null) { + pattern.geometry = ls; + nPatterns++; } - List coordinates = new ArrayList(); - for (Edge e : edges) { - coordinates.addAll(Arrays.asList(e.getGeometry().getCoordinates())); - edgesForRoute.edgesForRoute.put(route, e); + for (PatternHop hop : pattern.getPatternHops()) { + ls = getMatchedGeometry(matcher, hop.getGeometry(), hop.toString()); + if (ls != null) { + hop.setGeometry(ls); + nHops++; + } } - Coordinate[] coordinateArray = new Coordinate[coordinates.size()]; - LineString ls = GeometryUtils.getGeometryFactory().createLineString(coordinates.toArray(coordinateArray)); - // Replace the pattern's geometry from GTFS with that of the equivalent OSM edges. - pattern.geometry = ls; } } } + log.info("Replaced {} pattern geometries and {} hop geometries", nPatterns, nHops); + } + + private static LineString getMatchedGeometry(StreetMatcher matcher, LineString geometry, String id) { + List edges = matcher.match(geometry); + if (edges == null || edges.isEmpty()) { + log.warn("Could not match to street network: {}", id); + return null; + } + List coordinates = new ArrayList(); + for (Edge e : edges) { + coordinates.addAll(Arrays.asList(e.getGeometry().getCoordinates())); + } + Coordinate[] coordinateArray = new Coordinate[coordinates.size()]; + return GeometryUtils.getGeometryFactory().createLineString(coordinates.toArray(coordinateArray)); } @Override From fdad9cb18a13303dd97dbc9d2fed2e5d1af06037 Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Mon, 21 Aug 2017 11:41:14 -0400 Subject: [PATCH 089/226] VGF-19 implementation of call-n-ride which builds off deviated-fixed --- .../edgetype/flex/FlexTransitBoardAlight.java | 15 +- .../edgetype/flex/PartialPatternHop.java | 18 +- .../flex/TemporaryDirectPatternHop.java | 69 ++++++ .../flex/TemporaryPartialPatternHop.java | 5 + .../flex/DeviatedRouteGraphModifier.java | 19 +- .../routing/flex/GtfsFlexGraphModifier.java | 214 +++++++++++++----- 6 files changed, 277 insertions(+), 63 deletions(-) create mode 100644 src/main/java/org/opentripplanner/routing/edgetype/flex/TemporaryDirectPatternHop.java diff --git a/src/main/java/org/opentripplanner/routing/edgetype/flex/FlexTransitBoardAlight.java b/src/main/java/org/opentripplanner/routing/edgetype/flex/FlexTransitBoardAlight.java index a33f698c8ed..9a15d23c535 100644 --- a/src/main/java/org/opentripplanner/routing/edgetype/flex/FlexTransitBoardAlight.java +++ b/src/main/java/org/opentripplanner/routing/edgetype/flex/FlexTransitBoardAlight.java @@ -54,9 +54,15 @@ private void setIndices(PartialPatternHop hop) { this.hop = hop; } - @Override public TripTimes getNextTrip(State s0, ServiceDay sd) { + if (hop.isUnscheduled()) { + RoutingRequest options = s0.getOptions(); + Timetable timetable = getPattern().getUpdatedTimetable(options, sd); + int stopIndex = boarding ? getStopIndex() : getStopIndex() - 1; + int time = hop.getRunningTime(s0); + return timetable.getNextTrip(s0, sd, stopIndex, boarding, 0, 0, time); + } double adjustment = boarding ? startIndex : -1 * (1 - endIndex); RoutingRequest options = s0.getOptions(); Timetable timetable = getPattern().getUpdatedTimetable(options, sd); @@ -66,6 +72,13 @@ public TripTimes getNextTrip(State s0, ServiceDay sd) { @Override public int calculateWait(State s0, ServiceDay sd, TripTimes tripTimes) { + if (hop.isUnscheduled()) { + if (boarding) { + return (int) (sd.time(tripTimes.getDepartureTime(getStopIndex())) - s0.getTimeSeconds()); + } else { + return (int) (s0.getTimeSeconds() - sd.time(tripTimes.getArrivalTime(getStopIndex() - 1))) + hop.getRunningTime(s0); + } + } int stopIndex = getStopIndex(); if (boarding) { int offset = (int) Math.round(startIndex * (tripTimes.getRunningTime(stopIndex))); diff --git a/src/main/java/org/opentripplanner/routing/edgetype/flex/PartialPatternHop.java b/src/main/java/org/opentripplanner/routing/edgetype/flex/PartialPatternHop.java index 468d95ffb36..fc6f9709acb 100644 --- a/src/main/java/org/opentripplanner/routing/edgetype/flex/PartialPatternHop.java +++ b/src/main/java/org/opentripplanner/routing/edgetype/flex/PartialPatternHop.java @@ -102,6 +102,12 @@ public PartialPatternHop(PatternHop hop, PatternStopVertex from, PatternStopVert setGeometry(geometry); } + // pass-thru for TemporaryDirectPatternHop + public PartialPatternHop(PatternHop hop, PatternStopVertex from, PatternStopVertex to, Stop fromStop, Stop toStop) { + super(from, to, fromStop, toStop, hop.getStopIndex(), hop.getRequestStops(), hop.getServiceAreaRadius(), hop.getServiceArea(), false); + this.originalHop = hop; + } + private void setGeometry(PatternHop hop, LengthIndexedLine line, double boardBuffer, double alightBuffer) { double pointsPerMeter = (line.getEndIndex() - line.getStartIndex()) / SphericalDistanceLibrary.fastLength(hop.getGeometry()); double boardBufferPts = boardBuffer * pointsPerMeter; @@ -153,7 +159,17 @@ public int getRunningTime(State s0) { @Override public LineString getDisplayGeometry() { - return displayGeometry; + if (displayGeometry != null) { + return displayGeometry; + } + return getGeometry(); + } + + /** + * Return true if "unscheduled" ie call-n-ride + */ + public boolean isUnscheduled() { + return false; } public boolean isDeviatedRouteService() { diff --git a/src/main/java/org/opentripplanner/routing/edgetype/flex/TemporaryDirectPatternHop.java b/src/main/java/org/opentripplanner/routing/edgetype/flex/TemporaryDirectPatternHop.java new file mode 100644 index 00000000000..ba873369122 --- /dev/null +++ b/src/main/java/org/opentripplanner/routing/edgetype/flex/TemporaryDirectPatternHop.java @@ -0,0 +1,69 @@ +/* This program is free software: you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public License + as published by the Free Software Foundation, either version 3 of + the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +package org.opentripplanner.routing.edgetype.flex; + +import com.vividsolutions.jts.geom.LineString; +import org.onebusaway.gtfs.model.Stop; +import org.opentripplanner.routing.core.RoutingRequest; +import org.opentripplanner.routing.core.State; +import org.opentripplanner.routing.edgetype.PatternHop; +import org.opentripplanner.routing.edgetype.TemporaryEdge; +import org.opentripplanner.routing.vertextype.PatternStopVertex; + +/** + * This is associated with a PatternHop for stop_time information, but its geometry bears no + * relation to the route geometry. And its timing is approximate. + */ +public class TemporaryDirectPatternHop extends TemporaryPartialPatternHop implements TemporaryEdge { + private static final long serialVersionUID = 1L; + + private int time; + + public TemporaryDirectPatternHop(PatternHop hop, PatternStopVertex from, PatternStopVertex to, Stop fromStop, Stop toStop, LineString geometry, int time) { + super(hop, from, to, fromStop, toStop); + setGeometry(geometry); + this.time = time; + } + + @Override + public State traverse(State s0) { + return super.traverse(s0); + } + + @Override + public boolean isUnscheduled() { + return true; + } + + @Override + public boolean isTrivial() { + return false; + } + + @Override + public double timeLowerBound(RoutingRequest options) { + return time; + } + + @Override + public int getRunningTime(State s0) { + return time; + } + + @Override + public void dispose() { + fromv.removeOutgoing(this); + tov.removeIncoming(this); + } +} diff --git a/src/main/java/org/opentripplanner/routing/edgetype/flex/TemporaryPartialPatternHop.java b/src/main/java/org/opentripplanner/routing/edgetype/flex/TemporaryPartialPatternHop.java index 68a8daa7fb6..7839457ba53 100644 --- a/src/main/java/org/opentripplanner/routing/edgetype/flex/TemporaryPartialPatternHop.java +++ b/src/main/java/org/opentripplanner/routing/edgetype/flex/TemporaryPartialPatternHop.java @@ -30,6 +30,11 @@ public TemporaryPartialPatternHop(PatternHop hop, PatternStopVertex from, Patter super(hop, from, to, fromStop, toStop, startIndex, endIndex, startGeometry, startVehicleTime, endGeometry, endVehicleTime, buffer); } + // pass-thru for TemporaryDirectPatternHop + public TemporaryPartialPatternHop(PatternHop hop, PatternStopVertex from, PatternStopVertex to, Stop fromStop, Stop toStop) { + super(hop, from, to, fromStop, toStop); + } + @Override public void dispose() { fromv.removeOutgoing(this); diff --git a/src/main/java/org/opentripplanner/routing/flex/DeviatedRouteGraphModifier.java b/src/main/java/org/opentripplanner/routing/flex/DeviatedRouteGraphModifier.java index 55b7960f071..5f7e1e84786 100644 --- a/src/main/java/org/opentripplanner/routing/flex/DeviatedRouteGraphModifier.java +++ b/src/main/java/org/opentripplanner/routing/flex/DeviatedRouteGraphModifier.java @@ -87,11 +87,24 @@ public TemporaryPartialPatternHop shortenEnd(RoutingRequest opt, State state, Te PatternHop originalHop = hop.getOriginalHop(); GraphPath path = new GraphPath(state, false); LengthIndexedLine line = new LengthIndexedLine(originalHop.getGeometry()); + double startIndex = hop.getStartIndex(); double endIndex = line.project(state.getBackEdge().getToVertex().getCoordinate()); - if (endIndex < hop.getStartIndex()) + if (endIndex < startIndex) return null; - return new TemporaryPartialPatternHop(originalHop, (PatternStopVertex) hop.getFromVertex(), to, hop.getBeginStop(), toStop, - hop.getStartIndex(), endIndex, hop.getStartGeometry(), hop.getStartVehicleTime(), geometry(path), path.getDuration(), opt.flagStopBufferSize); + // we may want to create a ~direct~ hop. + // let's say, create a direct hop if the distance we would travel on the route is < 100m todo + if (tooLittleOnRoute(originalHop, line, startIndex, endIndex)) { + createDirectHop(opt, originalHop); + return null; + } else { + return new TemporaryPartialPatternHop(originalHop, (PatternStopVertex) hop.getFromVertex(), to, hop.getBeginStop(), toStop, + startIndex, endIndex, hop.getStartGeometry(), hop.getStartVehicleTime(), geometry(path), path.getDuration(), opt.flagStopBufferSize); + } + } + + private boolean tooLittleOnRoute(PatternHop originalHop, LengthIndexedLine line, double startIndex, double endIndex) { + double onRouteDistance = SphericalDistanceLibrary.fastLength((LineString) line.extractLine(startIndex, endIndex)); + return onRouteDistance <= Math.min(100, originalHop.getDistance()); } @Override diff --git a/src/main/java/org/opentripplanner/routing/flex/GtfsFlexGraphModifier.java b/src/main/java/org/opentripplanner/routing/flex/GtfsFlexGraphModifier.java index 2d51c68e31a..0f3c8b4c59e 100644 --- a/src/main/java/org/opentripplanner/routing/flex/GtfsFlexGraphModifier.java +++ b/src/main/java/org/opentripplanner/routing/flex/GtfsFlexGraphModifier.java @@ -14,11 +14,17 @@ the License, or (props, at your option) any later version. import com.google.common.collect.Iterables; import com.google.common.collect.Maps; +import com.vividsolutions.jts.geom.LineString; import org.apache.commons.math3.util.Pair; import org.onebusaway.gtfs.model.AgencyAndId; import org.onebusaway.gtfs.model.Stop; +import org.opentripplanner.api.resource.CoordinateArrayListSequence; +import org.opentripplanner.common.geometry.GeometryUtils; +import org.opentripplanner.routing.algorithm.AStar; import org.opentripplanner.routing.algorithm.GenericDijkstra; import org.opentripplanner.routing.algorithm.TraverseVisitor; +import org.opentripplanner.routing.algorithm.strategies.EuclideanRemainingWeightHeuristic; +import org.opentripplanner.routing.algorithm.strategies.RemainingWeightHeuristic; import org.opentripplanner.routing.algorithm.strategies.SearchTerminationStrategy; import org.opentripplanner.routing.algorithm.strategies.TrivialRemainingWeightHeuristic; import org.opentripplanner.routing.core.RoutingContext; @@ -28,6 +34,7 @@ the License, or (props, at your option) any later version. import org.opentripplanner.routing.edgetype.PatternHop; import org.opentripplanner.routing.edgetype.StreetEdge; import org.opentripplanner.routing.edgetype.TemporaryEdge; +import org.opentripplanner.routing.edgetype.flex.TemporaryDirectPatternHop; import org.opentripplanner.routing.edgetype.flex.TemporaryPartialPatternHop; import org.opentripplanner.routing.edgetype.flex.TemporaryPreAlightEdge; import org.opentripplanner.routing.edgetype.flex.TemporaryPreBoardEdge; @@ -36,6 +43,8 @@ the License, or (props, at your option) any later version. import org.opentripplanner.routing.graph.Edge; import org.opentripplanner.routing.graph.Graph; import org.opentripplanner.routing.graph.Vertex; +import org.opentripplanner.routing.location.TemporaryStreetLocation; +import org.opentripplanner.routing.spt.GraphPath; import org.opentripplanner.routing.vertextype.PatternArriveVertex; import org.opentripplanner.routing.vertextype.PatternDepartVertex; import org.opentripplanner.routing.vertextype.PatternStopVertex; @@ -54,10 +63,15 @@ the License, or (props, at your option) any later version. import java.util.ArrayList; import java.util.Collection; +import java.util.LinkedList; +import java.util.List; import java.util.Locale; import java.util.Map; +import java.util.Queue; import java.util.stream.Collectors; +import static org.opentripplanner.api.resource.GraphPathToTripPlanConverter.makeCoordinates; + /** * Create temporary vertices and edges for GTFS-flex service. */ @@ -202,9 +216,13 @@ private TemporaryTransitStop getTemporaryStop(State s, PatternHop hop) { if (streetVertex == null) { return null; } + return getTemporaryStop(streetVertex, s, s.getContext(), s.getOptions()); + } + + private TemporaryTransitStop getTemporaryStop(StreetVertex streetVertex, State s, RoutingContext rctx, RoutingRequest options) { if (temporaryTransitStopsForLocation.get(streetVertex) == null) { - String name = findName(s, streetVertex, s.getOptions().locale); - TemporaryTransitStop stop = createTemporaryTransitStop(name, streetVertex, s.getContext()); + String name = findName(s, streetVertex, options.locale); + TemporaryTransitStop stop = createTemporaryTransitStop(name, streetVertex, rctx); temporaryTransitStopsForLocation.put(streetVertex, stop); return stop; } @@ -223,7 +241,7 @@ private String findName(State state, StreetVertex vertex, Locale locale) { return e.getName(locale); } } - if (state.backEdge instanceof StreetEdge) { // this really assumes flag stops + if (state != null && state.backEdge instanceof StreetEdge) { // this really assumes flag stops return state.backEdge.getName(locale); } return unnamed.toString(); @@ -275,29 +293,12 @@ private TemporaryTransitStop createTemporaryTransitStop(String name, StreetVerte private void createHopsToTemporaryStop(RoutingRequest rr, State state, TemporaryTransitStop flagTransitStop, PatternHop originalPatternHop) { Stop flagStop = flagTransitStop.getStop(); - TransitStopArrive transitStopArrive; - if (flagTransitStop.arriveVertex == null) { - TemporaryStreetTransitLink streetTransitLink = new TemporaryStreetTransitLink(flagTransitStop, flagTransitStop.getStreetVertex(), true); - rr.rctx.temporaryEdges.add(streetTransitLink); - - transitStopArrive = new TemporaryTransitStopArrive(graph, flagStop, flagTransitStop); - rr.rctx.temporaryVertices.add(transitStopArrive); - TemporaryPreAlightEdge preAlightEdge = new TemporaryPreAlightEdge(transitStopArrive, flagTransitStop); - rr.rctx.temporaryEdges.add(preAlightEdge); - - flagTransitStop.arriveVertex = transitStopArrive; - } else { - transitStopArrive = flagTransitStop.arriveVertex; - } - - int stopIndex = originalPatternHop.getStopIndex() + 1; + TransitStopArrive transitStopArrive = createTransitStopArrive(rr, flagTransitStop); Collection reverseHops = findTemporaryPatternHops(rr, originalPatternHop); for (TemporaryPartialPatternHop reverseHop : reverseHops) { // create new shortened hop - TemporaryPatternArriveVertex patternArriveVertex = - new TemporaryPatternArriveVertex(graph, originalPatternHop.getPattern(), stopIndex, flagStop); - rr.rctx.temporaryVertices.add(patternArriveVertex); + TemporaryPatternArriveVertex patternArriveVertex = createPatternArriveVertex(rr, originalPatternHop, flagStop); TemporaryPartialPatternHop newHop = shortenEnd(rr, state, reverseHop, patternArriveVertex, flagStop); if (newHop == null || newHop.isTrivial()) { @@ -307,18 +308,16 @@ private void createHopsToTemporaryStop(RoutingRequest rr, State state, Temporary } rr.rctx.temporaryEdges.add(newHop); - TemporaryTransitBoardAlight transitBoardAlight = - new TemporaryTransitBoardAlight(patternArriveVertex, transitStopArrive, stopIndex, newHop); - rr.rctx.temporaryEdges.add(transitBoardAlight); + createAlightEdge(rr, transitStopArrive, patternArriveVertex, newHop); } - TemporaryPatternArriveVertex patternArriveVertex = - new TemporaryPatternArriveVertex(graph, originalPatternHop.getPattern(), stopIndex, flagStop); - rr.rctx.temporaryVertices.add(patternArriveVertex); + TemporaryPatternArriveVertex patternArriveVertex = createPatternArriveVertex(rr, originalPatternHop, flagStop); TemporaryPartialPatternHop hop = makeHopNewTo(rr, state, originalPatternHop, patternArriveVertex, flagStop); - if (hop.isTrivial()) { - hop.dispose(); + if (hop == null || hop.isTrivial()) { + if (hop != null) { + hop.dispose(); + } return; } rr.rctx.temporaryEdges.add(hop); @@ -326,46 +325,57 @@ private void createHopsToTemporaryStop(RoutingRequest rr, State state, Temporary // todo - david's code has this comment. why don't I need it? // flex point far away or is very close to the beginning or end of the hop. Leave this hop unchanged; - /** Alighting constructor (PatternStopVertex --> TransitStopArrive) */ - TemporaryTransitBoardAlight transitBoardAlight = - new TemporaryTransitBoardAlight(patternArriveVertex, transitStopArrive, stopIndex, hop); - rr.rctx.temporaryEdges.add(transitBoardAlight); - + createAlightEdge(rr, transitStopArrive, patternArriveVertex, hop); } private void createHopsFromTemporaryStop(RoutingRequest rr, State state, TemporaryTransitStop flagTransitStop, PatternHop originalPatternHop) { Stop flagStop = flagTransitStop.getStop(); - TransitStopDepart transitStopDepart; - if (flagTransitStop.departVertex == null) { - TemporaryStreetTransitLink streetTransitLink = new TemporaryStreetTransitLink(flagTransitStop.getStreetVertex(), flagTransitStop, true); - rr.rctx.temporaryEdges.add(streetTransitLink); - - transitStopDepart = new TemporaryTransitStopDepart(graph, flagStop, flagTransitStop); - rr.rctx.temporaryVertices.add(transitStopDepart); - TemporaryPreBoardEdge temporaryPreBoardEdge = new TemporaryPreBoardEdge(flagTransitStop, transitStopDepart); - rr.rctx.temporaryEdges.add(temporaryPreBoardEdge); - - flagTransitStop.departVertex = transitStopDepart; - } else { - transitStopDepart = flagTransitStop.departVertex; - } + TransitStopDepart transitStopDepart = createTransitStopDepart(rr, flagTransitStop); - TemporaryPatternDepartVertex patternDepartVertex = - new TemporaryPatternDepartVertex(graph, originalPatternHop.getPattern(), originalPatternHop.getStopIndex(), flagStop); - rr.rctx.temporaryVertices.add(patternDepartVertex); + TemporaryPatternDepartVertex patternDepartVertex = createPatternDepartVertex(rr, originalPatternHop, flagStop); TemporaryPartialPatternHop hop = makeHopNewFrom(rr, state, originalPatternHop, patternDepartVertex, flagStop); - if (hop.isTrivial()) { - hop.dispose(); + if (hop == null || hop.isTrivial()) { + if (hop != null) { + hop.dispose(); + } return; } rr.rctx.temporaryEdges.add(hop); - /** TransitBoardAlight: Boarding constructor (TransitStopDepart, PatternStopVertex) */ - TemporaryTransitBoardAlight transitBoardAlight = - new TemporaryTransitBoardAlight(transitStopDepart, patternDepartVertex, originalPatternHop.getStopIndex(), hop); - rr.rctx.temporaryEdges.add(transitBoardAlight); + createBoardEdge(rr, transitStopDepart, patternDepartVertex, hop); + } + + public void createDirectHop(RoutingRequest rr, PatternHop originalPatternHop) { + AStar astar = new AStar(); + RoutingRequest request = rr.clone(); + request.setArriveBy(false); + request.setMode(TraverseMode.CAR); + RemainingWeightHeuristic save = request.rctx.remainingWeightHeuristic; + request.rctx.remainingWeightHeuristic = new EuclideanRemainingWeightHeuristic(); + astar.getShortestPathTree(request); + List paths = astar.getPathsToTarget(); + request.rctx.remainingWeightHeuristic = save; + if (paths.isEmpty()) { + throw new RuntimeException("No path to target"); + } + GraphPath path = paths.iterator().next(); + TemporaryTransitStop fromStop = getTemporaryStop(getStreetVertex(rr.getRoutingContext().origin, true), null, rr.rctx, rr); + TemporaryTransitStop toStop = getTemporaryStop(getStreetVertex(rr.getRoutingContext().target, false), null, rr.rctx, rr); + + TransitStopDepart transitStopDepart = createTransitStopDepart(rr, fromStop); + TransitStopArrive transitStopArrive = createTransitStopArrive(rr, toStop); + TemporaryPatternDepartVertex patternDepartVertex = createPatternDepartVertex(rr, originalPatternHop, fromStop.getStop()); + TemporaryPatternArriveVertex patternArriveVertex = createPatternArriveVertex(rr, originalPatternHop, toStop.getStop()); + + // direct hop + TemporaryDirectPatternHop newHop = new TemporaryDirectPatternHop(originalPatternHop, patternDepartVertex, patternArriveVertex, fromStop.getStop(), toStop.getStop(), + geometry(path), path.getDuration()); + rr.rctx.temporaryEdges.add(newHop); + + createBoardEdge(rr, transitStopDepart, patternDepartVertex, newHop); + createAlightEdge(rr, transitStopArrive, patternArriveVertex, newHop); } private void addStateToPatternHopStateMap(Edge edge, State s, Map patternHopStateMap) { @@ -383,6 +393,88 @@ private void addStateToPatternHopStateMap(Edge edge, State s, Map queue = new LinkedList<>(); + queue.add(vertex); + while (!queue.isEmpty()) { + Vertex v = queue.poll(); + if (v instanceof StreetVertex && !(v instanceof TemporaryStreetLocation)) { + return (StreetVertex) v; + } + for (Edge e : (forwards ? v.getOutgoing() : v.getIncoming())) { + Vertex w = forwards ? e.getToVertex() : e.getFromVertex(); + queue.add(w); + } + } + return null; + } + private Collection findTemporaryPatternHops(RoutingRequest options, PatternHop patternHop) { Collection ret = new ArrayList(); for (TemporaryEdge e : options.rctx.temporaryEdges) { @@ -394,4 +486,10 @@ private Collection findTemporaryPatternHops(RoutingR } return ret; } + + + private static LineString geometry(GraphPath path) { + CoordinateArrayListSequence coordinates = makeCoordinates(path.edges.toArray(new Edge[0])); + return GeometryUtils.getGeometryFactory().createLineString(coordinates); + } } From db87705e59ca6e255d19b45cb3f60cbc77c11ae3 Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Mon, 21 Aug 2017 13:17:00 -0400 Subject: [PATCH 090/226] Some refactoring for call-n-ride --- .../flex/DeviatedRouteGraphModifier.java | 38 ++++++++----------- .../routing/flex/GtfsFlexGraphModifier.java | 26 ++----------- .../routing/spt/GraphPath.java | 10 +++++ 3 files changed, 29 insertions(+), 45 deletions(-) diff --git a/src/main/java/org/opentripplanner/routing/flex/DeviatedRouteGraphModifier.java b/src/main/java/org/opentripplanner/routing/flex/DeviatedRouteGraphModifier.java index 5f7e1e84786..ed0560d3960 100644 --- a/src/main/java/org/opentripplanner/routing/flex/DeviatedRouteGraphModifier.java +++ b/src/main/java/org/opentripplanner/routing/flex/DeviatedRouteGraphModifier.java @@ -17,26 +17,23 @@ the License, or (props, at your option) any later version. import com.vividsolutions.jts.geom.Point; import com.vividsolutions.jts.linearref.LengthIndexedLine; import org.onebusaway.gtfs.model.Stop; -import org.opentripplanner.api.resource.CoordinateArrayListSequence; import org.opentripplanner.common.geometry.GeometryUtils; import org.opentripplanner.common.geometry.SphericalDistanceLibrary; import org.opentripplanner.routing.algorithm.strategies.SearchTerminationStrategy; +import org.opentripplanner.routing.core.RoutingContext; import org.opentripplanner.routing.core.RoutingRequest; import org.opentripplanner.routing.core.State; import org.opentripplanner.routing.core.TraverseMode; import org.opentripplanner.routing.edgetype.PatternHop; import org.opentripplanner.routing.edgetype.flex.TemporaryPartialPatternHop; -import org.opentripplanner.routing.graph.Edge; import org.opentripplanner.routing.graph.Graph; -import org.opentripplanner.routing.location.TemporaryStreetLocation; +import org.opentripplanner.routing.graph.Vertex; import org.opentripplanner.routing.spt.GraphPath; import org.opentripplanner.routing.vertextype.PatternArriveVertex; import org.opentripplanner.routing.vertextype.PatternDepartVertex; import org.opentripplanner.routing.vertextype.PatternStopVertex; import org.opentripplanner.routing.vertextype.StreetVertex; -import static org.opentripplanner.api.resource.GraphPathToTripPlanConverter.makeCoordinates; - /** * Add temporary vertices/edges for deviated-route service. */ @@ -68,7 +65,7 @@ public TemporaryPartialPatternHop makeHopNewTo(RoutingRequest opt, State state, double startIndex = line.getStartIndex(); double endIndex = line.project(state.getBackEdge().getToVertex().getCoordinate()); return new TemporaryPartialPatternHop(hop, (PatternStopVertex) hop.getFromVertex(), to, hop.getBeginStop(), toStop, - startIndex, endIndex, null, 0, geometry(path), path.getDuration(), opt.flagStopBufferSize); + startIndex, endIndex, null, 0, path.getGeometry(), path.getDuration(), opt.flagStopBufferSize); } @Override @@ -79,7 +76,7 @@ public TemporaryPartialPatternHop makeHopNewFrom(RoutingRequest opt, State state double startIndex = line.project(state.getBackEdge().getFromVertex().getCoordinate()); double endIndex = line.getEndIndex(); return new TemporaryPartialPatternHop(hop, from, (PatternStopVertex) hop.getToVertex(), fromStop, hop.getEndStop(), - startIndex, endIndex, geometry(path), path.getDuration(), null, 0, opt.flagStopBufferSize); + startIndex, endIndex, path.getGeometry(), path.getDuration(), null, 0, opt.flagStopBufferSize); } @Override @@ -94,11 +91,13 @@ public TemporaryPartialPatternHop shortenEnd(RoutingRequest opt, State state, Te // we may want to create a ~direct~ hop. // let's say, create a direct hop if the distance we would travel on the route is < 100m todo if (tooLittleOnRoute(originalHop, line, startIndex, endIndex)) { - createDirectHop(opt, originalHop); + StreetVertex fromVertex = findFirstStreetVertex(opt.rctx, false); + StreetVertex toVertex = findFirstStreetVertex(opt.rctx, true); + createDirectHop(opt, originalHop, fromVertex, toVertex); return null; } else { return new TemporaryPartialPatternHop(originalHop, (PatternStopVertex) hop.getFromVertex(), to, hop.getBeginStop(), toStop, - startIndex, endIndex, hop.getStartGeometry(), hop.getStartVehicleTime(), geometry(path), path.getDuration(), opt.flagStopBufferSize); + startIndex, endIndex, hop.getStartGeometry(), hop.getStartVehicleTime(), path.getGeometry(), path.getDuration(), opt.flagStopBufferSize); } } @@ -126,20 +125,15 @@ public StreetVertex getLocationForTemporaryStop(State s, PatternHop hop) { return findFirstStreetVertex(s); } - private StreetVertex findFirstStreetVertex(State state) { - StreetVertex v = null; - for (State s = state; s != null; s = s.getBackState()) { - if (s.getVertex() instanceof StreetVertex && ! (s.getVertex() instanceof TemporaryStreetLocation)) { - v = (StreetVertex) s.getVertex(); - } - } - return v; + private StreetVertex findFirstStreetVertex(State s) { + return findFirstStreetVertex(s.getOptions().rctx, s.getOptions().arriveBy); } - private static LineString geometry(GraphPath path) { - CoordinateArrayListSequence coordinates = makeCoordinates(path.edges.toArray(new Edge[0])); - return GeometryUtils.getGeometryFactory().createLineString(coordinates); + private StreetVertex findFirstStreetVertex(RoutingContext rctx, boolean reverse) { + Vertex v = reverse ? rctx.toVertex : rctx.fromVertex; + if (!(v instanceof StreetVertex)) { + throw new RuntimeException("Not implemented: GTFS-flex from or to a stop."); + } + return (StreetVertex) v; } - - } diff --git a/src/main/java/org/opentripplanner/routing/flex/GtfsFlexGraphModifier.java b/src/main/java/org/opentripplanner/routing/flex/GtfsFlexGraphModifier.java index 0f3c8b4c59e..63c88bacdb4 100644 --- a/src/main/java/org/opentripplanner/routing/flex/GtfsFlexGraphModifier.java +++ b/src/main/java/org/opentripplanner/routing/flex/GtfsFlexGraphModifier.java @@ -43,7 +43,6 @@ the License, or (props, at your option) any later version. import org.opentripplanner.routing.graph.Edge; import org.opentripplanner.routing.graph.Graph; import org.opentripplanner.routing.graph.Vertex; -import org.opentripplanner.routing.location.TemporaryStreetLocation; import org.opentripplanner.routing.spt.GraphPath; import org.opentripplanner.routing.vertextype.PatternArriveVertex; import org.opentripplanner.routing.vertextype.PatternDepartVertex; @@ -63,11 +62,9 @@ the License, or (props, at your option) any later version. import java.util.ArrayList; import java.util.Collection; -import java.util.LinkedList; import java.util.List; import java.util.Locale; import java.util.Map; -import java.util.Queue; import java.util.stream.Collectors; import static org.opentripplanner.api.resource.GraphPathToTripPlanConverter.makeCoordinates; @@ -347,7 +344,7 @@ private void createHopsFromTemporaryStop(RoutingRequest rr, State state, Tempora createBoardEdge(rr, transitStopDepart, patternDepartVertex, hop); } - public void createDirectHop(RoutingRequest rr, PatternHop originalPatternHop) { + public void createDirectHop(RoutingRequest rr, PatternHop originalPatternHop, StreetVertex fromVertex, StreetVertex toVertex) { AStar astar = new AStar(); RoutingRequest request = rr.clone(); request.setArriveBy(false); @@ -361,8 +358,8 @@ public void createDirectHop(RoutingRequest rr, PatternHop originalPatternHop) { throw new RuntimeException("No path to target"); } GraphPath path = paths.iterator().next(); - TemporaryTransitStop fromStop = getTemporaryStop(getStreetVertex(rr.getRoutingContext().origin, true), null, rr.rctx, rr); - TemporaryTransitStop toStop = getTemporaryStop(getStreetVertex(rr.getRoutingContext().target, false), null, rr.rctx, rr); + TemporaryTransitStop fromStop = getTemporaryStop(fromVertex, null, rr.rctx, rr); + TemporaryTransitStop toStop = getTemporaryStop(toVertex, null, rr.rctx, rr); TransitStopDepart transitStopDepart = createTransitStopDepart(rr, fromStop); TransitStopArrive transitStopArrive = createTransitStopArrive(rr, toStop); @@ -458,23 +455,6 @@ private TemporaryPatternArriveVertex createPatternArriveVertex(RoutingRequest rr return patternArriveVertex; } - - private StreetVertex getStreetVertex(Vertex vertex, boolean forwards) { - Queue queue = new LinkedList<>(); - queue.add(vertex); - while (!queue.isEmpty()) { - Vertex v = queue.poll(); - if (v instanceof StreetVertex && !(v instanceof TemporaryStreetLocation)) { - return (StreetVertex) v; - } - for (Edge e : (forwards ? v.getOutgoing() : v.getIncoming())) { - Vertex w = forwards ? e.getToVertex() : e.getFromVertex(); - queue.add(w); - } - } - return null; - } - private Collection findTemporaryPatternHops(RoutingRequest options, PatternHop patternHop) { Collection ret = new ArrayList(); for (TemporaryEdge e : options.rctx.temporaryEdges) { diff --git a/src/main/java/org/opentripplanner/routing/spt/GraphPath.java b/src/main/java/org/opentripplanner/routing/spt/GraphPath.java index e1ad4d8fc03..9115a70ad74 100644 --- a/src/main/java/org/opentripplanner/routing/spt/GraphPath.java +++ b/src/main/java/org/opentripplanner/routing/spt/GraphPath.java @@ -16,8 +16,11 @@ the License, or (at your option) any later version. import java.util.LinkedList; import java.util.List; +import com.vividsolutions.jts.geom.LineString; import org.onebusaway.gtfs.model.AgencyAndId; import org.onebusaway.gtfs.model.Trip; +import org.opentripplanner.api.resource.CoordinateArrayListSequence; +import org.opentripplanner.common.geometry.GeometryUtils; import org.opentripplanner.routing.core.RoutingContext; import org.opentripplanner.routing.core.State; import org.opentripplanner.routing.graph.Edge; @@ -25,6 +28,8 @@ the License, or (at your option) any later version. import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import static org.opentripplanner.api.resource.GraphPathToTripPlanConverter.makeCoordinates; + /** * A shortest path on the graph. */ @@ -213,4 +218,9 @@ public RoutingContext getRoutingContext() { return rctx; } + public LineString getGeometry() { + CoordinateArrayListSequence coordinates = makeCoordinates(edges.toArray(new Edge[0])); + return GeometryUtils.getGeometryFactory().createLineString(coordinates); + } + } From a03786bad6f339cdfd3608478b02fb5d34a5fef3 Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Mon, 21 Aug 2017 13:30:35 -0400 Subject: [PATCH 091/226] Output API params for call-n-ride --- src/main/java/org/opentripplanner/api/model/Leg.java | 4 ++++ .../api/resource/GraphPathToTripPlanConverter.java | 6 ++++++ .../edgetype/flex/TemporaryDirectPatternHop.java | 10 ++++++++++ .../routing/vertextype/PatternDepartVertex.java | 6 +++--- 4 files changed, 23 insertions(+), 3 deletions(-) diff --git a/src/main/java/org/opentripplanner/api/model/Leg.java b/src/main/java/org/opentripplanner/api/model/Leg.java index 2bde516d23e..815a7c4e1e2 100644 --- a/src/main/java/org/opentripplanner/api/model/Leg.java +++ b/src/main/java/org/opentripplanner/api/model/Leg.java @@ -260,6 +260,10 @@ public class Leg { @JsonSerialize public Boolean rentedBike; + @XmlAttribute + @JsonSerialize + public Boolean callAndRide; + /** * Whether this leg is a transit leg or not. * @return Boolean true if the leg is a transit leg diff --git a/src/main/java/org/opentripplanner/api/resource/GraphPathToTripPlanConverter.java b/src/main/java/org/opentripplanner/api/resource/GraphPathToTripPlanConverter.java index 3372b88d579..68b62f40cf8 100644 --- a/src/main/java/org/opentripplanner/api/resource/GraphPathToTripPlanConverter.java +++ b/src/main/java/org/opentripplanner/api/resource/GraphPathToTripPlanConverter.java @@ -28,6 +28,7 @@ the License, or (props, at your option) any later version. import org.opentripplanner.routing.core.*; import org.opentripplanner.routing.edgetype.*; import org.opentripplanner.routing.edgetype.flex.PartialPatternHop; +import org.opentripplanner.routing.edgetype.flex.TemporaryDirectPatternHop; import org.opentripplanner.routing.error.TrivialPathException; import org.opentripplanner.routing.graph.Edge; import org.opentripplanner.routing.graph.Graph; @@ -610,6 +611,11 @@ private static void addTripFields(Leg leg, State[] states, Locale requestedLocal if (leg.headsign == null) { leg.headsign = trip.getTripHeadsign(); } + + Edge edge = states[states.length - 1].backEdge; + if (edge instanceof TemporaryDirectPatternHop) { + leg.callAndRide = true; + } } } diff --git a/src/main/java/org/opentripplanner/routing/edgetype/flex/TemporaryDirectPatternHop.java b/src/main/java/org/opentripplanner/routing/edgetype/flex/TemporaryDirectPatternHop.java index ba873369122..e2fd50e9f89 100644 --- a/src/main/java/org/opentripplanner/routing/edgetype/flex/TemporaryDirectPatternHop.java +++ b/src/main/java/org/opentripplanner/routing/edgetype/flex/TemporaryDirectPatternHop.java @@ -61,6 +61,16 @@ public int getRunningTime(State s0) { return time; } + @Override + public boolean isDeviatedRouteBoard() { + return true; + } + + @Override + public boolean isDeviatedRouteAlight() { + return true; + } + @Override public void dispose() { fromv.removeOutgoing(this); diff --git a/src/main/java/org/opentripplanner/routing/vertextype/PatternDepartVertex.java b/src/main/java/org/opentripplanner/routing/vertextype/PatternDepartVertex.java index 834657356db..fa4d497f67f 100644 --- a/src/main/java/org/opentripplanner/routing/vertextype/PatternDepartVertex.java +++ b/src/main/java/org/opentripplanner/routing/vertextype/PatternDepartVertex.java @@ -30,7 +30,7 @@ public PatternDepartVertex(Graph g, TripPattern pattern, int stopIndex) { /** constructor for temporary trip patterns */ public PatternDepartVertex(Graph g, TripPattern pattern, int stopIndex, Stop stop) { - super(g, makeTemporaryLabel(pattern, stopIndex, stop), pattern, stop); + super(g, makeTemporaryLabel(pattern, stopIndex), pattern, stop); } // constructor for single-trip hops with no trip pattern (frequency patterns) is now missing @@ -40,8 +40,8 @@ private static String makeLabel(TripPattern pattern, int stop) { return String.format("%s_%02d_D", pattern.code, stop); } - private static String makeTemporaryLabel(TripPattern pattern, int stop, Stop origin) { - return String.format("%s_%02d_D_%s", pattern.code + "_temp", stop, origin.toString()); + private static String makeTemporaryLabel(TripPattern pattern, int stop) { + return String.format("%s_%02d_D_%d", pattern.code + "_temp", stop, new Random().nextInt()); } } From 956f9b9c7a79229c22cbef17209019871e83731e Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Mon, 21 Aug 2017 18:16:10 -0400 Subject: [PATCH 092/226] Fix street name for deviated-route service --- .../routing/flex/GtfsFlexGraphModifier.java | 36 +++++++++---------- 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/src/main/java/org/opentripplanner/routing/flex/GtfsFlexGraphModifier.java b/src/main/java/org/opentripplanner/routing/flex/GtfsFlexGraphModifier.java index 63c88bacdb4..516de9cd79e 100644 --- a/src/main/java/org/opentripplanner/routing/flex/GtfsFlexGraphModifier.java +++ b/src/main/java/org/opentripplanner/routing/flex/GtfsFlexGraphModifier.java @@ -12,14 +12,10 @@ the License, or (props, at your option) any later version. along with this program. If not, see . */ package org.opentripplanner.routing.flex; -import com.google.common.collect.Iterables; import com.google.common.collect.Maps; -import com.vividsolutions.jts.geom.LineString; import org.apache.commons.math3.util.Pair; import org.onebusaway.gtfs.model.AgencyAndId; import org.onebusaway.gtfs.model.Stop; -import org.opentripplanner.api.resource.CoordinateArrayListSequence; -import org.opentripplanner.common.geometry.GeometryUtils; import org.opentripplanner.routing.algorithm.AStar; import org.opentripplanner.routing.algorithm.GenericDijkstra; import org.opentripplanner.routing.algorithm.TraverseVisitor; @@ -62,13 +58,13 @@ the License, or (props, at your option) any later version. import java.util.ArrayList; import java.util.Collection; +import java.util.LinkedList; import java.util.List; import java.util.Locale; import java.util.Map; +import java.util.Queue; import java.util.stream.Collectors; -import static org.opentripplanner.api.resource.GraphPathToTripPlanConverter.makeCoordinates; - /** * Create temporary vertices and edges for GTFS-flex service. */ @@ -218,7 +214,7 @@ private TemporaryTransitStop getTemporaryStop(State s, PatternHop hop) { private TemporaryTransitStop getTemporaryStop(StreetVertex streetVertex, State s, RoutingContext rctx, RoutingRequest options) { if (temporaryTransitStopsForLocation.get(streetVertex) == null) { - String name = findName(s, streetVertex, options.locale); + String name = findName(s, streetVertex, options.locale, !options.arriveBy); TemporaryTransitStop stop = createTemporaryTransitStop(name, streetVertex, rctx); temporaryTransitStopsForLocation.put(streetVertex, stop); return stop; @@ -227,16 +223,26 @@ private TemporaryTransitStop getTemporaryStop(StreetVertex streetVertex, State s } // Return a reasonable name for a vertex. - private String findName(State state, StreetVertex vertex, Locale locale) { + private String findName(State state, StreetVertex vertex, Locale locale, boolean forwards) { I18NString unnamed = new LocalizedString("unnamedStreet", (String[]) null); I18NString name = vertex.getIntersectionName(locale); if (!name.equals(unnamed)) { return name.toString(); } - for (Edge e : Iterables.concat(vertex.getIncoming(), vertex.getOutgoing())) { - if (e instanceof StreetEdge) { - return e.getName(locale); + // search for street edges but don't look too far away + Queue queue = new LinkedList<>(); + queue.add(vertex); + int n = 0; + while (!queue.isEmpty() && n < 3) { + Vertex v = queue.poll(); + for (Edge e : (forwards ? v.getOutgoing() : v.getIncoming())) { + if (e instanceof StreetEdge) { + return e.getName(locale); + } else { + queue.add(forwards ? e.getToVertex() : e.getFromVertex()); + } } + n++; } if (state != null && state.backEdge instanceof StreetEdge) { // this really assumes flag stops return state.backEdge.getName(locale); @@ -368,7 +374,7 @@ public void createDirectHop(RoutingRequest rr, PatternHop originalPatternHop, St // direct hop TemporaryDirectPatternHop newHop = new TemporaryDirectPatternHop(originalPatternHop, patternDepartVertex, patternArriveVertex, fromStop.getStop(), toStop.getStop(), - geometry(path), path.getDuration()); + path.getGeometry(), path.getDuration()); rr.rctx.temporaryEdges.add(newHop); createBoardEdge(rr, transitStopDepart, patternDepartVertex, newHop); @@ -466,10 +472,4 @@ private Collection findTemporaryPatternHops(RoutingR } return ret; } - - - private static LineString geometry(GraphPath path) { - CoordinateArrayListSequence coordinates = makeCoordinates(path.edges.toArray(new Edge[0])); - return GeometryUtils.getGeometryFactory().createLineString(coordinates); - } } From 825f1f88160d4a0008a3a613fb495dbf8355704a Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Tue, 22 Aug 2017 10:39:09 -0400 Subject: [PATCH 093/226] Call-n-ride: Fix search for direct hop --- .../flex/DeviatedRouteGraphModifier.java | 4 +-- .../routing/flex/GtfsFlexGraphModifier.java | 29 +++++++++++++++---- 2 files changed, 25 insertions(+), 8 deletions(-) diff --git a/src/main/java/org/opentripplanner/routing/flex/DeviatedRouteGraphModifier.java b/src/main/java/org/opentripplanner/routing/flex/DeviatedRouteGraphModifier.java index ed0560d3960..9d51d1e478a 100644 --- a/src/main/java/org/opentripplanner/routing/flex/DeviatedRouteGraphModifier.java +++ b/src/main/java/org/opentripplanner/routing/flex/DeviatedRouteGraphModifier.java @@ -91,9 +91,7 @@ public TemporaryPartialPatternHop shortenEnd(RoutingRequest opt, State state, Te // we may want to create a ~direct~ hop. // let's say, create a direct hop if the distance we would travel on the route is < 100m todo if (tooLittleOnRoute(originalHop, line, startIndex, endIndex)) { - StreetVertex fromVertex = findFirstStreetVertex(opt.rctx, false); - StreetVertex toVertex = findFirstStreetVertex(opt.rctx, true); - createDirectHop(opt, originalHop, fromVertex, toVertex); + createDirectHop(opt, originalHop); return null; } else { return new TemporaryPartialPatternHop(originalHop, (PatternStopVertex) hop.getFromVertex(), to, hop.getBeginStop(), toStop, diff --git a/src/main/java/org/opentripplanner/routing/flex/GtfsFlexGraphModifier.java b/src/main/java/org/opentripplanner/routing/flex/GtfsFlexGraphModifier.java index 516de9cd79e..895da450aeb 100644 --- a/src/main/java/org/opentripplanner/routing/flex/GtfsFlexGraphModifier.java +++ b/src/main/java/org/opentripplanner/routing/flex/GtfsFlexGraphModifier.java @@ -29,6 +29,7 @@ the License, or (props, at your option) any later version. import org.opentripplanner.routing.core.TraverseMode; import org.opentripplanner.routing.edgetype.PatternHop; import org.opentripplanner.routing.edgetype.StreetEdge; +import org.opentripplanner.routing.edgetype.StreetTransitLink; import org.opentripplanner.routing.edgetype.TemporaryEdge; import org.opentripplanner.routing.edgetype.flex.TemporaryDirectPatternHop; import org.opentripplanner.routing.edgetype.flex.TemporaryPartialPatternHop; @@ -44,6 +45,7 @@ the License, or (props, at your option) any later version. import org.opentripplanner.routing.vertextype.PatternDepartVertex; import org.opentripplanner.routing.vertextype.PatternStopVertex; import org.opentripplanner.routing.vertextype.StreetVertex; +import org.opentripplanner.routing.vertextype.TemporaryVertex; import org.opentripplanner.routing.vertextype.TransitStopArrive; import org.opentripplanner.routing.vertextype.TransitStopDepart; import org.opentripplanner.routing.vertextype.flex.TemporaryPatternArriveVertex; @@ -75,6 +77,7 @@ public abstract class GtfsFlexGraphModifier { protected Graph graph; private Map temporaryTransitStopsForLocation = Maps.newHashMap(); + private boolean mainSearchArriveBy; protected GtfsFlexGraphModifier(Graph graph) { this.graph = graph; @@ -170,6 +173,7 @@ public void findExtraHops(RoutingRequest rr, Map patternHopSt * @param request request for graph search */ public void createForwardHops(RoutingRequest request) { + mainSearchArriveBy = request.arriveBy; RoutingRequest forward = request.clone(); forward.setMode(getMode()); forward.setArriveBy(false); @@ -182,6 +186,7 @@ public void createForwardHops(RoutingRequest request) { * @param request request for graph search */ public void createBackwardHops(RoutingRequest request) { + mainSearchArriveBy = request.arriveBy; RoutingRequest backward = request.clone(); backward.setMode(getMode()); backward.setArriveBy(true); @@ -350,20 +355,25 @@ private void createHopsFromTemporaryStop(RoutingRequest rr, State state, Tempora createBoardEdge(rr, transitStopDepart, patternDepartVertex, hop); } - public void createDirectHop(RoutingRequest rr, PatternHop originalPatternHop, StreetVertex fromVertex, StreetVertex toVertex) { - AStar astar = new AStar(); + public void createDirectHop(RoutingRequest rr, PatternHop originalPatternHop) { RoutingRequest request = rr.clone(); - request.setArriveBy(false); request.setMode(TraverseMode.CAR); + request.setArriveBy(mainSearchArriveBy); RemainingWeightHeuristic save = request.rctx.remainingWeightHeuristic; request.rctx.remainingWeightHeuristic = new EuclideanRemainingWeightHeuristic(); + AStar astar = new AStar(); astar.getShortestPathTree(request); - List paths = astar.getPathsToTarget(); request.rctx.remainingWeightHeuristic = save; + List paths = astar.getPathsToTarget(); if (paths.isEmpty()) { - throw new RuntimeException("No path to target"); + LOG.info("No path to target"); + return; } GraphPath path = paths.iterator().next(); + + StreetVertex fromVertex = findFirstStreetVertex(request, true); + StreetVertex toVertex = findFirstStreetVertex(request, false); + TemporaryTransitStop fromStop = getTemporaryStop(fromVertex, null, rr.rctx, rr); TemporaryTransitStop toStop = getTemporaryStop(toVertex, null, rr.rctx, rr); @@ -381,6 +391,15 @@ public void createDirectHop(RoutingRequest rr, PatternHop originalPatternHop, St createAlightEdge(rr, transitStopArrive, patternArriveVertex, newHop); } + private StreetVertex findFirstStreetVertex(RoutingRequest rr, boolean outbound) { + Vertex v = outbound ? rr.rctx.fromVertex : rr.rctx.toVertex; + if (!(v instanceof StreetVertex)) { + throw new RuntimeException("Not implemented: GTFS-flex from or to a stop."); + } + return (StreetVertex) v; + } + + private void addStateToPatternHopStateMap(Edge edge, State s, Map patternHopStateMap) { Collection hops = graph.index.getHopsForEdge(edge); for(PatternHop hop : hops){ From 538fbc200dc91c569900a3a0354aa031b9bf1a4f Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Tue, 22 Aug 2017 11:24:48 -0400 Subject: [PATCH 094/226] Call-n-ride: fix start-time issue in API response --- .../routing/edgetype/flex/FlexTransitBoardAlight.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/org/opentripplanner/routing/edgetype/flex/FlexTransitBoardAlight.java b/src/main/java/org/opentripplanner/routing/edgetype/flex/FlexTransitBoardAlight.java index 9a15d23c535..0e2e34b56f7 100644 --- a/src/main/java/org/opentripplanner/routing/edgetype/flex/FlexTransitBoardAlight.java +++ b/src/main/java/org/opentripplanner/routing/edgetype/flex/FlexTransitBoardAlight.java @@ -76,7 +76,7 @@ public int calculateWait(State s0, ServiceDay sd, TripTimes tripTimes) { if (boarding) { return (int) (sd.time(tripTimes.getDepartureTime(getStopIndex())) - s0.getTimeSeconds()); } else { - return (int) (s0.getTimeSeconds() - sd.time(tripTimes.getArrivalTime(getStopIndex() - 1))) + hop.getRunningTime(s0); + return (int) (s0.getTimeSeconds() - (sd.time(tripTimes.getArrivalTime(getStopIndex() - 1)) + hop.getRunningTime(s0))); } } int stopIndex = getStopIndex(); From cc172a725edf08cafa4efe400f43a2585fb78932 Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Tue, 22 Aug 2017 16:09:54 -0400 Subject: [PATCH 095/226] VGF-61 Save DRT parameters in graph --- pom.xml | 2 +- .../index/model/TripShort.java | 6 ++ .../routing/trippattern/DrtTravelTime.java | 98 +++++++++++++++++++ .../routing/trippattern/TripTimes.java | 20 ++++ .../trippattern/DrtTravelTimeTest.java | 50 ++++++++++ 5 files changed, 175 insertions(+), 1 deletion(-) create mode 100644 src/main/java/org/opentripplanner/routing/trippattern/DrtTravelTime.java create mode 100644 src/test/java/org/opentripplanner/routing/trippattern/DrtTravelTimeTest.java diff --git a/pom.xml b/pom.xml index 558f0d031e3..adf8fc82ffd 100644 --- a/pom.xml +++ b/pom.xml @@ -650,7 +650,7 @@ org.onebusaway onebusaway-gtfs - 1.3.5.4-vt + 1.3.5.5-vt-SNAPSHOT diff --git a/src/main/java/org/opentripplanner/index/model/TripShort.java b/src/main/java/org/opentripplanner/index/model/TripShort.java index 7f71ba1b7d4..d69d99d0741 100644 --- a/src/main/java/org/opentripplanner/index/model/TripShort.java +++ b/src/main/java/org/opentripplanner/index/model/TripShort.java @@ -15,6 +15,9 @@ public class TripShort { public AgencyAndId serviceId; public String shapeId; public Integer direction; + public String drtMaxTravelTime; + public String drtAvgTravelTime; + public Integer drtAdvanceBookMin; // INCLUDE start and end time, pattern and route in detail version @@ -26,6 +29,9 @@ public TripShort (Trip trip) { shapeId = shape == null ? null : shape.getId(); String directionId = trip.getDirectionId(); direction = directionId == null ? null : Integer.parseInt(directionId); + drtMaxTravelTime = trip.getDrtMaxTravelTime(); + drtAvgTravelTime = trip.getDrtAvgTravelTime(); + drtAdvanceBookMin = trip.getDrtAdvanceBookMin(); } public static List list (Collection in) { diff --git a/src/main/java/org/opentripplanner/routing/trippattern/DrtTravelTime.java b/src/main/java/org/opentripplanner/routing/trippattern/DrtTravelTime.java new file mode 100644 index 00000000000..2d31730b8fe --- /dev/null +++ b/src/main/java/org/opentripplanner/routing/trippattern/DrtTravelTime.java @@ -0,0 +1,98 @@ +/* This program is free software: you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public License + as published by the Free Software Foundation, either version 3 of + the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +package org.opentripplanner.routing.trippattern; + +import java.io.Serializable; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +public class DrtTravelTime implements Serializable { + private static final long serialVersionUID = 1L; + + private static final Pattern PATTERN = Pattern.compile( + "(?^[0-9.]+$)|(^(?[0-9.]+)t(\\+(?[0-9.]))?$)"); + + static final String ERROR_MSG = "Invalid DRT formula. Valid forms are: 3, 4t, 2.5t+5"; + + private String spec; + private double coefficient = 0; + private double constant = 0; + + public static DrtTravelTime fromSpec(String spec) { + Matcher matcher = PATTERN.matcher(spec); + if (matcher.find()) { + // process and convert to seconds + DrtTravelTime tt = new DrtTravelTime(); + String constantStr = matcher.group("onlyConstant"); + if (constantStr != null) { + tt.constant = Double.parseDouble(constantStr) * 60; + } + constantStr = matcher.group("constant"); + if (constantStr != null) { + tt.constant = Double.parseDouble(constantStr) * 60; + } + String coeffStr = matcher.group("coefficient"); + if (coeffStr != null) { + tt.coefficient = Double.parseDouble(coeffStr); + } + tt.spec = spec; + return tt; + } + throw new IllegalArgumentException(ERROR_MSG); + } + + /** + * Given a direct time in seconds, return the time processed by the arithmetic function + * represented by this class. + */ + public double process(double time) { + return ((time * coefficient) + constant); + } + + public double getCoefficient() { + return coefficient; + } + + public double getConstant() { + return constant; + } + + public String getSpec() { + return spec; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + + DrtTravelTime that = (DrtTravelTime) o; + + if (Double.compare(that.coefficient, coefficient) != 0) return false; + if (Double.compare(that.constant, constant) != 0) return false; + return spec.equals(that.spec); + } + + @Override + public int hashCode() { + int result; + long temp; + result = spec.hashCode(); + temp = Double.doubleToLongBits(coefficient); + result = 31 * result + (int) (temp ^ (temp >>> 32)); + temp = Double.doubleToLongBits(constant); + result = 31 * result + (int) (temp ^ (temp >>> 32)); + return result; + } +} diff --git a/src/main/java/org/opentripplanner/routing/trippattern/TripTimes.java b/src/main/java/org/opentripplanner/routing/trippattern/TripTimes.java index 4f6c0188a7b..243dda5a005 100644 --- a/src/main/java/org/opentripplanner/routing/trippattern/TripTimes.java +++ b/src/main/java/org/opentripplanner/routing/trippattern/TripTimes.java @@ -123,6 +123,13 @@ public class TripTimes implements Serializable, Comparable, Cloneable /** A Set of stop indexes that are marked as timepoints in the GTFS input. */ private final BitSet timepoints; + /* DRT service parameters */ + private DrtTravelTime maxTravelTime; + + private DrtTravelTime avgTravelTime; + + private int advanceBookMin = 0; + /** * The provided stopTimes are assumed to be pre-filtered, valid, and monotonically increasing. * The non-interpolated stoptimes should already be marked at timepoints by a previous filtering step. @@ -189,6 +196,13 @@ public TripTimes(final Trip trip, final List stopTimes, final Deduplic this.continuousStops = deduplicator.deduplicateIntArray(continuousStops); this.serviceAreaRadius = deduplicator.deduplicateDoubleArray(serviceAreaRadius); this.serviceArea = deduplicator.deduplicateStringArray(serviceArea); + if (trip.getDrtMaxTravelTime() != null) { + this.maxTravelTime = DrtTravelTime.fromSpec(trip.getDrtMaxTravelTime()); + } + if (trip.getDrtAvgTravelTime() != null) { + this.avgTravelTime = DrtTravelTime.fromSpec(trip.getDrtAvgTravelTime()); + } + this.advanceBookMin = trip.getDrtAdvanceBookMin(); LOG.trace("trip {} has timepoint at indexes {}", trip, timepoints); } @@ -207,6 +221,9 @@ public TripTimes(final TripTimes object) { this.continuousStops = object.continuousStops; this.serviceAreaRadius = object.serviceAreaRadius; this.serviceArea = object.serviceArea; + this.maxTravelTime = object.maxTravelTime; + this.avgTravelTime = object.avgTravelTime; + this.advanceBookMin = object.advanceBookMin; } /** @@ -496,6 +513,9 @@ public boolean isTimepoint(final int stopIndex) { return timepoints.get(stopIndex); } + + + /** * Hash the scheduled arrival/departure times. Used in creating stable IDs for trips across GTFS feed versions. * Use hops rather than stops because: diff --git a/src/test/java/org/opentripplanner/routing/trippattern/DrtTravelTimeTest.java b/src/test/java/org/opentripplanner/routing/trippattern/DrtTravelTimeTest.java new file mode 100644 index 00000000000..cf07f4c571a --- /dev/null +++ b/src/test/java/org/opentripplanner/routing/trippattern/DrtTravelTimeTest.java @@ -0,0 +1,50 @@ +/* This program is free software: you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public License + as published by the Free Software Foundation, either version 3 of + the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +package org.opentripplanner.routing.trippattern; + +import junit.framework.TestCase; + +public class DrtTravelTimeTest extends TestCase { + + public void testConstant() { + DrtTravelTime tt = DrtTravelTime.fromSpec("20"); + assertEquals(0d, tt.getCoefficient()); + assertEquals(1200d, tt.getConstant()); + assertEquals(1200d, tt.process(100)); + } + + public void testCoefficient() { + DrtTravelTime tt = DrtTravelTime.fromSpec("3t"); + assertEquals(3d, tt.getCoefficient()); + assertEquals(0d, tt.getConstant()); + assertEquals(180d, tt.process(60d)); + } + + public void testArithmeticFunction() { + DrtTravelTime tt = DrtTravelTime.fromSpec("2.5t+5"); + assertEquals(2.5, tt.getCoefficient()); + assertEquals(300d, tt.getConstant()); + assertEquals(1800d, tt.process(600)); + } + + public void testBadSpec() { + try { + DrtTravelTime.fromSpec("not to spec"); + fail( "Missing exception"); + } catch(IllegalArgumentException e) { + assertEquals( e.getMessage(), DrtTravelTime.ERROR_MSG); + } + } + +} From 4f3061d749249b5c98a1dba6865b16a18c0617d5 Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Wed, 23 Aug 2017 13:11:48 -0400 Subject: [PATCH 096/226] Some fixes so call-n-ride services will get looked up correctly --- .../routing/edgetype/Timetable.java | 12 ++++++-- .../routing/graph/GraphIndex.java | 28 +++++++++---------- 2 files changed, 24 insertions(+), 16 deletions(-) diff --git a/src/main/java/org/opentripplanner/routing/edgetype/Timetable.java b/src/main/java/org/opentripplanner/routing/edgetype/Timetable.java index 72260f9d0f4..f5f70f3957f 100644 --- a/src/main/java/org/opentripplanner/routing/edgetype/Timetable.java +++ b/src/main/java/org/opentripplanner/routing/edgetype/Timetable.java @@ -164,7 +164,11 @@ public TripTimes getNextTrip(State s0, ServiceDay serviceDay, int stopIndex, boo int adjustedTime = adjustTimeForTransfer(s0, currentStop, tt.trip, boarding, serviceDay, time); if (adjustedTime == -1) continue; if (boarding) { - int depTime = tt.getDepartureTime(stopIndex) + (int) Math.round(flexOffsetScale*tt.getRunningTime(stopIndex)) - preBoardVehicleTime; + int adjustment = 0; + if (stopIndex + 1 < tt.getNumStops() && flexOffsetScale != 0.0) { + adjustment = (int) Math.round(flexOffsetScale*tt.getRunningTime(stopIndex)); + } + int depTime = tt.getDepartureTime(stopIndex) + adjustment - preBoardVehicleTime; if (depTime < 0) continue; // negative values were previously used for canceled trips/passed stops/skipped stops, but // now its not sure if this check should be still in place because there is a boolean field // for canceled trips @@ -173,7 +177,11 @@ public TripTimes getNextTrip(State s0, ServiceDay serviceDay, int stopIndex, boo bestTime = depTime; } } else { - int arvTime = tt.getArrivalTime(stopIndex) + (int) Math.round(flexOffsetScale*tt.getRunningTime(stopIndex - 1)) + postAlightVehicleTime; + int adjustment = 0; + if (stopIndex - 1 >= 0 && flexOffsetScale != 0.0) { + adjustment = (int) Math.round(flexOffsetScale*tt.getRunningTime(stopIndex - 1)); + } + int arvTime = tt.getArrivalTime(stopIndex) + adjustment + postAlightVehicleTime; if (arvTime < 0) continue; if (arvTime <= adjustedTime && arvTime > bestTime) { bestTrip = tt; diff --git a/src/main/java/org/opentripplanner/routing/graph/GraphIndex.java b/src/main/java/org/opentripplanner/routing/graph/GraphIndex.java index ec4dd27f471..9b510e97593 100644 --- a/src/main/java/org/opentripplanner/routing/graph/GraphIndex.java +++ b/src/main/java/org/opentripplanner/routing/graph/GraphIndex.java @@ -722,23 +722,23 @@ private void initializeHopsForEdgeMap() { for (TripPattern pattern : patternForId.values()) { if (pattern.hasFlexService()) { LOG.debug("Matching {}", pattern); - //If there are no shapes in GTFS pattern geometry is generated - //generated geometry is useless for street matching - //that is why pattern.geometry is null in that case - if (pattern.geometry == null) { - continue; - } - List edges = matcher.match(pattern.geometry); - if (edges == null || edges.isEmpty()) { - LOG.warn("Could not match to street network: {}", pattern); - continue; - } - for (Edge e : edges) { - patternsForEdge.put(e, pattern); + if (pattern.geometry != null) { + List edges = matcher.match(pattern.geometry); + if (edges == null || edges.isEmpty()) { + LOG.warn("Could not match to street network: {}", pattern); + continue; + } + for (Edge e : edges) { + patternsForEdge.put(e, pattern); + } } - for(PatternHop patternHop : pattern.getPatternHops()) { + for(PatternHop patternHop : pattern.getPatternHops()) { + List edges; + if (patternHop.getGeometry() == null) { + continue; + } if (isSinglePoint(patternHop.getGeometry())) { Coordinate pt = patternHop.getGeometry().getCoordinate(); edges = findClosestEdges(pt); From e387b8c45f5af422329ab57f9bf98786fc1e3317 Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Wed, 23 Aug 2017 14:59:19 -0400 Subject: [PATCH 097/226] Call-n-ride: fix trip lookup --- .../routing/edgetype/Timetable.java | 40 +++++++++++++++++++ .../edgetype/flex/FlexTransitBoardAlight.java | 10 +++-- .../routing/trippattern/TripTimes.java | 10 +++++ 3 files changed, 56 insertions(+), 4 deletions(-) diff --git a/src/main/java/org/opentripplanner/routing/edgetype/Timetable.java b/src/main/java/org/opentripplanner/routing/edgetype/Timetable.java index f5f70f3957f..5f1b516c98f 100644 --- a/src/main/java/org/opentripplanner/routing/edgetype/Timetable.java +++ b/src/main/java/org/opentripplanner/routing/edgetype/Timetable.java @@ -228,6 +228,46 @@ public TripTimes getNextTrip(State s0, ServiceDay serviceDay, int stopIndex, boo return getNextTrip(s0, serviceDay, stopIndex, boarding, 0, 0, 0); } + // could integrate with getNextTrip + public TripTimes getNextCallNRideTrip(State s0, ServiceDay serviceDay, int stopIndex, boolean boarding, int travelTime) { + /* Search at the state's time, but relative to midnight on the given service day. */ + int time = serviceDay.secondsSinceMidnight(s0.getTimeSeconds()); + // NOTE the time is sometimes negative here. That is fine, we search for the first trip of the day. + // Adjust for possible boarding time TODO: This should be included in the trip and based on GTFS + if (boarding) { + time += s0.getOptions().getBoardTime(this.pattern.mode); + } else { + time -= s0.getOptions().getAlightTime(this.pattern.mode); + } + TripTimes bestTrip = null; + Stop currentStop = pattern.getStop(stopIndex); + int bestTime = boarding ? Integer.MAX_VALUE : Integer.MIN_VALUE; + for (TripTimes tt : tripTimes) { + if (tt.isCanceled()) continue; + if ( ! serviceDay.serviceRunning(tt.serviceCode)) continue; // TODO merge into call on next line + if ( ! tt.tripAcceptable(s0, stopIndex)) continue; + int adjustedTime = adjustTimeForTransfer(s0, currentStop, tt.trip, boarding, serviceDay, time); + if (adjustedTime == -1) continue; + if (boarding) { + int depTime = tt.getCallAndRideBoardTime(stopIndex, adjustedTime); + if (depTime >= adjustedTime && depTime < bestTime) { + bestTrip = tt; + bestTime = depTime; + } + } else { + int arvTime = tt.getCallAndRideAlightTime(stopIndex, adjustedTime, travelTime); + if (arvTime < 0) continue; + if (arvTime <= adjustedTime && arvTime > bestTime) { + bestTrip = tt; + bestTime = arvTime; + } + } + } + + return bestTrip; + } + + /** * Check transfer table rules. Given the last alight time from the State, * return the boarding time t0 adjusted for this particular trip's minimum transfer time, diff --git a/src/main/java/org/opentripplanner/routing/edgetype/flex/FlexTransitBoardAlight.java b/src/main/java/org/opentripplanner/routing/edgetype/flex/FlexTransitBoardAlight.java index 0e2e34b56f7..541c5507486 100644 --- a/src/main/java/org/opentripplanner/routing/edgetype/flex/FlexTransitBoardAlight.java +++ b/src/main/java/org/opentripplanner/routing/edgetype/flex/FlexTransitBoardAlight.java @@ -59,9 +59,8 @@ public TripTimes getNextTrip(State s0, ServiceDay sd) { if (hop.isUnscheduled()) { RoutingRequest options = s0.getOptions(); Timetable timetable = getPattern().getUpdatedTimetable(options, sd); - int stopIndex = boarding ? getStopIndex() : getStopIndex() - 1; int time = hop.getRunningTime(s0); - return timetable.getNextTrip(s0, sd, stopIndex, boarding, 0, 0, time); + return timetable.getNextCallNRideTrip(s0, sd, getStopIndex(), boarding, time); } double adjustment = boarding ? startIndex : -1 * (1 - endIndex); RoutingRequest options = s0.getOptions(); @@ -73,10 +72,13 @@ public TripTimes getNextTrip(State s0, ServiceDay sd) { @Override public int calculateWait(State s0, ServiceDay sd, TripTimes tripTimes) { if (hop.isUnscheduled()) { + int currTime = sd.secondsSinceMidnight(s0.getTimeSeconds()); if (boarding) { - return (int) (sd.time(tripTimes.getDepartureTime(getStopIndex())) - s0.getTimeSeconds()); + int scheduledTime = tripTimes.getCallAndRideBoardTime(getStopIndex(), currTime); + return (int) (sd.time(scheduledTime) - s0.getTimeSeconds()); } else { - return (int) (s0.getTimeSeconds() - (sd.time(tripTimes.getArrivalTime(getStopIndex() - 1)) + hop.getRunningTime(s0))); + int scheduledTime = tripTimes.getCallAndRideAlightTime(getStopIndex(), currTime, hop.getRunningTime(s0)); + return (int) (s0.getTimeSeconds() - (sd.time(scheduledTime))); } } int stopIndex = getStopIndex(); diff --git a/src/main/java/org/opentripplanner/routing/trippattern/TripTimes.java b/src/main/java/org/opentripplanner/routing/trippattern/TripTimes.java index 243dda5a005..ebe3e4fcbac 100644 --- a/src/main/java/org/opentripplanner/routing/trippattern/TripTimes.java +++ b/src/main/java/org/opentripplanner/routing/trippattern/TripTimes.java @@ -319,6 +319,16 @@ public int getDepartureDelay(final int stop) { return getDepartureTime(stop) - (scheduledDepartureTimes[stop] + timeShift); } + public int getCallAndRideBoardTime(int stop, long currTime) { + return (int) Math.min(Math.max(currTime, getDepartureTime(stop)), getArrivalTime(stop + 1)); + } + + public int getCallAndRideAlightTime(int stop, long currTime, int travelTime) { + currTime -= travelTime; + int startOfService = (int) Math.min(Math.max(currTime, getDepartureTime(stop - 1)), getArrivalTime(stop)); + return startOfService + travelTime; + } + /** * @return true if this TripTimes represents an unmodified, scheduled trip from a published * timetable or false if it is a updated, cancelled, or otherwise modified one. This From 7b3f78e1cdbd66a5bce170f17bfea301489a611b Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Thu, 24 Aug 2017 09:46:56 -0400 Subject: [PATCH 098/226] Call-n-ride: use direct hops where appropriate --- .../flex/DeviatedRouteGraphModifier.java | 24 ++++++++++++- .../routing/flex/GtfsFlexGraphModifier.java | 34 ++++++++----------- 2 files changed, 37 insertions(+), 21 deletions(-) diff --git a/src/main/java/org/opentripplanner/routing/flex/DeviatedRouteGraphModifier.java b/src/main/java/org/opentripplanner/routing/flex/DeviatedRouteGraphModifier.java index 9d51d1e478a..dca3bc2bb17 100644 --- a/src/main/java/org/opentripplanner/routing/flex/DeviatedRouteGraphModifier.java +++ b/src/main/java/org/opentripplanner/routing/flex/DeviatedRouteGraphModifier.java @@ -33,6 +33,8 @@ the License, or (props, at your option) any later version. import org.opentripplanner.routing.vertextype.PatternDepartVertex; import org.opentripplanner.routing.vertextype.PatternStopVertex; import org.opentripplanner.routing.vertextype.StreetVertex; +import org.opentripplanner.routing.vertextype.TransitStop; +import org.opentripplanner.routing.vertextype.flex.TemporaryTransitStop; /** * Add temporary vertices/edges for deviated-route service. @@ -64,6 +66,13 @@ public TemporaryPartialPatternHop makeHopNewTo(RoutingRequest opt, State state, LengthIndexedLine line = new LengthIndexedLine(hop.getGeometry()); double startIndex = line.getStartIndex(); double endIndex = line.project(state.getBackEdge().getToVertex().getCoordinate()); + if (hop.getStopIndex() == 0 && tooLittleOnRoute(hop, line, startIndex, endIndex)) { + StreetVertex toVertex = findFirstStreetVertex(opt.rctx, true); + TemporaryTransitStop toTempStop = getTemporaryStop(toVertex, null, opt.rctx, opt); + TransitStop fromStop = graph.index.stopVertexForStop.get(hop.getBeginStop()); + createDirectHop(opt, hop, fromStop, toTempStop, path); + return null; + } return new TemporaryPartialPatternHop(hop, (PatternStopVertex) hop.getFromVertex(), to, hop.getBeginStop(), toStop, startIndex, endIndex, null, 0, path.getGeometry(), path.getDuration(), opt.flagStopBufferSize); } @@ -75,6 +84,13 @@ public TemporaryPartialPatternHop makeHopNewFrom(RoutingRequest opt, State state // state is place where we meet line double startIndex = line.project(state.getBackEdge().getFromVertex().getCoordinate()); double endIndex = line.getEndIndex(); + if (hop.getStopIndex() + 1 == hop.getPattern().getPatternHops().size() && tooLittleOnRoute(hop, line, startIndex, endIndex)) { + StreetVertex fromVertex = findFirstStreetVertex(opt.rctx, false); + TemporaryTransitStop fromTempStop = getTemporaryStop(fromVertex, null, opt.rctx, opt); + TransitStop toStop = graph.index.stopVertexForStop.get(hop.getEndStop()); + createDirectHop(opt, hop, fromTempStop, toStop, path); + return null; + } return new TemporaryPartialPatternHop(hop, from, (PatternStopVertex) hop.getToVertex(), fromStop, hop.getEndStop(), startIndex, endIndex, path.getGeometry(), path.getDuration(), null, 0, opt.flagStopBufferSize); } @@ -91,7 +107,13 @@ public TemporaryPartialPatternHop shortenEnd(RoutingRequest opt, State state, Te // we may want to create a ~direct~ hop. // let's say, create a direct hop if the distance we would travel on the route is < 100m todo if (tooLittleOnRoute(originalHop, line, startIndex, endIndex)) { - createDirectHop(opt, originalHop); + StreetVertex fromVertex = findFirstStreetVertex(opt.rctx, false); + StreetVertex toVertex = findFirstStreetVertex(opt.rctx, true); + + TemporaryTransitStop fromTempStop = getTemporaryStop(fromVertex, null, opt.rctx, opt); + TemporaryTransitStop toTempStop = getTemporaryStop(toVertex, null, opt.rctx, opt); + + createDirectHop(opt, originalHop, fromTempStop, toTempStop); return null; } else { return new TemporaryPartialPatternHop(originalHop, (PatternStopVertex) hop.getFromVertex(), to, hop.getBeginStop(), toStop, diff --git a/src/main/java/org/opentripplanner/routing/flex/GtfsFlexGraphModifier.java b/src/main/java/org/opentripplanner/routing/flex/GtfsFlexGraphModifier.java index 895da450aeb..f3e4a736680 100644 --- a/src/main/java/org/opentripplanner/routing/flex/GtfsFlexGraphModifier.java +++ b/src/main/java/org/opentripplanner/routing/flex/GtfsFlexGraphModifier.java @@ -45,7 +45,7 @@ the License, or (props, at your option) any later version. import org.opentripplanner.routing.vertextype.PatternDepartVertex; import org.opentripplanner.routing.vertextype.PatternStopVertex; import org.opentripplanner.routing.vertextype.StreetVertex; -import org.opentripplanner.routing.vertextype.TemporaryVertex; +import org.opentripplanner.routing.vertextype.TransitStop; import org.opentripplanner.routing.vertextype.TransitStopArrive; import org.opentripplanner.routing.vertextype.TransitStopDepart; import org.opentripplanner.routing.vertextype.flex.TemporaryPatternArriveVertex; @@ -217,7 +217,7 @@ private TemporaryTransitStop getTemporaryStop(State s, PatternHop hop) { return getTemporaryStop(streetVertex, s, s.getContext(), s.getOptions()); } - private TemporaryTransitStop getTemporaryStop(StreetVertex streetVertex, State s, RoutingContext rctx, RoutingRequest options) { + protected TemporaryTransitStop getTemporaryStop(StreetVertex streetVertex, State s, RoutingContext rctx, RoutingRequest options) { if (temporaryTransitStopsForLocation.get(streetVertex) == null) { String name = findName(s, streetVertex, options.locale, !options.arriveBy); TemporaryTransitStop stop = createTemporaryTransitStop(name, streetVertex, rctx); @@ -355,7 +355,7 @@ private void createHopsFromTemporaryStop(RoutingRequest rr, State state, Tempora createBoardEdge(rr, transitStopDepart, patternDepartVertex, hop); } - public void createDirectHop(RoutingRequest rr, PatternHop originalPatternHop) { + public void createDirectHop(RoutingRequest rr, PatternHop originalPatternHop, TransitStop fromStop, TransitStop toStop) { RoutingRequest request = rr.clone(); request.setMode(TraverseMode.CAR); request.setArriveBy(mainSearchArriveBy); @@ -371,14 +371,17 @@ public void createDirectHop(RoutingRequest rr, PatternHop originalPatternHop) { } GraphPath path = paths.iterator().next(); - StreetVertex fromVertex = findFirstStreetVertex(request, true); - StreetVertex toVertex = findFirstStreetVertex(request, false); + createDirectHop(rr, originalPatternHop, fromStop, toStop, path); + } - TemporaryTransitStop fromStop = getTemporaryStop(fromVertex, null, rr.rctx, rr); - TemporaryTransitStop toStop = getTemporaryStop(toVertex, null, rr.rctx, rr); + public void createDirectHop(RoutingRequest rr, PatternHop originalPatternHop, TransitStop fromStop, TransitStop toStop, GraphPath path) { + if (fromStop instanceof TemporaryTransitStop && fromStop.departVertex == null) { + createTransitStopDepart(rr, (TemporaryTransitStop) fromStop); + } + if (toStop instanceof TemporaryTransitStop && toStop.arriveVertex == null) { + createTransitStopArrive(rr, (TemporaryTransitStop) toStop); + } - TransitStopDepart transitStopDepart = createTransitStopDepart(rr, fromStop); - TransitStopArrive transitStopArrive = createTransitStopArrive(rr, toStop); TemporaryPatternDepartVertex patternDepartVertex = createPatternDepartVertex(rr, originalPatternHop, fromStop.getStop()); TemporaryPatternArriveVertex patternArriveVertex = createPatternArriveVertex(rr, originalPatternHop, toStop.getStop()); @@ -387,19 +390,10 @@ public void createDirectHop(RoutingRequest rr, PatternHop originalPatternHop) { path.getGeometry(), path.getDuration()); rr.rctx.temporaryEdges.add(newHop); - createBoardEdge(rr, transitStopDepart, patternDepartVertex, newHop); - createAlightEdge(rr, transitStopArrive, patternArriveVertex, newHop); + createBoardEdge(rr, fromStop.departVertex, patternDepartVertex, newHop); + createAlightEdge(rr, toStop.arriveVertex, patternArriveVertex, newHop); } - private StreetVertex findFirstStreetVertex(RoutingRequest rr, boolean outbound) { - Vertex v = outbound ? rr.rctx.fromVertex : rr.rctx.toVertex; - if (!(v instanceof StreetVertex)) { - throw new RuntimeException("Not implemented: GTFS-flex from or to a stop."); - } - return (StreetVertex) v; - } - - private void addStateToPatternHopStateMap(Edge edge, State s, Map patternHopStateMap) { Collection hops = graph.index.getHopsForEdge(edge); for(PatternHop hop : hops){ From a90022e0b483d12a2b845cf239f6d36faafba129 Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Thu, 24 Aug 2017 11:05:59 -0400 Subject: [PATCH 099/226] bump gtfs dependency for release --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index adf8fc82ffd..69d7e32407d 100644 --- a/pom.xml +++ b/pom.xml @@ -650,7 +650,7 @@ org.onebusaway onebusaway-gtfs - 1.3.5.5-vt-SNAPSHOT + 1.3.5.5-vt From 42ef52e26f5656af8306e9ea220c4c0f28f0b1e4 Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Thu, 24 Aug 2017 11:10:24 -0400 Subject: [PATCH 100/226] [maven-release-plugin] prepare release otp-1.2.0.4-RC1 --- pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index 69d7e32407d..527e1ad2641 100644 --- a/pom.xml +++ b/pom.xml @@ -8,7 +8,7 @@ org.opentripplanner otp - 1.2.0.4-SNAPSHOT + 1.2.0.4-RC1 jar @@ -75,7 +75,7 @@ scm:git:http://github.com/camsys/OpenTripPlanner.git scm:git:ssh://git@github.com/camsys/OpenTripPlanner.git http://github.com/camsys/OpenTripPlanner - HEAD + otp-1.2.0.4-RC1 From 5fcdcf81aa17d5d13f34cbd5a0bd996079d47354 Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Thu, 24 Aug 2017 11:10:28 -0400 Subject: [PATCH 101/226] [maven-release-plugin] prepare for next development iteration --- pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index 527e1ad2641..ab371d2c2f3 100644 --- a/pom.xml +++ b/pom.xml @@ -8,7 +8,7 @@ org.opentripplanner otp - 1.2.0.4-RC1 + 1.2.0.5-SNAPSHOT jar @@ -75,7 +75,7 @@ scm:git:http://github.com/camsys/OpenTripPlanner.git scm:git:ssh://git@github.com/camsys/OpenTripPlanner.git http://github.com/camsys/OpenTripPlanner - otp-1.2.0.4-RC1 + HEAD From e1e5dc50e6b0ec174254c920635fd38657a97c97 Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Thu, 24 Aug 2017 15:15:50 -0400 Subject: [PATCH 102/226] VGF-61 use DRT params to determine drive time --- .../routing/edgetype/Timetable.java | 12 +++++++----- .../edgetype/flex/FlexTransitBoardAlight.java | 16 ++++++++++++---- .../edgetype/flex/PartialPatternHop.java | 11 ++++++++--- .../flex/TemporaryDirectPatternHop.java | 18 ++++++++++++++---- .../routing/trippattern/TripTimes.java | 17 ++++++++++++++++- 5 files changed, 57 insertions(+), 17 deletions(-) diff --git a/src/main/java/org/opentripplanner/routing/edgetype/Timetable.java b/src/main/java/org/opentripplanner/routing/edgetype/Timetable.java index 5f1b516c98f..2d364cefb36 100644 --- a/src/main/java/org/opentripplanner/routing/edgetype/Timetable.java +++ b/src/main/java/org/opentripplanner/routing/edgetype/Timetable.java @@ -135,7 +135,7 @@ public boolean temporallyViable(ServiceDay sd, long searchTime, int bestWait, bo * @return the TripTimes object representing the (possibly updated) best trip, or null if no * trip matches both the time and other criteria. */ - public TripTimes getNextTrip(State s0, ServiceDay serviceDay, int stopIndex, boolean boarding, double flexOffsetScale, int preBoardVehicleTime, int postAlightVehicleTime) { + public TripTimes getNextTrip(State s0, ServiceDay serviceDay, int stopIndex, boolean boarding, double flexOffsetScale, int preBoardDirectTime, int postAlightDirectTime) { /* Search at the state's time, but relative to midnight on the given service day. */ int time = serviceDay.secondsSinceMidnight(s0.getTimeSeconds()); // NOTE the time is sometimes negative here. That is fine, we search for the first trip of the day. @@ -168,7 +168,8 @@ public TripTimes getNextTrip(State s0, ServiceDay serviceDay, int stopIndex, boo if (stopIndex + 1 < tt.getNumStops() && flexOffsetScale != 0.0) { adjustment = (int) Math.round(flexOffsetScale*tt.getRunningTime(stopIndex)); } - int depTime = tt.getDepartureTime(stopIndex) + adjustment - preBoardVehicleTime; + int vehicleTime = (preBoardDirectTime == 0) ? 0 : tt.getDemandResponseMaxTime(preBoardDirectTime); + int depTime = tt.getDepartureTime(stopIndex) + adjustment - vehicleTime; if (depTime < 0) continue; // negative values were previously used for canceled trips/passed stops/skipped stops, but // now its not sure if this check should be still in place because there is a boolean field // for canceled trips @@ -181,7 +182,8 @@ public TripTimes getNextTrip(State s0, ServiceDay serviceDay, int stopIndex, boo if (stopIndex - 1 >= 0 && flexOffsetScale != 0.0) { adjustment = (int) Math.round(flexOffsetScale*tt.getRunningTime(stopIndex - 1)); } - int arvTime = tt.getArrivalTime(stopIndex) + adjustment + postAlightVehicleTime; + int vehicleTime = (postAlightDirectTime == 0) ? 0 : tt.getDemandResponseMaxTime(postAlightDirectTime); + int arvTime = tt.getArrivalTime(stopIndex) + adjustment + vehicleTime; if (arvTime < 0) continue; if (arvTime <= adjustedTime && arvTime > bestTime) { bestTrip = tt; @@ -229,7 +231,7 @@ public TripTimes getNextTrip(State s0, ServiceDay serviceDay, int stopIndex, boo } // could integrate with getNextTrip - public TripTimes getNextCallNRideTrip(State s0, ServiceDay serviceDay, int stopIndex, boolean boarding, int travelTime) { + public TripTimes getNextCallNRideTrip(State s0, ServiceDay serviceDay, int stopIndex, boolean boarding, int directTime) { /* Search at the state's time, but relative to midnight on the given service day. */ int time = serviceDay.secondsSinceMidnight(s0.getTimeSeconds()); // NOTE the time is sometimes negative here. That is fine, we search for the first trip of the day. @@ -255,7 +257,7 @@ public TripTimes getNextCallNRideTrip(State s0, ServiceDay serviceDay, int stopI bestTime = depTime; } } else { - int arvTime = tt.getCallAndRideAlightTime(stopIndex, adjustedTime, travelTime); + int arvTime = tt.getCallAndRideAlightTime(stopIndex, adjustedTime, directTime); if (arvTime < 0) continue; if (arvTime <= adjustedTime && arvTime > bestTime) { bestTrip = tt; diff --git a/src/main/java/org/opentripplanner/routing/edgetype/flex/FlexTransitBoardAlight.java b/src/main/java/org/opentripplanner/routing/edgetype/flex/FlexTransitBoardAlight.java index 541c5507486..e1315f9c3d0 100644 --- a/src/main/java/org/opentripplanner/routing/edgetype/flex/FlexTransitBoardAlight.java +++ b/src/main/java/org/opentripplanner/routing/edgetype/flex/FlexTransitBoardAlight.java @@ -59,7 +59,7 @@ public TripTimes getNextTrip(State s0, ServiceDay sd) { if (hop.isUnscheduled()) { RoutingRequest options = s0.getOptions(); Timetable timetable = getPattern().getUpdatedTimetable(options, sd); - int time = hop.getRunningTime(s0); + int time = (int) Math.round(hop.timeLowerBound(options)); return timetable.getNextCallNRideTrip(s0, sd, getStopIndex(), boarding, time); } double adjustment = boarding ? startIndex : -1 * (1 - endIndex); @@ -77,18 +77,26 @@ public int calculateWait(State s0, ServiceDay sd, TripTimes tripTimes) { int scheduledTime = tripTimes.getCallAndRideBoardTime(getStopIndex(), currTime); return (int) (sd.time(scheduledTime) - s0.getTimeSeconds()); } else { - int scheduledTime = tripTimes.getCallAndRideAlightTime(getStopIndex(), currTime, hop.getRunningTime(s0)); + int scheduledTime = tripTimes.getCallAndRideAlightTime(getStopIndex(), currTime, (int) hop.timeLowerBound(s0.getOptions())); return (int) (s0.getTimeSeconds() - (sd.time(scheduledTime))); } } int stopIndex = getStopIndex(); if (boarding) { + int startVehicleTime = hop.getStartVehicleTime(); + if (startVehicleTime != 0) { + startVehicleTime = tripTimes.getDemandResponseMaxTime(startVehicleTime); + } int offset = (int) Math.round(startIndex * (tripTimes.getRunningTime(stopIndex))); - return (int)(sd.time(tripTimes.getDepartureTime(stopIndex) + offset) - s0.getTimeSeconds()) - hop.getStartVehicleTime(); + return (int)(sd.time(tripTimes.getDepartureTime(stopIndex) + offset - startVehicleTime) - s0.getTimeSeconds()); } else { + int endVehicleTime = hop.getEndVehicleTime(); + if (endVehicleTime != 0) { + endVehicleTime = tripTimes.getDemandResponseMaxTime(endVehicleTime); + } int offset = (int) Math.round((1-endIndex) * (tripTimes.getRunningTime(stopIndex - 1))); - return (int)(s0.getTimeSeconds() - sd.time(tripTimes.getArrivalTime(stopIndex) - offset)) + hop.getEndVehicleTime(); + return (int)(s0.getTimeSeconds() - sd.time(tripTimes.getArrivalTime(stopIndex) - offset + endVehicleTime)); } } diff --git a/src/main/java/org/opentripplanner/routing/edgetype/flex/PartialPatternHop.java b/src/main/java/org/opentripplanner/routing/edgetype/flex/PartialPatternHop.java index fc6f9709acb..1d0398a488c 100644 --- a/src/main/java/org/opentripplanner/routing/edgetype/flex/PartialPatternHop.java +++ b/src/main/java/org/opentripplanner/routing/edgetype/flex/PartialPatternHop.java @@ -43,6 +43,7 @@ public class PartialPatternHop extends PatternHop { private LineString displayGeometry; // if we have this, it's a deviated-route hop + // these are "direct" times, ie drive times without DRT service parameteers applied private int startVehicleTime = 0; private int endVehicleTime = 0; private LineString startGeometry; @@ -145,16 +146,20 @@ public double timeLowerBound(RoutingRequest options) { @Override public int getRunningTime(State s0) { + TripTimes tt = s0.getTripTimes(); + int vehicleTime = startVehicleTime + endVehicleTime; + if (vehicleTime > 0) { + vehicleTime = tt.getDemandResponseMaxTime(vehicleTime); + } if (originalHopLength == 0) { - return startVehicleTime + endVehicleTime; + return vehicleTime; } double startPct = startIndex / originalHopLength; double endPct = endIndex / originalHopLength; - TripTimes tt = s0.getTripTimes(); // necessary so rounding happens using the same coefficients as in FlexTransitBoardAlight int arr = tt.getArrivalTime(stopIndex + 1) - (int) Math.round((1 - endPct) * (tt.getRunningTime(stopIndex))); int dep = tt.getDepartureTime(stopIndex) + (int) Math.round(startPct * (tt.getRunningTime(stopIndex))); - return (arr - dep) + startVehicleTime + endVehicleTime; + return (arr - dep) + vehicleTime; } @Override diff --git a/src/main/java/org/opentripplanner/routing/edgetype/flex/TemporaryDirectPatternHop.java b/src/main/java/org/opentripplanner/routing/edgetype/flex/TemporaryDirectPatternHop.java index e2fd50e9f89..d971895a3f4 100644 --- a/src/main/java/org/opentripplanner/routing/edgetype/flex/TemporaryDirectPatternHop.java +++ b/src/main/java/org/opentripplanner/routing/edgetype/flex/TemporaryDirectPatternHop.java @@ -19,6 +19,7 @@ the License, or (at your option) any later version. import org.opentripplanner.routing.core.State; import org.opentripplanner.routing.edgetype.PatternHop; import org.opentripplanner.routing.edgetype.TemporaryEdge; +import org.opentripplanner.routing.trippattern.TripTimes; import org.opentripplanner.routing.vertextype.PatternStopVertex; /** @@ -28,12 +29,16 @@ the License, or (at your option) any later version. public class TemporaryDirectPatternHop extends TemporaryPartialPatternHop implements TemporaryEdge { private static final long serialVersionUID = 1L; - private int time; + /* + * This is the direct time a car would take to do this hop. Based on DRT service parameters, + * it actually may take a different amount of time. + */ + private int directTime; public TemporaryDirectPatternHop(PatternHop hop, PatternStopVertex from, PatternStopVertex to, Stop fromStop, Stop toStop, LineString geometry, int time) { super(hop, from, to, fromStop, toStop); setGeometry(geometry); - this.time = time; + this.directTime = time; } @Override @@ -53,12 +58,13 @@ public boolean isTrivial() { @Override public double timeLowerBound(RoutingRequest options) { - return time; + return directTime; } @Override public int getRunningTime(State s0) { - return time; + TripTimes tt = s0.getTripTimes(); + return tt.getDemandResponseMaxTime(directTime); } @Override @@ -76,4 +82,8 @@ public void dispose() { fromv.removeOutgoing(this); tov.removeIncoming(this); } + + public int getDirectTime() { + return directTime; + } } diff --git a/src/main/java/org/opentripplanner/routing/trippattern/TripTimes.java b/src/main/java/org/opentripplanner/routing/trippattern/TripTimes.java index ebe3e4fcbac..1df03945b50 100644 --- a/src/main/java/org/opentripplanner/routing/trippattern/TripTimes.java +++ b/src/main/java/org/opentripplanner/routing/trippattern/TripTimes.java @@ -323,12 +323,27 @@ public int getCallAndRideBoardTime(int stop, long currTime) { return (int) Math.min(Math.max(currTime, getDepartureTime(stop)), getArrivalTime(stop + 1)); } - public int getCallAndRideAlightTime(int stop, long currTime, int travelTime) { + public int getCallAndRideAlightTime(int stop, long currTime, int directTime) { + int travelTime = getDemandResponseMaxTime(directTime); currTime -= travelTime; int startOfService = (int) Math.min(Math.max(currTime, getDepartureTime(stop - 1)), getArrivalTime(stop)); return startOfService + travelTime; } + public int getDemandResponseMaxTime(int directTime) { + if (maxTravelTime != null) { + return (int) Math.round(maxTravelTime.process(directTime)); + } + return directTime; + } + + public int getDemandResponseAvgTime(int directTime) { + if (avgTravelTime != null) { + return (int) Math.round(avgTravelTime.process(directTime)); + } + return directTime; + } + /** * @return true if this TripTimes represents an unmodified, scheduled trip from a published * timetable or false if it is a updated, cancelled, or otherwise modified one. This From 264ac13da112a0c8f0eb2284d2998ae89f4c0c89 Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Thu, 24 Aug 2017 16:46:12 -0400 Subject: [PATCH 103/226] Add maxStartTime/minEndTime for deviated board/alights to the plan API response --- .../org/opentripplanner/api/model/Leg.java | 14 ++++++++++ .../GraphPathToTripPlanConverter.java | 28 +++++++++++++++++-- .../edgetype/flex/PartialPatternHop.java | 4 +++ .../flex/TemporaryDirectPatternHop.java | 3 +- 4 files changed, 46 insertions(+), 3 deletions(-) diff --git a/src/main/java/org/opentripplanner/api/model/Leg.java b/src/main/java/org/opentripplanner/api/model/Leg.java index 815a7c4e1e2..1c676d97991 100644 --- a/src/main/java/org/opentripplanner/api/model/Leg.java +++ b/src/main/java/org/opentripplanner/api/model/Leg.java @@ -264,6 +264,20 @@ public class Leg { @JsonSerialize public Boolean callAndRide; + /* For call-n-ride leg, supply max start time / min end time */ + @XmlAttribute + @JsonSerialize + public Calendar maxStartTime = null; + + @XmlAttribute + @JsonSerialize + public Calendar minEndTime = null; + + /* advanced book min if this is a DRT leg */ + @XmlAttribute + @JsonSerialize + public int drtAdvanceBookMin; + /** * Whether this leg is a transit leg or not. * @return Boolean true if the leg is a transit leg diff --git a/src/main/java/org/opentripplanner/api/resource/GraphPathToTripPlanConverter.java b/src/main/java/org/opentripplanner/api/resource/GraphPathToTripPlanConverter.java index 68b62f40cf8..04e499b3161 100644 --- a/src/main/java/org/opentripplanner/api/resource/GraphPathToTripPlanConverter.java +++ b/src/main/java/org/opentripplanner/api/resource/GraphPathToTripPlanConverter.java @@ -200,9 +200,13 @@ public static Itinerary generateItinerary(GraphPath path, boolean showIntermedia private static Calendar makeCalendar(State state) { RoutingContext rctx = state.getContext(); - TimeZone timeZone = rctx.graph.getTimeZone(); + TimeZone timeZone = rctx.graph.getTimeZone(); + return makeCalendar(timeZone, state.getTimeInMillis()); + } + + private static Calendar makeCalendar(TimeZone timeZone, long time) { Calendar calendar = Calendar.getInstance(timeZone); - calendar.setTimeInMillis(state.getTimeInMillis()); + calendar.setTimeInMillis(time); return calendar; } @@ -603,6 +607,7 @@ private static void addTripFields(Leg leg, State[] states, Locale requestedLocal leg.tripId = trip.getId(); leg.tripShortName = trip.getTripShortName(); leg.tripBlockId = trip.getBlockId(); + leg.drtAdvanceBookMin = trip.getDrtAdvanceBookMin(); if (serviceDay != null) { leg.serviceDate = serviceDay.getServiceDate().getAsString(); @@ -616,6 +621,25 @@ private static void addTripFields(Leg leg, State[] states, Locale requestedLocal if (edge instanceof TemporaryDirectPatternHop) { leg.callAndRide = true; } + if (edge instanceof PartialPatternHop) { + PartialPatternHop hop = (PartialPatternHop) edge; + int directTime = hop.getDirectVehicleTime(); + TripTimes tt = states[states.length - 1].getTripTimes(); + int maxTime = tt.getDemandResponseMaxTime(directTime); + int avgTime = tt.getDemandResponseAvgTime(directTime); + int delta = maxTime - avgTime; + if (directTime != 0 && delta > 0) { + if (hop.isDeviatedRouteBoard()) { + long maxStartTime = leg.startTime.getTimeInMillis() + (delta * 1000); + leg.maxStartTime = makeCalendar(leg.startTime.getTimeZone(), maxStartTime); + } + if (hop.isDeviatedRouteAlight()) { + long minEndTime = leg.endTime.getTimeInMillis() - (delta * 1000); + leg.minEndTime = makeCalendar(leg.endTime.getTimeZone(), minEndTime); + } + } + } + } } diff --git a/src/main/java/org/opentripplanner/routing/edgetype/flex/PartialPatternHop.java b/src/main/java/org/opentripplanner/routing/edgetype/flex/PartialPatternHop.java index 1d0398a488c..b9751ff5581 100644 --- a/src/main/java/org/opentripplanner/routing/edgetype/flex/PartialPatternHop.java +++ b/src/main/java/org/opentripplanner/routing/edgetype/flex/PartialPatternHop.java @@ -253,5 +253,9 @@ public LineString getEndGeometry() { return endGeometry; } + public int getDirectVehicleTime() { + return startVehicleTime + endVehicleTime; + } + } diff --git a/src/main/java/org/opentripplanner/routing/edgetype/flex/TemporaryDirectPatternHop.java b/src/main/java/org/opentripplanner/routing/edgetype/flex/TemporaryDirectPatternHop.java index d971895a3f4..9845daf77b8 100644 --- a/src/main/java/org/opentripplanner/routing/edgetype/flex/TemporaryDirectPatternHop.java +++ b/src/main/java/org/opentripplanner/routing/edgetype/flex/TemporaryDirectPatternHop.java @@ -83,7 +83,8 @@ public void dispose() { tov.removeIncoming(this); } - public int getDirectTime() { + @Override + public int getDirectVehicleTime() { return directTime; } } From 552017c6d0f97d473d911b5185e0c37c51b22c2f Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Fri, 25 Aug 2017 15:00:42 -0400 Subject: [PATCH 104/226] VGF-67 call-n-ride can go to other transit stops --- .../routing/core/RoutingRequest.java | 2 + .../routing/edgetype/StreetTransitLink.java | 2 +- .../flex/DeviatedRouteGraphModifier.java | 65 +++++++++++++++++-- .../routing/flex/GtfsFlexGraphModifier.java | 8 ++- 4 files changed, 70 insertions(+), 7 deletions(-) diff --git a/src/main/java/org/opentripplanner/routing/core/RoutingRequest.java b/src/main/java/org/opentripplanner/routing/core/RoutingRequest.java index d94d00949e5..098d1690377 100644 --- a/src/main/java/org/opentripplanner/routing/core/RoutingRequest.java +++ b/src/main/java/org/opentripplanner/routing/core/RoutingRequest.java @@ -448,6 +448,8 @@ public class RoutingRequest implements Cloneable, Serializable { /** Whether to apply the ellipsoid->geoid offset to all elevations in the response */ public boolean geoidElevation = false; + public boolean enterStationsWithCar = false; + /** Saves split edge which can be split on origin/destination search * * This is used so that TrivialPathException is thrown if origin and destination search would split the same edge diff --git a/src/main/java/org/opentripplanner/routing/edgetype/StreetTransitLink.java b/src/main/java/org/opentripplanner/routing/edgetype/StreetTransitLink.java index 9cd5501ce37..4cce9c80a23 100644 --- a/src/main/java/org/opentripplanner/routing/edgetype/StreetTransitLink.java +++ b/src/main/java/org/opentripplanner/routing/edgetype/StreetTransitLink.java @@ -114,7 +114,7 @@ public State traverse(State s0) { /* Only enter stations in CAR mode if parking is not required (kiss and ride) */ /* Note that in arriveBy searches this is double-traversing link edges to fork the state into both WALK and CAR mode. This is an insane hack. */ - if (s0.getNonTransitMode() == TraverseMode.CAR) { + if (s0.getNonTransitMode() == TraverseMode.CAR && !req.enterStationsWithCar) { if (req.kissAndRide && !s0.isCarParked()) { s1.setCarParked(true); } else { diff --git a/src/main/java/org/opentripplanner/routing/flex/DeviatedRouteGraphModifier.java b/src/main/java/org/opentripplanner/routing/flex/DeviatedRouteGraphModifier.java index dca3bc2bb17..ba4590116ee 100644 --- a/src/main/java/org/opentripplanner/routing/flex/DeviatedRouteGraphModifier.java +++ b/src/main/java/org/opentripplanner/routing/flex/DeviatedRouteGraphModifier.java @@ -13,6 +13,8 @@ the License, or (props, at your option) any later version. package org.opentripplanner.routing.flex; +import com.google.common.collect.Maps; +import com.google.common.collect.Sets; import com.vividsolutions.jts.geom.LineString; import com.vividsolutions.jts.geom.Point; import com.vividsolutions.jts.linearref.LengthIndexedLine; @@ -25,6 +27,7 @@ the License, or (props, at your option) any later version. import org.opentripplanner.routing.core.State; import org.opentripplanner.routing.core.TraverseMode; import org.opentripplanner.routing.edgetype.PatternHop; +import org.opentripplanner.routing.edgetype.TripPattern; import org.opentripplanner.routing.edgetype.flex.TemporaryPartialPatternHop; import org.opentripplanner.routing.graph.Graph; import org.opentripplanner.routing.graph.Vertex; @@ -33,9 +36,14 @@ the License, or (props, at your option) any later version. import org.opentripplanner.routing.vertextype.PatternDepartVertex; import org.opentripplanner.routing.vertextype.PatternStopVertex; import org.opentripplanner.routing.vertextype.StreetVertex; +import org.opentripplanner.routing.vertextype.TemporaryVertex; import org.opentripplanner.routing.vertextype.TransitStop; import org.opentripplanner.routing.vertextype.flex.TemporaryTransitStop; +import java.util.Collection; +import java.util.Map; +import java.util.Set; + /** * Add temporary vertices/edges for deviated-route service. */ @@ -43,6 +51,10 @@ public class DeviatedRouteGraphModifier extends GtfsFlexGraphModifier { private static final int MAX_DRS_SEARCH_DIST = 1600 * 10; // approx 5 mile limit. Could be set by data. + // want to ensure we only keep one pattern hop per trip pattern + private Map directServices = Maps.newHashMap(); + private Set transitStopStates = Sets.newHashSet(); + public DeviatedRouteGraphModifier(Graph graph) { super(graph); } @@ -129,15 +141,58 @@ private boolean tooLittleOnRoute(PatternHop originalHop, LengthIndexedLine line, @Override public boolean checkHopAllowsBoardAlight(State s, PatternHop hop, boolean boarding) { StreetVertex sv = findFirstStreetVertex(s); + Point orig = GeometryUtils.getGeometryFactory().createPoint(sv.getCoordinate()); + Point dest = GeometryUtils.getGeometryFactory().createPoint(s.getVertex().getCoordinate()); + boolean ret = false; if (hop.hasServiceArea()) { - Point orig = GeometryUtils.getGeometryFactory().createPoint(sv.getCoordinate()); - Point dest = GeometryUtils.getGeometryFactory().createPoint(s.getVertex().getCoordinate()); if (hop.getServiceArea().contains(orig) && hop.getServiceArea().contains(dest)) { - return true; + ret = true; + } + } + if (!ret && hop.getServiceAreaRadius() > 0) { + double distance = SphericalDistanceLibrary.distance(s.getVertex().getCoordinate(), sv.getCoordinate()); + ret = distance < hop.getServiceAreaRadius(); + } + if (hop.hasServiceArea() && hop.getServiceArea().contains(orig) && directServices.get(hop.getPattern()) == null) { + directServices.put(hop.getPattern(), hop); + } + return ret; + } + + @Override + public void vertexVisitor(State state) { + if (state.getVertex() instanceof TransitStop && !(state.getVertex() instanceof TemporaryVertex)) { + transitStopStates.add(state); + } + } + + protected void streetSearch(RoutingRequest rr) { + transitStopStates.clear(); + super.streetSearch(rr); + createDirectHopsToStops(rr); + } + + private void createDirectHopsToStops(RoutingRequest opt) { + Collection services = directServices.values(); + for (State state : transitStopStates) { + Vertex v = state.getVertex(); + Point dest = GeometryUtils.getGeometryFactory().createPoint(v.getCoordinate()); + for (PatternHop hop : services) { + if (hop.getServiceArea().contains(dest)) { + TransitStop fromStop, toStop; + if (opt.arriveBy) { + StreetVertex toVertex = findFirstStreetVertex(opt.rctx, true); + toStop = getTemporaryStop(toVertex, null, opt.rctx, opt); + fromStop = (TransitStop) v; + } else { + StreetVertex fromVertex = findFirstStreetVertex(opt.rctx, false); + fromStop = getTemporaryStop(fromVertex, null, opt.rctx, opt); + toStop = (TransitStop) v; + } + createDirectHop(opt, hop, fromStop, toStop, new GraphPath(state, true)); + } } } - double distance = SphericalDistanceLibrary.distance(s.getVertex().getCoordinate(), sv.getCoordinate()); - return distance < hop.getServiceAreaRadius(); } @Override diff --git a/src/main/java/org/opentripplanner/routing/flex/GtfsFlexGraphModifier.java b/src/main/java/org/opentripplanner/routing/flex/GtfsFlexGraphModifier.java index f3e4a736680..ee34de518e7 100644 --- a/src/main/java/org/opentripplanner/routing/flex/GtfsFlexGraphModifier.java +++ b/src/main/java/org/opentripplanner/routing/flex/GtfsFlexGraphModifier.java @@ -167,6 +167,8 @@ protected GtfsFlexGraphModifier(Graph graph) { public void findExtraHops(RoutingRequest rr, Map patternHopStateMap) { } + public void vertexVisitor(State state) {} + /** * Create temporary edges and vertices from the origin into the transit network. * @@ -177,6 +179,8 @@ public void createForwardHops(RoutingRequest request) { RoutingRequest forward = request.clone(); forward.setMode(getMode()); forward.setArriveBy(false); + // allow discovery of stations even with car mode + forward.enterStationsWithCar = true; streetSearch(forward); } @@ -190,10 +194,11 @@ public void createBackwardHops(RoutingRequest request) { RoutingRequest backward = request.clone(); backward.setMode(getMode()); backward.setArriveBy(true); + backward.enterStationsWithCar = true; streetSearch(backward); } - private void streetSearch(RoutingRequest rr) { + protected void streetSearch(RoutingRequest rr) { for(Pair p : getClosestPatternHops(rr)) { State s = p.getKey(); PatternHop hop = p.getValue(); @@ -267,6 +272,7 @@ public void visitEdge(Edge edge, State state) { @Override public void visitVertex(State state) { + vertexVisitor(state); } @Override From 7d8862528378800dd8ed60c2b7964d437020f4c3 Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Fri, 25 Aug 2017 15:16:58 -0400 Subject: [PATCH 105/226] Add call-n-ride reluctance multiplier --- .../api/common/RoutingResource.java | 18 ++++++++++++++++++ .../routing/core/RoutingRequest.java | 5 +++++ .../routing/edgetype/PatternHop.java | 7 ++++++- .../flex/TemporaryDirectPatternHop.java | 10 +++++----- 4 files changed, 34 insertions(+), 6 deletions(-) diff --git a/src/main/java/org/opentripplanner/api/common/RoutingResource.java b/src/main/java/org/opentripplanner/api/common/RoutingResource.java index df3d233d18d..d256f601ce7 100644 --- a/src/main/java/org/opentripplanner/api/common/RoutingResource.java +++ b/src/main/java/org/opentripplanner/api/common/RoutingResource.java @@ -353,6 +353,18 @@ public abstract class RoutingResource { @QueryParam("flagStopExtraPenalty") protected Integer flagStopExtraPenalty; + /** + * Extra penalty added for deviated-route boarding/alighting. + */ + @QueryParam("deviatedRouteExtraPenalty") + protected Integer deviatedRouteExtraPenalty; + + /** + * How much worse is call-n-ride than regular transit (multiplier for weight) + */ + @QueryParam("callAndRideReluctance") + protected Double callAndRideReluctance; + /* * Size of flag stop buffer zone in UI */ @@ -594,6 +606,12 @@ protected RoutingRequest buildRequest() throws ParameterException { if (flagStopExtraPenalty != null) request.flagStopExtraPenalty = flagStopExtraPenalty; + if (deviatedRouteExtraPenalty != null) + request.deviatedRouteExtraPenalty = deviatedRouteExtraPenalty; + + if (callAndRideReluctance != null) + request.callAndRideReluctance = callAndRideReluctance; + if (flagStopBufferSize != null) request.flagStopBufferSize = flagStopBufferSize; diff --git a/src/main/java/org/opentripplanner/routing/core/RoutingRequest.java b/src/main/java/org/opentripplanner/routing/core/RoutingRequest.java index 098d1690377..3a75f0728a1 100644 --- a/src/main/java/org/opentripplanner/routing/core/RoutingRequest.java +++ b/src/main/java/org/opentripplanner/routing/core/RoutingRequest.java @@ -383,6 +383,11 @@ public class RoutingRequest implements Cloneable, Serializable { */ public int deviatedRouteExtraPenalty = 180; + /** + * Reluctance for call-n-ride + */ + public double callAndRideReluctance = 2.0; + /** * Size of flag stop buffer in UI */ diff --git a/src/main/java/org/opentripplanner/routing/edgetype/PatternHop.java b/src/main/java/org/opentripplanner/routing/edgetype/PatternHop.java index 30421f5a0ab..2a54d71b4f3 100644 --- a/src/main/java/org/opentripplanner/routing/edgetype/PatternHop.java +++ b/src/main/java/org/opentripplanner/routing/edgetype/PatternHop.java @@ -143,7 +143,7 @@ public State traverse(State s0) { else s1.setZone(getEndStop().getZoneId()); //s1.setRoute(pattern.getExemplar().route.getId()); - s1.incrementWeight(runningTime); + s1.incrementWeight(getWeight(s0, runningTime)); s1.setBackMode(getMode()); return s1.makeState(); } @@ -153,6 +153,11 @@ public int getRunningTime(State s0) { return tripTimes.getRunningTime(stopIndex); } + // allow subclasses to add a weight + public int getWeight(State s0, int runningTime) { + return runningTime; + } + public void setGeometry(LineString geometry) { this.geometry = geometry; } diff --git a/src/main/java/org/opentripplanner/routing/edgetype/flex/TemporaryDirectPatternHop.java b/src/main/java/org/opentripplanner/routing/edgetype/flex/TemporaryDirectPatternHop.java index 9845daf77b8..81587a99940 100644 --- a/src/main/java/org/opentripplanner/routing/edgetype/flex/TemporaryDirectPatternHop.java +++ b/src/main/java/org/opentripplanner/routing/edgetype/flex/TemporaryDirectPatternHop.java @@ -41,11 +41,6 @@ public TemporaryDirectPatternHop(PatternHop hop, PatternStopVertex from, Pattern this.directTime = time; } - @Override - public State traverse(State s0) { - return super.traverse(s0); - } - @Override public boolean isUnscheduled() { return true; @@ -67,6 +62,11 @@ public int getRunningTime(State s0) { return tt.getDemandResponseMaxTime(directTime); } + @Override + public int getWeight(State s0, int runningTime) { + return (int) Math.round(s0.getOptions().callAndRideReluctance * runningTime); + } + @Override public boolean isDeviatedRouteBoard() { return true; From ebcd0830d086b6f15b6f7094cb7ca4b18d941858 Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Mon, 28 Aug 2017 14:51:27 -0400 Subject: [PATCH 106/226] GTFS updates: drt pickup/dropoff messages, continuous_pickup/drop_off replaces continuous_stops --- pom.xml | 2 +- .../org/opentripplanner/api/model/Leg.java | 9 +++++++ .../GraphPathToTripPlanConverter.java | 2 ++ .../index/model/TripTimeShort.java | 6 +++-- .../opentripplanner/model/StopPattern.java | 22 ++++++++++----- .../routing/edgetype/TripPattern.java | 2 +- .../routing/flex/GtfsFlexGraphModifier.java | 1 - .../routing/trippattern/TripTimes.java | 27 +++++++++++++------ 8 files changed, 51 insertions(+), 20 deletions(-) diff --git a/pom.xml b/pom.xml index ab371d2c2f3..60d3b684fe6 100644 --- a/pom.xml +++ b/pom.xml @@ -650,7 +650,7 @@ org.onebusaway onebusaway-gtfs - 1.3.5.5-vt + 1.3.5.6-vt-SNAPSHOT diff --git a/src/main/java/org/opentripplanner/api/model/Leg.java b/src/main/java/org/opentripplanner/api/model/Leg.java index 1c676d97991..96e3dacca01 100644 --- a/src/main/java/org/opentripplanner/api/model/Leg.java +++ b/src/main/java/org/opentripplanner/api/model/Leg.java @@ -278,6 +278,15 @@ public class Leg { @JsonSerialize public int drtAdvanceBookMin; + /* include DRT pickup/dropoff messages if applicable */ + @XmlAttribute + @JsonSerialize + public String drtPickupMessage; + + @XmlAttribute + @JsonSerialize + public String drtDropOffMessage; + /** * Whether this leg is a transit leg or not. * @return Boolean true if the leg is a transit leg diff --git a/src/main/java/org/opentripplanner/api/resource/GraphPathToTripPlanConverter.java b/src/main/java/org/opentripplanner/api/resource/GraphPathToTripPlanConverter.java index 04e499b3161..4cbe28f232a 100644 --- a/src/main/java/org/opentripplanner/api/resource/GraphPathToTripPlanConverter.java +++ b/src/main/java/org/opentripplanner/api/resource/GraphPathToTripPlanConverter.java @@ -608,6 +608,8 @@ private static void addTripFields(Leg leg, State[] states, Locale requestedLocal leg.tripShortName = trip.getTripShortName(); leg.tripBlockId = trip.getBlockId(); leg.drtAdvanceBookMin = trip.getDrtAdvanceBookMin(); + leg.drtPickupMessage = trip.getDrtPickupMessage(); + leg.drtDropOffMessage = trip.getDrtDropOffMessage(); if (serviceDay != null) { leg.serviceDate = serviceDay.getServiceDate().getAsString(); diff --git a/src/main/java/org/opentripplanner/index/model/TripTimeShort.java b/src/main/java/org/opentripplanner/index/model/TripTimeShort.java index c1d9caf2fc1..1a973134c29 100644 --- a/src/main/java/org/opentripplanner/index/model/TripTimeShort.java +++ b/src/main/java/org/opentripplanner/index/model/TripTimeShort.java @@ -31,7 +31,8 @@ public class TripTimeShort { public AgencyAndId tripId; public String blockId; public String headsign; - public int continuousStops; + public int continuousPickup; + public int continuousDropOff; public double serviceAreaRadius; public String serviceArea; @@ -53,7 +54,8 @@ public TripTimeShort(TripTimes tt, int i, Stop stop) { realtimeState = tt.getRealTimeState(); blockId = tt.trip.getBlockId(); headsign = tt.getHeadsign(i); - continuousStops = tt.getContinuousStops(i); + continuousPickup = tt.getContinuousPickup(i); + continuousDropOff = tt.getContinuousDropOff(i); serviceAreaRadius = tt.getServiceAreaRadius(i); serviceArea = tt.getServiceArea(i); } diff --git a/src/main/java/org/opentripplanner/model/StopPattern.java b/src/main/java/org/opentripplanner/model/StopPattern.java index 821e1f14053..46ce261747f 100644 --- a/src/main/java/org/opentripplanner/model/StopPattern.java +++ b/src/main/java/org/opentripplanner/model/StopPattern.java @@ -53,7 +53,8 @@ public class StopPattern implements Serializable { public final Stop[] stops; public final int[] pickups; public final int[] dropoffs; - public final int[] continuousStops; + public final int[] continuousPickup; + public final int[] continuousDropOff; public final double[] serviceAreaRadius; public final Polygon[] serviceAreas; // likely at most one distinct object will be in this array @@ -63,7 +64,8 @@ public boolean equals(Object other) { return Arrays.equals(this.stops, that.stops) && Arrays.equals(this.pickups, that.pickups) && Arrays.equals(this.dropoffs, that.dropoffs) && - Arrays.equals(this.continuousStops, that.continuousStops) && + Arrays.equals(this.continuousPickup, that.continuousPickup) && + Arrays.equals(this.continuousDropOff, that.continuousDropOff) && Arrays.equals(this.serviceAreas, that.serviceAreas); } else { return false; @@ -78,7 +80,9 @@ public int hashCode() { hash *= 31; hash += Arrays.hashCode(this.dropoffs); hash *= 31; - hash += Arrays.hashCode(this.continuousStops); + hash += Arrays.hashCode(this.continuousPickup); + hash *= 31; + hash += Arrays.hashCode(this.continuousDropOff); hash *= 31; hash += Arrays.hashCode(this.serviceAreas); return hash; @@ -98,7 +102,8 @@ private StopPattern (int size) { stops = new Stop[size]; pickups = new int[size]; dropoffs = new int[size]; - continuousStops = new int[size]; + continuousPickup = new int[size]; + continuousDropOff = new int[size]; serviceAreaRadius = new double[size]; serviceAreas = new Polygon[size]; } @@ -123,9 +128,11 @@ public StopPattern (List stopTimes, Function polygonB // continuous stops can be empty (-1), which means 0 for the first stoptime, and the previous value for subsequent stop times. if (i == 0) { - continuousStops[i] = stopTime.getContinuousStops() == -1 ? 0 : stopTime.getContinuousStops(); + continuousPickup[i] = stopTime.getContinuousPickup() == -1 ? 0 : stopTime.getContinuousPickup(); + continuousDropOff[i] = stopTime.getContinuousDropOff() == -1 ? 0 : stopTime.getContinuousDropOff(); } else { - continuousStops[i] = stopTime.getContinuousStops() == -1 ? continuousStops[i-1] : stopTime.getContinuousStops(); + continuousPickup[i] = stopTime.getContinuousPickup() == -1 ? continuousPickup[i-1] : stopTime.getContinuousPickup(); + continuousDropOff[i] = stopTime.getContinuousDropOff() == -1 ? continuousDropOff[i-1] : stopTime.getContinuousDropOff(); } if (stopTime.getStartServiceAreaRadius() != StopTime.MISSING_VALUE) { @@ -188,7 +195,8 @@ public HashCode semanticHash(HashFunction hashFunction) { for (int hop = 0; hop < size - 1; hop++) { hasher.putInt(pickups[hop]); hasher.putInt(dropoffs[hop + 1]); - hasher.putInt(continuousStops[hop]); + hasher.putInt(continuousPickup[hop]); + hasher.putInt(continuousDropOff[hop]); hasher.putDouble(serviceAreaRadius[hop]); hasher.putInt(serviceAreas[hop].hashCode()); } diff --git a/src/main/java/org/opentripplanner/routing/edgetype/TripPattern.java b/src/main/java/org/opentripplanner/routing/edgetype/TripPattern.java index 0852631eb2f..6050cb42791 100644 --- a/src/main/java/org/opentripplanner/routing/edgetype/TripPattern.java +++ b/src/main/java/org/opentripplanner/routing/edgetype/TripPattern.java @@ -521,7 +521,7 @@ public void makePatternVerticesAndEdges(Graph graph, Map, Cloneable */ private final int[] stopSequences; - private final int[] continuousStops; + private final int[] continuousPickup; + + private final int[] continuousDropOff; private final double[] serviceAreaRadius; @@ -140,7 +142,8 @@ public TripTimes(final Trip trip, final List stopTimes, final Deduplic final int[] departures = new int[nStops]; final int[] arrivals = new int[nStops]; final int[] sequences = new int[nStops]; - final int[] continuousStops = new int[nStops]; + final int[] continuousPickup = new int[nStops]; + final int[] continuousDropOff = new int[nStops]; final double[] serviceAreaRadius = new double[nStops]; final String[] serviceArea = new String[nStops]; final BitSet timepoints = new BitSet(nStops); @@ -154,7 +157,8 @@ public TripTimes(final Trip trip, final List stopTimes, final Deduplic arrivals[s] = st.getArrivalTime() - timeShift; sequences[s] = st.getStopSequence(); timepoints.set(s, st.getTimepoint() == 1); - continuousStops[s] = st.getContinuousStops(); + continuousPickup[s] = st.getContinuousPickup(); + continuousDropOff[s] = st.getContinuousDropOff(); if (st.getStartServiceAreaRadius() != StopTime.MISSING_VALUE) { radius = st.getStartServiceAreaRadius(); @@ -193,7 +197,8 @@ public TripTimes(final Trip trip, final List stopTimes, final Deduplic this.arrivalTimes = null; this.departureTimes = null; this.timepoints = deduplicator.deduplicateBitSet(timepoints); - this.continuousStops = deduplicator.deduplicateIntArray(continuousStops); + this.continuousPickup = deduplicator.deduplicateIntArray(continuousPickup); + this.continuousDropOff = deduplicator.deduplicateIntArray(continuousDropOff); this.serviceAreaRadius = deduplicator.deduplicateDoubleArray(serviceAreaRadius); this.serviceArea = deduplicator.deduplicateStringArray(serviceArea); if (trip.getDrtMaxTravelTime() != null) { @@ -218,7 +223,8 @@ public TripTimes(final TripTimes object) { this.scheduledArrivalTimes = object.scheduledArrivalTimes; this.stopSequences = object.stopSequences; this.timepoints = object.timepoints; - this.continuousStops = object.continuousStops; + this.continuousPickup = object.continuousPickup; + this.continuousDropOff = object.continuousDropOff; this.serviceAreaRadius = object.serviceAreaRadius; this.serviceArea = object.serviceArea; this.maxTravelTime = object.maxTravelTime; @@ -373,9 +379,14 @@ public void setRealTimeState(final RealTimeState realTimeState) { this.realTimeState = realTimeState; } - /** Returns whether this stop allows continuous dropoff/pickup */ - public int getContinuousStops(final int stop) { - return continuousStops[stop]; + /** Returns whether this stop allows continuous pickup */ + public int getContinuousPickup(final int stop) { + return continuousPickup[stop]; + } + + /** Returns whether this stop allows continuous dropoff */ + public int getContinuousDropOff(final int stop) { + return continuousDropOff[stop]; } /** Returns associated dropoff/pickup radius for this stop*/ From 60992ad39afc0f2aa46aabd6ae362ffb2773c20d Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Thu, 31 Aug 2017 11:49:30 -0400 Subject: [PATCH 107/226] Add check for bad hop-matching when creating partial hops --- .../edgetype/flex/PartialPatternHop.java | 30 +++++++++++++++++++ .../flex/TemporaryPartialPatternHop.java | 16 ---------- 2 files changed, 30 insertions(+), 16 deletions(-) diff --git a/src/main/java/org/opentripplanner/routing/edgetype/flex/PartialPatternHop.java b/src/main/java/org/opentripplanner/routing/edgetype/flex/PartialPatternHop.java index b9751ff5581..9a51cfaf127 100644 --- a/src/main/java/org/opentripplanner/routing/edgetype/flex/PartialPatternHop.java +++ b/src/main/java/org/opentripplanner/routing/edgetype/flex/PartialPatternHop.java @@ -28,11 +28,15 @@ the License, or (at your option) any later version. import org.opentripplanner.routing.vertextype.PatternArriveVertex; import org.opentripplanner.routing.vertextype.PatternDepartVertex; import org.opentripplanner.routing.vertextype.PatternStopVertex; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; public class PartialPatternHop extends PatternHop { private static final long serialVersionUID = 1L; + private static final Logger LOG = LoggerFactory.getLogger(PartialPatternHop.class); + private double startIndex; private double endIndex; private double originalHopLength; @@ -170,6 +174,32 @@ public LineString getDisplayGeometry() { return getGeometry(); } + // is this hop too not-different to care about? for now lets say should be > 50 m shorter than original hop + public boolean isTrivial() { + if ((isDeviatedRouteBoard() && getStartVehicleTime() < 5) || (isDeviatedRouteAlight() && getEndVehicleTime() < 5)) + return true; + double length = SphericalDistanceLibrary.fastLength(getGeometry()); + double parentLength = SphericalDistanceLibrary.fastLength(getOriginalHop().getGeometry()); + if (length == 0) { + return true; + } + if (parentLength == 0) { + return length < 5d; // deviated route + } + // Test for bad transit edges. + double fromDist = SphericalDistanceLibrary.distance(getFromVertex().getCoordinate(), + getGeometry().getStartPoint().getCoordinate()); + double toDist = SphericalDistanceLibrary.distance(getToVertex().getCoordinate(), + getGeometry().getEndPoint().getCoordinate()); + if (fromDist > 400.0 || toDist > 400.0) { + LOG.info("Discarding edge: mismatch between endpoints and street geometry. This " + + "indicates bad transit stop linking at {} or {}", + getOriginalHop().getBeginStop(), getOriginalHop().getEndStop()); + return true; + } + return length + 50 >= parentLength; + } + /** * Return true if "unscheduled" ie call-n-ride */ diff --git a/src/main/java/org/opentripplanner/routing/edgetype/flex/TemporaryPartialPatternHop.java b/src/main/java/org/opentripplanner/routing/edgetype/flex/TemporaryPartialPatternHop.java index 7839457ba53..f097ab41749 100644 --- a/src/main/java/org/opentripplanner/routing/edgetype/flex/TemporaryPartialPatternHop.java +++ b/src/main/java/org/opentripplanner/routing/edgetype/flex/TemporaryPartialPatternHop.java @@ -15,7 +15,6 @@ the License, or (at your option) any later version. import com.vividsolutions.jts.geom.LineString; import org.onebusaway.gtfs.model.Stop; -import org.opentripplanner.common.geometry.SphericalDistanceLibrary; import org.opentripplanner.routing.edgetype.PatternHop; import org.opentripplanner.routing.edgetype.TemporaryEdge; import org.opentripplanner.routing.vertextype.PatternStopVertex; @@ -41,19 +40,4 @@ public void dispose() { tov.removeIncoming(this); } - // is this hop too not-different to care about? for now lets say should be > 50 m shorter than original hop - public boolean isTrivial() { - if ((isDeviatedRouteBoard() && getStartVehicleTime() < 5) || (isDeviatedRouteAlight() && getEndVehicleTime() < 5)) - return true; - double length = SphericalDistanceLibrary.fastLength(getGeometry()); - double parentLength = SphericalDistanceLibrary.fastLength(getOriginalHop().getGeometry()); - if (length == 0) { - return true; - } - if (parentLength == 0) { - return length < 5d; // deviated route - } - return length + 50 >= parentLength; - } - } From d3423e0ace6f62d8867007e5e5183a6037f44f25 Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Fri, 1 Sep 2017 08:31:54 -0400 Subject: [PATCH 108/226] bump oba-gtfs dependency --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 60d3b684fe6..d68fe4dd114 100644 --- a/pom.xml +++ b/pom.xml @@ -650,7 +650,7 @@ org.onebusaway onebusaway-gtfs - 1.3.5.6-vt-SNAPSHOT + 1.3.5.6-vt From d58881fa523290ffbe2f6a4d6f0051b3db9036f0 Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Fri, 1 Sep 2017 08:36:21 -0400 Subject: [PATCH 109/226] [maven-release-plugin] prepare release otp-1.2.0.5-RC1 --- pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index d68fe4dd114..e1aee81ffb1 100644 --- a/pom.xml +++ b/pom.xml @@ -8,7 +8,7 @@ org.opentripplanner otp - 1.2.0.5-SNAPSHOT + 1.2.0.5-RC1 jar @@ -75,7 +75,7 @@ scm:git:http://github.com/camsys/OpenTripPlanner.git scm:git:ssh://git@github.com/camsys/OpenTripPlanner.git http://github.com/camsys/OpenTripPlanner - HEAD + otp-1.2.0.5-RC1 From bdae11817861d4fcd80a0544d7212dea76db32d3 Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Fri, 1 Sep 2017 08:36:26 -0400 Subject: [PATCH 110/226] [maven-release-plugin] prepare for next development iteration --- pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index e1aee81ffb1..24094d478c2 100644 --- a/pom.xml +++ b/pom.xml @@ -8,7 +8,7 @@ org.opentripplanner otp - 1.2.0.5-RC1 + 1.2.0.6-SNAPSHOT jar @@ -75,7 +75,7 @@ scm:git:http://github.com/camsys/OpenTripPlanner.git scm:git:ssh://git@github.com/camsys/OpenTripPlanner.git http://github.com/camsys/OpenTripPlanner - otp-1.2.0.5-RC1 + HEAD From 33c85a19854c456429e32210497bdf9c9f5d9ec3 Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Fri, 8 Sep 2017 13:25:32 -0400 Subject: [PATCH 111/226] VGF-71 create call-n-ride legs for origin and destinatione even when they are very far apart --- .../GraphPathToTripPlanConverter.java | 10 +++--- .../flex/DeviatedRouteGraphModifier.java | 34 +++++++++++++------ .../routing/flex/GtfsFlexGraphModifier.java | 7 +++- 3 files changed, 35 insertions(+), 16 deletions(-) diff --git a/src/main/java/org/opentripplanner/api/resource/GraphPathToTripPlanConverter.java b/src/main/java/org/opentripplanner/api/resource/GraphPathToTripPlanConverter.java index 4cbe28f232a..21126dd52ec 100644 --- a/src/main/java/org/opentripplanner/api/resource/GraphPathToTripPlanConverter.java +++ b/src/main/java/org/opentripplanner/api/resource/GraphPathToTripPlanConverter.java @@ -752,10 +752,12 @@ private static Place makePlace(State state, Vertex vertex, Edge edge, Stop stop, } if ((endOfLeg && hop.isDeviatedRouteAlight()) || (!endOfLeg && hop.isDeviatedRouteBoard())) { place.boardAlightType = BoardAlightType.DEVIATED; - int i = endOfLeg ? hop.getDisplayGeometry().getNumPoints() - 1 : 0; - Coordinate c = hop.getDisplayGeometry().getCoordinateN(i); - place.deviatedRouteLat = c.getOrdinate(1); - place.deviatedRouteLon = c.getOrdinate(0); + if (hop.getDisplayGeometry().getNumPoints() > 0) { + int i = endOfLeg ? hop.getDisplayGeometry().getNumPoints() - 1 : 0; + Coordinate c = hop.getDisplayGeometry().getCoordinateN(i); + place.deviatedRouteLat = c.getOrdinate(1); + place.deviatedRouteLon = c.getOrdinate(0); + } } } } else if(vertex instanceof BikeRentalStationVertex) { diff --git a/src/main/java/org/opentripplanner/routing/flex/DeviatedRouteGraphModifier.java b/src/main/java/org/opentripplanner/routing/flex/DeviatedRouteGraphModifier.java index ba4590116ee..88b9e170831 100644 --- a/src/main/java/org/opentripplanner/routing/flex/DeviatedRouteGraphModifier.java +++ b/src/main/java/org/opentripplanner/routing/flex/DeviatedRouteGraphModifier.java @@ -49,7 +49,7 @@ the License, or (props, at your option) any later version. */ public class DeviatedRouteGraphModifier extends GtfsFlexGraphModifier { - private static final int MAX_DRS_SEARCH_DIST = 1600 * 10; // approx 5 mile limit. Could be set by data. + private static final int MAX_DRS_SEARCH_DIST = 1600 * 50; // approx 50 mile limit. Could be set by data. // want to ensure we only keep one pattern hop per trip pattern private Map directServices = Maps.newHashMap(); @@ -66,6 +66,7 @@ public TraverseMode getMode() { @Override public SearchTerminationStrategy getSearchTerminationStrategy() { + // TODO: It's possible we need to have NO termination strategy under some conditions. return (origin, target, state, s, opt) -> { double distance = SphericalDistanceLibrary.distance(origin.getCoordinate(), state.getVertex().getCoordinate()); return distance > MAX_DRS_SEARCH_DIST; @@ -117,15 +118,8 @@ public TemporaryPartialPatternHop shortenEnd(RoutingRequest opt, State state, Te if (endIndex < startIndex) return null; // we may want to create a ~direct~ hop. - // let's say, create a direct hop if the distance we would travel on the route is < 100m todo + // let's say, create a direct hop if the distance we would travel on the route is < 100m. We'll do this in vertexVisitor later. if (tooLittleOnRoute(originalHop, line, startIndex, endIndex)) { - StreetVertex fromVertex = findFirstStreetVertex(opt.rctx, false); - StreetVertex toVertex = findFirstStreetVertex(opt.rctx, true); - - TemporaryTransitStop fromTempStop = getTemporaryStop(fromVertex, null, opt.rctx, opt); - TemporaryTransitStop toTempStop = getTemporaryStop(toVertex, null, opt.rctx, opt); - - createDirectHop(opt, originalHop, fromTempStop, toTempStop); return null; } else { return new TemporaryPartialPatternHop(originalHop, (PatternStopVertex) hop.getFromVertex(), to, hop.getBeginStop(), toStop, @@ -164,6 +158,11 @@ public void vertexVisitor(State state) { if (state.getVertex() instanceof TransitStop && !(state.getVertex() instanceof TemporaryVertex)) { transitStopStates.add(state); } + // Direct hop to destination if found + boolean foundTarget = state.getVertex() == state.getOptions().rctx.toVertex; + if (!state.getOptions().arriveBy && foundTarget) { + transitStopStates.add(state); + } } protected void streetSearch(RoutingRequest rr) { @@ -183,11 +182,24 @@ private void createDirectHopsToStops(RoutingRequest opt) { if (opt.arriveBy) { StreetVertex toVertex = findFirstStreetVertex(opt.rctx, true); toStop = getTemporaryStop(toVertex, null, opt.rctx, opt); - fromStop = (TransitStop) v; + if (!(v instanceof TransitStop)) { + throw new RuntimeException("Unexpected error! Only non-transit stop should be destination"); + } else { + fromStop = (TransitStop) v; + } } else { StreetVertex fromVertex = findFirstStreetVertex(opt.rctx, false); fromStop = getTemporaryStop(fromVertex, null, opt.rctx, opt); - toStop = (TransitStop) v; + if (!(v instanceof TransitStop)) { + if (v == state.getOptions().rctx.toVertex) { + StreetVertex toVertex = findFirstStreetVertex(opt.rctx, true); + toStop = getTemporaryStop(toVertex, null, opt.rctx, opt, false); + } else { + throw new RuntimeException("Unexpected error! Only non-transit stop should be destination"); + } + } else { + toStop = (TransitStop) v; + } } createDirectHop(opt, hop, fromStop, toStop, new GraphPath(state, true)); } diff --git a/src/main/java/org/opentripplanner/routing/flex/GtfsFlexGraphModifier.java b/src/main/java/org/opentripplanner/routing/flex/GtfsFlexGraphModifier.java index 45991875144..6513b41f040 100644 --- a/src/main/java/org/opentripplanner/routing/flex/GtfsFlexGraphModifier.java +++ b/src/main/java/org/opentripplanner/routing/flex/GtfsFlexGraphModifier.java @@ -222,8 +222,12 @@ private TemporaryTransitStop getTemporaryStop(State s, PatternHop hop) { } protected TemporaryTransitStop getTemporaryStop(StreetVertex streetVertex, State s, RoutingContext rctx, RoutingRequest options) { + return getTemporaryStop(streetVertex, s, rctx, options, !options.arriveBy); + } + + protected TemporaryTransitStop getTemporaryStop(StreetVertex streetVertex, State s, RoutingContext rctx, RoutingRequest options, boolean forwards) { if (temporaryTransitStopsForLocation.get(streetVertex) == null) { - String name = findName(s, streetVertex, options.locale, !options.arriveBy); + String name = findName(s, streetVertex, options.locale, forwards); TemporaryTransitStop stop = createTemporaryTransitStop(name, streetVertex, rctx); temporaryTransitStopsForLocation.put(streetVertex, stop); return stop; @@ -283,6 +287,7 @@ public void visitEnqueue(State state) { Vertex initVertex = rr.arriveBy ? rr.rctx.toVertex : rr.rctx.fromVertex; gd.getShortestPathTree(new State(initVertex, rr)); + findExtraHops(rr, patternHopStateMap); return patternHopStateMap.entrySet() From dc515ef8bfa79f345a96fecaa205aaaf630f90fd Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Fri, 8 Sep 2017 15:28:25 -0400 Subject: [PATCH 112/226] [maven-release-plugin] prepare release 1.2.0.6-RC1 --- pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index 24094d478c2..1f433461e4e 100644 --- a/pom.xml +++ b/pom.xml @@ -8,7 +8,7 @@ org.opentripplanner otp - 1.2.0.6-SNAPSHOT + 1.2.0.6 jar @@ -75,7 +75,7 @@ scm:git:http://github.com/camsys/OpenTripPlanner.git scm:git:ssh://git@github.com/camsys/OpenTripPlanner.git http://github.com/camsys/OpenTripPlanner - HEAD + 1.2.0.6-RC1 From 911019f1f265b147eb16e4915627d3ac60b0999b Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Fri, 8 Sep 2017 15:28:30 -0400 Subject: [PATCH 113/226] [maven-release-plugin] prepare for next development iteration --- pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index 1f433461e4e..5541f4f7885 100644 --- a/pom.xml +++ b/pom.xml @@ -8,7 +8,7 @@ org.opentripplanner otp - 1.2.0.6 + 1.2.0.7-SNAPSHOT jar @@ -75,7 +75,7 @@ scm:git:http://github.com/camsys/OpenTripPlanner.git scm:git:ssh://git@github.com/camsys/OpenTripPlanner.git http://github.com/camsys/OpenTripPlanner - 1.2.0.6-RC1 + HEAD From d64b89ca26556a4e1c01de1d6af9c4432940d8ae Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Mon, 18 Sep 2017 17:03:42 -0400 Subject: [PATCH 114/226] First pass at VGF-76 trip banning for call-n-ride --- .../routing/core/RoutingRequest.java | 5 +++++ .../opentripplanner/routing/core/State.java | 6 ++++++ .../routing/core/StateEditor.java | 13 +++++++++++++ .../routing/edgetype/PatternHop.java | 8 ++++++-- .../routing/edgetype/StreetTransitLink.java | 10 ++++++++++ .../edgetype/flex/FlexTransitBoardAlight.java | 19 +++++++++++++++++++ .../flex/TemporaryDirectPatternHop.java | 11 +++++++++++ .../routing/graph/GraphIndex.java | 7 +++++++ .../routing/impl/GraphPathFinder.java | 8 +++++++- .../routing/spt/GraphPath.java | 12 ++++++++++++ 10 files changed, 96 insertions(+), 3 deletions(-) diff --git a/src/main/java/org/opentripplanner/routing/core/RoutingRequest.java b/src/main/java/org/opentripplanner/routing/core/RoutingRequest.java index 3a75f0728a1..297ac9e13e6 100644 --- a/src/main/java/org/opentripplanner/routing/core/RoutingRequest.java +++ b/src/main/java/org/opentripplanner/routing/core/RoutingRequest.java @@ -388,6 +388,11 @@ public class RoutingRequest implements Cloneable, Serializable { */ public double callAndRideReluctance = 2.0; + /** + * Total time we can spend on call-n-ride legs + */ + public int maxCallAndRideSeconds = Integer.MAX_VALUE; + /** * Size of flag stop buffer in UI */ diff --git a/src/main/java/org/opentripplanner/routing/core/State.java b/src/main/java/org/opentripplanner/routing/core/State.java index 01fa70fc93e..66610a41020 100644 --- a/src/main/java/org/opentripplanner/routing/core/State.java +++ b/src/main/java/org/opentripplanner/routing/core/State.java @@ -61,6 +61,8 @@ public class State implements Cloneable { // track the states of all path parsers -- probably changes frequently protected int[] pathParserStates; + + int callAndRideTime = 0; private static final Logger LOG = LoggerFactory.getLogger(State.class); @@ -309,6 +311,10 @@ public int getPreTransitTime() { return preTransitTime; } + public int getCallAndRideTime() { + return callAndRideTime; + } + public Vertex getVertex() { return this.vertex; } diff --git a/src/main/java/org/opentripplanner/routing/core/StateEditor.java b/src/main/java/org/opentripplanner/routing/core/StateEditor.java index e7b44e3d87a..6b1c76462b6 100644 --- a/src/main/java/org/opentripplanner/routing/core/StateEditor.java +++ b/src/main/java/org/opentripplanner/routing/core/StateEditor.java @@ -240,6 +240,15 @@ public void incrementPreTransitTime(int seconds) { child.preTransitTime += seconds; } + public void incrementCallAndRideTime(int seconds) { + if (seconds < 0) { + LOG.warn("A state's call-n-ride time is being incremented by a negative amount."); + defectiveTraversal = true; + return; + } + child.callAndRideTime += seconds; + } + public void incrementNumBoardings() { cloneStateDataAsNeeded(); child.stateData.numBoardings++; @@ -480,6 +489,10 @@ public int getPreTransitTime() { return child.getPreTransitTime(); } + public int getCallAndRideTime() { + return child.getCallAndRideTime(); + } + public Vertex getVertex() { return child.getVertex(); } diff --git a/src/main/java/org/opentripplanner/routing/edgetype/PatternHop.java b/src/main/java/org/opentripplanner/routing/edgetype/PatternHop.java index 2a54d71b4f3..3e576e734f2 100644 --- a/src/main/java/org/opentripplanner/routing/edgetype/PatternHop.java +++ b/src/main/java/org/opentripplanner/routing/edgetype/PatternHop.java @@ -121,8 +121,13 @@ public double timeLowerBound(RoutingRequest options) { public double weightLowerBound(RoutingRequest options) { return timeLowerBound(options); } - + + @Override public State traverse(State s0) { + return traverse(s0, s0.edit(this)); + } + + public State traverse(State s0, StateEditor s1) { RoutingRequest options = s0.getOptions(); @@ -136,7 +141,6 @@ public State traverse(State s0) { int runningTime = getRunningTime(s0); - StateEditor s1 = s0.edit(this); s1.incrementTimeInSeconds(runningTime); if (s0.getOptions().arriveBy) s1.setZone(getBeginStop().getZoneId()); diff --git a/src/main/java/org/opentripplanner/routing/edgetype/StreetTransitLink.java b/src/main/java/org/opentripplanner/routing/edgetype/StreetTransitLink.java index 4cce9c80a23..f2f13ea43a4 100644 --- a/src/main/java/org/opentripplanner/routing/edgetype/StreetTransitLink.java +++ b/src/main/java/org/opentripplanner/routing/edgetype/StreetTransitLink.java @@ -26,6 +26,8 @@ the License, or (at your option) any later version. import com.vividsolutions.jts.geom.Coordinate; import com.vividsolutions.jts.geom.LineString; +import org.opentripplanner.routing.vertextype.flex.TemporaryTransitStop; + import java.util.Locale; /** @@ -93,6 +95,11 @@ public State traverse(State s0) { return null; } + // Do not get off at a real stop when on call-n-ride (force a transfer instead). + if (!(transitStop instanceof TemporaryTransitStop) && lastTripIsCallAndRide(s0)) { + return null; + } + RoutingRequest req = s0.getOptions(); if (s0.getOptions().wheelchairAccessible && !wheelchairAccessible) { return null; @@ -161,5 +168,8 @@ public String toString() { return "StreetTransitLink(" + fromv + " -> " + tov + ")"; } + private boolean lastTripIsCallAndRide(State s0) { + return s0.getLastPattern() != null && s0.getLastPattern().geometry == null; + } } diff --git a/src/main/java/org/opentripplanner/routing/edgetype/flex/FlexTransitBoardAlight.java b/src/main/java/org/opentripplanner/routing/edgetype/flex/FlexTransitBoardAlight.java index e1315f9c3d0..0db3e015bf9 100644 --- a/src/main/java/org/opentripplanner/routing/edgetype/flex/FlexTransitBoardAlight.java +++ b/src/main/java/org/opentripplanner/routing/edgetype/flex/FlexTransitBoardAlight.java @@ -22,6 +22,7 @@ the License, or (at your option) any later version. import org.opentripplanner.routing.vertextype.PatternStopVertex; import org.opentripplanner.routing.vertextype.TransitStopArrive; import org.opentripplanner.routing.vertextype.TransitStopDepart; +import org.opentripplanner.routing.vertextype.flex.TemporaryTransitStop; public class FlexTransitBoardAlight extends TransitBoardAlight { @@ -54,6 +55,24 @@ private void setIndices(PartialPatternHop hop) { this.hop = hop; } + @Override + public State traverse(State s0) { + // do not board call-n-ride if it is not a temporary stop and we have NOT been on transit yet + if (!s0.getOptions().arriveBy && boarding && hop.isDeviatedRouteBoard() + && !(((TransitStopDepart) getFromVertex()).getStopVertex() instanceof TemporaryTransitStop) + && !s0.isEverBoarded()) { + return null; + } + + if (s0.getOptions().arriveBy && !boarding && hop.isDeviatedRouteAlight() + && !(((TransitStopArrive) getToVertex()).getStopVertex() instanceof TemporaryTransitStop) + && !s0.isEverBoarded()) { + return null; + } + + return super.traverse(s0); + } + @Override public TripTimes getNextTrip(State s0, ServiceDay sd) { if (hop.isUnscheduled()) { diff --git a/src/main/java/org/opentripplanner/routing/edgetype/flex/TemporaryDirectPatternHop.java b/src/main/java/org/opentripplanner/routing/edgetype/flex/TemporaryDirectPatternHop.java index 81587a99940..8c8bb4de422 100644 --- a/src/main/java/org/opentripplanner/routing/edgetype/flex/TemporaryDirectPatternHop.java +++ b/src/main/java/org/opentripplanner/routing/edgetype/flex/TemporaryDirectPatternHop.java @@ -17,6 +17,7 @@ the License, or (at your option) any later version. import org.onebusaway.gtfs.model.Stop; import org.opentripplanner.routing.core.RoutingRequest; import org.opentripplanner.routing.core.State; +import org.opentripplanner.routing.core.StateEditor; import org.opentripplanner.routing.edgetype.PatternHop; import org.opentripplanner.routing.edgetype.TemporaryEdge; import org.opentripplanner.routing.trippattern.TripTimes; @@ -87,4 +88,14 @@ public void dispose() { public int getDirectVehicleTime() { return directTime; } + + @Override + public State traverse(State s0) { + StateEditor s1 = s0.edit(this); + s1.incrementCallAndRideTime(directTime); + if (s1.getCallAndRideTime() >= s0.getOptions().maxCallAndRideSeconds) { + return null; + } + return super.traverse(s0, s1); + } } diff --git a/src/main/java/org/opentripplanner/routing/graph/GraphIndex.java b/src/main/java/org/opentripplanner/routing/graph/GraphIndex.java index 9b510e97593..e4ac244fb70 100644 --- a/src/main/java/org/opentripplanner/routing/graph/GraphIndex.java +++ b/src/main/java/org/opentripplanner/routing/graph/GraphIndex.java @@ -821,4 +821,11 @@ private boolean isSinglePoint(LineString line) { } return true; } + + // Heuristic for deciding if trip is call-n-ride, only used for transfer and banning rules + public boolean tripIsCallAndRide(AgencyAndId tripId) { + Trip trip = tripForId.get(tripId); + TripPattern pattern = patternForTrip.get(trip); + return pattern.geometry == null; + } } diff --git a/src/main/java/org/opentripplanner/routing/impl/GraphPathFinder.java b/src/main/java/org/opentripplanner/routing/impl/GraphPathFinder.java index 4c41f1d71e0..919ccda8250 100644 --- a/src/main/java/org/opentripplanner/routing/impl/GraphPathFinder.java +++ b/src/main/java/org/opentripplanner/routing/impl/GraphPathFinder.java @@ -178,12 +178,18 @@ public List getPaths(RoutingRequest options) { // path.dump(); List tripIds = path.getTrips(); for (AgencyAndId tripId : tripIds) { - options.banTrip(tripId); + if (!router.graph.index.tripIsCallAndRide(tripId)) { + options.banTrip(tripId); + } } if (tripIds.isEmpty()) { // This path does not use transit (is entirely on-street). Do not repeatedly find the same one. options.onlyTransitTrips = true; } + // for direct-hop trip banning, limit the allowable call-n-ride time to what it is currently + if (tripIds.size() < 2) { + options.maxCallAndRideSeconds = Math.min(options.maxCallAndRideSeconds, path.getCallAndRideDuration()); + } } paths.addAll(newPaths.stream() diff --git a/src/main/java/org/opentripplanner/routing/spt/GraphPath.java b/src/main/java/org/opentripplanner/routing/spt/GraphPath.java index 9115a70ad74..e3a2c90844a 100644 --- a/src/main/java/org/opentripplanner/routing/spt/GraphPath.java +++ b/src/main/java/org/opentripplanner/routing/spt/GraphPath.java @@ -23,6 +23,7 @@ the License, or (at your option) any later version. import org.opentripplanner.common.geometry.GeometryUtils; import org.opentripplanner.routing.core.RoutingContext; import org.opentripplanner.routing.core.State; +import org.opentripplanner.routing.edgetype.flex.TemporaryDirectPatternHop; import org.opentripplanner.routing.graph.Edge; import org.opentripplanner.routing.graph.Vertex; import org.slf4j.Logger; @@ -223,4 +224,15 @@ public LineString getGeometry() { return GeometryUtils.getGeometryFactory().createLineString(coordinates); } + public int getCallAndRideDuration() { + int duration = 0; + for (State s : states) { + if (s.getBackEdge() != null && s.getBackEdge() instanceof TemporaryDirectPatternHop) { + TemporaryDirectPatternHop hop = (TemporaryDirectPatternHop) s.getBackEdge(); + duration += hop.getDirectVehicleTime(); + } + } + return duration; + } + } From 8e66a1bf1d3ff8903fd379fe699478ad4067485f Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Tue, 19 Sep 2017 13:34:58 -0400 Subject: [PATCH 115/226] VGF-75 for fare calcuation, use feed_id from route, since call-n-ride can go to stops that are not in its feed. route.getId().getAgencyId() actually *is* the feed_id - route.getAgency() contains the agency from GTFS route.agency_id --- .../routing/impl/DefaultFareServiceImpl.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/java/org/opentripplanner/routing/impl/DefaultFareServiceImpl.java b/src/main/java/org/opentripplanner/routing/impl/DefaultFareServiceImpl.java index 0436fb66045..720d7ea1ff4 100644 --- a/src/main/java/org/opentripplanner/routing/impl/DefaultFareServiceImpl.java +++ b/src/main/java/org/opentripplanner/routing/impl/DefaultFareServiceImpl.java @@ -352,12 +352,12 @@ private FareAndId getBestFareAndId(FareType fareType, List rides, long startTime = firstRide.startTime; String startZone = firstRide.startZone; String endZone = firstRide.endZone; - // stops don't really have an agency id, they have the per-feed default id - String feedId = firstRide.firstStop.getId().getAgencyId(); + // route agency ID is really per-feed default id (GTFS `agency_id` becomes route.agency.) + String feedId = firstRide.route.getAgencyId(); long lastRideStartTime = firstRide.startTime; long lastRideEndTime = firstRide.endTime; for (Ride ride : rides) { - if ( ! ride.firstStop.getId().getAgencyId().equals(feedId)) { + if ( ! ride.route.getAgencyId().equals(feedId)) { LOG.debug("skipped multi-feed ride sequence {}", rides); return new FareAndId(Float.POSITIVE_INFINITY, null); } From 8f3a7da57a1d588a630a4497d1ec3a9649b24790 Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Fri, 22 Sep 2017 11:17:30 -0400 Subject: [PATCH 116/226] VGF-59 allow routing from/to stops. Includes follow-on work regarding transfers to fixed-route. --- .../opentripplanner/routing/core/State.java | 4 ++ .../routing/edgetype/SimpleTransfer.java | 4 ++ .../routing/edgetype/StreetTransitLink.java | 6 +-- .../edgetype/flex/FlexTransitBoardAlight.java | 8 ++-- .../flex/DeviatedRouteGraphModifier.java | 41 +++++++++++++++---- .../routing/flex/FlagStopGraphModifier.java | 14 ++++++- .../routing/vertextype/TransitStop.java | 17 ++++++++ .../vertextype/flex/TemporaryTransitStop.java | 5 +++ 8 files changed, 79 insertions(+), 20 deletions(-) diff --git a/src/main/java/org/opentripplanner/routing/core/State.java b/src/main/java/org/opentripplanner/routing/core/State.java index 66610a41020..3aa078869fb 100644 --- a/src/main/java/org/opentripplanner/routing/core/State.java +++ b/src/main/java/org/opentripplanner/routing/core/State.java @@ -840,4 +840,8 @@ public boolean hasEnteredNoThruTrafficArea() { return stateData.enteredNoThroughTrafficArea; } + public boolean lastTripIsCallAndRide() { + return this.getLastPattern() != null && this.getLastPattern().geometry == null; + } + } \ No newline at end of file diff --git a/src/main/java/org/opentripplanner/routing/edgetype/SimpleTransfer.java b/src/main/java/org/opentripplanner/routing/edgetype/SimpleTransfer.java index 5c35a7ad74a..0f507396f7c 100644 --- a/src/main/java/org/opentripplanner/routing/edgetype/SimpleTransfer.java +++ b/src/main/java/org/opentripplanner/routing/edgetype/SimpleTransfer.java @@ -61,6 +61,10 @@ public State traverse(State s0) { if(distance > s0.getOptions().maxTransferWalkDistance) { return null; } + // Don't allow SimpleTransfer right after Call-n-Ride - in that case we need to transfer at the same stop + if (s0.lastTripIsCallAndRide()) { + return null; + } // Only transfer right after riding a vehicle. RoutingRequest rr = s0.getOptions(); double walkspeed = rr.walkSpeed; diff --git a/src/main/java/org/opentripplanner/routing/edgetype/StreetTransitLink.java b/src/main/java/org/opentripplanner/routing/edgetype/StreetTransitLink.java index f2f13ea43a4..a2b5b8a94a9 100644 --- a/src/main/java/org/opentripplanner/routing/edgetype/StreetTransitLink.java +++ b/src/main/java/org/opentripplanner/routing/edgetype/StreetTransitLink.java @@ -96,7 +96,7 @@ public State traverse(State s0) { } // Do not get off at a real stop when on call-n-ride (force a transfer instead). - if (!(transitStop instanceof TemporaryTransitStop) && lastTripIsCallAndRide(s0)) { + if (s0.lastTripIsCallAndRide() && !(transitStop.checkCallAndRideBoardAlightOk(s0))) { return null; } @@ -168,8 +168,4 @@ public String toString() { return "StreetTransitLink(" + fromv + " -> " + tov + ")"; } - private boolean lastTripIsCallAndRide(State s0) { - return s0.getLastPattern() != null && s0.getLastPattern().geometry == null; - } - } diff --git a/src/main/java/org/opentripplanner/routing/edgetype/flex/FlexTransitBoardAlight.java b/src/main/java/org/opentripplanner/routing/edgetype/flex/FlexTransitBoardAlight.java index 0db3e015bf9..e2c2f75f4cf 100644 --- a/src/main/java/org/opentripplanner/routing/edgetype/flex/FlexTransitBoardAlight.java +++ b/src/main/java/org/opentripplanner/routing/edgetype/flex/FlexTransitBoardAlight.java @@ -57,16 +57,14 @@ private void setIndices(PartialPatternHop hop) { @Override public State traverse(State s0) { - // do not board call-n-ride if it is not a temporary stop and we have NOT been on transit yet + // do not board call-n-ride if it is not a temporary stop and we aren't doing a fixed route-C&R transfer if (!s0.getOptions().arriveBy && boarding && hop.isDeviatedRouteBoard() - && !(((TransitStopDepart) getFromVertex()).getStopVertex() instanceof TemporaryTransitStop) - && !s0.isEverBoarded()) { + && !((TransitStopDepart) getFromVertex()).getStopVertex().checkCallAndRideBoardAlightOk(s0)) { return null; } if (s0.getOptions().arriveBy && !boarding && hop.isDeviatedRouteAlight() - && !(((TransitStopArrive) getToVertex()).getStopVertex() instanceof TemporaryTransitStop) - && !s0.isEverBoarded()) { + && !(((TransitStopArrive) getToVertex()).getStopVertex().checkCallAndRideBoardAlightOk(s0))) { return null; } diff --git a/src/main/java/org/opentripplanner/routing/flex/DeviatedRouteGraphModifier.java b/src/main/java/org/opentripplanner/routing/flex/DeviatedRouteGraphModifier.java index 88b9e170831..abb33e4d476 100644 --- a/src/main/java/org/opentripplanner/routing/flex/DeviatedRouteGraphModifier.java +++ b/src/main/java/org/opentripplanner/routing/flex/DeviatedRouteGraphModifier.java @@ -135,6 +135,18 @@ private boolean tooLittleOnRoute(PatternHop originalHop, LengthIndexedLine line, @Override public boolean checkHopAllowsBoardAlight(State s, PatternHop hop, boolean boarding) { StreetVertex sv = findFirstStreetVertex(s); + // If first vertex is not a StreetVertex, it's a transit vertex, which we'll catch later. + if (sv == null) { + // Do check for service + if (!s.getOptions().arriveBy) { + Point pt = GeometryUtils.getGeometryFactory().createPoint(s.getOptions().rctx.fromVertex.getCoordinate()); + if (addHopAsDirectService(hop, pt)) { + directServices.put(hop.getPattern(), hop); + } + } + return false; + } + Point orig = GeometryUtils.getGeometryFactory().createPoint(sv.getCoordinate()); Point dest = GeometryUtils.getGeometryFactory().createPoint(s.getVertex().getCoordinate()); boolean ret = false; @@ -147,12 +159,16 @@ public boolean checkHopAllowsBoardAlight(State s, PatternHop hop, boolean boardi double distance = SphericalDistanceLibrary.distance(s.getVertex().getCoordinate(), sv.getCoordinate()); ret = distance < hop.getServiceAreaRadius(); } - if (hop.hasServiceArea() && hop.getServiceArea().contains(orig) && directServices.get(hop.getPattern()) == null) { + if (addHopAsDirectService(hop, orig)) { directServices.put(hop.getPattern(), hop); } return ret; } + private boolean addHopAsDirectService(PatternHop hop, Point orig) { + return hop.hasServiceArea() && hop.getServiceArea().contains(orig) && directServices.get(hop.getPattern()) == null; + } + @Override public void vertexVisitor(State state) { if (state.getVertex() instanceof TransitStop && !(state.getVertex() instanceof TemporaryVertex)) { @@ -180,16 +196,24 @@ private void createDirectHopsToStops(RoutingRequest opt) { if (hop.getServiceArea().contains(dest)) { TransitStop fromStop, toStop; if (opt.arriveBy) { - StreetVertex toVertex = findFirstStreetVertex(opt.rctx, true); - toStop = getTemporaryStop(toVertex, null, opt.rctx, opt); + if (opt.rctx.toVertex instanceof TransitStop) { + toStop = (TransitStop) opt.rctx.toVertex; + } else { + StreetVertex toVertex = findFirstStreetVertex(opt.rctx, true); + toStop = getTemporaryStop(toVertex, null, opt.rctx, opt); + } if (!(v instanceof TransitStop)) { throw new RuntimeException("Unexpected error! Only non-transit stop should be destination"); } else { fromStop = (TransitStop) v; } } else { - StreetVertex fromVertex = findFirstStreetVertex(opt.rctx, false); - fromStop = getTemporaryStop(fromVertex, null, opt.rctx, opt); + if (opt.rctx.fromVertex instanceof TransitStop) { + fromStop = (TransitStop) opt.rctx.fromVertex; + } else { + StreetVertex fromVertex = findFirstStreetVertex(opt.rctx, false); + fromStop = getTemporaryStop(fromVertex, null, opt.rctx, opt); + } if (!(v instanceof TransitStop)) { if (v == state.getOptions().rctx.toVertex) { StreetVertex toVertex = findFirstStreetVertex(opt.rctx, true); @@ -212,15 +236,16 @@ public StreetVertex getLocationForTemporaryStop(State s, PatternHop hop) { return findFirstStreetVertex(s); } + // Return null if first vertex is not a street vertex private StreetVertex findFirstStreetVertex(State s) { return findFirstStreetVertex(s.getOptions().rctx, s.getOptions().arriveBy); } private StreetVertex findFirstStreetVertex(RoutingContext rctx, boolean reverse) { Vertex v = reverse ? rctx.toVertex : rctx.fromVertex; - if (!(v instanceof StreetVertex)) { - throw new RuntimeException("Not implemented: GTFS-flex from or to a stop."); + if (v instanceof StreetVertex) { + return (StreetVertex) v; } - return (StreetVertex) v; + return null; } } diff --git a/src/main/java/org/opentripplanner/routing/flex/FlagStopGraphModifier.java b/src/main/java/org/opentripplanner/routing/flex/FlagStopGraphModifier.java index e67b79f1697..e5584a56a39 100644 --- a/src/main/java/org/opentripplanner/routing/flex/FlagStopGraphModifier.java +++ b/src/main/java/org/opentripplanner/routing/flex/FlagStopGraphModifier.java @@ -32,6 +32,7 @@ the License, or (props, at your option) any later version. import org.opentripplanner.routing.vertextype.PatternDepartVertex; import org.opentripplanner.routing.vertextype.PatternStopVertex; import org.opentripplanner.routing.vertextype.StreetVertex; +import org.opentripplanner.routing.vertextype.TransitStop; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -113,7 +114,16 @@ public StreetVertex getLocationForTemporaryStop(State s, PatternHop hop) { return null; } - return (StreetVertex) v; + if (v instanceof StreetVertex) { + return (StreetVertex) v; + } else if (v instanceof TransitStop) { + TransitStop tstop = (TransitStop) v; + if (rr.rctx.graph.index.patternsForStop.get(tstop.getStop()).contains(hop.getPattern())) { + LOG.debug("ignoring flag stop at existing stop"); + return null; + } + } + throw new RuntimeException("Unexpected location."); } @Override @@ -128,7 +138,7 @@ public boolean checkHopAllowsBoardAlight(State state, PatternHop hop, boolean bo private void findFlagStopEdgesNearby(RoutingRequest rr, Vertex initVertex, Map patternHopStateMap) { List flagStopEdges = getClosestStreetEdges(initVertex.getCoordinate()); - for(StreetEdge streetEdge : flagStopEdges){ + for(StreetEdge streetEdge : flagStopEdges) { State nearbyState = new State(initVertex, rr); nearbyState.backEdge = streetEdge; Collection hops = graph.index.getHopsForEdge(streetEdge); diff --git a/src/main/java/org/opentripplanner/routing/vertextype/TransitStop.java b/src/main/java/org/opentripplanner/routing/vertextype/TransitStop.java index 71c6e3e5c77..33c689acaf2 100644 --- a/src/main/java/org/opentripplanner/routing/vertextype/TransitStop.java +++ b/src/main/java/org/opentripplanner/routing/vertextype/TransitStop.java @@ -14,6 +14,8 @@ the License, or (at your option) any later version. package org.opentripplanner.routing.vertextype; import org.onebusaway.gtfs.model.Stop; +import org.opentripplanner.routing.core.RoutingContext; +import org.opentripplanner.routing.core.State; import org.opentripplanner.routing.core.TraverseMode; import org.opentripplanner.routing.core.TraverseModeSet; import org.opentripplanner.routing.edgetype.PathwayEdge; @@ -101,4 +103,19 @@ public void addMode(TraverseMode mode) { public boolean isStreetLinkable() { return isEntrance() || !hasEntrances(); } + + // We want to avoid a situation where results look like + // 1) call-and-ride from A to B + // 2) call-and-ride from A to real transit stop right next to B, walk to B + public boolean checkCallAndRideBoardAlightOk(State s0) { + RoutingContext rctx = s0.getOptions().rctx; + if (this == rctx.fromVertex || this == rctx.toVertex) { + return true; + } + if (!s0.isEverBoarded()) { + return false; + } + // only allow call-n-ride transfers at the same stop + return s0.getPreviousStop().equals(getStop()); + } } diff --git a/src/main/java/org/opentripplanner/routing/vertextype/flex/TemporaryTransitStop.java b/src/main/java/org/opentripplanner/routing/vertextype/flex/TemporaryTransitStop.java index 96b2888e99b..0d28df4e9eb 100644 --- a/src/main/java/org/opentripplanner/routing/vertextype/flex/TemporaryTransitStop.java +++ b/src/main/java/org/opentripplanner/routing/vertextype/flex/TemporaryTransitStop.java @@ -14,6 +14,7 @@ the License, or (at your option) any later version. import com.google.common.collect.Iterables; import org.onebusaway.gtfs.model.Stop; +import org.opentripplanner.routing.core.State; import org.opentripplanner.routing.edgetype.TemporaryEdge; import org.opentripplanner.routing.edgetype.flex.TemporaryTransitBoardAlight; import org.opentripplanner.routing.graph.Edge; @@ -48,4 +49,8 @@ public StreetVertex getStreetVertex() { return streetVertex; } + @Override + public boolean checkCallAndRideBoardAlightOk(State state) { + return true; + } } From 6100d71478c8ce63d28ba03c8be80b15c584b659 Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Tue, 26 Sep 2017 11:20:59 -0400 Subject: [PATCH 117/226] VGF-83 if flex service is enabled, must link to segment with CAR permission --- .../graph_builder/linking/SimpleStreetSplitter.java | 2 +- .../org/opentripplanner/routing/core/RoutingRequest.java | 5 +++++ src/main/java/org/opentripplanner/standalone/Router.java | 1 + 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/opentripplanner/graph_builder/linking/SimpleStreetSplitter.java b/src/main/java/org/opentripplanner/graph_builder/linking/SimpleStreetSplitter.java index d7efb90c175..21cb365eea9 100644 --- a/src/main/java/org/opentripplanner/graph_builder/linking/SimpleStreetSplitter.java +++ b/src/main/java/org/opentripplanner/graph_builder/linking/SimpleStreetSplitter.java @@ -516,7 +516,7 @@ public Vertex getClosestVertex(GenericLocation location, RoutingRequest options, //It can be null in tests if (options != null) { TraverseModeSet modes = options.modes; - if (modes.getCar()) + if (modes.getCar() || options.useFlexService) nonTransitMode = TraverseMode.CAR; else if (modes.getWalk()) nonTransitMode = TraverseMode.WALK; diff --git a/src/main/java/org/opentripplanner/routing/core/RoutingRequest.java b/src/main/java/org/opentripplanner/routing/core/RoutingRequest.java index 297ac9e13e6..4bfc1be88a2 100644 --- a/src/main/java/org/opentripplanner/routing/core/RoutingRequest.java +++ b/src/main/java/org/opentripplanner/routing/core/RoutingRequest.java @@ -388,6 +388,11 @@ public class RoutingRequest implements Cloneable, Serializable { */ public double callAndRideReluctance = 2.0; + /** + * Whether to use flex service + */ + public boolean useFlexService = false; + /** * Total time we can spend on call-n-ride legs */ diff --git a/src/main/java/org/opentripplanner/standalone/Router.java b/src/main/java/org/opentripplanner/standalone/Router.java index 48e2901da46..e88342847b9 100644 --- a/src/main/java/org/opentripplanner/standalone/Router.java +++ b/src/main/java/org/opentripplanner/standalone/Router.java @@ -165,6 +165,7 @@ public void startup(JsonNode config) { JsonNode useFlexService = config.get("useFlexService"); if (useFlexService != null) { graph.useFlexService = useFlexService.asBoolean(false); + defaultRoutingRequest.useFlexService = graph.useFlexService; } /* Create Graph updater modules from JSON config. */ From fe0bd45007a444e0b1a1055fc0b1e207ab552beb Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Tue, 26 Sep 2017 11:22:07 -0400 Subject: [PATCH 118/226] Fix street-transit link for call-n-ride: do not take link if its a non-temporary TransitStop, unless the start or end point. --- .../opentripplanner/routing/edgetype/StreetTransitLink.java | 2 +- .../org/opentripplanner/routing/vertextype/TransitStop.java | 6 ++++++ .../routing/vertextype/flex/TemporaryTransitStop.java | 5 +++++ 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/opentripplanner/routing/edgetype/StreetTransitLink.java b/src/main/java/org/opentripplanner/routing/edgetype/StreetTransitLink.java index a2b5b8a94a9..7cf624c59ee 100644 --- a/src/main/java/org/opentripplanner/routing/edgetype/StreetTransitLink.java +++ b/src/main/java/org/opentripplanner/routing/edgetype/StreetTransitLink.java @@ -96,7 +96,7 @@ public State traverse(State s0) { } // Do not get off at a real stop when on call-n-ride (force a transfer instead). - if (s0.lastTripIsCallAndRide() && !(transitStop.checkCallAndRideBoardAlightOk(s0))) { + if (s0.lastTripIsCallAndRide() && !(transitStop.checkCallAndRideStreetLinkOk(s0))) { return null; } diff --git a/src/main/java/org/opentripplanner/routing/vertextype/TransitStop.java b/src/main/java/org/opentripplanner/routing/vertextype/TransitStop.java index 33c689acaf2..15d02a58c59 100644 --- a/src/main/java/org/opentripplanner/routing/vertextype/TransitStop.java +++ b/src/main/java/org/opentripplanner/routing/vertextype/TransitStop.java @@ -21,6 +21,7 @@ the License, or (at your option) any later version. import org.opentripplanner.routing.edgetype.PathwayEdge; import org.opentripplanner.routing.graph.Edge; import org.opentripplanner.routing.graph.Graph; +import org.opentripplanner.routing.vertextype.flex.TemporaryTransitStop; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -118,4 +119,9 @@ public boolean checkCallAndRideBoardAlightOk(State s0) { // only allow call-n-ride transfers at the same stop return s0.getPreviousStop().equals(getStop()); } + + public boolean checkCallAndRideStreetLinkOk(State s0) { + RoutingContext rctx = s0.getOptions().rctx; + return this == rctx.fromVertex || this == rctx.toVertex; + } } diff --git a/src/main/java/org/opentripplanner/routing/vertextype/flex/TemporaryTransitStop.java b/src/main/java/org/opentripplanner/routing/vertextype/flex/TemporaryTransitStop.java index 0d28df4e9eb..aa759665bc9 100644 --- a/src/main/java/org/opentripplanner/routing/vertextype/flex/TemporaryTransitStop.java +++ b/src/main/java/org/opentripplanner/routing/vertextype/flex/TemporaryTransitStop.java @@ -53,4 +53,9 @@ public StreetVertex getStreetVertex() { public boolean checkCallAndRideBoardAlightOk(State state) { return true; } + + @Override + public boolean checkCallAndRideStreetLinkOk(State s0) { + return true; + } } From 8b80ed52410fc70b44a4cc5cb41da8f39e852bce Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Tue, 26 Sep 2017 14:10:54 -0400 Subject: [PATCH 119/226] VGF-79 put useEligibilityServices and useReservationServices in OTP, even though unused now --- .../api/common/RoutingResource.java | 19 +++++++++++++++++++ .../routing/core/RoutingRequest.java | 10 ++++++++++ 2 files changed, 29 insertions(+) diff --git a/src/main/java/org/opentripplanner/api/common/RoutingResource.java b/src/main/java/org/opentripplanner/api/common/RoutingResource.java index d256f601ce7..9bf96f2ef74 100644 --- a/src/main/java/org/opentripplanner/api/common/RoutingResource.java +++ b/src/main/java/org/opentripplanner/api/common/RoutingResource.java @@ -371,6 +371,19 @@ public abstract class RoutingResource { @QueryParam("flagStopBufferSize") protected Double flagStopBufferSize; + /** + * Whether to use reservation-based services + */ + @QueryParam("useReservationServices") + protected Boolean useReservationServices = true; + + /** + * Whether to use eligibility-based services (not in data yet) + */ + @QueryParam("useEligibilityServices") + protected Boolean useEligibilityServices = true; + + @QueryParam("maxHours") private Double maxHours; @@ -615,6 +628,12 @@ protected RoutingRequest buildRequest() throws ParameterException { if (flagStopBufferSize != null) request.flagStopBufferSize = flagStopBufferSize; + if (useReservationServices != null) + request.useReservationServices = useReservationServices; + + if (useEligibilityServices != null) + request.useEligibilityServices = useEligibilityServices; + if (maxHours != null) request.maxHours = maxHours; diff --git a/src/main/java/org/opentripplanner/routing/core/RoutingRequest.java b/src/main/java/org/opentripplanner/routing/core/RoutingRequest.java index 4bfc1be88a2..8904a110bb7 100644 --- a/src/main/java/org/opentripplanner/routing/core/RoutingRequest.java +++ b/src/main/java/org/opentripplanner/routing/core/RoutingRequest.java @@ -403,6 +403,16 @@ public class RoutingRequest implements Cloneable, Serializable { */ public double flagStopBufferSize; + /** + * Whether to use reservation-based services + */ + public boolean useReservationServices = true; + + /** + * Whether to use eligibility-based services (not in data yet) + */ + public boolean useEligibilityServices = true; + /** * The routing context used to actually carry out this search. It is important to build States from TraverseOptions * rather than RoutingContexts,and just keep a reference to the context in the TraverseOptions, rather than using From fb4bd287889617e829753756f5454700320ae94e Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Tue, 26 Sep 2017 15:48:33 -0400 Subject: [PATCH 120/226] Fix last-trip-is-call-n-ride check. Fixes failing tests, too --- src/main/java/org/opentripplanner/routing/core/State.java | 8 ++++---- .../java/org/opentripplanner/routing/core/StateData.java | 2 ++ .../org/opentripplanner/routing/core/StateEditor.java | 6 ++++++ .../opentripplanner/routing/edgetype/SimpleTransfer.java | 2 +- .../routing/edgetype/StreetTransitLink.java | 2 +- .../routing/edgetype/TransitBoardAlight.java | 5 +++++ .../routing/edgetype/flex/FlexTransitBoardAlight.java | 5 +++++ 7 files changed, 24 insertions(+), 6 deletions(-) diff --git a/src/main/java/org/opentripplanner/routing/core/State.java b/src/main/java/org/opentripplanner/routing/core/State.java index 3aa078869fb..aedacf01bb6 100644 --- a/src/main/java/org/opentripplanner/routing/core/State.java +++ b/src/main/java/org/opentripplanner/routing/core/State.java @@ -638,6 +638,10 @@ public TripPattern getLastPattern() { return stateData.lastPattern; } + public boolean isLastBoardAlightDeviated() { + return stateData.isLastBoardAlightDeviated; + } + public ServiceDay getServiceDay() { return stateData.serviceDay; } @@ -840,8 +844,4 @@ public boolean hasEnteredNoThruTrafficArea() { return stateData.enteredNoThroughTrafficArea; } - public boolean lastTripIsCallAndRide() { - return this.getLastPattern() != null && this.getLastPattern().geometry == null; - } - } \ No newline at end of file diff --git a/src/main/java/org/opentripplanner/routing/core/StateData.java b/src/main/java/org/opentripplanner/routing/core/StateData.java index 5440a1d2560..93036bbefbe 100644 --- a/src/main/java/org/opentripplanner/routing/core/StateData.java +++ b/src/main/java/org/opentripplanner/routing/core/StateData.java @@ -68,6 +68,8 @@ public class StateData implements Cloneable { protected TripPattern lastPattern; + protected boolean isLastBoardAlightDeviated = false; + protected ServiceDay serviceDay; protected TraverseMode nonTransitMode; diff --git a/src/main/java/org/opentripplanner/routing/core/StateEditor.java b/src/main/java/org/opentripplanner/routing/core/StateEditor.java index 6b1c76462b6..cec4b995eb6 100644 --- a/src/main/java/org/opentripplanner/routing/core/StateEditor.java +++ b/src/main/java/org/opentripplanner/routing/core/StateEditor.java @@ -518,6 +518,12 @@ public void setLastPattern(TripPattern pattern) { cloneStateDataAsNeeded(); child.stateData.lastPattern = pattern; } + + public void setIsLastBoardAlightDeviated(boolean isLastBoardAlightDeviated) { + cloneStateDataAsNeeded(); + child.stateData.isLastBoardAlightDeviated = isLastBoardAlightDeviated; + } + public void setOptions(RoutingRequest options) { cloneStateDataAsNeeded(); child.stateData.opt = options; diff --git a/src/main/java/org/opentripplanner/routing/edgetype/SimpleTransfer.java b/src/main/java/org/opentripplanner/routing/edgetype/SimpleTransfer.java index 0f507396f7c..9c427d87e97 100644 --- a/src/main/java/org/opentripplanner/routing/edgetype/SimpleTransfer.java +++ b/src/main/java/org/opentripplanner/routing/edgetype/SimpleTransfer.java @@ -62,7 +62,7 @@ public State traverse(State s0) { return null; } // Don't allow SimpleTransfer right after Call-n-Ride - in that case we need to transfer at the same stop - if (s0.lastTripIsCallAndRide()) { + if (s0.isLastBoardAlightDeviated()) { return null; } // Only transfer right after riding a vehicle. diff --git a/src/main/java/org/opentripplanner/routing/edgetype/StreetTransitLink.java b/src/main/java/org/opentripplanner/routing/edgetype/StreetTransitLink.java index 7cf624c59ee..30fce44ddde 100644 --- a/src/main/java/org/opentripplanner/routing/edgetype/StreetTransitLink.java +++ b/src/main/java/org/opentripplanner/routing/edgetype/StreetTransitLink.java @@ -96,7 +96,7 @@ public State traverse(State s0) { } // Do not get off at a real stop when on call-n-ride (force a transfer instead). - if (s0.lastTripIsCallAndRide() && !(transitStop.checkCallAndRideStreetLinkOk(s0))) { + if (s0.isLastBoardAlightDeviated() && !(transitStop.checkCallAndRideStreetLinkOk(s0))) { return null; } diff --git a/src/main/java/org/opentripplanner/routing/edgetype/TransitBoardAlight.java b/src/main/java/org/opentripplanner/routing/edgetype/TransitBoardAlight.java index d12b059b3cc..838fee6e658 100644 --- a/src/main/java/org/opentripplanner/routing/edgetype/TransitBoardAlight.java +++ b/src/main/java/org/opentripplanner/routing/edgetype/TransitBoardAlight.java @@ -175,6 +175,7 @@ public State traverse(State s0, long arrivalTimeAtStop) { // arrives/departs, so previousStop is direction-dependent. s1.setPreviousStop(getStop()); s1.setLastPattern(this.getPattern()); + s1.setIsLastBoardAlightDeviated(isDeviated()); if (boarding) { int boardingTime = options.getBoardTime(this.getPattern().mode); if (boardingTime != 0) { @@ -380,6 +381,10 @@ public int calculateWait(State s0, ServiceDay sd, TripTimes tripTimes) { (int)(s0.getTimeSeconds() - sd.time(tripTimes.getArrivalTime(stopIndex))); } + public boolean isDeviated() { + return false; + } + /** @return the stop where this board/alight edge is located. */ private Stop getStop() { PatternStopVertex stopVertex = (PatternStopVertex) (boarding ? tov : fromv); diff --git a/src/main/java/org/opentripplanner/routing/edgetype/flex/FlexTransitBoardAlight.java b/src/main/java/org/opentripplanner/routing/edgetype/flex/FlexTransitBoardAlight.java index e2c2f75f4cf..4a8198a9a02 100644 --- a/src/main/java/org/opentripplanner/routing/edgetype/flex/FlexTransitBoardAlight.java +++ b/src/main/java/org/opentripplanner/routing/edgetype/flex/FlexTransitBoardAlight.java @@ -123,6 +123,11 @@ public long getExtraWeight(RoutingRequest options) { return (deviatedRoute ? options.deviatedRouteExtraPenalty : options.flagStopExtraPenalty); } + @Override + public boolean isDeviated() { + return boarding ? hop.isDeviatedRouteBoard() : hop.isDeviatedRouteAlight(); + } + @Override public String toString() { return "FlexTransitBoardAlight(" + From 4e84448527fc903d68f3acc27a7a2242e96ca1c5 Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Tue, 26 Sep 2017 16:19:59 -0400 Subject: [PATCH 121/226] Revert "VGF-75 for fare calcuation, use feed_id from route, since call-n-ride can go to stops that are not in its feed. route.getId().getAgencyId() actually *is* the feed_id - route.getAgency() contains the agency from GTFS route.agency_id" Turns out that this causes tests to fail. route.getId().getAgencyId() is only the feed_id if the feed does not provide feed_info.txt This reverts commit 8e66a1bf1d3ff8903fd379fe699478ad4067485f. --- .../routing/impl/DefaultFareServiceImpl.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/java/org/opentripplanner/routing/impl/DefaultFareServiceImpl.java b/src/main/java/org/opentripplanner/routing/impl/DefaultFareServiceImpl.java index 720d7ea1ff4..0436fb66045 100644 --- a/src/main/java/org/opentripplanner/routing/impl/DefaultFareServiceImpl.java +++ b/src/main/java/org/opentripplanner/routing/impl/DefaultFareServiceImpl.java @@ -352,12 +352,12 @@ private FareAndId getBestFareAndId(FareType fareType, List rides, long startTime = firstRide.startTime; String startZone = firstRide.startZone; String endZone = firstRide.endZone; - // route agency ID is really per-feed default id (GTFS `agency_id` becomes route.agency.) - String feedId = firstRide.route.getAgencyId(); + // stops don't really have an agency id, they have the per-feed default id + String feedId = firstRide.firstStop.getId().getAgencyId(); long lastRideStartTime = firstRide.startTime; long lastRideEndTime = firstRide.endTime; for (Ride ride : rides) { - if ( ! ride.route.getAgencyId().equals(feedId)) { + if ( ! ride.firstStop.getId().getAgencyId().equals(feedId)) { LOG.debug("skipped multi-feed ride sequence {}", rides); return new FareAndId(Float.POSITIVE_INFINITY, null); } From 4eb88648993fdd36834b032f6e61d3232356d0d5 Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Tue, 26 Sep 2017 16:33:05 -0400 Subject: [PATCH 122/226] VGF-75 fix fare calculation - rides have their own feedId field, which comes from Edge --- .../org/opentripplanner/routing/edgetype/HopEdge.java | 1 + .../opentripplanner/routing/edgetype/PatternHop.java | 6 ++++++ .../routing/edgetype/flex/PartialPatternHop.java | 4 ++++ .../routing/impl/DefaultFareServiceImpl.java | 10 ++++++---- 4 files changed, 17 insertions(+), 4 deletions(-) diff --git a/src/main/java/org/opentripplanner/routing/edgetype/HopEdge.java b/src/main/java/org/opentripplanner/routing/edgetype/HopEdge.java index 4413673d9be..d1f738740a7 100644 --- a/src/main/java/org/opentripplanner/routing/edgetype/HopEdge.java +++ b/src/main/java/org/opentripplanner/routing/edgetype/HopEdge.java @@ -30,4 +30,5 @@ public interface HopEdge { void setGeometry(LineString geometry); + String getFeedId(); } diff --git a/src/main/java/org/opentripplanner/routing/edgetype/PatternHop.java b/src/main/java/org/opentripplanner/routing/edgetype/PatternHop.java index 3e576e734f2..fca0343cbe0 100644 --- a/src/main/java/org/opentripplanner/routing/edgetype/PatternHop.java +++ b/src/main/java/org/opentripplanner/routing/edgetype/PatternHop.java @@ -187,6 +187,12 @@ public Stop getBeginStop() { return begin; } + @Override + public String getFeedId() { + // stops don't really have an agency id, they have the per-feed default id + return begin.getId().getAgencyId(); + } + public String toString() { return "PatternHop(" + getFromVertex() + ", " + getToVertex() + ")"; } diff --git a/src/main/java/org/opentripplanner/routing/edgetype/flex/PartialPatternHop.java b/src/main/java/org/opentripplanner/routing/edgetype/flex/PartialPatternHop.java index 9a51cfaf127..87b5a22e3f5 100644 --- a/src/main/java/org/opentripplanner/routing/edgetype/flex/PartialPatternHop.java +++ b/src/main/java/org/opentripplanner/routing/edgetype/flex/PartialPatternHop.java @@ -287,5 +287,9 @@ public int getDirectVehicleTime() { return startVehicleTime + endVehicleTime; } + @Override + public String getFeedId() { + return originalHop.getFeedId(); + } } diff --git a/src/main/java/org/opentripplanner/routing/impl/DefaultFareServiceImpl.java b/src/main/java/org/opentripplanner/routing/impl/DefaultFareServiceImpl.java index 0436fb66045..21df8921fda 100644 --- a/src/main/java/org/opentripplanner/routing/impl/DefaultFareServiceImpl.java +++ b/src/main/java/org/opentripplanner/routing/impl/DefaultFareServiceImpl.java @@ -45,7 +45,9 @@ the License, or (at your option) any later version. /** A set of edges on a single route, with associated information for calculating fares */ class Ride { - + + String feedId; + String agency; // route agency AgencyAndId route; @@ -191,6 +193,7 @@ protected List createRides(GraphPath path) { ride.startTime = state.getBackState().getTimeSeconds(); ride.firstStop = hEdge.getBeginStop(); ride.trip = state.getTripId(); + ride.feedId = hEdge.getFeedId(); } ride.lastStop = hEdge.getEndStop(); ride.endZone = ride.lastStop.getZoneId(); @@ -352,12 +355,11 @@ private FareAndId getBestFareAndId(FareType fareType, List rides, long startTime = firstRide.startTime; String startZone = firstRide.startZone; String endZone = firstRide.endZone; - // stops don't really have an agency id, they have the per-feed default id - String feedId = firstRide.firstStop.getId().getAgencyId(); + String feedId = firstRide.feedId; long lastRideStartTime = firstRide.startTime; long lastRideEndTime = firstRide.endTime; for (Ride ride : rides) { - if ( ! ride.firstStop.getId().getAgencyId().equals(feedId)) { + if ( ! ride.feedId.equals(feedId)) { LOG.debug("skipped multi-feed ride sequence {}", rides); return new FareAndId(Float.POSITIVE_INFINITY, null); } From e655f98fa18cb2bfb69fa70737f278189c2f9102 Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Wed, 27 Sep 2017 16:07:21 -0400 Subject: [PATCH 123/226] VGF-79 don't use call-n-ride or deviated-route if useReservationServices=false --- .../org/opentripplanner/routing/impl/GraphPathFinder.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/opentripplanner/routing/impl/GraphPathFinder.java b/src/main/java/org/opentripplanner/routing/impl/GraphPathFinder.java index 919ccda8250..600a2ef66a7 100644 --- a/src/main/java/org/opentripplanner/routing/impl/GraphPathFinder.java +++ b/src/main/java/org/opentripplanner/routing/impl/GraphPathFinder.java @@ -142,9 +142,13 @@ public List getPaths(RoutingRequest options) { FlagStopGraphModifier svc1 = new FlagStopGraphModifier(router.graph); DeviatedRouteGraphModifier svc2 = new DeviatedRouteGraphModifier(router.graph); svc1.createForwardHops(options); - svc2.createForwardHops(options); + if (options.useReservationServices) { + svc2.createForwardHops(options); + } svc1.createBackwardHops(options); - svc2.createBackwardHops(options); + if (options.useReservationServices) { + svc2.createBackwardHops(options); + } } long searchBeginTime = System.currentTimeMillis(); LOG.debug("BEGIN SEARCH"); From a67436987941f5f9b864aceba4f0bfe33fe169f7 Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Wed, 27 Sep 2017 16:36:31 -0400 Subject: [PATCH 124/226] Reduce call-n-ride time after trip plan based on call with Thomas --- .../opentripplanner/routing/core/RoutingRequest.java | 10 ++++++++++ .../opentripplanner/routing/impl/GraphPathFinder.java | 7 ++++++- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/opentripplanner/routing/core/RoutingRequest.java b/src/main/java/org/opentripplanner/routing/core/RoutingRequest.java index 8904a110bb7..a2483bd1804 100644 --- a/src/main/java/org/opentripplanner/routing/core/RoutingRequest.java +++ b/src/main/java/org/opentripplanner/routing/core/RoutingRequest.java @@ -398,6 +398,16 @@ public class RoutingRequest implements Cloneable, Serializable { */ public int maxCallAndRideSeconds = Integer.MAX_VALUE; + /** + * Seconds to reduce maxCallAndRideSeconds after a complete call-n-ride itinerary + */ + public int reduceCallAndRideSeconds = 15 * 60; + + /** + * Percentage to reduce maxCallAndRideSeconds after a complete call-n-ride itinerary + */ + public double reduceCallAndRideRatio = 0.5; + /** * Size of flag stop buffer in UI */ diff --git a/src/main/java/org/opentripplanner/routing/impl/GraphPathFinder.java b/src/main/java/org/opentripplanner/routing/impl/GraphPathFinder.java index 600a2ef66a7..2e95c6629db 100644 --- a/src/main/java/org/opentripplanner/routing/impl/GraphPathFinder.java +++ b/src/main/java/org/opentripplanner/routing/impl/GraphPathFinder.java @@ -192,7 +192,12 @@ public List getPaths(RoutingRequest options) { } // for direct-hop trip banning, limit the allowable call-n-ride time to what it is currently if (tripIds.size() < 2) { - options.maxCallAndRideSeconds = Math.min(options.maxCallAndRideSeconds, path.getCallAndRideDuration()); + int duration = path.getCallAndRideDuration(); + if (duration > 0) { + int constantLimit = Math.min(0, duration - options.reduceCallAndRideSeconds); + int ratioLimit = (int) Math.round(options.reduceCallAndRideRatio * duration); + options.maxCallAndRideSeconds = Math.min(constantLimit, ratioLimit); + } } } From be67f47060fb25e90eb6cda7a3fa30eaab20f1ce Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Wed, 27 Sep 2017 17:09:46 -0400 Subject: [PATCH 125/226] [maven-release-plugin] prepare release otp-1.2.0.7 --- pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index 5541f4f7885..e54eb025860 100644 --- a/pom.xml +++ b/pom.xml @@ -8,7 +8,7 @@ org.opentripplanner otp - 1.2.0.7-SNAPSHOT + 1.2.0.7 jar @@ -75,7 +75,7 @@ scm:git:http://github.com/camsys/OpenTripPlanner.git scm:git:ssh://git@github.com/camsys/OpenTripPlanner.git http://github.com/camsys/OpenTripPlanner - HEAD + otp-1.2.0.7 From 34ba84e60c15b5167d4261602beba91eebadcafc Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Wed, 27 Sep 2017 17:09:50 -0400 Subject: [PATCH 126/226] [maven-release-plugin] prepare for next development iteration --- pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index e54eb025860..17a5bcfe644 100644 --- a/pom.xml +++ b/pom.xml @@ -8,7 +8,7 @@ org.opentripplanner otp - 1.2.0.7 + 1.2.0.8-SNAPSHOT jar @@ -75,7 +75,7 @@ scm:git:http://github.com/camsys/OpenTripPlanner.git scm:git:ssh://git@github.com/camsys/OpenTripPlanner.git http://github.com/camsys/OpenTripPlanner - otp-1.2.0.7 + HEAD From 91b09f3c4584165496692b37a1a37c3e105f216b Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Tue, 10 Oct 2017 15:05:35 -0400 Subject: [PATCH 127/226] Revert "VGF-83 if flex service is enabled, must link to segment with CAR permission" This reverts commit 6100d71478c8ce63d28ba03c8be80b15c584b659. --- .../graph_builder/linking/SimpleStreetSplitter.java | 2 +- .../org/opentripplanner/routing/core/RoutingRequest.java | 5 ----- src/main/java/org/opentripplanner/standalone/Router.java | 1 - 3 files changed, 1 insertion(+), 7 deletions(-) diff --git a/src/main/java/org/opentripplanner/graph_builder/linking/SimpleStreetSplitter.java b/src/main/java/org/opentripplanner/graph_builder/linking/SimpleStreetSplitter.java index 21cb365eea9..d7efb90c175 100644 --- a/src/main/java/org/opentripplanner/graph_builder/linking/SimpleStreetSplitter.java +++ b/src/main/java/org/opentripplanner/graph_builder/linking/SimpleStreetSplitter.java @@ -516,7 +516,7 @@ public Vertex getClosestVertex(GenericLocation location, RoutingRequest options, //It can be null in tests if (options != null) { TraverseModeSet modes = options.modes; - if (modes.getCar() || options.useFlexService) + if (modes.getCar()) nonTransitMode = TraverseMode.CAR; else if (modes.getWalk()) nonTransitMode = TraverseMode.WALK; diff --git a/src/main/java/org/opentripplanner/routing/core/RoutingRequest.java b/src/main/java/org/opentripplanner/routing/core/RoutingRequest.java index a2483bd1804..d3444f26841 100644 --- a/src/main/java/org/opentripplanner/routing/core/RoutingRequest.java +++ b/src/main/java/org/opentripplanner/routing/core/RoutingRequest.java @@ -388,11 +388,6 @@ public class RoutingRequest implements Cloneable, Serializable { */ public double callAndRideReluctance = 2.0; - /** - * Whether to use flex service - */ - public boolean useFlexService = false; - /** * Total time we can spend on call-n-ride legs */ diff --git a/src/main/java/org/opentripplanner/standalone/Router.java b/src/main/java/org/opentripplanner/standalone/Router.java index e88342847b9..48e2901da46 100644 --- a/src/main/java/org/opentripplanner/standalone/Router.java +++ b/src/main/java/org/opentripplanner/standalone/Router.java @@ -165,7 +165,6 @@ public void startup(JsonNode config) { JsonNode useFlexService = config.get("useFlexService"); if (useFlexService != null) { graph.useFlexService = useFlexService.asBoolean(false); - defaultRoutingRequest.useFlexService = graph.useFlexService; } /* Create Graph updater modules from JSON config. */ From 97862fe31fc8174f66745ab591e9653ec1f47a35 Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Wed, 11 Oct 2017 16:39:39 -0400 Subject: [PATCH 128/226] VGF-83 look for car accessible links at beginning of deviated-route search --- .../routing/flex/CarPermissionSearch.java | 96 +++++++++++++++++++ .../flex/DeviatedRouteGraphModifier.java | 9 +- .../routing/flex/GtfsFlexGraphModifier.java | 21 ++++ 3 files changed, 119 insertions(+), 7 deletions(-) create mode 100644 src/main/java/org/opentripplanner/routing/flex/CarPermissionSearch.java diff --git a/src/main/java/org/opentripplanner/routing/flex/CarPermissionSearch.java b/src/main/java/org/opentripplanner/routing/flex/CarPermissionSearch.java new file mode 100644 index 00000000000..56337df47ab --- /dev/null +++ b/src/main/java/org/opentripplanner/routing/flex/CarPermissionSearch.java @@ -0,0 +1,96 @@ +/* This program is free software: you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public License + as published by the Free Software Foundation, either version 3 of + the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ +package org.opentripplanner.routing.flex; + +import org.opentripplanner.routing.algorithm.GenericDijkstra; +import org.opentripplanner.routing.algorithm.TraverseVisitor; +import org.opentripplanner.routing.algorithm.strategies.SearchTerminationStrategy; +import org.opentripplanner.routing.algorithm.strategies.TrivialRemainingWeightHeuristic; +import org.opentripplanner.routing.core.RoutingRequest; +import org.opentripplanner.routing.core.State; +import org.opentripplanner.routing.core.TraverseMode; +import org.opentripplanner.routing.core.TraverseModeSet; +import org.opentripplanner.routing.edgetype.StreetEdge; +import org.opentripplanner.routing.edgetype.TemporaryEdge; +import org.opentripplanner.routing.graph.Edge; +import org.opentripplanner.routing.graph.Vertex; +import org.opentripplanner.routing.spt.ShortestPathTree; + +public class CarPermissionSearch { + + private RoutingRequest opt; + + public CarPermissionSearch(RoutingRequest opt, boolean arriveBy) { + this.opt = opt.clone(); + this.opt.setMode(TraverseMode.WALK); + this.opt.setArriveBy(arriveBy); + } + + public Vertex findVertexWithPermission(Vertex vertex, TraverseMode mode) { + SearchStrategy strategy = new SearchStrategy(mode); + GenericDijkstra gd = new GenericDijkstra(opt); + gd.setHeuristic(new TrivialRemainingWeightHeuristic()); + gd.traverseVisitor = strategy; + gd.setSearchTerminationStrategy(strategy); + gd.getShortestPathTree(new State(vertex, opt)); + return strategy.getVertex(); + } + + private static class SearchStrategy implements SearchTerminationStrategy, TraverseVisitor { + + private final TraverseMode mode; + + private Vertex vertex = null; + + private boolean firstStreetEdge = true; + + public SearchStrategy(TraverseMode mode) { + this.mode = mode; + } + + // TraverseVisitor + + @Override + public void visitEdge(Edge edge, State state) { + boolean arriveBy = state.getOptions().arriveBy; + if (vertex == null && edge instanceof StreetEdge && !(edge instanceof TemporaryEdge)) { + if (((StreetEdge) edge).canTraverse(new TraverseModeSet(mode))) { + if (firstStreetEdge) { + vertex = arriveBy ? state.getOptions().rctx.toVertex : state.getOptions().rctx.fromVertex; + } else { + vertex = arriveBy ? edge.getToVertex() : edge.getFromVertex(); + } + } + firstStreetEdge = false; + } + } + + @Override + public void visitVertex(State state) { + } + + @Override + public void visitEnqueue(State state) { + } + + // TerminationStrategy + @Override + public boolean shouldSearchTerminate(Vertex origin, Vertex target, State current, ShortestPathTree spt, RoutingRequest traverseOptions) { + return vertex != null; + } + + public Vertex getVertex() { + return vertex; + } + } +} diff --git a/src/main/java/org/opentripplanner/routing/flex/DeviatedRouteGraphModifier.java b/src/main/java/org/opentripplanner/routing/flex/DeviatedRouteGraphModifier.java index abb33e4d476..b82a4aa0bad 100644 --- a/src/main/java/org/opentripplanner/routing/flex/DeviatedRouteGraphModifier.java +++ b/src/main/java/org/opentripplanner/routing/flex/DeviatedRouteGraphModifier.java @@ -49,8 +49,6 @@ the License, or (props, at your option) any later version. */ public class DeviatedRouteGraphModifier extends GtfsFlexGraphModifier { - private static final int MAX_DRS_SEARCH_DIST = 1600 * 50; // approx 50 mile limit. Could be set by data. - // want to ensure we only keep one pattern hop per trip pattern private Map directServices = Maps.newHashMap(); private Set transitStopStates = Sets.newHashSet(); @@ -66,11 +64,8 @@ public TraverseMode getMode() { @Override public SearchTerminationStrategy getSearchTerminationStrategy() { - // TODO: It's possible we need to have NO termination strategy under some conditions. - return (origin, target, state, s, opt) -> { - double distance = SphericalDistanceLibrary.distance(origin.getCoordinate(), state.getVertex().getCoordinate()); - return distance > MAX_DRS_SEARCH_DIST; - }; + // No termination strategy -- need to search until we find destination, in case we are in demand-response zone. + return null; } @Override diff --git a/src/main/java/org/opentripplanner/routing/flex/GtfsFlexGraphModifier.java b/src/main/java/org/opentripplanner/routing/flex/GtfsFlexGraphModifier.java index 6513b41f040..c9aa62e36ed 100644 --- a/src/main/java/org/opentripplanner/routing/flex/GtfsFlexGraphModifier.java +++ b/src/main/java/org/opentripplanner/routing/flex/GtfsFlexGraphModifier.java @@ -47,6 +47,7 @@ the License, or (props, at your option) any later version. import org.opentripplanner.routing.vertextype.TransitStop; import org.opentripplanner.routing.vertextype.TransitStopArrive; import org.opentripplanner.routing.vertextype.TransitStopDepart; +import org.opentripplanner.routing.vertextype.TransitVertex; import org.opentripplanner.routing.vertextype.flex.TemporaryPatternArriveVertex; import org.opentripplanner.routing.vertextype.flex.TemporaryPatternDepartVertex; import org.opentripplanner.routing.vertextype.flex.TemporaryTransitStop; @@ -198,6 +199,9 @@ public void createBackwardHops(RoutingRequest request) { } protected void streetSearch(RoutingRequest rr) { + if (TraverseMode.CAR.equals(getMode())) { + modifyRequestForCarAccess(rr); + } for(Pair p : getClosestPatternHops(rr)) { State s = p.getKey(); PatternHop hop = p.getValue(); @@ -495,4 +499,21 @@ private Collection findTemporaryPatternHops(RoutingR } return ret; } + + private void modifyRequestForCarAccess(RoutingRequest opt) { + Vertex fromVertex = findCarAccessibleVertex(opt, opt.rctx.fromVertex, false); + Vertex toVertex = findCarAccessibleVertex(opt, opt.rctx.toVertex, true); + Collection temporaryEdges = opt.rctx.temporaryEdges; + Collection temporaryVertices = opt.rctx.temporaryVertices; + opt.setRoutingContext(opt.rctx.graph, fromVertex, toVertex); + opt.rctx.temporaryEdges = temporaryEdges; + opt.rctx.temporaryVertices = temporaryVertices; + } + + private Vertex findCarAccessibleVertex(RoutingRequest opt, Vertex vertex, boolean arriveBy) { + if (vertex instanceof TransitVertex) { + return vertex; + } + return new CarPermissionSearch(opt, arriveBy).findVertexWithPermission(vertex, TraverseMode.CAR); + } } From 65dab1f1a6b90054adc50b54435fb36068a54578 Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Wed, 11 Oct 2017 16:46:57 -0400 Subject: [PATCH 129/226] Some cleanup, future-proofing by making sure transit stops used for call-n-ride are bus accessible (not subway stops) --- .../flex/DeviatedRouteGraphModifier.java | 4 +++- .../routing/flex/GtfsFlexGraphModifier.java | 24 +------------------ 2 files changed, 4 insertions(+), 24 deletions(-) diff --git a/src/main/java/org/opentripplanner/routing/flex/DeviatedRouteGraphModifier.java b/src/main/java/org/opentripplanner/routing/flex/DeviatedRouteGraphModifier.java index b82a4aa0bad..c55206e76d2 100644 --- a/src/main/java/org/opentripplanner/routing/flex/DeviatedRouteGraphModifier.java +++ b/src/main/java/org/opentripplanner/routing/flex/DeviatedRouteGraphModifier.java @@ -167,7 +167,9 @@ private boolean addHopAsDirectService(PatternHop hop, Point orig) { @Override public void vertexVisitor(State state) { if (state.getVertex() instanceof TransitStop && !(state.getVertex() instanceof TemporaryVertex)) { - transitStopStates.add(state); + if (((TransitStop) state.getVertex()).getModes().contains(TraverseMode.BUS)) { + transitStopStates.add(state); + } } // Direct hop to destination if found boolean foundTarget = state.getVertex() == state.getOptions().rctx.toVertex; diff --git a/src/main/java/org/opentripplanner/routing/flex/GtfsFlexGraphModifier.java b/src/main/java/org/opentripplanner/routing/flex/GtfsFlexGraphModifier.java index c9aa62e36ed..84d169aec71 100644 --- a/src/main/java/org/opentripplanner/routing/flex/GtfsFlexGraphModifier.java +++ b/src/main/java/org/opentripplanner/routing/flex/GtfsFlexGraphModifier.java @@ -77,7 +77,6 @@ public abstract class GtfsFlexGraphModifier { protected Graph graph; private Map temporaryTransitStopsForLocation = Maps.newHashMap(); - private boolean mainSearchArriveBy; protected GtfsFlexGraphModifier(Graph graph) { this.graph = graph; @@ -175,7 +174,6 @@ public void vertexVisitor(State state) {} * @param request request for graph search */ public void createForwardHops(RoutingRequest request) { - mainSearchArriveBy = request.arriveBy; RoutingRequest forward = request.clone(); forward.setMode(getMode()); forward.setArriveBy(false); @@ -190,7 +188,6 @@ public void createForwardHops(RoutingRequest request) { * @param request request for graph search */ public void createBackwardHops(RoutingRequest request) { - mainSearchArriveBy = request.arriveBy; RoutingRequest backward = request.clone(); backward.setMode(getMode()); backward.setArriveBy(true); @@ -369,25 +366,6 @@ private void createHopsFromTemporaryStop(RoutingRequest rr, State state, Tempora createBoardEdge(rr, transitStopDepart, patternDepartVertex, hop); } - public void createDirectHop(RoutingRequest rr, PatternHop originalPatternHop, TransitStop fromStop, TransitStop toStop) { - RoutingRequest request = rr.clone(); - request.setMode(TraverseMode.CAR); - request.setArriveBy(mainSearchArriveBy); - RemainingWeightHeuristic save = request.rctx.remainingWeightHeuristic; - request.rctx.remainingWeightHeuristic = new EuclideanRemainingWeightHeuristic(); - AStar astar = new AStar(); - astar.getShortestPathTree(request); - request.rctx.remainingWeightHeuristic = save; - List paths = astar.getPathsToTarget(); - if (paths.isEmpty()) { - LOG.info("No path to target"); - return; - } - GraphPath path = paths.iterator().next(); - - createDirectHop(rr, originalPatternHop, fromStop, toStop, path); - } - public void createDirectHop(RoutingRequest rr, PatternHop originalPatternHop, TransitStop fromStop, TransitStop toStop, GraphPath path) { if (fromStop instanceof TemporaryTransitStop && fromStop.departVertex == null) { createTransitStopDepart(rr, (TemporaryTransitStop) fromStop); @@ -511,7 +489,7 @@ private void modifyRequestForCarAccess(RoutingRequest opt) { } private Vertex findCarAccessibleVertex(RoutingRequest opt, Vertex vertex, boolean arriveBy) { - if (vertex instanceof TransitVertex) { + if (vertex instanceof TransitStop && ((TransitStop) vertex).getModes().contains(TraverseMode.BUS)) { return vertex; } return new CarPermissionSearch(opt, arriveBy).findVertexWithPermission(vertex, TraverseMode.CAR); From de9c3d25cac9afc6846a4457751b824d8e4642ce Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Wed, 11 Oct 2017 23:00:49 -0400 Subject: [PATCH 130/226] bugfix VGF-59 --- .../routing/flex/FlagStopGraphModifier.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/main/java/org/opentripplanner/routing/flex/FlagStopGraphModifier.java b/src/main/java/org/opentripplanner/routing/flex/FlagStopGraphModifier.java index e5584a56a39..c83dd2ca417 100644 --- a/src/main/java/org/opentripplanner/routing/flex/FlagStopGraphModifier.java +++ b/src/main/java/org/opentripplanner/routing/flex/FlagStopGraphModifier.java @@ -24,6 +24,7 @@ the License, or (props, at your option) any later version. import org.opentripplanner.routing.core.TraverseMode; import org.opentripplanner.routing.edgetype.PatternHop; import org.opentripplanner.routing.edgetype.StreetEdge; +import org.opentripplanner.routing.edgetype.StreetTransitLink; import org.opentripplanner.routing.edgetype.flex.TemporaryPartialPatternHop; import org.opentripplanner.routing.graph.Edge; import org.opentripplanner.routing.graph.Graph; @@ -122,6 +123,12 @@ public StreetVertex getLocationForTemporaryStop(State s, PatternHop hop) { LOG.debug("ignoring flag stop at existing stop"); return null; } + for (Edge e : tstop.getOutgoing()) { + if (e instanceof StreetTransitLink) { + return (StreetVertex) e.getToVertex(); + } + } + return null; } throw new RuntimeException("Unexpected location."); } From 09d72db994078fd4e573938fb646b8386d962bdc Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Mon, 16 Oct 2017 17:22:38 -0400 Subject: [PATCH 131/226] InterleavedBidirectionalHeuristic: do not change underlying request, instead use separate maxWalkDistanceHeuristic value --- .../api/common/RoutingResource.java | 3 +++ .../InterleavedBidirectionalHeuristic.java | 20 +++++++++---------- .../routing/core/RoutingRequest.java | 8 ++++++++ 3 files changed, 21 insertions(+), 10 deletions(-) diff --git a/src/main/java/org/opentripplanner/api/common/RoutingResource.java b/src/main/java/org/opentripplanner/api/common/RoutingResource.java index 9bf96f2ef74..db3887c0dbf 100644 --- a/src/main/java/org/opentripplanner/api/common/RoutingResource.java +++ b/src/main/java/org/opentripplanner/api/common/RoutingResource.java @@ -457,6 +457,9 @@ protected RoutingRequest buildRequest() throws ParameterException { if (maxWalkDistance != null) { request.setMaxWalkDistance(maxWalkDistance); request.maxTransferWalkDistance = maxWalkDistance; + if (request.maxWalkDistanceHeuristic == Double.MAX_VALUE) { + request.maxWalkDistanceHeuristic = maxWalkDistance; + } } if (maxPreTransitTime != null) diff --git a/src/main/java/org/opentripplanner/routing/algorithm/strategies/InterleavedBidirectionalHeuristic.java b/src/main/java/org/opentripplanner/routing/algorithm/strategies/InterleavedBidirectionalHeuristic.java index a1ff7a2d5ec..84bfb568883 100644 --- a/src/main/java/org/opentripplanner/routing/algorithm/strategies/InterleavedBidirectionalHeuristic.java +++ b/src/main/java/org/opentripplanner/routing/algorithm/strategies/InterleavedBidirectionalHeuristic.java @@ -104,9 +104,13 @@ public class InterleavedBidirectionalHeuristic implements RemainingWeightHeurist * Before the main search begins, the heuristic must search on the streets around the origin and destination. * This also sets up the initial states for the reverse search through the transit network, which progressively * improves lower bounds on travel time to the target to guide the main search. + * */ @Override public void initialize(RoutingRequest request, long abortTime) { + // This code used to use the RoutingRequest for the original search, & as a side effect, + // set softWalkLimiting = false and maxWalkDistance = Infinity. Now, we use a cloned version of the + // request instead. Vertex target = request.rctx.target; if (target == this.target) { LOG.debug("Reusing existing heuristic, the target vertex has not changed."); @@ -116,27 +120,23 @@ public void initialize(RoutingRequest request, long abortTime) { this.graph = request.rctx.graph; long start = System.currentTimeMillis(); this.target = target; - this.routingRequest = request; - request.softWalkLimiting = false; - request.softPreTransitLimiting = false; + this.routingRequest = request.clone(); + routingRequest.softWalkLimiting = false; + routingRequest.softPreTransitLimiting = false; + routingRequest.maxWalkDistance = request.maxWalkDistanceHeuristic; transitQueue = new BinHeap<>(); // Forward street search first, mark street vertices around the origin so H evaluates to 0 - TObjectDoubleMap forwardStreetSearchResults = streetSearch(request, false, abortTime); + TObjectDoubleMap forwardStreetSearchResults = streetSearch(routingRequest, false, abortTime); if (forwardStreetSearchResults == null) { return; // Search timed out } preTransitVertices = forwardStreetSearchResults.keySet(); LOG.debug("end forward street search {} ms", System.currentTimeMillis() - start); - postBoardingWeights = streetSearch(request, true, abortTime); + postBoardingWeights = streetSearch(routingRequest, true, abortTime); if (postBoardingWeights == null) { return; // Search timed out } LOG.debug("end backward street search {} ms", System.currentTimeMillis() - start); - // once street searches are done, raise the limits to max - // because hard walk limiting is incorrect and is observed to cause problems - // for trips near the cutoff - request.setMaxWalkDistance(Double.POSITIVE_INFINITY); - request.setMaxPreTransitTime(Integer.MAX_VALUE); LOG.debug("initialized SSSP"); request.rctx.debugOutput.finishedPrecalculating(); } diff --git a/src/main/java/org/opentripplanner/routing/core/RoutingRequest.java b/src/main/java/org/opentripplanner/routing/core/RoutingRequest.java index d3444f26841..199d2e6ce99 100644 --- a/src/main/java/org/opentripplanner/routing/core/RoutingRequest.java +++ b/src/main/java/org/opentripplanner/routing/core/RoutingRequest.java @@ -87,6 +87,12 @@ public class RoutingRequest implements Cloneable, Serializable { */ public double maxWalkDistance = Double.MAX_VALUE; + /** + * The maximum distance (in meters) the heuristic should explore to find transit access/egress. + * Defaults to unlimited. + */ + public double maxWalkDistanceHeuristic = Double.MAX_VALUE; + /** * The maximum distance (in meters) the user is willing to walk for transfer legs. * Defaults to unlimited. Currently set to be the same value as maxWalkDistance. @@ -958,6 +964,7 @@ public boolean equals(Object o) { && wheelchairAccessible == other.wheelchairAccessible && optimize.equals(other.optimize) && maxWalkDistance == other.maxWalkDistance + && maxWalkDistanceHeuristic == other.maxWalkDistanceHeuristic && maxTransferWalkDistance == other.maxTransferWalkDistance && maxPreTransitTime == other.maxPreTransitTime && transferPenalty == other.transferPenalty @@ -1014,6 +1021,7 @@ public int hashCode() { + (int) (worstTime & 0xffffffff) + modes.hashCode() + (arriveBy ? 8966786 : 0) + (wheelchairAccessible ? 731980 : 0) + optimize.hashCode() + new Double(maxWalkDistance).hashCode() + + new Double(maxWalkDistanceHeuristic).hashCode() + new Double(maxTransferWalkDistance).hashCode() + new Double(transferPenalty).hashCode() + new Double(maxSlope).hashCode() + new Double(walkReluctance).hashCode() + new Double(waitReluctance).hashCode() From db261d53d5acfdc3b23fbecdbb2bb1ee13263c89 Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Mon, 16 Oct 2017 23:31:14 -0400 Subject: [PATCH 132/226] [maven-release-plugin] prepare release otp-1.2.0.8 --- pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index 17a5bcfe644..3d95edc6d37 100644 --- a/pom.xml +++ b/pom.xml @@ -8,7 +8,7 @@ org.opentripplanner otp - 1.2.0.8-SNAPSHOT + 1.2.0.8 jar @@ -75,7 +75,7 @@ scm:git:http://github.com/camsys/OpenTripPlanner.git scm:git:ssh://git@github.com/camsys/OpenTripPlanner.git http://github.com/camsys/OpenTripPlanner - HEAD + otp-1.2.0.8 From 480cf43f0657581a90889b40a98531b64adf8c5f Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Mon, 16 Oct 2017 23:31:19 -0400 Subject: [PATCH 133/226] [maven-release-plugin] prepare for next development iteration --- pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index 3d95edc6d37..067f99ffecd 100644 --- a/pom.xml +++ b/pom.xml @@ -8,7 +8,7 @@ org.opentripplanner otp - 1.2.0.8 + 1.2.0.9-SNAPSHOT jar @@ -75,7 +75,7 @@ scm:git:http://github.com/camsys/OpenTripPlanner.git scm:git:ssh://git@github.com/camsys/OpenTripPlanner.git http://github.com/camsys/OpenTripPlanner - otp-1.2.0.8 + HEAD From cc17df833ed498fd15c9edb5965f42759c88680e Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Fri, 27 Oct 2017 11:03:30 -0400 Subject: [PATCH 134/226] Switch to WKT areas for Advance Transit --- pom.xml | 4 +- .../common/geometry/GeometryUtils.java | 13 ++++- .../org/opentripplanner/index/IndexAPI.java | 4 +- .../index/model/AreaShort.java | 6 +-- .../model/DemandResponseServiceBean.java | 2 +- .../opentripplanner/model/StopPattern.java | 19 +++---- .../routing/edgetype/PatternHop.java | 10 ++-- .../factory/GTFSPatternHopFactory.java | 50 ++++++------------- .../routing/flex/DemandResponseService.java | 21 ++------ .../opentripplanner/routing/graph/Graph.java | 2 +- .../routing/graph/GraphIndex.java | 4 +- .../routing/trippattern/TripTimes.java | 10 ++-- 12 files changed, 63 insertions(+), 82 deletions(-) diff --git a/pom.xml b/pom.xml index 067f99ffecd..ccad136c39d 100644 --- a/pom.xml +++ b/pom.xml @@ -17,7 +17,7 @@ https://www.gnu.org/licenses/lgpl-3.0.txt - + @@ -650,7 +650,7 @@ org.onebusaway onebusaway-gtfs - 1.3.5.6-vt + 1.3.5.7-vt-SNAPSHOT diff --git a/src/main/java/org/opentripplanner/common/geometry/GeometryUtils.java b/src/main/java/org/opentripplanner/common/geometry/GeometryUtils.java index 8445370da4f..5ad8bb9c181 100644 --- a/src/main/java/org/opentripplanner/common/geometry/GeometryUtils.java +++ b/src/main/java/org/opentripplanner/common/geometry/GeometryUtils.java @@ -22,6 +22,8 @@ the License, or (at your option) any later version. import com.vividsolutions.jts.geom.LineString; import com.vividsolutions.jts.geom.LinearRing; import com.vividsolutions.jts.geom.Polygon; +import com.vividsolutions.jts.io.ParseException; +import com.vividsolutions.jts.io.WKTReader; import com.vividsolutions.jts.linearref.LengthLocationMap; import com.vividsolutions.jts.linearref.LinearLocation; import com.vividsolutions.jts.linearref.LocationIndexedLine; @@ -39,9 +41,7 @@ the License, or (at your option) any later version. import org.slf4j.LoggerFactory; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; -import java.util.Objects; public class GeometryUtils { private static final Logger LOG = LoggerFactory.getLogger(GeometryUtils.class); @@ -228,6 +228,15 @@ private static Coordinate[] convertPath(List path) { return coords; } + public static Geometry parseWkt(String wkt) { + try { + return new WKTReader(GeometryUtils.getGeometryFactory()).read(wkt); + } catch(ParseException e) { + LOG.error("Unable to parse wkt: " + e); + } + return null; + } + public static Geometry shiftLineByPerpendicularVector(LineString line, double distance, boolean reverse) { // restrict coordinates to line segments that are sufficiently long List coordList = new ArrayList<>(); diff --git a/src/main/java/org/opentripplanner/index/IndexAPI.java b/src/main/java/org/opentripplanner/index/IndexAPI.java index 71725da2f46..98652d17e6d 100644 --- a/src/main/java/org/opentripplanner/index/IndexAPI.java +++ b/src/main/java/org/opentripplanner/index/IndexAPI.java @@ -21,7 +21,7 @@ the License, or (at your option) any later version. import com.google.common.collect.Collections2; import com.vividsolutions.jts.geom.Coordinate; import com.vividsolutions.jts.geom.Envelope; -import com.vividsolutions.jts.geom.Polygon; +import com.vividsolutions.jts.geom.Geometry; import org.onebusaway.gtfs.model.Agency; import org.onebusaway.gtfs.model.AgencyAndId; import org.onebusaway.gtfs.model.Route; @@ -605,7 +605,7 @@ public Response getAllAreas() { @Path("/areas/{id}") public Response getAreaIdByFeedId(@PathParam("id") String areaIdString) { AgencyAndId id = GtfsLibrary.convertIdFromString(areaIdString); - Polygon area = index.areasById.get(id); + Geometry area = index.areasById.get(id); if (area == null) { return Response.status(Status.NOT_FOUND).build(); } diff --git a/src/main/java/org/opentripplanner/index/model/AreaShort.java b/src/main/java/org/opentripplanner/index/model/AreaShort.java index dcd1922d342..41fdf836ac8 100644 --- a/src/main/java/org/opentripplanner/index/model/AreaShort.java +++ b/src/main/java/org/opentripplanner/index/model/AreaShort.java @@ -13,7 +13,7 @@ the License, or (at your option) any later version. package org.opentripplanner.index.model; -import com.vividsolutions.jts.geom.Polygon; +import com.vividsolutions.jts.geom.Geometry; import org.onebusaway.gtfs.model.AgencyAndId; import org.opentripplanner.util.PolylineEncoder; import org.opentripplanner.util.model.EncodedPolylineBean; @@ -22,8 +22,8 @@ public class AreaShort { public AgencyAndId areaId; public EncodedPolylineBean polygon; - public AreaShort(AgencyAndId areaId, Polygon polygon) { + public AreaShort(AgencyAndId areaId, Geometry polygon) { this.areaId = areaId; - this.polygon = PolylineEncoder.createEncodings(polygon.getExteriorRing()); + this.polygon = PolylineEncoder.createEncodings(polygon.getBoundary()); } } diff --git a/src/main/java/org/opentripplanner/index/model/DemandResponseServiceBean.java b/src/main/java/org/opentripplanner/index/model/DemandResponseServiceBean.java index 4a63ba179cb..6bdbb498a14 100644 --- a/src/main/java/org/opentripplanner/index/model/DemandResponseServiceBean.java +++ b/src/main/java/org/opentripplanner/index/model/DemandResponseServiceBean.java @@ -37,7 +37,7 @@ public DemandResponseServiceBean(DemandResponseService svc) { route = new RouteShort(svc.getRoute()); startTime = svc.getStartTime(); endTime = svc.getEndTime(); - coverageArea = PolylineEncoder.createEncodings(svc.getCoverageArea().getExteriorRing()); + coverageArea = PolylineEncoder.createEncodings(svc.getCoverageArea().getBoundary()); } public static List list(Collection services) { diff --git a/src/main/java/org/opentripplanner/model/StopPattern.java b/src/main/java/org/opentripplanner/model/StopPattern.java index 46ce261747f..40c741d55a5 100644 --- a/src/main/java/org/opentripplanner/model/StopPattern.java +++ b/src/main/java/org/opentripplanner/model/StopPattern.java @@ -8,6 +8,7 @@ import com.google.common.hash.HashCode; import com.google.common.hash.HashFunction; import com.google.common.hash.Hasher; +import com.vividsolutions.jts.geom.Geometry; import com.vividsolutions.jts.geom.Polygon; import org.onebusaway.gtfs.model.Stop; import org.onebusaway.gtfs.model.StopTime; @@ -56,7 +57,7 @@ public class StopPattern implements Serializable { public final int[] continuousPickup; public final int[] continuousDropOff; public final double[] serviceAreaRadius; - public final Polygon[] serviceAreas; // likely at most one distinct object will be in this array + public final Geometry[] serviceAreas; // likely at most one distinct object will be in this array public boolean equals(Object other) { if (other instanceof StopPattern) { @@ -113,11 +114,11 @@ public StopPattern (List stopTimes) { } /** Assumes that stopTimes are already sorted by time. */ - public StopPattern (List stopTimes, Function polygonById) { + public StopPattern (List stopTimes, Function areaGeometryByArea) { this (stopTimes.size()); if (size == 0) return; double lastServiceAreaRadius = 0; - Polygon lastPolygon = null; + Geometry lastServiceArea = null; for (int i = 0; i < size; ++i) { StopTime stopTime = stopTimes.get(i); stops[i] = stopTime.getStop(); @@ -143,13 +144,13 @@ public StopPattern (List stopTimes, Function polygonB lastServiceAreaRadius = 0; } - if (polygonById != null) { - if (stopTime.getStartServiceAreaId() != null) { - lastPolygon = polygonById.apply(stopTime.getStartServiceAreaId()); + if (areaGeometryByArea != null) { + if (stopTime.getStartServiceArea() != null) { + lastServiceArea = areaGeometryByArea.apply(stopTime.getStartServiceArea().getAreaId()); } - serviceAreas[i] = lastPolygon; - if (stopTime.getEndServiceAreaId() != null) { - lastPolygon = null; + serviceAreas[i] = lastServiceArea; + if (stopTime.getEndServiceArea() != null) { + lastServiceArea = null; } } } diff --git a/src/main/java/org/opentripplanner/routing/edgetype/PatternHop.java b/src/main/java/org/opentripplanner/routing/edgetype/PatternHop.java index fca0343cbe0..fb66a16a6dd 100644 --- a/src/main/java/org/opentripplanner/routing/edgetype/PatternHop.java +++ b/src/main/java/org/opentripplanner/routing/edgetype/PatternHop.java @@ -14,9 +14,9 @@ the License, or (at your option) any later version. package org.opentripplanner.routing.edgetype; import com.vividsolutions.jts.geom.Coordinate; +import com.vividsolutions.jts.geom.Geometry; import com.vividsolutions.jts.geom.LineString; import com.vividsolutions.jts.geom.Point; -import com.vividsolutions.jts.geom.Polygon; import org.onebusaway.gtfs.model.Stop; import org.opentripplanner.common.geometry.GeometryUtils; import org.opentripplanner.common.geometry.SphericalDistanceLibrary; @@ -44,13 +44,13 @@ public class PatternHop extends TablePatternEdge implements OnboardEdge, HopEdge private double serviceAreaRadius; - private Polygon serviceArea; + private Geometry serviceArea; public int stopIndex; private LineString geometry = null; - protected PatternHop(PatternStopVertex from, PatternStopVertex to, Stop begin, Stop end, int stopIndex, RequestStops requestStops, double serviceAreaRadius, Polygon serviceArea, boolean setInPattern) { + protected PatternHop(PatternStopVertex from, PatternStopVertex to, Stop begin, Stop end, int stopIndex, RequestStops requestStops, double serviceAreaRadius, Geometry serviceArea, boolean setInPattern) { super(from, to); this.begin = begin; this.end = end; @@ -62,7 +62,7 @@ protected PatternHop(PatternStopVertex from, PatternStopVertex to, Stop begin, S this.serviceArea = serviceArea; } - public PatternHop(PatternStopVertex from, PatternStopVertex to, Stop begin, Stop end, int stopIndex, int continuousPickup, int continuousDropoff, double serviceAreaRadius, Polygon serviceArea) { + public PatternHop(PatternStopVertex from, PatternStopVertex to, Stop begin, Stop end, int stopIndex, int continuousPickup, int continuousDropoff, double serviceAreaRadius, Geometry serviceArea) { this(from, to, begin, end, stopIndex, RequestStops.fromGtfs(continuousPickup, continuousDropoff), serviceAreaRadius, serviceArea, true); } public PatternHop(PatternStopVertex from, PatternStopVertex to, Stop begin, Stop end, int stopIndex) { @@ -222,7 +222,7 @@ public double getServiceAreaRadius() { return serviceAreaRadius; } - public Polygon getServiceArea() { + public Geometry getServiceArea() { return serviceArea; } diff --git a/src/main/java/org/opentripplanner/routing/edgetype/factory/GTFSPatternHopFactory.java b/src/main/java/org/opentripplanner/routing/edgetype/factory/GTFSPatternHopFactory.java index c4967ad26d1..d91b3b84818 100644 --- a/src/main/java/org/opentripplanner/routing/edgetype/factory/GTFSPatternHopFactory.java +++ b/src/main/java/org/opentripplanner/routing/edgetype/factory/GTFSPatternHopFactory.java @@ -24,7 +24,6 @@ the License, or (at your option) any later version. import com.vividsolutions.jts.geom.Geometry; import com.vividsolutions.jts.geom.GeometryFactory; import com.vividsolutions.jts.geom.LineString; -import com.vividsolutions.jts.geom.Polygon; import com.vividsolutions.jts.linearref.LinearLocation; import com.vividsolutions.jts.linearref.LocationIndexedLine; import gnu.trove.list.TIntList; @@ -105,8 +104,6 @@ the License, or (at your option) any later version. import java.util.LinkedList; import java.util.List; import java.util.Map; -import java.util.function.Function; -import java.util.stream.Collectors; // Filtering out (removing) stoptimes from a trip forces us to either have two copies of that list, // or do all the steps within one loop over trips. It would be clearer if there were multiple loops over the trips. @@ -304,7 +301,7 @@ public class GTFSPatternHopFactory { private Map _distancesByShapeId = new HashMap(); - private Map _areasById = new HashMap(); + private Map _areasById = new HashMap<>(); private FareServiceFactory fareServiceFactory; @@ -396,9 +393,7 @@ public void run(Graph graph) { List stopTimes = new ArrayList(_dao.getStopTimesForTrip(trip)); if (hasDemandService(stopTimes)) { - String areaId = stopTimes.get(0).getStartServiceAreaId(); - List areas = _dao.getAllAreas().stream().filter(a -> a.getAreaId().equals(areaId)).collect(Collectors.toList()); - addDemandService(graph, trip, stopTimes.get(0), stopTimes.get(1), areas); + addDemandService(graph, trip, stopTimes.get(0), stopTimes.get(1)); } /* GTFS stop times frequently contain duplicate, missing, or incorrect entries. Repair them. */ @@ -1330,17 +1325,17 @@ private TIntList removeRepeatedStops (List stopTimes) { Iterator it = stopTimes.iterator(); TIntList stopSequencesRemoved = new TIntArrayList(); double serviceAreaRadius = 0.0d; - String serviceArea = null; + String serviceAreaWkt = null; while (it.hasNext()) { StopTime st = it.next(); if (st.getStartServiceAreaRadius() != StopTime.MISSING_VALUE) { serviceAreaRadius = st.getStartServiceAreaRadius(); } - if (st.getStartServiceAreaId() != null) { - serviceArea = st.getStartServiceAreaId(); + if (st.getStartServiceArea() != null) { + serviceAreaWkt = st.getStartServiceArea().getWkt(); } if (prev != null) { - if (prev.getStop().equals(st.getStop()) && serviceAreaRadius == 0.0d && serviceArea == null) { + if (prev.getStop().equals(st.getStop()) && serviceAreaRadius == 0.0d && serviceAreaWkt == null) { // OBA gives us unmodifiable lists, but we have copied them. // Merge the two stop times, making sure we're not throwing out a stop time with times in favor of an @@ -1361,8 +1356,8 @@ private TIntList removeRepeatedStops (List stopTimes) { if (st.getEndServiceAreaRadius() != StopTime.MISSING_VALUE) { serviceAreaRadius = 0.0d; } - if (st.getEndServiceAreaId() != null) { - serviceArea = null; + if (st.getEndServiceArea() != null) { + serviceAreaWkt = null; } } return stopSequencesRemoved; @@ -1498,27 +1493,14 @@ public void setMaxStopToShapeSnapDistance(double maxStopToShapeSnapDistance) { } private void loadAreaMap() { - _dao.getAllAreas() - .stream() - .collect(Collectors.groupingBy(Area::getAreaId, Collectors.toList())) - .forEach(this::loadArea); - } - - private void loadArea(String name, List areas) { - areas.sort(Comparator.comparingInt(Area::getSequence)); - double[] coordinates = new double[areas.size() * 2]; - int i = 0; - for (Area area : areas) { - coordinates[i++] = area.getLon(); - coordinates[i++] = area.getLat(); + for (Area area : _dao.getAllAreas()) { + Geometry geometry = GeometryUtils.parseWkt(area.getWkt()); + _areasById.put(area.getAreaId(), geometry); } - CoordinateSequence sequence = new PackedCoordinateSequence.Double(coordinates, 2); - Polygon polygon = _geometryFactory.createPolygon(sequence); - _areasById.put(name, polygon); } private void loadAreasIntoGraph(Graph graph) { - for (Map.Entry entry : _areasById.entrySet()) { + for (Map.Entry entry : _areasById.entrySet()) { AgencyAndId id = new AgencyAndId(_feedId.getId(), entry.getKey()); graph.areasById.put(id, entry.getValue()); } @@ -1529,11 +1511,11 @@ private boolean hasDemandService(List stopTimes) { return false; StopTime st0 = stopTimes.get(0); StopTime st1 = stopTimes.get(1); - return st0.getStartServiceAreaId() != null - && st0.getStartServiceAreaId().equals(st1.getEndServiceAreaId()); + return st0.getStartServiceArea() != null + && st0.getStartServiceArea().equals(st1.getEndServiceArea()); } - private void addDemandService(Graph graph, Trip trip, StopTime st0, StopTime st1, List areas) { - graph.demandResponseServices.add(new DemandResponseService(trip, st0, st1, areas)); + private void addDemandService(Graph graph, Trip trip, StopTime st0, StopTime st1) { + graph.demandResponseServices.add(new DemandResponseService(trip, st0, st1)); } } diff --git a/src/main/java/org/opentripplanner/routing/flex/DemandResponseService.java b/src/main/java/org/opentripplanner/routing/flex/DemandResponseService.java index 3c9bdb40bf3..c02b09557be 100644 --- a/src/main/java/org/opentripplanner/routing/flex/DemandResponseService.java +++ b/src/main/java/org/opentripplanner/routing/flex/DemandResponseService.java @@ -13,9 +13,7 @@ the License, or (at your option) any later version. package org.opentripplanner.routing.flex; -import com.vividsolutions.jts.geom.Coordinate; import com.vividsolutions.jts.geom.Geometry; -import com.vividsolutions.jts.geom.Polygon; import org.onebusaway.gtfs.model.AgencyAndId; import org.onebusaway.gtfs.model.Area; import org.onebusaway.gtfs.model.Route; @@ -25,8 +23,6 @@ the License, or (at your option) any later version. import org.opentripplanner.routing.core.State; import java.io.Serializable; -import java.util.ArrayList; -import java.util.List; public class DemandResponseService implements Serializable { @@ -36,23 +32,16 @@ public class DemandResponseService implements Serializable { private Route route; private int startTime; // start time, in seconds past midnight private int endTime; // end time, in seconds past midnight - private Polygon coverageArea; + private Geometry coverageArea; - public DemandResponseService(Trip trip, StopTime start, StopTime end, List areas) { + public DemandResponseService(Trip trip, StopTime start, StopTime end) { this.serviceId = trip.getServiceId(); this.route = trip.getRoute(); this.startTime = start.getDepartureTime(); this.endTime = end.getArrivalTime(); - areas.sort((a, b) -> a.getSequence() - b.getSequence()); - ArrayList coords = new ArrayList<>(); - for (int i = 0; i < areas.size(); i++) { - Area area = areas.get(i); - coords.add(new Coordinate(area.getLon(), area.getLat())); + if (start.getStartServiceArea() != null) { + coverageArea = GeometryUtils.parseWkt(start.getStartServiceArea().getWkt()); } - if (! coords.get(0).equals(coords.get(coords.size() - 1))) { - coords.add(coords.get(0)); - } - coverageArea = GeometryUtils.getGeometryFactory().createPolygon(coords.toArray(new Coordinate[0])); } public AgencyAndId getServiceId() { @@ -71,7 +60,7 @@ public int getEndTime() { return endTime; } - public Polygon getCoverageArea() { + public Geometry getCoverageArea() { return coverageArea; } diff --git a/src/main/java/org/opentripplanner/routing/graph/Graph.java b/src/main/java/org/opentripplanner/routing/graph/Graph.java index f898439896f..49198e10402 100644 --- a/src/main/java/org/opentripplanner/routing/graph/Graph.java +++ b/src/main/java/org/opentripplanner/routing/graph/Graph.java @@ -213,7 +213,7 @@ public class Graph implements Serializable { public List demandResponseServices = new ArrayList<>(); /** Areas for flex service */ - public Map areasById = new HashMap<>(); + public Map areasById = new HashMap<>(); public Graph(Graph basedOn) { this(); diff --git a/src/main/java/org/opentripplanner/routing/graph/GraphIndex.java b/src/main/java/org/opentripplanner/routing/graph/GraphIndex.java index e4ac244fb70..2cf544a9b00 100644 --- a/src/main/java/org/opentripplanner/routing/graph/GraphIndex.java +++ b/src/main/java/org/opentripplanner/routing/graph/GraphIndex.java @@ -18,8 +18,8 @@ import com.google.common.util.concurrent.ThreadFactoryBuilder; import com.vividsolutions.jts.geom.Coordinate; import com.vividsolutions.jts.geom.Envelope; +import com.vividsolutions.jts.geom.Geometry; import com.vividsolutions.jts.geom.LineString; -import com.vividsolutions.jts.geom.Polygon; import graphql.ExecutionResult; import graphql.GraphQL; import graphql.execution.ExecutorServiceExecutionStrategy; @@ -106,7 +106,7 @@ public class GraphIndex { public final Multimap patternsForEdge = HashMultimap.create(); public final Multimap hopsForEdge = HashMultimap.create(); public final Map demandResponseServicesForId = Maps.newHashMap(); - public final Map areasById = Maps.newHashMap(); + public final Map areasById = Maps.newHashMap(); /* Should eventually be replaced with new serviceId indexes. */ private final CalendarService calendarService; diff --git a/src/main/java/org/opentripplanner/routing/trippattern/TripTimes.java b/src/main/java/org/opentripplanner/routing/trippattern/TripTimes.java index 7e98c8e6044..75936b45efb 100644 --- a/src/main/java/org/opentripplanner/routing/trippattern/TripTimes.java +++ b/src/main/java/org/opentripplanner/routing/trippattern/TripTimes.java @@ -173,14 +173,14 @@ public TripTimes(final Trip trip, final List stopTimes, final Deduplic radius = 0; } - if (st.getStartServiceAreaId() != null) { - area = st.getStartServiceAreaId(); + if (st.getStartServiceArea() != null) { + area = st.getStartServiceArea().getAreaId(); } serviceArea[s] = area; - if (st.getEndServiceAreaId() != null) { - if (!st.getEndServiceAreaId().equals(area)) { + if (st.getEndServiceArea() != null) { + if (!st.getEndServiceArea().getAreaId().equals(area)) { String message = String.format("Trip %s: start service area %s does not match end area %s", - st.getTrip().getId(), area, st.getEndServiceAreaId()); + st.getTrip().getId(), area, st.getEndServiceArea()); throw new IllegalArgumentException(message); } area = null; From b11a3a496346ff063a145bd898391446de98a538 Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Thu, 2 Nov 2017 10:33:24 -0400 Subject: [PATCH 135/226] do not initialize edge map if no streets --- .../java/org/opentripplanner/routing/graph/GraphIndex.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/main/java/org/opentripplanner/routing/graph/GraphIndex.java b/src/main/java/org/opentripplanner/routing/graph/GraphIndex.java index 2cf544a9b00..a4b6576b7ba 100644 --- a/src/main/java/org/opentripplanner/routing/graph/GraphIndex.java +++ b/src/main/java/org/opentripplanner/routing/graph/GraphIndex.java @@ -717,6 +717,10 @@ public Set getAllAgencies() { } private void initializeHopsForEdgeMap() { + if (!graph.hasStreets) { + LOG.info("Cannot initialize hop-to-street-edge map; graph does not have streets loaded."); + return; + } StreetMatcher matcher = new StreetMatcher(graph); LOG.info("Finding corresponding street edges for trip patterns..."); for (TripPattern pattern : patternForId.values()) { From 6a942c59dac9f4dac201df106692e118c96e7f19 Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Thu, 2 Nov 2017 13:52:52 -0400 Subject: [PATCH 136/226] bugfix in pattern matcher --- .../java/org/opentripplanner/routing/graph/GraphIndex.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/main/java/org/opentripplanner/routing/graph/GraphIndex.java b/src/main/java/org/opentripplanner/routing/graph/GraphIndex.java index a4b6576b7ba..c30b3613df7 100644 --- a/src/main/java/org/opentripplanner/routing/graph/GraphIndex.java +++ b/src/main/java/org/opentripplanner/routing/graph/GraphIndex.java @@ -726,8 +726,7 @@ private void initializeHopsForEdgeMap() { for (TripPattern pattern : patternForId.values()) { if (pattern.hasFlexService()) { LOG.debug("Matching {}", pattern); - - if (pattern.geometry != null) { + if (pattern.geometry != null && !isSinglePoint(pattern.geometry)) { List edges = matcher.match(pattern.geometry); if (edges == null || edges.isEmpty()) { LOG.warn("Could not match to street network: {}", pattern); From 8be381291ec99f98007e88f6baf94bcf1354a2d2 Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Thu, 2 Nov 2017 13:55:26 -0400 Subject: [PATCH 137/226] bugfix in pattern matcher --- .../org/opentripplanner/routing/graph/GraphIndex.java | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/main/java/org/opentripplanner/routing/graph/GraphIndex.java b/src/main/java/org/opentripplanner/routing/graph/GraphIndex.java index c30b3613df7..feab1a1dc4b 100644 --- a/src/main/java/org/opentripplanner/routing/graph/GraphIndex.java +++ b/src/main/java/org/opentripplanner/routing/graph/GraphIndex.java @@ -726,14 +726,14 @@ private void initializeHopsForEdgeMap() { for (TripPattern pattern : patternForId.values()) { if (pattern.hasFlexService()) { LOG.debug("Matching {}", pattern); - if (pattern.geometry != null && !isSinglePoint(pattern.geometry)) { + if (pattern.geometry != null) { List edges = matcher.match(pattern.geometry); if (edges == null || edges.isEmpty()) { LOG.warn("Could not match to street network: {}", pattern); - continue; - } - for (Edge e : edges) { - patternsForEdge.put(e, pattern); + } else { + for (Edge e : edges) { + patternsForEdge.put(e, pattern); + } } } From 71b637a92da9c774b12be34513e8d3c55db3b284 Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Fri, 10 Nov 2017 11:43:11 -0500 Subject: [PATCH 138/226] fix out-of-DAR issue --- .../routing/flex/DeviatedRouteGraphModifier.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/main/java/org/opentripplanner/routing/flex/DeviatedRouteGraphModifier.java b/src/main/java/org/opentripplanner/routing/flex/DeviatedRouteGraphModifier.java index c55206e76d2..b7ee8fd454d 100644 --- a/src/main/java/org/opentripplanner/routing/flex/DeviatedRouteGraphModifier.java +++ b/src/main/java/org/opentripplanner/routing/flex/DeviatedRouteGraphModifier.java @@ -199,6 +199,10 @@ private void createDirectHopsToStops(RoutingRequest opt) { StreetVertex toVertex = findFirstStreetVertex(opt.rctx, true); toStop = getTemporaryStop(toVertex, null, opt.rctx, opt); } + Point toPt = GeometryUtils.getGeometryFactory().createPoint(toStop.getCoordinate()); + if (!hop.getServiceArea().contains(toPt)) { + continue; + } if (!(v instanceof TransitStop)) { throw new RuntimeException("Unexpected error! Only non-transit stop should be destination"); } else { @@ -211,6 +215,10 @@ private void createDirectHopsToStops(RoutingRequest opt) { StreetVertex fromVertex = findFirstStreetVertex(opt.rctx, false); fromStop = getTemporaryStop(fromVertex, null, opt.rctx, opt); } + Point fromPt = GeometryUtils.getGeometryFactory().createPoint(fromStop.getCoordinate()); + if (!hop.getServiceArea().contains(fromPt)) { + continue; + } if (!(v instanceof TransitStop)) { if (v == state.getOptions().rctx.toVertex) { StreetVertex toVertex = findFirstStreetVertex(opt.rctx, true); From c3a4de7f55a3aa04b747a3134803a073859c60d8 Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Tue, 21 Nov 2017 15:03:24 -0500 Subject: [PATCH 139/226] VGF-92 fix the implementation of flag stops right at start or end point --- .../routing/flex/FlagStopGraphModifier.java | 67 ------------------- .../routing/flex/GtfsFlexGraphModifier.java | 13 ---- .../routing/graph/GraphIndex.java | 4 ++ 3 files changed, 4 insertions(+), 80 deletions(-) diff --git a/src/main/java/org/opentripplanner/routing/flex/FlagStopGraphModifier.java b/src/main/java/org/opentripplanner/routing/flex/FlagStopGraphModifier.java index c83dd2ca417..55f6262f884 100644 --- a/src/main/java/org/opentripplanner/routing/flex/FlagStopGraphModifier.java +++ b/src/main/java/org/opentripplanner/routing/flex/FlagStopGraphModifier.java @@ -88,12 +88,6 @@ public TemporaryPartialPatternHop shortenEnd(RoutingRequest opt, State state, Te hop.getStartGeometry(), hop.getStartVehicleTime(), null, 0, opt.flagStopBufferSize); } - @Override - public void findExtraHops(RoutingRequest rr, Map patternHopStateMap) { - Vertex initVertex = rr.arriveBy ? rr.rctx.toVertex : rr.rctx.fromVertex; - findFlagStopEdgesNearby(rr, initVertex, patternHopStateMap); - } - @Override public StreetVertex getLocationForTemporaryStop(State s, PatternHop hop) { RoutingRequest rr = s.getOptions(); @@ -137,65 +131,4 @@ public StreetVertex getLocationForTemporaryStop(State s, PatternHop hop) { public boolean checkHopAllowsBoardAlight(State state, PatternHop hop, boolean boarding) { return hop.canRequestService(boarding); } - - /** - * Find the street edges that were split at beginning of search by StreetSplitter, check whether they are served by flag stop routes. - * This is duplicating the work done earlier by StreetSplitter, but want to minimize the number of changes introduced by flag stops. - */ - private void findFlagStopEdgesNearby(RoutingRequest rr, Vertex initVertex, Map patternHopStateMap) { - List flagStopEdges = getClosestStreetEdges(initVertex.getCoordinate()); - - for(StreetEdge streetEdge : flagStopEdges) { - State nearbyState = new State(initVertex, rr); - nearbyState.backEdge = streetEdge; - Collection hops = graph.index.getHopsForEdge(streetEdge); - for (PatternHop hop : hops) { - if (checkHopAllowsBoardAlight(nearbyState, hop, !rr.arriveBy)) { - patternHopStateMap.put(hop, nearbyState); - } - } - } - } - - /** - * Find the nearest street edges to the given point, check if they are served by flag stop routes. - */ - private List getClosestStreetEdges(Coordinate pointLocation) { - - final double radiusDeg = SphericalDistanceLibrary.metersToDegrees(500); - - Envelope env = new Envelope(pointLocation); - - // local equirectangular projection - double lat = pointLocation.getOrdinate(1); - final double xscale = Math.cos(lat * Math.PI / 180); - - env.expandBy(radiusDeg / xscale, radiusDeg); - - Collection edges = graph.streetIndex.getEdgesForEnvelope(env); - if (edges.isEmpty()) { - return Collections.emptyList(); - } - Map> edgeDistanceMap = new TreeMap<>(); - for(Edge edge : edges){ - if(edge instanceof StreetEdge){ - LineString line = edge.getGeometry(); - double dist = SphericalDistanceLibrary.fastDistance(pointLocation, line); - double roundOff = (double) Math.round(dist * 100) / 100; - if(!edgeDistanceMap.containsKey(roundOff)) - edgeDistanceMap.put(roundOff, new ArrayList<>()); - edgeDistanceMap.get(roundOff).add((StreetEdge) edge); - } - } - - List closestEdges = edgeDistanceMap.values().iterator().next(); - List ret = new ArrayList<>(); - for(StreetEdge closestEdge : closestEdges){ - Collection patternHops = graph.index.getHopsForEdge(closestEdge); - if(patternHops.size() > 0) { - ret.add(closestEdge); - } - } - return ret; - } } diff --git a/src/main/java/org/opentripplanner/routing/flex/GtfsFlexGraphModifier.java b/src/main/java/org/opentripplanner/routing/flex/GtfsFlexGraphModifier.java index 84d169aec71..ceebc703804 100644 --- a/src/main/java/org/opentripplanner/routing/flex/GtfsFlexGraphModifier.java +++ b/src/main/java/org/opentripplanner/routing/flex/GtfsFlexGraphModifier.java @@ -155,17 +155,6 @@ protected GtfsFlexGraphModifier(Graph graph) { */ public abstract StreetVertex getLocationForTemporaryStop(State s, PatternHop hop); - /** - * Subclasses can override this method to provide extra hops (not found in graph search) - * at which to create new vertices/edges, e.g. for flag stops where start/end vertices can be - * ON hop. - * - * @param rr request for graph search - * @param patternHopStateMap map to insert new PatternHop/State pairs into - */ - public void findExtraHops(RoutingRequest rr, Map patternHopStateMap) { - } - public void vertexVisitor(State state) {} /** @@ -289,8 +278,6 @@ public void visitEnqueue(State state) { Vertex initVertex = rr.arriveBy ? rr.rctx.toVertex : rr.rctx.fromVertex; gd.getShortestPathTree(new State(initVertex, rr)); - findExtraHops(rr, patternHopStateMap); - return patternHopStateMap.entrySet() .stream() .map(e -> new Pair<>(e.getValue(), e.getKey())) diff --git a/src/main/java/org/opentripplanner/routing/graph/GraphIndex.java b/src/main/java/org/opentripplanner/routing/graph/GraphIndex.java index feab1a1dc4b..0b78cbcf7ba 100644 --- a/src/main/java/org/opentripplanner/routing/graph/GraphIndex.java +++ b/src/main/java/org/opentripplanner/routing/graph/GraphIndex.java @@ -54,6 +54,7 @@ import org.opentripplanner.routing.edgetype.PatternHop; import org.opentripplanner.routing.edgetype.StreetEdge; import org.opentripplanner.routing.edgetype.TablePatternEdge; +import org.opentripplanner.routing.edgetype.TemporaryPartialStreetEdge; import org.opentripplanner.routing.edgetype.Timetable; import org.opentripplanner.routing.edgetype.TimetableSnapshot; import org.opentripplanner.routing.edgetype.TripPattern; @@ -772,6 +773,9 @@ private void initializeHopsForEdgeMap() { } public Collection getHopsForEdge(Edge e) { + if (e instanceof TemporaryPartialStreetEdge) { + e = ((TemporaryPartialStreetEdge) e).getParentEdge(); + } return hopsForEdge.get(e); } From 2b34e57077e8787349fae339b1f4c4a004145393 Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Wed, 22 Nov 2017 08:12:07 -0500 Subject: [PATCH 140/226] VGF-122 add outside-of-area message --- .../opentripplanner/api/model/TripPlan.java | 13 ++++ .../GraphPathToTripPlanConverter.java | 11 ++++ .../graph_builder/GraphBuilder.java | 13 +++- .../graph_builder/module/OutOfAreaModule.java | 58 ++++++++++++++++++ .../opentripplanner/routing/graph/Graph.java | 3 + .../services/notes/OutOfAreaNotesService.java | 59 +++++++++++++++++++ .../standalone/GraphBuilderParameters.java | 12 ++++ 7 files changed, 168 insertions(+), 1 deletion(-) create mode 100644 src/main/java/org/opentripplanner/graph_builder/module/OutOfAreaModule.java create mode 100644 src/main/java/org/opentripplanner/routing/services/notes/OutOfAreaNotesService.java diff --git a/src/main/java/org/opentripplanner/api/model/TripPlan.java b/src/main/java/org/opentripplanner/api/model/TripPlan.java index e460f1ff918..70dc4b4ab2c 100644 --- a/src/main/java/org/opentripplanner/api/model/TripPlan.java +++ b/src/main/java/org/opentripplanner/api/model/TripPlan.java @@ -16,10 +16,13 @@ the License, or (at your option) any later version. import java.util.ArrayList; import java.util.Date; import java.util.List; +import java.util.Locale; import javax.xml.bind.annotation.XmlElementWrapper; import com.fasterxml.jackson.annotation.JsonProperty; +import org.opentripplanner.api.model.alertpatch.LocalizedAlert; +import org.opentripplanner.routing.alertpatch.Alert; /** * A TripPlan is a set of ways to get from point A to point B at time T. @@ -40,6 +43,8 @@ public class TripPlan { @JsonProperty(value="itineraries") public List itinerary = new ArrayList(); + public List alerts; + public TripPlan() { } public TripPlan(Place from, Place to, Date date) { @@ -51,4 +56,12 @@ public TripPlan(Place from, Place to, Date date) { public void addItinerary(Itinerary itinerary) { this.itinerary.add(itinerary); } + + public void addAlert(Alert alert, Locale locale) { + if (alerts == null) { + alerts = new ArrayList<>(); + } + LocalizedAlert la = new LocalizedAlert(alert, locale); + alerts.add(la); + } } diff --git a/src/main/java/org/opentripplanner/api/resource/GraphPathToTripPlanConverter.java b/src/main/java/org/opentripplanner/api/resource/GraphPathToTripPlanConverter.java index 21126dd52ec..7e6fe79b679 100644 --- a/src/main/java/org/opentripplanner/api/resource/GraphPathToTripPlanConverter.java +++ b/src/main/java/org/opentripplanner/api/resource/GraphPathToTripPlanConverter.java @@ -124,6 +124,11 @@ public static TripPlan generatePlan(List paths, RoutingRequest reques lastLeg.to.orig = plan.to.orig; } } + + if (request.rctx.graph.outOfAreaNotesService != null) { + addOutOfAreaWarnings(plan, request, requestedLocale); + } + request.rctx.debugOutput.finishedRendering(); return plan; } @@ -1157,4 +1162,10 @@ private static List> encodeElevationProfile(Edge edge, double distanc return out; } + private static void addOutOfAreaWarnings(TripPlan plan, RoutingRequest request, Locale locale) { + for (Alert alert : request.rctx.graph.outOfAreaNotesService.getAlerts(request)) { + plan.addAlert(alert, locale); + } + } + } diff --git a/src/main/java/org/opentripplanner/graph_builder/GraphBuilder.java b/src/main/java/org/opentripplanner/graph_builder/GraphBuilder.java index e82b014b494..a2aa37053d7 100644 --- a/src/main/java/org/opentripplanner/graph_builder/GraphBuilder.java +++ b/src/main/java/org/opentripplanner/graph_builder/GraphBuilder.java @@ -20,6 +20,7 @@ the License, or (at your option) any later version. import org.opentripplanner.graph_builder.module.EmbedConfig; import org.opentripplanner.graph_builder.module.FlexDirectTransferGenerator; import org.opentripplanner.graph_builder.module.GtfsModule; +import org.opentripplanner.graph_builder.module.OutOfAreaModule; import org.opentripplanner.graph_builder.module.PruneFloatingIslands; import org.opentripplanner.graph_builder.module.StreetLinkerModule; import org.opentripplanner.graph_builder.module.TransitToTaggedStopsModule; @@ -188,6 +189,7 @@ public static GraphBuilder forDirectory(CommandLineParameters params, File dir) JsonNode builderConfig = null; JsonNode routerConfig = null; File demFile = null; + File boundaryFile = null; LOG.info("Searching for graph builder input files in {}", dir); if ( ! dir.isDirectory() && dir.canRead()) { LOG.error("'{}' is not a readable directory.", dir); @@ -218,6 +220,10 @@ public static GraphBuilder forDirectory(CommandLineParameters params, File dir) LOG.info("Skipping DEM file {}", file); } break; + case GEOJSON: + LOG.info("Found geojson area file {}", file); + boundaryFile = file; + break; case OTHER: LOG.warn("Skipping unrecognized file '{}'", file); } @@ -320,6 +326,10 @@ public static GraphBuilder forDirectory(CommandLineParameters params, File dir) if (builderParams.htmlAnnotations) { graphBuilder.addModule(new AnnotationsToHTML(params.build, builderParams.maxHtmlAnnotationsPerFile)); } + if (boundaryFile != null) { + graphBuilder.addModule(new OutOfAreaModule(boundaryFile, builderParams.fromPlaceOutOfAreaMessage, + builderParams.toPlaceOutOfAreaMessage)); + } graphBuilder.serializeGraph = ( ! params.inMemory ) || params.preFlight; return graphBuilder; } @@ -330,7 +340,7 @@ public static GraphBuilder forDirectory(CommandLineParameters params, File dir) * types are present. This helps point out when config files have been misnamed (builder-config vs. build-config). */ private static enum InputFileType { - GTFS, OSM, DEM, CONFIG, GRAPH, OTHER; + GTFS, OSM, DEM, CONFIG, GRAPH, GEOJSON, OTHER; public static InputFileType forFile(File file) { String name = file.getName(); if (name.endsWith(".zip")) { @@ -346,6 +356,7 @@ public static InputFileType forFile(File file) { if (name.endsWith(".osm.xml")) return OSM; if (name.endsWith(".tif") || name.endsWith(".tiff")) return DEM; // Digital elevation model (elevation raster) if (name.equals("Graph.obj")) return GRAPH; + if (name.endsWith(".geojson")) return GEOJSON; if (name.equals(GraphBuilder.BUILDER_CONFIG_FILENAME) || name.equals(Router.ROUTER_CONFIG_FILENAME)) { return CONFIG; } diff --git a/src/main/java/org/opentripplanner/graph_builder/module/OutOfAreaModule.java b/src/main/java/org/opentripplanner/graph_builder/module/OutOfAreaModule.java new file mode 100644 index 00000000000..d278f9e235e --- /dev/null +++ b/src/main/java/org/opentripplanner/graph_builder/module/OutOfAreaModule.java @@ -0,0 +1,58 @@ +/* This program is free software: you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public License + as published by the Free Software Foundation, either version 3 of + the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ +package org.opentripplanner.graph_builder.module; + +import com.conveyal.geojson.GeoJsonModule; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.vividsolutions.jts.geom.Geometry; +import org.opentripplanner.graph_builder.services.GraphBuilderModule; +import org.opentripplanner.routing.graph.Graph; +import org.opentripplanner.routing.services.notes.OutOfAreaNotesService; + +import java.io.File;; +import java.io.IOException; +import java.util.HashMap; + +public class OutOfAreaModule implements GraphBuilderModule { + + private File geojsonFile; + + private String startMessage, endMessage; + + public OutOfAreaModule(File geojsonFile, String startMessage, String endMessage) { + this.geojsonFile = geojsonFile; + this.startMessage = startMessage; + this.endMessage = endMessage; + } + + @Override + public void buildGraph(Graph graph, HashMap, Object> extra) { + Geometry area; + try { + area = new ObjectMapper().registerModule(new GeoJsonModule()) + .readValue(geojsonFile, Geometry.class); + } catch(IOException e) { + e.printStackTrace(); + return; + } + OutOfAreaNotesService svc = new OutOfAreaNotesService(); + svc.setArea(area); + svc.setStartLocationMessage(startMessage); + svc.setEndLocationMessage(endMessage); + graph.outOfAreaNotesService = svc; + } + + @Override + public void checkInputs() { + } +} diff --git a/src/main/java/org/opentripplanner/routing/graph/Graph.java b/src/main/java/org/opentripplanner/routing/graph/Graph.java index 49198e10402..8994037ba69 100644 --- a/src/main/java/org/opentripplanner/routing/graph/Graph.java +++ b/src/main/java/org/opentripplanner/routing/graph/Graph.java @@ -49,6 +49,7 @@ the License, or (at your option) any later version. import org.opentripplanner.routing.impl.DefaultStreetVertexIndexFactory; import org.opentripplanner.routing.services.StreetVertexIndexFactory; import org.opentripplanner.routing.services.StreetVertexIndexService; +import org.opentripplanner.routing.services.notes.OutOfAreaNotesService; import org.opentripplanner.routing.services.notes.StreetNotesService; import org.opentripplanner.routing.trippattern.Deduplicator; import org.opentripplanner.routing.vertextype.PatternArriveVertex; @@ -116,6 +117,8 @@ public class Graph implements Serializable { private transient SampleFactory sampleFactory; + public OutOfAreaNotesService outOfAreaNotesService; + public final Deduplicator deduplicator = new Deduplicator(); /** diff --git a/src/main/java/org/opentripplanner/routing/services/notes/OutOfAreaNotesService.java b/src/main/java/org/opentripplanner/routing/services/notes/OutOfAreaNotesService.java new file mode 100644 index 00000000000..91ed8c7f4eb --- /dev/null +++ b/src/main/java/org/opentripplanner/routing/services/notes/OutOfAreaNotesService.java @@ -0,0 +1,59 @@ +/* This program is free software: you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public License + as published by the Free Software Foundation, either version 3 of + the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ +package org.opentripplanner.routing.services.notes; + +import com.vividsolutions.jts.geom.Geometry; +import com.vividsolutions.jts.geom.Point; +import org.opentripplanner.common.geometry.GeometryUtils; +import org.opentripplanner.routing.alertpatch.Alert; +import org.opentripplanner.routing.core.RoutingRequest; + +import java.io.Serializable; +import java.util.ArrayList; +import java.util.Collection; + +public class OutOfAreaNotesService implements Serializable { + + private static final long serialVersionUID = 1; + + private Geometry area; + + private String startLocationMessage; + + private String endLocationMessage; + + public void setArea(Geometry area) { + this.area = area; + } + + public void setStartLocationMessage(String startLocationMessage) { + this.startLocationMessage = startLocationMessage; + } + + public void setEndLocationMessage(String endLocationMessage) { + this.endLocationMessage = endLocationMessage; + } + + public Collection getAlerts(RoutingRequest request) { + Point fromPoint = GeometryUtils.getGeometryFactory().createPoint(request.rctx.fromVertex.getCoordinate()); + Point toPoint = GeometryUtils.getGeometryFactory().createPoint(request.rctx.toVertex.getCoordinate()); + Collection alerts = new ArrayList<>(); + if (!area.contains(fromPoint)) { + alerts.add(Alert.createSimpleAlerts(startLocationMessage)); + } + if (!area.contains(toPoint)) { + alerts.add(Alert.createSimpleAlerts(endLocationMessage)); + } + return alerts; + } +} diff --git a/src/main/java/org/opentripplanner/standalone/GraphBuilderParameters.java b/src/main/java/org/opentripplanner/standalone/GraphBuilderParameters.java index b652311b0c8..5f6a572ec7b 100644 --- a/src/main/java/org/opentripplanner/standalone/GraphBuilderParameters.java +++ b/src/main/java/org/opentripplanner/standalone/GraphBuilderParameters.java @@ -148,6 +148,16 @@ public class GraphBuilderParameters { */ public final boolean createFlexTransfers; + /** + * Message for from-place out of area + */ + public final String fromPlaceOutOfAreaMessage; + + /** + * Message for from-place out of area + */ + public final String toPlaceOutOfAreaMessage; + /** * Set all parameters from the given Jackson JSON tree, applying defaults. * Supplying MissingNode.getInstance() will cause all the defaults to be applied. @@ -181,6 +191,8 @@ public GraphBuilderParameters(JsonNode config) { banDiscouragedWalking = config.path("banDiscouragedWalking").asBoolean(false); banDiscouragedBiking = config.path("banDiscouragedBiking").asBoolean(false); createFlexTransfers = config.path("createFlexTransfers").asBoolean(false); + fromPlaceOutOfAreaMessage = config.path("fromPlaceOutOfAreaMessage").asText("From place out of area."); + toPlaceOutOfAreaMessage = config.path("toPlaceOutOfAreaMessage").asText("To place out of area"); } } From a109081407d92de15e4581169a4f65a84da61af0 Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Wed, 22 Nov 2017 12:11:48 -0500 Subject: [PATCH 141/226] Add 'tripDiscoveryMode': look out two weeks in future or past --- .../api/common/RoutingResource.java | 7 +++++ .../routing/core/RoutingContext.java | 8 ++++++ .../routing/core/RoutingRequest.java | 12 +++++++-- .../routing/impl/DurationComparator.java | 27 +++++++++++++++++++ .../routing/impl/GraphPathFinder.java | 6 ++++- 5 files changed, 57 insertions(+), 3 deletions(-) create mode 100644 src/main/java/org/opentripplanner/routing/impl/DurationComparator.java diff --git a/src/main/java/org/opentripplanner/api/common/RoutingResource.java b/src/main/java/org/opentripplanner/api/common/RoutingResource.java index db3887c0dbf..d6ca5e132fc 100644 --- a/src/main/java/org/opentripplanner/api/common/RoutingResource.java +++ b/src/main/java/org/opentripplanner/api/common/RoutingResource.java @@ -396,6 +396,10 @@ public abstract class RoutingResource { @QueryParam("geoidElevation") private Boolean geoidElevation; + /* If trip discovery mode (look out a week) should be used */ + @QueryParam("tripDiscoveryMode") + private Boolean tripDiscoveryMode; + /* * somewhat ugly bug fix: the graphService is only needed here for fetching per-graph time zones. * this should ideally be done when setting the routing context, but at present departure/ @@ -646,6 +650,9 @@ protected RoutingRequest buildRequest() throws ParameterException { if (geoidElevation != null) request.geoidElevation = geoidElevation; + if (tripDiscoveryMode != null) + request.setTripDiscoveryMode(tripDiscoveryMode); + //getLocale function returns defaultLocale if locale is null request.locale = ResourceBundleSingleton.INSTANCE.getLocale(locale); return request; diff --git a/src/main/java/org/opentripplanner/routing/core/RoutingContext.java b/src/main/java/org/opentripplanner/routing/core/RoutingContext.java index 12e3e13cd6d..afeb838a160 100644 --- a/src/main/java/org/opentripplanner/routing/core/RoutingContext.java +++ b/src/main/java/org/opentripplanner/routing/core/RoutingContext.java @@ -380,7 +380,15 @@ private void setServiceDays() { addIfNotExists(this.serviceDays, new ServiceDay(graph, serviceDate, calendarService, agency.getId())); addIfNotExists(this.serviceDays, new ServiceDay(graph, serviceDate.next(), calendarService, agency.getId())); + if (opt.tripDiscoveryMode) { + ServiceDate sd = serviceDate; + for (int i = 0; i < 15; i++) { + sd = opt.arriveBy ? sd.previous() : sd.next(); + addIfNotExists(this.serviceDays, new ServiceDay(graph, sd, calendarService, agency.getId())); + } + } } + } } diff --git a/src/main/java/org/opentripplanner/routing/core/RoutingRequest.java b/src/main/java/org/opentripplanner/routing/core/RoutingRequest.java index 199d2e6ce99..1571b30585f 100644 --- a/src/main/java/org/opentripplanner/routing/core/RoutingRequest.java +++ b/src/main/java/org/opentripplanner/routing/core/RoutingRequest.java @@ -486,6 +486,9 @@ public class RoutingRequest implements Cloneable, Serializable { public boolean enterStationsWithCar = false; + /** whether to use trip discovery mode - search farther in future or past for shortest trip */ + public boolean tripDiscoveryMode = false; + /** Saves split edge which can be split on origin/destination search * * This is used so that TrivialPathException is thrown if origin and destination search would split the same edge @@ -1007,7 +1010,8 @@ public boolean equals(Object o) { && Objects.equal(startingTransitTripId, other.startingTransitTripId) && useTraffic == other.useTraffic && disableAlertFiltering == other.disableAlertFiltering - && geoidElevation == other.geoidElevation; + && geoidElevation == other.geoidElevation + && tripDiscoveryMode == other.tripDiscoveryMode; } /** @@ -1038,7 +1042,8 @@ public int hashCode() { + new Boolean(reverseOptimizeOnTheFly).hashCode() * 95112799 + new Boolean(ignoreRealtimeUpdates).hashCode() * 154329 + new Boolean(disableRemainingWeightHeuristic).hashCode() * 193939 - + new Boolean(useTraffic).hashCode() * 10169; + + new Boolean(useTraffic).hashCode() * 10169 + + new Boolean(tripDiscoveryMode).hashCode() * 209477; if (batch) { hashCode *= -1; // batch mode, only one of two endpoints matters @@ -1280,4 +1285,7 @@ public void canSplitEdge(StreetEdge edge) { } + public void setTripDiscoveryMode(boolean tripDiscoveryMode) { + this.tripDiscoveryMode = tripDiscoveryMode; + } } diff --git a/src/main/java/org/opentripplanner/routing/impl/DurationComparator.java b/src/main/java/org/opentripplanner/routing/impl/DurationComparator.java new file mode 100644 index 00000000000..fc1b79a77f6 --- /dev/null +++ b/src/main/java/org/opentripplanner/routing/impl/DurationComparator.java @@ -0,0 +1,27 @@ +/* This program is free software: you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public License + as published by the Free Software Foundation, either version 3 of + the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +package org.opentripplanner.routing.impl; + +import org.opentripplanner.routing.spt.GraphPath; + +import java.util.Comparator; + +public class DurationComparator implements Comparator { + + @Override + public int compare(GraphPath o1, GraphPath o2) { + return o1.getDuration() - o2.getDuration(); + } + +} diff --git a/src/main/java/org/opentripplanner/routing/impl/GraphPathFinder.java b/src/main/java/org/opentripplanner/routing/impl/GraphPathFinder.java index 2e95c6629db..e8503b7d76d 100644 --- a/src/main/java/org/opentripplanner/routing/impl/GraphPathFinder.java +++ b/src/main/java/org/opentripplanner/routing/impl/GraphPathFinder.java @@ -208,7 +208,11 @@ public List getPaths(RoutingRequest options) { LOG.debug("we have {} paths", paths.size()); } LOG.debug("END SEARCH ({} msec)", System.currentTimeMillis() - searchBeginTime); - Collections.sort(paths, new PathComparator(options.arriveBy)); + if (options.tripDiscoveryMode) { + paths.sort(new DurationComparator()); + } else { + paths.sort(new PathComparator(options.arriveBy)); + } return paths; } From e7fa912982c5e67b7a04117bb423101b2411709e Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Sun, 26 Nov 2017 23:15:48 -0500 Subject: [PATCH 142/226] VGF-64 use drt_advanced_book_max in routing --- .../api/common/RoutingResource.java | 10 +++++++ .../routing/core/RoutingRequest.java | 17 +++++++++-- .../routing/edgetype/Timetable.java | 21 +++++++++++--- .../routing/edgetype/TransitBoardAlight.java | 20 +++++-------- .../edgetype/flex/FlexTransitBoardAlight.java | 18 +++++++----- .../routing/trippattern/TripTimes.java | 29 ++++++++++++++++--- 6 files changed, 85 insertions(+), 30 deletions(-) diff --git a/src/main/java/org/opentripplanner/api/common/RoutingResource.java b/src/main/java/org/opentripplanner/api/common/RoutingResource.java index d6ca5e132fc..5cc91860dcc 100644 --- a/src/main/java/org/opentripplanner/api/common/RoutingResource.java +++ b/src/main/java/org/opentripplanner/api/common/RoutingResource.java @@ -383,6 +383,11 @@ public abstract class RoutingResource { @QueryParam("useEligibilityServices") protected Boolean useEligibilityServices = true; + /** + * Whether to ignore DRT time limits + */ + @QueryParam("ignoreDrtAdvanceBookMin") + protected Boolean ignoreDrtAdvanceBookMin; @QueryParam("maxHours") private Double maxHours; @@ -450,6 +455,8 @@ protected RoutingRequest buildRequest() throws ParameterException { } else { request.setDateTime(date, time, tz); } + + request.resetClockTime(); } if (wheelchair != null) @@ -641,6 +648,9 @@ protected RoutingRequest buildRequest() throws ParameterException { if (useEligibilityServices != null) request.useEligibilityServices = useEligibilityServices; + if (ignoreDrtAdvanceBookMin != null) + request.ignoreDrtAdvanceBookMin = ignoreDrtAdvanceBookMin; + if (maxHours != null) request.maxHours = maxHours; diff --git a/src/main/java/org/opentripplanner/routing/core/RoutingRequest.java b/src/main/java/org/opentripplanner/routing/core/RoutingRequest.java index 1571b30585f..99d0067963b 100644 --- a/src/main/java/org/opentripplanner/routing/core/RoutingRequest.java +++ b/src/main/java/org/opentripplanner/routing/core/RoutingRequest.java @@ -424,6 +424,11 @@ public class RoutingRequest implements Cloneable, Serializable { */ public boolean useEligibilityServices = true; + /** + * Whether to ignore DRT time limits + */ + public boolean ignoreDrtAdvanceBookMin = false; + /** * The routing context used to actually carry out this search. It is important to build States from TraverseOptions * rather than RoutingContexts,and just keep a reference to the context in the TraverseOptions, rather than using @@ -495,6 +500,8 @@ public class RoutingRequest implements Cloneable, Serializable { */ private StreetEdge splitEdge = null; + public long clockTimeSec; + /* CONSTRUCTORS */ /** Constructor for options; modes defaults to walk and transit */ @@ -1011,7 +1018,8 @@ public boolean equals(Object o) { && useTraffic == other.useTraffic && disableAlertFiltering == other.disableAlertFiltering && geoidElevation == other.geoidElevation - && tripDiscoveryMode == other.tripDiscoveryMode; + && tripDiscoveryMode == other.tripDiscoveryMode + && ignoreDrtAdvanceBookMin == other.ignoreDrtAdvanceBookMin; } /** @@ -1043,7 +1051,8 @@ public int hashCode() { + new Boolean(ignoreRealtimeUpdates).hashCode() * 154329 + new Boolean(disableRemainingWeightHeuristic).hashCode() * 193939 + new Boolean(useTraffic).hashCode() * 10169 - + new Boolean(tripDiscoveryMode).hashCode() * 209477; + + new Boolean(tripDiscoveryMode).hashCode() * 209477 + + Boolean.hashCode(ignoreDrtAdvanceBookMin) * 1371; if (batch) { hashCode *= -1; // batch mode, only one of two endpoints matters @@ -1288,4 +1297,8 @@ public void canSplitEdge(StreetEdge edge) { public void setTripDiscoveryMode(boolean tripDiscoveryMode) { this.tripDiscoveryMode = tripDiscoveryMode; } + + public void resetClockTime() { + this.clockTimeSec = System.currentTimeMillis() / 1000; + } } diff --git a/src/main/java/org/opentripplanner/routing/edgetype/Timetable.java b/src/main/java/org/opentripplanner/routing/edgetype/Timetable.java index 2d364cefb36..c2dbd2d39c6 100644 --- a/src/main/java/org/opentripplanner/routing/edgetype/Timetable.java +++ b/src/main/java/org/opentripplanner/routing/edgetype/Timetable.java @@ -244,6 +244,8 @@ public TripTimes getNextCallNRideTrip(State s0, ServiceDay serviceDay, int stopI TripTimes bestTrip = null; Stop currentStop = pattern.getStop(stopIndex); int bestTime = boarding ? Integer.MAX_VALUE : Integer.MIN_VALUE; + boolean useClockTime = !s0.getOptions().ignoreDrtAdvanceBookMin; + long clockTime = s0.getOptions().clockTimeSec; for (TripTimes tt : tripTimes) { if (tt.isCanceled()) continue; if ( ! serviceDay.serviceRunning(tt.serviceCode)) continue; // TODO merge into call on next line @@ -251,15 +253,15 @@ public TripTimes getNextCallNRideTrip(State s0, ServiceDay serviceDay, int stopI int adjustedTime = adjustTimeForTransfer(s0, currentStop, tt.trip, boarding, serviceDay, time); if (adjustedTime == -1) continue; if (boarding) { - int depTime = tt.getCallAndRideBoardTime(stopIndex, adjustedTime); - if (depTime >= adjustedTime && depTime < bestTime) { + int depTime = tt.getCallAndRideBoardTime(stopIndex, adjustedTime, serviceDay, useClockTime, clockTime); + if (depTime >= adjustedTime && depTime < bestTime && inBounds(depTime)) { bestTrip = tt; bestTime = depTime; } } else { - int arvTime = tt.getCallAndRideAlightTime(stopIndex, adjustedTime, directTime); + int arvTime = tt.getCallAndRideAlightTime(stopIndex, adjustedTime, directTime, serviceDay, useClockTime, clockTime); if (arvTime < 0) continue; - if (arvTime <= adjustedTime && arvTime > bestTime) { + if (arvTime <= adjustedTime && arvTime > bestTime && inBounds(arvTime)) { bestTrip = tt; bestTime = arvTime; } @@ -269,6 +271,9 @@ public TripTimes getNextCallNRideTrip(State s0, ServiceDay serviceDay, int stopI return bestTrip; } + private boolean inBounds(int time) { + return time >= minTime && time <= maxTime; + } /** * Check transfer table rules. Given the last alight time from the State, @@ -627,4 +632,12 @@ public void setServiceCodes (Map serviceCodes) { } } + public int getMaxTime() { + return maxTime; + } + + public int getMinTime() { + return minTime; + } + } diff --git a/src/main/java/org/opentripplanner/routing/edgetype/TransitBoardAlight.java b/src/main/java/org/opentripplanner/routing/edgetype/TransitBoardAlight.java index 838fee6e658..aee2d3fe64d 100644 --- a/src/main/java/org/opentripplanner/routing/edgetype/TransitBoardAlight.java +++ b/src/main/java/org/opentripplanner/routing/edgetype/TransitBoardAlight.java @@ -36,7 +36,6 @@ the License, or (at your option) any later version. import com.vividsolutions.jts.geom.LineString; - /** * Models boarding or alighting a vehicle - that is to say, traveling from a state off * vehicle to a state on vehicle. When traversed forward on a boarding or backwards on an @@ -268,7 +267,12 @@ public State traverse(State s0, long arrivalTimeAtStop) { TripTimes bestTripTimes = null; ServiceDay bestServiceDay = null; for (ServiceDay sd : rctx.serviceDays) { - TripTimes tripTimes = getNextTrip(s0, sd); + /* Find the proper timetable (updated or original) if there is a realtime snapshot. */ + Timetable timetable = getPattern().getUpdatedTimetable(options, sd); + /* Skip this day/timetable if no trip in it could possibly be useful. */ + if ( ! timetable.temporallyViable(sd, s0.getTimeSeconds(), bestWait, boarding)) + continue; + TripTimes tripTimes = getNextTrip(s0, sd, timetable); if (tripTimes != null) { /* Wait is relative to departures on board and arrivals on alight. */ int wait = calculateWait(s0, sd, tripTimes); @@ -363,16 +367,8 @@ public long getExtraWeight(RoutingRequest options) { return 0; } - public TripTimes getNextTrip(State s0, ServiceDay sd) { - RoutingRequest options = s0.getOptions(); - Timetable timetable = getPattern().getUpdatedTimetable(options, sd); - /* Skip this day/timetable if no trip in it could possibly be useful. */ - // TODO disabled until frequency representation is stable, and min/max timetable times are set from frequencies - // However, experiments seem to show very little measurable improvement here (due to cache locality?) - // if ( ! timetable.temporallyViable(sd, s0.getTimeSeconds(), bestWait, boarding)) continue; - /* Find the next or prev departure depending on final boolean parameter. */ - TripTimes tripTimes = timetable.getNextTrip(s0, sd, stopIndex, boarding); - return tripTimes; + public TripTimes getNextTrip(State s0, ServiceDay sd, Timetable timetable) { + return timetable.getNextTrip(s0, sd, stopIndex, boarding); } public int calculateWait(State s0, ServiceDay sd, TripTimes tripTimes) { diff --git a/src/main/java/org/opentripplanner/routing/edgetype/flex/FlexTransitBoardAlight.java b/src/main/java/org/opentripplanner/routing/edgetype/flex/FlexTransitBoardAlight.java index 4a8198a9a02..b6e62cdd992 100644 --- a/src/main/java/org/opentripplanner/routing/edgetype/flex/FlexTransitBoardAlight.java +++ b/src/main/java/org/opentripplanner/routing/edgetype/flex/FlexTransitBoardAlight.java @@ -72,29 +72,31 @@ public State traverse(State s0) { } @Override - public TripTimes getNextTrip(State s0, ServiceDay sd) { + public TripTimes getNextTrip(State s0, ServiceDay sd, Timetable timetable) { if (hop.isUnscheduled()) { RoutingRequest options = s0.getOptions(); - Timetable timetable = getPattern().getUpdatedTimetable(options, sd); int time = (int) Math.round(hop.timeLowerBound(options)); return timetable.getNextCallNRideTrip(s0, sd, getStopIndex(), boarding, time); } double adjustment = boarding ? startIndex : -1 * (1 - endIndex); - RoutingRequest options = s0.getOptions(); - Timetable timetable = getPattern().getUpdatedTimetable(options, sd); - TripTimes tripTimes = timetable.getNextTrip(s0, sd, getStopIndex(), boarding, adjustment, hop.getStartVehicleTime(), hop.getEndVehicleTime()); - return tripTimes; + return timetable.getNextTrip(s0, sd, getStopIndex(), boarding, adjustment, hop.getStartVehicleTime(), hop.getEndVehicleTime()); } @Override public int calculateWait(State s0, ServiceDay sd, TripTimes tripTimes) { if (hop.isUnscheduled()) { int currTime = sd.secondsSinceMidnight(s0.getTimeSeconds()); + boolean useClockTime = !s0.getOptions().ignoreDrtAdvanceBookMin; + long clockTime = s0.getOptions().clockTimeSec; if (boarding) { - int scheduledTime = tripTimes.getCallAndRideBoardTime(getStopIndex(), currTime); + int scheduledTime = tripTimes.getCallAndRideBoardTime(getStopIndex(), currTime, sd, useClockTime, clockTime); + if (scheduledTime < 0) + throw new IllegalArgumentException("Unexpected bad wait time"); return (int) (sd.time(scheduledTime) - s0.getTimeSeconds()); } else { - int scheduledTime = tripTimes.getCallAndRideAlightTime(getStopIndex(), currTime, (int) hop.timeLowerBound(s0.getOptions())); + int scheduledTime = tripTimes.getCallAndRideAlightTime(getStopIndex(), currTime, (int) hop.timeLowerBound(s0.getOptions()), sd, useClockTime, clockTime); + if (scheduledTime < 0) + throw new IllegalArgumentException("Unexpected bad wait time"); return (int) (s0.getTimeSeconds() - (sd.time(scheduledTime))); } } diff --git a/src/main/java/org/opentripplanner/routing/trippattern/TripTimes.java b/src/main/java/org/opentripplanner/routing/trippattern/TripTimes.java index 75936b45efb..bf89754eb97 100644 --- a/src/main/java/org/opentripplanner/routing/trippattern/TripTimes.java +++ b/src/main/java/org/opentripplanner/routing/trippattern/TripTimes.java @@ -18,12 +18,12 @@ the License, or (at your option) any later version. import java.util.BitSet; import java.util.List; -import com.vividsolutions.jts.geom.Polygon; import org.onebusaway.gtfs.model.StopTime; import org.onebusaway.gtfs.model.Trip; import org.opentripplanner.common.MavenVersion; import org.opentripplanner.gtfs.BikeAccess; import org.opentripplanner.routing.core.RoutingRequest; +import org.opentripplanner.routing.core.ServiceDay; import org.opentripplanner.routing.core.State; import org.opentripplanner.routing.core.TraverseMode; import org.opentripplanner.routing.request.BannedStopSet; @@ -325,14 +325,35 @@ public int getDepartureDelay(final int stop) { return getDepartureTime(stop) - (scheduledDepartureTimes[stop] + timeShift); } - public int getCallAndRideBoardTime(int stop, long currTime) { - return (int) Math.min(Math.max(currTime, getDepartureTime(stop)), getArrivalTime(stop + 1)); + public int getCallAndRideBoardTime(int stop, long currTime, ServiceDay sd, boolean useClockTime, long startClockTime) { + int ret = (int) Math.min(Math.max(currTime, getDepartureTime(stop)), getArrivalTime(stop + 1)); + if (useClockTime) { + int clockTime = sd.secondsSinceMidnight(startClockTime) + (trip.getDrtAdvanceBookMin() * 60); + if (ret >= clockTime) { + return ret; + } else if (clockTime < getArrivalTime(stop + 1)) { + return clockTime; + } else { + return -1; + } + } + return ret; } - public int getCallAndRideAlightTime(int stop, long currTime, int directTime) { + public int getCallAndRideAlightTime(int stop, long currTime, int directTime, ServiceDay sd, boolean useClockTime, long startClockTime) { int travelTime = getDemandResponseMaxTime(directTime); currTime -= travelTime; int startOfService = (int) Math.min(Math.max(currTime, getDepartureTime(stop - 1)), getArrivalTime(stop)); + if (useClockTime) { + int clockTime = sd.secondsSinceMidnight(startClockTime) + (trip.getDrtAdvanceBookMin() * 60); + if (startOfService >= clockTime) { + // do nothing + } else if (clockTime < getArrivalTime(stop)) { + startOfService = clockTime; + } else { + return -1; + } + } return startOfService + travelTime; } From 157ca1a63adf08f22b2950affd4d547dd21b6c9e Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Wed, 29 Nov 2017 10:53:50 -0500 Subject: [PATCH 143/226] fix test --- .../java/org/opentripplanner/routing/edgetype/Timetable.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/main/java/org/opentripplanner/routing/edgetype/Timetable.java b/src/main/java/org/opentripplanner/routing/edgetype/Timetable.java index c2dbd2d39c6..dff173e8f98 100644 --- a/src/main/java/org/opentripplanner/routing/edgetype/Timetable.java +++ b/src/main/java/org/opentripplanner/routing/edgetype/Timetable.java @@ -115,6 +115,8 @@ public Timetable(TripPattern pattern) { * @param bestWait -1 means there is not yet any best known time. */ public boolean temporallyViable(ServiceDay sd, long searchTime, int bestWait, boolean boarding) { + if (this.pattern.services == null) + return true; // Check whether any services are running at all on this pattern. if ( ! sd.anyServiceRunning(this.pattern.services)) return false; // Make the search time relative to the given service day. From 54168add82187fcd6b2e76d14278d6352775088c Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Wed, 29 Nov 2017 15:47:59 -0500 Subject: [PATCH 144/226] version bump --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index ccad136c39d..e7da54ddcdc 100644 --- a/pom.xml +++ b/pom.xml @@ -650,7 +650,7 @@ org.onebusaway onebusaway-gtfs - 1.3.5.7-vt-SNAPSHOT + 1.3.5.7-vt From bc118576304de08dbc34d816f3fc283af0cd58f2 Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Wed, 29 Nov 2017 15:51:36 -0500 Subject: [PATCH 145/226] [maven-release-plugin] prepare release otp-1.2.0.9 --- pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index e7da54ddcdc..88b63f8052f 100644 --- a/pom.xml +++ b/pom.xml @@ -8,7 +8,7 @@ org.opentripplanner otp - 1.2.0.9-SNAPSHOT + 1.2.0.9 jar @@ -75,7 +75,7 @@ scm:git:http://github.com/camsys/OpenTripPlanner.git scm:git:ssh://git@github.com/camsys/OpenTripPlanner.git http://github.com/camsys/OpenTripPlanner - HEAD + otp-1.2.0.9 From f5a241347cf15b10e307a9d3dd67f970d8e65c44 Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Wed, 29 Nov 2017 15:51:41 -0500 Subject: [PATCH 146/226] [maven-release-plugin] prepare for next development iteration --- pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index 88b63f8052f..23a8e4e21d9 100644 --- a/pom.xml +++ b/pom.xml @@ -8,7 +8,7 @@ org.opentripplanner otp - 1.2.0.9 + 1.2.0.10-SNAPSHOT jar @@ -75,7 +75,7 @@ scm:git:http://github.com/camsys/OpenTripPlanner.git scm:git:ssh://git@github.com/camsys/OpenTripPlanner.git http://github.com/camsys/OpenTripPlanner - otp-1.2.0.9 + HEAD From a9b460b418326598e5a8915e232a41b60d193a76 Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Tue, 12 Dec 2017 16:51:45 -0500 Subject: [PATCH 147/226] Add continuous pickup and dropoff messages to api response --- pom.xml | 2 +- src/main/java/org/opentripplanner/api/model/Leg.java | 9 +++++++++ .../api/resource/GraphPathToTripPlanConverter.java | 2 ++ 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 23a8e4e21d9..e483fc5e1b7 100644 --- a/pom.xml +++ b/pom.xml @@ -650,7 +650,7 @@ org.onebusaway onebusaway-gtfs - 1.3.5.7-vt + 1.3.5.8-vt-SNAPSHOT diff --git a/src/main/java/org/opentripplanner/api/model/Leg.java b/src/main/java/org/opentripplanner/api/model/Leg.java index 96e3dacca01..4327cfdf376 100644 --- a/src/main/java/org/opentripplanner/api/model/Leg.java +++ b/src/main/java/org/opentripplanner/api/model/Leg.java @@ -287,6 +287,15 @@ public class Leg { @JsonSerialize public String drtDropOffMessage; + + @XmlAttribute + @JsonSerialize + public String continuousPickupMessage; + + @XmlAttribute + @JsonSerialize + public String continuousDropOffMessage; + /** * Whether this leg is a transit leg or not. * @return Boolean true if the leg is a transit leg diff --git a/src/main/java/org/opentripplanner/api/resource/GraphPathToTripPlanConverter.java b/src/main/java/org/opentripplanner/api/resource/GraphPathToTripPlanConverter.java index 7e6fe79b679..3ef55ebd5ea 100644 --- a/src/main/java/org/opentripplanner/api/resource/GraphPathToTripPlanConverter.java +++ b/src/main/java/org/opentripplanner/api/resource/GraphPathToTripPlanConverter.java @@ -615,6 +615,8 @@ private static void addTripFields(Leg leg, State[] states, Locale requestedLocal leg.drtAdvanceBookMin = trip.getDrtAdvanceBookMin(); leg.drtPickupMessage = trip.getDrtPickupMessage(); leg.drtDropOffMessage = trip.getDrtDropOffMessage(); + leg.continuousPickupMessage = trip.getContinuousPickupMessage(); + leg.continuousDropOffMessage = trip.getContinuousDropOffMessage(); if (serviceDay != null) { leg.serviceDate = serviceDay.getServiceDate().getAsString(); From c06ee7454ec497e93b040097354a06c76d4c8251 Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Mon, 18 Dec 2017 16:28:39 -0500 Subject: [PATCH 148/226] change to out-of-area message --- .../graph_builder/GraphBuilder.java | 3 +-- .../graph_builder/module/OutOfAreaModule.java | 10 ++++------ .../services/notes/OutOfAreaNotesService.java | 19 +++++-------------- .../standalone/GraphBuilderParameters.java | 11 +++-------- 4 files changed, 13 insertions(+), 30 deletions(-) diff --git a/src/main/java/org/opentripplanner/graph_builder/GraphBuilder.java b/src/main/java/org/opentripplanner/graph_builder/GraphBuilder.java index a2aa37053d7..3c25fb35888 100644 --- a/src/main/java/org/opentripplanner/graph_builder/GraphBuilder.java +++ b/src/main/java/org/opentripplanner/graph_builder/GraphBuilder.java @@ -327,8 +327,7 @@ public static GraphBuilder forDirectory(CommandLineParameters params, File dir) graphBuilder.addModule(new AnnotationsToHTML(params.build, builderParams.maxHtmlAnnotationsPerFile)); } if (boundaryFile != null) { - graphBuilder.addModule(new OutOfAreaModule(boundaryFile, builderParams.fromPlaceOutOfAreaMessage, - builderParams.toPlaceOutOfAreaMessage)); + graphBuilder.addModule(new OutOfAreaModule(boundaryFile, builderParams.outOfAreaMessage)); } graphBuilder.serializeGraph = ( ! params.inMemory ) || params.preFlight; return graphBuilder; diff --git a/src/main/java/org/opentripplanner/graph_builder/module/OutOfAreaModule.java b/src/main/java/org/opentripplanner/graph_builder/module/OutOfAreaModule.java index d278f9e235e..6b7d9c1d50f 100644 --- a/src/main/java/org/opentripplanner/graph_builder/module/OutOfAreaModule.java +++ b/src/main/java/org/opentripplanner/graph_builder/module/OutOfAreaModule.java @@ -27,12 +27,11 @@ public class OutOfAreaModule implements GraphBuilderModule { private File geojsonFile; - private String startMessage, endMessage; + private String outOfAreaMessage; - public OutOfAreaModule(File geojsonFile, String startMessage, String endMessage) { + public OutOfAreaModule(File geojsonFile, String outOfAreaMessage) { this.geojsonFile = geojsonFile; - this.startMessage = startMessage; - this.endMessage = endMessage; + this.outOfAreaMessage = outOfAreaMessage; } @Override @@ -47,8 +46,7 @@ public void buildGraph(Graph graph, HashMap, Object> extra) { } OutOfAreaNotesService svc = new OutOfAreaNotesService(); svc.setArea(area); - svc.setStartLocationMessage(startMessage); - svc.setEndLocationMessage(endMessage); + svc.setOutOfAreaMessage(outOfAreaMessage); graph.outOfAreaNotesService = svc; } diff --git a/src/main/java/org/opentripplanner/routing/services/notes/OutOfAreaNotesService.java b/src/main/java/org/opentripplanner/routing/services/notes/OutOfAreaNotesService.java index 91ed8c7f4eb..2a88a0efdd9 100644 --- a/src/main/java/org/opentripplanner/routing/services/notes/OutOfAreaNotesService.java +++ b/src/main/java/org/opentripplanner/routing/services/notes/OutOfAreaNotesService.java @@ -28,31 +28,22 @@ public class OutOfAreaNotesService implements Serializable { private Geometry area; - private String startLocationMessage; - - private String endLocationMessage; + private String outOfAreaMessage; public void setArea(Geometry area) { this.area = area; } - public void setStartLocationMessage(String startLocationMessage) { - this.startLocationMessage = startLocationMessage; - } - - public void setEndLocationMessage(String endLocationMessage) { - this.endLocationMessage = endLocationMessage; + public void setOutOfAreaMessage(String outOfAreaMessage) { + this.outOfAreaMessage = outOfAreaMessage; } public Collection getAlerts(RoutingRequest request) { Point fromPoint = GeometryUtils.getGeometryFactory().createPoint(request.rctx.fromVertex.getCoordinate()); Point toPoint = GeometryUtils.getGeometryFactory().createPoint(request.rctx.toVertex.getCoordinate()); Collection alerts = new ArrayList<>(); - if (!area.contains(fromPoint)) { - alerts.add(Alert.createSimpleAlerts(startLocationMessage)); - } - if (!area.contains(toPoint)) { - alerts.add(Alert.createSimpleAlerts(endLocationMessage)); + if (!area.contains(fromPoint) || !area.contains(toPoint)) { + alerts.add(Alert.createSimpleAlerts(outOfAreaMessage)); } return alerts; } diff --git a/src/main/java/org/opentripplanner/standalone/GraphBuilderParameters.java b/src/main/java/org/opentripplanner/standalone/GraphBuilderParameters.java index 5f6a572ec7b..439e700c134 100644 --- a/src/main/java/org/opentripplanner/standalone/GraphBuilderParameters.java +++ b/src/main/java/org/opentripplanner/standalone/GraphBuilderParameters.java @@ -149,14 +149,10 @@ public class GraphBuilderParameters { public final boolean createFlexTransfers; /** - * Message for from-place out of area + * Message for out of area */ - public final String fromPlaceOutOfAreaMessage; + public final String outOfAreaMessage; - /** - * Message for from-place out of area - */ - public final String toPlaceOutOfAreaMessage; /** * Set all parameters from the given Jackson JSON tree, applying defaults. @@ -191,8 +187,7 @@ public GraphBuilderParameters(JsonNode config) { banDiscouragedWalking = config.path("banDiscouragedWalking").asBoolean(false); banDiscouragedBiking = config.path("banDiscouragedBiking").asBoolean(false); createFlexTransfers = config.path("createFlexTransfers").asBoolean(false); - fromPlaceOutOfAreaMessage = config.path("fromPlaceOutOfAreaMessage").asText("From place out of area."); - toPlaceOutOfAreaMessage = config.path("toPlaceOutOfAreaMessage").asText("To place out of area"); + outOfAreaMessage = config.path("outOfAreaMessage").asText("One or more endpoints is out of area."); } } From c4d01fc6513b7bff46c1755cf7f3ef728ad8e5de Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Mon, 18 Dec 2017 17:49:48 -0500 Subject: [PATCH 149/226] bump gtfs --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index e483fc5e1b7..656e9b8644b 100644 --- a/pom.xml +++ b/pom.xml @@ -650,7 +650,7 @@ org.onebusaway onebusaway-gtfs - 1.3.5.8-vt-SNAPSHOT + 1.3.5.8-vt From 7225b7473706a3b2a2589aa7c4a9fb94a6f41327 Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Mon, 18 Dec 2017 17:53:40 -0500 Subject: [PATCH 150/226] [maven-release-plugin] prepare release otp-1.2.0.10 --- pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index 656e9b8644b..177014899ed 100644 --- a/pom.xml +++ b/pom.xml @@ -8,7 +8,7 @@ org.opentripplanner otp - 1.2.0.10-SNAPSHOT + 1.2.0.10 jar @@ -75,7 +75,7 @@ scm:git:http://github.com/camsys/OpenTripPlanner.git scm:git:ssh://git@github.com/camsys/OpenTripPlanner.git http://github.com/camsys/OpenTripPlanner - HEAD + otp-1.2.0.10 From 238d4ba3afc0587062b6343f3b00a8f0743687a4 Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Mon, 18 Dec 2017 17:53:45 -0500 Subject: [PATCH 151/226] [maven-release-plugin] prepare for next development iteration --- pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index 177014899ed..481a9201bed 100644 --- a/pom.xml +++ b/pom.xml @@ -8,7 +8,7 @@ org.opentripplanner otp - 1.2.0.10 + 1.2.0.11-SNAPSHOT jar @@ -75,7 +75,7 @@ scm:git:http://github.com/camsys/OpenTripPlanner.git scm:git:ssh://git@github.com/camsys/OpenTripPlanner.git http://github.com/camsys/OpenTripPlanner - otp-1.2.0.10 + HEAD From 049e20d512469bba173b50beb63a9178624e55ed Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Tue, 9 Jan 2018 10:09:36 -0500 Subject: [PATCH 152/226] tripDiscoveryMode - look out a month --- .../java/org/opentripplanner/routing/core/RoutingContext.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/org/opentripplanner/routing/core/RoutingContext.java b/src/main/java/org/opentripplanner/routing/core/RoutingContext.java index afeb838a160..df1a014f845 100644 --- a/src/main/java/org/opentripplanner/routing/core/RoutingContext.java +++ b/src/main/java/org/opentripplanner/routing/core/RoutingContext.java @@ -382,7 +382,7 @@ private void setServiceDays() { calendarService, agency.getId())); if (opt.tripDiscoveryMode) { ServiceDate sd = serviceDate; - for (int i = 0; i < 15; i++) { + for (int i = 0; i < 31; i++) { sd = opt.arriveBy ? sd.previous() : sd.next(); addIfNotExists(this.serviceDays, new ServiceDay(graph, sd, calendarService, agency.getId())); } From dea212bf195e53dce7f64d630727e5503f13db98 Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Tue, 6 Feb 2018 11:20:37 -0800 Subject: [PATCH 153/226] VGF-146 actual exclude walk parameter --- pom.xml | 2 +- .../java/org/opentripplanner/api/common/RoutingResource.java | 5 ++++- .../strategies/InterleavedBidirectionalHeuristic.java | 1 + .../org/opentripplanner/routing/core/RoutingRequest.java | 3 +++ .../org/opentripplanner/routing/edgetype/StreetEdge.java | 3 +++ .../opentripplanner/routing/flex/GtfsFlexGraphModifier.java | 2 ++ 6 files changed, 14 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index 481a9201bed..19a4b595757 100644 --- a/pom.xml +++ b/pom.xml @@ -650,7 +650,7 @@ org.onebusaway onebusaway-gtfs - 1.3.5.8-vt + 1.3.5.9-vt-SNAPSHOT diff --git a/src/main/java/org/opentripplanner/api/common/RoutingResource.java b/src/main/java/org/opentripplanner/api/common/RoutingResource.java index 5cc91860dcc..8c3ac1d5927 100644 --- a/src/main/java/org/opentripplanner/api/common/RoutingResource.java +++ b/src/main/java/org/opentripplanner/api/common/RoutingResource.java @@ -469,7 +469,10 @@ protected RoutingRequest buildRequest() throws ParameterException { request.setMaxWalkDistance(maxWalkDistance); request.maxTransferWalkDistance = maxWalkDistance; if (request.maxWalkDistanceHeuristic == Double.MAX_VALUE) { - request.maxWalkDistanceHeuristic = maxWalkDistance; + request.maxWalkDistanceHeuristic = Math.max(maxWalkDistance, 1608); + } + if (maxWalkDistance == 0.0) { + request.excludeWalking = true; } } diff --git a/src/main/java/org/opentripplanner/routing/algorithm/strategies/InterleavedBidirectionalHeuristic.java b/src/main/java/org/opentripplanner/routing/algorithm/strategies/InterleavedBidirectionalHeuristic.java index 84bfb568883..78f74bcea4f 100644 --- a/src/main/java/org/opentripplanner/routing/algorithm/strategies/InterleavedBidirectionalHeuristic.java +++ b/src/main/java/org/opentripplanner/routing/algorithm/strategies/InterleavedBidirectionalHeuristic.java @@ -121,6 +121,7 @@ public void initialize(RoutingRequest request, long abortTime) { long start = System.currentTimeMillis(); this.target = target; this.routingRequest = request.clone(); + routingRequest.excludeWalking = false; routingRequest.softWalkLimiting = false; routingRequest.softPreTransitLimiting = false; routingRequest.maxWalkDistance = request.maxWalkDistanceHeuristic; diff --git a/src/main/java/org/opentripplanner/routing/core/RoutingRequest.java b/src/main/java/org/opentripplanner/routing/core/RoutingRequest.java index 99d0067963b..9775a981487 100644 --- a/src/main/java/org/opentripplanner/routing/core/RoutingRequest.java +++ b/src/main/java/org/opentripplanner/routing/core/RoutingRequest.java @@ -494,6 +494,9 @@ public class RoutingRequest implements Cloneable, Serializable { /** whether to use trip discovery mode - search farther in future or past for shortest trip */ public boolean tripDiscoveryMode = false; + /** Totally exclude walking from trip plan results */ + public boolean excludeWalking = false; + /** Saves split edge which can be split on origin/destination search * * This is used so that TrivialPathException is thrown if origin and destination search would split the same edge diff --git a/src/main/java/org/opentripplanner/routing/edgetype/StreetEdge.java b/src/main/java/org/opentripplanner/routing/edgetype/StreetEdge.java index 5acc13aa952..53facc6fe08 100644 --- a/src/main/java/org/opentripplanner/routing/edgetype/StreetEdge.java +++ b/src/main/java/org/opentripplanner/routing/edgetype/StreetEdge.java @@ -257,6 +257,9 @@ public double getDistance() { public State traverse(State s0) { final RoutingRequest options = s0.getOptions(); final TraverseMode currMode = s0.getNonTransitMode(); + if (options.excludeWalking && currMode.equals(TraverseMode.WALK)) { + return null; + } StateEditor editor = doTraverse(s0, options, s0.getNonTransitMode()); State state = (editor == null) ? null : editor.makeState(); /* Kiss and ride support. Mode transitions occur without the explicit loop edges used in park-and-ride. */ diff --git a/src/main/java/org/opentripplanner/routing/flex/GtfsFlexGraphModifier.java b/src/main/java/org/opentripplanner/routing/flex/GtfsFlexGraphModifier.java index ceebc703804..615c2d0b9e6 100644 --- a/src/main/java/org/opentripplanner/routing/flex/GtfsFlexGraphModifier.java +++ b/src/main/java/org/opentripplanner/routing/flex/GtfsFlexGraphModifier.java @@ -164,6 +164,7 @@ public void vertexVisitor(State state) {} */ public void createForwardHops(RoutingRequest request) { RoutingRequest forward = request.clone(); + forward.excludeWalking = false; forward.setMode(getMode()); forward.setArriveBy(false); // allow discovery of stations even with car mode @@ -178,6 +179,7 @@ public void createForwardHops(RoutingRequest request) { */ public void createBackwardHops(RoutingRequest request) { RoutingRequest backward = request.clone(); + backward.excludeWalking = false; backward.setMode(getMode()); backward.setArriveBy(true); backward.enterStationsWithCar = true; From 78dd03ed5c9f3f51b4eb0130658a83093d7c847b Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Tue, 6 Feb 2018 12:24:04 -0800 Subject: [PATCH 154/226] VGF-80 eligibility services (just 0 and 1 values) --- .../opentripplanner/api/common/RoutingResource.java | 2 +- .../opentripplanner/routing/core/RoutingRequest.java | 2 +- .../routing/edgetype/TransitBoardAlight.java | 12 ++++++++++-- 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/src/main/java/org/opentripplanner/api/common/RoutingResource.java b/src/main/java/org/opentripplanner/api/common/RoutingResource.java index 8c3ac1d5927..86f13399607 100644 --- a/src/main/java/org/opentripplanner/api/common/RoutingResource.java +++ b/src/main/java/org/opentripplanner/api/common/RoutingResource.java @@ -378,7 +378,7 @@ public abstract class RoutingResource { protected Boolean useReservationServices = true; /** - * Whether to use eligibility-based services (not in data yet) + * Whether to use eligibility-based services */ @QueryParam("useEligibilityServices") protected Boolean useEligibilityServices = true; diff --git a/src/main/java/org/opentripplanner/routing/core/RoutingRequest.java b/src/main/java/org/opentripplanner/routing/core/RoutingRequest.java index 9775a981487..58660a35333 100644 --- a/src/main/java/org/opentripplanner/routing/core/RoutingRequest.java +++ b/src/main/java/org/opentripplanner/routing/core/RoutingRequest.java @@ -420,7 +420,7 @@ public class RoutingRequest implements Cloneable, Serializable { public boolean useReservationServices = true; /** - * Whether to use eligibility-based services (not in data yet) + * Whether to use eligibility-based services */ public boolean useEligibilityServices = true; diff --git a/src/main/java/org/opentripplanner/routing/edgetype/TransitBoardAlight.java b/src/main/java/org/opentripplanner/routing/edgetype/TransitBoardAlight.java index aee2d3fe64d..685db484328 100644 --- a/src/main/java/org/opentripplanner/routing/edgetype/TransitBoardAlight.java +++ b/src/main/java/org/opentripplanner/routing/edgetype/TransitBoardAlight.java @@ -17,6 +17,7 @@ the License, or (at your option) any later version. import java.util.Locale; +import org.onebusaway.gtfs.model.Route; import org.onebusaway.gtfs.model.Stop; import org.onebusaway.gtfs.model.Trip; import org.opentripplanner.routing.core.RoutingContext; @@ -123,7 +124,6 @@ public String getName(Locale locale) { @Override public State traverse(State state0) { - return traverse(state0, 0); } @@ -146,7 +146,15 @@ public State traverse(State s0, long arrivalTimeAtStop) { /* If the user requested a wheelchair accessible trip, check whether and this stop is not accessible. */ if (options.wheelchairAccessible && ! getPattern().wheelchairAccessible(stopIndex)) { return null; - }; + } + + // if eligibility-restricted services are disallowed, check this route. Only supports 0/1 values. + if (!options.useEligibilityServices) { + Route route = getPattern().route; + if (route.hasEligibilityRestricted() && route.getEligibilityRestricted() == 1) { + return null; + } + } /* * Determine whether we are going onto or off of transit. Entering and leaving transit is From e3a32da36cf5123866c82d67067bf65c8fe10e0c Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Tue, 6 Feb 2018 13:12:53 -0800 Subject: [PATCH 155/226] VGF-149 Add trips in past message --- .../api/resource/DebugOutput.java | 4 ++ .../GraphPathToTripPlanConverter.java | 9 ++-- .../graph_builder/GraphBuilder.java | 4 ++ .../graph_builder/module/OutOfAreaModule.java | 2 +- .../module/TripPlanInPastModule.java | 39 ++++++++++++++++ .../opentripplanner/routing/graph/Graph.java | 4 +- .../services/notes/OutOfAreaNotesService.java | 6 ++- .../services/notes/PlanNotesService.java | 11 +++++ .../notes/TripPlanInPastNotesService.java | 44 +++++++++++++++++++ .../standalone/GraphBuilderParameters.java | 5 +++ 10 files changed, 119 insertions(+), 9 deletions(-) create mode 100644 src/main/java/org/opentripplanner/graph_builder/module/TripPlanInPastModule.java create mode 100644 src/main/java/org/opentripplanner/routing/services/notes/PlanNotesService.java create mode 100644 src/main/java/org/opentripplanner/routing/services/notes/TripPlanInPastNotesService.java diff --git a/src/main/java/org/opentripplanner/api/resource/DebugOutput.java b/src/main/java/org/opentripplanner/api/resource/DebugOutput.java index 3136b6610ba..78c9c5a1503 100644 --- a/src/main/java/org/opentripplanner/api/resource/DebugOutput.java +++ b/src/main/java/org/opentripplanner/api/resource/DebugOutput.java @@ -95,4 +95,8 @@ private void computeSummary() { renderingTime = finishedRendering - finishedCalculating; totalTime = finishedRendering - startedCalculating; } + + public long getStartedCalculating() { + return startedCalculating; + } } diff --git a/src/main/java/org/opentripplanner/api/resource/GraphPathToTripPlanConverter.java b/src/main/java/org/opentripplanner/api/resource/GraphPathToTripPlanConverter.java index 3ef55ebd5ea..bbe98d47446 100644 --- a/src/main/java/org/opentripplanner/api/resource/GraphPathToTripPlanConverter.java +++ b/src/main/java/org/opentripplanner/api/resource/GraphPathToTripPlanConverter.java @@ -35,6 +35,7 @@ the License, or (props, at your option) any later version. import org.opentripplanner.routing.graph.Vertex; import org.opentripplanner.routing.location.TemporaryStreetLocation; import org.opentripplanner.routing.services.FareService; +import org.opentripplanner.routing.services.notes.PlanNotesService; import org.opentripplanner.routing.spt.GraphPath; import org.opentripplanner.routing.trippattern.TripTimes; import org.opentripplanner.routing.vertextype.*; @@ -125,8 +126,8 @@ public static TripPlan generatePlan(List paths, RoutingRequest reques } } - if (request.rctx.graph.outOfAreaNotesService != null) { - addOutOfAreaWarnings(plan, request, requestedLocale); + for (PlanNotesService svc : request.rctx.graph.planNotesServices) { + addPlanNotes(svc, plan, request, requestedLocale); } request.rctx.debugOutput.finishedRendering(); @@ -1164,8 +1165,8 @@ private static List> encodeElevationProfile(Edge edge, double distanc return out; } - private static void addOutOfAreaWarnings(TripPlan plan, RoutingRequest request, Locale locale) { - for (Alert alert : request.rctx.graph.outOfAreaNotesService.getAlerts(request)) { + private static void addPlanNotes(PlanNotesService svc, TripPlan plan, RoutingRequest request, Locale locale) { + for (Alert alert : svc.getAlerts(request, plan)) { plan.addAlert(alert, locale); } } diff --git a/src/main/java/org/opentripplanner/graph_builder/GraphBuilder.java b/src/main/java/org/opentripplanner/graph_builder/GraphBuilder.java index 3c25fb35888..1fa5ae3c861 100644 --- a/src/main/java/org/opentripplanner/graph_builder/GraphBuilder.java +++ b/src/main/java/org/opentripplanner/graph_builder/GraphBuilder.java @@ -24,6 +24,7 @@ the License, or (at your option) any later version. import org.opentripplanner.graph_builder.module.PruneFloatingIslands; import org.opentripplanner.graph_builder.module.StreetLinkerModule; import org.opentripplanner.graph_builder.module.TransitToTaggedStopsModule; +import org.opentripplanner.graph_builder.module.TripPlanInPastModule; import org.opentripplanner.graph_builder.module.map.BusRouteStreetMatcher; import org.opentripplanner.graph_builder.module.ned.DegreeGridNEDTileSource; import org.opentripplanner.graph_builder.module.ned.ElevationModule; @@ -329,6 +330,9 @@ public static GraphBuilder forDirectory(CommandLineParameters params, File dir) if (boundaryFile != null) { graphBuilder.addModule(new OutOfAreaModule(boundaryFile, builderParams.outOfAreaMessage)); } + if (builderParams.tripPlanInPastMessage != null) { + graphBuilder.addModule(new TripPlanInPastModule(builderParams.tripPlanInPastMessage)); + } graphBuilder.serializeGraph = ( ! params.inMemory ) || params.preFlight; return graphBuilder; } diff --git a/src/main/java/org/opentripplanner/graph_builder/module/OutOfAreaModule.java b/src/main/java/org/opentripplanner/graph_builder/module/OutOfAreaModule.java index 6b7d9c1d50f..61c3944658a 100644 --- a/src/main/java/org/opentripplanner/graph_builder/module/OutOfAreaModule.java +++ b/src/main/java/org/opentripplanner/graph_builder/module/OutOfAreaModule.java @@ -47,7 +47,7 @@ public void buildGraph(Graph graph, HashMap, Object> extra) { OutOfAreaNotesService svc = new OutOfAreaNotesService(); svc.setArea(area); svc.setOutOfAreaMessage(outOfAreaMessage); - graph.outOfAreaNotesService = svc; + graph.planNotesServices.add(svc); } @Override diff --git a/src/main/java/org/opentripplanner/graph_builder/module/TripPlanInPastModule.java b/src/main/java/org/opentripplanner/graph_builder/module/TripPlanInPastModule.java new file mode 100644 index 00000000000..62c2e34a39e --- /dev/null +++ b/src/main/java/org/opentripplanner/graph_builder/module/TripPlanInPastModule.java @@ -0,0 +1,39 @@ +/* This program is free software: you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public License + as published by the Free Software Foundation, either version 3 of + the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ +package org.opentripplanner.graph_builder.module; + +import org.opentripplanner.graph_builder.services.GraphBuilderModule; +import org.opentripplanner.routing.graph.Graph; +import org.opentripplanner.routing.services.notes.TripPlanInPastNotesService; + +import java.util.HashMap; + +public class TripPlanInPastModule implements GraphBuilderModule { + + private String message; + + public TripPlanInPastModule(String message) { + this.message = message; + } + + @Override + public void buildGraph(Graph graph, HashMap, Object> extra) { + TripPlanInPastNotesService svc = new TripPlanInPastNotesService(); + svc.setMessage(message); + graph.planNotesServices.add(svc); + } + + @Override + public void checkInputs() { + } +} diff --git a/src/main/java/org/opentripplanner/routing/graph/Graph.java b/src/main/java/org/opentripplanner/routing/graph/Graph.java index 8994037ba69..771f74be435 100644 --- a/src/main/java/org/opentripplanner/routing/graph/Graph.java +++ b/src/main/java/org/opentripplanner/routing/graph/Graph.java @@ -49,7 +49,7 @@ the License, or (at your option) any later version. import org.opentripplanner.routing.impl.DefaultStreetVertexIndexFactory; import org.opentripplanner.routing.services.StreetVertexIndexFactory; import org.opentripplanner.routing.services.StreetVertexIndexService; -import org.opentripplanner.routing.services.notes.OutOfAreaNotesService; +import org.opentripplanner.routing.services.notes.PlanNotesService; import org.opentripplanner.routing.services.notes.StreetNotesService; import org.opentripplanner.routing.trippattern.Deduplicator; import org.opentripplanner.routing.vertextype.PatternArriveVertex; @@ -117,7 +117,7 @@ public class Graph implements Serializable { private transient SampleFactory sampleFactory; - public OutOfAreaNotesService outOfAreaNotesService; + public List planNotesServices = new ArrayList<>(); public final Deduplicator deduplicator = new Deduplicator(); diff --git a/src/main/java/org/opentripplanner/routing/services/notes/OutOfAreaNotesService.java b/src/main/java/org/opentripplanner/routing/services/notes/OutOfAreaNotesService.java index 2a88a0efdd9..3aaff9766ce 100644 --- a/src/main/java/org/opentripplanner/routing/services/notes/OutOfAreaNotesService.java +++ b/src/main/java/org/opentripplanner/routing/services/notes/OutOfAreaNotesService.java @@ -14,6 +14,7 @@ the License, or (at your option) any later version. import com.vividsolutions.jts.geom.Geometry; import com.vividsolutions.jts.geom.Point; +import org.opentripplanner.api.model.TripPlan; import org.opentripplanner.common.geometry.GeometryUtils; import org.opentripplanner.routing.alertpatch.Alert; import org.opentripplanner.routing.core.RoutingRequest; @@ -22,7 +23,7 @@ the License, or (at your option) any later version. import java.util.ArrayList; import java.util.Collection; -public class OutOfAreaNotesService implements Serializable { +public class OutOfAreaNotesService implements Serializable, PlanNotesService { private static final long serialVersionUID = 1; @@ -38,7 +39,8 @@ public void setOutOfAreaMessage(String outOfAreaMessage) { this.outOfAreaMessage = outOfAreaMessage; } - public Collection getAlerts(RoutingRequest request) { + @Override + public Collection getAlerts(RoutingRequest request, TripPlan plan) { Point fromPoint = GeometryUtils.getGeometryFactory().createPoint(request.rctx.fromVertex.getCoordinate()); Point toPoint = GeometryUtils.getGeometryFactory().createPoint(request.rctx.toVertex.getCoordinate()); Collection alerts = new ArrayList<>(); diff --git a/src/main/java/org/opentripplanner/routing/services/notes/PlanNotesService.java b/src/main/java/org/opentripplanner/routing/services/notes/PlanNotesService.java new file mode 100644 index 00000000000..7a9ecac5937 --- /dev/null +++ b/src/main/java/org/opentripplanner/routing/services/notes/PlanNotesService.java @@ -0,0 +1,11 @@ +package org.opentripplanner.routing.services.notes; + +import org.opentripplanner.api.model.TripPlan; +import org.opentripplanner.routing.alertpatch.Alert; +import org.opentripplanner.routing.core.RoutingRequest; + +import java.util.Collection; + +public interface PlanNotesService { + Collection getAlerts(RoutingRequest request, TripPlan plan); +} diff --git a/src/main/java/org/opentripplanner/routing/services/notes/TripPlanInPastNotesService.java b/src/main/java/org/opentripplanner/routing/services/notes/TripPlanInPastNotesService.java new file mode 100644 index 00000000000..0d8a137782e --- /dev/null +++ b/src/main/java/org/opentripplanner/routing/services/notes/TripPlanInPastNotesService.java @@ -0,0 +1,44 @@ +/* This program is free software: you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public License + as published by the Free Software Foundation, either version 3 of + the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ +package org.opentripplanner.routing.services.notes; + +import org.opentripplanner.api.model.TripPlan; +import org.opentripplanner.routing.alertpatch.Alert; +import org.opentripplanner.routing.core.RoutingRequest; + +import java.io.Serializable; +import java.util.ArrayList; +import java.util.Collection; + +public class TripPlanInPastNotesService implements Serializable, PlanNotesService { + + private static final long serialVersionUID = 1; + + private String message; + + public void setMessage(String message) { + this.message = message; + } + + @Override + public Collection getAlerts(RoutingRequest request, TripPlan plan) { + Collection alerts = new ArrayList<>(); + long maxStartTime = plan.itinerary.stream() + .mapToLong(i -> i.startTime.getTimeInMillis()) + .max().orElse(Long.MAX_VALUE); + if (maxStartTime < request.rctx.debugOutput.getStartedCalculating()) { + alerts.add(Alert.createSimpleAlerts(message)); + } + return alerts; + } +} diff --git a/src/main/java/org/opentripplanner/standalone/GraphBuilderParameters.java b/src/main/java/org/opentripplanner/standalone/GraphBuilderParameters.java index 439e700c134..7d9a1c52f62 100644 --- a/src/main/java/org/opentripplanner/standalone/GraphBuilderParameters.java +++ b/src/main/java/org/opentripplanner/standalone/GraphBuilderParameters.java @@ -153,6 +153,10 @@ public class GraphBuilderParameters { */ public final String outOfAreaMessage; + /** + * Message for trip plan in past + */ + public final String tripPlanInPastMessage; /** * Set all parameters from the given Jackson JSON tree, applying defaults. @@ -188,6 +192,7 @@ public GraphBuilderParameters(JsonNode config) { banDiscouragedBiking = config.path("banDiscouragedBiking").asBoolean(false); createFlexTransfers = config.path("createFlexTransfers").asBoolean(false); outOfAreaMessage = config.path("outOfAreaMessage").asText("One or more endpoints is out of area."); + tripPlanInPastMessage = config.path("tripPlanInPastMessage").asText(); } } From cf552b6e06ed5f9ca3e917955e25dfab9c0f2553 Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Tue, 6 Feb 2018 16:41:58 -0800 Subject: [PATCH 156/226] VGF-91 let maxWalkDistanceHeuristic be as large as necessary --- .../opentripplanner/api/common/RoutingResource.java | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/main/java/org/opentripplanner/api/common/RoutingResource.java b/src/main/java/org/opentripplanner/api/common/RoutingResource.java index 86f13399607..5d7340be36d 100644 --- a/src/main/java/org/opentripplanner/api/common/RoutingResource.java +++ b/src/main/java/org/opentripplanner/api/common/RoutingResource.java @@ -94,6 +94,10 @@ public abstract class RoutingResource { @QueryParam("maxWalkDistance") protected Double maxWalkDistance; + /** The maximum distance (in meters) the user is willing to walk - specific to IBH. Defaults to unlimited. */ + @QueryParam("maxWalkDistanceHeuristic") + protected Double maxWalkDistanceHeuristic; + /** * The maximum time (in seconds) of pre-transit travel when using drive-to-transit (park and * ride or kiss and ride). Defaults to unlimited. @@ -468,14 +472,15 @@ protected RoutingRequest buildRequest() throws ParameterException { if (maxWalkDistance != null) { request.setMaxWalkDistance(maxWalkDistance); request.maxTransferWalkDistance = maxWalkDistance; - if (request.maxWalkDistanceHeuristic == Double.MAX_VALUE) { - request.maxWalkDistanceHeuristic = Math.max(maxWalkDistance, 1608); - } if (maxWalkDistance == 0.0) { request.excludeWalking = true; } } + if (maxWalkDistanceHeuristic != null) { + request.maxWalkDistanceHeuristic = maxWalkDistanceHeuristic; + } + if (maxPreTransitTime != null) request.setMaxPreTransitTime(maxPreTransitTime); From 5166629147781003f61ea22ade83573bf3d7bf58 Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Tue, 6 Feb 2018 16:51:58 -0800 Subject: [PATCH 157/226] VGF-91 add minimum length for partial edges --- .../org/opentripplanner/routing/core/RoutingRequest.java | 9 +++++++-- .../routing/edgetype/flex/PartialPatternHop.java | 4 ++-- .../routing/edgetype/flex/TemporaryDirectPatternHop.java | 2 +- .../routing/flex/GtfsFlexGraphModifier.java | 6 +++--- 4 files changed, 13 insertions(+), 8 deletions(-) diff --git a/src/main/java/org/opentripplanner/routing/core/RoutingRequest.java b/src/main/java/org/opentripplanner/routing/core/RoutingRequest.java index 58660a35333..101c5f82e6d 100644 --- a/src/main/java/org/opentripplanner/routing/core/RoutingRequest.java +++ b/src/main/java/org/opentripplanner/routing/core/RoutingRequest.java @@ -497,6 +497,9 @@ public class RoutingRequest implements Cloneable, Serializable { /** Totally exclude walking from trip plan results */ public boolean excludeWalking = false; + /** Minimum length of partial hop edges */ + public int minPartialHopLength = 400; + /** Saves split edge which can be split on origin/destination search * * This is used so that TrivialPathException is thrown if origin and destination search would split the same edge @@ -1022,7 +1025,8 @@ public boolean equals(Object o) { && disableAlertFiltering == other.disableAlertFiltering && geoidElevation == other.geoidElevation && tripDiscoveryMode == other.tripDiscoveryMode - && ignoreDrtAdvanceBookMin == other.ignoreDrtAdvanceBookMin; + && ignoreDrtAdvanceBookMin == other.ignoreDrtAdvanceBookMin + && minPartialHopLength == other.minPartialHopLength; } /** @@ -1055,7 +1059,8 @@ public int hashCode() { + new Boolean(disableRemainingWeightHeuristic).hashCode() * 193939 + new Boolean(useTraffic).hashCode() * 10169 + new Boolean(tripDiscoveryMode).hashCode() * 209477 - + Boolean.hashCode(ignoreDrtAdvanceBookMin) * 1371; + + Boolean.hashCode(ignoreDrtAdvanceBookMin) * 1371 + + Integer.hashCode(minPartialHopLength) * 15485863; if (batch) { hashCode *= -1; // batch mode, only one of two endpoints matters diff --git a/src/main/java/org/opentripplanner/routing/edgetype/flex/PartialPatternHop.java b/src/main/java/org/opentripplanner/routing/edgetype/flex/PartialPatternHop.java index 87b5a22e3f5..6cfcf6b4aac 100644 --- a/src/main/java/org/opentripplanner/routing/edgetype/flex/PartialPatternHop.java +++ b/src/main/java/org/opentripplanner/routing/edgetype/flex/PartialPatternHop.java @@ -175,12 +175,12 @@ public LineString getDisplayGeometry() { } // is this hop too not-different to care about? for now lets say should be > 50 m shorter than original hop - public boolean isTrivial() { + public boolean isTrivial(RoutingRequest options) { if ((isDeviatedRouteBoard() && getStartVehicleTime() < 5) || (isDeviatedRouteAlight() && getEndVehicleTime() < 5)) return true; double length = SphericalDistanceLibrary.fastLength(getGeometry()); double parentLength = SphericalDistanceLibrary.fastLength(getOriginalHop().getGeometry()); - if (length == 0) { + if (length == 0 || length < options.minPartialHopLength) { return true; } if (parentLength == 0) { diff --git a/src/main/java/org/opentripplanner/routing/edgetype/flex/TemporaryDirectPatternHop.java b/src/main/java/org/opentripplanner/routing/edgetype/flex/TemporaryDirectPatternHop.java index 8c8bb4de422..6f939020661 100644 --- a/src/main/java/org/opentripplanner/routing/edgetype/flex/TemporaryDirectPatternHop.java +++ b/src/main/java/org/opentripplanner/routing/edgetype/flex/TemporaryDirectPatternHop.java @@ -48,7 +48,7 @@ public boolean isUnscheduled() { } @Override - public boolean isTrivial() { + public boolean isTrivial(RoutingRequest options) { return false; } diff --git a/src/main/java/org/opentripplanner/routing/flex/GtfsFlexGraphModifier.java b/src/main/java/org/opentripplanner/routing/flex/GtfsFlexGraphModifier.java index 615c2d0b9e6..fcce891720c 100644 --- a/src/main/java/org/opentripplanner/routing/flex/GtfsFlexGraphModifier.java +++ b/src/main/java/org/opentripplanner/routing/flex/GtfsFlexGraphModifier.java @@ -309,7 +309,7 @@ private void createHopsToTemporaryStop(RoutingRequest rr, State state, Temporary TemporaryPatternArriveVertex patternArriveVertex = createPatternArriveVertex(rr, originalPatternHop, flagStop); TemporaryPartialPatternHop newHop = shortenEnd(rr, state, reverseHop, patternArriveVertex, flagStop); - if (newHop == null || newHop.isTrivial()) { + if (newHop == null || newHop.isTrivial(rr)) { if (newHop != null) newHop.dispose(); continue; @@ -322,7 +322,7 @@ private void createHopsToTemporaryStop(RoutingRequest rr, State state, Temporary TemporaryPatternArriveVertex patternArriveVertex = createPatternArriveVertex(rr, originalPatternHop, flagStop); TemporaryPartialPatternHop hop = makeHopNewTo(rr, state, originalPatternHop, patternArriveVertex, flagStop); - if (hop == null || hop.isTrivial()) { + if (hop == null || hop.isTrivial(rr)) { if (hop != null) { hop.dispose(); } @@ -344,7 +344,7 @@ private void createHopsFromTemporaryStop(RoutingRequest rr, State state, Tempora TemporaryPatternDepartVertex patternDepartVertex = createPatternDepartVertex(rr, originalPatternHop, flagStop); TemporaryPartialPatternHop hop = makeHopNewFrom(rr, state, originalPatternHop, patternDepartVertex, flagStop); - if (hop == null || hop.isTrivial()) { + if (hop == null || hop.isTrivial(rr)) { if (hop != null) { hop.dispose(); } From 7ca5e2a8f416aa1f8406a074ef653dd340e0f7ed Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Tue, 13 Feb 2018 22:57:07 -0500 Subject: [PATCH 158/226] obagtfs version bump --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 19a4b595757..fdb1b3c922f 100644 --- a/pom.xml +++ b/pom.xml @@ -650,7 +650,7 @@ org.onebusaway onebusaway-gtfs - 1.3.5.9-vt-SNAPSHOT + 1.3.5.9-vt From 94bc48045a8696c512518f81918a60198cf3d351 Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Tue, 13 Feb 2018 23:01:47 -0500 Subject: [PATCH 159/226] [maven-release-plugin] prepare release otp-1.2.0.11 --- pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index fdb1b3c922f..7c3cd5ac47e 100644 --- a/pom.xml +++ b/pom.xml @@ -8,7 +8,7 @@ org.opentripplanner otp - 1.2.0.11-SNAPSHOT + 1.2.0.11 jar @@ -75,7 +75,7 @@ scm:git:http://github.com/camsys/OpenTripPlanner.git scm:git:ssh://git@github.com/camsys/OpenTripPlanner.git http://github.com/camsys/OpenTripPlanner - HEAD + otp-1.2.0.11 From 9721d12e0997540b63c019222910bc9c4a6e1695 Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Tue, 13 Feb 2018 23:01:52 -0500 Subject: [PATCH 160/226] [maven-release-plugin] prepare for next development iteration --- pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index 7c3cd5ac47e..e8de95e8eaa 100644 --- a/pom.xml +++ b/pom.xml @@ -8,7 +8,7 @@ org.opentripplanner otp - 1.2.0.11 + 1.2.0.12-SNAPSHOT jar @@ -75,7 +75,7 @@ scm:git:http://github.com/camsys/OpenTripPlanner.git scm:git:ssh://git@github.com/camsys/OpenTripPlanner.git http://github.com/camsys/OpenTripPlanner - otp-1.2.0.11 + HEAD From 6476854270037b2c8780a44219840afa2e81c7f7 Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Tue, 22 May 2018 14:23:16 -0400 Subject: [PATCH 161/226] cleanup --- .../org/opentripplanner/routing/edgetype/PatternDwell.java | 1 - src/main/java/org/opentripplanner/routing/graph/Graph.java | 2 -- .../java/org/opentripplanner/routing/impl/GraphPathFinder.java | 2 -- .../org/opentripplanner/routing/trippattern/TripTimes.java | 3 --- 4 files changed, 8 deletions(-) diff --git a/src/main/java/org/opentripplanner/routing/edgetype/PatternDwell.java b/src/main/java/org/opentripplanner/routing/edgetype/PatternDwell.java index 29c103d7665..c305e91e9e9 100644 --- a/src/main/java/org/opentripplanner/routing/edgetype/PatternDwell.java +++ b/src/main/java/org/opentripplanner/routing/edgetype/PatternDwell.java @@ -63,7 +63,6 @@ public String getName(Locale locale) { } public State traverse(State state0) { - //int trip = state0.getTrip(); TripTimes tripTimes = state0.getTripTimes(); int dwellTime = tripTimes.getDwellTime(stopIndex); diff --git a/src/main/java/org/opentripplanner/routing/graph/Graph.java b/src/main/java/org/opentripplanner/routing/graph/Graph.java index 771f74be435..057f4746fc3 100644 --- a/src/main/java/org/opentripplanner/routing/graph/Graph.java +++ b/src/main/java/org/opentripplanner/routing/graph/Graph.java @@ -730,7 +730,6 @@ public void index(StreetVertexIndexFactory indexFactory) { } // TODO: Move this ^ stuff into the graph index this.index = new GraphIndex(this); - //new DirectTransferGenerator().buildGraph(this, null); } /** @@ -1092,5 +1091,4 @@ public long getTransitServiceStarts() { public long getTransitServiceEnds() { return transitServiceEnds; } - } diff --git a/src/main/java/org/opentripplanner/routing/impl/GraphPathFinder.java b/src/main/java/org/opentripplanner/routing/impl/GraphPathFinder.java index e8503b7d76d..40eee457d0e 100644 --- a/src/main/java/org/opentripplanner/routing/impl/GraphPathFinder.java +++ b/src/main/java/org/opentripplanner/routing/impl/GraphPathFinder.java @@ -241,8 +241,6 @@ public List graphPathFinderEntryPoint (RoutingRequest request) { throw e; } - - // Detect and report that most obnoxious of bugs: path reversal asymmetry. // Removing paths might result in an empty list, so do this check before the empty list check. if (paths != null) { diff --git a/src/main/java/org/opentripplanner/routing/trippattern/TripTimes.java b/src/main/java/org/opentripplanner/routing/trippattern/TripTimes.java index bf89754eb97..a942a9624d8 100644 --- a/src/main/java/org/opentripplanner/routing/trippattern/TripTimes.java +++ b/src/main/java/org/opentripplanner/routing/trippattern/TripTimes.java @@ -570,9 +570,6 @@ public boolean isTimepoint(final int stopIndex) { return timepoints.get(stopIndex); } - - - /** * Hash the scheduled arrival/departure times. Used in creating stable IDs for trips across GTFS feed versions. * Use hops rather than stops because: From ef963bba9a697cf6f4fb3346cb88e9a31e511b89 Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Wed, 23 May 2018 13:12:09 -0400 Subject: [PATCH 162/226] WKT test --- .../common/geometry/GeometryUtilsTest.java | 27 +++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) diff --git a/src/test/java/org/opentripplanner/common/geometry/GeometryUtilsTest.java b/src/test/java/org/opentripplanner/common/geometry/GeometryUtilsTest.java index 604e752e6a1..da846ed2c05 100644 --- a/src/test/java/org/opentripplanner/common/geometry/GeometryUtilsTest.java +++ b/src/test/java/org/opentripplanner/common/geometry/GeometryUtilsTest.java @@ -13,8 +13,8 @@ the License, or (at your option) any later version. package org.opentripplanner.common.geometry; -import static org.junit.Assert.assertEquals; - +import com.vividsolutions.jts.geom.Geometry; +import com.vividsolutions.jts.geom.Polygon; import org.junit.Test; import org.opentripplanner.common.model.P2; @@ -24,7 +24,13 @@ the License, or (at your option) any later version. import com.vividsolutions.jts.geom.GeometryFactory; import com.vividsolutions.jts.geom.LineString; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; + public class GeometryUtilsTest { + + private static final double tolerance = 0.000001; + @Test public final void testSplitGeometryAtFraction() { Coordinate[] coordinates = new Coordinate[4]; @@ -218,4 +224,21 @@ public final void testSplitGeometryAtFraction() { geometry = new LineString(sequence, geometryFactory); assertEquals(geometry, results[8][1]); } + + @Test + public void testWkt() { + String wkt = "POLYGON((1.0 2.0,3.0 -4.0,-1.0 2.0, 1.0 2.0))"; + Geometry geom = GeometryUtils.parseWkt(wkt); + assertTrue(geom instanceof Polygon); + Coordinate[] coords = geom.getCoordinates(); + assertEquals(4, coords.length); + assertEquals(1.0, coords[0].getOrdinate(0), tolerance); + assertEquals(2.0, coords[0].getOrdinate(1), tolerance); + assertEquals(3.0, coords[1].getOrdinate(0), tolerance); + assertEquals(-4.0, coords[1].getOrdinate(1), tolerance); + assertEquals(-1.0, coords[2].getOrdinate(0), tolerance); + assertEquals(2.0, coords[2].getOrdinate(1), tolerance); + assertEquals(1.0, coords[3].getOrdinate(0), tolerance); + assertEquals(2.0, coords[3].getOrdinate(1), tolerance); + } } From 508c0bdf4e07dee2945f270018031e21c42845dd Mon Sep 17 00:00:00 2001 From: Simon Jacobs Date: Thu, 24 May 2018 10:21:02 -0400 Subject: [PATCH 163/226] Initial commit for Vermont GTFS-flex integration tests --- .../opentripplanner/ConstantsForTests.java | 62 ++++++++- .../opentripplanner/routing/flex/Ride.java | 128 ++++++++++++++++++ .../routing/flex/VermontFlexRoutingTest.java | 69 ++++++++++ .../vermont/ruralcommunity-flex-vt-us.zip | Bin 0 -> 535828 bytes .../resources/vermont/vermont-rct.osm.pbf | Bin 0 -> 6206721 bytes 5 files changed, 258 insertions(+), 1 deletion(-) create mode 100644 src/test/java/org/opentripplanner/routing/flex/Ride.java create mode 100644 src/test/java/org/opentripplanner/routing/flex/VermontFlexRoutingTest.java create mode 100644 src/test/resources/vermont/ruralcommunity-flex-vt-us.zip create mode 100644 src/test/resources/vermont/vermont-rct.osm.pbf diff --git a/src/test/java/org/opentripplanner/ConstantsForTests.java b/src/test/java/org/opentripplanner/ConstantsForTests.java index 28730f20695..cbad20fa5a3 100644 --- a/src/test/java/org/opentripplanner/ConstantsForTests.java +++ b/src/test/java/org/opentripplanner/ConstantsForTests.java @@ -15,15 +15,21 @@ the License, or (at your option) any later version. import java.io.File; import java.io.IOException; +import java.net.URLDecoder; import java.util.HashMap; import org.onebusaway.gtfs.model.calendar.CalendarServiceData; +import org.opentripplanner.graph_builder.module.DirectTransferGenerator; import org.opentripplanner.graph_builder.module.StreetLinkerModule; +import org.opentripplanner.graph_builder.module.osm.DefaultWayPropertySetSource; +import org.opentripplanner.graph_builder.module.osm.OpenStreetMapModule; import org.opentripplanner.gtfs.GtfsContext; import org.opentripplanner.gtfs.GtfsLibrary; +import org.opentripplanner.openstreetmap.impl.AnyFileBasedOpenStreetMapProviderImpl; import org.opentripplanner.routing.edgetype.factory.GTFSPatternHopFactory; import org.opentripplanner.routing.edgetype.factory.TransferGraphLinker; import org.opentripplanner.routing.graph.Graph; +import org.opentripplanner.routing.impl.DefaultStreetVertexIndexFactory; public class ConstantsForTests { @@ -37,12 +43,18 @@ public class ConstantsForTests { public static final String FARE_COMPONENT_GTFS = "src/test/resources/farecomponent_gtfs.zip"; + public static final String VERMONT_GTFS = "/vermont/ruralcommunity-flex-vt-us.zip"; + + public static final String VERMONT_OSM = "/vermont/vermont-rct.osm.pbf"; + private static ConstantsForTests instance = null; private Graph portlandGraph = null; private GtfsContext portlandContext = null; + private Graph vermontGraph = null; + private ConstantsForTests() { } @@ -88,7 +100,55 @@ private void setupPortland() { StreetLinkerModule ttsnm = new StreetLinkerModule(); ttsnm.buildGraph(portlandGraph, new HashMap, Object>()); } - + + public Graph getVermontGraph() { + if (vermontGraph == null) { + vermontGraph = getGraph(VERMONT_OSM, VERMONT_GTFS); + vermontGraph.useFlexService = true; + } + return vermontGraph; + } + + private Graph getGraph(String osmFile, String gtfsFile) { + try { + Graph g = new Graph(); + OpenStreetMapModule loader = new OpenStreetMapModule(); + loader.setDefaultWayPropertySetSource(new DefaultWayPropertySetSource()); + AnyFileBasedOpenStreetMapProviderImpl provider = new AnyFileBasedOpenStreetMapProviderImpl(); + + File file = new File( + URLDecoder.decode(this.getClass().getResource(osmFile).getFile(), + "UTF-8")); + + provider.setPath(file); + loader.setProvider(provider); + + loader.buildGraph(g, new HashMap<>()); + + GtfsContext ctx = GtfsLibrary.readGtfs(new File( + URLDecoder.decode(this.getClass().getResource(gtfsFile).getFile(), + "UTF-8"))); + GTFSPatternHopFactory factory = new GTFSPatternHopFactory(ctx); + factory.run(g); + + CalendarServiceData csd = GtfsLibrary.createCalendarServiceData(ctx.getDao()); + g.putService(CalendarServiceData.class, csd); + g.updateTransitFeedValidity(csd); + g.hasTransit = true; + + new DirectTransferGenerator().buildGraph(g, new HashMap<>()); + + new StreetLinkerModule().buildGraph(g, new HashMap<>()); + + g.index(new DefaultStreetVertexIndexFactory()); + + return g; + } catch(Exception ex) { + ex.printStackTrace(); + } + return null; + } + public static Graph buildGraph(String path) { GtfsContext context; try { diff --git a/src/test/java/org/opentripplanner/routing/flex/Ride.java b/src/test/java/org/opentripplanner/routing/flex/Ride.java new file mode 100644 index 00000000000..54763869dfe --- /dev/null +++ b/src/test/java/org/opentripplanner/routing/flex/Ride.java @@ -0,0 +1,128 @@ +/* This program is free software: you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public License + as published by the Free Software Foundation, either version 3 of + the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ +package org.opentripplanner.routing.flex; + +import org.onebusaway.gtfs.model.AgencyAndId; +import org.onebusaway.gtfs.model.Stop; +import org.opentripplanner.routing.core.State; +import org.opentripplanner.routing.edgetype.HopEdge; +import org.opentripplanner.routing.graph.Edge; +import org.opentripplanner.routing.spt.GraphPath; + +import java.util.ArrayList; +import java.util.List; + +/** + * Model a transit trip so that assertions can be made against it + * + * Similar to DefaultFareServiceImpl.Ride - could be merged + * Cherry-picked from MTA code + * */ +public class Ride { + + private String startZone; + + private String endZone; + + private List zones = new ArrayList<>(); + + private AgencyAndId route; + + private String agency; + + private long startTime; + + private long endTime; + + private Stop firstStop; + + private Stop lastStop; + + private AgencyAndId trip; + + public String getStartZone() { + return startZone; + } + + public String getEndZone() { + return endZone; + } + + public List getZones() { + return zones; + } + + public AgencyAndId getRoute() { + return route; + } + + public String getAgency() { + return agency; + } + + public long getStartTime() { + return startTime; + } + + public long getEndTime() { + return endTime; + } + + public Stop getFirstStop() { + return firstStop; + } + + public Stop getLastStop() { + return lastStop; + } + + public AgencyAndId getTrip() { + return trip; + } + + public String getFirstStopId() { + return firstStop.getId().getId(); + } + + public String getLastStopId() { + return lastStop.getId().getId(); + } + + public static List createRides(GraphPath path) { + List rides = new ArrayList<>(); + Ride ride = null; + for (State state : path.states) { + Edge edge = state.getBackEdge(); + if ( ! (edge instanceof HopEdge)) + continue; + HopEdge hEdge = (HopEdge) edge; + if (ride == null || ! state.getRoute().equals(ride.route)) { + ride = new Ride(); + rides.add(ride); + ride.startZone = hEdge.getBeginStop().getZoneId(); + ride.zones.add(ride.startZone); + ride.agency = state.getBackTrip().getRoute().getAgency().getId(); + ride.route = state.getRoute(); + ride.startTime = state.getBackState().getTimeSeconds(); + ride.firstStop = hEdge.getBeginStop(); + ride.trip = state.getTripId(); + } + ride.lastStop = hEdge.getEndStop(); + ride.endZone = ride.lastStop.getZoneId(); + ride.zones.add(ride.endZone); + ride.endTime = state.getTimeSeconds(); + // in default fare service, classify rides by mode + } + return rides; + } +} diff --git a/src/test/java/org/opentripplanner/routing/flex/VermontFlexRoutingTest.java b/src/test/java/org/opentripplanner/routing/flex/VermontFlexRoutingTest.java new file mode 100644 index 00000000000..d820ac74be3 --- /dev/null +++ b/src/test/java/org/opentripplanner/routing/flex/VermontFlexRoutingTest.java @@ -0,0 +1,69 @@ +/* This program is free software: you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public License + as published by the Free Software Foundation, either version 3 of + the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ +package org.opentripplanner.routing.flex; + +import org.junit.Test; +import org.opentripplanner.ConstantsForTests; +import org.opentripplanner.routing.algorithm.AStar; +import org.opentripplanner.routing.core.RoutingRequest; +import org.opentripplanner.routing.graph.Graph; +import org.opentripplanner.routing.spt.GraphPath; + +import java.util.List; + +import static org.junit.Assert.*; + +public class VermontFlexRoutingTest { + + private Graph graph = ConstantsForTests.getInstance().getVermontGraph(); + + // http://otp-vtrans-qa.camsys-apps.com/local/#plan?fromPlace=44.42145960616986%2C-72.01937198638917&toPlace=44.427773287332464%2C-72.0120351442025&date=05%2F23%2F2018&time=1%3A37%20PM&mode=TRANSIT%2CWALK&numItineraries=3&wheelchairAccessible=false&flagStopBufferSize=50&useReservationServices=true&useEligibilityServices=true + // Flag stop on both sides, on Jay-Lyn (route 1382) + @Test + public void testFlagStop() { + GraphPath path = getPathToDestination("44.4214596,-72.019371", "44.4277732,-72.01203514", + "2018-05-23", "1:37pm"); + List rides = Ride.createRides(path); + assertEquals(1, rides.size()); + Ride ride = rides.get(0); + assertEquals("1382", ride.getRoute().getId()); + } + + private GraphPath getPathToDestination(String from, String to, + String date, String time) { + RoutingRequest options = new RoutingRequest(); + options.maxWalkDistance = 804; + options.maxWalkDistanceHeuristic = 5000; + options.callAndRideReluctance = 3.0; + options.walkReluctance = 3.0; + options.tripDiscoveryMode = true; + options.waitAtBeginningFactor = 0; + options.transferPenalty = 600; + options.setDateTime(date, time, graph.getTimeZone()); + options.setFromString(from); + options.setToString(to); + options.setRoutingContext(graph); + + // Simulate GraphPathFinder - run modifiers for graph based on request + FlagStopGraphModifier svc1 = new FlagStopGraphModifier(graph); + DeviatedRouteGraphModifier svc2 = new DeviatedRouteGraphModifier(graph); + svc1.createForwardHops(options); + svc2.createForwardHops(options); + svc1.createBackwardHops(options); + svc2.createBackwardHops(options); + + AStar astar = new AStar(); + astar.getShortestPathTree(options); + return astar.getPathsToTarget().iterator().next(); + } +} diff --git a/src/test/resources/vermont/ruralcommunity-flex-vt-us.zip b/src/test/resources/vermont/ruralcommunity-flex-vt-us.zip new file mode 100644 index 0000000000000000000000000000000000000000..c570b40a55f0c62425dbad96acaa90e34cc643c1 GIT binary patch literal 535828 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%0D$Eh!7e>BB`e77Pxv5pn@K%sRSrbZ4Y2 zvTBh2o<`6GTp=wUv=;EdnkOFM#7MeRSIER7Nh@j4+Ew zx{T&q2WF0mx#pO718g>=CI;G(?1y{dvV^IOpi~vs!C+l{{jA-DU~s(#rDnid(7C~F zMmdT5x?iz3CaGSTkc&Qa(1#%N#aRrijD?^bke9laV5_rMC3jb^3SwX)^>qYXdb8LQ z?&Y~P+g=U283Fe+s@o56yTDAH!f^|8Jz2;MXneUpHMq;Sr7fFbE@SbuGpKAgSf^8X zPcdbhjc`kc`jw)Y84gsFGhXYlCueD5#bF@UGLp5GCj8&xWcMp`-w6$jO*zaI#nY*->mR_66KDd_xn%X8qB6fNwb2|a}u;VEe(c=A}g1{HV$uI&u? z820m57{C#bb?eaLgB75^oL);=VEyp!b{P1G*=3?F+}G~&^3O_!j43^osaC7ypdeNX z>U{Dx0V*wDbf8#Y?Pur~)R&&SVj*|R#vIH>BfuBnlmcV*tc=){YypC$YoMh zF10%4omD5i7KK8;ZjoaBqhS(j)B1N_^USA$o+aT92+q)HuWlnPjc@twPRIpJL-Hk% z7P%E%CSRrTj~46-``U-JAd16n{B8_f?4D?NDDq~u>?iuiEABSZ!J-nKC2E)6#4Y)#sW6K^iTHp_)={>!~j z@|i$(D}D)wICyUhTkjyTc{MZfsVJUeJShWDxHj(H>V<&>TeulBe~^t*8NW3Jkkft7 z46>omY)s!*2%6578=%x24~Os}63on>tr4}(u{-bEb+uz`+k}9?c1)uAgLdp_TrT4( z;|hEe&|$c@&nw%yASIB#B;a-!#4|rtpAeG%&?F65Q)yjJ)Nq0mb$*y}BOJGzleRVU z269OKY(H$ZYoRzpF&PnN0P-QlHeb+h((K`P5tW1gLy#$W;_iOZ?)TuCK;K9xw-@2S z?c&d4Y+;6Z-xvd+H7CWQ>-#O7;sPEpo9m7ed;SW?ReS01%kIKZ5`Lh0GUKXh47tA$ z__W+1G2dX+`a2N8 zC@54E2m?Oxd^cD(*Ue36PCoSVqb9t>?3Y3gx}M_#4#}xvO`~1QoPQbsLNe~W1gn#r zK&CDTRa?EaYPm>!)q_a4+n=IJvan=>zll*6eNuEo5fS z{6PR{H(DZgispW`Rym<$GfAYNMr3Dbn$i62K}ZTyfYO>dn6QL+$bGq12bw17{?4It zkX^3q#1ugK)de@q*zP|>ZxkqgVAS3#=DCNz^+Md4I1rAUkNF!N0_E`5$^A5RQq7#1 zwAcN>`_PdGg~WzUMVs~v<*Sv;v3xlAq=x%3*B#N{`+dE$3BIof&U*w9 zDS@)PLm_s$TUjAU!kaQP$KjMI($WtVE|Ohq6w?PDJi2LTbpKb^H6a>Uu8S$ zMw_B!?Y8F0(Pjx9FT{ViCgFvBHmIy3qB~H7A@_%rWvG9;`%=NwPjc6Y#eK*-rgS@V zrLS>}d1EH8Q`}kTEA&vab^lWg$&-WzlIy4j{sCCSf$heN&tvj>mvmKu*yu7o(MF~1 z+yYx_m1^0ym?prLi+6!COg4LDH0ei!i7oX|a?kVF+8b{sZv&e|18ziH4+#pWS|}}S zf;;#>SRw;*#Ite*Djw+IVS0qBgPc?im=r(si;iV*9?T6Sv9ylf3)%7U^jb0$gQ}(k zE<4rF9gLeBcZ^j6MUf&4aY3VpY?m| z`mB^N2Ny=$>J0rG`z>K7%2nO0GZogdqy#lrz`m~e8$XVt^)1Lk)kiCA3qQX4Z&2)? zP4cyZNmNq7yRT5j~)azLq>L(!#F7BaN-sn~IKr%eTMf6WI) zA>jt9c$Rmj-SU2ySl@nmOQthhz6>ySMjPnHfbA9N`7-s9^5?6;L9~snMFFYZsAT z@cl#j`4K`1a3LuJTQ4nG`w=W^h=)$j0Yna6ANzzJtx;^8-91TC`y%`%I8vq(xhop= z%|*L!1}MdR@o>g*VM@gT?jI;O?-yIn@|9>8R)weai57?r(P&}qEO%TWN$0m!6wX<= zaa*BbVGchNA$zvjwJXrfN3*bJLxd7mz2B8&4tSSM5t$8W?f^_QVPU>2CzGXoR!LNb zv&ixZa_`@!9#BaC`0|uKD+*(fRVq(R)&iiHNNyP$4wNs1S4ymQjR^>LFS~SHT^URbi%vB13dGJ1P z5q&zt$!}8|wzEm_ptK{F)EU|s1G^&@`5iNFc5_#1Q(Y#W`6^lucP0* zw| zzx(O}ajVixS9CfHGyyXn4(oR~@SV))S3?c5w;Wv4DziKaz9sEhoe3@UBm2HVHGOi;8e zGC~k~f2b|g^5Z;Q{+j%AfXtP3;yBPUyH9{dfHq z{XR3hRIjo_a)hOP?kz;o?1(2dgla1FU+&>>2v@&~M7r^?g9pkoAMVR`D@S48k2y6& z;h-&u!EvZ|KLvknINhwSb6$p7HHXpy9H9=vz&Edc7BS4TDF;PAogX`*tUD9@?!1Aax}>lk;NCIR9m6fX&i)w#p*c8WQxeJedvUP&msDPz5;|16FLkY z)6W90IYZya=;h~WR$d*T4BRD%icIPC>5{|Xn*m_HXBga*eFX{&|n zgzQR+zrRix25YQ6z_cQb-U_*kG~xp%Ema^ge#m;kMB3pU!VQmystd*@as)QDB#?&v z_9tl}_4vgSb9f(s4+TL!8sL$5f~q{nPnh-h08YczA|xIDMs#LAi|i8W z1$LLiG4l6~*0~)f*$@6FRRVj!#*`2tKCnHfQKapF?=a9A06)-yUdGEUIZ_iHQ=0~I zO+y9RQl%OlAIM(Gp}~f~z(m7Vw1Bv!^yfM+=X%Cl+;MW*sPJ1vUzSuM5z)UAIJb_K$yQL_kriUNK6ef?-@yg@@KPw zlJ^Io-cl2i5V4}N+9}TR?q`;z2+tP{_=36fc;?S1I2ogIRD3hDj8fWw8WB>P@W9-^ zzc3h7X4!V~XVbAo`7tJ+&Jn+Y+! zodlj;3!Je7)rXI$S8YoN`ioR)u}~BYKjwgR5GaQ;FFFv|$sIBT~7QMBgnQ zVFi&7e*pS6q1^Ed#pn)WLVTc~Y%^sKd!X~c0I7+vEz+3aaX|dFR1?9E?7h83qYBW~^P-D5*mT>_*ItdZHgeq#7eZZdWUOeB1Qvy)(VxO?JsTKl) zleL;~Y1#Or_ZoYe&g*kBY~hp@(vZ!YcPvIzldl<7;;BfOd4u!Nyv&Hq%?FKB;d6Uf zqGmn^Eh@c*gsIfL+?<*`0s4^W;9k^6Y8=aQP#p-n+2E77LKck9FbgXqn`EsAD@97~ z*@B!Sv}#9+t?%d;5F3v(yKGw_s4E}9aUzD>`vIq3O3=3QMnJi3mh5a>%DRLHTK@e7 zGJ=~778Ecrdzw2Q4-#TMpE308pG^h}q&hUw%M$HRXAJtW zX3rc0p_pQxoPU0Qd-8%S*!BwvEcgm+3fO${O|5a0#4?Y%DNhV)CcMr(d!Ufz zMG?j9iH)HbU4PckzcCXb+$M{)X)CqapoSO!fOwtX2WZHJKo-hZ>DovTJU(z5j*2pP zYEiO-c6^4GMD#@K>c6;;(~+X=pzqFH6cC>AerHNffshipnvm_rVILQjAmRhROyYow zW2;esUL`wM64!ftV4PJUwOBCoKM#ykV^ z0|Dx}$!=`{6;Q_L(NQ$V?<7zgkQ)S22HNNn+eNfEJb;&e(moc?P%xo~p()aYf+RlR zobl9NnKp7G=Ts!L>i3&O${(Pc*=n>-!n%(A_e6t694k6#Rw z z{e{jS=yZW_qZI@|cASGX=k>({bBii%J(2o~`@kg=7*HE4xBzV?EF^o`O;@zv`8UNZ zQ+1^@IJGjYZ}EieX`GEybwUDEv)xjldf)WYga_zh_XoJ1>^R|p1_vJH*0_~B6zwNr zY7>UMQY?%K9(Eo`Jis&~4x3Ywf?0Ur=qc)z%%0ARqk0KMpj4 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%0ADY_C;s49&b0upBN zhvi%aQ#yD(0uPctX}wNJ_U47>3NLx9GHZuH6tUWOyrU#_HFH^DP7c-#Isr6*eNMD% zkK!|q)QGW&?NaGOrcsbt797Lskh-or9v~sC0>X|F)eZmrJFjQ8k8bjJT zAukN}Qx-N#4MO%Lacx^NdZ`aObPr=bN`~uwiCjQGZ`$m)qUy2@-;!*5G#V_FKGhdIDZQHmhj`*e^>$RdXoom` zkCg_QKKtoU!=b^oT<4;0F{@+3PP~}y?VQR>_&F;Ey*6t_j~+uOvWmgm*7@r5eQuXe zS31MT$3ef(xJij#DRwew4?nf!ymRS)*mg^r=C3E*Xybq6tVI1eoiHAFwpPnVuYD7> z8~K>VlvZD|O9b5)H=gtwf%m;xq7P|GjH$8BzV#`b4*ZRC zUe!6~6~09VBF?3p4eIT-tZ9>iMwQjV+`Z-3uZtK)<503N--UB}TxJ&JwYj|xyDBS+ zntJM%Igz#dFTy(nu%LyUM3yuO_l+~G_j8@DMphr8RzgR3Gilz3(qWxi;y}pNagBz@ zFG_qbwn>-V{HlHwk>MduDk*Az6zJq`Mabb|=1+wpRT9=DWyA8(*mF1v%m(_!GByo( za0X$gd20U0aXUEDBZji_fbAQlxcjotFv?s zB%kLMzQnMz$uGLvPL3azL4^OPdJQ0T{q1fy#m5PC@b5Q(s8cx4z|g^EV?9JwT? zY!3OLNl?y7^jj1|IdZOS_|44zl`vO`e_0dcR{ z^Nd$w;d#*zk<})IYDhgckEfM?K2u2By`s*ph5QwQ>KDTVL!sd#1sdEiQyxcfeco5T zP;`S67Bmt?j6z(U=cOer4p-?J0;WsTm?G^Ed~W~K-!!N(Q~DziG)zrPtlqv?RC!A| z5}{rw^|VuRoOOj^S}XH!Sg6}}mQ1Smo8*52*^&t)39zd16)jiXniQ-MK0P_ZNQROw z{qXr!GfM%jZ*}yV@gdcYK8T7wWD{Vv#j&t@frM8 zkBNLkkw9NbZe6YM@H3e}Pi(osX(b6*V?(ntLWaFQ2W z-3KB?lGr?6zNue>1)T<3;!qQgwWK`$Y&nR_mUT$1MgED4PBhci zMftYxgio#i7slk}fug0&G z&E8q}+)}n*Dy*-?*ZMWhyILqyGvH;%Dy8hY?Vs-X(%{ zAuk&56<^o%$qD@K6rY{=^WAG8xQ~n+>dt4>%tO|Rui@NgS>d13=b3nZZ@sg_h_{Md zN2ZUb>apw~{Y>#|a)#(Ku08i%^ld@9fUZISW0#&{(29MRScbbJ;=XjGI_@WQZzmJg zNB8um8E$N2&Q031LZ9q=)APiHC9RujEvKvOh*QG;6IT1YnK%z{I;6D+M%o`*c#~Q^ zOwZ^81E)ePayqHRG@Jfp6Y2!q1Bhy{wvX`&F=iSzx`QS9HQiKxsEKON5(gICW0uPf z{$Vv3NAl6}{C`@9)PV z-Em5|#eThI=iBWsE)uVLT=8Y-v@mNw=rpaJi8ghH5jI7YdYtT~?W9$fF^ZCgR^rDQ z;`Dr=()13ORS8M!6AzGU;}2UPn$mPrDp<*%Bs`Z5YiAK*q;d<9>1hw}r+==LQ}`4z zFCeu^3tquj=54aY?xcubCLl>##pT+0+0LYQ2(yon3HCdPA*XJJd*gr#&lb}J65qL;$K`?zaH@nyqxDz+e~xj3%0i52&&-@TNULnuDDQv zHL4-;a7O^Yhx#GoZz6Sxy4F+M^s@jGKbT9pu&Wj4@ROx()6G=o0MkvuFAcD!pAR`6 zTL|Y&Nq*`H3Jc25==ZPp)h$C4GKMxa6as} zE8#v3`$Sv@+Et_=5}LO#G*5e*x+_zf@F(=;-8;vUjx$)$-fs$6BP(s`dvvh`jGp0Lep3o zsIOLs0Z&6R6*A}lkSV20$;~Ik*iMa?yze}-$Ew98utwPP)b)_=AO1Xj-{~07%^f`m6aliE)Dufh z)cXW)1yN>rJ(P>qlM*s?T!o7Z`$}+xNY?1~n6m6&)Xc(*62PBiB?EqDM1sY9{%&C} zSD25GJNRC>(PMlUZWfRHvL&cJg^9$ML>|@`NoBRI*@+IXw)t^j#%lq}Dt-QI_BPYB zL-hb0>0?gphd;N$=E1)yk6qIoQ!KalX9EoMe z#UvK7iG@h*k$xz>pOqLO2Zudf&|`Vq%kE8wW<4WedFb}iG14u(Ou$EkKZBRqGe2t~ z^J<4y4-*ld6yhA~$+Q7}dwB8K9%Jec6H+6GG;yZ$B*h)WIAWblH`IE%(Bo-#_$z%{ zwHW>WUrozKHm1FBBuR132v5l0y_1d5mAOqLS#pT;jdS| z+R{rkC1!lWB5Z&n;T?Smbg&v{S%A#De6@{u$ks?qkC5==SSO?m&}Ez}W$r64xUHQ* z>+#648kE4^5@*H=cz1p^O7^XNRX0WwKR12hmJUk?uA$NE)n&j4?q=a5* zIK){()SGtvvK@1<@ z%$mScK>W6@%5Wh?Y?!APdRVxXi>v&+xr!2?GVZZOC3)PrOCAui*08TB(~>Cf;Pb+0 z|I$3|=%ZC+Y3u~q$YsoLWe+CDN=&N^k8}lq`DlAts|D#5Ns{B4Ba5I_RtkZWhV}q6;QluJ9qs zHE;7MFdwfm7xAE`1-rmG_;vtaMUkY~=#@g&BJwrF-ZfVLH5tRMmGfKzw+oZ^@R76B zv`=^bJG2z`KCBJvAG`tOm~V@V`-fw3%Cz74az5Idu$^zRF{&8o5VNc+VSo3$yi9-K z-snux8^_7mB*IglJRK9DPd+3;E>Qf9pZ??^` zgY`&`RexL?#3wJK!4RT(oMTLPM0hsNoXserIYs6@7wcxB3WgF`3)$v`5AP_ROf@Ei z(dS;#90TFLwFG|1yg;f>Z64);*dw1ky&YGWQC}L@{n%qyMo9J`A}}esG#WMnBAJ zia&Yw50nE*vlAb0N!^z){P)!ksus*nq)Rvs8)j;*am`EAR;drQ?gVbZ$9`8@cRiDz z?sF+4@{uAZB3WDAlh2yWGTITEI6^iUT)2%m!K0uERy=Zj<(iRVSlh%yQdK%ClA1)7 zlk*(V6{|^;_H`V_`A#f&na#$KDK$eC25-tO*Q5vaQ*jooA@ZGl4TWq5xKe0eAmf{4 z5lva_4Id55tsNpmUB!)0#aB?fjpF>rH1ufis7i2Au}BEa|3R{&C95yH;W66FP?kNy5Y$7YnuHazb%zl39-WCP~d{4)2oFd$P}#(MPzxCNo<61##+NT%)aK;o}2?G{>_b8VWF}!&`hx7V6tm4V`JF)d< zf^gL7Y*|l3JSmp@@b>&vobN6nmx2#XqgDoFT4{70I$8Q(b}D*nb5vvdD{!)zi{@ZO zjwKM&D^i`#!f!TRRDXZjbVc)t6Pz&BQF}%{g~-+AKVl7TAZEu~1CPJ8#oXfcBpFUa zJ#RO;1s~ZORnzJ9a3{y{C;v%Dg)4CpbST`_TKPU!zb|}3Fj(%h!x+Q6i{JZ+V1-D1 zr4L2QtIuGe8M<*!)1svss?!Gc?6)G^vbNXl&~{fS<0v6*NxYcuZib@z={^s{J^^ z=u2!kW9dtbJ|hDifJ?(i5!*e3CkfC&1~@$b?*NQhJ}La)W58X@=l_jK*cvYJD`{!; zM+4rkK<)rfhPZEK+r!4Iz&Z_ApMiC*{>rmBth( zJE+P}A70)268UZ}u+-)!JJhr^$li2p_gH@GV*dA9$kq_)1-37-j_~zAr+hcoSZcSO zfPK^3zAkO~X^wYAV|DOr-S#lw?+Pq6ujeVY{fRKzk^9i?;cCzP#_EVHs`65dv)Jun zX0L+A>Z}Lgto{}7$`=nzwezk5t=;klEPI=CeHTXSez-wXetPio6|m^=E&*PEbquVt zDt+d=JGRtcTf+?<@3O{fvDdckVI6<(;>PNM z7a%UL5x}77-~gB~KL{+gM05=V`p+rZo2Km^zY8#VkN+Ixf@d1!;-U|j0u%%oh<-Bf zOJw_f0nE6%T?nJi@_ow&tpQXW?+yspe0PJkyfhY6h3$UhFxr(z!1NYWP#`9tpwTGL zZ@|F9Jy2}68zN9~y%n^U5N|;qCxHofMjk*?qeL|27S|mrT1z{b)a4ezM=9IGxBbBB zDcml|q3`S8(g4l1d|?F2i+fKA)aM@XXQg`r@=E*Wzdh_Z@d_N5b>9GwD0kk9T1!cP z0AzT67Esn&x_$uQVj1=~M!@^JEr6qQiBq6Y^`OQ?{{RIec>@@wfz0*~I z<|i=K>K_14E6+gpJS};Zw3--yiigoY4Z8zV$AFH|T?YeUJ?Cr>x32=1tAy7;tcI@& zwubHl!0aDyw;-?zsAy^IqhP81cmTku9pjqc_`AyM*FWk1^|0cB`PtBS2*%6}61_a;yp!xtb|(D>3mP}m=TfCMc; z{_8=Q&3XpHV)q7WW&8r1z2*ZYx%C6mul}+F7`D0mC)gE`q2;THt>M?dO#ob-yMpYD zUqHM8eA&I-Vt`NpM4bXMq1*uq?Rm-%L>v70chSFhfI=^<0hgX-0zk9Mi2g0c3K_^* z8K^_&as4+W?}K>*O`e+44ry9F?Ry9r{F z!JDY9;lw;h(JpQP)4%bq#=oEdv;Kx&1!4otTRfn9mmSpQ9)C{>p8(T4B9IQT-RlCr z7C~&02XX7KgVVoj{WaCp{SRRO!ucWrz?8chKVS|j+O6poQ13LL$V&%{K*pY$Al!gb zxD5p%>j4rt{mY%dvq9AQd-v}U2q1>?qmX@x?&E+=S~y<<-FITo0?|nvK<=66zX1OS z$Xy`3`v?CA(^20+`oIa2il}bjv~=?ZIIRYe8KjYPC&7SRq5i|2|8tDi_45B8-~WU5 zUydfCxPiDt^shS}=znkr^y}dgaQ~NE|1uLW*#U-1V6Ofp!oN%hP-ggd8~cYi{~uQU zEdmH401i}v;s8bc%bvg8w|rIqx4QqZRsg^vsG)Z9SD;f6EURHb(nmD#>J5|;8YF<3 zWuRvIzX6+;_YO#jrB8sufYibc)ToE#|80W*ZePHT;kE#vN#iqU63Ppp`E3fXfPC|R z0PPS0D8mA@<m%vV~a}f>14U)BgQTtz&_?ypv1mZ7H z{z(PIV$dgmztWT@ps4i_O$1>1uVC0s41;d}hvXXbfb;q*kds#c*I79L5q{%70$@F< z;QyCfbRexGIw}0ODQ-Xh)1F7D|5P*@B;lZ5{GUw*hNAx{gFFLh1+`%b)Pa8y3k-b) zBKwQBN^|N49S22B1N=gK2! zA2|k<^RLMKW$NkA-#|uBD4=$}_JFt!^9D5L#TY=}s`Wj9*%m3lv(>~gF!`_c<`Td(>M=R`fH!|@i-|X5*H5{42z84WQLYN`ftkjAh@mC)^#K(s(`_J{x+pKN= zG-PVRxF65$AR3%q(f{?tI0GJYG=VoLz_e%;E~3===X`H1sfTLi1K2W?H7XI>+JJ7y zZi{$M)k+Ae$M#qm`X43C$D^}wJ9+LC&-Hx-ORlAIt9U!`$>Sc~oN!)@=eV+Ysrr(Y z{&=O&4|a!|+8n?$t`KL9{cifSSd%}lf*;!l?MlJTf5g|dVdl&lpu*xIp- z{Q#1De}!vo7L&aX%Ke{qt)uwE)jXTmZF}hEnzn}tsJ7+gErDvdvL1mG8Y+f6T}fx8 z$52opA zWpGv9Hk|VWX;LZde6iNpwm!1Aar;X8X1rIG@)&Qp8)m)18(qs=P8aYHK4&2wd&S@Y z@~M=pIRPr6?AeRT#I8MO&6Z((iZ#*jc~M0pPRwG)ufl4u*W|nTrnMJwhuT?vTck^D zoiWoz9My=Tg9?_{-O<;gfh3X8j`Xm~HhZg5&E|p$2$3vs^E0g%7@eb*#qpbdK8h-r zV+SdZt1&ZoXP>1;cqtLYZ)Mk}`A$~rrzQ1c(b_LV*IwM_C(&NF+|hB2U#k7P=#U|? z4q2Fm)V~f=z`R@Ne^Pxtxc(?%%y2b!cgy2d`impvhvnl1-LQi?d$63pEgQ+JXc*eD zd9btHWW%o@Y9F?G=tf&Pd>xaPhn&hSnk6dEFvg<5uMUlCvdTz<(aNb7v&4TiZP;o~ zCZg{&)Tl^Qs}(tsa3bGN&T(GbrtOTyM&i|aa&XIgD7#vG2-6^L`}I8!=0Vw{rRlre zwKlP`L4jK!Y&u@-di!qjw9@M2kJ2<1zAv}4Za)q~=Q;%~>}$&h#gVA!&#b^9PvLy= z=~P*+bhl2wH2OLv=L$e zB`+Zn8{TF?gE;cSda-r>?(=kDz$_S^a#xbW1pDj-vZ52!w>a|E7_*b-XH$MBc?<;B z3MsMSTdhe`^t|AaC?qg=c1uPNS|{%UL=5a9#^KC4YX0IMD$GjRZ6>b`(gU{fn@$Y& zKQt-Gpf$QE>{J(Qki2ZJNfiu*3ww}pXd+W!TpIL$n|)&wM^bBwi&F}&4y?52P7g{c z6#Yufzy1s66H|PmOZS7gz}O18ho|#6^f~w@@|eJAE@f(@a`UeyBs@t(icTRnos7AC z9juwyxLmGnKlO=io3}%AJVazM3JOug6oT1XQ@(3SZn-wNRA4oIl%{QcGk5 z*-bs(#VJwE6@&Tb_Yjq`ILEu7okn(T$F=^U_(L+B>^B+W?o;d?{fw8bs?8rC*wpThW5`ra{eJDC=zFe zu}jZW+l2#Lpe>ZVf~zN&24y9G9j_O!PV`OO~ zJITUqL;`acJPfQY(uVE0K4EYEkp0d-SK-+M_@d|q^bLh8t&5axoVGyD4vdvqLzG!y zopc=!;|vQ*n)fYw+43BuOaAuy>=fSTW9xk<1ai!wTtrr0Q)V-Ac3%Q+jRdyUoGt1U zXyV|;c&EAq&#XjB536HMj)5mBsRK@K4SCA36iDZ#M*WZ0+siAw8f?RCPAkm{TcmH#I36B)NCu| zeHX1t@&a-O)?eK7_}Ch*9&$5RTfsdGad+^{ARQTxi)Z>oI1&DpykXe>GMTVU{Ic%EOXlVmKoyOm94Z`&JHG{F-2&f~;GDO|C$n3U*n zEJ-fHBW@fgP|i9R3lBg3bE*5dMie8Qa81*0SnO1SL&W>LV{}@*6Awkq6A>HDC7+na|X7mrd<~3vg=~VlS_v zhZwCrs}j32veq6fU8peBakm4ln(OwkgfNxbWKpcPuFEiDvoCV=@!g~1a3X@BOG*}s zGHbEcTVO7f7KdgRHrHxG%uaW^3<|$#CzeO4ZQ}gEy459Ls8Hk9WO44yEcO8y)AYD4 zM*@OyD^51z(}z_psy>4H$=?u9Ym*^T-x?>?F+?#Ow(h5XdLw_<#%)`wQ~I##_kA@6 z(z0lhA3sgslLCURSxC{4HW(~!DSCab0v?9U% zC{CoZAhYPc7Xw~zVW?w`YFqFgn?x-l{J4t3Lag^n1ouYDao+s2A+AXaj zxQ>sh?-xXnKMjF%dr(N7Df|>RI@X<7eczk+6iM|t75u0VM?=3HihGK~^jOnNPu6X{ z(&F*toY<e?ahIOK8e95gL0JL+iE3&osBe1N9)dnVYNc7#Rh%8<98sDZFVbiZuDe8&5rqSdQ{n4Y zNDS86<3sxG5HBUc;OxKhpT64TQYH9E=vQOY;M21fa{gpd-IQ)I1tl6 z4t$3xEPb7IJq8sheQN8OZG%~>{8864WI#dzoo z8Y*M1*kTv0Hc#8uToWuq!rtDBml!jBWh%Q{JGq7d8OfYoaHcCun6i0m&Y8&uJL(x@ zNSEaL(jyG(aR&Y@!_y)vebGU7I?-k`dAT8CV~_ZkVE1*&44l_1q*(EbYTKO@wU8K} zrKw%Ntj!GgkgJ0r=ubU2IzBYM{OP19PiDrwzTumFJGsSoAn4u_CdC1JsFAvX{ z_P;Hl`Qp_Wx0&voc@oeU5-@f?N9FIN%kc4ol=;upmcUMaHNO0OJ_VyS6qzp?bTnX+ zCL^M`7~_6!gl&1je0+~Q4jNy`NoicYjI}PJuw71@=q-QuhSG?ss_(@ z9w`lPrgQLcEd;PhbO_cETN|Uq_KfGz?I00JpzB!+2PB18(p&nq7^YvZ3EiNp*;-=T z#`HM{XGn3K_>gzJ+Xqi=3wmzxZu8(67J8cz*)wC%SMj9g*=epo5Vpipq7V7bW>r@k zZP`-@-d_EwI6ge!DL;Omgly?dyYNMtpRypuU`V?ecq;;bqm{B^-S1#*@Spiqe_D}Y zG54Czu)fQYg!1LaC&gjjR-~MUJ*9b&tbDhxF<(NGc?3JNNwXe2L-nh~sYKdiwATCL zltniS`Roa1rrK_;zgFY!J-v#Z;m#8Cfr$QGXE47*k0hcEJmnpaDVSX7x2Xpe)vbeR zNzaBkp<~flpHi_zDeT(5b4=Pp4u`4!b4Nc0cLlKgkqvB@!W!;IET7A2Bt+`6oZ7gZ zO~q}B4U$_Tu!<>BTU>lYmEbeusjv72>%pOraAZn;FQ&I!(dI2hrV7zds%ZZYRqq&_ z$@Bex=ZbCHHaEVm*tTsO8{4++Y|M>zV|!zBH@5T7=UczJtL`ULQ`7H0eP*hr=1g~= z*NFyag>J|di_|a72$d1Js&FWdC~*J>5YT&3Qw`u)C)Vc+PII&eI=3Gloeek0Y>4W% z`Y|PwrtU?-UxR)cBI8OY4$m+~edPS(>XiyAJeQ)hldSAUp4#S$$S$<^%ZWa-p$xbq z2bdhAHNZ{>;P?Um=2^FGWncsfqLDxRfxSwZ^}_E>N9d5yZzgUk>`+Rb7B5u8YN zm;v4Vr;~Kn8xMgzyR^q-x;ZboSfyde$REUkv)Nf!7)YiA^Ut?oEjuRN~R zj&PN!Me4xjTN-$(0_ky-=BeR{6egO!-8_M$kb(@>?us|%3hFNb=hxoYbVS7g?Cb_p z;jBdk^@mJpyeqvfrj{&6llDlr;b4MmkdL-F68gynZ9^IPj(NB)AS%4c3?yIhM^0(I zn6|TgYTAs7pnvxntKhULVjl7=fF48`3=X=GLeJ}}i#D{gMfcjpIkfW0S60K=tcfA! zQIBwwTlz>j;sXDr^m|)9$^Wv`8j(B}H;NB^&GWLC^48#+R8C*5mY2t{gFaH_>%dE- zKP0}9Pg_S8Xys*+cFRoeoOm2`8-67Y7SDYta#glz-JTF#g~@942Yx5 zu?k9{6ou@g=$5`?%iAxGr!M7NoQyUi>neq^h(yTzl zFsCkb*_~$*-z|U>w8|d5ZHXInna;lVs1ZwZa{MWp@m^a-`c+ky z+#41d>K;HRz1_wa7i&M_QoRVHjU_Ns<7o-;;(~cEU$B!JmW=wj`n#~tHL1F}a&c%D z3K6a5^9Za}6Id5sDrmr`^xeg$z3UWTHk+kk{gJ{`DG+UsM&XJ&>{u!#30 zxWh7fL$JPK3KNV8*=G@3m#+^l0^&(@x|XDQvXvSQqz=XeOFkuuyb@<_Qcl~q{BQmT zDlKXcFl|28U7EpqLHE4z;JOq2qDsUM#RX$4V~>oTE7fB-YdE}*VeqN9;gP18gg&@9 zJiP!sQtQfknr~!n7>_pOTmc#%mG0t~D?$mX!s1f3PkRjk0*)HVyCe*ZTI$1GlIv7k z?a51Slzv^@0|P9aLbyOu115(Diq+oKzFLt(!T7Yu;uWHv@tqfmij3K z9lU;PZ<^v)fNO!%=(1L>JHI03q3v$;TDvrXI!WKA8a;O;J8EV#9EyD!ZJ{DWRt7ay zl5cG1{eg{PEpyypN;A^g4cpN!TGO^H;E$^Z)-I#asRuw0X~p#K2k`k$b|beGtQjP= zA~Ko^e*~$?@#-e+wzeC@bQ6L@wH>zWbQIy+H5iXA-V>@ubk954_5Sjzp@%(~@s z?xEn8T^YG-=_!dZvFuQ^+GYVwt3EEks=6X#c9ux|RoLd=<2Dq!RR!GTn~2k~i#=o&?0xHNp!Cj6@!-)^^WQ}nX}E^g zjdEW8NppO1|u9+PPH#dn4xMa^h{EgX_qk#BrHh8^mVT)O|Rw^&|tk`p=7K} z;jjnR=cUlFCTFb0phDN>T-(8axLTw)Dl;xne^+OSPN>ky>F}rRyDcIA2*sgXhgl&c z9&l2cnRlH(m;D18tdql{A9HLF)=#WONdPB|24wrBu*;^n-WwmHF{P?k3C)w(la#*I z% z;<=#%Lt@LqYU21JB8WHaWUSkm;U82M)I)|E-zIVfF*u=m| zf-;zrBZl%G@=YE`V}CT!Y2DaGlq;hZBbE*25Q-nIhvi#kMXP2B;4{)^noCUNlzNtK z(}@AGG?haI@uJ2TjtCjJBZ5J24l2)~bfyv+cbI_PXg*@&Ef6n?V z7gL|Cmtj*`Q^mQ5-JeARWx>zmM-%o~tAbR?Tr6(I%nsy6 zAxNU|too?u&J`67dLY!}#Mj!k*Srt?tltJ=g{4(7OHZ49;VVd_2D!)# z+OkqHx2?|y;m*AcI3U)IxWYLgpH+m!gfjL1Kz$_9Io~>u)9;P0Pr(EQdm}P^m%lGs zh5Z2Id5~e%y=M;s{$zBXrHy^e9hk ztbE#Ph}=e&CM}Wo#m18Nn>jq%QJj;o$EO^lcy+0Zr{NO&4^JdihOOVz1)%2_`Ui?q z%qh^As4WoZ-sMUCJQ_ALc#I8Wk|$dd5E>r$bh{`SlsONFx_H|2FsJlTUj8zbdns22 zf>lYjp8IQrNk}zOz=ST6T?;#+07Dv>rfelvAzKR7!k)wV}jsGcFdQ2^Ntzd zije(<1rQ|@ck*4}kO*S}Ke(L&Vp>}?x=K>mzZWJ!5d;pgACFTQBEMdvU|GG0o>+i% zB7$K$ac`eg75r(TGEv(w2v^rqKCpqqEJ5?6IfdA&8?!)0PXs^U`Pgxa6BeE4tNMxL zSXo!mYH!fHVS5PrXgf+$JRLRN}ToUlnukYyX(94iJ0-k zU>CI`OtilU4{f`_7oT26z#aQp6qvL4BGppBQM075e3-rPMF?R06|N~V7H3uSMT-FF z$%9_;Ss}sg)=Q2qatIPVUJ75UdMA0;i6E`mh4!KfVnquyPWa+4Vh3Q&+sUrH>Ah8N zlhSFInqCmE_#<6XoZW5A5W&E51hT@6r|aoN-VS^`I#cE7d7$Q8@!`XQF>g*Cm&N=AkUhsey_oTqVFx;$kQ{C zzRFyArC`?ubD>>Y+FoOngq2z~$!Z$~bo7X>80cZ}Q*4mD=)QpAYT_*|Qh^%u6S_{x&`Cvn)s%0>r(JE^^y&!O>k2X0}a} zcE+%iS}Q)_KiY^DNV^hBS_Kq(D$5#A>jAr8Y<3d{a(yiFvHz{Yw7YvwcgkOJ<8a6! zs2MMinyz=U{d_i|S6(I3!4|OsK;*?7(bP^ zX7do1|6RUN$Kiz}rJ8&$FRg*Pat{1~k9{IM&7;YszAKhJU7XATXvP~NV@JE^Ow-YA zM`8pqF_&p#4~(ldJCh4DILn=e#BpRPSJE)uRvKz5b4BVySa;u;$CpkTm;e#33dO|b znKD92Z@BIX3Q)rJpf<>CbqA;zSa9}6fr9C0*e6g03yg`@B5fU?R-#?##L^D4k;nEK zz7RU@)B37BA_hG9NO7pkV8LNa=|z-WPR1d!Q54;aVa3~}D!}KHa!gP2Wh0$l2A{sE z9>%8(($RZ=-NqDKUZe@5M+3G$spe5>Fm3s6L} z2^=JTfP>S(hL})p!j(iY-F_A+97LJ4`d%=N+#lUO-v*E*-Af}CI#t!fJc7;(-gi>g z=#=Ri`*c~v1lHZc92CzX`vS9$y`+Vj^D;Y9)}p@uF7*4o_XnX1<`3nSIAod>2Oz)n z$^M56wz(i0CMrxi9G2)BL(S)P2rRr~=&-iy&Om9m(_0K2y|TiLOwRfUtYD`kZ&o4t zs+5jQB}#bad&xIy+DLU;7|~w|BY*o6O@l>V)P??ui&scEe!l`z&1YzTw>(mhI5?iY z22!QXEy<7C#M0oO#K6$Y_tM-r=+QKLyN*Cmb)ZFhaT$d$2~P^5sAYdwUKho=5!@uo z%7>0#=e2-)3|xur?LW3E?9iC}iRG17dEaH}%&BB2YLH|~qx0lD9Bs&{)FQTTU5;=) zs`vK$8$K;1No64^-ISLmf(NIPG;ApKX+1N!zNOzhu#CqG3`yNBMBij%0hkqoVh|`m zEfqJ{b1w~%7M9oGmGJ?UY<5Axi%)C7T`cP~kiynfGs=r!$q0mXf#_$j4s!o@co4Kl zD{3y*Q4Dq(toxG&4Kqw*h11$DF!=Ut`IS6)uS41JEv-X9Z{iLI1M|%9N$$vW6-x5s ziSbM&Lk*j6Al`Cq znJ-zd;&}`bDh>L@1DiAF6X$#59}bYY45ivxRJ5*}xQ!yD_*CLfc;sAe)ESGuBxD+> zb#-IyryEy!x23a~Qm9u;M$3eS<@64+sv=}smEG@r?<9>#OS}6ah_ofk{48<8)6-fa zBuoVpO8>OwKW=^uUr+NPkM)?=oFeS6KvoJg{L6w?sbz?lqw@)xBt%*j4me3*Cu9}v zaSb0nt=I)c!L!Iec(XXyY6W~+ZkYbAa02z_2zxJl+O?}WPGAKg6e5hk6{k{Gt^okk zgaOS${joeAnx4kk93L0`wuX>$wi%dI8?_TMwGI$JP(Yjkhbn}(AC{Vq^RIIy7DP~^ z7MBcz-cv=;C}$}sU{rcWsz)=ctJJ;zVxK6bw)Iz2l})4|H1}#1vY)ow7mAPjM|##_fjzex)D7AgEzCh+l1!5iPh{dSTP9xSNK-#*TB5b66H0e)U}CR55nc z?$*(t+iU~|Il@%h6>$`EE%j7d291|aeFJ0R%6*=H8Us%oOP%{Iwqu7D=Zh{0o+ce% zWc39NA0qt%s8T9v%a3{77{aSXtmEcG($`>gk}7kvL$N0?f0HV7L92wrD}q0odhehK zB0t9l(9Z`e?5{jO3&LSC@XnK$+j4iC-QmEgQCFxhfy;b;cYYmB0uIn4i&uwPtDb>b zLSB9=WY1zK{t=^>&tzeFA(h9zN)OCJ_h}OR3xcMp!bm=K)7=}GN4d25>n!aTwIU)% zwo^Ns$3oez2hDuc^Albj(l{MxQ|*~t8$9uH7BP_LHAoCcD~Iq+vxe|LXuRs(6FXi_ z^c7?>9JVEoV{d*BI`8}~(SSO|5Bc^iSZ{x|U)Dw!#w{t#Ftoh-D+$P1{$l0;3k7R5T*&a;3SBX(;XlHF^1zNQS`W8nEnDSaohyIHO1%Wf% z9viOl9(ZYjf+-U5nfKA0um?V;{ez!%w(UG7UDY34xuU@YWy7l>W5RXtKdbqy(JfeF zNTu{}cjPVOca~)riU=aEsi%)f)(lhJq4Iq1b9k&2oz8cB$-)`4IjQ9ne%XME21`rE zSqWxsSI|z>D_XoJD0(PW3+ zG;B*6WFRPzS_0xrexwPi08O^t;GfgfV%{XXRx(D3|cV~wQ*o4PaF_y+@20L{j2RsCe#{T^ElTwy*Ll9j_ zTSVDYkaf}YuN8~g$=Qww>ZC~t;ahysuf+$Rx><)`RL{kfiusfx^CANqOV>jBVmX1$ zV9o5ZUhAXl0Dq`UbiWE$_2yYbe%e56G{g0H$(B2E!HJV%pjO`7rg6R^%H!WD6F-18 z)C?_OT$n3nZC7_j%J{z+@uaa<8rv^^-NTM;ALXRrrh3+B)B1DIA5wb)uok`m_5OXM z##rX`O9$;`uX1T1=0E` zX=UH7Ut38wVZH&_buic}MQU=F(Ie(-Tjxf0+z7T}60y*t9HcB(jnv~qaARDaQ&ssx z;aZ~hrmM(o?eAec5G3YB!%`fqE%z*gt`wxm_v}gD?xOq#uO=ZS zi+OOB$^k6DG)1j}n(oeZcBzO^EZXYuM%hXNq9e+ql=Et1>WZ2VyuVwb9@763!@>$= zl0dYRJALgU-g$Kj_5Nf-{RS0>7j{+*P5!|BZXIsL)H<+ly_+9OhU09fa`xWTz%hK} zP$9>ZU^DU{AA%1>XTB;yb1RjD;ic>XaS^myOGNzR-rlKF{5-`_{3_t)6H1uW9HtUE zG>tCa*DAC<1<{m@#@f;j^&t})wGR~{YPP9q1j&LkGC6Q-c4M*!Y$j~edFqE)$CS+J zsX_D_A7If(IV5BV4u|NdieIn3Zb-_4qt-5;Nn%udbm4Z9kxs;C+O}SdC-b6z&2dID zwKEsz%quxdDPfiOHx$R)&gy7VhM-{}CI^vz?no*3NFjXw$+*Z^+wZWwD{Ma^ z=^d9W)SXvx`0FDM>;UDKG_%Tv@t^R#it|r*v?z{wf9;VTAf70nG685hb|0gFZzQBd z+NSKyvNGX%m5VyOwV0e83u&|vXD9f0Rxs*Ps#2jcl5}6QQpojL9S%-8%Ov7ZD3R%# zS9|?=cA_@avku*Yh;{g(ezsO6?yNgLSnk|FdrN0C2BAPM$++)((R~bXm(0vU9bUN7 zs=~Y=PfH8@g$}8Uq)QJdex0!#^m2m(9{cvrIF#|i#PM~C^Y}}=Q-zmjtDi(Io{RYc z4$*JaOTPqr5X)1E?zKld!T@NuvC%MRJ=P{8=YE5VF8mYyU<0e1or;-)3v7Agj+EZ zm}_`c5;=hgd_2ZWNm{|&;^J}mJyDfNp(#1VC{Ap9$SdRMzpqY*Rkq=g6&(#EF(DM{ZL5Y~kjdGX*?jPUY55A~x0%z4-n4hdLJ;6kIJ6 zG^$)Fq;{)w-Ajdu2f>{@GaG+Galkl&ib)--Ww@rJJf_U0U?fu z-Ewh9_6DyJJe}oo3R*Antuk})MOMsTQ>o9{qqRVqJ@ZFjuNB2;gZl59>K}vYbN##* z#D%K}FYvFVl)d4N5;UBZnj$GR3~+xLQc1T)kvND<$sA5D)@gbP2QF)iJKR?cgs@U%VpR^~sB;50b05zuLBR)S{kmzF~r zw0xc0v}3VPRFaV|jqUb@QIHjhF6lh9(9dc*Tsg^IzBI3GN$Jf>-*UxcN9`}uL8i+c&UYQ5oBWf6L)lfX!KBU~Nj zCRKy6Xo5n_k_vK}gLxTiqU{lqH)BTW>y-Wk)?DQ3%_9aX29o`kF~8x8q{H!6Tcmk z7wz)O%^^MuAUvnS{~*%R8DoP6-Jsm+r&1!0;J?|1{6H3_%WtQ)nJsXHyqf<&i&CGz z7)*M=+bCf%(NCW8h!yEIU&dC0G`hL2RX`QVu%C8@T)|J}oMVePb7t*_Cb%@5p{0^S zAR3+KFM3|ctv&E}Bb`HsWOXz)=yaMY7}DpnYUe^DEi}PLMDyX$Jh;1`tJU4EBxhFO z#kIIb^dL=M**c=^H@2}xt*>XHlBt1iT}7Y}Q^w$Y6Z{Olw5nW#qxG*Z>K6uo|9!~R zYh&^7;NkoJ4R4!bOf0kuoMq8;*0B(#>t~u4gN^+WTY|c3zkI8>opJcjrt4>*TUJst zsH$?~7uS0BT~>p_MAvLOy!2>HDZP>e{>%bzErUEF%Zeak65CSO&4kF7G`wHTw|ZwJ zGT7?edyeUNZ;h_!5{UO~tIy#v_3GDQ5sgiaU*^t7-Kq@tPa(G#I}V7<;Qju1(Z z8L}I@Q3wJ(_v%FxDO}bCbQ93tFrF(RODCbj&k%gKe=p2t^iGwdva0S3vd5?LJP{{A zIkkxGPw%LQ!g2@OLoQebhB8>~Vgq35cMA&$znAHS3(gp*YvURd<d z-eE^I_r<2^x3U&=#spDbGt`kY4u7BitEJ}zvKN3|>fchk3#g-xNnjF#eD#c3v^Fvg z4jV`hZq`4@{>BiTQE2UlhF!kt`QBCrau;^QX%rTVMsEtsKWNFbb)bmI3F{YxPI?*6 zGk?!4W^)#1?kvry`x{fLVSmiI;!gO;Sy+K>++9hUwC)h{kxBmCEmve#bc@HTme2EM zmo?o+JxQHl1(J8%_{NGyXs9*2XdVlp*fgtvTh6mld1J13;{)rnjG6>k^A8fRThG!R zt{IZ8yKZlcQ8 z-{0(+O_?KTiEyIDz9PboqWodMb4sTW;6NlF1Dy!}zgISbRIFu|{m8;)a3t<{XQ=^# z46Z37M>s$DyIfS8+;*`wKZq7F@`aVdhTDG6^c&Nh-~L;)k>GK4*jcJ+bQJk*yhHZ< zbk6f?_(dVIl=Ue4UEp}sCQ_zD8*OxzmyyTX;%!bd_{bb~ga3cV;wr3X9!*LtC~*l9txGKuJSV)9R3Kj#QRTT? z^%&h+Q4tx_=!%8cwa^cI;oyyK;jLA+;09*;k*%in!n$Bon!tyYmH3Mq6-^X832yMe zmAU=Q5JJM*`BUnqLTa1uR%?g)W{JxLfN;7dhItQ@*YfURki!04vDhFwwZ+XM=rC9| zO@@~Eh4HZ`1BhIt7w|k*6)|w&Xx2(OzfW8gQ7$L<4E9H2{9Vb{A>84#k3XNp4?uC@ z`s=}8t2ZpTd7H1y-zb>%IwaN`Ep zwYwMCz#p}Z!uI+YgK5aOUvA?4IOnW)CJ5oTDaAMGt!#nl5{k>f)qo`ojXA0J>W zbUkMw`*A-SoujO*fN452)?tV&u7@}h23`R*GIU<)4jVL7>H_98^4+w5$D!iF5^7FC zP?nX5(nDc{I^#X+)Vg?0v|+0(>uhbkW|vd_gKC$ zSJKU~^@pX;o0K)hM&1`+^+Nk`fL^tDD5@%t{aO!NmQmUg>@RuCKl%_b`eRO{$7>j_ zQ-o{F%%+n*=MftQ;UgJx8LUIJb()+*hpeN0<#mK?b_D)w@J)I>nZz}-(U6s)9G0$V zQzuPet*v&_&FQ}Qfs1n6<@5Kz79y6X-gEzu!_!T~i(Jm>XTJ%WMIrh#h5kraVbkW8 zwZ=(IVk!QwANdrq-V4dsY_;#a$QSunQqU&w(=I>g<8>8~mCiQub_MLm5}9RFY0qSP zCPFBM^As0FKc7nmu?K>&=WpnE7wlJ*_DRQkPkw?Qdf;wF6!9ikIs#)PLnVJNHNMS{ zC*NX2bt1uM;&?yuO`CG0z1@nE9U(|N1HKcCKi8Ox4~BY;TJNyw?-8F{x}}Yu3;#05 zG&HKRq7vyl`~C?vi~~S)!80N|NGI>~$-W?fq|b-TdzT9?f1Kj$lY7*MAGvGcfR*9( zWpWa%SWj>N1exxKP6!RyKo7~fTo}~~%Zr;Sa`2A%^JsfVz%HUtNANR75!O2U9Jij~ z(Vl37IhK4j28{{GyMA1^CXSAqrTElJ4ds`w>td{1G|UWPMVQehCsvdQI-vB*junHL zAyz@m$D74JKXi2EMX;4*q9ds_A3I_sUVD(y>aB*}T1CppawBY`*V{`p!z{Vi;Y7%2 z`mpxmlPejE-?n*j)##vkqF*>w{p?0pNylLZWNQt{@7XaI9xO9HKtib_;ZwKP?c|! zXhYtHBt`>?aaN&)nEJ=3cEg>HP-uQhE}-=C$dGMwfg=Np%SnLC@zDkbN4G8AR&S@4 zCFui;nII^r6LWYYN3gY>53-WJU*V`UuiSJaf6QwFq~%ltU-@2iYWFz9-Z?4^l*`-A z8C!)p7tW&?6GRN#t-Lj}>~aMZ(j<8nnxZGq@s>B+uVaT2xF8o+kV~a*Y}TARmWQhz z5R8h5cIj@SLwI)f^uDCq;@S+>MV95s+S#?s##xMVkZOYckVpCbej#+fSRF?AJMe@y z*o#?+&V|3~ouZEwo$%j@R+p!&=f^=w8`$?L4K&!g1-EX0k5am*;QRWD;4$D@G`xA8~?5PQjy^-TcKv)7H-BDFck}c8@-6` z6R4fJW`oFl+MbwoRLBrOjMd7mC`iP+xm`pqALYPmNXFz z;)yu0d%T>-3f}?QI1#KP;TFGceocX1FY`$0*#%O&@K+R_<7PlVw&w@AVfH6?8*Vn@ zj(3qfgP(9V%PR?Cq$5-TCR|@ev7{I=;tMz+I#CF*f0n|td#U(nhU<2@Zwu)OonV^X ziUpw*y98uE*suN7Ed$GT=+?6~;LC8>>~@*O4wL{8opDGTY`#0_v2ZVe#rGN~t>H&R z%GO^nfl9z{AdedKw8f$>raW4h=Ez&%7{>>ZXxsXyX|$rjz+ZaH;NZ&!kPVahzuxP+ zbz4wI;hJV7?TrIdl6enIWMSFO{shqC42JBd zKW7Leb4qCtu=nkM)1WN$H4OEw%hhcv%@h1VA_(rf`vduVQCIYD{X4MNcwB%?`h$mu zY-e7Ir!zRYqBL5j>gez#&|7i6k;Hho9W|(v;Q@B%rM!ls<=v)uSW>ZAw|`DN+xsH# zXFA0smm^WIg>G`!rJJ}wX0TA(bsY%kLCNEasDHt9)GdHMt{VhQZR=bNA9r*$MJ7qh5(;3z>Dx@t;0XyK#`=VnOETXQ>%0@$r zzY+s);$8nf2_B6G_x=*Cv(fp>gI8qUE*TG%Al4^#Mh=weX{|_(v=4@!&y#h% zT}!|XuGN1|@Y!xiV*#s*d4%gv-f#!l2MSA>*o;yK&oY zaaZ}~v7~03V4*G(VP37GNt6Mh;a1u_BTV_}-O)e%W3QK&3L945JaK&sq(|We0h#wM zl5bA}I8Wgd>EFP)f&}nN09dHIZ%Io>up zSO+k+=)uE09^-vL!MNs2Nyye| zI9B})*CJ^@Bc;bYr#QbJGf7CVXm&EwNP}+jI7Noqqo&M!6a1ObXm^QTl}(j94bB zYvd5YVenP?Pf+XK#*2+?m^;&@I?P>kcx<}^zSa;x zEU*plz+)DrQI8#3A#obq9m+&!esJpz7zBy+p=`^MtPlpvB%?ru0(N+FcUi5N*+HR} zzLe*gEl@wz5$RnB&zUm3KeQ>kt3J{NUWgIhje|XhC18xJPb)&ZH_ud_7| zKP-f|b)X;USVn1sKJqC5TjaCe1;dHw>MOUU=0>s_$!wC*bxz8q#wK6-cja0Ooe4ePi4lmThk%af?G{!|ydorL>BvsgUY!#(7j~hD(;{x{c za}r!74n_Qvph0OPN264AA4NEA*?a9;h!47<{_q0=v9}i?kC9dVYzJ`!oyO_A8={IR zU<^FN38-!5OCuB49c@w}4VXi~eXTP!s$c`3J6#^y5_QE!wTbY~dL6?ye>=hLcZ+TK z2RF9w&D*cL&Fl>;!jYWiJ%M|`nCGZ9Hk}0P+Ayh6{@bCO*8J!ui47GO_WhT^G*Sq% zdLfwyjS%?H3l$>Y30%ylV9-Xob3Ve+(7Y@^&$9Urs{(2_2_6LhA&Za2X^9gF)^d$g zhO5;+a_P@K$>Bo8F|#1rQwJ*0Q10HlCdZ_l*&ktcXpaZceMz1k!_X>H&dz`Gdxp$z zU;%E3JLnA9l&xp^JmUzq-52xJG*SAI_a&yYTkccp+N{c2BJNMQxK~ zU_UmJpL<%qB33bW=+YhK0O8Az$8tl{HOY3cRAmD6Nulk!)SkVwyIPVu@LOZGBs$A{ zxco$Y_(b5MZb5(iR!l+L?*~pE9HS6%sYt1m{ZTVIUOdAyKz9&~;B75J5?b1NjXCm&Yww(LnmO9fG7E5?F9 zYFu>wAT0#Xol*!I(M*IX<|>LMWjPuuT}>oB1im}+5l-)*aUFDG1Jo2r&V%63xp{mA zZf-4vJWi2&OTQ#8-*+f}p%r94_aH4vk)H#67!%#0L*2C=n-Ip0OoZ1UWbn!U=_dGu zWsQ))&EyNML3k_=;40MgKcCpU%PYB=;g<;l<3}z6j;iyIJX3MUmx(j0OS3-xO%$ya zYx(76a;9{Bjpl1}tM2Y^SO3jpP-R7gKxgSDb1LISZz$e!dP)Q%$gV*|MM9+Um(Yd2-zK;K>39&OUzw3+0!r}^pJTmzZroE!M7?G};M zFkqt!z@2;mW2779R-519mx?+}1hGFO?GlI>q!Z{OAgn^ZtRnjAG2z6lX5}M`T-XaI zFH9KgVAWs5aE*L(0z$meDCIS>#6D5&HVJvH85N!V(W1{63IQ}LOE?0f3pS{WjN5ZeL z&BWPiPM-!9>9nVVjn*f`0%0mR0+pv-1%HutPA-u`x)UVYtyhH|)ws4sAoT_+u=S-u z>^udYW25d~pS{O3o_pjt?gmn(HHtL-L)3qf;}3<(`oKn(I`B@atUJ8hJmEE1zEYO@ z2KE5mlCN5S+%}v+zn&{Ll(^-mIvs0s@ys~N!sLqUzdaA|D9~4;Yx}q--St2D}@b#IcI(ZH}Ie?NA(eC(#;C$aqmOocxzs+?C_RN55VJCR;73h>esXQ(LYrZ1j&B>%AH0canYj zX|V?vc2}nJB+dKIHm7zO?gNdL4X|FzbkD}u>N9hY4Xa>w?%kIAJ5%tJ9*86#61@6L zxA=!HSru;cFDW6((8LG9RfvfWoyxyYeLt??aBD$FAx$A0#zMgVYn^wQNmB07%A8dY z4TkOZcOWZ*pCxPQ0~ z)-Aij7ayjF3e<8i%e&f0IK7Na>9lrXm%};b!Jt|3A-01M5{6k3)5W@Yy5?xWTdrdSR`W!s3viN?5DxBZ2dbnA{_E^nf(UF-xh~)+_s&k}siEua zIfS5(r3s1uB+PxjxQQxt+lu)PDb8m7n5eX zNEzA)Hy&9KKSEVaL!82pasYp3X0OYr{MaDDYO`RsZh8FGi(b7>plAE~XDCJC0a0j< zr?ax#oEC<~c8yzosG8n0DcIIwji-m?56h-v>DZueeq_ruJp9dX-yp7e_<58xsibU^}kXtB+!{5^(Y@>r?!>+)U&%byVrLXdYmPV6zMvm(sV#m4p^H1^U zAo$-urK1Kqrdq?o5)>Rg3$00aNQ)Nss1`sPPk-Myf4nat1=>SgBKQBX*7eXYlxYD? zO&%F#a*_MPG*v2jZsp+rm4t(ZwU*b9`88p^#mxyUjRf~t`z2tV zTD|~Qm%5czBGPf3Klp@=3WV3XWA$K@v?SuL3{FjigajJuVLBAcI;IoMgDr^r?;G=N z_>%IjJ#T!mvi2Smz5^v^^3H7dt`&-PHh2L>oyjPyC>Xduv;J^+6oRZhH)LB&;Kdiv z55gnWx(v7FvyxH+7akafD`eqjT1{-hQm5jS{c87 zSYc~V&#FCVR0Cn^P(t?H93iD&NMX9RW0I42O6#E-!%0GqzU+WQUdl=q%fqBO4Vg!E*~{J4|@y>WQ0IHxQ7D_k?_0*ek+%pVY)JGqR@SFVJClBrf;6Vku>6+o3^ zl?+smlcC#hJHr{Wp~%{Xdet9C->H$t^Uf2HP8U;2z?7_h%cS3xE+T1ZfD_YXWYQ%{ zioi624ogKi&Jn&-R1qNxh}%SRGIkDxV!GELC)1V{5(10+mXOa_f)j&I9)9+8_+)9X z1w0zLQILvBIkrOF*cgEY5)S>Ky4DcdIz1eAiGZ-^T|$OtHB0)8-}}6|@SqBy^MhDx zW6AtDFLY(W^Hh|)gw=PO6DWbSRKSaltMFc_vlf)rH;JUnGE`jjm^M6yIAe$S^~of6qPgeAP^|K&)!y z5ohumLRYwTYsXQeRtASm#9yxgPg6Ml?Sy-7dHjo<%Yuxd)zaW@av?~n3vl~f$Ii-x z-(#1Mq#)=ouq^~m8=X)eC@??;TjQGqSA@eaB@8s?qy3`IT)=*0r3 z&f@Gw_0GIqE&BTUsl<_SaTm!#FYF0C>m6;D2QIKsfsNkSuU$_mCU9kRx2@4tMZO0V zSJT3YXRwZ2;a&EGE|O+7@><~R2QGz(Lw{|<@pq477-uH%3f377~Fbh%sBTkiHz3-n$P%b_KU@j#)Svz{(Kt<<@s z#9ln)%pK5xSAq?F4Kt7u=7&LeLs6D$C308;+nbNir+|FBswqeK>tQuGJ;0f$>E9KFIuivJ-7ox+nZ#E^fHkNU-JsC=Zu z#*VDi89N3LIeImOX@3=CZrG5+MZd1f<=XrOi}F!PfCNcND;4cn0KMWru)sD$fj9uW zsC`oKlS0LY=DH4*)F%%w&~RSoiWh6g+go9$t?o0v-yZ2z7rdS8;s@NugX;%V&^qx` zJEVi}jv;!-rs}OHq=W4S1bBPG>3@eq3h;LG*U*0ZRUtB`*A*dhC*3wh*p02W8Q6{V z^Z&{IrwHsnH+}h%Wqm1LafKIT-iqNs51_b-Dw+s=lZWb@;{4YPU{#~q5n6) zk02UIhlwY&pmlbCk)5{Xk1rp3ls#qy3a;e$(o57fV?HStyDkhJ9PxQ>nel%lu3x@l zk@J*B@smF1PLJ$J^gbeeCuY&xU{IxwbN%q?*Xls%4BZ*y2)+3?ums^|k#ymp(p_=A zIYXHahr6lP*47MRa)13#dEFSkq=-8?x8PWC)we_OJ3mFC`~ICsavOBO-Zl?w1=vrA zo#Atc7J}N>2;YikiEEd_d*b8yr>?m!tx9-xjzNKGLk~@J%cwo~4Z=k>swtk3l!KmSgkWTvG@b0NQeIX%Vt$Eir~?vn z{ZSnfd&m15c2NtX{>&{?An}KgDCm{pQ}9)?U@d-GmjuMwo)M32e_&ma0pZmk*S!Gv zAH`F*VVX5ISdbmbpJBOy6H?aAgA|$?(Gs_pBowutyWL z{#GSH*;}c8&?`%|$n$V@ggQYPgAXPzU+eQ=?{eLgPF*oF6L4EnH-R2FlP-cfsWJh! zo9{0ZPvs}z-Z1TYieWD5>XGj?8N$16jjx_gJIgK#jR_>wm}F3~(5Xzv`r;(}4ohSZ zm4douhDjHDy8$qg7{8(zcT2O@I*t2^>&Nn$-ix){rY}S|ac1OcY0hX1>t*Nf{z%Pz z^eFNtW>;@BeXrLp z*@1bIRe7=a4u5y*gB_EgKg!XW@RSBBT*8BMzJ>R?+^^_!{o3AJLTHXA(%^@yXj^b! zSeAvIE|K0>V0qvv6sBPD(#CGi;EDU)(gyr^8q-fIVK+DVa})r@Z)^Ae09Qb$zspQ` zS~t(ef9IC$_8)XrA(~ zUQHW^g5^!rdS_Mt$Qb~Y9eP9P&CurUp7s~c0EjVc>2Qh${B}1-zi<`dq;uk8Or_2831kG#Ft8H`aM%^zj6jZqBnt2atT9WcaHpp zGl0qtPzH`+dce++zi#2`!ZA<0EL;;!;5Re)$}C3%ms*f<=d@+(<@_=RxEE_ftkcN6p* zTR>D7acV}J<8IH};)q?p#+yZ(_f zAgU{w=5n+Mdrt1#{6ZNJ-)_&CiZOt(pF@A442W{ZY%^YLwltC(`DexeQDO!AZM$^= z@VYnsjWR&YYScKdig0F)Zs;$Z0Z|%hM*7P&PP>J!ybg)d-T%E9g|q zPjg2a0EHq?5-3Nj|LQRJqyexfMyB{83k5UNY3^79#B_(*WuFc;*mKi()&P=^NSkwy z=6GYXmbqgM(Cq+wJ{{jgzQ;lP#Tr1~#8w7{DFk=pd2W2s1^~Cgd{Sl2F(mivjy3>h z#VCqYPIINHey4nmgVA_!aG_w`WgWp83dGe(?rGg+#VaFZ2A_ zUFV~F-himqXxj-CTrE;MathzP0SeI(y1gpfKDbBsya7?I(ZE~_DW@~P_sts+)f$ab zXoCMe9&z9|Z$MOQwEZyB>KzT!!`$-*MD<2fMI_YVggVU~Z$MOUbdl2X;LjXK(id+) zRCBaBlovd~Ii3go7jHmRb95s~WRu*^T-7&o033{Tu!CHjtb%h5c;*0T80la~jYJpm z`7oY204B!B|-4+=x;%q-&7kxZUjA|LM6_C}eBA;r1NXzWYC_e>x<%@FjMA z{{Qv?m1cmIpq9laI{!to%F1@qngAJh^*l2W26 zobl*)_rDsb1B{*^`rS_Y?*3N;waxrxu{z}O=c|5o|Eqx-zCoqzPCx&<`Ct9h2|_v$ zg6Dbr-TSZhX*n+}fiq|LAI<;jpQhLhi+w%A*YDo{H;p?Ky%rLdc!ot^z5nW-hHyR6 z-Ib0U{(toTD;UZ4i6D0dJ#d=4-hXLh;EG=KNLK$WzV{#EL$dp}@v?ayHJ$U~n*Sj? z#4U$fABm+SiS^z5Po;p4_;3O3v`yva z-LJdmfA|ZdguK9Zf~P#qUGqPrg=TIKLx>c^Jk5Rce^Nm6hH|HTi!*=Bee-`(`?Our z(omXhoYt=QKdE~fMlCqx%L%soZvGb!A<{L7B_Q%}So_|8Q4f+s0MVde8)q$U0|`ycy97f&#I} zqJH8As+tD~bI%jod=$%DbTTUbYrnbb1?dOehued!>$E0@vOgvz5Rd)$8@ByTZ z`aTvY$B}7d|EdWaeR6P4$!{54rXPdeT!Qw|GI5RK_S5{w-v}ZBWNCDYNmb2%@mv~Z zCwEvjZ_Yrx?h8j~Cbz2Nox93n&Lu-<6Gk~Ray`3+cV}_z?3r(Jz)FoWK@2hduXlJ+ zAd$aQ{LRj|fcV3kA5eoQEp)+cPsE857~T6XQgyOuZGH#>Y5czIh?sX%>KcrGP8WIh znmdr{;J?P3A&}aJ1;JT*?r#0tQDn|w-xmr68vE~DByY+gJ9`rd(ll`?1CrcRhjF{H5DSPvu%X?OX;$|V#-RTWb3hF{8W`!#ASksKx=UF&Kg|o;fBWpk6;KN|REd*}{U(?H znBQ#tm9Sko-A;2H4S4WMAJ#Utck_R$ZwA2*rA;1SOY2b8I;g@pMJ+=5d_dH-R7_$TewfX{UEbGHxGhy28|RO+sZtY2cim z@~#Bau(r?6TC;FzoQY}zm;sOpU*)`*aA~*$$&v5VfKn|rrT8WnBoKoQJJDQn4i3mY z4*Zq_IX!pWNOR~3 z3-?W&Bdjbm_`Qh;JKP<1lcQoa-C(=IZ7Oe3j-vfbayY+f3H$6r`gUKRzM*r*7TDkc z^PY-WeQ6scvt}_Fjk09X-E;xaXs~JSYlwCo^6BGEOgK1tZAxgp^B+p&LI9Yz4{B%B zNNQhFdp2e7M7AXy%^R!`JKXU(_eo@b*usPf!s$&;DA|x|QLw$taEq5Rxvi4B7Ck9# z*^(pNQ+sxR&D)%K$`yX)w=}`)?X`(m$AqUmzKIK2Xb5G6tt`670<4KYN;1Vx{Xh;9 zwskdYTTJ!=T(tkQL)ENJX4(#hK2Oa0_x4w>wjCT7`Evlxzn?AY)rL|U&Jy$B&ZDSI zRZM??fhzfI((yE=s&kuu9wA9iASQz)m(|jJ`l%woIq;!491=`I$F0rk1}B&x(#@Ph zmL_mV(FvliZYW!;8q>Z9Q*ma4?<<2U?~nqc=nw68%|o$($!6(XHHBSQ2T-nkJ%P4t z0Oj9gh~#!*YX<3kemr`<0e^0}Lk17KcAI)i$^H$Ms4Qf(v-DhY(0c)boHs2}hVrRN zIYUH=P?_Q}gR4*fXD}sOz?|^vh&K^3Y;o?GKkB|SwL$P6KS;T3!a5DD@y((*pt__i z4L{X6xZasGTHM8=NWVJmG$=8iXIQzrir*y0WC2O^Uv;Xyb*}H4f3VfWH;Lj5;?ggw ztUK#FNi%qFCCCDG8n^}LS=lS~-aF!ESEo4Cm5FYLFsie@-ReOfw>rgXPJ|1-X196j z-JC6SL3$@8iv_MIWV(uV5p3X-74Iw-(tsR%$Rp6g;OFHwPvTsp{h$6_dRof~jDs*@ z!@#)u-Ykj`B3uEEhUBg|_S7yfaNbQNJ!$>6IUlW6|LdzXGN<_bX#ck;go{&!g@9ic-JFygok<-^go{#vpn;@} zv$#~CsNEk({cC)FIokx=)&F{G_xFS^gnZ#7fP`6eCU>ZP@y{sFENSeH65ts_f3w@D zZxYS*fi7uk{=ReEIkdZqwZKj;knqmI?RO1@+YO9gVxcMC%;h{UAUj^xBzPegOnCK| z2(No|?r`2`m_i2S0r>!cI>`^YUyr-LJdv=2aM8>sMDwgi=Z{d0Mf5)J3KpYSQMQ-F zzxWx9Fm-cRwS{jtK?3|@5iSU7c8y!2P3M91a5rvG(Jv+xQc;GX{oc6^?S_;U@luKk zqQb6S5`NEVUhg0090OMdw z{V|ZE?d$2yNtRR@U}ETRAJN|+=P}HgkB1qq(Yt6Nem#bj79@9c*^zChV)wiJJci$? zempJ`8dR-+KZeO$g_a3L?4!DTN~t#!52B;cFGAQcEr_)sp?sb3x0-24VqZ+O?!f%f zvk$Q9_WD%i6#F9KXr=)8)r;zMVv-??qkcnU$iF*>xX}DT> zsj=M{8d_0loh3}X8oGzAIP-AV`N=W>EX5Z{T6?HJp8m|(YP*ep%x|fx*e?nc_W!=T zrFDx`xM`)qMR!L+hk7`dqmcX7iytAhu)hGz)w!Q>>tR=zBw$}uBM_B!c&*M~ z&*R3CaC{XNd*B{0=dsPRiUi-o4{75e@aL1Zko|ivh{&6Rl2Avswv}(A%;-}np zOFreHQ-n>=t}nzSJdU0)?=G*!B@BTgiEz7*;GYU@M3wB&HHZ0lNGi?zd^?xyItm{% zZe`daK-@@l5NKOxBe9;mb?^6-7WcKZ<4_-&RC>c{ghuWC7N}rV)`v`UraSyK2zi@LveQC+(Xc=8HW8ia#m(vdiP4;&%< zwQeFl1XEJb52O{#zuW%9l~9L8393W7suoy3n-A}gRFV^~c^A83Azy)>40`o`Sm6J> z=J0Ay)ngl-TehKnMzs>MU+eM^7@9SO4Pwwd!^>af@Wf4`)xQ)u%js!s^yZiTDNzv= zNnx>J>|d$GB!AUWO?=}!$jr$171(<1N6`K5*J6G9>z3&9rc~_g?FvyshzhgX+Xc)` zI+;?t+u`@L8TDy$2&`^@o%nhulWNz@7Y!%qx4ij3g6ss9uoOZpY9nLIk?f5(Z}m0b zMJ$CPO#K3(Pc>|6^@9D(McPftftm;O7_Pz|ASr0s&27p^yFx^2lO=>aE}Kjxe)6{RCVxI>UT;R}e0C zQ83vp`#=ltqzkZu`OPtcM0rRG$$5SuLwyAne%3bYH-Mi%jzSw+TEqm{Dc-uj;r`-| z*%Z?e~#w|M+GJ%%qCqMhUqp`d+9 zg%jRfwjHc*gDeG}hfffZtuK;AwCx4+w?`0i7!eBEVNYj1P1wHF1&HhNBbtZ$Pzc&k zqpkoCiO=C80&_pc0@;T(&~6^PAa^&9%D1PK_D_!q{yHs#W?n@LVvF7v*tvb~$2?4n zOexj=MwPJn7I7Hv@2Jz$-_&YDdb4-VKOf%ltKNaMAhu=o$P9AllB5rBzw3n}=BJTA zg2$X5*G_gjSeLiO19DLEM`pghAg6c8%og~m?>L$`cKOjJWE9~ofZs=_+a@Su7Zs4HP^5pUzuP# zdYCu-YD||896osahef?Tt5_6cyDmlZw-};x57CMO$E4yrfKwEPW1%8NceK#DaRaoAJvKQ;=gK~ z%ihr>d_GHe!_cg13x~P+7&MM}>$Gl917x1$j!5i$f%Q#KZAVe<#8ZX2YLZ>G^GQ@e zs2qj~I;Ca{p7q_5BSnRIWvUcAjNyW9qFv_l@_@PQ(6Q~JPJ~8=Z32X>evjmBdzx0* zi!CGdUg5fi_@#-QZ3%@8!oxfMdFM0NqK^5fblgzv>ip*M*Bs@_Jx{WnrwTL#G(a`7 zOnMkjW6E^l;j@`-=MH15LUNDF;rT)4#@nYg37yg*KxEi_w+vL^<(i9} zmEItF0;uXE4dl(Qq77L$o1vyQC{~t5u%4&YtlLR7!{5cH(~grUmp8IE-COrlA1tJ$ zKCqh?JI(W#(ku-g;mc1CH>5L|(?~=|lX-7DHlKoGdY3I9E{V@dsa`M&0?RMJdfhRqkvqQ8&k$IsbRlGHld z;Y#E3@2!O?x@`Jls(U)gEUbh7gC?~wh}Umf^8d&((ZxxU0e0K)DdRF4*znupdUS3r zc)_(aS1p*|162L4l)1R$;bW0dQJDW1DZk`gc6GH?9YdgV!pqA=H=wBZQ9FEx^1lPi zE`MwSVl7gE8Di#tRu7`nh8I$zD4IUQMu0*hXJWUs!pV-CGEStdG1 zEb6i=H~DleZLs&{)CNiK6?NVg6ilbTE9gtVO^tLWlY)cG46;cA%y zqzp#X<`ZO@6v?%Q;7zK_h{KuV-I2}k=H(WT2HD+4qN%HNFu+Zx@agIOmT8V=n_?BN zPq14(yQqAVYYtHzX>~L25P?#Z_YtEgJkR=qQbw}d)R?|tZRo`D=5GOd(v{uRfR@Sv zBhX^)6V>T!PF#!|4u+58i<`9t^LaUfY}_!XnGo$cI~(oRNx}T>%$<{vflSkYZ<@|s zh$FrE+j zOP~So8N)9n(F8p*DTx%afvC&f^GmB&!pH?4jtR3$SdaNdxY#bUf4J1bX@2ygn>hfe zP(i;37<@>LJQILrn0LtM`t@jz)IA>UO!-Jmn{_CS7dtWiINFhTk7@`r+fsulxf-C9 zo@};dmB-G>4r3`(3duZ-;&b`pg#FN)s@ZbXNHdN4B$86}ULlUS=CI>5(oFDuBXQF6 z9^seXPM!@QuBlTKj$`y)W;ob!I_`Z3BC3&PqS5aQhu0{+PY9Bg>oyEdfvxscDDJ1d zYxqgBLI1};vi}GnB0XXVP}EXAD`P_x?KrU14b7Z6B}4WImU{o_5&Jmi+#95sV4nV( zF-7EHUgq@(fx->2Eatj%w1BBJtVsV&ZRzZ`nbu1;&pO#{gizwO}XKmIgPhFLSCOVqy= zSVQ;b?Zy_i7CT8M9VE424dni!V1S(2+etEUagha}^T)5PmQOxay_aTAV=i)57LD!_N~Prc@7t+*u++?a57bKR z?DDmVbds+mqA*5_yg)rQZ0JKAkS@TjP_Lyu87da>34&%1Z*Dins1_WWd6&6B(XgV0 z?{4R+gJKwSb!ay4P%RWoF&Ampljf1qt)g-OsWYLAx>p7OJEl4C~Q#9hi%q0kO=LZhw1+U$ioDY zXPU4$F0z#=hllAQV3Fthml4gaBIx}PbQA$`9yL~fVbi^5kJr~f8ITa$q{HOcNkJjc z_C+AIcv?MH23aW^q=SpKb9E(HUIv3Lgo0gXUu4$6)PHMeriFM zw2IW)S{&?&AG%IX8xMv)#H5)bU1b;7fb=m6d;?0@X)t_q-^c~bH-3AIwgR*_o)9|s3fzfh|4pBeDc39Ym!+O zWpT@xFB4L$e_a8xS!9aE<2(L%4#CeDLJirr>d2->$Kj6?BWx6EOd#=M5hf`_`ebGmwrig0gG++{UC?D;a85T5hh~U<3b`z^hU}UopRXZMw7c#)7$9WB z&D`Rzsk1r^W4|qVg?#M?twGXKNGVxlGD0xe=e|J_DPQE;k*2MRu}3J}(+pm&xy>i} zc+A(gW-##~zJG<9$`e(Q%-VE(CE!$E(V@|zdf!gi+ev0^l@U4@OBly-MTCoZsYxOg zFloX?+kl3+_i9`a_YRa7Fkg)ZbdtAzZ_F}o6$(1Y2bfeLU|}BO%WJ+bXBW{(4MLMv zdthl{VCGHn6!01!f=|rNWuF4lhU`JVha*Yf54H9JM+QPLfC+>7zKcD>1cYKqAy|XN zWX_PJep*^@(uQvre9VsChlnsHKF0M8;F|j|I0Y?ABrjIYzDpskn=J)PV6#Lv3&|T` z*BzZHpP$O@tx|Gokj}!+f*G!P-(zJzebsu8c_?ZS z=~q$(UwEV8eR1ZoWCGhOBK9yO+xqfX(w}W`W zDQVE;PBxK#mmRZwf9h03SJX2Lw<-K|z8n*3W+OADbU+Bn8bY=|1v%P)D-csK=A!BG z=5Kiz#X=+;fiuDz0_%46cMP07xAur@PxBYOlx%9KgPzn1Y0E}S>QBo&D}Pb1{OSAe zv-0Em_iTFVuup=jKkXO)SgI_^8JuBYg-u5KJdi|s)B4n;WlC2KCj(v+;)c_IUwKN* zGNpmB(|ASmA`n?B$UnL?^V1(2dRjkr%l^qSUuOwHHdA3}bvcnZeP0sNX4HBew` zE1-XH+%}SlVh#1C5C5Y~EBd5^Am8FF!UAXc%dTNb>KuhqpkE0x?_G|nE85rZ2qfjbz3-oJ;%kUb*^ZPU24}m$vVRoTcfX{t<<9tVK3mq#S zuuL@4Pk3>S+td7J#%KydNd!9(T7{eg!@rr+`WO#!*uvOL1Wwyd@jtLW9V8e-Erm`g z)GusHu>JlALI{71yKwQ4v)EC%;6~bRN(d3>&$wvlws;D@bW5YC<&8@_wyLEjfyHew zHbDOAY=1;#7)vWmXiWQL>Ew;@$*G@BwABhgrjywQtT28t;%ofKGh@tw_YwQsda7C$ zPWaDAb)LaMFXN+Dx|+pfRDYNEYy5B(VJyx-5#bCNOl=DL3g7%BqHU|GzwDzNC-^Sd zZvTAq(~E{N?V2PwLEj`I;jrY;VfvX?^)2)N`j%4<-SI!h_rRMo?V>=yW7bf^pCJXIzLfD##e}RHK!jOyFxf_V1ISCIu4(EM{@QF2tq7 zCy!$bh?)L#U}BXYnV(|(I~I?4kc@$sR1`}=ERq2!BaCvb=ZhQUd(tdbqo*yPy}~Gu zat01iCxWGR5I?*~EBT+do-&zi)h{J+%L1_j`Gv5E-f^>woPK7SvB4A1a!P^kRxRZk zt5K2`WjYg}A4@5Ff#aszkqbZxY@mT@jAu$00Z4A~7sF z5+)*+YlDjOwhvJ_wxy}&{-`T*Mdcr7&OhgUoyS^YMar5r~9BQjhJ9L1lAkg{E$S;7`aX* zK+#pP^?A2pW`qK6;dmKF?e_Yr_@;d=4JPC-3 z4p^2^@qyZg5b?bdpDsew!V0Va$nj6az*ElgkaFEaLYYWo7nLl=)KMCaiquhOs z@2w*?a$80dZfSZqSM}>6{{)e+&0BB%%mHQ>71YuEV2Eh@F;-m0|68Qkh#uDP?mD@p zpK&J>V@?m6Rrq`sS^1@$$382=e6)Xbyg0T7@2F5_CIbap%a`hNbhpAJql&l#G&p^E@8D%`m{|l|JN0zVw-oxQymF z-#pNQL0FUxg3~_w^ef+X`Z-?4kaA!7EK%B!fcdqPy~gdF7zmtYq(o8ZQ;@Xk_RDCk zpC7&{dRN3l5rGs2r2Tknukn7AK`F>7w2qdE6?4w`2CHW6g|XH0U>4h8BfUsWHy zSG16E`29RP)6mdNsE+L~zE!P${*ELc#*z;-hk4Ka>|ID~oiX|^$CxfP+cX=I8XM%@ zew3Tnc&2mxO|{F|3f!C-8-~7L+WIx_^LH8%fuhVNjV$^Y?E)+{y!yce$Qq6lh_~o5 zWmb?=b|(SFzHzM0LqYm81IZ+To>v^bhhGh2y5f-jM9U5eA24U$n=5;a^J?^X(Ec>9 zeA(@4YYfS?f31n_&yPgS0P#=y8Y>)w%XY-}*8SXq=JHEi3h5+sKy(j|?GF$0OW&8{ z^RQ*er&hRj!8E$1S}EB+<~AfS&k;i>0Hn4~@y3cbKd0D2msR?ov=45OX+-kDdY@t8 zp3$$AJP>Mf_J@}La`Iirn)?C;&_~xNON!ASPl!hS7NM

iEHk<1XY8QuW>O9+I$w@{{*g$LLbxGV(P= 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

Q**0XLRi3(3hMYtM$} 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

-^*0Zn1Inf%R19`W$-T*6Z&S@XVuL1 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

uSDAagCElUDAB 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

e=bAB;0_xlFN`7r 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

i%<} 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 z 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⋙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∾-keM`e-RPMw^dj81m702bC)k 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%0Aj^UPst)(z!txMOT^B$_ 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

RvY~d(chhZ6ciB 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

nSz`wqn4-akLR@?69Wk^dQs3_{D~ zAh_=jf?75Ndlf^l%`^n5r**f6AjG!7&HWZQ^PL4Wb_=*}Ti`4m5$|rd!r7iI8w_l-!?__l95x1)0eQ+z~gS}}VbgKL?a>x(&FZ!Wb>WA-!{gC>nu!;orU|^v(Q!uKr1f@hAZbFw(mUbZ@mcC zVaPixSve@SqBDv{6^JdQb?1F(6P2LFU4q`@+wi`B8=h2e$6@n!?7has3uz`6b1anH zW#Rt#4!m)32l72^l$hCQuf>%r} zDBml<6i0yk)r?Rp=G?7#R3O5AyIZk%8x(&XXl=zS+l1IW(1ttrwPH5fhDX2IvsxBt zL+%0CPwVfyB*25W1=u>e2X{sHpl|yg47cvV&dwGb`%Zvoj4gQabSt(V6XFo74bL>U z;{Negyd!MIs|Un*>4XUP9NUZMH0^kZw-#BQj@D@2JMDqw0 zK0t?YBy9mc19Z<#?tAyj#8#v9SGK?}t#^JCy7BAagZJ3V-!LxxR+4}Ja_GYwCqFoA z{OHP&53e5k_#EeVVe?0U8y|>MADYA;Hs(LH|K*nPy)oYV`#VAWL4fsJf2{I)_MJiV zTTN$3HuM^E@~8Li{j~k!PahYxyH^zwPxA#hbTozfnB=ZbxQo z+xB1e+kfegzpvK3-z@y?;d}2Zntt0Sd;j#=_rKG=7cagieT}Di?_%ctVd49B?fWN^ z@9mwx>(uWK>wh<}=i?jw9~wqJoH+b}zv7_pgEQ6-tab5)4;Spv{fd7Q>_1n{R{byE z&IJdD4Vv?f5Lr}M=vW{~!^AH_ADI4}*xa!?@TBoH+_D7w&(@^C*YcMo8aJ%BOQ02=oWV4smj*#IVJ z_8q=GfT8j@%8VxDo~32Fe%OrJGiL0|m{GwV#FTdsz2^q;buPG$4xxWw2z|aGO#Hy! zW)R z^Arm9p2B4BDRg;Gp)h+2)!YAdbHx-NMOJDQ6KBTIcy0_mhkVFV`7m|Shg@1BOg}oe z`BAXTkD7|6kF77p8{Dfkud0@q6?ZVQ^A7q`|5{@+JC?=FsVo|T8SFcs!5Av%=Z7*F z7|)>ea0VkMGgu7V#>CzXGP-V~%Xb?Y!rK^{Q#yE?{=&DhAkJXsXAj>9lVmd(bZ4+5 zlfiWMHVW7obYGw~SQ)fly^S6NUH^ctZ^>XbcpFP`TBs(|ZOmA1W7v2bm3_A{``{Lu z3b$~aa|>HV23-2O>If+JDR|v z<2qUzuOrKI4LzASjt|5!_KZLsL*wnM$mzU_(HmE=z`ug=b5Rs!E+gZ@Wo+4h3CGx% z(AF41|J92aI(`wYofoli{sJ~_zkr#eVH7uoF%}Bp_>mCCj-E#@^E?Lp=TIX*hgw4r zh0GwTZw1ik4YDv%$+;2nME*lm{k7H^47Xx7T4u%X4KB|l}xC)XF_(|gw_hxc@wHnnebV+-Gm;O3H?JRw4F1d^SB9p zVAy3E^UMsa2UeQXoveFK4 zkA++PD8_Ljtd_3HZZiJNFg^Gual`4CFZ&^Bgm?q1BI@oTwv#lZ4I^0W`u3n;w^%7g6mxwdH#CNlo2&%)|^n_FFCE><@<#Lhk)Dt~j&Nk_ZjK&~c zPUU)ufo|u-dx`Lxo)ipv(&X2Zj_bW7d9Rn`F7%S|R4?HT_7ax2muN5Rh;&j%`U*53 z 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

r*&7m%=?kD@=4+ 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.W>r;bYuQl>AwDD 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%0D?GB6*XPtsnDiVzSlIB-Pr- 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 PWoe&kJ)=Kp}%wq)jOB)%cc$s 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
`_Zu4u&WeO6o=t(ga2xGYMe{-9~|KtJn{cJUtR^ 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

-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 O5`539d7q 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 |*PudC5H!6QcR2iA^D=yhGf zc>f1V4xjL3e8QjNlcaJOHR=y)eH|p8QoXA||HHp=9CVNwwHC{@zcD&G zi8t6uBCP_V=oS!lNa?;^0p@WHb4Bf;r82fg>T&=Wz9%9H00<#W2C$?MoN9- zBsw@wEMJI}#!2&niDY_Aq^UKL$Q={mRZPS&FhSy`38G%00VOy=0-aV;Ral8oGev55 zAu609wM83oMr}l|m?b>REGa#iB?`_Q(cYRP{?Z&#TkRzC1K(Sj*BWngkLG@++PZ^5 zmh@T*o7oh~V|Ouq|1Ks1Y1G_H)6C#L+NbYhtbQNs{0Er1{Q#TE2bez;xt2piB!{7V z4t0AuobK7go#9Q)f4X^QXl4sHJzMC1R&_%3x$Mh=6TxR@J{CP5KB_vAd^-Pe`-}c( z1*bTttFLiRfAng;>V7r(so*Q#FZh2a{k-Uf^kLcQ@XO6t6`wAi@_s?_9OsMq=LDzX zU+{i1f2eq>N>kAQkssAR!~Z<@DPaq5ehTFSkJ} zRFqZ-*DN4EnYwQQUDyJNpap^~!&5U)M-P>M=h~VD<~$a#+yGKQt-rKDX_{tjHVec| zG?9DCf7t>NjRm437LZ=DK%Vl7$^tTKV^iII#R3_F1)MV$2+h%!d@DqRRuCTX9MT{5 z{I>M4uO;VxN9TBlz4{J+>=xR0<#b=ZlTh5kWLi#gJMZYzD`;4jlagCbRI_rDFv&@J zfbt$WiHl^!9KT2ea~BCud!k|;CH18~(%d>>ygW)Y%043Q>LW!R-SeL|n4jg#Mu|Hl zAyvz>nVk{hb&imf}D=64ktxi1$t^3MX?{w1jh+ z9;Ja^;ysaPG(@M*p;enhfhC6lGhJmz4o$~nH*@G+$zdf-wY3~J5>!v+kiD71Af?d5 z9LngP5I@b&WIb>g|TPAs`~ z63VU6TDX&ogc-3?lPbDgF|>%=+#2l8zdlN?wl0TrcZ zttV>F$CwmRGWAIlQ<(4oy%N0XOW+?O3p=v=d2y)lI`cXZRe5~&IK-+v6C_KoJ_dK$>>E+x?aV3CzCxI3ON~n%*lxF zIhkU`$%JZ7M#XV4My`v|i0GyhxS04Q7t=hX)zBTfv)E!BxPbB?-HHtt6TZVnad5H4 z)Vs*&tZZ~S7h8gBi;RQ@^@ODfVRaKiolPk39)QPm05bgn=z9;qEj)nI&OT%x?Su8f zKA1i|Tw+uLCDo2lF`P#yVIp)xpMF zXEeIimP%(G3hF51ymG6>xU&cTXY=Vj2(43TV-LblH4=Luy0-@z{~pwD?SaR>2Rzpv zq&R!vniUi8)lQby)5%h;bh3=mPL}CTCo7QcWW_lGR-j+Nn$ZYY=D2{RKH}1gA$2VB zl%ADnaXsZtjkLsaBP}}3NK0jEq-91thqi$^49ezEH?u|5Yuc8ib`A}^EyA7Aw#28Y zytzsA25pPw<{YYSZW6v)+tQ5AVSHkfX#2D+s-~ueJG4n^g*o)@Xj%$Ao5WU}Lry`{ z(&*eIA!?7W(J}a&B(SY%iPL`K-J8VxP}8Cb(0U?Tr;CnNokLmMCaDCpEp@jY%NI6@ zkose~rELkssV$^!vHoA(xK91?EnpzHfcb>BMZWfcR5}(=mz&4Hry48sSj=f#xV9{* zP0yohTiYV7Yg>v{ZA+m^z2DQelmztY`6DektX)%~Fw@4AFO9T_6Do{swJ~hVwK~hvAvCngTMbg|ZfoH7*stZMuSbIp)=7%J-yAPJ=KGZl5X&P06qHrG? zbK9i8P=a)%0ebN^Den}BOWOcppah0|3F_54ltKj(zDpC{`*l!H7Kkib0?}$6#61O) z|2*%wo1wc?`7FEd**gE(+`-A_qm$t# zG<;Fch&U5^=q{4panJ!agt$4qJYG1I*Ln8}nL zGvVrE#wac`*}gK9vX+^+qs#;nWyX>$Gh9Q33658oP^!Yrt2SD8@0%EYBLCUA?=$K29gre@h?lJ;H3yuZu%-3Ai4 zYaoh(fhhGxQZ^b%@|gFpbkF;rmC=P~45CRX66I3KiYxrjp~n8%1~A zXl;qPJ?NhGU|FPgRl1~^;hCdrTY+{~M zx6}^Djt95@m&o4*wxmq0Hv^l?4BK!f5UpVFCewz`O|?~FOQgY{w;5l){G{$}#_8CT}NdXUjl*XEgI>Wsc{Cda2O^IgQ) z`l6D0>VDEiQpZ9Ux{3P{?e0N0DMz}Ay3|cL8{Ne9q?>q`x=E_hO_GiuI`ThsZ~c(B zJBj96H_0cvN#Xt^HcsaQlPDHiP(AfSj-i`WdMp^T{V-_yA*Y=heH0kZ|FB-2#7w1| z*qcApWG1n+*G)9)|5d*^iH6h=>F|A`;3>psW5D&bA*Jd=u!%iiq3v zBgOCprix~??f$436cMS@jLk!`elv>u%owhWqpvoO+2XG``{w;y1}D! zgQnLFwR$@RIfdU2d?WRZz=JjLfpdHf3Whbv4y-{!x(3b*Yarc=!AvFw(nJhQ-WU`t zG04Bl%S9oSjDq`S6e0^zuk<;2%DiwSr z;P(;JxR1E5c!^*yUofJ5ENq=45o&X})A|G8Tc8rg005 z<-t5t8gnp;l%3(x!~PTfJGK9oc&qVs`L|qeyV|m7+I)Z>Ne;^g zSuC}L{5iA)a+skAGEWasqqv1L+&r2$>G5C}Ft=4i6T5`QjS`LjB{VNQ!tmlFR348# z7kOF#C$=H*e7kh2@Nxbbu{%q&&&sZ52|Ji2Ggq>NKbNJ@AWIS-{gC@D?Ki?Va>Tlq zBZ8eAkzq=_NjTaK5*XPaeoFC2N0b*giA=vq)K8AMDB|ag(d49f#C4Sx(mX}UIhqM> z5byRTNhywIZAU%BTf`gKBBAtAS8;#SW z3dAidki<}dDEI|Z5*3K}SiG}9LhrbOc~ZCMN$FH>I#0Zp^2Bi^Pn_~RVUOgAVK7hh zYFcBDW^g-O#E{=2*85u|o!lbw#1_%S=me~95noIF?iOL!wuowXi)cl8V(+2zq0G~9 z)JKFT9AD$U9C?XXzRg&VG=5y6MN?+bsdmw@ropEC-2$yD%l((Na8N^wQ-fLSyOsSKrmY(E zJKs&PchO&~q5LWFM?Vak(xCnNyF%$Ma-T{rYA~~;!RV!3blrV75YnLR@-CLP-VJ8n zH5+Khb`6%Z@9K3_lxR@U^?esDkGh6Yb?^JWv0W@**+p^BdmQn5R>v+D#lz?xeJ{7Q ziyZ4P+9%%Q7WS|_ror^YdoE2KOllsJQ9JuyZH+#ngFf-{d%i#eIlEd6 zUVG1TVIOt25iHNX7wOnXfo}wPqwnck_c6HIK=ytE(-m5}|9#`&KJtX4XlZ-TcAd5{ zk7Bgzy+(B(Wyw+GTzJnnbb#3&9qQM0XbS4kIH*V7fF2_`JqG@#{Oh(Cgr}@0d~f*P z5`V*dF8C;huGTe7KZ#+6y@oTpG4u)6(9(!u*4GN$e4GSZ6NKMr1^wh2+I!O?ez1P|_z+)$Dt^em?J|C;Da5yfDNn0>#{KFXneGesQte$kL@V*1Km5-IBY z1f4|;@QNr>7tts#V$Wm|2e?JdKj%JVW~7I?M;k};qCSSJ>|+{F1shUEy)R{WS;~`A zMs_scC1pyFB#h$Y_UC!4kBRPicIq*aD9gmADwATcOpKv2$v-HQ%6+O|t&q%2g@_6j z5?iZ~>{s&FD#W3w5dWhJarr7lRjClcsrt*sw>1A2d@cL7;pOV#>R~}ko(Ue#f30CY{~!+D?Kph&FEYZs1h{$P@8mJuhdd^E;T{I= z-$V5qRbB_C(fXxHUjG62t?B(AdikvR7cBvBcQl80#g47NHsuj;*gF}EA%jKPC}@WTjBGoDQST_kG6F{NP{6R+T}-g8i{Zya zjPI`$*ToE1-^1|Fm1{Ftt*$|YD`9y0S+tbbAhRT4n&nv(>gF)pCuM5sHE6Wj(cj(2 zBwE+O=(8i|Q6FO)T!+TC110@3#-UvY<>ms4dioi)dL7hH7BOp5G9~Le@EvZnJQ-xv zrghNXbfch7+Pi2(@uIl?PTeojo7^HB<*b@qxag#r8JjhI@(Bi zkxSU_He%W3627O6)Eit9d(cKQ=kmL4#PI`pH`tC@TPRX*eAE0tO23gis(&VS`BmxJ z+Sl~Y=Uz6RZ2Xq`4e8gEaWHGa^VQtnSua8EE4i-}UX`-MpR@jk{xh|AGkd@dg5y6L zNA;hOz9v`4iR95bQTKxS?izi_HKLqZBSjvin+4w4!=NxG(HdS-sV-|hL_ z`}^IwJ<~I{3k3xQ1qB5I3JMAe22x-^K_P;If`Wkv2`DHiC@4fwQBdx#?mrf5?RD1P z`<%@_Ykj{SJ+>m5j*qk?Mrk7B-cna+)h#G16QIDHxAqW3Y_A#4m3{`B7bks31g!iJK@J(^V7~iA@zDevQ7u)FMQ&EU}gP3Q4cN zg4-uXVW|*tru7xx*>=Py=PYU&sL(cbAY-=xl{2k~+ay4O`Bs#umY`(SoeIfxE0WAe zkgzO4SxYO5joqnmYNaTxYel~NoeFA7iYz55;@;~-)@%#1-8WQl*Se6O(Sjl^#)|wc z8L|@Fwri}gPs&l!%SSE`5BVN+Bj)5_MP#`d$?6m+%T^#cokzZdp$cY1fwaYD6yupH z^zL5dUTH!ZZ4=6^^da^=bA?acgmhjNa^eWN>32}{VfNRjglrdO6}F5=&gEWiq@fQ z7uiR%b;v8IN1>@YB-Yd;%}O2e*Vm)`bE5S+WaQSPoPzAYkvg*T>QLNRhf<47M6Inu zqBIi~)|kjQ%S6eu@zeg-7v{sb~E$nAFE$taA}+yBDF&yZ{SNg{2EHHXnuAhfx^nh{9lVl;H0u zENn(#AQOSv#Rx2OBT!r$fw{SPX!p;A!cfr?hVpm$&jfoykmh*^ z^Bj=ALl7nB0Sprq=};47sS3i_egJB$3xD{N`1Hgq%-lC%PzZyu}e8|Q3lEhaH z3QaU%uk}J1+lPc*G{9W*zzDI8U(ZKVXDCm{jb@hE@&{jpnk{&6ABlk z6Oq-sV4etPaS|%ylh9zFghJ;e^n6X)2GZ`Fgj)3^bP+A@nS=t-B$VbSp@=sLOZrJ@ zD^EcE8EWJi3#XXOhD<0_+!EI;`7-f_D}TB zI$vdfVSSDNR9ra**+8*nhtea`q#c?nFr-P@g7sAbi-tBckFGB`X$u7vxb-~bT7c8j>m+O|n!YkSD3Zb;Z#b810 zP9x@YG-B~+J@oo$Ff&*U12h)2>KibJ)_|pR^-wLYhQ4(+X2;k#S62BeZNL$?fnsA{< z4Ec+BK%3*@LbDheNAtj^;$nHN7|JDiz*^y8YmFEt5+YdG7eV^t@xz*Rq92K1c9VPo zq7Llu6hS_d22Bg?IPJR$w;#)iZbIcqJI*<1Fz=>8!JT&OpKpWe2n|M}G?;{nkv5ng zZ-aE=(anl6wYm)&SBX7OgV7x_R+xKp77Jh9>~R%|W184}ii#5Gen*$NvBb=N^Js??X_y^$=*N4}r1| z7|(@YrM^jj&C34`E&boLBfrTw{~NRGUs$EzcwgW?XFSK6>4N5!u0Q-J!|as7yyG`A zR}<3nKp_{tSJ|i8u9%{O-J{x~ZTDV4wUK1`|6HQ;sPhCqGuQ5;g zA2&8#vs7JU9_Ob%PtAO8e4;S;xqEu4)xmJ^ZW8LwWI46X&YA<7%SmYN_?AY4M8stlV)$)qlm^dxayv;%~d6 z;#^Tu)LWN*iNAE&`^)6J_SfPi=sc@qO%D5J&4-hgoKLY965m+RmfFX9Rka!%(#} z44Koz(BK?~N#igqYlmUHeHfZ}!_Y1TmI0<52FU-Dq!6&boBy`+E#vFrm-#P5 zo8-_lB_sHmB+gzLWWQLt7<@Sqd)9rJ`S1DICKofA@zlVh%o6=3}*LZ zkP(YP_EHS$fGA6t_eo=Dk=Pb!I4C(%KJ;ie3Y#~gkX7-DrDp-!l?#w3S%A#iUueZQ zp`>*I>Vv=d=2o`x7a%+Mi$b6cX8IPO+Wpt+ln|D`CJ@E30BM#5n4MaH+r)MT7NCyU z&IgN-MI_xtPUKmcHU`6DLeyL1(0_-39YWxlGjT|pj6?nuA@qdA=UqhG;?RDaxfF+y z`*9c)FG1Qifk%=h$jHZG;j}Rqhs7B25OSYdjYIa+-&n?z=|B6XE}2i$FXX>p-n)bB z0Rz%37!bW+K>9N#r4gwf*Sn1<S-v;ry-hzhQun;zDq;FX&RDcX^2`y zN49>#G70lExrr{&5u>^WrCV!IsJ#YhH8qGgP=ok{jY`ib=4w!MwFU*UH7HxEK{CQ) z)!nryeX4LceM)|=tS@7|sf^2Owa8n|K#nECaqkyEaI}nF!CK_zFpz4u7CG(}K=M%m z6jo}HuB(jwhB9W%*P?Pq0jMkO{QP?H%Vwms~e*aFr@28uZMuySwdJB{?dw6@7fmozSCG&e&HACW;_psyP9+s}};ruZ}?=F^F zwNPD{fEm*+HjZi`S2YP$O+}oKYN3;$C&_FPbEzd-t zy-X-&mT=CMgCae#X(g-}%)yM63F%};mMRA&lT27zXToqp4l*{1*xOMD<#QXbm@VR9 zsfZc=4XA0agX)nwsI_juT!Nf&XB`aZH=v4)!LO-=Cb_dWy0 z!#OBh$w4nY4~wik3|jKg;?6_$Y#w@Iq@B(~UDGBEwrxU_WD{BjI)If(VQCYpwt3ju z+5u#n?LfcR4$_Adv34MS)D8?I?SScP2O@Dhi1xJuK~+15*R_M~fEZZk#lU3{1OA8@ zC|boJEEWSX<{k_Qh}|OwB8eDqmE>5T7^ug@AVzNo`R;bW3A6)gp&i6pI)G5y0W5PJ zfST_B;WP2W^vd{Y_6h6J=(oMkNY9jxN{?udt1IJAxu2t73_eLc{LLR)nO{-9u)QS* z`r2-g*_ML{Nki7|ZlLS!2HapbaDUr)@|#D_?&p{<3tvk=X+LhgFj?9BOKtqbNV|;a$NnI^uzG0;{Wu%qJ2L8jQXtcf5^|-pXa{L{kHSF%C`&u z68r)CyM?!@hb>(si|Y+gb;khXHUkXV4N!T{06AU*6o(8@dnhq)Aau+C?N7$a2FR{A zLiGU|o793xk*F=4I7|5LsjUDdomjtd+0Q$Ejmq zr2kDi5kelxZ z!v0%;)pd*D?pr`|`xXd~5lw8l;}(bv-vV5s^%Vm1EucM4#yH5X5D(0fN<0fow`QTE ze-<)(W+8)!TsjLCU9+Sf%n}kj3;FG{P-mEhQT;4rxn`l0NYNgE+_3=k1q09=3P8zj z0NM)yNaF+{mrGc#A_%R@Us}%QPI?}bolKq5oHG2W<*4a!?jXzmBz5A+6#XgBpYZ;K z9XI2+5+cMBjrwF4yT9kMbz zz2@o&ZMNc4t`*DjtyoBO7|;r>IKA77J;l~PL^|Uj8m*ISvvz|)icn2aGWy(7k0fcdt{zH19vvOP=8qk@Qm zQY{Rm7cuuECbQ=lU87N7l$YY?=(R@7v6{MXY)uY71ItJ3ZJAuce#QObOlx*n& zGEo=cX(8@rF02k+2AGR^%z%g8ls9SwFaaRt+ zDLE*&tFW@a7MY83z@T@7gs2u39@QXkyc-yNDtyX$rv|AEHK?GfLB;+WWR=w*PfraJ zcGRGFxCaQzDxBR{VGl!%^K#-}>j8>v4=DH5AhBGHBYQpMKC40bel@mm6`)A^Gerc8 z2^2tM{N_mmnXF3zEII{{_bEVRL; zZg)bfs}nM&I-x((31!hvD9jQ6Mkn<46YBd+YN89OSG(X&ybF#$`btf{=vb``xZ7nQ z*ChkA@K@Xx8Pu3%;O@PzHas$zq02$h{*}K$4r9}DuweLVUH6rq6#tqoIjrvc>b<=H z2#h=R6vIJQZ!HqvCJ^^70ijbwE+h>9Y5ZToH_VUe-x5Af+cF`4jTsgBW>oMI9Wf(* z|1gpb3?p%D81Yty5r5E+Q@2||Jx>4{#P>1VK7ypv0w8Ic#qzxoB-t84&XHMMe8dN= zvAc-5GK)3dSsdJ(#oHuLJ2vj3s62qT<$OS++mL-XfO$GTV9eN1b~T7IWj-+EY$!SQ z0Mo`>K&IY~yt@xD>p=_9(p!N~)&l6>79b$UwBZ(@8{~sh2g(1-eBkbB1u=dr@U9ab zX$6Hr0Z`}#K&}x2!-HY0zTJ&v9o@)(cLZCS+kk=C@p=m`YTJP8em4?NTCiuS4RGS! zNLg*g;a}(0tvGqJ2e}g>5UCr*cEczx=5B&`y$CpeD3OambVvjWe`%N#fw*1_v~Q>@ z72n{$H8B}o3<|{OuVg--tSr3E{7>W0JgscxFR_uMqXB6d93-v+v_3Ag^25DLponI;?zB%Zx$heLWJzABIJ{Zkue}fHU_!ni%*0# z?MPy(`NOk2TT=&;OPP-KV@8rzdD_5S?WU3To;nm%TVy93}v)3WVXss z-^sZ-86iW^P6)4r+NJ&mDgUk=h)@2~Z|E~7`yQt;g)#ZQlME*@a z@o&1`f0J(iHs|;)U-er9>$mKC|0|LISFZG51snfU{y)sm7_SR|8itH& zD4kJ5&(~@w98trBNDY}*H7xI{p#8QQMwn`tm8+p{O$GgIGQvVzo8`+@xS=*wwg@iGadN7YwATaatM$PJs;ioHQ(Lrei~~3wmub$RJ2Cyi$W@ zDS|b%wb=O+{X6RKW#3Xh6FkIyF8dDijqE%5p9z1;|4a2*?_Uc4Li}>{Ip-1M!P58m z&y>zu9~U0bpJ1QiJ|RCBe#`i-^)LKq3(uI}w_f0$)1EIKH6AlQmw(B5M){QXeCA$) z;_paOOw1&OZb(v;ucVwwinWq?FGlDn0ps9i})^q6ckNzqP` zBX@`<@ji2s!Y7e5GE%gc^nbi`G0hDvzh~N8p>SoZl!S1V z;vQe6aLlU|>h3Bfvc5|3-cC_$Jt+!%B}EZv%|Io-h1vBfie!3~qGhHiBI7E>m|LZo zmRBk9_7sKwct)9`xRG3wq8NxIbtKl1qLhYH6xC>o67;1g;+Ip@G{vY+Q)0R_0exx8 z_G+3!=dV#%?Q7&})+n_5YZPmIjbfHHQV|O0 zcA;Q;i>%@{#aAG0eF@Uo1&UQ!gwd@MRP_}o{E;0Br)eJ+4MiA??ocvc??aBU2$Lkn z@^uk<>vk!k#eJAv--k5GF2yJ*!jia5_V_ME9onVvV!IS?XAxSb%h0w(j&sTJekw9K ziWD`q2;Ctnip&=&^5iZIS5+Zirbwap>_VGz7dm%~lrpOtvDSBBmR_RRW~z~Tz8Xo2 z)hKz3hWJmJVl>26&{0TFN779?ax@ZrNw8>Oss?d0HAqGyAh@*_Z7XX@imFANiCPq0 zByE9*67O}wqQwcdBOVI>G0n1v67@Ktu#16cOrUvanSj(C zCp1`#vRooA@m(WSeIpu9=NE-2saKR)8X!C3c$&8g~N}MV5^W1{cg~ zf|NjW1L94&pi=6Bq8S(D54zy?f(r(3x}a*z1(S3a)Hqx)uXMrCBNw#%RAB?Y|L!@> zJ57%s2!4loUig~Y@Z*Aa3=oy zA(av=95ZJ(aOw_~5)L0zS7s9%*u^SizW-=&bOUF6C9KvQ&W~?kleC1zn}@Ok8`#lY z!tR|z^xGSlB`D#jtb{$)CCpZlh*Q}k%G2Ug?qk%$)}!|C6du$58OLV8@uUHl>y0=* zYQ&{V`N7Dx5vywkapdM8W_Azaz~CTGj|^hby+JIW8N{(gqCXmNoR&|$T5V4WQLS=2#X&KVU>-Han5NR!ikkZ ztmF(~O<)j5_XlzCWyj4SoG0V6Mu%{gjLEn|&WPyL$-7_l4np8pKk_s|NU1h3CEzYW7Rzl9A!g$j9ElcMuEFHOpS(~@Wj??1!UvYA` zv2^@v>O{6? z11{V#;LKhpa`tthG69U#Xcv;Lb)mve7xJD?w8@aRPlh-;8DjfoNcE6_$THE@awP8U zMxMTI#MTm+_>fDH_Ym;L??Iuq9%PE7fVQof;(Xc?>OqBD3M4!#=;l-63u$1TR-hQW zg~A+I1MFo5q4NqPE+`O-r$kPL5^0Yo?kZ8-u0$D^lcL{~z^q4!T$XVPGuaM{nszAf zAxv>ziEM*ol!9FhwOJ)H+BU8szm|mT zD-dV(=j!#JGs&0alB}b+U>!x03gn(wAdh_=71sYMdPjk5BkL%uUPqZG1w` zNI3tC!bA`9nTT2X#iFqXJ#Z6K^4FR1zZSaxI#m5`RQRrI@?EC)-Pr28>aBM>w z|1wbbK}qz1;{FHuxerQ@bCe%4bswfyKjiLx7#R47>H8?g`nYiOz#M4!%)({vgUe;tW#;(hnC^0PEQ1q6 z8EjNv*3(W05J1)s9Q-aXu~!(>UzCR1os9q$-W+nM*~uy>ZE}OkstdhpDYR ztY}W*Aoa37-;6oit617}nR&Yz=d6D)&D3Trs$a!I=H+y`3Dfphu)J;+mm8b0YV}fb zX9e>(%{bt@6kQ-DMOEF56_b~wcUN#G*@P9=OM2=Gj-`^A8BJn?muS@`>I@g_q6w@O zU!sq4uwZ-{mwZcDG17<)d!Na(am+|I;Na~B98ff1=NcQA!)z>-AtN9(bEs17S4trgyZ1}Lwo!>T&K5Vceo58^?p9$}Fh|iw9|84Z6&CE~DEy8b z#Zy~_S&STD@8l?gJQefuIS}^cDX|z8r>Cjda%+>~_vV2#T}G<4GLrhrNJm8JEF;TU z85Q(ItIKG6WfL&hHUVv*0HSvaKqcD&%FZ2N(i8!|uLvYZ3D9O1xR9Si4OMWD8FV5pmgm0YsGauQQr0^+TDEL&`Z z#oiK-=ITkgsmJ_{ddxC5LXEuym{bhi?P(Ba>?m6cf;Q=9(7~jtiye}xcmtA{rd*HofWr6k{XYF12 z{JRX-91L+9SLuSGmhe4)p7_hCw zAaQpXcq1c#{X_Bpmq>@Ou@u6>zw`fh$u1q~AJiZ!8yNUuWR85w?qMMN4;a&PNG|(~ zZe<`@b`F_u&Li6`2C{5?78PBh$uC9QFJ~nLbdSy>e)ARKcnv}P^N7B8rA)snY>S}C zE)7vxbdqf&D9a^AvOP>pCucg1Hql7Jr;TebB~(!UidoA*-d8e<%g7%4 z)i?i7*1<`jk}-jbqX`sj`GO(&A{Gf=6L#$%wI?eF~QB+_iuB8lir z`K=XXdPt^9e@RWOAPx)vZ085(}Ssc4=(OAk*hogv~mv? zbk?DSdkmPHJXj*FLlW~C@Yi{8s-q5tChS1kGL4;o6Wf}?a=sm;HT5XfIE{_OrmE_Z zqkRf{l{O&!x*qX*rm(Ou3bf1hi2Hrocs(*Lj)J6l3R@Cx>@T{pDOit~sd~iPtwU~B zJ&G;Wp?JOy@pN^_Y9VuX*C8*lqbD7D!gFkgwWY(QN|W@6(QrhvbtI}es(gk2N{W44 z+I8IHJMMVa%YQ6;rl2nZ+Vn}=Yy#+Kc0nw2GCp*Q*0&4N8@s@AZx?uTyTDrc&3i~OXku;O3Be} zkh}S$cj(E4pa7DK1rTr*fK*7v6h6gRi2%QM2W;Pc%CQ>(Tyi-U-qV`B2+&7&0f+yz zgck*2vLuHqI*_Au6+eKr&fS(Vg*>+RsrYcDzFc(g2?bHNQYMeZ*CQ^ORIpfy9x^TQ-pDe z&u5=4JjR!T@E7U}(f?Zbm(n#oaX6o)3ZCR7pD4JWU>uK>E4d4moWV-DzEam;DOOdM zp!Sey>Wp~yjQa_i=L~)03}^g|@Iv8D_TO+O+W_}L8%PA(KsI(0q*6D5T_^%EnFs`} zBA}TR0ZBzPEdmiD>Er4yF`(6nLHxA1R}5I4Vvt-DgWzwB=cL8AGIMXmpOFr{W#PS* zu6m2%d9z@6Q&;D$zZ1pI*UjA5S-IDk_SZ~`*SyuQW-_lt zeXq!9uf!8CyKcVBU3wdok~QF>(9Fxb#I$)r-#k7fg{Cypb2u z*faiucl?D+?+ac!RPtD=Ots$8+)Jkah{jfJ#Ts}5P8lz{Txm3T(JH* z&b

tE;h{+fSJ2aaJK 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 =h4XCOzoE_U-iEAHefGWKXgW(Q8M5*C1 zF*zA6E^o6?rTy$Cwc8?rW!!h8@66`*E@n8KAINq| zKAnY zjHDIj5`tB(o|?gyH(3$>3eN?pN$B!xz{v{Vnwj#$-K#$gsQ|Og>M>i49uLxvNu#h^ zdljHi;S=vlo0BW!9z|TNJF@+(frZ@5J)E8mhY9Q}wYWxpK&<+-pimY@6yE^Q;gWmvq=~)kfWa;z)9dF%}9rHWt3Sp zCKS%nj5NVUrL)LaBgZT;lK-f}v@fZ!1RFAx*Z2Er9saJ+w*`D>+P9e$zVWtlTjEfL z;3s`LduQZqk}&X%ul@`q$2^L4g+rM?50~0_e%v*opVnlirR;HDXE4Dc-yzNj_jBRPwf{ekOmSIb>m0uED9N zDK=2USGiiTf5E75LL#{;aw4Ayv3`&oszIjQk;lfZ@H^u_)9ia{%pjvSU}yBiDdlz7 z1ZFDnE(rXvdH`9MK{_B=5ywXZV=LqJ@rb;-ZNa0&!mD)I)gu6?S-aKk8P!P8t9T(%*G?)uwSd1jmP zO*% z1|~LYR7C$qPbC+uM49E31W%(IT!O@*OhtC7OQ>=qkMB@5^j$i7nWfFh(rxfoT_}mX zOfxeK|C+pB=G>K9A56jE=4Y3Qn*cIL zc8C$@)!zFVaAS6EXTo}ONmRPKqCKe^X>;46bv^Lq{tLMHX@(jz<95pVT~3p5@dHGA zF)rTXYLHw4YfLZCO>Y2+gR7D5u(r6{ zEC)A0?4H|F8YZ?zkg=aj-W&_*Ela-6p< z*_FBmJyXrGB2gFX2)Ejd#j^%#<)Q(zGt`{0#5xo`ni|OrSD;E;6%_=9h1g6*8ihY6 zpd^hB+eIl^ZU#m}VM~^PYu2qmP03e9IXKA%8-2BNkxw2;%Q4+_)ULrSjzWRvyum*P zCGDZycyPL40UOJWzb^c+GXeFPa_a>fMW+U9?_lk>u*~r8K5xqa?8gef!ODNpx`y?B zHPl(hj1OlX?tTVRKTcf}cK)pQC2;=+_a@jIzosVgH0?{Y@MoM3NpUCWwSUK~lbsv7 zZ&Mmu)F7jB>G9MHz<23+%B};ez6q?Av6P)CSlKM#CQnqPa7g3c`=Lx;)_a_sr^!N8|qVrwJ$Q5Di2yntX^o*%UlsTZH4B!)`L z9c=+U!&Gt7} zEdHeJWOlwuY)a5eplhPtQ>fAxCLXD60j?%#R)O9x)6IE?*QGk5I&3+l6Qpn3KAcw8 zdD*9%>@}HTVr@h>r<-(eZG!4i!z^;w$4G>wlIYkPA#xJl-RBTNy2@MQYB&LQ zow>$98_No%u9^;43=9S&dxKiR&fCB`=3@EaCWguSfQPfgLbc=pD160HY=fF$uhd=w z4I(y>87|*$ehF-x?Ys{BcNOl+oQqun#?L^w3CIT;m7AOrv$!Vqk7@UM$2%G}Ww01XNUPg6}qVRT^_lC}a6 zwB83AinaoHob0^|KwDL|KYSi}Cj>$sP+kT4pl`J=tF2xiqvPl}?VY!C@BKSYbw=-X zbadukz4x0LV~LVVEKy>KB}!US!4f5vSYnAKmMCdSOOz;4qC|-$N-9xei6zRn4kR=j zPF}55TDv>z{PtdZueJ8sXYaMwJ~=oXH_AacnGf81@9lrNWAlIA`p3H-{KLI}#z6T!^ybkuK&6Fw#~Qx^^QOM;odtr+^cWD?a#&6 z-+$XZoA2e&|MQP`-G2v%b?@D`|Lxwt-1}D!^Uk~ebms%N{V#|AxBtHXp1bb()2*BD zx_|TCcW@Y+@4WYpzy6iOzWKKM|900s>(;L0aQ}Aa9e3Xbg}eUxHxBoAcl_5K*WY&k z19#kgH-~-OfBy0Qd;j#OyYAqy|8oDmf4J+foB#W-oQz-JasQw1z2|S&-}bj_?)_g5 z>*sfEz7yzP4&y)nc>9_)t2m5%{_D=$?!G(wO*b?9h?~hddZpnjO$UnokP;0Nam6sk zM1fH>$(bFA7DGJg!{bp)#!*W3$YXdD)0UM$S1SCOT*|)0zt_pchf(OSY~kZw6%7brNacohlDGjEF2aB{hk_7?I?#HhzFh9jC$6VFLbOx-M) zq%7LZIU8N&@r==UEZ(%v(GolliXKquPG!cBS|!~8CYB^NBgKE(wCMlhwvHp7KqQ$H zN@JcUu|&b(WoPku93FY(r(9U{kxvw{Q!z=ToTM*lEv%VyDq7DVm8TLT+Ewh7Yo{E= zc<%jFT};Gvibb2;vZDJ|bVN>hct)fhc4}O(DX&i>O~PdNpQy{}KW0|EI`V3Y?=n)J zc@r^f8hwkaXIhyNr&W47r#Ro{j*#BtAbXHglVf7sSd()nI=80g)YLM>Fzl36WI7T% zLZl5QN&gm7eqN+f%roI6z1MV$@w|5=F{VvcJ|odBvM9NfMyE|cip7v%@1QEhX)<|B zG~$HEKjj;U$N8hw_5(7T#-r-MRIACSGjnsJ9E>RQ;u*~VIcZJyBM*mKug-`1l7rIH+kP@a%fbI;_P6g&QL9!nOsgv6FJ=(o@_AEsU>$gMUyFv z+hiGzW0BVe(RCB`$w?JX&X?)yW?Cx_*)dIX12Z3P{1QbCd6}o>^b>R|iJHW%fx$>r zo#?4dg-S7J4BEsvP59!dtE5c?G;v&G%Ht7#>85?dQ<-R%{MK*!Q>X4=q!1lE#uSU( zJQfo8J_aQhi%dIg`T(XlRM8A8594q+3QS94$GMNh#l-d~ z$`pQJT0H}s-Ylj-BK!D3DP`I;oPofcd&w5gM9WW}!8JsX>aXtyPw8deyPa zXw1NfHcl^owqVM%swDjd*)~j}JdBzcY`!e=E`%+n2sAsbJ4^f|C1Wy5fM5ZwMd&Ke zo=Vk#cQ9y1>TE2x*vA`}{P|kelxo_eVCZ6o>g;Hx zOfoIXhHUegDq9|P-ZiyE)~^+`ZxMmI;qUJbuT-@ycl^H>NI@)8>FNH)f;THN?wR=) z_+SN%Ea$yj_QdJq)}fqrlb!IR4e67;sq8)K>=W25F~xdkq|qBHgYkvKy0fQMBQ)WB zJ%PLQ+|KC_QhSrLP$Vn)PGw1E`5fv}le0%>KJIjK;hvqnSD&e$y!khdgt9(JK3b7D1-ur1Dwe-z;$d;<<+~3-yE$Sc z=n5JV!gjF9#UOdZY-w_I=m-#TYSA73Ig;@31d6algnQu1O^(di+|(k z)A1T8WAqq=4A5u(aAShLblwsdDria=c~e__8sb48TKbQoAfM-7`a>|K*!iZuaSRJOi|p?dTn_yD`b0VaS8H!-Ns zQYsOU=u-n`Kp-#@sR*<7pBUgXk|JRnD5%f>>*%#96nQ@?0g8lo7%a)kR1q>fg7-r& zN5ume>sGtpor?5g-s5m!%j1v)qHdHR*sIxF9*8lD;lIG}cSa;5XCID_$s5B$M`iOL zEZZNLU9YO21b(N0Q)u*fH)N$({8>?Wp|GgtnkKmYA%Qe@V&|D^X`bPOmg89&u$lhGYJ{uzZd!>M2eDrR{w1Rd;t@pej9;a__4tO zHwd@}5`kUx)_+}gvb2A>A>YV;&^C7_?0Q6YE&XI^WS@#y?mKZoA_(RIsuP?OdkKS5 z3hmg{RoB6DjxtY3ymt|Ihu8H=834J#-TRNcp`C@)fsf9`xaYp9%K+~L@o=hr5*M@R zL=O#x!H{eD)<7I|my!_(4CR`0S5tJAH(mc|Z4+4m;;sVcz&6M)1ZkxenfflO46@|^ zLl7cOKDFSPD|{L>CV0{R@}$kfg-=!N%rHfsDXa}tVq*Z)p0(tZW8e~k+TRlki5f$~ zGm^eTiia0p0#LW#tRZO@(j$$d2LJU50!VP+g@#9tSxj;QlVC|uIV4$0IcI`Je}XPe zy&j^ANCJdf0u)_94l#kC$uI+kU^T8jH#YrpZs=bHUnl>d~eRA z7r#aVjKx2^8a_B=>(8r|Av;jlt6w*YF;*d_gbYDV7(^Cewf~g&R;Od@1^Ei^y1o zJ`n3y;1+lbc%FH}956RC*&TfEL^BfTt3%LCg)qj%7EGm#xH5(qEw@s^`T0 z;itm-VaVX#cv=Utg@X9Gob$BfTt!6)b=cQ)+&qH3oSF>a@k>O#jn3gxoa6O z9GbkV8dh1D<3+`!mTU!IDEU4J!!Akb6ZRIfhZoRb$*G$G(h1U1^thrZk`Q%Tv+epx z64H&r1{rif)=~SCfDC~ZgeR5-+s77MIO8L$ZT>Qdz|kk5$rD{94m|iG9`hq|eN^9G z;zmlnuRa9??=gTN2?yDc+4?I1i&63wAdppr+bIdD!`pM!Uy-C3$QHrt)9A1wZjb2X zr6%D0daNRyAf9s8Z|Bb_EKsNm@H%^*G#L@!s~w~8za07Z>|i&Nj}|UqPKuyN!EbN@ zD{=<#DjcsNbTBNmlo~A(I!MouD3L-2>=MKyCWst7fwJt^QNoQE0nZeKsFp(Hg~BFf z^0e)5n}84S1(fAMi=qR?IwOoC_8~|H!23-7a-`vZ!+i`%9%325{P&HFa#V`y35Pc5 z7uLrU^ef2@tJ$`iA0UUA$gdB$B3t+M-*D)?4Sd*AO5|8uW=b z_b?QYrQAa$O#=%y%gR`)nt%@W7JU+@r(K3U%>^RuU0a-<(Z{Ljuc9f&*{Y)>Bpfw3 zwFt7-%M{k;$Xr{=4$Kt*iEJj6;%CDy!;JRv)%8TH^q}K7goVl|asbwIfZ~my_sL}_ z#D)i82iQ^hHM)ZsY1_In#Dx3Han`~5WcCwc#07u_meZk1!MXlE8evJ1y)xf{NE+vr z^Q_d5blF`;C~ns&Hvs17Y!(j zB~o~$EwpF7k048jPEa59;?EPNrxBn8F&Z{lnb*&Q=L!VR8V zMgO(buOBTzgm?bC-~tDbQP--Sz@TP7UxROezf?1Id*} z0f-Vryjw~Fz6%;ns9!-^1zz!xn(!T*_%fb3s^Oe8R~65GLQAy_9wxBFPQq5~?--q( zk6lbT4{S0V0;PSUA|$C2_L?Czk&!bnHASIIJS`nSf;#Nc1OkF`mMDx~1!OU^v)_b9 zPJl2~WN4qEx1Lf~2R(`f`oE|dLY6W+L(coMrz7rD!BhO*D73g`nC1Bou8|Ve`}e^~ z2Fy`3=aIugg9r%0;TZy>jD*u1H788XVC}_8G7_r0_-Nzlj;4nMqpIkYg+{f*R))|4 zfLH+06@)H@TRZ;=N4zmO(7Q8!}&kjkX`fpP5vWMZtvPrrS#|oO31$~Dl$-vDKVzl zJm9RrLoJh)%T6dw<+lw0-sgd*ospI@1n%!d4cD3ow~0KK)uPuPX1=EYnnXb$bexVB zGLtt9OMcB+)e3u|u<3dmU)V$|XoJ<@GUPql{qlTJKR-prSQbZahP zCrX4kWE3E#0L_S2uLf8Y6Zq@ZH3i_n{?8(m98y~Q=ROc-o>)?=XZ3&F_k00j(qTBmlyZgnlm~ z=o7~g1ek*lHzQTj;}DEt4DPE4?AD8sDDwwZ?bRc}|9VGGe^EdZ05ab_6TEmc{#tKR zUiE`M;GOj7bn1?kfa@i3Xv!aDVV=9@3O{9i~d4%=teHntXIDF>I%H^mmg^k-E21y!L4GM zC&KW-!;I6VS-RQ5--waebG(U|KfriDK({>p90gcW=B!xeqK_xuv+&lOV8%x0iKpm0 zVu}oL=E{ugdZc^z$Z|;WW+XLY7}#jRnXi9r{93^QKKwS}g$yX?`H6CdjlzoNZ-0ZB zAWVp{TqDhdTt%@WEkRhqf1zO!@=yYPp#hCDtjNMYYL(N@9WyLy42YCU0eo2SH{?M_ z(}Bo=73G8A(tl}KMBa`GM-U8r>OV1N`ClHs#Rrpz4a&n4#v`rut5;@JU=)Q+M2Juu z01^8KI~uQew{Ul08$>r{R--CK30_<@FOo`(?vk9~w=%%b8?cANXH=*cBTs`O1>*3x zGT%jUW6HiYi(}2Z^$2=HzGM~c4c^Ez@YCXS^NGvk}lQqEXkRP`~`6r2`xhDsCGJQI3Q^MkTM0iEkETG@2&$ z7e$s1M@G#9*vvOWY;7nBXyKQrQR16L7$xWnNS2d{jm=N+eTap@p-*gIYw7?OSn%mV z#?c3W#jim=DrEfsny6Th09cG6TIm%4|J8s1~O|inQudn-5~t7o@Ty zW!0_#s(}wNj^{6rtlBo>m=JwDAC&uM1;Ah2Lsk?~Kwg#cUkVDKj@D(s0b#(w;EduC?9?M&tq^mjcxB5s z(Ii5QOy-MVYo(6=Z#i7iO0CGJ^=ms5_{ z2`uAJV2Lfj3uPHMI8r27I{z-292q!)IV4;sJQ>riuWFdOR%=ztJ?YxH8dwa2}S~{&Wxb z7$FDb-p}77Gl0N;A&7V=)@cwh@Y;8x4CT9|^uK*AaDQ3xu(w?XF)n0?PqfqM>S$k~ z_mS*>&xj^mcK8fRufG)%Q4vyI5Ei2;c?egduxl!2#RpiMSx6Nfj)A73)AvOY`jv&J{9MP?G-aoRsOgKBC-{-^U z6~g~AWut`*F7$<*>Qd^kxD!rf1!-T2KDP^_47~=BL*NjsNTYdpBDhG1lE^ev8bERg zxU0CbU$4ObU#%ClLU*}RZ@KIDf}eGPqk>_k>Bke$iQ#4_Cz^C{S9nyLM-`m}&V8T^ zvOZR}oyPNxMXOaC9U4$sa_(^aELzAiW^nc3EchPLQbv_>dXX?Gx&-i&nY3{=(eBQ2&yN9KoHrQjo~LKaO0_P#zHYz$6TV;I zV3Zlqi>smnX0%6NWFFx22P62)aPZNJYMh|K@pmX1~n9$T$-D|f7#kCv=8;f^Bm8;Kk`E zEKS?cszwM3Z9W^)v}rkA(mkjPxjC&b$u3w7-L9(8-5nGHKTmYNu&a68f zXO4xbJO1WrGGSL=&O0q{(=RK;X~m_U53wrO8e)?tqJPGsx6j<&`wp#qF&$3s3E%dI zfI$y=V>Ygp-(q=v?fWM0z8zqH264VqOj)8_w!zSi8l?Ej9)?46*X$~?3>e9L9rm{w zyJ@qR8t#!zg_jqgJ5I9C~p+UON(Fc#uH}eEOT%? zvA%3rU!jm( z#Fyvea(hf2BL96mWO?~_P*+5P`dSnT^aFYA>L4w9O!}5+O|mg#wSW~3XrL?|0;V_x zcMdGuK-Y+xXEF|L<^CKV5b6(x)x3lpy1JGw&}g<@viP{5uShO% zs-WWbHGC}e~$dbKs0 z%*g33VJq-YEZ?WWcG0?&Tt+Q7Lp8?PU8zuzhRFKXIy`4z*aPFCisWBHD=U&O6j_N1 zhlb3}9f<-HCaPK|<(@b~u)XO{^C*b2BT2xg!)Q@;_-EGs4BtJ6Y5wOt84@) zr{kII)_B$G08JVXsi%A2Bkagy)dlgLh}n8a-kRHvQg+Taf@K1t`w{X{OSj&#Zu6MgFW;skBBjLHCKhaaTB@1uLuh*FN zJuYhU&u5N0T0tG2pGd|pUzZYC4gs|(7OyQ#F=Y&Q7g)!9a|ykfusuuHD19lPEg$5j z2#{}Uo`^ps-Q<+Am3P+ju!h`aF?riO-hZ-4x55FH|LM60Y};#Gmh5Mh#ThsJR|5*aekNQ^d(wL^B2#b! zBxxNqav~Sc{PB(rL{hKiZ8CK#c_$cfsbGI2?KzZ*+AmyYw39utTxEGPl`j1*JA;BE z{k&yvz6q3V{`nR?_M+pa^f)tH9X$So?S2y_2WbXPLd!8eVUzMT}s;NaiKGILIY-6ROXDc(u z@Rn{|pH@0dyy@+_zUDF&gh+22>$VTJVzf=)Fq)ydH73ch9BHO~ev6j*ga?3j>DH{= zm>M^y?I&k7o+g5_G)+9J?atTDA|`^QCaxF9wc)V}I_qy8U7WuEeyXv^Sk`Z{CVTEx zV6;qSRcV{LXWz5VmxGsi7nkD!6R&&M36PP%{6x3YO2mW!_|Kj*C?SeZ|}@7;z? zx~m1>$=i6Niat#Cd3zOk!4;3trm4h5JDX5>^h0BB%PTKp>zzkdcdS#V?|@=4aPB8B zUbbi>m_TB=uM2q>4sV7-+UpOmeCohOc&qzj-{aQUQ)!CUlDmOR5j(=A55qUBoJ~$# z2!2&DP)jfHeB{h6Za6Fpo%CN7C6yFkI2$CbomaXEfY!vdXo?;eBtJ0fy7)|I`dhGF zg&bmK4@o9sW$kB17C!_+E`pg ziMAi%qKFU^d5r_#wIr^O$`>q@E(JI|&5zI9;2ep>6iwqEsQSKLeQbRisj_Dxt8&h* ztt)En!e?*Ft2yb4Sf=EPQwzS(Lpg1&zqo(5BZLb&Cy4&J?}# z9B7(nPh+ArDq@%j^*9Z~J?)Unhxc*<`jL^=5ks91c3L;L_~DE+{UlDI^o{E&k>7l5 z>w3uIC;0BEfafCNRn8y|_opwXWJBd45F?$t9rN9B>Rfgx$fo(sFEa#A^QF~DE&w&sx81x+S-E^1`pKn>w?Cy-sZ86-&_ zvI2tlTES-LO%QW?c9J9@i#Z%JomqUzad7Ou!ST8{gW}f13CMEgU5!V82a(QMA@Ex$ zVGSc60TEZcA`lxTOoAYJBy57D|5BH(g6vbF2zSBBp(Z|gC}EnIe`~K}V^lBidPJ&^ zL;o4N4I+01Ie{98At;KAkhT{Ew>=a1%+{eGp>d3qr9bxJ{d!GN;J;Vbib(PT#b!@F zp81fO(*C~>MBY%F-OTvN9IKi)EgL;^aMfus{VM~7I8KLIF`~r;J26F9|7k@!qi%(Q zK2-hTqi?KPCmg5-+#{$)ZiDDt_o2S^=wgMY-7^~QuBKt*r$4S@-=syZ4ewEAt%F+W zA@f$6$_}hQIdMm?xxwnjj*+jZms#60O1y~N`s$)$7N3ke-gJOcg0aCQggKC5KCnr` zk6W0$l%mf5Pn3?%HfwA0y3@eRaYGszbL2;NNICgugR}3QP{Aa~J=zJ;=5YOv zqX`_dfSLZ{&f*=fMaRE_o_R(}wLxm_Z-`<6s@T~%uty2&f_pswDWcix-;j)x!DZJ1 zZ8u~ce#}3Lgy_nWeX~n~m-;rWUC1|r6H#Rd|MV;-V{9ob`9sYFFI{xDB5=fKlBe3X zvVH|~ZX>t*N&3Jl!4v6~v9x27v5nHhex-cTFe`Iw29)^>)rJ%`xH_dFWm}j#gtc-N zHQAI_FW{IBS-x>kx>SL9=2amE*BiD} zp;2Iwn@{1O!rY78%1^_2hN(2>Q3$?idde_b2Q6iv zTdzefpERX3NpcJwy&WawH%kvap-ZsUnR)bE&t`N(vLBU zO=U@aLRvw6tg^{mNo5|kOy5XgP2v5lwT{eKGYqKTf4{_^o$WC)4y-BrlO)s?lc|&NFB!usKg)@5*K|lpHdt3h&ym z-OR=b(nNp#md*o>*oR}ydeUYZ1a=}(f5s&e&;U~kXNuaUo}5#u z2(@)pq+ZjCd|5IJ;c2RS-;SqBRRvpvUop=`1&@*_;p9EoB3x=0(TyFY3W0e~-|7&4 zSWJB2zC_T|K3$)7n?jiLM`Z%X^q;-Q-Wd#|$QkqoRI9E{FQ|L-gh$$-g7w#}cqjI? z#$q_e9Euavh2Y1mFs3z2XNn21Dyk8%I!{S-eLljug?MP9Hu3iPhV`!Tmg)Gl_bOcL!_hR4OMiM3=-O1?Y1;`b1RrXS&k&T#nKHvi zx=MEMO@5srVrxgezS|CzmPuUN3;3q0bKO;ZD-@VWOFe}ct!>R^Y7Eq6+AGg@{i@)( zK3j_G)zyCL6ZG6u0cGI^VrtJf=q!~^VJwu>`dOEzM9sE}LOY_uZp)ge@&V`8bem%{ zbe@uIW8(`opA7%%36?#c$>@}1!@@_BZ8LX9XcX5p8qb+vW?hCXW}?gECe(kD=MC>@ z)SEcs*#8u{bksUpjw0qHKL!cewb237TQX43hB2HTtN-27c%f~T4fLrSgMrqQm^7O) zHA14C<>`_A%Qri%_|8JH=X5htE@_?}l`{-fgGLk)TvXg7GEazt93cu!$RWhkv+TW4 zrlaZll(6>=FR{nEaE&qaCp=K=u*6an=sy0kpWNb%S@NZeN#DU5S>Hw9so*(>+&P zp1dwzd--Z{)Q)sBv!2)lLA#wEI#_Y0#vVgIcypmyx?NHu)fhR|UgoO>)zz79>Th!B zT<~YcKJR_3fvI|qhMDYXxwFvyAT*nq7L|*Ahj03%L_hbshi|f03c-lw4tVCo<=@f* zmbxED*qw6Qr-?SYs}M$eh3wyd@+?vTG&-_6D9kRRb5cJ}ua9Z=c)8oYSj z{a&%Zz^pwe1l1kU)~-Ep7S$PXhVAiJCEM8vTF+BECSx)3`zC1gGzP58u+Lh zv0I58xm`~&Y<2yh?{pub-+Z1LsSC*OzA)@8elXGS!p<>dJ0_;^e`Gk2ssGY5+68}lnn5p&%mlVLs%)?frcVB`PAJ}~5J1k#|i zGU3QYAiDa&`Qe`Y1-xMqMW!)j!SH zTfX;HeF5YnO>bpAiSNQ)nJ6Dqt!nr;gjEs3A5bA&r5@yTAPQcE-PTWWqSiRp=;i)m zP`d6;ss0`OU!SeFHPjW#k}2#uOOWb^-VDR$4Kh10@@}+ITF%+%VwEfP162~|yF9R! zFG@+^!BLRVb*D%?ljCDGRqE{cvjc#ZaY#lvc@pHno6RnBM3oh4^?e`%B<*BlKJ4QG zT*GWgW5wA~C(B%2tB-zLo+urOUo@b};g$Ymz#5uP4D|%JY`Q)QCqpq7?~ZN>9Aypt z7wn#^cS0|-$Lb=oK^t7BxBZ{yeB&oK?7|pMrDZ8gjd_iEd6is6P)s$-O7Zy->Qtr3 z_eM@s*xJ)kYm=8W9nrqKc@VbjC=DO(%786xB~lysSO*ZcI%pHvN%K~ZA|oSm`fg{f ze&Lm=8#n~+>QB~>0Z%g@4P3)23s~uwQyh&%3s`HmnU75zjTuQ#v-}e7rfzRfv%O*N zCY1#ojoUZwCJr)7Bu}%end^M=3VwiV@1*TmR(`jYp$eqf`Hv{w!t;}E5zB7y!gfBi zD^Kbu4r#xrd(i>2gI6>T3XE%X!Q>cvr_;#9GJ{tljU^uh<}NP;>q_2m79MW|Y{O;m zTjX=LcVvyWC(6Yh`P3@|P9c{1x8{S@)^9eGI;@e3j2Od+=>xTg?Sr(FuLCvG!=>v3 zwVR6(`VY~OdKAtiUalBuj99~%h?%KjmVebWT-|O|>?5m#ga39=0)rMSnkKLwYl`TKhR(3}$EWgqU{*L3q>JRtA zEzhzB0e55dXYgS3|LV9|A-!h&`&3I@iyg~|HC&3t9yy%B8fnM%@8)*Ls(hV~702H> zdoT?7IiXmz-h!Cvz}eC3$Ho#Zi6t$@G<(XH&F_Qa+!nJf(!`U4$%AM@sMdF3utRZCV!iLuyEYCR37JZBnsEk?6*Ng~eMPe;w>jii)An zu>m;=H&zbp;a^kq3CU~mz8{*)LOYug+QYXL$}1{*&MOK%0%(@Y?MDIq*C~(3&jSZGulnfkqOTPi z_9de*b1*wOVd7vSZhJM6>hN0D!tld(r_S87)j$v*Up3d)oM= zu=6x#Hh`!9iA~S!1LOtZHmLE>6~*K9!{KPK9g$#joiVzZ%jVGYQD_9!&^W@7mUKD6 z%pXGxqx3UsGsMR5wSK?Vn7Pts|r5nTeVIs zSjk~1TD#*+#w#kYS~rz$V4NvkRKZ*IODXLCBO>H?fy2j(Rx~znmHKYwLa`ZfUh2 zPCwDiy1i?XN#{IpN>)~VAIz*ljz6xf`cIr0bPos8YC|iYb$V{FAPcQ!uAYd;^vwFr z^AZ{zdFay`gmx}g{G4;qM{2y=vHu!CfT`67=qv`zxU;gIUXNX%tmww|9bV=!dPi94 zErGPxu&wsd=*P=Vqvt#DlCTU_X4~;u2n?Dqj`13KGua##f2!W!+m#3FOM>SB;!A*G z0#Qofov(O;pG-7}G6bHW_cE`D`w+Cl?@jx1$t9(T z-woCfJpJ)kQiu=4*(0cGN1NBwFGCa4LP`d&*j+k7Dob2@;gYFfC8tcDLK z0@xd>%P!YNFfHl|_0ci9r5{{hWTAbRyQAJ6pCFYUw5*Uvh>1)JkywaxdlUD@>X8Pf zmBoaf@->rNLdR*(bs+}WUC{#iHM)l*p0w78&M3~12E-*66PEgJW=^0?;`{L>pH)kv;El^yhZ4a2Z>&>ZpC=J;vDN5VwN?RMSe@~}p zufc}yG{}emcBOOcaFCsjpZ2Y%H#cEOP58BOijvsdJxB zYXzH6~l2wcA2VyQ${GJTX7HKwU-kU}gW-_kvNz5{`D?X6FIZTug`~ z!)rNFbHsK;a-a6QwKt5f=}jx0ah>!x&LPxA2_WmoS3q7Hl+iIXF)Ycv*acG8FNs1Ooi~;g zmI-In^-j00@vKRuDQ5M3oxlluqMU>G^4p%qn#M479ni4uU+$1+p9+0TEoYNR;ntjh zK4v>*K_bX=sDfOFVc=Ya`*!qPyPCA&$nwIwuRLC)PxiXqRV} zqzD`jWDjPmue6Yv#;r!(0gmbR?ZCbvrJ6T5R?FF_Ek}s9+w@>@zkx4QiL`Q@LR)4E zJy|(XFfAZ+E%@)n3M1{a!PaROG9jo_SWDh!T#%I}U0C$A4^W7La&Av0Pr^{k( zhTG_$Ml(#xm1&s&ggfF|cq29UglMQ}KIfnRG)m6xDkPJ|0bhigl397og{pvI+MK_S z<>hJ7xflz|Tk=Cnt+BuiI=QiS!ECvCs^hLlxXzxpDpxsF!N4RA& zj#35S$yn`TqMO81ORDc1c&goW&U^z|mv;GiM==*}Ikjd+5q7?uG*O`=Lnj4$9>bnQ zqdudwoVXtMjgbHrP?%6|N5CSx7`q-Z9sM(kHd5-VZ@sD>nZvU&MQ=Prq*0C3pu?6N zQ|JQ>qK-7lbKeuYHn1F;mjc}3XEpYl8Doy5N?lWFL!}&i-@p>i7p@S_Pxirg`%3nw zbkd;G6Q+JkS$bw37A(8$0Z<)9DHDRI3BcTyV8=LZkEGSD>>{|e)b0MH*b-n|?7MH< z9)`9LLlwY}kH+-6CgR{IwU9oFXwQZDtf1@=nVqoRkKXO-pYG&00Sq#wJ|*F_F>+J0 z$gyxwGu7inQOA?I4gB3HRJVf18q#J0qi>y0{4p_l)q}S@X%8B=(##RwCBHlJY|w^l z98YmeIfp1Bc%c}PSRrnYET-Ht=n|S@GDV1VdzE9y+M*m9s06XOc^4k2_3+_osyEi& z=zIni{B$rOZ5JPLs6T=&%m^%-4=Il-`=OX}Zdf9@ZGT31xay{qCiZ``i_k;3;h9R$ zcdw8lw`#;_LEJxu31b@3-J{flE{|aHvfG%Dmej|bbV9ax&3D&8t8K5IDI7o)4SS#H zps{tU`@UZWa4Q<(_O+r$?=E@xo#4t|Ba{hw(KwPOoiI(cvJD!28WQb2j4D?-D|Zg3 zPIMl5*oG3$fEm;0$ldD0e?YR~b*1GQ;!2EVF~0l9E&F_Vn7y63M$0(H1$grZy8$x` z!Or|aOQ2MUd8AGy@d8;~AAp1S87p!S`CK&fIlo#aMb-b@cG(z+F)KkNCSY%R0jWYr zgZ@rJ1f;L0ks{iFI7AWyb?q1Bu>sjSt1uL^*%YXiLA-Dj@UIk_VqPY|ZW*#Ve!O@2rG{m>XE*hPT#5E2qS-4< zOvc#&Kp75YWnU7yOwL?E9yA&flVe?iihEwdv5M0Ca6s%_04Pr36AQP9W!0+01^B3W zv=004KGsOE{78Qq#>KZA(u(l}(fYT|;?QzkU~7nV@!2it%1VCVq>c+{HKI1GCe?Ld z^-_P*gEYE6e;VmYAncTb_DL(pt)*$bMa-9M129IuYrGRD#ZTi$X#{fq(e>N7)dQAt ziDAwOX-RMj@ppeO#RG{giB)D@6kb@Ma4`a~REaO7vq*&uxI@fhiZ*$4EMk{VdiSbXorK_icWj6FKyS=0P0!E*3{#9t!~~2j!nrw z8_NPo&dgJgd_n*B2`OGiRP*tE0P7UPM0F&!6ZP{BFfCpF1Bs1@VRww~EE9uZ)HM9X z`l^=gGumX-{_Q052?fY3$RuL?7!)mk6y&FTOwBu&V=$i4Dnq4P&gJKO%?1&DNOIF< zy(>EIth9uq(l+#%No*?7yKgVUl-gIjV;+1V!nFzl%8h?OFy>jaOEK*8zCrlybCR7{ zYV}x@nr~DUS{B65J}%7O-o)#~zL3grwLT8g=ynLEp28ya=N3mjWkUCu)|6TT2L^;x z&@ap=VW3sN=#@s}xHo5vxR(`jGiEPw*v6A{2{OPifp9}0ozC51X^UBNWj4^UV>JMX z3s7z5HXSuFY0`Nv%}DdL8O1uGGbGJiyN~UuJ2X(+8S&EjL~-r?q1^fQTG@IY4*04! z@OQKA=Z_99k6-4}mD^0@RqNzp%nPphNMP5M+mak7&Z<)$7t^N_unm2y7~c08}p@u)H@>px51izF^ou3;Fy$RYZyRE*S15laZAgC5Fu z<(BC$CAR=aM{uji>c9E}z6$$GX{!WxNo*8yBM$q11vDyE3}DW;QBCU6!geuTlb)7# z`e`R7K`f&;O+Woq4K=VPtq{@bGXBRRjG(XS4B~VH3RXYzVTb@f7hQ{P(V#7W2h82X zaGc?X#vb97Qi>>Q`t52I3|a*pn>xEld{9G7N2l&FQfkX^(4oL4@K)yO79@AwSSWBK zGtcyZ?t_w^NP8Fd@hWzbJDpCx(BbIGy#U-hVXYB zD#K3qT#(h4SL`-5=p?nVpxbDzDjI6Lv`}*R!g@> zg#|5>mO#qv*umcJ&23+62gY4($ZcQ1)x7AMTjVw4=-CSdHHXjn z8X+ZBtewEkpBmU3r^W!Lmd znWaW;=-X1adT;>EbDV9;z}mbR8xb%xXdlwZmF%vc3Hc2b6PU+JTJsGB!dhLO`qO+S zp7uZe-^|vI8mTTcH9x`+@7KPMN6jcvs4COe9qlLU`JA9Nxb5|{wG^eyo@|zB8#5S( zOAUKY!;1y_QiMTlc&vCWpTa+=+Tc*(WUX>8=}#0l1Z>HN87Dyx&5nD!MBu0w;dMAA zAwMWD9BaCdspt~g#V%|LYsVJL=d=qE&TDpPdccwZT9l_jfmS$!V~)+N6b=F_frnE$ zP%Fd3M}xB3HuRGSF^OlPw?*+bp|5Mhb@oe5-f0=#u_u0{rJym{$h#g4e1wn%s5!1W zuVx{s*GHrH1da?(b~KGhi2N>aD+6lQm$YX7VlV#sBB(XMsmDev^IttoN$Z1y{zF5l z;93GJ4C?jjhhr^`Na}UjFprtP11rUl;_7F*HAoxM)2DwC3cc}=W z4(L|f5cLv96mcdRbe=J^x>Jr4lXb4>?`fhA3*mTH*{!h1S9(QZFRHT+tBFYZQ@#cis3~)%SB1 z4cckh=sz{;Cqvs&2gU>q4k;Xy*xxOcC$bS6WGj$0-0@g|^p+nJ3uSwR~C-CL?|XQbJ8fAj|) zMXq_9Hti(c{>0d6)ZloCQ3(=HbdG71eA%D6`s8m#uG6~Ig7F4soSc0hPA`~{J8}WX z^!(ltokCu1zX15SqXxo+Y5s|e8|WExqMp7gl{-UyBt^fAEzNg6 zr;)qXpcAq$akeu%^)*OK`oeS*o$2sMgK3R>(p>2TWnT2fIG2af`@;EI>MD20&ed4P z(R(Vg)%hz+RxE;H*i6xe?wcc=dBhJSuCP782hoQ7hvuRCtSaSb7OS97GHI5PgO1x8 zAMF-l1!JuYEYovJf9K(jMMOtJuK@d0tAXaP3TUQ~iuMpu)tPn#LD197L$%du39IB= z`5Wf+Og=ykc{TIJFQuXT`As+U(l%8+-$_{ptbJcFWfl`~Ueftj$(2OfwvH#|k1J_Y zoP_G9Q}!lWIyhT)VsXn3{G$o%t%g_L+106{g*iU`2GuGtsLz+f551D;>D3VXY%PSt z9Ew)m*p+A9F8VUnLw@yBo*lAM1i!4~VzZcIvZ5YHSsJbHtwU?uJp`)T$3ttT!kbQ( z$;mj=Ka&Vp(}8a_UCli5;;i)W@d~fluI+%PCPi zfjLzLzc^2UPVGK*Nud(Ed*!?4E-$L@ERR~r+fmpQpxswX@!O+x$6%D-upeuXM()m>arXXJzyt8 zWBLq6(Ka<>q*51(N1-}rjLE>^O3-7vgV?V*cO-DX_c5 zg3-oMl73zA=JwYn@lnPgB6dDgU%bf>`Vn4*vU@BvnoFW`9Br3rRx}bL!XkK^P*rKV z_SMnWrgR~wC2Rzx3Gy8!7FES@oq;mQdmn}7&QLxO%%<}J5Gv;Q(ne7&O1r!Ifqy&E{%Nfz7+2iE+d9~C&2MTg_O zU3glRE^9S}2T5kkl1KM#(wMt)LnQ{hf-w^a4^|t?Wbq*Li;36DiUB8!an%F{NY$>l znXdRzBtHHk??MgYv^licRA9z+_kG7qHA!`jV%24HOvz4~?G9qSp=&fc#qg;$#AF8C zUkq+#kNNE&^rY!{@g9_oyEA4};#%j$Hiy~;@~JSDKdoCK9`(B|(e!AeAvJNS9W zsxqpQDHW(O8*aX@uR{)>#rU*g3JcK9h0S{Ysud$9$R+F5K^(k$jsG8gXAeUSqp{hm zO-*hs$O#04unUt zM5bw>4VpR;`AXiFbcWOi9edcCWvjJMv~VvR<(kQXb~&zK<5&&zl7tE#kEE_t#>DzD zv-N;g7L{Z?by<*}W;UQLM{ z$H+I~1cGjT(gDf`?k%^_UN)iTAJBgn#+vf0m$U(#t?XWnz~5~wAvOv-R;y_1 zhn?!};@$DDn*iU;c{#Y{wax?I<&)qkWwy7v#@!k&foG)mzq6%-fybdPqQ`TCeGNa$ zzd@eP+f)8vP$)*j7TF|zrE=5|qccW7N>|;-Q zx0!c2jLq@#JWH+=>?W2y-F(z=xjdz8Y_~i7V3Vqp<3Md8h89KKi2Lw zXgeZVV%U1rUUmUv+|^JutMT42>K}B*O2DSHK0r}ov0l*7M>w-DYwc6(nZ@W=yTd#R zoPJ1~wZVg^`NnG)sPFd-X&zE5po}^it7ZuEZ)TQ%pmqt_M|;+Ifu18&&_aZHOLDQd zI9F6wParu)e-9nh_Ny+ZR-j0kQIz&dx|%9ZWq-|g~F`TNH3 zKF#PY@pkaOg|2_acBl9PxqcUZ)cdLtt^4=HUVnDH-SxOSh^kFBp@@(cf>J8x;bgfD zfIVm$QJ77vx^i5K= zn1$1p^%58RWU2mt09in$zr+n}l_<1Q4Y4P9e^~Jq^-5X;r*0=&e=+g9Ox>dpO2rA@;C{w=^bvQ}^pk?XRVx&^+QjxMF^YW2JfNDiJY1 zjXzZ_hq;>Pf(@658T69I+kFy;`!lTZYKX~7Ef9ViA)wP`TQ>$Tc3$K!tF@!brLK)u z6RJImD*vEsMU@WJ`b%q}`(?EEvtCR?Gcx3C3&i=loFGdvH^6{kP^8aSW_Z?slU`^M zXoUKF<3Ignx(vV2#aGeY42V(K!5n2qXyRwKK$g7FxLCz$EDDH&OZ5aTRKGX2)~^YDMG7O8o}*9CsQ zQy|MXXTqMELHzJxfk4Lcn?_FKuiRq!GK-{fxkUo!jw0PcIB0NeTrJlkasASJ6P&#- z^2t!u9BXMHD|qoYWe1APb8Pd25K}q-D6K_}dG<9#Q0s&p&_~#9v z3bA&bnd4YayfD)j>+^jJq>J=C6U%pzvP4trgFr?vFwXa6`-SSQsCr3wiA#vE?VOz?;>fDslf9Sdxi=gDDl3H_{l27(Q<9vU`beD z5Qdo>MQ+qeGjjr2My{0&f#6TvbG5&hU8La~f9()yZVVR4%ZQgAo~O}JCh>Mk%MEcx z#~E&J(96)G!E({q>+}7&`h3{}_p`;Vm-mU`puMbvU%sR-uP>`xG*SRZZ^G5n`*8(& zyPD~P2cUiQ0IJM!t#32agW0}fqj>z$ooFlGOzVTtVU*Ka09!7rgWW>>x>!)3J(%D7 z%c0ys9_XQOHsLC|-KwFDzM!EIVcG*dm`m%$M|XPhz&0;lUkNxqfLDw9vc~y!+$KRc zY%|rIPDU?nl-`{QK_Iht+q;;2+=bN#U6}tv7dE)0h4>Zp>t4(Q(>5Ts<(Wmqn_Gq0 zQDiNYv%^0(a*d3Q9kdQ%xuilk#;nh%5Y}bY@?mK*x>&XB0gmGE+IC5~q>42}E5|l8 zz4kmBRABB^ux9>j%k$-H)*Ak-&R0K*5u2`D=*+jgiz*9@J!oK6Xr=o<&6&0=*CnA$ zZI-FT0#SG{+fhWkVz$?#jq_CVf+Zf9Bfer{b}QyOf8$>kDsmON?$=x=PuP+g__k^Q&YkKA}gof{9U-FQ_`A09Z^hc}#f4|jd|9$q`h@8DyPy^ZU>aN_k9J-G42TljG2o4C~cCSKRujeC!w1`Q@( zt6M53emRFVDZ9+G#&e%yopD|0QtwULx$>*DdAgFoV%0qBC6;38rT(?9wbI|&ejlQ{ zZqfbBra|>vQNxXa$5HQw2I$6zpE$H!1DiOQdNWNd%L1Pulo`y>Tw-TAI2t&*%HX)*6)AHpaQ;+f21{I}`eF@V z#shf>=YrX4Ch--sYpwN{+N{QT#EWKqv6XKXhUmn1Pf`f4TF|mh!p(IM+Yvv!*5fr8 z@l&9S=4SZI%*#DX)dCgA$W_esEF^wkv`9vJ;UsC`yR$SxQ;9cITK*}jDhe-wz+thg z(47~`G!;x7->X!O$ zvx!~APodADa0Z;)xX4wg{k`J%j$2(yRJIK@eTKSMxPR}s-M?A8D)4*%Q>f`;)ve)+ zlo#7C_O1-9vOI$-*T~m4UaEZ#ZM@WRsdkoitI~+OO+7am_@n* zQ;rj}6q|B%3pGNUSSyB5yv&lXV`;@E{J{t6VRaHO=4@O~wpOeI7iTK5{WQ47x!Ut5 z_u|IU!)R;oVYIRPFxu687&RCUqXV+T5Sd$G({6e45UN>gU29xNOmlNlV3l#PX{mDQ z#Osw}w^&(1ynB}23>w!tC5@txNLH-G!j`N7&KPE7 zzymLo6-$fs*P5>lJo#D}=p|qMg@ta;18#Wp0bOXS)#Mpu?GsVd1Gb5b}#*`vRAwm%t8_p~zBj6$}q!-c4^oYj|Ba5v^=i;_Ew!mKbqh9b*ph%Zr=K>Q?ov z?&gf~>NEP>1@?kariO3Nam-QYn+pDalHLSPvFc18_T0<8?E6-GQPo{t)m7E|QoXtK zYTNc^qKUTIjIEPQCW(oY(abmVA55Xpf+C^7QljnxO#QP8<)$5qoRj%t77xh}=0{0HSp){`>b zRDIec%fLt9q;4wCgVA(4AT{kRbKNYRR3WL4yJs>i1vR%zw_wX> z0Mpkz``d@YYAhGUoL7N456ZjY2t4QelIQEei``p2hpYVZTz|g5Be%AGp^+nU(f;e%b=2-k@)49a?%(?z)^BLuu4pZa5 z;$%0i^WNvw$%H5^T%LaC;veUJBKJ>&Ok@xvj^Laq@;YLd|65y~<(_u(Vh zYj0$U4}^h_xb3{qLAY4D|D|-e7G{Gi5o?46T<4+48BS5a`ZlG9MJQTai+2dvv0H6y z7i&QGl3LjDNX_fQpy{lE7^p~4l8~GTLV#JNmbukYh0H0^r*4f5xki=a%KgQiv61yH z4z7_}qzxbf(b9@zYm9Yvi4okL=J$_h-ogT}fO-rRUIvC=19=2AKgJZtH3x#b!(Wpx zC8WN0KyJV3ba+%VX@dL|qTicLHqzRq z1JeFA5o=gd*d90$eAs>>ezWEPLxJXZN3((!fkGV(x_S+&bQxXCE%To2LUi z1JHZuwxl4&M9BM@*Dt|-8Y+MSBu9xU-&vEyu+0rYYaHH|>3#^?DF{Btk139;?t(1( z%Sd;tkQ6?nx%JKI4@N`pe{;YIu{wkggsF)w2|7#A|76)K))(n<9eBC>Ka!`N03&< z35u*|earw2qIJk-+^jgT;b=^)y!$dRPlx#_u7YpkSNV0JPGEvKUcr|?`A483b+iP{ zL%#+znY#1ACB*}<>mDjEHN{R*f7A!;H&$mnv;BGb?)JXak`qEA`4U>YDIBmKa34g9 z3m?yUwE9`yLT28xs1jc5d~xQSVaWsE8I~EKK~yEa&DPC!>4u;yGC@Wq-CP>!e$P^baV=2O*Cz%`4{3vnr19 zQI1`jVQF|(6nRIxM}2$Zn^n`+1NJS^p%kP=;d$Mdb5nTUb5cH+3*x!);5A)EVgZr5 z!T~e@6cV?@Coa#Kg?52_Q~Q}Hu2)3yXgh*i-i+Wne+0MLB6#M>2;TU|t9beSSMfpS zRXp?CSMltRUd2r-ui~x7D|o8@3a-q)f^Yop6}K}i_jW5-4`+~_{$19~8p1M-UmF*hdex{Cl<#jv^kDGU) z#lHGbKwuiJj%I!esyhNVw#OhqMb;oOh;p2eR!K>jl@z~MNs&jDl>A3Z%5QH+>3|)P zL-gT}>|I5HgWF+b=~s@d(;SQn3yvG!4>v)IFa+bJ#CyO9W2s|ed1hU(#_%$0^cY!q zPl2m>y|?KQFPr3?CNsFL&k9R6q!1O42N`vEBtwk@Q3zWjs==oLv{1sptvP%kP3^JN zS9GW@IJXUPK~25f4&Nb zr%B?RFbwB}?SKpMI6YQ~+F)im4dyb{LTYI}R)vq=Ya7dp zQD#_=S`u|c@C-qknq+u+A(mwXzJJKV9MCJ&5H?$WRdgR&<{F3`B~GG=L=6d@8Yd4PO5hN1!9B(0vP*QW{!t$B?GjsNOy|{;(zBv0*0ZS(6gvv z${A(o>pZt_2z)#w%|&bc8i-u8lp^lJVh{~iFg;NdIv5>BjRM^^#EfaGlAa$a4X?i| z>%j|eeT%&k6 z^_BrxfXD=|;^Ud=83_c@@Rn)t6CvbVedjwRM(Bp@^nf0OK%<9+FeLM=VC%Srtk*8A zj)!Ec`$I_9$c=D%5CyE#^`erS%!}}Pby+Q7VzzI=zd;~23rZ(vW8-n;qj$>tZ-+u;nY8H+h z>zgBTqE1&xs-snjeT!}%j7$?6W*ZMO4CRXz`KzD>%|Ojd4*Lapo|dhLHXUL`=p|@s zgP{mrDfA201t>Wd5^GwKU4#axXQ1DX2zDc@C2i4KkiGRWl=bTqZ?K)BI;Txb2!h-) zqdeRseGp)j8FpHfUf@Aw2w8W5mw=H!d_gR?ePagMd>QX0!dzENX`4_w^)Z3;~&fO zR$(x34A+E8g%2{k?q9rQ=r>-n{}VW{pYxKbfBcLrZTyUE#(zfUU;G)_efno)a!I?h zHsq32WckVDQfo_bEXJ$sg`;EKGNKkIx#~SJv4fi&u1Fjc`iTx&ITEUQ5l)D|1|4Uf zM2dc;(6ZGi>B-WvA{!Y~QlzA-#Su>Bv+bWg2U0{ZhDWAbf}+4BiHui9ZPMPTez-&+ zsd8~&=qX%IKxmC!UdPvIc_#AcNWyG`fun^RsXh3!%&JjVILHK$4@<%>TZTuK^n2Hg zbm%Fm$dkILnpJ50aR_A$!-^Tr&6>%TU=akSqVyowPV+H?&>2AJw>>e|WLBwm+F=Ws zg^|Pxg51=$+_a7zX5}bqP=o*+#uw-tu1nxPahPR7DXG`3P%NNMF;NSk`6o`FrC^0e zyL0t3D3{Als|))xx#{3U7vi6S*u*dJqMRTXC52z~fmtJ#BtjCm+6`2Xf#%Dgd`VNF zxu7F5Q=)V;rA>1ZT{ybU&{CRkT%pYN2K+2Ltx7e+zvwtJGzAqc<01=kVLc3G$T|om zB)my(k7cBKnI-6lP=Yba@Nz(Mk)_xK$eLTUEIcEGXSacb6XnE7A9)=_am+9aS_WQbT&Dpmlsss_ub03J;GeDB zq6Ml8g-HW9&Vx8xoP%SoG;Gq6{afe_rVU>sVkC4h4DU#qg{X84hAl+B zAg-XhMpq%AhM^1`o@+v1b4}At>rwhvHHJTu5U{MoqXb82ndcws$Zx8xe;1H4aklx7dDKMA)N3Sh8O~yuv~5 z{)ihx5j-)K8O;g%Z_`~=BlX?{uEST~`0s~NYF`%8LD!Dl4_cr=rlOSUXr1Co;h6yD z6Faw|wo~oekb~&cz)I@=L;hgF1JS=ci78^#avP6d#Z6a0`^z4BloS0WCHHOTgQ)@t z?(PnNy^mKNkg&D0STr=BTgN}JuhOi~gFmD|cjl!#u0HW|V4|)OXi2yMdmb(P zFH>vN`b{yhmfiPVywLsA1AW%D^fU@eb~Irq|$yXWx&UPSz89)J&m(#M+c99$VLqV#-TT)b0zXIf%; z8LVwvy=$cbVqc2gXFE|jzVc&`K3+W0S}4LREyJrCC9%oX3#+rSe;o)LlMOM-N$)WH zQ!#M^LiHZJEc!`9Ot~yeUW&}Fe!;e-BvLMxo=wJ)GMG!JEu^ zShJ+KQLY6q9kY%E4%Np^GSy;xr*%(M@f=7Tva^Njv=}q8*pj;3phizWJKARjXeK^d zhgDz?dnj&Jkc((@ml36xC#+&f!`X1mFG5er_t3k$&C{Mm&$w!~IvQs-Cv{U{en1Ws zGRw=PmW?C}jtPgTu@z1Fb+}nd2CGt`=aZsD4TH!ja`QdErdUSw!|P+EO^wa2Q7t>k zm4~r)>6%C{@{ge(<4kFIWoU(i$OH_2e-R_ueFaNXA$J^(-Q3w$;jap9W3JKcP=(rJ zI|xL-{P>Y32;felK=!Hb(ab^5NzL{3UB3Imr!|uvp=TQ6Ac1POATARsPIMg2Ejt-1 z3R(;)fH^OKtb+lE@~Qk*|9QVOD=cx-kUPo=r0CD^p&5;AjG?7e%`y8_Vk+?Ej10~E zM}-Q$8#;+2NK6-o6f^v{i&}g@&yEk^Jv|I#CND#6lI>qQDYZAh<1&3hqY%z10| zobG()oc%fAw1Vgb)rIEGs+&~*m3lb-UC&K{6N-1S4Fm8z4Gb&5X9nRP!uM?a1oY2! zPnrMl0cd~p8Xi;q8h3K*L-lW4c}=m2+K3Sj5t>MEh}Rgai^k)nr3xJ3YF>jxk3EUY z0W8Oi2V3V`H(Ey4WIy@h>zjYF_&cWK39u|N?(j?3F2(K}EWZD#zfC`32UlJKKm5k`cRh$&^+`xh}B@@T+4c7CCxWwB#9~W1Peqoef_j^BJ&-S1g&UC zgH=2z(h17kCeOM#C^GGca;lOPx62(QiRBrTl8Hb~0*8#4{Z9Z~r(Cy=w|{)Hxmk76 zcXRlh^P=l}KO^LsM=&aSib;uYaCYZdaK80n{lWIaBFl8_qq>T;mN zn-Gy9JZ2!&wg)=glF0Yr&w*07Mi>vOzv*R~+YrAgDOq}!V*1~`4v|q(oKjAAZmmEV z9Fmo`4Hg}u{G@)V!R)bIEL6$>RX++=KY_Nk`~yx;e-%&MXyp|kFLE-X6f3wWY5*e! zV++T!)v;TD>tIni4No0S{isA%43y9ddK&yrkdDSC9oss$`lo8s5Tf&ZOx>7CmYN6- zceznv73(m1a6m@JTPI+Un5sy$QY{=@Em{xr0XMZgY?3J+dm1xeu#OBK8L89z)C>km z-Fla3z1bxUKkE{HPnRg$x`h6@E@6Ed4l7NUuz%7aitP^3eWyb>((v(R$isQD!QTl3 z11YT%0>uu9ROvZ7nqKX*x(us0H=dc%Y|aUTB8?atkwgJOvw;z3sxDOdVQNNU2ENHC zJ;w>q3UIsyMTO0FL7!>`#`jxz^Q?2iH(8%nJquD38&j&UXjA}+$90<5$jV=%WLx8M3X&4Iu|z56ENs=rC7Cz*VBFYb5wB8?H2?fPY^D4?%)0z27J2MZOr?7ii#_!y z7PUW$d0&1MGyMKhZ2f(B{2z~EwyTd}@t-_~xt5h!_c0}Ac~OZ414=AkP-6Cvl$h-? z6{dJjh4p@>!hCBgEcq7|mgRJND$Mcd70jo;f-P&VV3}vGU~7genALIx^FDnAOWCeq z*&klPoIkmOC8Xs|sksfQPu!OF=V9nz*3u8e%MYv%9x$1|<^AQi>TiFm*#B15`R!KX z+x_mh)xUbsoqf)G^-#(+pUV2H5y<<>g?>W?1{*%WsgLKQXK3qm4{=?B!t@1z?OozpE?tz z_gQ_30z2Y@ge8Qn^7cKDV3859tso|j`70ge|3iYD&HDJ&Xd&QyoWf;x}^cWNR zAV!w%hg2HX3|eEf7AlhTj9!$TU6#beF1|}*d&!Jh&Kl1Jy<=(qGPJ_z7s9NS>CWZa zGUmOzvLm}_`KIMF>YGbfegUq_lM%X?%mc`&c>zIJq=5df!1IaiG~`qRQz?c@s9;t3 zNQ7Tz=zjMEw!V;r$SNfLM5vpzL7Py zzH(`>`Nw;`TWta@t{U>t4czjk9L0@!L5C3oN6ZurQ^7af;bZnCRwl{-aLdeJF)+#x zwm;qcSJj!+M3~Ds^a3;w+8ORZdK{t-X6w1XlI{nh^ho&wQq}r^Oh4Kn(=!|123d?X z$lPxmWUSO64fO`ud9+EU9&eKAl_uH!Nt3LFo232qCaGXW=}n%AT87LR6+AmO4%tz0Y)zLhB9ev_Qq&M_DnM*uR`kl{{o|m2{ z_15Rf@-xqq9YSBWl7{!KWM$P#Zrm7PTgfh?O{?dhBGZ|t$PD~-C7&X@zkiC%zxmJC z+21`yrm|0w%D0{(HGg@ETrR=me|?JVee@KmyQ(KkZaum2Ydu+u>dETw^rUq}$8L1> zWLse%ZU3hy<&PQ2mA~srmBB!&Kh~2?rGd=C*X6#RjFt7I`7iL?cl2Zq{`#|e(v;Ve z>4cut74)P&1FzlGleYKZI`J0t|z09fad1Z$G;)+;s{60Qw}BPER%j|gySDe{pfTb+K_^Zf?@O8j8Kr<=bJfj z{J|qpx=QFCjf<=NqAd*|aM@}f3rh@MNT7%unrGler=21XCrU@9JDNeuAD5qCnxKaD1D^}AK#aguqXcv|5oH=1RjaPU)Mhdgs(LqLY+?t zXY&(cdF>No<7b}`>i_+i2&6wI9EOhx-4h=Z+GY6qlRi;N_Xzh7K~5Nd89>;<&|EK{ z@VsKDlsYy_{0}yY|3&yHw^3a0Jx|F*o~LwPw^9r*TPa4ZmEyYsAK$T1$}tP2X0uQ{ zLfv`Yl;Y2AJpD=wPrcm2y-&7q&6O4&dgmkD8vh9QDnG(~#SihK^+Vik`4C_GTN5vQ z*u*XGG;z;cO*|BC;?+R|SH9N3&EW>#(|&-y9mK@_Xs zrkpNrseDJzT|U^kV{mWn3#Coo1GatXxc0{e6#Y2tTN=Mdq=Wo`Z zTDd8*3$m=wx(>R|X>VNF)e$Wpx80(ZCO0ihyjuqsYD1mxfykMaU5;(8naHf=nEZWi zN(~B<4BsibR;vIKsc%3g0OOrX*yN$gd~s%ghGs48Yy*5XXQM%yjLQjBWyr_$EN1v! z1`>1!@Fq~dKbqYDXa!(pXpLK8J+b4jleXDMgg+lq4(V@hOs4m)4y{-~cCq2dR`w4T zE2p#Lp|6DwY7gZPL>7(w&c(V}L+JmgA>2UNZ039CJP#cpSJD z!1w>6I$*xtQT-l#+cHt=e~(avmWg%8GNEfL2+JQ8L{R%E;gCN{G+%yE(R#JacyR&gj zz11d7PWZ=KQsrUT{S(VKRL<27S7csZesgxn`dSo=^TNj!r>$G(na-c z>r*a?U(g^eXptL7Q|3WJHQRgS7eG0kolbIV0=u-RGJ3K z1Cc;5I8iv3I@Ldy8@F#k!`w5Z;0I`a+(ujB#J1))*M?j>inuVre%MQ{-esIGo$@ct zwebQobKE_X+7z5Kb%1$Sbu@RfemH!C=Gev|-yZAr@neQl=99Tkfc%T8xv;EowrTCW3%Z5!CF^!`0OS@o7MfdAbE*r$2USml+^;}bl91{I1u{P38wn1#r5QUTm!eu$Z_m!6YFvXYq8ZJMKmFwMRSJm>oXImh67i=DX0Xd`RJl=yLp#l zuXRsuS8kVPPvT$7OYVd6ucod7-!}^f0*BiBbo=W2%S)-H!T~#c72i|XqdR1{SlF)F zgO=A*y)%7@{a>ui>b1pZ&DQ3mThe7zuT}d(IeEUbIiXK1KdM@6o<&Kf{NcpMcv(=ZJL zns{!qQX7+2W}Wh|o>8M4WwxnhiCWxXW+6!VwH$kA-u1T?;5f2&NBV)*`R<%)-oQ2O z&}=Sj&T;DW4R(gA;0JHbz4ZZRr#W|5_o_H`PW`6Dlwp%^b6Ze{9un!;x(t*miIl-s zrjvn=q7n`pQxNd*`={GujtyxGUx%EhNb{0wLcUlRCG|P>URlA4ooW_M!r|w47@YRVBe;&o~mX^ku1wg|pFdlf*6va_i$^S(7>V z_&MM{9zO2AAGW|`_;XcBbh>_T{|YdlEbLM6qt{Y7(Eti;NkKLuhZxeztMUWv=(J`e z%b+6Duc+>=xV0Qwr5g+U*s3FDmij5MZBrUNWsz8+85tSIrlHj9nVD~;8z%wi- zBg}FRL+ZXgy2}m0ae2-&tJ|Uyq9V3PdY2f>4V4KWxYr8?6c;sA`X!!X1Wurg@he#M zPoV!N&@BM#I{^A$!ztBC^SDo(;$Hh<1iswWfNmDl9|MU6(@Y;iR^fnR8?*3W#AAn9 zbzyg6V?lG)X9V%HhTnsx5hTvr&xg+;>8SEg3?x;m@Jj^b3%hLl9K)+a`rVe1>`CaY znF{mc05R7tqr1sGt-BG)$PHWru}*skqI<5786J%uhM|HhaRA5$TptAE+PT9lCzGdF<}A5{yN1PeDAl^uR@@?Vzk$({_!Z2Q!EjC;#J`39uGxrcJ}3}zwU-|}PTfHE6}I58jy zpSIs(+8g=hO8^dDiFG78UWTL9bCdZdB;#-Hfu=oe-JF@Pj~7NvGnxar@iO7!$F{rn z_C_P)mdUhiO;lmornD!PkH`Mqw#ELp7DfF`n^N_*D1*n_lyIU&(Z1KB*jHN=Z?Hv4 zXg{L(fAA4SrT&NliHx8lT9>X4Y1!GQR*3{|AvHh!5c3OS;u6Csi-|2_$E|u8+ieT2 zg=LvntQM!gquve&IE?elJF>HmO(l_1*yG1|>o?kN9NdMbi7TH{kK~ypk@sf(k(I^u zvFx~UG|3$dRrs~V*nO4*#^c4E>vwve0HuliR<+o_P?05OnxjnhGc6ntwHkswb4*1!5ac#)w z`#)^u5C4ZXEqzS+Mjx}=KE?+B_!tW~KgQC@kFgL-f6>KHj~3YuQHRlBYIjmOUUGo6&H+-FGHWk@##1kV+_Nu$l|Nkt)!J3yef26xymJ+} z;_&r*S3x5WU-zzpj^Qfs{NgHzd~654(pBI$Uj>?9T?G#3RnUI@Dro)uDhR#}-|xK& z>c4vdtSMgr)tT@Wkbx(xziJ2d_v~QhMLUQ_?7;u59e8|pu=bV>1U|9>rNIUgKeYi@ z`$s_Gv4O^l4RixG5W8vv@`ep`^6-6C8_52_20TR@=)Go_7vvA|Q;z>|m zs`5Q_>urfgLHVnu(dwtd{IJZ)-C)=EN9kR{%Igk8r@YO5PkW5=I*L+8m95(VJUx<7GO)^;yq+xJWGreLM{6xliqa-A0O)00-l9g%y z3H^(}B|)=GUa@7eaoh3(`8~@rm#iXlES0_w{8Q@?r( z!jG?Vic$6NPOAHi}Q4ceA|7unGPmyG~M%p9rV9z|DRW302QG+ z-U)&Adgp`vul4WA3GFlw-9FW2m{`|pN=z26SHWQOzaVfTX901hYBqC2a8AC|6c@G! zcE(4VXR9~p7JOf7|A+G#P`}CfMe~`!4?yBu!6vBhGVf~dbnno8-g>tOM(I1dcceDC zXX0Di`%po0e?Bng=A*)d zzW>)h*q_k}n!GwE!;&-1!Y)_GhR>-!UU}F(Y8KXoT|-Ih7%oXdRHJri9-3Je2R#c488-gaDU<;Cw-4LP~+ zITN{V52XoQ*a`;{0Zinf^r>=a%LbymJ1p^Sw(nH15^|s#PfS^tL40K6L;+qPI4s|k zdIrFM(=wy=Mc7uCyT1m}#ilrOJTQgE2omS|4z$m=r@Grvw^iY5R0Y{5*1*n|i%<~; zH{VV(aIIqBcI15uynvvvwF|ApItdMJvisHMW|YcnSjz1RF6C}A&9`r9f4*>ibR6lc z-TXKYLP65aQm}$Vl6tS@-uun5mm`uJPY&;T!sJDB$ zdsMF1g9Z$Q>g~&t%KvmGym#l%+5{z0WYO{8HI9pg7FU(yv9sO->g}Cd9U73HPl`e& zu>KsV+@rm5ZE4v7vNx^X6$t?2@vIKy#o7~jv2kyHYvb7ZiB;jUEG^5Pv~2Gz)$Vm% za{XuPQLuI@bdO&PjQ2M_vvT|LeCQs?4wixcg!;bq^Oo&B$-18?$1ER4TlkA z;xh?$hGk{C;m8qc@q2sJ4x=+%8BK2TUauVQFq9l4OF6#IP7cSIj^SmhdUK4Ko@wlX zmd-W>rTl}1x{3t8;)3+W*x9jHn&D~AT?p#s`y;+3YIySIIp^pyI}e&FkeuFf%B4cIPhsm zBQ~A`@jCjOIhQ$SJ!^jvOK3q(2Yfg8Ppi)8*!_d5@xU0`roy@hRojW~SH(d2`@nR= z#-XyPJ6FFwC29*4qes%1k)Nfz|Ci;OM?ujj(Mnwsi0A}qzF%|B#x71dwsnXsMT^_; zhYDchldlKZn#uaO=VSqLardZ#1-$?hRV0jWO^F7-T!a*9(k(N|+P8$ysm|EP`jWsQ z_YJy3C|ksEhn?*h?o4!URiBOBob{ZxOUp-51tREyw{sqy}hl1=b`rOx;+NGjO;lTAF^7?L;^9BBi^#^tOU3oGpkEq->G~#s)h& z)P185Y`Bf)m|I(FooM~04$9D#sR2?#EVI%Q_uKE|9!iyu3M-h0+EUd}fA4DRk9h0z zYS72}thhL^+6T@UUc?*BJlWw6rqlcgeMJbJ1T>~)2{iHZXq$xENwe~d>gS`z`@R1P z$=~NA`~B}>+Vjib(SBb2&4%e&;Qw@5h7>v$W>o?Fg75QxI_ePRM_Oz(uQisOsO?wp z$xlLpBvv0lvYMo*#C1S8aqqoa9PN*zys0sXRQ_2CD(0M^L9du50&sAzyhfl()IO#Q zQ!`PC*VdnkAizd4rl#1uA5}l9QiF`>nd+kr7{bsxR9dpSzc$p>e%V7)5Qg8r1S z>Ex!+cUFWgff5dVKYMw!GQT!lkwk`KOg~%CZA`*AGo0pEMzg|!&?4^1(9&KEJ~}QV z#Dyj(kZLFSXHc_);#6nCA+ib9xXUaXZ5f)4m)T=gsKqJe$4)GPOh0C@$vVMf`AzNSt@iXJ#~{sEFs8y_wQ({kGPacce3?-t2|Js>_Ap zN!;a@A+{X+YQ(-^7G|&MvPw0vj^x4jKKSCsz8Co)-TuKFAL0Md zeS|;z!bkW|zV{LSZQ-Npcfb#ZVPC6IK9WsvQsDLBc~ZQ#NR2!bt?!*6)1`R{q`xrce5y z^?!X((0mLckADo@FMJG=&wdONY#n?jnvFwx1t+&FLNkW2*>F@L=Q3JT@lXz2@ zLl1lCkVkQxL{6i^ifR@1P(@POolri3r`1p3fe$pe@sTI+x>tj*zN*3dSJk*{RgJ?) zfQ4I+&E+CmirC0`?Rh5aAkP>91ME0qS#L7h8*$k;wnTV4H zLN13S)_4`5^31I%?UdrDIiTV7`313tS!T3p?J1S8DoGtxO{=EO(;Bh&4_M=GJ45v! zfHm%_up%p-FHWsa+oU#Wh-DK*C=adBvz*oOb<0!OD!u0b+MPx!L^EJOK~#)#!W{$}Ovk%vOEHTaM8C>+VV zL!VObX-OO67_Ugvvb8int|yLc{3-!fyr8nz__YQ+JwitwLb=!*T_0N;-ni4K0LABk z#fgQIpfTx|gm1{rHkN_wN#Om(OCSPoI3n~;D!<^rF)7mD5fhh0+I=f$(lXos=f5TU zg~ry(-q7h-3X6Q*C|lnLofsn~_V0rb`6dT6W4{1NKa`xg1Rmvh=xFB>R0}x{?(JbN zmT^XjhAy?s?Q&5`uN=p)+j>kV&`s$CW})c@lvn5E_D9`lUX_|+G|4C(CEt1|*VgH? zlr_RjDmiMNpVneS6valFE{#7?R4T0gh5l*hgNc8WKLeuBCqt(osE_-$29IovZH(yz zzMJL4CTgATo6J&B8FwW;5778V*(7#pm(hl|cwvoDj;HzSH2+lct2SwIOwSGN$j&aq zsA3#lX2CY!VY{;>?H%k4*M@9tJ+VrOK(AH7t_$EkQb#kNG*i&-5thjarzQ1I)8Y8H*e(}&Ue~nur*71kpXbO{F-V_~|GobkkOrw2u09*gq zkEt%0_v?1bclUn^x)X8+#M=CS)?!2D7O%@vLR3f>E=Q*ovgnX`+PM@zmXW1IxpB|8 zO*?c3;69!Zc)p?;F|7OGoeAx^kxR zuf1393SkY1P`#VIJnu2r4UzH2NMyPq&0{vWX3uinCJ zQ^;Uk62+?>ay8c>O~31qty+gvRXU^^plV@m%nGhEQcDc9S3!@jTtvaf_W0Y><`ZvI zYmdB5O=;eynmGyBEVkYssYz~SG&WL{X6Z$IHh`n_paPluI?DTtZ&t`OXPal;=K|8E zxDG=|aH2VBpVHhGKifWEc76{i=@+de>IoCeu(GH7H&EUdy~%o8LaGvG=5?PAO9Ja) zgWYB~nE`3}Dlmvl4v<)|Zui}n;%=}D+rxYfFEwH2KnKi(5D@Z3v#<$NlrjWZWgvW!azkf0rB@FFHID9DUpx7&P=(O zqqOl9f#v|GKv=)Q6)Xt&7=2b13rwXhDn_k$2RGTbM0W+16%Z-C2ULH24+-UYrl-UUkdy!!sTpz+stf##9-z~D#l%s1Wx>+%Zd zzE}b3Tm=|v72vX00SwkRx7b>Co>W50dYyvWrfmp<3^&Wl^9*gU&9fS@VIn$P9W{?@ zm}vhE9a|^JaUQ-_jQaZEl5@g*GPtR1_&zWk^(;1z1%C|!`wW*1+k)Ft+jKNYLbst( z#O0&mbIzrWsXC{B5A2D+w}O|##}&uh3yB5Yf_uI!YTl-pug>chQZGWvt2mD8=2*pL zkzvj}yCJCZn>@ordn`Vw6Ck|+%2iDrMa5KoTXXlup8|#n>&@}4iuwBO{dwn6RNV7g z5uop&zy0G;dg2gb%bDYbZPnxUZ&f9#3)e3HRo}mF$U%H7lFo*Al$W}j45xy_72j^1 z)Q;|ITl9iyzVYa*SdHU=_N^2)c&kDqKfl>Kq92Zt6>4M%?VG13TI>$D$A5zPSD@xq zkl!Ef4Clo)p?51pr6VzBWE^d~vBvOj9zf`v6g7CoL$$-DBdt3lcQwqwDDz&Q-Cx<; z8`UqlJ_UXG5#_jJqBlAiN=sZfAVTG06~|D1yOA0L8W6@ZEIIM85b2vxvcL+x$A>qD zd|r4Q(+U?xhXc8bc}grGkk5E!Bv zqUX;L@gHS~*0UKRs>~3TM>9koI2&mq`$3xMV?NT#%+bRTv{WT#p`06JIElF|rABcO z7Kn~BtPFOY1{yR5j+Q8v8eZCpjq(N!EbA5D>_F)Q-@k zQVT7USz%@GKFD&}!`FaYVcxkTVGG*)KXT(Y2V^LhYDczS?1eSH<^w%kF{^K-&h`ojS;?~`Q6NaW)4Odb9BWG zx)aee@w35OQx{v=d)!nvwa-Fw*?>SJMw6AOp1JC&BfNTcylwSV(c zQwbk6^sfskaPH4A*z6?UoNz)D1o6Y-kyL`tCw`wNKqQ1nyZ3{9xtRt%Z&ZC|f z2;9=XMSg4MobG)6WNsY#0&bh_mh@SujBJJ`N3cuWb@r;zC2LKsAJV^dh1QelFFCfM^qH2xyC=;@%a2}hND{fAU$QV= zlFp_2y&7ilNMfo9X-^ePQ&;KBd<#UcYYd%#PyDR&R_7^&9&}eg;{3+@03|+LlwY(? zqMAD0Q+=6zi*r~FYV`0-;5VSD0%je6<20cKDmBWZUjcDEhfg7WD zp{j^}TnCY{e4BZfdqqJ|$$cE{ow-7}RvdPxjfOUfIgF|Xw%G+xWf_QvRw((A z2wP9PLjE>!1>2B1hr^@xvFOmo`PAG%*{wrqB5~@s31n=bOZR2 z3y>zUlH4>5pUG3GK#vz(Mw=N28C@>q0d$QxE;dhRu2mIuOQ4}J+GByS>S%jRE`shD zQabPI2f!$?HRxXQf*n8H1Tc1CX!D#rGsy^1*BArNs<0!zvygH}X)&sPkXp_{CIY@3azzfz0 z8+(oDu~z6EVx6WG#(?&OdTVknJ(C|v^IJ5u+pU8ENh0O2l2Stj>?I9mXvgZwwN1Sl z7^s-GYpDcip%!6J10%=?u*<^`<;**W-K;iEMG^I=YEmz9e)ud1@oo65{U!SPLh_ z)ZIpkan(rK2pK8wEjz$!*rvH?_ycQ!$TV32`iVtyO~ zHx2}F%q-<{pK4%qf0M_<2iwmcZkoaW-`>^#rgdK7+CTr7m$(k;kx-RP0b?T~hllDuqO{+ZN6gn({0v%+~Tw1I`ha2di!!5MXLJOLy za0eUiaBDQE@CqAfFyYNq-g~nDV83jd?t^3tW6-_4=RNOp-uIm6WUh>$sPL<-A#rc# zi;aFo&>hdP$x;?#~;hEHM(z>M%kRbly!lRf8XFI2Q1dHfgS5QFV6tpu=3nR+1 zdMDQS&`QDimXqiG-kZKDL8py7xhF7n9gdfRTB6l!`Mh`v^-mbOZ{ zBz3+?2sS*>)yWFag|~R-_q|xdgC!^PS8(qS`+ilPS~X@*1LLb-owg_~O1pFcJ&?O) z%4&g?6b|=2e2? zKuiVakA+PY)GPqU{iUSNaI~<5c^R@>6d0? z@e$|%=A8R+j%q2x+M*8H@;dmTPlCJzGtfhMaZwjOT^$|JCJC|=bQ25GykS-56Z|`m zGRvzGO9V(H7VU(S-n=!)bXAb~SXL*e7w$@{%V=5O)GsYQM^w)*Ydl&91BxdlMUh$7 zfCd0d0lgdO*-?kye6Xs5o?^%lcCL%e;tmGiWM0r8sSz_x^aVF>Z^_WIDq0t9i|Zt) zFClL-UZ1w!*3%$@Ee?-4XcW+kP2)LLagR+?Wc*W}v8_M8h}%YnMZ%`>Jd1T6hW1fb1EQxps|KqogeF4^#Zr|wuHt8U zM3qX=E=ffjHYO(f@A&YuM|b$Jvs;&5!fKj0v975KT2%{HXFyk^H)XpgX9#~TM|G&U z2y%O~ysjW0dlN57!WTjZIsz247x_^E>;u_EO;AISbUziIf%e!TiA_|b<0Cy0>}mT& zEnbw$2^?feg04&$7rCyNwN(yo38Aph!$VG1jBcNFkYO<^FyWvh=Em0qAjL5m(0jz- zo}-k5Ts{#}JIq*bckVW`F>Ev&&DsIeIUksI=(Z0I=sNA!4DM_m$f-=~(A{t@mLN0Y zsyrjEC?fNoHXrsVm&E zb}aJQ*~!Sk!U>QMi)dG9uWV@w#W?%2XUY??{oP}+z4_5}GK9m%T1w$59Y;)r@@gA& zlAom0!lQmsSR18MJ45fqFvqKx@f|H5sCf+dJ7Al*KtM}L7K8liP5vgoK=?2ggL&B? zp_Bqd7oewVRoe zoF!VnVTmAmCA`QIOA(eB{2IL`gbHq`%?j{MlAN4HmmW4&WFbWejdzFg@2=Aws?I?7 z^AcJS;Fj}fdV#D(M3$B~^;y}5!mAC^PTkyiSrIchnc5Vh82Y@td_&};r-|a8R!Lpd zr^Z`G6n06yyoHhB#BgUpI!{%x#Gd?z)V8*wG|TEtQ(f2DMncHSN|G%}mCEhkHo6og zNdiUkQ2{bC3NaqKC0mwO1!y&!mphrz^P5hq9%djwJ>CY#7YU<1~{q!gj!otr8Tj#jiKg;^FCb+D~Z`%W^JqN=dWCM~HE=TTSD;$~LD!zKj_tI8oE z&n9gua;lQrBMZx5A!{n&OgcfcqwpLgi6OPyLC4W`SrL)#2-b;|qN-vKv3tW>k1?!W zKZiK6)_*uW79d;V<|k?FBIt!I0NE47u3W>T#{zWofd5Egck;%}ngw6_UUqEd#?_OH z6G?JF&%OUN&Kj(5&*9B)CZ^Nn(cyP2m)^pXGm!^2KA%4}d*j@AaI)}|#;uW~*~j`* zD>KeJV~0>AH@$dsZ3=bazI0djgOhcB3K0pYB}5B04s!g;SzTGN zI1bSV$UH5G$~Z`AK~2;q9|hAm&<)qK59MFRowJD6fG7c?%}Ub*G=jClfq-VPr_KZz zv$A)1TUjI_^aw#stY-U6^aoKDw6`yk0Vbe#K6^)y910f>J4rjy!P2-zY?qpO$~qtU zHZ;<660Z_k?hMtSd6Y*?`eKmp<+XWmB)=hnrpl|zc|%&b!jBAR;6y&6T-Da3+Y2w_ zk+IpcjR(Du27kSsI7pCo4e6U}N7}3S+T#r$=6l?Gi{+N~E$Q)?!DpCPZQg0$y=GXs zI6S^E1zl9v&^uC05xNzOa3o-P;t-soS>K@MIVZ zdQ?%B3AeZ(jK4y(-oP^Nkgkc$zLXtry@*GDkDKmGxP^mlL8pn?&PBsS;6rh1jvs!L zSA88z%wvcj(!CDP`c$Qa$5#ZUMaWyJ;xUmA#$G)Vh5+CTdRtYXMcp(x9@mhH^u$!_B*#< zyLIQT?RVWpF>kwb*N(exr-)5Izkp)gbjO|BH&LveTkp7wrXsj&`=7Vp_4{o*ciea1 z9ryf!65YJx?gzHsb=xIte}Bi__wLwvKSgcZx%Kw@@4NMZoqwSi_wLxWeJ4fUyW_6y z6yyHz1M|Ke5A58w9qI>m{(1XfDAui8ckaA{?)8VQ_iv}zcW&Kz$Nf9*zn9|QykqNa z*KOZ^=kIU2X8n4K{P}Ia{3T3z9mTl&_CMTlE5+RQ#~s`6yN_aRy>q#l8B5U;gE;KX1S9e&B?A)ookv&bfBy)_b9^A}lE`{jpUe7XVQXC!j!_L<=EhY7IgU8d|e`DOgh zV}Oa2BxgLw;5aInjQTcO*E7a2Be;k;?dWWs`M|^R=r3X~eXKX+l)H6CYl<~K{j7+~ zNt6|c$HP?X#f!@8SfGSX(i8^=mrR~;)KeP+ zob<7rg$_6wUyveMqNYL^pJHqPNygu^DG*P&H)I4bK?2P9gcDY+wTKjuBuSAZlVmfY zMZSjUlF4L~Jdg*kFj<=VL?xe~VVS`}47YyAyp;?uMwn@OrAOxyok+Z;j=wL_4_usyeMykNn=ojS z-Izl4C1gsXK2W0@L2oq~Zzz6B!JkQsIR>DYa6$B;aZX@-a?!QI7?Wf(!9Fc`Q4;%f zGdzIJW`cN*BOtFlg*x(_PGDga&!$-K&qAVS@az5jg!`v{Mz96rQ$M{5%&|NvjSXr< zadFOink;K)k1)L?LqwQ^F(pJN1w~Plm*(ct5lmjvyfUZmGR{pnO+M_C5fSJKUqnp3&!eroHOz0(vp)bF_IMVNODWK zxg{1QI{i9X%yhau=9@E^CrNT#Cyzg$)-q9ajwCrAs4*Ag3?w%uhhZKiQ8Jw;3&@yH zOw!UFS2xT>N}b8zB)9y>o!C?F4K-zt*-7NAtK+E>^K`f!HZ8JoJqXc9JED*8Q6lUG z#5Zo!qCJHVseTT>HS*6XOSCNdOlBXCqP5y|V!qw4~$oeI+4X}5UA#=mh7~bTu zpSy$fQ;M1BEjfoOZk{H3L1t4yot@>KYa;Y4$Y~j+>2Nj+ruW>M?=!eauwV4SGZRH3 zN^5RJWh&ok%s?f!CDGYFyJ>DH(}wz7%!!yCvdQ3>A-(AiKO2WW0)4z=8i$u@xKT-u zn1e*jYjf~QjEIUM z0TVvkJ9Z|z2w`E&ukD%N(sFiE_<}P@`5Qm?bHq|ivNISuy^Dh}ZIkTiX(~hJ^pz+v z9wNoKCXu}3LiugB7dbC>43OAMP|%I>`V;`Gg2E1Yyp9ftJ~k%S2>=`9%CQ=&j0K4O zCIXNkBQvEt^)x5ENpccNbd3PuFF^7949AYwSmJ;rx=sLC=|;s^W4ulRS(U?j3}F~% zr|SrWk(d()B*;~QW1|9UA1XSDu#=zUe~z%j@cdk~o{4k(8I5QZThz{B^y736PXpfE!oud&1dk#DA?i%)}0On^yUwG+dPP)>e>KLf=<$m2B@0Z4-G@z&-b zIz|@}eZG3O;0A0g_0jF9gpG8=G}bUp2^b$+_URWNAv0Y>M;nz+1h%Q^#Ks<e*we89vEL*))<6SF#~O1-cLJHxSpZB; z7mqzQF)~j@9h(e~al6v!vHfF>{gVN)-<$#@MmIrZNzjc7(9sS3SVJEZ5EB_b_1Ktz zB)X2*_>)jPLBAPqL;wU2H&P;Fl!bX@*%d3GZSDtFy|;)Dd9K|{FyrFNdgc%ikl9y zDZ9oF$0kH0(Vg+cBbmg5AUwIC0E@~99((Z9U?&ei9tW79y%!AVOd^y7qm0RbqMm2| ziiTA$^q{@dLy$~}GZ}zC2E{b#PLnK64I3x>*knNDn>epdHDXR{>aldKrnh0N#)>8b zA|Mex;sPF_0gsL~9-Rz`KQ=xf2{Ms%6Yn|!prRXvV~uGb!^g)KPDVC0Ao9(lGZ>pB z-G?AQJXT{5Ck%*>JxOE{fQUDE0TfEe<28njJo4>b!;mNR4Zn)$8xxRV*9Rf*8LP2~ z#wox|=|&|p4Z2yMc?ZaokjHDh2a0aU*mz?afSHWNKZW8G$m8|g&^=*&r4*@x_M6|W z-g5)?Sm?mV=ykR0f{D=?j!l)~^oaWE-QaO6!n%NgPRQeRB;eHKBUU3SAS$v1$k2_C zAb&hoV-byM049)0cI*u3;vGQ#2_UT|86Nm4O|ki;1V?Z!gzBfgt=o+1F1V{0aJzV79^j_-+R^;h=^E))_#LooavoYxi0Dc0B z_aTqh*wld8pgZABf^?H$aq6)X7@2#z2`=85U1v()LjzjRY+!V&b@HoIfT^*>9y|4$ z>5e@H`S@6k9iI%CJGv17H{=oj$j9_O@i1MVVj_~Q*bK*foNgA&NQT zV~^9G7kv$(p*^!XV-`O}dAu>xiB3Qkfjt5cziU_V$zNifP{bblI^;LT>RF>38xSV* z#$>w51I`YWFaV$Ms;o2rb7ZEA*u$qm39p5shJG{Nm z&~);R>oF%3G~nr)-r(3zrw)XhvqfbBAo?2zgIlpL#P*GIWhc zkcnta0}%a+PE` z2WXlk$BozcOHjN}@b1^6XQ{K3cJ~t>9tOM!`K7TMdnpzm_M7R9jXIC<9vz2XIf=Y< z5gTo|&)z-O&rxiuv)Y#2E0~2`uFTnk|X>o zCWfJ*Jzt_vUS9GM6upU;n?lEzNd83_#hi=_EQx7t^GRM@5?; zV5ak(F5M)$7I&6!9SJ>juPJ{d^|{W&pQFQcG1{694o9cJmqgX0Y>Nh~uWxM!@fCwaiMcBK`3cqLs-gKz;o4%R+A ze(JeJG8~gcaihkIG;}ecPv}GFlRwtTpA0zNh>duF7MNgIYNoNm5j@0ZW@^B6w>rk0 zXTs9d6HQ<`v%VB(fo@_;LpPp=`T)&YL}LP=O!-i7goBU-@kFjX1q?flc4qK8>_L$VgXJyrX~}CJvP=P=q3S}#`LB^_mK7&7_evQGX7{a4JaCG#K-?I z?HtjvsSG#H!gfw~Sqt`5-L3tod?$v-$FQ#=cs*A6Zs>B%-Rj$mra_i&JXyK#b}i)D zpVWi~y+Pv}g;kA)&-QRtH2G~rV`>ukWF(Vo{81<#fjnMg5shg8PBkJ}o&bnF_JwCp z+>JT%T|46w-QWC5^JF_`rd8}v0_O(fI3ULXY1*s$oBT_|6%uQ|!qn zanX1BKB%wbEieHOmiX(@nJ-3OaveqAww-trC3cTB$JbVL<9lfQ@Zo5UMKtD)?l>Si z-C1WOzb3dP^o0Lc_>XywOY7{LFhkE9*U$R$P7O$Ms(aeUoFF=qe~@+^AA8~h4M6sW ztJq``<7k*ZOk*_``^`wg0PHKTdfaORmIw27P87Z4WEA*!P<#t{ypBU8aektY{pPjc zmaiexWWGFfI)V?nV70@vPcbpxNSqWNF*Y_J7%arUEBaIWPzQ1Bq4!8=V&4}1X{B8(dd@qLWt58B22v1=G6)Zsp=*Hl9BmIp7=!Lx+V(`7I zv7z^_hHA9LCR7PNB-i__5&Eh3OnaA?y`M+_wil{-!r`6={j0EV-G^64>pd0f?_gZ4 zv2j?LKl|}h@4uhkqvhdu-{)i4b5PC}sfrKYSYw4e;oS=-zd7{<<$1b2efEz(_|o!Y zkmt`zCfB>;EuS32UVN;E0qgFl5X~RX=3d&)23tR(MfnHmO-sC&mik0cVbi4rvJ zD*V*@AGCL(L$P_v|4+UDQG1_NwoW`T!p7e1d4qEfIC=Vqmsd^v`gZ^z^LJxrzjx*P z`|={f>^bA+)3;w)_6g+4U7D(1T#mU^{F(Jny~9;O!MiCM`w3yN8}hSHADgSmPZw!*?Z`6ETWwN5 z;Uh4*s4Z${VKsCyG0|6jKax#OzPD-cb$0#}`&Sr?+Ao*~?EKVwhC^q_PyACle^z6b zd%xiBTuy(q+m$3=3&&oaLV<(|Vj_jN+U5EOmL63QFgx=>Hhl`lfA6q; zg*4H`&TpQhcX;e@B?sFJ#XR68?!)X0;2A!|q~BQ1(}kG*-X-p@S(p|Icr1JP?KPvZ zxS4LvLvGJb?;|gKJN93-z1{grMiMB`9;2gQzQT#Nn)7s3=g*eL@36mhA1L$3%?W?U zo)+<oiHM=c4|<*z?6`rmWXcSrMU-9{hu&jnZMAV=##ztar8ygD}Oc#3ykO*84< z`^@3LLWq)RNsBhFsq?+_oEAaIQGec{b(Ei!XzNzV2PM*FCK8WfIo--3c} z(Dm%hakeHo-z0E;ay3@{@czrIzlS^@co{9n{^SkAZ13-j2uPF1o6zm*eAt#|Rr>`l zRl*avm+_)Ybf9Z$9?kQ?1P#yAT??AELjv zoHb=R{}<>S^e#P7yq3PvP`$S%@lj`+<7$5im;TKNRI`P-ICPM$ft(a0ak}*!Em_$O zdAv>p$%lI$S>x3FEqCdu$mf$cKjhE$;>~^UD3RP5AzZ}USmE7#o84?7EwePPdAy*H zqUZip>%KhtI)$z$uFdJ|l{jc0J?P|Pj~_4KpX)9EsrMNVUwsBT^lwm17dvej$G?_L z`!6+T*!!JBkMrOB+QW|-bC#D6v#_GCzoO2#QcVPZz9yd+dMuwe2lE>B>d){JlfxY4 zw4XcCDzZMw$CTf-$NE*|=p}4~A~n6*w5Dx%AK`pGfpBXcoRuVdCqFi!UwBTJr3%Nx zYcMMm^JIAv6W#g7=~?JKPuZHw-W4_b&bRlv&l`o)S~sjD20uE&J8PU&g_?3Ptfune z+*2_B!Jgc{;|FtRai%}k-Z6&Kf1-QFU+B&swiEjzH^+R?e?mKM@Mue4-gm{((}#{#Ox(DZ^##G-0t$R&vJSpPg>T8!-#1?Rki@YCRrc zv-{bjahd%o(Fqo;{rNfnQ@)?lPl--XKF`9Qcz*KV-^EW~*H1de-%JL~ZUSSHge94% zz~Y*cd7h%F;!54Su-3M4Igd>th*ems#_OpPh}0Yl(LY@3eMN@?kk2(AaT6TvM{J8| zZ-kcRz14f?T$ZQnlg>01jC*QRxooqS=p}umr)qRbU;67ipa|(=Vwx*o?z0k4|&tRwvDnHs%B>jh&_B?DLrj&fRhR zDaB0v^pOpp+prvYtRaLQFM1Y@IUPTxu{0{cvn#>Rypn|-ggp1@?D&pg1+b4GzjTVy z+3{CTJXJhK<^5BwX{E~3LVwQXKP+$wire_YN2LC7gFG|KJXw4q#cA#YtSr_NoUt}7 zgM0A9m5-3$T8fzT^LJx4HV&BQX)cfFYaQtGgQ<^!vrSVtcR}PSH)a0Dv2oJOm>!qm zx%PkP;~wRtk7#6>cWW|yj`#4)y9ppQL42Z-|LzdNzCARbo#n7> z#g?q;ySDT-$E5wIT@gBdi0VKkd`p##^OFp-6Qwn(z|G4$od`e>` zsWXS)6=2v1UC_UXjO0F&+K*=?p=qCA{EDh|K6BiS*%tFNsqRADsD+KpLBM zY#lmv8dbwk{`FughJ8*KF_EmOzx?m=pwN?=o}D4FsQX1GwTpj;2~L093-Pf95{*9# zWAu}VXNx0Qc$?+3h3@Y+$)r>F`6>OBW}Z^9l%)EnPkfxyUMW*- z3N{DBvLk@=Bc-N{=BZNpJiUkbk*3^*=bD4K2^R=4Ni64K*3!ATgBXpV&eCrfC8Lgg z7M3~b#oTxU7vUGr3EscU^iPo2$M2%R5I)hjjS-n7km759eDpLVZXZt%JXZ(lrxY`- z!!8C%S%XQl&ow9WDTQ_6EXwLeY{Tp!i<##7(%~ZPLTu~@RcGOP1Ho553azY@QSuC5M0Ts8ajXFbi$dAjB*oH!TP zgWwPR$ZjR4%kHQk&aJDlZt{_&4{EGq`itvg;z{0(nimP!p2zN7F60@7t=B;QS-cLS zxFKhH+T=?Jk~-a$LL|8xuMQbTV()%urYhQa)zYqhBpj_|9)?rn^LSJx>~`9an5gtv^bRE>Z{>NpHi261mHQNfGMA)V=-{g_>>9dss0iiD`qK+jTQmAE z>yiw#r?oy%=fw*y?^@~ZHKJ~rmKv1R&n-1f|d_ik$CdGJ1_k5^T&Hjt^y zvEsuSHbE!hT&$I8B*VN0j+d*F4vRGh0=PO`sW7L|G~1*GsW~OIRGscz-o4r)vu5Zr zhI1O$c^B8^g)#$~=9PvU%u9^R9lvy5XS-6h&9E*cb*J^otvs{Drx;dvGSu0YG>xQ> ztKxWgHA0$-n=&s@XV=}*u+ExMBUFlqS=~Z|piSyMuR+?KR@U|{?%>n23`#VFm#bqn zNR8)Jw{Wd2FSGk4%2keZ);|@m9C@$+HF64Y%}4;RrH1yPa$&m%FV05;pPs-QxsB|n zg-JWAXF5?ap=Z@*^`R{T#O@+yH6h*IgnG$RK`S000-wK$ zhI#I+VVK)M`&B`{Md&(mWl00-ZAK2mBgmcQlBh)UG zMF(yHsI|w4^=2AlaxssrKbG1P+)U+nkU1&Bp?{f@?CDZz$FO@%o4lYnQoAJv%T3q zg)`eid3)u0UOp^T8PUrbQIx6I4KXV4LQ>DFRGjnQWEP!AS^s1)AAOpB&|Bde}0w7_rHDI zPKifsmfCQ&sAbR%po8EU8KB7TQHYwuW7M#Ee!yk@vXd_+w_&LKQLV@r^z>zp^2Q zo~JXvfSOnKUa40U$y;RkvJKca`lwj(ZT+Z((aNgGXyP`%a16C%l`ZM#7BSmC`40`z zf3OI(UGe-i?i{W3fV@Fi!#A?}Y(>a_XTj}N|Dylzo@KsIj6{{ZOHw52XO>r&k=6X> zPBe5+fue<~k~jUjcU9vJ(3TZ1DNE6>sNxQ=L)AB`7yHCsk-_XHidU8`Xx#e|Va@5L z1}SH@?jrkz%8QJp$onr1&mo;yyUd#%xYC&ISm|0BT-dPAvC=44{;zJu@I`eu8y8!I z0fDky+VFFu+?-RO?AhHiheX3xvYhE5vX13p1qnC9%N;uU z&*qdmo|EZF32}_+fn06*M&Iki8}Fgsyobe4ro6%MPAXcM%&R*D-%!>mxQj%DQ; zxq)Y2KqZ&-rj`N95=K6wkZgUh9<>Ndgd^hW>$@Z);x389>c*|C22LMSB^VYvk)0dh z)QR0P7fi2D)J+*UTA5w0O4aZ|A+jwDCBA!r=oK_P0^9V*p*J4FmABhctzu=4XNBc9 z^FLKQsl}_V>-vNG&3pT@Ex+x&CdhXFz!)Gp(sQ0Jaonqa4mT)SK=1o;y<*uyL>L&w{= z6wU}?XS!hvRGe;22=!mrDlT1Ggj8hLg36^$oo^E^wnyPw;7zyw%qvo@bIRRRfa6#g z$gRm5&T+rphc?4$VZhnK`%xLuLit%m%ob{7Zv$=uyEMY9#|wCVaaDG{ut}6JGl|L; zg65RBOZ|$Hv@S`9sGMr%w+kxaUpvRo(zB{WB~&9>#2jF^!znK2_Xtg*CV9W88HCl( zYv&YlN+=VvoeUa}5*0b+t1Et1A{+oME;AD@!ba9G>`XgXOIdjizA?Mu=XS2)38tAH zgjcZ1j1WgF9A06NDp?k4kP#p^+eja77Y$N&=%nIwvf*qKDpJR?Fl?M<6?hYB4%>%H zQvdu9c>Bw_J{YLt)Uh;t9as|wdoWEcaxG}c)$z=1=iAE*>tTv|-T=RVSH&$6wgsfx zMRi)#z_Cy|o`Dk*C>0?X?c)VNQbGW=e|wc5?+`T#Dp)1d08!4UBn$9*MG>=%?dKKn z^t{s4Vs)d*mXZU6iCIdv2nPr-DtJ8(9FnELa}n6tB2Ch&@^EI2q>0V!wzg-YN8Rax#=!x$IgMO%O{%f$7wx`>S(aFhehH--c@jyk>e zuo;IlcpX^UR^;C3$*5cJzRfGL+~E^zclUvRr4)Cj=<;-8i_D|&DBQAPaX{)6xn)Lf zox&+n@;W7LnZ92*t}rjL-O$E?qsO$eRGd&|hyxA-38KZY3AB`!Q9}hlYjuLqG-UdC zZlO(3hu6Sqv+_V^;aY|duVaNsCszpuzmDZ%cW2o+w$y;Yce7?eU|lC1Kn=T(+0F2< zJh%-EV*@xO!ysI3tK49qRh(g#I^8VkUPdd>5T~2+eN}>2y;p*_3tCwNAP*zF4z8Y8 z#x}`8PFNMZ5pYIZ;rzhq;I_z`*?Lwhs~#+&pH;vrr@Gh$ELwgFSoFS>3cC2!>?ZCA zt58tQFHjWlX#3j%axo;#rz$xm!X6l5;`V~WQ2@S97rPZk*D@N(Uf9t}&@Lu!KdNQ) zFm}_5Mu}GwBlvD3G<^6j=`JS%?L?L^iit7;?2FLEtfiU(Ng2Bw#MI9NvjwbGh`ab* zL_VXPEMr&TRj32e!c_r+QVgO}Nc!RM^?*Sy0PNL7J{*n#b`z+UTE+lBpHaljXB4nX zWbM-a>=8vdWs>(~m4W+X$}Zkyy0lhU$uWL-xq7+n-&~tQx%Ts%TsNcOZ|rWNCdDoq zRw%`7scq6h%E!}Q>y~L{Zkdv&%>p-cp<3=rv26&Y8a7yO>0a$zZppF;t$8Y`QQnZM zTB=!6$Frq&%erMCDhh|hA~Z-tx$1O?5fmz^i?0(K1S)bE{0%>=jNi{K=C|_TFiP_o z9S9qGMLe8mI=0$&L&L7R+kIaw?gpQ)N#6T!`hDy+Y1>k-D3}r?>;uB`Wi89}>wB{N z>rLkkt?tcLK3+x)ra5mMzPt@=jFanOHM<%J&sNRCz$&GpZB?68C9PZGTx`u7%rd6? z#C5zuDhSHXiGqX&x4e3sFr{~;bV>BE;zLvc=r;dXZN#$8!?>F1ywH&AUgTRJN)7(O za>>z`vrDcYTKC4vH*Vi^N&B{1S^s6ndGB3Q@eBV=A76ho6a0du^?66-CvqBIx+{2b zo4|Hu`|%r8so(~&)LbJou*%6)GmT6mY630QOLnn`gw6aR;Sg2NE0q==CDdH-SOpew zK->xDoz|gnU_=_Wm8E6^zmmP2!17N9ZVbWJ+}8B|&Azbxs=K*9EEKnC2dSPrKSEZmT+NECco(Ddkq zzW?^D@21?8L-jH8ups7<*R8Ohr>p;;0LRD-@;zb~yG97aAt*8vEsR>3UTl&V$%nMZ zaA^^;BRdleFYcrR08?XnxiJ3`+>2h8zSEAouTo!aS=I(3X-{uhN}q5zvw}it%O&|) zg}L>L!ra=dQmLMm?XkOvPE!z|Ex3&ESFv@&g$Ru<$tnQa^w0dhG&bd{qD1+7zP zdpkr`ahtdWynb#A)ynHnZ~tQ{XM|PE){93h$S!j6!Sb<#Yzt*o)X0W&oLn{6LfJT; z^M}QjWeuP%JuD^crIumjHjwl@UEt7lQ=lw48g`oitR&wpbc)PNOw9~4dywH^yDlDF z9gx;Ph#RCelxv|KFe+h1>|jhl2e2ABT?+tZK$^dcxE&(Tk^gQ{q5j2Xb-OoP@j(Uz zi<~VLcrBwMqgv9jyjkKGkBD0pdU5fRRzumPP_)b{ zhQq3G3j^A;flU?b^B1YUy|6d4Kur5lwZeQ^i?CK$#NARGHlicqW=S)@Nz}s79JAuV zlr|}N6>J0fWqBj9$Aruh(BdO);EwmnYlMBG;KH^mZ5xKS4zD-4y+l3jf$?bfQfeW) zGVGTbuGGH%F|pfn!cp@&{40wirx+8{(z!dh?c zW;7EcU?_(e!?u%z`aI*M#zQE?aj;cV-3oI`Ahp-!Ck7;4e1BdUze-*yh1pUqX;q>M zaXvKyW}DXCy__LNe|iP0muy0rh`pe%stPxK+K#p<@ygzN!H#naSp8^-;SX!~ zav8X8j4rlbQ3X*|Ka;*rF{0b*ai0bG52n=BZgVbnFH`0?_}&W}R;e#jt?gbGSmnu4 zNtK{O8>Ast2;J6)jxoOZB(FTJQCdq?N(;or{KBxi1L11}r$JC7vu4!gC>6%+0H{Fs zq7cXXe2#`FdhptzwBmmnNU2cd|8v)^Jr}fGP`<43KN?Y9&9J3*+hzl~mqC!!+ zwu9T6Lz@qP${>u)Xi4+4O0r6Xt-MO`l&Xn-QP;w1u%61l3fk6sxrPxiYkGXQY@-g> z<9(g(H6Q}xMvdr@m7%m(#afT3^JU|8VZ6II6yj9kWIVoJ{Aq7omHDu1HnXq9As!~ zKgQMahP9@BjcE9M@74CptiPyurxbkG3f8hdh;LLJD~m=0r&XrDkgf;8$uMxd>E_=! z|5N+$<9MUA9t?dir%Pf21<)=n;<8M}~EnOTt2A%{>UC;zH?MXRDfQMpPF!6ofl`o#s} zN^n!by;$Y`dI;CCjA&yq_@}MBQqbM>A{2u{q~nN^H}4scbjSx%41(eXL%u_}4LtL~ zEH~w3(ti8K3VgGf2!hWJivn{}a}9?N;TuaqZB%@EaSOyW4FbnXmB1(N76zoQ6ob^N z2ua;CTWU=jxP)m9xkiyr+@0ost^ygP6$5zR;>C1xK z2H54oO2GizkMH*HxpuJeQ*ctP836%AvzZp5B}*q(t%CSS(3YvoQFHs!4XHMPk=w`Z zmIWoR}sU}fRTD`ae zbQgq%f>J@bup_%r&?D^P7pD5fWs(tIFF^ByLVZr_`Hf#bgw&$4mzb)|nmf9)H0;8! z7#noB9m!-Hj9@#uAxH#gX@liH<9CEd(I%}EdoDN19TFFa-mZRd*_w#~V$jSeUeKy2 zT~#7%k@fyZsU0keZ7{6|9L82$D%()>9Oy9RMY2V(6yh2@_O>+Eun2C>!if6Z&2IdljOF8t)A3z@8S=!8^P_cUJ6!#VOiakw81 z9AT6_guinTKjb1SZh89pM=Md`QS!CTpS_8{w1+zS1zF)lM?N7s9;niwS64mto4q5* zXTiU9p@vUUtrmTtC%!t4zI$76;%(-`-*bwe<2-#5cW->rgdXM`mHMSaH;ptCKWNF0 z5c=>9)N_sh=T8b>K7iW1=WIpI0GO3w%|G3{{d<&Mvf0^!2G%yMo}GW;OJo@fAs)A$XDMOX)0A>u)N$df=Lhiz+T^+1RqN20|XK<6nlv}yMAVV0Fwm!X!cMQt3b*uc?&EY&c&Ar8}~xfU8P4Q%LK0MYjaK1I!H zYmRfVW@Vwf0R=eEWgWX{ue@#153g!b_XTE2kniBvytrPy+JLlVHGz>hckQ`>hlaz#}aE^w=lS*4^yN|;2s}iL)F4%pHk@MtwnBpLEC^82jNCSX zW=W4QKdU;WV0~9p9eQMOQ2x{c*Y$1Zy?cXZjX^fd_hr5*_?j0IzD?Dz!MGAnpsdH3 z%}hU@c?^BglGB}5DF|Mpy1Q+&mDM3qG+y1ErINO-3UQQ|H%QGA<$ASTE2FUeFr^v#)C)Gcd(z(17g1D{m~{;`2{5u3fJn+gaVY^TW14G27WTA6owT?SZs zVUSHbf3!1g=W6&`N_mTIt@{G^vcAPN_tmWk+^xFOaHV&-F}p4YmMCNJ67Qv5U)@zA ztN`ubBroFnbJ{szr&uLI&+X=0hfZFhrTV~JwsDMTO98~?1+21#EkZrZ1QB#8N#AHn zjZFUl&j%6@-Z^8l2@K2#ubExm#jeV>|DYy{xMe97;j5zhoS{34SDNI_*LVE70Q7x* zPLaH6x#_Eik>^F!eTgfjMyPg)2R^~OHZ?D)BrLIBC8T@ ztQS{t{jA+JAd6+(d3!KE+gOhqQ#zouID<&wXi{IyY3Bh*qhsbhf} z#Fdt`00}-dDbs&&OIxZ@`8yZem*dH3{@MbbTyWv=3YWy@dJ2_t28Elu0uW?&vNccE zqaI=HRTW!@vhuHLUj?2xbKrVCtDI3r6rs9+P$zb$c@!2|&7$tKK&Cs(yZ{`O)DQ>u z0X%1&xCVkU7e559tQ&%3Y1zvbylt&J3y#vhZ&CgQ^}lHOfBosTvf?5)0@sXJEve6| z&rlyZj#@7_J#!3|-k@JGAgL*};F1IR_iaN1Z2+ww4%dHJJ0N)$q*=HSAV!;!DZf`awr&_!gl? z5|miQF1{hPO;D3YM>NBVzI3O^APBNmq>BE4#&A=0Jo=Ndk*i~=1X`J!GLS)j5Ntq$ zwBbay7Ti4#zHLi2QOqxaD6Rl6BbIuRiu9&ic`DMwa>3H5(S{SEIoLK~+B zc;ME-(rE|-Nk^GA5G(6=!@NMQQEmhQ(>FlOTm})1Ii-!XGwJ(SH4}n%t`__(I`C98 zz07XL0Kc8n@@gG&rv)X0zaP$Ur-i_MR^H-csXk~z8Z)x~xAR6V)v~Dme{0h=G?2b8 zPyiONiV0y>O3AWvS)-sLqbJQIl8)?GIOX8EE^@+QuSshxdmRpC;gdS;N^DmJvseHAc8G>2DkjmK>xTPyAC3;P9nq^<~g}O zo`teAhn{*1Z@63g{QvXcUixnzUjK0cD*g;rUHZgpPouYvqJl$Dq4qUpy(Xk`e~i1W zWcy3E+SaP1A*l{jt4|yPbF7xTsUTk`Hp)9CU=cYsaN+wzDk&YU)qt=KF0;tAl#AWT zABHGyI1dz{%qjPXwL%Tw#tEgm!Q|HMX9ZIl1UjB(p-$nI+vN~?iNPmYHLS4Z)_}eo zgu_`$4u7*ruP_rn@iGX2_WrU`kWV#BN`w&gDEuHML&8Q*J13tSV0VaG7U>lwRQt23 z&UE$Fng!kq8`ciz)cn4xQ=wX?S)-L%*AK4`Wt!^AN(h)-xHcERKCMK9|s$S8a+9V(0wesj&^kv&d zaKCa1{d)`@%gc0tSK)791g{B!Pt>`_kf}=5DRkhc46iV(t7^I2pQrv$L(9b$8U0~a zE%IepC`XC~lyOZLpmijqaG ziY9Io*Yp=PvmV#s8<&FPaRha;>44V3?{*$VMcJimzwKuo6uioMoT`yjKXw=yQk~#< z+iz4!>n>OF?932ZWBjvGBppa;%@|1WvxYM|uL!1iEq^p{oJ?@qA*!bJshZizcXGY* z&J>>_l-efkOtEb?URNVir)&7S^DSAOY$I3AgxHk>%8@cJbg?y87zE(oFZ10})m@1< z{;OtF>n+|R!uq`CiwgzC`~iN4$aRHR?%*p~gR2J_`ya+nwzDr7f`m7S=3x^mjX^nywnO@ur+M)nAp(12NKHSTMID+!Zy>exa1tR%D znOoM$t^pk#B+NvJ-0Vd3SJXP5g<)hmnJ%`SX#`W!;d9`_$HbL3a#tNbDD!~?!Aas4 zA-%YrV`3I^x~UfJ`5K~_sK6`mKG1who*NF%FmF(1$n^BsQOTC(>&>4$gX{-EUzflC z3O?vatK^hW{oIzc7Nl8fG;V1p`$b^U*?LwztA(nB4Xz}+*z_fg5+9`6NE--_nGF#( zSe#`epmX{~?Wu*C<+34RZ)&lmIHiX&iCWUYd(NVN&SByXNI*h3B_OCCmXg;^S;Zb! zE!9BMcU65{t#DWj4oqqT1Xk|v(=4C_-LNv|g~l6QD=k+Uu5?pAu@2mjK4u->Nz@1p zoI#m6rE{eXv`M$jqkxE0Zjf4GsfxcSMaFcm>Aa5gAI@)KRuI?T=VG4ZzA9AmG<=Pu z?n@(bqy#ull+Wl8Ee*n{@v#DA^=BD&M1Oy)V|hh&JX#s~*4JF?SQ5CBzO3;mfJh!F zE|HSu<5_uHh8cEakn*rBl#SHkyPCc=KwMW%G%;KDt%W^;hap)BXx|{%(K>M-+UR-j z&!Ey)djC%igh$pqBR9keNDWJk>Fy$AlMaimV*Ay7=@!|bEO><>vufyaa8JO$Y3A30 zH&ZRClZnQ~hAqN}DP=Ob-yOPwi8o@a#7Z!*M$zsC)PWo-7921DvM&%RxaXs!uR+fX^ zTmKf`vuI$UX>kQ!A`9;O057rNmLW=gS>czrcJkenjiX^3QlBmzMxRNG(@!jYa;2a5 z4fz_m%~p2x;39jrPSLi?vf7sGO}Bk=U(G^x>cCG%@w8Vm_!|W}%=Zt0#*Nt!YKv#PutxuP9qtozj@ww78gE zCGR43({Yy?Evo=q(Iv?TZ?XtM6uWeT4hIhm#M8;umwpf1Sp`~Gj~9}d8Z^F*1owI+ zI8GeemV-|!Yj|o+>o;pX#M{(I-|rVOA&MW`Kxsj9jm%Z?P}WxY(Gk zJikxw<26|yC#(vqVvy1)?A&h3wTWI-TCyw*GtqYF1a8?PtKa)MZs!GUKHRoJz1(#C zdDPFO?MZb?y|^pIBp=|LxW(*#W-)pVH#lw*_bqSo(87hlH<36wk#R(>}`;W}0grQuuKKSZUe6}%p* zf;U9bm&Wa6aY_@?g7?_Kq3^c`DJ74-fCF0~p+8t}G$B2ByhD3WpqfiG|E}`Aj(RWX zmC~O8=wD9Ou^OZSsd-^Vh1``=nA*!Jf(;u0e-yk?s{W0`=!Z4We)td^%SO&F2iwRj z_oO3ZZm1cHa+OfR)PkkMKXp?#r zedn2%s73Vc2<=LTXjXYXO&VmIB|cUgS!_CqKe~UJm7`^cQoonHoifb) zf_RL0Vp##%%xYmAVN^0|$tTf%vWFNT%UQ+DcgQMcJEvXR!L0;gt>^V~o8*UWsFQzi zIen+E;d_~nF#pQb5eFEZtQS)&3s8|9tc9fRmLjyRhU!C`cbCBybg?_Ki`jaJ!y7r} zGH_+sP0SL;2rgBT;DU3Uk9~xjQ$n1gA3ny*7Br`LeC(=psfUMEX13R|t$F2T?9xm< zuSs6b9(5UDU060wfMZBC_^&PGNVP(6w{TbujwwVKa=l;^#q+`XE#HV%CS4hE1**CEbO?}lMs$7M?^@O(xy+s|{q5B@Yn4lvQOg%#_2 zWL4Z!P7||7R{pE{1E}ocfs0#n{NPcvimUm4UTa1(zff9yMJ+W%>FQDp4<5yxpAq?< zPw^hAj9tO%e6Jf16r+y7OX&S2Zy$LP`7W}{15yiB(EI|fXSIUT^Y9!gO>(c!SjNiavRrqHl4C)48CJtKlofo$NuOHN%=S z`kT@Qa@P=p-k*Hg2oE+~+<#uh`2*};P9aGzRN!AN!r_eC@BYhwk@1`VvPtQ$IBtev zDL8BL+O($hR+b6vax#k-g10N^JMcF8h*|Ka8Go95kVwy`yd7WT)o|=VWrjZ(Re?iM z!T@WL(Jt-3w3yvjp6A~>^1J5$+f>MGfBSV@^&m1ldv`0uuX@O3gkCYiD`ynu(xF4Y zyk49y^z#Zc3k8+Z0!6*J7M_NvCQ;LMesMD&Y&R1k%xZ$Z73!$CyK`Y@idN|1Z3ux0 zZ6-F?fa?ZfZBB5ZU2aUTNejTP(o5jdpg!ptY9^A3?~eP z2^AA2W>ukqs9rE6qfKQ|cGIQcKY=ee%nArbT-)k&50Yi<7OICDN-Jz_Lgv+OzDHqZ zVO9$pYe1A|%g2{lWP0y-kgAU~nuzM)5Oer0pOCff33%g~_{7TKH#?)GBgr(=z zZtN3TzdVA}mo<4CkYl0xp}b+1R@nHrJSU=mNJd{=^vPAA^!w260iuv&;+9iI%n=-` zy>@^POTMU@U(Xx-z6s2-V}WY{=I=duRXmKI9>?MCA1J4r> z#gR6F4hIv}+>C7hR&=rzZ(IrGkFAQp>&puTBjO%m zFQ-RrOV{BAtaeTnw@gyREoZbg(m%4Iy}0V9FD;kV(~FtmTnr|RRZ3QG^5c!Utr>m= zU@=~5WP-*O)v+M*^e=0nnitR?y$i|y<<Q3|I zXl0?LzCyxqbSIgQF&JV z`bvQ*yFIldo&Lz#%4)f%H?wTb&}!ImQ3b1n;m0@HQHWGq@9NALWI#y3?c=Hho9l4; zkVA9}t|HHIu%_SBosbPhF1lYWjz?1z)EPEUeEf6!fOn zv#OXqR3%vrX28U4CQ1nKa}g*``WH(%cKVKy>SNNE)Zo3)-{AbL!Q<%~0t6YnW;K@% zl%4Wo(39MH+zvrx4+wPugoBNOp)~ue3-tK1HjX{rnxo5TBRBLM%4`!jL9w~k=vIUT z8h#r`$?E?GDZyBpFQ#2s8^^)+d}1U5u#~kn6HzHB_(e0nsaB!aqOO%?e^}Z!q;S3Z z3}FP?hGtay9MihOo#g@^LQ6|Oc?zVVwprrAw{3(|!Z2}581?uT6=~=CShNoulKOaN z$sjm1oq$2baWjH&9CVt8Q2RWL~*urB`l|X%-BN+oVcG=faVk#>l>JNXtFI8vYd4OOQ0 zBQxK=*vir?%9j=X-0um3R+k!49fWXZ_mc9f%E6lSiy8%0%zVl{Pzwe*$PT9Taa&|9 zs$K+MP6j+nYJ@fceVgP9{~Tr*4-#66jvZky*_{iOkNLm`U;%-{fdT^kUcO^Z%~gg~ zx*XRp?a!?)Ozp_-1%uurEQM$gA~T(?jqu%n@h-*tw6(J31s@)`ZiAx0sm3yeDL&lPVf0uP}V z1Qh%PRz2Qaf=u2@*)Q)**b9k&3rF} zlx|tW4GlMVv!Rx1x%qENEsNBb>25YY-h(;`I|La8tX5vN1a!*{0}GnuAYb3B@iuS- zx@CjE9nNtNEAi?U)ObVXhN_CShE z(%gcK0g3-6`Z9e)Y!Wr*mSz?$FC;6@hjmmm$(#N^OK$?FW_9k5d*1hD-*;wTlbK9b zlbFTCHKy(+y|uO5we`mKwzu1_%Wb^(w!K79FknDILBW86f`UQ=3JMC!C@3f>R8UY* zu%L{E6ciM6{^#WWKcjIR$62L#N4I|C(_@W>}f`@_L zdT4Bz2T8|tnAAcwI7*b)n2JlT!kqhISl+ri(ah{%8!zZ2r&*5KIHl_FtUVJ_=6Fn4PD(sPO7~TXEV?_?k zOZLq<7;I}>>o45_)IaG%8hnoozyL5+B8N#8JOKj0qX0^pnVle`>Wq>o5J>(j=h^w@ z1L~P|njb#b{<%1e6f`EooxpgD|0mt==1!gf0xtny2*Sez*G?_G{V}#S{3kHa7mw%u z%19v@m>thQNi;U-myHlJ`oXOh!bWbwL(yb*E{9(fC%8o)X2d*iVyKVN6rZ`{Z@@(x zkgAl^%--(e_{mLAyoqbLHgR3>^v-+Oak85GDNT+&|M*#aB=+!3Jh*}s`-Pqr!}RJ@ zXJ*Zu0Euz?TqYp{AG``q{{wE(N$>d$aqCD!ET>ecm2+sp3i5Bvc`{%aO@TGGLkn~g zL^q03+jw%k%&kIL7^66F$O70^JP%1(Z=;X64JJ2Xjv3_{#b_d@&vDX^X#o5_NuK8u zbhi0us`BGNSm)FsSuk)s*ij=kTBZ7b&<#_Qj2LA^(ecw)xP(pP$N*p@EuLRwTed`m5MVMoj5?_ZSwNLqJ$=!e?*GX!A7IspC?k3H zkL~C7Wv6`*93f%ctpTts$JPliMATMt4nylA$F#V=`8&+`R@+X!Ec7`Z&%qd=0IrM)VspO(@8ASQ5L?5KHUu|xT^)c zY&XyJ{u@BfGo!i`WZiu&9fiIsHUF9&JSV1W&}WttO_9Z<*K4xi}q0kE)=k zhzwoJ@?Dd>$aiUitDS@ynrtSH@bq8_{mOA z0#bh?4?Ia2~h9n1?K%i(?7rv1esmZ3EIoFv$T(nJ-=x* z*`>6|R$O`X)fdTSiiQ?EQNjv0Mz2@SJLwHdjU=b|8R-G2QdijuUf?^P{j!}7DiX%5 zHa@~?_kM^SE0KL4Z9<}^urM`ep6Xs=pLB9yNTO+}Rz_mR&a#q+*m>D3UHiv~?(gU3 zQ(UAnL;aK*Z!kSyW-tdoE3D4>q&7yCKZ2XR%rMOw5OWZ%5;D4mQN6&jN47Ofud)mz zl*~q0gyf*sr<>v|-2``|icqU$n0%r;2QkD3<-C<4I6ma{h2`rK|0SPQ@AB?(UsYk{ zei7W*iT%#VG!rcXmF$k03B545F#uKx!L6y&y9)4`Hy~w#@OIIW64@m^JTP9x;X&Qt z-r$Bft~wW^^zfKiHZ9{A(oXQ#u`l#q%(YOSaS07$zAZk%h^c|+2L?Ryh!WyQNCT4M z78$4a0MPA-QOe{1Bh4D|0%TNj(or=qldsWC%>0Cne2ySvY4~>&gG`n@;<-p@`^!j> z+tO@gq;$-uu@N(&#A9a&D_Kj;F@r246X{!8w3v%nWgF-{{)mEfiUHBuo&bCzypqVu z$U&SH!(tT6QsO?2SsI^OU&;vmqNup`YyUpu|10e)?WmNGI`#o8q)YMabdLl%H$V!ekI3p#nl#q?ol`o~8R}KFd?sktC#1sL+o9 zOPy1>8?LUAgcRbI@71S!7dl=XM>Cmrsu}*QAb!lNeisW#A{>pVvuRb3r^IG$3=@`r z3^$C00zdU&vYjQE&66-aK`<>Yef@11CYSso7%G^_2)53S6D@X_(-5x{ZVD=yd8hOX zEvZ)07C{axsZb&HBf;)1@DWUuN%ATi z9YYr>KsInfllAE;3sP9cGoT|%!v$1-dOSUMdVIt`Ngq&3f8}-gO1Ae>&3kWv6iYu= zpeY5ahi7X-1oAi6Gu4 zuM%_6I!Ys0)JGC3Xi2&VfcBCj;KVOsIXczHDkzwQI08xc)i4s zQ-%~6_2@>PSsEVe^6iru`nq%|HnS`I1h*@3ub9uz@hU7-&}kq!83WbyA@XJBD1pr9 zn024~D!&o5?gZLjHbPdc{K?DM+LDPffM+QQmi>^qw`g9rnJ9tVJQzarX;z)CW2x93 z(dq%ibe-cG>rsmWNF_u*nr_ZE6PecR(*030W4Y9{KQy-nQ=&->bN}_0EuG6l7r^sH zt!}KI1fz>rFRfo@IXt-R)mJYV%{~9>cY_-JDpg%-nHmT^l-%k`BzDG*nBEzJ4!2H{O($nGn?@_Ht?d_kSY6oT%jg4= zjHJL|6k(25M%d@ZF7`S73FiCc2>s4qr#5GVckoN^J_Jr(_8ec6#Uh{oy!)*RwY$T= zX#Gh-1>~Q>FineLq5n|{@{nUxU&joPJGtlzu|tw%G$~eqx<5loYBKb;)F=+ac&`*# z8Iar1{329o_t=M+bGbmMftGI;SZBKY&=V6Lij0z{YWRv3$BJu*Z&9~hXS^{p=k`=3lG86hSHdp>gQHiUR1`(5BJtrwaBI&?a zi83ew{~K2tF&lv45H+SZtuE!a*OzUJrite2L!gFPh{D^4B9uq)<%=H1UL`W5)P_)t zGGsQynZ4#M>V5jXwI3P9a*p*2LEu0TwYkRWOuI2K$X3?;$n+)59kfbw%d{mQg(n|nwNIj{|aB}SY z%(d>Pws*#>)PTq*bqO634MP>6W$p*+Au#SQE$Uvn4>GIeHfT_Clr}@nZSa%=^(LdZ zzl=l;<|(Aku;XjAHFkhor+0uBcS8h?il9!q|Nhr8RI2kp0$>Gw5?r^>Ph#r-Xk47R zHvFT0?Hv%CNJ|u$W>L4XD1cCRqB5D9^h#5#6iYj|?%Um<2y>X8v`%YGq$cI!l1NY2 z@~z`7Y5e@!LTYk2TUvy{TwsPsLcJ+W&+)v{5?4!Yh;uOTM8%Nov)oK0B>>Q@wGF7) ztAe^P%};WZJmfLRsdHuk8h%CRw{sG0lSKc zpuYzM4WRY}C_Rn-vid;(w%kPg_7AZZ+sHf+p?jF=ckh5H{oH&v+r_bQ6)P4gnp_Mp z)?VYZq+Pz6>!w7p0FcS9H8Qo5+L%#xV`y?YPP7eIp>aururo7=+yl~A2mgMRbFX?}LcTRh!*8c<f9L7ZKq$1qemPyUBzyJtnQlAKxp9Lt~l8Z>zkh_&lqNYJD+ zl9rW#8n`J+c3)^3K<Y1T2B=34{~{8l>)p=>AV zRvk4Dk5`g0;FvZ9-wJ~)-NRF{(-PTOQCgo?Eh)B_XVMZq$qxaESx_~93KHBLQ_ht0 z)~D{v8^Nj zsHiK9y1^P{04vbqG&J-QrpsqbGhV6uLuyIXV5+~VWm!IgfZj!SuuQzzel*VS;RU#w z@gjS$GeU|?dw5B%jFXncW;Nr1ZAlfVvZ^cx)dDGAnUR*Hsbw9aBxIZ-Ex=V!EVO{gz(ErI z7&g$hanJSDjkay2uhf|KTP=3u^Izt%BdEC97U{>-qW0y(4e(cir=!8t3x`aIm1!B0 zmyHGj*Ut~~)uP&hoQD+6E|V1=zjXr5FxgoZDnt!}xYQ{`xhq3TFygdzwvq-{V*5G` z0?Ro)JwtDE6Cds>?P|@#A9S5xG~7_y_Q5@m;{RM)%V55(rzH38Sl#A0;!t%_H1^F2c> zD6vy>6BR0|&?&QccGZiG%dlG^GFQmFDYC&q3XeAYino)e!f~yF~d&W_B%_Qz{W6TbBRqD7z$M1}*rgW3# znIa8Y+@$(nV#+Ojdi-$vI{EdvUl^}1zWE*k2xDmWG;*y4lKCoL0tLc6)eyG?U5PF8 zr^;kzEFnsWDtx36Mfy9ZFf(ngzl{4C$CE&)0SC=!7@&zAzb%FxSR<0;G;3AhkQCVw zVO==jl*c2}uIa#dYnJSRy|O8gyVQw|zWg69KbCGVCt!}^^J#35l}l(#N$?sU>CxDm5M z$`BUTgr#jQ!MeaNf*A*IiwcJ`!Zu`Q(W`R1GxUboFA58Te5Jt7H?Bl^g{e5)2>rbY zQ40dhA!T@dOW=j53>nd&x=WO2hCgY@^U}JKIL$fMrFz-caW|wDHBy|gGTf8|H^o<; z@13_(y;Hf1qZ?3#LCsLof)`|jtzYREtc=!tO<0+;G8$rtn}jVGMH{>Q`wBEQw;+H4 zi{V{zi`}zkDH=DA(^_mlLo11HhX|5B+-+w;EW#{_lmf4yAx=pk_L=POtwV&D6%cQ$dNJ3mLRTKH&+)KzGtAlJBm+ z^ve>%xVyj(&N=A?;y{GFqu~Y>YYyhBi`@S?2brOL7eLDKi}B za`)=gZwoh9u895=E**a4poOUN(Ga`l-+nB~p z6cqt~ElQJ87D39(QBV*cT_wV={J#3!&%MMD@(3j%r;M-!@Pjbj&v4R_Q$$=E<~TX1 zY1L-bNEIAas|8lj26_@27mdPiR}!}#IiAM-;6MVx$n$jgQX8CiR0Ece8!ic_?J@Xn=`_ zIxY_lhOTP)8 z254NkL_S)CSb4ArU%o&XP%lv11ie-iX<}@7P`guIprSzroxh&r{#Ag!Q!K!0DpxB zFU)S!k<3^rs8FL6Bm8_wLA&SdqE?Xj##3LP0M2h@jy7i7(UX{#swT^^C}nuDdEUIm zD6Z|Tt{v=b>#-svqJ$%4{zxA_kVTCEPGcmW8N2nvHE3 z2qVH6uSZ2)6&Kw=g2@_gNe@LvhYVk&fH~4Lo8R5}PI;yW6TfawGY%=WXmtyc5H`gF zy7}yEaStN&*MO4jmxyJ#;Vtj+dhb5#ygE)lVm|dr#@k{%;zQ}DB0>Tttm7nHAhRdl=rtf_Mz!XWhl3Q#& zJ%|@ZF903h#8ia9jw8=46i1NlSC|B&2vMM|KKK=;;A!U?@14TYB$b!lCm|a?9cw^} za5{{L5QbHvNJG$mZ3^iX%VgwRFwB53r#aB#jR%aF@u!)w=mzUdc-l!QxG0f~R45MAXpKBF)r3qja!3{-E!8B|{PEaJ-*B9tES2vDk1LL;w*khY5 z#V{B$A#t)-;Oe7Ts%ETDMK3Pwk^j)Ry?ROuI-6qGxnFn`V)v+ceg4tCZ+-S49*1df zSos1}B`PT@`PS*Hv?3&16;_5L=Q%lD7V3BBC{bn!bXg4^%xklKp;MUPmKf_0S}(^a zsElJKyaeR+^w!ky(7IH6LFw`?-z;r&qdfOSOVCkI$1YBa;PNA#IXTQZmf-|hkjabv z80aPE6ldrsqX>r>*JD>WPX0dmLYKw=b0de+_8Rm2$ zp79HFbAE_2pXC1i)R>ywhxtRx%0UQ|6FbLBGZnsd+&F8Vic9@mFR@0H8K{+^;aZ5g zW|y6B^?NV~=XQrA^|8Q}p&NReWm{d#x_?KGNItd+p35>=w&QT^2^b}S30sO`YebLg zA{8M}bx;QjDgiS4=&@7;NWE2?M#Ap?^9c|6HY&xglzVehH<+Ki2LmrSiFgf|y z=yL_cDcQ3S?}z@qe)?Ht#wI9C1?Pfi-vS=7ZVow-L9!%5c27DqMn-i=EJOglIX%fr zR*T|?tykJ&1{`^7G%1j4&_$DOh0a~=mTyC~88=ULYqx+4J1gjyYT@9SZ*Uy))q&8<3T=a1L`-)kg zG#amtVIgbgV-lciWDo!#p(`?;U+c1$&rh->1PSQ$S97_7jCpqmS*75 zWYIzn1+A$Bvi|d7eW6SD6|k^%eBU*z*90I5 zNkazc;*`0l29jpgo_Pujxc?xhr1*9i#*AW^qj_dpif@KtF)p=o<3yOAV4$#Qr`jbj zSyEwmBapET!W=acjDjzLHT`z>#d1vL{lka~F38|0fU_~yojU(+!5sdobc z-H=W}h$>UpfedD>5v2#um4+K~K8xvI1d#xU9jd$+#@4=<-Vxc^{BPN^ZZ0pbN?;fg zudzF>=ds52!Ziiy(2C`X4#IfT>Q@&Or50kaw{xXTxF+ba@=WxRW_cz&p8N6Q&tkiq z`&IJ>Ap~h09V<;WkbHz-gyrF`PPV^oK3@3pf4q}5YZ+I(djcfy1G&{lKtc%=CZLdk z!D~QwIHBM#M$5e^Fi$N$HXK5`N->7AWc&Js4rG; zx?}Ox-D=XQEhle$;m^h6A3lMnA0j=NB-dkD)`q{8!@qnK>zyY4aT2>T%>4T*_U<1} z?|WgN>*DeYtTRRIK@I8TU#cPS%Bz&(6QtPN?0XIPYc4$YHukO>*M*6bkB*%wf!H0` zCqwX=RttI(#lH;TK{e17%vh+6*&YVvUFC1;-!|b6eu!n*o8B18DDZk7v%C#dZ-e4X z074*N8blrirkiXkuoeQX57@Fe2pB=q26?8YsdF^p6Kgep#_UT%F>78pd-*jAJ*je5* zSWs+mT#}wFZz^B8HsxDNL+Gm8EE`Kt%BDMuvHg+d>~e31MX)v{n;uMSX3pV z^wYsB+&?t#HtyE$7#>m{&RlCg(7m8`KL~!;cuRP>JNd=ideT=*UyVPs@a7f4dFx7e zyodz|kEF_ZjBOixL|_vQ1OvWJ@|rZZ)3oWIvum3>8y~ylc9Q_56K!mNOU&{9rUOn$U>S{E);UQLI!i^i4&!DpoZ6vI`bL!|@D= zEElh_u=6}b)nnLgx7x_IZ8{0$(fK105BvBxH4#p(nt3LA=FY*W8Vnn5a8o60dHt+;wcA2Z1v>;H4GV z?iD?!#Bk3-I5&fgS=-|!h8?w4$;r@GE4fB5ul4xv~uni>BPv!>s~yDTdsLq}C0 zE2B?`K$)ta&TvvxB$@5g+oIHFKO?n6^&Z7H9~g%xj9;f`VeANutJub`)Sxs{GOYGAPL~`^PigwNuy#vIq@1z(p>lmZ`yXoj#z){7+#+CS*h$3(U3f zK+)5Zntz1*h}egJ13`Y66NL~cz->Nc$D+IxRSU6lnGu5YF-46|KuW`|jcIW!1F{U6 zFcWUzEdflnLWKUq^z0)}pq=!xqddK^z)ne0o7>yu`*Ry|6Dht{;+?W1@d3Nwo~TMp z6OKtA1SU<&0S#Bjw-8~HngIzqWK&L40vkN=EXaWdo+EXcdX|;kWY_X^rG<}Kl^ zLkNTHa|uXa8WYMX?WBFuJXM>n%)u}@WtS9|v=TW*PdX1->GWUlfyY*=qB}3j`&)!_ zy20}U6>Y>rHdRPn{k?65^FP$h zoI>RJ-MFs?{172nV&AaMBvruoHt<}Py$4usE~DX*%R^Ko6jm^^DSD8V8H0S4SDL8_ z?UEq`=I-seLql<#-4$22)1x@^JVPI zOarS;JCQhNVI5@C-lCbCE{a(mH|MFxCmkobe`4!5m@7D~N*%3-ITP?-}dve0`BE;mdA9Hw#5M_z-VA{+b0 z`XH{|oHl^UWSCPB)D0Z(o1nGS+Joo>q~z@vK=PZbThhO@Z5r*@T~Itfw4*aKn$7O@ z?eT0kt#oEw%gz0Rt%jdhFB$F6?o2NFrjTDjY{j#^vr9L(CWS$Qf_w`H)2ruO4g?k> z3+c_SgTATJ{?4g3$k1B?J>5x1Ek*MdH1L)aD-VZ-kbF_vB4oM|oU^mM>>RTqDJ|y2 zMzK{63IZqTKn$yY1+g-+JVy>8>ohC3Lak6?#2JrEQ8h9EQup5?7Z+$+YWxV&QU|F8 z8k+iFXCpIElpO0M2=2lI_0rCj*;`HjZTpVx zJH<O^9V;9N-t$*5;IznX2Y~@bL_vPCtd?GZ5%18vvfJ;gfX)#vCg<5 zRdQ2?Orto+SA2OpSbvHf)b3Mk_njZwthze?+vG)^XNWULzB)y{@28*KvFv^MS>XC7 z*2}zwb-o#z^h}s06cF4aDS&5UKyqV9X9zcG8LSdXvX5P5=^*E@!-%dH^+^R7*E5_Y z1x2+b#zf9XJywj@<41()jS;$zs(gM3?9?Hq0q9X5cT>>Vc?ss#CC#~+eLajY6_zz{ zb?w{kLydniUTnPBX6k`DDMCW6r1Zw(k^%CNBsT!J3;aLHkbF%!$DDL$$pE|plUvV6Nz0Aa#Jjb0tKagof*wv@`pN*W~&ak=m=ZgdY%arcz7DoDh&-@7UwNe|NR zM<4=YreGXVLUP*0yD)FZGEoqG0I0tcbyq-3+MR6CoWkga6hC({%og;)LIY+p2gDv8 zrf+`0>5!54Zkp;jXHa!i4cwTLZ6$jNGjRk>wyDkXO7PnZUvs%_V0go5VGZp-(&`&mEIjjwkSEm9i0VjRPjABOYC~{LhXv7i_%N#fw z!ee3>$PWA18stB@$5=R;6*jIniH#3$hOl=sNwyHjhgfkbKhYVl@@2Os8On!9PyO)h z$zON{DG8dkS|<|Vwk+wKjX#$sho;={AZDiT#Hq}{Yp_YORLMRU7qi)=x&%eHH6-n3z`b8WuPNmFZ|XL0Qg z^OpQ+IaYoa_q~B>qB90Rzbb*~R?ys_F^fwq(_4F^|1Wb;y-9oZ`kus(*SECybuV%6 zH(zSKynBIn$$PV3H$58R` zmy?JdlS6SqGo!>f~zKk#Gy z!qcB(k1VW7B4Zp6)xA3?#L;b#OdDUE9-VR}MjK9+-UN}=9;>wy|QkI6`pu`=0&=}B<`#I*mCV-C@k zBnJwD0xd@|^3>$A{jWfFS!^Z0GFVufA51$Wt8CF@hJDhEc+9EB4`{pIpBR`jIMZKZ+Jq)Z=f>mB@Dd0ji$t$F(FiO)Koh-vLeL8hrT3Nd+m2Gocag z{C?n>Dv)2CnDGkKT&pN}iJamV>u=R_%z_NvFNz;4iGrJr;;1+$Rx@0h=RkF{LIE6e zF>#quKIaowpEkfSreGExlmjEO_d4f0WfYs|z3S6gRGfbygnMay(hxg{jLfs=X5I7R zq^L84x)3p*XSO(%B*RpI!;o&r(Zv{1Ot?n)1jQR+Oc3j?C?a`^7|FdAhsvVRoQ<(2 zNWTcOanNB{q>dd;u}W&9M83GXcp#txv3G#X2I_xaoewY!bO$v{LQ@b~Qj(1Pg<=!x zGY$O9d)L9=S4Mx54;(;#lk*$$mCRo4T9n04=|Zqn0dc>DsC0$KM0Cd+=lt=$_C6&*j?F_kqqE!0{xgp1Cqhf;)t1 zAxa=h(ehJ#r?4$D&!^_lU_frxEs4(P#a~JLqUiZ|+x0-st9@H7s>~&}*)LIF7d@oi zSWEsOzBHIF9@g@W%*Y#2EJiWVW%Mdl!{|whY@a~GHSt0$&jUv)R4pF~5?T;7w)Yvu zxkGk|m0_nIG>~-EH9?PGKd1R=u8hPT5z_q(V5pP7ti)xU=yv^Edt_1vOAVCpOqr!o zrkv@dKh1l)rGSY#CeD&P7*cSeX;wKVAAIkw5_s^DC$RuGE|4<|gojc~9V|?>h&;B+ zPP1yw5lDdY49tcM1?A|FVx|qnR)&_}d!dJwXX*z>+tYtEKlCZq;B_Unz3^Sq(QG8l z(&&}~YCwcK#c4>sTSSKL6v}7UrD2YosTT(4oXheJt*OFPLe%9$G){CSnFSbBBpvuT zOtTK^h!>miErsAtLlr0=+cSYWUbY7&-v6Kua+`Nn$)_lPXL|4tDQ9>muXId=7Ic!Y zCz^tg^fax`c$aoBIEy`vUv|7eXjy1d#*JCQvI5I1_xywZ`85h2(#g2!cTx@1Gn5x- zMRsq?L-*Ez?e9u#ZK-)kcKdU{L|LT;W|9mYYd}Xk&_=d#o0K(yj+!Lf7|7Wfb>5IN z8KEZ|Ip=p^MOp`}en!}s7Hi^5(+8B{< zJf%RK*TlLf)Bx%7a=Wz>x0MpoIDuGWB5e|f|B&4?K zjWJ&QD=UE<#UrHK+>qs3$vFs-3WOgd0jgfO=*7?P#*r@8d;)djX;BLLmIOp}W&%bR zNrK!W4wx_tQ3i6%P0{Nv2>|C`9|0v%WwItT3&LZ%_18dzWWvrv07fVyIruh_jGiT_ z$4lEP_~O|8ZOKVey$O zKe7qYZB$4aQZ(ESvy%q`vC#(Ao3hVz|?&K~|TVqM8N4OEQ-seACa`Ha+2{I63*h zvY+4c@rN|^3*hYLv)iJ2Q26qDgR$)NKv)*}<}LHZ`7%Q%u`zt-=O>a^`e?)MVe6H- zn`%dM8cyr$Kjc?*CtpS#H^#bjT@V#VZ?bRB(B-pguAQnL5Axl-AV0Mu$}>*%$CT_E z2Yn?BBeeZ(pc#9KWT1%>Zy$=!>W%kNvZKcnURU>YP{K+eb zSP0W04{D%`6|><7TbS*G-_~~acf#boGw|gD;Qj4)@^u^6_UKp&X8mC3mo8y%hnn18 zRL=~Vtvf+sk5i~+)#$;|$3W%AMt-dK0O*{-RCfaSN&WA@V!%zi0}(9yxgT`Dm5wad z>F90{R4y)a^J2w@`nP3csAYi+OxDiLNZVP%i2}_|t#R~Y@GJ$j5ITp;i>*srGF&gT zOVZC$+8|y(3F=P(#R&y)3KL;B)*o~8V)r|-JTF48laOhhi)17Br~$@^X`vzSc?S+p zF2hC7J$(<>9*<8MuWHYD=RGIFpnhBDH-Y~e+zy;Cu~btox@UWRta&J~ZS5sc-#S`R zO-1O5&!fQhx)wmVC0gI(XXG}R?qoLa#VxtrtAsEJA=PmY)}unS33qupy*EKNLn@jO z>4lI9O(SDKWFnT6RYBo*!|RntoWBo31iX%%?D>6Rl$T;b?nF0kP(whJf4rJ*DVPLU2coRSdBdTAfnsT0g7W6Lg z?5-aij9HdO+w;4#2YqUgrsjF&eUWK}Sog`Rn2cWMtP#=K@Ra5U236y?>TaGaC`=CVP^=%t<+T;?kygRn&Pf3z`to ztO+b^)Z>kiENla5N%{1eLt zUz-%g2GdtR3ow$`X}GR+8CL9*Tps|-8WvMyrGyesH@F?qszB2Ky4NXi&FOiHhpCuw z-96vC3ooQ!1%YuSE^-O~@4hEAhTIl8g-RN_{b-180G)3^C{m+q=iIYyu~OQn8{ChB z*eq%xCq?Mu0}nIALW5GCpQ;X{`&LlY)i5*+MDj+I>c;e!_u{&_A{(X_QID!(rzbtL z8W?d$8+ww#v{(Ni-r9mBB#Ci7$IXi#vQz8Uk3p8>;`FGi?8sP?8QEG~f;*Tr!p=*g zyNK}RG_IoQ_()ZiB^`@@@GInP1;MobrWnjcA-?N2&upEZXBrloy!>o=Q~z!q=(4(- zqgPcfuz{jNkC`UkSpINFkqAki6MZ;V-{k(XfaNzR#AQ)Ypkj}(&d1MVqy3H@y6+m2 zz;Lv4<=VV!%zodm)SFNoSC3cbly(_NPa+|JjML#3X%<1}<&VJXHJyE-tFzzEUvECW z**0UkN+BLBXHnx0oo2daPkJtZXq(6dK?mGG>haZ=mwT5uE|l$DeFZOHUj3LHU<^1B zdXpj(w$D^C8##YYum?jc1&yo=hM0NEq=9FpLTv-V2%R^$P0R$kLZb~MVxFR+xrFHp z(w8{C<-0U610VgK!QKGF^2!I;s-Po6x1p#Yee%)Jl{&%(7AIOn>7o{Vez%!0q|x@V z5&K4>4#>Fiki>+=c#u)!4jdIviiC`Wt_RZb(FHYr%^jfoFexZ|6}Wym6yHAAl16#m$?nEJ9o;umAPVf>OGGUH28i-9^e{a*sa(n|C-x=&!%45v(Pa{f ze^h~IrE9(mpy~59T4+*5({K?$azIMDP9RaI|Ers_LJ!aG)Z?06>CH_svipe8eY8At z)P5Ht#l%B&s?Q7Cz9hPW)H&GD%JPU6F|S9nl)mo=GO!v zNsrnxY#hD=+6?oQ`Plkl#V5SscD1OqPj%;&(cN}_L)svHhJ6MGBtea&#oMPI#zL&s zB@Zvj=-+vvHaTHswAfwTd_~f!B_4o_iM)^f3{-;dvXEiSiyzmp)>PvV+Iks!iHk0O zL^|npftBGr7^atiOjzf*raioYPyxwsnPC`_!Uvc0Se#v<_8}JR3|_*}^mv78 ze(fo|O)lU544&mgga{p5*lU8iutFa=wqYe&%)fYop>q z9}P-j5&DA>4RAaM-sFAo3V6&59%sDBc$oef`2#!*;-BL8{u4h*UZXw5lqb5t;sEJ? z0E_i3cr%av^Qe`k<@%+m3xZoR+do}+dA=a1ZE5X(PyA}#g}D|wse^c#oW6dQNAyHTWSS@A8%@Jq?obNZy-nTLTg_5`Se zas9Q;_nyGClYL>0Zk$kNo&cWholUDW4LraGn3`ft6p|`<@NfTR`Ca6)?B0Abgh!dF zuUfd4x=!SM1kYRAfq(L{QOZZ2T;f;A#bzvn3z`0Re5E9^ShAusFcDH#5!sNSj&XSX)x zw`0B{7OZu_Dxu?-MG#11I$X`|^3Ci7H!N(3^#%}0x_mRh}ep2YmB+ZR95yoi^ zik4N{re&$$P=OQ5*Eod0VVj}u*fmj&_gobLS!D5@~o!JZ4O|Lu}K2_h%O3Cu5w zPr)q5w(}v$Cm{zJp^C^eW0(oMH4hWraWslo!QIRu^GF^;7M6Z6M7I!9^vmjp$>kqZ z|JCydfH}>7`hU}`Bm+Vpwoi&s#c~6?)q(pSy4JYeDQpS4tmrR%?~fTbs1 zHl6g3Kf7H2KKQWL111lMT_3#tD%Y3-v(S)A-hgynV>+ru>Y}3yU(Pe0tCsr5t)3I0 z8hIQvsZWT%WYm}BCO4?N{#@tONr3MRU5TSqMcWNez_)i}sprC~n-;%w(m z`BkMWhrejt;^sAeVc(n(6+;c+-mt#pl@^xtDN=OBy*s)e0*v$h*X6FaUSvF!yQy_J z_tSTuz4e*K2{3#&g{z`zEC4eJx^pzm5AjF42V=73_x}C}SY1jzPwPzG^~$}NYuPXs zSWI7{5d~%pWA*R5mO~r!hb#xWtn#aW8A0mYk6)#F@>dCwaIBGb0f_VAOO z0LYTkEFGSvh9oj!jB+b-5KX>#F_J#_-#Zf1gYqLZGYwrC6r?toadwL3(vlz_u)J=; zs{9etHe;J{@X-Zc15R_o^5~Jqek3>3@-w79+$J@;n}W>5mFx^B#j=X5T%_&wF7-Jr zsq-@PRGS+YG$t|}ImJtO2{qY%ZoEZFD-c?IJ-rG{G4R3r!51RU6*AQ6)w%aJcC@4k)X)1Fq*XpV5pjD_WlVf&cA`CxH;Q zo}O-|nb}&ZooeUXS#}n(XEZ!aYaUu%eGEs9T_lkl8o$J1+t)lcP=Swpoj9Nd5MG{h zT&k0nkb5Ay?Y4rOAp*#wQ4BhSOLWhE6BF6!Md;}I)jS2Yh}Vo8nm1K<^fo#!4E&(} zqdYHkh2ht>A0#x?KnKq=<(Qvr6q||I39R!2OW^#-WvgrlKTC=+kt)SDZdkTR*S0jp zJxO{rIUu1ij~Guk=bJBlN=ja|`aR8G3_q9sJiptt9R20PS${pTZYutAgod$lOZP=p@$FJT6iyZ0rD$tPV`QE z1X8RaGlwjgSQUPs?tD>?WjT4&_l3|`N7ZbDIE3v#J7e0dyT=JsFM-&9Hch~C0`&gX zcLGG{=|9%Kgh7gqaCep@bVrWmC)Q}4O{zWF@8_8vvOr15dC`fSI4*5T>NV8~&0= zbrj@VuZz=6gPS2UrgZ@FNr+-~Ql6KV*tn`!vE;7uPdpGd+4jZ6$!!h^gidtGv6(K? z(Z(4Ff(7XQL3FD;{Gu3H3>5Fb(Z4M`t)9{ERlNguD>FOY`Hn_}?iyL8Aw)XhsAwv- zX6C*R_kDH(XeHjIQu;~o;%py$fSvaUxLdwrA>j5OcRlbRUf#8Oq(0r*wjMi$btg-| zF}!jY3|di2oK~7q(rP3>xJ?c7#qkn3H`|3r3)yBOi(EB%DTkSf0OV}_)4zsKk+mwQ z*%?vpmv>@s-uVJVH!3MSb!Vhj3{NG#kH*NMn8ARGYf*O z8a+%Z&`RVKHM|_;x7cb%4rZ!6rFjbYAZQJ-94r{1ndoX;bn9G`*Wp^&=$hNKWW>|) zvqBfWEGk2KRu<{_K6aj|*sqxI39_6lT-7Wmzz9t`_#F|XQ*)ajx9&VEIt% zTdadiq2Pt6$#GO`$wRQ(VXQ&q9w2K#55{00I>Hd8`vgs1QEC#q?td6mH|E7bs`vkE z@BUuWisAr(?_96HDmA@&P2J6Or9x5cM^U4PYOyh51i}7= zZPq#++!(1pm!{wv4UhqH{NiqRRP9#{tLa#wZb`DF%o7$-RyZOLb-GpbhD)ZId9I(4 z#Rw05@Xqq|VuxafIm?;i8tBk0h-rJRqBwh&m*TX>Fgn|;+2A`X46sQaVOn-!3xgo^ zz5Z=$Kw;sf1!+M-GEieu?u$&4gnUimJ{hIf6q7DNqS@aVZ3;A4&PS~v-Ied&(qx8# zn-?QZ$`=!7GL^1UN6SooL}%4lH6y`~z@r(Y;AQWOASX=94Z^)9Ls@w21K1Eh72EO3 zz3PL@>8jDn;V;)WuQ{Dq<}Ri;wyg)jVuk1C)UBQSm_Ck8XFGPa1Pfev zex>O|A&SRW&RQE?9p=8}ex_Nud@1y`E?$*{C9NtV;$V;8bq`B6&y>Pemrlam;pvRD z@95$R134CW4}NMMlcv=N;7O^C^SNZDykC4E_o-|*!sZn)fURLLV{To?;3Ym7SZ{EH z?67o??<#fTL7|=Ll6YlF*wCEOs~up+p0`iN!M+{D{J4AncV(6NdEh)fqs&#oP#YHH zggNCV{jS80XL@Y0<-g!0gLh41atPQjt1X^ zI(a+!5O}+CSHc`uh;*ED;t^O@Q=1d^c-u}O{}-IeVi$T22!bI0nxMSUGeC+HS{cU> zAuhflDXwvBkkSg-VNZ~wfKx@8aG(?YisSIbzi4dt8ez@wa=M(Z{ECFtjql4%($TAv;X{W=21yaY|I|9m7Nfh0gEUDSS^oA0~lobR0TZD;us z9Htv*Sd8f5`|i8*{=4q@^Y8y~_r}}r`zu3jxc#obTzA>!4EJXn9{B6s_g;6+bqw{# zyZ_H0AKvhP8R1_adf?u>@BKf&zvJ!)?)b}H4Ed)&+EG;Btn%_s@Ua@Rz?Z%%5+6;J!QWdf@Im{>(5x+wkC@ANtGP_dawFlXB~Q_dK-W zFLz#h`S0((=l=U1_$$M`|AG5%zx%;E9(s_WAKY;7oqxO=y3==T_{-f7KJ>sJ82bDF z{e$}+xbwby8R~%zcmHKVnZMli-*^4x_jf#S--8c=P7Lp!4I3vUJqT31Tkrbo-4EP# z=a26F*B>&xU*GlTyS~5Sfrsw`p6q}9-W3e{fxG^|;8$GFq~3GiU+;SW*!})b58Zpm zU+;#l8`l~4|NLmfzKezlrVQ1kCGYEBU%kSOc*YBgmj9;8TE+_gdmuEXVZRaxq=CH zejp_OySS4L;LHhRJs00OLtht;FAlc;fj(}B=YklbJ3A*9<^h~P@p^w^cAZfxC?P__ zQeiOoi=(K%6Wfsqt3ZYZ5k;RFs=tflm+{d8h4ur|=Ejgt@yajg=(kz71U_{gNdk0Y z_>W?R3T#5V{OQzdCR-OKVknGiU+CgRz0uPsr>jRqHYE|6y0mJ)UFN&YM+ zDL9VEX+n}Bs-ceojQGPOS~vke5o39#9%(QG3{4VKuo0btt({>WbI>nV;d%5q^}-~? z1jmq)5I>jGG|w`h>6?3*YN&%-3RX7Wcoud|5)6wFBiYAk0*`DZ;dFNrEVs@_EJMa$ zDk9`A>5z#DgNZOUnnj%M#H7ECoB%wo<4dLxIB|*`7NE>kJ~`?C6O`-FSm=}lM+p)h@Q8N)FS)%q*cmj7)BV=emuwyH+V2iwXg7lUMIYSWP`J&@Yk{=_*#PmWE ziV1$gpkpFvdcsGcz>f^td07xY&3GhT_Tb)_aZaug9%TRs&4fTwd<97g7w0k&fuCbj z6rVH}SCJ8>(Gu`S2~TI@JCdY}oj7!=v2OjuXZxJkAREXq5Kqm?YRAAHX4vUYsQd`{+;_0Bx}k|uVd1;XNP0iX?ew_e*s+}mrQRWJ zPa&z}rN6Q=&l8Lql;V zG1VJ`7Z2PHaY?$!7YcbK-Y(HNm-DXy*-`a zn&};cE1#?;7~74>NI72;7dDi$t;6}UVC9>-mNUne>~HSC&*74I%D)ARF_$5pj%hf9 zQ_G&EoH@_jV_wmlhJn6cap)v2~`|U zETbT|1sP0ILpWc~KslET%lUG?e1polda{y>-_D17=WgLdEe&}1khhO}2^V(>7hq{Q zvy*%s%Zzh*Hp}^wc;?E2&-MAm!xvx@&eSZOI z0dcvGzN{iY|3Hg<1`n!FuL|=Zos^5m3?y88JPO~5~_ZN0H22%pHBx&HcrbF z;R)p?R%CWSVntZ~(;+X(z8(bd!D0tgMfgco(O0S>7F0(!zfL&(E_MVm6T%6AR{=3U z(lBV`^^+t%pJ7|x-Cu#>EY{om-hK*u892$d7O_gU7D1J}b!$=C)*|)RA`QSI)eAti z8{|$w>;b^@fCxbzhiZF}v>GtmCm?j`1jFrX??yFrV||7A$$~OAZ7m8_NYY8bL?BRw zNhA9dRfu#fNQ%os)?-2BvQSG6Tj$ZOMKEgp)}rc(PZm_HJzI-9 zVG6#0$$=(oH*D8n^(8<$026^gg(t*ESfUEm{t!U~19Zm$;ER!kNRLhOnw4e?a+lMG zjDHFrpTHBYS*)ZdYNA^VpKt?r!^bE*;hHrMKn&M#-RFMf6Ra0~e0mD(=RrC}qXmwPU|x2edF5b|UA_-LWG#T394F(1zz;BN6Lu}vo) zkz?o;AAyhId9wOA+&9c*lG&bPx)a!L^npMFU-hut-fE{~$Pzaa1H#hr*-2-YcdC6q zM1T{a#);{Gg_j#w%p7zaE~cwR*SXA}U{tWC(D*KIAT2U`!-2-x~2u=Np0e8m2V z>JR`v1jJO*z-uQ-M_gfZ2gG3TqoE;$YgR%)Eaq&zfuoSfI$0W$I@Uc>PC zJ?AMEKQdkF+yRL(Gs{gUnyiBp5QG>2h+#SpMA|<$ad8mwX{TurK_sC; zLc|<-;0J@GdjS)gf}@a^mb`wFYyng77zFlP;Hlbv7_WM@4v&T-x>w;r_-24b!^8F{ z8V|hph2$q~tMK2HWL+0$|ptxEP_wLm7jU6sjuK;R?--8pT|WY9-mF;fk|W?tmEX_}u$0hyr*ce3;=0*Q{_O z2?b)9&7*H(fa*}o14?-2Ab0jb%)AtJRu%c!wxUK9i@;`t=9X=7MRrR(asP=&JvZ42W2l^nyA$UTOdJ{As-&V8_x}ev+P>0(rmRx80jRGF) z7d0Df@Pz9rh*#iw4BA`ZnI8GeL8cC5Z{Jn~LRi773INZ+O#ZXFrvqz!;>2+*f^I1EHD~)0myf z%%j;4-uuf>Apnd98UWY;8=?YsKpC8;nN^qvU}kM+>3b@2qcL>|P#+P_TL&00uxrAgFp4Af?ku6C%n0 zus_115~_+IDH2yP38@Tm28-a2=N>HEZS|yMc^UN3xF8v`7=HOXJO`}gihVF(~n^cAf_)K z{~X5c9NU-&AQm%s?H5e00RfDmhA|=FROQZ5Obp;vSnX}F2e!f~hduBK>;Y&3WauRo zIS9{75JEYC$O+Gj&_-~Ny$*jK5_3neb2KU9cQlGL8t!$ToapKSA=7D30NsaCw4Vbl z>Km&VD_DIBfbo*oi3nt#q^v}=craQ-K_j9aozB(`fRiz7zbctCX1Kt7z# zHa=;r24z7~q%1TKz?h$d#|6_g8k$TrAwBRO#vKSPK&a=Za9R*4yt1NDhy&_X8Wf83 zLs-Nt%s9*}T0k?vKL&jG9j&Ap9t3v-{Ou@3W|;xJG>8}kMCrspS*5{^5FTOJMjQ?? zk2lKc@aUNdZ`0{;^v(*3911N%NP4J>RjVwh_Lm{V_GrWh0Qe$?2O@nx!Xpl7rrvQ8 z_!B`M{eXey4nPE}4??4eKv0F&Y08la*LW>_)W8$2Suud=U06xK=YlUVK)Ks7x2P|ccbEV!6x0Ip9cHz5YqPb0uHp+=H@X9i3*;_95ZFH+>_ zbG9e2-CYh1Hh1AuMl#um0ff8Y2`OR#i7_(+bf{4kYE(@JEV$e$+!M=9448+Q7-my2 zPa(jrP-EAufXT+T-G*ZmUviHgeZh%U%&k+BfC;XZp+@DbfFr)@6T$D@n^9}-9b*8q zlj1w!<4JhJbrO9OGh@YYJp}+>4jgkL%RoHAH&N>5F7+67YaB5GYWYGK!Vjs zh%^F0)r_RY>LT$bbzxD4+XtA?7Zy6?=x4b9pA~=?*X-TE zayT1)lU%>4G7lj?gY@}G51wZZUkl8Q|J?4?leync{!V^hPw@$?27M&FagPDifdP3B z(t}Ch6eVegRp-PRAY&=!%q2jI%Yd~dp>#_ z^PmrW_TI@}#2aR$h{518eB^Z^0zuUYfW(lpivMZ7{q47`w~wofGLfDA_a;q|1?q#EqC?;} zfW8Cz9h!v9i0A~!lYmK@6c0&l3L>2 zU$9=*6uqJ;QUSqhKmg4U1XZsCLF{Dm_JO-Eu1gb4@NfRRG$b)7z zYl`duDgo4^@EnHr5kMc-6oo5*jDG@{2t-p<93jP9fde2~gQO>cGy;L@t51TY5lCXh z9K^8@C?VUp8YHP&Ea_2AQ6NMLP1dUukWhsX%`rS$05Ue6$Cn|}7#>qz5>mxSAW0rL zq%+!wWNpi6uNLcoqoOGq0-;SH0-CHK1XbRl`a6`}*4ukDMJ|8@D;JQOfiwa^RU<&& z0?ZUrRJ{-n@lOCeAHxHYb^+#XP0>3530B=9(g*}qv7~*PqTtJ$05$=70F>Xl%k-Oh z7~YxhmKW?wH_5AHd>(yIK`tJ1=X)xHm>DzWM)^SL&@Z2ZXA&?Eo#%M9jgP+ttzu}Q zMz~G_FxjX-hW-$eRfnp$-A=~shU(WnT_0nwz2@{_^N<^^hf2{OHc$L67X1myAbMSh zaZLfBF?{t_u-*bI#9}EAde%>jEDS#7$&8jU$#r(XWFtwrNs37@oV8_AJ!0T}!M_mxRC7et@j^g4lHiHC%L zIc)^2gn;=><;T974M$&Uc^qqU`98+xCMU7rNx+PPXX$$?a^ucGl6~hZ*9VV3R4>RN z;sPeP`=>WfRc?G{2?2>QahZLF0H059%ma`Z6C);xzB2~Oh1gQlZhbJE2BNo%YvUEnv`dvUbx3Otq1kZpajTs-FaIKPD#rbZD z*#Su|@Eiv*AGxUU$tm=m8vy?_Bqm(rZul6D0=W!@RIzP=2 z_Y)!7h1DP~X*6PrIK*Rc%6g(|D25bxG=@lH)+jy#@i0g92(m(?@5hMyAVfMvvslv5 zPJ1DQm{DA;W(mb5)F2iyqXvld`RN)U(*BqM4}?f##7#wn#5II?OcjSnP1D68(szU6 z@Cf2PfIJs(OTkKPy_eE_MO&ZB?0pT(i{^`%)&yGg% z$m>ontv|W+tWCv$9&DKb&s|H+=r7>Q6Vpt95Zu;R@HYcA3zL7@&)6kyFPB)a=t^`C)m@^np| z?9kHBvi7WGBu&oX}R zxvtaqbIcx``Ml4Lo##QD5uaeEhMmWpr{Hwj@DFM`E`1-KbAB(JF6vWYdZtx{^MBy! zU!T3%(-_CZ+P53U3nQof^#iNg;DOg?0vA2$xc3xh_#E9^XNem5iG>P*W^;Py>Kx36 z`W#hjL8#{(oz9V;<%Q41rp*V_PKDWy$`8d)y|zc3oaApc^*O56S*13P)TbHXIXy~z z*|u-h7w~+ICM5I%k@Jj3-uteO_P{e=ClNoFnxkJig^c^O3fZBn5Xb&E+NYE!5Xq_e z*RwLTZ;Oyq*_LNsXNc%)oPUH=F?f+_KYBsEEPoOL*x)s1@LF*)1Mr8hKZEIUP)ckU zh~A=aNrR9&S$^x$3!)*DG(qOkJZB!@q{JXk&?>0;nKN?wM_;|H8lEJ%Bdd=7zZW(Q zU7Xl@M#esE8G?%xJGps)+pgcb?gEM?~o>!VUE%F90wnLHJyM8mMU+v?p%r+(ls1?S(s6d#sh#v`z0qytWa}GZ-R39+-eHTL?GR)>)X8-{=hUB-AfV_L zjKQ;z+`)t_tjmnwyQSqXxXoe>e{zf&fv4YA#v6bqT*n~7@6$uS3XmCpk_L7?df`VN-_j}b zIr3)HQWk=uch`q+rmp0$C04TQY%NfnRfIPy4efdnjs#tZUmi*I0@aR#U(Ia2f@#m!lR31YBAT!QFq z3W$N*3EL%lxm z68ANDLckcx0q_;9zG1v~IQ;+S-2)yZNi7A=3(aiY&{vx18#8!iO$*=7yr)_SA;)`ma*x6Db@1E~x^q*_v$>87()$!7 z1b>7!-xE7|wHl9m_*?3;e^?TbMH3@s(T^CuCZ_PLQqQ&Pw7hUZxF`DazFAqIAHC20 z*CY*F0+$-zdg-#H^pnXCrbT}GQUY%aG?Qo|S*$mn2+-%^b~qQd+BboE?msyWep8m{ z%dTlZke&t!ey0`u@$+dNJNj9e?Qp|VgZa_RzEra^Qs;{5g2ewjQUa40muwIyf^?9Dl3> zKL!uW?_v8q>@%g<`4TDzWNV+3txbg8^WycpU%dVds&jTqz4kS%4xZU5Pv3E^+%Kru zFIafK2}5EiXn3$4{TUB5tsIPi^j~FFf0Y$(vL@Q~6DDE!ZFtU? z;dv$~nX}+C&WIM@z7lua5b&Hkw*3t5!mo45KD8U~`LfB)30CmrFNHgBP%VouJs>$tyxaAvq=MWA-uDbH<>Jd}UIfcH#Wx?an z==1umEvG!I=R$fg&y|eLqvF`llt?q-B^y$K#X7&8P|3~sX8NGHmC$aPX{VfeS;Ja= zTKRty%ei2t&X;q!oVAP8Tb|yG`H#F}WNUI;@?noH^w4~SGi zqsdie2MS%%hV1T4Te?eHoNo~+GG&GC8}t{}N*bg?sTPSsSScJ4$~tdoU*5i4^>6wM z1BK2-WlQuKc4^~f_3QMxW%=#P2N;FWOI!Coq}{tRkXpXfy~2O($oCq5Zmy}L0?&Lx z4ht)UZK7&%lf)!dUtN8XNjkbhn{HlYzNjSKB<;PZV`Y=1S8Od*N=;HTZSUJSl+&GA zpQaboiiVcz=~|{seRT~-&h2OVB|XwMW-!%C^^iKUjgb?>#2{Wr^pIoxQjUpi7B=T~ zP#si_$i%A<4)S|=2CA7*v+D>eey1I?aAf!zB~~)gqnYbt2Gb4cCf+dDLF>qIqL)30 z%LyOHK*_mH%qXw-YR5%&*Z3sk+!|(_+e?>FZJZLSiQ|6r`z?f*E>CR{4lJ=zk~U5S zS4Vp2+6GL$8*kn7JXTLQ+1-RHrF(IAS{XASDyLjL4Xq+&xD_8K>bOA9^MK5UYdM{i zlkVi(Qf>VDG*8WDvRW`o_KMX4vtTT>U(}Rk;Mb+eg=RrhR%w=!SHl=U2{m0Ks^AU_ zJ3yHZT!r0H0$i0mPlh(Vhpgk8=_aNvt6$VF@i8T-4%$qQQC-{~GN7-dhxe?kUEgxC z_gDI>{oi+GSG|*_z23K~e^uMHzEw3>^hk?8X0(rCU+B81FDL~r7h3iR#tMfsm0MQU zhw&nHP1XwOyghR%ht46N3R@9AHTR%q~kRcwVdYHpQXkZ z_lmXYqtXukI_q{$-%Wv)nniBs_XCtmYRPZ>SJe%w8~W(}q3b1eN~u$gc|Ul8tQL2{ z;7U1d9F~GG;&-wPxVn{SO;KMo_E2+KEh)dI?C4ToRt?j}n4~&sYe7ljSfP4RN8xy0 zZ*E6UGkp58hBF-*=3I~1x4gBW;$k1;skz9!jrRLq;|vxScl@FgXDP`ZH~{jrUb>W1 zM->0_UCf4ebB8EZiaW)f?G-c%DhWTM7r?1rG_b^#?dEk-eYq{G{rSp~_b?N$^^#U; zlcXlABYiNnjTzaoxS!L(FBP?kdf6qoT42I9+Q}jQ7`|~tSS77b^E1U9ufQU*Rrg^d zgq}8cp2PyrU{;%fbZR+)QND8+FV2!QiR7Q--d82=lwy(bD!)ipD5C=S7~aI`XL<$W z?HLAszoaA8C#gLm8Ydj=UV4y%1I{#MwUT40^&bk_*0kj}U#$La{}SZ|x(htHrCFl| zO{@Bs^#0tj$hvau#-`;pOKMiNE%#j1zeJlenlk!MnhC3d<1eEcu=R4HnW(0lI1a&h zHSLvs2`62ao7ak&S@aq8COcNq?4*AylfSz zp{saCe&5TauZgl$6nHNy{$=fU%(7eoMz91oZ#Em^e^W2&Bp`5gX#CTSnL1Mld+YZTkqR+m!x z${Sb%ub8PP8n7M=R*vsIY{z|BO-oAG7}8-m3Tm?IGJCR{MBrY)nwG2_7uJ3JtL9~c zH>$rQUv0k3Ay#LAWr8yamYMJWX=8Z*o;y6WncYl`frYhwc#nY^co)-B zU74eoXj4bQbhn908J}nzTvA7RM`71BCMnE|phW%%W~eq$M*Xu?vF#7-U{NkN6U+zf9tm+EVqo^_gy7OIpveHplPU8H=b}Xos~>fX}c0g`4LT z)N=!TSq_2(_%5DT44x{jm@)FJq~7m1b6ungbCIu^?)qSbMO1ZcANH^cYh(xbEkZl5 zR@5g}WOfUkv~?S4&SIRzFk_iLfy6>>&mmHss(jv zR(`2ul-H3noM}x53k#4jzAj}nMR~!{*lygJ;o=!7jlh=PeYqw>#gjk9QL|Tj;Jj7u zerPmX&NWcu5V`b_)pTpN?gA7JluAk&bB3HdNE!IZfOMpfb0Jg^p_l}0C}^uq_t34R zl5FCPQHIpEtYL0l+8{NU0})qFlgQ${y5R=(WtxBOED^M?s=cDC_*d?fT2bxY{(JpD zX~`V8SGIHnmbhDJVPyC^Gd)ar1Rc~Ju)zFopMv6EDa$yfoO*;gx6u-p1LNBgLsg;0-OfSpwi`w(O0vmsbKfpB7E>a`t z1V+B$DFZh49A@5mkE2L_hw@Jq|56}Ddyz@2PAr#o$A(+#cu>)pI= zu8eQzImO*V00meZ1{l6Gf0f7Eih{-WX~fvXxb+}Tx9r=Y8iV=T0A)+u>S z#Y>Db?CBlXZaKCE^W-YChgWyxlrCw_ZqC%ERtQbfy1b_R{(M+Vp5fNsi(3EPTBu#> z$Zbs-zPRn^b6CH~er%(}jhRw55&o#_*I!nAnB-Q4!=uValDwl5i4 zTE&y`-ECk&l_|r*!NRdr*b9u045N9c}qtC^RKER%W)Sris>*DiQ>ANeC?NCVh-9w_R=tfd~K?-pgGf=TbI^M)Da!H zf$Ha={i+3bYoGaEbiec zc@>!sfp+OQw~pH-tP!D}W`PMjVJWAAFi;M*iS&tTmb6Ja(z_OWat)9pjPaY()U@l1 zXK?j*doP1?QrN})@~NASdDo2-T|yHN^{NAY<6QMeY>P-wv)Y)7CqBo_x0`c)OCU(k z*WNmwH=gOZun8RaApWotgDA2buOc z>(U-+NvfP{EzTP!U=gt8EH&H8uNHLhA)2Sv;tF92Zo*3VZA=}?pkPi+U^3No53h&k z<1}$hyi(2}oVazpeJ^5duyN}y_DPzSG%X)qW?fmD-SuC1EEkiEgfiGm1ezu?(WTT-fXd-7n|0{eAdNZ2T*%`eV#-Q|o(J>CHV? z_KQr&b>G%g;J8U!I9RAFFu}i`0&8K{;=29p4oZ1tO}-f-S_u4CRNt<=!67j4hq+49 z3Q-%xXakH>;1`vtFh8WOkn`XUHp*el;-=*uGuE}tBOXibNg0Q=ABBtz#z=Od(Q=en z8z{J11twX~cJbOdcI?h|W4M*l@!%Z&tU?GD6bxYnn7~oe$7zLd2gNCM+)*A%6H9*& zi3IraHqjf*8~7XaUfwu&T(FljPK{H0b58!t8{g^39M2d}9bdZlqK?IT1qSX(nC5Zn z4e|{dYVKY^NB-Uwd;dP3VaOfkR?|vy3}3ggm{ZGXA;4axTR4qy2sP~WR(u#mdrSwv zLRc!QSX&DFu8GmY-dXNs+et;HK0~p%>I7GR982ur=#oVL83*)oZ-$v<}<{ays}vQLk7hHKaGK>IJK;yrBYeOCQLR!#qOT z1lFJx+vsGs1E(^^m~Px4TM1!cZujDHyb&U9jks7clwO?GcTp{);M$gUUp&Bc7HSp+ z;BnXDfkO1JbA$aotoY{gLVJNfeU1BawDO}=Ky{QdSYD-6wpXc&kL{G(ZKveB?3D3oJ7t#HsYie>l zQoC9y)j%s%(b7s)z1&KfFs-hY3KR~A+$pj`_ig$``bC;WorShSO)=)Y$zGr;XwR3~ z<>csIIca}IPIl~;lZqy2OUJ6@q{}2HRVnTH#`N-3NZ`44GLTvcp1T&}W@PbAnCmv} zA8I&huu0qvzcsA1ruRa;&@X9~_DH+(Mzd?ObQf4Jt^RrI=06W}hq=0xlGI*-JoBA* zDzP^q;vZlj!pzWo$D3;}Xpkz>Ml$Wv!Po0>eTH7#zU?Edg>Yv(PkgWIkF{Huf5>hX z3>G~1Jl&bvE&+#6j}Q$Iu9k@^h4Q0EsgcFCtA+|?g_@Tglw+5JD%;Z4yxq|2W7`J?By&aVADGB5dtxFzxoW({OmJC{oZGY*1o5S z%6Fb7kQ?$q8muFAE)!vKnh1HjiLk$9BHCUw5tX$jqDf~WiaDC*1B7*Hv-SW{x%B|J zixT`{H?|B8HhYbetv}q3DM_^e(in&VOC`N*FlOWbrQ|tiIZCsrF0PgDxv1&p)=La8 zR8tL=Cn+yo4_R({$5 z?MMIaS7Bwx=mxTu9Cenu?@BlVvq9t6jf zJa3#^DjDYvFP1Nsr?q97q{G5qaW6gm9@Vy!HVD)Z#HDqzCRahd)x}lwzPIhixX@7f0fthH)Hlo+9h^g%M;j$2~*wD znPb1CYDL2Z-FapCwfXJ&1NqLI6l-mTWjAY_MCSz0F!#>F+MC@^W2m87q`F1*gO1l} z|E@3CmYdthDhM43o)%1E8wZ(JNN*eS`(MDDM7}%Ciwsu{77pfgy(?_a>k>KyZ4CI& zr`p+_OEpD9H+KHabzRHls-LQU(C|~m#rF4~1$#M)u_Vilcmvr-2dI%W&G^ce#r7NO zh4ObD?BP7~qMH2bTt}`U-QUDFk)tVXjE5eh+L$p|h`?AsTV}+p8XpFSfm9I4Cp_Fm zj1yXZ)5PtE0V04qjd(k!ezBdjJOKyS#gnDVDAgNJVP@D<<3ck%PWT|Y*S^LSbBy@v z5?sxO4N0!ouwCRRIm{hR8BDF9#!&rH$OKQVmA48bV_0Too zXO)<<%7?Wq_B_iq3;H3s=w}AgyE0o(bipoye1%(`(Um7pQ|H!YIu;pH(KUneolAY% z_pmBbM!^}GNXkkm2R+IwNv&Ai@a$f8AG?;bab3R%-3D4IP=_}R5#loNX_On=SlxaS zuNbN)Dl^+Tje>e%ZN5{W;#u<1WkPpmu|&Z&QYx~O(qwpPi^xf<3Pu)Nn94M#0A-)v zjK18;Jambm5zA6X^4w&%&`9mt<>I`=RFMOsM%pj(m@lyuAIG}DzgFyM#7z6Cfn#rA zrtw{vMqpw3Xml;?VWZe;kdhOf)Rh~@;lR;05yk6_h3l$?9mjXg1hZF-Y9tl=Jh7kjFgz4a6F-Oc!>Uu>$uH@$)z{$unX zJD+=sJ9=~%x43&3_vNF{aNo2&!!>EDxz^w5Kdk0H=hky~eyrz?9^cJ%!SmRGJ>1Wf znCZ$26K4L^yPGjXE$Mr3d=J)hP17ZwAHToqNgMw1Lr>lG?iGROU&6fKEfY0>+pSE~ z|9AP)a_UXdqf!~aow4ydsR7QW8;%Rg#4QjfemW$hkEU3z@EoXOL*OmZ<~S~^djhL2 z!>Sk6<*65y6b>)0`?2Y#O*hNej$LX^)m_)KLe|iRt4Q~2H$nO+99cb*)}86S$Vs(XP!)NXDISHabYYngUN#jE1Ecy?Zc zv~pSTno3yvdSRnjFR=4!Ii0u)Tc>6Z*s%c#x?xucM}DUybr9`ChH#bcX{_QJ$7amO zKo$&3SV4^8qp&+A0f@SaA#Y;4;BBnq8M@Z_3|(@SHoYyYhv#|5MIFo7Lsspxa;mV- zrY$H*0yAKM+}22S^1GhSv87jX%a)gk0u`L*#SPj5TWVEy`w|PsP8yx*a&8Z{&WJC+ z1AUnQ{uL4=YJ2c zHam05L<%m2 zk-Wh5ojJ8xw)9$w`+~sI?#vNxIlnC5#j9P?2LY|CprOECPz4TZsIYO7=62hSEqSWz z^tp<>;(R;AmO~JXbza(XIe0V_dMehI-Q0JRCEuIt&aQ_b$erDAW%<99F}A{nOEkA5 z$tbpIyh*>veoMnGmYavbiw@*B{1*goH}?J3egj0d5c68DwP%B+6T4GvsmAoaT-k(A zE1%Ha@(5;W#+*m60D$aIW2%1`!SShX^XHf4cjsw-Tc6pouHm|d>yU!wH`)tiH`;Ho ztm)3{1C6>f8>D_o*>b1YewRg5&ewz0)3B|Wmo{P>tFT6xJqR$Rs%&IVW!KBDw_WeP zuIjqlYwg#m{?rHwKxa;SzCNS)+L62}7<+l4k3NE^= zwUc0{$va!I2FP2`UG@;a@mFQ}#ZP`p^@>Xv&37%vRVl{mWs$ zq?)89)EL!Et8>-h-h7?+Hw>$>8pxTjWm+&36~uU6v#^)$7b!Mjm3cKw#{NUcL+7gg zWA-5AV34yD$ba5ZPuL(lT-}Ow5gsw*{`kX{gp5BV10QF{n(beJmuvivf6o_~riopJ zp*y8+!i}Zf>4Jl}QL-APT$Kd68g-F&vJuXRBF&guE2)B&wWYSCX)@Zg>V=TAP<>(< z)j$qGu;+y=S5H@_q5D~Mecwpi_+Gk^*3&~&3%6ypbyqvvN|mH`2|W-ttnb9D$YQ2g z(n!}6ee3}Ec!&2*n;Gi_FGru|+SUFVU}gOs;lMmL?1(S4mV+Vhr-wzSIVafgg{AC%F) z7iF~9D5G@^P}j(4`2iViz}ugNzWZf#!)~anWpud~pz!FoK@Sb|^pw!8{t`$^4SX}Z zS!ke4yy}bkC1ZR8zlj+oOJKf=Asr4-ekQ*f^y+^Rloce3p*SKN(H|DngT6IJD-$ov`{2H=4IC+hW+)_8so&w3O5R73;yQDTB zHd~4t)6m`APQI!D1qO||w%;^JA)n!*Hx~&BaputV^^kJHa%Ht-)?eP9)eXB=R@k@5 zH4$!>!$DN6wS$cAJj*Iowm#RgrZGd2X6FScBj1<`3koT&7fymESMiyg==i6csItik ztwm0#jB>(fkQ2_Gazd?_6S6WnVSN(bH_3_WC**_;-jzU8UnM8ZjdH^KEQCF;LZ9Uw zIVFX?x!N3AYYAQYV97g=(3Z`c=zd9sP|0h0Z8v*$4X3kN$42e~f{&pRY_y_^>JzA> z7LHpw08Uv?7c-4wSBflsBu#%|)olY3eMW7TKWku3nP@1rSQ54snq3$Q(L2F7bgvB_ zP+4ImB+lSWQ);v9+3sxnzd3VT^4jw?Hx2yVRbVVc$@)OPBF~;(l?};$-oP3a%nl^x zg{~IN22r{{-}39)d=;2N|INliWIo+yeCWo&jrx~x%}uI*41f(PRt!@8CqAI+U;cn< z(|fx!`1NH8=sgf;kQ_f9L54tGXdoF7Dh>NPs zYmmC6=-LEqIry2r-13~p4E;qA^5&x-S-2EfU?tkD;3EoP1*Ed{^1|Z38z)v6-K;be z7=L5gf%!M8pgEBR{crt?m||_W4h!gTsIM`mL+W$2{ilHqD9@_R@5>!}3~NOGYYlQX zRoQ(RHV6{RU`O=jwy$yh-*#AF8SDik5^%#vUf*||xn&)na@v^@u8m)x2^$ZdZlN1O zty&10O&IzyLkGVZ;+pWtpYJeMhXffuw` zF=JT*?vV^o7N(Z*(p9`pN|DztQlvo`o;spPFP2oo(XL;NVxU_1*PS_pS7B*&=sQT# zLzhs!?A7bLiArwEHF`(^0_nzdTY7_3FKFjEN3#fM73MEvOUfc)`GswcZWUkqa~8HoTjtg4%_xXDKn( zy7gRKV+1JQ_Hc4Mu=KYCDBdTa0L-a)zj$R zh(m})25>j8lJL@HOr@}lDW}SqTFwZeAe>4}STR z!>PO$S-yvoa6QpMtOejg2vKvbNi$g?n2;ALC5m0Ukl`lSLJ zDY<{F4XgMC#MO+f>rOM>10KgA?tfzy1e$`5!mcZI!cCN!)5O`04Q}~y>6((OtUnz7 zPtT8fE*QMAqZETc_9;yJ!-_o5B6V)tlG3a|?~m=gPDqJduOKsrkY1>kFwkoAhU;#&9OdSzI7MG@w^}=FClk0-` zIgnb#s~6S_+nF+OBaL8U+eIV7%DgI`g@aUU_r#3E5;2XefE2CRlrlC3;*MqOS- zrZPn>(DJJVWfp<{==-SZ4j(m^Qz|hF?J!;7_rgE=+Jdlxn5IW8Pt+>ze92uvH~i`MJSf@ZFoMnNs`=eOmL zl1-dmwpw>hS<_NI?H8$d%+p_{WeYv)rp;R~Nx&)=%Rbc+Bq}^%Yma_usPO(=| zD=L%JW_9Lha@!$9v4NK@ztIH-Ij~{iW^`9p_7gwjhpZ4RvWu|d z)$9(~TMjn*8l#^XOdX`mG$hfKTHxcD_8aI%n;@Vphq)|;V+^?=g@W#$l%AB{3@g7P ztu>`aVt^Ub@k*IerdQy|?MbQsNRH{nojKikorOLR(>}oQ^b3^OAZ1T+6)1>`i!JM` z{;TqPGOfVGtGKx2Z@x9=%WAe`kceNU{%zeohuSN!szoxsEN3KhZ}+W6+&&SDD~J~E z>%v-roAxq$1YdEF)B8Amiy8~$t3Gro*gi0EC44p8aQzs+jpLy^@E&aSokko?Gt(#N zOb_sjnSJjX@keo42VL{{|I}qxq$#&zBcJ}gF3-27>E@<2N)qkZWewn|8rh>*FZ+e6 zJHHej;y-igmYkPAKEyWDgSZ+Ft&XgQdFaU=7J38@fr%`IBz$OSAKON`czwC`#6}(I z!pfLC?*J1{4oF7w>MtL8clGeHjwhbM>NC5!3a*VRW?b73U~+CL$03jtX?iwn0a(C? z&A`73lY#CYc0Xqg|!lYKKfz=-HswR-?G*QZOcR(;QxyPN87|L zY5*cVl(kxJM)#>G;;1Sp%ddyvsWZozGX%T23?dUtzT$WOe25P72bMQT?b6P|?zQ!6 z5eLN8UEuv~@!wIrg2GYT1{+9)M7pqh6Xf8EYxKMM{ou2#D}DLO8+`e?g0}qTys;eL zwVvFH)rOqj43pF>@X%HY{ZK^tQ*B{uL4W>m-q`g(b$wl)L(rOneoka9Y`WQ6*a5YC zt?9O=eD}6`s-M#+?q1e@g^e15P^<1}6V)sn7gmdh)6C)~(YUZi(l0TkRAi0|!7>O3 zQ#<~{oU7%J3%iG1L{nBXSDT8yg6pMwNG&x=4pKlvso9W!qOW#kI7;_w8I7P=(#~kW z{dU80l!IG<3=X{bo$I>5Y*o{SLP%3N;B^Tre@n?uc8P|p`{RqbyH{(kdSm_Alk`C| zw)ju%Xw7M!jA~kc)4&xYX~jS3yxx9+MbZt~reEaetn1+! zR#v?C2itqi)Hqk|H&cpMGgzM<3*MF`d+OiNjamy)nFgU2WMjpm#tR3ouw7c5r2-4R zMvFHSb&4-2*}Lm|q#igg2D|~Q<$zD-bmEeYLy&}mYvB1MZfTihDAgkJ3S|5MRSyAC z32tV0aed5K4!TZ)8t>=ytZ2FxLMo=3F3nf+dLRd!_z{l{qM=4{JExm~92fIGZyu$)3Q6_AfT3x9rd8ue+fcf?X{i0uH*B zRMWcbVQw$o28(apyAu8Ez(ackzE4-8n8go)ubZqS+}N5ss*w@S?&7N1>z2E)A-+?6 zTU}lom~Iawf?BGLQ_6vil0;i?eZ4S1q1eOAM&Us{x8&dzmV2$0m$hYeq_!~wn%gUg zE-vJnk}hr&r-uj2MVK?XxafPS>WpDw53h?03#CZ&an>}lVc$w!JTKjn>7q_`NJQ)N%HmW7l@)$n!H(foZ zDZ~83nEz(Tb<6%{N-;Da#$DUlHM>i&Vu>reLF&yNF&VI)f2&Aim2pO_*Vjr$xJ@rz zY0aq?`?4yQwdk!_>6+0iOZbCVfq7V6{hh&;&AaPwxR#;%74_zvB5uRR}K$dtD&8_;6_Cn!9bQvTA!)Ou!!pO6lvX; z+tU5a5ab!QOFIh(L@sIZsz&jEs4@*Qj}$mykfe{Kb*FWvx>Ga)S*l$MS=I8sjD{4i zxHHu&)-S5MM0I6xmVVJtPFYoo39C%2-qj7+Ne{S}br3EH0xQwiCjrXK9wEvkvUKm& ztxir4oH!THnQL6yBJ8ff8>sqB^>#|X$hoNc2pLEZpuA^=BF!l-%WBUzf`M+#txBon zLco!#$gCAXMg(DmsvwZlo)1~w6)l-AvJ-r~Hb=cky-1fW=jsZ~i%RoNDGs_?UzpvzRNk! zbIxV-@wmsTY}bTZXCt_EaCzECL|q!mX!i2*GOfo0X>Uj<^4_k z=UH6ukOvM@X`=Bn+a-nN#Gc3(ll9nw_1g-bm-_$Z?Al(!cS>jiLF>$=*!v zp486uQ#K1I{1#hZHE4iIlA8&QDQ>o$G6^l>f>3w0?QmtcY`n@3&~mJnz`|>d)`h8k zI+2T?668i?BdCm`Gu2|NAigzPC44vLBtV?woa>F~xE(Hv+QlHQvK`iZU2#`nr|v*# zcl|#cQ-fPWV;NCP;229?()$89=1ZdneuwOW2suH~9Inp|?rQL={1j0oO^7Yh&VT!U zq`1p*TkG##54PMBdW)8 zq|S=*BB2h^6TBo=>bn~+*fD5!CoI!BK3p1bc_*e@vx!w1K|xaC@4ZR;)RTnFSWA%L zESJ(D$U87wwe=~Wd8g9nga&)=9 zyS&>vTbyo-w!}(lT&x|-FBkW09qTTJ4;2^eEABa^)H`iFVVv|z{S)P*!&AoP9wQw;+azWo+Y9rX6Ob+v zP)UlH(gZu|NG)cB*0sn?bGIm6{w6gltO@O+nsAeEru4V@A*3W{YyhQED>xY;0U6w2 z`GpsGA9B~lHrjxcBRFtpAYF&f97SWotRPn{FbdtmFh9@Pf;49f5}!PD)&tCkZxP&T zYL=Sc56Q2vNXc`G2mSk+6IoV%PCpW+ZW#x_Pt)^jr0t3uevli7yvfXT5^n4fJf{D% zqYHU>`bl7Y9;@JN;Knr0dmlW1Kd~&57hV9htBlKiP8?sudXQxdKc~v!Y1D*H)-#V- zFz>W~;*o(KYZCp$yaf6OrdH%8d7;B9ZG8nQWDDL8S(}WJ{phdI@+BemRYJa(hBR4C zbd%IyH*&m`ElTfv5Cn(;8WR4-a7~(9c>jTOSB7_;yE6FoM%`Eh0;kSOX;eqj2SX4X8Zi14Z}yAi_cw5Eh;aUtvHCEk(!mkQ#4JSH2&6i90+d zKhZytU6Xxv5x7ZZ$i}>QD{;7LX14!&9+X9@W2OJ8zxxC*9O@j6ZR~1-6v%$XN1AS% zpe|HVas(6fu6@i+GLrPHEFWprAOXU;Az8^o`s-xXI7MEbgM^uFT$24adIVR!`y8qh7w3|S#G95>Asgjs?aVpSv-(Vq13+#E07j)VN_ zcndPKb$pMYkUt0RcA8%TcPHUiDwBueOy%!_^Y#_YqiFRZra(azYD)1QK0Vp46pUApr0H`U_&>i7$xShrb}I6kiaXf9eoZ z^$yYfe23_;c8KA3+eFoCZKB=OCRWvLqBiw8(evBSiN>uKF?C(%(H1f5|BRUNd`8UP z_ZczQ{gmkabAza;H;Cm@ov3@WPK@TOMAeg3qFYuWhCVG5yQcSvA?5o-Yp6tYJibB9 zum6#livN-5eBh77%GI7{|3K6pNRR1RkU;P@1ZX3z_f0@8kOu-_lVD~0X-ct^)u$)f zS`nnia6TZoU+l8dq8ca3mUFzkHn~Zw3E@0!5t;%$Kl=PbB$xAP^5&;~kYUK+WGycrCVu?P4i7F1}_-cH9M- zgJo64vyCd|I^61|30~&11Wz*?*ava_Lmz=GA&ME{9Q*JpW(?bL*1f&p+@vDKDo7uY zPqtUOe5=6!_x_8|0~KBkv^Y7O4kgdYM_TuyILz|Hm7t`^N#^ZnKwsiz!l{zDIeKVc z+?bk(rnLS(NKjBzbbxuV9m&I5Ms`HY&@zyQILoq6nejUyIj5t7M;pxoNroBkh2F_7 zYSP*wH+EBi2yH3!XV9*Gj6aqnqJTx4+@(h8eu0(|rEjpE{3gWha(W&jb>#H7pvCAz z4$=f^T#^{4=&2jTBs>@NKT>GAA;=j(s)mBM$JM|JSqFmnd6Jf4Bzf^lJR&n$mJ`yO zK8BFDO8z21=}aBjM~U!}Ai?~*1Xfdkjhzi)V=a`vNqxXeb>ejTH z200R;(c_vIn(zdy>>9-KNpSXf9n*jXHE=_N?539)-UU?lqlYiaG1mnP=m~#8%#)Jz z_p!_0#QXq72h+GFIEw<%9{NC-qblgWg}`WUqybHcSFa!;3?n{#xf1 zTQ_FMqr0BE?f_OmslTfm`@^S6fpr%t&DgrUeN=sT>z|aoq#(?4{-6(`XfW^q$(6Pd z&CE@zp6?c#rP%<|B8!`XA}=cJ&$;KyqB2CQVHWbma$%gO9!)cf2iqd;?mTBGZgcZO zNY};11tSNt#Ob~yDQF7dvY>79yNl)pFFaBnx*tUEx-2D6$tz0z0{NtWr&}161jpK< zI4??9#1QZ1b7saLOiSUSZ)GRJD(hMXl-{iaLO{A`e$X-EThrXi%t#1*( zy^wKH5)$ic8AYZWGm%Wf>P%%!$CXi|qz!hB1CK;=5zw)MHO^f^!h{twWNJ}55nDLNCkNJsdhI$kZp-4NX9`znW zwGBqj#y&LM)>*jQX@0@RXpn1WLi|O6?`3Caln@3%(8TT2Avd0cELqSUM-fve-_Op| zl{`7z?q%m=hZyobW zoyYA5v{U}KzLuq0CybME3aSX^f9)2dWJ9nqVW0AU*GO*}4`->6I+NODXpo_6QL~LC zB?S$91K*;p!!@lTRta#)gYs)jMvk7}r55oHZe%1x)_^RlOh$vN7HqQOJo9vuW~6(i zK~!otY818^a5XYfiAD`uG?5mp9}#j?+rAvUs2l|UK3;_@gU|uRcoVzfcAr3LTi2!a$sRTQmn(UGVjO?B8$!!7E~;tH zgPj?W6!Z`yv=W)g%vV-?tB(0~G2DbS+hLC+cGuuUh~ZeN&!vEgp5t5gG!B;bB~}AV zxy8(UeYtW#bxL+c;u_hwVpr+9%sGJKdew2q7$h*<&RCVIg5=S`i0rMd1!hwd4)VPw z>~1d}rT2<(i~?|mtssh>^`bgJl%K%(C7OX?BYH@NdvZ$9yTWr73Tu}Hk!uT+j;YwB zPntV!psq8k`~=ek2RlHlZr2P#P9;F%928&-OvuJH6M=uO>w)Jg!+3Svw5{N*PkR2P zdadTV)&#V4OxdNqOEp&}PPO)>W-Syu4mphyEeDO1?MlP7xocC`d9L?dU%JkA9ppmS zMy_pK(}S+<_RwyW_lMkl67sp7Er9_mAu;e{%V=I(+w*CFz-YhYKy2Bx-?n60?wmxr1j`-+zsFBa zR8E?fU3^Hnjs%tx#|-?2bbX$w*wQATNIPF2@P~-4T_J_A?H{+2CBa(K`?g{ zZxa&!06@iv2<6x51(Ji@Aw!JG*9a6skFX`kQ6cAq3|vF&QCruw1ifwPeM?}PbWsBn zAzW-%gx}yLC?-h-9@{es*)z{Xj}Rgw^-05cg&(6^<~$XseUTe?oQ>bT8xy<^HF9878ivhl(Ql8yms!M0E{1<&3<2;op>$w97=x0@8Kl;F3(bwEk6D~txuA<8YPm{rJcJGc

}tgfn*+@i&Fw1$#&qiiT(+mDn9J92_{PC^8-4SGbUvvl7xCOSad;S!Z_0DS_rX z2mJUtuOo_W*9Mf>DrQEMqw@T~0exG7*Bco~GGn2ms$+;ABdwQ@*JE`U9(slmU~2>( zNoA~ZRB^;}#5MlEoy-67=!e8U-Ewz@8zR>;PXiUxPcw3?v<6;VeHbXAQQx9$KK%#c zkP<$W+~?DMMjHOe`xd4YhevkE2H1`b2q$hru}>A=Md-ongXcgA&{WI@K0;{VO{BY9 z5N`$89#TOFNdWYy9YzD<=5-3HX4Z|Nkc)2KGA)~FvFr2@8TwpOX3WCOu?#Z}=|BR9 zeqJ*g5}7zLI&{&j04)Ir&%#vD3!Dfm#nv$fBp2lCeN0Y@Q&Jz}q9?M))o(koP1Y8q zdZ?^kPyL%(3L5&Q=>FoK;%a&K#y_ic;F@qe_qw zP}Q!TjSE0Bsw1OPMF{E&ScHl=X%)^doOgIRE`ExwA!cwIh%53~nH(g0FCUO% zbPHvGCGc?P(^c?d>bq3ZcI`n-Wqk;%IUm9-$%nAed}1LpkMsZ)Zb>i@BIaHq`azzf z7ATqO2|FVRY@h?jw+ZYxGhU7%)qjJMeUWa5Pnzg=r*WGQPVp>w*?4a;#8q%ioC@wt z4NE>b0Qo>M-i07)il_Ckt9c zJI+Wl(ovbr2F*EcC+lz(a`~~xKtSLTdL*d)qO?>XWpIh~Pdj9!0SLk0IRczexc(EA z?Hqv!QYg5TOA|6^WCLv1II3fc!il=kgvCe^>UO#JjBE`#MTHP)UXk{pK|$gH4aACQ zQKeAD1jR*-Y^!1u@H|n>-i_(`ZHTDlq$swSz&pr>?L%b7+L?cn)7xD8*cMN_f?y4* zSXEN8)Z}@V{8>!<$&b7||7eq~-5tKye~EP>xs>LrXYDJ-W%;fx=iiwp6EwrGpl zWJe`M=+q(XCZRN`-n=irUp=vPsyjZEZcW1%7y2ATarzwh+~$lKQX(_Y%&Q5z<4Uo7 zxh8Z=oFn%6nlQ_<3ZPrRq`#|=79%6eYR)zV)=|g^xJDAnyrJLK;Zq>;=AHZj-LTdh zsg4AQ;UG&lkG4u5qBb9sxAEAx_ah+By^53l@K@JAeqy*qRISGDYCKQ&8nHMtr==Qi zZ4I3`3lHumMxA3>EwK|6xI5??qMTk^Zi^7mD;05liCOF%kBjq@*_rf|lO2RgV8Qy!8yGVe3To<;;rQx}Cq5bG9DAr>F9}jC17!et}Zl zJ-#J{w06=h@sD;Fjg!NJ&86hdtvspn5i?o4B=8!hPGgQ=W3H!{O&$>aD^~x{ji?d0 z;-J19lLWr}_u!OzwmcS`Pfr<1aY&|iXn=xbLh6?-e2}bVG}&gJ7j>`@7xR_cNc9qnn`f?(ORf zk-f1Kno+d{6o2Nu+b{p<5rxlaThL-qF`0*4N-D7*yX3u#gCq*B_Sw8Lw0|G@}0AsO)hbMeOVZSJeK zR2-fTH^72VeqDE)=_=DziDR8_l)h^@*n97vtcSbl9~Vw|-u(y7s0uRPk|41vTdQ0a z6C#z8Z@N<$i-j;<8z}x|y-Bm*mNris>3u8-_%cF-8X_m)^?Knc`vqQcm){meB}yrT zg<>^i;%<7Lq`+FANu1A79lbPW!rG6&0-&`b4}?`}fT*GjNHQuk$^HUM70AvVaXS@dLk7Gr}i|nj;JSsWHS%0L!nWKn7H~ud=KI!$S1|9Q%(|P`h<`e z!Htlmsuq-cAgUIiNTC&|-~J_*qE)GNk^^@W+Koza=c7+RfaYU*Ak2cea3yn~B?yT^ zqUyNoR{$A$NH(u&NIMJ@T|x4Y*71DAwJVUHYKX{w8V>dDuuR8ji@eS8OlT3=e728VMyF6uO{(X)&|=?ZxtZI=of6QDpyet zp&~B~4Vsmf7Fi)7+&q-O-YeduqVi`eQ4Q{OTX$_{gsm9I5P%Eaqk$^QwjQ>ChNbO{jROrQUc&)S~Ga)tTH(Xeza2nlwoUbQF@Pa~$7r z{42!Va!(bL-BV)6grSemV-;=&mw)MTyhGcZ4fdo&U_T(qqHv{PN~r`VnmY%+*Fcg6O$prXVg4rHzM|yCnW%C*h_jP7XejY$rr6^a zT;+FqppX0t*fvri@fPMgo47miEC_6F05yOHYDWxAfrNLEuZfauxSdv! zeg)-h)rZl{q05g`ig=_cg644E`z~nzqkpzZ)Q=1zXZv$WV)@BG0q9(zhs&6;V*SG-^QQv}NrFXo_LW-~wv5xV*_#`SqV^_Eh2(M6p zqDJbyt;TQNo*ma;I+Uj8y<#Wy@=f>+@mC^P3F2b-4SXxQ77_%8NaKiV33`MK&cgJ$ zPYfwR(Z+;&X=}lKRd%m^WmAFG|0A;2*g}&%2W2sYA5oO_W9&t^TFDG znva>M(<1$$^a1<4ol)i%neH@Gp~l=FTv6b-_$pq5*P4y6T&w{HLG&CSB4j!W`>d*homvYKxDegLOMKDVunJk5klqf#ZgX^*gol=v>(m#hvF?Bnlq>Dah&^h-Gfg6o4{fP?dO59B0&}6efr;eL2a#u z_bM0cW8OV#w&7(Z=!g>Hm?Q=9{_vqHNKi^_7hiU$HES602&=4^Fed4ZYer3Tvc0kW zt=Yz&#%e=qI-==*1W>z*Eh&V9f;M-P)t}6c*Mzdi$?_AffFQ?m@eTZdKtXEJyy`E3 z8yWz_UHU@n&ftpk(#>%t4;uAjz2E0SN`NXt4da7J6;rd6*kjZSY=^aGQVm1Jk(*TK zp{77B(DPAMJ=#Ed%m_hs6PWQ^JoT#--A@Ao8x848Q#92ybm7#{(X7=4lA|?Fb9BhG zA23S%6R5Ds$!fzf+|~<%A>L0z9XHBkBnom7pzXr)aP4jqg1FYjkFnG~3tTX1vVl;m zgs>*fI+};}xJy7kaKAzWi2mPEgb;rnk9wN);5sqDjk`^(wqJ8&$WWl|orZ=PwG$}f zJs5(srfmUm4BLTZd`1$gxpeZg)D89)JTv&YC|1OyFF>Erfa(^py*oJ(pha#e2tQDg zKm7DQh?k<6pV%bkNypA8@xj-g0S+?Czi2?_4My=;klP(8GvK~30rMXF{N|xHH_ppa z^ICCp#0zNtJJgV(fa*=!UFpud>{Te3*Uf4x<@whvQNvD|v2cH`5P+$lk_kZgH?2|HU&H+!iA$ zUXR*hrvw9zYrG_=OLV&*I{Bjik63%&cp`aa_X;aJzYF!&fZ&Z&NPokvj})5qKE% zJEsJ>J92Bewdz_AK2=!>ELBq=2S4Un)~!@lED##I)?)vW5ck$hcPUQjE|VQk?d<&t z-?-awMzO1|!|IO$i|99JV!r|=8F=GqkoZCG381+1vk+L1;aU&kes2K3`JV^wY&;1* z_JH3#2wbUbU&%z^wt&6Uv2ua;~CKS9M`$)eHBo_({;gX3f!4n zE2%*54%eFHcEvA2VtR0-bJTaLv@@_Xx8_^bt+bYGOOZu`4OACfOO+K!PxQ-JR$Mj=?W z5}hOMlaOuG+6+JBa8ACG*Q90nD86hbo1wFc;C5cJ~x0B%HvUl7EdIRgO;B{$+C zgdjp*7egE)4cwXeZ`bkEw|XOn5r+ukW`2uSnNr;cTC*k8PxhbexU z!`zA-<{M z=6es5zk<2KSooKi;sGpu4kUCSe5v8kKvlu7RHtsBTYv4LYK)`BrU$%u0nEdm1GFM|0RUvrg$urSA`7 zrqhkp(3pjikir9tQ-^bKfk)1`?v;HE60c}6h_Ucn6encB^0`Nvk7DoP7T57IYDZ)^ zq!IX-CQM6C3jCw4u0+Qu2u;5@gpvTwuTD6B{)aywe^r>LT_pb^406Xk*P|G7gev3f zxE^TfTAy72Cb(MeHB;2S7eLSU0%-RGpw|un^}7MkdOHA&wgAvP9sv6L10eKgKgho4 zhul(e+9$TLV=p}qyiy2_=~>irsM7_CkGeqlRu?4PU0{5y3y@441&}NhdHhT$f5!ac znNH%2(sZWbJd+&U4Xu*yOkiU8!QDN>nZ{}i8s+-w%w>@uCw^q3nS>_I1uQT+SdJX; z@vD4=BtQ$$N*`z;XbylBv4kSNxFje_wtUTPi#aag++;K2cyCm&=VB7b6@dC z_TQY=wQemk^;EUME$p6gtkidPcBgha=5;^SF%p!XE(qLj;q1+SOF)<|BdCF%kf`6Y z`Q^dkw3Q9rC~=)P;P@yzoU8&#{lv3i_%1tT#)Th#0;^sfTCp5-jdnXnG7MDx&1clF?Cct~(x5F&&WfT)etpj4?X8j8m$u-ZH4aQz2I z3xD+D-OKr#%Um_P%rMfC%27!%lI*x03QPm9JV9yEN~j)D4I#B>xif!*4*~64yv>Q88&7ZSYj^>Pze#D>YgWLVwTd{X7S8UL9NXL$Wc1q`t}a zuI5R8=&;m8EiNm66zhM&$sdV4ya16gXNxkV7$Mi~Qj1L4>wcjAiJI75MA}S~qy+)y z#rZsTuYv^O&RF!LI_S(-uC7mJrcAp`%et%U`|JA)b2_C&&xZyKm*%E%-SO~@R@CLY z=M0ITWw?Qf0CCv1gVw&%zT8Y{7U>W-YD;FOlaCmr7J`-gJd1U5p!TZ`oK@fz zhpARUe=;}~J)NG4PI{#f^3#;ln={eLE@Vy4wK%00{v$q5FLO6$gAC_J8rWzWT4=>1 zL_tvlwOV2inUKRH-b3nRDheDpl4@E5?O{Wzl2-W+MqQZu)8%RbLj%a_~Vh~8>m-CB*W zrdNvJOs_<5Ew5yM0lfEt@=E_!|B`#oIG3E*fG|`$mY=N6rRSY%8??BzEc)=#9C%4k z7q*txdF#^Hv!{nI-=M+|DLwyD*#@rv#yeQS_Z6s8A=p%Iw*%`ETA&UmzHPrBE70vC z=XjUzoo+&68^j^e2_iKGVQHen)evJJAF|TItmKmZJN*+4{ScJs$qe1Mpr;n-3R0Nw zUVQsNIY%(p!G-Ur&Di}(aNk|lCb-WB&izEL1mUB3F9e}QHTdFvu;C>n&y(an@aMl` zgQY~@8OddourFi(AHzG-}C9^!M}TR?-w6~3#<3B{AA1hH&x@n z0O8nRE;Ju1gVc2~PG^_rs1D*T-!+*7vhf7@1L=E$GK#EvgCIKc=PQ2QJ7pE1BEvjA zz9&7_hdckw03z@#tIX9enpewXc82$x%F8!?anz9p3j4cY{caU6G+(&6I#Uv~MislX zmP>m-Q2j4X{tuS>KLgbn7aw{A8p@)fD$0gb{=x^42%I%xGJ=Wzx2a%j=wta@2svGz1id$<(0Bu98%43p5>dxh9fSOGssfnYL)MkO{_4=2=6;a+@>_jz^;WHW&Y?{jtlZ4BQv5*hDBf0XcHrVbWZ3gm(98OQ|X_McTwCJvUC zD!U8IvB~Ng(=MGT$M1|exUP{Z-v>zx^v`$sRvSFs4Tb%MU4~0j6YIAp{w*+3U$(3k z?lK8|6pyeZD2+Pi3)e&7xElDDZOO9WSx!hH1`+#siG>Q+C)RwcvQiyyNGl=-qk%uu zfPkaI=usVHg#?jYpR_e7I|3sv>1C@o?F4{a>!{=TavK=sfD zmWd8crKAKc@L*2GM6D@utQ=p5G>l>hdS?Rr9RC=*D?qHWTr9_!j1a=9ft6_Hp=OkE z=%A1|EXy(bXRlKK9!#<&qJFwX%~fAaY~+q+STQ;CTcKAMeXed zM{;{z)GDhtVxlWJ2EOjH1aojgwMVvQffJk>^)U_Ox~bG`4njTINM>v>8JV$N=Ua$u zf%S#b5@HaQ8=jw9w_%S$x@j1Zjawi&bj_%wI+0C)n28FKi25$aZb&Fj)k!viO5BhZ zgtmPNUX^8|p-_y59igJuPN)g4YPBHAjilH*vIU7+Xfc!n->G{D^pq&Zwpw3~Ez7Fk$z4P~{IU1AqP&3yfh#Qs*tg`gCD`=K$(SlMxk!bzwjdqnB}Bid&e3 zXIvveE6DcHV^~?IhNRKg`!(i1Vin}+MW$Q`{fjVVd;x5oe*sjUdjV))djYuOF93b% z1>k%41z_BK0YpB4&zoNaThjIDi(vTPi$M1Q{7V}IbyX0gUk!rTOF^*laS)`6K`{IU zf$>}jc$pDP2pH2Lka-3E^+58KIc<95+A|$A2uv)!9W%7br?>wk~ zb{?n;=Yb=09&8291KqRdK~jGnlpZ_}j9)$nJoGBT#ZOQ&T$MO53Y`Y@PA*oAt{FvT z!ZAr_syCCG)x3NG3_CvH_{9ZK^!q?1?E}_le8BfxA81;9zycrr@Ne1ge4zZi4^&fs z`#TeXufN~}A^86E%RZob*9Y1!|Lt!(e4p)0A1H3X^Z(Qbl6fC+@u6KMqV8A)63PPF z1g;Ud@Go^37V z4vN~l-Pe~z=>z3|9P(jB;L29R@F5JdZ+QMB;Zd643r%8eH!K5=QMZOKPTd@`G-Yj;QI5QOxDGfB`U7b)7^ zeIeYAWdCUP;@7&=JjP$gFKmE5=EdhFY8v_pA94#f1X=!uz$iq2%Y|9K_wF(`N=Fsh zMLf#+rg2+L|5Eay$FV#oOdYOTX;y)rs^=H?tbcBX5Gn>C0J6h2&?CTghUKUx67nS82BM_MU^90t$8CX7MkFXfU%#+==BSkEYLn#Bz<5$2T zm~7X7>bbdkCPfR8Ee0(}3bG^ipO#nPrIDIM<8p1XDX_v7pdatIt)M7Iq@L%&dLuEC z2eaTK1Pw&Dbzz8$!Wdc{Dp?xh18+SAdaWr(ARY`B(W z>j`c0%M>m3DN3GkALmc3(kDOmG7Ipywh03ZV&XB^r9m8ItwV8oOgq0N-JBWjDQ*RE zPJ)wa<^{=4xI>4`^i-JmXeM}b%HE%;XvjAL94Ls^) z7sGZ~;hxA+yW66FRAKC8+Q}#r^tU_;>f~%@b_uBJ3nEnp61QYoVU|hz4Ca{&O}Rz} z!rr(-l9dVJRh_Ab3Y->gz%h)JMtf_KnT8m?XMDS}(7wX;z43vh zF`bawCOi`O`|In|3P}dKAI02YS8uU$Sx5x2>QrW>`LP49CzyF%!ZFB$;O3Rn?Qo56 z5>WrbJjWA!8Mn{^0l5HanB%L_x$;=}ka~7Qup#IR^TMLI2_Wtmt4aF8wn#s|At*AN zH0812N)))WsKRt&*edG1M^+WjfIP5X`(rVpoS8foppQ>Y&%9dd0=*s07_p zWOJ>#FZ}c2<=Ugp*m4;nh&)!oty2t(9=e5M!SBdpMYw~|{hZY7s4&k7GMY4K;mAr# zkf9YBC&S}qu5&TYRI}A=`(r;!hTa6I=5EMr&L%HOk153)f}m)VUn9j&nR!lDlysAc zq@WvEF^Oq1HWyejK!C0rQ;F-s1l)cGLWP_XgtnVy-y6aeNF7lNEZ%K|K>D}?hjb!quY3Jyv!mqxKjQ`O`@N%&N^q>mzkx*%1@kui#UTys^q1|f>Q`^ zY;O1WM&E(D^gtVe`wT>n?s!32@;v7@u44PZiDP< zA$Gmt7ROk&a~{9`3fOq*PR&l!RjI#^TpBsvcpDV{D|b)l`z1MeAoVN!U(WW{EH~<| zHh=kNT>n<2%jxo+)G$9fexKw)W{vqE_bJ}yXpo;>eU_V%{&Cm^$U%j;7JU8s5O-Th zOAXLcGzHy8QwUKQ+9$4a8oW>bGXFabP$^!+w1vOoeG3MDRgVRJFDEnw?&b1)UIJ-9 zwR>oTmV{2pNcYpa)aDz127h5UC=p(Y{6zd5Q1WUV=-a59gfiS_$tC;LaC&p5Mi29i zB+~~rFd#t-OZPxW-3E;8z2w~;*)nOznQ-^{GIasAbme@KM10(H}So<|JCvIzv@Sd zyeM?5s4EOytoThrn9wA4Syo~ctHB-FM>cE)LT!>2nhR84bR5<8^$2I6UmzAKc{)`F^&Q<|b*!l1R%^zHM@-4 zBxI>sLU63fZqoEYf{ZYLoG8JpPs&)R38sNR5O#K_1cN!BxHs;Ya)@GZOk2bNkg-rV zogT}=>#Q_*x)m3?B@cXN9lF>79f`3aEGM>ze9h-FobvMKoz5To|2_Eq^!J^Y+Fyy_ z*6~QtkE$f#+CA&T+lUHIhU~+mo0Y+xird0R>28G_sE)b#wuuBU!Rzr$g2H6$uxeVj zq7e3|RjQ4K8XjtBCSeLXWn>q95F8=hdSyy+S7r(c=b^)f>#q*2YD?hyL2IHu=@G{0 zvXQ}sN3rw;+}j5p=07&B<)>FZ_+Py8n$!n>1P)OSUYZ53!wpEvzy2Pln;%Fb#|_t7 zq(kUJ9MEQ)rOl-wK7sErAmo>zu4b}BmET6OM*J1fT}=Kq1=crHpf;Cig7m*8U-N+V zgBEdbByxx2XpWU*)#)8B1bC7<$42YSd*~rXhmm)`iDgyHb`ETt%c z?3#M#=9+W7DAhtf*PSs>cW3PLTMOOAJfu&>Rp%P|(ch81!}&|h|8?h?;J1^|?1q00 zyc=NimfCWAC4T`}ugjlEj}77R(0lc3a4DigZ^EC3SsZ>{j3U3ok0$E7DlY@g*Xxt1 zS;tCgAL=sTqjVTDzGgIcOJD+y97lDqzQ6S_$nC8h$oymDm~A%j$xC?kpFrp#V7?Em zuNK!M_%L72DN@{%d6Ip_zpwo5;J3HF={&C89Xl7tTi*lT&3jQNC9`yEVeq?q``^>w z2e$=;PZ01>JKPjpb1fPYZ&b$z^a#rWLEM0z!D#@paY5)X&Ac!RIZzLVRJN$j-pBM! zH>8mn&;A5u{q?7T>SvK6Fnj=17R;-jt!fFKEZ6=iZcB{r;*+E~p%>_r5cAuh=^>ZR z%HP33zBuiiNuN|)d>5z0pN(M%!nUB{LgvdOGzn!tP_6d(k?mAKUFiJuDco5(#8`Sl zk|-wy$!5wHWkZmp)r3}>_jdK+@|69D;X@mThpYCJ?bk;8uV5P6MGU$oMwzUB--4CN zW^tdcy`eqj7g(223*7FaU*P2>*5GJdMR>=(4>hrBQ~ zFWjKz|9`;VJ+2mHscM>g(z}`$S`RCyqyJ%^wu_8HPp%0vV`>l(^av4_;)LdKWp{3| zbG7ew!?lq+WH-gG&wStg>sPVF9@Rm`k<{VHZ$NBL5d*p(M!uuFA$KUYOLJxJcxJb0 ze`R-T$#6?+r|ie3|EoHdJJcD|TxZ+D>B>O)GyygJZU1-l`trFe+rPsq<$v#djFlcG zDtVC5i?w4#6Xbw(j%p!uL#mvF6K287e-pz>6FPDV=vlpIuBjb~^P-rQ)*)vYKD={8 zNs;eDcgk{Jk-njQGQHxTXdl@4_x|<6+u=fX-s8Nddy9W(p5$8%eWUSjrG1V2KEoDe z&`WEGDFCMeL$_4p2S5u#>>UbdF@w17wqngp>2rqoGPw+q$QB;mX3L9O!{Cp#ab|p! zggTud<;uOsP&?xa?#8n`q>=Cc0rXF+zgtT_ij#97J{|GmgN(Gub5|5PB|SuS=&m2A zmAO|3{I3J|f9d(?zF2)pqL60d1ZgDxZss4nPsw` zl@|5qf-BmU_I!36)wZGqIw0vp5x$*VJK`L7)AcN*H?tDsl;)_FXaxnV#_7+&{eQcE z)_d#scrCq>U#`s= zB~8I5zsnlpe-ZuGxo1CtoL|mK<9I5365@O0g;4i5bi>IIxdV-Lfn(z6$f&85gJFQr zTWQ%fB~LwCTTcG{79KUgurML1Ta~S47$!QZE%4AQkYqWy0h$TIXb-(1wJfOi=(q() z%Vh)uK|^d%kOkDRTLPo`J4L2Z5)>7A-8Y}aAh2Yh`<-n;NOMNVDD1MFGK^RGGOCZM zAzH*J)}I7jf|eUURwF_3fqAeF&P9OFFD1n5rw{=O;cUbhb}UJ|aUCzml)Me1nvHaf zd8`C>_`#MKBJ=HAadz)bP7HZ%?hx9BHe4E;R1^zFe73{Tq1H=8R8kzJqYf5sj+Psp zbDwrDZWckh47ztTp8^|SZ!T#Mm{+^kIyIopwUezx)JAJSQtV27U2#>6V>+P$feAP) zoC+7h!b!!=hP|2H7HI|=E{oJ5a!hGPJrdtPsjktCuJ0-BEbRzNvJ*y^ZA9Ww`?~7BMeESsqH$7>;%ZWNuQQHhJWs~J69xnkGHSuN| zCs!)4yKl-8jF=ZLUzD-%z$K7j#PMock%u&JUIb#Y;?BC<`a zOH-qcdB{{IbVpUvg0N0+P)bAvwj+pBQWjB@Z!bQBvru$g-DSF|)M#YHz%Q|N(FY-e zb*wZNY}W;LrJwmTR>O2S58VY9B_DNoGb16L~Ka#v8I}(*dCu_TcN3(l350%H< z?>&Ie9YX4PkI;1{vIen*ph2AtSdO0?*9Zdecrn!PMp%H4s3Bj0 zgQ68kg6bwg5X;g+qGN=v2ND0fj$+&gNM0t*g8Tl?!sAma#$0U5Z+XD8;t;Kk89- z{eb&K@tecTiwlltsLJV$iSlmsMCSqKL(JC%83hjYX;DvD*+pJa>ZYTj^TPWy2vd zHh5b%>W_ZJ)Zeu!1Lt<<{(26WOz1z?n;>An8Gg#~IA(nw8z{;cy4hS@YMe9f@+7e` z4pJ6PA0(c^9Pfa^KiCI2KX^j$1ha-+Bs`0~LG%#5z`8FKaOhSfUVI!H`VC@@V;!y0 zgSZ$50V+vFG0|J2mQ$!2GPXZ657*`I^zgMEH$qCa4qdtZ9C5fB=ULgda%O}EM6?K@WJsc^CH zEQ`E6)J~;KmDBU2O$b@amqkx+2$Vd?_FPy&7#UX`ODrIT$)b@IrY319w^7EyvFG+7 zONL;2w{|Sc${*RnZvY!8kP4GFnu=+mASnt$H>j`^^}XGEdd^7i{Q88JT%@48r@_y- zYM7m2q!*d$?K>5t+x{l-Hnu{7l35B#=!SK1WV|rhIU3{0_|*~BbdQgeY)FU{pU0FRp2vLfbuWAjz~{r8 z@cHMwSnT>_%Zv5O7qH~J7cfWd0+!BSz-*lhnDdVpu-pgFWBKg!n8M}5ykB{-Na{Jv zoO}*TefS*Ku0DrFet90tz6!tb?em!Y-Sb%Cqw|=GSCo0NGQ$Ru!FJcU0B8bPuLuT{ z(Tn^P(IyzseNsp#=mWX~F0M2Vxd1hd2i+gdz*6xvs4X@pHy#uA*F|cYpZ53%A>ekr z1isij(C4(to77FJ9PV7C)-O_wq#*8i0v{tGy@=&hWeVw)Lbx4BuG=Q-KKU*1iBq&3 z3xy&~91XjNx};7;Myk{dw?OxaW0N^nW3@z6%#~=p5zUf`ZcJaUVaupUHEf$z-B=JJ zdaa;qXa=f-tRa?&_xkWUMul8}HrCwdxE4E%k{|)+K1?`^3PJ1WHZDX3DMYSwLQ@_| zL#jI&nrcX^w`jiJIB2*Q-4+yD5_ir*Q_#IZTu|qf*a*YxKc$DpLSrR1iV(Mm>v#nC zTkvCOs6%8O>iz&hLf4vxta6id~vD@DVv!mm)nf z{2~haY>S4v0~bzs_LshH+TReXc<9^KhwvW(T7@hlH1LROM&COJw7U)Ck$3Jb?TbJA z6Vx$Ji8oJ|AzMb>_XEHVF%V?Vb#mfhovxxFc~40YpdoABSoKX?rW4aD^s}m4F)0A* zUg?>vOa*9W-Cw{9ui=#cQpA^)mcxSpeX{EJ~_7%YRJ-Kl6_{L7RaClICNthp< z%-`HTncts2X9)#4= zd57^qpkFJlwpYrxZNkUlf_t(i$xoUWoNMvb_Cp|hT+h-feyATuH~y|+#v{(Pt%K#= z>D~6P`EOA?b;SSfA?rT#YEjx7FJ!O;MGG;L|4L|@gpP|R3Qx%4$r?$h`DB>di!YS~ z3dki3%bs10J)NV8Y0Xa8Vs)f9o{;LMdgF!}-T&9#)rB^4UEv*#WR3nt(nuQpTDz8I zTWhV>blGjXS#Q#kheEqyw@vA$X@1yj9%3g?h2n+wLB*nWVzrtQ6{%QY1*?@{1s3(d z4oF~u1Qu8z6$@6d0t-CB1`Djj0*hFQbB-VLR4B!pcD`qU?%aFsIp>=>=R3O0C~ql_ zC1`vdjQ1<Od9KuF)u%v*KO4eR``jfwLQzubfOp{7=U7=F&v^+OE2$-*6s} z=C9QPHQ$b_7C7)k{GZrQ*b<$#pAPT(_Sgjz7EobtDvEWsG-VquKc}ja6A>nTZT^)V z*RCFpn?14~T57(ho&_6hzqw{!x>yUWz`-uqBFygSwsX_+%uu3_teXz3Zh;VB%bQPF zVB1qDv$Cr{azWlfbcgnwIDPnpjVZ%K!Hr*D%5s5R8p0*Sfc)UxU2O4OKhu1A1XodM z!WJ|n*AZQb#(}G%0$X_wKZ+}AzWk##)du7?sO$7zT-I7yAX=8NBd&#`W1DhpzZR$l zIIu-Jtcfdg@{lnx%zGOww&o9%L4DcNa`Y7w8?w2qY*B@*K5J}`N6n3~fwQRX#tk|*ZUgECpX2|1#?-rjvg%rQ zED>AG4x~{>)DvCFv}-?lamTgkI0jy|u345}z;5v!l5fz1smhO2Bci_gyX=F6sxVXe zJIPrgrFZd;jJ^80_)hlC)a#A=@izxA0nxE%UoCsM50kem2JS}X*Fi;SEb)Erwa!lx zcjNb)zY^al!mpEea<>G3$XQpkDPFU0#1IqICoQ6z8*jfmnB-h7N7SDDS>>19TcHPS ze}Wd>SXQ2y5ofxy{6C1)--y;cQGL1ddww?b0qpi{ceXVv&g9;&>KfXlCik%TAnFrG zlS2d9!&6gCxkLojqPh9Qu0~*ZZ}Ku0!smv0M~}fnAIR>e)iGHGcnZff=|vC!gX~z& z1f+**lOb?b1$R~p$-b^kr>Oo5aDWr>o6Wnqw=*++_-}D0Ve2|Ls^U$Ug8CkHF9+oO zSdSfDQFG89eW&e52Od>SV+UYbac?dT#2_bcQ+0d!3RYeBM_WTxa&Bqp0Lba~_4H`$ z(kc~U)+Qn&>t5h)m!3KD>Ql%QW3qW5jD1Dpe$G@hCLwI0Hb%ytP!)~65lD?xA#L9b zgjZX!bgvHBrY)y}C}kA``;&sds_VN`y1E`GUhgZb6htcvb|Lj#O`5k4dQs>l#RybJ-+v+MYZ(L*Uvq5B)>J3#nreqc?bcQ5 ziFH#`1J<-GH@67X%oLd7B`^*bZ%D!(_ipq9``0t}!DP{yGxg29reotB`|udKVK5VS z)ZL+zmj_cFRht5Kui_|V?KqJpYUZq&(bmQI^`JeaL+0P}w_jZRBOwOxxidcvx`S`D z?(_odQfh=W%UztjrPE?L28SF00IZ^aW8GUN%8)WT;x73LVH{?+MJ(>0e~wi+qBp{E29M+$V*9 z5~;5Uj!ArtN&C+F#MTHnQRA{HZ;mkN#pjKy)Vy}wt=0tpf%NRS{w z!ha6dDz}~Y8US|3d9UEV4A-#Sb>3@`AmM)u-yuT6x}OVAE8*Y3cgU-CHwc9MdaUW-W^JW}t)zQ(>p^jtcz4w0;OIonRl0sV2f)Y!VSfa!dOOz;BsKgRW zENP)7Ehw?Xf+Y${6qNsWvH&3qVQI@ap3XVncYoh^zO$e6oqHog))6E|#ytJR6A%3L z!A+0;@u5ey-2cSiNYkj zi9h}6kq1d~)8>s2{q4#7pW6HnlDP>oKKazp5DB1*;9{_jLjP#c??yV_t=Af zfAFzCZrc3BlTV^Xvi|hg6Mubh^9?IjknHsjZ2U|5Pd9ITeA5#o{oyAbdg8&yN&2RT zpLp=eCrR$FAKd(xCm#RXPdEN;!xR4?8FxSUw+A<0bxo}O03){b0E1MnwX|#MaDqxw zsZ=I05~!nr<0T3|<`ENqo=T;A9z>pJlKSHu+^2&AebkWmc~k_lP{E7x0x)JMMQ;!h zFMF!+9S#X<0@%NYhdBCvVxFhmF-?I79^uiW@<WQzOi?F@YJKT6DH1Rw09XawM0^*9+v>&VY7|bQ&Egi0D+ie@w>o+xQOl_c=Y5 zN>$+;Iu-usx5V>wvUi1zu|GNhOurl^l(#la4#zh&N7d`O5KBt$XKuHIQV6xlb#W-oA4C&znVO9{@$@o)W!cz!eFv81rOjMB-5oF|LTPgeS<1`<8 zH%cu0u&OrhkBjk3QKtz)s3V7eG{(n89ESZ72Jm7B7gP`zW6Nn50nOz<8fDR3rj z^HK$GKYSMxQrIB~o$0mUKBCfz9YK?lGi~p$HC{IM@g#ei_M#3Sa}UyjhLn1ITDzQ# z7vNVxyjOAJCT5_ zlfFw4Ikp!A@h-Am9Nk$sf~kbj&x6tt{J`H#_j%bXLqw!FI--G9t_H#qb}XA)yx7;`-DV11_r3EKzV{|4q5 z#p@E#sh05-*gR6Zz*--i**SD2T0RqRuM=p{i51kbDigmqxoF|PFI`bH5xl)d^-PH% zA$78wHIqqlI7}WHD;9C!y22qjaBBevok{2MJ?A>zGv8*S;=y&jGXTtchjOHgg1VmY)3KvK9~~Gv zbPjj#AHObe5N5KTmmoMMcvBJnNSjsR_W@54U!zRHx_4A(_}%|#7`F&!YT;gt z5Uy%yjnI9o%7;*W{y5b{j9ESr_qH&5-{|clWYIHnPhD&+rINL4X2O&=MDqra5^*w8 zC;t+WLW#EMf6+ie!9%?)WrDVb5Kq5%D3_~;qiXS}{ChkPLWhZa=kf$pt_+}gCT}#xgF?8Mb(gA7X7**;h@&xk zhIA&vWLq+MOE6g9ulex33xUHkE05xEZ(ak!*q6Vd!$`|!Wg}-k z%y1*8+i9ULqBCB_DcyMg)kD}8N7o0JxTmI2+`rLSUgq#`+SAkZTK~nmZQ9kPT*@X# z|HWw{L;qsK6gf<%G2g3>7!zX8)#G}5#p|rzQ~gxT1<7X+FZd{SArz2XC8xh|rVtO( z8exzfWRM7%KO_)df@n7~b{>*XA^Is6#Ps-7F+UR-IQwDuAKD;}6+}_W6o4R!<)v3P z=DeZWi+_0f-EZ*l`co*Bz?_hFLG)8B3UdLHfXqSGCYFRPF0ApPZO%K1Zy||nobWVo zyeMovqO9^K5YPGORGJ%QxdFxanThif=fdTk7$6*wbVBq~%+G|)TX7+WQ18mbN_J%; zBJH(PN~FiAV<1ET2}FbSd}`lb0KsTRFL@!9;5z`G4=QR}s{4Vw7^WW6F3u+?{-o+w z48mTU@=gL%L5dYZvgf_p+qdqt;UFQfyn&(HCoyd2#*Y>jb{t25mrKh(#9u;5khzIV z_RN#xwlfyIrMRsb-w$(O#Bk)YKSDsCy$~V_TxRtH@)N|4}F5WKo8^EE)Q zSA!rgIS)V~2u6{xsyzVg4N?Vi@{p<<|FogH3qOyNEc3HHIFg<`B&R=P{+13^`U0wp z^+ICvVSy#MKr&Y9gTC2yg!mfb^UyiI;?oriZD4zJ(-}9KC z8$p7Y5n#eOM1;>9J>X%?Ck|QA%*U`Jh#RXIMMa|n+7Z*?V+?N{(BQA5WCR*vf`IYn zf~-w!Vq#U|EF@~j9jp7{Gkt znF^n^psG*OY;ZXfsuCw5IWe`op#fwJ^IJVRd7uvM4xjAGJhv-T13SmFu!8{WLlD^k zNGV9X2+;+82)NTeRbVkMf(TN55hSBXB*8cv2f&?q7b>$4wz9nt4+H-SVE(+LH9F_b zn;les4!VqlDnFz^9nwZLRRuzP3a*>i1`?b{&TKH`MG)EHtHCI8K3okVw&M9vHc)Zj zHGE4Cm|+tSedJlvi~yUDL4a$w=I2LxRlkmMa-nP}`-ccPKAxEbU>jp>q*7Bg7QHGl zp~iHJZ9;(6$3$;z5>2pnVr!B!*|-nD>t$+KRs0bVL6;D zpL}S48K1b2=xk2AaTDkL00GB*%(18e!U9R-)be7{sd}vYiwP=j62%-m^%|V`ucI`m z`j)T-%|yvT&4^sg$HQ;J1^FYChSUjN&?K7?Jun^XQz)01kvd1G`u+^nIecE?sIM45 zomL|n!TC{{zom~gNSGmMfVlI*?(_H&<%^%-4P(ngjC`${Q6!Q86;~A2 z#%Kk?78h2q&o}%Ns1iGTkOH7Q7y>Urxt|5eC=yBFw~-IXuKY|NDfX#)5o+vS$PEP+ z<$FGhplJi_3!n?6*gI{?A=X3ueE0+EYan?wKT{8+!b1-G1fvKdUjXthNGisw7D7A# zk$4G`y8O&~kb23>0DKDBMv;hu^MFKYqX&?(5mn+ye&%~1IN}vVX#*8k3X;*xKr}wp zQ3MMCh1ESWfmt&k4f&Zqf>d7w$tYs>s&)sehAnPfu|c->hb$Jzm8bGEKL$ZIC;)pJ z1YVK@z(*h$MX;9q%nqL_u&rJM2yx0Q*f!qAb^zLaHWa{r-D9V8=4U$K@gpcUKl2*^ z+Cbss5d;xCAV_r-i6jVNBN!r}*t5Rez8ZK5QauBLQ6!=utc{4R7*%!qRD+5OEkHKD z1j#4)ndboUlCONKqX_1%d+v@`AQlv4Dho2bDK<)Mpj`vGq7&2t&(;X`;p zd|^SRj~oZ&O^}Qt;{?0M3MOG=ip7PqLF_Ha+y{caUezj)_z~K(CoYzB-H=M#SpNA5e#Js-uPtK0#m| zkd4amb(n-|#CFVlaf`9if=o?8<_jQr7ZiZ?A&49XJ zqWKFz;8NKG$TJ|>Rgjqv$S6^c3P6?orW=lGfcAhCR>3G40>Q2T!T#;%kK;vE2mXqF z`tq@UlWzv)qm83`+${UXms>TGn{fL|3Y?=rLJJgt42(BBHB};DMt$WI>KyVN>@w*SGR**CmWPS(is~`f_hX8pEfM+3MrwTGpLqWjyfgZ3v1d)C~_JU*- z8KY_kq^%&+N04gacvTeupL?wmqpCpm_yh>?L8^#m19C^BN}MUkJPU#|Ucv71HpbRq zRPaSO)ek`M!bkc|*gnsM`e5&KP52qWdO)kYAaj&_aUKpfui)hmYVOAhQPK-|L8cQ# zr$7WO_PGZ^jG$$gcO|jnFW>zYxeUAYVZk2`U*0&_21Hu_-~yd zFPm7%Yv|V%ayoJFWFa0|Eu@5~holaopH3q0BmfT+P|S>%8`64kF_S2_2)guR=-aSm zM=l|}1m$f4!==hhjS}v&%FOM`%wm`XFT!NlK7t^k0i*~d*~-iuK)eL0mV#guK_sH; z4rS&(Ujc!+_M=^9e6Dc<$c#PfAu68@U}exd;X5yQUPTWCNM3?ic0PyLsmxUR3I`U; zRc6Y)L=8v*NJbI4SG5EL^5|59K;k*C_AU?ri%Rs8e4pV_1PiA+wz_~QfaH0*6{+TV zkqK-}qPXy?Ul$x9G|-Ku5V!i?E*82EAIH6FD#Uu8J={xjLo@y|O1AAhcMRW-l5tWE zjK^*?{9Xe@p0}L5(Pnvx!dInH1RJ9o0`ei$U0&$9@di!roPBIt-tmXtfW@PL3Y0)a z-mCkTUUsB{_!e532UtGD7kxO=L(jV)9zrV_u>BxIdMN)8>j9zmuv^12n3@@XjK)gP@gKWSfK|&1gU0$WE2@E2q+HO*c(N0!8IFW z6%9@J&hP-JGyI)`slx%`C7MsmcH*TdA)?FuJOWADAYYK7ARs`p4FTJI%vAFBcfI#0hJCj4_(K7vJWLiunU7+K zsYf5~>QIv9*Ey}qf9MoMl!*vX4#@r9i|BZMcO)wkJOgp7k77ZLpAtbxu!l0FQt%Z3 zl^_VMS`F?HAOt`M0qPr{yB~npgK`H7ByGw}I|$mmHco&9*t39~@sN|g8jK={7<{T{ z#;S%8oIC+8VnCM+Ky>?PKpzElS`ZMB)g3iJya~?RH_FUUm6_+EN?pp#*PxO|ppw8k zy$F!^0C*JyNC#B)z}5lOt<3BJ#7pV{s6a0lMi9(vwLUPjkG$ryF^Y^)#V!E!nKE;f z9QIkiFlxQqYvkSW6*=rP(i5aw1Cju%wLaCL;(`SMVnmR^w?VB}ndt%q2(urY{V!o+ z!XpqJD7*m*KI9Ov#=Ni=6;_7uvpgaO!e-}=XPhlfG#E=0Cp$fUZMct zd34hnK_Ut!vO(m*BM9=ms?ULB6ali+r#gy66!>if6o*ucf>e=jo;$ucd5|iqD}gQn zDu4=iXZpxKK%N1S581stbICbhGV_E->byU@YnzmQEY@sz|hNE^t#r=*b&n{(Q3J3MzFO!OJrkP#Qmbff*=&xFxgfaMNp9SU12@n_?YVNN-qu=B+(*x*7BW5r!`51t1^n0)o zB%)vvHpZyR0m=1{4xj2M;>&>qpH8~C9p!TRTQ>AF)>mGIJE9A9c`qc0L6o=v$!8G# z6blOkNutb)1?1_0q#L52Vqt+`$%Qe%S0Cq|MK4x!J}PBkSXZ&;JboVFPf;0u#!s;T z=8MW5pW|)v;V*G)tYR0EJAF*RMSYw9YL7*JK@glNti*r+55CHWzvPbxh-u`-K7Ld7 zIEE28;d?pV){*x}*c_2xAw&s`z1pK^&s8}3Yx*QE*r9LS(cc*Z0K&g#Pa$v6O>`1B z&;Uv3-95Uz0q4!cM@48!z)>-sykXCs$S2ZdPnG^~suKeQ+8X6Ayzzu*Sjy#A!%QA&H-v7zi>(M4vYZAX*`5f#|1LbifJ3ob)j##{*&W5<#j{ z06a`HM4OLdw(-Dp@`eS1B*bw@K7{C}SP&4|YUI3OfglNCg`^3hpJHKwU`h1G!dndh zK7e@4N3kF#GT_>UPFIv5h?r#V@Fh1wwD>4yi5eh|Lh?RDKgIk^bjAX*1lb4zf{cYP zKREA%s)QMm28e!&1u-K)NMljvjR+h;zlT`Y9H~1OXw9MVU7wpqFR;q1!RA(FA-o68f1*00D+4nK!J2cngv@A^Is676_6M zMo6lrme&KIyrs>BxE+T1vvYi+(o<6YA^s^!umisAemV(& z&_YrM(ND2p;C)LUj(zKDxqweP>lolA1ib8HULFsGmXt!&_$Y>$j`nwchP6Xd8k9Lm zHzW{R@*>3jK8o!R2ZWZCKverE=4YbJ>jwhz1{n)4LG*b9yx?PA7!L$X#v3ChkvAex zgn;7l%m^@{F(Q24=m8J27ver2#r8!F1X!JH-tiKme%Sq39Yhs86e0~j69j~p1OU4s z?(xy78uR4cGu~Jb69A|`&3~x!-Rwt|z!yODQ!I!H0wNoZoOfbi#K=_gj+N{}K)#R3 zpAd+wnuh>|kC|lN$i_yPNdnIyW~YzY85Rg@jF>oYSRg=>ivYQgkxvK&OLk5p?^qy7 zs>WY?E{`&BYy;*#wgHGY4SIO}#oxVkJU&1eIm7sei>BRL)kC&GyjZ0hol3T|v~FRE zyme(Lt!Pb$e44QIX*Vf^Kt1p_6DxrvOkOMs8?$jHTrBO1Z|8q?fQNl~fQQJ|=T{Fj z+&TsT;%>M#02{C4Re9$5)uUNPbB>3@6fi}#nJ>f(A3i$FKp(#Ax~iENR*zD|_J35u zv~ElBd=r0mw}v@m1Cn2QV*W0OlNdnL@#p7vzOa3P{#$>p2>NdxkB_ngFG`OZ_8(sM z`nK)M4nln81M4y*Ir!r5$}A592RkpSpZ9sJO%ROW-beG%c@0PBjm}uDH7$rjF}qk zdiz#Zb@>t2tltY}eixiArbCs`YCEv31>!8-8KTrSH-4RrVNFAal4pBOXI-_v*?w|9 z_BAAztu9-Q1@p0IAeq4~ou!>UOSL0ph4avR2m}bu0r=tEFNN5fr>jJ7 zLG=6`aG-#zU+dw*Q^Pm5iI1HqPNUHRJ%$UveT{d~x@ey*f5hhs3dn`KWW(lj8`1yo zrRN?zdnQjb+SshB-K5>kOY=T&X3b6LO$N1adbY9YS3Cf~CS9w4>9?*^%6*aRJYjZ# zrrjd14eTQK)Fm0rOH$`(3z?FYi`<>w;l7w7b$Qm|B`M@kPC4@ph~CF&dMBb~>=JAs zmvb@B%0gzxOuC$1GexV@Ye|&-ccE`!ep5$d68gVxdgm?nG`F2uxt|1l&kj3BFHiMn z?W|V9WWcPRiP3$sdVa)KyilNHW6z@`%7QNaY7GBUHwZ&tn8*J*XjWY;FOjzQ3&FI_ zd%qW6^!;ImmPVM5nA7NJ@2?kTyw$Vpke@~&4M*n%yzXiIvS+?m!2%q5LiAnr;QYf7 z-*45=KMHXy?){uK)jCdcliH!}Vp&94@*Ad{!7o38Qb=bmedK~ zhd9f(;3%|@zPyX;n-xaf}&nKaMnd<<% z#qdrk=W*Vo@vMwvb_vU4W->%M@yZ)%JH~rbW@YyU z#yFMpCqGNUu#a9arp}%rnHd6?-r3<#U25&(n;_p2F z8I12&-;sYzGu1JhzE!R4gT=72bw&+=VU4+lWsxn&ziwZVW!`^Pbl&-FoX@@o>pN2J z*f&%yy>D}7u;f|2q<_%9c-lc(trxyn>YHOtz(#BL!YRe_&mdmRTJJodXKnlX3)T-4 zJj}y6ZS(R^AYRt0eA9Gb+1E|}AN$X?F1kG0v!Dt;XkQHNSz4{jzgN#lht9^%o4wkz zv|0g}X8Zdq%B!}o&_O)Y+Ofj>gNNDJ0C(dVvUi`FJv(YMliHC#l8@+w{G2`(@#Y%& zEdN#DACw6GPhLl|T)t`kf=<8er8A!`y$Gf+iuTd$_ZGhoaW>TD@@NNQ{y*a~W3|wo zdS?YzxnpR`XW=B8t8Ds`ffYb9iLz$*;QXLHb#3&WdGsUm^sUciGtkch&<~&fg}U8d4es!|p&2xgc&Iu;gd&`a=`tB&+d)k7}SlOO%cE=*@%#KAfYjn1S z;#WN{lZy~RJTN}U2Sx~*?-EPDON`1cLqa!%xI{tzY=VBh)l#ROp9w9oLh=rRVl>S5h0EK z-g@mnBzf_WWJYT@QJC^exy$--;NLL(Tle=&evvx&6P z-%fNPiugz&!y967MSf=56Zd-)0=jLsg_+zOM3-;WMUyUh@;NS3@Qu(MEMpF$8Q45X z=SI#mZz2Ux5QUXQ-!;+f@;`(h!oP2bjp7%>KZIz52;CV%{#No|GEm_b6tH_zzekPx z9tWTID-!zuO(O5SiO%LZTap z^-QC&HZHQ08igl`jdkmPILiLr12y1uik;|<*5wFSV#{ViX=JXiz_8`ht<%3ipw6t{ zG2NYOCB$S53wS#*+1+)5FmLR`%$lCfLF}VJFMgtX6?DzjGg_O8!W7<5U8eWl|Ayh; zw5O;0N#(k0XR0QbB+SGp-*El(ZA2F)xQdB`_q{OT`}KKpI%nq$pS!arY}g^gi=D?0 zP-@a!Qr!n7rGKxE$zEtW{_6r!bz(PfkWP5L}*}MU= zo!NGDos?8Chd4^|rCr5UwQq)y`^M|I1o)8Bxzul0B?`rb?g`dE0GEm&X~{ISJj+=2ohkW}z(1 zBFbo4jGSLKru4>DB-9;|;|0s=Dwe8mFg3jxQdDg8@XeeDBJ8}I&<8O^O4JA7nX1bDQpsR6VA0?OG z#i(Enkfq!LvXfSc_q=eYF+RKaq1?D~@vtyUkPU<0EXb|7J^LBFEV1$anw_}(iq_|d zg5LLVXL6x8~@bu4P!5cDjSMs#(x2>=Y?qcnMbtIw;w!&X{iDDn-0$ z58ii#(lRGYT+__$jH#v#GPcw*idjmUld!(Vl+8CX&2%YELAkq>(m*d{)Uhg9S&SlT zE`5OJI+3hSYG>xMn>l4palM-DR{W+G!?nN!e|%hcS|%2KoI6O2p)+bPar z=~;%jTzVt3j@pJpHR+9%GMby#A73w2$EoA`V=b|&AGwmu^Wb8oq8gp-5PmT)Lz&wwfFoF2c(N z12ox-3$i#}gpQ#Xy5jWzE3Lz`c7I6p_7U1`Hli*ei&2RiDGrg7p<|e6cDj`;W)<_) z^wMS<(Y}?aEa{^vZ_yt3jH>w*FFsaCsUF;pTWPxGX1;^eaQox6OzK& z(8QX^T1Nd+dz?zF6074}X+vw|&=+ozX{A+C{BXxwd749_CEX%JoP2{NLk$bU9;Xx; zl8Wc_$4W_)$RTp2x#C=Ly5HF2+|WOoC2mnqs#YYsrdW94SUcmRH`^IG@3b>|pKWJY z6FXup-MNg$k8&9fk-?P97+l=x+QArd?qIal0KLchM@xn)&VKkMdiLut(QWFN=vhTC z(KSr%R~mZWCmOoyw1!?|)xc)u5SiJU(>oZ=hjuVDOfo?H46%E%X+9#TopUG zcv#pANaMAYSNFwc^BUOg++2QptSh$jN|{?su!vr(xU!wQ#Rb#Y zg`YOX^?tUlikqD@wk92v2&h}sBiu{0yQb2}v~m+1H=hay|i!XlAya zR~gp@TSo<}o7KpyVpb{%8OQxBQM`00-AZc7dX_b&y)IpvSUjh7o%=S^;^6OY_^fr18@iZnXdHIGmSaPk@ybME{ov);6mNd|F*$wm>aTcSZ18)`D z<7&kw*iRL)(nMpdNg{hnO4C8(WQ5{P;;tH^iB`$aV$`KdKf@1YJd$^~Vj zW`@2+Sj>~gSYwKL4$?td$ySz(qsdV70VD1FR$;Bc!qxNCYz0@%ujN={Y#dE|OP1Jp zlY1*(O@l>FFQHe$MwQ2Hj4zXvQVNL%I7+H%o#bF&7g4da`>N6*8N_P)hd@R_pVO zj#zb?h1tq8LN(x|5-XP2v6B(=T-cZzAni%j4=lyrqaY5Yu#)p-t2;ti48gTYrWzUbftHy-X|KZ zSxT~>X(fAjJuD5^MR(Ke{G0@LVryy-uXeGS58XkRl9nGU7RWf#M0K1cUMe!jS!3$& zt=;yp>UrG#NL9`w6?5w56s2~}&$^~}gG@=yViYo}$!=B+Ba2Z@t1W!2y!IPPOF~O( z*NxfN4Lzh;AnakmGEXwc^=I^dv6Et4pl6{?SSl*!Stzx{s$9GmZzifJMXce&yC}7c zTEd05?&zdAXsroW5{?6ye5zzuno=T9QnL%)e;J0ustkI4wF|dU8kt+PG-%)5(%aa*morMwzKLg38|dBCLPjn>7k8KZK_|m|&oMPpT&*Sa zZ{q{|thjLp-rGX4t?4=K#!WFp^KHj}wU@m^d8HkOS4HH&sbmw#1X5DYwzHLAUfEE; z{2a&3zi>-eZUY5+i|JT-=;S`i{=L6$78LO+R`taC_kVUh+P9=MqicE9wIw$+ zoc#G|zExo7$b|~h!T5snj%e$3&SV+Pd^@|>a2oHS_9R#+cQsOSWZ&R<%(e?QT$QX~ z>fqd$^I>w(q%@nL*tA5JY+WRcG4s_)N>WPZu&j%EQtkA93RXfNro!Gv-DITnuqxlA zC`D>EI-ZMJItDsc)kTyVK?@5uH+~t}7T1_j8CNZW4Uyf(?j(!AJHkrv2R1bmjg$ub z0X1x^tIH3#=#E8hiBh6UZ(V2JVBgTXPPyK3gs4rouD7Mz(jDt-Ww?ApZMvcqA4;!( z1~;b}(rjyFAabS~HrVTN#L;>(v_++i=HLT$2HSdV_X-e;yF$eq6i0b)9s5 zZMq}>B)##A6ZHPGC+O8BC+H@{33{Q$M(@vXY>}mFmZ-$_>uej9>ou{(JXN|J=7m&Z zThnoqd!_tk+>%ni%CXw=KaTZ7;+|Aza?aE8G;^9Py=Psq26x@3Ka5M)yVpC`Yai)J zHG{9>{E_@VF!f`nSe0&EJG9Z3-k;%~tH@BK^rX5a<}~B|wHsY&YG{n{4@1x(>3Z~J zzu9oJ{$AxW?ObPaZL&GZDK=c8h*$l$InKybC0ix6YwT&}`(){6(3JtNUuVfEUT9k8 zTq9fK{3lq?P^YPHS8YE{E%*p;&9mY*0rFk!NpQf6oMLIBoL|2i&rPaXJjkixRMMLT z(yzhAD<`VzkK+Yu-1f!^-1uYH?H%`*R369mM<1ycWwUbW4d5wP#dirRQkz7D*L1_F zH4sx7m&eU!!CuZ7rVetlc~!Bc%)X4_Ia$d?JlIa-v&4O|9j+3%4rpmM;;u^A_*+=b z>1AXA?1criW}=%~X1H>Q<6?I(UF=q#Hby7t=eDxUurHe9dR=#BeL}RGiQZV>#$*M> zkqCDha9YqQQ_QPPH}H*2*VdgBdzv%d9+$IF%{Ro^1m-xC$jI$r_ONVleD?7AV;v%6 ztTho%C6R&c*ej~dy0h#6-gNz``OmiA=8kc|{h*GjBOa)BRZ!}w-PAtH(>em~NJ85h z`4uXLlTptaN>_<3Tnkg*a*)y(KP(*lQPz!}l7eMrWCgXH=%c`CAj$ghMM_@0qu+ry zGrGYcD1hSw-R4?Zb#qQrhPZ07j#b6X z;#B4dG_O4Dh%v@yS+4HozVxGA#}*8;>UhattQR#ubEH>x`EvSp32!%J%fb#T_SzC-O2{5vOnJ*A(x{0Qt3=w+j78kz7 zMks0h6u9Y0Orqkp`zo$$Nhkq#xoD4`FfHpz(DO{Bb~Sha%vy#JnnTa2OlnBW{$-Z9 zlAX(jqf6L$QhXb$ow_@U-&@dzKd=RBCRS~E+K$(=vK8~d zUyrl>)3jQiW{3Nv5<0Ly9$dLZ+gll18o~W+z!x?XmbJw~D`{bBMQ%vd>>;tDn`mKW z3E;v(0S`X5<|u9=)%041Q_v%{iB*fOiS{_SrgG$LJxjsVl4Zm6#s%%MeM~j(+{WtQ zx=A!nS~z-2PqMmsxzba34z-!+i>>^5MS_!%iK}TP`~sT2#eo~>GU5RttY1McyDX+E zzHoUPy?#?e+_12MRTW#gTSk;GuS{!8>&xg)&6?k`P<1q$V&*TZA#zRUiQL=UuN_=o zcU4njK3XqKl1{RmqyP37tqD0Yij!GP)w942SXpxL z_tn-v9bEhtyM=OsW}^0RUR&m9xJDjlT%zX5V$P?&YiOdDNqXZ-7gXL{nO3#7XkEJ$ zuSu`Fu998J9tOvwk8+odsKmkHhI@7a*^mZu)v$xs!fKB#iECgFimUT>;%_W`r)(Eq z19!LVgtC|}&LF2RwmG@JZadzxuqva0JwO%-bD@(O;!5Kygyp~KO7C3O%kFuL&?e>x zU2GL$=DX-QbKDZ^uN-e@4#{xyoDPmXMjpF^)RSk^hDdwN&N(`+o>j?5da1}2XNZ%DZ36o#R{cVUs8|R)j3N-T|Uk8Pov5{HsosoA`anq^i;1>PIioL;c#f%0CW;mYt*M0yLnxV+$#!J z*8F}zlA8vzDZcIJgNv(Hv@a;Ur|)Mq^9SY@rM3tQZ>+w)Cb?)~<4wZ}h2p}+)shxr zdwh$qdui#~Eb;Kd?z@`jS8v6;uPYQcF34L_Ij=CiG@~FfFTO86m*1Y!l$a&1mXtxJ ziiPEZ>KMoGD+?gWuojkor#^I>X@R`#+2?<`6-s=rXfKO+?I;b zD-ofQiLNecz9ts=>8p3h<#v;Xqt&SL(}()hkV^uC1;r#8MDAp7T+4NZ z>3wUfGP=^6)}y1WGOh$-F7X%h`erbKt5Nz$LbsQDL$kfAK$+;$HUC%RkZMt^78FqtK z;ZU+X$#k1OK}l-3wc`FIj^DYLp&N8RIK~bMxWH+)PEgmu4M20hGkpl|0R0~72LD>Q z9{IRK=`!%C(IvpT-U+ELUAEDlW|g$2LgSYWHa9_QYOM3VHNWA9TLOM z=9^V(hSsRo*l#wjEq)uXT?6-uwY9bQ&_DavcC0o3U+cY=|1qa&Nkd%gI=D(?H4054 z*jwp6LUWRvRB(;4Dvq74mDHve^V~6Zz9OZVX9B9@Xk)Yz@D?-Ro<_RZX1-2fW*bv- zc;+;Bj5$etwMyWS*yCiJS`Ijbj2>3~9Pli;W`1q5i)~2Laolhbt`!usOf(bC2A8-F zkamDOU}wwu##q-CrWhxub&gduB(Tj#jy2RKUI`^>MOKj!YGI5;GpRooW-)IF9C!t{ znC0XYv*c-RQp0p6+u5L-2sc>LEgIsq3T5+6i&XQiBDbg`)+*5^8ky*Ax|&{0)zVJ% z@{YAEh2717n{R1@m0zA-F{g8G@4PJ78teYEmp>5G$8F~Hva7hg{BB{nxIMo6sv2>( zFiSirsL1|F?HWUxNup29Nj0W8li_Ng3u6~^zZktxP1?p34f76lKv)Ot*+?Z2Z zQ-{{TjWk2O0k+6;+?j5HY2-|I!Hvw2=1N0XQ|U{%F1F5jTuU|O#_g1fSCa~AIUN9|6S_Of(4Tb>^cU9KGYAjyY zvktPs_0$OhbsCyi>d$fIYIU0Y|Au~FyT*KTeX1fwmE3bzYl2EFg-eL$TB)cbUY(Sa zTEEI9L6^>2nDub+gfbkkSUOT_li{+TD1Xqg(v_t5UR$BIJ@-l_I`EBQ@rpG|)M=_@ znb;&UY*446^;ry4S`N+BdD`V(uY!gfP<2+jCH-qv&}%Mug2|uY5ZMIQxyD$N$P#a1 zc3i7Xbj4Y?IaCW577D{eGr+CDL3VI+QfFzTW@YBQs7O&6n-V#bFE$j;B}!wZuO1=+&Fj3kAce*}@85 z7Ne0_%0+K6JK-|W+e>R%+9DhlRxK%w?G`pO&^wzdX1SmwF8e2)qC!EpuuITKQIc}L zQ{awiD@#Dv`5s|M8&$c|I@ckoPc`18yU}sIG8=DQD4(ZDIb4O;UhVu%{s3b@oWIj`0uS0&e{x>xI9jts4F!8V6F4u<%C zORO?Rli}Kc2H!2ofnm|);jX=eB}FPRt(L7(7vrYYN=ZkG^?GAUM~XQOy%<49w4&6mgg0p5=ljTQba7%jP@hTXx{O#im95&~7D68$+7> zzS{Jjb+EH<)UUI_9PVEWO<7}4%UM^y&bho+fTpE9&HP_hiSzebn4USQ8fb2Dsupsq z*0?3IbhPuM#=AVz4?XE%CA7k7S0$^H3|AYHEZ5d2nB$y_b9hcTf6xnoqL**fmH)>v zS{>~<=DUnD4>$gzET$}`gkD7vIte=)uI)rOwTA3wSG|`ey&l|DShj}S)we4$is$6a zsZX`UE0(kh4M{zzs7y3sZiyuYMmGr^SyGASX9^{5xJC1`{+}5$TxlICNT5%ZrJL5H zEul5lv0k65S?f$!Uf;9SnQo4Q%`(NkUb`B07C4u6cbIQCu+90~7)`VRvYUlI>b0D`F$znf{Hh(Ljo6D!yOVEGdoK0 zoK32GhSq2$PL7hMJA&7P*J^$lA7+)2gMwUs`QkcZ_8j!Z0ev#aThhnOP3q+r&Tsl@ z<1Y$UJE~{}l4kLsxQ5fSYSjaFSb7?YosM>N1HWSDZpy0eIRh&@&g`c2GZkFv@A_BR z#PuvQeTcC0wW1thsVkq-DN?g*1z8NEs+v;Hfs10N4wtiw6AWw(v!3Tjlrg&hB9BuE za(L*nUC(kdYB@4aM{N1GyXn#a6}@pq=k*Oq?eVqSiAwg<3oG$bN+F}0<@iLS|hGJ4;FrbX>bIv15(*?w)-^3sf~`QY}=D-yPIy9A|6 zv@N&y#dd@HH4H9Xw=nl+wA4FA1ESox?u6kv1K0Qdy6}!NN$HBF#6E6m#f?KZ8Z%Vj z@t9$>ZEJMUnOZmkEGc?$P>}1;y3U-Y{C^#PFsGT*?DrX^_z)cI*10+DpVQ=NJuI}? zq@>{rIlIbqMG>o-)&VzjC22YJr|ew3ZgW)?p69&Dg^TLp)@8oW@kh_1hc(ms3@#Jvh4nlg$4IGV)Uy;^Cjm}@s8-wx z-i=h^7OCO3I+>e$~ZMytE4LDH_nmtK-y-sY0 znF(W<3TNDn`c>+i>sMJ};knZEyjn)b5|tQcFwAJD=gq5feJ$j-tgT{$xSF$ulOG$h%t)G+(uu(yir`tNAXjJq|1NAN7x5#gCD zi(WX&D8Z|^=L(K8p4)qrVa`3usL4Lc(0ubgqxtLi8H&F58F>)5_P)Us599n@w~R!2M4eYBn0^>#bee6XEbdZ3+Z zf1#aPvaOwJ{pKvS*?E?#IdPVn*Lap{t36BYDmzQ9ef})9^0~8A$JVpd#=$ex;v;9M z&F`F{T5`@%vxn_egUwE@vD&FUZ`!F%Z`k3gYsa008t-p@iLPT5_I!h*?;YK|c4juO zkkQT@W_1aw$x1k*Dp(ElI%>aef%3Zir5|7YQO3?;y!aW0?#s9E@)q&|aJIqBrfOOi zql?I+Y*|%_SJFFUdg(QSVYvFC*BAq=-s*C?@&N_YvP5&OW`%7z`Z+@`4l~!e*mZTs z3d7a%7jf%K=f+kAuHeEHv#zv*ORR}i#MxElN?3&=RYmpkqN1+aIf6s9mkQ(KS!M zRI^04*mjS0ne2Q4y_cR#ub?*IHrVr=gr3zO+XH*t5TT(gdb*L4%dQc3(z=MJw{$Rb zsKRV&CB25|W4^t;8oxkS9>+U==KN95!#M?S;&oK%_7!%vnr>tC!`2T6UL5RGltsOG zBc+MV;&hS~)KW?fQHd{7FtY}(gmZo_Tt-APvFvqR`%{IQ$e|*~XGma4=|8ogic-VK zWA?J)AH9hNgF>k~Jui=0MmF%f#CaK&?E3c}%b~hsdW3fV5W_&<(m-!tTXIGA!-J0w z-#YjoE$f=EX?k`CUUAjeoHuZ+gMFA(u)pB!OZoWid0QIrETWFu^3fdUH!%(Dn#C{r2+5a3<}yQGKQ8`&Zs$y7qOaX4fHPXW(Gc`b&B$0y9CXgLIx~<(`ib! zZ~!i~MROW6a@kqU-B4juX%W3YqZV9LE9@aA(riudIz7h${<ExN00 zS=CKh|IvGMaqpjvvEbxT(GMYrC|ShQ!UxQ_ zj>vk$gqIT~xEhxcGNPVpg=|pzC2{c`iK_Ya3+-&xJzA-xET;6wrPmI2rRb?Hy0wF1zOWxhA5UQh2-Qi7 z_+n}iwTRc7RPtRn4vk3c<+t$A=Lbwr?V+{`tuTMld#`>bY)=#&VZcS3vY`H@lq$-A zb}QcaD$M|g>KtQ+Jx!6(I!C(Fkwvu;Qd++fFBfNV?sBo6gq5rpYH3PZ56i%o!nLOr zmUnO3U7NZHIj$m#sb+cyR~=_Mnr``7&9|wYkYymtR6} zWLB`;Z!{CVC3xReg_`$ac{I!$6!gYb%;~-^mpwq{^4qyt;v!)aX?v=;&_Yxz%*5S| zltNC8I4?ez-Og=_X(Fr1c4mvPm!Ercjkqg)__~4HtQC#KaND~?^EG`d8gA(pmd1h$ z&ZwmK^7CR#;%uJ~=D1pho$gp<=Nsc|1%@m1RP>RxhpJ)fh(e-*x=N1AaV5<{DQ4*w z%lYe>L2oo3C6A{>Xf+>irnUdbqpI zYkk@^&$JpG?Zdl?-p`&^a`(^wyy5TV*Ho`;eikozqUe9y{;Q?9m)5ok?M^ zxo*h04*BFVMi0+^Mb1*ya@#f1l_uCI>*4ft;ca*wuZq&a1$Xrd_cG&6mYY<|RX5s} z%Wt;dEL(1xi(aR=_jvKe-KNZ*i==eD&Et+5U>PgPR-s(=K4VC%UDW%f18+;p zWfv071lps9;qKGUZP5MF_%^lXZ9-Q}v9_fQ^D3xaMByhK{SK~%S*O1B99S!q9;%eK zsF7lSuz>91v*=f?#N{622O4SDgE|EP``Z-;h>?zJrLnd3{VR4eRC&^V+I^sVTa#ojDLw#A{?Wu)8>Y z+=|p@PCK)Z)5y$XWO3Tm3tHFdQ?)VRZ*pxMwT#!l#F(PEsXs-Ng1jhqqA9WG*7^j; zPlw>n=Uy#aEZ&N}oRTbGVp!&;A7$x$Yal zv``7B$wBGAXu9Mx}+6rfV$6EBNO_nZ&8?-dhDyp6D6cqF9 zd>upMc|+(X!M`QZYyY8S+aEUn5-4;D+yT_g13Vf}1LExV1Lo&ZD@Y5H}U!ttW9fC-nPp z{l|nN54WyX*>FWEUi=}h{Swz3@%m5j`fn+~nBOC8hY8zmqBWmT=iufXT%LosZpRhd zaH#=r%n~^tmFsc!8+b=I(XorLNZHDg6lc07LzAIPH>X)8R@mrto{`8|hqey+218nL zsy(ScK1Yb&$g1Zl(S|1Oh&Ml|zsk8>wiC}uFeNGzYm;@!mXsd2AILp@sPfDb&+q!+ z(j&VO@SByA)(`PkxB<2PvOlFhRr|Z1Rq8a;ugw3beE(|A{X=(X=Q_pu>tu_2mg-ZL ziEh$DX~X|NN#_EmcwO#)zdtTN?su4BF3kNtv-hjBtFG&1y{x-hrk0hpo28vP_3w0c z>vTHUprD|jLxBzj3OX3*V1q(If`WoU!U=RJ(4oMfhJqRjY*7Bsch5_A9N8K8{l4Gl z`#kT@_xn80Ps_HeZgBiW>dm3*$E5p3PSTFx-`b0)X-5t_3MUEguEu}3e~i2q1R)@N zZ#$06Zy$r<+s`^DEbuge#!YGq*_M0Cs6n? zRMw%W7I~kit4(8S??%{@T3bCrIK&4u(z;?|X>$hoW$&AMaiUPT;c!{YZ)X0{8c<#FXob zx^$_3WfUZ~&;)KH)E}BiO-Bxec5hr8n`uq2f{4`)spm~sSdZuTx2D&`5nhCuA-CHo zI~*6_w8o|=EdlHjc$i@lAA{xTE>bVr>MgMnqD=qR=<1kWRPQS(Ob76ZgzLcOz~)Fv zzA{>Q9tgEb0d1aKP4+%Pu-=Jt}ykCb$Y(fC+hYB5{{^uIAQG=e1!Ki5N7Nk#X{r`>F|B# z;${93J;TRv?sG7i*oJpmA`a|Dq&zaCaZwVW>7Oy2{b8=(KBwM)=Mt^_k z$zJ!;oROs)>YVc4Y8fm&MJcc~R1Ysr!zogjY;+LNQ?v@{BDHL|RDt(Tq?WE`E^*Y% z5XU9l`d&y_qMZkINB0W6eepgw*#^ip6A8*1)d~=tM*-R<to$_O&^XG{-Cx5f2+N8FA{v%5DWs07=1~yfvZ%~(rEOEv~Ouv2lPYFWZYvKUpbC-mP zfyBV}fOTl+3SUn){WPJK<^?NE>&GW9YGFR=NMZ&>fw3hl)D2b191~bdfFp#CuA#!+ zBTzPFTAOCB{}?syFMr+K-w`@QS)q|%WCX{`iXzuSz33w9^z&&+kmVSO-yD`@{`Pw! z1cQ-*CA~G67})47Ng&R%Lc*yi^(o$y=qdCp)yMjWL_d(?KP~yC=uugV^E~@$E--no zi8OIy^bENQ>n9^yme@rlzFHiRT%v42gqPxL>3T|$;sxCV!Jd8g%(-*97>b2Zk>TN~ zAK0&@!}y6;z^sxxU1S`?*yW^ENe|DwJ3bT!!gm;%x9_?-RG`S6So7I^O3zK`4e1A`FN+q)} zEg*XEZ21{Yu8!?z6e&qc8gHOc8YoLlfn*_l+!au%B~WPM3u@#~vPE5| z6$pTU?NMj4JzI}NN{(ADb_Nr4z6=+bc>m1>$$+^|F$%o zmu`pdvrMUG_nYw=^`q13FRZhyWaxKP^H-C%6h*LF zA*`xoMNx5}EzgOSd?VjD-T5iM%c+BVT%+21*6E;Wq??oyD~3sRP(9@uPRV0}46!V+ zO6$@*y)sc*Mr%{1VfB1nx_#y54S>M1iY&EIfv>9zn{y8wdFfT8eFClDW8YIBs^1zI z^UZ1dHbquglOfs4psPRD=aMCQR;a6AuiU+Ub3mfMGS;`o(+Vp6_ylB?wvNQf0Sk3; znYKhOdJ)b!tuYPUGT$M}iOUl2I7l6ipJAYwh;_OTH1|fYNd~`0S5q%E=w7-Nsi{^0 zK7p$Xwki3?j1=dm4WBJ5411ba>b|d8EbRB}ZSSkj1{d%foi~H%DNCxu#kt0j+Ewji zxvRn|q`Ct5D1FR*)Ns&7cS^F62PhV?1!Ees?UXxU@kuI#CW&C-4H@RL6V82bVbX%s zHeMxlS36IrW>p7lCS)-n<4t8n^I&#&c(?8T&QbU7=792|XK!(j@%EZnsc5qHrTnlA@Dv(#E+}KtD3dJuSKWK zS0qOYyNs;zb(*`1x8Tx;>UV<+?t2Zlluwx9O&tdth4Qh6G&$)Ns17*g#xcV|%~kE2 z@J^fRw&o+K{5Z0VR%cbSMoCVr5gSC&`2xK#Q|L2)8-(VNQf`^|UZ4Dg;RcnkdLTYt z`=s|~2ot9o+fQ zO-6hu-e=@D_WKV;@5;)`@=ky9hT=f&Yh^Xc_8TsDDhyY8mr(ojmQmaH)5oeum50N3 zJFoLh1%Y8|IOCz;(%X>%d#e%584O04qY`$69%hj0KKEzAKmL7E_^3=LNjWf z^mWrcA;7-FVzS_%5vGL<}7xH{MCo=qNv2-@$s zT&d6;vdrtg26i+{0xQ24QlZM zhLLQ)5`;~God#qJvcj?gyCE$vbT~S8{C^jAhD(xdQ454_rN08 zqvPXOkV(%Oh&Ii@EeITp0zg8T$db)Dulobw&>S<(s(5-VpDQ2E9_^4$x%R<(Ej%+( zrez`If+a`*DhV&WLmIe2mWA4&gC(-!f;Q{_j(m0WNd8Fhx-#GPAGYf)pN#I+j2g%M zqS}<1V?JP+hw+*WE;xFky@mbJ|Cc`2u%POJ@aaYkISwipun1`gz(K!^)4tuOi?@`2 zgEUr@{b~|~30Q^{2JNQsaFeSd{VPOyU-~-#4K-f2UvrgeHhF_rppAnSls^19)JPeC1ej#BtC&Zk~w$4LJsEpUED`eXe**R_N|` z3={-$w(SVm>u5s&D(VaVYm$?3HqNtdGGLzRfQpm?PT5?c1^}HQn%W?O)u?VfNWxlg zc_BUnL%PdpL%F*OyUa49q$o;GTBiI1mQhe~pp|uf4pCB6yaDvw-PPg7)s}Or+d2n= z3ZQ>p6mKyiu@?exjp~J^UelhloV7fTmY@8P)cyKLB+lq;>XGHD+$S}>FbNkYu(8_; zmC(`~lqmT+K|^5S!CJhb^4g8*&wHhAnOl~;#e1aq&B77Y(e`265#y)Rhy8Q5nZkYp zjJ)@V?cdFWQ-M#3JmSW2|D1nLH=_i`3@R+WX}M=!1A)XW`{&qSak>vk$QkcYbvP`m z%}3`uvwrY-*z&w=<>6|7{D||?L6zoAP+{PLP199EgXq#mI{ZYj$0JUI9L*l^zK3w4 zyJxR|PxN!(=O00a&)Rl*KIg~ZfR#Lg8oN3Vquc|?eG1g1^T!a`&PocGaIb-rj+q6N z6?(7t+*p>B`B7$(ayCPrn+D@2%tAk7=Z|4B`>!y$^>-lRCtf4-kG@8hBd?K>U%p2A zw_hXGAG}5yR$eDPhYC{l+pm-1`s-vQ^E%nkMaak#uanMSy-vD*`8sKQF+#35Bc%He z5ppLJA(h1lx%t}&nf@R`TK^a!HR>pte>h6|DgIwZ$<)hH(pZay-9-T{Bn)wd%6q2t!0DGAX_wR->Q6_jkCw= z=nPg`Aw1Acc?KF9Pra{;(mjj<#_2HW}NP%<;1E3*rzD@ zThE?zj#-$Uey`xt`HrG7V;ic@nq^?d4CU?k+_iQnHwcC^t7KW2ZN8%?&Cd?w&9oxd z)`vZfn`7(KPz{VW%P6tYi(G(XhJVtJkERx3u`!hLBCK9FtY0IzGc(aZ=g#XX+msT} zVuj520lblR$~wIhnyhk^V@8&xS0!sQ`~yXbk`@=l1^6%^t2*d}T2&sQtA? z{Bh`mH!qYGxTe)jnqg#YzTNo#!>6*c+Fqv)DQ_}dS-wd#)fjj3<7|AQ(Ghy3jvids z33>s1xrYZsbVBvj<68@b4eYz2^bgSRQl zOH&FHX{BGP-k~o6Lf9Evc7WysmR;j@sR>FKv;Y>^@CRg@iCiM<^aP{C+T`N$iY+D> z4sVB}XKXT7r?oT7tXlm^0+#Zj+@b6Q7|>whW(&{5+j*}_agM1##D|G0C&yDRI0kZq zWkms|*F2m)5tn+0qD&9dJ=_qaY4||p;yJwW9iwkk*7o{9!GIRlhv;u8%ZIoP3qgEi88k-Sx&}h5gxC&!O~9)!Bjt zr6Cfs;WNd4QEt@ycVy{x%XCr)7i5#D*qX)eXQA2KI}bG8-!SOhg+tS>8{pYjcLWPr@(Gs zhj(zjL*@zhZk$#Yzgl(D@(?nfw_RNw##vp3OKkXH?CAuL4*D;wK!4+XitV>6|yV~;R<+kJIE8JHok9CfkhYRciJ1lEU zRKuP_UTKj5e?(Pba>UJPK#))KHDXO~qp#E794KB6@>F5Li9Fz``-%sngT(>ck?5h$ zf%Zc26S+gSTivqSVDhyJijTt#i?hNu3l_xwHp|R$OqLHT`8Bbjr+l4zShve@L-NY< z`RXZ05arI;_LqNvoDvN)w>Q~S>;aqSn8`AP+%WijORtjeyw2O#=4*Iaj)z&6!^O{P zrT`(ijiLBVbr$%TQ|omu)XsrC*c-gbJPTBC%zdhQRMQ(jo;=vxQxv6dw?Tk5%i>4E z-!*V+%+7)8>FReKb52&8<>2BnXSdAq+<^|KDzwdHXTf*SE@nu~%M~)luD=qqLsgyMK8$@M( zmJ?JszoA19<`RVYiQDMGRfZnDRpZGb#F7U=j z9z;7&hdnf$%B+2yk>4+No=yGhX=K=w-e(?e_O!>^tjx=g6Q0E5M0HqoR5J>fB8yAY z5~HLni86u3Nei?3_z#egmZRcI;$_f&TYuD|{E+?5o!xb16sCFT2M(#T-FQUqmAEKs{ zUREav+uzXI55#A-AE25YL_M*4Rg(V+v2(O^%syi6>$V?6?LTM{-bFRZT9WwEct*Cv zS?2G!|A2CzgSa8q(ygmSl;CPnlcJ;7cuJOvIJ-i{?GH?ZF8(TE;)FO_X$5ZtE4H~M zeuh(gavUGYIr+6;ozM?#1}0lSLal}FREVtndLjR<#tUa147@G-#K>>gb122~Ol42m zK6s3%{Ou)5^HoAQt&>K0&BuDWAC6l}wBkT#H_p+ml0`<65tP_qfqF)(pha*BS{Urh z$tu&LzDeip@fRK<+(eunWI6d+VNq0&*50^oOT0e5Y9`EISRd~`h14I0P)urto3XLY zUVeb@ohj~dvKnZUvCOKoH@T~Z!U3B_`Fp4c;1WiL(O>t1{c|T@%;h@L4vxyCR-yNR zPZxWfV-7Ha4v0F7IDTuRPd5{11A^?X&Q^zWy}7%}G_%a9=uF@=O2g%$&DSWul0GsX zeiQxX{_>B}+q=>dFZ&n7KZZl!`2B$XU21;jZ}N{uD?_bazj^8jjyS^ zwF0<%ppOorWMPSC7y*?uYT28XwE6Y-T|{Vhi&=6U>MLk9TkKdy7rF{l=TnluRqOCFQnxf zo|1nl8#BV0HzZ`shvh?nxXLB+uGY`AT5V6vdw9AriR+5cN zmikLZN$pkf^2_4*!{XNAjsK@!Og-)-JdNjwo!ON^+^%7x*Eg_nCc@hoT<`1dUEbHd zF~5K1+WhsK1N9^JftC5Cqo#?_gne?SUp=^SV|P$}mvtz>?+&((X@^2rtPiaZwIoZ` zpAd8lrhf7u1}0?k0iK_%CkVCDq)peqqbO) z=N=_$-5*h-qq$L~+$~G93hXLJ$F>RF{mENW?>ujzh=o-({b;HDAl0{fhu>*C6(c0qt&5$*`BeJR!!)kUl$Tz=cYZ6f-T18qfI zYU>N~gVTlAW|d>s$M=*ZR%vV|--la;to3e>bZ-o>Qmm33q8@m!?r%mHlawq+^B5~4 z)<1Z^nu)i0)xC*5J3`C5_a_ck9^f=SmTLu8_QvAQsl+!ougo8}?x4&`Eqj%P&-MZ| zHT5zFrSTSc)|fQJS(=4l$!$MIMwoga=?HU`ujj5yH+yjM>b9uc8{o&J8Q~fa-^325 z&c;@iW4VtfW}qg}1v~w2aI|>KX7c54;7;UI!a2+0fE5QooLNIPr(6 z$>(39?es4nOG(xaS*1H<9jS;6(W2QYB}u+7CD${o^wsJwC`ne3SG+RDtUmAz)hKW5 zPcn?O>DZ-1z6e#K0wPb#!({9qZ%{Iv9bxe?QBdNP80DZ7X&3XTj&R0)mB95Nc)tmA zL5jbua1AdV&F`|0*ssalvHbOj7A=2%^I2j^h1U1uSyEr?nq7efY9DY-X!`>4m_U73 z=8Z2Y<(rJ6`QOT8xhdOFT-uh`1`|K}F)DI(>^P_>EqxP)&8xoL@Y<38i&|E;>F>xx z-JEPq`vy`ptzcOaT@&kWc1p0kD4%Fvj&muBBXM>E{wc8CGW!nSBwJ;*SpK2`AjNsu z+@I_93^w{~f~2TJ7U)*AnLbk5ml>`MS57BxSvylXz4RBfH5wVM33y_qM6H_= zx0DukAl59?bSO>x9W%!;a$X_hT;s29NwG3AFvQ)~@5iL8Hi+>*q*Na6(=)Vs!anJE z{M#!^N;E_4)Cs5gbt1>~47wZv^e5VD&(2ka9-f;6*iFyF&Dkk76eiXp>*&o#yy!oF zPWinw@Z)790BO)xItvyce$2aRXZW9NQ%!<%Cd zjTgtV3d86t)2roA)#;aEkk-9&q1x|UL+!CB&%xCd7?OyoNW_i@Bq=bsjlu4ez9+@f zbDe+vA;mK4Ig}K|1xkLAVx;Nl8$bPueE=)Kb*W3HWn0IWWa{3v-U!wDHy=?U!B09U z2}*`sW3Di(xhAzcss*DC@HeRVcsNa~F>&71Ssx?A(Xu1+J2HG69FpawJDhd4ex%N} z4*CB6Br*xN05(Hph}@#a=z0by*W;U%HR{y)D7DCqG945n%SiJ~#n}$75%gAv^i!4y zJJ-rq^I)v$60e@dX=a#owTg5M#TxFFuFP&5jN=v^&>jMv8p5VW*y;wMMr?f zpRh24tPZhQhe5?zR4tIhA>pP-yK8;FeUDF%T(Zr{$f*6w)L4SM$~SRV7I!!)z@`Ap zB`on*rd*s2<~n{yCi72KFnnQ7E_*8DuJP{TeMsO(c_NBTNX z9Eq_@EN9?)8~*EYr1vm@MOWXKxT zAxg8FJt|I(siYbCUfUOIfBOqs>)p7vMe|V0ETbd{Y|^4_h%>`lHqbzu9U?cK$ij2V zZ2}d?!3cv5q*?G4RX||io(OqqMW%mc6Df0_bMc`NieyTnF&!ZcLyT zZ7sTnHyPD`u2Q@Zw_tkNJEXO5g=eMP=qeEVpvI+u_Ixl&2I%OCtT4#8(Mum?sKIA$ zgD^yC63ssrk?lLpk?5%Z8q27qck@|T(6?4kI<9da^&WAIl&6cIEgaD>abqhdt4Z-t zqfFZ~p-Zl>J7pd3@>V5lVv|hYvko6_7wI4VDN$hS3;_bSJ;3=^MJ~>`GIOk&?-ZoX zPXr}F5F2GyLu&pZkv(m@8K)p*VXa))q=2I$#Rf{8p62g(|4w*wEoxz=IM8~|O?&$p z;uoCwLr+r-J!yseq@Q797dQ2UMO@{0*sr`~Da{ZLc!URwPJMpBBl9F!$_$DY*p@)}{W^c9iOInFlKxuwsSDU7x zst7Au;Z?{MZIuP+``D{Muf?9S+`ug>a8Z+6=02d?6_+--9bpv|HH3wpFhECV!obB< zk}3|C`wg~Iq7mcPB_3u?+!X!Ag*pRovf%EyxNtHq^)QW!4w(hm?vQCo?vQsz6_$dY zNd8-=zb&uC<0v|1?sp7mMhpK$o&M~w5ikx0UuN+R!Xh0?(aw2Mk^%-i;^ZfRsFU1= zz&(-PXYrX)fbIJ24~XsupUL+vfooNdnvSLxV$v2X&t8(n-@I+HOvC4+Ii7~ufC#On zuS_jVHWsT+ac(|4?6}6?6YaH(79af1miPj2IXi~(fLx|oZEzWt<=z=bPqN206dla2 zyi3_yv`R~o<%QJr_GJBd3BKAzAt9F9d8unS^g^0q9gpBfDp$9kS|NaN0jMOHfV=NK zMQn;RJ00Y|p?%DMOFm+?)&Bp~#E@sy z`_kvsRKO_OHn-rL-4W)85_6^Nwhl!geAxVo+$iV`=2~pX#Mx%J$QU{wfJGLdxj3D_ zd@3jQe#-C~!d-VdGWSup%s&?$t#X{8e@%`s$T?LO75^)^5SArHO;MI(8~5B;9oF>~ z2hy|xQfq`eW<8;K|MTloA0tJRIF;W@Ql5J0E%bxkI<}cCpe<^s?kCD0xX|;nFAQbo z5{jo65{l5klOH^X+O%JYU*SC^D+`}`Yig65XO|?a3Kz#J^@;2wYUY;MM>(gYrCCL; zksnk9`F<{lVY-GIrFwcTsvi?ouwWz0L(Neiel4|V-d!}=T6M!^a8*9DmuUMAvFka}d4SzrgJ{R5e|f+#p0oK7Dz z6R>&@Td%H6grC<_{UhEXzY%pNY%|6MTvO+ndN8s~7{C4guB`MA)BhUPE06oYSL%-F zb#EZmZZ}MwO6bMMo_u$|AB-j_!P(b2p7TX+q0ju)&hrFrR*3uCxX31@L3iNBTpUg9 zin?Hf2@#gF)1Q)TF;(wAM=4IWB@L-g8Xqc-)JEOIs-w!WmA&d~BYOkr+Y! zec562>CWluY4aUcrLfC`rOVc`>+jNZ_h?2t!!~Ia!pIJ>0l;Pa%RebPX|3161;NV6 zEO#l}lnZ!Y-iy|emcGr{7L{0x zcxAh1Rf0G1?ISxv5E8TNeaoPX)_B%FS3g!t`bl_Sct41yJ-!j&$i}FBBr$;V7O@z~ z3sU?5A7|0Tq)X&w@L^1)qz0y|MVH|##wArrN{;$}|8+2;%zE@AB0l8i*aRMNPK=8_ z+Y*TVK#VvK$is9`fE^9_DYagmz`MVCTYNl*@UCL=iJzhZ+e!1!<#NU;Rk08 z4x5JC*IrZ+MGCH5FSE-0oERTY7DX0nk{g{be%2`I^ec^O)a0H&r>AUy*jiPjrtP9F z>N3rW$}|fz&G!lnB99pF#x}W1R-BGWOh;GAaGO;#DbZ6>G~9m9L~K(wKyq~l?INqR z+q=@M?%m)maq7~_?q#{PFC>f2v>>FkX(~dzMBqM6dE|Saf-%l12~HchLB4^T8>|YI zxX@tMw!eM2alE?Qc;0Y%ZLl-j7*CJ+N6N=+`U7|` zjZuA%wy!m|I+mG@EUM@8`!^1C_ipSB9BwTvPcKiG#%kWZ#fKaKVyn}jlqT!rAY z4K@heHxL5XAJO`+ziCB2$})eGVr9EIe#WsHGlrIFA)>=c!w{C`y6P3R}JeM_8GRt0!J!m|oo6B*JaG{LWAIEkK6f9Q^7 zMS`mbkDIur^#kNO8Bl<3l-fmkftr_MZC_recQ19MJ$KAPg%yutXooDZU~pINIy0{}XqocPcpku;YI908O3tbJRUFIU z`8DbW)6UIIK&)UU3->A|>ea6Ulqt-!wwds4mMP^J%z?x)qT!WUS@?zckW%3o04LP1 z>M!0B?XAkv62s-u`D71-j05qR_OU1rpF^5uxkXJX0=mKqT;E`0c)lps!ac5odkDdD z#oUO$Zo$x)NWEx9+#2&SaL$5(p#lmFvcQP>4u*jXltK^k(==Rih#UDOC|k?~1=jpU z+*|jei*ONJ%oYuM5M1T7#4(XL;WbIY39v?fj_L=$%>Z-)V@iCU=CQga9EKjkp+OpE|q;GO_#AJg8jokLbp8pwf);_Sxv5V!g&&fu0Qi={}m4>!cPQrldOR!g92Oy1|!{<>)}^fCi&E25?6KPzOS{ zP|0_5l&mC}SA$(8gDiMwo@F%1@5sOj3u??L4|L&BdMr5BKHHhljmL+gOv6FTU~E{yEQlj%VQ+`5oc1gJA^^X6I^m`9u+3gjzsGnunKGWRG@+8`3hZ3XXi6 zvP9xjkF5x`el@7~iM4BE<6ENvmKA2SJHI*|8_(afHX51;jJ3vgW_@$9nZ)GIMEvFZ zwRFHViuT_xHR zB**hGqk|BaIiUS_V=nCwSUl+|&ek)?Vf`~w^=D;Kad{t@7v0aO@oHjAuX8N#c!nrV zhwcc?=D%;cZFxE}rJr26aeaLK`ju;!$0}dl8qI$xa#dusKE6GxDlAHQVhqZmH`!)s>Bg?nPq}vQV!$j8UW&3p&wTEa;y(0?<9_7X!MTswO zi#B^!cmcjvu))jBZqC{F?9A2=?F?>x{2EaM4_Bm|&$C^^H7ZCwrb-r6SnkSBxcilS z3w4LUJ=<6LE?K^Br@tl7OL6^J<<#b6Wnyy#Zjm1Y#9r#xO2NT#8-PC`0uHHU;eH!^ z%8Cl82L7Q8uD(6iA#tzh7<+r5MJqgON2&?it;t&qJ%%0(G-+0iSz|gCjUmHG2dFwc ztadt)p+36&9yrU1jb32n(o0mUbZs;y*m&|;!ZvOZJ3w$W?ulM#-cVa??s1HG#ATNM zAwP0+n%vc=MCMEB-cg?CkY^C*`o;x*Zkx771>GVB(cG^a_fIy4LV-UZ8~q%v>JFdE zf@Y3F$WJnKYy&qgDDwmV94w4ihntg~;GaQ`?+EK(itLT_?r@e_JK*^t0P@t2{0XIQ z%Ji>@xAsP@OK8zd#9n-evLjm`Qj4|Hmcli$!VI|>xRk3Q@Gx^sqr@iF4Qa#%Zsgs6 zPrv;-vJS0G#iaV4>`QdzSe#w#QE_nVUNdR0uvQnW(u}Z0i$KJ)A9VF+`qu_qk`}8F ze2=m|v^}8ig%9Q>L@r?hL?$kDxy()hO~~I^3sThL#N_hA+LUi{dqDq*j116=yTrlg z-de%3qB5J=y(9|_Z*$kE-haMHfRcBza7J#Nt?Sbb6$DjqfnI4;9OMUCeg?Qzmgi7* z)(q}Y)vuh!Imiw6+Ar?d>fNB?Xb>jM!YZME&rP%yRhhp>Bla+L(Ptnk)}{G-mfraT zu{ze0qzCQkagK|Mm|eChamiGS8WvhjkPic;PCkq~Sj1c1nnh47LD&HB`5- z+2de1`52S^T+blR^|R64!!^(@ot=A6(K1g3wR(e+a@*duFXfM(qqNRg22M_vO7c^H1fqA0#C9RO+&P2 z*6DV}j&KFM?mBocFWXIa$R;-_O7=t#8EY(-DGttj?0D^k5~MgRMj z6}|X7`2VsMH32AN1{?DJ5VzdMB`SFV)-(1SmL>xHHQpw-!oi&)Ru2Px2sgRQEHD(x zqLQYerfFwzN5{G}b86+>>VoU3SCE5I7%#BPtXwZXKd|tY-gp58*$()s4!(d?Z@qxF z-h2V&5-*@s@*J^c5B7m%&-0!nmVK#m7qM5YH{L>k?TXbb+NpLh|eAAb>LjYNF| za3tOLc5F{<8xw8JjcuD7CmY+gZD(UU8)w4}Hnwf^Kku*VtFLNmrh2BQ`}Vo#oaec> zPd}HXXmKujtRQr0jfM1}`1)1y`fd?tw(~{Y%=<(fbD!^}z5i~yu2zw)G5%7wT=zt$ zpO;877{vs0c&8E#3O=X+&#PV{>CZT0i!cLWl39Q)FyiK_*Id2LuI#Iw6IS z&%&Z*`})fXCB^F>Ma!>$9fI#rUBR1{)i#bUGaOL zCiI!&MZW{#C^#>^E4nFBB*2dsf@oc`%xy)aUC*SvO8N$#s1A(qQ zIW%p$C!*nk=8nY{!_lw&%k1LIO>bU~!Wo;BSbSwP;f>Xd-%!nOkK#~rGQvpy9lNlk zS9JF8=Wn0QYVlbER8*Q|kF77Vs_qIZ=3_eDX@;Kjpx-w^F5b*rn!L&+b@5k($b@%3 zV%m`AL08OTt&?JpQ6}+$iIyzzXL}u^oCUinj7*I|Ymdr|hl8wc=a%XzMz;6XD-!`i z^d@f)h|~TXI%H+P%v99UX!}ElXR$fIi}BOAT8|H}mwFkrO?tMwsY|A%4zFw@EVqyL z?TxoDL^}(Wbd)z$cmn@085nS@2pn|Ka~%j)b*?#C-nEn~U!d6!#=1u)eH{qQC3bw# zwEq<(uxuks;lVxhquFAViwZ*M){f1NA7wF5ru3^9>t}E5{Y9>ew~@6JzulU!C@b&5 zmEk23(<|K(VDpy`?VfY;TOT-v(3Fg9QMcKwxK_s5A4}yZjf0c};S8iFtls#1Nxt~P zT!(af#l9O1ps!UvuhG;w-7v%rZl>YdWO;-%x3RX^AyL zgB(D7h+;AJcmg@gx27D6cujol(-MP9ZHz=eihQDF!;W#MP)8~&RbmK-C>j7~s%Y|+Pt0VhJiuiF8opCjGb``RlU#?yOt&@FdCF-Ht z##omxCUT~f2=SkQn$Keqi1MV4@MPGvH^;t=u;0=)U=~Yniyo2S>-{xxwiVA6Q4vD! zm0}qCI6ne_k@*928kn##2&rL>l zGtine&73LMWF%ZZl0gJsFb6{Bb40TIRucY4+~$3=w#7rKi+hQ%N~c4Ol%7X34>QU_ zVgJ%JN?xiyN6Oy~8MkmY_4&09xnOPg`dN>()Xs?-V~=Xtn8l9z8*UNj4of7f0UYAU zmG0f&DhO1j=y7;qQHUg4WnZh^yLrKX`uEq5dKm8c%`C+{ zwai#vq2$FHZuLrgdcX0`(5Tbcwdq`{Z2an4VTVf|7|t3|kapD1ff|&FSNd1bnI3Ux z6b%(1Nb^=zB=0OE8vlhDYRtMQ;cU6fm5$XSGG$~+`*utc8I(Tf8-LF)V&>=Vyd#xE zWErl4xBuZ9)hOLC2OuHx004_WkHqFi2`F7sg*TN$M@ z7zVn*6iZzD;IAkx%%KCj`c?oQH!w6xTxdo+I#C!?Vk2O8HzHry z^Yr>@mJ#2W#PV8{Y~)gbO#K2^$?-2r(b(kIdrV+GB^SQNcv|$MGZBTDzeF?OQRmsU za?TwGG%?+bl|v>>@b9CM_sesf(Y>OwaLAnuV;^o}XR)^wIs%$-9d*rcc8YDIWI#2V zMd=1^xobt2jxrcaz_FVbt*yfn8?IJaK8i1Aq6V@!;4t$3zIO#oE#7mPJUig*N+6st zzMyfSuiSCyn<|)|H3Khba_+)+d~M<_$dvbQK!;82{HD`EGkV!y?{!adFH_6qzEL2= zE>17ZXgB*O`h;4>*vzxUVi_A7dk4L8^h5IE$JyM_?<%v4Dfa|b9Ll1*KYZElI){Tz zq$!r&ZC;j1&Qp9J&f3={c{na&dv*)$|9CEXr}#`WqF>TzM_7dy=yEZe+t#iqS$D_#gNTB;ENTYg&Ly-fMphc`-?GKy89gg$1>P* zS1h9)%_BHH33j9zVm;TZ3sy+ns0mggt&4ft$jwv#6nfo#sQ*XPyI#{@b}Z~ekE~h7 z(Sdn*>uyGxvD>*BL+-6IPCT^3j%nyMrKWP8?aW)CU7j~D$tU*C`8d@aEEyA7l(duO z;ROLk@);?s={ZxxaeIgWB3mm24lI~^b{)-c*keFoCBmYY>G!pz3NcBFn zwS!f=tWb0!#aLHK)oQFmj1HI~XX>#zAc3tc3o}^#tm}{PAK=s(!k>G4;p)Sndy1IQ z!gHzRMd{lsZ0tHE!613)3R&pL;cS5hmC$h z&(aIGj9`$h#K7aX@t)sfAmvz&NpAh_(7Q>G*FhHL@+ykW!kS)?2fphPxq)?kY z#bWt<=$}OYy1Q`2hDRf>OMClgMGi7f5fyq(YkdYBzrWZ%SKRc0sLKRu;!)7yD92Ir z5q&|O5c(8NqRivcd~ThO&vZjMqkDk&1Cm!6zVGTN%tZcGj!e9`BrCI**N5GHM)SEH z1BYs-q_TqTicJTrZ>v|cbK8O5yWbO65zZvjwS?TCi zl9~sJ{Rxht*5x@jsu)Z}g^-$IXDDlE&yH(Q5e=fF5pS3Z#t#Nto8{=b9?)9DCQL*^ z&$f|}I_bLUi_olA!i^lpzWxrlYPxCdYH(xfb7d^pBI;^n3D|$tLiG-p0uyu@pXF|n z{tC8HE6|beUgYi92~o#Ws2l%>$ ztG=A_P}t2%p4^(;BWvYgFbxpA2Xfi}%4z%&A#Wek;~QHiDYT7Id)sxF>J7;MyH=Xz zKHIuOM(VqCJr4a5;l(lAv_RtjX-v+McxCf(3!_vzsV;bV*XO1GVa-SNu?+50R9qPL zXW~3&NF=#>f^mL4pmeySd1$Ter3fq2Fb<6YE$$wcU9!JDwu`YCR3odXb(n8^k5z)7 zCw_iJuPr{Jy)H;D{C1}3CRD%Xezd6H+fllb8|ee%T26kqe6tP6lY-4Q~Xym_mYjn$&niN0OcW<_LpK>c-93^9p zu^v5pdsuJjS>2ncZXsa*0%RCu>h$qAE(&5izhlq%{e6P3uU=`{?B<|iq0^|X+1eti zxeqQ*`%z`dP)JVym7rCp4Ocwyq6$E$PYanyDmAVS5)HZKE-F zCf$q*{<4P{J)M$T!QJI3>LM_}q_mBS?nbxf^K_&2qqXpF-F--~4S-wdiUjUTA?i0A z*?XFZuDAc3s31wy{V6Pce4*0UH?H5BsMPJU0|*h$3?D>o_^uYgxA`%>-uoSYwhKfQ zBbgM3{S+Fm9ZgfhI2hUQIfS`sN2_v3J`z4YS;po#E+P9UkghL^I2#Nww;fQcfm4ad zDeq;s)yDD0R;kC2Wg`%6UA=)bQTGD6Cdo(^&uVhpfSTJg2olrqU@Pi?u4JG}H4&S5 z(7wU8JRfyNzB!%J$D0MjoO_m;~&axl@Q7q=Mo6 zzXW(lG3pAVVV%W~U!IP)vjV730&8#Ey_Pd-7H*(PkJWgZ!v{d(2Jr6@!{7wX>Gx-0 z0wH8a_;L!=+R4#c1^uO-aaT6~heh?wok>S&6CxdRt8f_v0X^ravQk(Q0u=Rd6BisS zr1cHls$ACmT9h>ld?8nIN3f(UZbYqpw3es-ts7p#^{mA?0s*LNfn7p&z4;SZeVDp$ z%kAC?Brx3LF;S_E+0CA4mWusP7!ji?L|r^8ANGw%aad1aNHcD=5e5etcb6=WxHywr zD8!4Di90`=CYjiS8~;s)tB<*ryq^HyU9grL>1_-Q1ak}=*Nb?ypkDBccI)3b zLV$xgny2k5T&j5}2Aazb1`>9?VJDXD(gbT$baxvA)AoDu37+5DXXbU&_F&n*iE}o* zTu$3wdYgxO4>T?343($1cUY;d3);4ec#^xPTQ2yFJ4GuXl##3NASY$s?;IC~EifVG z{V*_HOFh4tT)J$$uzuWLEgC2-QKFg{Wc=x@_KudyHZgb?U-E)ad}(8_u>ti!WKOT` zWc4EU+|d}qgw-qD!RH}KNEOrwHz*+Z*@UH!=)KLVX&YJ)2s=MuJtP+nB6v|0NS z|Bip2y{QfOP)8Ol@lwC+Uo5^U;fQR1oZ zwTUgqv6>zKk=Nt&Z+iB?cf!>3+n zfAgH?w)2%3&gMf04QVX~3BGuuf`SwENgM?{v^sB@xYAK4N?qKK)|rhBAFmow zXY|&WAvm!|caoP+Ol^#}b5gP2TT(%zp`7e5FxY4GfV07T@@ic@A8KitRjl`XRZ$oiBPE(Yy2X*f;g;(nR{kCzj-#e zef|z_W!{sMJ{!Q#%Scf_>lhqq&(#~!v^Q}|fMKRM#cXc`W4+HtgF!2E>4_5Nmc49a zBAh+P&i+a1?2f?j*O5VbE3#T_?t1%L>moklnBeO@LJow23)!NBhnjo0mYoYZ)SS<6 zux=4zyJ%UYZfSL$&gHwZ=IYt#$Xn)OkZVLwSE~?mkbuwQY&RR_MzS+&f-fm?h{yh?=yT6&w7r^T6W9DOPGgh_l9Nv^+!lncXU$B zxIP=ss9vcrprl<*w|nER{jBk8Z6BHO2?Izni<(u}Z@0&5^-e@OA3gI4*scI;7k{3G?=i|26}BBd9XTbs zFE1NmnHr6Ysb1n|_m(y}B!0->t7sKx1))DqW*=NPP$RB>{GCg{! zsUf<%M~!wv>IGX8L_j~VYCfdcvB34wxFuz-fW5Z`@WH@tfEFjI>o}t@wZcjxNWhv` z+^}%UBvZ3LWMQLup-lsCrHaq8YwdCUZ|Njjg#O&SQH|yP$&{>(JC&_4dxBDpK=aSJ z4kFLMCei&&)%oL!~a{Zocazv9p;!TH2IT_4H>kG z4yWw;SlY@_In0vRdJxvib*r?oQV2aRxxm;jlPWjUGc81Nk&5=BNG*&`^XahP{U-{R z;Sx2Tkdt`^DzK#@l?sQwqn;*qTf4?bzBX^)7G#-Bbw~Ca5CJs+?u-p9UV=9sEl+wU zF<7dMX7YT!5Nq&yAvSJWof>od^L}Cyw+!~p1 z#LsWPHbN4b^%bsITMN(d91t=tUv?swMWPQH763c(SIW>|PnINFw&h4Co!7+~#? z%Mw3Z#MiZfN@Gx_?cLqvK4D@Wc(D3kwKw&ShH5*edHiB(j0fg31(fl&xrYhL*=)^1 zxasmwva93`as-W32eiA61vAtX3_0jVNObYXT&lSgzCOa?vD6fi`@u5!57z6t_}?Zc z2}rrQnKJQn@Wl*pzazAho)0mQYB~IhXdv^h$Svx!pEPY)I%=qJAkKc@eiv9nEE{l7}? zwCC@H>}I>m*FOn$Nij0sHlQS+1^W*--=HW?w7C=6zupn{+pVCX)e~E%f56t-{Puw3 zkt-j5;ft?W-ZV)l;A7)2Y7f{gHY0Q?SE+!~<`Xg+sy46fMB8GNVrQ&YlE$B(L#VIc zId3;|IU!H&p;H$Q%@G@ zw!(OJGL01RLUQ9iooXb^qoXx$o1ERzEF;H)Vhhs0BagV3OB11#W@b3BoGnZJ2Qpga;2rV7H#JA8n*c!(u`n=OV}=t zaivii-=w~Vc@8Ac(2+5kvZ7GBEt1a%n_KFQ<`!;Ry)dYNfJzM@kjNBTXs%SDi;Lus za{bm_2R@oF^E3LlKam-7Kzo~G2>-dzt_RlkXwS#9({08c_rLrL)CT}6Bfr#Q7>7|m zETLPyP9G!C9nVXsgJf~@sc-1ox{dUi_iv9r+XF+w*Lh*3-JfXMFED5%IVtui%1&1u zT;r^v#NGgUXIePuEhxPjB-G50nn-G`z*{GjC<0tl1%&YBKaEJH)g0PEDr`GQX<1hA zIxw}?1=h;@Wy2g7#|SsnYeT{W@Eb$$|2pnMJ|q(;(pAm#biT*d1)^EJaI+wxW&`JE zSlL9A&^i}Aux|*Gu4g)bUx-HKAM$v-pxpkcUss2A zk0NE%Lwmto?Nn>~Do{=Y6!Fv1qLikMbB9;eTeDh+Yo4T*w4>xnn$^^|g=FhDo5uxT z9EBX*s4G?6O3nYnB*8f=6>Dl3bfvtnZZLJ#?fyfhWf$8APihksI`iyvymFoo?z8~0 zw7J&NIq|GdOZ3lajF1-oUj|ddgsN_0V9uzEz1RsR4GGF(+#fqmk&`5^$AK&t347I| z_l-ib09)f75qDBYv`|>_tZ)w-)Ho?QWN9iHRL%8DjO&DQRE!RGlbiWw)c;te-3#jYt46S!DHzJ*Em&bYqrhW+2~z~ z%a5G->kbvvTX--ieK!rnu99XQTt9HTErb}IUYHAE#>8eaT*m4(;lGFuJPy59ejeP+ z0azG9g@q6581dVA1XVvx+*jAvlWNsGsWD&8YMe0C_|yb!^S0W|2!GBt*VmAaT@YO~ zx#_%U_qHkf<9w=0`7qTu8ge`@TR}IZR?kGM`mPu#{%RSRO+1WcOC%OHw1Z1bUl>Wl z-QxoZqCHDg8+v=AjVf7>LyBmLfS$VzW@wZTi=)2&di-u=rX@QjV;FuzVbMq_Vl%#R z)4^q8p@VW;J-QeWiEbR14y!F~4%TbkV>_r3$hDk#t!BQ~0n=*}@6cCQ{8!Lx0U9>f z*Ti+}r)uG!<%0CrC(MF~>&;x1VnH*I=5-~O2mKVu2F%38>mq>U>T8h;zSKox#or4_ z98*~geTzTkHmckd{eK((|Lw~cP4;u1f_C={c6dWW4D|C&U%;-F!4MbP7tE+fF&`Kh z7%~E^qN==@v5PToW+epLO$97|VkLw}&bcq5aJG1>e=o}w%N5O)rXi-x#h{>FjqkHt z%ca+nzN>pr%jxRFtlhsB@2js(0;)7xUV{=`+4U@9+Cg(a@)pzTef|d-_hoV`)0>koRH~q z4cGaG@1DH3`$adF>3Xl}7OpGJeZe}YopF7azmLxmH=lrJavfsKn(&uA6za?_t^m?-Ex@>=Qi}^WP({|pDyy~{u_*TYuHKe7v)%^4b zI+*KDTvzMmC*R1&)aBaMrqf!ijiz4T*<;`3rZ)~PGVg}l{3e!-rs=xV$8B3+gg)0* zuQ!Rr8vH`8`&AF#pj!~O`-bP>hWA&TvO^aALTcymy^pkKadC(~?n+uGGGi8yuI)(d9p)(s|>vmHXuryN6&LUQ$x)_I*Fc?qjY zcZ?c(6vxYVOfk`h_9@y(4(N!(sPN$zu_CcQCE`XYFjyxmR{8AOS-2O$P{`6rtke7> z(k7Vy4u%RCZg$xbPEaW`DsRM$lSay^lSKnjF)^g2Uj0iV7mMK{@ye7j2pRLebfWX11B!@7=*Gou?8yDwG?2Tp0E}%|?kt`q0H8k`) zkxM4BoYkuPsv7`yP~Ct*f+M~YyUm9i151!TR_-KCyGCg6rHC9{D8@m*icNY6wWXUnP z?dcE7L-(r6|Dqy!FZYujP6@sS!etuU@7%1? ziNmOz{)Bu%a(K+*y7}D3bk{&duarp4mQLCqW|8u%Of(qyJp=;`-s`{PR(__iS;Wzq zT9A3A$7J8ZgO@Zo`rlP^7XE%X1-d@?W<#fm+h6yEoFG5aEH$f;o;=n z^u_eWUH>X%9bFrM;q&3mC5TNG&|alX`6>EO3{^DK zg>uv;CW$w3*>)V>C*}@l7bUm@$$pMRgPVuVDN}O9loF9DYp$xaoQ#AtG6bYfj+_N{ zmx;+y36*kQLzX3f8x{&;%Fo@&q0ar8tJo1%&L1nl#*{~KGuS5_^Nn@H7M72P%5vG; zXH9fDymUDc<0(agW+g3SMwJnfw?>mAx?G5iJ8|5ZH`nW7S60r+Vz4Q*s3p%OL{5P# ze5Mv~mB;n~MsNmGo0TyVP9^@Gg4uN+T_qR$dUTITN@X2YIXZ*`FFrDqW?%6YlV`ll zQSp;ft_spz1#bfZn(MVS9&-xK83#9=M&bv*xiqVkPwz?LGmbTU(MU=U{CnxZ+;4@5 z$h$B_Nh412;FZhu;>wM%X?pqN`@xQPcoM#!2k!tmn(kw1I#6Hv?7lKyLho~D;JF@( z!}kxsl3FDRWGz=E*ELaJ8L9Bs)^9|y?264(@}Y&6=VYjg#UYl&Ap4tWsf1w8k1(g~ zqCm(s0~CoRoBmu;q+))gfYyCegrWogUepoirC{+hw9FdwEdhYk?8LzPXvpu(dxo4U zHpNZ%2^!^iL!1|~a#9@;Qn7e(Q=HW`p|M1Vn2*fm{WOR2e+Rd)7Pn|E zJ~HFYWwEg@gF@A;{+k4xC?io$B>7wXT8QC9o@*~Z5Q&?t&?dny-LR_Y1(6dq0ub6% zbVo=kQT^Z-D(#5u<2Bi0hmVEun|xBFO!Cv1utTBr$sYB5DB*tNOU+d5woRh^sYae? z`N9q0Eg9j-%p;7=%YhL3b058~**6xBQf_$LG*gpuzn>dy^$Po{+!I7XCx0h4WF?d* zeLUl=K>a9kOXP$RoP&|Zej@ieI~U(TO!G}|azvJ!7d@BTTJiq1FphqgBVPsQr-kL$ zG94%EkzAHb!$+{Z#=w$r4n}9br*Yq3jtd*bPRfXK8U>yyhKCe~RBhYdj%MAX1p0DD zc?8)AF^o)(kNl#N6pNo^yn9&a4cm$Ir`df@;dU0QdD49`Lv3qlN1qk~M81EqCD|!<09pL}R>2E6oCa?Sy1A z5N5{qw;bid6CYpD`_}=CDCGx0FvfZA6y;)8#CfBA7y0iE6htan^>b4Izw?io$kUf) z&|eftowO!UE)rv#zKK94JQ1(n0k=_O)p>s#LcK!;X|jN;z%rqhPV4ynh$lpYSda+F z%Q_Y?@OvI3rr~f0?TxNRGQa>;_Q1_o1Z$$k}nG6l3tuzW{S{AP3zaB%9t|Fze zT#sl1k4~pvxWJ`BqRa9`V6e0GSKZBs!wAoa(9nH61V-ET!zlMPJmxrLz93P}5jbI{ z0mQ4c)(}mycqxqB%&IGfF9330Hn(uvbU@E|AQe+8@F6+*nD3*VMD&wZ4th+=ubX>m#2fA1UZkIoK=q*#&fTJ zkv>M@fj&GR2#5pjNWo1y?w^EGIYc6MM?+r8Q&9&jgrXCwzKy`i!hxC*2l)sz&PN!! z7Y8&-Sl<)TZjR`ZiD;`5%R|CKxwX-U8 z?klllPI<_NL@b0M==014-~bpK&RiPX+g0EqBlmf!F8Kr;x7;^|mXk04JrOn2wx*Ny zVSuih5<01=fSNXoRML6?>Zae<@RP)EvFL|bc`FOC!qcNrj)D5ugMSYkBa6t0jcAAz z%8-Lqh%M4m2wbAcR)}y)J?=@!(&`&AzVqBf(5Ts1v&n46W)ql+&R+^8Ey21^u$S@b zV^IwDIB?>%Gj$r1ora|w{jv6g!qL~S!0jM|0K!Um)&N#x*;C>7G?=k4M|mJ6go$oa zTr_n$Z?x0wQK1LQ&k|}%sFByQ5q!u3FWOTwNo!H01dsKSLCQ2@zRAe|ONCV6{Yrha zl)My?)OwPhm#yK%-h;O;DNTCZX+cFW=oIjQn63))TDxiOzg4-fT|zRnw}$p4q~)0f zhK;EazqcqY>@uO7U<;>2CG)5pXQg2IVnoq^Y$A%3NEngi*Empir5g;H1uT?Cm^8u- zR=uUVB{V=wnviD}Dud1qT&!%`eK6&|_W19>%T7*Y@rtQggi_N{RfQD_l~+(UB@(FL zm479x68rQabdZ?P#U5}|-M)a2CEvg}w)Sz~Q|rKFFvj>Bwj4g@7viW4A*TQbdVmU40sjZb_^o~1`Ryito2NG%g67%_3RcvZTt(7J%vE|lXsJ-q;GGc9 zYiETe(YTv5W;?%FB7%sXF2E0VxXlAm0ZAkdqE{Y1!n)raEo^YeQH7L;;T0LvaHiJ5 z#5e?w711aLH%EW#86@;rKr_pwp#`kAE&&C9CFHU6eXP)>CbuJ_9HA`2Q0ov8jDz&e zy};?`DER)C2WtnN-%UF7<-{BgBb_m zCu5)=DIg44V{7_Z4_E;0F|ThX-|(Gi+900XRY?#(DET%1vk0s8u;VdF0PEQec^Mrm zP&@ggtAv!Xwsu~~@F&Qqr$I%Cphz4-V<+UQa)_x90eeNqBmspDIgAvuZA`=(sJ#L< zG$`DIAX~2p0)<~fHz!0BmU@|e6%xUEuPw##5KhM`p zDHJ)h3goEP%m-NYl(4^-q&}?zB0k4Vs`73)y=ZY`2v0fMYRT zEegQBL4ov0z1kH=aK%kJlM`Jz8>I_Z^N#yXb_=neE*Bn8=D;@&o9KQWq!cAvPl^8%$ph=wW+w|M zGGs1~9APD5D9a&t-VU$3D-*xP#lv7AYvAxqh}R;_`tcj^TN1YOK}!9u@3e@oz=Af5 zO!5>{3!YS`Mxu_d;G-=`la^SO9Y_8B{JtNyd!sj%DxQpl812K-5Qfd|z8;+ggL{apD~Hetk; z3cNOm8ID&9pAHtV`T}HgvAF{vVaqXCg?}2)pXHP|sN~LuWKD@$a(Hg-gYX(*EXq+{ zi4vmdwKq6l4{BiaYH%f0bSZ>M`S^X?d7I+;i?Q+?t*8A>QQQ^;>S z2iz|)JAY;ppMA^ev$ec#o%SFPxXJ#9EhQ{jIh;Ib^FjX)TgcGX*e=>5--x{@p2N`} z*!dJpeyG8SgkK85HF@nd&=U}4F&F`gM@A-Qdkmcf?lql7`+e=TgU&H zXcO2-L>-wwpw@ELT}R_SyK>Gn0uSsDD1Rn36^YQo+${aivymLxd;tj2i=J#Ymy$|8 za3B|RECMvL>j83-!G1kZ@y$iyD9cw3K3q|RxKCYO4T4s$csAz3es_Ng9wRkCgZu8c zLX}K4l1d0&Kq7o2_@6VO$gyy88sF&hlJX63_On9Q_juWEDQ(^G?R`@K`x7n!c$9}L zxDvTx2Jvt5mh-ixt1vF*Fiq7pxOr5xVf=Y6&xw0sJ~MsYXOdR3g;-@kzR>4s22wvy z-biBk_3nw|+VfUjtcaV@Gt^PcJ?6Q9Q{)oo8G&mQwkPo< zZI_vF>WF<_noDoCz1@ci?rWJ04|96pn$u_qXp~S2!?6=U zCu;WjJ+}Kki--!Tug&$ir)JN*8&w)_WFlQis_UvD_PbrW-yLK2^+VISBj>u?Nl&~T z{|#Ohz*ZWsEYil^AONHE(~e+NN&l0U8(doNDl(FRAm=Mm*}YcLfHaCj-GY!mW`I5Peuhr6w@t^!>744#eC!z2VRx}*G5oP4 zyjoyv4J&zET78pNxxrgt-t8Kbld4jenO&sri50-Z?`qkui0nRB8})>mwtZH3Dma?N z^Tja_q?L`8Wgwe@*7s{zZ#u>IYDh{u&sU_sa8@dJTe$T1_Vk_qJjg?ZtuSt7zCd49 z!xm-26bk+GHrp;QNEN&-@Xor3nE4kf-;cL*CKQ^F;gS|eY&dumTF!INeInv_%eqpD z8v<0oE9tn_;AB}#Tk`e%`YEtn$@-n6$^4=85b+ZyVb7_A{zR?zl;*pviQQfCh5Mv! z37+-6&#{yJLco_#QPe%&K2E-~^Wn&4+-21h!H8)4$Y|WHzf@|Nt8X++SRS3+0<-^3 zfAg`XIj4uG-3U&U!Y?ZRL0=ioHNt~$DSX<<2}eQ9eQ=lT3>bC2XC7`RZU22CBz=jK z*Z!D_I`Z7Lw?rJo@3G|9f@E z+p=Z*5!(}?`WceD=q2pdb4cpBj15W|WUzX*DyPWX1dME)|MTwL6&c_%9M$>R^<%&N zs6xj%V{OeC@F1E8cGSB2=Su1@ZroX|CZB|hcx~OguFlN<2YXuwXg?v^r-mii6UQij z?@3{yS!@`J<9ii2=i3gI?Klqtp$MN7T^430UmLf9qXov?9l^oe=Cfyc`P>g|klpv5 zxK+^#Mz37(<5+Tp4Lo*NZ&>=vIzBQJgd=*GvwnasjkI-eU$(4WW-{|cV9-~m-Tz#k zO|m23_l&il{XesmhkKvn2tmDDiYPO+`vVWK$s2^<$4y$Nhr}v7XBwcs8owvN=YMbO_|{h*vS#&J zRRXxZKTo>))ii-GIGsh|<$rg4CLU5($SrPiwC$Z)JaK^Zgm;;I%ub+XqfzFp-OnFnJ3aoUM3V8t>tvrHc@AEe6mLSmjf(rg{!Nv zEs+h5zR9H`_HBI44v6Iv`>?;maz4@bP4G5dPdk38{MRF(n84w(2i2mjYveWCu76?- zz&vA~3X!?Rc)V@TrqqHTz7KsRtfxr|{l<7V|C_V);o>am>)7pXMi=;(lNZ=}SeD4; zey=zQ^h*?vIMV;*t|AUiq!|3dq&{zE?n&PED=$;O?)^^w9LfKPcS+)#N#sVX_e{GF z*zR9N#laZQ|FC6b^qRI3>E&BYcw#bxC_EYjKMjfD`3PWn=`-qk)gpQuT{!H`l3ey6 zjnovntrq)Ki&csTsD3&ke?{y84DBcf+ayGxR-ujo;_kElhdv^1l{SPR*`6C5uP9j{Kksd_}Z7-=W zp75M*R^bFk!1Bw03ZyOYP;yu~5mz*sf^R-Tcy(WRwTkk*w<<)h5c{e$H{lAWM@gSI zs;(haw=PlTXQ@v1h7bcK+2c(r+VyH26E)M*4qGq%FzQ9p)k zf740N4YE*_CMdQMmy>d z8QI%ZTwa6k5~VqKlS^008_B=&$(I(|FsssEQ0qDlC$T)I<#ocQ;?7JuM}KECc_%l~ zTX&vIcU=72b)M+H;(^6<5YGR(YgOfMX7@p1W65-hFIxM6LnZgC|#-u?#f|M)Vw{K9eG)s0P-W=Ea* z*js0hJ)u}y+Iw13PG5P3%>l~wuH;Q(Tgg3~zRA6YmYRU()n|zdg?hxLvI1?$+oV=~{Qd*MApwI^6 z%<@6V#B|xj7=sp)e63X`ODDHJ<77Wml5elW)y2|enbIC|4G(ahqg+R}UDV>@=hyN_ zG4>643+JgSYFTbK))1X0f1fK#n9rmBygZAMmrtVB;C>3vVtjw)y0k+@n#yrG<0kI> zim4@=DZvCdcP`~E)I$!QM5s!YKfyQy0v#{uup+W2@uqk65Ky`D-9e3huv+J3gE!@R zh#3yu>3Rhj9^P70G*20c-_2Z>HcD>;8wX2~BQ{ukm`?u~G-Y4k{6GLtevx_>*{KIT zG2MpXBHE+Xv(c+F^?1Y`%^71X$D9NgD-~b@u+qj4i#97>j?_rXvNy?ORdu_&8>Q3n zi#R3EjG)efN>)X3VVaV8GLcA(D#xY`WedzcV>$0}k38HW$a>`102Yacr9CoMqW{Bu zz=^9pE_0c5VEHj=Gj=k0sz@S7kh>Jb_u#QOOt`TPN3G_Sxio?ZJ#(?1C{V`;vNOE2>nLu4Bj; zkwx0Bww_Ui-9^wlcWF`6ruLSKr+aFf`JSr5YW{XN$Ja#eQ zGBl?W`?os`Cuanel#zE5OZf?(E&Cp0=Pnm5k=qsV>6JO8U$l;^^vD+4@ zR^>Zno~OlTI|ETFb9eqW8=xJ z>-w751uF70a=_Ulnz``Fi_G7qW}wW^`CR+R#3fai%S5LV;^{{J8bD;a`&+_axtvv7 z%HxSL`F&m~%+Qc=?PQLen#g3;bZhS)>F529UiKIh8&<~u0ck*%zY26ql}pWQrDA=4 zAW!>el~}{@iM^N-GtgB$B}Y@FEilY;Z~|QU0;|B2=B7yVRbq?SDGnAm?oeH>$u#jp z+uZBy1=bSj<%W9H^Ewjvl^&#c3IZap&~<^d*hcZ@8b!W*%b0AZ*j^xc3h}RT=6i+C ztYJ=&Wn`$qROzWIsyQQA@MXG#ETsm>uc42VRLmO&kQdQwOz0=bD>N-L$bXRLp(=ciJKe`i|lztq0SEcC)o3+)&dDuo_?i09_&FSl+Veh0Ns^-m(sA;ff5pvYfx zbi1bT=@lU}8d#;yH1kY6bI$kTPv_~=4~vdm5;)(IFU>ctR-`GiW%B}Cbz9UIc;`Fr za9rlNGr*P6{et1eF1m#$fmak_4r91c4p8(|4>7o0@`4Jf$|y<+?CTRXcJYh8Qt8q zrWxxH_6zD(mgiL$Hmqrw*TxwAmeO!dQ+D+uh~(SnkiM+`d9CzLUf;h*^)3#r zS6-;$2EYVM$U&lmY(s7ol%mz7(e!p=JvxGFkO1O=Q^`Sgv4aJwEI+(V7s-g!AR}lG zagg6cyk~I$v676G07JnK-5vUko@rxP>1K{3L&{TvOcg5JIe_5yrWxy9+JUvw2Wg$u z8cGM&M8nU3c6jZDazu(Mh*q|oAt9^jHm;X!pvx)pOglfwcL=Q{75ez_bHq1^axcoZ_Jc`NNomJTioMG3`0_2hhi7IhFft?6TfO(Pr)F6a8aeO zF|T$>TV9>8K`=<`O7GI=%m#Kn zZ%Eh%0-A;G{7zo;(yj}-&#e}W3hFmC3mc2T6%mz{j9lKlwtMT~?;FZbM>}%MR@6U+G%p>wyc8Bk9l4X*L+l{GyZ<|iV)f%o59NQd z@U7oUN?uyM-;8L#M0J~tJ6)CN2fz1TpwS|_ZxPFC^=j2Q?heGWS$c%{>84M%?>|d_ z_IqET?_Bust|M!{T&Xaj!FLXjN6-PJhSJSwzoh1@z*og`pJAp>fp>5955Yk{-%(*6tDwpMQG z+K;qXAT5Dt`9 zxSQL_94Rhe*C1&6W7Byf>&tg{*CQQwc4V|)QMIWiv+ClWKQ^wbJ&IK3jxa~=K7M<> z@DX86X4`_%Uk?^`?k&>(2%_s{F) zba2X6G%s!_Y~qjb8cGHqN1C$hvpO03ny%<7tS+g%uw`56wuYPzPAj{e)yU|466yZWo*UZk zYTeL$eWh?n*e4!kSLIjn`qQfgz1P+>q4oI#+|K;gdG%RChmfj=k;aFR`en6?stYS~ z+kRcPqWzNoHT^4w4j_$ZbzRfEw2{#R2D|1Vq`RnfL#eotJ8*TSusyAeK1wemwNPu2 z5SRrs*~4;h^h|Sxd!4ML?ByDYgCpUnigkCoa&)=FxtcuL=0Kh+N85m!Zj)T8%JQyt z{fA|nksIJ@{}#%!XRC8$*Ep^ePz*7M2|L5CehEvclunM$`@Ze)uD8JfJg9HvD zUN|Mqm>H99^6*WI6jwM`S+YV|vK#}b>B#kN^ly+>BK{onM)f0z_gdFHXI3E3_kRKK zbme*8TxG5+$8~`zO_^ccsb1l{-1i%m9&!Fo4-Ty^10o!Odx85R=R)6l$z^a<3RPn1 zGTT-UEBO0>2vqpBu}HDRw8UDXxz4i8oS~^gJlV1wSB?=pVdWOd7Vj4CWu^xa^=2bO zyBb_;H~3)o^Q@b3Pg`-G;*Xj<4elAk32n&--gi(_ni*51H9x*Dct4_VV#`1Mj9Mdl zcj57sb;1^A+wOx_aQlzWGl2(oMD$XTB-d~+@@ckmaWLDu;uu4TnaM&U!%Pa%V+lg?35-rqy67r26q7>bECD?g4 z9FiWI1>99>u{=|PNiZ!7J~2ErIU}^n#SS1FclMHX|2k{Xi?pmCIJfx#GI(D3D@gU9 z`Y#<#Z=Kh8ZtI$XvqzS7Ebaa6=>MxVyLqb>2L*v@55E(mTI*emA#`QOX1} znN`MaVfOHwXr9HK(xnC;67ZBownD2qn2dRR?F2pCC)O{y=^+RL7} zy6d{fA0sNRf4JnkG_T0QeuYjNAwI%xT=o7{hx?8aYrumRwDjGFmX$Q6Rj?q&N~@xl zG9j#@_LJIaeP}JX)(~c8v{1X!%jlI@A8%C9b6&l;oz{gP?O0h!`ArSijFwcV_t5$` z*D!i$mE=;G#sK0}S0F)Fi0T#v(>&*B`9T^uzUPE^u$BaGeEu9#p51-+sPH&%^xfwX zBO}PyEmfQ^KU-0tTx%&d=4mgHa3DZF%b7o%YoZNf&V{ZVbB6aaXTD?Y@Quo)a;}jf zEe?DrHj};ZLiNS!c`C7;=Ip3O+AkYrSF@|&A==?|?;sBn+mOW%GD2+kqW1(wzLjhz z9!2PvzkohMY-2u^J(B&!ufO`@BgBDONltK`78{W(jffr%P;{7)BBlDM9-0dRa5p2w z^ssarwSRQwcvwEBk)gv}bfX9ybdGC-s#um|qlBo|F-`?5$g;8n=la>MHQ-U^DCave z>?|o$!w86^mj}*vZC9{t3|+2_t^%(&NRtSq%fJH?xfxDoFx$h|i1b;Zg)+8Lz(xKI zxFr}~tP{dE5V&{ymYL3%2<0Ll8svM0L7EO`*?Xn)cY&*whmgQJ{~G&)i03M2v1Pq_ zg>;oF%e6w59$4U?C;z+t7^2PAuC_7s3q#=TDblPLn9jGBxJsmAJj~Txq+VfN5&WC+ zI@t!x=V)M^WN~*NVn{bFQs;Ox+zd6_!t-Y6nG%j1CRIfZ5`Czk53S7T1Xp&1*_(ko zW4*#|Mi;4yI!fBUZ$l4pls-VI!z#%&loo0;xraZ>t|(|tZ_R0gIJGZpD5I6#M(KR| z&%sN;R`L9Fa6loNvw>3^LRF{~95W^6z%~>Kj?ODz(7vd5aX-Y= z^}K3&qo|xwTTq9YzwSfK99SkqCE1y8psU$xfn20qTh+F{mOon954)y?S_}K4o6DbEDYDCG@j=r48%y_lSV zd(A4bGatWuvh(Gcmh~pSpRN&U3sev#8jCa+SqmNiW4z8N8pbpXBSXV5l)yq2!*L_B z6h|84IPw z!2(~F9PFHD=yfD`jy>Cqg_v@#jbSg)FuWMV+RHq*Dc4Gbt{fH5#`W=BsyguIs;j%y7mt`u@@)a~I9c0Z5LC6dT77b*g8(T?r!cJ;69bEH_ZVDWANSOc( zt=N6Uhd6Tmm+DrUIf`ug)x-O*=o2^b8yPKV2z4(o@iptbVCrOofJpIs6JO7BGfH2e zsF-@HD?KE3?KG{HXL=W#F%K<7wbNj;r<-VvhmKO*PaUQ7ym^$OfA1)zv|@mwsT-iw zwhd5JJp+{X?*}OI{Q*kF(*cU2K0s-GCqVK00+iARzM>4|*}Y#;%1Vz>WKSQXbi8?t z;j>q&XM2$~sI59D1G)1_6cx?*%_eiAnQq3~#FyY2npVYl#)aukU{o zc^r1XmMA0X$SR(JZBK)R2yTH27MGJ3TpnBmClgsBbW_x%#pOsnipQD*qPpA~QNyKm zEBg!EE~?8N%5CEJzW59>w78E~pVgXEoj$-QgSTJGY!)_LQ+Hu$eigNf*-sjTxV;-G zyi$eQ!K*YqIEdQL4&{gPeayfD(0R5I74V`up{B@Kq~4&Y ze;Lui3$-sY@f9p1!_OY(xG64@hp0!ZkEeMq@iA5Tz6TJ^R!@O!Ua&x0;4gu=KTRrj z=SjdBHNJ>A4j`@#+DptrdzzCeo2S274SdF}s(fqCa7Kt1gyU7ga&v7WS-NzUD_xfE z7WoBuOs9s4ajx>^8%4MV!%Kr{rr!_42KFvCE%Bte(yi&Xt*#5CV%KK9SevG}A+*fK zg#)w5E7WgNZPKp~WU5vLGUY{{G|gESaeyms;>rXXIIZMdDbLC_V|pqa_Y^w~HUZ1T zcjTH16a|`fwgsLg;DL+$IZ|++-RCN|XbU8310pz|HcEtMp?RrMrt_R6Qz329N+UOqNnjG#gimnP7Pl29OSNEq{dCz#gIY(CX1wvB9)vtb$gD z?X)2tni1K!eTZC+Xb=+-w?FO^B^IK}=nl*;kTMl~zW_g|E$F@t`-~JP ztl151NHwXO@=wmcNiAqAsSgz@!RIkUNBu&5mIbEQn_*eym86_WxGx|PCa?V`7UmpekO z7W7eD>1~Lx8^-S-*Hi2ByD6ijT4Fnq;HCtLZtw){EG0)aPs&rX$1S-LX(HBeM@c&a zh?h*LAa*nQNewye#BRy}au0rCGz@0K$<(sU!r&!Ro{uLH;xjEPfwx?&fwgDihj_yr zJIe{-gS#lefDOp;EZ1?IOevTbBPE31_>j(k?CVAd9-0b#P$%p^CA3R36NXK+m(Yf=7;`nyWQ`H|_DS@h)}cyp{JZbAa7NZz493nurFvF2k`{U1DDB z&b!jF(tZgzhnwX^8m@&pj1A}77s*P@*X#e_`Mr0kjI9&;OZ0k+(_`3PvK%N5*$k=x=vUD3PJT)8tvdc=hF~Eh)w5B`7hIyfUU9LXgoU2@EUh0QP zRtMg*3ATh(EXfV!+eDTuL!mqmg4LC3HXL;vH9G*#QGn}VIjIW1OyDdIWjV79>9DCC z?;>!bp#7xnnt!vwv$vo=bOZjS!2oh&6}q^FGD59oRW0iU->jY1^u=F%zfqTHZnA8X zZnMDy=!C)LW+5KY+ZHGaEL6Y1e?fo&!6?JWG_ZB^y%`dYk*ivTA0j@UiV2=Ay0exA z{*4dy&`jA%p^pkqC|N@>!;$5p2f)TD;5aF#m}qwJe|@m}cMeecd&>}O`moTsOuA48 z8`Zff$TzQq1DtPRIxwm)j6_DU5_A|i~QF}f^t*?foK4+ zQM}-5jdmS}UFYP%q^3)9gTzDgKRRS4IxZY2$7CDKLdkp&-^f ztP(4u*V1ZP)v%H3$oNDz(B0jawY8&NmyWVK_SJ}5#P#ADQ6)A=tHc^r_jF+8{Y2*< z)P(_xW}R;S@Gj#57ky(dm`;0Y9$32dZvAeGz$hL29PW7Q9oLN zsOcImc=WUY!^rLb@<9~Nvj6tnkLYrPG%s08bdj9Yfb~A&&O$e$Bijp%MJlG5Yyi{O zOs>NQME#_4FfWZrH>H%?NNL7;_~fz%ws#pljbFZSK0_$VSsTz z{~7%)PNtvjVVP)JzBW6sKz>nrpJ-s6{^caHyeMY_@hi95q6HS${7%; zHSy~>y}1qS(yZR4ZQNc?Ex$`3Z~bp`26&XrE>anNgjz#srPpCKj3!neQ~nQ;1~F2$ zH^M5%zv}bT;b<4gDH@7`Xha4c+|44zg6O2fQrE36g+p%Q}Yk7%eWu&x*0>) zw-bBkSMMFFMn={TP)5*7Vd=IiW*yc=8YR^*O3|HH7Pc$@uH!)L#>c;@lovUK(qe}Y zTsXdh?Hf@2Yz_(4m%?1IZ5_8enRopV{F_2Vt`F9$&f4#J^C$z+n8Rg1}TFT zvLKXY6%4P1z!FxQBSW7R$aCk}&bDOv*+IU911Cl%1g}@PGebNF7Fw_5Xo)(q8FO$T zI>>a3q`Xj;u?q3D%D1U1FfyC^CUPO`4_7k#4dVs8opL5aKyURU8nh(`{G#Z!yd>mm#uS>{mH1 zRPP*K>BUT}VF+Hp$ZitR>pbVEH>k4wD?G~`7wR{;&yr?IA4Z0sMeJ7vuNo$smm1Q8 zV-Bomk?OCmHKA3()o{9r4e9#zu4^opYkp~_sMxyT}xr7K~VTb2bx8j*UQGv7bYw8&bhFAgq| zEY+q3(;OLa_UFjf$nNo8@82xl`2Rz*PMK@}qkdE1Tvv|$9C@B( zi)?f72I)3W0eBX9@DA6zuTyRWXL(!2{pDos7v<#EhvZ~U*F)sNe?LUFe(*54`KyP? zjw2Q1inlAsa+!kM@P>jcaULMo4;&y{9y&-KtUE}yz6JHrL9*p#CAr$EB$sElraSeI zkSkjsAY#!ZWUSmz@y~;Cm$t;UVfBZ^Zuh`%Xg2G>*R;Y##auL2i`tRmi8Vdj}9Cr zn;)nqw?9=)w!L0W9%-v4`v$7X%|q2>&3$TepG-|Q9#E4y~XHCf7( z=F7SGw*e4)W#Jd>l9hU%nIomj(oL6m&L5s{xe8%!LBlN# zE9x@Jxs{yYOGJxUgW#ujH>HbS!+_HcmZXbR{oHbOp*2U(lY$rJ#iTs{1rP-;vJ;0d zRKJQekot2vcQgxY`PKL@gE&LN*7WL}w!ER-inIYyEq{npvjFU3Nx7(BP|E9=-^FfZ z)Nw|5b(~IKji@|xBx@kEDXmmo$LV3UaqEQDf(}kA37i^EnV_88l~a>BLLET~HApAg z18ztesR|t>m7;|k4J0SeKjyG1V7KUbda(||5+xps^K9!NraiCwolA9?j2&EJCachD zQeS>Qy@t|_Y*fL?R!{A~2H}X-ATqj(?ah#iolH40NNXo5d=C%a`X*zqCJ&DH&n{~D)QvdeX;YlZD>qX=B6Jj);S z`MxY~u6%)Spnd}^sLUjh!DiRPkvmb-F-X<#;T3GZ9!AP;F30O>*kJ(0dAwHi(SgZr$%UlNKtdP1%g%I+3)c`T4cW#0(A_m z1Jk{rv7T(mR92$eD-_wo8PbK?b0A#cOLD!r<_p2Mg6Kyr&@T+_@cuSXB)JcfELHq| z_*&z2))Lk4WC}#KACc~m?NzU_mME4umJY9!TyOhdO_3f#A5V_=BP6s+`zYdG`raUN z*(L%(wu;ige~xn`?VEGr3|Ydl+ikuukmjazvcU6SiYd}0k_SZHK8GCa$@ zOD$q=hMH~7vD2*Sp63vMy76jLnkhR_6wH>uVuesP-%f*&2wVj}3B1nTF1DU&<_ypG z3N86cj)$d!pw|xJjR$;EJ?ccYuoQjNjbOO9E7F`)2e#2Fu!!|c>pX}6Gd%?XhL#^< zs(3E&En%Z$ev*k6KuknAc(oA!lRhAQ!*KF66fMyJkv>ES;JIot%|hb>-QwW=h-r@{ z-?zz|;b9G9;CplB>+mmMG#lh(j)%q&Z9-Q1PlmsOYBomYE)Usfk|fYMCvLvQqxJhWj< zo93e`h}}pfxs%zI-YguX2`Y#LGwd`yPtGthTx>NvNHc%-rML)>AGisz)_ z*A7Oc8>wM5A{#UacpKnLE6H+-pKU5|kOSB0)>^UxnTB-SRd7;8l(pfCQ-0PG= zN3NA_hZt;_tYLURc^=k;9em!6_Y8u&-@~fsbqP8!u-rK#%UT5^yk4wR+%3Wb##TY; zfE2NA?mPY->Rw2r{lO8A*vHX)fz@0uS1Cc z+ND*{LLDV_q8s4FU?HXsY_py3ryIe6u!$T(*#$wqhp!gk->&Gz`mt}Ybg-ml0uSHE zQ*t0;L%?e!b#QuxE#e`p7c*-P5bvo+Ybd>(b_vq5tv9!v(uff7OKezCIR=QB0t_k7 z$@7vs9()XJ8+RNOL3kO(@0+hKMvwzMm2lj zSN5xnPawGMl5-(WrR%9?vWB8rAR%jMe)cftVoS*QH(73mL10ZE=BUB5*27thU((4D zfeOwHeZG+)2P-PU9GI02tA3*ej!}H7Tj`x>1+j$*ULy^{mwg&IVjJl%Qa&zt2qN@m ztPTS3{m4ZG@Qz7cqzyh4&Uo;@L-~!zob_|;XqLX z9sf$Nlv)Glyq%`udRRd|9`Rc*kX&e9>b=%@7VJ^{LYV3oc(P?B4vtTZ|C-lIH?C7= zc!gGchA=Hl$FXtsJkNQu67y2?wXzadiTf{7c!55q7mtS78j6Rdhxk-MGlPk6WSCaF z8P;?sQwjT4Np@4*+yF&E^W$H;(flO*rrXEUZILf<@}xWm$I1?}oJ?(+aY5)}-BSDS zo!g8e$6{Y`5Dpb1L(7uo$hJcSl7nC4X&8RG79wK@*+AFAI`@-Q)Wv!*79KE#S9-}x zc#~%GFczTT-zeY?H~uzNU{As6Um+8~n`hvsten!M^dsGjzDlI2pe4U6r#h!2qfcCy zF|w*5y#fMI=UY#s_t=RNY#1guM0LF@Xj)#ss(($}x)E_LtEsmYmP9qXIiq>)(EQ%t z)?u|Ya6cHeR}6?cI8|8<>`^$`RPc(yO8|B8SZRAV(nNHB@*=Su5m-<)2@l%zuxHdI z<}Cw97RnKV6Sb0Lq{YUni-tLRss_Ilg%>w^5581GXaJVrhBA69yOR9z$T@HKzJ%aE zJsZNx8C~=yzVFE=km1{&6oi(&&`Z_ewwxg&^^(g)9m3XQD%5zBh3Z(WIm<>-Vp3Fj zhkAvZt2p0U;$NZ3#D64f707maS6Yg3=oi@j(*+_cNB%S_Xkpf2ZQySEQ2e`RILc_aCD9<;ad)wWTFD_!ZH^PLwfmb)`mS?d3Au2*kxU#G|pzK%$8E&1kLeU?AnvO|*LUlY8_@mu-T zo~s-g*0CSuYq$y)ejTS^+2O>~FcfLFtq`IyLiv^*-dtD&8R|8XTwlIyo@|~8!VTT^ z!@0gJ7xV?=AdoK9h+OH;tk8P@nm{JZASM;d=Be@>xyp@!b^0u0rUxvQhoxp~L^=%r zV$qas44kjpWM3p@f`>s8a{@_SF`!KLLu493P~ha-?N!mMYGf}dN<>cA?o|4-7FfGKvBY3E!h zDE1v{FQ|R(PIuSVUA?bKC%t5M$z-uxO*Cd)C(#*43?vXC0RssbFrbhW5flt47)l`n z3L{Lwzz7No1{6$@0fi9^jQr>H|L|1$N!8`Rz2}_wd*5$63PKYn;Wu#^x`JR|^Rnxd z6u$z=e;ATDBOdCjfglk%a>67zDbB6~8Qx7WkamXK19gIoWT(1$dw4rh0>^AK0#rNE zPtK4etN>NPvlCT=rkUoLpPRXoTMP)BqRJ%&#ZT^&G~@_VLN(yMgDTuLH|P?b_z1Yh z%>y+q$qhnI5Cv{XEZjhcaSAvuE(J~a4p~Qx4a!IcPKe_q$vDkH1=CB5PztmP5hYTf zT-pe{-4+h{&=(Xyf=P%nJiKK>mslCqoU;5=eMIqP$r;mD`<@J^J1Svm7%^IZsJ+nV z)Oms9rZ2}%puATO41P!HVPFWv1e9kP*>XO_v< zK{=iq!_^6v!IZEMB_lVA{f+Q9N{?zB^08a&&ZhBXa#hVP4*J*)X8uALZnxxgZx%{} z3B3>sQ%H-{f*^l)wRZ_J;(tLRPRq?gf>9+#nfgn;Stw@s5U-);_iRb`r&-W0(s!Z# zlhYfMDD)Y=+iC;KhdP^36dkQ?XCLUXlv~9y?QPZ3+TAE`%{o`(Xt_#Wcm;yfR_Chx zTzIAYg`&vyVFy1y)8XomXCG;ailQLDD1z!m0`k1FHUE@}n zh3PI%ktSxqtvaS1h%!9{-=K}`7|kM6sOEFw(PqYN>cQ>3qP&)tOeIIdxWCV(j z`Oa_6;0b80y|@BRhOYx|3VSk+vki#JC{07l2#(gEp;zM^kT4qX{(&wv1DUiF|HO3< z;idrm<+ao^Sb*=oy}c^oo0yT-bnn{$3iZj|VV@v=Hcl(f#m}OIG)USxP$n~X$-CS% zsv6l!Zsz|v`!;5M%(IpJ32;s2{~7)xA2&YX8q&W4JbwZ|F5}CiKl_Y+wmc09%zXIhofZOyQ|ri&PUA80oO`;DGaBt zB{D-ckX_Mo5uA3&Nrs#*9hC|j(3+NqrBl26vkcpGTo4}%3O#7L=EYxdz`yFL@xdO| zF&e)anilnqyjRWN?v>`?a1Q67qq*n5zm%>xwsUXXTLm|!TXp-C#)W-9Z4W0w) zF6pS8lN@lcvUDw1dZ+#{l!_ys$>eQ8zHz9>N-pSG5Fh9^vX5qF%6cAvq^EUI4Y^R7 zwfme6mz~l>(Iw^A#`TBepNp^e?(?z5TvS0d~{P0GQU*%f`P!Dn;35W6# zkqpo^M zyV^S=Me*g=P?j@0J0#|+*-(W{X0Lf3LTMVVjqJF2(v*ZEW0&igb*-ReBPCCL*)^41 z-Q`+O7{?(?9MALOgB>#3vT=6Rae5E`*66!}!r%_K$qo?n_$=|&D~i{Nh1bBd|LXlV z_;v?Nos5mY_4)UQzkhQ(IGe>o;{%yVc~w5IAML^KADorXC$CDE;>*69jT`dMyIut4 zKR_ZGo$+0^oi}o9!_sE~M7Mu#m4SIHf5^N~{5@b@7O!Rxq^U)=c~RNKb|3ZJt6Y>W z=`U5!gd;%8a`3f~{21r0gN;M!<4JCurd^P8I*jyj@pZc-gz07y%*1M7|K50LD91GM z>VyobOVvzRXh=E)`1a%OV{T@J<)wu<3QCFV9W+s#90^M`rg=1Xp?gdHLVGoG!9P); z>8MV;3b|=X0nCDXc62p|wQ*iXh2`d%C^^u?LB(XHLBoSVJNnB8<{XdBWyVdE6g7ia z4SJt`14|5NNJz32mQ~9-KKwi;eA87cE;+EvKy_u%x-P0|dLp-r?a_bv=L+_n3Hz7+ zdn)#G+*`wndkjN=9;(kY?+DO;Ivx3Ff5^^Ckd@#U18JI>19ki9-GN=oOCv@Hus)$b z^Sy^1$88hEu@?+ja3a*djzm1y0|kK(XJ$HXWOyKFlNYy#FATzOG}xsEi0y$reEeU_ z3@grvj}lO7PL~*CE8y*w$UEc^2|1`V11W6#dJQjr;UpvkOKJZ9=OP}So{v~)jTDA> zCf`6gRq7M!G2=#gSUx0XNTJx5(|bfIzX3&<9G@KML1S|hd{+1t4mlC>K+_UsQKAhk z%khaikN}hi^w1h)@HwWR>*mSmkW4WWul){FE{4ZFGwJ=i!;SXSxB~owh4ngbZzZw1 z!|>AVUuUW2+=~TviHl$J^^t%OnqQ7#$UB!ADh;cS>?|Y}DrS^H4Td%f%XNJiGf~`VMG0l}oq+-ld1oA09kOT@&Ocz{ z!F7aF(Q?ckZfL0W)8{ZFNlAe~%kS}(lfmafXV}A&kE=!bH!vk72^UnA+MAXCg=iue z=-xreXpY&WxhejE0u5TG1p}$X2*9lrnRHKj2u*ebl*taNrWnL+=YR@_qAfbAxzNIz zY$r)aG~gBBC|r3o9i||lNW=Wm;-Kx#iwdM}7NWoe^--TxVHxOMe)(}o5P7@glDPt6 zv=X_A(-9#$5V{zY2ZS6U#ork~ul&zj;OO=fZs3Po+s(|5qqUs}SG5DkYo(;rhSap6 zP&uO(m?xnDBFi_77vZLXG!OZnpKzlp&TSK~!jCN{2JBc12T>iuf#(oZb{miruIWFm zW@qV2-rnybn4K@7_VHaz0ykk06AzdvN~U$r#z68JQY(J`G!&B0rZCTlbzLori)vHR zeYRouH_s-ydMFT(?o={^MBA{!_rIXGUwk#ZvHN&()rY#l=u14-bE{ind5`*-ev`Y{u)#NA;yNd^drUffMjG;Wkxwg#;F>eF+S9Kk=32Wg@b8Ymw-KGrsW z(eaxa5JN8gZ=Nu)owAK5EyDQ(-j_pNHlf zUpyOMP7Ad+oCR;Po*zPW+a0o$Xk#FcQG*~QN{L#s18dQC$wp3gO8a1kk>w!6>>5uC z!#860odw5IaoM#}TPd%WSF;y8tHu@i-Hkh3S2||UxFdZdd~91qf9ya+Nv_sbS6=IUhCe>#XjsidW?;j-~Wy^%K$4`7o$WiHG%6+d^;& zT?9X8#kX8t>irr^-lJWB=3`Df-4pr-^E}^Jbfj^}x854dPim(fv&Q-ILOr+w2fE~; z?2?lcu5r(Zaj3KDplZqSF%Q%Lb?*x}J2fT<(Pg9vMMk%?D*V8xY^pt6I8qr^jCA)m zmnE~Z1E@$p#7S`76w6=$i{pYsBR!3!sXd`%wz23F>~c}kFkJbZJfTNLIVdQOlOCL?!4fQlLpvyL}VyKqJLA)A(P=KnUbAao@$8o!i-IjbHe|z;z?7e@B zz?FTIiJ&0t4SB~RGnsJ}e7l3%8Lo{R@i*Bq*B`$Owa=91XlSMRK@2aRc9N=O13kxda&({F;rhvb@{NMwv(A+YU&oK|y4VgQ#|+Wk6er0EQAh~^ zvpwL3(4V7(hIR%}vSW#XXhdQFj!243%1E)n`iz2UVK><+VvJUw%n|x@=a7US8??~e z5Jueuw?l<12ujn=p%kPb4R9@uRk3SPz(FEJLx$v^RHtZG;e!Uz8xcDX0aYx8H*9bV znVB6%V+4^9E7YzoydImE;oIC4O9sDRdmsl*PmkDQ7cVysp%5Au{t=ERn@p= zpn+6?94w8&F&D&)8p%i!b3IIy2HoKzQezwv-(!93X)9st`>u+5y&t8_JmEOo(Rr=_aow4w5vr?cEz>g6G{26-6H zg+s3h^&ls1@qMBm-)6<7fABIU8<%n1%m`(V?uQ1u!rJ-ML$WF7eE&dZKD3=tgXUadw)rvd zx@2wVBcXF%oc+EOtG(KP1WNj$97RX8&@vnYr;9bAj*JOZv)@#>S2#Z&_Hp8?2UnBeM` z3>Re^6263Q=RQBWlO9j=U{y4>eL?BL}f>1-}Hmvg7>XWFZ|Ejzy{s=#Z#m)%<_ zzE>pMfVO@~wo-W?7)&7aGLV^oWPf|w^xTQ}s=)U=Fu#d&NC)126AK@ZuK6C*z5^UR z(0C05|A?7u!1Y8+V0{`mehj3a$eMuo(fEnr5`-dXigr(_;k0=uC;<|=iNb#bEt>w} z;;Inj?QXhAJmmgWo~D}cfxVpGt*hsPQN|&!DyPl3$2=z@0cx5G{s>AVarf z*MeAau<*{qay&}vzZS=#oa6EUM?sL0nqwMrOk}6pi3N5BK58eY&P*^OGm!iqgNu|d z8}gH7^bB1^>)*)mN%3`53+`GCe=UIJcyNiZBZNJCosuHDDa|p%P>Np|MC}$dI*w}>T5KsRPTL)jU^fP% zh3NgMz+vyrc4~s`9ZQfyoWh`;Sb{9RPVqCm>^39B@v}GqJMK-+$6q7Vc+uPPV{dR@TkgF8elS^nDEl+) zwYC3YzsC<>{O+)H;jgES-^E_ue&Yk|-BUk%?6<2gi#$I8&#zmr2dCa<|N7{AjTbT7 zw35=`>4io&(0|FJe?-d9VqbY1|F|CSBfPYbA2ZYR`|~{8fL`dJ?hcfPp`aO5vo$}N z)Cn!?nQ>hj^gk22mV3zXIw(CU`C9Iak&hb==#~ni`pDh^ufPu>IzrfCWau%Ge|6{4 z$X5Hw`XT><6HbMRVkV@i*Jbz;H}MqkPqa@pk3^1n1sbv&3UM7@Hnc;&DM-{|&LPc0 zXvM#pxm$M5u)VjDm{9QClY8e>kCj&4_e$>X!@+Z(iaq8x1KD_jTRP=F?O&)fQ&iP* zcWsBEIx9OM+faS3{u=NL2=Hu>6x@1i5@dg$~jV2gJ)wHH-fX~$K!@B| zgcN|OB_{`L@L_enDn95Mk5bZ51!^bC32!TPq(l9;nV*+2IeXm(%z8mdj6p@JcNLq9eX#*M@YqHw#tdLiPTn0oaa4 zkGUSO{!{IN=%Ln_Z9+NO6Yl;8&ZEMT&tt_92KQD_fmzpkYmGzN3Dyh+Qddabr-7p>q3WJBk|JHd>5l~?0mHWG_K7EI* zAZP~~%2+7u$LRkRaTfIT|+gy$}hUMYj?+Qtx7@dq;j7YGPR;eI-9($st4hV($DtvAUb24 zHcoX;1s|63^Aga43aj@#h+eRrkDqm%F-w5NK|7<fr7ccZP1oo^b+jCX~J+jhPnS#ldC01DeJ z`8kI$&kN&G(X@@Bruk^r6Z-wNar0zrJuQrX4jKzl3%N^9t3{~jtZ}<>+w~04Ud`nH z2to%;lNG+|X<+(KkQn}lW(WKQ`w8p0ef2!yrF-(H{&8sc*z-rr_r9|I@;$Gd6o1X} z@y6FL?l3C%)wgWV6BGAj<_qi!t3Om2^s@ULH^g4Ub{|sV<}%b6#~~IU-{ESwv9Z*s z^GaekKuio&uq#De54*md!k%a|o<#lgI%J=y%1{1&zid9l=^i&7>zjaowII-NBSw%} zab66p$-X5r5&um87D4n2tsO{&_9gqJ(1#`Wx%ZhasMZZrItXH3w&GZBU+!3hS73)W zOfwp;;!uKI#nLP{fP|YQIoyAmy@z)bbeNs!#G{gpTzjr{Rn3NSn~Ti42O4%gAFfPZ zb-lBkzW=?0y(39Mp7&#chxg9V2khVTKG>)J=(``SDY5^~49D+E?}w}JTwV^8cPM!% zx+R99wE>4Q^UB;^ZkA)@_}EpJ@2unDqA1NOvRxc8x6IXUiZ^Q;@!x{Zt04RtREmXi z2VC%4lq{7zRb@plK;|p7El7n~4#E`kqRjw2A8%wwogjPY4tY(YJd8VGKy-hsfm@N)!2j+7?NA(U` z;Dqleflh-u;HZ>X^JAH7x;AjX0AyGEk4HW(`Go(V^TT`d_QSCw{tW29g$o_1JnUtg z78L|9PIaR!CqhWUC4u6fdsCIs+=%YD^FV3B838I$gr~|CQPtIgPn4VvbIKFZMft_( zWPVW(`E_ljB@(Y{SL34M8vt@9UT0$Wpbe7mszM8!v{s};C ztJYuxWbpCdd=t|y*sdyha6iNQM(J=#vW@E-E8o^*Nm?54Px;$NBYdZC@j2M4F5Kl{4VLYnEej+h& z)ri*mWr54UO)*g{q8twr+QAeSV`u0&@MLEo36;MbP`dB5?PLpb_~4kc9pKeAzz$)35&kqQyUe zMBxvhC4LvEo_-hTi2C5WK=!M5f#dymfuj2^5KBwIt1JQQOC=C^xdh~Imw+x;0*!JB znEqS>#%>8XRb^nbl|hnG9FwwKBr#bDF}g8{GWn#pWTEAkb8G{sQz`1?V5YQ0N=lGl zCfmp;gouKR9$wwv$7u#i6D3A~XeS1+2&k}BI8GJ2x*fn|P&RD`Q58V|LoE&h)BsTh zpRS*aLQN)KVcj$-;qPsre3|yJ|6m_=2EdRrzC!hmxhdX37eG#tadz=>|lL@%Zn{4~2?2*hx zh&O{x_71rXUr4n}s1m9IYHabJUcuBfDG?QMz|Ax&q1HhYS0_|h?SrY&Hp4RL23N02 zFgNPv!VOtLHab;Og2> zU;$UDyf)A#OYZA_S~00Q(fCFaZ{+k?+M{Z=cEb7Qec>xXK1%+ova*oZ#@W!~z?;oe zlJ^9m#VxY48xB@y!ZV_$qAEQ-QBHEO#9Tc;&bHD@xmU65P>Uue`)E>DkJ=h+z6CU7 zFWb+pPpbd%3T^@NBff>!WXITDR*3E$gi4SS6PW(OD~|bac|vxoMa#o`zTv*28}L?K znT+!CtnBO~o_kT|fRbRvZRbIc7zNw_=7)mXFk~2aj#ozg(>oJ^QQ6Smib~)dvXAOe zXPcn_zs_?W$gG$~+#~%V?|OUK`G{`RJ{p4{n;1sbxZO*Ji~eB)Bt9`gpUo z?TH*gLrzgsR42W@Pen^nO_VlQ!q>4Bye2!bAls;qxGC@oVg*A5yJmtCq@c#`lO(JV z$HXhG8tA2I!@PSWLa7kD7)OPJ%a-J&=~xiCm`=Kd-R9oD(a|?H z7{IPIaS-HgWP0rlp*%Gsi5tWD8K{r1dhiJop$`XgGcC84$dyqyv&)ikVq=P#f_+u?>dn(3GzcOx9Cp!7L~QtWJZzv;B|B)WQMRkK=J4e%vr3L^Ku%urKc z5tw+Xr2;KL4DeNgE}Sn7H^XVpDYi<}dqXLHo12-hQ(`nbtIt87WMZNh-Oj}w1>=_zdQfMy{yt{B-{v41HQ1Q{#P+#~ypbDye%&pJ>)y}F?k;UQ59rp!{=>=((T{f?S0C}6S6}##&%YxwKMm4%nrAu-t}Cu9 z=G)_E!zbfs%@@p|^Ado#Uj7rX{Rxx}pn5nv%jLk@SJvW@*}&a zT4#5!8^=+;vTrbmp^nn+h0y0q6BYMY;Jz2`GJLf3l6nx*jlbV+T#-^+zp7vsoFC!s zfSV8^b%kz%fsW#NC;;gorisDX@_-qb2oh?B6hL+N6x824&EF+Up=Om5ucN9JWC85N z0uGf2JeeWci8`unh5870Lx)|qfhUc_n~F*!O3wVil6E)XAW3G~9Mur&zT0=$>-6A1prWX*q$ z!?EEV)Pb9Ta)cr%p@QfgG?3gQ{t3&VeN^>H14nZd&2@!UShmmVSbj!qIYMZYRWwM~ zc*yhW{4k;$3b^}YH}5PcAa)c)s5d|e?jSc@X%L0^p%v$f9qyjQ0`l=@&UHQjfmy{! z_qgnw?4tM9$d_Yd{-db+90{TYE88(z9J4KyxxLYb5x6*Uwr|X_R-0;UHGXvu#2IK& z3Zfh&jMi5_+nv>|#RNO&Rd;o%KYZi|zk3>p7c9S?x1HCI%2ynt;qmYKyLAt|vz zNit9pS5IiXmj32T0D|hgW!bc-I*}6Us1RqSOp_>3lHfW?nW@BZLEsgXxG4S&Cx%)f zqEJW#$^#4A%eM0+{J>I#XFqIteMNV;^Qdh=J6*+4Cz2>IqEaX3?wfVs#Yz4!VEnLh zpL#HQEV=6YTxY?G`~&kz22?kc9?J-&RvGH#Bttn99f^xv&;VCi4T_xO6Q$u|$uq00 zUHEtOa?z_S4^K+n!yD+CDa)YKQNj`v5~3XngF3}PFM2-hCS>p$vWDy&*Ki?%a}adq zMk-%wf24cAeShV7;EclupPNaXmyDXWx`+God-FS7$&wBtj!J-DH+<`GzCs(iPpeKu zCUtz-x13m2h-!O#EIrEyC76wjNN)0ao)Sf2eKw89&pwU26bw50(~|pNwBt8bRxFgJ(NhmVxY)>tgiw>Lv5-;fqxv zN)bT5UQOP8PMVqKndHG6=MF%5ENT55ZZJ0?2Uk!GN)c$8AjFx09Iqs_`&&}J z{EtAn&$CZ0kPpd8HGH0sB%|hpkd1O|ie(LiPE?4Y)wtq#H0VyRokRJFw)PzTC_#`7a zT*HU)C<~x7Fds*)tc1G@Y8uMt33EbEWw8>YNki(-O^NWFP`!jm5ejlp!hOKfjmGAj z=embO9K|8oBbop3h#4YeD0JXEMHAo+yq*M~rmkAuSh$I>e`pF9WMUJX}Q?Oi+6zhr{FI z+u~_l_#M2B5#7peTWN8&UbzERh6c)Uh{cuf-3fAg8qHA(Yc4|tB5W^IX1zbb zEU$n*-A;`x<{pAncG>yB4!3?gWaHif*!wz=oh+P){5z6^hVAB&`c`{$XS48F?mNJ; zt~(q%VLB~QVE!oBi2~=mWYmAkd!ll@e$4&l(6;O!V5b4x4<*h=W+F4XXTjbNK;ej@ z21-ugdmHAtaGpfL z1DzC9?sR`qA_alxaE1pA2ikeyHiF1$-G0;U?em5>NcUB1 zKotX-6jo4T?%NI9p=Ur>=v_DQ66a-j-BRvtVD|&dF3=ne91d+r)|}TOFM$4m=8^u% zz?shY{4w8Mw*LjjZRN4* z@$_s^xI10uI`+E`gfDuI73Z>?-3RrbjUQ1S(+;@ip_Cuq9S)9~w~96pzB_nd@ILcM zZ3tTN)!nPMQ{_|HbLE4!+gkscyv=ygdh3nyxzYHTZDMyKJDxujA4F}0^ONFJ+EZrK zO8AKRqvD0C1DNmiz+u#a4iq}_18Hbqt841@){)L;Z%w-y-sl_@561;)$$FSAfonWE zX&d&9iQzJn)3fv*%P}iGY@Bkib{Dk6jS(BeA*|7D!%<#Q;37cv=)o zZ9z3GuoIg&MN|;~xgeGhh~ol#MWBCI(5(r|e-xxDg6i)C_ICyH{}x0>{67`cYyyKt z(0Nf%`YXTjKm2}*@A^-^U&GHz`2Kfz@wa$8-{U#-yu?#H^RKy;5I6fnZr#LfJi|?V zgDd?r$Mjc@?QM>|%u%~JvOSJ}A@yn15!J^^55`2LQ+p>X!uG46d1CK?eH2pvAb{-D z{ZJ$T`VVAIc7+8|e=7I!?wQmX)9DP{45{ONAJE`P za)mgbCZfDE8#(fu*D%wU3wK3Mhlctji=ZF~thKq$l_oBA$@CP?PYwvX&jLsd$4e85 ziT-$GM8S(NErU5qo!K64j)lephZQ4=Ly!!NLK%4&6&v@*3u8MIg)#Stn}@>T&Y{Gx zW}-b28kdZANBiULVVzJj(H-3zHyyJdSBYXG*_3RmDMBtpFZ^%r<0&X_P@p|=$}W@$ zGbba*bVC0r!%5YN#8)fF_r{xJdv_-`6%R!tA>f%Tj+Gx&@~Xn(<=(e}`m*%S-RbZY z>Ry-TqfAo|WD{ksnc3jghI&HzRBtUvmHy%ZJ*zPiACywdoDXGvWa-D3q;+ftCf-=6$~aou`2KBeqAC zi@h`Q?V1mij|PvIk4g`x54Vn}PpEJH1>?t`?rfU3^2g-Q0R0*H$>ge@k6gx8VRTWs zSUaHK-#DhfFTBy9cqpE&_~qR%s9yoeRmYd)8%1`MqUF}E1ZTwulMmMBZ4>Fy@K8~Z zC3y%{VxGA>9b^Um(8DtH9Y%`Sq#;di!P%(+B682B_}WMVOCtAwV=~EA@~j_|-V(l8 zyC{WVCFM7m9txbZx$H^t`Njxp5xbp(A{*-YNf$j#4~|NO*16iy?y#O!Wfj?Z9cWCt z#@}4~fuMTC^*vCYZV8GXYs}O>lX~a=ACCOI338`VmW5d$jO z{WE6yP+g4K*XrK_f4un8Ti?ZOL;o{Xp8d=JSg~Ke_$pRi|I0hCVtaQRu0?;agF%5* z-NAZN8sa{juVb(O;(M6nYp>6xSddka70f}0wE%yt+w9mh)*n<1|tCk}#J`27d z1eIs7=4IJbX38+NGhGlk4vDms4%fO#|6>^I!T05)&DY>V#quj?jj$$Dw z<-)Q?fqm=y;J+L|wi1ByXm2I60@>x+rs{^x-Mdmb<2>h_vWVKN?N$FO#E(hUk-%ZQ z(0d{@A0XD5*0-WK2!`X1 zhg2v&7(Jww0qf_q5M;JooGP(OywV)hvAV1Z(eP#k7av4DCbA?mp~{z&(1|Ra0SR^$ zl>xdz3|AOTL4_{gY2nm33(hTn4wwp<_c6`)07}j856R|Di>5;oYFF5$HfaS~=9#xJ zC8fa(&uh7@vG9;|GPUH*UB# zfPM|-)yBhk{Vl~g8@$~#zcXANMak!SBI?1H#Rq4z zBrB~mfV`14l5L{+$45F`sJ19#Zl0;-CdpQImfoOP;SDR9`N;;wNJpo*ETAG!JJtPL zR(3w{=MCG@B)LpRO_fpGt1GBP5H*%lQi4<~Ell5K$T{fQ_E3X6x{-v=D@l^o=yWlN z&mM>~sO&6DkJHQq&F_3377~GG8OUN<=PYlq~O}=b2?LD!JPwN0|_e zfE0`4qCfgG2I(YEC4llp0yK{rwoSYeSwTTv0yU3YZr$5Jr(k&hHT9L${{Hh0to((> zM{91Nd;w~<4m$a0Og)yo(PTZllHU?@wcIFhy?jiDmk?9b61V*n2>xs$Gml(*CZ>$j z<|0=`Q&jL^-Xq<^xqB;zEgwR?GWMWCwnHS^nMiQaMRtA{zWOE*_^kb~onQG%<*

  • W_mtGfWhWi{l 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%0DX8azFLNmUqIQ0b0zi@9pnth zJ@=OeIwrUAREeH-5b6{zoXdN7h8NfS+HT&f2dlVeVdahX%eV7k7x*b|c^9Je-ok-A zY!5U9^WDjp@~3OT_|4%37*

    %AkX-B=;cFR4vsdN6^MaeQ&yyAkuM`^8u_Zjou* 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 qt%_#b@OBC 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 z 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

    5T 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 z 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

    CZ0r1X#LM-*()15MOFDXx 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≻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

    ;er|;Oq;x^j+M6)gPiwvsWG11H#rc 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

  • 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%0DX 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⁣J-}vPV-v^M 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�ULqlwsWxE${?yUT|6;w# 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�F#O%A=3 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

    6{{WW6>l{Bh~J4|1IN@ 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¬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�Wm1S}K6jk^b{uK9|FA7cM zn3W=U37#Tw$y5Tp6S7Np{hdOrW46g3D2(4%tONjEvzJ)G69u;Lk`R>HBG}ZU)A09xldsJjYr{}kG-tOU)7QBY)%Mt zp?`k#7*%3v&N)5yyCR=d``;YLngk2AY%P}ND$`?jj}gKRj}d?a=%?Y4st9oW6=6sJ z{4WO(VfRR-2=vkT7_s^o0XTrpS01Tyn-T&YA0s**`v4q3=k1SKi8;|f|F^OHi2xix zx_*!8M(k-43_nIZ`!@$L4kTb4K<9n6R`WBN&P**t+|Z$ZVrQAm+`P!xOJ>dOx?~19 z@mkEZlyUN>g;`^QQLN-f%j}DDeHMz+Ld@^@RVO3<4&O*?{e$s@nZ zm_Sx8m$o1k+y^ZgV|r)kX(jT|2lu0J+wF(~GFs8KbE{G=v)!!Cu3zbA)>?*&F?XBGKE|yfR1~No6j1!@6cqe- zt$q!{L;^W#WWx2F!xO|YOpw-#ECJ0m%YmoZV$uTETsbRdA(iyV3MBL=wVO{+^C;Wu z2nGJ1f(GESjrD(3Gnr}N)x1a7e2qkp=9hp7Jn=l+*!Wj9i614o7}))4P}Atnunzw4^pJe=jI}YQn(emeCRf++JuGn%A;K%~ zq)d>TCaydza8hcFLyQ0_an)ORNYoI=Qa*fcMw1edNec23UL-dri)MKxk&KrogRb-r zi3ZCr9!0)i9i(t2k&Kczh@fPGM8oPApDfrvNMhU*cRG1B&Z|V=6E8-R&n#h%u0-G$ z-$Rn`Bk5+yo%<$_P?0H*keNA;M}JL%>r0LVm#^>NZH@#=5sf%D9?dHICJL66l&370 z@0vtNC5^ZOHqBG^&0sik%9a8ieIdz58zIdJ`{uJyGRmw1LPfni|LJ%t8S1}mU@qQr^W76nqCJ7C^y!YrzuaRibGU6+5Pp%|1Q1Z$Ul+=)D==|cp3ikJt z7zf0iZoU?)mv9pkj5!StA=``$q4;wP_Onul#{)~>G$UEmN^P2R-cj*VB>9*U#pp`3 ze)0Vz`79E}u7G0(aQF!H3y>J=MYAwT;N#_?qbnit(2x$D$(UuB3Z3z=rT{-vo1--X6=zl;5Q+)PRt0`_@4e!wi*e-2;S!D}C74$L(~7yrMQ`|7Z$+U{LI zVnDjPyF*E(OB$rRhLWLMX`}@tC8Q;!!$Cs25hNr>TBHP|q~YvA-|zk6eZOc{+ z>sm4^?zQgqJbP_t*u%AVA8A}1A0<_nm?)1B2T(VpzzX>frZd1xBx>k9! z*!C>=+v}7f3j-!4bUuUEpN25&&8jG;pNMficD#rqLW?hpKjtn8$2z)5;~5>dFP%IX zzt%QMN@g)C9F}xP8y2(MsmHV!R_4rq8}K-K9tF$4(1OC=VET0`U3k-Hb2a6|Vmq}V zbi3~aMAHNjf`+IBMh;I${j&q)Rd98gQ8@@gQ=&QsyUoFt)%<+==}YAwadmA_IRrve z(mMt}nuBes`33aTm&@;gI9_xpSyhjdmfu7DtyY)Ex}sFO$s*RcA;{IZA*1~3E8we@ z)Hfh4=fu<{M&-C0n)1A3u+tnITvsctZ$MUFj;X7Q%E1wulF~6aXbzUE)6zxe_{7Sq z3k**=@P(4TFH%p<0VakOa8~sV60k<6AX&WO)n~)h#RyI5H2-z#i+2h;__3vXb+bXFi;h~sUc z3Vtev^nV?|*!N0a-eK*6X@)lx0Hw$l;`m#ro<9})e;A0oHyasZ#nc6(D;z-8pyeQ2 zz@}3bgfD*I3uIr5NZ79w-XNox^a9u%fZQYFBOcu^2$I3T4>$zAU*Qd*YDpsW-Tzu8 zWJMo<{IKVL?jtt%<3HBY`GM;10>@8?d{+=3YeN0LPRwSKgcf!tu-`Z@;iH=)k# zlY%#M`spfpUt8eVae=iQNqtc2(viy{=ag(@XxDbAif!i#%(D{QFIdQwi}@?Wq-^QndK@=92LU z_VtH7)=wip7FTf3?u90|6kU|~m%A-!t3V?LJyhcy?w9k0xh1{b%#o&fqJMFi{Z`_J z>b|{6R%yoDf`w;qDa$=RkMET|X>yEDF>8$1nci}KGZVJV?675}+Kll2dhn<5z?Riy zPmY<1RX{D`0?K`F%VV=Ss{WlEA?S;Fz~poYcDgM1(;`8?_{5(pv^F^{ll=L+MLNV;<4x^iRwjS#wW z|EFNOR^qx=0zdy!2wf}xQ;=P+7ql-LR$2;Zd(M!f3DyZ%)v|!k<*wqPo!z$%0aleP zZ;e9X94Xh8XVNIqhh#*+;(!)&G=DqdFo@O(*fp|H=tnwnZ7m|}c)JZqS2!_UiNl5O z%49vK8*C97D>GI|CDxITghh^VMs)_&z?O+K#3L* zZ+#fD(oIIQNDZteHr_ctSJIWayFme14#5hH0ayh3{tf}VZr1+(PQdQxsvbC0G8hiU z0ieBo4QLv^JZR)6W>TfQKq+aiDP z3B!vh07d@f!y{saXQLBwjGUf&eNm&kd?ze`AJVA^!eF3djSb7?{bxf1KScTw2!n}^ zH90KzPXmAfclQ399H78o{2~P+?2L3J04YCy$RJ=a{F?#5 zwD3ce9)Z}I=t}-H09eA`<^a|HDhDV4M5OlP z9(rt_hk24c=`V2^DSwCphw!%s3=g1L1HN4Pp7g|9Egy*f(sF@Ao%oj-Koviv=g|U8 zbp66hp0dDz{L&=l;F_ZF(xem}x>P4()g4xiEV5gT0XPwVY4BNlj2{wv#}q!Nzce)M zLbw)o$CQfje?%#=qysR58Ie<7;%duFYXDULV!Qz&iMZNI(i&{&Qhyo%?D^m3fd4uN zC;&w6Fw&8dqIa|_f>7n9d4cH)eu;}28)j|}gc#^ZS9k4xiefU&Y z5D6t}3xoVpP_)Xpa!+z<2V?t8NttAAg8+{>34coC$%r@IA!@pJ{~VKu!i!p2B2AL` zVxD*f#d-PC?akniRJBcBr!fqLmt9Hj!I%`*!fbu=8Ck{x#AzRlC&;s-zc5(O$oqbL zAMZx6YHSipoWm1Hrp&p|Z9PXDFEqy8Qv`-cYp*zr-PC3#xQ52A>&cT?3g|`4T}l~q z`3$%a2tf42TVP&f+-B~k4o|7lo_S~4Q`m~Og?Zyul3&g1Cf&$g_qLoM_Tq_iMgIg`6nPV2{0a;@lroA9T|p1eC&4|ObRV_a0n>~n^d znI{u==XKETQXO}XSI4*=2C4_it{}4>P5d^#upT7}gypdl*h&S>N!Nd~`0#TTTVexc^lUQ`cR4>cT{GfOA z!4qr&QAmZopzV~$wJ3xeUlw3g48u`;1;R-n#S@na zk@X4cj{HG}&)9i~Q9kTb0xO=lRlclGJ95;I;3&dnJR+vfJM1c9XxgtpIU0HN#t8Jr zKmJBQ^v1u0mEQOtLP~FpNN>FVH-b)Y{7cyAjsGF&^qkv!a;NP?yz)j%p4#_5n6aSo?%82{PPPsp@om5Z+mwXFCFwjK9bxkTqA0Ym-Mmm zTw<)Wd@QHkSxW@&A?hE|#sAF+>(0W(cb8WDh|a{vlH8r80T_=yqBHQZ1pRFeQ0;dP z-9P651!B9i5b*z!=T`@C9v}xG{mt`>lo#I}L-8Ydzy-#Gy6A35*>41C4F;{J-~R|jw&AO|4*#q*mKSR4}m zfA;o|u7BqMq(EDX()s2`~e*5+%|r zl>?s|wp)z_I1BFJyZ;Ckhfi5A%eN&o|7}PxA|^VA9uio%!eRoroNZV&;5H101ywk9_o)Ei?_<-%&h51zH~# z@|uzW*$%uvV8O_i9{Kw*TSVhgy7DZBWUn_!eieaR%dhR8d*r8#!9(XL8xe3U-11=& z1@4GTHAr<`0!5Q=<*V?I-;;!n9VmDrc~o#ikkV?erp}{F-3oXogV`2K^{PG`&VJ zZV4|)n-rNH^Y;{^sO4hNX@GG{_(9razh{^|L$a10T?2CNnl5Q4=qxtBrviFEV%81q?#`O zG?K_Ycpyh`R_FMyag}m~$5=F2gMaAu0`2}+{Oz><9>RYgR$z|*i2U=c!eM_gs_+s0 z&&m5eufGPbUi#N0|API+SpP2YYpNNDC*y(h5;$AJvE|NOE3xi@@#{$(N& z3FT-NSu(0i0)Wl@lv_8kGEZaOUY$45 zOb>r~(KUS*5Rowa8T)YhiZXyCC!-mbdi~B%Xt(*twyMy(?H?2KP{_qGbhD^R&q@H& zwEWF^ioa5BxRKw}UxfM_#M5I-D=Q^b zSN%Q3ch~#&A3XkecR1^anNpjtr$WoHS(^BLAt$TR^xj^?u&{QTz?$d%pZ-q?LZ6hT zU~8sp2z$_#g=0J~&u+ll@`*X2X>ye|#d%67(Aru(*DGq^v?eV}_q-umn*8h4&S$91 zaWMO&$7$Z?1+F?-5%>WeMw>?`>8I5cl&bB(+~LZMWmv195GEgfZLhzdf%2?zfRXZS zUH^Xbrq}|u!d7_mH|m-rHW^Jzm`g8XAo*rjq?63yH^sz9?7Y_t18GHVkfO%Q1@FTz z4FW~^=RRJEcu!FmC36j5z;&# zy!-PCDcz1%ed`u!oV+ibO#FA}nzz=R7K*h+nS7&5h7a~*8_20fMjsxFT#Jahi0yjq zggK}`Zn#;*$Y+kAiv}S_zD;>_O7|XDGJ8}&d6PFo zEpBx>4R}b@Cs(oWRoKGEB)O|TF-HhGu+5(0QnH}D$=PN0lf9Z~!!*%O{Y$KP7PXNK z3p<3XO#dt4RTj22dbP5j;pet&Mb@85-CXq>-)%-F;zIDU?_rS^GlV}tCbi#=zH8G} zO$RGx*_`}+c~T(>q`6KfOpk<*b%hibxvJzsE|< z_K;w1E)mJxLo2lHdSqy8xQ*{f2`ngQ0WMD=3MuW3#h`vAd5Q3@R3>FG7xI~(5Fbl8 zUyG~{bjqhk^(xurC&<8Flnf30re9joV2efFV@dN>Qp{v=xo1F#YVWFM)W!l!Y@)o_ zi%#N{j3OnGuUD(~o?dPCGRp!hA}VinRhkHiR4udIwKx^tEj%yT<;f4JbeCiz?lCB7 zEY2vi1!MIeSaNYU5Qj*^E4)ur{nOe$hdJiV;-LuNy=WqgJ?7F#z|MM*@I zSL%{(v#7Rl*i`Ly{RbWa>-Q z2WqLmx2a8{K2z+{J3W66tGd{7i|}F^{^><2^r%*{x?h9VcW}(Vk}^5>QGw*6dPKpI z$ZWHQX1>k4Orx(wdkM2-^3z`B3`$R&ZE`bcF%}yCkafquqtjo+xM6*-7r3p&EYp#i zm|lC+&Al3?Wjhsm#?sUveT4ewd6b4fyENq2al>ns9-~t^VVx(i<#;wCdMNRz@V)6i z4XX2-{9>v)|E;KEgf`jYJpWr%YVk%wiHUvVr$Kfm&3W=E~=LurV7l>M7@ zDPP)2dj2PO&PP8sSvp#Db~F4m@UGi=gq~P?jbaGFsgU2v&<<1Sat_i&A)*VF%o__F zWuckFqTWfWtv9r-U1d^RVLa-$^WRt+z^1s@$*VT|29#Ke+wn+2c&T`Q?qSykOEwb% zsCZYwj~l0a!wc8}fJX-e0jm^ZhN|3%y zC*E|NC6JZTXytMYte~8+4<(!%`nWlF<)M%)_8W1>rv?wh^rt%oc@5yPcwX9GA z1D4Ju=@etV|3)S3%PZz|@Xk`Hl7aTouH6fA(E?GyuS0t~E{e@apLK*i;@uu`1;@SQ z$NiG;0-91lL5zA(_)sb=XlpWWTgc!mE8zlLeD`2^A6@2~nz-f={^bX+B#&iNX+mYn zoOThW9wiH;#pY_t>OHR?Meg624GLulV-uMaPWPAzdn|lD{$2rEKsaI6B8&DwOLQQM zQ6TXH51;v??J!ksmv6%lXr>l5-iv<{sn;5h?zbG{+0PZ<|7@heYttf{(|gB4f!yb9 z8@?gqhUBSSF|sIqvAP@47xA5jm+{xaZsVz@jro=@@D#^}*hDWw^#vIbp00?_bzIeb zXmu*~FM3HsVl0n$)g9o8FWJhv+o`Bo>~_doV?Ah=)xdy^F>|9{uiIQ|dSB+V&C(m$ zung7`Mk+Gj2jnvmMB`|TD=wMd7^H8F17G2p;=jlq&HlQSlNP`D;rxZ7bt_T`#EqI3 zH_jfHsq|9;KSS^JW`6hsC(rW&-E}qnwT}7TH4`M>aiub1e@{wm@_Tb1Lah3Nk+-|# zL6%+aATM8JRF|YMQ>KafesfdQr}o*$$2hvUOWz(lyEnF2)dUM^dQzm`{mkf`S=tz! z>pQQe$3~KXfX*!C5n!)FR!C8b=|KI~@VIGU{xURAoAU|DtNiio4762+=i&y(p!%wX zJ7agKrER+``a&^&KnMBKQY1k98;D`gBo^NJ-v~q>X?*5Jir1=s7*jy0ols=OZg@Fb z`c{2)K4DIH3U!N}O!8n2MHA&ra`3)g3}R}Pf0((;18L>UiT;|eeh*2;+Z$7tUixG` zx|rC}K9;zEz+^10uWsIH7xjNl9zEG<9o&tuGAF15RmtMDqU*6nu~cQ2vUp2pZuVh_ zp*yy77QnExy-n{u>cv0j7G$gVT(WJylElRzSr-ZEo3A4SuTgcs8yQlUtX`Y|GzGsuKy{N}wY%%_}ES)Knv-cep4$aRLiMA+5L?6NPyq=d&UlR_6LXePfCh zqkQrwZ$-nVf8MlXtB_VqjZDR6TqqQ6h%v?wflpR<^OR`8-#3tu+q%;Y^$c@(wgU<6 zefS&20DR#rSnY;770QI~4ORcs`0*tXx30R=39l0Ih?R-^l@O-I1K+-X zitUy-Q2$lH5>KRSDt05odYfZO1cKGz5{Qe87kls3h;RH?rpQpkV_Y1U^r0sLyd1}g zBL^r}*atT#OCD`i+;1h~TNe#e{3Yhf-WP(p;v}xR;^?tIs1FG{s}AJerT8jZ?4T|L zO7R#d*gc}<_d=$B5}mozE_JQBF7bi!jlT+#AZDa%ObT5o!BVFNQo$m6FEOu3LRo(U zw#wSWklf74l@DYno<1ulsP2a-!S)5mE);UuJ%#fW8mc@_&^y)%L`0fi59)q~17Fo1 z$Apli(!WJoDZVMN4v~AlOmxQnDCyjdHv{DXvu%uxmb&*n1K!z|*9MM9v;>`RS-z_> zgXrteB#MZyodd$Y8!DCYQ*oKLgbzlD**>V53khC_*_ioD>y{}CyOYyL7HwiUG2y)Y zwq@b{O=q(`3tQ#xIc)=O)21J8pQ{PRjHF1Ghh)i2<&REXr6b1yg`p_o}*;9t6JOd$PkTo&4W*JD-yXuMW?ylYT@8A7Gn|N7pW0M;>m9;_dG3 zPWzkslyHirun|Y|4_E^awc97B*{Sz=NmIg*tZ;Qqg7$?Guk2Nb5XURyxx|Cf9)(%W zEAiNYZ{%zfME0+K;uj?`y}9<2LRp(PR6jROJuo zj%)!G_)upbc0RD@LQYXi-Pk4p!QLR0yIf$jye}rmHtKWs7fVcg;gHOgY|aFn?DNxa zCzC_vGg<1&UY0G1x^MjNpr5<97?Q?W$3J4MuJi`Z5#<$?1+k2E} zo(Rbg1FhDBQZcq@HBd*&3Fi~7#&zsoc*kM)VHHyvKjGCVJONZ(;KH?=Az8@ zA3Bkzn#2-G_d~!|d&+6cAyX8wKi5bi(HB%h&%P2Mq6~53Z?NjTH+AET~8$Nk&K6LKX&hJvVE9#*o&H zi}75SX#$nq0*-q;S7WPO0j>nOLeJJ@Ggj7ko%@!l`FA{pz7BcEVSr1WK@Tz5MGMC$ z+vcANeP4GH|7h^tKp%oYGq7LyX!(1ihhL-4i!?z;^-%POqUX~)*sOx4dV85=*6z>4 z%T&#*@(NO?i#}`Bd(#X2B;k&q@PzW(gOSpT+eI?Oo%KPNX8-#8?u~I?<~Bb90uJpR z;I~~$1o*SKJS;37!DhFQGjn#c2D@=NfxZ9bX=Z=%c&?Ut)g+jFBI?q`HHJKmjW>gN z`k5xe)`tBj!)xQ`hE`N88&3Meq=KbPvr~3~S4fPK0}fR>>Bq!s*)@^Yc^dtCU#*Da zwj*}mpMxi^to-$;;+h-M0;!vBe7^&C>^!@H=;4@nHp85nVOHKJ@mIV1GgQ|v%8CpI zwK(2ZnpO$olwH*rwk+)IVz*TYWmXzq9$mgYKgjf-h6v4XO&@Nvx%5n`nk@(HANZfx zcz!3A@G2W#vGM<&-Rd{1tz}~3ta}kiO)OCk_1@mebl4vb@cshHAzl~NHhg{KvF~u= z)O@;U7HG2Q6;WK}xXrH3(=@qrwPoQt0hw;TS~=U@=lvYWkCFJcvegu#zJ6@m_2!y} z#?P*%3SEp(E3jZ9*8HTAF=6U;|+QIMX@uB#{1 zXB)GpR<&oFy0ksLfWmUvr)seMdjei!+6q!N`piR|ym77yy5kBq zB=MrtMZvkup4UXyO<+n+tP%II#@fh)h8J<6Ls~E^=E-B#q1{{ZTz^LnUmZ(cj8}URIgD`$#sjS2hwV8#yJrq2L%3c8EBT&fEGx zgm9!vUFrG$o2VLIY(_egBE31?se3N&{3-+)1X!z?wl-bD_}0RhOtz0AHuF1H@^X;u z#4&+8heTfco1?pChklGCW#Q*w=nbBcv22R&eVVRiWl5=Tsiso=5}$CDbUev2WBqf9 zaN9yMk*)`GrfAa3*KG5z2arD{bAI}oZ+kE&fcPVw_FTm$ps4XOeH1~}Jh&(wlo5og z3JPNml1@s?8(14n#vHRwwBy&fXTX&aOR8$~f|)}hX}DkjG@i^oZcT5mBxvuJch6TR z1A$W&H;ws$%7ih$s$B+iwd#b5u&U&1W@L4O_TquNpTFWeC^0+mliepv$S7A*l`mqh zdz?h{c7S=(y3j$X!GYi6KGT!?jqfvBOjQx8nIrWHvditc>zMBu66jahGeenkjR=q` z(P^i@zIoy{d!K3be)>@c<}+2@Hf9F%B!lV!r5S4hM}B(2HyncLq?w6SnZ^mKrUT3f zV1n*i^!V9(X*L8Ib?Dz`?-AG$Xw;)i%^~wb4)O&XwKEe9GF2*7QD>OT9Ftx`2OMFJ z?;y}wK?+Fb1SC@xIy?X!=7!l+K?K^NWR|el21xc0lnesHghH|hpk#Ki*lGysjNns9 zrpYaq8D1ZM<|Aek?q!!|IRGDzJpympoo zJfa4Lc+JAO5uwAlFq;<0p)qvW4rWsgIaGlTOTuiz;BC)7fqlQl3IfY=%&dS8%foEy zZkx1$Io3ne8X!P~1t!?+nE3%Zi~zHVga|A^eSu}yLj-1^zQCGtAp)IHGIQAXcW_1k zo9UQ|1s&Ff*%UzPW}&kVFvmKG;GAIbZ6xV-H%#FR5$J}JIl~^LK?LTYWR9>0Nf3ci zD47Kevl{Yq4$cT*fn7$uUD_CQ))8j;4pK7~5H{J8vsT))*5D64PPCwO&_6Lx-jBQNX!_NX&xR) zbcC(cLiXpN2#!XyP%a->YNMmkD3r?_mYVKp6a?i0!H9$4+W;^ESj$=n-wb?dz&6>y zbju)R!_Y}PScVhKp%$VFg?P?F{UAn&&OsL^<;+W=0Z3+p+x4et#@!n0Gr`xgaxh8h3OVR%C697zbRN#q*}cA!QKZP&Fx*awoeTO=b%K6FwrCk$0(G@0)|lyIi7>lCP9o;p%tjN z>l=ekI>H>@LEZt~LX0MEBLmP1pqncAYKSah(G8H-Lr@|J3Gh!=j-O6hN_t zVbnw9W}ry78^L{xO@fqlKqnpG8+9M%RXyibJ?q6g=cU-NV_v(H;0Wsg!#bY85Y1tT zmM}zTm<2Zs+YW|p4#O6h^+K5QlAQ5EnDP2C=jAf%r3i)Rm{;$ZzuPgd2cBMWtJJ~u z1SeRBHH>Z+8af0Gord0Nhu-Oi-dTWl8AGW?p;YZqDx2CJg!-MJ>K%mYouzj>OTWmi zVIAhM4hL9=9jpWB1yF3@I^8@pbO0(-3qebRpjAQ8f*@#-5VRIZM5CivE<`K{BKFZ5 zhG+*vw19UG^bf28PCft)?SO_(LPN)(p@0b}!*E@u34)dciLi!Y1FJKIVI#n>abeg# zFl_f(FG-je0?g~x0QAl%^iC(dbD)1<6>#z-2wErvtqg)z070vRM2tbxuDDze-_KX! z_-{^nHSF=sH$+S@`PRS|9-3UK-wcOT^|~43JUVEYT%IwDycXQX?kYFlqi*QCUU)CE z`}3+q;%xv~Pj$Q5iEYD;XB&)~gh#OK#^fPcf7yi-Uq#x)JYI3=z|(5~cGnC+DHWp+ zVW!XBMV#iY3j@CFES5uK+MF-mxOq47h>NFf4x1#IJ?{OQgQG^xVzHi8<33XP{N9UB zp|eDRvlWVJ^QsWbs*nubFVJ@u&c!mju8GP^e=*^sIjUG#F;JYZUY?b{|@udf#*Toks6NuJ0Ud#6o9DaxLBzz^=7rd zC{llqmstnM*a^DOH)N-e=wCK2!r++yIjp`Lbw~eGOEUMW%diBOyR`R%IX)Z5>v4RF zcB_YdzH73)T<-inw@!=+e2Ols51*Sa4}Oj)CnR;Rj%~{H*zj@HSUi|=FE7awroMJB z%~D>v`*odXJ~M3iC+mQYP&^*&J%luS5xTPk-I`(co4_jBQ-F1%%UPQ-`ur;Nmz0 zMqTIspFr*kr}Z%QrZt?HAPq!Y@#XFR?$$Nn373H@Cmv+ED^Ozqf(D2!cSN}{wm~ChRwHHmtvEJP*1CyUuenvPxgo5> z#pRn@|KM6e%1}r85MmZwI(}Ao_D8QK5cR<|gkoNwLr%BdY&ip%t>)CV!PhU6G3{b@ zcs_TzYIpMF3^MIBr??HRVe&EU7l4<6%Wb#N^VhMgaTnl1+AES<+Ntk{<`9D+C2|I0 z4lg0ffVWg`N%dWSV;SHrlQXz*cVuUX6xb_<0A+{>AZk z4)!OuT!V9lPvGBat7`#(2H&OuwwM-KS3&H4NPJnkF@HWUnu^K=v ztHi+#U+CAf0q-W@ZIT;-0NycF-mLjHVr8^hC*89mgXBuu6}&!&lj7Vc+aPI zgHsuB4m+7P)0qfPlXw!IJDC5Bp@ZTEAa>eK8`o7U+gVnYoPq zb8^q?>&?e{molC5fb+Ap!`5%hJLm7`p6y2Z%oSaKYlY!V+#Fxeu0+i5?o2$9wV27j z?g@C+v+WAL^4(mPxRY-IIoYwEpB8_ZnHw0&@-E_LA-hm?cw^=0VA&o~qEaxkCy;Wt zSyjUS=Ikr2L2vX?Jofn)vXi>GoR4Ng@mJ%s$5*?Tg`veUi5zdsoEyC3BUS@m-H=>~ zUL5$~J#*xw)!7t@581dcHcr#Cx4mv%8n! z{IhwnsmDwWN7Khpy|B%9M7@l3+ON%0a6YqmGTh9N?JFP2y&Y+x2PsU;g%JZP>BRHis1-<7_&=`g9Mk$)n@C zDXuX<1j1kbNv}N;$xei@0A0k_N3W+f0`$0?|jJHt4nx9em30{9B=Ni(o}R$ z2ykWcb`R}wf9hLPnGA;k7mo|p%XYkux19pLPputuh%@6T0!E+ug)0SC`X{&D@P3L( zo1br<-yQKX?Rr6QF82LG$86hEqJYP{tobmpI)zO8dx3}1v$pxy&REJXmebm3a=xsk za|$(_G|$`ci7)hMKTf@ZJe{bDd8{CMlA!#Yr1_esXmzF9w0&lADovpuQ)t}m9QC!mTfN zz6K~tJV#|@>+QHaU(>@`K|D$YLz=JQ`b=eH=N&t`OA1ub&lQuG^p1VSM7ccAC*5o% z>(%F)aXu;coxp&d^re!~k9Msy@L2Rq@@(&A8P949R&u zt@K^tDS)iTM%O!w`Y53}41J!80l@iWlQ5v`M zT$`C#1MY>#^x)8c$p42qk=kUY^g7?Pv8JesYYcz|QdWzpF$@?RPPDr*y{>Gu__YcOI{b|FP;bZ`rq)JTKV=bU8+;_Spp{KW@k2rZi?z zSBuf>*odlX1M!cgKoh>tIfqNZLnix#MMHxWN zeEzhFJ6;NfgDS=7TXD!bWFc=cMRdZK*kwpl=z<0{5L5D`*=00R=t>4P=u+~K*kuq> z=wb(PjlrO|{J-E*I^kLDGA_4nNpJ~}L;01s(xbk37<)83eb{Vx4y7#y4 zTz+jJDFF@#Drzgj3*btEK?VHCdhlj|>Hr*Qp!k*)aBGmU14)X%8(=Sl7Xan*hiQ_9 zl>G@W8BBN#Ck5O{C747&QsM6gh_v7ZfHIvWm>s{XTa*m)YJ+D=`7!m#dP^|xXoue| z!6eZl3xA6#qZ59&6q7`Q47CK)N;`a+y-OqI7o7Ah|95S&@G`g?k-ZBANGgTH^Vqwd z-xdJM@UeHf{0Ya@A@h2R*`)(_Bcv=N-2wr)M#{4EZ2_PRX^O>rcr!qC01h-DrUNGh z+(Cmbh_}Go23+WF3m~Le#18Tr{|N^gczsI>xFx~wfh4-$4ZKf)7XZre%7aNOe^rl_ z)RE6+XHZMQdp`)02P5b5Ye|9&69z%rVC1*_T8iMpph1u%7`cESNslb}?Qgh73SRLb z$oST+LB<9oDZ=4MI%I5x@B%=Y5KXe+vOnP^gOQKH$dzz6Vo59^kW>hV0~HCi;02I0 z$T~`5+i#lzs+YhU=q`nm0&WCtc?=*)>vsbfrSJkk8FOvPJUCjhx_(xGKHOh{c@VnE^GmY;T*B|%J zk5BSu%Dk_>o1O@`vq>vmDK-1mh*DD1EKpB1#N$>S3le`#_6YqKzdK(DI_|SsP)OIYVb$p5JpqeLNdjT zPn}VAo2l9Bz-L|YH=iuCXe>*1u)2SKQ+pAthV?y6XHNKva$vka*P1^YS6UMV-&jSlL2@_}27BQpC>&swb;?*y`+sFC& zJ=gXJ={$$kS%bWRfxcIJZYB>0B%GFZ-FWU?nlyq%RI*!4Kls)xe0g@@$F+I_+gjP` zIey^C^kewk;ld6i#P>YwRqbA4GM?Bwh&hMsc@Su$Il@9R`yA?R4u6EGMV6CJ4z(-d^q>R~3S9QNUBgEi-Pptzzc=D16 zlc`Ke=4JWYw44l`<8w(}^fRl71PQO?pZNwlGHSzb{jQ=6bhuf-ll_Bl`BHVPc*}Zy zbYBLW^|zbN-L=)hu+fPI>sW$`Vy2knxA6--qb8aX>`nUXxm^v@Xe*Rsr=H7gcjkLW zjWr?Lo2=AxTN{$_S14yqF)4227kFBXHC5Z0Sk`k(8KwzW+)bZ)uCk3^?1?_!)NN;? zUth^-I89pdBw^~l+O|@WC(}ezuf0iVeI=iv9&rUn%+!7PZSq3T7ZXj1_9g@Mm9B=< zv=vWcr&8p$2lG8&j5VR!o2=GXS{v%|S3Jp@y05rRUf>BHYpS&~v8u0>GMpB!;7FfJ zQQ0Oh_QV=*>a{a5`0tbyF;iUf+r)*QF%wNM?dSXJom>qYXe*3jr(Vcy_vU-Xj5VRy z&#%-wSsM!RR~ThYaVc&S7kFBYHPzV7Th=>C88!%4PyipZRJMtWJ@1Y;_1Mkp*E?|< zHjq{rB}{RtZOa#VGE6k}*w2U5JMkF`5m)?I%8`7}_^~E5`}x)SU28*c{)(qrQx6rl zsS7-9$C~Qw=B?^?r3_DmE5y>LUaM?V7klE2H}%=g8`SS|8lI3=JWZH-sJ5+Eo?9^+y?f*u3-kpEUCcphS zVX9cTLfzUhr@vmj$KD@f{G71hI7)7tAZDtVv_f6VFlVJ+{H47={lqz8@iCj?_T$(o z7UBwZPQx6_dT|tc|LBQx*`nhpmF>q_Q^m9u>U@Sd`t{;9cK*?0=Y)mFY--yC=~FEH z73!{rIUxXtoxkPSeX6o0{=sgBHK1&XK0m~>7pq_$Q`95vw;LQ zxz@TcUf}9(Qe`$3_<<{L&Au(*sFTcZBpdkRvY~;$+&8d!~c09dto*&&NAQ`ZiFbu!R#Zlt?y5s9YkbQ{G4_Ca8bVw znHBx~=AOR|8Zp|xjI z&l#Sjov}D&%gpB}@8&?IaQZ?eWmr1i2R3~bNKJnE?7sR`k8$G0tk=HjY_4;**^TEr zpVsrX7?T7ZFex&ZsHfw0OfyUWP;G0rv00@v@rg6^=FE6?V|@}fbi8t*y18@}iocAn=<_I&Hv+WM4fqFEMU<7yhT`5jiav%OvBZMMLf zZEC#Z)e>KoCBUDPo!IwQ$A|Bo$Xp#yngB7C3`twXji;->4(fsMq_>o}P_}wRptw=& zn%(KundOgp3$1G_A)6B~x? za%{@%l9)>4sai}f=b&i!J5&|fu5{vt#?UyKJutNWKI3$DSgGDj<<-16@>3{-qvK2S z*ag+~iaX>Z+VF101x}1?s~#$3zh~WWpieivNEiExZ2$VJ=xOQU(w+%I;?L)vi$+Uk zIb5h5k35=v&zhzLugv@WC58{hOM4Twb3U~j9~!BD+%wk8zhB;c#jvYb=+q;o#3AeL ze&f~5(N}A5eZ8|Xu+}r#GlW((Q*&4c6LKCz{u11&Fr5NvFg{O~Z_K4(P4Yj+>CF?GENr+@@anlP$@@%o|J;o)sP zlI@|x9*M!Wi;&i;^#TVHjo#~*cIinz0Z{)R;y-F))-fDxpYLx?7C(5M;&F9-e);U3 zNZ=7USJZh!)zHg;cmB<-Ev%SVlPmFU57}~?{eeGUrrb!|4jevuT(t928Em{evJdI_ z?5lHgvTHSZSuD}|l#wz06Wis&;RBO4F88Nb4*L^ZJu1aG5yLD2q8H$I^E7c1CM|yE z#z#Jz_Ie}Ex$@L&qpf=fu8ZqbZC6dL+!uz+F@dR{P__?yyw|=w9;!YOzd%1L_uN$JA0KNnR>nY`Dw}$3nHIOCo9Agp;pgn= z*ML(T{^GqO!Ynfn4bch9wo{3-QV69uYL370+Bvtwwe-r_xAXZ3Ico_#-axUliDR?v zp`ioZi%-L!pwpS^XlKUHPgVJYE({jNlO`yq@~mx!62qCpYj! z!Aou+{(~_170#O}7PZo2QF-P=%g&hgX_lnRj;&~-LJ2SDh9z9RPn^sBfVs&K@{ zS?&zg&(0<-4w;x$2|DZYEDkr6r%6z5J{5c&$aL`4bKqttb5fOV<=D@ASd}cy?HXeG zrSik!l8OvDw=kingC(U{BMCN+ z#`h99&#`5-M)=MvD;ES0AK4W(-YA0{71}1g#m27Mw6$7)s?T}2)k6KIYty!LTAZYb{vfZ2{hOr;zugViMqef$q~czI36a zy&?WnkI&jaBlo774Q~$HFP+acGzFJfz-G-^>MvNTc({35FJ%duvA$GewQvd|a6S1v zU}tbg+Rh*p$<9DVO?t>;Kz69{KD8mWD84LUETrOCeU43yV0j`lH209*keYn0V9jDf z-_Ae)Not6kLVk#xRAGq!5yYxJ5!aKG z$fq+1d25%nvh@!zaqe>AY;VIgDG=8a6-+LiPehVKemS&;shZuRwWuq021cMfFcwBW z7%L_Z{K7$U$b>-EE*-f4q-MPe$goJ*un1(x%zi5%E&_ieHAdjpl=UhPNBNJXhq~p4 zJ_n_u%MBqHfSu%qF!RB^WBiZD_`Rivz94c50D{IP;EyvzYG}g^mv6X+HV9k-VW}dq zsbn(BQe#>fV_LZNgqU0?(#rM<%Jy=~&quWi>`Fm~4wPK?LsFIGl;7mPk+v&6f*3pk z?gCl=ncA-O!>CrHT`87bDXSrSZ0b~WDr)|lWjlNA`g%1xd#cfKkexkcePP>Y0n+f) zUODB}{5Q`>#}Vr9fw;J0Q^WJ#6xeMJ+iijjMZ;6E^WHQRylKc^L(W?xlp8{q8e)q} zeT>Y-!fvRhU7tl;pS1xykd+>a3Qm2DQ=jFRw+1Y^6p@RC5H5XS2E#aIOs*%CL8+^W zQK_r7IDjo~7&qiqPnkwoPr1o+9IFiC>SH3h{dapPDAQblAjpt9n*+$gmmYFO82ifu z;c6#4V4LrRN%f*^^^+Ch9edGqX(leX$^Ou%Fd@MU<1|4v4CS= zV&`j@9G@DIXO#yY1|f4jaU|vH!;>HS9G!|TI}}y`&d&#L{jcJ_1Rlz_ZF?$Y%@U!} zlq8X5Y!ex&goOObPWBo5GS*R~2!%n(7KwziWf@y4`w&BxWGALbS(+4T!gtMR^E}V@ zKF|OAz2E!(ayR!q*LfZ1aUSP+UH358Tyr(?;Wo2_Tg?vcFzc~;&%ZM~@p=^XNAzkU z)A4q?OcZk#s-a6J%P}RjTSmw+MH)}!Fq`tj6AK+hIn2&*OVFRtx}KGNs!RWYqo@I% zn^7X{nFI@yMA((Yo^2A@yk^Y264_fM=+(5YbnBaU>z}|I2uLJECJr%4ly5T=+ai$= zn)o^Cf_gJ8j~4isV4qL0s53J=yjx!yFUKuW$S=WmLaVW>XCEH#hsPV?eHbN_BNJmX zvRk@)gdArK@IGQ@N3SM+ZrGC*-_^tKIHTOvb1^g9ySoS4)uV^^;giTU!lxa_r+MPj z9yluco@@sZpQXd6DL85dKXgcg*dleVoCBvqT*WR{MqW5wJ>K^a>>22F3dXFD(m-C?>C)?%z>Mljo zg(Nybx@Fi7ndOvlO7va>gKS%u3=VX(+l$v0+AGmJ5R>S19{|+8j8|ur=sm60E(Zp5 z@w2nQCm2q+AEn~d)FqSYm~y*YM$j<@j@RZe%kjf&7dlcmh1J6o8O^2?%%&L4&|5YTqf4KrjR;eC zVuPC2#J%jRUHTAeZiS;0Lo&1PIX>*54ok6cYN9H#vMcTh+mkf)pt>hrk)rM-O-`up zy&)`DA0d7pI0IrFfa=-~VD;Idy6;gWO$(^5b20hAOG3OgI4dU~=pw{>(z@u201Io9 zCLL6FasbPmUjomC zh;-ILtTUKkQ<5NNQz$+OmsU;3l!u6P?Q*hxDT*HZ+b3>*8CviBD zUKW4*n>Z0!U>kuGSuUkP9~r>PfaYSHNaYY##*y^Aiq@q%9w*{oOtudJ&RvlyYx=qb z@Zdsv4%FN+h?TLXAw~dyfZ9Oa$lxSOTRR z5$VwY287Z9&VV_Z#;_82&fky?^Z*=4Kp3EH9xX~Bmi>i^7;W$n4iqUSzp#5p z?}y?v7=aDQ%9?(xHO(5(z7dDhfY9KWfC6RYL(Zg!R}{=%?V`RE3UM@Tv<0*3?k;^W zXqX4Fa?T{ZCPEel8msP#JX20S)JMny0AK*$vM1?<<1{V~VDU*fjcNqUt(c0XH$ccL zM8N3XkdedKTh65Jvk2InHAyc7r=f^|W!JvU0`ddvw?kMtfKW$+Yec}BU6GMPSo|O% z3uIp!8ha7|R+1e-oe2Wp0Bry(=T7PdjSm6L5Ee{Chd^oEbVarmlN~{6EP*Hb30a^t z)By8gEFLh;z~vGI9W~3zjv~-lKfte^kRhAJTIiWK883wJ|` z@tNHNek;g_Y)N`V8nt0Jq((9iKx1WGkwcAy ztfznu@CK9z)(rp(DCS7g8zE$Y4EmLl9k)YcxqwXx`Os=MHD+KZApcaN`HBKfSojcJ~qN0Q3n2EQ@y@eiPRMio@LR zxYh?0NxBG^OTF1u&~^7D9x^k_$F&@X#!djsA#6cBuI1TWD~*fN#L$eE3kGYl^8)|uOMKJZb)@N4%CJ(h`63$2Wq3+>OD13V2yD@?g9uvA`q($ zG}Zx35jFgB10yk17YJSxZvwj>OZKmy)Dky620!N+u=u|fz~>@XGy8UZROQgAak zD>X6!asqB~V~qq7$Vq2884H{NYcTXY%E=0jB+Lkb1c>{WlCdBsJAq9JSpnpvg=VeL zPauJuY@@-!fNwMj^O8UUMXKS7i~;;Ww;EgvC{l16bbdMGczpnCG3m$;F#2e?st8yv z@4P3dP<{k#!G=Tz)7SJ6)>-|yq;#q(Whybm?)RksW z!i3{mz|{35i6*c|Fe}vx1UKe1XA&7qT?^JEObD(8OkKIPFG(Ql)rj5$Ad!5UxKzK;!*SADempHNeal%L3U#x3mQUq2q=? zARTwk#|{(t!xk0~gO6@PcwYx%!jsg#rR1pT)i7S*Ib^AL*dTFhVMP(;!{HkO?CgqC z{X38mQTsmDK%0;kI`d_Bd!c;>YlqKQsO<4mnP13XoSEt2S*9$`cc6lgj$Oh&aea}r zccC)re7Vxta&t{D`4T1bF>(&(5&Ud?bT8%or;k4Kk(JY{bFnRRZ)Zk$bVt{_ttN|C zo%|ob{HNDv$7e4g( ztei1!qqFK8^}VH!;Q8{!HxbDQ^c;?;Pw+k@4a45*No}d_XDPZ6HWfWQ`2-&{#DV%u8@rtSqTfmOp z-aV(JSWEWGP1)P9ZQV}P%vYz!ZTofMCgvyr7hwS))@L6dy&po@;$2$IaAn)n{obR% zTXKAu{2N6+;&b&GgRX=3$<_Y|#X=v%g z3`|{`c)^LPoneanKBwuULYt|VuP-YOiY0&;h|e2#(*aL&U&=;Xei3+cKQH3qiSs8& z5Jgin5Y@hj3Cq8XyA<%PnFZmXY45j{Z9t)^S*QE z>T^P7&fL72Jt=+O*W&rT8p?LOe@u&yaBFLColl=xcF2ejtT*9+ux|6&2UiW?7n^jh zaVOo#l|I`)+^_?DnR#q^j$L88F)8y&4sKZP_0W2m z@!(<2Gl^%SX7WfwkisPQvw>uole8%l%|a(|ardPdd~(47(Eu^Olfw5y28G;D-mi*A zvS}Oc9DfpiS4e`|Kb<)z|GI~@YA2_*QAo5nn_>S>0XMN$ogO#-tp~X!w(_!?nAaF| zRa-aQ#4}pJZQU$xqj|o}WjPZ~LUvryke%qx2^kZ))Nu8l+UpQ$7gCRMep32Q?sq$h zrXev%_Atc{&hgBCcMlOwZ|=InGF5OcD`ZfFSvE04^|g%%GEnSY(BwhwLuPc6$z_s~ zt3J2CwVo8EL2sYRmlfmre5^iN*y*`Ry4^iOr+wAPNRTBqsDb-!QL#O&G1PBh&+ZFwmyAcK%bMUqY~JJwl?41hVp?U;_z z!7emp>Co5cMyJ3t9XYG4JHIKce|i&;0o=ahz*;{GH_HX_C6^qK*qQ{N=*bBg5}Bjo z2EcYL%0D>BGkdIr*2qg7N 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 IxQ{^o4`%mj7ytkO literal 0 HcmV?d00001 diff --git a/src/test/resources/vermont/vermont-rct.osm.pbf b/src/test/resources/vermont/vermont-rct.osm.pbf new file mode 100644 index 0000000000000000000000000000000000000000..2ca491bca57a42747d8ae0c2a20cd1ab0615ecd0 GIT binary patch literal 6206721 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