diff --git a/rustdoc/implementors/core/cmp/trait.PartialEq.js b/rustdoc/implementors/core/cmp/trait.PartialEq.js index f579dac11e..415addc2bc 100644 --- a/rustdoc/implementors/core/cmp/trait.PartialEq.js +++ b/rustdoc/implementors/core/cmp/trait.PartialEq.js @@ -6,7 +6,7 @@ implementors["convert_osm"] = [{"text":"impl PartialEq<ID> for ID","synthetic":false,"types":["fifteen_min::bus::ID"]}]; implementors["game"] = [{"text":"impl PartialEq<Route> for Route","synthetic":false,"types":["game::common::route_sketcher::Route"]},{"text":"impl PartialEq<Mode> for Mode","synthetic":false,"types":["game::common::route_sketcher::Mode"]},{"text":"impl PartialEq<Obj> for Obj","synthetic":false,"types":["game::debug::blockfinder::Obj"]},{"text":"impl PartialEq<Filters> for Filters","synthetic":false,"types":["game::devtools::collisions::Filters"]},{"text":"impl PartialEq<MarkerID> for MarkerID","synthetic":false,"types":["game::devtools::story::MarkerID"]},{"text":"impl PartialEq<ID> for ID","synthetic":false,"types":["game::edit::crosswalks::ID"]},{"text":"impl PartialEq<BundleEdits> for BundleEdits","synthetic":false,"types":["game::edit::traffic_signals::BundleEdits"]},{"text":"impl PartialEq<OpenTrip> for OpenTrip","synthetic":false,"types":["game::info::trip::OpenTrip"]},{"text":"impl PartialEq<DataOptions> for DataOptions","synthetic":false,"types":["game::info::DataOptions"]},{"text":"impl PartialEq<ProblemOptions> for ProblemOptions","synthetic":false,"types":["game::info::ProblemOptions"]},{"text":"impl PartialEq<Seir> for Seir","synthetic":false,"types":["game::layer::pandemic::Seir"]},{"text":"impl PartialEq<Options> for Options","synthetic":false,"types":["game::layer::pandemic::Options"]},{"text":"impl PartialEq<Loc> for Loc","synthetic":false,"types":["game::layer::parking::Loc"]},{"text":"impl PartialEq<Options> for Options","synthetic":false,"types":["game::layer::population::Options"]},{"text":"impl PartialEq<Options> for Options","synthetic":false,"types":["game::layer::problems::Options"]},{"text":"impl PartialEq<ProblemTypes> for ProblemTypes","synthetic":false,"types":["game::layer::problems_diff::ProblemTypes"]},{"text":"impl PartialEq<BlockSelection> for BlockSelection","synthetic":false,"types":["game::sandbox::dashboards::commuter::BlockSelection"]},{"text":"impl PartialEq<Filter> for Filter","synthetic":false,"types":["game::sandbox::dashboards::commuter::Filter"]},{"text":"impl PartialEq<DashTab> for DashTab","synthetic":false,"types":["game::sandbox::dashboards::DashTab"]},{"text":"impl PartialEq<Obj> for Obj","synthetic":false,"types":["game::sandbox::gameplay::freeform::area_spawner::Obj"]},{"text":"impl PartialEq<TutorialPointer> for TutorialPointer","synthetic":false,"types":["game::sandbox::gameplay::tutorial::TutorialPointer"]},{"text":"impl PartialEq<Task> for Task","synthetic":false,"types":["game::sandbox::gameplay::tutorial::Task"]},{"text":"impl PartialEq<GameplayMode> for GameplayMode","synthetic":false,"types":["game::sandbox::gameplay::GameplayMode"]},{"text":"impl PartialEq<SpeedSetting> for SpeedSetting","synthetic":false,"types":["game::sandbox::speed::SpeedSetting"]},{"text":"impl PartialEq<RouteStats> for RouteStats","synthetic":false,"types":["game::ungap::trip::results::RouteStats"]},{"text":"impl PartialEq<ID> for ID","synthetic":false,"types":["game::ungap::trip::ID"]},{"text":"impl PartialEq<RoutingPreferences> for RoutingPreferences","synthetic":false,"types":["game::ungap::trip::RoutingPreferences"]},{"text":"impl PartialEq<Tab> for Tab","synthetic":false,"types":["game::ungap::Tab"]},{"text":"impl PartialEq<Mode> for Mode","synthetic":false,"types":["game::Mode"]}]; implementors["geom"] = [{"text":"impl PartialEq<Angle> for Angle","synthetic":false,"types":["geom::angle::Angle"]},{"text":"impl PartialEq<Bounds> for Bounds","synthetic":false,"types":["geom::bounds::Bounds"]},{"text":"impl PartialEq<GPSBounds> for GPSBounds","synthetic":false,"types":["geom::bounds::GPSBounds"]},{"text":"impl PartialEq<Distance> for Distance","synthetic":false,"types":["geom::distance::Distance"]},{"text":"impl PartialEq<Duration> for Duration","synthetic":false,"types":["geom::duration::Duration"]},{"text":"impl PartialEq<LonLat> for LonLat","synthetic":false,"types":["geom::gps::LonLat"]},{"text":"impl PartialEq<Line> for Line","synthetic":false,"types":["geom::line::Line"]},{"text":"impl PartialEq<Percent> for Percent","synthetic":false,"types":["geom::percent::Percent"]},{"text":"impl PartialEq<Polygon> for Polygon","synthetic":false,"types":["geom::polygon::Polygon"]},{"text":"impl PartialEq<PolyLine> for PolyLine","synthetic":false,"types":["geom::polyline::PolyLine"]},{"text":"impl PartialEq<Pt2D> for Pt2D","synthetic":false,"types":["geom::pt::Pt2D"]},{"text":"impl PartialEq<HashablePt2D> for HashablePt2D","synthetic":false,"types":["geom::pt::HashablePt2D"]},{"text":"impl PartialEq<Ring> for Ring","synthetic":false,"types":["geom::ring::Ring"]},{"text":"impl PartialEq<Speed> for Speed","synthetic":false,"types":["geom::speed::Speed"]},{"text":"impl PartialEq<Statistic> for Statistic","synthetic":false,"types":["geom::stats::Statistic"]},{"text":"impl PartialEq<Time> for Time","synthetic":false,"types":["geom::time::Time"]}]; -implementors["ltn"] = [{"text":"impl PartialEq<Style> for Style","synthetic":false,"types":["ltn::browse::Style"]},{"text":"impl PartialEq<Tab> for Tab","synthetic":false,"types":["ltn::edit::Tab"]},{"text":"impl PartialEq<Obj> for Obj","synthetic":false,"types":["ltn::edit::Obj"]},{"text":"impl PartialEq<Heuristic> for Heuristic","synthetic":false,"types":["ltn::filters::auto::Heuristic"]},{"text":"impl PartialEq<ChangeKey> for ChangeKey","synthetic":false,"types":["ltn::filters::ChangeKey"]},{"text":"impl PartialEq<DiagonalFilter> for DiagonalFilter","synthetic":false,"types":["ltn::filters::DiagonalFilter"]},{"text":"impl PartialEq<Filters> for Filters","synthetic":false,"types":["ltn::impact::Filters"]},{"text":"impl PartialEq<NeighbourhoodID> for NeighbourhoodID","synthetic":false,"types":["ltn::partition::NeighbourhoodID"]},{"text":"impl PartialEq<BlockID> for BlockID","synthetic":false,"types":["ltn::partition::BlockID"]}]; +implementors["ltn"] = [{"text":"impl PartialEq<Style> for Style","synthetic":false,"types":["ltn::browse::Style"]},{"text":"impl PartialEq<Obj> for Obj","synthetic":false,"types":["ltn::edit::Obj"]},{"text":"impl PartialEq<Heuristic> for Heuristic","synthetic":false,"types":["ltn::filters::auto::Heuristic"]},{"text":"impl PartialEq<ChangeKey> for ChangeKey","synthetic":false,"types":["ltn::filters::ChangeKey"]},{"text":"impl PartialEq<DiagonalFilter> for DiagonalFilter","synthetic":false,"types":["ltn::filters::DiagonalFilter"]},{"text":"impl PartialEq<Filters> for Filters","synthetic":false,"types":["ltn::impact::Filters"]},{"text":"impl PartialEq<NeighbourhoodID> for NeighbourhoodID","synthetic":false,"types":["ltn::partition::NeighbourhoodID"]},{"text":"impl PartialEq<BlockID> for BlockID","synthetic":false,"types":["ltn::partition::BlockID"]}]; implementors["map_editor"] = [{"text":"impl PartialEq<ID> for ID","synthetic":false,"types":["map_editor::model::ID"]}]; implementors["map_gui"] = [{"text":"impl PartialEq<ColorSchemeChoice> for ColorSchemeChoice","synthetic":false,"types":["map_gui::colors::ColorSchemeChoice"]},{"text":"impl PartialEq<TrafficSignalStyle> for TrafficSignalStyle","synthetic":false,"types":["map_gui::options::TrafficSignalStyle"]},{"text":"impl PartialEq<CameraAngle> for CameraAngle","synthetic":false,"types":["map_gui::options::CameraAngle"]},{"text":"impl PartialEq<UnzoomedAgents> for UnzoomedAgents","synthetic":false,"types":["map_gui::render::agents::UnzoomedAgents"]},{"text":"impl PartialEq<Obj> for Obj","synthetic":false,"types":["map_gui::tools::compare_counts::Obj"]},{"text":"impl PartialEq<Layer> for Layer","synthetic":false,"types":["map_gui::tools::compare_counts::Layer"]},{"text":"impl PartialEq<HeatmapOptions> for HeatmapOptions","synthetic":false,"types":["map_gui::tools::heatmap::HeatmapOptions"]},{"text":"impl PartialEq<Obj> for Obj","synthetic":false,"types":["map_gui::tools::polygon::Obj"]},{"text":"impl PartialEq<Executable> for Executable","synthetic":false,"types":["map_gui::tools::title_screen::Executable"]},{"text":"impl PartialEq<NamedTrip> for NamedTrip","synthetic":false,"types":["map_gui::tools::trip_files::NamedTrip"]},{"text":"impl PartialEq<WaypointID> for WaypointID","synthetic":false,"types":["map_gui::tools::waypoints::WaypointID"]},{"text":"impl PartialEq<ID> for ID","synthetic":false,"types":["map_gui::ID"]}]; implementors["map_model"] = [{"text":"impl PartialEq<Item> for Item","synthetic":false,"types":["map_model::connectivity::walking::Item"]},{"text":"impl PartialEq<Spot> for Spot","synthetic":false,"types":["map_model::connectivity::Spot"]},{"text":"impl PartialEq<Item> for Item","synthetic":false,"types":["map_model::connectivity::Item"]},{"text":"impl PartialEq<MapEdits> for MapEdits","synthetic":false,"types":["map_model::edits::MapEdits"]},{"text":"impl PartialEq<EditIntersection> for EditIntersection","synthetic":false,"types":["map_model::edits::EditIntersection"]},{"text":"impl PartialEq<EditRoad> for EditRoad","synthetic":false,"types":["map_model::edits::EditRoad"]},{"text":"impl PartialEq<EditCrosswalks> for EditCrosswalks","synthetic":false,"types":["map_model::edits::EditCrosswalks"]},{"text":"impl PartialEq<EditCmd> for EditCmd","synthetic":false,"types":["map_model::edits::EditCmd"]},{"text":"impl PartialEq<AreaID> for AreaID","synthetic":false,"types":["map_model::objects::area::AreaID"]},{"text":"impl PartialEq<BuildingID> for BuildingID","synthetic":false,"types":["map_model::objects::building::BuildingID"]},{"text":"impl PartialEq<OffstreetParking> for OffstreetParking","synthetic":false,"types":["map_model::objects::building::OffstreetParking"]},{"text":"impl PartialEq<IntersectionID> for IntersectionID","synthetic":false,"types":["map_model::objects::intersection::IntersectionID"]},{"text":"impl PartialEq<LaneID> for LaneID","synthetic":false,"types":["map_model::objects::lane::LaneID"]},{"text":"impl PartialEq<CommonEndpoint> for CommonEndpoint","synthetic":false,"types":["map_model::objects::lane::CommonEndpoint"]},{"text":"impl PartialEq<MovementID> for MovementID","synthetic":false,"types":["map_model::objects::movement::MovementID"]},{"text":"impl PartialEq<CompressedMovementID> for CompressedMovementID","synthetic":false,"types":["map_model::objects::movement::CompressedMovementID"]},{"text":"impl PartialEq<Movement> for Movement","synthetic":false,"types":["map_model::objects::movement::Movement"]},{"text":"impl PartialEq<ParkingLotID> for ParkingLotID","synthetic":false,"types":["map_model::objects::parking_lot::ParkingLotID"]},{"text":"impl PartialEq<RoadID> for RoadID","synthetic":false,"types":["map_model::objects::road::RoadID"]},{"text":"impl PartialEq<DirectedRoadID> for DirectedRoadID","synthetic":false,"types":["map_model::objects::road::DirectedRoadID"]},{"text":"impl PartialEq<SideOfRoad> for SideOfRoad","synthetic":false,"types":["map_model::objects::road::SideOfRoad"]},{"text":"impl PartialEq<RoadSideID> for RoadSideID","synthetic":false,"types":["map_model::objects::road::RoadSideID"]},{"text":"impl PartialEq<ControlStopSign> for ControlStopSign","synthetic":false,"types":["map_model::objects::stop_signs::ControlStopSign"]},{"text":"impl PartialEq<RoadWithStopSign> for RoadWithStopSign","synthetic":false,"types":["map_model::objects::stop_signs::RoadWithStopSign"]},{"text":"impl PartialEq<ControlTrafficSignal> for ControlTrafficSignal","synthetic":false,"types":["map_model::objects::traffic_signals::ControlTrafficSignal"]},{"text":"impl PartialEq<Stage> for Stage","synthetic":false,"types":["map_model::objects::traffic_signals::Stage"]},{"text":"impl PartialEq<StageType> for StageType","synthetic":false,"types":["map_model::objects::traffic_signals::StageType"]},{"text":"impl PartialEq<TransitStopID> for TransitStopID","synthetic":false,"types":["map_model::objects::transit::TransitStopID"]},{"text":"impl PartialEq<TransitRouteID> for TransitRouteID","synthetic":false,"types":["map_model::objects::transit::TransitRouteID"]},{"text":"impl PartialEq<TransitStop> for TransitStop","synthetic":false,"types":["map_model::objects::transit::TransitStop"]},{"text":"impl PartialEq<TurnID> for TurnID","synthetic":false,"types":["map_model::objects::turn::TurnID"]},{"text":"impl PartialEq<TurnType> for TurnType","synthetic":false,"types":["map_model::objects::turn::TurnType"]},{"text":"impl PartialEq<TurnPriority> for TurnPriority","synthetic":false,"types":["map_model::objects::turn::TurnPriority"]},{"text":"impl PartialEq<Turn> for Turn","synthetic":false,"types":["map_model::objects::turn::Turn"]},{"text":"impl PartialEq<AccessRestrictions> for AccessRestrictions","synthetic":false,"types":["map_model::objects::zone::AccessRestrictions"]},{"text":"impl PartialEq<Zone> for Zone","synthetic":false,"types":["map_model::objects::zone::Zone"]},{"text":"impl PartialEq<PathfinderCaching> for PathfinderCaching","synthetic":false,"types":["map_model::pathfind::pathfinder::PathfinderCaching"]},{"text":"impl PartialEq<UberTurn> for UberTurn","synthetic":false,"types":["map_model::pathfind::uber_turns::UberTurn"]},{"text":"impl PartialEq<UberTurnV2> for UberTurnV2","synthetic":false,"types":["map_model::pathfind::uber_turns::UberTurnV2"]},{"text":"impl PartialEq<PathStep> for PathStep","synthetic":false,"types":["map_model::pathfind::v1::PathStep"]},{"text":"impl PartialEq<Path> for Path","synthetic":false,"types":["map_model::pathfind::v1::Path"]},{"text":"impl PartialEq<PathRequest> for PathRequest","synthetic":false,"types":["map_model::pathfind::v1::PathRequest"]},{"text":"impl PartialEq<Node> for Node","synthetic":false,"types":["map_model::pathfind::vehicles::Node"]},{"text":"impl PartialEq<WalkingNode> for WalkingNode","synthetic":false,"types":["map_model::pathfind::walking::WalkingNode"]},{"text":"impl PartialEq<PathConstraints> for PathConstraints","synthetic":false,"types":["map_model::pathfind::PathConstraints"]},{"text":"impl PartialEq<EnumSet<PathConstraints>> for PathConstraints","synthetic":false,"types":["map_model::pathfind::PathConstraints"]},{"text":"impl PartialEq<RoutingParams> for RoutingParams","synthetic":false,"types":["map_model::pathfind::RoutingParams"]},{"text":"impl PartialEq<Position> for Position","synthetic":false,"types":["map_model::traversable::Position"]},{"text":"impl PartialEq<Traversable> for Traversable","synthetic":false,"types":["map_model::traversable::Traversable"]}]; diff --git a/rustdoc/implementors/core/marker/trait.Freeze.js b/rustdoc/implementors/core/marker/trait.Freeze.js index 0858a36a24..59f1976462 100644 --- a/rustdoc/implementors/core/marker/trait.Freeze.js +++ b/rustdoc/implementors/core/marker/trait.Freeze.js @@ -10,7 +10,7 @@ implementors["geom"] = [{"text":"impl Freeze for MAP","synthetic":true,"types":["headless::MAP"]},{"text":"impl Freeze for SIM","synthetic":true,"types":["headless::SIM"]},{"text":"impl Freeze for LOAD","synthetic":true,"types":["headless::LOAD"]},{"text":"impl Freeze for Args","synthetic":true,"types":["headless::Args"]},{"text":"impl Freeze for FinishedTrip","synthetic":true,"types":["headless::FinishedTrip"]},{"text":"impl Freeze for Delays","synthetic":true,"types":["headless::Delays"]},{"text":"impl Freeze for Throughput","synthetic":true,"types":["headless::Throughput"]},{"text":"impl Freeze for AgentPositions","synthetic":true,"types":["headless::AgentPositions"]},{"text":"impl Freeze for AgentPosition","synthetic":true,"types":["headless::AgentPosition"]},{"text":"impl Freeze for RoadThroughput","synthetic":true,"types":["headless::RoadThroughput"]},{"text":"impl Freeze for TrafficSignalState","synthetic":true,"types":["headless::TrafficSignalState"]},{"text":"impl Freeze for BlockedByGraph","synthetic":true,"types":["headless::BlockedByGraph"]},{"text":"impl Freeze for LoadSim","synthetic":true,"types":["headless::LoadSim"]}]; implementors["importer"] = [{"text":"impl Freeze for Record","synthetic":true,"types":["importer::berlin::Record"]},{"text":"impl Freeze for ImporterConfiguration","synthetic":true,"types":["importer::configuration::ImporterConfiguration"]},{"text":"impl Freeze for PopDat","synthetic":true,"types":["importer::soundcast::popdat::PopDat"]},{"text":"impl Freeze for RawTrip","synthetic":true,"types":["importer::soundcast::popdat::RawTrip"]},{"text":"impl Freeze for RawParcel","synthetic":true,"types":["importer::soundcast::popdat::RawParcel"]},{"text":"impl Freeze for OrigTrip","synthetic":true,"types":["importer::soundcast::popdat::OrigTrip"]},{"text":"impl Freeze for Endpoint","synthetic":true,"types":["importer::soundcast::popdat::Endpoint"]},{"text":"impl Freeze for Trip","synthetic":true,"types":["importer::soundcast::trips::Trip"]},{"text":"impl Freeze for BorderSnapper","synthetic":true,"types":["importer::soundcast::trips::BorderSnapper"]},{"text":"impl Freeze for Record","synthetic":true,"types":["importer::uk::Record"]},{"text":"impl Freeze for Job","synthetic":true,"types":["importer::Job"]}]; implementors["kml"] = [{"text":"impl Freeze for ExtraShapes","synthetic":true,"types":["kml::ExtraShapes"]},{"text":"impl Freeze for ExtraShape","synthetic":true,"types":["kml::ExtraShape"]}]; -implementors["ltn"] = [{"text":"impl !Freeze for BrowseNeighbourhoods","synthetic":true,"types":["ltn::browse::BrowseNeighbourhoods"]},{"text":"impl Freeze for Style","synthetic":true,"types":["ltn::browse::Style"]},{"text":"impl Freeze for CELLS","synthetic":true,"types":["ltn::colors::CELLS"]},{"text":"impl Freeze for FILTER_OUTER","synthetic":true,"types":["ltn::colors::FILTER_OUTER"]},{"text":"impl Freeze for FILTER_INNER","synthetic":true,"types":["ltn::colors::FILTER_INNER"]},{"text":"impl Freeze for PLAN_ROUTE_BEFORE","synthetic":true,"types":["ltn::colors::PLAN_ROUTE_BEFORE"]},{"text":"impl Freeze for PLAN_ROUTE_AFTER","synthetic":true,"types":["ltn::colors::PLAN_ROUTE_AFTER"]},{"text":"impl Freeze for PLAN_ROUTE_BIKE","synthetic":true,"types":["ltn::colors::PLAN_ROUTE_BIKE"]},{"text":"impl Freeze for PLAN_ROUTE_WALK","synthetic":true,"types":["ltn::colors::PLAN_ROUTE_WALK"]},{"text":"impl Freeze for About","synthetic":true,"types":["ltn::components::about::About"]},{"text":"impl Freeze for FreehandFilters","synthetic":true,"types":["ltn::components::freehand_filters::FreehandFilters"]},{"text":"impl Freeze for LeftPanel","synthetic":true,"types":["ltn::components::left_panel::LeftPanel"]},{"text":"impl Freeze for TopPanel","synthetic":true,"types":["ltn::components::top_panel::TopPanel"]},{"text":"impl !Freeze for Viewer","synthetic":true,"types":["ltn::connectivity::Viewer"]},{"text":"impl !Freeze for CustomizeBoundary","synthetic":true,"types":["ltn::customize_boundary::CustomizeBoundary"]},{"text":"impl Freeze for RenderCells","synthetic":true,"types":["ltn::draw_cells::RenderCells"]},{"text":"impl Freeze for RenderCellsBuilder","synthetic":true,"types":["ltn::draw_cells::RenderCellsBuilder"]},{"text":"impl Freeze for Tab","synthetic":true,"types":["ltn::edit::Tab"]},{"text":"impl Freeze for EditNeighbourhood","synthetic":true,"types":["ltn::edit::EditNeighbourhood"]},{"text":"impl Freeze for Obj","synthetic":true,"types":["ltn::edit::Obj"]},{"text":"impl Freeze for EditOutcome","synthetic":true,"types":["ltn::edit::EditOutcome"]},{"text":"impl Freeze for Heuristic","synthetic":true,"types":["ltn::filters::auto::Heuristic"]},{"text":"impl Freeze for ModalFilters","synthetic":true,"types":["ltn::filters::ModalFilters"]},{"text":"impl Freeze for ChangeKey","synthetic":true,"types":["ltn::filters::ChangeKey"]},{"text":"impl Freeze for DiagonalFilter","synthetic":true,"types":["ltn::filters::DiagonalFilter"]},{"text":"impl !Freeze for Toggle3Zoomed","synthetic":true,"types":["ltn::filters::Toggle3Zoomed"]},{"text":"impl !Freeze for ShowResults","synthetic":true,"types":["ltn::impact::ui::ShowResults"]},{"text":"impl !Freeze for ChangedRoutes","synthetic":true,"types":["ltn::impact::ui::ChangedRoutes"]},{"text":"impl Freeze for Impact","synthetic":true,"types":["ltn::impact::Impact"]},{"text":"impl Freeze for Filters","synthetic":true,"types":["ltn::impact::Filters"]},{"text":"impl !Freeze for Neighbourhood","synthetic":true,"types":["ltn::neighbourhood::Neighbourhood"]},{"text":"impl Freeze for Cell","synthetic":true,"types":["ltn::neighbourhood::Cell"]},{"text":"impl Freeze for DistanceInterval","synthetic":true,"types":["ltn::neighbourhood::DistanceInterval"]},{"text":"impl Freeze for NeighbourhoodID","synthetic":true,"types":["ltn::partition::NeighbourhoodID"]},{"text":"impl Freeze for BlockID","synthetic":true,"types":["ltn::partition::BlockID"]},{"text":"impl Freeze for Partitioning","synthetic":true,"types":["ltn::partition::Partitioning"]},{"text":"impl Freeze for NeighbourhoodInfo","synthetic":true,"types":["ltn::partition::NeighbourhoodInfo"]},{"text":"impl !Freeze for RoutePlanner","synthetic":true,"types":["ltn::route_planner::RoutePlanner"]},{"text":"impl Freeze for Proposal","synthetic":true,"types":["ltn::save::Proposal"]},{"text":"impl Freeze for AltProposals","synthetic":true,"types":["ltn::save::AltProposals"]},{"text":"impl Freeze for PreserveState","synthetic":true,"types":["ltn::save::PreserveState"]},{"text":"impl !Freeze for SelectBoundary","synthetic":true,"types":["ltn::select_boundary::SelectBoundary"]},{"text":"impl !Freeze for BrowseShortcuts","synthetic":true,"types":["ltn::shortcut_viewer::BrowseShortcuts"]},{"text":"impl Freeze for Shortcuts","synthetic":true,"types":["ltn::shortcuts::Shortcuts"]},{"text":"impl Freeze for EntryExit","synthetic":true,"types":["ltn::shortcuts::EntryExit"]},{"text":"impl Freeze for Args","synthetic":true,"types":["ltn::Args"]},{"text":"impl !Freeze for Session","synthetic":true,"types":["ltn::Session"]}]; +implementors["ltn"] = [{"text":"impl !Freeze for BrowseNeighbourhoods","synthetic":true,"types":["ltn::browse::BrowseNeighbourhoods"]},{"text":"impl Freeze for Style","synthetic":true,"types":["ltn::browse::Style"]},{"text":"impl Freeze for CELLS","synthetic":true,"types":["ltn::colors::CELLS"]},{"text":"impl Freeze for FILTER_OUTER","synthetic":true,"types":["ltn::colors::FILTER_OUTER"]},{"text":"impl Freeze for FILTER_INNER","synthetic":true,"types":["ltn::colors::FILTER_INNER"]},{"text":"impl Freeze for PLAN_ROUTE_BEFORE","synthetic":true,"types":["ltn::colors::PLAN_ROUTE_BEFORE"]},{"text":"impl Freeze for PLAN_ROUTE_AFTER","synthetic":true,"types":["ltn::colors::PLAN_ROUTE_AFTER"]},{"text":"impl Freeze for PLAN_ROUTE_BIKE","synthetic":true,"types":["ltn::colors::PLAN_ROUTE_BIKE"]},{"text":"impl Freeze for PLAN_ROUTE_WALK","synthetic":true,"types":["ltn::colors::PLAN_ROUTE_WALK"]},{"text":"impl Freeze for About","synthetic":true,"types":["ltn::components::about::About"]},{"text":"impl Freeze for LeftPanel","synthetic":true,"types":["ltn::components::left_panel::LeftPanel"]},{"text":"impl Freeze for TopPanel","synthetic":true,"types":["ltn::components::top_panel::TopPanel"]},{"text":"impl !Freeze for Viewer","synthetic":true,"types":["ltn::connectivity::Viewer"]},{"text":"impl !Freeze for CustomizeBoundary","synthetic":true,"types":["ltn::customize_boundary::CustomizeBoundary"]},{"text":"impl Freeze for RenderCells","synthetic":true,"types":["ltn::draw_cells::RenderCells"]},{"text":"impl Freeze for RenderCellsBuilder","synthetic":true,"types":["ltn::draw_cells::RenderCellsBuilder"]},{"text":"impl Freeze for FocusedRoad","synthetic":true,"types":["ltn::edit::shortcuts::FocusedRoad"]},{"text":"impl Freeze for EditMode","synthetic":true,"types":["ltn::edit::EditMode"]},{"text":"impl Freeze for EditNeighbourhood","synthetic":true,"types":["ltn::edit::EditNeighbourhood"]},{"text":"impl Freeze for Obj","synthetic":true,"types":["ltn::edit::Obj"]},{"text":"impl Freeze for EditOutcome","synthetic":true,"types":["ltn::edit::EditOutcome"]},{"text":"impl Freeze for Heuristic","synthetic":true,"types":["ltn::filters::auto::Heuristic"]},{"text":"impl Freeze for ModalFilters","synthetic":true,"types":["ltn::filters::ModalFilters"]},{"text":"impl Freeze for ChangeKey","synthetic":true,"types":["ltn::filters::ChangeKey"]},{"text":"impl Freeze for DiagonalFilter","synthetic":true,"types":["ltn::filters::DiagonalFilter"]},{"text":"impl !Freeze for Toggle3Zoomed","synthetic":true,"types":["ltn::filters::Toggle3Zoomed"]},{"text":"impl !Freeze for ShowResults","synthetic":true,"types":["ltn::impact::ui::ShowResults"]},{"text":"impl !Freeze for ChangedRoutes","synthetic":true,"types":["ltn::impact::ui::ChangedRoutes"]},{"text":"impl Freeze for Impact","synthetic":true,"types":["ltn::impact::Impact"]},{"text":"impl Freeze for Filters","synthetic":true,"types":["ltn::impact::Filters"]},{"text":"impl !Freeze for Neighbourhood","synthetic":true,"types":["ltn::neighbourhood::Neighbourhood"]},{"text":"impl Freeze for Cell","synthetic":true,"types":["ltn::neighbourhood::Cell"]},{"text":"impl Freeze for DistanceInterval","synthetic":true,"types":["ltn::neighbourhood::DistanceInterval"]},{"text":"impl Freeze for NeighbourhoodID","synthetic":true,"types":["ltn::partition::NeighbourhoodID"]},{"text":"impl Freeze for BlockID","synthetic":true,"types":["ltn::partition::BlockID"]},{"text":"impl Freeze for Partitioning","synthetic":true,"types":["ltn::partition::Partitioning"]},{"text":"impl Freeze for NeighbourhoodInfo","synthetic":true,"types":["ltn::partition::NeighbourhoodInfo"]},{"text":"impl !Freeze for RoutePlanner","synthetic":true,"types":["ltn::route_planner::RoutePlanner"]},{"text":"impl Freeze for Proposal","synthetic":true,"types":["ltn::save::Proposal"]},{"text":"impl Freeze for AltProposals","synthetic":true,"types":["ltn::save::AltProposals"]},{"text":"impl Freeze for PreserveState","synthetic":true,"types":["ltn::save::PreserveState"]},{"text":"impl !Freeze for SelectBoundary","synthetic":true,"types":["ltn::select_boundary::SelectBoundary"]},{"text":"impl Freeze for Shortcuts","synthetic":true,"types":["ltn::shortcuts::Shortcuts"]},{"text":"impl Freeze for EntryExit","synthetic":true,"types":["ltn::shortcuts::EntryExit"]},{"text":"impl Freeze for Args","synthetic":true,"types":["ltn::Args"]},{"text":"impl !Freeze for Session","synthetic":true,"types":["ltn::Session"]}]; implementors["map_editor"] = [{"text":"impl Freeze for App","synthetic":true,"types":["map_editor::app::App"]},{"text":"impl !Freeze for MainState","synthetic":true,"types":["map_editor::app::MainState"]},{"text":"impl Freeze for Mode","synthetic":true,"types":["map_editor::app::Mode"]},{"text":"impl Freeze for CameraState","synthetic":true,"types":["map_editor::camera::CameraState"]},{"text":"impl Freeze for DefaultMap","synthetic":true,"types":["map_editor::camera::DefaultMap"]},{"text":"impl Freeze for EditRoad","synthetic":true,"types":["map_editor::edit::EditRoad"]},{"text":"impl !Freeze for PickMap","synthetic":true,"types":["map_editor::load::PickMap"]},{"text":"impl Freeze for Model","synthetic":true,"types":["map_editor::model::Model"]},{"text":"impl Freeze for ID","synthetic":true,"types":["map_editor::model::ID"]},{"text":"impl Freeze for Args","synthetic":true,"types":["map_editor::Args"]}]; implementors["map_gui"] = [{"text":"impl Freeze for ColorSchemeChoice","synthetic":true,"types":["map_gui::colors::ColorSchemeChoice"]},{"text":"impl Freeze for ColorScheme","synthetic":true,"types":["map_gui::colors::ColorScheme"]},{"text":"impl Freeze for MapLoader","synthetic":true,"types":["map_gui::load::MapLoader"]},{"text":"impl<A> Freeze for MapAlreadyLoaded<A>","synthetic":true,"types":["map_gui::load::MapAlreadyLoaded"]},{"text":"impl Freeze for Options","synthetic":true,"types":["map_gui::options::Options"]},{"text":"impl Freeze for TrafficSignalStyle","synthetic":true,"types":["map_gui::options::TrafficSignalStyle"]},{"text":"impl Freeze for CameraAngle","synthetic":true,"types":["map_gui::options::CameraAngle"]},{"text":"impl !Freeze for OptionsPanel","synthetic":true,"types":["map_gui::options::OptionsPanel"]},{"text":"impl Freeze for AgentCache","synthetic":true,"types":["map_gui::render::agents::AgentCache"]},{"text":"impl Freeze for UnzoomedAgents","synthetic":true,"types":["map_gui::render::agents::UnzoomedAgents"]},{"text":"impl Freeze for DrawArea","synthetic":true,"types":["map_gui::render::area::DrawArea"]},{"text":"impl Freeze for DrawBike","synthetic":true,"types":["map_gui::render::bike::DrawBike"]},{"text":"impl !Freeze for DrawBuilding","synthetic":true,"types":["map_gui::render::building::DrawBuilding"]},{"text":"impl Freeze for DrawCar","synthetic":true,"types":["map_gui::render::car::DrawCar"]},{"text":"impl !Freeze for DrawIntersection","synthetic":true,"types":["map_gui::render::intersection::DrawIntersection"]},{"text":"impl !Freeze for DrawLane","synthetic":true,"types":["map_gui::render::lane::DrawLane"]},{"text":"impl Freeze for DrawMap","synthetic":true,"types":["map_gui::render::map::DrawMap"]},{"text":"impl !Freeze for DrawParkingLot","synthetic":true,"types":["map_gui::render::parking_lot::DrawParkingLot"]},{"text":"impl Freeze for DrawPedestrian","synthetic":true,"types":["map_gui::render::pedestrian::DrawPedestrian"]},{"text":"impl Freeze for DrawPedCrowd","synthetic":true,"types":["map_gui::render::pedestrian::DrawPedCrowd"]},{"text":"impl !Freeze for DrawRoad","synthetic":true,"types":["map_gui::render::road::DrawRoad"]},{"text":"impl Freeze for DrawTransitStop","synthetic":true,"types":["map_gui::render::transit_stop::DrawTransitStop"]},{"text":"impl Freeze for DrawMovement","synthetic":true,"types":["map_gui::render::turn::DrawMovement"]},{"text":"impl Freeze for DrawOptions","synthetic":true,"types":["map_gui::render::DrawOptions"]},{"text":"impl<T> !Freeze for SimpleApp<T>","synthetic":true,"types":["map_gui::simple_app::SimpleApp"]},{"text":"impl Freeze for SimpleAppArgs","synthetic":true,"types":["map_gui::simple_app::SimpleAppArgs"]},{"text":"impl Freeze for SimpleWarper","synthetic":true,"types":["map_gui::simple_app::SimpleWarper"]},{"text":"impl Freeze for CameraState","synthetic":true,"types":["map_gui::tools::camera::CameraState"]},{"text":"impl Freeze for DefaultMap","synthetic":true,"types":["map_gui::tools::camera::DefaultMap"]},{"text":"impl<A> !Freeze for CityPicker<A>","synthetic":true,"types":["map_gui::tools::city_picker::CityPicker"]},{"text":"impl<A> !Freeze for AllCityPicker<A>","synthetic":true,"types":["map_gui::tools::city_picker::AllCityPicker"]},{"text":"impl<A> !Freeze for CitiesInCountryPicker<A>","synthetic":true,"types":["map_gui::tools::city_picker::CitiesInCountryPicker"]},{"text":"impl<'a> Freeze for ColorDiscrete<'a>","synthetic":true,"types":["map_gui::tools::colors::ColorDiscrete"]},{"text":"impl Freeze for ColorLegend","synthetic":true,"types":["map_gui::tools::colors::ColorLegend"]},{"text":"impl Freeze for DivergingScale","synthetic":true,"types":["map_gui::tools::colors::DivergingScale"]},{"text":"impl<'a> Freeze for ColorNetwork<'a>","synthetic":true,"types":["map_gui::tools::colors::ColorNetwork"]},{"text":"impl Freeze for ColorScale","synthetic":true,"types":["map_gui::tools::colors::ColorScale"]},{"text":"impl<A> !Freeze for RunCommand<A>","synthetic":true,"types":["map_gui::tools::command::RunCommand"]},{"text":"impl Freeze for CompareCounts","synthetic":true,"types":["map_gui::tools::compare_counts::CompareCounts"]},{"text":"impl Freeze for Obj","synthetic":true,"types":["map_gui::tools::compare_counts::Obj"]},{"text":"impl Freeze for Layer","synthetic":true,"types":["map_gui::tools::compare_counts::Layer"]},{"text":"impl Freeze for HeatmapOptions","synthetic":true,"types":["map_gui::tools::heatmap::HeatmapOptions"]},{"text":"impl<T> Freeze for Grid<T>","synthetic":true,"types":["map_gui::tools::heatmap::Grid"]},{"text":"impl<A> !Freeze for ImportCity<A>","synthetic":true,"types":["map_gui::tools::importer::ImportCity"]},{"text":"impl !Freeze for DrawRoadLabels","synthetic":true,"types":["map_gui::tools::labels::DrawRoadLabels"]},{"text":"impl Freeze for PerZoom","synthetic":true,"types":["map_gui::tools::labels::PerZoom"]},{"text":"impl<A, T> !Freeze for Minimap<A, T>","synthetic":true,"types":["map_gui::tools::minimap::Minimap"]},{"text":"impl !Freeze for Navigator","synthetic":true,"types":["map_gui::tools::navigate::Navigator"]},{"text":"impl !Freeze for CrossStreet","synthetic":true,"types":["map_gui::tools::navigate::CrossStreet"]},{"text":"impl !Freeze for SearchBuildings","synthetic":true,"types":["map_gui::tools::navigate::SearchBuildings"]},{"text":"impl Freeze for EditPolygon","synthetic":true,"types":["map_gui::tools::polygon::EditPolygon"]},{"text":"impl Freeze for Obj","synthetic":true,"types":["map_gui::tools::polygon::Obj"]},{"text":"impl<A> Freeze for TitleScreen<A>","synthetic":true,"types":["map_gui::tools::title_screen::TitleScreen"]},{"text":"impl Freeze for Executable","synthetic":true,"types":["map_gui::tools::title_screen::Executable"]},{"text":"impl<A, S> Freeze for TripManagement<A, S>","synthetic":true,"types":["map_gui::tools::trip_files::TripManagement"]},{"text":"impl Freeze for NamedTrip","synthetic":true,"types":["map_gui::tools::trip_files::NamedTrip"]},{"text":"impl Freeze for SavedTrips","synthetic":true,"types":["map_gui::tools::trip_files::SavedTrips"]},{"text":"impl<A, S> Freeze for RenameTrip<A, S>","synthetic":true,"types":["map_gui::tools::trip_files::RenameTrip"]},{"text":"impl !Freeze for TurnExplorer","synthetic":true,"types":["map_gui::tools::turn_explorer::TurnExplorer"]},{"text":"impl Freeze for FilePicker","synthetic":true,"types":["map_gui::tools::ui::FilePicker"]},{"text":"impl Freeze for InputWaypoints","synthetic":true,"types":["map_gui::tools::waypoints::InputWaypoints"]},{"text":"impl Freeze for WaypointID","synthetic":true,"types":["map_gui::tools::waypoints::WaypointID"]},{"text":"impl Freeze for Waypoint","synthetic":true,"types":["map_gui::tools::waypoints::Waypoint"]},{"text":"impl Freeze for ID","synthetic":true,"types":["map_gui::ID"]}]; implementors["map_model"] = [{"text":"impl Freeze for City","synthetic":true,"types":["map_model::city::City"]},{"text":"impl Freeze for WalkingOptions","synthetic":true,"types":["map_model::connectivity::walking::WalkingOptions"]},{"text":"impl Freeze for Item","synthetic":true,"types":["map_model::connectivity::walking::Item"]},{"text":"impl Freeze for WalkingNode","synthetic":true,"types":["map_model::pathfind::walking::WalkingNode"]},{"text":"impl Freeze for Spot","synthetic":true,"types":["map_model::connectivity::Spot"]},{"text":"impl Freeze for Item","synthetic":true,"types":["map_model::connectivity::Item"]},{"text":"impl Freeze for OriginalLane","synthetic":true,"types":["map_model::edits::compat::OriginalLane"]},{"text":"impl Freeze for ChangeLaneType","synthetic":true,"types":["map_model::edits::compat::ChangeLaneType"]},{"text":"impl Freeze for ReverseLane","synthetic":true,"types":["map_model::edits::compat::ReverseLane"]},{"text":"impl Freeze for ChangeSpeedLimit","synthetic":true,"types":["map_model::edits::compat::ChangeSpeedLimit"]},{"text":"impl Freeze for ChangeAccessRestrictions","synthetic":true,"types":["map_model::edits::compat::ChangeAccessRestrictions"]},{"text":"impl Freeze for PermanentMapEdits","synthetic":true,"types":["map_model::edits::perma::PermanentMapEdits"]},{"text":"impl Freeze for PermanentEditIntersection","synthetic":true,"types":["map_model::edits::perma::PermanentEditIntersection"]},{"text":"impl Freeze for PermanentEditCrosswalks","synthetic":true,"types":["map_model::edits::perma::PermanentEditCrosswalks"]},{"text":"impl Freeze for PermanentEditCmd","synthetic":true,"types":["map_model::edits::perma::PermanentEditCmd"]},{"text":"impl Freeze for MapEdits","synthetic":true,"types":["map_model::edits::MapEdits"]},{"text":"impl Freeze for EditIntersection","synthetic":true,"types":["map_model::edits::EditIntersection"]},{"text":"impl Freeze for EditRoad","synthetic":true,"types":["map_model::edits::EditRoad"]},{"text":"impl Freeze for EditCrosswalks","synthetic":true,"types":["map_model::edits::EditCrosswalks"]},{"text":"impl Freeze for EditCmd","synthetic":true,"types":["map_model::edits::EditCmd"]},{"text":"impl Freeze for EditEffects","synthetic":true,"types":["map_model::edits::EditEffects"]},{"text":"impl Freeze for BorderSnapper","synthetic":true,"types":["map_model::make::transit::BorderSnapper"]},{"text":"impl Freeze for RawToMapOptions","synthetic":true,"types":["map_model::make::RawToMapOptions"]},{"text":"impl Freeze for AreaID","synthetic":true,"types":["map_model::objects::area::AreaID"]},{"text":"impl Freeze for Area","synthetic":true,"types":["map_model::objects::area::Area"]},{"text":"impl Freeze for Block","synthetic":true,"types":["map_model::objects::block::Block"]},{"text":"impl Freeze for Perimeter","synthetic":true,"types":["map_model::objects::block::Perimeter"]},{"text":"impl Freeze for BuildingID","synthetic":true,"types":["map_model::objects::building::BuildingID"]},{"text":"impl Freeze for Building","synthetic":true,"types":["map_model::objects::building::Building"]},{"text":"impl Freeze for OffstreetParking","synthetic":true,"types":["map_model::objects::building::OffstreetParking"]},{"text":"impl Freeze for BuildingType","synthetic":true,"types":["map_model::objects::building::BuildingType"]},{"text":"impl Freeze for IntersectionID","synthetic":true,"types":["map_model::objects::intersection::IntersectionID"]},{"text":"impl Freeze for Intersection","synthetic":true,"types":["map_model::objects::intersection::Intersection"]},{"text":"impl Freeze for LaneID","synthetic":true,"types":["map_model::objects::lane::LaneID"]},{"text":"impl Freeze for Lane","synthetic":true,"types":["map_model::objects::lane::Lane"]},{"text":"impl Freeze for CommonEndpoint","synthetic":true,"types":["map_model::objects::lane::CommonEndpoint"]},{"text":"impl Freeze for MovementID","synthetic":true,"types":["map_model::objects::movement::MovementID"]},{"text":"impl Freeze for CompressedMovementID","synthetic":true,"types":["map_model::objects::movement::CompressedMovementID"]},{"text":"impl Freeze for Movement","synthetic":true,"types":["map_model::objects::movement::Movement"]},{"text":"impl Freeze for ParkingLotID","synthetic":true,"types":["map_model::objects::parking_lot::ParkingLotID"]},{"text":"impl Freeze for ParkingLot","synthetic":true,"types":["map_model::objects::parking_lot::ParkingLot"]},{"text":"impl Freeze for RoadID","synthetic":true,"types":["map_model::objects::road::RoadID"]},{"text":"impl Freeze for DirectedRoadID","synthetic":true,"types":["map_model::objects::road::DirectedRoadID"]},{"text":"impl Freeze for SideOfRoad","synthetic":true,"types":["map_model::objects::road::SideOfRoad"]},{"text":"impl Freeze for RoadSideID","synthetic":true,"types":["map_model::objects::road::RoadSideID"]},{"text":"impl Freeze for Road","synthetic":true,"types":["map_model::objects::road::Road"]},{"text":"impl Freeze for ControlStopSign","synthetic":true,"types":["map_model::objects::stop_signs::ControlStopSign"]},{"text":"impl Freeze for RoadWithStopSign","synthetic":true,"types":["map_model::objects::stop_signs::RoadWithStopSign"]},{"text":"impl Freeze for ControlTrafficSignal","synthetic":true,"types":["map_model::objects::traffic_signals::ControlTrafficSignal"]},{"text":"impl Freeze for Stage","synthetic":true,"types":["map_model::objects::traffic_signals::Stage"]},{"text":"impl Freeze for StageType","synthetic":true,"types":["map_model::objects::traffic_signals::StageType"]},{"text":"impl Freeze for TransitStopID","synthetic":true,"types":["map_model::objects::transit::TransitStopID"]},{"text":"impl Freeze for TransitRouteID","synthetic":true,"types":["map_model::objects::transit::TransitRouteID"]},{"text":"impl Freeze for TransitStop","synthetic":true,"types":["map_model::objects::transit::TransitStop"]},{"text":"impl Freeze for TransitRoute","synthetic":true,"types":["map_model::objects::transit::TransitRoute"]},{"text":"impl Freeze for TurnID","synthetic":true,"types":["map_model::objects::turn::TurnID"]},{"text":"impl Freeze for TurnType","synthetic":true,"types":["map_model::objects::turn::TurnType"]},{"text":"impl Freeze for TurnPriority","synthetic":true,"types":["map_model::objects::turn::TurnPriority"]},{"text":"impl Freeze for Turn","synthetic":true,"types":["map_model::objects::turn::Turn"]},{"text":"impl Freeze for AccessRestrictions","synthetic":true,"types":["map_model::objects::zone::AccessRestrictions"]},{"text":"impl Freeze for Zone","synthetic":true,"types":["map_model::objects::zone::Zone"]},{"text":"impl !Freeze for PathfindEngine","synthetic":true,"types":["map_model::pathfind::engine::PathfindEngine"]},{"text":"impl<'a> Freeze for CreateEngine<'a>","synthetic":true,"types":["map_model::pathfind::engine::CreateEngine"]},{"text":"impl<T> Freeze for NodeMap<T>","synthetic":true,"types":["map_model::pathfind::node_map::NodeMap"]},{"text":"impl<T> Freeze for InnerNodeMap<T>","synthetic":true,"types":["map_model::pathfind::node_map::InnerNodeMap"]},{"text":"impl !Freeze for Pathfinder","synthetic":true,"types":["map_model::pathfind::pathfinder::Pathfinder"]},{"text":"impl Freeze for PathfinderCaching","synthetic":true,"types":["map_model::pathfind::pathfinder::PathfinderCaching"]},{"text":"impl Freeze for PathfinderCache","synthetic":true,"types":["map_model::pathfind::pathfinder::PathfinderCache"]},{"text":"impl Freeze for IntersectionCluster","synthetic":true,"types":["map_model::pathfind::uber_turns::IntersectionCluster"]},{"text":"impl Freeze for UberTurn","synthetic":true,"types":["map_model::pathfind::uber_turns::UberTurn"]},{"text":"impl Freeze for UberTurnV2","synthetic":true,"types":["map_model::pathfind::uber_turns::UberTurnV2"]},{"text":"impl Freeze for PathStep","synthetic":true,"types":["map_model::pathfind::v1::PathStep"]},{"text":"impl Freeze for Path","synthetic":true,"types":["map_model::pathfind::v1::Path"]},{"text":"impl Freeze for PathRequest","synthetic":true,"types":["map_model::pathfind::v1::PathRequest"]},{"text":"impl Freeze for PathStepV2","synthetic":true,"types":["map_model::pathfind::v2::PathStepV2"]},{"text":"impl Freeze for PathV2","synthetic":true,"types":["map_model::pathfind::v2::PathV2"]},{"text":"impl !Freeze for VehiclePathfinder","synthetic":true,"types":["map_model::pathfind::vehicles::VehiclePathfinder"]},{"text":"impl Freeze for Node","synthetic":true,"types":["map_model::pathfind::vehicles::Node"]},{"text":"impl !Freeze for SidewalkPathfinder","synthetic":true,"types":["map_model::pathfind::walking::SidewalkPathfinder"]},{"text":"impl Freeze for PathConstraints","synthetic":true,"types":["map_model::pathfind::PathConstraints"]},{"text":"impl Freeze for RoutingParams","synthetic":true,"types":["map_model::pathfind::RoutingParams"]},{"text":"impl Freeze for Position","synthetic":true,"types":["map_model::traversable::Position"]},{"text":"impl Freeze for Traversable","synthetic":true,"types":["map_model::traversable::Traversable"]},{"text":"impl !Freeze for Map","synthetic":true,"types":["map_model::Map"]}]; diff --git a/rustdoc/implementors/core/marker/trait.Send.js b/rustdoc/implementors/core/marker/trait.Send.js index 8c86b41660..9839350ccc 100644 --- a/rustdoc/implementors/core/marker/trait.Send.js +++ b/rustdoc/implementors/core/marker/trait.Send.js @@ -10,7 +10,7 @@ implementors["geom"] = [{"text":"impl Send for MAP","synthetic":true,"types":["headless::MAP"]},{"text":"impl Send for SIM","synthetic":true,"types":["headless::SIM"]},{"text":"impl Send for LOAD","synthetic":true,"types":["headless::LOAD"]},{"text":"impl Send for Args","synthetic":true,"types":["headless::Args"]},{"text":"impl Send for FinishedTrip","synthetic":true,"types":["headless::FinishedTrip"]},{"text":"impl Send for Delays","synthetic":true,"types":["headless::Delays"]},{"text":"impl Send for Throughput","synthetic":true,"types":["headless::Throughput"]},{"text":"impl Send for AgentPositions","synthetic":true,"types":["headless::AgentPositions"]},{"text":"impl Send for AgentPosition","synthetic":true,"types":["headless::AgentPosition"]},{"text":"impl Send for RoadThroughput","synthetic":true,"types":["headless::RoadThroughput"]},{"text":"impl Send for TrafficSignalState","synthetic":true,"types":["headless::TrafficSignalState"]},{"text":"impl Send for BlockedByGraph","synthetic":true,"types":["headless::BlockedByGraph"]},{"text":"impl Send for LoadSim","synthetic":true,"types":["headless::LoadSim"]}]; implementors["importer"] = [{"text":"impl Send for Record","synthetic":true,"types":["importer::berlin::Record"]},{"text":"impl Send for ImporterConfiguration","synthetic":true,"types":["importer::configuration::ImporterConfiguration"]},{"text":"impl Send for PopDat","synthetic":true,"types":["importer::soundcast::popdat::PopDat"]},{"text":"impl Send for RawTrip","synthetic":true,"types":["importer::soundcast::popdat::RawTrip"]},{"text":"impl Send for RawParcel","synthetic":true,"types":["importer::soundcast::popdat::RawParcel"]},{"text":"impl Send for OrigTrip","synthetic":true,"types":["importer::soundcast::popdat::OrigTrip"]},{"text":"impl Send for Endpoint","synthetic":true,"types":["importer::soundcast::popdat::Endpoint"]},{"text":"impl Send for Trip","synthetic":true,"types":["importer::soundcast::trips::Trip"]},{"text":"impl Send for BorderSnapper","synthetic":true,"types":["importer::soundcast::trips::BorderSnapper"]},{"text":"impl Send for Record","synthetic":true,"types":["importer::uk::Record"]},{"text":"impl Send for Job","synthetic":true,"types":["importer::Job"]}]; implementors["kml"] = [{"text":"impl Send for ExtraShapes","synthetic":true,"types":["kml::ExtraShapes"]},{"text":"impl Send for ExtraShape","synthetic":true,"types":["kml::ExtraShape"]}]; -implementors["ltn"] = [{"text":"impl !Send for BrowseNeighbourhoods","synthetic":true,"types":["ltn::browse::BrowseNeighbourhoods"]},{"text":"impl Send for Style","synthetic":true,"types":["ltn::browse::Style"]},{"text":"impl Send for CELLS","synthetic":true,"types":["ltn::colors::CELLS"]},{"text":"impl Send for FILTER_OUTER","synthetic":true,"types":["ltn::colors::FILTER_OUTER"]},{"text":"impl Send for FILTER_INNER","synthetic":true,"types":["ltn::colors::FILTER_INNER"]},{"text":"impl Send for PLAN_ROUTE_BEFORE","synthetic":true,"types":["ltn::colors::PLAN_ROUTE_BEFORE"]},{"text":"impl Send for PLAN_ROUTE_AFTER","synthetic":true,"types":["ltn::colors::PLAN_ROUTE_AFTER"]},{"text":"impl Send for PLAN_ROUTE_BIKE","synthetic":true,"types":["ltn::colors::PLAN_ROUTE_BIKE"]},{"text":"impl Send for PLAN_ROUTE_WALK","synthetic":true,"types":["ltn::colors::PLAN_ROUTE_WALK"]},{"text":"impl Send for About","synthetic":true,"types":["ltn::components::about::About"]},{"text":"impl Send for FreehandFilters","synthetic":true,"types":["ltn::components::freehand_filters::FreehandFilters"]},{"text":"impl Send for LeftPanel","synthetic":true,"types":["ltn::components::left_panel::LeftPanel"]},{"text":"impl Send for TopPanel","synthetic":true,"types":["ltn::components::top_panel::TopPanel"]},{"text":"impl !Send for Viewer","synthetic":true,"types":["ltn::connectivity::Viewer"]},{"text":"impl !Send for CustomizeBoundary","synthetic":true,"types":["ltn::customize_boundary::CustomizeBoundary"]},{"text":"impl Send for RenderCells","synthetic":true,"types":["ltn::draw_cells::RenderCells"]},{"text":"impl Send for RenderCellsBuilder","synthetic":true,"types":["ltn::draw_cells::RenderCellsBuilder"]},{"text":"impl Send for Tab","synthetic":true,"types":["ltn::edit::Tab"]},{"text":"impl !Send for EditNeighbourhood","synthetic":true,"types":["ltn::edit::EditNeighbourhood"]},{"text":"impl Send for Obj","synthetic":true,"types":["ltn::edit::Obj"]},{"text":"impl !Send for EditOutcome","synthetic":true,"types":["ltn::edit::EditOutcome"]},{"text":"impl Send for Heuristic","synthetic":true,"types":["ltn::filters::auto::Heuristic"]},{"text":"impl Send for ModalFilters","synthetic":true,"types":["ltn::filters::ModalFilters"]},{"text":"impl Send for ChangeKey","synthetic":true,"types":["ltn::filters::ChangeKey"]},{"text":"impl Send for DiagonalFilter","synthetic":true,"types":["ltn::filters::DiagonalFilter"]},{"text":"impl !Send for Toggle3Zoomed","synthetic":true,"types":["ltn::filters::Toggle3Zoomed"]},{"text":"impl !Send for ShowResults","synthetic":true,"types":["ltn::impact::ui::ShowResults"]},{"text":"impl !Send for ChangedRoutes","synthetic":true,"types":["ltn::impact::ui::ChangedRoutes"]},{"text":"impl !Send for Impact","synthetic":true,"types":["ltn::impact::Impact"]},{"text":"impl Send for Filters","synthetic":true,"types":["ltn::impact::Filters"]},{"text":"impl !Send for Neighbourhood","synthetic":true,"types":["ltn::neighbourhood::Neighbourhood"]},{"text":"impl Send for Cell","synthetic":true,"types":["ltn::neighbourhood::Cell"]},{"text":"impl Send for DistanceInterval","synthetic":true,"types":["ltn::neighbourhood::DistanceInterval"]},{"text":"impl Send for NeighbourhoodID","synthetic":true,"types":["ltn::partition::NeighbourhoodID"]},{"text":"impl Send for BlockID","synthetic":true,"types":["ltn::partition::BlockID"]},{"text":"impl Send for Partitioning","synthetic":true,"types":["ltn::partition::Partitioning"]},{"text":"impl Send for NeighbourhoodInfo","synthetic":true,"types":["ltn::partition::NeighbourhoodInfo"]},{"text":"impl !Send for RoutePlanner","synthetic":true,"types":["ltn::route_planner::RoutePlanner"]},{"text":"impl Send for Proposal","synthetic":true,"types":["ltn::save::Proposal"]},{"text":"impl Send for AltProposals","synthetic":true,"types":["ltn::save::AltProposals"]},{"text":"impl Send for PreserveState","synthetic":true,"types":["ltn::save::PreserveState"]},{"text":"impl !Send for SelectBoundary","synthetic":true,"types":["ltn::select_boundary::SelectBoundary"]},{"text":"impl !Send for BrowseShortcuts","synthetic":true,"types":["ltn::shortcut_viewer::BrowseShortcuts"]},{"text":"impl Send for Shortcuts","synthetic":true,"types":["ltn::shortcuts::Shortcuts"]},{"text":"impl Send for EntryExit","synthetic":true,"types":["ltn::shortcuts::EntryExit"]},{"text":"impl Send for Args","synthetic":true,"types":["ltn::Args"]},{"text":"impl !Send for Session","synthetic":true,"types":["ltn::Session"]}]; +implementors["ltn"] = [{"text":"impl !Send for BrowseNeighbourhoods","synthetic":true,"types":["ltn::browse::BrowseNeighbourhoods"]},{"text":"impl Send for Style","synthetic":true,"types":["ltn::browse::Style"]},{"text":"impl Send for CELLS","synthetic":true,"types":["ltn::colors::CELLS"]},{"text":"impl Send for FILTER_OUTER","synthetic":true,"types":["ltn::colors::FILTER_OUTER"]},{"text":"impl Send for FILTER_INNER","synthetic":true,"types":["ltn::colors::FILTER_INNER"]},{"text":"impl Send for PLAN_ROUTE_BEFORE","synthetic":true,"types":["ltn::colors::PLAN_ROUTE_BEFORE"]},{"text":"impl Send for PLAN_ROUTE_AFTER","synthetic":true,"types":["ltn::colors::PLAN_ROUTE_AFTER"]},{"text":"impl Send for PLAN_ROUTE_BIKE","synthetic":true,"types":["ltn::colors::PLAN_ROUTE_BIKE"]},{"text":"impl Send for PLAN_ROUTE_WALK","synthetic":true,"types":["ltn::colors::PLAN_ROUTE_WALK"]},{"text":"impl Send for About","synthetic":true,"types":["ltn::components::about::About"]},{"text":"impl Send for LeftPanel","synthetic":true,"types":["ltn::components::left_panel::LeftPanel"]},{"text":"impl Send for TopPanel","synthetic":true,"types":["ltn::components::top_panel::TopPanel"]},{"text":"impl !Send for Viewer","synthetic":true,"types":["ltn::connectivity::Viewer"]},{"text":"impl !Send for CustomizeBoundary","synthetic":true,"types":["ltn::customize_boundary::CustomizeBoundary"]},{"text":"impl Send for RenderCells","synthetic":true,"types":["ltn::draw_cells::RenderCells"]},{"text":"impl Send for RenderCellsBuilder","synthetic":true,"types":["ltn::draw_cells::RenderCellsBuilder"]},{"text":"impl Send for FocusedRoad","synthetic":true,"types":["ltn::edit::shortcuts::FocusedRoad"]},{"text":"impl Send for EditMode","synthetic":true,"types":["ltn::edit::EditMode"]},{"text":"impl !Send for EditNeighbourhood","synthetic":true,"types":["ltn::edit::EditNeighbourhood"]},{"text":"impl Send for Obj","synthetic":true,"types":["ltn::edit::Obj"]},{"text":"impl !Send for EditOutcome","synthetic":true,"types":["ltn::edit::EditOutcome"]},{"text":"impl Send for Heuristic","synthetic":true,"types":["ltn::filters::auto::Heuristic"]},{"text":"impl Send for ModalFilters","synthetic":true,"types":["ltn::filters::ModalFilters"]},{"text":"impl Send for ChangeKey","synthetic":true,"types":["ltn::filters::ChangeKey"]},{"text":"impl Send for DiagonalFilter","synthetic":true,"types":["ltn::filters::DiagonalFilter"]},{"text":"impl !Send for Toggle3Zoomed","synthetic":true,"types":["ltn::filters::Toggle3Zoomed"]},{"text":"impl !Send for ShowResults","synthetic":true,"types":["ltn::impact::ui::ShowResults"]},{"text":"impl !Send for ChangedRoutes","synthetic":true,"types":["ltn::impact::ui::ChangedRoutes"]},{"text":"impl !Send for Impact","synthetic":true,"types":["ltn::impact::Impact"]},{"text":"impl Send for Filters","synthetic":true,"types":["ltn::impact::Filters"]},{"text":"impl !Send for Neighbourhood","synthetic":true,"types":["ltn::neighbourhood::Neighbourhood"]},{"text":"impl Send for Cell","synthetic":true,"types":["ltn::neighbourhood::Cell"]},{"text":"impl Send for DistanceInterval","synthetic":true,"types":["ltn::neighbourhood::DistanceInterval"]},{"text":"impl Send for NeighbourhoodID","synthetic":true,"types":["ltn::partition::NeighbourhoodID"]},{"text":"impl Send for BlockID","synthetic":true,"types":["ltn::partition::BlockID"]},{"text":"impl Send for Partitioning","synthetic":true,"types":["ltn::partition::Partitioning"]},{"text":"impl Send for NeighbourhoodInfo","synthetic":true,"types":["ltn::partition::NeighbourhoodInfo"]},{"text":"impl !Send for RoutePlanner","synthetic":true,"types":["ltn::route_planner::RoutePlanner"]},{"text":"impl Send for Proposal","synthetic":true,"types":["ltn::save::Proposal"]},{"text":"impl Send for AltProposals","synthetic":true,"types":["ltn::save::AltProposals"]},{"text":"impl Send for PreserveState","synthetic":true,"types":["ltn::save::PreserveState"]},{"text":"impl !Send for SelectBoundary","synthetic":true,"types":["ltn::select_boundary::SelectBoundary"]},{"text":"impl Send for Shortcuts","synthetic":true,"types":["ltn::shortcuts::Shortcuts"]},{"text":"impl Send for EntryExit","synthetic":true,"types":["ltn::shortcuts::EntryExit"]},{"text":"impl Send for Args","synthetic":true,"types":["ltn::Args"]},{"text":"impl !Send for Session","synthetic":true,"types":["ltn::Session"]}]; implementors["map_editor"] = [{"text":"impl !Send for App","synthetic":true,"types":["map_editor::app::App"]},{"text":"impl !Send for MainState","synthetic":true,"types":["map_editor::app::MainState"]},{"text":"impl Send for Mode","synthetic":true,"types":["map_editor::app::Mode"]},{"text":"impl Send for CameraState","synthetic":true,"types":["map_editor::camera::CameraState"]},{"text":"impl Send for DefaultMap","synthetic":true,"types":["map_editor::camera::DefaultMap"]},{"text":"impl !Send for EditRoad","synthetic":true,"types":["map_editor::edit::EditRoad"]},{"text":"impl !Send for PickMap","synthetic":true,"types":["map_editor::load::PickMap"]},{"text":"impl !Send for Model","synthetic":true,"types":["map_editor::model::Model"]},{"text":"impl Send for ID","synthetic":true,"types":["map_editor::model::ID"]},{"text":"impl Send for Args","synthetic":true,"types":["map_editor::Args"]}]; implementors["map_gui"] = [{"text":"impl Send for ColorSchemeChoice","synthetic":true,"types":["map_gui::colors::ColorSchemeChoice"]},{"text":"impl Send for ColorScheme","synthetic":true,"types":["map_gui::colors::ColorScheme"]},{"text":"impl Send for MapLoader","synthetic":true,"types":["map_gui::load::MapLoader"]},{"text":"impl<A> !Send for MapAlreadyLoaded<A>","synthetic":true,"types":["map_gui::load::MapAlreadyLoaded"]},{"text":"impl Send for Options","synthetic":true,"types":["map_gui::options::Options"]},{"text":"impl Send for TrafficSignalStyle","synthetic":true,"types":["map_gui::options::TrafficSignalStyle"]},{"text":"impl Send for CameraAngle","synthetic":true,"types":["map_gui::options::CameraAngle"]},{"text":"impl !Send for OptionsPanel","synthetic":true,"types":["map_gui::options::OptionsPanel"]},{"text":"impl !Send for AgentCache","synthetic":true,"types":["map_gui::render::agents::AgentCache"]},{"text":"impl Send for UnzoomedAgents","synthetic":true,"types":["map_gui::render::agents::UnzoomedAgents"]},{"text":"impl Send for DrawArea","synthetic":true,"types":["map_gui::render::area::DrawArea"]},{"text":"impl !Send for DrawBike","synthetic":true,"types":["map_gui::render::bike::DrawBike"]},{"text":"impl !Send for DrawBuilding","synthetic":true,"types":["map_gui::render::building::DrawBuilding"]},{"text":"impl !Send for DrawCar","synthetic":true,"types":["map_gui::render::car::DrawCar"]},{"text":"impl !Send for DrawIntersection","synthetic":true,"types":["map_gui::render::intersection::DrawIntersection"]},{"text":"impl !Send for DrawLane","synthetic":true,"types":["map_gui::render::lane::DrawLane"]},{"text":"impl !Send for DrawMap","synthetic":true,"types":["map_gui::render::map::DrawMap"]},{"text":"impl !Send for DrawParkingLot","synthetic":true,"types":["map_gui::render::parking_lot::DrawParkingLot"]},{"text":"impl !Send for DrawPedestrian","synthetic":true,"types":["map_gui::render::pedestrian::DrawPedestrian"]},{"text":"impl !Send for DrawPedCrowd","synthetic":true,"types":["map_gui::render::pedestrian::DrawPedCrowd"]},{"text":"impl !Send for DrawRoad","synthetic":true,"types":["map_gui::render::road::DrawRoad"]},{"text":"impl !Send for DrawTransitStop","synthetic":true,"types":["map_gui::render::transit_stop::DrawTransitStop"]},{"text":"impl Send for DrawMovement","synthetic":true,"types":["map_gui::render::turn::DrawMovement"]},{"text":"impl Send for DrawOptions","synthetic":true,"types":["map_gui::render::DrawOptions"]},{"text":"impl<T> !Send for SimpleApp<T>","synthetic":true,"types":["map_gui::simple_app::SimpleApp"]},{"text":"impl Send for SimpleAppArgs","synthetic":true,"types":["map_gui::simple_app::SimpleAppArgs"]},{"text":"impl Send for SimpleWarper","synthetic":true,"types":["map_gui::simple_app::SimpleWarper"]},{"text":"impl Send for CameraState","synthetic":true,"types":["map_gui::tools::camera::CameraState"]},{"text":"impl Send for DefaultMap","synthetic":true,"types":["map_gui::tools::camera::DefaultMap"]},{"text":"impl<A> !Send for CityPicker<A>","synthetic":true,"types":["map_gui::tools::city_picker::CityPicker"]},{"text":"impl<A> !Send for AllCityPicker<A>","synthetic":true,"types":["map_gui::tools::city_picker::AllCityPicker"]},{"text":"impl<A> !Send for CitiesInCountryPicker<A>","synthetic":true,"types":["map_gui::tools::city_picker::CitiesInCountryPicker"]},{"text":"impl<'a> Send for ColorDiscrete<'a>","synthetic":true,"types":["map_gui::tools::colors::ColorDiscrete"]},{"text":"impl Send for ColorLegend","synthetic":true,"types":["map_gui::tools::colors::ColorLegend"]},{"text":"impl Send for DivergingScale","synthetic":true,"types":["map_gui::tools::colors::DivergingScale"]},{"text":"impl<'a> Send for ColorNetwork<'a>","synthetic":true,"types":["map_gui::tools::colors::ColorNetwork"]},{"text":"impl Send for ColorScale","synthetic":true,"types":["map_gui::tools::colors::ColorScale"]},{"text":"impl<A> !Send for RunCommand<A>","synthetic":true,"types":["map_gui::tools::command::RunCommand"]},{"text":"impl !Send for CompareCounts","synthetic":true,"types":["map_gui::tools::compare_counts::CompareCounts"]},{"text":"impl Send for Obj","synthetic":true,"types":["map_gui::tools::compare_counts::Obj"]},{"text":"impl Send for Layer","synthetic":true,"types":["map_gui::tools::compare_counts::Layer"]},{"text":"impl Send for HeatmapOptions","synthetic":true,"types":["map_gui::tools::heatmap::HeatmapOptions"]},{"text":"impl<T> Send for Grid<T> where
    T: Send
","synthetic":true,"types":["map_gui::tools::heatmap::Grid"]},{"text":"impl<A> !Send for ImportCity<A>","synthetic":true,"types":["map_gui::tools::importer::ImportCity"]},{"text":"impl !Send for DrawRoadLabels","synthetic":true,"types":["map_gui::tools::labels::DrawRoadLabels"]},{"text":"impl !Send for PerZoom","synthetic":true,"types":["map_gui::tools::labels::PerZoom"]},{"text":"impl<A, T> !Send for Minimap<A, T>","synthetic":true,"types":["map_gui::tools::minimap::Minimap"]},{"text":"impl !Send for Navigator","synthetic":true,"types":["map_gui::tools::navigate::Navigator"]},{"text":"impl !Send for CrossStreet","synthetic":true,"types":["map_gui::tools::navigate::CrossStreet"]},{"text":"impl !Send for SearchBuildings","synthetic":true,"types":["map_gui::tools::navigate::SearchBuildings"]},{"text":"impl !Send for EditPolygon","synthetic":true,"types":["map_gui::tools::polygon::EditPolygon"]},{"text":"impl Send for Obj","synthetic":true,"types":["map_gui::tools::polygon::Obj"]},{"text":"impl<A> !Send for TitleScreen<A>","synthetic":true,"types":["map_gui::tools::title_screen::TitleScreen"]},{"text":"impl Send for Executable","synthetic":true,"types":["map_gui::tools::title_screen::Executable"]},{"text":"impl<A, S> Send for TripManagement<A, S> where
    A: Send,
    S: Send
","synthetic":true,"types":["map_gui::tools::trip_files::TripManagement"]},{"text":"impl Send for NamedTrip","synthetic":true,"types":["map_gui::tools::trip_files::NamedTrip"]},{"text":"impl Send for SavedTrips","synthetic":true,"types":["map_gui::tools::trip_files::SavedTrips"]},{"text":"impl<A, S> !Send for RenameTrip<A, S>","synthetic":true,"types":["map_gui::tools::trip_files::RenameTrip"]},{"text":"impl !Send for TurnExplorer","synthetic":true,"types":["map_gui::tools::turn_explorer::TurnExplorer"]},{"text":"impl Send for FilePicker","synthetic":true,"types":["map_gui::tools::ui::FilePicker"]},{"text":"impl Send for InputWaypoints","synthetic":true,"types":["map_gui::tools::waypoints::InputWaypoints"]},{"text":"impl Send for WaypointID","synthetic":true,"types":["map_gui::tools::waypoints::WaypointID"]},{"text":"impl Send for Waypoint","synthetic":true,"types":["map_gui::tools::waypoints::Waypoint"]},{"text":"impl Send for ID","synthetic":true,"types":["map_gui::ID"]}]; implementors["map_model"] = [{"text":"impl Send for City","synthetic":true,"types":["map_model::city::City"]},{"text":"impl Send for WalkingOptions","synthetic":true,"types":["map_model::connectivity::walking::WalkingOptions"]},{"text":"impl Send for Item","synthetic":true,"types":["map_model::connectivity::walking::Item"]},{"text":"impl Send for WalkingNode","synthetic":true,"types":["map_model::pathfind::walking::WalkingNode"]},{"text":"impl Send for Spot","synthetic":true,"types":["map_model::connectivity::Spot"]},{"text":"impl Send for Item","synthetic":true,"types":["map_model::connectivity::Item"]},{"text":"impl Send for OriginalLane","synthetic":true,"types":["map_model::edits::compat::OriginalLane"]},{"text":"impl Send for ChangeLaneType","synthetic":true,"types":["map_model::edits::compat::ChangeLaneType"]},{"text":"impl Send for ReverseLane","synthetic":true,"types":["map_model::edits::compat::ReverseLane"]},{"text":"impl Send for ChangeSpeedLimit","synthetic":true,"types":["map_model::edits::compat::ChangeSpeedLimit"]},{"text":"impl Send for ChangeAccessRestrictions","synthetic":true,"types":["map_model::edits::compat::ChangeAccessRestrictions"]},{"text":"impl Send for PermanentMapEdits","synthetic":true,"types":["map_model::edits::perma::PermanentMapEdits"]},{"text":"impl Send for PermanentEditIntersection","synthetic":true,"types":["map_model::edits::perma::PermanentEditIntersection"]},{"text":"impl Send for PermanentEditCrosswalks","synthetic":true,"types":["map_model::edits::perma::PermanentEditCrosswalks"]},{"text":"impl Send for PermanentEditCmd","synthetic":true,"types":["map_model::edits::perma::PermanentEditCmd"]},{"text":"impl Send for MapEdits","synthetic":true,"types":["map_model::edits::MapEdits"]},{"text":"impl Send for EditIntersection","synthetic":true,"types":["map_model::edits::EditIntersection"]},{"text":"impl Send for EditRoad","synthetic":true,"types":["map_model::edits::EditRoad"]},{"text":"impl Send for EditCrosswalks","synthetic":true,"types":["map_model::edits::EditCrosswalks"]},{"text":"impl Send for EditCmd","synthetic":true,"types":["map_model::edits::EditCmd"]},{"text":"impl Send for EditEffects","synthetic":true,"types":["map_model::edits::EditEffects"]},{"text":"impl Send for BorderSnapper","synthetic":true,"types":["map_model::make::transit::BorderSnapper"]},{"text":"impl Send for RawToMapOptions","synthetic":true,"types":["map_model::make::RawToMapOptions"]},{"text":"impl Send for AreaID","synthetic":true,"types":["map_model::objects::area::AreaID"]},{"text":"impl Send for Area","synthetic":true,"types":["map_model::objects::area::Area"]},{"text":"impl Send for Block","synthetic":true,"types":["map_model::objects::block::Block"]},{"text":"impl Send for Perimeter","synthetic":true,"types":["map_model::objects::block::Perimeter"]},{"text":"impl Send for BuildingID","synthetic":true,"types":["map_model::objects::building::BuildingID"]},{"text":"impl Send for Building","synthetic":true,"types":["map_model::objects::building::Building"]},{"text":"impl Send for OffstreetParking","synthetic":true,"types":["map_model::objects::building::OffstreetParking"]},{"text":"impl Send for BuildingType","synthetic":true,"types":["map_model::objects::building::BuildingType"]},{"text":"impl Send for IntersectionID","synthetic":true,"types":["map_model::objects::intersection::IntersectionID"]},{"text":"impl Send for Intersection","synthetic":true,"types":["map_model::objects::intersection::Intersection"]},{"text":"impl Send for LaneID","synthetic":true,"types":["map_model::objects::lane::LaneID"]},{"text":"impl Send for Lane","synthetic":true,"types":["map_model::objects::lane::Lane"]},{"text":"impl Send for CommonEndpoint","synthetic":true,"types":["map_model::objects::lane::CommonEndpoint"]},{"text":"impl Send for MovementID","synthetic":true,"types":["map_model::objects::movement::MovementID"]},{"text":"impl Send for CompressedMovementID","synthetic":true,"types":["map_model::objects::movement::CompressedMovementID"]},{"text":"impl Send for Movement","synthetic":true,"types":["map_model::objects::movement::Movement"]},{"text":"impl Send for ParkingLotID","synthetic":true,"types":["map_model::objects::parking_lot::ParkingLotID"]},{"text":"impl Send for ParkingLot","synthetic":true,"types":["map_model::objects::parking_lot::ParkingLot"]},{"text":"impl Send for RoadID","synthetic":true,"types":["map_model::objects::road::RoadID"]},{"text":"impl Send for DirectedRoadID","synthetic":true,"types":["map_model::objects::road::DirectedRoadID"]},{"text":"impl Send for SideOfRoad","synthetic":true,"types":["map_model::objects::road::SideOfRoad"]},{"text":"impl Send for RoadSideID","synthetic":true,"types":["map_model::objects::road::RoadSideID"]},{"text":"impl Send for Road","synthetic":true,"types":["map_model::objects::road::Road"]},{"text":"impl Send for ControlStopSign","synthetic":true,"types":["map_model::objects::stop_signs::ControlStopSign"]},{"text":"impl Send for RoadWithStopSign","synthetic":true,"types":["map_model::objects::stop_signs::RoadWithStopSign"]},{"text":"impl Send for ControlTrafficSignal","synthetic":true,"types":["map_model::objects::traffic_signals::ControlTrafficSignal"]},{"text":"impl Send for Stage","synthetic":true,"types":["map_model::objects::traffic_signals::Stage"]},{"text":"impl Send for StageType","synthetic":true,"types":["map_model::objects::traffic_signals::StageType"]},{"text":"impl Send for TransitStopID","synthetic":true,"types":["map_model::objects::transit::TransitStopID"]},{"text":"impl Send for TransitRouteID","synthetic":true,"types":["map_model::objects::transit::TransitRouteID"]},{"text":"impl Send for TransitStop","synthetic":true,"types":["map_model::objects::transit::TransitStop"]},{"text":"impl Send for TransitRoute","synthetic":true,"types":["map_model::objects::transit::TransitRoute"]},{"text":"impl Send for TurnID","synthetic":true,"types":["map_model::objects::turn::TurnID"]},{"text":"impl Send for TurnType","synthetic":true,"types":["map_model::objects::turn::TurnType"]},{"text":"impl Send for TurnPriority","synthetic":true,"types":["map_model::objects::turn::TurnPriority"]},{"text":"impl Send for Turn","synthetic":true,"types":["map_model::objects::turn::Turn"]},{"text":"impl Send for AccessRestrictions","synthetic":true,"types":["map_model::objects::zone::AccessRestrictions"]},{"text":"impl Send for Zone","synthetic":true,"types":["map_model::objects::zone::Zone"]},{"text":"impl Send for PathfindEngine","synthetic":true,"types":["map_model::pathfind::engine::PathfindEngine"]},{"text":"impl<'a> Send for CreateEngine<'a>","synthetic":true,"types":["map_model::pathfind::engine::CreateEngine"]},{"text":"impl<T> Send for NodeMap<T> where
    T: Send
","synthetic":true,"types":["map_model::pathfind::node_map::NodeMap"]},{"text":"impl<T> Send for InnerNodeMap<T> where
    T: Send
","synthetic":true,"types":["map_model::pathfind::node_map::InnerNodeMap"]},{"text":"impl Send for Pathfinder","synthetic":true,"types":["map_model::pathfind::pathfinder::Pathfinder"]},{"text":"impl Send for PathfinderCaching","synthetic":true,"types":["map_model::pathfind::pathfinder::PathfinderCaching"]},{"text":"impl Send for PathfinderCache","synthetic":true,"types":["map_model::pathfind::pathfinder::PathfinderCache"]},{"text":"impl Send for IntersectionCluster","synthetic":true,"types":["map_model::pathfind::uber_turns::IntersectionCluster"]},{"text":"impl Send for UberTurn","synthetic":true,"types":["map_model::pathfind::uber_turns::UberTurn"]},{"text":"impl Send for UberTurnV2","synthetic":true,"types":["map_model::pathfind::uber_turns::UberTurnV2"]},{"text":"impl Send for PathStep","synthetic":true,"types":["map_model::pathfind::v1::PathStep"]},{"text":"impl Send for Path","synthetic":true,"types":["map_model::pathfind::v1::Path"]},{"text":"impl Send for PathRequest","synthetic":true,"types":["map_model::pathfind::v1::PathRequest"]},{"text":"impl Send for PathStepV2","synthetic":true,"types":["map_model::pathfind::v2::PathStepV2"]},{"text":"impl Send for PathV2","synthetic":true,"types":["map_model::pathfind::v2::PathV2"]},{"text":"impl Send for VehiclePathfinder","synthetic":true,"types":["map_model::pathfind::vehicles::VehiclePathfinder"]},{"text":"impl Send for Node","synthetic":true,"types":["map_model::pathfind::vehicles::Node"]},{"text":"impl Send for SidewalkPathfinder","synthetic":true,"types":["map_model::pathfind::walking::SidewalkPathfinder"]},{"text":"impl Send for PathConstraints","synthetic":true,"types":["map_model::pathfind::PathConstraints"]},{"text":"impl Send for RoutingParams","synthetic":true,"types":["map_model::pathfind::RoutingParams"]},{"text":"impl Send for Position","synthetic":true,"types":["map_model::traversable::Position"]},{"text":"impl Send for Traversable","synthetic":true,"types":["map_model::traversable::Traversable"]},{"text":"impl Send for Map","synthetic":true,"types":["map_model::Map"]}]; diff --git a/rustdoc/implementors/core/marker/trait.StructuralPartialEq.js b/rustdoc/implementors/core/marker/trait.StructuralPartialEq.js index c3eeecfcac..5ce57bed1e 100644 --- a/rustdoc/implementors/core/marker/trait.StructuralPartialEq.js +++ b/rustdoc/implementors/core/marker/trait.StructuralPartialEq.js @@ -6,7 +6,7 @@ implementors["convert_osm"] = [{"text":"impl StructuralPartialEq for ID","synthetic":false,"types":["fifteen_min::bus::ID"]}]; implementors["game"] = [{"text":"impl StructuralPartialEq for Route","synthetic":false,"types":["game::common::route_sketcher::Route"]},{"text":"impl StructuralPartialEq for Mode","synthetic":false,"types":["game::common::route_sketcher::Mode"]},{"text":"impl StructuralPartialEq for Obj","synthetic":false,"types":["game::debug::blockfinder::Obj"]},{"text":"impl StructuralPartialEq for Filters","synthetic":false,"types":["game::devtools::collisions::Filters"]},{"text":"impl StructuralPartialEq for MarkerID","synthetic":false,"types":["game::devtools::story::MarkerID"]},{"text":"impl StructuralPartialEq for ID","synthetic":false,"types":["game::edit::crosswalks::ID"]},{"text":"impl StructuralPartialEq for BundleEdits","synthetic":false,"types":["game::edit::traffic_signals::BundleEdits"]},{"text":"impl StructuralPartialEq for DataOptions","synthetic":false,"types":["game::info::DataOptions"]},{"text":"impl StructuralPartialEq for ProblemOptions","synthetic":false,"types":["game::info::ProblemOptions"]},{"text":"impl StructuralPartialEq for Seir","synthetic":false,"types":["game::layer::pandemic::Seir"]},{"text":"impl StructuralPartialEq for Options","synthetic":false,"types":["game::layer::pandemic::Options"]},{"text":"impl StructuralPartialEq for Loc","synthetic":false,"types":["game::layer::parking::Loc"]},{"text":"impl StructuralPartialEq for Options","synthetic":false,"types":["game::layer::population::Options"]},{"text":"impl StructuralPartialEq for Options","synthetic":false,"types":["game::layer::problems::Options"]},{"text":"impl StructuralPartialEq for ProblemTypes","synthetic":false,"types":["game::layer::problems_diff::ProblemTypes"]},{"text":"impl StructuralPartialEq for BlockSelection","synthetic":false,"types":["game::sandbox::dashboards::commuter::BlockSelection"]},{"text":"impl StructuralPartialEq for Filter","synthetic":false,"types":["game::sandbox::dashboards::commuter::Filter"]},{"text":"impl StructuralPartialEq for DashTab","synthetic":false,"types":["game::sandbox::dashboards::DashTab"]},{"text":"impl StructuralPartialEq for Obj","synthetic":false,"types":["game::sandbox::gameplay::freeform::area_spawner::Obj"]},{"text":"impl StructuralPartialEq for TutorialPointer","synthetic":false,"types":["game::sandbox::gameplay::tutorial::TutorialPointer"]},{"text":"impl StructuralPartialEq for Task","synthetic":false,"types":["game::sandbox::gameplay::tutorial::Task"]},{"text":"impl StructuralPartialEq for GameplayMode","synthetic":false,"types":["game::sandbox::gameplay::GameplayMode"]},{"text":"impl StructuralPartialEq for SpeedSetting","synthetic":false,"types":["game::sandbox::speed::SpeedSetting"]},{"text":"impl StructuralPartialEq for RouteStats","synthetic":false,"types":["game::ungap::trip::results::RouteStats"]},{"text":"impl StructuralPartialEq for ID","synthetic":false,"types":["game::ungap::trip::ID"]},{"text":"impl StructuralPartialEq for RoutingPreferences","synthetic":false,"types":["game::ungap::trip::RoutingPreferences"]},{"text":"impl StructuralPartialEq for Tab","synthetic":false,"types":["game::ungap::Tab"]},{"text":"impl StructuralPartialEq for Mode","synthetic":false,"types":["game::Mode"]}]; implementors["geom"] = [{"text":"impl StructuralPartialEq for Angle","synthetic":false,"types":["geom::angle::Angle"]},{"text":"impl StructuralPartialEq for Bounds","synthetic":false,"types":["geom::bounds::Bounds"]},{"text":"impl StructuralPartialEq for GPSBounds","synthetic":false,"types":["geom::bounds::GPSBounds"]},{"text":"impl StructuralPartialEq for Distance","synthetic":false,"types":["geom::distance::Distance"]},{"text":"impl StructuralPartialEq for Duration","synthetic":false,"types":["geom::duration::Duration"]},{"text":"impl StructuralPartialEq for LonLat","synthetic":false,"types":["geom::gps::LonLat"]},{"text":"impl StructuralPartialEq for Line","synthetic":false,"types":["geom::line::Line"]},{"text":"impl StructuralPartialEq for Percent","synthetic":false,"types":["geom::percent::Percent"]},{"text":"impl StructuralPartialEq for Polygon","synthetic":false,"types":["geom::polygon::Polygon"]},{"text":"impl StructuralPartialEq for PolyLine","synthetic":false,"types":["geom::polyline::PolyLine"]},{"text":"impl StructuralPartialEq for HashablePt2D","synthetic":false,"types":["geom::pt::HashablePt2D"]},{"text":"impl StructuralPartialEq for Ring","synthetic":false,"types":["geom::ring::Ring"]},{"text":"impl StructuralPartialEq for Speed","synthetic":false,"types":["geom::speed::Speed"]},{"text":"impl StructuralPartialEq for Statistic","synthetic":false,"types":["geom::stats::Statistic"]},{"text":"impl StructuralPartialEq for Time","synthetic":false,"types":["geom::time::Time"]}]; -implementors["ltn"] = [{"text":"impl StructuralPartialEq for Style","synthetic":false,"types":["ltn::browse::Style"]},{"text":"impl StructuralPartialEq for Tab","synthetic":false,"types":["ltn::edit::Tab"]},{"text":"impl StructuralPartialEq for Obj","synthetic":false,"types":["ltn::edit::Obj"]},{"text":"impl StructuralPartialEq for Heuristic","synthetic":false,"types":["ltn::filters::auto::Heuristic"]},{"text":"impl StructuralPartialEq for ChangeKey","synthetic":false,"types":["ltn::filters::ChangeKey"]},{"text":"impl StructuralPartialEq for DiagonalFilter","synthetic":false,"types":["ltn::filters::DiagonalFilter"]},{"text":"impl StructuralPartialEq for Filters","synthetic":false,"types":["ltn::impact::Filters"]},{"text":"impl StructuralPartialEq for NeighbourhoodID","synthetic":false,"types":["ltn::partition::NeighbourhoodID"]},{"text":"impl StructuralPartialEq for BlockID","synthetic":false,"types":["ltn::partition::BlockID"]}]; +implementors["ltn"] = [{"text":"impl StructuralPartialEq for Style","synthetic":false,"types":["ltn::browse::Style"]},{"text":"impl StructuralPartialEq for Obj","synthetic":false,"types":["ltn::edit::Obj"]},{"text":"impl StructuralPartialEq for Heuristic","synthetic":false,"types":["ltn::filters::auto::Heuristic"]},{"text":"impl StructuralPartialEq for ChangeKey","synthetic":false,"types":["ltn::filters::ChangeKey"]},{"text":"impl StructuralPartialEq for DiagonalFilter","synthetic":false,"types":["ltn::filters::DiagonalFilter"]},{"text":"impl StructuralPartialEq for Filters","synthetic":false,"types":["ltn::impact::Filters"]},{"text":"impl StructuralPartialEq for NeighbourhoodID","synthetic":false,"types":["ltn::partition::NeighbourhoodID"]},{"text":"impl StructuralPartialEq for BlockID","synthetic":false,"types":["ltn::partition::BlockID"]}]; implementors["map_editor"] = [{"text":"impl StructuralPartialEq for ID","synthetic":false,"types":["map_editor::model::ID"]}]; implementors["map_gui"] = [{"text":"impl StructuralPartialEq for ColorSchemeChoice","synthetic":false,"types":["map_gui::colors::ColorSchemeChoice"]},{"text":"impl StructuralPartialEq for TrafficSignalStyle","synthetic":false,"types":["map_gui::options::TrafficSignalStyle"]},{"text":"impl StructuralPartialEq for CameraAngle","synthetic":false,"types":["map_gui::options::CameraAngle"]},{"text":"impl StructuralPartialEq for UnzoomedAgents","synthetic":false,"types":["map_gui::render::agents::UnzoomedAgents"]},{"text":"impl StructuralPartialEq for Obj","synthetic":false,"types":["map_gui::tools::compare_counts::Obj"]},{"text":"impl StructuralPartialEq for Layer","synthetic":false,"types":["map_gui::tools::compare_counts::Layer"]},{"text":"impl StructuralPartialEq for HeatmapOptions","synthetic":false,"types":["map_gui::tools::heatmap::HeatmapOptions"]},{"text":"impl StructuralPartialEq for Obj","synthetic":false,"types":["map_gui::tools::polygon::Obj"]},{"text":"impl StructuralPartialEq for Executable","synthetic":false,"types":["map_gui::tools::title_screen::Executable"]},{"text":"impl StructuralPartialEq for NamedTrip","synthetic":false,"types":["map_gui::tools::trip_files::NamedTrip"]},{"text":"impl StructuralPartialEq for WaypointID","synthetic":false,"types":["map_gui::tools::waypoints::WaypointID"]},{"text":"impl StructuralPartialEq for ID","synthetic":false,"types":["map_gui::ID"]}]; implementors["map_model"] = [{"text":"impl StructuralPartialEq for Item","synthetic":false,"types":["map_model::connectivity::walking::Item"]},{"text":"impl StructuralPartialEq for Spot","synthetic":false,"types":["map_model::connectivity::Spot"]},{"text":"impl StructuralPartialEq for Item","synthetic":false,"types":["map_model::connectivity::Item"]},{"text":"impl StructuralPartialEq for MapEdits","synthetic":false,"types":["map_model::edits::MapEdits"]},{"text":"impl StructuralPartialEq for EditIntersection","synthetic":false,"types":["map_model::edits::EditIntersection"]},{"text":"impl StructuralPartialEq for EditRoad","synthetic":false,"types":["map_model::edits::EditRoad"]},{"text":"impl StructuralPartialEq for EditCrosswalks","synthetic":false,"types":["map_model::edits::EditCrosswalks"]},{"text":"impl StructuralPartialEq for EditCmd","synthetic":false,"types":["map_model::edits::EditCmd"]},{"text":"impl StructuralPartialEq for AreaID","synthetic":false,"types":["map_model::objects::area::AreaID"]},{"text":"impl StructuralPartialEq for BuildingID","synthetic":false,"types":["map_model::objects::building::BuildingID"]},{"text":"impl StructuralPartialEq for OffstreetParking","synthetic":false,"types":["map_model::objects::building::OffstreetParking"]},{"text":"impl StructuralPartialEq for IntersectionID","synthetic":false,"types":["map_model::objects::intersection::IntersectionID"]},{"text":"impl StructuralPartialEq for LaneID","synthetic":false,"types":["map_model::objects::lane::LaneID"]},{"text":"impl StructuralPartialEq for CommonEndpoint","synthetic":false,"types":["map_model::objects::lane::CommonEndpoint"]},{"text":"impl StructuralPartialEq for MovementID","synthetic":false,"types":["map_model::objects::movement::MovementID"]},{"text":"impl StructuralPartialEq for CompressedMovementID","synthetic":false,"types":["map_model::objects::movement::CompressedMovementID"]},{"text":"impl StructuralPartialEq for Movement","synthetic":false,"types":["map_model::objects::movement::Movement"]},{"text":"impl StructuralPartialEq for ParkingLotID","synthetic":false,"types":["map_model::objects::parking_lot::ParkingLotID"]},{"text":"impl StructuralPartialEq for RoadID","synthetic":false,"types":["map_model::objects::road::RoadID"]},{"text":"impl StructuralPartialEq for DirectedRoadID","synthetic":false,"types":["map_model::objects::road::DirectedRoadID"]},{"text":"impl StructuralPartialEq for SideOfRoad","synthetic":false,"types":["map_model::objects::road::SideOfRoad"]},{"text":"impl StructuralPartialEq for RoadSideID","synthetic":false,"types":["map_model::objects::road::RoadSideID"]},{"text":"impl StructuralPartialEq for ControlStopSign","synthetic":false,"types":["map_model::objects::stop_signs::ControlStopSign"]},{"text":"impl StructuralPartialEq for RoadWithStopSign","synthetic":false,"types":["map_model::objects::stop_signs::RoadWithStopSign"]},{"text":"impl StructuralPartialEq for ControlTrafficSignal","synthetic":false,"types":["map_model::objects::traffic_signals::ControlTrafficSignal"]},{"text":"impl StructuralPartialEq for Stage","synthetic":false,"types":["map_model::objects::traffic_signals::Stage"]},{"text":"impl StructuralPartialEq for StageType","synthetic":false,"types":["map_model::objects::traffic_signals::StageType"]},{"text":"impl StructuralPartialEq for TransitStopID","synthetic":false,"types":["map_model::objects::transit::TransitStopID"]},{"text":"impl StructuralPartialEq for TransitRouteID","synthetic":false,"types":["map_model::objects::transit::TransitRouteID"]},{"text":"impl StructuralPartialEq for TransitStop","synthetic":false,"types":["map_model::objects::transit::TransitStop"]},{"text":"impl StructuralPartialEq for TurnID","synthetic":false,"types":["map_model::objects::turn::TurnID"]},{"text":"impl StructuralPartialEq for TurnType","synthetic":false,"types":["map_model::objects::turn::TurnType"]},{"text":"impl StructuralPartialEq for TurnPriority","synthetic":false,"types":["map_model::objects::turn::TurnPriority"]},{"text":"impl StructuralPartialEq for Turn","synthetic":false,"types":["map_model::objects::turn::Turn"]},{"text":"impl StructuralPartialEq for AccessRestrictions","synthetic":false,"types":["map_model::objects::zone::AccessRestrictions"]},{"text":"impl StructuralPartialEq for Zone","synthetic":false,"types":["map_model::objects::zone::Zone"]},{"text":"impl StructuralPartialEq for PathfinderCaching","synthetic":false,"types":["map_model::pathfind::pathfinder::PathfinderCaching"]},{"text":"impl StructuralPartialEq for UberTurn","synthetic":false,"types":["map_model::pathfind::uber_turns::UberTurn"]},{"text":"impl StructuralPartialEq for UberTurnV2","synthetic":false,"types":["map_model::pathfind::uber_turns::UberTurnV2"]},{"text":"impl StructuralPartialEq for PathStep","synthetic":false,"types":["map_model::pathfind::v1::PathStep"]},{"text":"impl StructuralPartialEq for Path","synthetic":false,"types":["map_model::pathfind::v1::Path"]},{"text":"impl StructuralPartialEq for PathRequest","synthetic":false,"types":["map_model::pathfind::v1::PathRequest"]},{"text":"impl StructuralPartialEq for Node","synthetic":false,"types":["map_model::pathfind::vehicles::Node"]},{"text":"impl StructuralPartialEq for WalkingNode","synthetic":false,"types":["map_model::pathfind::walking::WalkingNode"]},{"text":"impl StructuralPartialEq for RoutingParams","synthetic":false,"types":["map_model::pathfind::RoutingParams"]},{"text":"impl StructuralPartialEq for Position","synthetic":false,"types":["map_model::traversable::Position"]},{"text":"impl StructuralPartialEq for Traversable","synthetic":false,"types":["map_model::traversable::Traversable"]}]; diff --git a/rustdoc/implementors/core/marker/trait.Sync.js b/rustdoc/implementors/core/marker/trait.Sync.js index c738b87d8a..5c66be7c97 100644 --- a/rustdoc/implementors/core/marker/trait.Sync.js +++ b/rustdoc/implementors/core/marker/trait.Sync.js @@ -10,7 +10,7 @@ implementors["geom"] = [{"text":"impl Sync for MAP","synthetic":true,"types":["headless::MAP"]},{"text":"impl Sync for SIM","synthetic":true,"types":["headless::SIM"]},{"text":"impl Sync for LOAD","synthetic":true,"types":["headless::LOAD"]},{"text":"impl Sync for Args","synthetic":true,"types":["headless::Args"]},{"text":"impl Sync for FinishedTrip","synthetic":true,"types":["headless::FinishedTrip"]},{"text":"impl Sync for Delays","synthetic":true,"types":["headless::Delays"]},{"text":"impl Sync for Throughput","synthetic":true,"types":["headless::Throughput"]},{"text":"impl Sync for AgentPositions","synthetic":true,"types":["headless::AgentPositions"]},{"text":"impl Sync for AgentPosition","synthetic":true,"types":["headless::AgentPosition"]},{"text":"impl Sync for RoadThroughput","synthetic":true,"types":["headless::RoadThroughput"]},{"text":"impl Sync for TrafficSignalState","synthetic":true,"types":["headless::TrafficSignalState"]},{"text":"impl Sync for BlockedByGraph","synthetic":true,"types":["headless::BlockedByGraph"]},{"text":"impl Sync for LoadSim","synthetic":true,"types":["headless::LoadSim"]}]; implementors["importer"] = [{"text":"impl Sync for Record","synthetic":true,"types":["importer::berlin::Record"]},{"text":"impl Sync for ImporterConfiguration","synthetic":true,"types":["importer::configuration::ImporterConfiguration"]},{"text":"impl Sync for PopDat","synthetic":true,"types":["importer::soundcast::popdat::PopDat"]},{"text":"impl Sync for RawTrip","synthetic":true,"types":["importer::soundcast::popdat::RawTrip"]},{"text":"impl Sync for RawParcel","synthetic":true,"types":["importer::soundcast::popdat::RawParcel"]},{"text":"impl Sync for OrigTrip","synthetic":true,"types":["importer::soundcast::popdat::OrigTrip"]},{"text":"impl Sync for Endpoint","synthetic":true,"types":["importer::soundcast::popdat::Endpoint"]},{"text":"impl Sync for Trip","synthetic":true,"types":["importer::soundcast::trips::Trip"]},{"text":"impl Sync for BorderSnapper","synthetic":true,"types":["importer::soundcast::trips::BorderSnapper"]},{"text":"impl Sync for Record","synthetic":true,"types":["importer::uk::Record"]},{"text":"impl Sync for Job","synthetic":true,"types":["importer::Job"]}]; implementors["kml"] = [{"text":"impl Sync for ExtraShapes","synthetic":true,"types":["kml::ExtraShapes"]},{"text":"impl Sync for ExtraShape","synthetic":true,"types":["kml::ExtraShape"]}]; -implementors["ltn"] = [{"text":"impl !Sync for BrowseNeighbourhoods","synthetic":true,"types":["ltn::browse::BrowseNeighbourhoods"]},{"text":"impl Sync for Style","synthetic":true,"types":["ltn::browse::Style"]},{"text":"impl Sync for CELLS","synthetic":true,"types":["ltn::colors::CELLS"]},{"text":"impl Sync for FILTER_OUTER","synthetic":true,"types":["ltn::colors::FILTER_OUTER"]},{"text":"impl Sync for FILTER_INNER","synthetic":true,"types":["ltn::colors::FILTER_INNER"]},{"text":"impl Sync for PLAN_ROUTE_BEFORE","synthetic":true,"types":["ltn::colors::PLAN_ROUTE_BEFORE"]},{"text":"impl Sync for PLAN_ROUTE_AFTER","synthetic":true,"types":["ltn::colors::PLAN_ROUTE_AFTER"]},{"text":"impl Sync for PLAN_ROUTE_BIKE","synthetic":true,"types":["ltn::colors::PLAN_ROUTE_BIKE"]},{"text":"impl Sync for PLAN_ROUTE_WALK","synthetic":true,"types":["ltn::colors::PLAN_ROUTE_WALK"]},{"text":"impl Sync for About","synthetic":true,"types":["ltn::components::about::About"]},{"text":"impl Sync for FreehandFilters","synthetic":true,"types":["ltn::components::freehand_filters::FreehandFilters"]},{"text":"impl Sync for LeftPanel","synthetic":true,"types":["ltn::components::left_panel::LeftPanel"]},{"text":"impl Sync for TopPanel","synthetic":true,"types":["ltn::components::top_panel::TopPanel"]},{"text":"impl !Sync for Viewer","synthetic":true,"types":["ltn::connectivity::Viewer"]},{"text":"impl !Sync for CustomizeBoundary","synthetic":true,"types":["ltn::customize_boundary::CustomizeBoundary"]},{"text":"impl Sync for RenderCells","synthetic":true,"types":["ltn::draw_cells::RenderCells"]},{"text":"impl Sync for RenderCellsBuilder","synthetic":true,"types":["ltn::draw_cells::RenderCellsBuilder"]},{"text":"impl Sync for Tab","synthetic":true,"types":["ltn::edit::Tab"]},{"text":"impl !Sync for EditNeighbourhood","synthetic":true,"types":["ltn::edit::EditNeighbourhood"]},{"text":"impl Sync for Obj","synthetic":true,"types":["ltn::edit::Obj"]},{"text":"impl !Sync for EditOutcome","synthetic":true,"types":["ltn::edit::EditOutcome"]},{"text":"impl Sync for Heuristic","synthetic":true,"types":["ltn::filters::auto::Heuristic"]},{"text":"impl Sync for ModalFilters","synthetic":true,"types":["ltn::filters::ModalFilters"]},{"text":"impl Sync for ChangeKey","synthetic":true,"types":["ltn::filters::ChangeKey"]},{"text":"impl Sync for DiagonalFilter","synthetic":true,"types":["ltn::filters::DiagonalFilter"]},{"text":"impl !Sync for Toggle3Zoomed","synthetic":true,"types":["ltn::filters::Toggle3Zoomed"]},{"text":"impl !Sync for ShowResults","synthetic":true,"types":["ltn::impact::ui::ShowResults"]},{"text":"impl !Sync for ChangedRoutes","synthetic":true,"types":["ltn::impact::ui::ChangedRoutes"]},{"text":"impl !Sync for Impact","synthetic":true,"types":["ltn::impact::Impact"]},{"text":"impl Sync for Filters","synthetic":true,"types":["ltn::impact::Filters"]},{"text":"impl !Sync for Neighbourhood","synthetic":true,"types":["ltn::neighbourhood::Neighbourhood"]},{"text":"impl Sync for Cell","synthetic":true,"types":["ltn::neighbourhood::Cell"]},{"text":"impl Sync for DistanceInterval","synthetic":true,"types":["ltn::neighbourhood::DistanceInterval"]},{"text":"impl Sync for NeighbourhoodID","synthetic":true,"types":["ltn::partition::NeighbourhoodID"]},{"text":"impl Sync for BlockID","synthetic":true,"types":["ltn::partition::BlockID"]},{"text":"impl Sync for Partitioning","synthetic":true,"types":["ltn::partition::Partitioning"]},{"text":"impl Sync for NeighbourhoodInfo","synthetic":true,"types":["ltn::partition::NeighbourhoodInfo"]},{"text":"impl !Sync for RoutePlanner","synthetic":true,"types":["ltn::route_planner::RoutePlanner"]},{"text":"impl Sync for Proposal","synthetic":true,"types":["ltn::save::Proposal"]},{"text":"impl Sync for AltProposals","synthetic":true,"types":["ltn::save::AltProposals"]},{"text":"impl Sync for PreserveState","synthetic":true,"types":["ltn::save::PreserveState"]},{"text":"impl !Sync for SelectBoundary","synthetic":true,"types":["ltn::select_boundary::SelectBoundary"]},{"text":"impl !Sync for BrowseShortcuts","synthetic":true,"types":["ltn::shortcut_viewer::BrowseShortcuts"]},{"text":"impl Sync for Shortcuts","synthetic":true,"types":["ltn::shortcuts::Shortcuts"]},{"text":"impl Sync for EntryExit","synthetic":true,"types":["ltn::shortcuts::EntryExit"]},{"text":"impl Sync for Args","synthetic":true,"types":["ltn::Args"]},{"text":"impl !Sync for Session","synthetic":true,"types":["ltn::Session"]}]; +implementors["ltn"] = [{"text":"impl !Sync for BrowseNeighbourhoods","synthetic":true,"types":["ltn::browse::BrowseNeighbourhoods"]},{"text":"impl Sync for Style","synthetic":true,"types":["ltn::browse::Style"]},{"text":"impl Sync for CELLS","synthetic":true,"types":["ltn::colors::CELLS"]},{"text":"impl Sync for FILTER_OUTER","synthetic":true,"types":["ltn::colors::FILTER_OUTER"]},{"text":"impl Sync for FILTER_INNER","synthetic":true,"types":["ltn::colors::FILTER_INNER"]},{"text":"impl Sync for PLAN_ROUTE_BEFORE","synthetic":true,"types":["ltn::colors::PLAN_ROUTE_BEFORE"]},{"text":"impl Sync for PLAN_ROUTE_AFTER","synthetic":true,"types":["ltn::colors::PLAN_ROUTE_AFTER"]},{"text":"impl Sync for PLAN_ROUTE_BIKE","synthetic":true,"types":["ltn::colors::PLAN_ROUTE_BIKE"]},{"text":"impl Sync for PLAN_ROUTE_WALK","synthetic":true,"types":["ltn::colors::PLAN_ROUTE_WALK"]},{"text":"impl Sync for About","synthetic":true,"types":["ltn::components::about::About"]},{"text":"impl Sync for LeftPanel","synthetic":true,"types":["ltn::components::left_panel::LeftPanel"]},{"text":"impl Sync for TopPanel","synthetic":true,"types":["ltn::components::top_panel::TopPanel"]},{"text":"impl !Sync for Viewer","synthetic":true,"types":["ltn::connectivity::Viewer"]},{"text":"impl !Sync for CustomizeBoundary","synthetic":true,"types":["ltn::customize_boundary::CustomizeBoundary"]},{"text":"impl Sync for RenderCells","synthetic":true,"types":["ltn::draw_cells::RenderCells"]},{"text":"impl Sync for RenderCellsBuilder","synthetic":true,"types":["ltn::draw_cells::RenderCellsBuilder"]},{"text":"impl Sync for FocusedRoad","synthetic":true,"types":["ltn::edit::shortcuts::FocusedRoad"]},{"text":"impl Sync for EditMode","synthetic":true,"types":["ltn::edit::EditMode"]},{"text":"impl !Sync for EditNeighbourhood","synthetic":true,"types":["ltn::edit::EditNeighbourhood"]},{"text":"impl Sync for Obj","synthetic":true,"types":["ltn::edit::Obj"]},{"text":"impl !Sync for EditOutcome","synthetic":true,"types":["ltn::edit::EditOutcome"]},{"text":"impl Sync for Heuristic","synthetic":true,"types":["ltn::filters::auto::Heuristic"]},{"text":"impl Sync for ModalFilters","synthetic":true,"types":["ltn::filters::ModalFilters"]},{"text":"impl Sync for ChangeKey","synthetic":true,"types":["ltn::filters::ChangeKey"]},{"text":"impl Sync for DiagonalFilter","synthetic":true,"types":["ltn::filters::DiagonalFilter"]},{"text":"impl !Sync for Toggle3Zoomed","synthetic":true,"types":["ltn::filters::Toggle3Zoomed"]},{"text":"impl !Sync for ShowResults","synthetic":true,"types":["ltn::impact::ui::ShowResults"]},{"text":"impl !Sync for ChangedRoutes","synthetic":true,"types":["ltn::impact::ui::ChangedRoutes"]},{"text":"impl !Sync for Impact","synthetic":true,"types":["ltn::impact::Impact"]},{"text":"impl Sync for Filters","synthetic":true,"types":["ltn::impact::Filters"]},{"text":"impl !Sync for Neighbourhood","synthetic":true,"types":["ltn::neighbourhood::Neighbourhood"]},{"text":"impl Sync for Cell","synthetic":true,"types":["ltn::neighbourhood::Cell"]},{"text":"impl Sync for DistanceInterval","synthetic":true,"types":["ltn::neighbourhood::DistanceInterval"]},{"text":"impl Sync for NeighbourhoodID","synthetic":true,"types":["ltn::partition::NeighbourhoodID"]},{"text":"impl Sync for BlockID","synthetic":true,"types":["ltn::partition::BlockID"]},{"text":"impl Sync for Partitioning","synthetic":true,"types":["ltn::partition::Partitioning"]},{"text":"impl Sync for NeighbourhoodInfo","synthetic":true,"types":["ltn::partition::NeighbourhoodInfo"]},{"text":"impl !Sync for RoutePlanner","synthetic":true,"types":["ltn::route_planner::RoutePlanner"]},{"text":"impl Sync for Proposal","synthetic":true,"types":["ltn::save::Proposal"]},{"text":"impl Sync for AltProposals","synthetic":true,"types":["ltn::save::AltProposals"]},{"text":"impl Sync for PreserveState","synthetic":true,"types":["ltn::save::PreserveState"]},{"text":"impl !Sync for SelectBoundary","synthetic":true,"types":["ltn::select_boundary::SelectBoundary"]},{"text":"impl Sync for Shortcuts","synthetic":true,"types":["ltn::shortcuts::Shortcuts"]},{"text":"impl Sync for EntryExit","synthetic":true,"types":["ltn::shortcuts::EntryExit"]},{"text":"impl Sync for Args","synthetic":true,"types":["ltn::Args"]},{"text":"impl !Sync for Session","synthetic":true,"types":["ltn::Session"]}]; implementors["map_editor"] = [{"text":"impl !Sync for App","synthetic":true,"types":["map_editor::app::App"]},{"text":"impl !Sync for MainState","synthetic":true,"types":["map_editor::app::MainState"]},{"text":"impl Sync for Mode","synthetic":true,"types":["map_editor::app::Mode"]},{"text":"impl Sync for CameraState","synthetic":true,"types":["map_editor::camera::CameraState"]},{"text":"impl Sync for DefaultMap","synthetic":true,"types":["map_editor::camera::DefaultMap"]},{"text":"impl !Sync for EditRoad","synthetic":true,"types":["map_editor::edit::EditRoad"]},{"text":"impl !Sync for PickMap","synthetic":true,"types":["map_editor::load::PickMap"]},{"text":"impl !Sync for Model","synthetic":true,"types":["map_editor::model::Model"]},{"text":"impl Sync for ID","synthetic":true,"types":["map_editor::model::ID"]},{"text":"impl Sync for Args","synthetic":true,"types":["map_editor::Args"]}]; implementors["map_gui"] = [{"text":"impl Sync for ColorSchemeChoice","synthetic":true,"types":["map_gui::colors::ColorSchemeChoice"]},{"text":"impl Sync for ColorScheme","synthetic":true,"types":["map_gui::colors::ColorScheme"]},{"text":"impl Sync for MapLoader","synthetic":true,"types":["map_gui::load::MapLoader"]},{"text":"impl<A> !Sync for MapAlreadyLoaded<A>","synthetic":true,"types":["map_gui::load::MapAlreadyLoaded"]},{"text":"impl Sync for Options","synthetic":true,"types":["map_gui::options::Options"]},{"text":"impl Sync for TrafficSignalStyle","synthetic":true,"types":["map_gui::options::TrafficSignalStyle"]},{"text":"impl Sync for CameraAngle","synthetic":true,"types":["map_gui::options::CameraAngle"]},{"text":"impl !Sync for OptionsPanel","synthetic":true,"types":["map_gui::options::OptionsPanel"]},{"text":"impl !Sync for AgentCache","synthetic":true,"types":["map_gui::render::agents::AgentCache"]},{"text":"impl Sync for UnzoomedAgents","synthetic":true,"types":["map_gui::render::agents::UnzoomedAgents"]},{"text":"impl Sync for DrawArea","synthetic":true,"types":["map_gui::render::area::DrawArea"]},{"text":"impl !Sync for DrawBike","synthetic":true,"types":["map_gui::render::bike::DrawBike"]},{"text":"impl !Sync for DrawBuilding","synthetic":true,"types":["map_gui::render::building::DrawBuilding"]},{"text":"impl !Sync for DrawCar","synthetic":true,"types":["map_gui::render::car::DrawCar"]},{"text":"impl !Sync for DrawIntersection","synthetic":true,"types":["map_gui::render::intersection::DrawIntersection"]},{"text":"impl !Sync for DrawLane","synthetic":true,"types":["map_gui::render::lane::DrawLane"]},{"text":"impl !Sync for DrawMap","synthetic":true,"types":["map_gui::render::map::DrawMap"]},{"text":"impl !Sync for DrawParkingLot","synthetic":true,"types":["map_gui::render::parking_lot::DrawParkingLot"]},{"text":"impl !Sync for DrawPedestrian","synthetic":true,"types":["map_gui::render::pedestrian::DrawPedestrian"]},{"text":"impl !Sync for DrawPedCrowd","synthetic":true,"types":["map_gui::render::pedestrian::DrawPedCrowd"]},{"text":"impl !Sync for DrawRoad","synthetic":true,"types":["map_gui::render::road::DrawRoad"]},{"text":"impl !Sync for DrawTransitStop","synthetic":true,"types":["map_gui::render::transit_stop::DrawTransitStop"]},{"text":"impl Sync for DrawMovement","synthetic":true,"types":["map_gui::render::turn::DrawMovement"]},{"text":"impl Sync for DrawOptions","synthetic":true,"types":["map_gui::render::DrawOptions"]},{"text":"impl<T> !Sync for SimpleApp<T>","synthetic":true,"types":["map_gui::simple_app::SimpleApp"]},{"text":"impl Sync for SimpleAppArgs","synthetic":true,"types":["map_gui::simple_app::SimpleAppArgs"]},{"text":"impl Sync for SimpleWarper","synthetic":true,"types":["map_gui::simple_app::SimpleWarper"]},{"text":"impl Sync for CameraState","synthetic":true,"types":["map_gui::tools::camera::CameraState"]},{"text":"impl Sync for DefaultMap","synthetic":true,"types":["map_gui::tools::camera::DefaultMap"]},{"text":"impl<A> !Sync for CityPicker<A>","synthetic":true,"types":["map_gui::tools::city_picker::CityPicker"]},{"text":"impl<A> !Sync for AllCityPicker<A>","synthetic":true,"types":["map_gui::tools::city_picker::AllCityPicker"]},{"text":"impl<A> !Sync for CitiesInCountryPicker<A>","synthetic":true,"types":["map_gui::tools::city_picker::CitiesInCountryPicker"]},{"text":"impl<'a> Sync for ColorDiscrete<'a>","synthetic":true,"types":["map_gui::tools::colors::ColorDiscrete"]},{"text":"impl Sync for ColorLegend","synthetic":true,"types":["map_gui::tools::colors::ColorLegend"]},{"text":"impl Sync for DivergingScale","synthetic":true,"types":["map_gui::tools::colors::DivergingScale"]},{"text":"impl<'a> Sync for ColorNetwork<'a>","synthetic":true,"types":["map_gui::tools::colors::ColorNetwork"]},{"text":"impl Sync for ColorScale","synthetic":true,"types":["map_gui::tools::colors::ColorScale"]},{"text":"impl<A> !Sync for RunCommand<A>","synthetic":true,"types":["map_gui::tools::command::RunCommand"]},{"text":"impl !Sync for CompareCounts","synthetic":true,"types":["map_gui::tools::compare_counts::CompareCounts"]},{"text":"impl Sync for Obj","synthetic":true,"types":["map_gui::tools::compare_counts::Obj"]},{"text":"impl Sync for Layer","synthetic":true,"types":["map_gui::tools::compare_counts::Layer"]},{"text":"impl Sync for HeatmapOptions","synthetic":true,"types":["map_gui::tools::heatmap::HeatmapOptions"]},{"text":"impl<T> Sync for Grid<T> where
    T: Sync
","synthetic":true,"types":["map_gui::tools::heatmap::Grid"]},{"text":"impl<A> !Sync for ImportCity<A>","synthetic":true,"types":["map_gui::tools::importer::ImportCity"]},{"text":"impl !Sync for DrawRoadLabels","synthetic":true,"types":["map_gui::tools::labels::DrawRoadLabels"]},{"text":"impl !Sync for PerZoom","synthetic":true,"types":["map_gui::tools::labels::PerZoom"]},{"text":"impl<A, T> !Sync for Minimap<A, T>","synthetic":true,"types":["map_gui::tools::minimap::Minimap"]},{"text":"impl !Sync for Navigator","synthetic":true,"types":["map_gui::tools::navigate::Navigator"]},{"text":"impl !Sync for CrossStreet","synthetic":true,"types":["map_gui::tools::navigate::CrossStreet"]},{"text":"impl !Sync for SearchBuildings","synthetic":true,"types":["map_gui::tools::navigate::SearchBuildings"]},{"text":"impl !Sync for EditPolygon","synthetic":true,"types":["map_gui::tools::polygon::EditPolygon"]},{"text":"impl Sync for Obj","synthetic":true,"types":["map_gui::tools::polygon::Obj"]},{"text":"impl<A> !Sync for TitleScreen<A>","synthetic":true,"types":["map_gui::tools::title_screen::TitleScreen"]},{"text":"impl Sync for Executable","synthetic":true,"types":["map_gui::tools::title_screen::Executable"]},{"text":"impl<A, S> Sync for TripManagement<A, S> where
    A: Sync,
    S: Sync
","synthetic":true,"types":["map_gui::tools::trip_files::TripManagement"]},{"text":"impl Sync for NamedTrip","synthetic":true,"types":["map_gui::tools::trip_files::NamedTrip"]},{"text":"impl Sync for SavedTrips","synthetic":true,"types":["map_gui::tools::trip_files::SavedTrips"]},{"text":"impl<A, S> !Sync for RenameTrip<A, S>","synthetic":true,"types":["map_gui::tools::trip_files::RenameTrip"]},{"text":"impl !Sync for TurnExplorer","synthetic":true,"types":["map_gui::tools::turn_explorer::TurnExplorer"]},{"text":"impl Sync for FilePicker","synthetic":true,"types":["map_gui::tools::ui::FilePicker"]},{"text":"impl Sync for InputWaypoints","synthetic":true,"types":["map_gui::tools::waypoints::InputWaypoints"]},{"text":"impl Sync for WaypointID","synthetic":true,"types":["map_gui::tools::waypoints::WaypointID"]},{"text":"impl Sync for Waypoint","synthetic":true,"types":["map_gui::tools::waypoints::Waypoint"]},{"text":"impl Sync for ID","synthetic":true,"types":["map_gui::ID"]}]; implementors["map_model"] = [{"text":"impl Sync for City","synthetic":true,"types":["map_model::city::City"]},{"text":"impl Sync for WalkingOptions","synthetic":true,"types":["map_model::connectivity::walking::WalkingOptions"]},{"text":"impl Sync for Item","synthetic":true,"types":["map_model::connectivity::walking::Item"]},{"text":"impl Sync for WalkingNode","synthetic":true,"types":["map_model::pathfind::walking::WalkingNode"]},{"text":"impl Sync for Spot","synthetic":true,"types":["map_model::connectivity::Spot"]},{"text":"impl Sync for Item","synthetic":true,"types":["map_model::connectivity::Item"]},{"text":"impl Sync for OriginalLane","synthetic":true,"types":["map_model::edits::compat::OriginalLane"]},{"text":"impl Sync for ChangeLaneType","synthetic":true,"types":["map_model::edits::compat::ChangeLaneType"]},{"text":"impl Sync for ReverseLane","synthetic":true,"types":["map_model::edits::compat::ReverseLane"]},{"text":"impl Sync for ChangeSpeedLimit","synthetic":true,"types":["map_model::edits::compat::ChangeSpeedLimit"]},{"text":"impl Sync for ChangeAccessRestrictions","synthetic":true,"types":["map_model::edits::compat::ChangeAccessRestrictions"]},{"text":"impl Sync for PermanentMapEdits","synthetic":true,"types":["map_model::edits::perma::PermanentMapEdits"]},{"text":"impl Sync for PermanentEditIntersection","synthetic":true,"types":["map_model::edits::perma::PermanentEditIntersection"]},{"text":"impl Sync for PermanentEditCrosswalks","synthetic":true,"types":["map_model::edits::perma::PermanentEditCrosswalks"]},{"text":"impl Sync for PermanentEditCmd","synthetic":true,"types":["map_model::edits::perma::PermanentEditCmd"]},{"text":"impl Sync for MapEdits","synthetic":true,"types":["map_model::edits::MapEdits"]},{"text":"impl Sync for EditIntersection","synthetic":true,"types":["map_model::edits::EditIntersection"]},{"text":"impl Sync for EditRoad","synthetic":true,"types":["map_model::edits::EditRoad"]},{"text":"impl Sync for EditCrosswalks","synthetic":true,"types":["map_model::edits::EditCrosswalks"]},{"text":"impl Sync for EditCmd","synthetic":true,"types":["map_model::edits::EditCmd"]},{"text":"impl Sync for EditEffects","synthetic":true,"types":["map_model::edits::EditEffects"]},{"text":"impl Sync for BorderSnapper","synthetic":true,"types":["map_model::make::transit::BorderSnapper"]},{"text":"impl Sync for RawToMapOptions","synthetic":true,"types":["map_model::make::RawToMapOptions"]},{"text":"impl Sync for AreaID","synthetic":true,"types":["map_model::objects::area::AreaID"]},{"text":"impl Sync for Area","synthetic":true,"types":["map_model::objects::area::Area"]},{"text":"impl Sync for Block","synthetic":true,"types":["map_model::objects::block::Block"]},{"text":"impl Sync for Perimeter","synthetic":true,"types":["map_model::objects::block::Perimeter"]},{"text":"impl Sync for BuildingID","synthetic":true,"types":["map_model::objects::building::BuildingID"]},{"text":"impl Sync for Building","synthetic":true,"types":["map_model::objects::building::Building"]},{"text":"impl Sync for OffstreetParking","synthetic":true,"types":["map_model::objects::building::OffstreetParking"]},{"text":"impl Sync for BuildingType","synthetic":true,"types":["map_model::objects::building::BuildingType"]},{"text":"impl Sync for IntersectionID","synthetic":true,"types":["map_model::objects::intersection::IntersectionID"]},{"text":"impl Sync for Intersection","synthetic":true,"types":["map_model::objects::intersection::Intersection"]},{"text":"impl Sync for LaneID","synthetic":true,"types":["map_model::objects::lane::LaneID"]},{"text":"impl Sync for Lane","synthetic":true,"types":["map_model::objects::lane::Lane"]},{"text":"impl Sync for CommonEndpoint","synthetic":true,"types":["map_model::objects::lane::CommonEndpoint"]},{"text":"impl Sync for MovementID","synthetic":true,"types":["map_model::objects::movement::MovementID"]},{"text":"impl Sync for CompressedMovementID","synthetic":true,"types":["map_model::objects::movement::CompressedMovementID"]},{"text":"impl Sync for Movement","synthetic":true,"types":["map_model::objects::movement::Movement"]},{"text":"impl Sync for ParkingLotID","synthetic":true,"types":["map_model::objects::parking_lot::ParkingLotID"]},{"text":"impl Sync for ParkingLot","synthetic":true,"types":["map_model::objects::parking_lot::ParkingLot"]},{"text":"impl Sync for RoadID","synthetic":true,"types":["map_model::objects::road::RoadID"]},{"text":"impl Sync for DirectedRoadID","synthetic":true,"types":["map_model::objects::road::DirectedRoadID"]},{"text":"impl Sync for SideOfRoad","synthetic":true,"types":["map_model::objects::road::SideOfRoad"]},{"text":"impl Sync for RoadSideID","synthetic":true,"types":["map_model::objects::road::RoadSideID"]},{"text":"impl Sync for Road","synthetic":true,"types":["map_model::objects::road::Road"]},{"text":"impl Sync for ControlStopSign","synthetic":true,"types":["map_model::objects::stop_signs::ControlStopSign"]},{"text":"impl Sync for RoadWithStopSign","synthetic":true,"types":["map_model::objects::stop_signs::RoadWithStopSign"]},{"text":"impl Sync for ControlTrafficSignal","synthetic":true,"types":["map_model::objects::traffic_signals::ControlTrafficSignal"]},{"text":"impl Sync for Stage","synthetic":true,"types":["map_model::objects::traffic_signals::Stage"]},{"text":"impl Sync for StageType","synthetic":true,"types":["map_model::objects::traffic_signals::StageType"]},{"text":"impl Sync for TransitStopID","synthetic":true,"types":["map_model::objects::transit::TransitStopID"]},{"text":"impl Sync for TransitRouteID","synthetic":true,"types":["map_model::objects::transit::TransitRouteID"]},{"text":"impl Sync for TransitStop","synthetic":true,"types":["map_model::objects::transit::TransitStop"]},{"text":"impl Sync for TransitRoute","synthetic":true,"types":["map_model::objects::transit::TransitRoute"]},{"text":"impl Sync for TurnID","synthetic":true,"types":["map_model::objects::turn::TurnID"]},{"text":"impl Sync for TurnType","synthetic":true,"types":["map_model::objects::turn::TurnType"]},{"text":"impl Sync for TurnPriority","synthetic":true,"types":["map_model::objects::turn::TurnPriority"]},{"text":"impl Sync for Turn","synthetic":true,"types":["map_model::objects::turn::Turn"]},{"text":"impl Sync for AccessRestrictions","synthetic":true,"types":["map_model::objects::zone::AccessRestrictions"]},{"text":"impl Sync for Zone","synthetic":true,"types":["map_model::objects::zone::Zone"]},{"text":"impl Sync for PathfindEngine","synthetic":true,"types":["map_model::pathfind::engine::PathfindEngine"]},{"text":"impl<'a> Sync for CreateEngine<'a>","synthetic":true,"types":["map_model::pathfind::engine::CreateEngine"]},{"text":"impl<T> Sync for NodeMap<T> where
    T: Sync
","synthetic":true,"types":["map_model::pathfind::node_map::NodeMap"]},{"text":"impl<T> Sync for InnerNodeMap<T> where
    T: Sync
","synthetic":true,"types":["map_model::pathfind::node_map::InnerNodeMap"]},{"text":"impl Sync for Pathfinder","synthetic":true,"types":["map_model::pathfind::pathfinder::Pathfinder"]},{"text":"impl Sync for PathfinderCaching","synthetic":true,"types":["map_model::pathfind::pathfinder::PathfinderCaching"]},{"text":"impl Sync for PathfinderCache","synthetic":true,"types":["map_model::pathfind::pathfinder::PathfinderCache"]},{"text":"impl Sync for IntersectionCluster","synthetic":true,"types":["map_model::pathfind::uber_turns::IntersectionCluster"]},{"text":"impl Sync for UberTurn","synthetic":true,"types":["map_model::pathfind::uber_turns::UberTurn"]},{"text":"impl Sync for UberTurnV2","synthetic":true,"types":["map_model::pathfind::uber_turns::UberTurnV2"]},{"text":"impl Sync for PathStep","synthetic":true,"types":["map_model::pathfind::v1::PathStep"]},{"text":"impl Sync for Path","synthetic":true,"types":["map_model::pathfind::v1::Path"]},{"text":"impl Sync for PathRequest","synthetic":true,"types":["map_model::pathfind::v1::PathRequest"]},{"text":"impl Sync for PathStepV2","synthetic":true,"types":["map_model::pathfind::v2::PathStepV2"]},{"text":"impl Sync for PathV2","synthetic":true,"types":["map_model::pathfind::v2::PathV2"]},{"text":"impl Sync for VehiclePathfinder","synthetic":true,"types":["map_model::pathfind::vehicles::VehiclePathfinder"]},{"text":"impl Sync for Node","synthetic":true,"types":["map_model::pathfind::vehicles::Node"]},{"text":"impl Sync for SidewalkPathfinder","synthetic":true,"types":["map_model::pathfind::walking::SidewalkPathfinder"]},{"text":"impl Sync for PathConstraints","synthetic":true,"types":["map_model::pathfind::PathConstraints"]},{"text":"impl Sync for RoutingParams","synthetic":true,"types":["map_model::pathfind::RoutingParams"]},{"text":"impl Sync for Position","synthetic":true,"types":["map_model::traversable::Position"]},{"text":"impl Sync for Traversable","synthetic":true,"types":["map_model::traversable::Traversable"]},{"text":"impl Sync for Map","synthetic":true,"types":["map_model::Map"]}]; diff --git a/rustdoc/implementors/core/marker/trait.Unpin.js b/rustdoc/implementors/core/marker/trait.Unpin.js index cffdfade3b..9a891fc947 100644 --- a/rustdoc/implementors/core/marker/trait.Unpin.js +++ b/rustdoc/implementors/core/marker/trait.Unpin.js @@ -10,7 +10,7 @@ implementors["geom"] = [{"text":"impl Unpin for MAP","synthetic":true,"types":["headless::MAP"]},{"text":"impl Unpin for SIM","synthetic":true,"types":["headless::SIM"]},{"text":"impl Unpin for LOAD","synthetic":true,"types":["headless::LOAD"]},{"text":"impl Unpin for Args","synthetic":true,"types":["headless::Args"]},{"text":"impl Unpin for FinishedTrip","synthetic":true,"types":["headless::FinishedTrip"]},{"text":"impl Unpin for Delays","synthetic":true,"types":["headless::Delays"]},{"text":"impl Unpin for Throughput","synthetic":true,"types":["headless::Throughput"]},{"text":"impl Unpin for AgentPositions","synthetic":true,"types":["headless::AgentPositions"]},{"text":"impl Unpin for AgentPosition","synthetic":true,"types":["headless::AgentPosition"]},{"text":"impl Unpin for RoadThroughput","synthetic":true,"types":["headless::RoadThroughput"]},{"text":"impl Unpin for TrafficSignalState","synthetic":true,"types":["headless::TrafficSignalState"]},{"text":"impl Unpin for BlockedByGraph","synthetic":true,"types":["headless::BlockedByGraph"]},{"text":"impl Unpin for LoadSim","synthetic":true,"types":["headless::LoadSim"]}]; implementors["importer"] = [{"text":"impl Unpin for Record","synthetic":true,"types":["importer::berlin::Record"]},{"text":"impl Unpin for ImporterConfiguration","synthetic":true,"types":["importer::configuration::ImporterConfiguration"]},{"text":"impl Unpin for PopDat","synthetic":true,"types":["importer::soundcast::popdat::PopDat"]},{"text":"impl Unpin for RawTrip","synthetic":true,"types":["importer::soundcast::popdat::RawTrip"]},{"text":"impl Unpin for RawParcel","synthetic":true,"types":["importer::soundcast::popdat::RawParcel"]},{"text":"impl Unpin for OrigTrip","synthetic":true,"types":["importer::soundcast::popdat::OrigTrip"]},{"text":"impl Unpin for Endpoint","synthetic":true,"types":["importer::soundcast::popdat::Endpoint"]},{"text":"impl Unpin for Trip","synthetic":true,"types":["importer::soundcast::trips::Trip"]},{"text":"impl Unpin for BorderSnapper","synthetic":true,"types":["importer::soundcast::trips::BorderSnapper"]},{"text":"impl Unpin for Record","synthetic":true,"types":["importer::uk::Record"]},{"text":"impl Unpin for Job","synthetic":true,"types":["importer::Job"]}]; implementors["kml"] = [{"text":"impl Unpin for ExtraShapes","synthetic":true,"types":["kml::ExtraShapes"]},{"text":"impl Unpin for ExtraShape","synthetic":true,"types":["kml::ExtraShape"]}]; -implementors["ltn"] = [{"text":"impl Unpin for BrowseNeighbourhoods","synthetic":true,"types":["ltn::browse::BrowseNeighbourhoods"]},{"text":"impl Unpin for Style","synthetic":true,"types":["ltn::browse::Style"]},{"text":"impl Unpin for CELLS","synthetic":true,"types":["ltn::colors::CELLS"]},{"text":"impl Unpin for FILTER_OUTER","synthetic":true,"types":["ltn::colors::FILTER_OUTER"]},{"text":"impl Unpin for FILTER_INNER","synthetic":true,"types":["ltn::colors::FILTER_INNER"]},{"text":"impl Unpin for PLAN_ROUTE_BEFORE","synthetic":true,"types":["ltn::colors::PLAN_ROUTE_BEFORE"]},{"text":"impl Unpin for PLAN_ROUTE_AFTER","synthetic":true,"types":["ltn::colors::PLAN_ROUTE_AFTER"]},{"text":"impl Unpin for PLAN_ROUTE_BIKE","synthetic":true,"types":["ltn::colors::PLAN_ROUTE_BIKE"]},{"text":"impl Unpin for PLAN_ROUTE_WALK","synthetic":true,"types":["ltn::colors::PLAN_ROUTE_WALK"]},{"text":"impl Unpin for About","synthetic":true,"types":["ltn::components::about::About"]},{"text":"impl Unpin for FreehandFilters","synthetic":true,"types":["ltn::components::freehand_filters::FreehandFilters"]},{"text":"impl Unpin for LeftPanel","synthetic":true,"types":["ltn::components::left_panel::LeftPanel"]},{"text":"impl Unpin for TopPanel","synthetic":true,"types":["ltn::components::top_panel::TopPanel"]},{"text":"impl Unpin for Viewer","synthetic":true,"types":["ltn::connectivity::Viewer"]},{"text":"impl Unpin for CustomizeBoundary","synthetic":true,"types":["ltn::customize_boundary::CustomizeBoundary"]},{"text":"impl Unpin for RenderCells","synthetic":true,"types":["ltn::draw_cells::RenderCells"]},{"text":"impl Unpin for RenderCellsBuilder","synthetic":true,"types":["ltn::draw_cells::RenderCellsBuilder"]},{"text":"impl Unpin for Tab","synthetic":true,"types":["ltn::edit::Tab"]},{"text":"impl Unpin for EditNeighbourhood","synthetic":true,"types":["ltn::edit::EditNeighbourhood"]},{"text":"impl Unpin for Obj","synthetic":true,"types":["ltn::edit::Obj"]},{"text":"impl Unpin for EditOutcome","synthetic":true,"types":["ltn::edit::EditOutcome"]},{"text":"impl Unpin for Heuristic","synthetic":true,"types":["ltn::filters::auto::Heuristic"]},{"text":"impl Unpin for ModalFilters","synthetic":true,"types":["ltn::filters::ModalFilters"]},{"text":"impl Unpin for ChangeKey","synthetic":true,"types":["ltn::filters::ChangeKey"]},{"text":"impl Unpin for DiagonalFilter","synthetic":true,"types":["ltn::filters::DiagonalFilter"]},{"text":"impl Unpin for Toggle3Zoomed","synthetic":true,"types":["ltn::filters::Toggle3Zoomed"]},{"text":"impl Unpin for ShowResults","synthetic":true,"types":["ltn::impact::ui::ShowResults"]},{"text":"impl Unpin for ChangedRoutes","synthetic":true,"types":["ltn::impact::ui::ChangedRoutes"]},{"text":"impl Unpin for Impact","synthetic":true,"types":["ltn::impact::Impact"]},{"text":"impl Unpin for Filters","synthetic":true,"types":["ltn::impact::Filters"]},{"text":"impl Unpin for Neighbourhood","synthetic":true,"types":["ltn::neighbourhood::Neighbourhood"]},{"text":"impl Unpin for Cell","synthetic":true,"types":["ltn::neighbourhood::Cell"]},{"text":"impl Unpin for DistanceInterval","synthetic":true,"types":["ltn::neighbourhood::DistanceInterval"]},{"text":"impl Unpin for NeighbourhoodID","synthetic":true,"types":["ltn::partition::NeighbourhoodID"]},{"text":"impl Unpin for BlockID","synthetic":true,"types":["ltn::partition::BlockID"]},{"text":"impl Unpin for Partitioning","synthetic":true,"types":["ltn::partition::Partitioning"]},{"text":"impl Unpin for NeighbourhoodInfo","synthetic":true,"types":["ltn::partition::NeighbourhoodInfo"]},{"text":"impl Unpin for RoutePlanner","synthetic":true,"types":["ltn::route_planner::RoutePlanner"]},{"text":"impl Unpin for Proposal","synthetic":true,"types":["ltn::save::Proposal"]},{"text":"impl Unpin for AltProposals","synthetic":true,"types":["ltn::save::AltProposals"]},{"text":"impl Unpin for PreserveState","synthetic":true,"types":["ltn::save::PreserveState"]},{"text":"impl Unpin for SelectBoundary","synthetic":true,"types":["ltn::select_boundary::SelectBoundary"]},{"text":"impl Unpin for BrowseShortcuts","synthetic":true,"types":["ltn::shortcut_viewer::BrowseShortcuts"]},{"text":"impl Unpin for Shortcuts","synthetic":true,"types":["ltn::shortcuts::Shortcuts"]},{"text":"impl Unpin for EntryExit","synthetic":true,"types":["ltn::shortcuts::EntryExit"]},{"text":"impl Unpin for Args","synthetic":true,"types":["ltn::Args"]},{"text":"impl Unpin for Session","synthetic":true,"types":["ltn::Session"]}]; +implementors["ltn"] = [{"text":"impl Unpin for BrowseNeighbourhoods","synthetic":true,"types":["ltn::browse::BrowseNeighbourhoods"]},{"text":"impl Unpin for Style","synthetic":true,"types":["ltn::browse::Style"]},{"text":"impl Unpin for CELLS","synthetic":true,"types":["ltn::colors::CELLS"]},{"text":"impl Unpin for FILTER_OUTER","synthetic":true,"types":["ltn::colors::FILTER_OUTER"]},{"text":"impl Unpin for FILTER_INNER","synthetic":true,"types":["ltn::colors::FILTER_INNER"]},{"text":"impl Unpin for PLAN_ROUTE_BEFORE","synthetic":true,"types":["ltn::colors::PLAN_ROUTE_BEFORE"]},{"text":"impl Unpin for PLAN_ROUTE_AFTER","synthetic":true,"types":["ltn::colors::PLAN_ROUTE_AFTER"]},{"text":"impl Unpin for PLAN_ROUTE_BIKE","synthetic":true,"types":["ltn::colors::PLAN_ROUTE_BIKE"]},{"text":"impl Unpin for PLAN_ROUTE_WALK","synthetic":true,"types":["ltn::colors::PLAN_ROUTE_WALK"]},{"text":"impl Unpin for About","synthetic":true,"types":["ltn::components::about::About"]},{"text":"impl Unpin for LeftPanel","synthetic":true,"types":["ltn::components::left_panel::LeftPanel"]},{"text":"impl Unpin for TopPanel","synthetic":true,"types":["ltn::components::top_panel::TopPanel"]},{"text":"impl Unpin for Viewer","synthetic":true,"types":["ltn::connectivity::Viewer"]},{"text":"impl Unpin for CustomizeBoundary","synthetic":true,"types":["ltn::customize_boundary::CustomizeBoundary"]},{"text":"impl Unpin for RenderCells","synthetic":true,"types":["ltn::draw_cells::RenderCells"]},{"text":"impl Unpin for RenderCellsBuilder","synthetic":true,"types":["ltn::draw_cells::RenderCellsBuilder"]},{"text":"impl Unpin for FocusedRoad","synthetic":true,"types":["ltn::edit::shortcuts::FocusedRoad"]},{"text":"impl Unpin for EditMode","synthetic":true,"types":["ltn::edit::EditMode"]},{"text":"impl Unpin for EditNeighbourhood","synthetic":true,"types":["ltn::edit::EditNeighbourhood"]},{"text":"impl Unpin for Obj","synthetic":true,"types":["ltn::edit::Obj"]},{"text":"impl Unpin for EditOutcome","synthetic":true,"types":["ltn::edit::EditOutcome"]},{"text":"impl Unpin for Heuristic","synthetic":true,"types":["ltn::filters::auto::Heuristic"]},{"text":"impl Unpin for ModalFilters","synthetic":true,"types":["ltn::filters::ModalFilters"]},{"text":"impl Unpin for ChangeKey","synthetic":true,"types":["ltn::filters::ChangeKey"]},{"text":"impl Unpin for DiagonalFilter","synthetic":true,"types":["ltn::filters::DiagonalFilter"]},{"text":"impl Unpin for Toggle3Zoomed","synthetic":true,"types":["ltn::filters::Toggle3Zoomed"]},{"text":"impl Unpin for ShowResults","synthetic":true,"types":["ltn::impact::ui::ShowResults"]},{"text":"impl Unpin for ChangedRoutes","synthetic":true,"types":["ltn::impact::ui::ChangedRoutes"]},{"text":"impl Unpin for Impact","synthetic":true,"types":["ltn::impact::Impact"]},{"text":"impl Unpin for Filters","synthetic":true,"types":["ltn::impact::Filters"]},{"text":"impl Unpin for Neighbourhood","synthetic":true,"types":["ltn::neighbourhood::Neighbourhood"]},{"text":"impl Unpin for Cell","synthetic":true,"types":["ltn::neighbourhood::Cell"]},{"text":"impl Unpin for DistanceInterval","synthetic":true,"types":["ltn::neighbourhood::DistanceInterval"]},{"text":"impl Unpin for NeighbourhoodID","synthetic":true,"types":["ltn::partition::NeighbourhoodID"]},{"text":"impl Unpin for BlockID","synthetic":true,"types":["ltn::partition::BlockID"]},{"text":"impl Unpin for Partitioning","synthetic":true,"types":["ltn::partition::Partitioning"]},{"text":"impl Unpin for NeighbourhoodInfo","synthetic":true,"types":["ltn::partition::NeighbourhoodInfo"]},{"text":"impl Unpin for RoutePlanner","synthetic":true,"types":["ltn::route_planner::RoutePlanner"]},{"text":"impl Unpin for Proposal","synthetic":true,"types":["ltn::save::Proposal"]},{"text":"impl Unpin for AltProposals","synthetic":true,"types":["ltn::save::AltProposals"]},{"text":"impl Unpin for PreserveState","synthetic":true,"types":["ltn::save::PreserveState"]},{"text":"impl Unpin for SelectBoundary","synthetic":true,"types":["ltn::select_boundary::SelectBoundary"]},{"text":"impl Unpin for Shortcuts","synthetic":true,"types":["ltn::shortcuts::Shortcuts"]},{"text":"impl Unpin for EntryExit","synthetic":true,"types":["ltn::shortcuts::EntryExit"]},{"text":"impl Unpin for Args","synthetic":true,"types":["ltn::Args"]},{"text":"impl Unpin for Session","synthetic":true,"types":["ltn::Session"]}]; implementors["map_editor"] = [{"text":"impl Unpin for App","synthetic":true,"types":["map_editor::app::App"]},{"text":"impl Unpin for MainState","synthetic":true,"types":["map_editor::app::MainState"]},{"text":"impl Unpin for Mode","synthetic":true,"types":["map_editor::app::Mode"]},{"text":"impl Unpin for CameraState","synthetic":true,"types":["map_editor::camera::CameraState"]},{"text":"impl Unpin for DefaultMap","synthetic":true,"types":["map_editor::camera::DefaultMap"]},{"text":"impl Unpin for EditRoad","synthetic":true,"types":["map_editor::edit::EditRoad"]},{"text":"impl Unpin for PickMap","synthetic":true,"types":["map_editor::load::PickMap"]},{"text":"impl Unpin for Model","synthetic":true,"types":["map_editor::model::Model"]},{"text":"impl Unpin for ID","synthetic":true,"types":["map_editor::model::ID"]},{"text":"impl Unpin for Args","synthetic":true,"types":["map_editor::Args"]}]; implementors["map_gui"] = [{"text":"impl Unpin for ColorSchemeChoice","synthetic":true,"types":["map_gui::colors::ColorSchemeChoice"]},{"text":"impl Unpin for ColorScheme","synthetic":true,"types":["map_gui::colors::ColorScheme"]},{"text":"impl Unpin for MapLoader","synthetic":true,"types":["map_gui::load::MapLoader"]},{"text":"impl<A> Unpin for MapAlreadyLoaded<A>","synthetic":true,"types":["map_gui::load::MapAlreadyLoaded"]},{"text":"impl Unpin for Options","synthetic":true,"types":["map_gui::options::Options"]},{"text":"impl Unpin for TrafficSignalStyle","synthetic":true,"types":["map_gui::options::TrafficSignalStyle"]},{"text":"impl Unpin for CameraAngle","synthetic":true,"types":["map_gui::options::CameraAngle"]},{"text":"impl Unpin for OptionsPanel","synthetic":true,"types":["map_gui::options::OptionsPanel"]},{"text":"impl Unpin for AgentCache","synthetic":true,"types":["map_gui::render::agents::AgentCache"]},{"text":"impl Unpin for UnzoomedAgents","synthetic":true,"types":["map_gui::render::agents::UnzoomedAgents"]},{"text":"impl Unpin for DrawArea","synthetic":true,"types":["map_gui::render::area::DrawArea"]},{"text":"impl Unpin for DrawBike","synthetic":true,"types":["map_gui::render::bike::DrawBike"]},{"text":"impl Unpin for DrawBuilding","synthetic":true,"types":["map_gui::render::building::DrawBuilding"]},{"text":"impl Unpin for DrawCar","synthetic":true,"types":["map_gui::render::car::DrawCar"]},{"text":"impl Unpin for DrawIntersection","synthetic":true,"types":["map_gui::render::intersection::DrawIntersection"]},{"text":"impl Unpin for DrawLane","synthetic":true,"types":["map_gui::render::lane::DrawLane"]},{"text":"impl Unpin for DrawMap","synthetic":true,"types":["map_gui::render::map::DrawMap"]},{"text":"impl Unpin for DrawParkingLot","synthetic":true,"types":["map_gui::render::parking_lot::DrawParkingLot"]},{"text":"impl Unpin for DrawPedestrian","synthetic":true,"types":["map_gui::render::pedestrian::DrawPedestrian"]},{"text":"impl Unpin for DrawPedCrowd","synthetic":true,"types":["map_gui::render::pedestrian::DrawPedCrowd"]},{"text":"impl Unpin for DrawRoad","synthetic":true,"types":["map_gui::render::road::DrawRoad"]},{"text":"impl Unpin for DrawTransitStop","synthetic":true,"types":["map_gui::render::transit_stop::DrawTransitStop"]},{"text":"impl Unpin for DrawMovement","synthetic":true,"types":["map_gui::render::turn::DrawMovement"]},{"text":"impl Unpin for DrawOptions","synthetic":true,"types":["map_gui::render::DrawOptions"]},{"text":"impl<T> Unpin for SimpleApp<T> where
    T: Unpin
","synthetic":true,"types":["map_gui::simple_app::SimpleApp"]},{"text":"impl Unpin for SimpleAppArgs","synthetic":true,"types":["map_gui::simple_app::SimpleAppArgs"]},{"text":"impl Unpin for SimpleWarper","synthetic":true,"types":["map_gui::simple_app::SimpleWarper"]},{"text":"impl Unpin for CameraState","synthetic":true,"types":["map_gui::tools::camera::CameraState"]},{"text":"impl Unpin for DefaultMap","synthetic":true,"types":["map_gui::tools::camera::DefaultMap"]},{"text":"impl<A> Unpin for CityPicker<A>","synthetic":true,"types":["map_gui::tools::city_picker::CityPicker"]},{"text":"impl<A> Unpin for AllCityPicker<A>","synthetic":true,"types":["map_gui::tools::city_picker::AllCityPicker"]},{"text":"impl<A> Unpin for CitiesInCountryPicker<A>","synthetic":true,"types":["map_gui::tools::city_picker::CitiesInCountryPicker"]},{"text":"impl<'a> Unpin for ColorDiscrete<'a>","synthetic":true,"types":["map_gui::tools::colors::ColorDiscrete"]},{"text":"impl Unpin for ColorLegend","synthetic":true,"types":["map_gui::tools::colors::ColorLegend"]},{"text":"impl Unpin for DivergingScale","synthetic":true,"types":["map_gui::tools::colors::DivergingScale"]},{"text":"impl<'a> Unpin for ColorNetwork<'a>","synthetic":true,"types":["map_gui::tools::colors::ColorNetwork"]},{"text":"impl Unpin for ColorScale","synthetic":true,"types":["map_gui::tools::colors::ColorScale"]},{"text":"impl<A> Unpin for RunCommand<A>","synthetic":true,"types":["map_gui::tools::command::RunCommand"]},{"text":"impl Unpin for CompareCounts","synthetic":true,"types":["map_gui::tools::compare_counts::CompareCounts"]},{"text":"impl Unpin for Obj","synthetic":true,"types":["map_gui::tools::compare_counts::Obj"]},{"text":"impl Unpin for Layer","synthetic":true,"types":["map_gui::tools::compare_counts::Layer"]},{"text":"impl Unpin for HeatmapOptions","synthetic":true,"types":["map_gui::tools::heatmap::HeatmapOptions"]},{"text":"impl<T> Unpin for Grid<T> where
    T: Unpin
","synthetic":true,"types":["map_gui::tools::heatmap::Grid"]},{"text":"impl<A> Unpin for ImportCity<A>","synthetic":true,"types":["map_gui::tools::importer::ImportCity"]},{"text":"impl Unpin for DrawRoadLabels","synthetic":true,"types":["map_gui::tools::labels::DrawRoadLabels"]},{"text":"impl Unpin for PerZoom","synthetic":true,"types":["map_gui::tools::labels::PerZoom"]},{"text":"impl<A, T> Unpin for Minimap<A, T> where
    A: Unpin,
    T: Unpin
","synthetic":true,"types":["map_gui::tools::minimap::Minimap"]},{"text":"impl Unpin for Navigator","synthetic":true,"types":["map_gui::tools::navigate::Navigator"]},{"text":"impl Unpin for CrossStreet","synthetic":true,"types":["map_gui::tools::navigate::CrossStreet"]},{"text":"impl Unpin for SearchBuildings","synthetic":true,"types":["map_gui::tools::navigate::SearchBuildings"]},{"text":"impl Unpin for EditPolygon","synthetic":true,"types":["map_gui::tools::polygon::EditPolygon"]},{"text":"impl Unpin for Obj","synthetic":true,"types":["map_gui::tools::polygon::Obj"]},{"text":"impl<A> Unpin for TitleScreen<A>","synthetic":true,"types":["map_gui::tools::title_screen::TitleScreen"]},{"text":"impl Unpin for Executable","synthetic":true,"types":["map_gui::tools::title_screen::Executable"]},{"text":"impl<A, S> Unpin for TripManagement<A, S> where
    A: Unpin,
    S: Unpin
","synthetic":true,"types":["map_gui::tools::trip_files::TripManagement"]},{"text":"impl Unpin for NamedTrip","synthetic":true,"types":["map_gui::tools::trip_files::NamedTrip"]},{"text":"impl Unpin for SavedTrips","synthetic":true,"types":["map_gui::tools::trip_files::SavedTrips"]},{"text":"impl<A, S> !Unpin for RenameTrip<A, S>","synthetic":true,"types":["map_gui::tools::trip_files::RenameTrip"]},{"text":"impl Unpin for TurnExplorer","synthetic":true,"types":["map_gui::tools::turn_explorer::TurnExplorer"]},{"text":"impl Unpin for FilePicker","synthetic":true,"types":["map_gui::tools::ui::FilePicker"]},{"text":"impl Unpin for InputWaypoints","synthetic":true,"types":["map_gui::tools::waypoints::InputWaypoints"]},{"text":"impl Unpin for WaypointID","synthetic":true,"types":["map_gui::tools::waypoints::WaypointID"]},{"text":"impl Unpin for Waypoint","synthetic":true,"types":["map_gui::tools::waypoints::Waypoint"]},{"text":"impl Unpin for ID","synthetic":true,"types":["map_gui::ID"]}]; implementors["map_model"] = [{"text":"impl Unpin for City","synthetic":true,"types":["map_model::city::City"]},{"text":"impl Unpin for WalkingOptions","synthetic":true,"types":["map_model::connectivity::walking::WalkingOptions"]},{"text":"impl Unpin for Item","synthetic":true,"types":["map_model::connectivity::walking::Item"]},{"text":"impl Unpin for WalkingNode","synthetic":true,"types":["map_model::pathfind::walking::WalkingNode"]},{"text":"impl Unpin for Spot","synthetic":true,"types":["map_model::connectivity::Spot"]},{"text":"impl Unpin for Item","synthetic":true,"types":["map_model::connectivity::Item"]},{"text":"impl Unpin for OriginalLane","synthetic":true,"types":["map_model::edits::compat::OriginalLane"]},{"text":"impl Unpin for ChangeLaneType","synthetic":true,"types":["map_model::edits::compat::ChangeLaneType"]},{"text":"impl Unpin for ReverseLane","synthetic":true,"types":["map_model::edits::compat::ReverseLane"]},{"text":"impl Unpin for ChangeSpeedLimit","synthetic":true,"types":["map_model::edits::compat::ChangeSpeedLimit"]},{"text":"impl Unpin for ChangeAccessRestrictions","synthetic":true,"types":["map_model::edits::compat::ChangeAccessRestrictions"]},{"text":"impl Unpin for PermanentMapEdits","synthetic":true,"types":["map_model::edits::perma::PermanentMapEdits"]},{"text":"impl Unpin for PermanentEditIntersection","synthetic":true,"types":["map_model::edits::perma::PermanentEditIntersection"]},{"text":"impl Unpin for PermanentEditCrosswalks","synthetic":true,"types":["map_model::edits::perma::PermanentEditCrosswalks"]},{"text":"impl Unpin for PermanentEditCmd","synthetic":true,"types":["map_model::edits::perma::PermanentEditCmd"]},{"text":"impl Unpin for MapEdits","synthetic":true,"types":["map_model::edits::MapEdits"]},{"text":"impl Unpin for EditIntersection","synthetic":true,"types":["map_model::edits::EditIntersection"]},{"text":"impl Unpin for EditRoad","synthetic":true,"types":["map_model::edits::EditRoad"]},{"text":"impl Unpin for EditCrosswalks","synthetic":true,"types":["map_model::edits::EditCrosswalks"]},{"text":"impl Unpin for EditCmd","synthetic":true,"types":["map_model::edits::EditCmd"]},{"text":"impl Unpin for EditEffects","synthetic":true,"types":["map_model::edits::EditEffects"]},{"text":"impl Unpin for BorderSnapper","synthetic":true,"types":["map_model::make::transit::BorderSnapper"]},{"text":"impl Unpin for RawToMapOptions","synthetic":true,"types":["map_model::make::RawToMapOptions"]},{"text":"impl Unpin for AreaID","synthetic":true,"types":["map_model::objects::area::AreaID"]},{"text":"impl Unpin for Area","synthetic":true,"types":["map_model::objects::area::Area"]},{"text":"impl Unpin for Block","synthetic":true,"types":["map_model::objects::block::Block"]},{"text":"impl Unpin for Perimeter","synthetic":true,"types":["map_model::objects::block::Perimeter"]},{"text":"impl Unpin for BuildingID","synthetic":true,"types":["map_model::objects::building::BuildingID"]},{"text":"impl Unpin for Building","synthetic":true,"types":["map_model::objects::building::Building"]},{"text":"impl Unpin for OffstreetParking","synthetic":true,"types":["map_model::objects::building::OffstreetParking"]},{"text":"impl Unpin for BuildingType","synthetic":true,"types":["map_model::objects::building::BuildingType"]},{"text":"impl Unpin for IntersectionID","synthetic":true,"types":["map_model::objects::intersection::IntersectionID"]},{"text":"impl Unpin for Intersection","synthetic":true,"types":["map_model::objects::intersection::Intersection"]},{"text":"impl Unpin for LaneID","synthetic":true,"types":["map_model::objects::lane::LaneID"]},{"text":"impl Unpin for Lane","synthetic":true,"types":["map_model::objects::lane::Lane"]},{"text":"impl Unpin for CommonEndpoint","synthetic":true,"types":["map_model::objects::lane::CommonEndpoint"]},{"text":"impl Unpin for MovementID","synthetic":true,"types":["map_model::objects::movement::MovementID"]},{"text":"impl Unpin for CompressedMovementID","synthetic":true,"types":["map_model::objects::movement::CompressedMovementID"]},{"text":"impl Unpin for Movement","synthetic":true,"types":["map_model::objects::movement::Movement"]},{"text":"impl Unpin for ParkingLotID","synthetic":true,"types":["map_model::objects::parking_lot::ParkingLotID"]},{"text":"impl Unpin for ParkingLot","synthetic":true,"types":["map_model::objects::parking_lot::ParkingLot"]},{"text":"impl Unpin for RoadID","synthetic":true,"types":["map_model::objects::road::RoadID"]},{"text":"impl Unpin for DirectedRoadID","synthetic":true,"types":["map_model::objects::road::DirectedRoadID"]},{"text":"impl Unpin for SideOfRoad","synthetic":true,"types":["map_model::objects::road::SideOfRoad"]},{"text":"impl Unpin for RoadSideID","synthetic":true,"types":["map_model::objects::road::RoadSideID"]},{"text":"impl Unpin for Road","synthetic":true,"types":["map_model::objects::road::Road"]},{"text":"impl Unpin for ControlStopSign","synthetic":true,"types":["map_model::objects::stop_signs::ControlStopSign"]},{"text":"impl Unpin for RoadWithStopSign","synthetic":true,"types":["map_model::objects::stop_signs::RoadWithStopSign"]},{"text":"impl Unpin for ControlTrafficSignal","synthetic":true,"types":["map_model::objects::traffic_signals::ControlTrafficSignal"]},{"text":"impl Unpin for Stage","synthetic":true,"types":["map_model::objects::traffic_signals::Stage"]},{"text":"impl Unpin for StageType","synthetic":true,"types":["map_model::objects::traffic_signals::StageType"]},{"text":"impl Unpin for TransitStopID","synthetic":true,"types":["map_model::objects::transit::TransitStopID"]},{"text":"impl Unpin for TransitRouteID","synthetic":true,"types":["map_model::objects::transit::TransitRouteID"]},{"text":"impl Unpin for TransitStop","synthetic":true,"types":["map_model::objects::transit::TransitStop"]},{"text":"impl Unpin for TransitRoute","synthetic":true,"types":["map_model::objects::transit::TransitRoute"]},{"text":"impl Unpin for TurnID","synthetic":true,"types":["map_model::objects::turn::TurnID"]},{"text":"impl Unpin for TurnType","synthetic":true,"types":["map_model::objects::turn::TurnType"]},{"text":"impl Unpin for TurnPriority","synthetic":true,"types":["map_model::objects::turn::TurnPriority"]},{"text":"impl Unpin for Turn","synthetic":true,"types":["map_model::objects::turn::Turn"]},{"text":"impl Unpin for AccessRestrictions","synthetic":true,"types":["map_model::objects::zone::AccessRestrictions"]},{"text":"impl Unpin for Zone","synthetic":true,"types":["map_model::objects::zone::Zone"]},{"text":"impl Unpin for PathfindEngine","synthetic":true,"types":["map_model::pathfind::engine::PathfindEngine"]},{"text":"impl<'a> Unpin for CreateEngine<'a>","synthetic":true,"types":["map_model::pathfind::engine::CreateEngine"]},{"text":"impl<T> Unpin for NodeMap<T> where
    T: Unpin
","synthetic":true,"types":["map_model::pathfind::node_map::NodeMap"]},{"text":"impl<T> Unpin for InnerNodeMap<T> where
    T: Unpin
","synthetic":true,"types":["map_model::pathfind::node_map::InnerNodeMap"]},{"text":"impl Unpin for Pathfinder","synthetic":true,"types":["map_model::pathfind::pathfinder::Pathfinder"]},{"text":"impl Unpin for PathfinderCaching","synthetic":true,"types":["map_model::pathfind::pathfinder::PathfinderCaching"]},{"text":"impl Unpin for PathfinderCache","synthetic":true,"types":["map_model::pathfind::pathfinder::PathfinderCache"]},{"text":"impl Unpin for IntersectionCluster","synthetic":true,"types":["map_model::pathfind::uber_turns::IntersectionCluster"]},{"text":"impl Unpin for UberTurn","synthetic":true,"types":["map_model::pathfind::uber_turns::UberTurn"]},{"text":"impl Unpin for UberTurnV2","synthetic":true,"types":["map_model::pathfind::uber_turns::UberTurnV2"]},{"text":"impl Unpin for PathStep","synthetic":true,"types":["map_model::pathfind::v1::PathStep"]},{"text":"impl Unpin for Path","synthetic":true,"types":["map_model::pathfind::v1::Path"]},{"text":"impl Unpin for PathRequest","synthetic":true,"types":["map_model::pathfind::v1::PathRequest"]},{"text":"impl Unpin for PathStepV2","synthetic":true,"types":["map_model::pathfind::v2::PathStepV2"]},{"text":"impl Unpin for PathV2","synthetic":true,"types":["map_model::pathfind::v2::PathV2"]},{"text":"impl Unpin for VehiclePathfinder","synthetic":true,"types":["map_model::pathfind::vehicles::VehiclePathfinder"]},{"text":"impl Unpin for Node","synthetic":true,"types":["map_model::pathfind::vehicles::Node"]},{"text":"impl Unpin for SidewalkPathfinder","synthetic":true,"types":["map_model::pathfind::walking::SidewalkPathfinder"]},{"text":"impl Unpin for PathConstraints","synthetic":true,"types":["map_model::pathfind::PathConstraints"]},{"text":"impl Unpin for RoutingParams","synthetic":true,"types":["map_model::pathfind::RoutingParams"]},{"text":"impl Unpin for Position","synthetic":true,"types":["map_model::traversable::Position"]},{"text":"impl Unpin for Traversable","synthetic":true,"types":["map_model::traversable::Traversable"]},{"text":"impl Unpin for Map","synthetic":true,"types":["map_model::Map"]}]; diff --git a/rustdoc/implementors/core/panic/unwind_safe/trait.RefUnwindSafe.js b/rustdoc/implementors/core/panic/unwind_safe/trait.RefUnwindSafe.js index 3f004f9700..d0dee9719c 100644 --- a/rustdoc/implementors/core/panic/unwind_safe/trait.RefUnwindSafe.js +++ b/rustdoc/implementors/core/panic/unwind_safe/trait.RefUnwindSafe.js @@ -10,7 +10,7 @@ implementors["geom"] = [{"text":"impl RefUnwindSafe for MAP","synthetic":true,"types":["headless::MAP"]},{"text":"impl RefUnwindSafe for SIM","synthetic":true,"types":["headless::SIM"]},{"text":"impl RefUnwindSafe for LOAD","synthetic":true,"types":["headless::LOAD"]},{"text":"impl RefUnwindSafe for Args","synthetic":true,"types":["headless::Args"]},{"text":"impl RefUnwindSafe for FinishedTrip","synthetic":true,"types":["headless::FinishedTrip"]},{"text":"impl RefUnwindSafe for Delays","synthetic":true,"types":["headless::Delays"]},{"text":"impl RefUnwindSafe for Throughput","synthetic":true,"types":["headless::Throughput"]},{"text":"impl RefUnwindSafe for AgentPositions","synthetic":true,"types":["headless::AgentPositions"]},{"text":"impl RefUnwindSafe for AgentPosition","synthetic":true,"types":["headless::AgentPosition"]},{"text":"impl RefUnwindSafe for RoadThroughput","synthetic":true,"types":["headless::RoadThroughput"]},{"text":"impl RefUnwindSafe for TrafficSignalState","synthetic":true,"types":["headless::TrafficSignalState"]},{"text":"impl RefUnwindSafe for BlockedByGraph","synthetic":true,"types":["headless::BlockedByGraph"]},{"text":"impl RefUnwindSafe for LoadSim","synthetic":true,"types":["headless::LoadSim"]}]; implementors["importer"] = [{"text":"impl RefUnwindSafe for Record","synthetic":true,"types":["importer::berlin::Record"]},{"text":"impl RefUnwindSafe for ImporterConfiguration","synthetic":true,"types":["importer::configuration::ImporterConfiguration"]},{"text":"impl RefUnwindSafe for PopDat","synthetic":true,"types":["importer::soundcast::popdat::PopDat"]},{"text":"impl RefUnwindSafe for RawTrip","synthetic":true,"types":["importer::soundcast::popdat::RawTrip"]},{"text":"impl RefUnwindSafe for RawParcel","synthetic":true,"types":["importer::soundcast::popdat::RawParcel"]},{"text":"impl RefUnwindSafe for OrigTrip","synthetic":true,"types":["importer::soundcast::popdat::OrigTrip"]},{"text":"impl RefUnwindSafe for Endpoint","synthetic":true,"types":["importer::soundcast::popdat::Endpoint"]},{"text":"impl RefUnwindSafe for Trip","synthetic":true,"types":["importer::soundcast::trips::Trip"]},{"text":"impl RefUnwindSafe for BorderSnapper","synthetic":true,"types":["importer::soundcast::trips::BorderSnapper"]},{"text":"impl RefUnwindSafe for Record","synthetic":true,"types":["importer::uk::Record"]},{"text":"impl RefUnwindSafe for Job","synthetic":true,"types":["importer::Job"]}]; implementors["kml"] = [{"text":"impl RefUnwindSafe for ExtraShapes","synthetic":true,"types":["kml::ExtraShapes"]},{"text":"impl RefUnwindSafe for ExtraShape","synthetic":true,"types":["kml::ExtraShape"]}]; -implementors["ltn"] = [{"text":"impl !RefUnwindSafe for BrowseNeighbourhoods","synthetic":true,"types":["ltn::browse::BrowseNeighbourhoods"]},{"text":"impl RefUnwindSafe for Style","synthetic":true,"types":["ltn::browse::Style"]},{"text":"impl RefUnwindSafe for CELLS","synthetic":true,"types":["ltn::colors::CELLS"]},{"text":"impl RefUnwindSafe for FILTER_OUTER","synthetic":true,"types":["ltn::colors::FILTER_OUTER"]},{"text":"impl RefUnwindSafe for FILTER_INNER","synthetic":true,"types":["ltn::colors::FILTER_INNER"]},{"text":"impl RefUnwindSafe for PLAN_ROUTE_BEFORE","synthetic":true,"types":["ltn::colors::PLAN_ROUTE_BEFORE"]},{"text":"impl RefUnwindSafe for PLAN_ROUTE_AFTER","synthetic":true,"types":["ltn::colors::PLAN_ROUTE_AFTER"]},{"text":"impl RefUnwindSafe for PLAN_ROUTE_BIKE","synthetic":true,"types":["ltn::colors::PLAN_ROUTE_BIKE"]},{"text":"impl RefUnwindSafe for PLAN_ROUTE_WALK","synthetic":true,"types":["ltn::colors::PLAN_ROUTE_WALK"]},{"text":"impl RefUnwindSafe for About","synthetic":true,"types":["ltn::components::about::About"]},{"text":"impl RefUnwindSafe for FreehandFilters","synthetic":true,"types":["ltn::components::freehand_filters::FreehandFilters"]},{"text":"impl RefUnwindSafe for LeftPanel","synthetic":true,"types":["ltn::components::left_panel::LeftPanel"]},{"text":"impl RefUnwindSafe for TopPanel","synthetic":true,"types":["ltn::components::top_panel::TopPanel"]},{"text":"impl !RefUnwindSafe for Viewer","synthetic":true,"types":["ltn::connectivity::Viewer"]},{"text":"impl !RefUnwindSafe for CustomizeBoundary","synthetic":true,"types":["ltn::customize_boundary::CustomizeBoundary"]},{"text":"impl RefUnwindSafe for RenderCells","synthetic":true,"types":["ltn::draw_cells::RenderCells"]},{"text":"impl RefUnwindSafe for RenderCellsBuilder","synthetic":true,"types":["ltn::draw_cells::RenderCellsBuilder"]},{"text":"impl RefUnwindSafe for Tab","synthetic":true,"types":["ltn::edit::Tab"]},{"text":"impl RefUnwindSafe for EditNeighbourhood","synthetic":true,"types":["ltn::edit::EditNeighbourhood"]},{"text":"impl RefUnwindSafe for Obj","synthetic":true,"types":["ltn::edit::Obj"]},{"text":"impl !RefUnwindSafe for EditOutcome","synthetic":true,"types":["ltn::edit::EditOutcome"]},{"text":"impl RefUnwindSafe for Heuristic","synthetic":true,"types":["ltn::filters::auto::Heuristic"]},{"text":"impl RefUnwindSafe for ModalFilters","synthetic":true,"types":["ltn::filters::ModalFilters"]},{"text":"impl RefUnwindSafe for ChangeKey","synthetic":true,"types":["ltn::filters::ChangeKey"]},{"text":"impl RefUnwindSafe for DiagonalFilter","synthetic":true,"types":["ltn::filters::DiagonalFilter"]},{"text":"impl !RefUnwindSafe for Toggle3Zoomed","synthetic":true,"types":["ltn::filters::Toggle3Zoomed"]},{"text":"impl !RefUnwindSafe for ShowResults","synthetic":true,"types":["ltn::impact::ui::ShowResults"]},{"text":"impl !RefUnwindSafe for ChangedRoutes","synthetic":true,"types":["ltn::impact::ui::ChangedRoutes"]},{"text":"impl RefUnwindSafe for Impact","synthetic":true,"types":["ltn::impact::Impact"]},{"text":"impl RefUnwindSafe for Filters","synthetic":true,"types":["ltn::impact::Filters"]},{"text":"impl !RefUnwindSafe for Neighbourhood","synthetic":true,"types":["ltn::neighbourhood::Neighbourhood"]},{"text":"impl RefUnwindSafe for Cell","synthetic":true,"types":["ltn::neighbourhood::Cell"]},{"text":"impl RefUnwindSafe for DistanceInterval","synthetic":true,"types":["ltn::neighbourhood::DistanceInterval"]},{"text":"impl RefUnwindSafe for NeighbourhoodID","synthetic":true,"types":["ltn::partition::NeighbourhoodID"]},{"text":"impl RefUnwindSafe for BlockID","synthetic":true,"types":["ltn::partition::BlockID"]},{"text":"impl RefUnwindSafe for Partitioning","synthetic":true,"types":["ltn::partition::Partitioning"]},{"text":"impl RefUnwindSafe for NeighbourhoodInfo","synthetic":true,"types":["ltn::partition::NeighbourhoodInfo"]},{"text":"impl !RefUnwindSafe for RoutePlanner","synthetic":true,"types":["ltn::route_planner::RoutePlanner"]},{"text":"impl RefUnwindSafe for Proposal","synthetic":true,"types":["ltn::save::Proposal"]},{"text":"impl RefUnwindSafe for AltProposals","synthetic":true,"types":["ltn::save::AltProposals"]},{"text":"impl RefUnwindSafe for PreserveState","synthetic":true,"types":["ltn::save::PreserveState"]},{"text":"impl !RefUnwindSafe for SelectBoundary","synthetic":true,"types":["ltn::select_boundary::SelectBoundary"]},{"text":"impl !RefUnwindSafe for BrowseShortcuts","synthetic":true,"types":["ltn::shortcut_viewer::BrowseShortcuts"]},{"text":"impl RefUnwindSafe for Shortcuts","synthetic":true,"types":["ltn::shortcuts::Shortcuts"]},{"text":"impl RefUnwindSafe for EntryExit","synthetic":true,"types":["ltn::shortcuts::EntryExit"]},{"text":"impl RefUnwindSafe for Args","synthetic":true,"types":["ltn::Args"]},{"text":"impl !RefUnwindSafe for Session","synthetic":true,"types":["ltn::Session"]}]; +implementors["ltn"] = [{"text":"impl !RefUnwindSafe for BrowseNeighbourhoods","synthetic":true,"types":["ltn::browse::BrowseNeighbourhoods"]},{"text":"impl RefUnwindSafe for Style","synthetic":true,"types":["ltn::browse::Style"]},{"text":"impl RefUnwindSafe for CELLS","synthetic":true,"types":["ltn::colors::CELLS"]},{"text":"impl RefUnwindSafe for FILTER_OUTER","synthetic":true,"types":["ltn::colors::FILTER_OUTER"]},{"text":"impl RefUnwindSafe for FILTER_INNER","synthetic":true,"types":["ltn::colors::FILTER_INNER"]},{"text":"impl RefUnwindSafe for PLAN_ROUTE_BEFORE","synthetic":true,"types":["ltn::colors::PLAN_ROUTE_BEFORE"]},{"text":"impl RefUnwindSafe for PLAN_ROUTE_AFTER","synthetic":true,"types":["ltn::colors::PLAN_ROUTE_AFTER"]},{"text":"impl RefUnwindSafe for PLAN_ROUTE_BIKE","synthetic":true,"types":["ltn::colors::PLAN_ROUTE_BIKE"]},{"text":"impl RefUnwindSafe for PLAN_ROUTE_WALK","synthetic":true,"types":["ltn::colors::PLAN_ROUTE_WALK"]},{"text":"impl RefUnwindSafe for About","synthetic":true,"types":["ltn::components::about::About"]},{"text":"impl RefUnwindSafe for LeftPanel","synthetic":true,"types":["ltn::components::left_panel::LeftPanel"]},{"text":"impl RefUnwindSafe for TopPanel","synthetic":true,"types":["ltn::components::top_panel::TopPanel"]},{"text":"impl !RefUnwindSafe for Viewer","synthetic":true,"types":["ltn::connectivity::Viewer"]},{"text":"impl !RefUnwindSafe for CustomizeBoundary","synthetic":true,"types":["ltn::customize_boundary::CustomizeBoundary"]},{"text":"impl RefUnwindSafe for RenderCells","synthetic":true,"types":["ltn::draw_cells::RenderCells"]},{"text":"impl RefUnwindSafe for RenderCellsBuilder","synthetic":true,"types":["ltn::draw_cells::RenderCellsBuilder"]},{"text":"impl RefUnwindSafe for FocusedRoad","synthetic":true,"types":["ltn::edit::shortcuts::FocusedRoad"]},{"text":"impl RefUnwindSafe for EditMode","synthetic":true,"types":["ltn::edit::EditMode"]},{"text":"impl RefUnwindSafe for EditNeighbourhood","synthetic":true,"types":["ltn::edit::EditNeighbourhood"]},{"text":"impl RefUnwindSafe for Obj","synthetic":true,"types":["ltn::edit::Obj"]},{"text":"impl !RefUnwindSafe for EditOutcome","synthetic":true,"types":["ltn::edit::EditOutcome"]},{"text":"impl RefUnwindSafe for Heuristic","synthetic":true,"types":["ltn::filters::auto::Heuristic"]},{"text":"impl RefUnwindSafe for ModalFilters","synthetic":true,"types":["ltn::filters::ModalFilters"]},{"text":"impl RefUnwindSafe for ChangeKey","synthetic":true,"types":["ltn::filters::ChangeKey"]},{"text":"impl RefUnwindSafe for DiagonalFilter","synthetic":true,"types":["ltn::filters::DiagonalFilter"]},{"text":"impl !RefUnwindSafe for Toggle3Zoomed","synthetic":true,"types":["ltn::filters::Toggle3Zoomed"]},{"text":"impl !RefUnwindSafe for ShowResults","synthetic":true,"types":["ltn::impact::ui::ShowResults"]},{"text":"impl !RefUnwindSafe for ChangedRoutes","synthetic":true,"types":["ltn::impact::ui::ChangedRoutes"]},{"text":"impl RefUnwindSafe for Impact","synthetic":true,"types":["ltn::impact::Impact"]},{"text":"impl RefUnwindSafe for Filters","synthetic":true,"types":["ltn::impact::Filters"]},{"text":"impl !RefUnwindSafe for Neighbourhood","synthetic":true,"types":["ltn::neighbourhood::Neighbourhood"]},{"text":"impl RefUnwindSafe for Cell","synthetic":true,"types":["ltn::neighbourhood::Cell"]},{"text":"impl RefUnwindSafe for DistanceInterval","synthetic":true,"types":["ltn::neighbourhood::DistanceInterval"]},{"text":"impl RefUnwindSafe for NeighbourhoodID","synthetic":true,"types":["ltn::partition::NeighbourhoodID"]},{"text":"impl RefUnwindSafe for BlockID","synthetic":true,"types":["ltn::partition::BlockID"]},{"text":"impl RefUnwindSafe for Partitioning","synthetic":true,"types":["ltn::partition::Partitioning"]},{"text":"impl RefUnwindSafe for NeighbourhoodInfo","synthetic":true,"types":["ltn::partition::NeighbourhoodInfo"]},{"text":"impl !RefUnwindSafe for RoutePlanner","synthetic":true,"types":["ltn::route_planner::RoutePlanner"]},{"text":"impl RefUnwindSafe for Proposal","synthetic":true,"types":["ltn::save::Proposal"]},{"text":"impl RefUnwindSafe for AltProposals","synthetic":true,"types":["ltn::save::AltProposals"]},{"text":"impl RefUnwindSafe for PreserveState","synthetic":true,"types":["ltn::save::PreserveState"]},{"text":"impl !RefUnwindSafe for SelectBoundary","synthetic":true,"types":["ltn::select_boundary::SelectBoundary"]},{"text":"impl RefUnwindSafe for Shortcuts","synthetic":true,"types":["ltn::shortcuts::Shortcuts"]},{"text":"impl RefUnwindSafe for EntryExit","synthetic":true,"types":["ltn::shortcuts::EntryExit"]},{"text":"impl RefUnwindSafe for Args","synthetic":true,"types":["ltn::Args"]},{"text":"impl !RefUnwindSafe for Session","synthetic":true,"types":["ltn::Session"]}]; implementors["map_editor"] = [{"text":"impl RefUnwindSafe for App","synthetic":true,"types":["map_editor::app::App"]},{"text":"impl !RefUnwindSafe for MainState","synthetic":true,"types":["map_editor::app::MainState"]},{"text":"impl RefUnwindSafe for Mode","synthetic":true,"types":["map_editor::app::Mode"]},{"text":"impl RefUnwindSafe for CameraState","synthetic":true,"types":["map_editor::camera::CameraState"]},{"text":"impl RefUnwindSafe for DefaultMap","synthetic":true,"types":["map_editor::camera::DefaultMap"]},{"text":"impl RefUnwindSafe for EditRoad","synthetic":true,"types":["map_editor::edit::EditRoad"]},{"text":"impl !RefUnwindSafe for PickMap","synthetic":true,"types":["map_editor::load::PickMap"]},{"text":"impl RefUnwindSafe for Model","synthetic":true,"types":["map_editor::model::Model"]},{"text":"impl RefUnwindSafe for ID","synthetic":true,"types":["map_editor::model::ID"]},{"text":"impl RefUnwindSafe for Args","synthetic":true,"types":["map_editor::Args"]}]; implementors["map_gui"] = [{"text":"impl RefUnwindSafe for ColorSchemeChoice","synthetic":true,"types":["map_gui::colors::ColorSchemeChoice"]},{"text":"impl RefUnwindSafe for ColorScheme","synthetic":true,"types":["map_gui::colors::ColorScheme"]},{"text":"impl RefUnwindSafe for MapLoader","synthetic":true,"types":["map_gui::load::MapLoader"]},{"text":"impl<A> !RefUnwindSafe for MapAlreadyLoaded<A>","synthetic":true,"types":["map_gui::load::MapAlreadyLoaded"]},{"text":"impl RefUnwindSafe for Options","synthetic":true,"types":["map_gui::options::Options"]},{"text":"impl RefUnwindSafe for TrafficSignalStyle","synthetic":true,"types":["map_gui::options::TrafficSignalStyle"]},{"text":"impl RefUnwindSafe for CameraAngle","synthetic":true,"types":["map_gui::options::CameraAngle"]},{"text":"impl !RefUnwindSafe for OptionsPanel","synthetic":true,"types":["map_gui::options::OptionsPanel"]},{"text":"impl !RefUnwindSafe for AgentCache","synthetic":true,"types":["map_gui::render::agents::AgentCache"]},{"text":"impl RefUnwindSafe for UnzoomedAgents","synthetic":true,"types":["map_gui::render::agents::UnzoomedAgents"]},{"text":"impl RefUnwindSafe for DrawArea","synthetic":true,"types":["map_gui::render::area::DrawArea"]},{"text":"impl RefUnwindSafe for DrawBike","synthetic":true,"types":["map_gui::render::bike::DrawBike"]},{"text":"impl !RefUnwindSafe for DrawBuilding","synthetic":true,"types":["map_gui::render::building::DrawBuilding"]},{"text":"impl RefUnwindSafe for DrawCar","synthetic":true,"types":["map_gui::render::car::DrawCar"]},{"text":"impl !RefUnwindSafe for DrawIntersection","synthetic":true,"types":["map_gui::render::intersection::DrawIntersection"]},{"text":"impl !RefUnwindSafe for DrawLane","synthetic":true,"types":["map_gui::render::lane::DrawLane"]},{"text":"impl !RefUnwindSafe for DrawMap","synthetic":true,"types":["map_gui::render::map::DrawMap"]},{"text":"impl !RefUnwindSafe for DrawParkingLot","synthetic":true,"types":["map_gui::render::parking_lot::DrawParkingLot"]},{"text":"impl RefUnwindSafe for DrawPedestrian","synthetic":true,"types":["map_gui::render::pedestrian::DrawPedestrian"]},{"text":"impl RefUnwindSafe for DrawPedCrowd","synthetic":true,"types":["map_gui::render::pedestrian::DrawPedCrowd"]},{"text":"impl !RefUnwindSafe for DrawRoad","synthetic":true,"types":["map_gui::render::road::DrawRoad"]},{"text":"impl RefUnwindSafe for DrawTransitStop","synthetic":true,"types":["map_gui::render::transit_stop::DrawTransitStop"]},{"text":"impl RefUnwindSafe for DrawMovement","synthetic":true,"types":["map_gui::render::turn::DrawMovement"]},{"text":"impl RefUnwindSafe for DrawOptions","synthetic":true,"types":["map_gui::render::DrawOptions"]},{"text":"impl<T> !RefUnwindSafe for SimpleApp<T>","synthetic":true,"types":["map_gui::simple_app::SimpleApp"]},{"text":"impl RefUnwindSafe for SimpleAppArgs","synthetic":true,"types":["map_gui::simple_app::SimpleAppArgs"]},{"text":"impl RefUnwindSafe for SimpleWarper","synthetic":true,"types":["map_gui::simple_app::SimpleWarper"]},{"text":"impl RefUnwindSafe for CameraState","synthetic":true,"types":["map_gui::tools::camera::CameraState"]},{"text":"impl RefUnwindSafe for DefaultMap","synthetic":true,"types":["map_gui::tools::camera::DefaultMap"]},{"text":"impl<A> !RefUnwindSafe for CityPicker<A>","synthetic":true,"types":["map_gui::tools::city_picker::CityPicker"]},{"text":"impl<A> !RefUnwindSafe for AllCityPicker<A>","synthetic":true,"types":["map_gui::tools::city_picker::AllCityPicker"]},{"text":"impl<A> !RefUnwindSafe for CitiesInCountryPicker<A>","synthetic":true,"types":["map_gui::tools::city_picker::CitiesInCountryPicker"]},{"text":"impl<'a> RefUnwindSafe for ColorDiscrete<'a>","synthetic":true,"types":["map_gui::tools::colors::ColorDiscrete"]},{"text":"impl RefUnwindSafe for ColorLegend","synthetic":true,"types":["map_gui::tools::colors::ColorLegend"]},{"text":"impl RefUnwindSafe for DivergingScale","synthetic":true,"types":["map_gui::tools::colors::DivergingScale"]},{"text":"impl<'a> RefUnwindSafe for ColorNetwork<'a>","synthetic":true,"types":["map_gui::tools::colors::ColorNetwork"]},{"text":"impl RefUnwindSafe for ColorScale","synthetic":true,"types":["map_gui::tools::colors::ColorScale"]},{"text":"impl<A> !RefUnwindSafe for RunCommand<A>","synthetic":true,"types":["map_gui::tools::command::RunCommand"]},{"text":"impl RefUnwindSafe for CompareCounts","synthetic":true,"types":["map_gui::tools::compare_counts::CompareCounts"]},{"text":"impl RefUnwindSafe for Obj","synthetic":true,"types":["map_gui::tools::compare_counts::Obj"]},{"text":"impl RefUnwindSafe for Layer","synthetic":true,"types":["map_gui::tools::compare_counts::Layer"]},{"text":"impl RefUnwindSafe for HeatmapOptions","synthetic":true,"types":["map_gui::tools::heatmap::HeatmapOptions"]},{"text":"impl<T> RefUnwindSafe for Grid<T> where
    T: RefUnwindSafe
","synthetic":true,"types":["map_gui::tools::heatmap::Grid"]},{"text":"impl<A> !RefUnwindSafe for ImportCity<A>","synthetic":true,"types":["map_gui::tools::importer::ImportCity"]},{"text":"impl !RefUnwindSafe for DrawRoadLabels","synthetic":true,"types":["map_gui::tools::labels::DrawRoadLabels"]},{"text":"impl RefUnwindSafe for PerZoom","synthetic":true,"types":["map_gui::tools::labels::PerZoom"]},{"text":"impl<A, T> !RefUnwindSafe for Minimap<A, T>","synthetic":true,"types":["map_gui::tools::minimap::Minimap"]},{"text":"impl !RefUnwindSafe for Navigator","synthetic":true,"types":["map_gui::tools::navigate::Navigator"]},{"text":"impl !RefUnwindSafe for CrossStreet","synthetic":true,"types":["map_gui::tools::navigate::CrossStreet"]},{"text":"impl !RefUnwindSafe for SearchBuildings","synthetic":true,"types":["map_gui::tools::navigate::SearchBuildings"]},{"text":"impl RefUnwindSafe for EditPolygon","synthetic":true,"types":["map_gui::tools::polygon::EditPolygon"]},{"text":"impl RefUnwindSafe for Obj","synthetic":true,"types":["map_gui::tools::polygon::Obj"]},{"text":"impl<A> !RefUnwindSafe for TitleScreen<A>","synthetic":true,"types":["map_gui::tools::title_screen::TitleScreen"]},{"text":"impl RefUnwindSafe for Executable","synthetic":true,"types":["map_gui::tools::title_screen::Executable"]},{"text":"impl<A, S> RefUnwindSafe for TripManagement<A, S> where
    A: RefUnwindSafe,
    S: RefUnwindSafe
","synthetic":true,"types":["map_gui::tools::trip_files::TripManagement"]},{"text":"impl RefUnwindSafe for NamedTrip","synthetic":true,"types":["map_gui::tools::trip_files::NamedTrip"]},{"text":"impl RefUnwindSafe for SavedTrips","synthetic":true,"types":["map_gui::tools::trip_files::SavedTrips"]},{"text":"impl<A, S> !RefUnwindSafe for RenameTrip<A, S>","synthetic":true,"types":["map_gui::tools::trip_files::RenameTrip"]},{"text":"impl !RefUnwindSafe for TurnExplorer","synthetic":true,"types":["map_gui::tools::turn_explorer::TurnExplorer"]},{"text":"impl RefUnwindSafe for FilePicker","synthetic":true,"types":["map_gui::tools::ui::FilePicker"]},{"text":"impl RefUnwindSafe for InputWaypoints","synthetic":true,"types":["map_gui::tools::waypoints::InputWaypoints"]},{"text":"impl RefUnwindSafe for WaypointID","synthetic":true,"types":["map_gui::tools::waypoints::WaypointID"]},{"text":"impl RefUnwindSafe for Waypoint","synthetic":true,"types":["map_gui::tools::waypoints::Waypoint"]},{"text":"impl RefUnwindSafe for ID","synthetic":true,"types":["map_gui::ID"]}]; implementors["map_model"] = [{"text":"impl RefUnwindSafe for City","synthetic":true,"types":["map_model::city::City"]},{"text":"impl RefUnwindSafe for WalkingOptions","synthetic":true,"types":["map_model::connectivity::walking::WalkingOptions"]},{"text":"impl RefUnwindSafe for Item","synthetic":true,"types":["map_model::connectivity::walking::Item"]},{"text":"impl RefUnwindSafe for WalkingNode","synthetic":true,"types":["map_model::pathfind::walking::WalkingNode"]},{"text":"impl RefUnwindSafe for Spot","synthetic":true,"types":["map_model::connectivity::Spot"]},{"text":"impl RefUnwindSafe for Item","synthetic":true,"types":["map_model::connectivity::Item"]},{"text":"impl RefUnwindSafe for OriginalLane","synthetic":true,"types":["map_model::edits::compat::OriginalLane"]},{"text":"impl RefUnwindSafe for ChangeLaneType","synthetic":true,"types":["map_model::edits::compat::ChangeLaneType"]},{"text":"impl RefUnwindSafe for ReverseLane","synthetic":true,"types":["map_model::edits::compat::ReverseLane"]},{"text":"impl RefUnwindSafe for ChangeSpeedLimit","synthetic":true,"types":["map_model::edits::compat::ChangeSpeedLimit"]},{"text":"impl RefUnwindSafe for ChangeAccessRestrictions","synthetic":true,"types":["map_model::edits::compat::ChangeAccessRestrictions"]},{"text":"impl RefUnwindSafe for PermanentMapEdits","synthetic":true,"types":["map_model::edits::perma::PermanentMapEdits"]},{"text":"impl RefUnwindSafe for PermanentEditIntersection","synthetic":true,"types":["map_model::edits::perma::PermanentEditIntersection"]},{"text":"impl RefUnwindSafe for PermanentEditCrosswalks","synthetic":true,"types":["map_model::edits::perma::PermanentEditCrosswalks"]},{"text":"impl RefUnwindSafe for PermanentEditCmd","synthetic":true,"types":["map_model::edits::perma::PermanentEditCmd"]},{"text":"impl RefUnwindSafe for MapEdits","synthetic":true,"types":["map_model::edits::MapEdits"]},{"text":"impl RefUnwindSafe for EditIntersection","synthetic":true,"types":["map_model::edits::EditIntersection"]},{"text":"impl RefUnwindSafe for EditRoad","synthetic":true,"types":["map_model::edits::EditRoad"]},{"text":"impl RefUnwindSafe for EditCrosswalks","synthetic":true,"types":["map_model::edits::EditCrosswalks"]},{"text":"impl RefUnwindSafe for EditCmd","synthetic":true,"types":["map_model::edits::EditCmd"]},{"text":"impl RefUnwindSafe for EditEffects","synthetic":true,"types":["map_model::edits::EditEffects"]},{"text":"impl RefUnwindSafe for BorderSnapper","synthetic":true,"types":["map_model::make::transit::BorderSnapper"]},{"text":"impl RefUnwindSafe for RawToMapOptions","synthetic":true,"types":["map_model::make::RawToMapOptions"]},{"text":"impl RefUnwindSafe for AreaID","synthetic":true,"types":["map_model::objects::area::AreaID"]},{"text":"impl RefUnwindSafe for Area","synthetic":true,"types":["map_model::objects::area::Area"]},{"text":"impl RefUnwindSafe for Block","synthetic":true,"types":["map_model::objects::block::Block"]},{"text":"impl RefUnwindSafe for Perimeter","synthetic":true,"types":["map_model::objects::block::Perimeter"]},{"text":"impl RefUnwindSafe for BuildingID","synthetic":true,"types":["map_model::objects::building::BuildingID"]},{"text":"impl RefUnwindSafe for Building","synthetic":true,"types":["map_model::objects::building::Building"]},{"text":"impl RefUnwindSafe for OffstreetParking","synthetic":true,"types":["map_model::objects::building::OffstreetParking"]},{"text":"impl RefUnwindSafe for BuildingType","synthetic":true,"types":["map_model::objects::building::BuildingType"]},{"text":"impl RefUnwindSafe for IntersectionID","synthetic":true,"types":["map_model::objects::intersection::IntersectionID"]},{"text":"impl RefUnwindSafe for Intersection","synthetic":true,"types":["map_model::objects::intersection::Intersection"]},{"text":"impl RefUnwindSafe for LaneID","synthetic":true,"types":["map_model::objects::lane::LaneID"]},{"text":"impl RefUnwindSafe for Lane","synthetic":true,"types":["map_model::objects::lane::Lane"]},{"text":"impl RefUnwindSafe for CommonEndpoint","synthetic":true,"types":["map_model::objects::lane::CommonEndpoint"]},{"text":"impl RefUnwindSafe for MovementID","synthetic":true,"types":["map_model::objects::movement::MovementID"]},{"text":"impl RefUnwindSafe for CompressedMovementID","synthetic":true,"types":["map_model::objects::movement::CompressedMovementID"]},{"text":"impl RefUnwindSafe for Movement","synthetic":true,"types":["map_model::objects::movement::Movement"]},{"text":"impl RefUnwindSafe for ParkingLotID","synthetic":true,"types":["map_model::objects::parking_lot::ParkingLotID"]},{"text":"impl RefUnwindSafe for ParkingLot","synthetic":true,"types":["map_model::objects::parking_lot::ParkingLot"]},{"text":"impl RefUnwindSafe for RoadID","synthetic":true,"types":["map_model::objects::road::RoadID"]},{"text":"impl RefUnwindSafe for DirectedRoadID","synthetic":true,"types":["map_model::objects::road::DirectedRoadID"]},{"text":"impl RefUnwindSafe for SideOfRoad","synthetic":true,"types":["map_model::objects::road::SideOfRoad"]},{"text":"impl RefUnwindSafe for RoadSideID","synthetic":true,"types":["map_model::objects::road::RoadSideID"]},{"text":"impl RefUnwindSafe for Road","synthetic":true,"types":["map_model::objects::road::Road"]},{"text":"impl RefUnwindSafe for ControlStopSign","synthetic":true,"types":["map_model::objects::stop_signs::ControlStopSign"]},{"text":"impl RefUnwindSafe for RoadWithStopSign","synthetic":true,"types":["map_model::objects::stop_signs::RoadWithStopSign"]},{"text":"impl RefUnwindSafe for ControlTrafficSignal","synthetic":true,"types":["map_model::objects::traffic_signals::ControlTrafficSignal"]},{"text":"impl RefUnwindSafe for Stage","synthetic":true,"types":["map_model::objects::traffic_signals::Stage"]},{"text":"impl RefUnwindSafe for StageType","synthetic":true,"types":["map_model::objects::traffic_signals::StageType"]},{"text":"impl RefUnwindSafe for TransitStopID","synthetic":true,"types":["map_model::objects::transit::TransitStopID"]},{"text":"impl RefUnwindSafe for TransitRouteID","synthetic":true,"types":["map_model::objects::transit::TransitRouteID"]},{"text":"impl RefUnwindSafe for TransitStop","synthetic":true,"types":["map_model::objects::transit::TransitStop"]},{"text":"impl RefUnwindSafe for TransitRoute","synthetic":true,"types":["map_model::objects::transit::TransitRoute"]},{"text":"impl RefUnwindSafe for TurnID","synthetic":true,"types":["map_model::objects::turn::TurnID"]},{"text":"impl RefUnwindSafe for TurnType","synthetic":true,"types":["map_model::objects::turn::TurnType"]},{"text":"impl RefUnwindSafe for TurnPriority","synthetic":true,"types":["map_model::objects::turn::TurnPriority"]},{"text":"impl RefUnwindSafe for Turn","synthetic":true,"types":["map_model::objects::turn::Turn"]},{"text":"impl RefUnwindSafe for AccessRestrictions","synthetic":true,"types":["map_model::objects::zone::AccessRestrictions"]},{"text":"impl RefUnwindSafe for Zone","synthetic":true,"types":["map_model::objects::zone::Zone"]},{"text":"impl RefUnwindSafe for PathfindEngine","synthetic":true,"types":["map_model::pathfind::engine::PathfindEngine"]},{"text":"impl<'a> RefUnwindSafe for CreateEngine<'a>","synthetic":true,"types":["map_model::pathfind::engine::CreateEngine"]},{"text":"impl<T> RefUnwindSafe for NodeMap<T> where
    T: RefUnwindSafe
","synthetic":true,"types":["map_model::pathfind::node_map::NodeMap"]},{"text":"impl<T> RefUnwindSafe for InnerNodeMap<T> where
    T: RefUnwindSafe
","synthetic":true,"types":["map_model::pathfind::node_map::InnerNodeMap"]},{"text":"impl RefUnwindSafe for Pathfinder","synthetic":true,"types":["map_model::pathfind::pathfinder::Pathfinder"]},{"text":"impl RefUnwindSafe for PathfinderCaching","synthetic":true,"types":["map_model::pathfind::pathfinder::PathfinderCaching"]},{"text":"impl RefUnwindSafe for PathfinderCache","synthetic":true,"types":["map_model::pathfind::pathfinder::PathfinderCache"]},{"text":"impl RefUnwindSafe for IntersectionCluster","synthetic":true,"types":["map_model::pathfind::uber_turns::IntersectionCluster"]},{"text":"impl RefUnwindSafe for UberTurn","synthetic":true,"types":["map_model::pathfind::uber_turns::UberTurn"]},{"text":"impl RefUnwindSafe for UberTurnV2","synthetic":true,"types":["map_model::pathfind::uber_turns::UberTurnV2"]},{"text":"impl RefUnwindSafe for PathStep","synthetic":true,"types":["map_model::pathfind::v1::PathStep"]},{"text":"impl RefUnwindSafe for Path","synthetic":true,"types":["map_model::pathfind::v1::Path"]},{"text":"impl RefUnwindSafe for PathRequest","synthetic":true,"types":["map_model::pathfind::v1::PathRequest"]},{"text":"impl RefUnwindSafe for PathStepV2","synthetic":true,"types":["map_model::pathfind::v2::PathStepV2"]},{"text":"impl RefUnwindSafe for PathV2","synthetic":true,"types":["map_model::pathfind::v2::PathV2"]},{"text":"impl RefUnwindSafe for VehiclePathfinder","synthetic":true,"types":["map_model::pathfind::vehicles::VehiclePathfinder"]},{"text":"impl RefUnwindSafe for Node","synthetic":true,"types":["map_model::pathfind::vehicles::Node"]},{"text":"impl RefUnwindSafe for SidewalkPathfinder","synthetic":true,"types":["map_model::pathfind::walking::SidewalkPathfinder"]},{"text":"impl RefUnwindSafe for PathConstraints","synthetic":true,"types":["map_model::pathfind::PathConstraints"]},{"text":"impl RefUnwindSafe for RoutingParams","synthetic":true,"types":["map_model::pathfind::RoutingParams"]},{"text":"impl RefUnwindSafe for Position","synthetic":true,"types":["map_model::traversable::Position"]},{"text":"impl RefUnwindSafe for Traversable","synthetic":true,"types":["map_model::traversable::Traversable"]},{"text":"impl RefUnwindSafe for Map","synthetic":true,"types":["map_model::Map"]}]; diff --git a/rustdoc/implementors/core/panic/unwind_safe/trait.UnwindSafe.js b/rustdoc/implementors/core/panic/unwind_safe/trait.UnwindSafe.js index 35b3b6c542..a2a425f91a 100644 --- a/rustdoc/implementors/core/panic/unwind_safe/trait.UnwindSafe.js +++ b/rustdoc/implementors/core/panic/unwind_safe/trait.UnwindSafe.js @@ -10,7 +10,7 @@ implementors["geom"] = [{"text":"impl UnwindSafe for MAP","synthetic":true,"types":["headless::MAP"]},{"text":"impl UnwindSafe for SIM","synthetic":true,"types":["headless::SIM"]},{"text":"impl UnwindSafe for LOAD","synthetic":true,"types":["headless::LOAD"]},{"text":"impl UnwindSafe for Args","synthetic":true,"types":["headless::Args"]},{"text":"impl UnwindSafe for FinishedTrip","synthetic":true,"types":["headless::FinishedTrip"]},{"text":"impl UnwindSafe for Delays","synthetic":true,"types":["headless::Delays"]},{"text":"impl UnwindSafe for Throughput","synthetic":true,"types":["headless::Throughput"]},{"text":"impl UnwindSafe for AgentPositions","synthetic":true,"types":["headless::AgentPositions"]},{"text":"impl UnwindSafe for AgentPosition","synthetic":true,"types":["headless::AgentPosition"]},{"text":"impl UnwindSafe for RoadThroughput","synthetic":true,"types":["headless::RoadThroughput"]},{"text":"impl UnwindSafe for TrafficSignalState","synthetic":true,"types":["headless::TrafficSignalState"]},{"text":"impl UnwindSafe for BlockedByGraph","synthetic":true,"types":["headless::BlockedByGraph"]},{"text":"impl UnwindSafe for LoadSim","synthetic":true,"types":["headless::LoadSim"]}]; implementors["importer"] = [{"text":"impl UnwindSafe for Record","synthetic":true,"types":["importer::berlin::Record"]},{"text":"impl UnwindSafe for ImporterConfiguration","synthetic":true,"types":["importer::configuration::ImporterConfiguration"]},{"text":"impl UnwindSafe for PopDat","synthetic":true,"types":["importer::soundcast::popdat::PopDat"]},{"text":"impl UnwindSafe for RawTrip","synthetic":true,"types":["importer::soundcast::popdat::RawTrip"]},{"text":"impl UnwindSafe for RawParcel","synthetic":true,"types":["importer::soundcast::popdat::RawParcel"]},{"text":"impl UnwindSafe for OrigTrip","synthetic":true,"types":["importer::soundcast::popdat::OrigTrip"]},{"text":"impl UnwindSafe for Endpoint","synthetic":true,"types":["importer::soundcast::popdat::Endpoint"]},{"text":"impl UnwindSafe for Trip","synthetic":true,"types":["importer::soundcast::trips::Trip"]},{"text":"impl UnwindSafe for BorderSnapper","synthetic":true,"types":["importer::soundcast::trips::BorderSnapper"]},{"text":"impl UnwindSafe for Record","synthetic":true,"types":["importer::uk::Record"]},{"text":"impl UnwindSafe for Job","synthetic":true,"types":["importer::Job"]}]; implementors["kml"] = [{"text":"impl UnwindSafe for ExtraShapes","synthetic":true,"types":["kml::ExtraShapes"]},{"text":"impl UnwindSafe for ExtraShape","synthetic":true,"types":["kml::ExtraShape"]}]; -implementors["ltn"] = [{"text":"impl !UnwindSafe for BrowseNeighbourhoods","synthetic":true,"types":["ltn::browse::BrowseNeighbourhoods"]},{"text":"impl UnwindSafe for Style","synthetic":true,"types":["ltn::browse::Style"]},{"text":"impl UnwindSafe for CELLS","synthetic":true,"types":["ltn::colors::CELLS"]},{"text":"impl UnwindSafe for FILTER_OUTER","synthetic":true,"types":["ltn::colors::FILTER_OUTER"]},{"text":"impl UnwindSafe for FILTER_INNER","synthetic":true,"types":["ltn::colors::FILTER_INNER"]},{"text":"impl UnwindSafe for PLAN_ROUTE_BEFORE","synthetic":true,"types":["ltn::colors::PLAN_ROUTE_BEFORE"]},{"text":"impl UnwindSafe for PLAN_ROUTE_AFTER","synthetic":true,"types":["ltn::colors::PLAN_ROUTE_AFTER"]},{"text":"impl UnwindSafe for PLAN_ROUTE_BIKE","synthetic":true,"types":["ltn::colors::PLAN_ROUTE_BIKE"]},{"text":"impl UnwindSafe for PLAN_ROUTE_WALK","synthetic":true,"types":["ltn::colors::PLAN_ROUTE_WALK"]},{"text":"impl UnwindSafe for About","synthetic":true,"types":["ltn::components::about::About"]},{"text":"impl UnwindSafe for FreehandFilters","synthetic":true,"types":["ltn::components::freehand_filters::FreehandFilters"]},{"text":"impl UnwindSafe for LeftPanel","synthetic":true,"types":["ltn::components::left_panel::LeftPanel"]},{"text":"impl UnwindSafe for TopPanel","synthetic":true,"types":["ltn::components::top_panel::TopPanel"]},{"text":"impl !UnwindSafe for Viewer","synthetic":true,"types":["ltn::connectivity::Viewer"]},{"text":"impl !UnwindSafe for CustomizeBoundary","synthetic":true,"types":["ltn::customize_boundary::CustomizeBoundary"]},{"text":"impl UnwindSafe for RenderCells","synthetic":true,"types":["ltn::draw_cells::RenderCells"]},{"text":"impl UnwindSafe for RenderCellsBuilder","synthetic":true,"types":["ltn::draw_cells::RenderCellsBuilder"]},{"text":"impl UnwindSafe for Tab","synthetic":true,"types":["ltn::edit::Tab"]},{"text":"impl UnwindSafe for EditNeighbourhood","synthetic":true,"types":["ltn::edit::EditNeighbourhood"]},{"text":"impl UnwindSafe for Obj","synthetic":true,"types":["ltn::edit::Obj"]},{"text":"impl !UnwindSafe for EditOutcome","synthetic":true,"types":["ltn::edit::EditOutcome"]},{"text":"impl UnwindSafe for Heuristic","synthetic":true,"types":["ltn::filters::auto::Heuristic"]},{"text":"impl UnwindSafe for ModalFilters","synthetic":true,"types":["ltn::filters::ModalFilters"]},{"text":"impl UnwindSafe for ChangeKey","synthetic":true,"types":["ltn::filters::ChangeKey"]},{"text":"impl UnwindSafe for DiagonalFilter","synthetic":true,"types":["ltn::filters::DiagonalFilter"]},{"text":"impl !UnwindSafe for Toggle3Zoomed","synthetic":true,"types":["ltn::filters::Toggle3Zoomed"]},{"text":"impl !UnwindSafe for ShowResults","synthetic":true,"types":["ltn::impact::ui::ShowResults"]},{"text":"impl !UnwindSafe for ChangedRoutes","synthetic":true,"types":["ltn::impact::ui::ChangedRoutes"]},{"text":"impl UnwindSafe for Impact","synthetic":true,"types":["ltn::impact::Impact"]},{"text":"impl UnwindSafe for Filters","synthetic":true,"types":["ltn::impact::Filters"]},{"text":"impl !UnwindSafe for Neighbourhood","synthetic":true,"types":["ltn::neighbourhood::Neighbourhood"]},{"text":"impl UnwindSafe for Cell","synthetic":true,"types":["ltn::neighbourhood::Cell"]},{"text":"impl UnwindSafe for DistanceInterval","synthetic":true,"types":["ltn::neighbourhood::DistanceInterval"]},{"text":"impl UnwindSafe for NeighbourhoodID","synthetic":true,"types":["ltn::partition::NeighbourhoodID"]},{"text":"impl UnwindSafe for BlockID","synthetic":true,"types":["ltn::partition::BlockID"]},{"text":"impl UnwindSafe for Partitioning","synthetic":true,"types":["ltn::partition::Partitioning"]},{"text":"impl UnwindSafe for NeighbourhoodInfo","synthetic":true,"types":["ltn::partition::NeighbourhoodInfo"]},{"text":"impl !UnwindSafe for RoutePlanner","synthetic":true,"types":["ltn::route_planner::RoutePlanner"]},{"text":"impl UnwindSafe for Proposal","synthetic":true,"types":["ltn::save::Proposal"]},{"text":"impl UnwindSafe for AltProposals","synthetic":true,"types":["ltn::save::AltProposals"]},{"text":"impl UnwindSafe for PreserveState","synthetic":true,"types":["ltn::save::PreserveState"]},{"text":"impl !UnwindSafe for SelectBoundary","synthetic":true,"types":["ltn::select_boundary::SelectBoundary"]},{"text":"impl !UnwindSafe for BrowseShortcuts","synthetic":true,"types":["ltn::shortcut_viewer::BrowseShortcuts"]},{"text":"impl UnwindSafe for Shortcuts","synthetic":true,"types":["ltn::shortcuts::Shortcuts"]},{"text":"impl UnwindSafe for EntryExit","synthetic":true,"types":["ltn::shortcuts::EntryExit"]},{"text":"impl UnwindSafe for Args","synthetic":true,"types":["ltn::Args"]},{"text":"impl !UnwindSafe for Session","synthetic":true,"types":["ltn::Session"]}]; +implementors["ltn"] = [{"text":"impl !UnwindSafe for BrowseNeighbourhoods","synthetic":true,"types":["ltn::browse::BrowseNeighbourhoods"]},{"text":"impl UnwindSafe for Style","synthetic":true,"types":["ltn::browse::Style"]},{"text":"impl UnwindSafe for CELLS","synthetic":true,"types":["ltn::colors::CELLS"]},{"text":"impl UnwindSafe for FILTER_OUTER","synthetic":true,"types":["ltn::colors::FILTER_OUTER"]},{"text":"impl UnwindSafe for FILTER_INNER","synthetic":true,"types":["ltn::colors::FILTER_INNER"]},{"text":"impl UnwindSafe for PLAN_ROUTE_BEFORE","synthetic":true,"types":["ltn::colors::PLAN_ROUTE_BEFORE"]},{"text":"impl UnwindSafe for PLAN_ROUTE_AFTER","synthetic":true,"types":["ltn::colors::PLAN_ROUTE_AFTER"]},{"text":"impl UnwindSafe for PLAN_ROUTE_BIKE","synthetic":true,"types":["ltn::colors::PLAN_ROUTE_BIKE"]},{"text":"impl UnwindSafe for PLAN_ROUTE_WALK","synthetic":true,"types":["ltn::colors::PLAN_ROUTE_WALK"]},{"text":"impl UnwindSafe for About","synthetic":true,"types":["ltn::components::about::About"]},{"text":"impl UnwindSafe for LeftPanel","synthetic":true,"types":["ltn::components::left_panel::LeftPanel"]},{"text":"impl UnwindSafe for TopPanel","synthetic":true,"types":["ltn::components::top_panel::TopPanel"]},{"text":"impl !UnwindSafe for Viewer","synthetic":true,"types":["ltn::connectivity::Viewer"]},{"text":"impl !UnwindSafe for CustomizeBoundary","synthetic":true,"types":["ltn::customize_boundary::CustomizeBoundary"]},{"text":"impl UnwindSafe for RenderCells","synthetic":true,"types":["ltn::draw_cells::RenderCells"]},{"text":"impl UnwindSafe for RenderCellsBuilder","synthetic":true,"types":["ltn::draw_cells::RenderCellsBuilder"]},{"text":"impl UnwindSafe for FocusedRoad","synthetic":true,"types":["ltn::edit::shortcuts::FocusedRoad"]},{"text":"impl UnwindSafe for EditMode","synthetic":true,"types":["ltn::edit::EditMode"]},{"text":"impl UnwindSafe for EditNeighbourhood","synthetic":true,"types":["ltn::edit::EditNeighbourhood"]},{"text":"impl UnwindSafe for Obj","synthetic":true,"types":["ltn::edit::Obj"]},{"text":"impl !UnwindSafe for EditOutcome","synthetic":true,"types":["ltn::edit::EditOutcome"]},{"text":"impl UnwindSafe for Heuristic","synthetic":true,"types":["ltn::filters::auto::Heuristic"]},{"text":"impl UnwindSafe for ModalFilters","synthetic":true,"types":["ltn::filters::ModalFilters"]},{"text":"impl UnwindSafe for ChangeKey","synthetic":true,"types":["ltn::filters::ChangeKey"]},{"text":"impl UnwindSafe for DiagonalFilter","synthetic":true,"types":["ltn::filters::DiagonalFilter"]},{"text":"impl !UnwindSafe for Toggle3Zoomed","synthetic":true,"types":["ltn::filters::Toggle3Zoomed"]},{"text":"impl !UnwindSafe for ShowResults","synthetic":true,"types":["ltn::impact::ui::ShowResults"]},{"text":"impl !UnwindSafe for ChangedRoutes","synthetic":true,"types":["ltn::impact::ui::ChangedRoutes"]},{"text":"impl UnwindSafe for Impact","synthetic":true,"types":["ltn::impact::Impact"]},{"text":"impl UnwindSafe for Filters","synthetic":true,"types":["ltn::impact::Filters"]},{"text":"impl !UnwindSafe for Neighbourhood","synthetic":true,"types":["ltn::neighbourhood::Neighbourhood"]},{"text":"impl UnwindSafe for Cell","synthetic":true,"types":["ltn::neighbourhood::Cell"]},{"text":"impl UnwindSafe for DistanceInterval","synthetic":true,"types":["ltn::neighbourhood::DistanceInterval"]},{"text":"impl UnwindSafe for NeighbourhoodID","synthetic":true,"types":["ltn::partition::NeighbourhoodID"]},{"text":"impl UnwindSafe for BlockID","synthetic":true,"types":["ltn::partition::BlockID"]},{"text":"impl UnwindSafe for Partitioning","synthetic":true,"types":["ltn::partition::Partitioning"]},{"text":"impl UnwindSafe for NeighbourhoodInfo","synthetic":true,"types":["ltn::partition::NeighbourhoodInfo"]},{"text":"impl !UnwindSafe for RoutePlanner","synthetic":true,"types":["ltn::route_planner::RoutePlanner"]},{"text":"impl UnwindSafe for Proposal","synthetic":true,"types":["ltn::save::Proposal"]},{"text":"impl UnwindSafe for AltProposals","synthetic":true,"types":["ltn::save::AltProposals"]},{"text":"impl UnwindSafe for PreserveState","synthetic":true,"types":["ltn::save::PreserveState"]},{"text":"impl !UnwindSafe for SelectBoundary","synthetic":true,"types":["ltn::select_boundary::SelectBoundary"]},{"text":"impl UnwindSafe for Shortcuts","synthetic":true,"types":["ltn::shortcuts::Shortcuts"]},{"text":"impl UnwindSafe for EntryExit","synthetic":true,"types":["ltn::shortcuts::EntryExit"]},{"text":"impl UnwindSafe for Args","synthetic":true,"types":["ltn::Args"]},{"text":"impl !UnwindSafe for Session","synthetic":true,"types":["ltn::Session"]}]; implementors["map_editor"] = [{"text":"impl UnwindSafe for App","synthetic":true,"types":["map_editor::app::App"]},{"text":"impl !UnwindSafe for MainState","synthetic":true,"types":["map_editor::app::MainState"]},{"text":"impl UnwindSafe for Mode","synthetic":true,"types":["map_editor::app::Mode"]},{"text":"impl UnwindSafe for CameraState","synthetic":true,"types":["map_editor::camera::CameraState"]},{"text":"impl UnwindSafe for DefaultMap","synthetic":true,"types":["map_editor::camera::DefaultMap"]},{"text":"impl UnwindSafe for EditRoad","synthetic":true,"types":["map_editor::edit::EditRoad"]},{"text":"impl !UnwindSafe for PickMap","synthetic":true,"types":["map_editor::load::PickMap"]},{"text":"impl UnwindSafe for Model","synthetic":true,"types":["map_editor::model::Model"]},{"text":"impl UnwindSafe for ID","synthetic":true,"types":["map_editor::model::ID"]},{"text":"impl UnwindSafe for Args","synthetic":true,"types":["map_editor::Args"]}]; implementors["map_gui"] = [{"text":"impl UnwindSafe for ColorSchemeChoice","synthetic":true,"types":["map_gui::colors::ColorSchemeChoice"]},{"text":"impl UnwindSafe for ColorScheme","synthetic":true,"types":["map_gui::colors::ColorScheme"]},{"text":"impl UnwindSafe for MapLoader","synthetic":true,"types":["map_gui::load::MapLoader"]},{"text":"impl<A> !UnwindSafe for MapAlreadyLoaded<A>","synthetic":true,"types":["map_gui::load::MapAlreadyLoaded"]},{"text":"impl UnwindSafe for Options","synthetic":true,"types":["map_gui::options::Options"]},{"text":"impl UnwindSafe for TrafficSignalStyle","synthetic":true,"types":["map_gui::options::TrafficSignalStyle"]},{"text":"impl UnwindSafe for CameraAngle","synthetic":true,"types":["map_gui::options::CameraAngle"]},{"text":"impl !UnwindSafe for OptionsPanel","synthetic":true,"types":["map_gui::options::OptionsPanel"]},{"text":"impl !UnwindSafe for AgentCache","synthetic":true,"types":["map_gui::render::agents::AgentCache"]},{"text":"impl UnwindSafe for UnzoomedAgents","synthetic":true,"types":["map_gui::render::agents::UnzoomedAgents"]},{"text":"impl UnwindSafe for DrawArea","synthetic":true,"types":["map_gui::render::area::DrawArea"]},{"text":"impl UnwindSafe for DrawBike","synthetic":true,"types":["map_gui::render::bike::DrawBike"]},{"text":"impl UnwindSafe for DrawBuilding","synthetic":true,"types":["map_gui::render::building::DrawBuilding"]},{"text":"impl UnwindSafe for DrawCar","synthetic":true,"types":["map_gui::render::car::DrawCar"]},{"text":"impl UnwindSafe for DrawIntersection","synthetic":true,"types":["map_gui::render::intersection::DrawIntersection"]},{"text":"impl UnwindSafe for DrawLane","synthetic":true,"types":["map_gui::render::lane::DrawLane"]},{"text":"impl UnwindSafe for DrawMap","synthetic":true,"types":["map_gui::render::map::DrawMap"]},{"text":"impl UnwindSafe for DrawParkingLot","synthetic":true,"types":["map_gui::render::parking_lot::DrawParkingLot"]},{"text":"impl UnwindSafe for DrawPedestrian","synthetic":true,"types":["map_gui::render::pedestrian::DrawPedestrian"]},{"text":"impl UnwindSafe for DrawPedCrowd","synthetic":true,"types":["map_gui::render::pedestrian::DrawPedCrowd"]},{"text":"impl UnwindSafe for DrawRoad","synthetic":true,"types":["map_gui::render::road::DrawRoad"]},{"text":"impl UnwindSafe for DrawTransitStop","synthetic":true,"types":["map_gui::render::transit_stop::DrawTransitStop"]},{"text":"impl UnwindSafe for DrawMovement","synthetic":true,"types":["map_gui::render::turn::DrawMovement"]},{"text":"impl UnwindSafe for DrawOptions","synthetic":true,"types":["map_gui::render::DrawOptions"]},{"text":"impl<T> UnwindSafe for SimpleApp<T> where
    T: UnwindSafe
","synthetic":true,"types":["map_gui::simple_app::SimpleApp"]},{"text":"impl UnwindSafe for SimpleAppArgs","synthetic":true,"types":["map_gui::simple_app::SimpleAppArgs"]},{"text":"impl UnwindSafe for SimpleWarper","synthetic":true,"types":["map_gui::simple_app::SimpleWarper"]},{"text":"impl UnwindSafe for CameraState","synthetic":true,"types":["map_gui::tools::camera::CameraState"]},{"text":"impl UnwindSafe for DefaultMap","synthetic":true,"types":["map_gui::tools::camera::DefaultMap"]},{"text":"impl<A> !UnwindSafe for CityPicker<A>","synthetic":true,"types":["map_gui::tools::city_picker::CityPicker"]},{"text":"impl<A> !UnwindSafe for AllCityPicker<A>","synthetic":true,"types":["map_gui::tools::city_picker::AllCityPicker"]},{"text":"impl<A> !UnwindSafe for CitiesInCountryPicker<A>","synthetic":true,"types":["map_gui::tools::city_picker::CitiesInCountryPicker"]},{"text":"impl<'a> UnwindSafe for ColorDiscrete<'a>","synthetic":true,"types":["map_gui::tools::colors::ColorDiscrete"]},{"text":"impl UnwindSafe for ColorLegend","synthetic":true,"types":["map_gui::tools::colors::ColorLegend"]},{"text":"impl UnwindSafe for DivergingScale","synthetic":true,"types":["map_gui::tools::colors::DivergingScale"]},{"text":"impl<'a> UnwindSafe for ColorNetwork<'a>","synthetic":true,"types":["map_gui::tools::colors::ColorNetwork"]},{"text":"impl UnwindSafe for ColorScale","synthetic":true,"types":["map_gui::tools::colors::ColorScale"]},{"text":"impl<A> !UnwindSafe for RunCommand<A>","synthetic":true,"types":["map_gui::tools::command::RunCommand"]},{"text":"impl UnwindSafe for CompareCounts","synthetic":true,"types":["map_gui::tools::compare_counts::CompareCounts"]},{"text":"impl UnwindSafe for Obj","synthetic":true,"types":["map_gui::tools::compare_counts::Obj"]},{"text":"impl UnwindSafe for Layer","synthetic":true,"types":["map_gui::tools::compare_counts::Layer"]},{"text":"impl UnwindSafe for HeatmapOptions","synthetic":true,"types":["map_gui::tools::heatmap::HeatmapOptions"]},{"text":"impl<T> UnwindSafe for Grid<T> where
    T: UnwindSafe
","synthetic":true,"types":["map_gui::tools::heatmap::Grid"]},{"text":"impl<A> !UnwindSafe for ImportCity<A>","synthetic":true,"types":["map_gui::tools::importer::ImportCity"]},{"text":"impl !UnwindSafe for DrawRoadLabels","synthetic":true,"types":["map_gui::tools::labels::DrawRoadLabels"]},{"text":"impl UnwindSafe for PerZoom","synthetic":true,"types":["map_gui::tools::labels::PerZoom"]},{"text":"impl<A, T> !UnwindSafe for Minimap<A, T>","synthetic":true,"types":["map_gui::tools::minimap::Minimap"]},{"text":"impl !UnwindSafe for Navigator","synthetic":true,"types":["map_gui::tools::navigate::Navigator"]},{"text":"impl !UnwindSafe for CrossStreet","synthetic":true,"types":["map_gui::tools::navigate::CrossStreet"]},{"text":"impl !UnwindSafe for SearchBuildings","synthetic":true,"types":["map_gui::tools::navigate::SearchBuildings"]},{"text":"impl UnwindSafe for EditPolygon","synthetic":true,"types":["map_gui::tools::polygon::EditPolygon"]},{"text":"impl UnwindSafe for Obj","synthetic":true,"types":["map_gui::tools::polygon::Obj"]},{"text":"impl<A> !UnwindSafe for TitleScreen<A>","synthetic":true,"types":["map_gui::tools::title_screen::TitleScreen"]},{"text":"impl UnwindSafe for Executable","synthetic":true,"types":["map_gui::tools::title_screen::Executable"]},{"text":"impl<A, S> UnwindSafe for TripManagement<A, S> where
    A: UnwindSafe,
    S: UnwindSafe
","synthetic":true,"types":["map_gui::tools::trip_files::TripManagement"]},{"text":"impl UnwindSafe for NamedTrip","synthetic":true,"types":["map_gui::tools::trip_files::NamedTrip"]},{"text":"impl UnwindSafe for SavedTrips","synthetic":true,"types":["map_gui::tools::trip_files::SavedTrips"]},{"text":"impl<A, S> !UnwindSafe for RenameTrip<A, S>","synthetic":true,"types":["map_gui::tools::trip_files::RenameTrip"]},{"text":"impl !UnwindSafe for TurnExplorer","synthetic":true,"types":["map_gui::tools::turn_explorer::TurnExplorer"]},{"text":"impl UnwindSafe for FilePicker","synthetic":true,"types":["map_gui::tools::ui::FilePicker"]},{"text":"impl UnwindSafe for InputWaypoints","synthetic":true,"types":["map_gui::tools::waypoints::InputWaypoints"]},{"text":"impl UnwindSafe for WaypointID","synthetic":true,"types":["map_gui::tools::waypoints::WaypointID"]},{"text":"impl UnwindSafe for Waypoint","synthetic":true,"types":["map_gui::tools::waypoints::Waypoint"]},{"text":"impl UnwindSafe for ID","synthetic":true,"types":["map_gui::ID"]}]; implementors["map_model"] = [{"text":"impl UnwindSafe for City","synthetic":true,"types":["map_model::city::City"]},{"text":"impl UnwindSafe for WalkingOptions","synthetic":true,"types":["map_model::connectivity::walking::WalkingOptions"]},{"text":"impl UnwindSafe for Item","synthetic":true,"types":["map_model::connectivity::walking::Item"]},{"text":"impl UnwindSafe for WalkingNode","synthetic":true,"types":["map_model::pathfind::walking::WalkingNode"]},{"text":"impl UnwindSafe for Spot","synthetic":true,"types":["map_model::connectivity::Spot"]},{"text":"impl UnwindSafe for Item","synthetic":true,"types":["map_model::connectivity::Item"]},{"text":"impl UnwindSafe for OriginalLane","synthetic":true,"types":["map_model::edits::compat::OriginalLane"]},{"text":"impl UnwindSafe for ChangeLaneType","synthetic":true,"types":["map_model::edits::compat::ChangeLaneType"]},{"text":"impl UnwindSafe for ReverseLane","synthetic":true,"types":["map_model::edits::compat::ReverseLane"]},{"text":"impl UnwindSafe for ChangeSpeedLimit","synthetic":true,"types":["map_model::edits::compat::ChangeSpeedLimit"]},{"text":"impl UnwindSafe for ChangeAccessRestrictions","synthetic":true,"types":["map_model::edits::compat::ChangeAccessRestrictions"]},{"text":"impl UnwindSafe for PermanentMapEdits","synthetic":true,"types":["map_model::edits::perma::PermanentMapEdits"]},{"text":"impl UnwindSafe for PermanentEditIntersection","synthetic":true,"types":["map_model::edits::perma::PermanentEditIntersection"]},{"text":"impl UnwindSafe for PermanentEditCrosswalks","synthetic":true,"types":["map_model::edits::perma::PermanentEditCrosswalks"]},{"text":"impl UnwindSafe for PermanentEditCmd","synthetic":true,"types":["map_model::edits::perma::PermanentEditCmd"]},{"text":"impl UnwindSafe for MapEdits","synthetic":true,"types":["map_model::edits::MapEdits"]},{"text":"impl UnwindSafe for EditIntersection","synthetic":true,"types":["map_model::edits::EditIntersection"]},{"text":"impl UnwindSafe for EditRoad","synthetic":true,"types":["map_model::edits::EditRoad"]},{"text":"impl UnwindSafe for EditCrosswalks","synthetic":true,"types":["map_model::edits::EditCrosswalks"]},{"text":"impl UnwindSafe for EditCmd","synthetic":true,"types":["map_model::edits::EditCmd"]},{"text":"impl UnwindSafe for EditEffects","synthetic":true,"types":["map_model::edits::EditEffects"]},{"text":"impl UnwindSafe for BorderSnapper","synthetic":true,"types":["map_model::make::transit::BorderSnapper"]},{"text":"impl UnwindSafe for RawToMapOptions","synthetic":true,"types":["map_model::make::RawToMapOptions"]},{"text":"impl UnwindSafe for AreaID","synthetic":true,"types":["map_model::objects::area::AreaID"]},{"text":"impl UnwindSafe for Area","synthetic":true,"types":["map_model::objects::area::Area"]},{"text":"impl UnwindSafe for Block","synthetic":true,"types":["map_model::objects::block::Block"]},{"text":"impl UnwindSafe for Perimeter","synthetic":true,"types":["map_model::objects::block::Perimeter"]},{"text":"impl UnwindSafe for BuildingID","synthetic":true,"types":["map_model::objects::building::BuildingID"]},{"text":"impl UnwindSafe for Building","synthetic":true,"types":["map_model::objects::building::Building"]},{"text":"impl UnwindSafe for OffstreetParking","synthetic":true,"types":["map_model::objects::building::OffstreetParking"]},{"text":"impl UnwindSafe for BuildingType","synthetic":true,"types":["map_model::objects::building::BuildingType"]},{"text":"impl UnwindSafe for IntersectionID","synthetic":true,"types":["map_model::objects::intersection::IntersectionID"]},{"text":"impl UnwindSafe for Intersection","synthetic":true,"types":["map_model::objects::intersection::Intersection"]},{"text":"impl UnwindSafe for LaneID","synthetic":true,"types":["map_model::objects::lane::LaneID"]},{"text":"impl UnwindSafe for Lane","synthetic":true,"types":["map_model::objects::lane::Lane"]},{"text":"impl UnwindSafe for CommonEndpoint","synthetic":true,"types":["map_model::objects::lane::CommonEndpoint"]},{"text":"impl UnwindSafe for MovementID","synthetic":true,"types":["map_model::objects::movement::MovementID"]},{"text":"impl UnwindSafe for CompressedMovementID","synthetic":true,"types":["map_model::objects::movement::CompressedMovementID"]},{"text":"impl UnwindSafe for Movement","synthetic":true,"types":["map_model::objects::movement::Movement"]},{"text":"impl UnwindSafe for ParkingLotID","synthetic":true,"types":["map_model::objects::parking_lot::ParkingLotID"]},{"text":"impl UnwindSafe for ParkingLot","synthetic":true,"types":["map_model::objects::parking_lot::ParkingLot"]},{"text":"impl UnwindSafe for RoadID","synthetic":true,"types":["map_model::objects::road::RoadID"]},{"text":"impl UnwindSafe for DirectedRoadID","synthetic":true,"types":["map_model::objects::road::DirectedRoadID"]},{"text":"impl UnwindSafe for SideOfRoad","synthetic":true,"types":["map_model::objects::road::SideOfRoad"]},{"text":"impl UnwindSafe for RoadSideID","synthetic":true,"types":["map_model::objects::road::RoadSideID"]},{"text":"impl UnwindSafe for Road","synthetic":true,"types":["map_model::objects::road::Road"]},{"text":"impl UnwindSafe for ControlStopSign","synthetic":true,"types":["map_model::objects::stop_signs::ControlStopSign"]},{"text":"impl UnwindSafe for RoadWithStopSign","synthetic":true,"types":["map_model::objects::stop_signs::RoadWithStopSign"]},{"text":"impl UnwindSafe for ControlTrafficSignal","synthetic":true,"types":["map_model::objects::traffic_signals::ControlTrafficSignal"]},{"text":"impl UnwindSafe for Stage","synthetic":true,"types":["map_model::objects::traffic_signals::Stage"]},{"text":"impl UnwindSafe for StageType","synthetic":true,"types":["map_model::objects::traffic_signals::StageType"]},{"text":"impl UnwindSafe for TransitStopID","synthetic":true,"types":["map_model::objects::transit::TransitStopID"]},{"text":"impl UnwindSafe for TransitRouteID","synthetic":true,"types":["map_model::objects::transit::TransitRouteID"]},{"text":"impl UnwindSafe for TransitStop","synthetic":true,"types":["map_model::objects::transit::TransitStop"]},{"text":"impl UnwindSafe for TransitRoute","synthetic":true,"types":["map_model::objects::transit::TransitRoute"]},{"text":"impl UnwindSafe for TurnID","synthetic":true,"types":["map_model::objects::turn::TurnID"]},{"text":"impl UnwindSafe for TurnType","synthetic":true,"types":["map_model::objects::turn::TurnType"]},{"text":"impl UnwindSafe for TurnPriority","synthetic":true,"types":["map_model::objects::turn::TurnPriority"]},{"text":"impl UnwindSafe for Turn","synthetic":true,"types":["map_model::objects::turn::Turn"]},{"text":"impl UnwindSafe for AccessRestrictions","synthetic":true,"types":["map_model::objects::zone::AccessRestrictions"]},{"text":"impl UnwindSafe for Zone","synthetic":true,"types":["map_model::objects::zone::Zone"]},{"text":"impl UnwindSafe for PathfindEngine","synthetic":true,"types":["map_model::pathfind::engine::PathfindEngine"]},{"text":"impl<'a> UnwindSafe for CreateEngine<'a>","synthetic":true,"types":["map_model::pathfind::engine::CreateEngine"]},{"text":"impl<T> UnwindSafe for NodeMap<T> where
    T: UnwindSafe + RefUnwindSafe
","synthetic":true,"types":["map_model::pathfind::node_map::NodeMap"]},{"text":"impl<T> UnwindSafe for InnerNodeMap<T> where
    T: UnwindSafe
","synthetic":true,"types":["map_model::pathfind::node_map::InnerNodeMap"]},{"text":"impl UnwindSafe for Pathfinder","synthetic":true,"types":["map_model::pathfind::pathfinder::Pathfinder"]},{"text":"impl UnwindSafe for PathfinderCaching","synthetic":true,"types":["map_model::pathfind::pathfinder::PathfinderCaching"]},{"text":"impl UnwindSafe for PathfinderCache","synthetic":true,"types":["map_model::pathfind::pathfinder::PathfinderCache"]},{"text":"impl UnwindSafe for IntersectionCluster","synthetic":true,"types":["map_model::pathfind::uber_turns::IntersectionCluster"]},{"text":"impl UnwindSafe for UberTurn","synthetic":true,"types":["map_model::pathfind::uber_turns::UberTurn"]},{"text":"impl UnwindSafe for UberTurnV2","synthetic":true,"types":["map_model::pathfind::uber_turns::UberTurnV2"]},{"text":"impl UnwindSafe for PathStep","synthetic":true,"types":["map_model::pathfind::v1::PathStep"]},{"text":"impl UnwindSafe for Path","synthetic":true,"types":["map_model::pathfind::v1::Path"]},{"text":"impl UnwindSafe for PathRequest","synthetic":true,"types":["map_model::pathfind::v1::PathRequest"]},{"text":"impl UnwindSafe for PathStepV2","synthetic":true,"types":["map_model::pathfind::v2::PathStepV2"]},{"text":"impl UnwindSafe for PathV2","synthetic":true,"types":["map_model::pathfind::v2::PathV2"]},{"text":"impl UnwindSafe for VehiclePathfinder","synthetic":true,"types":["map_model::pathfind::vehicles::VehiclePathfinder"]},{"text":"impl UnwindSafe for Node","synthetic":true,"types":["map_model::pathfind::vehicles::Node"]},{"text":"impl UnwindSafe for SidewalkPathfinder","synthetic":true,"types":["map_model::pathfind::walking::SidewalkPathfinder"]},{"text":"impl UnwindSafe for PathConstraints","synthetic":true,"types":["map_model::pathfind::PathConstraints"]},{"text":"impl UnwindSafe for RoutingParams","synthetic":true,"types":["map_model::pathfind::RoutingParams"]},{"text":"impl UnwindSafe for Position","synthetic":true,"types":["map_model::traversable::Position"]},{"text":"impl UnwindSafe for Traversable","synthetic":true,"types":["map_model::traversable::Traversable"]},{"text":"impl UnwindSafe for Map","synthetic":true,"types":["map_model::Map"]}]; diff --git a/rustdoc/implementors/widgetry/app_state/trait.State.js b/rustdoc/implementors/widgetry/app_state/trait.State.js index 7976b25be3..c57c9b43c6 100644 --- a/rustdoc/implementors/widgetry/app_state/trait.State.js +++ b/rustdoc/implementors/widgetry/app_state/trait.State.js @@ -1,7 +1,7 @@ (function() {var implementors = {}; implementors["fifteen_min"] = [{"text":"impl State<SimpleApp<()>> for BusExperiment","synthetic":false,"types":["fifteen_min::bus::BusExperiment"]},{"text":"impl State<SimpleApp<()>> for Viewer","synthetic":false,"types":["fifteen_min::viewer::Viewer"]},{"text":"impl State<SimpleApp<()>> for ExploreAmenities","synthetic":false,"types":["fifteen_min::viewer::ExploreAmenities"]}]; implementors["game"] = [{"text":"impl State<App> for CutscenePlayer","synthetic":false,"types":["game::challenges::cutscene::CutscenePlayer"]},{"text":"impl State<App> for ShowMessage","synthetic":false,"types":["game::challenges::cutscene::ShowMessage"]},{"text":"impl State<App> for Warping","synthetic":false,"types":["game::common::warp::Warping"]},{"text":"impl State<App> for DebugWarp","synthetic":false,"types":["game::common::warp::DebugWarp"]},{"text":"impl State<App> for Viewer","synthetic":false,"types":["game::debug::blocked_by::Viewer"]},{"text":"impl State<App> for Blockfinder","synthetic":false,"types":["game::debug::blockfinder::Blockfinder"]},{"text":"impl State<App> for Floodfiller","synthetic":false,"types":["game::debug::floodfill::Floodfiller"]},{"text":"impl State<App> for PathCounter","synthetic":false,"types":["game::debug::path_counter::PathCounter"]},{"text":"impl State<App> for PolygonDebugger","synthetic":false,"types":["game::debug::polygons::PolygonDebugger"]},{"text":"impl State<App> for RouteExplorer","synthetic":false,"types":["game::debug::routes::RouteExplorer"]},{"text":"impl State<App> for AllRoutesExplorer","synthetic":false,"types":["game::debug::routes::AllRoutesExplorer"]},{"text":"impl State<App> for PathCostDebugger","synthetic":false,"types":["game::debug::routes::PathCostDebugger"]},{"text":"impl State<App> for BulkSelect","synthetic":false,"types":["game::debug::select_roads::BulkSelect"]},{"text":"impl State<App> for DebugMode","synthetic":false,"types":["game::debug::DebugMode"]},{"text":"impl State<App> for ScreenshotTest","synthetic":false,"types":["game::debug::ScreenshotTest"]},{"text":"impl State<App> for CollisionsViewer","synthetic":false,"types":["game::devtools::collisions::CollisionsViewer"]},{"text":"impl State<App> for PopularDestinations","synthetic":false,"types":["game::devtools::destinations::PopularDestinations"]},{"text":"impl State<App> for ViewKML","synthetic":false,"types":["game::devtools::kml::ViewKML"]},{"text":"impl State<App> for PolygonEditor","synthetic":false,"types":["game::devtools::polygon::PolygonEditor"]},{"text":"impl State<App> for ScenarioManager","synthetic":false,"types":["game::devtools::scenario::ScenarioManager"]},{"text":"impl State<App> for StoryMapEditor","synthetic":false,"types":["game::devtools::story::StoryMapEditor"]},{"text":"impl State<App> for DrawFreehand","synthetic":false,"types":["game::devtools::story::DrawFreehand"]},{"text":"impl State<App> for CrosswalkEditor","synthetic":false,"types":["game::edit::crosswalks::CrosswalkEditor"]},{"text":"impl State<App> for SelectSegments","synthetic":false,"types":["game::edit::multiple_roads::SelectSegments"]},{"text":"impl State<App> for RoadEditor","synthetic":false,"types":["game::edit::roads::RoadEditor"]},{"text":"impl State<App> for RouteEditor","synthetic":false,"types":["game::edit::routes::RouteEditor"]},{"text":"impl State<App> for SignalPicker","synthetic":false,"types":["game::edit::traffic_signals::picker::SignalPicker"]},{"text":"impl State<App> for PreviewTrafficSignal","synthetic":false,"types":["game::edit::traffic_signals::preview::PreviewTrafficSignal"]},{"text":"impl State<App> for TrafficSignalEditor","synthetic":false,"types":["game::edit::traffic_signals::TrafficSignalEditor"]},{"text":"impl State<App> for ZoneEditor","synthetic":false,"types":["game::edit::zones::ZoneEditor"]},{"text":"impl State<App> for EditMode","synthetic":false,"types":["game::edit::EditMode"]},{"text":"impl State<App> for SaveEdits","synthetic":false,"types":["game::edit::SaveEdits"]},{"text":"impl State<App> for LoadEdits","synthetic":false,"types":["game::edit::LoadEdits"]},{"text":"impl State<App> for ConfirmDiscard","synthetic":false,"types":["game::edit::ConfirmDiscard"]},{"text":"impl State<App> for PickLayer","synthetic":false,"types":["game::layer::PickLayer"]},{"text":"impl State<App> for CommuterPatterns","synthetic":false,"types":["game::sandbox::dashboards::commuter::CommuterPatterns"]},{"text":"impl State<App> for ActiveTraffic","synthetic":false,"types":["game::sandbox::dashboards::misc::ActiveTraffic"]},{"text":"impl State<App> for TransitRoutes","synthetic":false,"types":["game::sandbox::dashboards::misc::TransitRoutes"]},{"text":"impl State<App> for ModeShift","synthetic":false,"types":["game::sandbox::dashboards::mode_shift::ModeShift"]},{"text":"impl State<App> for ParkingOverhead","synthetic":false,"types":["game::sandbox::dashboards::parking_overhead::ParkingOverhead"]},{"text":"impl State<App> for RiskSummaries","synthetic":false,"types":["game::sandbox::dashboards::risks::RiskSummaries"]},{"text":"impl State<App> for RectangularSelector","synthetic":false,"types":["game::sandbox::dashboards::selector::RectangularSelector"]},{"text":"impl State<App> for TrafficSignalDemand","synthetic":false,"types":["game::sandbox::dashboards::traffic_signals::TrafficSignalDemand"]},{"text":"impl State<App> for TravelTimes","synthetic":false,"types":["game::sandbox::dashboards::travel_times::TravelTimes"]},{"text":"impl State<App> for TripTable","synthetic":false,"types":["game::sandbox::dashboards::trip_table::TripTable"]},{"text":"impl State<App> for AreaSpawner","synthetic":false,"types":["game::sandbox::gameplay::freeform::area_spawner::AreaSpawner"]},{"text":"impl State<App> for AgentSpawner","synthetic":false,"types":["game::sandbox::gameplay::freeform::spawner::AgentSpawner"]},{"text":"impl State<App> for EditScenarioModifiers","synthetic":false,"types":["game::sandbox::gameplay::play_scenario::EditScenarioModifiers"]},{"text":"impl State<App> for ChangeMode","synthetic":false,"types":["game::sandbox::gameplay::play_scenario::ChangeMode"]},{"text":"impl State<App> for FinalScore","synthetic":false,"types":["game::sandbox::gameplay::FinalScore"]},{"text":"impl State<App> for TrafficRecorder","synthetic":false,"types":["game::sandbox::misc_tools::TrafficRecorder"]},{"text":"impl State<App> for JumpToTime","synthetic":false,"types":["game::sandbox::time_warp::JumpToTime"]},{"text":"impl State<App> for TimeWarpScreen","synthetic":false,"types":["game::sandbox::time_warp::TimeWarpScreen"]},{"text":"impl State<App> for SandboxMode","synthetic":false,"types":["game::sandbox::SandboxMode"]},{"text":"impl State<App> for BackToTitleScreen","synthetic":false,"types":["game::sandbox::BackToTitleScreen"]},{"text":"impl State<App> for SandboxLoader","synthetic":false,"types":["game::sandbox::SandboxLoader"]},{"text":"impl State<App> for ExploreMap","synthetic":false,"types":["game::ungap::explore::ExploreMap"]},{"text":"impl State<App> for ShowGaps","synthetic":false,"types":["game::ungap::predict::ShowGaps"]},{"text":"impl State<App> for QuickSketch","synthetic":false,"types":["game::ungap::quick_sketch::QuickSketch"]},{"text":"impl State<App> for TripPlanner","synthetic":false,"types":["game::ungap::trip::TripPlanner"]}]; -implementors["ltn"] = [{"text":"impl State<SimpleApp<Session>> for BrowseNeighbourhoods","synthetic":false,"types":["ltn::browse::BrowseNeighbourhoods"]},{"text":"impl State<SimpleApp<Session>> for FreehandFilters","synthetic":false,"types":["ltn::components::freehand_filters::FreehandFilters"]},{"text":"impl State<SimpleApp<Session>> for Viewer","synthetic":false,"types":["ltn::connectivity::Viewer"]},{"text":"impl State<SimpleApp<Session>> for CustomizeBoundary","synthetic":false,"types":["ltn::customize_boundary::CustomizeBoundary"]},{"text":"impl State<SimpleApp<Session>> for ShowResults","synthetic":false,"types":["ltn::impact::ui::ShowResults"]},{"text":"impl State<SimpleApp<Session>> for ChangedRoutes","synthetic":false,"types":["ltn::impact::ui::ChangedRoutes"]},{"text":"impl State<SimpleApp<Session>> for RoutePlanner","synthetic":false,"types":["ltn::route_planner::RoutePlanner"]},{"text":"impl State<SimpleApp<Session>> for SelectBoundary","synthetic":false,"types":["ltn::select_boundary::SelectBoundary"]},{"text":"impl State<SimpleApp<Session>> for BrowseShortcuts","synthetic":false,"types":["ltn::shortcut_viewer::BrowseShortcuts"]}]; +implementors["ltn"] = [{"text":"impl State<SimpleApp<Session>> for BrowseNeighbourhoods","synthetic":false,"types":["ltn::browse::BrowseNeighbourhoods"]},{"text":"impl State<SimpleApp<Session>> for Viewer","synthetic":false,"types":["ltn::connectivity::Viewer"]},{"text":"impl State<SimpleApp<Session>> for CustomizeBoundary","synthetic":false,"types":["ltn::customize_boundary::CustomizeBoundary"]},{"text":"impl State<SimpleApp<Session>> for ShowResults","synthetic":false,"types":["ltn::impact::ui::ShowResults"]},{"text":"impl State<SimpleApp<Session>> for ChangedRoutes","synthetic":false,"types":["ltn::impact::ui::ChangedRoutes"]},{"text":"impl State<SimpleApp<Session>> for RoutePlanner","synthetic":false,"types":["ltn::route_planner::RoutePlanner"]},{"text":"impl State<SimpleApp<Session>> for SelectBoundary","synthetic":false,"types":["ltn::select_boundary::SelectBoundary"]}]; implementors["map_editor"] = [{"text":"impl State<App> for MainState","synthetic":false,"types":["map_editor::app::MainState"]},{"text":"impl State<App> for PickMap","synthetic":false,"types":["map_editor::load::PickMap"]}]; implementors["map_gui"] = [{"text":"impl<A: AppLike + 'static> State<A> for MapAlreadyLoaded<A>","synthetic":false,"types":["map_gui::load::MapAlreadyLoaded"]},{"text":"impl<A: AppLike> State<A> for OptionsPanel","synthetic":false,"types":["map_gui::options::OptionsPanel"]},{"text":"impl<T> State<SimpleApp<T>> for SimpleWarper","synthetic":false,"types":["map_gui::simple_app::SimpleWarper"]},{"text":"impl<A: AppLike + 'static> State<A> for CityPicker<A>","synthetic":false,"types":["map_gui::tools::city_picker::CityPicker"]},{"text":"impl<A: AppLike + 'static> State<A> for AllCityPicker<A>","synthetic":false,"types":["map_gui::tools::city_picker::AllCityPicker"]},{"text":"impl<A: AppLike + 'static> State<A> for CitiesInCountryPicker<A>","synthetic":false,"types":["map_gui::tools::city_picker::CitiesInCountryPicker"]},{"text":"impl<A: AppLike + 'static> State<A> for RunCommand<A>","synthetic":false,"types":["map_gui::tools::command::RunCommand"]},{"text":"impl<A: AppLike + 'static> State<A> for ImportCity<A>","synthetic":false,"types":["map_gui::tools::importer::ImportCity"]},{"text":"impl<A: AppLike + 'static> State<A> for Navigator","synthetic":false,"types":["map_gui::tools::navigate::Navigator"]},{"text":"impl<A: AppLike + 'static> State<A> for CrossStreet","synthetic":false,"types":["map_gui::tools::navigate::CrossStreet"]},{"text":"impl<A: AppLike + 'static> State<A> for SearchBuildings","synthetic":false,"types":["map_gui::tools::navigate::SearchBuildings"]},{"text":"impl<A: AppLike + 'static> State<A> for TurnExplorer","synthetic":false,"types":["map_gui::tools::turn_explorer::TurnExplorer"]}]; implementors["osm_viewer"] = [{"text":"impl State<SimpleApp<()>> for Viewer","synthetic":false,"types":["osm_viewer::viewer::Viewer"]}]; diff --git a/rustdoc/ltn/all.html b/rustdoc/ltn/all.html index e149c6835a..eac04bd742 100644 --- a/rustdoc/ltn/all.html +++ b/rustdoc/ltn/all.html @@ -3,5 +3,5 @@

List of all items

Structs

Enums

Functions

Typedefs

Constants

+

Crate ltn

List of all items

Structs

Enums

Functions

Typedefs

Constants

\ No newline at end of file diff --git a/rustdoc/ltn/browse/enum.Style.html b/rustdoc/ltn/browse/enum.Style.html index 7f095b3054..1945504d32 100644 --- a/rustdoc/ltn/browse/enum.Style.html +++ b/rustdoc/ltn/browse/enum.Style.html @@ -4,18 +4,18 @@
pub enum Style {
+    

Enum ltn::browse::Style

source · []
pub enum Style {
     Simple,
     Cells,
     Quietness,
     Shortcuts,
-}

Variants

Simple

Cells

Quietness

Shortcuts

Trait Implementations

Returns a copy of the value. Read more

+}

Variants

Simple

Cells

Quietness

Shortcuts

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

This method tests for self and other values to be equal, and is used +

Formats the value using the given formatter. Read more

+

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Convert Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can diff --git a/rustdoc/ltn/browse/fn.advanced_panel.html b/rustdoc/ltn/browse/fn.advanced_panel.html index 6480b8135b..b0adf8a276 100644 --- a/rustdoc/ltn/browse/fn.advanced_panel.html +++ b/rustdoc/ltn/browse/fn.advanced_panel.html @@ -4,5 +4,5 @@

fn advanced_panel(ctx: &EventCtx<'_>, app: &SimpleApp<Session>) -> Widget
+

Function ltn::browse::advanced_panel

source · []
fn advanced_panel(ctx: &EventCtx<'_>, app: &SimpleApp<Session>) -> Widget
\ No newline at end of file diff --git a/rustdoc/ltn/browse/fn.draw_boundary_roads.html b/rustdoc/ltn/browse/fn.draw_boundary_roads.html index 224f36a1ab..a303600365 100644 --- a/rustdoc/ltn/browse/fn.draw_boundary_roads.html +++ b/rustdoc/ltn/browse/fn.draw_boundary_roads.html @@ -4,5 +4,5 @@
pub fn draw_boundary_roads(
    ctx: &EventCtx<'_>,
    app: &SimpleApp<Session>
) -> ToggleZoomed
+

Function ltn::browse::draw_boundary_roads

source · []
pub fn draw_boundary_roads(
    ctx: &EventCtx<'_>,
    app: &SimpleApp<Session>
) -> ToggleZoomed
\ No newline at end of file diff --git a/rustdoc/ltn/browse/fn.draw_over_roads.html b/rustdoc/ltn/browse/fn.draw_over_roads.html index c1c5373c7f..5ab0dc6908 100644 --- a/rustdoc/ltn/browse/fn.draw_over_roads.html +++ b/rustdoc/ltn/browse/fn.draw_over_roads.html @@ -4,5 +4,5 @@
fn draw_over_roads(
    ctx: &mut EventCtx<'_>,
    app: &SimpleApp<Session>,
    timer: &mut Timer<'_>
) -> ToggleZoomed
+

Function ltn::browse::draw_over_roads

source · []
fn draw_over_roads(
    ctx: &mut EventCtx<'_>,
    app: &SimpleApp<Session>
) -> ToggleZoomed
\ No newline at end of file diff --git a/rustdoc/ltn/browse/fn.help.html b/rustdoc/ltn/browse/fn.help.html index 5a1cd200c7..7ef720ff02 100644 --- a/rustdoc/ltn/browse/fn.help.html +++ b/rustdoc/ltn/browse/fn.help.html @@ -4,5 +4,5 @@
-

Function ltn::browse::help

source · []
fn help() -> Vec<&'static str>Notable traits for Vec<u8, A>impl<A> Write for Vec<u8, A> where
    A: Allocator
+

Function ltn::browse::help

source · []
fn help() -> Vec<&'static str>Notable traits for Vec<u8, A>impl<A> Write for Vec<u8, A> where
    A: Allocator
\ No newline at end of file diff --git a/rustdoc/ltn/browse/fn.impact_widget.html b/rustdoc/ltn/browse/fn.impact_widget.html index 6e310fe29a..14f38b52dd 100644 --- a/rustdoc/ltn/browse/fn.impact_widget.html +++ b/rustdoc/ltn/browse/fn.impact_widget.html @@ -4,5 +4,5 @@
fn impact_widget(ctx: &EventCtx<'_>, app: &SimpleApp<Session>) -> Widget
+

Function ltn::browse::impact_widget

source · []
fn impact_widget(ctx: &EventCtx<'_>, app: &SimpleApp<Session>) -> Widget
\ No newline at end of file diff --git a/rustdoc/ltn/browse/fn.make_world.html b/rustdoc/ltn/browse/fn.make_world.html index 2937d2109f..ea62e6f26e 100644 --- a/rustdoc/ltn/browse/fn.make_world.html +++ b/rustdoc/ltn/browse/fn.make_world.html @@ -4,5 +4,5 @@
-

Function ltn::browse::make_world

source · []
fn make_world(
    ctx: &mut EventCtx<'_>,
    app: &SimpleApp<Session>,
    timer: &mut Timer<'_>
) -> World<NeighbourhoodID>
+

Function ltn::browse::make_world

source · []
fn make_world(
    ctx: &mut EventCtx<'_>,
    app: &SimpleApp<Session>
) -> World<NeighbourhoodID>
\ No newline at end of file diff --git a/rustdoc/ltn/browse/index.html b/rustdoc/ltn/browse/index.html index ddcf347298..6b3b973a32 100644 --- a/rustdoc/ltn/browse/index.html +++ b/rustdoc/ltn/browse/index.html @@ -4,7 +4,7 @@
-

Module ltn::browse

source · []

Structs

+

Module ltn::browse

source · []

Structs

Enums

Functions

help 🔒
make_world 🔒
diff --git a/rustdoc/ltn/browse/struct.BrowseNeighbourhoods.html b/rustdoc/ltn/browse/struct.BrowseNeighbourhoods.html index e785b93b5e..3c9c8b2300 100644 --- a/rustdoc/ltn/browse/struct.BrowseNeighbourhoods.html +++ b/rustdoc/ltn/browse/struct.BrowseNeighbourhoods.html @@ -4,16 +4,16 @@
pub struct BrowseNeighbourhoods {
+    

Struct ltn::browse::BrowseNeighbourhoods

source · []
pub struct BrowseNeighbourhoods {
     top_panel: Panel,
     left_panel: Panel,
     world: World<NeighbourhoodID>,
     draw_over_roads: ToggleZoomed,
     labels: DrawRoadLabels,
     draw_boundary_roads: ToggleZoomed,
-}

Fields

top_panel: Panelleft_panel: Panelworld: World<NeighbourhoodID>draw_over_roads: ToggleZoomedlabels: DrawRoadLabelsdraw_boundary_roads: ToggleZoomed

Implementations

Trait Implementations

Respond to a UI event, such as input or time passing.

-

Specifies what to draw before draw()

-

Draw

+}

Fields

top_panel: Panelleft_panel: Panelworld: World<NeighbourhoodID>draw_over_roads: ToggleZoomedlabels: DrawRoadLabelsdraw_boundary_roads: ToggleZoomed

Implementations

Trait Implementations

Respond to a UI event, such as input or time passing.

+

Specifies what to draw before draw()

+

Draw

Before this state is popped or replaced, call this.

Respond to Transition::Recreate by assuming state in the app has changed, but preserving the State-specific state appropriately. Read more

diff --git a/rustdoc/ltn/colors/constant.BLOCK_IN_BOUNDARY.html b/rustdoc/ltn/colors/constant.BLOCK_IN_BOUNDARY.html index 73fdf1674a..2d8af09937 100644 --- a/rustdoc/ltn/colors/constant.BLOCK_IN_BOUNDARY.html +++ b/rustdoc/ltn/colors/constant.BLOCK_IN_BOUNDARY.html @@ -4,5 +4,5 @@
pub const BLOCK_IN_BOUNDARY: Color;
+

Constant ltn::colors::BLOCK_IN_BOUNDARY

source · []
pub const BLOCK_IN_BOUNDARY: Color;
\ No newline at end of file diff --git a/rustdoc/ltn/colors/constant.BLOCK_IN_FRONTIER.html b/rustdoc/ltn/colors/constant.BLOCK_IN_FRONTIER.html index 61b7449ccf..367cd62156 100644 --- a/rustdoc/ltn/colors/constant.BLOCK_IN_FRONTIER.html +++ b/rustdoc/ltn/colors/constant.BLOCK_IN_FRONTIER.html @@ -4,5 +4,5 @@
pub const BLOCK_IN_FRONTIER: Color;
+

Constant ltn::colors::BLOCK_IN_FRONTIER

source · []
pub const BLOCK_IN_FRONTIER: Color;
\ No newline at end of file diff --git a/rustdoc/ltn/colors/constant.SHORTCUT_PATH.html b/rustdoc/ltn/colors/constant.SHORTCUT_PATH.html deleted file mode 100644 index 4b18debc84..0000000000 --- a/rustdoc/ltn/colors/constant.SHORTCUT_PATH.html +++ /dev/null @@ -1,8 +0,0 @@ -SHORTCUT_PATH in ltn::colors - Rust - -
pub const SHORTCUT_PATH: Color;
- \ No newline at end of file diff --git a/rustdoc/ltn/colors/index.html b/rustdoc/ltn/colors/index.html index 8bd32cea7f..751fe1f229 100644 --- a/rustdoc/ltn/colors/index.html +++ b/rustdoc/ltn/colors/index.html @@ -4,7 +4,7 @@
-

Module ltn::colors

source · []

Structs

+

Module ltn::colors

source · []

Structs

Constants

-
+
\ No newline at end of file diff --git a/rustdoc/ltn/colors/sidebar-items.js b/rustdoc/ltn/colors/sidebar-items.js index 25656b5ad6..f71fe2a8c0 100644 --- a/rustdoc/ltn/colors/sidebar-items.js +++ b/rustdoc/ltn/colors/sidebar-items.js @@ -1 +1 @@ -initSidebarItems({"constant":[["BLOCK_IN_BOUNDARY",""],["BLOCK_IN_FRONTIER",""],["DISCONNECTED_CELL",""],["HIGHLIGHT_BOUNDARY_UNZOOMED",""],["HIGHLIGHT_BOUNDARY_ZOOMED",""],["OUTLINE",""],["SHORTCUT_PATH",""]],"struct":[["CELLS",""],["FILTER_INNER",""],["FILTER_OUTER",""],["PLAN_ROUTE_AFTER",""],["PLAN_ROUTE_BEFORE",""],["PLAN_ROUTE_BIKE",""],["PLAN_ROUTE_WALK",""]]}); \ No newline at end of file +initSidebarItems({"constant":[["BLOCK_IN_BOUNDARY",""],["BLOCK_IN_FRONTIER",""],["DISCONNECTED_CELL",""],["HIGHLIGHT_BOUNDARY_UNZOOMED",""],["HIGHLIGHT_BOUNDARY_ZOOMED",""],["OUTLINE",""]],"struct":[["CELLS",""],["FILTER_INNER",""],["FILTER_OUTER",""],["PLAN_ROUTE_AFTER",""],["PLAN_ROUTE_BEFORE",""],["PLAN_ROUTE_BIKE",""],["PLAN_ROUTE_WALK",""]]}); \ No newline at end of file diff --git a/rustdoc/ltn/components/about/index.html b/rustdoc/ltn/components/about/index.html index f47844d1cd..a7eece40c5 100644 --- a/rustdoc/ltn/components/about/index.html +++ b/rustdoc/ltn/components/about/index.html @@ -4,6 +4,6 @@

Structs

+

Module ltn::components::about

source · []

Structs

\ No newline at end of file diff --git a/rustdoc/ltn/components/about/struct.About.html b/rustdoc/ltn/components/about/struct.About.html index 1ccbe6cf4a..1d5b491c1a 100644 --- a/rustdoc/ltn/components/about/struct.About.html +++ b/rustdoc/ltn/components/about/struct.About.html @@ -4,9 +4,9 @@
pub struct About;

Implementations

Trait Implementations

Called when something on the panel has been clicked. Since the action is just a string, +

Struct ltn::components::about::About

source · []
pub struct About;

Implementations

Trait Implementations

Called when something on the panel has been clicked. Since the action is just a string, the fallback case can just use unreachable!(). Read more

-

Called when something on the panel has been clicked.

+

Called when something on the panel has been clicked.

Called when something on the panel has changed. If a transition is returned, stop handling the event and immediately apply the transition. Read more

Called when the mouse has moved.

diff --git a/rustdoc/ltn/components/freehand_filters/index.html b/rustdoc/ltn/components/freehand_filters/index.html deleted file mode 100644 index 44b120591b..0000000000 --- a/rustdoc/ltn/components/freehand_filters/index.html +++ /dev/null @@ -1,9 +0,0 @@ -ltn::components::freehand_filters - Rust - -
- \ No newline at end of file diff --git a/rustdoc/ltn/components/freehand_filters/sidebar-items.js b/rustdoc/ltn/components/freehand_filters/sidebar-items.js deleted file mode 100644 index e97e305075..0000000000 --- a/rustdoc/ltn/components/freehand_filters/sidebar-items.js +++ /dev/null @@ -1 +0,0 @@ -initSidebarItems({"struct":[["FreehandFilters",""]]}); \ No newline at end of file diff --git a/rustdoc/ltn/components/index.html b/rustdoc/ltn/components/index.html index 37869ecead..7cff556fb7 100644 --- a/rustdoc/ltn/components/index.html +++ b/rustdoc/ltn/components/index.html @@ -4,7 +4,7 @@
-

Module ltn::components

source · []

Re-exports

-
pub use freehand_filters::FreehandFilters;
pub use left_panel::LeftPanel;
pub use top_panel::TopPanel;

Modules

-
about 🔒
left_panel 🔒
top_panel 🔒
+

Module ltn::components

source · []

Re-exports

+
pub use left_panel::LeftPanel;
pub use top_panel::TopPanel;

Modules

+
about 🔒
left_panel 🔒
top_panel 🔒
\ No newline at end of file diff --git a/rustdoc/ltn/components/sidebar-items.js b/rustdoc/ltn/components/sidebar-items.js index cf259ea90d..6f2775af91 100644 --- a/rustdoc/ltn/components/sidebar-items.js +++ b/rustdoc/ltn/components/sidebar-items.js @@ -1 +1 @@ -initSidebarItems({"mod":[["about",""],["freehand_filters",""],["left_panel",""],["top_panel",""]]}); \ No newline at end of file +initSidebarItems({"mod":[["about",""],["left_panel",""],["top_panel",""]]}); \ No newline at end of file diff --git a/rustdoc/ltn/connectivity/fn.advanced_panel.html b/rustdoc/ltn/connectivity/fn.advanced_panel.html index 928d736ec4..6335c02ec2 100644 --- a/rustdoc/ltn/connectivity/fn.advanced_panel.html +++ b/rustdoc/ltn/connectivity/fn.advanced_panel.html @@ -4,5 +4,5 @@
fn advanced_panel(ctx: &EventCtx<'_>, app: &SimpleApp<Session>) -> Widget
+

Function ltn::connectivity::advanced_panel

source · []
fn advanced_panel(ctx: &EventCtx<'_>, app: &SimpleApp<Session>) -> Widget
\ No newline at end of file diff --git a/rustdoc/ltn/connectivity/fn.help.html b/rustdoc/ltn/connectivity/fn.help.html index 36251cacc2..cb8af7e39b 100644 --- a/rustdoc/ltn/connectivity/fn.help.html +++ b/rustdoc/ltn/connectivity/fn.help.html @@ -4,5 +4,5 @@
-

Function ltn::connectivity::help

source · []
fn help() -> Vec<&'static str>Notable traits for Vec<u8, A>impl<A> Write for Vec<u8, A> where
    A: Allocator
+

Function ltn::connectivity::help

source · []
fn help() -> Vec<&'static str>Notable traits for Vec<u8, A>impl<A> Write for Vec<u8, A> where
    A: Allocator
\ No newline at end of file diff --git a/rustdoc/ltn/connectivity/fn.setup_editing.html b/rustdoc/ltn/connectivity/fn.setup_editing.html index d37dd05b31..5046159fea 100644 --- a/rustdoc/ltn/connectivity/fn.setup_editing.html +++ b/rustdoc/ltn/connectivity/fn.setup_editing.html @@ -4,5 +4,5 @@
fn setup_editing(
    ctx: &mut EventCtx<'_>,
    app: &SimpleApp<Session>,
    neighbourhood: &Neighbourhood
) -> (EditNeighbourhood, ToggleZoomed, RenderCells, World<DummyID>)
+

Function ltn::connectivity::setup_editing

source · []
fn setup_editing(
    ctx: &mut EventCtx<'_>,
    app: &SimpleApp<Session>,
    neighbourhood: &Neighbourhood
) -> (EditNeighbourhood, ToggleZoomed, Drawable, RenderCells, World<DummyID>)
\ No newline at end of file diff --git a/rustdoc/ltn/connectivity/index.html b/rustdoc/ltn/connectivity/index.html index 577f676e53..dbcde8e5d9 100644 --- a/rustdoc/ltn/connectivity/index.html +++ b/rustdoc/ltn/connectivity/index.html @@ -4,7 +4,7 @@

Structs

+

Module ltn::connectivity

source · []

Structs

Functions

help 🔒
\ No newline at end of file diff --git a/rustdoc/ltn/connectivity/struct.Viewer.html b/rustdoc/ltn/connectivity/struct.Viewer.html index 03de133b7a..0d8e94dc4b 100644 --- a/rustdoc/ltn/connectivity/struct.Viewer.html +++ b/rustdoc/ltn/connectivity/struct.Viewer.html @@ -3,19 +3,20 @@

pub struct Viewer {
+        

Viewer

pub struct Viewer {
     top_panel: Panel,
     left_panel: Panel,
     neighbourhood: Neighbourhood,
     draw_top_layer: ToggleZoomed,
+    draw_under_roads_layer: Drawable,
     highlight_cell: World<DummyID>,
     edit: EditNeighbourhood,
     show_error: Drawable,
-}

Fields

top_panel: Panelleft_panel: Panelneighbourhood: Neighbourhooddraw_top_layer: ToggleZoomedhighlight_cell: World<DummyID>edit: EditNeighbourhoodshow_error: Drawable

Implementations

Trait Implementations

Respond to a UI event, such as input or time passing.

-

Specifies what to draw before draw()

-

Draw

-

Respond to Transition::Recreate by assuming state in the app has changed, but preserving +}

Fields

top_panel: Panelleft_panel: Panelneighbourhood: Neighbourhooddraw_top_layer: ToggleZoomeddraw_under_roads_layer: Drawablehighlight_cell: World<DummyID>edit: EditNeighbourhoodshow_error: Drawable

Implementations

Trait Implementations

Respond to a UI event, such as input or time passing.

+

Specifies what to draw before draw()

+

Draw

+

Respond to Transition::Recreate by assuming state in the app has changed, but preserving the State-specific state appropriately. Read more

Before this state is popped or replaced, call this.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

diff --git a/rustdoc/ltn/edit/enum.Tab.html b/rustdoc/ltn/edit/enum.EditMode.html similarity index 64% rename from rustdoc/ltn/edit/enum.Tab.html rename to rustdoc/ltn/edit/enum.EditMode.html index 2c3845ada2..8a807a01ae 100644 --- a/rustdoc/ltn/edit/enum.Tab.html +++ b/rustdoc/ltn/edit/enum.EditMode.html @@ -1,16 +1,15 @@ -Tab in ltn::edit - Rust +EditMode in ltn::edit - Rust
-

Enum ltn::edit::Tab

source · []
pub enum Tab {
-    Connectivity,
-    Shortcuts,
-}

Variants

Connectivity

Shortcuts

Implementations

Trait Implementations

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

EditMode

pub enum EditMode {
+    Filters,
+    FreehandFilters(PolyLineLasso),
+    Oneways,
+    Shortcuts(Option<FocusedRoad>),
+}

Variants

Filters

FreehandFilters(PolyLineLasso)

Oneways

Shortcuts(Option<FocusedRoad>)

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Convert Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can diff --git a/rustdoc/ltn/edit/enum.EditOutcome.html b/rustdoc/ltn/edit/enum.EditOutcome.html index 284356ba64..e944d1f2b6 100644 --- a/rustdoc/ltn/edit/enum.EditOutcome.html +++ b/rustdoc/ltn/edit/enum.EditOutcome.html @@ -3,13 +3,15 @@

pub enum EditOutcome {
+        

EditOutcome

pub enum EditOutcome {
     Nothing,
-    Recalculate,
+    UpdatePanelAndWorld,
     Transition(Transition<SimpleApp<Session>>),
-}

Variants

Nothing

Recalculate

The neighbourhood has changed and the caller should recalculate stuff, including the panel

-

Transition(Transition<SimpleApp<Session>>)

Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+}

Variants

Nothing

UpdatePanelAndWorld

Don’t recreate the Neighbourhood

+

Transition(Transition<SimpleApp<Session>>)

Use this with Transition::Recreate to recalculate the Neighbourhood, because it’s actually +been edited

+

Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Convert Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can diff --git a/rustdoc/ltn/edit/enum.Obj.html b/rustdoc/ltn/edit/enum.Obj.html index 969d9aad47..2c8be65a04 100644 --- a/rustdoc/ltn/edit/enum.Obj.html +++ b/rustdoc/ltn/edit/enum.Obj.html @@ -4,29 +4,29 @@

-

Enum ltn::edit::Obj

source · []
pub enum Obj {
+    

Enum ltn::edit::Obj

source · []
pub enum Obj {
     InteriorRoad(RoadID),
     InteriorIntersection(IntersectionID),
-}

Variants

InteriorRoad(RoadID)

InteriorIntersection(IntersectionID)

Trait Implementations

Returns a copy of the value. Read more

+}

Variants

InteriorRoad(RoadID)

InteriorIntersection(IntersectionID)

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Feeds this value into the given Hasher. Read more

+

Formats the value using the given formatter. Read more

+

Feeds this value into the given Hasher. Read more

Feeds a slice of this type into the given Hasher. Read more

-

This method returns an Ordering between self and other. Read more

+

This method returns an Ordering between self and other. Read more

Compares and returns the maximum of two values. Read more

Compares and returns the minimum of two values. Read more

Restrict a value to a certain interval. Read more

-

This method tests for self and other values to be equal, and is used +

This method tests for self and other values to be equal, and is used by ==. Read more

-

This method tests for !=.

-

This method returns an ordering between self and other values if one exists. Read more

+

This method tests for !=.

+

This method returns an ordering between self and other values if one exists. Read more

This method tests less than (for self and other) and is used by the < operator. Read more

This method tests less than or equal to (for self and other) and is used by the <= operator. Read more

This method tests greater than (for self and other) and is used by the > operator. Read more

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Convert Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can diff --git a/rustdoc/ltn/edit/filters/fn.handle_world_outcome.html b/rustdoc/ltn/edit/filters/fn.handle_world_outcome.html index 26676b7bd7..b5af1dce4c 100644 --- a/rustdoc/ltn/edit/filters/fn.handle_world_outcome.html +++ b/rustdoc/ltn/edit/filters/fn.handle_world_outcome.html @@ -4,5 +4,5 @@

pub fn handle_world_outcome(
    ctx: &mut EventCtx<'_>,
    app: &mut SimpleApp<Session>,
    outcome: WorldOutcome<Obj>
) -> EditOutcome
+

Function ltn::edit::filters::handle_world_outcome

source · []
pub fn handle_world_outcome(
    ctx: &mut EventCtx<'_>,
    app: &mut SimpleApp<Session>,
    outcome: WorldOutcome<Obj>
) -> EditOutcome
\ No newline at end of file diff --git a/rustdoc/ltn/edit/filters/fn.make_world.html b/rustdoc/ltn/edit/filters/fn.make_world.html index f05ba905a4..043b65e9e5 100644 --- a/rustdoc/ltn/edit/filters/fn.make_world.html +++ b/rustdoc/ltn/edit/filters/fn.make_world.html @@ -4,7 +4,7 @@
pub fn make_world(
    ctx: &mut EventCtx<'_>,
    app: &SimpleApp<Session>,
    neighbourhood: &Neighbourhood,
    shortcuts: &Shortcuts
) -> World<Obj>
Expand description

Creates clickable objects for managing filters on roads and intersections. Everything is +

Function ltn::edit::filters::make_world

source · []
pub fn make_world(
    ctx: &mut EventCtx<'_>,
    app: &SimpleApp<Session>,
    neighbourhood: &Neighbourhood
) -> World<Obj>
Expand description

Creates clickable objects for managing filters on roads and intersections. Everything is invisible; the caller is responsible for drawing things.

\ No newline at end of file diff --git a/rustdoc/ltn/edit/filters/fn.widget.html b/rustdoc/ltn/edit/filters/fn.widget.html index 7ddcde8465..2f502d9434 100644 --- a/rustdoc/ltn/edit/filters/fn.widget.html +++ b/rustdoc/ltn/edit/filters/fn.widget.html @@ -4,5 +4,5 @@
-

Function ltn::edit::filters::widget

source · []
pub fn widget(ctx: &mut EventCtx<'_>, app: &SimpleApp<Session>) -> Widget
+

Function ltn::edit::filters::widget

source · []
pub fn widget(ctx: &mut EventCtx<'_>) -> Widget
\ No newline at end of file diff --git a/rustdoc/ltn/edit/filters/index.html b/rustdoc/ltn/edit/filters/index.html index 58ccca4714..274b1d9eba 100644 --- a/rustdoc/ltn/edit/filters/index.html +++ b/rustdoc/ltn/edit/filters/index.html @@ -4,7 +4,7 @@

Functions

Creates clickable objects for managing filters on roads and intersections. Everything is invisible; the caller is responsible for drawing things.

diff --git a/rustdoc/ltn/edit/fn.edit_mode.html b/rustdoc/ltn/edit/fn.edit_mode.html index 0b4c805580..bdb82d3980 100644 --- a/rustdoc/ltn/edit/fn.edit_mode.html +++ b/rustdoc/ltn/edit/fn.edit_mode.html @@ -4,5 +4,5 @@
-

Function ltn::edit::edit_mode

source · []
fn edit_mode(ctx: &mut EventCtx<'_>, filters: bool) -> Widget
+

Function ltn::edit::edit_mode

source · []
fn edit_mode(ctx: &mut EventCtx<'_>, edit_mode: &EditMode) -> Widget
\ No newline at end of file diff --git a/rustdoc/ltn/edit/freehand_filters/fn.event.html b/rustdoc/ltn/edit/freehand_filters/fn.event.html new file mode 100644 index 0000000000..f9320cd386 --- /dev/null +++ b/rustdoc/ltn/edit/freehand_filters/fn.event.html @@ -0,0 +1,8 @@ +event in ltn::edit::freehand_filters - Rust + +
pub fn event(
    ctx: &mut EventCtx<'_>,
    app: &mut SimpleApp<Session>,
    neighbourhood: &Neighbourhood
) -> EditOutcome
+ \ No newline at end of file diff --git a/rustdoc/ltn/edit/freehand_filters/fn.make_filters_along_path.html b/rustdoc/ltn/edit/freehand_filters/fn.make_filters_along_path.html new file mode 100644 index 0000000000..6657c8d4ed --- /dev/null +++ b/rustdoc/ltn/edit/freehand_filters/fn.make_filters_along_path.html @@ -0,0 +1,8 @@ +make_filters_along_path in ltn::edit::freehand_filters - Rust + +
fn make_filters_along_path(
    ctx: &mut EventCtx<'_>,
    app: &mut SimpleApp<Session>,
    neighbourhood: &Neighbourhood,
    path: PolyLine
)
+ \ No newline at end of file diff --git a/rustdoc/ltn/edit/freehand_filters/fn.widget.html b/rustdoc/ltn/edit/freehand_filters/fn.widget.html new file mode 100644 index 0000000000..8e512e8bda --- /dev/null +++ b/rustdoc/ltn/edit/freehand_filters/fn.widget.html @@ -0,0 +1,8 @@ +widget in ltn::edit::freehand_filters - Rust + +
pub fn widget(ctx: &mut EventCtx<'_>) -> Widget
+ \ No newline at end of file diff --git a/rustdoc/ltn/edit/freehand_filters/index.html b/rustdoc/ltn/edit/freehand_filters/index.html new file mode 100644 index 0000000000..0c9803ed92 --- /dev/null +++ b/rustdoc/ltn/edit/freehand_filters/index.html @@ -0,0 +1,9 @@ +ltn::edit::freehand_filters - Rust + +
+ \ No newline at end of file diff --git a/rustdoc/ltn/edit/freehand_filters/sidebar-items.js b/rustdoc/ltn/edit/freehand_filters/sidebar-items.js new file mode 100644 index 0000000000..f1235a887e --- /dev/null +++ b/rustdoc/ltn/edit/freehand_filters/sidebar-items.js @@ -0,0 +1 @@ +initSidebarItems({"fn":[["event",""],["make_filters_along_path",""],["widget",""]]}); \ No newline at end of file diff --git a/rustdoc/ltn/edit/index.html b/rustdoc/ltn/edit/index.html index 5343681342..ba7f56de9c 100644 --- a/rustdoc/ltn/edit/index.html +++ b/rustdoc/ltn/edit/index.html @@ -4,9 +4,9 @@
-

Module ltn::edit

source · []

Modules

-
filters 🔒
one_ways 🔒

Structs

+

Module ltn::edit

source · []

Modules

+
filters 🔒
one_ways 🔒
shortcuts 🔒

Structs

Enums

-

Functions

+

Functions

edit_mode 🔒
\ No newline at end of file diff --git a/rustdoc/ltn/edit/one_ways/fn.handle_world_outcome.html b/rustdoc/ltn/edit/one_ways/fn.handle_world_outcome.html index 6d1f83a091..841abc3949 100644 --- a/rustdoc/ltn/edit/one_ways/fn.handle_world_outcome.html +++ b/rustdoc/ltn/edit/one_ways/fn.handle_world_outcome.html @@ -4,5 +4,5 @@
pub fn handle_world_outcome(
    ctx: &mut EventCtx<'_>,
    app: &mut SimpleApp<Session>,
    outcome: WorldOutcome<Obj>
) -> EditOutcome
+

Function ltn::edit::one_ways::handle_world_outcome

source · []
pub fn handle_world_outcome(
    ctx: &mut EventCtx<'_>,
    app: &mut SimpleApp<Session>,
    outcome: WorldOutcome<Obj>
) -> EditOutcome
\ No newline at end of file diff --git a/rustdoc/ltn/edit/one_ways/fn.make_world.html b/rustdoc/ltn/edit/one_ways/fn.make_world.html index 99dfd2ddfa..6d868734ba 100644 --- a/rustdoc/ltn/edit/one_ways/fn.make_world.html +++ b/rustdoc/ltn/edit/one_ways/fn.make_world.html @@ -4,5 +4,5 @@
pub fn make_world(
    ctx: &mut EventCtx<'_>,
    app: &SimpleApp<Session>,
    neighbourhood: &Neighbourhood
) -> World<Obj>
+

Function ltn::edit::one_ways::make_world

source · []
pub fn make_world(
    ctx: &mut EventCtx<'_>,
    app: &SimpleApp<Session>,
    neighbourhood: &Neighbourhood
) -> World<Obj>
\ No newline at end of file diff --git a/rustdoc/ltn/edit/one_ways/fn.widget.html b/rustdoc/ltn/edit/one_ways/fn.widget.html index 38c8187513..bf805fba72 100644 --- a/rustdoc/ltn/edit/one_ways/fn.widget.html +++ b/rustdoc/ltn/edit/one_ways/fn.widget.html @@ -4,5 +4,5 @@
-

Function ltn::edit::one_ways::widget

source · []
pub fn widget(ctx: &mut EventCtx<'_>) -> Widget
+

Function ltn::edit::one_ways::widget

source · []
pub fn widget(ctx: &mut EventCtx<'_>) -> Widget
\ No newline at end of file diff --git a/rustdoc/ltn/edit/one_ways/index.html b/rustdoc/ltn/edit/one_ways/index.html index 4a5df51f47..61c1e0f956 100644 --- a/rustdoc/ltn/edit/one_ways/index.html +++ b/rustdoc/ltn/edit/one_ways/index.html @@ -4,6 +4,6 @@

Functions

\ No newline at end of file diff --git a/rustdoc/ltn/edit/shortcuts/fn.handle_world_outcome.html b/rustdoc/ltn/edit/shortcuts/fn.handle_world_outcome.html new file mode 100644 index 0000000000..32afc597d1 --- /dev/null +++ b/rustdoc/ltn/edit/shortcuts/fn.handle_world_outcome.html @@ -0,0 +1,8 @@ +handle_world_outcome in ltn::edit::shortcuts - Rust + +
pub fn handle_world_outcome(
    app: &mut SimpleApp<Session>,
    outcome: WorldOutcome<Obj>,
    neighbourhood: &Neighbourhood
) -> EditOutcome
+ \ No newline at end of file diff --git a/rustdoc/ltn/edit/shortcuts/fn.make_world.html b/rustdoc/ltn/edit/shortcuts/fn.make_world.html new file mode 100644 index 0000000000..dbd050e488 --- /dev/null +++ b/rustdoc/ltn/edit/shortcuts/fn.make_world.html @@ -0,0 +1,8 @@ +make_world in ltn::edit::shortcuts - Rust + +
pub fn make_world(
    ctx: &mut EventCtx<'_>,
    app: &SimpleApp<Session>,
    neighbourhood: &Neighbourhood,
    focus: &Option<FocusedRoad>
) -> World<Obj>
+ \ No newline at end of file diff --git a/rustdoc/ltn/edit/shortcuts/fn.widget.html b/rustdoc/ltn/edit/shortcuts/fn.widget.html new file mode 100644 index 0000000000..cacd7a344e --- /dev/null +++ b/rustdoc/ltn/edit/shortcuts/fn.widget.html @@ -0,0 +1,8 @@ +widget in ltn::edit::shortcuts - Rust + +
+

Function ltn::edit::shortcuts::widget

source · []
pub fn widget(
    ctx: &mut EventCtx<'_>,
    app: &SimpleApp<Session>,
    focus: Option<&FocusedRoad>
) -> Widget
+ \ No newline at end of file diff --git a/rustdoc/ltn/edit/shortcuts/index.html b/rustdoc/ltn/edit/shortcuts/index.html new file mode 100644 index 0000000000..98fbfd4eff --- /dev/null +++ b/rustdoc/ltn/edit/shortcuts/index.html @@ -0,0 +1,10 @@ +ltn::edit::shortcuts - Rust + +
+ \ No newline at end of file diff --git a/rustdoc/ltn/edit/shortcuts/sidebar-items.js b/rustdoc/ltn/edit/shortcuts/sidebar-items.js new file mode 100644 index 0000000000..5ad1085682 --- /dev/null +++ b/rustdoc/ltn/edit/shortcuts/sidebar-items.js @@ -0,0 +1 @@ +initSidebarItems({"fn":[["handle_world_outcome",""],["make_world",""],["widget",""]],"struct":[["FocusedRoad",""]]}); \ No newline at end of file diff --git a/rustdoc/ltn/components/freehand_filters/struct.FreehandFilters.html b/rustdoc/ltn/edit/shortcuts/struct.FocusedRoad.html similarity index 54% rename from rustdoc/ltn/components/freehand_filters/struct.FreehandFilters.html rename to rustdoc/ltn/edit/shortcuts/struct.FocusedRoad.html index 92d094a4de..a16bf87ad2 100644 --- a/rustdoc/ltn/components/freehand_filters/struct.FreehandFilters.html +++ b/rustdoc/ltn/edit/shortcuts/struct.FocusedRoad.html @@ -1,22 +1,14 @@ -FreehandFilters in ltn::components::freehand_filters - Rust +FocusedRoad in ltn::edit::shortcuts - Rust
pub struct FreehandFilters {
-    lasso: PolyLineLasso,
-    perimeter: Perimeter,
-    interior_intersections: BTreeSet<IntersectionID>,
-    instructions: Text,
-    instructions_at: ScreenPt,
-}

Fields

lasso: PolyLineLassoperimeter: Perimeterinterior_intersections: BTreeSet<IntersectionID>instructions: Textinstructions_at: ScreenPt

Implementations

Trait Implementations

Respond to a UI event, such as input or time passing.

-

Draw

-

Specifies what to draw before draw()

-

Before this state is popped or replaced, call this.

-

Respond to Transition::Recreate by assuming state in the app has changed, but preserving -the State-specific state appropriately. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

FocusedRoad

pub struct FocusedRoad {
+    pub r: RoadID,
+    pub paths: Vec<Path>,
+    pub current_idx: usize,
+}

Fields

r: RoadIDpaths: Vec<Path>current_idx: usize

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Convert Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can diff --git a/rustdoc/ltn/edit/sidebar-items.js b/rustdoc/ltn/edit/sidebar-items.js index 54a20a2e64..04d24ebe07 100644 --- a/rustdoc/ltn/edit/sidebar-items.js +++ b/rustdoc/ltn/edit/sidebar-items.js @@ -1 +1 @@ -initSidebarItems({"enum":[["EditOutcome",""],["Obj",""],["Tab",""]],"fn":[["edit_mode",""]],"mod":[["filters",""],["one_ways",""]],"struct":[["EditNeighbourhood",""]]}); \ No newline at end of file +initSidebarItems({"enum":[["EditMode",""],["EditOutcome",""],["Obj",""]],"fn":[["edit_mode",""]],"mod":[["filters",""],["freehand_filters",""],["one_ways",""],["shortcuts",""]],"struct":[["EditNeighbourhood",""]]}); \ No newline at end of file diff --git a/rustdoc/ltn/edit/struct.EditNeighbourhood.html b/rustdoc/ltn/edit/struct.EditNeighbourhood.html index f6b4e7f161..adcad234f5 100644 --- a/rustdoc/ltn/edit/struct.EditNeighbourhood.html +++ b/rustdoc/ltn/edit/struct.EditNeighbourhood.html @@ -4,9 +4,9 @@

pub struct EditNeighbourhood {
+    

Struct ltn::edit::EditNeighbourhood

source · []
pub struct EditNeighbourhood {
     pub world: World<Obj>,
-}

Fields

world: World<Obj>

Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+}

Fields

world: World<Obj>

Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Convert Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can diff --git a/rustdoc/ltn/filters/auto/enum.Heuristic.html b/rustdoc/ltn/filters/auto/enum.Heuristic.html index b09b292724..acb0292819 100644 --- a/rustdoc/ltn/filters/auto/enum.Heuristic.html +++ b/rustdoc/ltn/filters/auto/enum.Heuristic.html @@ -4,7 +4,7 @@

pub enum Heuristic {
+    

Enum ltn::filters::auto::Heuristic

source · []
pub enum Heuristic {
     Greedy,
     BruteForce,
     SplitCells,
@@ -18,13 +18,13 @@ step by the least resulting shortcuts.

SplitCells

Find one filter that splits a cell, maximizing the number of streets in each new cell.

OnlyOneBorder

Per cell, close all borders except for one. This doesn’t affect connectivity, but prevents all shortcuts.

-

Implementations

Trait Implementations

Returns a copy of the value. Read more

+

Implementations

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

This method tests for self and other values to be equal, and is used +

Formats the value using the given formatter. Read more

+

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Convert Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can diff --git a/rustdoc/ltn/filters/auto/fn.brute_force.html b/rustdoc/ltn/filters/auto/fn.brute_force.html index 92d3b57fe4..30175d11a1 100644 --- a/rustdoc/ltn/filters/auto/fn.brute_force.html +++ b/rustdoc/ltn/filters/auto/fn.brute_force.html @@ -4,5 +4,5 @@

fn brute_force(
    ctx: &EventCtx<'_>,
    app: &mut SimpleApp<Session>,
    neighbourhood: &Neighbourhood,
    timer: &mut Timer<'_>
)
+

Function ltn::filters::auto::brute_force

source · []
fn brute_force(
    ctx: &EventCtx<'_>,
    app: &mut SimpleApp<Session>,
    neighbourhood: &Neighbourhood,
    timer: &mut Timer<'_>
)
\ No newline at end of file diff --git a/rustdoc/ltn/filters/auto/fn.greedy.html b/rustdoc/ltn/filters/auto/fn.greedy.html index 1a5c85f550..b083124736 100644 --- a/rustdoc/ltn/filters/auto/fn.greedy.html +++ b/rustdoc/ltn/filters/auto/fn.greedy.html @@ -4,5 +4,5 @@
-

Function ltn::filters::auto::greedy

source · []
fn greedy(
    ctx: &EventCtx<'_>,
    app: &mut SimpleApp<Session>,
    neighbourhood: &Neighbourhood,
    timer: &mut Timer<'_>
)
+

Function ltn::filters::auto::greedy

source · []
fn greedy(
    ctx: &EventCtx<'_>,
    app: &mut SimpleApp<Session>,
    neighbourhood: &Neighbourhood
)
\ No newline at end of file diff --git a/rustdoc/ltn/filters/auto/fn.only_one_border.html b/rustdoc/ltn/filters/auto/fn.only_one_border.html index 7cc92e8143..df5fc3a514 100644 --- a/rustdoc/ltn/filters/auto/fn.only_one_border.html +++ b/rustdoc/ltn/filters/auto/fn.only_one_border.html @@ -4,5 +4,5 @@
fn only_one_border(app: &mut SimpleApp<Session>, neighbourhood: &Neighbourhood)
+

Function ltn::filters::auto::only_one_border

source · []
fn only_one_border(app: &mut SimpleApp<Session>, neighbourhood: &Neighbourhood)
\ No newline at end of file diff --git a/rustdoc/ltn/filters/auto/fn.split_cells.html b/rustdoc/ltn/filters/auto/fn.split_cells.html index d66dfb4cbe..a898ef3515 100644 --- a/rustdoc/ltn/filters/auto/fn.split_cells.html +++ b/rustdoc/ltn/filters/auto/fn.split_cells.html @@ -4,5 +4,5 @@
fn split_cells(
    ctx: &EventCtx<'_>,
    app: &mut SimpleApp<Session>,
    neighbourhood: &Neighbourhood,
    timer: &mut Timer<'_>
)
+

Function ltn::filters::auto::split_cells

source · []
fn split_cells(
    ctx: &EventCtx<'_>,
    app: &mut SimpleApp<Session>,
    neighbourhood: &Neighbourhood,
    timer: &mut Timer<'_>
)
\ No newline at end of file diff --git a/rustdoc/ltn/filters/auto/fn.try_to_filter_road.html b/rustdoc/ltn/filters/auto/fn.try_to_filter_road.html index 99a48dd8e1..58ce8a57c2 100644 --- a/rustdoc/ltn/filters/auto/fn.try_to_filter_road.html +++ b/rustdoc/ltn/filters/auto/fn.try_to_filter_road.html @@ -4,5 +4,5 @@
fn try_to_filter_road(
    ctx: &EventCtx<'_>,
    app: &mut SimpleApp<Session>,
    neighbourhood: &Neighbourhood,
    r: RoadID
) -> Option<Neighbourhood>
+

Function ltn::filters::auto::try_to_filter_road

source · []
fn try_to_filter_road(
    ctx: &EventCtx<'_>,
    app: &mut SimpleApp<Session>,
    neighbourhood: &Neighbourhood,
    r: RoadID
) -> Option<Neighbourhood>
\ No newline at end of file diff --git a/rustdoc/ltn/filters/auto/index.html b/rustdoc/ltn/filters/auto/index.html index 467054b11d..093a38937b 100644 --- a/rustdoc/ltn/filters/auto/index.html +++ b/rustdoc/ltn/filters/auto/index.html @@ -4,7 +4,7 @@
-

Module ltn::filters::auto

source · []
Expand description

Experiments to make a neighbourhood be low-traffic by automatically placing filters to prevent +

Module ltn::filters::auto

source · []
Expand description

Experiments to make a neighbourhood be low-traffic by automatically placing filters to prevent all shortcuts.

Enums

Functions

diff --git a/rustdoc/ltn/fn.after_edit.html b/rustdoc/ltn/fn.after_edit.html index 8420c4c55c..bbc2601614 100644 --- a/rustdoc/ltn/fn.after_edit.html +++ b/rustdoc/ltn/fn.after_edit.html @@ -4,5 +4,5 @@
-

Function ltn::after_edit

source · []
pub fn after_edit(ctx: &EventCtx<'_>, app: &mut SimpleApp<Session>)
+

Function ltn::after_edit

source · []
pub fn after_edit(ctx: &EventCtx<'_>, app: &mut SimpleApp<Session>)
\ No newline at end of file diff --git a/rustdoc/ltn/fn.clear_current_proposal.html b/rustdoc/ltn/fn.clear_current_proposal.html index eece120f84..5671ec973e 100644 --- a/rustdoc/ltn/fn.clear_current_proposal.html +++ b/rustdoc/ltn/fn.clear_current_proposal.html @@ -4,5 +4,5 @@
pub fn clear_current_proposal(
    ctx: &mut EventCtx<'_>,
    app: &mut SimpleApp<Session>,
    timer: &mut Timer<'_>
)
+

Function ltn::clear_current_proposal

source · []
pub fn clear_current_proposal(
    ctx: &mut EventCtx<'_>,
    app: &mut SimpleApp<Session>,
    timer: &mut Timer<'_>
)
\ No newline at end of file diff --git a/rustdoc/ltn/fn.draw_with_layering.html b/rustdoc/ltn/fn.draw_with_layering.html index e90d4baacf..33fda4bd4b 100644 --- a/rustdoc/ltn/fn.draw_with_layering.html +++ b/rustdoc/ltn/fn.draw_with_layering.html @@ -4,7 +4,7 @@
pub(crate) fn draw_with_layering<F: Fn(&mut GfxCtx<'_>)>(
    g: &mut GfxCtx<'_>,
    app: &SimpleApp<Session>,
    custom: F
)
Expand description

Do the equivalent of SimpleApp::draw_unzoomed or draw_zoomed, but after the water/park +

Function ltn::draw_with_layering

source · []
pub(crate) fn draw_with_layering<F: Fn(&mut GfxCtx<'_>)>(
    g: &mut GfxCtx<'_>,
    app: &SimpleApp<Session>,
    custom: F
)
Expand description

Do the equivalent of SimpleApp::draw_unzoomed or draw_zoomed, but after the water/park areas layer, draw something custom.

\ No newline at end of file diff --git a/rustdoc/ltn/fn.main.html b/rustdoc/ltn/fn.main.html index 1f3b9b75cc..62932a62da 100644 --- a/rustdoc/ltn/fn.main.html +++ b/rustdoc/ltn/fn.main.html @@ -4,5 +4,5 @@
-

Function ltn::main

source · []
pub fn main()
+

Function ltn::main

source · []
pub fn main()
\ No newline at end of file diff --git a/rustdoc/ltn/fn.run.html b/rustdoc/ltn/fn.run.html index 0147bf1ac6..34af9182a8 100644 --- a/rustdoc/ltn/fn.run.html +++ b/rustdoc/ltn/fn.run.html @@ -4,5 +4,5 @@
-

Function ltn::run

source · []
pub(crate) fn run(settings: Settings)
+

Function ltn::run

source · []
pub(crate) fn run(settings: Settings)
\ No newline at end of file diff --git a/rustdoc/ltn/index.html b/rustdoc/ltn/index.html index d336e8239e..c99ad4178f 100644 --- a/rustdoc/ltn/index.html +++ b/rustdoc/ltn/index.html @@ -4,8 +4,8 @@
-

Crate ltn

source · []

Modules

-
browse 🔒
colors 🔒
components 🔒
draw_cells 🔒
edit 🔒
export 🔒
filters 🔒
impact 🔒
partition 🔒
save 🔒
shortcuts 🔒

Structs

+

Crate ltn

source · []

Modules

+
browse 🔒
colors 🔒
components 🔒
draw_cells 🔒
edit 🔒
export 🔒
filters 🔒
impact 🔒
partition 🔒
save 🔒
shortcuts 🔒

Structs

Args 🔒

A partitioning of the interior of a neighbourhood based on driving connectivity

A diagonal filter exists in an intersection. It’s defined by two roads (the order is arbitrary). When all of the intersection’s roads are sorted in clockwise order, this pair of diff --git a/rustdoc/ltn/neighbourhood/fn.find_cells.html b/rustdoc/ltn/neighbourhood/fn.find_cells.html index 8c4521bec0..e98448286f 100644 --- a/rustdoc/ltn/neighbourhood/fn.find_cells.html +++ b/rustdoc/ltn/neighbourhood/fn.find_cells.html @@ -4,5 +4,5 @@

fn find_cells(
    map: &Map,
    perimeter: &Perimeter,
    borders: &BTreeSet<IntersectionID>,
    modal_filters: &ModalFilters
) -> Vec<Cell>Notable traits for Vec<u8, A>impl<A> Write for Vec<u8, A> where
    A: Allocator
+

Function ltn::neighbourhood::find_cells

source · []
fn find_cells(
    map: &Map,
    perimeter: &Perimeter,
    borders: &BTreeSet<IntersectionID>,
    modal_filters: &ModalFilters
) -> Vec<Cell>Notable traits for Vec<u8, A>impl<A> Write for Vec<u8, A> where
    A: Allocator
\ No newline at end of file diff --git a/rustdoc/ltn/neighbourhood/fn.floodfill.html b/rustdoc/ltn/neighbourhood/fn.floodfill.html index b860b55a90..cd0dfa2a39 100644 --- a/rustdoc/ltn/neighbourhood/fn.floodfill.html +++ b/rustdoc/ltn/neighbourhood/fn.floodfill.html @@ -4,5 +4,5 @@
fn floodfill(
    map: &Map,
    start: RoadID,
    neighbourhood_borders: &BTreeSet<IntersectionID>,
    modal_filters: &ModalFilters
) -> Cell
+

Function ltn::neighbourhood::floodfill

source · []
fn floodfill(
    map: &Map,
    start: RoadID,
    neighbourhood_borders: &BTreeSet<IntersectionID>,
    modal_filters: &ModalFilters
) -> Cell
\ No newline at end of file diff --git a/rustdoc/ltn/neighbourhood/index.html b/rustdoc/ltn/neighbourhood/index.html index 80f0a754b2..a0b4a5e8a8 100644 --- a/rustdoc/ltn/neighbourhood/index.html +++ b/rustdoc/ltn/neighbourhood/index.html @@ -4,7 +4,7 @@

Structs

A partitioning of the interior of a neighbourhood based on driving connectivity

An interval along a road’s length, with start < end.

Functions

diff --git a/rustdoc/ltn/neighbourhood/struct.Neighbourhood.html b/rustdoc/ltn/neighbourhood/struct.Neighbourhood.html index e191737bda..26f0f26e09 100644 --- a/rustdoc/ltn/neighbourhood/struct.Neighbourhood.html +++ b/rustdoc/ltn/neighbourhood/struct.Neighbourhood.html @@ -3,17 +3,18 @@

pub struct Neighbourhood {
+        

Neighbourhood

pub struct Neighbourhood {
     pub id: NeighbourhoodID,
     pub orig_perimeter: Perimeter,
     pub perimeter: BTreeSet<RoadID>,
     pub borders: BTreeSet<IntersectionID>,
     pub interior_intersections: BTreeSet<IntersectionID>,
     pub cells: Vec<Cell>,
+    pub shortcuts: Shortcuts,
     pub fade_irrelevant: Drawable,
     pub labels: DrawRoadLabels,
-}

Fields

id: NeighbourhoodIDorig_perimeter: Perimeterperimeter: BTreeSet<RoadID>borders: BTreeSet<IntersectionID>interior_intersections: BTreeSet<IntersectionID>cells: Vec<Cell>fade_irrelevant: Drawablelabels: DrawRoadLabels

Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+}

Fields

id: NeighbourhoodIDorig_perimeter: Perimeterperimeter: BTreeSet<RoadID>borders: BTreeSet<IntersectionID>interior_intersections: BTreeSet<IntersectionID>cells: Vec<Cell>shortcuts: Shortcutsfade_irrelevant: Drawablelabels: DrawRoadLabels

Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Convert Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can diff --git a/rustdoc/ltn/save/enum.PreserveState.html b/rustdoc/ltn/save/enum.PreserveState.html index 7baf246f39..663b6b8e9d 100644 --- a/rustdoc/ltn/save/enum.PreserveState.html +++ b/rustdoc/ltn/save/enum.PreserveState.html @@ -3,13 +3,12 @@

+

PreserveState

pub enum PreserveState {
     BrowseNeighbourhoods,
     Route,
     Connectivity(Vec<BlockID>),
-    Shortcuts(Option<PathRequest>, Vec<BlockID>),
-}

Variants

BrowseNeighbourhoods

Route

Connectivity(Vec<BlockID>)

Shortcuts(Option<PathRequest>, Vec<BlockID>)

Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+}

Variants

BrowseNeighbourhoods

Route

Connectivity(Vec<BlockID>)

Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Convert Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can diff --git a/rustdoc/ltn/save/index.html b/rustdoc/ltn/save/index.html index c3b0b677b4..cd5e95b285 100644 --- a/rustdoc/ltn/save/index.html +++ b/rustdoc/ltn/save/index.html @@ -4,7 +4,7 @@

-

Module ltn::save

source · []

Modules

+

Module ltn::save

source · []

Modules

perma 🔒

The Proposal struct references IntersectionIDs and RoadIDs, which won’t survive OSM updates. Similar to the MapEdits <-> PermanentMapEdits strategy, transform those IDs before saving.

Structs

diff --git a/rustdoc/ltn/select_boundary/fn.help.html b/rustdoc/ltn/select_boundary/fn.help.html index 9c8587bf47..4a4349c0f3 100644 --- a/rustdoc/ltn/select_boundary/fn.help.html +++ b/rustdoc/ltn/select_boundary/fn.help.html @@ -4,5 +4,5 @@
fn help() -> Vec<&'static str>Notable traits for Vec<u8, A>impl<A> Write for Vec<u8, A> where
    A: Allocator
+

Function ltn::select_boundary::help

source · []
fn help() -> Vec<&'static str>Notable traits for Vec<u8, A>impl<A> Write for Vec<u8, A> where
    A: Allocator
\ No newline at end of file diff --git a/rustdoc/ltn/select_boundary/fn.make_panel.html b/rustdoc/ltn/select_boundary/fn.make_panel.html index 512d8118d5..06cefd6107 100644 --- a/rustdoc/ltn/select_boundary/fn.make_panel.html +++ b/rustdoc/ltn/select_boundary/fn.make_panel.html @@ -4,5 +4,5 @@
fn make_panel(
    ctx: &mut EventCtx<'_>,
    app: &SimpleApp<Session>,
    id: NeighbourhoodID,
    top_panel: &Panel
) -> Panel
+

Function ltn::select_boundary::make_panel

source · []
fn make_panel(
    ctx: &mut EventCtx<'_>,
    app: &SimpleApp<Session>,
    id: NeighbourhoodID,
    top_panel: &Panel
) -> Panel
\ No newline at end of file diff --git a/rustdoc/ltn/select_boundary/fn.make_panel_for_lasso.html b/rustdoc/ltn/select_boundary/fn.make_panel_for_lasso.html index 267381fbda..483f9bbfdc 100644 --- a/rustdoc/ltn/select_boundary/fn.make_panel_for_lasso.html +++ b/rustdoc/ltn/select_boundary/fn.make_panel_for_lasso.html @@ -4,5 +4,5 @@
fn make_panel_for_lasso(ctx: &mut EventCtx<'_>, top_panel: &Panel) -> Panel
+

Function ltn::select_boundary::make_panel_for_lasso

source · []
fn make_panel_for_lasso(ctx: &mut EventCtx<'_>, top_panel: &Panel) -> Panel
\ No newline at end of file diff --git a/rustdoc/ltn/select_boundary/index.html b/rustdoc/ltn/select_boundary/index.html index e5be0d2934..fecf31e784 100644 --- a/rustdoc/ltn/select_boundary/index.html +++ b/rustdoc/ltn/select_boundary/index.html @@ -4,7 +4,7 @@

Structs

Functions

\ No newline at end of file diff --git a/rustdoc/ltn/select_boundary/struct.SelectBoundary.html b/rustdoc/ltn/select_boundary/struct.SelectBoundary.html index 86a84eda63..df3fcdf1f8 100644 --- a/rustdoc/ltn/select_boundary/struct.SelectBoundary.html +++ b/rustdoc/ltn/select_boundary/struct.SelectBoundary.html @@ -4,7 +4,7 @@
pub struct SelectBoundary {
+    

Struct ltn::select_boundary::SelectBoundary

source · []
pub struct SelectBoundary {
     top_panel: Panel,
     left_panel: Panel,
     id: NeighbourhoodID,
@@ -15,8 +15,8 @@
     last_failed_change: Option<(BlockID, bool)>,
     labels: DrawRoadLabels,
     lasso: Option<Lasso>,
-}

Fields

top_panel: Panelleft_panel: Panelid: NeighbourhoodIDworld: World<BlockID>draw_boundary_roads: ToggleZoomedfrontier: BTreeSet<BlockID>orig_partitioning: Partitioninglast_failed_change: Option<(BlockID, bool)>labels: DrawRoadLabelslasso: Option<Lasso>

Implementations

Trait Implementations

Respond to a UI event, such as input or time passing.

-

Draw

+}

Fields

top_panel: Panelleft_panel: Panelid: NeighbourhoodIDworld: World<BlockID>draw_boundary_roads: ToggleZoomedfrontier: BTreeSet<BlockID>orig_partitioning: Partitioninglast_failed_change: Option<(BlockID, bool)>labels: DrawRoadLabelslasso: Option<Lasso>

Implementations

Trait Implementations

Respond to a UI event, such as input or time passing.

+

Draw

Specifies what to draw before draw()

Before this state is popped or replaced, call this.

Respond to Transition::Recreate by assuming state in the app has changed, but preserving diff --git a/rustdoc/ltn/shortcut_viewer/fn.help.html b/rustdoc/ltn/shortcut_viewer/fn.help.html deleted file mode 100644 index b624f26a18..0000000000 --- a/rustdoc/ltn/shortcut_viewer/fn.help.html +++ /dev/null @@ -1,8 +0,0 @@ -help in ltn::shortcut_viewer - Rust -

-
fn help() -> Vec<&'static str>Notable traits for Vec<u8, A>impl<A> Write for Vec<u8, A> where
    A: Allocator
- \ No newline at end of file diff --git a/rustdoc/ltn/shortcut_viewer/index.html b/rustdoc/ltn/shortcut_viewer/index.html deleted file mode 100644 index 6e0c20a071..0000000000 --- a/rustdoc/ltn/shortcut_viewer/index.html +++ /dev/null @@ -1,10 +0,0 @@ -ltn::shortcut_viewer - Rust - -
- \ No newline at end of file diff --git a/rustdoc/ltn/shortcut_viewer/sidebar-items.js b/rustdoc/ltn/shortcut_viewer/sidebar-items.js deleted file mode 100644 index cce4fddc4c..0000000000 --- a/rustdoc/ltn/shortcut_viewer/sidebar-items.js +++ /dev/null @@ -1 +0,0 @@ -initSidebarItems({"fn":[["help",""]],"struct":[["BrowseShortcuts",""]]}); \ No newline at end of file diff --git a/rustdoc/ltn/shortcut_viewer/struct.BrowseShortcuts.html b/rustdoc/ltn/shortcut_viewer/struct.BrowseShortcuts.html deleted file mode 100644 index b465d4ac0d..0000000000 --- a/rustdoc/ltn/shortcut_viewer/struct.BrowseShortcuts.html +++ /dev/null @@ -1,45 +0,0 @@ -BrowseShortcuts in ltn::shortcut_viewer - Rust - -
pub struct BrowseShortcuts {
-    top_panel: Panel,
-    left_panel: Panel,
-    shortcuts: Shortcuts,
-    current_idx: usize,
-    draw_path: ToggleZoomed,
-    edit: EditNeighbourhood,
-    neighbourhood: Neighbourhood,
-}

Fields

top_panel: Panelleft_panel: Panelshortcuts: Shortcutscurrent_idx: usizedraw_path: ToggleZoomededit: EditNeighbourhoodneighbourhood: Neighbourhood

Implementations

Trait Implementations

Respond to a UI event, such as input or time passing.

-

Draw

-

Respond to Transition::Recreate by assuming state in the app has changed, but preserving -the State-specific state appropriately. Read more

-

Specifies what to draw before draw()

-

Before this state is popped or replaced, call this.

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Convert Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can -then be further downcast into Box<ConcreteType> where ConcreteType implements Trait. Read more

-

Convert Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be -further downcast into Rc<ConcreteType> where ConcreteType implements Trait. Read more

-

Convert &Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot -generate &Any’s vtable from &Trait’s. Read more

-

Convert &mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot -generate &mut Any’s vtable from &mut Trait’s. Read more

-

Returns the argument unchanged.

-

Instruments this type with the provided Span, returning an -Instrumented wrapper. Read more

-

Instruments this type with the current Span, returning an -Instrumented wrapper. Read more

-

Calls U::from(self).

-

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-
- \ No newline at end of file diff --git a/rustdoc/ltn/shortcuts/fn.find_entrances.html b/rustdoc/ltn/shortcuts/fn.find_entrances.html index 3e31778e27..19bca62ccf 100644 --- a/rustdoc/ltn/shortcuts/fn.find_entrances.html +++ b/rustdoc/ltn/shortcuts/fn.find_entrances.html @@ -4,5 +4,5 @@
fn find_entrances(
    map: &Map,
    neighbourhood: &Neighbourhood,
    cell: &Cell
) -> Vec<EntryExit>Notable traits for Vec<u8, A>impl<A> Write for Vec<u8, A> where
    A: Allocator
+

Function ltn::shortcuts::find_entrances

source · []
fn find_entrances(
    map: &Map,
    neighbourhood: &Neighbourhood,
    cell: &Cell
) -> Vec<EntryExit>Notable traits for Vec<u8, A>impl<A> Write for Vec<u8, A> where
    A: Allocator
\ No newline at end of file diff --git a/rustdoc/ltn/shortcuts/fn.find_exits.html b/rustdoc/ltn/shortcuts/fn.find_exits.html index cfb9f9e16f..96b5e83423 100644 --- a/rustdoc/ltn/shortcuts/fn.find_exits.html +++ b/rustdoc/ltn/shortcuts/fn.find_exits.html @@ -4,5 +4,5 @@
fn find_exits(
    map: &Map,
    neighbourhood: &Neighbourhood,
    cell: &Cell
) -> Vec<EntryExit>Notable traits for Vec<u8, A>impl<A> Write for Vec<u8, A> where
    A: Allocator
+

Function ltn::shortcuts::find_exits

source · []
fn find_exits(
    map: &Map,
    neighbourhood: &Neighbourhood,
    cell: &Cell
) -> Vec<EntryExit>Notable traits for Vec<u8, A>impl<A> Write for Vec<u8, A> where
    A: Allocator
\ No newline at end of file diff --git a/rustdoc/ltn/shortcuts/fn.find_major_road_name.html b/rustdoc/ltn/shortcuts/fn.find_major_road_name.html index 92a44e3ff8..a02185a763 100644 --- a/rustdoc/ltn/shortcuts/fn.find_major_road_name.html +++ b/rustdoc/ltn/shortcuts/fn.find_major_road_name.html @@ -4,5 +4,5 @@
fn find_major_road_name(
    map: &Map,
    neighbourhood: &Neighbourhood,
    i: IntersectionID
) -> Option<String>
+

Function ltn::shortcuts::find_major_road_name

source · []
fn find_major_road_name(
    map: &Map,
    neighbourhood: &Neighbourhood,
    i: IntersectionID
) -> Option<String>
\ No newline at end of file diff --git a/rustdoc/ltn/shortcuts/fn.find_shortcuts.html b/rustdoc/ltn/shortcuts/fn.find_shortcuts.html index cf20925c08..0fa701831f 100644 --- a/rustdoc/ltn/shortcuts/fn.find_shortcuts.html +++ b/rustdoc/ltn/shortcuts/fn.find_shortcuts.html @@ -4,5 +4,5 @@
pub fn find_shortcuts(
    app: &SimpleApp<Session>,
    neighbourhood: &Neighbourhood,
    timer: &mut Timer<'_>
) -> Shortcuts
+

Function ltn::shortcuts::find_shortcuts

source · []
pub fn find_shortcuts(
    app: &SimpleApp<Session>,
    neighbourhood: &Neighbourhood,
    timer: &mut Timer<'_>
) -> Shortcuts
\ No newline at end of file diff --git a/rustdoc/ltn/shortcuts/index.html b/rustdoc/ltn/shortcuts/index.html index e7e345c7cc..a21541463e 100644 --- a/rustdoc/ltn/shortcuts/index.html +++ b/rustdoc/ltn/shortcuts/index.html @@ -4,7 +4,7 @@

Structs

Functions

\ No newline at end of file diff --git a/rustdoc/ltn/shortcuts/struct.EntryExit.html b/rustdoc/ltn/shortcuts/struct.EntryExit.html index 25f0521da9..7d856dae5e 100644 --- a/rustdoc/ltn/shortcuts/struct.EntryExit.html +++ b/rustdoc/ltn/shortcuts/struct.EntryExit.html @@ -4,7 +4,7 @@
struct EntryExit {
+    

Struct ltn::shortcuts::EntryExit

source · []
struct EntryExit {
     lane: LaneID,
     major_road_name: String,
 }

Fields

lane: LaneIDmajor_road_name: String

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

diff --git a/rustdoc/ltn/shortcuts/struct.Shortcuts.html b/rustdoc/ltn/shortcuts/struct.Shortcuts.html index 6d837aeb37..98da47993f 100644 --- a/rustdoc/ltn/shortcuts/struct.Shortcuts.html +++ b/rustdoc/ltn/shortcuts/struct.Shortcuts.html @@ -3,12 +3,12 @@

pub struct Shortcuts {
+        

Shortcuts

pub struct Shortcuts {
     pub paths: Vec<Path>,
     pub count_per_road: Counter<RoadID>,
     pub count_per_intersection: Counter<IntersectionID>,
-}

Fields

paths: Vec<Path>count_per_road: Counter<RoadID>count_per_intersection: Counter<IntersectionID>

Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+}

Fields

paths: Vec<Path>count_per_road: Counter<RoadID>count_per_intersection: Counter<IntersectionID>

Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Convert Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can diff --git a/rustdoc/ltn/sidebar-items.js b/rustdoc/ltn/sidebar-items.js index 9cd43ee106..c32bb81892 100644 --- a/rustdoc/ltn/sidebar-items.js +++ b/rustdoc/ltn/sidebar-items.js @@ -1 +1 @@ -initSidebarItems({"fn":[["after_edit",""],["clear_current_proposal",""],["draw_with_layering","Do the equivalent of `SimpleApp::draw_unzoomed` or `draw_zoomed`, but after the water/park areas layer, draw something custom."],["main",""],["run",""]],"mod":[["browse",""],["colors",""],["components",""],["connectivity",""],["customize_boundary",""],["draw_cells",""],["edit",""],["export",""],["filters",""],["impact",""],["neighbourhood",""],["partition",""],["route_planner",""],["save",""],["select_boundary",""],["shortcut_viewer",""],["shortcuts",""]],"struct":[["Args",""],["BrowseNeighbourhoods",""],["Cell","A partitioning of the interior of a neighbourhood based on driving connectivity"],["DiagonalFilter","A diagonal filter exists in an intersection. It’s defined by two roads (the order is arbitrary). When all of the intersection’s roads are sorted in clockwise order, this pair of roads splits the ordering into two groups. Turns in each group are still possible, but not across groups."],["DistanceInterval","An interval along a road’s length, with start < end."],["ModalFilters","Stored in App session state. Before making any changes, call `before_edit`."],["Neighbourhood",""],["NeighbourhoodID","An opaque ID, won’t be contiguous as we adjust boundaries"],["Partitioning",""],["Session",""]],"type":[["App",""],["Transition",""]]}); \ No newline at end of file +initSidebarItems({"fn":[["after_edit",""],["clear_current_proposal",""],["draw_with_layering","Do the equivalent of `SimpleApp::draw_unzoomed` or `draw_zoomed`, but after the water/park areas layer, draw something custom."],["main",""],["run",""]],"mod":[["browse",""],["colors",""],["components",""],["connectivity",""],["customize_boundary",""],["draw_cells",""],["edit",""],["export",""],["filters",""],["impact",""],["neighbourhood",""],["partition",""],["route_planner",""],["save",""],["select_boundary",""],["shortcuts",""]],"struct":[["Args",""],["BrowseNeighbourhoods",""],["Cell","A partitioning of the interior of a neighbourhood based on driving connectivity"],["DiagonalFilter","A diagonal filter exists in an intersection. It’s defined by two roads (the order is arbitrary). When all of the intersection’s roads are sorted in clockwise order, this pair of roads splits the ordering into two groups. Turns in each group are still possible, but not across groups."],["DistanceInterval","An interval along a road’s length, with start < end."],["ModalFilters","Stored in App session state. Before making any changes, call `before_edit`."],["Neighbourhood",""],["NeighbourhoodID","An opaque ID, won’t be contiguous as we adjust boundaries"],["Partitioning",""],["Session",""]],"type":[["App",""],["Transition",""]]}); \ No newline at end of file diff --git a/rustdoc/ltn/struct.Args.html b/rustdoc/ltn/struct.Args.html index a6c6effd04..37081660e1 100644 --- a/rustdoc/ltn/struct.Args.html +++ b/rustdoc/ltn/struct.Args.html @@ -4,14 +4,14 @@

-

Struct ltn::Args

source · []
pub(crate) struct Args {
+    

Struct ltn::Args

source · []
pub(crate) struct Args {
     pub(crate) proposal: Option<String>,
     pub(crate) consultation: Option<String>,
     pub(crate) app_args: SimpleAppArgs,
 }

Fields

proposal: Option<String>

Load a previously saved proposal with this name. Note this takes a name, not a full path.

consultation: Option<String>

Lock the user into one fixed neighbourhood, and remove many controls

-
app_args: SimpleAppArgs

Trait Implementations

Returns clap::App corresponding to the struct.

-

Builds the struct from clap::ArgMatches. It’s guaranteed to succeed +

app_args: SimpleAppArgs

Trait Implementations

Returns clap::App corresponding to the struct.

+

Builds the struct from clap::ArgMatches. It’s guaranteed to succeed if matches originates from an App generated by [StructOpt::clap] called on the same type, otherwise it must panic. Read more

Builds the struct from the command line arguments (std::env::args_os). diff --git a/rustdoc/ltn/struct.BrowseNeighbourhoods.html b/rustdoc/ltn/struct.BrowseNeighbourhoods.html index c336b6c887..1c1cea8138 100644 --- a/rustdoc/ltn/struct.BrowseNeighbourhoods.html +++ b/rustdoc/ltn/struct.BrowseNeighbourhoods.html @@ -4,16 +4,16 @@

pub struct BrowseNeighbourhoods {
+    

Struct ltn::BrowseNeighbourhoods

source · []
pub struct BrowseNeighbourhoods {
     top_panel: Panel,
     left_panel: Panel,
     world: World<NeighbourhoodID>,
     draw_over_roads: ToggleZoomed,
     labels: DrawRoadLabels,
     draw_boundary_roads: ToggleZoomed,
-}

Fields

top_panel: Panelleft_panel: Panelworld: World<NeighbourhoodID>draw_over_roads: ToggleZoomedlabels: DrawRoadLabelsdraw_boundary_roads: ToggleZoomed

Implementations

Trait Implementations

Respond to a UI event, such as input or time passing.

-

Specifies what to draw before draw()

-

Draw

+}

Fields

top_panel: Panelleft_panel: Panelworld: World<NeighbourhoodID>draw_over_roads: ToggleZoomedlabels: DrawRoadLabelsdraw_boundary_roads: ToggleZoomed

Implementations

Trait Implementations

Respond to a UI event, such as input or time passing.

+

Specifies what to draw before draw()

+

Draw

Before this state is popped or replaced, call this.

Respond to Transition::Recreate by assuming state in the app has changed, but preserving the State-specific state appropriately. Read more

diff --git a/rustdoc/ltn/struct.Neighbourhood.html b/rustdoc/ltn/struct.Neighbourhood.html index 710ea4d133..a4ee09bae7 100644 --- a/rustdoc/ltn/struct.Neighbourhood.html +++ b/rustdoc/ltn/struct.Neighbourhood.html @@ -3,17 +3,18 @@

pub struct Neighbourhood {
+        

Neighbourhood

pub struct Neighbourhood {
     pub id: NeighbourhoodID,
     pub orig_perimeter: Perimeter,
     pub perimeter: BTreeSet<RoadID>,
     pub borders: BTreeSet<IntersectionID>,
     pub interior_intersections: BTreeSet<IntersectionID>,
     pub cells: Vec<Cell>,
+    pub shortcuts: Shortcuts,
     pub fade_irrelevant: Drawable,
     pub labels: DrawRoadLabels,
-}

Fields

id: NeighbourhoodIDorig_perimeter: Perimeterperimeter: BTreeSet<RoadID>borders: BTreeSet<IntersectionID>interior_intersections: BTreeSet<IntersectionID>cells: Vec<Cell>fade_irrelevant: Drawablelabels: DrawRoadLabels

Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+}

Fields

id: NeighbourhoodIDorig_perimeter: Perimeterperimeter: BTreeSet<RoadID>borders: BTreeSet<IntersectionID>interior_intersections: BTreeSet<IntersectionID>cells: Vec<Cell>shortcuts: Shortcutsfade_irrelevant: Drawablelabels: DrawRoadLabels

Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Convert Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can diff --git a/rustdoc/ltn/struct.Session.html b/rustdoc/ltn/struct.Session.html index d3eff9474b..3bf686df3d 100644 --- a/rustdoc/ltn/struct.Session.html +++ b/rustdoc/ltn/struct.Session.html @@ -3,15 +3,15 @@

-

Struct ltn::Session

source · []
pub struct Session {
Show 14 fields +

Session

+

Struct ltn::Session

source · []
pub struct Session {
Show 14 fields pub proposal_name: Option<String>, pub partitioning: Partitioning, pub modal_filters: ModalFilters, pub alt_proposals: AltProposals, pub draw_all_filters: Toggle3Zoomed, pub impact: Impact, - pub edit_filters: bool, + pub edit_mode: EditMode, pub draw_neighbourhood_style: Style, pub draw_cells_as_areas: bool, pub heuristic: Heuristic, @@ -19,7 +19,7 @@ pub(crate) current_trip_name: Option<String>, pub(crate) consultation: Option<NeighbourhoodID>, pub(crate) consultation_proposal_path: Option<String>, -
}

Fields

proposal_name: Option<String>partitioning: Partitioningmodal_filters: ModalFiltersalt_proposals: AltProposalsdraw_all_filters: Toggle3Zoomedimpact: Impactedit_filters: booldraw_neighbourhood_style: Styledraw_cells_as_areas: boolheuristic: Heuristicmain_road_penalty: f64current_trip_name: Option<String>consultation: Option<NeighbourhoodID>consultation_proposal_path: Option<String>

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+
}

Fields

proposal_name: Option<String>partitioning: Partitioningmodal_filters: ModalFiltersalt_proposals: AltProposalsdraw_all_filters: Toggle3Zoomedimpact: Impactedit_mode: EditModedraw_neighbourhood_style: Styledraw_cells_as_areas: boolheuristic: Heuristicmain_road_penalty: f64current_trip_name: Option<String>consultation: Option<NeighbourhoodID>consultation_proposal_path: Option<String>

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Convert Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can diff --git a/rustdoc/ltn/type.App.html b/rustdoc/ltn/type.App.html index cdee0bc3ed..45f1136f6d 100644 --- a/rustdoc/ltn/type.App.html +++ b/rustdoc/ltn/type.App.html @@ -4,5 +4,5 @@

-

Type Definition ltn::App

source · []
pub(crate) type App = SimpleApp<Session>;
+

Type Definition ltn::App

source · []
pub(crate) type App = SimpleApp<Session>;
\ No newline at end of file diff --git a/rustdoc/ltn/type.Transition.html b/rustdoc/ltn/type.Transition.html index 701d45c136..9689ccb392 100644 --- a/rustdoc/ltn/type.Transition.html +++ b/rustdoc/ltn/type.Transition.html @@ -4,5 +4,5 @@
-

Type Definition ltn::Transition

source · []
pub(crate) type Transition = Transition<SimpleApp<Session>>;
+

Type Definition ltn::Transition

source · []
pub(crate) type Transition = Transition<SimpleApp<Session>>;
\ No newline at end of file diff --git a/rustdoc/map_gui/tools/labels/fn.cheaply_overestimate_bounds.html b/rustdoc/map_gui/tools/labels/fn.cheaply_overestimate_bounds.html index ba54d63410..fd82e3aaba 100644 --- a/rustdoc/map_gui/tools/labels/fn.cheaply_overestimate_bounds.html +++ b/rustdoc/map_gui/tools/labels/fn.cheaply_overestimate_bounds.html @@ -4,5 +4,5 @@
fn cheaply_overestimate_bounds(
    text: &str,
    text_scale: f64,
    center: Pt2D,
    angle: Angle
) -> Bounds
+

Function map_gui::tools::labels::cheaply_overestimate_bounds

source · []
fn cheaply_overestimate_bounds(
    text: &str,
    text_scale: f64,
    center: Pt2D,
    angle: Angle
) -> Bounds
\ No newline at end of file diff --git a/rustdoc/map_gui/tools/labels/index.html b/rustdoc/map_gui/tools/labels/index.html index fa044968d0..78cbe6e425 100644 --- a/rustdoc/map_gui/tools/labels/index.html +++ b/rustdoc/map_gui/tools/labels/index.html @@ -4,7 +4,7 @@

Structs

Labels roads when unzoomed. Label size and frequency depends on the zoom level.

PerZoom 🔒

Functions

diff --git a/rustdoc/map_gui/tools/title_screen/built_info/constant.BUILT_TIME_UTC.html b/rustdoc/map_gui/tools/title_screen/built_info/constant.BUILT_TIME_UTC.html index 7986752c05..badff5c052 100644 --- a/rustdoc/map_gui/tools/title_screen/built_info/constant.BUILT_TIME_UTC.html +++ b/rustdoc/map_gui/tools/title_screen/built_info/constant.BUILT_TIME_UTC.html @@ -4,6 +4,6 @@
pub const BUILT_TIME_UTC: &str = r"Wed, 20 Jul 2022 11:59:12 +0000";
Expand description

The build time in RFC2822, UTC.

+

Constant map_gui::tools::title_screen::built_info::BUILT_TIME_UTC

source · []
pub const BUILT_TIME_UTC: &str = r"Wed, 20 Jul 2022 13:18:45 +0000";
Expand description

The build time in RFC2822, UTC.

\ No newline at end of file diff --git a/rustdoc/map_model/pathfind/v1/fn.validate_continuity.html b/rustdoc/map_model/pathfind/v1/fn.validate_continuity.html index d385c6e5ea..254663fd42 100644 --- a/rustdoc/map_model/pathfind/v1/fn.validate_continuity.html +++ b/rustdoc/map_model/pathfind/v1/fn.validate_continuity.html @@ -4,5 +4,5 @@
fn validate_continuity(map: &Map, steps: &[PathStep])
+

Function map_model::pathfind::v1::validate_continuity

source · []
fn validate_continuity(map: &Map, steps: &[PathStep])
\ No newline at end of file diff --git a/rustdoc/map_model/pathfind/v1/fn.validate_restrictions.html b/rustdoc/map_model/pathfind/v1/fn.validate_restrictions.html index 72d21feb64..60b00bfab2 100644 --- a/rustdoc/map_model/pathfind/v1/fn.validate_restrictions.html +++ b/rustdoc/map_model/pathfind/v1/fn.validate_restrictions.html @@ -4,5 +4,5 @@
fn validate_restrictions(map: &Map, steps: &[PathStep])
+

Function map_model::pathfind::v1::validate_restrictions

source · []
fn validate_restrictions(map: &Map, steps: &[PathStep])
\ No newline at end of file diff --git a/rustdoc/map_model/pathfind/v1/fn.validate_zones.html b/rustdoc/map_model/pathfind/v1/fn.validate_zones.html index 46faa40584..5590d1e108 100644 --- a/rustdoc/map_model/pathfind/v1/fn.validate_zones.html +++ b/rustdoc/map_model/pathfind/v1/fn.validate_zones.html @@ -4,5 +4,5 @@
fn validate_zones(map: &Map, steps: &[PathStep], req: &PathRequest)
+

Function map_model::pathfind::v1::validate_zones

source · []
fn validate_zones(map: &Map, steps: &[PathStep], req: &PathRequest)
\ No newline at end of file diff --git a/rustdoc/map_model/pathfind/v1/index.html b/rustdoc/map_model/pathfind/v1/index.html index ea86cf546e..966fc7c5d0 100644 --- a/rustdoc/map_model/pathfind/v1/index.html +++ b/rustdoc/map_model/pathfind/v1/index.html @@ -4,7 +4,7 @@

Structs

Enums

Functions

diff --git a/rustdoc/map_model/pathfind/v1/struct.Path.html b/rustdoc/map_model/pathfind/v1/struct.Path.html index d7f4bfe724..37a4c0a9e0 100644 --- a/rustdoc/map_model/pathfind/v1/struct.Path.html +++ b/rustdoc/map_model/pathfind/v1/struct.Path.html @@ -3,7 +3,7 @@

+

Path

pub struct Path {
     steps: VecDeque<PathStep>,
     orig_req: PathRequest,
@@ -12,7 +12,7 @@
     uber_turns: VecDeque<UberTurn>,
     currently_inside_ut: Option<UberTurn>,
     blocked_starts: Vec<LaneID>,
-}

Fields

steps: VecDeque<PathStep>orig_req: PathRequesttotal_length: Distancecrossed_so_far: Distanceuber_turns: VecDeque<UberTurn>currently_inside_ut: Option<UberTurn>blocked_starts: Vec<LaneID>

Implementations

Once we finish this PathStep, how much distance will be crossed? If the step is at the +}

Fields

steps: VecDeque<PathStep>orig_req: PathRequesttotal_length: Distancecrossed_so_far: Distanceuber_turns: VecDeque<UberTurn>currently_inside_ut: Option<UberTurn>blocked_starts: Vec<LaneID>

Implementations

Once we finish this PathStep, how much distance will be crossed? If the step is at the beginning or end of our path, then the full length may not be used.

The original PathRequest used to produce this path. If the path has been modified since creation, the start and end of the request won’t match up with the current path steps.

@@ -30,7 +30,7 @@ max_speed must be known.

If the agent following this path will initially block some intermediate lanes as they move between a driveway and get_req().start, then record them here.

Returns the total elevation (gain, loss) experienced over the path.

-

Trait Implementations

Returns a copy of the value. Read more

+

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

Deserialize this value from the given Serde deserializer. Read more

diff --git a/rustdoc/map_model/pathfind/v1/struct.PathRequest.html b/rustdoc/map_model/pathfind/v1/struct.PathRequest.html index 4ff65c2839..87708f4c90 100644 --- a/rustdoc/map_model/pathfind/v1/struct.PathRequest.html +++ b/rustdoc/map_model/pathfind/v1/struct.PathRequest.html @@ -4,35 +4,35 @@
pub struct PathRequest {
+    

Struct map_model::pathfind::v1::PathRequest

source · []
pub struct PathRequest {
     pub start: Position,
     pub end: Position,
     pub constraints: PathConstraints,
     pub(crate) alt_start: Option<(Position, Duration)>,
-}

Fields

start: Positionend: Positionconstraints: PathConstraintsalt_start: Option<(Position, Duration)>

Implementations

Determines the start and end position to travel between two buildings for a certain mode. +}

Fields

start: Positionend: Positionconstraints: PathConstraintsalt_start: Option<(Position, Duration)>

Implementations

Determines the start and end position to travel between two buildings for a certain mode. The path won’t cover modality transfers – if somebody has to walk between the building and a parking spot or bikeable position, that won’t be captured here.

-

The caller must pass in two valid sidewalk positions. This isn’t verified.

-

The caller must pass in two valid positions for the vehicle type. This isn’t verified. No +

The caller must pass in two valid sidewalk positions. This isn’t verified.

+

The caller must pass in two valid positions for the vehicle type. This isn’t verified. No off-side turns from driveways happen; the exact start position is used.

-

The caller must pass in two valid positions for the vehicle type. This isn’t verified. +

The caller must pass in two valid positions for the vehicle type. This isn’t verified. TODO The vehicle may cut exit the driveway onto the off-side of the road.

-

Create a request from the beginning of one road to the end of another. Picks an arbitrary +

Create a request from the beginning of one road to the end of another. Picks an arbitrary start and end lane from the available ones.

-

Group similar requests together, returning the number of matches. This can be used to +

Group similar requests together, returning the number of matches. This can be used to calculate less paths and multiply whatever’s being measured by the count.

Note this throws away detail. It only groups by the mode and from/to parent. Exact position and alternate starting points are lost.

-

Trait Implementations

Returns a copy of the value. Read more

+

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

Formats the value using the given formatter. Read more

-

This method tests for self and other values to be equal, and is used +

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

Formats the value using the given formatter. Read more

+

This method tests for self and other values to be equal, and is used by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Compare self to key and return true if they are equal.

diff --git a/rustdoc/map_model/struct.Path.html b/rustdoc/map_model/struct.Path.html index 2c020c3979..74441e01fc 100644 --- a/rustdoc/map_model/struct.Path.html +++ b/rustdoc/map_model/struct.Path.html @@ -3,7 +3,7 @@

+

Path

pub struct Path {
     steps: VecDeque<PathStep>,
     orig_req: PathRequest,
@@ -12,7 +12,7 @@
     uber_turns: VecDeque<UberTurn>,
     currently_inside_ut: Option<UberTurn>,
     blocked_starts: Vec<LaneID>,
-}

Fields

steps: VecDeque<PathStep>orig_req: PathRequesttotal_length: Distancecrossed_so_far: Distanceuber_turns: VecDeque<UberTurn>currently_inside_ut: Option<UberTurn>blocked_starts: Vec<LaneID>

Implementations

Once we finish this PathStep, how much distance will be crossed? If the step is at the +}

Fields

steps: VecDeque<PathStep>orig_req: PathRequesttotal_length: Distancecrossed_so_far: Distanceuber_turns: VecDeque<UberTurn>currently_inside_ut: Option<UberTurn>blocked_starts: Vec<LaneID>

Implementations

Once we finish this PathStep, how much distance will be crossed? If the step is at the beginning or end of our path, then the full length may not be used.

The original PathRequest used to produce this path. If the path has been modified since creation, the start and end of the request won’t match up with the current path steps.

@@ -30,7 +30,7 @@ max_speed must be known.

If the agent following this path will initially block some intermediate lanes as they move between a driveway and get_req().start, then record them here.

Returns the total elevation (gain, loss) experienced over the path.

-

Trait Implementations

Returns a copy of the value. Read more

+

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

Deserialize this value from the given Serde deserializer. Read more

diff --git a/rustdoc/map_model/struct.PathRequest.html b/rustdoc/map_model/struct.PathRequest.html index c7ba1979bf..0a6220f769 100644 --- a/rustdoc/map_model/struct.PathRequest.html +++ b/rustdoc/map_model/struct.PathRequest.html @@ -4,35 +4,35 @@
pub struct PathRequest {
+    

Struct map_model::PathRequest

source · []
pub struct PathRequest {
     pub start: Position,
     pub end: Position,
     pub constraints: PathConstraints,
     pub(crate) alt_start: Option<(Position, Duration)>,
-}

Fields

start: Positionend: Positionconstraints: PathConstraintsalt_start: Option<(Position, Duration)>

Implementations

Determines the start and end position to travel between two buildings for a certain mode. +}

Fields

start: Positionend: Positionconstraints: PathConstraintsalt_start: Option<(Position, Duration)>

Implementations

Determines the start and end position to travel between two buildings for a certain mode. The path won’t cover modality transfers – if somebody has to walk between the building and a parking spot or bikeable position, that won’t be captured here.

-

The caller must pass in two valid sidewalk positions. This isn’t verified.

-

The caller must pass in two valid positions for the vehicle type. This isn’t verified. No +

The caller must pass in two valid sidewalk positions. This isn’t verified.

+

The caller must pass in two valid positions for the vehicle type. This isn’t verified. No off-side turns from driveways happen; the exact start position is used.

-

The caller must pass in two valid positions for the vehicle type. This isn’t verified. +

The caller must pass in two valid positions for the vehicle type. This isn’t verified. TODO The vehicle may cut exit the driveway onto the off-side of the road.

-

Create a request from the beginning of one road to the end of another. Picks an arbitrary +

Create a request from the beginning of one road to the end of another. Picks an arbitrary start and end lane from the available ones.

-

Group similar requests together, returning the number of matches. This can be used to +

Group similar requests together, returning the number of matches. This can be used to calculate less paths and multiply whatever’s being measured by the count.

Note this throws away detail. It only groups by the mode and from/to parent. Exact position and alternate starting points are lost.

-

Trait Implementations

Returns a copy of the value. Read more

+

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

Formats the value using the given formatter. Read more

-

This method tests for self and other values to be equal, and is used +

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

Formats the value using the given formatter. Read more

+

This method tests for self and other values to be equal, and is used by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Compare self to key and return true if they are equal.

diff --git a/rustdoc/search-index.js b/rustdoc/search-index.js index b45a7b1697..e651cb24c0 100644 --- a/rustdoc/search-index.js +++ b/rustdoc/search-index.js @@ -10,10 +10,10 @@ var searchIndex = JSON.parse('{\ "headless":{"doc":"This runs a simulation without any graphics and serves a …","t":[3,3,3,3,3,3,3,3,3,3,3,3,3,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,11,12,12,12,12,5,5,11,11,11,11,11,11,11,11,11,11,11,11,11,11,5,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,5,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,5,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,12],"n":["AgentPosition","AgentPositions","Args","BlockedByGraph","Delays","FinishedTrip","LOAD","LoadSim","MAP","RoadThroughput","SIM","Throughput","TrafficSignalState","__private_field","__private_field","__private_field","accepted","agents","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","blocked_by","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clap","counts","current_stage_idx","deref","deref","deref","deserialize","distance_crossed","distance_crossed","duration","edits","export_all_geometry","export_geometry","from","from","from","from","from","from","from","from","from","from","from","from","from","from_clap","handle_command","id","id","into","into","into","into","into","into","into","into","into","into","into","into","into","into_any","into_any","into_any","into_any","into_any","into_any","into_any","into_any","into_any","into_any","into_any","into_any","into_any","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","main","mode","modifiers","opts","opts","per_direction","per_direction","person","person","port","pos","remaining_time","rng_seed","rng_seed","scenario","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serve_req","setup","trip","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","vehicle_type","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","waiting"],"q":["headless","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""],"d":["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Each entry indicates that some agent has been stuck in one …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","The distance crossed so far by the agent, in meters. There …","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","The agent’s ID","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","None for buses","What port to run the JSON API on.","The agent’s current position. For pedestrians, this is …","","An arbitrary number to seed the random number generator. …","","","","","","","","","","","","","None for buses","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","None for pedestrians","","","","","","","","","","","","","",""],"i":[0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,3,4,5,1,2,3,6,7,8,9,5,10,11,4,12,13,1,2,3,6,7,8,9,5,10,11,4,12,13,12,1,2,3,6,7,8,9,5,10,11,4,12,13,1,2,3,6,7,8,9,5,10,11,4,12,13,6,11,4,1,2,3,13,7,10,7,13,0,0,1,2,3,6,7,8,9,5,10,11,4,12,13,6,0,7,10,1,2,3,6,7,8,9,5,10,11,4,12,13,1,2,3,6,7,8,9,5,10,11,4,12,13,1,2,3,6,7,8,9,5,10,11,4,12,13,1,2,3,6,7,8,9,5,10,11,4,12,13,0,7,13,6,13,8,9,7,10,6,10,4,6,13,13,7,8,9,5,10,11,4,12,0,13,10,1,2,3,6,7,8,9,5,10,11,4,12,13,1,2,3,6,7,8,9,5,10,11,4,12,13,1,2,3,6,7,8,9,5,10,11,4,12,13,10,1,2,3,6,7,8,9,5,10,11,4,12,13,4],"f":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[],["app",3]],null,null,[[["",0]],["rwlock",3]],[[["",0]],["rwlock",3]],[[["",0]],["rwlock",3]],[[],["result",4]],null,null,null,null,[[["map",3]],["geojson",4]],[[["map",3],["intersectionid",3]],["geojson",4]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[["argmatches",3]]],[[["str",0],["hashmap",3],["sim",3],["map",3],["loadsim",3]],["result",6,[["string",3]]]],null,null,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["arc",3]],["arc",3,[["any",8]]]],[[["arc",3]],["arc",3,[["any",8]]]],[[["arc",3]],["arc",3,[["any",8]]]],[[["arc",3]],["arc",3,[["any",8]]]],[[["arc",3]],["arc",3,[["any",8]]]],[[["arc",3]],["arc",3,[["any",8]]]],[[["arc",3]],["arc",3,[["any",8]]]],[[["arc",3]],["arc",3,[["any",8]]]],[[["arc",3]],["arc",3,[["any",8]]]],[[["arc",3]],["arc",3,[["any",8]]]],[[["arc",3]],["arc",3,[["any",8]]]],[[["arc",3]],["arc",3,[["any",8]]]],[[["arc",3]],["arc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["request",3,[["body",3]]]]],[[["",0],["timer",3]]],null,[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],null,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],null],"p":[[3,"MAP"],[3,"SIM"],[3,"LOAD"],[3,"TrafficSignalState"],[3,"AgentPositions"],[3,"Args"],[3,"FinishedTrip"],[3,"Delays"],[3,"Throughput"],[3,"AgentPosition"],[3,"RoadThroughput"],[3,"BlockedByGraph"],[3,"LoadSim"]]},\ "importer":{"doc":"It’s assumed that the importer is run with the current …","t":[3,11,11,0,0,11,11,12,12,11,0,11,11,11,11,11,11,11,11,0,5,12,12,12,0,5,12,5,11,12,0,0,11,11,11,0,0,11,5,3,11,11,11,11,5,11,5,12,11,11,5,11,11,11,11,12,11,11,11,11,3,11,11,11,11,11,11,11,12,12,11,11,11,11,5,12,11,11,11,12,11,5,5,5,5,5,5,5,5,2,2,2,0,0,3,3,3,3,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,11,12,5,5,12,12,12,5,5,5,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,12,12,3,3,11,11,11,11,11,11,11,11,5,11,11,5,11,11,11,12,11,11,11,11,11,11,11,11,5,11,12,12,11,12,11,11,11,11,11,11,11,11,11,3,11,11,11,11,5,11,11,11,5,12,5,11,11,11,11,5,12,12,12,12,12,12,5,5,11,11,11,11,12,5,5,5,5,5],"n":["Job","as_any","as_any_mut","basemap","berlin","borrow","borrow_mut","city","city_overview","clap","configuration","flags","from","from_clap","full_for_city","into","into_any","into_any_arc","into_any_rc","map_config","oneshot","only_map","opts","osm_to_raw","pick_geofabrik","pick_geofabrik","raw_to_map","regenerate_everything","run","scenario","seattle","soundcast","try_from","try_into","type_id","uk","utils","vzip","override_sidewalk_widths","Record","as_any","as_any_mut","borrow","borrow_mut","correlate_population","deserialize","distribute_residents","e_e","fmt","from","import_extra_data","into","into_any","into_any_arc","into_any_rc","raumid","try_from","try_into","type_id","vzip","ImporterConfiguration","as_any","as_any_mut","borrow","borrow_mut","default","deserialize","from","gunzip","gunzip_args","into","into_any","into_any_arc","into_any_rc","load_configuration","osmconvert","try_from","try_into","type_id","unzip","vzip","config_for_map","find_matching_regions","load_remote_geojson","pick_geofabrik","adjust_private_parking","ensure_popdat_exists","input","match_parcels_to_buildings","PopDat","import_data","make_scenario","popdat","trips","Endpoint","OrigTrip","PopDat","RawParcel","RawTrip","as_any","as_any","as_any","as_any","as_any","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","depart_at","deptm","deserialize","deserialize","deserialize","deserialize","deserialize","dpcl","dpurp","fmt","fmt","fmt","fmt","from","from","from","from","from","from","get_mode","get_purpose","half","hh_p","hhno","import_data","import_parcels","import_trips","into","into","into","into","into","into_any","into_any","into_any","into_any","into_any","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","mode","mode","opcl","osm_building","parcel_id","parcelid","parkdy_p","parkhr_p","person","pno","pos","purpose","seq","serialize","serialize","serialize","to","to_owned","to_owned","tour","travdist","travtime","trip_dist","trip_time","trips","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","tseg","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","xcoord_p","ycoord_p","BorderSnapper","Trip","as_any","as_any","as_any_mut","as_any_mut","borrow","borrow","borrow_mut","borrow_mut","clip_trips","clone","clone_into","endpoints","fmt","from","from","from","into","into","into_any","into_any","into_any_arc","into_any_arc","into_any_rc","into_any_rc","make_scenario","new","orig","path","snap_border","to","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","Record","as_any","as_any_mut","borrow","borrow_mut","check_sensor_data","deserialize","fmt","from","generate_scenario","home_zone","import_collision_data","into","into_any","into_any_arc","into_any_rc","load_study_area","num_bikers","num_drivers","num_pedestrians","num_transit1","num_transit2","num_transit3","parse_desire_lines","parse_zones","try_from","try_into","type_id","vzip","work_zone","download","download_kml","osm_to_raw","osmconvert","raw_to_map"],"q":["importer","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","importer::basemap","importer::berlin","","","","","","","","","","","","","","","","","","","","","importer::configuration","","","","","","","","","","","","","","","","","","","","","importer::map_config","importer::pick_geofabrik","","","importer::seattle","","","","importer::soundcast","","","","","importer::soundcast::popdat","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","importer::soundcast::trips","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","importer::uk","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","importer::utils","","","",""],"d":["A specification for importing all maps in a single city.","","","","","","","","Produce a city overview from all of the individual maps in …","","","Return the command-line flags that should produce this …","Returns the argument unchanged.","","","Calls U::from(self).","","","","","Transforms a .osm file to a map in one step.","Only process one map. If not specified, process all maps …","","Download all raw input files, then convert OSM to the …","","Given the path to an Osmosis boundary polygon, return the …","Convert the RawMap to the final Map format.","Regenerate all maps and scenarios from scratch.","","Download trip demand data, then produce the typical …","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","Calls U::from(self).","","","","","","","","","","","Given the name of a map, configure its import.","","","Given the path to an Osmosis boundary polygon, return the …","","Download and pre-process data needed to generate Seattle …","","Match OSM buildings to parcels, scraping the number of …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Transform the Seattle-wide Endpoints into specific …","","Returns the argument unchanged.","Returns the argument unchanged.","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","","Calls U::from(self).","","","","","","","","","","","","","","","","","","If the output file doesn’t already exist, downloads the …","If the output file doesn’t already exist, downloads the …","Creates a RawMap from OSM and other input data.","Uses osmconvert to clip the input .osm (or .pbf) against a …","Converts a RawMap to a Map."],"i":[0,1,1,0,0,1,1,1,1,1,0,1,1,1,1,1,1,1,1,0,0,1,1,1,0,0,1,0,1,1,0,0,1,1,1,0,0,1,0,0,2,2,2,2,0,2,0,2,2,2,0,2,2,2,2,2,2,2,2,2,0,3,3,3,3,3,3,3,3,3,3,3,3,3,0,3,3,3,3,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,6,7,8,4,5,6,7,8,4,5,6,7,8,4,5,6,7,8,7,8,7,8,7,5,4,5,6,7,8,5,5,5,6,7,8,4,5,6,7,8,7,0,0,5,6,5,0,0,0,4,5,6,7,8,4,5,6,7,8,4,5,6,7,8,4,5,6,7,8,5,7,5,8,8,6,6,6,7,5,8,7,7,4,7,8,7,7,8,5,5,5,7,7,4,4,5,6,7,8,4,5,6,7,8,5,4,5,6,7,8,4,5,6,7,8,6,6,0,0,9,10,9,10,9,10,9,10,0,10,10,0,10,9,10,10,9,10,9,10,9,10,9,10,0,9,10,9,9,10,10,9,10,9,10,9,10,9,10,0,11,11,11,11,0,11,11,11,0,11,0,11,11,11,11,0,11,11,11,11,11,11,0,0,11,11,11,11,11,0,0,0,0,0],"f":[null,[[["",0]],["any",8]],[[["",0]],["any",8]],null,null,[[["",0]],["",0]],[[["",0]],["",0]],null,null,[[],["app",3]],null,[[["",0]],["vec",3,[["string",3]]]],[[]],[[["argmatches",3]]],[[["cityname",3]],["job",3]],[[]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["arc",3]],["arc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],null,[[["string",3],["option",4,[["string",3]]],["drivingside",4],["bool",0],["bool",0],["rawtomapoptions",3]]],null,null,null,null,[[["string",3]]],null,[[["usize",0],["usize",0]]],[[["timer",3]]],null,null,null,[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],null,null,[[]],[[["map",3],["string",3],["timer",3]],["result",6]],null,[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["",0]],[[["",0]],["",0]],[[["string",3],["string",3],["timer",3]]],[[],["result",4]],[[["map",3],["timer",3]]],null,[[["",0],["formatter",3]],["result",6]],[[]],[[["rawmap",3],["importerconfiguration",3],["timer",3]]],[[]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["arc",3]],["arc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],null,[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[]],null,[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["",0]],[[["",0]],["",0]],[[],["importerconfiguration",3]],[[],["result",4]],[[]],null,null,[[]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["arc",3]],["arc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[],["importerconfiguration",3]],null,[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],null,[[]],[[["mapname",3]],["options",3]],[[["geojson",4],["lonlat",3]],["vec",3]],[[["string",3],["str",0]]],[[["string",3]]],[[["map",3],["scenario",3]]],[[["timer",3],["importerconfiguration",3],["bool",0],["bool",0]]],[[["importerconfiguration",3],["timer",3]]],[[["map",3],["extrashapes",3],["timer",3]]],null,null,null,null,null,null,null,null,null,null,[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["origtrip",3]],[[["",0]],["endpoint",3]],[[["",0],["",0]]],[[["",0],["",0]]],null,null,[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],null,null,[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],[[]],null,[[["str",0]],["tripmode",4]],[[["str",0]],["trippurpose",4]],null,null,null,[[["map",3],["timer",3]],["popdat",3]],[[["map",3],["timer",3]]],[[["map",3],["timer",3]],["vec",3,[["origtrip",3]]]],[[]],[[]],[[]],[[]],[[]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["arc",3]],["arc",3,[["any",8]]]],[[["arc",3]],["arc",3,[["any",8]]]],[[["arc",3]],["arc",3,[["any",8]]]],[[["arc",3]],["arc",3,[["any",8]]]],[[["arc",3]],["arc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],null,[[["",0]]],[[["",0]]],null,null,null,null,null,null,[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],null,[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],[[]],[[]],[[]],null,null,null,null,[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["map",3],["popdat",3],["map",3],["bool",0],["timer",3]],["vec",3,[["trip",3]]]],[[["",0]],["trip",3]],[[["",0],["",0]]],[[["endpoint",3],["endpoint",3],["map",3],["hashmap",3],["pathconstraints",4],["option",4],["bool",0]],["option",4]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],null,[[]],[[]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["arc",3]],["arc",3,[["any",8]]]],[[["arc",3]],["arc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["str",0],["map",3],["popdat",3],["map",3],["timer",3]],["scenario",3]],[[["endpoint",3],["endpoint",3],["pathconstraints",4],["option",4]],["option",4,[["bordersnapper",3]]]],null,null,[[["",0],["bool",0],["map",3],["option",4]],["option",4,[["tripendpoint",4]]]],null,[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],null,[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["",0]],[[["",0]],["",0]],[[["map",3],["scenario",3],["str",0],["timer",3]]],[[],["result",4]],[[["",0],["formatter",3]],["result",6]],[[]],[[["map",3],["importerconfiguration",3],["timer",3]]],null,[[["rawmap",3],["importerconfiguration",3],["timer",3]]],[[]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["arc",3]],["arc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["map",3]],["result",6,[["polygon",3]]]],null,null,null,null,null,null,[[["string",3]],["result",6,[["vec",3,[["desireline",3]]]]]],[[["gpsbounds",3],["string",3]],["result",6,[["hashmap",3,[["string",3],["polygon",3]]]]]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[]],null,[[["importerconfiguration",3],["string",3],["str",0]]],[[["string",3],["str",0],["gpsbounds",3],["bool",0],["timer",3]]],[[["mapname",3],["timer",3],["importerconfiguration",3]]],[[["string",3],["string",3],["string",3],["importerconfiguration",3]]],[[["mapname",3],["rawtomapoptions",3],["timer",3]],["map",3]]],"p":[[3,"Job"],[3,"Record"],[3,"ImporterConfiguration"],[3,"PopDat"],[3,"RawTrip"],[3,"RawParcel"],[3,"OrigTrip"],[3,"Endpoint"],[3,"BorderSnapper"],[3,"Trip"],[3,"Record"]]},\ "kml":{"doc":"","t":[3,3,12,11,11,11,11,11,11,11,11,11,11,11,11,11,5,11,11,5,12,5,11,11,12,11,11,11,11,11,11,11],"n":["ExtraShape","ExtraShapes","attributes","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","deserialize","deserialize","fmt","from","from","into","into","load","load_csv","load_geojson_no_clipping","parse_pt","points","recurse","serialize","serialize","shapes","to_owned","try_from","try_from","try_into","try_into","type_id","type_id"],"q":["kml","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""],"d":["A single object in the dataset.","Some dataset imported from KML, CSV, or something else. If …","Arbitrary key/value pairs associated with this object; no …","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Parses a .kml file and returns ExtraShapes. Objects will …","Parses a .csv file and returns ExtraShapes. Each record …","Parses a .geojson file and returns ExtraShapes","","The object has a different inferred shape depending on the …","","","","","","","","","","",""],"i":[0,0,1,2,1,2,1,1,1,2,1,1,2,1,2,1,0,2,2,0,1,0,2,1,2,1,2,1,2,1,2,1],"f":[null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["extrashape",3]],[[["",0],["",0]]],[[],["result",4]],[[],["result",4]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],[[["string",3],["gpsbounds",3],["bool",0],["timer",3]],["result",6,[["extrashapes",3]]]],[[["string",3],["gpsbounds",3],["timer",3]],["result",6,[["extrashapes",3]]]],[[["string",3],["gpsbounds",3],["bool",0]],["result",6,[["extrashapes",3]]]],[[["str",0]],["option",4,[["lonlat",3]]]],null,[[["node",3],["vec",3],["usize",0],["btreemap",3],["gpsbounds",3],["bool",0]],["result",6]],[[["",0]],["result",4]],[[["",0]],["result",4]],null,[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]]],"p":[[3,"ExtraShape"],[3,"ExtraShapes"]]},\ -"ltn":{"doc":"","t":[12,6,3,3,3,3,3,3,3,3,3,3,6,5,12,12,11,11,11,11,12,12,12,11,11,11,11,0,12,11,5,0,0,0,12,12,12,12,0,12,12,0,12,12,12,5,0,12,12,0,12,0,11,11,11,12,12,12,12,12,0,12,12,12,11,11,11,11,11,11,11,12,12,12,5,12,12,12,0,12,12,12,0,12,12,12,12,12,12,12,12,12,0,5,0,0,0,0,12,12,12,11,11,11,11,11,11,12,11,11,12,3,13,13,13,13,4,5,11,11,11,11,11,11,11,11,11,11,11,11,11,5,12,5,12,11,11,11,11,11,5,5,11,11,11,11,11,11,11,12,12,5,11,11,12,11,11,11,11,11,11,11,11,12,17,17,3,17,3,3,17,17,17,3,3,3,3,17,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,2,2,2,0,0,0,0,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,11,11,11,11,11,11,11,11,11,12,12,12,11,11,11,11,12,11,11,12,11,11,11,11,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,5,11,11,11,11,11,11,12,12,11,11,5,12,11,11,11,12,12,11,11,5,12,12,11,11,11,11,11,3,11,11,11,11,11,12,11,11,12,11,11,11,11,12,11,11,11,11,17,3,3,11,11,11,11,11,11,11,11,12,12,12,5,12,12,5,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,13,3,4,13,13,13,4,13,13,4,13,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,5,11,11,11,11,11,0,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,5,5,5,5,5,5,5,5,3,3,3,3,11,11,11,11,11,11,11,11,11,11,0,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,5,11,11,11,0,11,11,11,11,11,11,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,11,11,11,11,2,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,13,13,4,13,13,11,11,11,11,11,5,11,11,11,11,11,11,5,11,11,11,11,5,5,11,11,11,5,11,11,5,5,3,3,2,12,11,11,11,11,11,11,11,11,12,12,11,12,11,5,11,12,12,11,11,11,11,11,12,11,11,11,11,11,11,11,12,11,12,11,11,11,11,11,11,11,11,11,0,11,11,3,3,11,11,11,11,11,11,11,11,12,11,11,11,12,11,11,11,11,5,11,11,11,11,11,11,12,11,11,12,12,11,12,11,11,11,11,11,11,11,11,3,3,3,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,12,12,12,5,5,11,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,12,11,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,12,12,3,3,3,3,11,11,11,11,11,11,11,11,11,11,11,11,12,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,12,12,11,12,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,3,11,11,11,11,11,11,5,11,12,11,12,11,5,11,11,11,12,12,11,11,12,11,11,12,11,11,11,11,11,12,12,3,13,13,4,3,13,13,12,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,5,11,11,11,11,11,11,11,11,11,11,11,11,12,11,5,11,12,12,12,11,12,0,5,11,5,5,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,5,5,5,5,5,3,11,11,11,11,11,11,11,11,12,11,11,12,5,12,11,11,11,12,12,12,12,5,5,11,12,11,12,11,11,11,11,11,12,3,11,11,11,11,12,11,12,12,11,11,5,11,11,11,12,12,11,11,11,11,12,12,11,11,11,11,3,3,11,11,11,11,11,11,11,11,12,12,5,5,5,5,11,11,11,11,11,11,11,11,11,11,12,12,12,11,11,11,11,11,11,11,11,11],"n":["0","App","Args","BrowseNeighbourhoods","Cell","DiagonalFilter","DistanceInterval","ModalFilters","Neighbourhood","NeighbourhoodID","Partitioning","Session","Transition","after_edit","alt_proposals","app_args","as_any","as_any","as_any_mut","as_any_mut","block_to_neighbourhood","borders","borders","borrow","borrow","borrow_mut","borrow_mut","browse","cells","clap","clear_current_proposal","colors","components","connectivity","consultation","consultation","consultation_proposal_path","current_trip_name","customize_boundary","draw_all_filters","draw_boundary_roads","draw_cells","draw_cells_as_areas","draw_neighbourhood_style","draw_over_roads","draw_with_layering","edit","edit_filters","end","export","fade_irrelevant","filters","from","from","from_clap","group1","group2","heuristic","i","id","impact","impact","interior_intersections","intersections","into","into","into_any","into_any","into_any_arc","into_any_rc","into_any_rc","labels","labels","left_panel","main","main_road_penalty","map","modal_filters","neighbourhood","neighbourhood_id_counter","neighbourhoods","orig_perimeter","partition","partitioning","perimeter","previous_version","proposal","proposal_name","r1","r2","roads","roads","route_planner","run","save","select_boundary","shortcut_viewer","shortcuts","single_blocks","start","top_panel","try_from","try_from","try_into","try_into","type_id","type_id","use_expensive_blockfinding","vzip","vzip","world","BrowseNeighbourhoods","Cells","Quietness","Shortcuts","Simple","Style","advanced_panel","as_any","as_any","as_any_mut","as_any_mut","borrow","borrow","borrow_mut","borrow_mut","button","clone","clone_into","draw","draw_baselayer","draw_boundary_roads","draw_boundary_roads","draw_over_roads","draw_over_roads","eq","event","fmt","from","from","help","impact_widget","into","into","into_any","into_any","into_any_arc","into_any_rc","into_any_rc","labels","left_panel","make_world","new_state","to_owned","top_panel","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","world","BLOCK_IN_BOUNDARY","BLOCK_IN_FRONTIER","CELLS","DISCONNECTED_CELL","FILTER_INNER","FILTER_OUTER","HIGHLIGHT_BOUNDARY_UNZOOMED","HIGHLIGHT_BOUNDARY_ZOOMED","OUTLINE","PLAN_ROUTE_AFTER","PLAN_ROUTE_BEFORE","PLAN_ROUTE_BIKE","PLAN_ROUTE_WALK","SHORTCUT_PATH","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","deref","deref","deref","deref","deref","deref","deref","from","from","from","from","from","from","from","into","into","into","into","into","into","into","into_any","into_any","into_any","into_any","into_any","into_any","into_any","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","vzip","FreehandFilters","LeftPanel","TopPanel","about","freehand_filters","left_panel","top_panel","About","as_any","as_any_mut","borrow","borrow_mut","draw","from","into","into_any","into_any_arc","into_any_rc","new_state","on_click","try_from","try_into","type_id","vzip","FreehandFilters","as_any","as_any_mut","borrow","borrow_mut","button","draw","draw_baselayer","event","from","instructions","instructions_at","interior_intersections","into","into_any","into_any_arc","into_any_rc","lasso","make_filters_along_path","new_state","perimeter","try_from","try_into","type_id","vzip","LeftPanel","as_any","as_any_mut","borrow","borrow_mut","builder","from","into","into_any","into_any_arc","into_any_rc","try_from","try_into","type_id","vzip","TopPanel","as_any","as_any_mut","borrow","borrow_mut","event","from","into","into_any","into_any_arc","into_any_rc","panel","try_from","try_into","type_id","vzip","Viewer","advanced_panel","as_any","as_any_mut","borrow","borrow_mut","draw","draw_baselayer","draw_top_layer","edit","event","from","help","highlight_cell","into","into_any","into_any_rc","left_panel","neighbourhood","new_state","recreate","setup_editing","show_error","top_panel","try_from","try_into","type_id","update","vzip","CustomizeBoundary","as_any","as_any_mut","borrow","borrow_mut","draw","edit","event","from","id","into","into_any","into_any_rc","new_state","panel","try_from","try_into","type_id","vzip","RESOLUTION_M","RenderCells","RenderCellsBuilder","as_any","as_any","as_any_mut","as_any_mut","borrow","borrow","borrow_mut","borrow_mut","boundary_polygon","boundary_polygon","bounds","color_cells","colors","colors","diffusion","draw_colored_areas","draw_island_outlines","finalize","from","from","grid","into","into","into_any","into_any","into_any_arc","into_any_arc","into_any_rc","into_any_rc","new","new","polygons_per_cell","to_multipolygons","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","Connectivity","EditNeighbourhood","EditOutcome","InteriorIntersection","InteriorRoad","Nothing","Obj","Recalculate","Shortcuts","Tab","Transition","as_any","as_any","as_any","as_any","as_any_mut","as_any_mut","as_any_mut","as_any_mut","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","cmp","edit_mode","eq","eq","equivalent","error","event","filters","fmt","from","from","from","from","get_hash","get_hash","handle_panel_action","hash","into","into","into","into","into_any","into_any","into_any","into_any","into_any_arc","into_any_arc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","make_buttons","ne","new","one_ways","panel_builder","partial_cmp","temporary","to_owned","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","world","0","0","0","handle_world_outcome","make_world","widget","handle_world_outcome","make_world","widget","geojson_string","write_geojson_file","ChangeKey","DiagonalFilter","ModalFilters","Toggle3Zoomed","allows_turn","allows_turn","as_any","as_any","as_any","as_any","as_any_mut","as_any_mut","as_any_mut","as_any_mut","auto","avoid_movements_between_roads","before_edit","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","cancel_empty_edit","clone","clone","clone_into","clone_into","cycle_through_alternatives","default","default","deserialize","deserialize","draw","draw","draw","draw_zoomed_planters","empty","eq","eq","existing","from","from","from","from","geometry","get_change_key","group1","group2","i","intersections","intersections","into","into","into","into","into_any","into_any","into_any","into_any","into_any_arc","into_any_arc","into_any_arc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","ne","ne","new","new","previous_version","r1","r2","roads","roads","serialize","serialize","to_owned","to_owned","transform_existing_filters","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","unzoomed","update_routing_params","vzip","vzip","vzip","vzip","BruteForce","Greedy","Heuristic","OnlyOneBorder","SplitCells","apply","as_any","as_any_mut","borrow","borrow_mut","brute_force","choices","clone","clone_into","eq","fmt","from","greedy","into","into_any","into_any_arc","into_any_rc","only_one_border","split_cells","to_owned","try_from","try_into","try_to_filter_road","type_id","vzip","detect_filters","transform_existing_filters","Filters","Impact","ShowResults","all_trips","as_any","as_any","as_any_mut","as_any_mut","borrow","borrow","borrow_mut","borrow_mut","change_key","compare_counts","counts_b","departure_time","empty","end_of_day","eq","filtered_trips","filters","find_changed_routes","from","from","from_panel","from_scenario","include_borders","into","into","into_any","into_any","into_any_arc","into_any_rc","into_any_rc","map","map_edits_changed","modes","ne","to_panel","trips_changed","try_from","try_from","try_into","try_into","type_id","type_id","ui","vzip","vzip","ChangedRoutes","ShowResults","as_any","as_any","as_any_mut","as_any_mut","borrow","borrow","borrow_mut","borrow_mut","current","draw","draw","draw_baselayer","draw_paths","event","event","from","from","help","into","into","into_any","into_any","into_any_rc","into_any_rc","left_panel","new_state","new_state","panel","paths","recalculate","top_panel","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","Cell","DistanceInterval","Neighbourhood","as_any","as_any","as_any","as_any_mut","as_any_mut","as_any_mut","border_arrows","borders","borders","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","cells","end","fade_irrelevant","find_cells","floodfill","from","from","from","id","interior_intersections","into","into","into","into_any","into_any","into_any","into_any_arc","into_any_arc","into_any_rc","into_any_rc","into_any_rc","is_disconnected","labels","new","orig_perimeter","perimeter","roads","start","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","0","0","BlockID","NeighbourhoodID","NeighbourhoodInfo","Partitioning","all_block_ids","all_blocks_in_neighbourhood","all_neighbourhoods","all_single_blocks","as_any","as_any","as_any","as_any","as_any_mut","as_any_mut","as_any_mut","as_any_mut","block","block_to_neighbourhood","block_to_neighbourhood","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","calculate_frontier","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","cmp","cmp","deserialize","deserialize","deserialize","deserialize","empty","eq","eq","equivalent","equivalent","fmt","fmt","from","from","from","from","get_block","get_hash","get_hash","get_hash","get_hash","hash","hash","into","into","into","into","into_any","into_any","into_any","into_any","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","is_empty","make_merged_blocks","map","ne","ne","neighbourhood_area_km2","neighbourhood_block","neighbourhood_boundary_polygon","neighbourhood_containing","neighbourhood_id_counter","neighbourhoods","new","override_drawing_boundary","override_neighbourhood_boundary_polygon","partial_cmp","partial_cmp","remove_block_from_neighbourhood","seed_using_heuristics","serialize","serialize","serialize","serialize","single_blocks","some_block_in_neighbourhood","to_owned","to_owned","to_owned","to_owned","transfer_block","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","use_expensive_blockfinding","vzip","vzip","vzip","vzip","RoutePlanner","app_session_current_trip_name","as_any","as_any_mut","borrow","borrow_mut","button","card","draw","draw_routes","event","files","from","help","into","into_any","into_any_rc","labels","left_panel","mut_files","new_state","pathfinder_cache","recalculate_paths","sync_from_file_management","top_panel","try_from","try_into","type_id","update_everything","vzip","waypoints","world","AltProposals","BrowseNeighbourhoods","Connectivity","PreserveState","Proposal","Route","Shortcuts","abst_version","as_any","as_any","as_any","as_any_mut","as_any_mut","as_any_mut","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","current","deserialize","from","from","from","from_app","handle_action","inner_load","inner_save","into","into","into","into_any","into_any","into_any","into_any_arc","into_any_arc","into_any_arc","into_any_rc","into_any_rc","into_any_rc","list","load","load_picker_ui","make_active","map","modal_filters","name","new","partitioning","perma","save_ui","serialize","stash_current_proposal","switch_to_existing_proposal","switch_to_state","to_widget","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","0","0","1","from_permanent","is_intersection_id","is_road_id","to_permanent","walk","SelectBoundary","add_block","add_blocks_freehand","as_any","as_any_mut","borrow","borrow_mut","currently_have_block","draw","draw_boundary_roads","event","from","frontier","help","id","into","into_any","into_any_rc","labels","lasso","last_failed_change","left_panel","make_panel","make_panel_for_lasso","new_state","orig_partitioning","toggle_block","top_panel","try_from","try_into","try_toggle_block","type_id","vzip","world","BrowseShortcuts","as_any","as_any_mut","borrow","borrow_mut","current_idx","draw","draw_path","edit","event","from","help","into","into_any","into_any_rc","left_panel","neighbourhood","new_state","prev_next_controls","recalculate","recreate","shortcuts","top_panel","try_from","try_into","type_id","vzip","EntryExit","Shortcuts","as_any","as_any","as_any_mut","as_any_mut","borrow","borrow","borrow_mut","borrow_mut","count_per_intersection","count_per_road","find_entrances","find_exits","find_major_road_name","find_shortcuts","from","from","into","into","into_any","into_any","into_any_arc","into_any_arc","into_any_rc","into_any_rc","lane","major_road_name","paths","quiet_and_total_streets","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip"],"q":["ltn","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","ltn::browse","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","ltn::colors","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","ltn::components","","","","","","","ltn::components::about","","","","","","","","","","","","","","","","","ltn::components::freehand_filters","","","","","","","","","","","","","","","","","","","","","","","","","ltn::components::left_panel","","","","","","","","","","","","","","","ltn::components::top_panel","","","","","","","","","","","","","","","","ltn::connectivity","","","","","","","","","","","","","","","","","","","","","","","","","","","","","ltn::customize_boundary","","","","","","","","","","","","","","","","","","","ltn::draw_cells","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","ltn::edit","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","ltn::edit::EditOutcome","ltn::edit::Obj","","ltn::edit::filters","","","ltn::edit::one_ways","","","ltn::export","","ltn::filters","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","ltn::filters::auto","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","ltn::filters::existing","","ltn::impact","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","ltn::impact::ui","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","ltn::neighbourhood","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","ltn::partition","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","ltn::route_planner","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","ltn::save","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","ltn::save::PreserveState","","","ltn::save::perma","","","","","ltn::select_boundary","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","ltn::shortcut_viewer","","","","","","","","","","","","","","","","","","","","","","","","","","","ltn::shortcuts","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""],"d":["","","","","A partitioning of the interior of a neighbourhood based on …","A diagonal filter exists in an intersection. It’s …","An interval along a road’s length, with start < end.","Stored in App session state. Before making any changes, …","","An opaque ID, won’t be contiguous as we adjust boundaries","","","","","","","","","","","","","Intersections where this cell touches the boundary of the …","","","","","","","","","","","","","Lock the user into one fixed neighbourhood, and remove …","","","","","","","","","","Do the equivalent of SimpleApp::draw_unzoomed or …","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","Edit history is preserved recursively","Load a previously saved proposal with this name. Note this …","","","","Most roads are fully in one cell. Roads with modal filters …","For filters placed along a road, where is the filter …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Calls U::from(self).","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","","Calls U::from(self).","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Calls U::from(self).","","","","","","","","","","","","","","Returns the argument unchanged.","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","Bounds of the neighbourhood boundary polygon","","Colors per cell, such that adjacent cells are colored …","","Returns a set of adjacent indices. The pairs are symmetric …","Draw cells as areas with different colors. The colors are …","Draw the boundary between cells as a thick outline. It’s …","","Returns the argument unchanged.","Returns the argument unchanged.","The grid only covers the boundary polygon of the …","Calls U::from(self).","Calls U::from(self).","","","","","","","Partition a neighbourhood’s boundary polygon based on …","","Rarely, this might be empty if the area is very small","Per cell, convert all polygons to a geo::MultiPolygon. …","","","","","","","","","","","","","","","","The neighbourhood has changed and the caller should …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Creates clickable objects for managing filters on roads …","","","","","","Returns the path where the file was written","This logically changes every time an edit occurs. MapName …","A diagonal filter exists in an intersection. It’s …","Stored in App session state. Before making any changes, …","Depending on the canvas zoom level, draws one of 3 things.","","","","","","","","","","","Experiments to make a neighbourhood be low-traffic by …","","Call before making any changes to preserve edit history","","","","","","","","","If it’s possible no edits were made, undo the previous …","","","","","The caller must call this in a before_edit / after_edit “…","","","","","","Draw all modal filters","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Physically where is the filter placed?","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","Edit history is preserved recursively","","","For filters placed along a road, where is the filter …","","","","","","","","","","","","","","","","","","","","Modify RoutingParams to respect these modal filters","","","","","Try adding one filter to every possible road, counting the …","Find the road with the most shortcuts that can be closed …","","Per cell, close all borders except for one. This doesn’t …","Find one filter that splits a cell, maximizing the number …","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","","","Detect roads that’re modelled in OSM as cycleways, but …","","","","","","","","","","","","","","","","","","","","","","Returns routes that start or stop crossing the given road. …","Returns the argument unchanged.","Returns the argument unchanged.","","","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","A partitioning of the interior of a neighbourhood based on …","An interval along a road’s length, with start < end.","","","","","","","","","","Intersections where this cell touches the boundary of the …","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","A cell is disconnected if it’s not connected to a …","","","","","Most roads are fully in one cell. Roads with modal filters …","","","","","","","","","","","","","","","","Identifies a single / unmerged block, which never changes","An opaque ID, won’t be contiguous as we adjust boundaries","","","","","","","","","","","","","","","","","","","","","","","","","","Blocks on the “frontier” are adjacent to the …","","","","","","","","","","","","","","","Only valid before the LTN tool has been activated this …","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","Draw a special cone of light when focused on this …","","","","Needs to find an existing neighbourhood to take the block, …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","Captures all of the edits somebody makes to a map in the …","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","Try to load a proposal. If it fails, returns a popup …","","","","","","","","The Proposal struct references IntersectionIDs and …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","",""],"i":[1,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,2,3,2,3,4,5,6,2,3,2,3,0,5,3,0,0,0,0,2,3,2,2,0,2,7,0,2,2,7,0,0,2,8,0,5,0,2,3,3,9,9,2,9,5,0,2,5,10,2,3,2,3,3,2,3,7,5,7,0,2,4,2,0,4,4,5,0,2,5,10,3,2,9,9,6,10,0,0,0,0,0,0,4,8,7,2,3,2,3,2,3,4,2,3,7,0,11,11,11,11,0,0,7,11,7,11,7,11,7,11,7,11,11,7,7,0,7,0,7,11,7,11,7,11,0,0,7,11,7,11,11,7,11,7,7,0,7,11,7,7,11,7,11,7,11,7,11,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,13,14,15,16,17,18,12,13,14,15,16,17,18,12,13,14,15,16,17,18,12,13,14,15,16,17,18,12,13,14,15,16,17,18,12,13,14,15,16,17,18,12,13,14,15,16,17,18,12,13,14,15,16,17,18,12,13,14,15,16,17,18,12,13,14,15,16,17,18,12,13,14,15,16,17,18,12,13,14,15,16,17,18,12,13,14,15,16,17,18,12,13,14,15,16,17,18,12,13,14,15,16,17,18,0,0,0,0,0,0,0,0,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,0,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,0,21,21,21,21,21,21,21,21,21,21,21,21,21,21,0,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,0,0,23,23,23,23,23,23,23,23,23,23,0,23,23,23,23,23,23,23,23,0,23,23,23,23,23,23,23,0,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,0,0,0,25,26,25,26,25,26,25,26,25,26,26,0,25,26,0,25,25,26,25,26,26,25,26,25,26,25,26,25,26,25,26,25,25,25,26,25,26,25,26,25,26,27,0,0,28,28,29,0,29,27,0,29,30,29,27,28,30,29,27,28,30,29,27,28,30,29,27,28,28,28,28,0,27,28,28,29,30,0,28,30,29,27,28,28,28,30,28,30,29,27,28,30,29,27,28,27,28,30,29,27,28,27,28,30,0,30,28,30,28,30,29,27,28,30,29,27,28,30,29,27,28,30,29,27,28,30,31,32,33,0,0,0,0,0,0,0,0,0,0,0,0,10,9,34,10,35,9,34,10,35,9,0,9,10,34,10,35,9,34,10,35,9,10,10,9,10,9,9,10,35,10,9,34,10,34,0,34,35,9,0,34,10,35,9,9,10,9,9,9,10,35,34,10,35,9,34,10,35,9,10,35,9,34,10,35,9,35,9,34,9,10,9,9,10,35,10,9,10,9,0,34,10,35,9,34,10,35,9,34,10,35,9,34,10,34,10,35,9,36,36,0,36,36,36,36,36,36,36,0,36,36,36,36,36,36,0,36,36,36,36,0,0,36,36,36,0,36,36,0,0,0,0,0,37,37,38,37,38,37,38,37,38,37,37,37,38,37,0,38,37,37,37,37,38,38,37,38,37,38,37,38,38,37,38,37,37,38,38,38,37,37,38,37,38,37,38,0,37,38,0,0,39,40,39,40,39,40,39,40,40,39,40,39,40,39,40,39,40,0,39,40,39,40,39,40,39,39,40,40,40,40,39,39,40,39,40,39,40,39,40,0,0,0,5,6,8,5,6,8,6,5,6,5,6,8,5,6,8,5,8,5,0,0,5,6,8,5,5,5,6,8,5,6,8,6,8,5,6,8,6,5,5,5,5,6,8,5,6,8,5,6,8,5,6,8,5,6,8,1,41,0,0,0,0,4,4,4,4,1,41,4,42,1,41,4,42,42,4,4,1,41,4,42,1,41,4,42,4,1,41,4,42,1,41,4,42,1,41,1,41,4,42,4,1,41,1,41,1,41,1,41,4,42,4,1,1,41,41,1,41,1,41,4,42,1,41,4,42,1,41,4,42,1,41,4,42,4,4,4,1,41,4,4,4,4,4,4,42,42,4,1,41,4,4,1,41,4,42,4,4,1,41,4,42,4,1,41,4,42,1,41,4,42,1,41,4,42,4,1,41,4,42,0,43,43,43,43,43,43,0,43,43,43,43,43,0,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,0,44,44,0,0,44,44,45,46,44,45,46,44,45,46,44,45,46,44,45,46,45,46,44,45,45,46,45,0,46,44,45,46,44,45,46,44,45,46,44,45,46,45,0,45,45,45,45,46,45,0,0,45,0,0,44,46,46,44,45,46,44,45,46,44,45,46,44,45,47,48,48,0,0,0,0,0,0,49,49,49,49,49,49,49,49,49,49,49,49,0,49,49,49,49,49,49,49,49,0,0,49,49,49,49,49,49,49,49,49,49,0,50,50,50,50,50,50,50,50,50,50,0,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,0,0,51,52,51,52,51,52,51,52,51,51,0,0,0,0,51,52,51,52,51,52,51,52,51,52,52,52,51,51,51,52,51,52,51,52,51,52],"f":[null,null,null,null,null,null,null,null,null,null,null,null,null,[[["eventctx",3],["simpleapp",3]]],null,null,[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],null,null,[[],["app",3]],[[["eventctx",3],["simpleapp",3],["timer",3]]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["gfxctx",3],["simpleapp",3],["fn",8]]],null,null,null,null,null,null,[[]],[[]],[[["argmatches",3]]],null,null,null,null,null,null,null,null,null,[[]],[[]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["arc",3]],["arc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],null,null,null,[[]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["settings",3]]],null,null,null,null,null,null,null,[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],null,[[]],[[]],null,null,null,null,null,null,null,[[["eventctx",3],["simpleapp",3]],["widget",3]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["eventctx",3],["simpleapp",3]],["widget",3]],[[["",0]],["style",4]],[[["",0],["",0]]],[[["",0],["gfxctx",3],["simpleapp",3]]],[[["",0]],["drawbaselayer",4]],[[["eventctx",3],["simpleapp",3]],["togglezoomed",3]],null,[[["eventctx",3],["simpleapp",3],["timer",3]],["togglezoomed",3]],null,[[["",0],["style",4]],["bool",0]],[[["",0],["eventctx",3],["simpleapp",3]],["transition",4,[["simpleapp",3,[["session",3]]]]]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],[[],["vec",3,[["str",0]]]],[[["eventctx",3],["simpleapp",3]],["widget",3]],[[]],[[]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["arc",3]],["arc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],null,null,[[["eventctx",3],["simpleapp",3],["timer",3]],["world",3,[["neighbourhoodid",3]]]],[[["eventctx",3],["simpleapp",3]],["box",3,[["state",8]]]],[[["",0]]],null,[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]]],[[["",0]],["color",3]],[[["",0]],["color",3]],[[["",0]],["color",3]],[[["",0]],["color",3]],[[["",0]],["color",3]],[[["",0]],["color",3]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["arc",3]],["arc",3,[["any",8]]]],[[["arc",3]],["arc",3,[["any",8]]]],[[["arc",3]],["arc",3,[["any",8]]]],[[["arc",3]],["arc",3,[["any",8]]]],[[["arc",3]],["arc",3,[["any",8]]]],[[["arc",3]],["arc",3,[["any",8]]]],[[["arc",3]],["arc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],null,null,null,null,null,null,null,null,[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0],["gfxctx",3],["simpleapp",3]]],[[]],[[]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["arc",3]],["arc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["eventctx",3]],["box",3,[["state",8]]]],[[["",0],["eventctx",3],["simpleapp",3],["str",0],["panel",3]],["transition",4,[["simpleapp",3,[["session",3]]]]]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[]],null,[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["",0]],[[["",0]],["",0]],[[["eventctx",3]],["widget",3]],[[["",0],["gfxctx",3],["simpleapp",3]]],[[["",0]],["drawbaselayer",4]],[[["",0],["eventctx",3],["simpleapp",3]],["transition",4,[["simpleapp",3,[["session",3]]]]]],[[]],null,null,null,[[]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["arc",3]],["arc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],null,[[["",0],["eventctx",3],["simpleapp",3],["polyline",3]]],[[["eventctx",3],["neighbourhood",3],["screenpt",3]],["box",3,[["state",8]]]],null,[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[]],null,[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["",0]],[[["",0]],["",0]],[[["eventctx",3],["panel",3],["widget",3]],["panelbuilder",3]],[[]],[[]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["arc",3]],["arc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[]],null,[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["",0]],[[["",0]],["",0]],[[["eventctx",3],["simpleapp",3],["panel",3],["fn",8]],["option",4,[["transition",4,[["simpleapp",3,[["session",3]]]]]]]],[[]],[[]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["arc",3]],["arc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["eventctx",3],["simpleapp",3]],["panel",3]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[]],null,[[["eventctx",3],["simpleapp",3]],["widget",3]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0],["gfxctx",3],["simpleapp",3]]],[[["",0]],["drawbaselayer",4]],null,null,[[["",0],["eventctx",3],["simpleapp",3]],["transition",4,[["simpleapp",3,[["session",3]]]]]],[[]],[[],["vec",3,[["str",0]]]],null,[[]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["rc",3]],["rc",3,[["any",8]]]],null,null,[[["eventctx",3],["simpleapp",3],["neighbourhoodid",3]],["box",3,[["state",8]]]],[[["",0],["eventctx",3],["simpleapp",3]],["box",3,[["state",8]]]],[[["eventctx",3],["simpleapp",3],["neighbourhood",3]]],null,null,[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0],["eventctx",3],["simpleapp",3]]],[[]],null,[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0],["gfxctx",3],["simpleapp",3]]],null,[[["",0],["eventctx",3],["simpleapp",3]],["transition",4,[["simpleapp",3,[["session",3]]]]]],[[]],null,[[]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["eventctx",3],["simpleapp",3],["neighbourhoodid",3]],["box",3,[["state",8]]]],null,[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[]],null,null,null,[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],null,null,null,[[["usize",0],["hashset",3]],["vec",3,[["color",3]]]],null,null,[[["grid",3],["usize",0]],["hashset",3]],[[["",0]],["geombatch",3]],[[["",0]],["geombatch",3]],[[],["rendercells",3]],[[]],[[]],null,[[]],[[]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["arc",3]],["arc",3,[["any",8]]]],[[["arc",3]],["arc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["map",3],["neighbourhood",3]],["rendercells",3]],[[["map",3],["neighbourhood",3]],["rendercellsbuilder",3]],null,[[["",0]],["vec",3,[["multipolygon",3]]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],null,null,null,null,null,null,null,null,null,null,null,[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["obj",4]],[[["",0],["",0]]],[[["",0],["obj",4]],["ordering",4]],[[["eventctx",3],["bool",0]],["widget",3]],[[["",0],["tab",4]],["bool",0]],[[["",0],["obj",4]],["bool",0]],[[["",0],["",0]],["bool",0]],[[["eventctx",3],["str",0]]],[[["",0],["eventctx",3],["simpleapp",3]],["editoutcome",4]],null,[[["",0],["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],[[["",0]],["u64",0]],[[["",0],["",0]],["u64",0]],[[["",0],["eventctx",3],["simpleapp",3],["str",0],["neighbourhood",3],["panel",3]],["option",4,[["transition",4,[["simpleapp",3,[["session",3]]]]]]]],[[["",0],["",0]]],[[]],[[]],[[]],[[]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["arc",3]],["arc",3,[["any",8]]]],[[["arc",3]],["arc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["eventctx",3],["simpleapp",3]],["widget",3]],[[["",0],["obj",4]],["bool",0]],[[["eventctx",3],["simpleapp",3],["neighbourhood",3],["shortcuts",3]]],null,[[["",0],["eventctx",3],["simpleapp",3],["tab",4],["panel",3],["widget",3]],["panelbuilder",3]],[[["",0],["obj",4]],["option",4,[["ordering",4]]]],[[]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],[[]],[[]],null,null,null,null,[[["eventctx",3],["simpleapp",3],["worldoutcome",4,[["obj",4]]]],["editoutcome",4]],[[["eventctx",3],["simpleapp",3],["neighbourhood",3],["shortcuts",3]],["world",3,[["obj",4]]]],[[["eventctx",3],["simpleapp",3]],["widget",3]],[[["eventctx",3],["simpleapp",3],["worldoutcome",4,[["obj",4]]]],["editoutcome",4]],[[["eventctx",3],["simpleapp",3],["neighbourhood",3]],["world",3,[["obj",4]]]],[[["eventctx",3]],["widget",3]],[[["eventctx",3],["simpleapp",3]],["result",6,[["string",3]]]],[[["eventctx",3],["simpleapp",3]],["result",6,[["string",3]]]],null,null,null,null,[[["",0],["turnid",3]],["bool",0]],[[["",0],["roadid",3],["roadid",3]],["bool",0]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],null,[[["",0]],["vec",3]],[[["",0]]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["bool",0]],[[["",0]],["modalfilters",3]],[[["",0]],["diagonalfilter",3]],[[["",0],["",0]]],[[["",0],["",0]]],[[["simpleapp",3],["intersectionid",3]]],[[],["modalfilters",3]],[[],["changekey",3]],[[],["result",4]],[[],["result",4]],[[["",0],["gfxctx",3]]],[[["",0],["eventctx",3],["map",3]],["toggle3zoomed",3]],null,[[["eventctx",3],["geombatch",3],["line",3]]],[[["eventctx",3]]],[[["",0],["changekey",3]],["bool",0]],[[["",0],["diagonalfilter",3]],["bool",0]],null,[[]],[[]],[[]],[[]],[[["",0],["map",3]],["line",3]],[[["",0]],["changekey",3]],null,null,null,null,null,[[]],[[]],[[]],[[]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["arc",3]],["arc",3,[["any",8]]]],[[["arc",3]],["arc",3,[["any",8]]]],[[["arc",3]],["arc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["",0],["changekey",3]],["bool",0]],[[["",0],["diagonalfilter",3]],["bool",0]],[[["togglezoomed",3],["drawunzoomedshapes",3]]],[[["map",3],["intersectionid",3],["roadid",3],["roadid",3]],["diagonalfilter",3]],null,null,null,null,null,[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]]],[[["",0]]],null,[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],null,[[["",0],["routingparams",3]]],[[]],[[]],[[]],[[]],null,null,null,null,null,[[["eventctx",3],["simpleapp",3],["neighbourhood",3],["timer",3]],["result",6]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["",0]],[[["",0]],["",0]],[[["eventctx",3],["simpleapp",3],["neighbourhood",3],["timer",3]]],[[],["vec",3,[["choice",3,[["heuristic",4]]]]]],[[["",0]],["heuristic",4]],[[["",0],["",0]]],[[["",0],["heuristic",4]],["bool",0]],[[["",0],["formatter",3]],["result",6]],[[]],[[["eventctx",3],["simpleapp",3],["neighbourhood",3],["timer",3]]],[[]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["arc",3]],["arc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["simpleapp",3],["neighbourhood",3]]],[[["eventctx",3],["simpleapp",3],["neighbourhood",3],["timer",3]]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[["eventctx",3],["simpleapp",3],["neighbourhood",3],["roadid",3]],["option",4,[["neighbourhood",3]]]],[[["",0]],["typeid",3]],[[]],[[["map",3]],["vec",3,[["road",3]]]],[[["eventctx",3],["simpleapp",3],["timer",3]]],null,null,null,null,[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],null,null,[[["",0],["simpleapp",3],["timer",3]],["trafficcounts",3]],null,[[["eventctx",3]]],[[],["time",3]],[[["",0],["filters",3]],["bool",0]],null,null,[[["",0],["simpleapp",3],["roadid",3],["timer",3]],["vec",3]],[[]],[[]],[[["panel",3]],["filters",3]],[[["eventctx",3],["simpleapp",3],["scenario",3],["timer",3]],["impact",3]],null,[[]],[[]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["arc",3]],["arc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],null,[[["",0],["eventctx",3],["simpleapp",3],["timer",3]]],null,[[["",0],["filters",3]],["bool",0]],[[["",0],["eventctx",3],["simpleapp",3]],["widget",3]],[[["",0],["eventctx",3],["simpleapp",3],["timer",3]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],null,[[]],[[]],null,null,[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],null,[[["",0],["gfxctx",3],["simpleapp",3]]],[[["",0],["gfxctx",3],["simpleapp",3]]],[[["",0]],["drawbaselayer",4]],null,[[["",0],["eventctx",3],["simpleapp",3]],["transition",4,[["simpleapp",3,[["session",3]]]]]],[[["",0],["eventctx",3],["simpleapp",3]],["transition",4,[["simpleapp",3,[["session",3]]]]]],[[]],[[]],[[],["vec",3,[["str",0]]]],[[]],[[]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],null,[[["eventctx",3],["simpleapp",3]],["box",3,[["state",8]]]],[[["eventctx",3],["simpleapp",3],["vec",3]],["box",3,[["state",8]]]],null,null,[[["",0],["eventctx",3],["simpleapp",3]]],null,[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],null,null,null,[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0],["simpleapp",3]],["vec",3,[["polygon",3]]]],null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],null,null,null,[[["map",3],["perimeter",3],["btreeset",3],["modalfilters",3]],["vec",3,[["cell",3]]]],[[["map",3],["roadid",3],["btreeset",3],["modalfilters",3]],["cell",3]],[[]],[[]],[[]],null,null,[[]],[[]],[[]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["arc",3]],["arc",3,[["any",8]]]],[[["arc",3]],["arc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["",0]],["bool",0]],null,[[["eventctx",3],["simpleapp",3],["neighbourhoodid",3]],["neighbourhood",3]],null,null,null,null,[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],[[]],null,null,null,null,null,null,[[["",0]],["vec",3,[["blockid",3]]]],[[["",0],["neighbourhoodid",3]],["vec",3,[["blockid",3]]]],[[["",0]],["btreemap",3]],[[["",0]],["vec",3]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],null,[[["",0],["blockid",3]],["neighbourhoodid",3]],null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0],["perimeter",3]],["btreeset",3,[["blockid",3]]]],[[["",0]],["neighbourhoodid",3]],[[["",0]],["blockid",3]],[[["",0]],["partitioning",3]],[[["",0]],["neighbourhoodinfo",3]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["neighbourhoodid",3]],["ordering",4]],[[["",0],["blockid",3]],["ordering",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["partitioning",3]],[[["",0],["neighbourhoodid",3]],["bool",0]],[[["",0],["blockid",3]],["bool",0]],[[["",0],["",0]],["bool",0]],[[["",0],["",0]],["bool",0]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],[[["",0],["blockid",3]],["block",3]],[[["",0]],["u64",0]],[[["",0],["",0]],["u64",0]],[[["",0],["",0]],["u64",0]],[[["",0]],["u64",0]],[[["",0],["",0]]],[[["",0],["",0]]],[[]],[[]],[[]],[[]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["arc",3]],["arc",3,[["any",8]]]],[[["arc",3]],["arc",3,[["any",8]]]],[[["arc",3]],["arc",3,[["any",8]]]],[[["arc",3]],["arc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["",0]],["bool",0]],[[["",0],["map",3],["vec",3,[["blockid",3]]]],["result",6,[["vec",3,[["block",3]]]]]],null,[[["",0],["neighbourhoodid",3]],["bool",0]],[[["",0],["blockid",3]],["bool",0]],[[["",0],["neighbourhoodid",3]],["string",3]],[[["",0],["neighbourhoodid",3]],["block",3]],[[["",0],["simpleapp",3],["neighbourhoodid",3]],["polygon",3]],[[["",0],["blockid",3]],["option",4,[["neighbourhoodid",3]]]],null,null,[[["block",3]]],null,[[["",0],["neighbourhoodid",3],["polygon",3]]],[[["",0],["neighbourhoodid",3]],["option",4,[["ordering",4]]]],[[["",0],["blockid",3]],["option",4,[["ordering",4]]]],[[["",0],["map",3],["blockid",3],["neighbourhoodid",3]],["result",6,[["option",4,[["neighbourhoodid",3]]]]]],[[["simpleapp",3],["timer",3]],["partitioning",3]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],null,[[["",0],["neighbourhoodid",3]],["blockid",3]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0],["map",3],["blockid",3],["neighbourhoodid",3],["neighbourhoodid",3]],["result",6,[["option",4,[["neighbourhoodid",3]]]]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],null,[[]],[[]],[[]],[[]],null,[[["simpleapp",3]],["option",4]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["",0]],[[["",0]],["",0]],[[["eventctx",3]],["widget",3]],[[["eventctx",3],["str",0],["str",0],["duration",3],["color",3]],["widget",3]],[[["",0],["gfxctx",3],["simpleapp",3]]],null,[[["",0],["eventctx",3],["simpleapp",3]],["transition",4,[["simpleapp",3,[["session",3]]]]]],null,[[]],[[],["vec",3,[["str",0]]]],[[]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["rc",3]],["rc",3,[["any",8]]]],null,null,[[["",0]],["tripmanagement",3]],[[["eventctx",3],["simpleapp",3]],["box",3,[["state",8]]]],null,[[["",0],["eventctx",3],["simpleapp",3]],["widget",3]],[[["",0],["eventctx",3],["simpleapp",3]]],null,[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0],["eventctx",3],["simpleapp",3]]],[[]],null,null,null,null,null,null,null,null,null,null,[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],null,[[],["result",4]],[[]],[[]],[[]],[[["simpleapp",3]]],[[["eventctx",3],["simpleapp",3],["preservestate",4],["str",0]],["option",4,[["transition",4,[["simpleapp",3,[["session",3]]]]]]]],[[["eventctx",3],["simpleapp",3],["str",0]],["result",6]],[[["simpleapp",3]],["result",6]],[[]],[[]],[[]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["arc",3]],["arc",3,[["any",8]]]],[[["arc",3]],["arc",3,[["any",8]]]],[[["arc",3]],["arc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],null,[[["eventctx",3],["simpleapp",3],["string",3]],["option",4,[["box",3,[["state",8]]]]]],[[["eventctx",3],["simpleapp",3],["preservestate",4]],["box",3,[["state",8]]]],[[["eventctx",3],["simpleapp",3]]],null,null,null,[[]],null,null,[[["eventctx",3],["simpleapp",3],["preservestate",4]],["box",3,[["state",8]]]],[[["",0]],["result",4]],[[["simpleapp",3]]],[[["eventctx",3],["simpleapp",3],["usize",0]]],[[["eventctx",3],["simpleapp",3]],["transition",4,[["simpleapp",3,[["session",3]]]]]],[[["",0],["eventctx",3],["simpleapp",3]],["widget",3]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],[[]],null,null,null,[[["map",3],["value",4]],["result",6,[["proposal",3]]]],[[["str",0]],["bool",0]],[[["str",0]],["bool",0]],[[["map",3],["proposal",3]],["result",6,[["value",4]]]],[[["str",0],["value",4],["",0]],["result",6]],null,[[["",0],["eventctx",3],["simpleapp",3],["blockid",3]]],[[["",0],["eventctx",3],["simpleapp",3],["polygon",3]]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0],["simpleapp",3],["blockid",3]],["bool",0]],[[["",0],["gfxctx",3],["simpleapp",3]]],null,[[["",0],["eventctx",3],["simpleapp",3]],["transition",4,[["simpleapp",3,[["session",3]]]]]],[[]],null,[[],["vec",3,[["str",0]]]],null,[[]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["rc",3]],["rc",3,[["any",8]]]],null,null,null,null,[[["eventctx",3],["simpleapp",3],["neighbourhoodid",3],["panel",3]],["panel",3]],[[["eventctx",3],["panel",3]],["panel",3]],[[["eventctx",3],["simpleapp",3],["neighbourhoodid",3]],["box",3,[["state",8]]]],null,[[["",0],["eventctx",3],["simpleapp",3],["blockid",3]],["transition",4,[["simpleapp",3,[["session",3]]]]]],null,[[],["result",4]],[[],["result",4]],[[["",0],["simpleapp",3],["blockid",3]],["result",6,[["option",4,[["neighbourhoodid",3]]]]]],[[["",0]],["typeid",3]],[[]],null,null,[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["",0]],[[["",0]],["",0]],null,[[["",0],["gfxctx",3],["simpleapp",3]]],null,null,[[["",0],["eventctx",3],["simpleapp",3]],["transition",4,[["simpleapp",3,[["session",3]]]]]],[[]],[[],["vec",3,[["str",0]]]],[[]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["rc",3]],["rc",3,[["any",8]]]],null,null,[[["eventctx",3],["simpleapp",3],["neighbourhoodid",3],["option",4,[["pathrequest",3]]]],["box",3,[["state",8]]]],[[["",0],["eventctx",3]],["widget",3]],[[["",0],["eventctx",3],["simpleapp",3]]],[[["",0],["eventctx",3],["simpleapp",3]],["box",3,[["state",8]]]],null,null,[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[]],null,null,[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],null,null,[[["map",3],["neighbourhood",3],["cell",3]],["vec",3,[["entryexit",3]]]],[[["map",3],["neighbourhood",3],["cell",3]],["vec",3,[["entryexit",3]]]],[[["map",3],["neighbourhood",3],["intersectionid",3]],["option",4,[["string",3]]]],[[["simpleapp",3],["neighbourhood",3],["timer",3]],["shortcuts",3]],[[]],[[]],[[]],[[]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["arc",3]],["arc",3,[["any",8]]]],[[["arc",3]],["arc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],null,null,null,[[["",0],["neighbourhood",3]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]]],"p":[[3,"NeighbourhoodID"],[3,"Session"],[3,"Args"],[3,"Partitioning"],[3,"Neighbourhood"],[3,"Cell"],[3,"BrowseNeighbourhoods"],[3,"DistanceInterval"],[3,"DiagonalFilter"],[3,"ModalFilters"],[4,"Style"],[3,"CELLS"],[3,"FILTER_OUTER"],[3,"FILTER_INNER"],[3,"PLAN_ROUTE_BEFORE"],[3,"PLAN_ROUTE_AFTER"],[3,"PLAN_ROUTE_BIKE"],[3,"PLAN_ROUTE_WALK"],[3,"About"],[3,"FreehandFilters"],[3,"LeftPanel"],[3,"TopPanel"],[3,"Viewer"],[3,"CustomizeBoundary"],[3,"RenderCells"],[3,"RenderCellsBuilder"],[4,"Tab"],[4,"Obj"],[4,"EditOutcome"],[3,"EditNeighbourhood"],[13,"Transition"],[13,"InteriorRoad"],[13,"InteriorIntersection"],[3,"Toggle3Zoomed"],[3,"ChangeKey"],[4,"Heuristic"],[3,"Impact"],[3,"Filters"],[3,"ShowResults"],[3,"ChangedRoutes"],[3,"BlockID"],[3,"NeighbourhoodInfo"],[3,"RoutePlanner"],[4,"PreserveState"],[3,"Proposal"],[3,"AltProposals"],[13,"Connectivity"],[13,"Shortcuts"],[3,"SelectBoundary"],[3,"BrowseShortcuts"],[3,"Shortcuts"],[3,"EntryExit"]]},\ +"ltn":{"doc":"","t":[12,6,3,3,3,3,3,3,3,3,3,3,6,5,12,12,11,11,11,11,12,12,12,11,11,11,11,0,12,11,5,0,0,0,12,12,12,12,0,12,12,0,12,12,12,5,0,12,12,0,12,0,11,11,11,12,12,12,12,12,0,12,12,12,11,11,11,11,11,11,11,12,12,12,5,12,12,12,0,12,12,12,0,12,12,12,12,12,12,12,12,12,0,5,0,0,0,12,12,12,12,11,11,11,11,11,11,12,11,11,12,3,13,13,13,13,4,5,11,11,11,11,11,11,11,11,11,11,11,11,11,5,12,5,12,11,11,11,11,11,5,5,11,11,11,11,11,11,11,12,12,5,11,11,12,11,11,11,11,11,11,11,11,12,17,17,3,17,3,3,17,17,17,3,3,3,3,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,2,2,0,0,0,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,5,11,11,11,11,11,11,12,12,12,11,11,5,12,11,11,11,12,12,11,11,5,12,12,11,11,11,11,11,3,11,11,11,11,11,12,11,11,12,11,11,11,11,12,11,11,11,11,17,3,3,11,11,11,11,11,11,11,11,12,12,12,5,12,12,5,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,4,3,4,13,13,13,13,13,4,13,13,13,13,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,5,11,11,11,11,0,11,0,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,11,11,0,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,5,5,5,5,5,5,5,5,5,3,11,11,11,11,12,11,5,11,11,11,11,5,12,12,11,11,11,11,5,5,5,3,3,3,3,11,11,11,11,11,11,11,11,11,11,0,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,5,11,11,11,0,11,11,11,11,11,11,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,11,11,11,11,2,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,13,13,4,13,13,11,11,11,11,11,5,11,11,11,11,11,11,5,11,11,11,11,5,5,11,11,11,5,11,11,5,5,3,3,2,12,11,11,11,11,11,11,11,11,12,12,11,12,11,5,11,12,12,11,11,11,11,11,12,11,11,11,11,11,11,11,12,11,12,11,11,11,11,11,11,11,11,11,0,11,11,3,3,11,11,11,11,11,11,11,11,12,11,11,11,12,11,11,11,11,5,11,11,11,11,11,11,12,11,11,12,12,11,12,11,11,11,11,11,11,11,11,3,3,3,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,12,12,12,5,5,11,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,12,11,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,12,12,3,3,3,3,11,11,11,11,11,11,11,11,11,11,11,11,12,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,12,12,11,12,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,3,11,11,11,11,11,11,5,11,12,11,12,11,5,11,11,11,12,12,11,11,12,11,11,12,11,11,11,11,11,12,12,3,13,13,4,3,13,12,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,5,11,11,11,11,11,11,11,11,11,11,11,11,12,11,5,11,12,12,12,11,12,0,5,11,5,5,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,5,5,5,5,5,3,11,11,11,11,11,11,11,11,12,11,11,12,5,12,11,11,11,12,12,12,12,5,5,11,12,11,12,11,11,11,11,11,12,3,3,11,11,11,11,11,11,11,11,12,12,11,11,5,5,5,5,11,11,11,11,11,11,11,11,11,11,11,12,12,12,11,11,11,11,11,11,11,11,11,11],"n":["0","App","Args","BrowseNeighbourhoods","Cell","DiagonalFilter","DistanceInterval","ModalFilters","Neighbourhood","NeighbourhoodID","Partitioning","Session","Transition","after_edit","alt_proposals","app_args","as_any","as_any","as_any_mut","as_any_mut","block_to_neighbourhood","borders","borders","borrow","borrow","borrow_mut","borrow_mut","browse","cells","clap","clear_current_proposal","colors","components","connectivity","consultation","consultation","consultation_proposal_path","current_trip_name","customize_boundary","draw_all_filters","draw_boundary_roads","draw_cells","draw_cells_as_areas","draw_neighbourhood_style","draw_over_roads","draw_with_layering","edit","edit_mode","end","export","fade_irrelevant","filters","from","from","from_clap","group1","group2","heuristic","i","id","impact","impact","interior_intersections","intersections","into","into","into_any","into_any","into_any_arc","into_any_rc","into_any_rc","labels","labels","left_panel","main","main_road_penalty","map","modal_filters","neighbourhood","neighbourhood_id_counter","neighbourhoods","orig_perimeter","partition","partitioning","perimeter","previous_version","proposal","proposal_name","r1","r2","roads","roads","route_planner","run","save","select_boundary","shortcuts","shortcuts","single_blocks","start","top_panel","try_from","try_from","try_into","try_into","type_id","type_id","use_expensive_blockfinding","vzip","vzip","world","BrowseNeighbourhoods","Cells","Quietness","Shortcuts","Simple","Style","advanced_panel","as_any","as_any","as_any_mut","as_any_mut","borrow","borrow","borrow_mut","borrow_mut","button","clone","clone_into","draw","draw_baselayer","draw_boundary_roads","draw_boundary_roads","draw_over_roads","draw_over_roads","eq","event","fmt","from","from","help","impact_widget","into","into","into_any","into_any","into_any_arc","into_any_rc","into_any_rc","labels","left_panel","make_world","new_state","to_owned","top_panel","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","world","BLOCK_IN_BOUNDARY","BLOCK_IN_FRONTIER","CELLS","DISCONNECTED_CELL","FILTER_INNER","FILTER_OUTER","HIGHLIGHT_BOUNDARY_UNZOOMED","HIGHLIGHT_BOUNDARY_ZOOMED","OUTLINE","PLAN_ROUTE_AFTER","PLAN_ROUTE_BEFORE","PLAN_ROUTE_BIKE","PLAN_ROUTE_WALK","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","deref","deref","deref","deref","deref","deref","deref","from","from","from","from","from","from","from","into","into","into","into","into","into","into","into_any","into_any","into_any","into_any","into_any","into_any","into_any","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","vzip","LeftPanel","TopPanel","about","left_panel","top_panel","About","as_any","as_any_mut","borrow","borrow_mut","draw","from","into","into_any","into_any_arc","into_any_rc","new_state","on_click","try_from","try_into","type_id","vzip","LeftPanel","as_any","as_any_mut","borrow","borrow_mut","builder","from","into","into_any","into_any_arc","into_any_rc","try_from","try_into","type_id","vzip","TopPanel","as_any","as_any_mut","borrow","borrow_mut","event","from","into","into_any","into_any_arc","into_any_rc","panel","try_from","try_into","type_id","vzip","Viewer","advanced_panel","as_any","as_any_mut","borrow","borrow_mut","draw","draw_baselayer","draw_top_layer","draw_under_roads_layer","edit","event","from","help","highlight_cell","into","into_any","into_any_rc","left_panel","neighbourhood","new_state","recreate","setup_editing","show_error","top_panel","try_from","try_into","type_id","update","vzip","CustomizeBoundary","as_any","as_any_mut","borrow","borrow_mut","draw","edit","event","from","id","into","into_any","into_any_rc","new_state","panel","try_from","try_into","type_id","vzip","RESOLUTION_M","RenderCells","RenderCellsBuilder","as_any","as_any","as_any_mut","as_any_mut","borrow","borrow","borrow_mut","borrow_mut","boundary_polygon","boundary_polygon","bounds","color_cells","colors","colors","diffusion","draw_colored_areas","draw_island_outlines","finalize","from","from","grid","into","into","into_any","into_any","into_any_arc","into_any_arc","into_any_rc","into_any_rc","new","new","polygons_per_cell","to_multipolygons","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","EditMode","EditNeighbourhood","EditOutcome","Filters","FreehandFilters","InteriorIntersection","InteriorRoad","Nothing","Obj","Oneways","Shortcuts","Transition","UpdatePanelAndWorld","as_any","as_any","as_any","as_any","as_any_mut","as_any_mut","as_any_mut","as_any_mut","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","cmp","edit_mode","eq","equivalent","error","event","filters","fmt","freehand_filters","from","from","from","from","get_hash","get_hash","handle_panel_action","hash","into","into","into","into","into_any","into_any","into_any","into_any","into_any_arc","into_any_arc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","ne","new","one_ways","panel_builder","partial_cmp","shortcuts","temporary","to_owned","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","world","0","0","0","0","0","handle_world_outcome","make_world","widget","event","make_filters_along_path","widget","handle_world_outcome","make_world","widget","FocusedRoad","as_any","as_any_mut","borrow","borrow_mut","current_idx","from","handle_world_outcome","into","into_any","into_any_arc","into_any_rc","make_world","paths","r","try_from","try_into","type_id","vzip","widget","geojson_string","write_geojson_file","ChangeKey","DiagonalFilter","ModalFilters","Toggle3Zoomed","allows_turn","allows_turn","as_any","as_any","as_any","as_any","as_any_mut","as_any_mut","as_any_mut","as_any_mut","auto","avoid_movements_between_roads","before_edit","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","cancel_empty_edit","clone","clone","clone_into","clone_into","cycle_through_alternatives","default","default","deserialize","deserialize","draw","draw","draw","draw_zoomed_planters","empty","eq","eq","existing","from","from","from","from","geometry","get_change_key","group1","group2","i","intersections","intersections","into","into","into","into","into_any","into_any","into_any","into_any","into_any_arc","into_any_arc","into_any_arc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","ne","ne","new","new","previous_version","r1","r2","roads","roads","serialize","serialize","to_owned","to_owned","transform_existing_filters","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","unzoomed","update_routing_params","vzip","vzip","vzip","vzip","BruteForce","Greedy","Heuristic","OnlyOneBorder","SplitCells","apply","as_any","as_any_mut","borrow","borrow_mut","brute_force","choices","clone","clone_into","eq","fmt","from","greedy","into","into_any","into_any_arc","into_any_rc","only_one_border","split_cells","to_owned","try_from","try_into","try_to_filter_road","type_id","vzip","detect_filters","transform_existing_filters","Filters","Impact","ShowResults","all_trips","as_any","as_any","as_any_mut","as_any_mut","borrow","borrow","borrow_mut","borrow_mut","change_key","compare_counts","counts_b","departure_time","empty","end_of_day","eq","filtered_trips","filters","find_changed_routes","from","from","from_panel","from_scenario","include_borders","into","into","into_any","into_any","into_any_arc","into_any_rc","into_any_rc","map","map_edits_changed","modes","ne","to_panel","trips_changed","try_from","try_from","try_into","try_into","type_id","type_id","ui","vzip","vzip","ChangedRoutes","ShowResults","as_any","as_any","as_any_mut","as_any_mut","borrow","borrow","borrow_mut","borrow_mut","current","draw","draw","draw_baselayer","draw_paths","event","event","from","from","help","into","into","into_any","into_any","into_any_rc","into_any_rc","left_panel","new_state","new_state","panel","paths","recalculate","top_panel","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","Cell","DistanceInterval","Neighbourhood","as_any","as_any","as_any","as_any_mut","as_any_mut","as_any_mut","border_arrows","borders","borders","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","cells","end","fade_irrelevant","find_cells","floodfill","from","from","from","id","interior_intersections","into","into","into","into_any","into_any","into_any","into_any_arc","into_any_arc","into_any_rc","into_any_rc","into_any_rc","is_disconnected","labels","new","orig_perimeter","perimeter","roads","shortcuts","start","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","0","0","BlockID","NeighbourhoodID","NeighbourhoodInfo","Partitioning","all_block_ids","all_blocks_in_neighbourhood","all_neighbourhoods","all_single_blocks","as_any","as_any","as_any","as_any","as_any_mut","as_any_mut","as_any_mut","as_any_mut","block","block_to_neighbourhood","block_to_neighbourhood","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","calculate_frontier","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","cmp","cmp","deserialize","deserialize","deserialize","deserialize","empty","eq","eq","equivalent","equivalent","fmt","fmt","from","from","from","from","get_block","get_hash","get_hash","get_hash","get_hash","hash","hash","into","into","into","into","into_any","into_any","into_any","into_any","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","is_empty","make_merged_blocks","map","ne","ne","neighbourhood_area_km2","neighbourhood_block","neighbourhood_boundary_polygon","neighbourhood_containing","neighbourhood_id_counter","neighbourhoods","new","override_drawing_boundary","override_neighbourhood_boundary_polygon","partial_cmp","partial_cmp","remove_block_from_neighbourhood","seed_using_heuristics","serialize","serialize","serialize","serialize","single_blocks","some_block_in_neighbourhood","to_owned","to_owned","to_owned","to_owned","transfer_block","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","use_expensive_blockfinding","vzip","vzip","vzip","vzip","RoutePlanner","app_session_current_trip_name","as_any","as_any_mut","borrow","borrow_mut","button","card","draw","draw_routes","event","files","from","help","into","into_any","into_any_rc","labels","left_panel","mut_files","new_state","pathfinder_cache","recalculate_paths","sync_from_file_management","top_panel","try_from","try_into","type_id","update_everything","vzip","waypoints","world","AltProposals","BrowseNeighbourhoods","Connectivity","PreserveState","Proposal","Route","abst_version","as_any","as_any","as_any","as_any_mut","as_any_mut","as_any_mut","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","current","deserialize","from","from","from","from_app","handle_action","inner_load","inner_save","into","into","into","into_any","into_any","into_any","into_any_arc","into_any_arc","into_any_arc","into_any_rc","into_any_rc","into_any_rc","list","load","load_picker_ui","make_active","map","modal_filters","name","new","partitioning","perma","save_ui","serialize","stash_current_proposal","switch_to_existing_proposal","switch_to_state","to_widget","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","0","from_permanent","is_intersection_id","is_road_id","to_permanent","walk","SelectBoundary","add_block","add_blocks_freehand","as_any","as_any_mut","borrow","borrow_mut","currently_have_block","draw","draw_boundary_roads","event","from","frontier","help","id","into","into_any","into_any_rc","labels","lasso","last_failed_change","left_panel","make_panel","make_panel_for_lasso","new_state","orig_partitioning","toggle_block","top_panel","try_from","try_into","try_toggle_block","type_id","vzip","world","EntryExit","Shortcuts","as_any","as_any","as_any_mut","as_any_mut","borrow","borrow","borrow_mut","borrow_mut","count_per_intersection","count_per_road","draw_heatmap","empty","find_entrances","find_exits","find_major_road_name","find_shortcuts","from","from","from_paths","into","into","into_any","into_any","into_any_arc","into_any_arc","into_any_rc","into_any_rc","lane","major_road_name","paths","quiet_and_total_streets","subset","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip"],"q":["ltn","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","ltn::browse","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","ltn::colors","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","ltn::components","","","","","ltn::components::about","","","","","","","","","","","","","","","","","ltn::components::left_panel","","","","","","","","","","","","","","","ltn::components::top_panel","","","","","","","","","","","","","","","","ltn::connectivity","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","ltn::customize_boundary","","","","","","","","","","","","","","","","","","","ltn::draw_cells","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","ltn::edit","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","ltn::edit::EditMode","","ltn::edit::EditOutcome","ltn::edit::Obj","","ltn::edit::filters","","","ltn::edit::freehand_filters","","","ltn::edit::one_ways","","","ltn::edit::shortcuts","","","","","","","","","","","","","","","","","","","","ltn::export","","ltn::filters","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","ltn::filters::auto","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","ltn::filters::existing","","ltn::impact","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","ltn::impact::ui","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","ltn::neighbourhood","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","ltn::partition","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","ltn::route_planner","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","ltn::save","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","ltn::save::PreserveState","ltn::save::perma","","","","","ltn::select_boundary","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","ltn::shortcuts","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""],"d":["","","","","A partitioning of the interior of a neighbourhood based on …","A diagonal filter exists in an intersection. It’s …","An interval along a road’s length, with start < end.","Stored in App session state. Before making any changes, …","","An opaque ID, won’t be contiguous as we adjust boundaries","","","","","","","","","","","","","Intersections where this cell touches the boundary of the …","","","","","","","","","","","","","Lock the user into one fixed neighbourhood, and remove …","","","","","","","","","","Do the equivalent of SimpleApp::draw_unzoomed or …","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","Edit history is preserved recursively","Load a previously saved proposal with this name. Note this …","","","","Most roads are fully in one cell. Roads with modal filters …","For filters placed along a road, where is the filter …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Calls U::from(self).","","","","","","","","","","","","","","","","Returns the argument unchanged.","Calls U::from(self).","","","","","","","","","","","","","","Returns the argument unchanged.","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","Bounds of the neighbourhood boundary polygon","","Colors per cell, such that adjacent cells are colored …","","Returns a set of adjacent indices. The pairs are symmetric …","Draw cells as areas with different colors. The colors are …","Draw the boundary between cells as a thick outline. It’s …","","Returns the argument unchanged.","Returns the argument unchanged.","The grid only covers the boundary polygon of the …","Calls U::from(self).","Calls U::from(self).","","","","","","","Partition a neighbourhood’s boundary polygon based on …","","Rarely, this might be empty if the area is very small","Per cell, convert all polygons to a geo::MultiPolygon. …","","","","","","","","","","","","","","","","","","","","Use this with Transition::Recreate to recalculate the …","Don’t recreate the Neighbourhood","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Creates clickable objects for managing filters on roads …","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","","","Returns the path where the file was written","This logically changes every time an edit occurs. MapName …","A diagonal filter exists in an intersection. It’s …","Stored in App session state. Before making any changes, …","Depending on the canvas zoom level, draws one of 3 things.","","","","","","","","","","","Experiments to make a neighbourhood be low-traffic by …","","Call before making any changes to preserve edit history","","","","","","","","","If it’s possible no edits were made, undo the previous …","","","","","The caller must call this in a before_edit / after_edit “…","","","","","","Draw all modal filters","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Physically where is the filter placed?","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","Edit history is preserved recursively","","","For filters placed along a road, where is the filter …","","","","","","","","","","","","","","","","","","","","Modify RoutingParams to respect these modal filters","","","","","Try adding one filter to every possible road, counting the …","Find the road with the most shortcuts that can be closed …","","Per cell, close all borders except for one. This doesn’t …","Find one filter that splits a cell, maximizing the number …","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","","","Detect roads that’re modelled in OSM as cycleways, but …","","","","","","","","","","","","","","","","","","","","","","Returns routes that start or stop crossing the given road. …","Returns the argument unchanged.","Returns the argument unchanged.","","","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","A partitioning of the interior of a neighbourhood based on …","An interval along a road’s length, with start < end.","","","","","","","","","","Intersections where this cell touches the boundary of the …","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","A cell is disconnected if it’s not connected to a …","","","","","Most roads are fully in one cell. Roads with modal filters …","","","","","","","","","","","","","","","","","Identifies a single / unmerged block, which never changes","An opaque ID, won’t be contiguous as we adjust boundaries","","","","","","","","","","","","","","","","","","","","","","","","","","Blocks on the “frontier” are adjacent to the …","","","","","","","","","","","","","","","Only valid before the LTN tool has been activated this …","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","Draw a special cone of light when focused on this …","","","","Needs to find an existing neighbourhood to take the block, …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","Captures all of the edits somebody makes to a map in the …","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","Try to load a proposal. If it fails, returns a popup …","","","","","","","","The Proposal struct references IntersectionIDs and …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","",""],"i":[1,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,2,3,2,3,4,5,6,2,3,2,3,0,5,3,0,0,0,0,2,3,2,2,0,2,7,0,2,2,7,0,0,2,8,0,5,0,2,3,3,9,9,2,9,5,0,2,5,10,2,3,2,3,3,2,3,7,5,7,0,2,4,2,0,4,4,5,0,2,5,10,3,2,9,9,6,10,0,0,0,0,0,5,4,8,7,2,3,2,3,2,3,4,2,3,7,0,11,11,11,11,0,0,7,11,7,11,7,11,7,11,7,11,11,7,7,0,7,0,7,11,7,11,7,11,0,0,7,11,7,11,11,7,11,7,7,0,7,11,7,7,11,7,11,7,11,7,11,7,0,0,0,0,0,0,0,0,0,0,0,0,0,12,13,14,15,16,17,18,12,13,14,15,16,17,18,12,13,14,15,16,17,18,12,13,14,15,16,17,18,12,13,14,15,16,17,18,12,13,14,15,16,17,18,12,13,14,15,16,17,18,12,13,14,15,16,17,18,12,13,14,15,16,17,18,12,13,14,15,16,17,18,12,13,14,15,16,17,18,12,13,14,15,16,17,18,12,13,14,15,16,17,18,12,13,14,15,16,17,18,12,13,14,15,16,17,18,0,0,0,0,0,0,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,0,20,20,20,20,20,20,20,20,20,20,20,20,20,20,0,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,0,0,22,22,22,22,22,22,22,22,22,22,22,0,22,22,22,22,22,22,22,22,0,22,22,22,22,22,22,22,0,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,0,0,0,24,25,24,25,24,25,24,25,24,25,25,0,24,25,0,24,24,25,24,25,25,24,25,24,25,24,25,24,25,24,25,24,24,24,25,24,25,24,25,24,25,0,0,0,26,26,27,27,28,0,26,26,28,28,26,29,28,27,26,29,28,27,26,29,28,27,26,29,28,27,27,27,27,0,27,27,28,29,0,27,0,26,29,28,27,27,27,29,27,26,29,28,27,26,29,28,27,26,27,26,29,28,27,27,29,0,29,27,0,29,27,26,29,28,27,26,29,28,27,26,29,28,27,26,29,28,27,29,30,31,32,33,34,0,0,0,0,0,0,0,0,0,0,35,35,35,35,35,35,0,35,35,35,35,0,35,35,35,35,35,35,0,0,0,0,0,0,0,10,9,36,10,37,9,36,10,37,9,0,9,10,36,10,37,9,36,10,37,9,10,10,9,10,9,9,10,37,10,9,36,10,36,0,36,37,9,0,36,10,37,9,9,10,9,9,9,10,37,36,10,37,9,36,10,37,9,10,37,9,36,10,37,9,37,9,36,9,10,9,9,10,37,10,9,10,9,0,36,10,37,9,36,10,37,9,36,10,37,9,36,10,36,10,37,9,38,38,0,38,38,38,38,38,38,38,0,38,38,38,38,38,38,0,38,38,38,38,0,0,38,38,38,0,38,38,0,0,0,0,0,39,39,40,39,40,39,40,39,40,39,39,39,40,39,0,40,39,39,39,39,40,40,39,40,39,40,39,40,40,39,40,39,39,40,40,40,39,39,40,39,40,39,40,0,39,40,0,0,41,42,41,42,41,42,41,42,42,41,42,41,42,41,42,41,42,0,41,42,41,42,41,42,41,41,42,42,42,42,41,41,42,41,42,41,42,41,42,0,0,0,5,6,8,5,6,8,6,5,6,5,6,8,5,6,8,5,8,5,0,0,5,6,8,5,5,5,6,8,5,6,8,6,8,5,6,8,6,5,5,5,5,6,5,8,5,6,8,5,6,8,5,6,8,5,6,8,1,43,0,0,0,0,4,4,4,4,1,43,4,44,1,43,4,44,44,4,4,1,43,4,44,1,43,4,44,4,1,43,4,44,1,43,4,44,1,43,1,43,4,44,4,1,43,1,43,1,43,1,43,4,44,4,1,1,43,43,1,43,1,43,4,44,1,43,4,44,1,43,4,44,1,43,4,44,4,4,4,1,43,4,4,4,4,4,4,44,44,4,1,43,4,4,1,43,4,44,4,4,1,43,4,44,4,1,43,4,44,1,43,4,44,1,43,4,44,4,1,43,4,44,0,45,45,45,45,45,45,0,45,45,45,45,45,0,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,0,46,46,0,0,46,47,48,46,47,48,46,47,48,46,47,48,46,47,48,47,48,46,47,47,48,47,0,48,46,47,48,46,47,48,46,47,48,46,47,48,47,0,47,47,47,47,48,47,0,0,47,0,0,46,48,48,46,47,48,46,47,48,46,47,48,46,47,49,0,0,0,0,0,0,50,50,50,50,50,50,50,50,50,50,50,50,0,50,50,50,50,50,50,50,50,0,0,50,50,50,50,50,50,50,50,50,50,0,0,51,52,51,52,51,52,51,52,51,51,51,51,0,0,0,0,51,52,51,51,52,51,52,51,52,51,52,52,52,51,51,51,51,52,51,52,51,52,51,52],"f":[null,null,null,null,null,null,null,null,null,null,null,null,null,[[["eventctx",3],["simpleapp",3]]],null,null,[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],null,null,[[],["app",3]],[[["eventctx",3],["simpleapp",3],["timer",3]]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["gfxctx",3],["simpleapp",3],["fn",8]]],null,null,null,null,null,null,[[]],[[]],[[["argmatches",3]]],null,null,null,null,null,null,null,null,null,[[]],[[]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["arc",3]],["arc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],null,null,null,[[]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["settings",3]]],null,null,null,null,null,null,null,[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],null,[[]],[[]],null,null,null,null,null,null,null,[[["eventctx",3],["simpleapp",3]],["widget",3]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["eventctx",3],["simpleapp",3]],["widget",3]],[[["",0]],["style",4]],[[["",0],["",0]]],[[["",0],["gfxctx",3],["simpleapp",3]]],[[["",0]],["drawbaselayer",4]],[[["eventctx",3],["simpleapp",3]],["togglezoomed",3]],null,[[["eventctx",3],["simpleapp",3]],["togglezoomed",3]],null,[[["",0],["style",4]],["bool",0]],[[["",0],["eventctx",3],["simpleapp",3]],["transition",4,[["simpleapp",3,[["session",3]]]]]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],[[],["vec",3,[["str",0]]]],[[["eventctx",3],["simpleapp",3]],["widget",3]],[[]],[[]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["arc",3]],["arc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],null,null,[[["eventctx",3],["simpleapp",3]],["world",3,[["neighbourhoodid",3]]]],[[["eventctx",3],["simpleapp",3]],["box",3,[["state",8]]]],[[["",0]]],null,[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]]],[[["",0]],["color",3]],[[["",0]],["color",3]],[[["",0]],["color",3]],[[["",0]],["color",3]],[[["",0]],["color",3]],[[["",0]],["color",3]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["arc",3]],["arc",3,[["any",8]]]],[[["arc",3]],["arc",3,[["any",8]]]],[[["arc",3]],["arc",3,[["any",8]]]],[[["arc",3]],["arc",3,[["any",8]]]],[[["arc",3]],["arc",3,[["any",8]]]],[[["arc",3]],["arc",3,[["any",8]]]],[[["arc",3]],["arc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],null,null,null,null,null,null,[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0],["gfxctx",3],["simpleapp",3]]],[[]],[[]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["arc",3]],["arc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["eventctx",3]],["box",3,[["state",8]]]],[[["",0],["eventctx",3],["simpleapp",3],["str",0],["panel",3]],["transition",4,[["simpleapp",3,[["session",3]]]]]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[]],null,[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["",0]],[[["",0]],["",0]],[[["eventctx",3],["panel",3],["widget",3]],["panelbuilder",3]],[[]],[[]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["arc",3]],["arc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[]],null,[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["",0]],[[["",0]],["",0]],[[["eventctx",3],["simpleapp",3],["panel",3],["fn",8]],["option",4,[["transition",4,[["simpleapp",3,[["session",3]]]]]]]],[[]],[[]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["arc",3]],["arc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["eventctx",3],["simpleapp",3]],["panel",3]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[]],null,[[["eventctx",3],["simpleapp",3]],["widget",3]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0],["gfxctx",3],["simpleapp",3]]],[[["",0]],["drawbaselayer",4]],null,null,null,[[["",0],["eventctx",3],["simpleapp",3]],["transition",4,[["simpleapp",3,[["session",3]]]]]],[[]],[[],["vec",3,[["str",0]]]],null,[[]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["rc",3]],["rc",3,[["any",8]]]],null,null,[[["eventctx",3],["simpleapp",3],["neighbourhoodid",3]],["box",3,[["state",8]]]],[[["",0],["eventctx",3],["simpleapp",3]],["box",3,[["state",8]]]],[[["eventctx",3],["simpleapp",3],["neighbourhood",3]]],null,null,[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0],["eventctx",3],["simpleapp",3]]],[[]],null,[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0],["gfxctx",3],["simpleapp",3]]],null,[[["",0],["eventctx",3],["simpleapp",3]],["transition",4,[["simpleapp",3,[["session",3]]]]]],[[]],null,[[]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["eventctx",3],["simpleapp",3],["neighbourhoodid",3]],["box",3,[["state",8]]]],null,[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[]],null,null,null,[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],null,null,null,[[["usize",0],["hashset",3]],["vec",3,[["color",3]]]],null,null,[[["grid",3],["usize",0]],["hashset",3]],[[["",0]],["geombatch",3]],[[["",0]],["geombatch",3]],[[],["rendercells",3]],[[]],[[]],null,[[]],[[]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["arc",3]],["arc",3,[["any",8]]]],[[["arc",3]],["arc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["map",3],["neighbourhood",3]],["rendercells",3]],[[["map",3],["neighbourhood",3]],["rendercellsbuilder",3]],null,[[["",0]],["vec",3,[["multipolygon",3]]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["obj",4]],[[["",0],["",0]]],[[["",0],["obj",4]],["ordering",4]],[[["eventctx",3],["editmode",4]],["widget",3]],[[["",0],["obj",4]],["bool",0]],[[["",0],["",0]],["bool",0]],[[["eventctx",3],["str",0]]],[[["",0],["eventctx",3],["simpleapp",3],["neighbourhood",3]],["editoutcome",4]],null,[[["",0],["formatter",3]],["result",6]],null,[[]],[[]],[[]],[[]],[[["",0],["",0]],["u64",0]],[[["",0]],["u64",0]],[[["",0],["eventctx",3],["simpleapp",3],["str",0],["neighbourhood",3],["panel",3]],["editoutcome",4]],[[["",0],["",0]]],[[]],[[]],[[]],[[]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["arc",3]],["arc",3,[["any",8]]]],[[["arc",3]],["arc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["",0],["obj",4]],["bool",0]],[[["eventctx",3],["simpleapp",3],["neighbourhood",3]]],null,[[["",0],["eventctx",3],["simpleapp",3],["panel",3],["widget",3]],["panelbuilder",3]],[[["",0],["obj",4]],["option",4,[["ordering",4]]]],null,[[]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],[[]],[[]],null,null,null,null,null,null,[[["eventctx",3],["simpleapp",3],["worldoutcome",4,[["obj",4]]]],["editoutcome",4]],[[["eventctx",3],["simpleapp",3],["neighbourhood",3]],["world",3,[["obj",4]]]],[[["eventctx",3]],["widget",3]],[[["eventctx",3],["simpleapp",3],["neighbourhood",3]],["editoutcome",4]],[[["eventctx",3],["simpleapp",3],["neighbourhood",3],["polyline",3]]],[[["eventctx",3]],["widget",3]],[[["eventctx",3],["simpleapp",3],["worldoutcome",4,[["obj",4]]]],["editoutcome",4]],[[["eventctx",3],["simpleapp",3],["neighbourhood",3]],["world",3,[["obj",4]]]],[[["eventctx",3]],["widget",3]],null,[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["",0]],[[["",0]],["",0]],null,[[]],[[["simpleapp",3],["worldoutcome",4,[["obj",4]]],["neighbourhood",3]],["editoutcome",4]],[[]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["arc",3]],["arc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["eventctx",3],["simpleapp",3],["neighbourhood",3],["option",4]],["world",3,[["obj",4]]]],null,null,[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[]],[[["eventctx",3],["simpleapp",3],["option",4,[["focusedroad",3]]]],["widget",3]],[[["eventctx",3],["simpleapp",3]],["result",6,[["string",3]]]],[[["eventctx",3],["simpleapp",3]],["result",6,[["string",3]]]],null,null,null,null,[[["",0],["turnid",3]],["bool",0]],[[["",0],["roadid",3],["roadid",3]],["bool",0]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],null,[[["",0]],["vec",3]],[[["",0]]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["bool",0]],[[["",0]],["modalfilters",3]],[[["",0]],["diagonalfilter",3]],[[["",0],["",0]]],[[["",0],["",0]]],[[["simpleapp",3],["intersectionid",3]]],[[],["modalfilters",3]],[[],["changekey",3]],[[],["result",4]],[[],["result",4]],[[["",0],["gfxctx",3]]],[[["",0],["eventctx",3],["map",3]],["toggle3zoomed",3]],null,[[["eventctx",3],["geombatch",3],["line",3]]],[[["eventctx",3]]],[[["",0],["changekey",3]],["bool",0]],[[["",0],["diagonalfilter",3]],["bool",0]],null,[[]],[[]],[[]],[[]],[[["",0],["map",3]],["line",3]],[[["",0]],["changekey",3]],null,null,null,null,null,[[]],[[]],[[]],[[]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["arc",3]],["arc",3,[["any",8]]]],[[["arc",3]],["arc",3,[["any",8]]]],[[["arc",3]],["arc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["",0],["changekey",3]],["bool",0]],[[["",0],["diagonalfilter",3]],["bool",0]],[[["togglezoomed",3],["drawunzoomedshapes",3]]],[[["map",3],["intersectionid",3],["roadid",3],["roadid",3]],["diagonalfilter",3]],null,null,null,null,null,[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]]],[[["",0]]],null,[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],null,[[["",0],["routingparams",3]]],[[]],[[]],[[]],[[]],null,null,null,null,null,[[["eventctx",3],["simpleapp",3],["neighbourhood",3],["timer",3]],["result",6]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["",0]],[[["",0]],["",0]],[[["eventctx",3],["simpleapp",3],["neighbourhood",3],["timer",3]]],[[],["vec",3,[["choice",3,[["heuristic",4]]]]]],[[["",0]],["heuristic",4]],[[["",0],["",0]]],[[["",0],["heuristic",4]],["bool",0]],[[["",0],["formatter",3]],["result",6]],[[]],[[["eventctx",3],["simpleapp",3],["neighbourhood",3]]],[[]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["arc",3]],["arc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["simpleapp",3],["neighbourhood",3]]],[[["eventctx",3],["simpleapp",3],["neighbourhood",3],["timer",3]]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[["eventctx",3],["simpleapp",3],["neighbourhood",3],["roadid",3]],["option",4,[["neighbourhood",3]]]],[[["",0]],["typeid",3]],[[]],[[["map",3]],["vec",3,[["road",3]]]],[[["eventctx",3],["simpleapp",3],["timer",3]]],null,null,null,null,[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],null,null,[[["",0],["simpleapp",3],["timer",3]],["trafficcounts",3]],null,[[["eventctx",3]]],[[],["time",3]],[[["",0],["filters",3]],["bool",0]],null,null,[[["",0],["simpleapp",3],["roadid",3],["timer",3]],["vec",3]],[[]],[[]],[[["panel",3]],["filters",3]],[[["eventctx",3],["simpleapp",3],["scenario",3],["timer",3]],["impact",3]],null,[[]],[[]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["arc",3]],["arc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],null,[[["",0],["eventctx",3],["simpleapp",3],["timer",3]]],null,[[["",0],["filters",3]],["bool",0]],[[["",0],["eventctx",3],["simpleapp",3]],["widget",3]],[[["",0],["eventctx",3],["simpleapp",3],["timer",3]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],null,[[]],[[]],null,null,[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],null,[[["",0],["gfxctx",3],["simpleapp",3]]],[[["",0],["gfxctx",3],["simpleapp",3]]],[[["",0]],["drawbaselayer",4]],null,[[["",0],["eventctx",3],["simpleapp",3]],["transition",4,[["simpleapp",3,[["session",3]]]]]],[[["",0],["eventctx",3],["simpleapp",3]],["transition",4,[["simpleapp",3,[["session",3]]]]]],[[]],[[]],[[],["vec",3,[["str",0]]]],[[]],[[]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],null,[[["eventctx",3],["simpleapp",3]],["box",3,[["state",8]]]],[[["eventctx",3],["simpleapp",3],["vec",3]],["box",3,[["state",8]]]],null,null,[[["",0],["eventctx",3],["simpleapp",3]]],null,[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],null,null,null,[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0],["simpleapp",3]],["vec",3,[["polygon",3]]]],null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],null,null,null,[[["map",3],["perimeter",3],["btreeset",3],["modalfilters",3]],["vec",3,[["cell",3]]]],[[["map",3],["roadid",3],["btreeset",3],["modalfilters",3]],["cell",3]],[[]],[[]],[[]],null,null,[[]],[[]],[[]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["arc",3]],["arc",3,[["any",8]]]],[[["arc",3]],["arc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["",0]],["bool",0]],null,[[["eventctx",3],["simpleapp",3],["neighbourhoodid",3]],["neighbourhood",3]],null,null,null,null,null,[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],[[]],null,null,null,null,null,null,[[["",0]],["vec",3,[["blockid",3]]]],[[["",0],["neighbourhoodid",3]],["vec",3,[["blockid",3]]]],[[["",0]],["btreemap",3]],[[["",0]],["vec",3]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],null,[[["",0],["blockid",3]],["neighbourhoodid",3]],null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0],["perimeter",3]],["btreeset",3,[["blockid",3]]]],[[["",0]],["neighbourhoodid",3]],[[["",0]],["blockid",3]],[[["",0]],["partitioning",3]],[[["",0]],["neighbourhoodinfo",3]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["neighbourhoodid",3]],["ordering",4]],[[["",0],["blockid",3]],["ordering",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["partitioning",3]],[[["",0],["neighbourhoodid",3]],["bool",0]],[[["",0],["blockid",3]],["bool",0]],[[["",0],["",0]],["bool",0]],[[["",0],["",0]],["bool",0]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],[[["",0],["blockid",3]],["block",3]],[[["",0],["",0]],["u64",0]],[[["",0]],["u64",0]],[[["",0]],["u64",0]],[[["",0],["",0]],["u64",0]],[[["",0],["",0]]],[[["",0],["",0]]],[[]],[[]],[[]],[[]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["arc",3]],["arc",3,[["any",8]]]],[[["arc",3]],["arc",3,[["any",8]]]],[[["arc",3]],["arc",3,[["any",8]]]],[[["arc",3]],["arc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["",0]],["bool",0]],[[["",0],["map",3],["vec",3,[["blockid",3]]]],["result",6,[["vec",3,[["block",3]]]]]],null,[[["",0],["neighbourhoodid",3]],["bool",0]],[[["",0],["blockid",3]],["bool",0]],[[["",0],["neighbourhoodid",3]],["string",3]],[[["",0],["neighbourhoodid",3]],["block",3]],[[["",0],["simpleapp",3],["neighbourhoodid",3]],["polygon",3]],[[["",0],["blockid",3]],["option",4,[["neighbourhoodid",3]]]],null,null,[[["block",3]]],null,[[["",0],["neighbourhoodid",3],["polygon",3]]],[[["",0],["neighbourhoodid",3]],["option",4,[["ordering",4]]]],[[["",0],["blockid",3]],["option",4,[["ordering",4]]]],[[["",0],["map",3],["blockid",3],["neighbourhoodid",3]],["result",6,[["option",4,[["neighbourhoodid",3]]]]]],[[["simpleapp",3],["timer",3]],["partitioning",3]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],null,[[["",0],["neighbourhoodid",3]],["blockid",3]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0],["map",3],["blockid",3],["neighbourhoodid",3],["neighbourhoodid",3]],["result",6,[["option",4,[["neighbourhoodid",3]]]]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],null,[[]],[[]],[[]],[[]],null,[[["simpleapp",3]],["option",4]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["",0]],[[["",0]],["",0]],[[["eventctx",3]],["widget",3]],[[["eventctx",3],["str",0],["str",0],["duration",3],["color",3]],["widget",3]],[[["",0],["gfxctx",3],["simpleapp",3]]],null,[[["",0],["eventctx",3],["simpleapp",3]],["transition",4,[["simpleapp",3,[["session",3]]]]]],null,[[]],[[],["vec",3,[["str",0]]]],[[]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["rc",3]],["rc",3,[["any",8]]]],null,null,[[["",0]],["tripmanagement",3]],[[["eventctx",3],["simpleapp",3]],["box",3,[["state",8]]]],null,[[["",0],["eventctx",3],["simpleapp",3]],["widget",3]],[[["",0],["eventctx",3],["simpleapp",3]]],null,[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0],["eventctx",3],["simpleapp",3]]],[[]],null,null,null,null,null,null,null,null,null,[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],null,[[],["result",4]],[[]],[[]],[[]],[[["simpleapp",3]]],[[["eventctx",3],["simpleapp",3],["preservestate",4],["str",0]],["option",4,[["transition",4,[["simpleapp",3,[["session",3]]]]]]]],[[["eventctx",3],["simpleapp",3],["str",0]],["result",6]],[[["simpleapp",3]],["result",6]],[[]],[[]],[[]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["arc",3]],["arc",3,[["any",8]]]],[[["arc",3]],["arc",3,[["any",8]]]],[[["arc",3]],["arc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],null,[[["eventctx",3],["simpleapp",3],["string",3]],["option",4,[["box",3,[["state",8]]]]]],[[["eventctx",3],["simpleapp",3],["preservestate",4]],["box",3,[["state",8]]]],[[["eventctx",3],["simpleapp",3]]],null,null,null,[[]],null,null,[[["eventctx",3],["simpleapp",3],["preservestate",4]],["box",3,[["state",8]]]],[[["",0]],["result",4]],[[["simpleapp",3]]],[[["eventctx",3],["simpleapp",3],["usize",0]]],[[["eventctx",3],["simpleapp",3]],["transition",4,[["simpleapp",3,[["session",3]]]]]],[[["",0],["eventctx",3],["simpleapp",3]],["widget",3]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],[[]],null,[[["map",3],["value",4]],["result",6,[["proposal",3]]]],[[["str",0]],["bool",0]],[[["str",0]],["bool",0]],[[["map",3],["proposal",3]],["result",6,[["value",4]]]],[[["str",0],["value",4],["",0]],["result",6]],null,[[["",0],["eventctx",3],["simpleapp",3],["blockid",3]]],[[["",0],["eventctx",3],["simpleapp",3],["polygon",3]]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0],["simpleapp",3],["blockid",3]],["bool",0]],[[["",0],["gfxctx",3],["simpleapp",3]]],null,[[["",0],["eventctx",3],["simpleapp",3]],["transition",4,[["simpleapp",3,[["session",3]]]]]],[[]],null,[[],["vec",3,[["str",0]]]],null,[[]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["rc",3]],["rc",3,[["any",8]]]],null,null,null,null,[[["eventctx",3],["simpleapp",3],["neighbourhoodid",3],["panel",3]],["panel",3]],[[["eventctx",3],["panel",3]],["panel",3]],[[["eventctx",3],["simpleapp",3],["neighbourhoodid",3]],["box",3,[["state",8]]]],null,[[["",0],["eventctx",3],["simpleapp",3],["blockid",3]],["transition",4,[["simpleapp",3,[["session",3]]]]]],null,[[],["result",4]],[[],["result",4]],[[["",0],["simpleapp",3],["blockid",3]],["result",6,[["option",4,[["neighbourhoodid",3]]]]]],[[["",0]],["typeid",3]],[[]],null,null,null,[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],null,null,[[["",0],["simpleapp",3]],["togglezoomedbuilder",3]],[[]],[[["map",3],["neighbourhood",3],["cell",3]],["vec",3,[["entryexit",3]]]],[[["map",3],["neighbourhood",3],["cell",3]],["vec",3,[["entryexit",3]]]],[[["map",3],["neighbourhood",3],["intersectionid",3]],["option",4,[["string",3]]]],[[["simpleapp",3],["neighbourhood",3],["timer",3]],["shortcuts",3]],[[]],[[]],[[["neighbourhood",3],["vec",3,[["path",3]]]]],[[]],[[]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["arc",3]],["arc",3,[["any",8]]]],[[["arc",3]],["arc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],null,null,null,[[["",0],["neighbourhood",3]]],[[["",0],["neighbourhood",3],["roadid",3]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]]],"p":[[3,"NeighbourhoodID"],[3,"Session"],[3,"Args"],[3,"Partitioning"],[3,"Neighbourhood"],[3,"Cell"],[3,"BrowseNeighbourhoods"],[3,"DistanceInterval"],[3,"DiagonalFilter"],[3,"ModalFilters"],[4,"Style"],[3,"CELLS"],[3,"FILTER_OUTER"],[3,"FILTER_INNER"],[3,"PLAN_ROUTE_BEFORE"],[3,"PLAN_ROUTE_AFTER"],[3,"PLAN_ROUTE_BIKE"],[3,"PLAN_ROUTE_WALK"],[3,"About"],[3,"LeftPanel"],[3,"TopPanel"],[3,"Viewer"],[3,"CustomizeBoundary"],[3,"RenderCells"],[3,"RenderCellsBuilder"],[4,"EditMode"],[4,"Obj"],[4,"EditOutcome"],[3,"EditNeighbourhood"],[13,"FreehandFilters"],[13,"Shortcuts"],[13,"Transition"],[13,"InteriorRoad"],[13,"InteriorIntersection"],[3,"FocusedRoad"],[3,"Toggle3Zoomed"],[3,"ChangeKey"],[4,"Heuristic"],[3,"Impact"],[3,"Filters"],[3,"ShowResults"],[3,"ChangedRoutes"],[3,"BlockID"],[3,"NeighbourhoodInfo"],[3,"RoutePlanner"],[4,"PreserveState"],[3,"Proposal"],[3,"AltProposals"],[13,"Connectivity"],[3,"SelectBoundary"],[3,"Shortcuts"],[3,"EntryExit"]]},\ "map_editor":{"doc":"The map_editor renders and lets you edit RawMaps, which …","t":[3,0,11,11,11,11,12,0,11,0,11,11,12,11,11,11,11,0,12,5,0,5,11,11,11,3,13,3,4,13,13,13,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,12,11,11,11,11,11,11,11,11,11,11,12,12,3,3,11,11,11,11,11,11,11,11,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,3,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,3,11,11,11,11,11,11,11,11,11,11,5,11,12,11,11,11,17,13,4,17,13,3,13,13,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,5,11,11,11,11,11,11,11,11,11,11,12,11,11,12,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,12,11,5,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12],"n":["Args","app","as_any","as_any_mut","borrow","borrow_mut","cam","camera","clap","edit","from","from_clap","include_buildings","into","into_any","into_any_arc","into_any_rc","load","load","main","model","run","try_from","try_into","type_id","App","CreatingRoad","MainState","Mode","Neutral","SetBoundaryPt1","SetBoundaryPt2","as_any","as_any","as_any","as_any_mut","as_any_mut","as_any_mut","before_quit","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","draw","draw_default","dump_before_abort","event","from","from","from","into","into","into","into_any","into_any","into_any","into_any_arc","into_any_rc","into_any_rc","into_any_rc","mode","model","new_state","panel","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","update_instructions","0","0","CameraState","DefaultMap","as_any","as_any","as_any_mut","as_any_mut","borrow","borrow","borrow_mut","borrow_mut","cam_x","cam_y","cam_zoom","deserialize","deserialize","fmt","fmt","from","from","into","into","into_any","into_any","into_any_arc","into_any_arc","into_any_rc","into_any_rc","last_map","load","save","serialize","serialize","try_from","try_from","try_into","try_into","type_id","type_id","EditRoad","as_any","as_any_mut","borrow","borrow_mut","draw","draw_baselayer","from","into","into_any","into_any_rc","new_state","on_click","other_event","r","show_direction","try_from","try_into","type_id","PickMap","as_any","as_any_mut","borrow","borrow_mut","draw","event","from","into","into_any","into_any_rc","load_map","new_state","panel","try_from","try_into","type_id","BUILDING_LENGTH","Building","ID","INTERSECTION_RADIUS","Intersection","Model","Road","RoadPoint","as_any","as_any","as_any_mut","as_any_mut","blank","bldg_added","borrow","borrow","borrow_mut","borrow_mut","change_r_points","clear_r_pts","clone","clone_into","compute_bounds","create_b","create_i","create_r","debug_intersection_geometry","delete_b","delete_i","delete_r","delete_r_pt","draw_extra","dump_to_osm","eq","equivalent","export_to_osm","fmt","from","from","from_map","get_hash","get_hash","hash","include_bldgs","insert_r_pt","intersection_added","intersection_geom","into","into","into_any","into_any","into_any_arc","into_any_rc","into_any_rc","map","merge_r","move_b","move_i","move_r_pt","ne","recreate_world","road_added","road_deleted","set_boundary","show_intersection_geometry","show_r_points","showing_pts","stop_showing_pts","time_to_id","to_owned","toggle_i","toggle_junction","try_from","try_from","try_into","try_into","type_id","type_id","world","0","0","0","0","1"],"q":["map_editor","","","","","","","","","","","","","","","","","","","","","","","","","map_editor::app","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","map_editor::app::Mode","","map_editor::camera","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","map_editor::edit","","","","","","","","","","","","","","","","","","","map_editor::load","","","","","","","","","","","","","","","","","map_editor::model","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","map_editor::model::ID","","","",""],"d":["","","","","","","The initial camera state","","","","Returns the argument unchanged.","","Import buildings from the RawMap. Slow.","Calls U::from(self).","","","","","The path to a RawMap to load. If omitted, start with a …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","Represents the state of a widgetry Canvas.","Track the last map used, to resume next session.","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","","","","","","","","Load the camera’s configuration for the specified map. …","Save the camera’s configuration for the specified map, …","","","","","","","","","","","","","","","","Returns the argument unchanged.","Calls U::from(self).","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Express a RawMap as a .osm file. Why not just save the …","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""],"i":[0,0,1,1,1,1,1,0,1,0,1,1,1,1,1,1,1,0,1,0,0,0,1,1,1,0,2,0,0,2,2,2,3,4,2,3,4,2,3,3,4,2,3,4,2,4,3,3,4,3,4,2,3,4,2,3,4,2,2,3,4,2,4,3,4,4,3,4,2,3,4,2,3,4,2,4,5,6,0,0,7,8,7,8,7,8,7,8,7,7,7,7,8,7,8,7,8,7,8,7,8,7,8,7,8,8,7,7,7,8,7,8,7,8,7,8,0,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,10,10,10,10,10,10,10,10,10,10,0,10,10,10,10,10,0,11,0,0,11,0,11,11,12,11,12,11,12,12,12,11,12,11,12,12,11,11,12,12,12,12,12,12,12,12,12,12,0,11,11,12,11,12,11,12,11,11,11,12,12,12,12,12,11,12,11,11,12,11,12,12,12,12,12,11,12,12,12,12,12,12,12,12,0,11,12,12,12,11,12,11,12,11,12,13,14,15,16,16],"f":[null,null,[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["",0]],[[["",0]],["",0]],null,null,[[],["app",3]],null,[[]],[[["argmatches",3]]],null,[[]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["arc",3]],["arc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],null,null,[[]],null,[[["settings",3]]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],null,null,null,null,null,null,null,[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0],["canvas",3]]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0],["gfxctx",3],["app",3]]],[[["",0],["gfxctx",3]]],[[["",0],["canvas",3]]],[[["",0],["eventctx",3],["app",3]],["transition",4,[["app",3]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["arc",3]],["arc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],null,null,[[["eventctx",3],["app",3]],["box",3,[["state",8]]]],null,[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0],["eventctx",3],["app",3]]],null,null,null,null,[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],null,null,null,[[],["result",4]],[[],["result",4]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["arc",3]],["arc",3,[["any",8]]]],[[["arc",3]],["arc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],null,[[["eventctx",3],["mapname",3]],["bool",0]],[[["canvas",3],["mapname",3]]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],null,[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0],["gfxctx",3],["app",3]]],[[["",0]],["drawbaselayer",4]],[[]],[[]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["eventctx",3],["app",3],["originalroad",3]],["box",3,[["state",8]]]],[[["",0],["eventctx",3],["app",3],["str",0],["panel",3]],["transition",4,[["app",3]]]],[[["",0],["eventctx",3],["app",3]],["transition",4,[["app",3]]]],null,null,[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],null,[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0],["gfxctx",3],["app",3]]],[[["",0],["eventctx",3],["app",3]],["transition",4,[["app",3]]]],[[]],[[]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["eventctx",3],["string",3],["bool",0],["option",4,[["string",3]]]],["box",3,[["state",8]]]],[[["eventctx",3]],["box",3,[["state",8]]]],null,[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],null,null,null,null,null,null,null,null,[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["eventctx",3]],["model",3]],[[["",0],["eventctx",3],["osmid",4]]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0],["eventctx",3],["originalroad",3],["fnmut",8]]],[[["",0],["eventctx",3],["originalroad",3]]],[[["",0]],["id",4]],[[["",0],["",0]]],[[["",0]],["bounds",3]],[[["",0],["eventctx",3],["pt2d",3]],["id",4]],[[["",0],["eventctx",3],["pt2d",3]]],[[["",0],["eventctx",3],["nodeid",3],["nodeid",3]]],[[["",0],["eventctx",3],["nodeid",3]]],[[["",0],["osmid",4]]],[[["",0],["nodeid",3]]],[[["",0],["eventctx",3],["originalroad",3]]],[[["",0],["eventctx",3],["originalroad",3],["usize",0]]],null,[[["rawmap",3]],["result",4,[["error",3]]]],[[["",0],["id",4]],["bool",0]],[[["",0],["",0]],["bool",0]],[[["",0]]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],[[["eventctx",3],["rawmap",3],["bool",0],["timer",3]],["model",3]],[[["",0]],["u64",0]],[[["",0],["",0]],["u64",0]],[[["",0],["",0]]],null,[[["",0],["eventctx",3],["originalroad",3],["pt2d",3]]],[[["",0],["eventctx",3],["nodeid",3]]],null,[[]],[[]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["arc",3]],["arc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],null,[[["",0],["eventctx",3],["originalroad",3]]],[[["",0],["eventctx",3],["osmid",4],["f64",0],["f64",0]]],[[["",0],["eventctx",3],["nodeid",3],["pt2d",3]]],[[["",0],["eventctx",3],["originalroad",3],["usize",0],["pt2d",3]]],[[["",0],["id",4]],["bool",0]],[[["",0],["eventctx",3],["timer",3]]],[[["",0],["eventctx",3],["originalroad",3]]],[[["",0],["originalroad",3]]],[[["",0],["eventctx",3],["pt2d",3],["pt2d",3]]],[[["",0],["eventctx",3],["bool",0]]],[[["",0],["eventctx",3],["originalroad",3]]],null,[[["",0],["originalroad",3]]],[[],["i64",0]],[[["",0]]],[[["",0],["eventctx",3],["nodeid",3]]],[[["",0],["eventctx",3],["originalroad",3]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],null,null,null,null,null,null],"p":[[3,"Args"],[4,"Mode"],[3,"App"],[3,"MainState"],[13,"CreatingRoad"],[13,"SetBoundaryPt2"],[3,"CameraState"],[3,"DefaultMap"],[3,"EditRoad"],[3,"PickMap"],[4,"ID"],[3,"Model"],[13,"Building"],[13,"Intersection"],[13,"Road"],[13,"RoadPoint"]]},\ "map_gui":{"doc":"This crate contains common code for applications that draw …","t":[8,13,13,13,4,13,13,13,13,13,13,3,3,13,11,11,11,11,11,11,11,12,11,11,11,11,12,0,10,12,12,11,12,10,12,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,10,10,12,12,10,12,10,10,10,11,0,10,12,11,0,12,12,10,11,0,12,11,0,11,11,11,11,12,12,12,12,12,12,12,12,12,12,13,3,4,13,13,13,13,12,12,11,11,11,11,12,12,12,12,11,11,11,11,12,12,12,12,12,12,12,11,11,11,11,12,11,12,11,12,11,12,12,11,11,12,11,11,11,12,12,12,12,12,5,11,12,11,11,11,11,11,11,11,11,11,12,11,12,12,12,12,5,11,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,11,12,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,12,11,11,11,11,12,11,11,12,12,12,12,12,12,12,12,11,12,12,11,11,12,11,11,3,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,13,13,4,13,13,13,13,13,3,3,13,4,13,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,12,12,11,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,12,11,12,11,11,11,12,12,12,12,12,12,11,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,3,17,3,3,3,3,3,3,3,3,17,8,3,0,12,0,12,11,11,0,12,12,12,12,11,11,12,0,12,12,12,5,0,12,11,10,12,12,12,12,12,12,12,12,12,5,11,10,10,11,5,12,12,12,12,12,12,0,12,11,11,11,11,12,12,0,0,12,11,0,12,0,12,12,12,0,12,12,12,12,0,0,11,11,0,11,12,5,12,11,12,12,12,12,3,3,12,11,11,11,11,11,12,11,11,11,11,11,12,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,12,11,11,11,11,11,11,11,12,12,11,11,11,3,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,3,11,11,12,11,11,11,11,12,11,11,11,11,12,11,11,11,11,11,11,11,11,12,3,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,12,11,11,11,11,11,17,3,11,11,12,12,11,11,11,11,12,11,11,11,11,12,11,11,11,11,5,11,11,11,11,5,12,3,5,11,11,11,11,5,5,5,11,11,11,12,11,12,11,11,11,11,11,12,11,11,11,5,5,5,5,11,5,11,11,11,11,11,11,11,12,3,11,11,11,11,5,5,5,5,5,5,11,11,11,12,11,11,11,11,12,11,11,11,11,5,12,11,11,11,11,11,12,3,12,11,11,11,11,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,12,12,12,11,11,11,12,12,11,11,11,11,11,12,3,11,11,11,11,11,11,11,12,11,11,11,11,12,11,11,11,11,11,11,11,11,11,3,3,11,11,11,11,12,12,12,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,12,12,17,3,17,11,11,11,11,11,11,11,12,5,11,11,11,11,12,11,11,11,12,11,11,5,11,11,11,11,12,5,5,5,5,5,5,3,17,11,11,11,11,12,11,11,12,11,11,11,11,12,11,11,11,11,11,11,11,11,12,3,17,11,11,11,11,11,11,11,12,12,11,11,11,11,5,11,11,11,11,3,3,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,12,11,12,12,11,12,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,12,11,12,11,11,11,11,11,11,11,12,11,11,12,12,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,13,3,3,3,3,3,3,3,3,3,3,4,13,3,3,3,3,13,3,8,17,3,13,13,13,3,13,3,3,8,3,3,12,5,10,12,12,12,12,12,12,12,0,12,5,5,0,5,5,5,5,12,0,12,12,0,0,12,12,12,12,12,12,12,12,5,0,5,12,12,5,5,5,10,0,12,12,5,0,12,12,0,12,5,12,0,12,12,12,12,5,12,5,12,12,12,12,12,12,12,0,10,0,5,5,12,12,12,12,12,12,12,12,12,12,12,12,5,12,0,5,12,12,12,12,12,5,12,12,10,12,0,0,0,0,5,0,5,0,12,12,12,12,12,12,3,3,11,11,11,11,11,11,11,11,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,3,3,3,11,11,11,11,11,11,11,11,11,11,11,11,5,5,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,5,11,11,11,11,11,11,11,11,11,11,11,11,12,3,3,3,3,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,11,11,11,11,11,11,11,11,11,12,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,11,11,11,11,12,11,11,11,11,11,11,12,12,12,11,12,12,12,11,12,12,11,11,11,11,13,13,13,3,13,4,4,13,11,11,11,11,11,11,11,11,11,11,11,11,11,5,5,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,12,5,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,5,3,3,17,11,11,11,11,11,11,11,11,11,11,12,12,12,5,11,11,11,11,12,11,11,11,11,11,11,11,11,11,5,11,11,11,11,12,12,12,11,11,11,11,11,11,11,11,11,11,12,11,5,5,3,11,11,11,11,11,11,11,5,5,11,11,11,11,12,12,5,11,11,11,11,3,3,11,11,11,11,11,11,11,11,5,11,11,12,12,11,11,12,11,11,11,11,11,11,11,11,11,11,12,12,11,5,5,12,11,11,11,11,11,11,11,11,7,7,3,8,12,11,11,12,11,11,12,12,11,11,11,11,11,11,11,11,11,10,11,11,11,12,11,11,11,11,11,11,11,11,11,12,12,12,11,11,11,11,11,11,11,12,11,11,11,11,12,12,12,3,3,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,3,4,13,13,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,12,12,13,4,13,13,13,13,13,13,3,11,11,11,11,11,11,11,11,0,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,5,3,3,3,3,8,12,12,10,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,10,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,17,17,3,11,11,11,11,11,11,11,11,11,12,11,11,11,12,11,11,12,11,11,11,11,3,11,11,11,11,5,5,5,5,5,11,11,11,11,11,11,5,11,11,11,11,5,5,5,12,3,3,3,11,11,11,11,11,11,12,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,5,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,12,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,12],"n":["AppLike","Area","Building","Car","ID","Intersection","Lane","ParkingLot","PedCrowd","Pedestrian","Road","SimpleApp","SimpleAppArgs","TransitStop","agent_id","as_any","as_any_mut","as_building","as_intersection","borrow","borrow_mut","cam","change_color_scheme","clone","clone_into","cmp","color_scheme","colors","cs","cs","current_selection","current_stage_and_remaining_time","dev","draw_map","draw_map","draw_with_opts","eq","equivalent","fmt","from","from","from","from","from","from","from","from","from","from","from","from_agent","get_hash","get_hash","hash","into","into_any","into_any_arc","into_any_rc","load","make_warper","map","map","map_path","map_switched","minimal_controls","mut_cs","mut_draw_map","mut_opts","ne","options","opts","opts","partial_cmp","render","scale_factor","session","sim","sim_time","simple_app","time","to_owned","tools","try_from","try_into","type_id","vzip","0","0","0","0","0","0","0","0","0","0","ClassicDayMode","ColorScheme","ColorSchemeChoice","DayMode","LTN","NightMode","Textured","after_changes","agent_colors","as_any","as_any","as_any_mut","as_any_mut","before_changes","bike_frame","bike_lane","bike_trip","borrow","borrow","borrow_mut","borrow_mut","brake_light","building_outline","bus_body","bus_label","bus_lane","bus_layer","bus_trip","choices","classic","clone","clone_into","commercial_building","curb","current_object","day_mode","day_time_slider","deserialize","driving_lane","edits_layer","eq","export","fade_map_dark","fmt","from","from","general_road_marking","good_to_bad_green","good_to_bad_red","grass","gui_style","hex","import","inner_panel_bg","into","into","into_any","into_any","into_any_arc","into_any_arc","into_any_rc","into_any_rc","light_background","light_rail_track","ltn","map_background","median_strip","minimap_cursor_bg","minimap_cursor_border","modulo_color","new","night_mode","night_time_slider","normal_intersection","panel_bg","parked_car","parking_lane","parking_lot","parking_trip","parse","ped_crowd","ped_foot","ped_head","ped_preparing_bike_body","pedestrian_plaza","perma_selected_object","private_road","residential_building","road_center_line","road_center_line","road_class_colors","road_outlines","rotating_color_agents","rotating_color_plot","route","scheme","selected","serialize","show_buildings_in_minimap","sidewalk","sidewalk_lines","signal_banned_turn","signal_box","signal_permitted_turn","signal_protected_turn","signal_spinner","signal_turn_block_bg","slow_intersection","slower_intersection","slowest_intersection","stop_sign","stop_sign_pole","study_area","textured","to_owned","train_body","try_from","try_from","try_into","try_into","turn_arrow","type_id","type_id","unzoomed_arterial","unzoomed_bike","unzoomed_bus","unzoomed_car","unzoomed_highway","unzoomed_interesting_intersection","unzoomed_pedestrian","unzoomed_residential","unzoomed_road_surface","unzoomed_trail","void_background","vzip","vzip","water","zoomed_intersection_surface","zoomed_road_surface","MapAlreadyLoaded","MapLoader","as_any","as_any","as_any_mut","as_any_mut","borrow","borrow","borrow_mut","borrow_mut","draw","event","force_reload","from","from","into","into","into_any","into_any","into_any_arc","into_any_rc","into_any_rc","new_state","on_load","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","Abstract","Brian","CameraAngle","IndividualTurnArrows","IsometricNE","IsometricNW","IsometricSE","IsometricSW","Options","OptionsPanel","TopDown","TrafficSignalStyle","Yuwen","as_any","as_any","as_any","as_any","as_any_mut","as_any_mut","as_any_mut","as_any_mut","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","camera_angle","canvas_settings","clone","clone","clone","clone_into","clone_into","clone_into","color_scheme","debug_all_agents","deserialize","deserialize","deserialize","dev","dont_draw_time_warp","draw","eq","eq","event","fmt","fmt","from","from","from","from","into","into","into","into","into_any","into_any","into_any","into_any","into_any_arc","into_any_arc","into_any_arc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","jump_to_delay","language","load_or_default","minimal_controls","new_state","panel","serialize","serialize","serialize","show_building_driveways","show_crosswalks","show_stop_signs","show_traffic_signal_icon","simplify_basemap","time_increment","to_owned","to_owned","to_owned","toggle_day_night_colors","traffic_signal_style","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","units","vzip","vzip","vzip","vzip","AgentCache","BIG_ARROW_THICKNESS","DrawArea","DrawBuilding","DrawIntersection","DrawMap","DrawMovement","DrawOptions","DrawPedCrowd","DrawPedestrian","OUTLINE_THICKNESS","Renderable","UnzoomedAgents","agents","agents_per_on","area","areas","as_any","as_any_mut","bike","bikes","blob","blob_pl","body_circle","borrow","borrow_mut","boundary_polygon","building","buildings","bus_stops","buses_and_trains","calculate_corners","car","cars","contains_pt","draw","draw_all_areas","draw_all_building_outlines","draw_all_buildings","draw_all_unzoomed_parking_lots","draw_all_unzoomed_roads_and_intersections","draw_default","draw_default","draw_default","draw_traffic_signal","draw_vehicle","from","get_id","get_outline","get_zorder","grey_out_unhighlighted_people","hitbox","id","id","id","id","id","intersection","intersections","into","into_any","into_any_arc","into_any_rc","label","label_buildings","lane","map","members","new","parking_lot","parking_lots","pedestrian","peds","quadtree","quadtree_ids","road","roads","show_zorder","suppress_traffic_signal_details","time","traffic_signal","transit_stop","try_from","try_into","turn","type_id","unzoomed","unzoomed_agent_radius","unzoomed_agents","vzip","zorder","zorder","zorder","zorder_range","AgentCache","UnzoomedAgents","agents_per_on","as_any","as_any","as_any_mut","as_any_mut","bikes","bikes","borrow","borrow","borrow_mut","borrow_mut","buses_and_trains","buses_and_trains","calculate_unzoomed_agents","cars","cars","clone","clone_into","color","draw_unzoomed_agents","eq","from","from","get","into","into","into_any","into_any","into_any_arc","into_any_rc","into_any_rc","ne","new","new","peds","peds","populate_if_needed","time","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","unzoomed","unzoomed_agents","update","vzip","vzip","DrawArea","as_any","as_any_mut","borrow","borrow_mut","draw","fill","from","get_id","get_outline","id","into","into_any","into_any_arc","into_any_rc","new","try_from","try_into","type_id","vzip","DrawBike","as_any","as_any_mut","body_circle","borrow","borrow_mut","contains_pt","draw","draw_default","from","get_id","get_outline","get_zorder","id","into","into_any","into_any_rc","new","try_from","try_into","type_id","vzip","zorder","DrawBuilding","as_any","as_any_mut","borrow","borrow_mut","clear_rendering","contains_pt","draw","from","get_id","get_outline","get_zorder","id","into","into_any","into_any_rc","label","new","try_from","try_into","type_id","vzip","CAR_WIDTH","DrawCar","as_any","as_any_mut","body","body_polygon","borrow","borrow_mut","contains_pt","draw","draw_default","from","get_id","get_outline","get_zorder","id","into","into_any","into_any_rc","new","thick_line_from_angle","try_from","try_into","type_id","vzip","zoomed_color_car","zorder","DrawIntersection","approx_eq","as_any","as_any_mut","borrow","borrow_mut","calculate_border_arrows","calculate_corner_curbs","calculate_corners","clear_rendering","contains_pt","draw","draw_default","draw_traffic_signal","draw_traffic_signal","from","get_id","get_outline","get_unzoomed_outline","get_zorder","id","into","into_any","into_any_rc","make_crosswalk","make_octagon","make_rainbow_crosswalk","make_unmarked_crossing","new","perp_line","redraw_default","render","stop_sign_geom","try_from","try_into","type_id","vzip","zorder","DrawLane","as_any","as_any_mut","borrow","borrow_mut","calculate_buffer_markings","calculate_driving_lines","calculate_one_way_markings","calculate_parking_lines","calculate_sidewalk_lines","calculate_turn_markings","clear_rendering","contains_pt","draw","draw_default","from","get_id","get_outline","get_zorder","id","into","into_any","into_any_rc","new","perp_line","polygon","render","try_from","try_into","type_id","vzip","zorder","DrawMap","areas","as_any","as_any_mut","borrow","borrow_mut","boundary_polygon","buildings","bus_stops","draw_all_areas","draw_all_building_outlines","draw_all_buildings","draw_all_unzoomed_parking_lots","draw_all_unzoomed_roads_and_intersections","free_memory","from","get_a","get_b","get_i","get_l","get_matching_objects","get_obj","get_pl","get_r","get_renderables_back_to_front","get_ts","intersections","into","into_any","into_any_rc","new","parking_lots","quadtree","quadtree_ids","recreate_intersection","recreate_road","regenerate_unzoomed_layer","roads","show_zorder","try_from","try_into","type_id","vzip","zoomed_batch","zorder_range","DrawParkingLot","as_any","as_any_mut","borrow","borrow_mut","clear_rendering","contains_pt","draw","draw","from","get_id","get_outline","get_zorder","id","into","into_any","into_any_rc","new","render","try_from","try_into","type_id","vzip","DrawPedCrowd","DrawPedestrian","as_any","as_any","as_any_mut","as_any_mut","blob","blob_pl","body_circle","borrow","borrow","borrow_mut","borrow_mut","contains_pt","draw","draw","draw_default","draw_default","from","from","geometry","get_id","get_id","get_outline","get_outline","get_zorder","get_zorder","id","into","into","into_any","into_any","into_any_rc","into_any_rc","members","new","new","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","zorder","zorder","DRAW_CURVEY_LABEL","DrawRoad","LABEL_SCALE_FACTOR","as_any","as_any_mut","borrow","borrow_mut","clear_rendering","contains_pt","draw","draw","draw_building_driveway","from","get_id","get_outline","get_zorder","id","into","into_any","into_any_rc","lanes","new","render","render_center_line","try_from","try_into","type_id","vzip","zorder","crosswalk_icon","dont_walk_icon","draw_signal_stage","draw_stage_number","draw_time_left","walk_icon","DrawTransitStop","RADIUS","as_any","as_any_mut","borrow","borrow_mut","center","contains_pt","draw","draw_default","from","get_id","get_outline","get_zorder","id","into","into_any","into_any_rc","new","try_from","try_into","type_id","vzip","zorder","DrawMovement","TURN_ICON_ARROW_LENGTH","as_any","as_any_mut","borrow","borrow_mut","draw_selected_movement","for_i","from","hitbox","id","into","into_any","into_any_arc","into_any_rc","make_circle_geom","try_from","try_into","type_id","vzip","SimpleApp","SimpleAppArgs","SimpleWarper","as_any","as_any","as_any","as_any_mut","as_any_mut","as_any_mut","before_quit","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","calculate_current_selection","cam","clap","color_scheme","cs","cs","current_selection","current_stage_and_remaining_time","dev","draw","draw_default","draw_map","draw_map","draw_unzoomed","draw_with_opts","draw_zoomed","dump_before_abort","event","free_memory","from","from","from","from_clap","into","into","into","into_any","into_any","into_any","into_any_arc","into_any_arc","into_any_rc","into_any_rc","into_any_rc","make_warper","map","map","map_name","map_path","map_switched","minimal_controls","mouseover_unzoomed_buildings","mouseover_unzoomed_roads_and_intersections","mut_cs","mut_draw_map","mut_opts","new","opts","opts","override_options","recalculate_current_selection","scale_factor","session","sim","sim_time","time","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","update_widgetry_settings","vzip","vzip","vzip","warper","0","0","ABStreet","CameraState","CityPicker","ColorDiscrete","ColorLegend","ColorNetwork","ColorScale","DefaultMap","DivergingScale","DrawRoadLabels","EditPolygon","Executable","FifteenMin","FilePicker","Grid","HeatmapOptions","InputWaypoints","LTN","Minimap","MinimapControls","NEXT_RELEASE","Navigator","OSMViewer","ParkingMapper","RawMapEditor","RunCommand","Santa","TitleScreen","TripManagement","TripManagementState","TurnExplorer","WaypointID","all","app_header","app_session_current_trip_name","app_type","app_type","avg","base_zoom","cam_x","cam_y","cam_zoom","camera","categories","change_map_btn","checkbox_per_mode","city_picker","cmp_count","cmp_dist","cmp_duration","color_for_mode","color_scheme","colors","colors","comm","command","compare_counts","contours","controls","current","current_exe","data","dragging","draw","draw","draw_isochrone","draw_overlapping_paths","draw_overlapping_paths","enter_state","fg_color","find_exe","goal_marker","grey_out_map","has_zorder","heatmap","height","high_color","home_btn","icons","idx","ignore","importer","include_roads","intersections_from_roads","l","labels","last_drawn","last_map","layer","lines","loading_tips","low_color","make_heatmap","map","map","max","max_capacity","max_waypts","mid_color","min","minimap","mut_files","navigate","nice_country_name","nice_map_name","offset_x","offset_y","on_load","on_load","outline_color","p","panel","panel","panel","panel","panel","per_zoom","percentage_bar","points","polygon","prompt_to_download_missing_data","radius","resolution","show_success_popup","smoothing","snap_to_endpts","start_marker","started","state_type","sync_from_file_management","time","title_screen","trip_files","turn_explorer","ui","update_url_map_name","updater","version","waypoints","waypoints","width","world","zoom","zoom_lvl","zoomed","CameraState","DefaultMap","as_any","as_any","as_any_mut","as_any_mut","borrow","borrow","borrow_mut","borrow_mut","cam_x","cam_y","cam_zoom","deserialize","deserialize","fmt","fmt","from","from","into","into","into_any","into_any","into_any_arc","into_any_arc","into_any_rc","into_any_rc","last_map","load","save","serialize","serialize","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","AllCityPicker","CitiesInCountryPicker","CityPicker","as_any","as_any","as_any","as_any_mut","as_any_mut","as_any_mut","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","chose_city","cities_per_country","draw","draw","draw","draw_baselayer","draw_baselayer","draw_baselayer","event","event","event","from","from","from","into","into","into","into_any","into_any","into_any","into_any_rc","into_any_rc","into_any_rc","new_in_city","new_state","new_state","new_state","on_load","on_load","on_load","panel","panel","panel","reimport_city","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","0","ColorDiscrete","ColorLegend","ColorNetwork","ColorScale","DivergingScale","add_b","add_b","add_i","add_i","add_l","add_l","add_pl","add_r","add_r","add_ts","as_any","as_any","as_any","as_any","as_any","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","avg","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","build","build","categories","categories","colors","draw","draw","eval","eval","from","from","from","from","from","from_colorous","gradient","high_color","ignore","ignore","inner_eval","into","into","into","into","into","into_any","into_any","into_any","into_any","into_any","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","low_color","make_legend","map","map","max","mid_color","min","new","new","new","no_fading","no_fading","pct_intersections","pct_roads","range","ranked_intersections","ranked_roads","row","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","RunCommand","as_any","as_any_mut","borrow","borrow_mut","comm","draw","event","from","into","into_any","into_any_rc","last_drawn","lines","max_capacity","new_state","on_load","p","panel","read_output","show_success_popup","started","try_from","try_into","type_id","vzip","A","B","Compare","CompareCounts","Intersection","Layer","Obj","Road","as_any","as_any","as_any","as_any_mut","as_any_mut","as_any_mut","autoselect_layer","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","calculate_heatmap","calculate_relative_heatmap","clone","clone","clone_into","clone_into","cmp","counts_a","counts_b","draw","empty","eq","eq","equivalent","fmt","fmt","from","from","from","get_hash","get_hash","get_panel_widget","hash","heatmap_a","heatmap_b","into","into","into","into_any","into_any","into_any","into_any_arc","into_any_arc","into_any_rc","into_any_rc","into_any_rc","layer","make_world","ne","new","on_click","other_event","partial_cmp","recalculate_b","relative_heatmap","relative_road_tooltip","to_owned","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","world","0","0","draw_overlapping_paths","Grid","HeatmapOptions","NEIGHBORS","as_any","as_any","as_any_mut","as_any_mut","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","color_scheme","contours","data","draw_isochrone","eq","from","from","from_controls","height","idx","into","into","into_any","into_any","into_any_arc","into_any_arc","into_any_rc","into_any_rc","make_heatmap","ne","new","new","orthogonal_neighbors","radius","resolution","smoothing","to_controls","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","width","xy","goal_marker","start_marker","ImportCity","as_any","as_any_mut","borrow","borrow_mut","draw","event","from","generate_new_map_name","grab_geojson_from_clipboard","into","into_any","into_any_rc","new_state","on_load","panel","sanitize_name","try_from","try_into","type_id","vzip","DrawRoadLabels","PerZoom","as_any","as_any","as_any_mut","as_any_mut","borrow","borrow","borrow_mut","borrow_mut","cheaply_overestimate_bounds","discretize_zoom","draw","draw_per_zoom","fg_color","from","from","include_roads","into","into","into_any","into_any","into_any_rc","into_any_rc","light_background","new","new","only_major_roads","outline_color","per_zoom","render","simplify_name","simplify_patterns","step_size","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","MINIMAP_HEIGHT","MINIMAP_WIDTH","Minimap","MinimapControls","app_type","as_any","as_any_mut","base_zoom","borrow","borrow_mut","controls","dragging","draw","draw_extra","draw_extra","draw_with_extra_layers","event","from","get_panel","has_layer","has_layer","has_zorder","into","into_any","into_any_rc","layer","make_legend","make_legend","make_unzoomed_panel","make_unzoomed_panel","make_zoomed_side_panel","make_zoomed_side_panel","map_to_minimap_pct","mut_panel","new","offset_x","offset_y","panel","panel_changed","panel_changed","panel_clicked","panel_clicked","recenter","recreate_panel","set_zoom","time","try_from","try_into","type_id","vzip","zoom","zoom_lvl","zoomed","CrossStreet","Navigator","SearchBuildings","as_any","as_any","as_any","as_any_mut","as_any_mut","as_any_mut","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","draw","draw","draw","draw","event","event","event","first","from","from","from","into","into","into","into_any","into_any","into_any","into_any_rc","into_any_rc","into_any_rc","new_state","new_state","new_state","panel","panel","panel","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","EditPolygon","Obj","Point","Polygon","as_any","as_any","as_any_mut","as_any_mut","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","draw","eq","equivalent","event","fmt","from","from","get_hash","get_hash","get_points","hash","into","into","into_any","into_any","into_any_arc","into_any_rc","into_any_rc","ne","new","points","rebuild_world","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","world","0","ABStreet","Executable","FifteenMin","LTN","OSMViewer","ParkingMapper","RawMapEditor","Santa","TitleScreen","as_any","as_any","as_any_mut","as_any_mut","borrow","borrow","borrow_mut","borrow_mut","built_info","clone","clone_into","current_exe","enter_state","eq","from","from","into","into","into_any","into_any","into_any_arc","into_any_rc","into_any_rc","new_state","on_click","replace_process","run","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","BUILT_TIME_UTC","CFG_ENDIAN","CFG_ENV","CFG_FAMILY","CFG_OS","CFG_POINTER_WIDTH","CFG_TARGET_ARCH","CI_PLATFORM","DEBUG","FEATURES","FEATURES_STR","HOST","NUM_JOBS","OPT_LEVEL","PKG_AUTHORS","PKG_DESCRIPTION","PKG_HOMEPAGE","PKG_LICENSE","PKG_NAME","PKG_REPOSITORY","PKG_VERSION","PKG_VERSION_MAJOR","PKG_VERSION_MINOR","PKG_VERSION_PATCH","PKG_VERSION_PRE","PROFILE","RUSTC","RUSTC_VERSION","RUSTDOC","RUSTDOC_VERSION","TARGET","maybe_update","NamedTrip","RenameTrip","SavedTrips","TripManagement","TripManagementState","all","all_names","app_session_current_trip_name","app_type","app_type","as_any","as_any","as_any","as_any","as_any_mut","as_any_mut","as_any_mut","as_any_mut","autosave","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","current","current_name","deserialize","deserialize","draw","eq","from","from","from","from","get_panel_widget","into","into","into","into","into_any","into_any","into_any","into_any","into_any_arc","into_any_arc","into_any_arc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","len","load","mut_files","name","ne","new","new_name","new_state","next","on_click","on_click","panel_changed","prev","save","save_current_trip_to_session","serialize","serialize","set_current","state_type","state_type","sync_from_file_management","to_owned","trips","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","waypoints","CONFLICTING_TURN","CURRENT_TURN","TurnExplorer","as_any","as_any_mut","borrow","borrow_mut","color_turn_type","draw","draw_baselayer","event","from","idx","into","into_any","into_any_rc","l","make_panel","new_state","panel","try_from","try_into","type_id","vzip","FilePicker","as_any","as_any_mut","borrow","borrow_mut","checkbox_per_mode","cmp_count","cmp_dist","cmp_duration","color_for_mode","from","into","into_any","into_any_arc","into_any_rc","new_state","percentage_bar","try_from","try_into","type_id","vzip","download_cities","prompt_to_download_missing_data","size_of_city","0","InputWaypoints","Waypoint","WaypointID","as_any","as_any","as_any","as_any_mut","as_any_mut","as_any_mut","at","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","center","clone","clone_into","eq","equivalent","event","fmt","from","from","from","get_hash","get_hash","get_panel_widget","get_waypoint_color","get_waypoint_text","get_waypoints","hash","into","into","into","into_any","into_any","into_any","into_any_arc","into_any_arc","into_any_arc","into_any_rc","into_any_rc","into_any_rc","label","len","max_waypts","ne","new","new","new_max_2","overwrite","rebuild_world","snap_to_endpts","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","waypoints"],"q":["map_gui","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","map_gui::ID","","","","","","","","","","map_gui::colors","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","map_gui::load","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","map_gui::options","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","map_gui::render","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","map_gui::render::agents","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","map_gui::render::area","","","","","","","","","","","","","","","","","","","","map_gui::render::bike","","","","","","","","","","","","","","","","","","","","","","","map_gui::render::building","","","","","","","","","","","","","","","","","","","","","","map_gui::render::car","","","","","","","","","","","","","","","","","","","","","","","","","","","map_gui::render::intersection","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","map_gui::render::lane","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","map_gui::render::map","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","map_gui::render::parking_lot","","","","","","","","","","","","","","","","","","","","","","","map_gui::render::pedestrian","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","map_gui::render::road","","","","","","","","","","","","","","","","","","","","","","","","","","","","","map_gui::render::traffic_signal","","","","","","map_gui::render::transit_stop","","","","","","","","","","","","","","","","","","","","","","","","map_gui::render::turn","","","","","","","","","","","","","","","","","","","","map_gui::simple_app","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","map_gui::tools","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","map_gui::tools::camera","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","map_gui::tools::city_picker","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","map_gui::tools::colors","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","map_gui::tools::command","","","","","","","","","","","","","","","","","","","","","","","","","","map_gui::tools::compare_counts","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","map_gui::tools::compare_counts::Obj","","map_gui::tools::draw_overlapping_paths","map_gui::tools::heatmap","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","map_gui::tools::icons","","map_gui::tools::importer","","","","","","","","","","","","","","","","","","","","","map_gui::tools::labels","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","map_gui::tools::minimap","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","map_gui::tools::navigate","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","map_gui::tools::polygon","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","map_gui::tools::polygon::Obj","map_gui::tools::title_screen","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","map_gui::tools::title_screen::built_info","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","map_gui::tools::trip_files","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","map_gui::tools::turn_explorer","","","","","","","","","","","","","","","","","","","","","","","","map_gui::tools::ui","","","","","","","","","","","","","","","","","","","","","map_gui::tools::updater","","","map_gui::tools::waypoints","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""],"d":["An application wishing to use the tools in this crate has …","","","","","","","","","","","Simple app state that just renders a static map, without …","","","","","","","","","","Initially position the camera here. The format is an …","Change the color scheme. Idempotent. Return true if there …","","","","The color scheme for map elements, agents, and the UI.","A color scheme groups colors used for different map, …","","","","","Dev mode exposes experimental tools useful for debugging, …","","","","","","","","Returns the argument unchanged.","","","","","","","","","","","","","","Calls U::from(self).","","","","","Create a widgetry::State that warps to the given point.","","","Path to a map to initially load. If not provided, load the …","","When making a screen recording, enable this option to hide …","","","","","","","","","Render static and dynamic map elements.","Override the monitor’s auto-detected scale factor","Custom per-app state can be stored here","","","","If desired, this can be advanced to render traffic signals …","","Assorted tools and UI states that’re useful for …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Even if the current map name matches, still reload.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","Options controlling the UI. Some of the options are common …","","","Different ways of drawing traffic signals. The names of …","","","","","","","","","","","","","","","","","","Draw buildings in different perspectives","widgetry options","","","","","","","The color scheme for map elements, agents, and the UI.","Every time we draw, render all agents zoomed in. Extremely …","","","","Dev mode exposes experimental tools useful for debugging, …","When time warping, don’t draw to speed up simulation","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","The delay threshold to halt on when jumping to the next …","Display roads and buildings in an alternate language, if …","Restore previous options. If the file is missing or the …","When making a screen recording, enable this option to hide …","","","","","","Draw building driveways.","Draw crosswalks and unmarked crossings.","Draw stop signs.","If true, draw an icon for traffic signals both when zoomed …","If true, modify several basemap features to de-emphasize …","How much to advance the sim with one of the speed controls","","","","Automatically change color_scheme based on simulation time …","How traffic signals should be rendered.","","","","","","","","","","","","","How to render geometric units","","","","","","","","","","","","Control how the map is drawn.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","","If the sim has highlighted people, then fade all others …","","","","","","","","","Calls U::from(self).","","","","","Label every building.","","","","Default options for drawing a map.","","","","","","","","","","Don’t draw the current traffic signal state.","","","","","","","","","","This is controlled almost entirely by the minimap panel. …","","","","","","","","","","","","","","","","","","","","","If the sim time has changed or the unzoomed agent filters …","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","This is controlled almost entirely by the minimap panel. …","","","","","","","","","","","Returns the argument unchanged.","","","","Calls U::from(self).","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","","","Calls U::from(self).","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","","","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","","","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","Find sections along the intersection polygon that aren’t …","","","Calls U::from(self).","","","Draws both zebra crosswalks and unmarked crossings","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","","","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","","","Unsorted, unexpanded, raw result.","","","","A simple variation of the one in game that shows all …","","","Calls U::from(self).","","","","","","","","","","","","","","","","Build a single gigantic GeomBatch to render the entire map …","","","","","","","","","","","Returns the argument unchanged.","","","","","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","","","Calls U::from(self).","","","","","","If text_width is defined, don’t draw the center line in …","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","","","Calls U::from(self).","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","Calls U::from(self).","","","","","","","","","Simple app state that just renders a static map, without …","","","","","","","","","","","","","","","","","Initially position the camera here. The format is an …","","The color scheme for map elements, agents, and the UI.","","","","","Dev mode exposes experimental tools useful for debugging, …","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","Path to a map to initially load. If not provided, load the …","","When making a screen recording, enable this option to hide …","Only select buildings, and work whether zoomed in or not.","","","","","","","","Options are passed in by each app, usually seeded with …","Assumes some defaults.","Override the monitor’s auto-detected scale factor","Custom per-app state can be stored here","","","If desired, this can be advanced to render traffic signals …","","","","","","","","","","","","","","","","","","Represents the state of a widgetry Canvas.","Lets the player switch maps.","","","","","Track the last map used, to resume next session.","","Labels roads when unzoomed. Label size and frequency …","","","","","A 2D grid containing some arbitrary data.","","Click to add waypoints, drag them, see the list on a panel …","","","Customize the appearance and behavior of a minimap.","","","","","","Executes a command and displays STDOUT and STDERR in a …","","A title screen shared among all of the A/B Street apps.","Save sequences of waypoints as named trips. Basic file …","","A tool to explore all of the turns from a single lane.","","","A standard way to group a home button back to the title …","","","","","","","","","","","A button to change maps, with default keybindings","","","Less is better","Shorter is better","Shorter is better","","","","","","","","","","","","Logically represents a 2D vector. Row-major ordering.","","","","Thresholds are Durations, in units of seconds","","","","","Returns the path to an executable. Native-only.","Draw a goal marker pointing at something.","Make it clear the map can’t be interacted with right now.","Should the user be able to control the z-order visible? …","","","","A button to return to the title screen","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Draw a start marker pointing at something.","","","","","","","","Generic UI tools. Some of this should perhaps be lifted to …","Modify the current URL to set the first free parameter to …","","Returns the version of A/B Street to link to. When …","","","","","","","","Represents the state of a widgetry Canvas.","Track the last map used, to resume next session.","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","","","","","","","","Load the camera’s configuration for the specified map. …","Save the camera’s configuration for the specified map, …","","","","","","","","","","","","","Lets the player switch maps.","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Executes a command and displays STDOUT and STDERR in a …","","","","","","","","Returns the argument unchanged.","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Start with the relative layer if anything has changed","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","If a button owned by this was clicked, returns the new …","If clickable_roads was enabled and a road was clicked, …","","","","","","","","","","","","","","","","","","","","","","","A 2D grid containing some arbitrary data.","","","","","","","","","","","","","","","Logically represents a 2D vector. Row-major ordering.","Thresholds are Durations, in units of seconds","","Returns the argument unchanged.","Returns the argument unchanged.","","","Calculate the index from a given (x, y). Doesn’t do any …","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","From one tile, calculate the 4 orthogonal neighbors. …","","","","","","","","","","","","","","","The inverse of idx. No bounds checking.","Draw a goal marker pointing at something.","Draw a start marker pointing at something.","","","","","","","","Returns the argument unchanged.","","","Calls U::from(self).","","","","","","","","","","","Labels roads when unzoomed. Label size and frequency …","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","Calls U::from(self).","Calls U::from(self).","","","","","","Label roads that the predicate approves","","Only label major roads","","","","","","","","","","","","","","","","","","Customize the appearance and behavior of a minimap.","","","","","","","","","","Draw extra stuff on the minimap, just pulling from the app.","Draw extra stuff on the minimap, just pulling from the app.","","","Returns the argument unchanged.","","Is there some additional layer displayed on the minimap? …","Is there some additional layer displayed on the minimap? …","Should the user be able to control the z-order visible? …","Calls U::from(self).","","","","A row beneath the minimap in the zoomed view, usually used …","A row beneath the minimap in the zoomed view, usually used …","When unzoomed, display this panel. By default, no controls …","When unzoomed, display this panel. By default, no controls …","Controls to be placed to the left to the zoomed-in panel","Controls to be placed to the left to the zoomed-in panel","","","","","","","Called for Outcome::Changed on the panel.","Called for Outcome::Changed on the panel.","If a button is clicked that was produced by some method in …","If a button is clicked that was produced by some method in …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","A title screen shared among all of the A/B Street apps.","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","","","","","","","","Run the given executable with some arguments. On Mac and …","","","","","","","","","","","The build time in RFC2822, UTC.","The endianness, given by CARGO_CFG_TARGET_ENDIAN.","The toolchain-environment, given by CARGO_CFG_TARGET_ENV.","The OS-family, given by CARGO_CFG_TARGET_FAMILY.","The operating system, given by CARGO_CFG_TARGET_OS.","The pointer width, given by CARGO_CFG_TARGET_POINTER_WIDTH.","The target architecture, given by CARGO_CFG_TARGET_ARCH.","The Continuous Integration platform detected during …","Value of DEBUG for the profile used during compilation.","The features that were enabled during compilation.","The features as a comma-separated string.","The host triple of the rust compiler.","The parallelism that was specified during compilation.","Value of OPT_LEVEL for the profile used during compilation.","A colon-separated list of authors.","The description.","The homepage.","The license.","The name of the package.","The source repository as advertised in Cargo.toml.","The full version.","The major version.","The minor version.","The patch version.","The pre-release version.","release for release builds, debug for other builds.","The compiler that cargo resolved to use.","The output of rustc -V","The documentation generator that cargo resolved to use.","The output of rustdoc -V","The target triple that was being compiled for.","","","","","Save sequences of waypoints as named trips. Basic file …","","","","","","","","","","","","","","","saves iff current trip is changed.","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","A tool to explore all of the turns from a single lane.","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","","","","","","","Less is better","Shorter is better","Shorter is better","","Returns the argument unchanged.","Calls U::from(self).","","","","","","","","","","","","How many bytes to download for a city?","","Click to add waypoints, drag them, see the list on a panel …","","","","","","","","","","","","","","","","","","","","","If the outcome from the panel or world isn’t used by the …","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","Allows any number of waypoints","","Only allow drawing routes with 2 waypoints. If a route is …","The caller should call rebuild_world after this","The caller is responsible for calling initialize_hover and …","","","","","","","","","","","","","","",""],"i":[0,1,1,1,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,2,3,1,1,1,2,0,3,4,4,3,2,3,4,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,3,3,4,2,3,2,3,3,3,1,0,3,4,1,0,2,4,3,3,0,4,1,0,1,1,1,1,5,6,7,8,9,10,11,12,13,14,15,0,0,15,15,15,15,16,16,16,15,16,15,16,16,16,16,16,15,16,15,16,16,16,16,16,16,16,15,16,15,15,16,16,16,16,16,15,16,16,15,16,16,15,16,15,16,16,16,16,16,0,16,16,16,15,16,15,16,15,16,15,16,16,16,16,16,16,16,0,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,15,16,16,15,16,15,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,15,16,16,16,0,0,17,18,17,18,17,18,17,18,18,18,17,17,18,17,18,17,18,17,17,18,17,18,17,18,17,18,17,18,17,18,19,20,0,20,19,19,19,19,0,0,19,0,20,21,22,20,19,21,22,20,19,21,22,20,19,21,22,20,19,22,22,22,20,19,22,20,19,22,22,22,20,19,22,22,21,20,19,21,20,19,21,22,20,19,21,22,20,19,21,22,20,19,22,20,19,21,22,20,19,22,22,22,22,21,21,22,20,19,22,22,22,22,22,22,22,20,19,22,22,21,22,20,19,21,22,20,19,21,22,20,19,22,21,22,20,19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,23,0,24,25,25,0,26,27,27,28,25,25,24,0,24,24,26,0,0,26,29,29,24,24,24,24,24,30,28,27,30,0,25,29,29,29,0,31,32,33,30,28,31,0,24,25,25,25,25,33,25,0,0,27,25,0,24,0,26,24,24,0,24,24,25,23,0,0,25,25,0,25,23,0,23,25,30,28,27,24,0,0,23,23,26,23,26,26,26,23,26,23,26,26,26,23,26,26,26,26,26,23,26,23,26,23,23,26,23,26,26,23,26,26,23,26,26,26,23,23,26,23,26,23,26,23,26,23,23,26,23,26,0,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,0,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,0,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,0,0,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,0,35,35,35,35,0,35,0,0,30,30,30,30,0,0,0,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,0,0,0,0,30,0,30,30,30,30,30,30,30,30,0,36,36,36,36,0,0,0,0,0,0,36,36,36,36,36,36,36,36,36,36,36,36,36,0,36,36,36,36,36,36,36,0,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,0,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,0,0,28,27,28,27,27,27,28,28,27,28,27,28,28,27,28,27,28,27,28,28,27,28,27,28,27,28,28,27,28,27,28,27,27,28,27,28,27,28,27,28,27,28,27,28,27,0,0,0,38,38,38,38,38,38,38,38,0,38,38,38,38,38,38,38,38,38,38,38,0,38,38,38,38,38,0,0,0,0,0,0,0,0,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,0,0,31,31,31,31,31,31,31,31,31,31,31,31,31,0,31,31,31,31,0,0,0,4,40,2,4,40,2,4,4,40,2,4,40,2,4,2,2,2,4,4,4,4,2,40,4,4,4,4,4,4,4,40,4,4,40,2,2,4,40,2,4,40,2,40,2,4,40,2,4,4,4,2,2,4,2,4,4,4,4,4,4,4,4,2,4,2,4,4,4,4,4,40,2,4,40,2,4,40,2,2,4,40,2,40,41,42,43,0,0,0,0,0,0,0,0,0,0,0,43,0,0,0,0,43,0,0,0,0,43,43,43,0,43,0,0,0,0,0,44,0,45,46,44,47,46,48,48,48,0,49,0,0,0,0,0,0,0,50,0,49,51,0,0,50,46,44,52,53,46,49,54,0,0,0,52,55,0,0,0,56,0,53,47,0,0,57,47,0,55,0,57,0,51,58,46,51,0,47,0,49,54,47,51,59,47,47,0,45,0,0,0,46,46,60,51,55,51,60,51,46,61,57,55,0,62,0,0,50,50,51,50,59,0,51,44,45,46,0,0,0,0,0,0,0,0,59,53,62,46,46,46,0,0,48,58,48,58,48,58,48,58,48,48,48,48,58,48,58,48,58,48,58,48,58,48,58,48,58,58,48,48,48,58,48,58,48,58,48,58,48,58,0,0,0,60,63,64,60,63,64,60,63,64,60,63,64,0,0,60,63,64,60,63,64,60,63,64,60,63,64,60,63,64,60,63,64,60,63,64,60,60,63,64,60,63,64,60,63,64,0,60,63,64,60,63,64,60,63,64,60,63,64,41,0,0,0,0,0,49,54,49,54,49,54,54,49,54,49,49,65,47,54,41,49,65,47,54,41,47,49,65,47,54,41,49,65,47,54,41,49,54,65,49,49,49,54,47,41,49,65,47,54,41,41,65,47,47,47,41,49,65,47,54,41,49,65,47,54,41,49,65,47,54,41,49,65,47,54,41,47,47,49,54,47,47,47,49,47,54,49,54,54,54,47,54,54,65,49,65,47,54,41,49,65,47,54,41,49,65,47,54,41,49,65,47,54,41,0,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,66,66,66,0,67,0,0,67,68,67,66,68,67,66,68,68,67,66,68,67,66,0,0,67,66,67,66,67,68,68,68,68,67,66,67,67,66,68,67,66,67,67,68,67,68,68,68,67,66,68,67,66,67,66,68,67,66,68,0,67,68,68,68,67,68,68,68,67,66,68,67,66,68,67,66,68,67,66,68,67,66,68,69,70,0,0,0,0,53,50,53,50,53,50,53,50,50,50,50,50,53,0,50,53,50,50,53,53,53,50,53,50,53,50,53,50,0,50,53,50,53,50,50,50,50,50,53,50,53,50,53,50,53,50,53,53,0,0,0,71,71,71,71,71,71,71,0,0,71,71,71,71,71,71,0,71,71,71,71,0,0,55,72,55,72,55,72,55,72,0,72,55,72,55,55,72,55,55,72,55,72,55,72,55,55,72,55,55,55,55,0,0,72,55,72,55,72,55,72,55,72,0,0,0,0,46,46,46,46,46,46,46,46,46,56,56,46,46,46,46,56,56,56,46,46,46,46,56,56,56,56,56,56,46,46,46,46,46,46,56,56,56,56,46,46,46,46,46,46,46,46,46,46,46,0,0,0,61,73,74,61,73,74,61,73,74,61,73,74,61,73,74,73,61,73,74,73,61,73,74,61,73,74,61,73,74,61,73,74,61,73,74,61,73,74,61,73,74,61,73,74,61,73,74,61,73,74,0,0,75,75,62,75,62,75,62,75,62,75,75,75,62,75,75,62,75,62,75,75,75,62,75,62,75,62,75,75,62,75,75,62,62,62,75,62,75,62,75,62,75,62,75,62,76,43,0,43,43,43,43,43,43,0,52,43,52,43,52,43,52,43,0,43,43,52,52,43,52,43,52,43,52,43,43,52,43,52,52,43,52,43,52,43,52,43,52,43,52,43,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,77,45,44,77,44,77,78,79,44,77,78,79,44,44,77,78,79,44,77,78,79,78,78,44,77,78,79,77,78,44,77,78,79,44,44,77,78,79,44,77,78,79,44,78,79,44,77,78,79,79,79,45,78,78,44,79,77,79,44,77,77,79,79,44,78,79,44,44,77,45,78,79,44,77,78,79,44,77,78,79,44,77,78,79,44,77,78,79,78,0,0,0,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,0,80,80,80,80,0,0,0,0,0,80,80,80,80,80,80,0,80,80,80,80,0,0,0,42,0,0,0,59,81,42,59,81,42,81,59,81,42,59,81,42,81,42,42,42,42,59,42,59,81,42,42,42,59,59,0,59,42,59,81,42,59,81,42,59,81,42,59,81,42,81,59,59,42,59,81,59,59,59,59,42,59,81,42,59,81,42,59,81,42,59,81,42,59],"f":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0]],["option",4,[["agentid",4]]]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["buildingid",3]],[[["",0]],["intersectionid",3]],[[["",0]],["",0]],[[["",0]],["",0]],null,[[["",0],["eventctx",3],["colorschemechoice",4]],["bool",0]],[[["",0]],["id",4]],[[["",0],["",0]]],[[["",0],["id",4]],["ordering",4]],null,null,[[["",0]],["colorscheme",3]],null,null,[[["",0],["intersectionid",3]]],null,[[["",0]],["drawmap",3]],null,[[["",0],["gfxctx",3],["drawoptions",3]]],[[["",0],["id",4]],["bool",0]],[[["",0],["",0]],["bool",0]],[[["",0],["formatter",3]],["result",6]],[[["areaid",3]]],[[]],[[["roadid",3]]],[[["laneid",3]]],[[["intersectionid",3]]],[[["buildingid",3]]],[[["parkinglotid",3]]],[[["carid",3]]],[[["pedestrianid",3]]],[[["vec",3,[["pedestrianid",3]]]]],[[["transitstopid",3]]],[[["agentid",4]],["id",4]],[[["",0],["",0]],["u64",0]],[[["",0]],["u64",0]],[[["",0],["",0]]],[[]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["arc",3]],["arc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],null,[[["",0],["eventctx",3],["pt2d",3],["option",4,[["f64",0]]],["option",4,[["id",4]]]],["box",3,[["state",8]]]],[[["",0]],["map",3]],null,null,[[["",0],["eventctx",3],["map",3],["timer",3]]],null,[[["",0]],["colorscheme",3]],[[["",0]],["drawmap",3]],[[["",0]],["options",3]],[[["",0],["id",4]],["bool",0]],null,[[["",0]],["options",3]],null,[[["",0],["id",4]],["option",4,[["ordering",4]]]],null,null,null,[[["",0]],["sim",3]],[[["",0]],["time",3]],null,null,[[["",0]]],null,[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],null,null,null,null,null,null,null,[[],["vec",3,[["choice",3,[["colorschemechoice",4]]]]]],[[],["colorscheme",3]],[[["",0]],["colorschemechoice",4]],[[["",0],["",0]]],null,[[["",0],["roadrank",4]],["color",3]],null,[[],["colorscheme",3]],null,[[],["result",4]],null,null,[[["",0],["colorschemechoice",4]],["bool",0]],[[["",0],["str",0]],["result",6]],null,[[["",0],["formatter",3]],["result",6]],[[]],[[]],null,null,null,null,null,[[["str",0]],["color",3]],[[["",0],["str",0]],["result",6]],null,[[]],[[]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["arc",3]],["arc",3,[["any",8]]]],[[["arc",3]],["arc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["style",3]],["colorscheme",3]],null,[[],["colorscheme",3]],null,null,null,null,[[["usize",0]],["color",3]],[[["eventctx",3],["colorschemechoice",4]],["colorscheme",3]],[[],["colorscheme",3]],null,null,null,null,null,null,null,[[["str",0]],["result",6,[["colorschemechoice",4]]]],null,null,null,null,null,null,null,null,[[["",0],["map",3]],["color",3]],null,null,null,[[["",0],["usize",0]],["color",3]],[[["",0],["usize",0]],["color",3]],null,null,null,[[["",0]],["result",4]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[],["colorscheme",3]],[[["",0]]],null,[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],null,[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],null,null,null,null,null,null,null,null,[[["",0],["roadrank",4]],["color",3]],null,null,[[]],[[]],null,[[["",0],["roadrank",4]],["color",3]],[[["",0],["lanetype",4],["roadrank",4]],["color",3]],null,null,[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0],["gfxctx",3],["",0]]],[[["",0],["eventctx",3],["",0]],["transition",4]],[[["eventctx",3],["mapname",3],["box",3,[["fnonce",8]]]],["box",3,[["state",8]]]],[[]],[[]],[[]],[[]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["arc",3]],["arc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["eventctx",3],["",0],["mapname",3],["box",3,[["fnonce",8]]]],["box",3,[["state",8]]]],null,[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],null,null,[[["",0]],["options",3]],[[["",0]],["trafficsignalstyle",4]],[[["",0]],["cameraangle",4]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],null,null,[[],["result",4]],[[],["result",4]],[[],["result",4]],null,null,[[["",0],["gfxctx",3],["",0]]],[[["",0],["trafficsignalstyle",4]],["bool",0]],[[["",0],["cameraangle",4]],["bool",0]],[[["",0],["eventctx",3],["",0]],["transition",4]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["arc",3]],["arc",3,[["any",8]]]],[[["arc",3]],["arc",3,[["any",8]]]],[[["arc",3]],["arc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],null,null,[[],["options",3]],null,[[["eventctx",3],["",0]],["box",3,[["state",8]]]],null,[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],null,null,null,null,null,null,[[["",0]]],[[["",0]]],[[["",0]]],null,null,[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],null,[[]],[[]],[[]],[[]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0]],["any",8]],[[["",0]],["any",8]],null,null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],null,null,null,null,null,[[["intersection",3],["map",3]],["vec",3,[["polygon",3]]]],null,null,[[["",0],["pt2d",3],["map",3]],["bool",0]],[[["",0],["gfxctx",3],["applike",8],["drawoptions",3]]],null,null,null,null,null,null,null,null,null,[[["drawcarinput",3],["map",3],["sim",3],["prerender",3],["colorscheme",3]],["box",3,[["renderable",8]]]],[[]],[[["",0]],["id",4]],[[["",0],["map",3]],["polygon",3]],[[["",0]],["isize",0]],[[["color",3],["option",4],["sim",3]],["color",3]],null,null,null,null,null,null,null,null,[[]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["arc",3]],["arc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],null,null,null,null,null,[[],["drawoptions",3]],null,null,null,null,null,null,null,null,null,null,null,null,null,[[],["result",4]],[[],["result",4]],null,[[["",0]],["typeid",3]],null,[[["option",4,[["vehicletype",4]]]],["distance",3]],null,[[]],null,null,null,null,null,null,null,[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["bool",0]],null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["bool",0]],null,[[["",0],["",0],["map",3],["sim",3],["colorscheme",3]],["quadtree",3]],[[["",0]],["bool",0]],null,[[["",0]],["unzoomedagents",3]],[[["",0],["",0]]],[[["",0],["unzoomedagent",3],["colorscheme",3]],["option",4,[["color",3]]]],[[["",0],["gfxctx",3],["map",3],["sim",3],["colorscheme",3],["options",3]]],[[["",0],["unzoomedagents",3]],["bool",0]],[[]],[[]],[[["",0],["traversable",4]],["vec",3,[["renderable",8]]]],[[]],[[]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["arc",3]],["arc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["",0],["unzoomedagents",3]],["bool",0]],[[],["agentcache",3]],[[],["unzoomedagents",3]],[[["",0]],["bool",0]],null,[[["",0],["traversable",4],["map",3],["sim",3],["colorscheme",3],["prerender",3]]],null,[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],null,null,[[["",0],["panel",3]]],[[]],[[]],null,[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0],["gfxctx",3],["applike",8],["drawoptions",3]]],[[["areatype",4],["colorscheme",3]],["fill",4]],[[]],[[["",0]],["id",4]],[[["",0],["map",3]],["polygon",3]],null,[[]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["arc",3]],["arc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["eventctx",3],["area",3],["colorscheme",3],["geombatch",3]],["drawarea",3]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[]],null,[[["",0]],["any",8]],[[["",0]],["any",8]],null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0],["pt2d",3],["map",3]],["bool",0]],[[["",0],["gfxctx",3],["applike",8],["drawoptions",3]]],null,[[]],[[["",0]],["id",4]],[[["",0],["map",3]],["polygon",3]],[[["",0]],["isize",0]],null,[[]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["drawcarinput",3],["map",3],["sim",3],["prerender",3],["colorscheme",3]],["drawbike",3]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[]],null,null,[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]]],[[["",0],["pt2d",3],["map",3]],["bool",0]],[[["",0],["gfxctx",3],["applike",8],["drawoptions",3]]],[[]],[[["",0]],["id",4]],[[["",0],["map",3]],["polygon",3]],[[["",0]],["isize",0]],null,[[]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["rc",3]],["rc",3,[["any",8]]]],null,[[["eventctx",3],["building",3],["map",3],["colorscheme",3],["options",3],["geombatch",3],["geombatch",3]],["drawbuilding",3]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[]],null,null,[[["",0]],["any",8]],[[["",0]],["any",8]],null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0],["pt2d",3],["map",3]],["bool",0]],[[["",0],["gfxctx",3],["applike",8],["drawoptions",3]]],null,[[]],[[["",0]],["id",4]],[[["",0],["map",3]],["polygon",3]],[[["",0]],["isize",0]],null,[[]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["drawcarinput",3],["map",3],["sim",3],["prerender",3],["colorscheme",3]],["drawcar",3]],[[["distance",3],["distance",3],["pt2d",3],["angle",3]],["polygon",3]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[]],[[["drawcarinput",3],["sim",3],["colorscheme",3]],["color",3]],null,null,[[],["bool",0]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["",0]],[[["",0]],["",0]],[[["intersection",3],["road",3],["map",3]],["vec",3,[["polygon",3]]]],[[["intersection",3],["map",3]],["vec",3,[["polygon",3]]]],[[["intersection",3],["map",3]],["vec",3,[["polygon",3]]]],[[["",0]]],[[["",0],["pt2d",3],["map",3]],["bool",0]],[[["",0],["gfxctx",3],["applike",8],["drawoptions",3]]],null,[[["",0],["gfxctx",3],["applike",8],["drawoptions",3],["controltrafficsignal",3]]],null,[[]],[[["",0]],["id",4]],[[["",0],["map",3]],["polygon",3]],[[["intersection",3],["map",3]],["vec",3,[["polyline",3]]]],[[["",0]],["isize",0]],null,[[]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["geombatch",3],["turn",3],["map",3],["colorscheme",3]]],[[["pt2d",3],["distance",3],["angle",3]],["polygon",3]],[[["geombatch",3],["turn",3],["map",3]],["bool",0]],[[["geombatch",3],["turn",3],["map",3],["colorscheme",3]]],[[["intersection",3],["map",3]],["drawintersection",3]],[[["line",3],["distance",3]],["line",3]],[[["",0],["gfxctx",3],["applike",8]]],[[["",0],["",0],["applike",8]],["geombatch",3]],[[["roadwithstopsign",3],["map",3]],["option",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[]],null,null,[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["",0]],[[["",0]],["",0]],[[["applike",8],["buffertype",4],["lane",3],["geombatch",3]]],[[["lane",3],["road",3]],["vec",3,[["polygon",3]]]],[[["lane",3],["road",3]],["vec",3,[["polygon",3]]]],[[["lane",3],["map",3]],["vec",3,[["polygon",3]]]],[[["lane",3]],["vec",3,[["polygon",3]]]],[[["map",3],["lane",3]],["vec",3,[["polygon",3]]]],[[["",0]]],[[["",0],["pt2d",3],["map",3]],["bool",0]],[[["",0],["gfxctx",3],["applike",8],["drawoptions",3]]],null,[[]],[[["",0]],["id",4]],[[["",0],["map",3]],["polygon",3]],[[["",0]],["isize",0]],null,[[]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["lane",3],["road",3]],["drawlane",3]],[[["line",3],["distance",3]],["line",3]],null,[[["",0],["",0],["applike",8]],["geombatch",3]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[]],null,null,null,[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["",0]],[[["",0]],["",0]],null,null,null,null,null,null,null,null,[[["",0]]],[[]],[[["",0],["areaid",3]],["drawarea",3]],[[["",0],["buildingid",3]],["drawbuilding",3]],[[["",0],["intersectionid",3]],["drawintersection",3]],[[["",0],["laneid",3]],["drawlane",3]],[[["",0],["bounds",3]],["vec",3,[["id",4]]]],[[["",0],["eventctx",3],["id",4],["applike",8],["agentcache",3]],["option",4,[["renderable",8]]]],[[["",0],["parkinglotid",3]],["drawparkinglot",3]],[[["",0],["roadid",3]],["drawroad",3]],[[["",0],["bounds",3],["map",3]],["vec",3,[["renderable",8]]]],[[["",0],["transitstopid",3]],["drawtransitstop",3]],null,[[]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["eventctx",3],["map",3],["options",3],["colorscheme",3],["timer",3]],["drawmap",3]],null,null,null,[[["",0],["intersectionid",3],["map",3]]],[[["",0],["road",3],["map",3]]],[[["eventctx",3],["map",3],["colorscheme",3],["options",3],["timer",3]],["drawable",3]],null,null,[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[]],[[["eventctx",3],["applike",8]],["geombatch",3]],null,null,[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]]],[[["",0],["pt2d",3],["map",3]],["bool",0]],[[["",0],["gfxctx",3],["applike",8],["drawoptions",3]]],null,[[]],[[["",0]],["id",4]],[[["",0],["map",3]],["polygon",3]],[[["",0]],["isize",0]],null,[[]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["eventctx",3],["parkinglot",3],["colorscheme",3],["options",3],["geombatch",3]],["drawparkinglot",3]],[[["",0],["applike",8]],["geombatch",3]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[]],null,null,[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0],["pt2d",3],["map",3]],["bool",0]],[[["",0],["gfxctx",3],["applike",8],["drawoptions",3]]],[[["",0],["gfxctx",3],["applike",8],["drawoptions",3]]],null,null,[[]],[[]],[[["geombatch",3],["sim",3],["colorscheme",3],["drawpedestrianinput",3],["usize",0]]],[[["",0]],["id",4]],[[["",0]],["id",4]],[[["",0],["map",3]],["polygon",3]],[[["",0],["map",3]],["polygon",3]],[[["",0]],["isize",0]],[[["",0]],["isize",0]],null,[[]],[[]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],null,[[["drawpedestrianinput",3],["usize",0],["map",3],["sim",3],["prerender",3],["colorscheme",3]],["drawpedestrian",3]],[[["drawpedcrowdinput",3],["map",3],["prerender",3],["colorscheme",3]],["drawpedcrowd",3]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],null,null,null,null,null,[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]]],[[["",0],["pt2d",3],["map",3]],["bool",0]],[[["",0],["gfxctx",3],["applike",8],["drawoptions",3]]],null,[[["applike",8],["building",3],["geombatch",3]]],[[]],[[["",0]],["id",4]],[[["",0],["map",3]],["polygon",3]],[[["",0]],["isize",0]],null,[[]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["rc",3]],["rc",3,[["any",8]]]],null,[[["road",3]],["drawroad",3]],[[["",0],["",0],["applike",8]],["geombatch",3]],[[["applike",8],["road",3],["option",4,[["distance",3]]]],["geombatch",3]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[]],null,[[["polyline",3]]],[[["movement",3],["prerender",3]],["geombatch",3]],[[["prerender",3],["stage",3],["usize",0],["intersectionid",3],["option",4,[["duration",3]]],["geombatch",3],["applike",8],["trafficsignalstyle",4]]],[[["prerender",3],["intersection",3],["usize",0],["geombatch",3]]],[[["applike",8],["prerender",3],["stage",3],["intersection",3],["usize",0],["duration",3],["geombatch",3]]],[[["movement",3],["prerender",3]],["geombatch",3]],null,null,[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["",0]],[[["",0]],["",0]],null,[[["",0],["pt2d",3],["map",3]],["bool",0]],[[["",0],["gfxctx",3],["applike",8],["drawoptions",3]]],null,[[]],[[["",0]],["id",4]],[[["",0],["map",3]],["polygon",3]],[[["",0]],["isize",0]],null,[[]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["eventctx",3],["transitstop",3],["map",3],["colorscheme",3]],["drawtransitstop",3]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[]],null,null,null,[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0],["applike",8],["geombatch",3],["option",4,[["turnpriority",4]]]]],[[["prerender",3],["map",3],["colorscheme",3],["intersectionid",3],["usize",0]],["vec",3]],[[]],null,null,[[]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["arc",3]],["arc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["f64",0],["polyline",3],["angle",3]]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[]],null,null,null,[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0],["canvas",3]]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0],["eventctx",3],["bool",0],["bool",0]],["option",4,[["id",4]]]],null,[[],["app",3]],null,[[["",0]],["colorscheme",3]],null,null,[[["",0],["intersectionid",3]]],null,[[["",0],["gfxctx",3],["simpleapp",3]]],[[["",0],["gfxctx",3]]],[[["",0]],["drawmap",3]],null,[[["",0],["gfxctx",3]]],[[["",0],["gfxctx",3],["drawoptions",3]]],[[["",0],["gfxctx",3],["drawoptions",3]]],[[["",0],["canvas",3]]],[[["",0],["eventctx",3],["simpleapp",3]],["transition",4,[["simpleapp",3]]]],[[["",0]]],[[]],[[]],[[]],[[["argmatches",3]]],[[]],[[]],[[]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["arc",3]],["arc",3,[["any",8]]]],[[["arc",3]],["arc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["",0],["eventctx",3],["pt2d",3],["option",4,[["f64",0]]],["option",4,[["id",4]]]],["box",3,[["state",8]]]],[[["",0]],["map",3]],null,[[["",0]],["mapname",3]],null,[[["",0],["eventctx",3],["map",3],["timer",3]]],null,[[["",0],["eventctx",3]],["option",4,[["id",4]]]],[[["",0],["eventctx",3]],["option",4,[["id",4]]]],[[["",0]],["colorscheme",3]],[[["",0]],["drawmap",3]],[[["",0]],["options",3]],[[["eventctx",3],["options",3],["mapname",3],["option",4,[["string",3]]],["fn",8]]],[[["",0]],["options",3]],null,[[["",0],["options",3]]],[[["",0],["eventctx",3]]],null,null,[[["",0]],["sim",3]],[[["",0]],["time",3]],null,[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0],["settings",3]],["settings",3]],[[]],[[]],[[]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["eventctx",3],["applike",8],["str",0]],["widget",3]],[[["",0]],["option",4]],null,null,null,null,null,null,null,null,null,[[["eventctx",3],["applike",8]],["widget",3]],[[["eventctx",3],["applike",8],["btreeset",3]],["widget",3]],null,[[["text",3],["usize",0],["usize",0]]],[[["text",3],["applike",8],["distance",3],["str",0],["str",0]]],[[["text",3],["applike",8],["duration",3],["str",0],["str",0]]],[[["applike",8],["tripmode",4]],["color",3]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["map",3],["hashmap",3]],["geombatch",3]],null,[[["eventctx",3],["applike",8],["vec",3]],["togglezoomed",3]],null,null,[[["str",0]],["string",3]],[[["",0],["pt2d",3],["f64",0]],["geombatch",3]],[[["gfxctx",3],["applike",8]]],[[["",0],["",0]],["bool",0]],null,null,null,[[["eventctx",3]],["widget",3]],null,null,null,null,null,[[["btreeset",3],["map",3]],["btreeset",3,[["intersectionid",3]]]],null,null,null,null,null,null,[[],["text",3]],null,[[["eventctx",3],["geombatch",3],["bounds",3],["vec",3,[["pt2d",3]]],["heatmapoptions",3]],["widget",3]],null,null,null,null,null,null,null,null,[[["",0]],["tripmanagement",3]],null,[[["str",0]],["str",0]],[[["mapname",3]],["str",0]],null,null,null,null,null,null,null,null,null,null,null,null,[[["eventctx",3],["text",3],["f64",0]],["widget",3]],null,null,[[["eventctx",3],["mapname",3],["box",3,[["fnonce",8]]]],["transition",4,[["applike",8]]]],null,null,null,null,null,[[["",0],["pt2d",3],["f64",0]],["geombatch",3]],null,null,[[["",0],["eventctx",3],["",0]]],null,null,null,null,null,[[["applike",8]]],null,[[],["str",0]],null,null,null,null,null,null,null,null,null,[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],null,null,null,[[],["result",4]],[[],["result",4]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["arc",3]],["arc",3,[["any",8]]]],[[["arc",3]],["arc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],null,[[["eventctx",3],["mapname",3]],["bool",0]],[[["canvas",3],["mapname",3]]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],null,null,null,[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["eventctx",3],["",0],["mapname",3],["option",4]],["transition",4,[["applike",8]]]],[[],["btreemap",3,[["string",3],["vec",3,[["cityname",3]]]]]],[[["",0],["gfxctx",3],["",0]]],[[["",0],["gfxctx",3],["",0]]],[[["",0],["gfxctx",3],["",0]]],[[["",0]],["drawbaselayer",4]],[[["",0]],["drawbaselayer",4]],[[["",0]],["drawbaselayer",4]],[[["",0],["eventctx",3],["",0]],["transition",4]],[[["",0],["eventctx",3],["",0]],["transition",4]],[[["",0],["eventctx",3],["",0]],["transition",4]],[[]],[[]],[[]],[[]],[[]],[[]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["eventctx",3],["box",3,[["fnonce",8]]],["cityname",3]],["box",3,[["state",8]]]],[[["eventctx",3],["",0],["box",3,[["fnonce",8]]]],["box",3,[["state",8]]]],[[["eventctx",3],["box",3,[["fnonce",8]]]],["box",3,[["state",8]]]],[[["eventctx",3],["",0],["box",3,[["fnonce",8]]],["str",0]],["box",3,[["state",8]]]],null,null,null,null,null,null,[[["eventctx",3],["",0]],["transition",4,[["applike",8]]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],[[]],null,null,null,null,null,null,[[["",0],["buildingid",3],["asref",8,[["str",0]]]]],[[["",0],["buildingid",3],["color",3]]],[[["",0],["intersectionid",3],["asref",8,[["str",0]]]]],[[["",0],["intersectionid",3],["color",3]]],[[["",0],["laneid",3],["asref",8,[["str",0]]]]],[[["",0],["laneid",3],["color",3]]],[[["",0],["parkinglotid",3],["color",3]]],[[["",0],["roadid",3],["asref",8,[["str",0]]]]],[[["",0],["roadid",3],["color",3]]],[[["",0],["transitstopid",3],["asref",8,[["str",0]]]]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["eventctx",3]]],[[["eventctx",3]],["togglezoomed",3]],[[["eventctx",3],["vec",3]],["widget",3]],null,null,null,null,[[["",0],["f64",0]],["option",4,[["color",3]]]],[[["",0],["f64",0]],["color",3]],[[]],[[]],[[]],[[]],[[]],[[["gradient",3]],["colorscale",3]],[[["eventctx",3],["colorscale",3],["vec",3,[["into",8,[["string",3]]]]]],["widget",3]],null,[[["f64",0],["f64",0]],["divergingscale",3]],null,[[["",0],["f64",0]]],[[]],[[]],[[]],[[]],[[]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["arc",3]],["arc",3,[["any",8]]]],[[["arc",3]],["arc",3,[["any",8]]]],[[["arc",3]],["arc",3,[["any",8]]]],[[["arc",3]],["arc",3,[["any",8]]]],[[["arc",3]],["arc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],null,[[["eventctx",3],["vec",3,[["into",8,[["string",3]]]]]],["widget",3]],null,null,null,null,null,[[["applike",8],["vec",3]],["colordiscrete",3]],[[["color",3],["color",3],["color",3]],["divergingscale",3]],[[["applike",8]],["colornetwork",3]],[[["applike",8],["vec",3]],["colordiscrete",3]],[[["applike",8]],["colornetwork",3]],[[["",0],["counter",3,[["intersectionid",3]]],["colorscale",3]]],[[["",0],["counter",3,[["roadid",3]]],["colorscale",3]]],[[["f64",0],["f64",0]],["divergingscale",3]],[[["",0],["counter",3,[["intersectionid",3]]],["colorscale",3]]],[[["",0],["counter",3,[["roadid",3]]],["colorscale",3]]],[[["eventctx",3],["color",3]],["widget",3]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],[[]],[[]],[[]],null,[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["",0]],[[["",0]],["",0]],null,[[["",0],["gfxctx",3],["",0]]],[[["",0],["eventctx",3],["",0]],["transition",4]],[[]],[[]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["rc",3]],["rc",3,[["any",8]]]],null,null,null,[[["eventctx",3],["bool",0],["vec",3,[["string",3]]],["box",3,[["fnonce",8]]]],["box",3,[["state",8]]]],null,null,null,[[["",0]]],null,null,[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[]],null,null,null,null,null,null,null,null,[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["eventctx",3],["applike",8],["trafficcounts",3]],["togglezoomed",3]],[[["eventctx",3],["applike",8],["trafficcounts",3],["trafficcounts",3]],["togglezoomed",3]],[[["",0]],["obj",4]],[[["",0]],["layer",4]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["obj",4]],["ordering",4]],null,null,[[["",0],["gfxctx",3],["applike",8]]],[[["eventctx",3]],["comparecounts",3]],[[["",0],["obj",4]],["bool",0]],[[["",0],["layer",4]],["bool",0]],[[["",0],["",0]],["bool",0]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],[[]],[[["",0]],["u64",0]],[[["",0],["",0]],["u64",0]],[[["",0],["eventctx",3]],["widget",3]],[[["",0],["",0]]],null,null,[[]],[[]],[[]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["arc",3]],["arc",3,[["any",8]]]],[[["arc",3]],["arc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],null,[[["eventctx",3],["applike",8],["bool",0]],["world",3,[["obj",4]]]],[[["",0],["obj",4]],["bool",0]],[[["eventctx",3],["applike",8],["trafficcounts",3],["trafficcounts",3],["layer",4],["bool",0]],["comparecounts",3]],[[["",0],["eventctx",3],["applike",8],["str",0]],["option",4,[["widget",3]]]],[[["",0],["eventctx",3]],["option",4,[["roadid",3]]]],[[["",0],["obj",4]],["option",4,[["ordering",4]]]],[[["",0],["eventctx",3],["applike",8],["trafficcounts",3]]],null,[[["",0],["applike",8],["roadid",3]],["text",3]],[[["",0]]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],[[]],null,null,null,[[["eventctx",3],["applike",8],["vec",3]],["togglezoomed",3]],null,null,null,[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["heatmapoptions",3]],[[["",0],["",0]]],null,null,null,[[["map",3],["hashmap",3]],["geombatch",3]],[[["",0],["heatmapoptions",3]],["bool",0]],[[]],[[]],[[["panel",3]],["heatmapoptions",3]],null,[[["",0],["usize",0],["usize",0]],["usize",0]],[[]],[[]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["arc",3]],["arc",3,[["any",8]]]],[[["arc",3]],["arc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["eventctx",3],["geombatch",3],["bounds",3],["vec",3,[["pt2d",3]]],["heatmapoptions",3]],["widget",3]],[[["",0],["heatmapoptions",3]],["bool",0]],[[["usize",0],["usize",0]],["grid",3]],[[],["heatmapoptions",3]],[[["",0],["usize",0],["usize",0]],["vec",3]],null,null,null,[[["",0],["eventctx",3],["widget",3]],["vec",3,[["widget",3]]]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],null,[[["",0],["usize",0]]],[[["",0],["pt2d",3],["f64",0]],["geombatch",3]],[[["",0],["pt2d",3],["f64",0]],["geombatch",3]],null,[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0],["gfxctx",3],["",0]]],[[["",0],["eventctx",3],["",0]],["transition",4]],[[]],[[],["string",3]],[[],["result",6]],[[]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["eventctx",3],["box",3,[["fnonce",8]]]],["box",3,[["state",8]]]],null,null,[[["string",3]],["string",3]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[]],null,null,[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["str",0],["f64",0],["pt2d",3],["angle",3]],["bounds",3]],[[["",0],["f64",0]]],[[["",0],["gfxctx",3],["applike",8]]],null,null,[[]],[[]],null,[[]],[[]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[]],[[["box",3,[["fn",8]]]]],[[["f64",0]]],[[]],null,null,[[["",0],["gfxctx",3],["applike",8],["f64",0]],["drawable",3]],[[["string",3]],["option",4,[["string",3]]]],[[],["vec",3]],null,[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],null,null,null,null,null,[[["",0]],["any",8]],[[["",0]],["any",8]],null,[[["",0]],["",0]],[[["",0]],["",0]],null,null,[[["",0],["gfxctx",3],["",0]]],[[["",0],["gfxctx",3],["",0]]],[[["",0],["gfxctx",3],["",0]]],[[["",0],["gfxctx",3],["",0],["vec",3,[["drawable",3]]]]],[[["",0],["eventctx",3],["",0]],["option",4,[["transition",4]]]],[[]],[[["",0]],["panel",3]],[[["",0],["",0]],["bool",0]],[[["",0],["",0]],["bool",0]],[[["",0],["",0]],["bool",0]],[[]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["rc",3]],["rc",3,[["any",8]]]],null,[[["",0],["eventctx",3],["",0]],["widget",3]],[[["",0],["eventctx",3],["",0]],["widget",3]],[[["",0],["eventctx",3],["",0]],["panel",3]],[[["",0],["eventctx",3],["",0]],["panel",3]],[[["",0],["eventctx",3],["",0]],["widget",3]],[[["",0],["eventctx",3],["",0]],["widget",3]],[[["",0],["pt2d",3]]],[[["",0]],["panel",3]],[[["eventctx",3],["",0]],["minimap",3]],null,null,null,[[["",0],["eventctx",3],["",0],["panel",3]]],[[["",0],["eventctx",3],["",0],["panel",3]]],[[["",0],["eventctx",3],["",0],["str",0]],["option",4,[["transition",4]]]],[[["",0],["eventctx",3],["",0],["str",0]],["option",4,[["transition",4]]]],[[["",0],["eventctx",3],["",0]]],[[["",0],["eventctx",3],["",0]]],[[["",0],["eventctx",3],["",0],["usize",0]]],null,[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[]],null,null,null,null,null,null,[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0],["gfxctx",3],["",0]]],[[["",0],["gfxctx",3],["",0]]],[[["",0],["gfxctx",3],["",0]]],null,[[["",0],["eventctx",3],["",0]],["transition",4]],[[["",0],["eventctx",3],["",0]],["transition",4]],[[["",0],["eventctx",3],["",0]],["transition",4]],null,[[]],[[]],[[]],[[]],[[]],[[]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["eventctx",3],["",0]],["box",3,[["state",8]]]],[[["eventctx",3],["",0],["vec",3,[["roadid",3]]]],["box",3,[["state",8]]]],[[["eventctx",3],["",0]],["box",3,[["state",8]]]],null,null,null,[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],[[]],null,null,null,null,[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["obj",4]],[[["",0],["",0]]],[[["",0],["gfxctx",3]]],[[["",0],["obj",4]],["bool",0]],[[["",0],["",0]],["bool",0]],[[["",0],["eventctx",3],["applike",8]]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],[[["",0]],["u64",0]],[[["",0],["",0]],["u64",0]],[[["",0]]],[[["",0],["",0]]],[[]],[[]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["arc",3]],["arc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["",0],["obj",4]],["bool",0]],[[["vec",3,[["pt2d",3]]]]],null,[[["",0],["eventctx",3],["applike",8]]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],null,null,null,null,null,null,null,null,null,null,null,[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],null,[[["",0]],["executable",4]],[[["",0],["",0]]],null,null,[[["",0],["executable",4]],["bool",0]],[[]],[[]],[[]],[[]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["arc",3]],["arc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["eventctx",3],["",0],["executable",4],["box",3,[["fn",8]]]],["box",3,[["state",8]]]],[[["",0],["eventctx",3],["",0],["str",0],["panel",3]],["transition",4]],[[["eventctx",3],["",0],["vec",3,[["str",0]]]],["transition",4,[["applike",8]]]],[[["",0],["eventctx",3],["",0],["executable",4],["vec",3,[["str",0]]]],["transition",4]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["eventctx",3]],["widget",3]],null,null,null,null,null,null,null,[[["",0]],["option",4]],null,null,[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0],["",0]]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["namedtrip",3]],[[["",0],["",0]]],null,null,[[],["result",4]],[[],["result",4]],[[["",0],["gfxctx",3],["",0]]],[[["",0],["namedtrip",3]],["bool",0]],[[]],[[]],[[]],[[]],[[["",0],["eventctx",3]],["widget",3]],[[]],[[]],[[]],[[]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["arc",3]],["arc",3,[["any",8]]]],[[["arc",3]],["arc",3,[["any",8]]]],[[["arc",3]],["arc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["",0]],["usize",0]],[[["applike",8]],["savedtrips",3]],[[["",0]],["tripmanagement",3]],null,[[["",0],["namedtrip",3]],["bool",0]],[[["",0]],["tripmanagement",3]],[[["",0]],["string",3]],[[["eventctx",3],["namedtrip",3],["savedtrips",3]],["box",3,[["state",8]]]],[[["",0],["str",0]],["option",4,[["namedtrip",3]]]],[[["",0],["eventctx",3],["",0],["str",0]],["option",4,[["transition",4]]]],[[["",0],["eventctx",3],["",0],["str",0],["panel",3]],["transition",4]],[[["",0],["eventctx",3],["",0],["panel",3]],["option",4,[["transition",4]]]],[[["",0],["str",0]],["option",4,[["namedtrip",3]]]],[[["",0],["applike",8]]],[[["",0],["",0]]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0],["str",0]]],null,null,[[["",0],["eventctx",3],["",0]]],[[["",0]]],null,[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],[[]],[[]],null,null,null,null,[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["",0]],[[["",0]],["",0]],[[["turntype",4]],["color",3]],[[["",0],["gfxctx",3],["",0]]],[[["",0]],["drawbaselayer",4]],[[["",0],["eventctx",3],["",0]],["transition",4]],[[]],null,[[]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["rc",3]],["rc",3,[["any",8]]]],null,[[["eventctx",3],["",0],["laneid",3],["usize",0]],["panel",3]],[[["eventctx",3],["",0],["laneid",3]],["box",3,[["state",8]]]],null,[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[]],null,[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["",0]],[[["",0]],["",0]],[[["eventctx",3],["applike",8],["btreeset",3]],["widget",3]],[[["text",3],["usize",0],["usize",0]]],[[["text",3],["applike",8],["distance",3],["str",0],["str",0]]],[[["text",3],["applike",8],["duration",3],["str",0],["str",0]]],[[["applike",8],["tripmode",4]],["color",3]],[[]],[[]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["arc",3]],["arc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["eventctx",3],["option",4,[["string",3]]],["box",3,[["fnonce",8]]]],["box",3,[["state",8]]]],[[["eventctx",3],["text",3],["f64",0]],["widget",3]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[]],[[["vec",3,[["string",3]]],["sender",3,[["string",3]]],["sender",3,[["string",3]]]]],[[["eventctx",3],["mapname",3],["box",3,[["fnonce",8]]]],["transition",4,[["applike",8]]]],[[["mapname",3]],["u64",0]],null,null,null,null,[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],null,[[["",0]],["waypointid",3]],[[["",0],["",0]]],[[["",0],["waypointid",3]],["bool",0]],[[["",0],["",0]],["bool",0]],[[["",0],["applike",8],["outcome",4],["worldoutcome",4,[["waypointid",3]]]],["bool",0]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],[[]],[[["",0]],["u64",0]],[[["",0],["",0]],["u64",0]],[[["",0],["eventctx",3]],["widget",3]],[[["",0],["usize",0]],["color",3]],[[["usize",0]],["char",0]],[[["",0]],["vec",3,[["tripendpoint",4]]]],[[["",0],["",0]]],[[]],[[]],[[]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["arc",3]],["arc",3,[["any",8]]]],[[["arc",3]],["arc",3,[["any",8]]]],[[["arc",3]],["arc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],null,[[["",0]],["usize",0]],null,[[["",0],["waypointid",3]],["bool",0]],[[["applike",8]],["inputwaypoints",3]],[[["applike",8],["tripendpoint",4]],["waypoint",3]],[[["applike",8]]],[[["",0],["applike",8],["vec",3,[["tripendpoint",4]]]]],[[["",0],["eventctx",3],["world",3],["fn",8],["usize",0]]],null,[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],[[]],null],"p":[[4,"ID"],[3,"SimpleAppArgs"],[8,"AppLike"],[3,"SimpleApp"],[13,"Road"],[13,"Lane"],[13,"Intersection"],[13,"Building"],[13,"ParkingLot"],[13,"Car"],[13,"Pedestrian"],[13,"PedCrowd"],[13,"TransitStop"],[13,"Area"],[4,"ColorSchemeChoice"],[3,"ColorScheme"],[3,"MapLoader"],[3,"MapAlreadyLoaded"],[4,"CameraAngle"],[4,"TrafficSignalStyle"],[3,"OptionsPanel"],[3,"Options"],[3,"AgentCache"],[3,"DrawMap"],[3,"DrawOptions"],[3,"UnzoomedAgents"],[3,"DrawPedCrowd"],[3,"DrawPedestrian"],[8,"Renderable"],[3,"DrawIntersection"],[3,"DrawMovement"],[3,"DrawArea"],[3,"DrawBuilding"],[3,"DrawBike"],[3,"DrawCar"],[3,"DrawLane"],[3,"DrawParkingLot"],[3,"DrawRoad"],[3,"DrawTransitStop"],[3,"SimpleWarper"],[3,"ColorScale"],[3,"WaypointID"],[4,"Executable"],[3,"TripManagement"],[8,"TripManagementState"],[3,"Minimap"],[3,"DivergingScale"],[3,"CameraState"],[3,"ColorDiscrete"],[3,"HeatmapOptions"],[3,"RunCommand"],[3,"TitleScreen"],[3,"Grid"],[3,"ColorNetwork"],[3,"DrawRoadLabels"],[8,"MinimapControls"],[3,"TurnExplorer"],[3,"DefaultMap"],[3,"InputWaypoints"],[3,"CityPicker"],[3,"Navigator"],[3,"EditPolygon"],[3,"AllCityPicker"],[3,"CitiesInCountryPicker"],[3,"ColorLegend"],[4,"Layer"],[4,"Obj"],[3,"CompareCounts"],[13,"Road"],[13,"Intersection"],[3,"ImportCity"],[3,"PerZoom"],[3,"CrossStreet"],[3,"SearchBuildings"],[4,"Obj"],[13,"Point"],[3,"RenameTrip"],[3,"NamedTrip"],[3,"SavedTrips"],[3,"FilePicker"],[3,"Waypoint"]]},\ -"map_model":{"doc":"map_model describes the world where simulations occur. …","t":[12,12,12,12,12,12,12,3,13,3,4,3,3,4,13,13,13,13,13,13,13,13,3,13,13,13,4,3,3,4,13,13,13,13,13,13,13,13,13,13,13,13,13,3,13,13,4,3,13,13,13,13,13,13,3,3,13,13,13,13,3,4,13,4,4,3,4,3,13,13,13,13,13,13,13,13,13,3,3,3,4,13,13,3,13,13,3,3,4,13,13,13,13,13,13,17,17,3,3,3,13,13,3,13,3,17,3,13,13,4,13,17,13,13,3,3,3,4,3,4,4,3,3,3,4,13,13,3,3,13,13,13,13,3,13,13,13,13,3,13,13,13,13,13,13,3,3,3,3,3,17,13,13,13,13,13,4,13,3,4,13,13,13,13,13,13,13,13,13,13,3,3,3,3,4,3,13,13,3,4,4,13,3,13,13,13,13,13,3,12,12,11,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,11,12,12,12,12,12,12,11,12,12,12,12,12,12,11,0,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,0,12,12,12,11,11,12,12,12,12,12,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,0,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,12,11,12,12,12,12,12,12,12,11,12,11,12,12,12,0,0,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,11,11,12,12,11,12,11,11,11,12,12,12,12,12,11,11,11,11,11,0,12,12,11,11,12,12,12,12,12,12,12,0,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,12,0,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,2,11,11,11,12,12,12,12,12,12,11,12,12,12,12,12,12,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,12,12,12,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,0,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,11,12,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,3,17,12,11,11,12,11,12,11,11,11,11,12,11,11,11,11,11,13,13,13,3,13,13,13,4,4,3,5,5,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,5,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,5,11,11,11,0,12,12,12,12,12,12,12,12,3,3,5,12,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,12,12,13,13,13,13,13,4,3,3,4,3,3,2,13,13,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,12,12,12,12,11,11,11,11,11,11,11,11,11,11,12,0,11,11,12,12,11,11,11,12,11,11,11,11,11,5,5,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,12,12,5,11,11,11,11,11,11,12,12,0,12,12,5,5,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,3,3,3,3,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,5,5,5,5,5,5,5,5,5,5,5,5,11,11,11,11,11,11,11,11,11,11,12,12,12,12,11,11,11,11,11,12,11,12,12,12,12,12,12,12,12,12,5,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,5,11,11,11,11,11,5,13,13,13,13,13,17,4,3,4,3,13,13,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,12,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,3,11,11,0,0,11,11,11,12,11,11,11,11,12,5,0,12,2,5,11,0,0,5,11,11,0,11,11,0,5,5,5,5,5,5,5,5,17,17,5,5,5,5,5,5,5,5,0,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,3,11,11,12,12,5,5,5,11,11,11,12,12,11,11,11,11,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,12,3,3,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,12,12,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,3,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,12,12,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,3,3,4,13,13,4,13,13,13,13,12,12,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,12,12,12,11,11,11,12,12,12,11,12,11,11,11,11,11,12,5,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,3,3,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,12,12,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,13,4,3,3,13,13,17,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,12,5,11,12,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,3,3,3,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,5,11,11,11,11,11,11,11,12,11,12,11,11,11,11,12,12,12,11,11,11,12,5,11,11,11,12,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,12,3,3,12,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,12,11,11,11,11,11,11,12,11,11,11,12,11,12,11,11,12,12,12,11,11,11,11,11,11,11,11,11,11,11,12,3,13,13,3,3,3,4,12,11,12,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,11,11,11,11,11,12,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,12,11,12,12,11,11,11,11,11,11,12,12,11,11,12,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,12,11,11,11,11,11,12,3,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,12,12,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,17,3,13,3,4,13,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,3,3,3,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,12,12,12,11,11,11,11,12,12,12,11,11,11,12,11,11,11,12,12,11,11,11,11,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,13,13,13,13,13,13,13,3,3,4,4,13,13,13,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,12,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,3,3,12,12,11,11,11,11,11,11,11,11,11,11,11,11,5,11,11,11,11,11,11,11,12,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,13,17,17,17,13,17,17,13,17,17,13,3,17,17,4,17,17,17,13,3,4,17,13,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,13,13,13,2,2,4,2,2,2,2,2,2,2,13,3,13,2,11,12,12,12,12,12,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,12,0,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,0,11,11,0,5,11,11,11,11,11,11,11,11,11,11,11,11,0,12,5,0,0,2,0,11,11,0,5,13,13,13,4,13,13,13,4,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,3,3,11,11,11,11,11,11,11,5,11,11,11,11,11,12,12,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,13,13,13,3,3,4,11,11,12,11,11,11,11,11,11,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,12,12,3,3,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,5,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,12,12,11,11,11,11,5,11,11,11,11,11,11,11,11,11,12,11,11,11,13,13,13,3,3,4,13,11,11,12,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,12,11,11,12,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,12,12,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,12,5,5,5,11,11,11,11,11,12,12,12,12,13,13,13,13,4,3,11,11,11,11,11,11,11,11,12,11,11,11,5,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,12,11,11,11,11,11,11,11,11,12,11,11,12,12,12,12,4,13,13,3,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,12,11,11,11,11,11,11,11,11,11,5,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,12,5,11,11,12,12,13,13,13,3,4,11,11,11,11,11,11,11,11,12,11,11,5,11,12,5,11,11,11,11,5,11,11,11,12,11,5,12,12,12,12,13,17,17,3,4,13,11,11,5,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,5,12,12],"n":["0","0","0","0","0","0","0","AccessRestrictions","Along","Amenity","AmenityType","Area","AreaID","AreaType","Back","Bank","Banned","Bar","Beauty","Bike","Bike","Biking","Block","Border","Both","Buffer","BufferType","Building","BuildingID","BuildingType","Bus","Bus","CacheCH","CacheDijkstra","Cafe","Car","CarRepair","CarShare","ChangeCrosswalks","ChangeIntersection","ChangeRoad","ChangeRouteSchedule","Childcare","City","Closed","Commercial","CommonEndpoint","CompressedMovementID","Construction","Construction","Contraflow","ContraflowLane","ContraflowMovement","ContraflowTurn","ControlStopSign","ControlTrafficSignal","ConvenienceStore","Crosswalk","Culture","Curb","DirectedRoadID","Direction","Driving","DrivingSide","EditCmd","EditEffects","EditIntersection","EditRoad","Empty","Exercise","FastFood","Fixed","FlexPosts","Food","Fwd","GreenSpace","Hotel","Intersection","IntersectionCluster","IntersectionID","IntersectionType","Island","JerseyBarrier","Lane","Lane","Lane","LaneID","LaneSpec","LaneType","Laundry","Left","Left","Left","Library","LightRail","MAX_BIKE_SPEED","MAX_WALKING_SPEED","Map","MapConfig","MapEdits","MedianStrip","Medical","Movement","Movement","MovementID","NORMAL_LANE_THICKNESS","NamePerLanguage","NoCache","None","OffstreetParking","One","PARKING_LOT_SPOT_LENGTH","Park","Parking","ParkingLot","ParkingLotID","Path","PathConstraints","PathRequest","PathStep","PathStepV2","PathV2","Pathfinder","PathfinderCache","PathfinderCaching","Pedestrian","PedestrianPlaza","Perimeter","PermanentMapEdits","Pet","Planters","Playground","Pool","Position","PostOffice","Private","Protected","PublicGarage","RawToMapOptions","Religious","Residential","ResidentialCommercial","Right","Right","Right","Road","RoadID","RoadSideID","RoadWithStopSign","RoutingParams","SIDEWALK_THICKNESS","School","SharedLeftTurn","SharedSidewalkCorner","Shopping","Shoulder","SideOfRoad","Sidewalk","Stage","StageType","StopSign","StopSign","Straight","Stripes","StudyArea","Supermarket","Tourism","TrafficSignal","TrafficSignal","Train","TransitRoute","TransitRouteID","TransitStop","TransitStopID","Traversable","Turn","Turn","Turn","TurnID","TurnPriority","TurnType","UTurn","UberTurn","University","UnmarkedCrossing","Variable","Water","Yield","Zone","access_restrictions","access_restrictions","add_new_lane","added_turns","address","aisles","all","all_areas","all_buildings","all_costs_from","all_incoming_borders","all_intersections","all_lanes","all_outgoing_borders","all_parking_lots","all_roads","all_transit_routes","all_transit_stops","all_turns","all_zones","allow_through_traffic","alt_start","amenities","amenity_type","angle","apply_edits","area_type","areas","areas","avoid_high_stress","avoid_movements_between","avoid_roads","avoid_steep_incline_penalty","barrier_nodes","bike_graph","bike_lane_penalty","bikes_can_use_bus_lanes","biking_blackhole","blank","bldg_type","blocked_starts","borders","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","boundary","boundary_polygon","bounds","building_to_road","buildings","bus_graph","bus_lane_penalty","cache","cached_alternatives","car_graph","categorize","center_pts","changed_intersections","changed_parking_lots","changed_roads","changed_roads","changed_routes","check_lanes_ltr","city","clear_edits_before_save","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","cmp","cmp","cmp","cmp","cmp","commands","commands","complicated_turn_restrictions","config","connectivity","consolidate_all_intersections","constraints","cost","create_for_test","create_from_raw","crossed_so_far","crosswalk","crosswalk_backward","crosswalk_forward","currently_inside_ut","default_for_side","deleted_lanes","deleted_turns","describe","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","dir","dir","dir","dist_along","districts","driveway_geom","driveway_line","driving_blackhole","driving_lane_penalty","driving_pos","driving_pos","driving_side","dst","dst_i","dst_i","edit_road_cmd","edits","edits","edits_generation","edits_name","edits_name","elevation","end","end_border","eq","eq","eq","eq","eq","eq","eq","eq","eq","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","extra_spots","find_b_by_osm_id","find_dog_legs_experiment","find_driving_lane_near_building","find_i_by_osm_id","find_r_by_osm_id","find_road_between","find_tr_by_gtfs","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from","from_char","from_short_name","from_str","geom","geom","get","get_a","get_b","get_boundary_polygon","get_bounds","get_city_name","get_config","get_edits","get_edits_change_key","get_gps_bounds","get_hash","get_hash","get_hash","get_hash","get_hash","get_i","get_i_crosswalks_edit","get_i_edit","get_l","get_languages","get_movement_for_traffic_signal","get_movements_for","get_name","get_next_roads","get_next_turns_and_lanes","get_next_turns_and_lanes_for","get_parent","get_pathfinder","get_pl","get_r","get_r_edit","get_routes_serving_stop","get_stop_sign","get_t","get_tr","get_traffic_signal","get_transit_route","get_ts","get_turn_between","get_turns_for","get_turns_from_lane","get_turns_to_lane","gps_bounds","gtfs_id","gtfs_id","hack_add_area","hack_override_bldg_type","hack_override_offstreet_spots","hack_override_offstreet_spots_individ","hack_override_orig_spawn_times","hash","hash","hash","hash","hash","i","id","id","id","id","id","id","id","id","id","id","id","id","idx","idx","incoming_lanes","incremental_edit_traffic_signal","inferred_sidewalks","interior","intersection_type","intersections","into","into","into","into","into","into","into","into","into","into","into","into","is_for_moving_vehicles","is_train_stop","is_unprotected_turn","is_walkable","iter","keep_bldg_tags","keep_pathfinder_despite_edits","label_center","lane","lane_center_pts","lane_closest_to_edge","lane_type","lanes","lanes_ltr","languages","levels","load_synchronously","long_name","lt","main_road_penalty","make","map","map_loaded_directly","map_name","max_elevation","maybe_add_bike_lanes","maybe_get_a","maybe_get_b","maybe_get_i","maybe_get_l","maybe_get_pl","maybe_get_r","maybe_get_stop_sign","maybe_get_t","maybe_get_tr","maybe_get_traffic_signal","maybe_get_ts","members","members","members","merge_osm_ways","merge_zones","merge_zones","merged","minify","minify_buildings","modified_lanes","movements","must_apply_edits","must_stop","mut_lane","mut_road","mut_turn","name","name","name","name","names","ne","ne","ne","new","new_edits","objects","offset","offset","oneway_for_driving","opposite","orig_id","orig_id","orig_id","orig_req","orig_spawn_times","original_crosswalks","original_intersections","osm","osm_id","osm_id","osm_tags","osm_tags","osm_tags","osm_tags","outgoing_lanes","params","parent","parent","parking","parking_lots","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","path","pathfind","pathfind","pathfind_v2","pathfind_v2_with_params","pathfind_with_params","pathfinder","pathfinder_dirty","percent_incline","perimeter","polygon","polygon","polygon","polygon","polygon","proposal_description","proposal_description","proposal_link","proposal_link","protected_movements","raw","recalculate_all_movements","recalculate_pathfinding_after_edits","recalculate_road_to_buildings","req","restrictions","road","road","road","road","road_to_buildings","road_to_buildings","roads","roads","roads","roads","route_type","routing_params","routing_params","save","save_edits","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","short_name","short_name","should_use_transit","side","sidewalk_line","sidewalk_pos","sidewalk_pos","sidewalk_pos","simple_path_btwn","simple_path_btwn_v2","skip_ch","spawn_times","speed_limit","speed_limit","spots","src","src_i","src_i","stage_type","stages","start","start","steps","steps","stop_signs","stops","street_parking_spot_length","supports_any_movement","to","to_char","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","to_string","toggle_road_direction","total_length","traffic_signals","train_graph","transit_routes","transit_stops","transit_stops","traversable","try_apply_edits","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","turn_on_red","turn_restrictions","turn_type","turn_type","turns","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","typical_lane_widths","uber_turns","uber_turns","uber_turns","unnamed","unprotected_turn_penalty","unsaved_edits","untrimmed_center_pts","version","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","walking_graph","walking_with_transit_graph","width","width","yield_movements","zones","zorder","0","0","1","num_housing_units","num_residents","0","i","i","id","new","new","new","new","old","old","old","old","r","0","0","0","0","0","1","1","0","0","0","0","0","0","0","0","0","0","1","2","0","0","City","POLYGON_EPSILON","areas","borrow","borrow_mut","boundary","deserialize","districts","from","from_huge_map","from_individual_maps","into","name","serialize","try_from","try_into","type_id","vzip","Border","Building","DirectedRoad","Item","LeaveMap","RideTransit","SidewalkEndpoint","Spot","WalkingNode","WalkingOptions","all_vehicle_costs_from","all_walking_costs_from","allow_shoulders","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","closest","cmp","cmp","cmp","cost","deserialize","deserialize","end_transit","eq","eq","eq","equivalent","equivalent","equivalent","find_scc","fmt","fmt","from","from","from","get_hash","get_hash","hash","hash","into","into","into","ne","ne","ne","node","partial_cmp","partial_cmp","partial_cmp","serialize","serialize","to_owned","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vehicle_cost","vzip","vzip","vzip","walking","walking_speed","0","0","0","0","0","0","1","Item","WalkingOptions","all_walking_costs_from","allow_shoulders","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","cmp","common_speeds","cost","default","default_speed","eq","equivalent","from","from","into","into","ne","node","partial_cmp","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","walking_speed","0","ChangeCrosswalks","ChangeIntersection","ChangeRoad","ChangeRouteSchedule","Closed","EditCmd","EditCrosswalks","EditEffects","EditIntersection","EditRoad","MapEdits","PermanentMapEdits","StopSign","TrafficSignal","access_restrictions","added_turns","apply","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","changed_intersections","changed_lanes","changed_parking_lots","changed_roads","changed_roads","changed_routes","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","commands","compat","compress","default","deleted_lanes","deleted_turns","describe","deserialize","diff","edits_name","eq","eq","eq","eq","eq","fix_building_driveways","fix_parking_lot_driveways","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","get_checksum","get_orig_from_osm","get_title","into","into","into","into","into","into","lanes_ltr","load_from_bytes","load_from_file","merge_zones","modified_lanes","modify_lanes","ne","ne","ne","ne","ne","new","original_crosswalks","original_intersections","perma","proposal_description","proposal_link","recalculate_intersection_polygon","recalculate_turns","save","serialize","speed_limit","to_owned","to_owned","to_owned","to_owned","to_owned","to_perma","to_permanent","to_permanent","to_permanent","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","undo","update_derived","vzip","vzip","vzip","vzip","vzip","vzip","i","i","id","new","new","new","new","old","old","old","old","r","0","0","ChangeAccessRestrictions","ChangeLaneType","ChangeSpeedLimit","OriginalLane","ReverseLane","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","deserialize","deserialize","deserialize","deserialize","deserialize","dir","dst_i","fix_adaptive_stages","fix_city_name","fix_f64s","fix_intersection_ids","fix_lane_widths","fix_map_name","fix_merge_zones","fix_offset","fix_old_lane_cmds","fix_phase_to_stage","fix_plans","fix_road_direction","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","id","id","id","idx","into","into","into","into","into","l","lookup","lt","new","new","num_back","num_fwd","old","old","orig_lt","parent","remove_vehicle_caps","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","upgrade","vzip","vzip","vzip","vzip","vzip","walk","ChangeCrosswalks","ChangeIntersection","ChangeRoad","ChangeRouteSchedule","Closed","IGNORE_OLD_LANES","PermanentEditCmd","PermanentEditCrosswalks","PermanentEditIntersection","PermanentMapEdits","StopSign","TrafficSignal","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","commands","deserialize","deserialize","deserialize","deserialize","edits_name","from","from","from","from","get_title","into","into","into","into","into_cmd","into_edits","into_edits_permissive","map_name","merge_zones","proposal_description","proposal_link","serialize","serialize","serialize","serialize","to_owned","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","turns","type_id","type_id","type_id","type_id","version","vzip","vzip","vzip","vzip","with_permanent","with_permanent","gtfs_id","i","i","new","new","new","new","old","old","old","old","r","0","must_stop","RawToMapOptions","borrow","borrow_mut","bridges","buildings","clap","clone","clone_into","consolidate_all_intersections","default","from","from_clap","into","keep_bldg_tags","match_points_to_lanes","parking_lots","skip_ch","snap_driveway","snap_nodes_to_line","to_owned","traffic_signals","transit","trim_path","try_from","try_into","turns","type_id","vzip","walking_turns","find_bridges","classify_bldg","get_address","make_all_buildings","infer_spots","line_valid","make_all_parking_lots","snap_driveway","PROTECTED","YIELD","all_walk_all_yield","degenerate","expand_all_stages","four_way_four_stage","four_way_two_stage","get_possible_policies","greedy_assignment","half_signal","lagging_green","make_stages","new","stage_per_road","synchronize","three_way","add_stage","four_way_four_stage","is_conflict","make_crosswalk_variable","make_lagging_green_variable","make_signal","make_traffic_signal","merge_stages","movements","movements_from","multi_way_stages","optimize","protected_yield_stage","remove_movement","straight_types","three_way_three_stage","BorderSnapper","borrow","borrow_mut","bus_incoming_borders","bus_outgoing_borders","create_route","create_stop","finalize_transit","from","into","new","train_incoming_borders","train_outgoing_borders","try_from","try_into","type_id","vzip","curvey_turn","ensure_unique","expected_turn_types_for_four_way","make_all_turns","make_vehicle_turns","remove_merging_turns","turn_type_from_angles","verify_vehicle_connectivity","baseline_geometry","filter_turns","make_crosswalk","make_shared_sidewalk_corner","make_walking_turns","turn_id","area","block","building","intersection","lane","movement","parking_lot","road","stop_signs","traffic_signals","transit","turn","zone","0","Area","AreaID","area_type","borrow","borrow","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","cmp","deserialize","deserialize","eq","equivalent","fmt","fmt","fmt","from","from","get_hash","hash","id","into","into","ne","osm_id","osm_tags","partial_cmp","polygon","serialize","serialize","to_owned","to_owned","to_string","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","Block","Perimeter","borrow","borrow","borrow_mut","borrow_mut","calculate_coloring","check_continuity","clone","clone","clone_into","clone_into","collapse_deadends","contains","deserialize","deserialize","find_all_single_blocks","find_roads_to_skip_tracing","flip_side_of_road","fmt","from","from","interior","into","into","merge_all","partition_by_predicate","perimeter","polygon","restore_invariant","reverse_to_fix_winding_order","roads","serialize","serialize","single_block","to_block","to_owned","to_owned","try_from","try_from","try_into","try_into","try_to_merge","type_id","type_id","undo_invariant","vzip","vzip","0","Building","BuildingID","BuildingType","Commercial","Empty","OffstreetParking","Private","PublicGarage","Residential","ResidentialCommercial","address","amenities","biking_connection","bldg_type","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","cmp","deserialize","deserialize","deserialize","deserialize","driveway_geom","driving_connection","eq","eq","equivalent","fmt","fmt","fmt","fmt","fmt","from","from","from","from","get_hash","has_amenity","has_residents","hash","house_number","id","into","into","into","into","label_center","levels","name","ne","ne","num_parking_spots","orig_id","osm_tags","parking","partial_cmp","polygon","serialize","serialize","serialize","serialize","sidewalk","sidewalk_pos","sidewalk_to_bike","to_owned","to_owned","to_owned","to_owned","to_string","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","0","0","1","num_housing_units","num_residents","0","0","1","1","0","Intersection","IntersectionID","borrow","borrow","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","cmp","deserialize","deserialize","elevation","eq","equivalent","find_road_between","fmt","fmt","fmt","from","from","get_hash","get_incoming_lanes","get_outgoing_lanes","get_rank","get_road_sides_sorted_by_incoming_angle","get_roads_sorted_by_incoming_angle","get_sorted_incoming_roads","get_zorder","hash","id","incoming_lanes","intersection_type","into","into","is_border","is_closed","is_cycleway","is_deadend_for_driving","is_deadend_for_everyone","is_degenerate","is_footway","is_incoming_border","is_light_rail","is_outgoing_border","is_private","is_stop_sign","is_traffic_signal","merged","movements","name","ne","orig_id","outgoing_lanes","partial_cmp","polygon","roads","serialize","serialize","some_incoming_road","some_outgoing_road","to_owned","to_owned","to_string","try_from","try_from","try_into","try_into","turn_to_movement","turns","type_id","type_id","vzip","vzip","Both","CommonEndpoint","Lane","LaneID","None","One","PARKING_LOT_SPOT_LENGTH","biking_blackhole","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","cmp","common_endpoint","decode_u32","deserialize","deserialize","dir","dist_along_of_point","driving_blackhole","dst_i","dummy","encode_u32","end_line","endpoint","eq","eq","equivalent","first_line","first_pt","fmt","fmt","fmt","from","from","from","get_directed_parent","get_hash","get_lane_level_turn_restrictions","get_nearest_side_of_road","get_thick_polygon","hash","id","intersections","into","into","into","is_biking","is_bus","is_driving","is_light_rail","is_parking","is_shoulder","is_sidewalk","is_walkable","lane_center_pts","lane_type","last_line","last_pt","length","ne","ne","new","number_parking_spots","offset","parse_turn_type_from_osm","partial_cmp","road","serialize","serialize","src_i","to_owned","to_owned","to_string","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","width","0","CompressedMovementID","Movement","MovementID","angle","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone_into","clone_into","clone_into","cmp","cmp","conflicts_with","crosswalk","deserialize","deserialize","deserialize","eq","eq","eq","equivalent","equivalent","find_r","fmt","fmt","fmt","for_i","from","from","from","from","from_permanent","geom","get_hash","get_hash","hash","hash","i","id","idx","into","into","into","members","movement_geom","ne","ne","ne","parent","partial_cmp","partial_cmp","serialize","serialize","serialize","src_center_and_width","to","to_owned","to_owned","to_owned","to_permanent","try_from","try_from","try_from","try_into","try_into","try_into","turn_type","type_id","type_id","type_id","vzip","vzip","vzip","0","ParkingLot","ParkingLotID","aisles","borrow","borrow","borrow_mut","borrow_mut","capacity","clone","clone","clone_into","clone_into","cmp","deserialize","deserialize","driveway_line","driving_pos","eq","equivalent","extra_spots","fmt","fmt","from","from","get_hash","hash","id","into","into","ne","osm_id","partial_cmp","polygon","serialize","serialize","sidewalk_line","sidewalk_pos","spots","to_owned","to_owned","to_string","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","0","DirectedRoadID","Left","Right","Road","RoadID","RoadSideID","SideOfRoad","access_restrictions","access_restrictions_from_osm","barrier_nodes","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","both_directions","both_sides","center_pts","children","children_backwards","children_forwards","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","cmp","cmp","cmp","cmp","common_endpoint","complicated_turn_restrictions","crosswalk_backward","crosswalk_forward","deserialize","deserialize","deserialize","deserialize","deserialize","dir","dir_and_offset","directed_id_from","directed_id_to","dst_i","dst_i","eq","eq","eq","eq","equivalent","equivalent","equivalent","equivalent","find_closest_lane","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","get_detailed_rank","get_dir_change_pl","get_half_polygon","get_half_width","get_hash","get_hash","get_hash","get_hash","get_lanes_between","get_name","get_outermost_lane","get_rank","get_thick_polygon","get_width","get_zone","has_lanes","hash","hash","hash","hash","high_stress_for_bikes","id","incoming_lanes","into","into","into","into","into","is_cycleway","is_deadend_for_driving","is_driveable","is_extremely_short","is_footway","is_light_rail","is_private","is_service","lane_specs","lanes","lanes","length","must_get_sidewalk","ne","ne","ne","oneway_for_driving","orig_id","osm_tags","other_endpt","other_side","parking_to_driving","partial_cmp","partial_cmp","partial_cmp","partial_cmp","percent_incline","recreate_lanes","road","road","serialize","serialize","serialize","serialize","serialize","shift_from_left_side","side","speed_limit","speed_limit_from_osm","src_i","src_i","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","to_string","transit_stops","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","turn_restrictions","type_id","type_id","type_id","type_id","type_id","untrimmed_center_pts","vzip","vzip","vzip","vzip","vzip","zorder","ControlStopSign","RoadWithStopSign","borrow","borrow","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","deserialize","deserialize","eq","eq","flip_sign","fmt","fmt","from","from","get_priority","id","into","into","lane_closest_to_edge","must_stop","ne","ne","new","roads","serialize","serialize","to_owned","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","CROSSWALK_PACE","ControlTrafficSignal","Fixed","Stage","StageType","Variable","adjust_major_minor_timing","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone_into","clone_into","clone_into","convert_to_ped_scramble","convert_to_ped_scramble_without_promotion","could_be_protected","deserialize","deserialize","deserialize","edit_movement","enforce_minimum_crosswalk_time","eq","eq","eq","export","fmt","fmt","fmt","from","from","from","get_min_crossing_time","get_possible_policies","get_priority_of_movement","get_priority_of_turn","id","import","internal_convert_to_ped_scramble","into","into","into","max_crosswalk_time","missing_turns","ne","ne","ne","new","new","offset","protected_movements","serialize","serialize","serialize","simple_cycle_duration","simple_duration","stage_type","stages","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","validate","validating_new","vzip","vzip","vzip","yield_movements","0","0","1","2","0","TransitRoute","TransitRouteID","TransitStop","TransitStopID","all_path_requests","all_paths","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","cmp","cmp","deserialize","deserialize","deserialize","deserialize","driving_pos","end_border","eq","eq","eq","equivalent","equivalent","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","get_hash","get_hash","gtfs_id","gtfs_id","hash","hash","id","id","idx","into","into","into","into","is_train_stop","long_name","name","ne","ne","ne","orig_spawn_times","partial_cmp","partial_cmp","plural_noun","road","route_type","serialize","serialize","serialize","serialize","short_name","sidewalk_pos","spawn_times","start","stops","to_owned","to_owned","to_owned","to_owned","to_string","to_string","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","Banned","Crosswalk","Left","Protected","Right","SharedSidewalkCorner","Straight","Turn","TurnID","TurnPriority","TurnType","UTurn","UnmarkedCrossing","Yield","angle","between_sidewalks","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","cmp","cmp","conflicts_with","crosswalk_line","crosswalk_over_road","deserialize","deserialize","deserialize","deserialize","dst","eq","eq","eq","eq","equivalent","equivalent","fmt","fmt","fmt","fmt","fmt","from","from","from","from","geom","get_hash","hash","id","into","into","into","into","is_crossing_arterial_intersection","ne","ne","parent","partial_cmp","partial_cmp","partial_cmp","pedestrian_crossing","penalty","permitted_by_lane","permitted_by_road","serialize","serialize","serialize","serialize","src","to_movement","to_owned","to_owned","to_owned","to_owned","to_string","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","turn_type","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","AccessRestrictions","Zone","allow_through_traffic","borders","borrow","borrow","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","deserialize","deserialize","eq","eq","floodfill","fmt","fmt","from","from","into","into","make_all","members","ne","ne","new","restrictions","serialize","serialize","to_owned","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","0","0","0","Arterial","ENDPT_BACK","ENDPT_FWD","HIGHWAY","Highway","INFERRED_PARKING","INFERRED_SIDEWALKS","Local","MAXSPEED","NAME","Node","NodeID","OSM_REL_ID","OSM_WAY_ID","OsmID","PARKING_BOTH","PARKING_LEFT","PARKING_RIGHT","Relation","RelationID","RoadRank","SIDEWALK","Way","WayID","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","cmp","cmp","cmp","cmp","cmp","deserialize","deserialize","deserialize","deserialize","detailed_from_highway","eq","eq","eq","eq","eq","equivalent","equivalent","equivalent","equivalent","equivalent","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from_highway","get_hash","get_hash","get_hash","get_hash","hash","hash","hash","hash","inner","into","into","into","into","into","ne","ne","ne","ne","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","serialize","serialize","serialize","serialize","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","to_string","to_string","to_string","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","0","0","0","Bike","Bus","Car","CreateEngine","Path","PathConstraints","PathRequest","PathStep","PathStepV2","PathV2","Pathfinder","PathfinderCache","PathfinderCaching","Pedestrian","RoutingParams","Train","WalkingNode","all","avoid_high_stress","avoid_movements_between","avoid_roads","avoid_steep_incline_penalty","bike_lane_penalty","bitand","bitor","bitxor","borrow","borrow","borrow_mut","borrow_mut","bus_lane_penalty","can_use","can_use_road","clone","clone","clone_into","clone_into","cmp","default","deserialize","deserialize","deserialize","driving_lane_penalty","engine","enum_from_u32","enum_into_u32","eq","eq","eq","equivalent","filter_lanes","fmt","fmt","from","from","from_lt","into","into","main_road_penalty","ne","node_map","not","partial_cmp","pathfinder","round","serialize","serialize","serialize","sub","to_owned","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","uber_turns","unprotected_turn_penalty","unround","v1","v2","vehicle_cost","vehicles","vzip","vzip","walking","zone_cost","CH","CH","CHSeedingNodeOrdering","CreateEngine","Dijkstra","Dijkstra","Empty","PathfindEngine","all_costs_from","borrow","borrow","borrow_mut","borrow_mut","calculate_path","calculate_path_multiple_sources_and_targets","clone","clone_into","create","deserialize","from","from","into","into","is_dijkstra","reuse_ordering","serialize","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","0","graph","graph","path_calc","InnerNodeMap","NodeMap","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","deserialize","deserialize_nodemap","from","from","get","get_or_insert","guarantee_node_ordering","id_to_node","id_to_node","into","into","new","node_to_id","serialize","to_owned","translate_id","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","CacheCH","CacheDijkstra","NoCache","Pathfinder","PathfinderCache","PathfinderCaching","all_costs_from","apply_edits","bike_graph","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","bus_graph","cache","cached_alternatives","car_graph","clone","clone","clone_into","clone_into","deserialize","empty","eq","finalize_transit","from","from","from","into","into","into","new","new","new_ch","new_dijkstra","new_limited","params","pathfind","pathfind_v2","pathfind_with_params","pathfind_with_params","serialize","should_use_transit","to_owned","to_owned","train_graph","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","walking_graph","walking_with_transit_graph","IntersectionCluster","UberTurn","UberTurnV2","autodetect","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","cmp","deserialize","deserialize","entry","entry","eq","eq","equivalent","exit","exit","find_all","flood","fmt","fmt","from","from","from","geom","into","into","into","into_v2","members","ne","ne","new","partial_cmp","path","path","serialize","serialize","to_owned","to_owned","trace_back","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","uber_turns","vzip","vzip","vzip","ContraflowLane","ContraflowTurn","Lane","Path","PathRequest","PathStep","Turn","about_to_start_ut","add","alt_start","as_lane","as_traversable","as_turn","between_buildings","between_directed_roads","blocked_starts","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone_into","clone_into","clone_into","cmp","constraints","crossed_so_far","crossed_so_far","current_step","currently_inside_ut","currently_inside_ut","deduplicate","deserialize","deserialize","deserialize","dist_crossed_from_step","end","eq","eq","eq","equivalent","equivalent","estimate_duration","exact_slice","fmt","fmt","fmt","fmt","from","from","from","get_blocked_starts","get_hash","get_req","get_step_at_dist_along","get_steps","get_total_elevation_change","hash","into","into","into","is_empty","is_last_step","is_upcoming_uber_turn_component","isnt_last_step","last_step","leave_from_driveway","max_speed_along","max_speed_and_incline_along","maybe_next_step","modify_step","ne","ne","ne","new","next_step","orig_req","partial_cmp","percent_dist_crossed","serialize","serialize","serialize","shift","start","steps","to_owned","to_owned","to_owned","to_string","total_length","total_length","trace","trace_from_start","trace_v2","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","uber_turns","validate_continuity","validate_restrictions","validate_zones","vehicle","vzip","vzip","vzip","walking","0","0","0","0","Along","Contraflow","ContraflowMovement","Movement","PathStepV2","PathV2","borrow","borrow","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","cost","crosses_road","deserialize","deserialize","find_uber_turns","fmt","fmt","from","from","from_roads","get_cost","get_req","get_steps","into","into","into_v1","into_v1_walking","new","req","serialize","serialize","steps","to_owned","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","uber_turns","vzip","vzip","0","0","0","0","Node","Road","UberTurn","VehiclePathfinder","all_costs_from","apply_edits","borrow","borrow","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","cmp","constraints","deserialize","deserialize","empty","engine","eq","equivalent","fmt","from","from","get_hash","hash","into","into","make_input_graph","ne","new","nodes","params","partial_cmp","pathfind","serialize","serialize","to_owned","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","uber_turns","vehicle_cost","vzip","vzip","0","0","LeaveMap","RideTransit","SidewalkEndpoint","SidewalkPathfinder","WalkingNode","all_costs_from","apply_edits","borrow","borrow_mut","clone","clone_into","deserialize","empty","engine","from","into","make_input_graph","new","nodes","one_step_walking_path","pathfind","serialize","should_use_transit","to_owned","transit_input_graph","try_from","try_into","type_id","use_transit","vzip","walking_path_to_steps","0","0","0","1","Lane","MAX_BIKE_SPEED","MAX_WALKING_SPEED","Position","Traversable","Turn","as_lane","as_turn","bike_speed_on_incline","borrow","borrow","borrow_mut","borrow_mut","buffer_dist","clone","clone","clone_into","clone_into","cmp","cmp","deserialize","deserialize","dist_along","dist_along","end","eq","eq","equiv_pos","equiv_pos_for_long_object","equivalent","equivalent","fmt","fmt","fmt","fmt","from","from","get_hash","get_polyline","get_zorder","hash","into","into","lane","lane","max_speed_along_movement","max_speed_along_road","maybe_lane","maybe_turn","min_dist","ne","ne","new","partial_cmp","partial_cmp","pt","pt_and_angle","serialize","serialize","start","to_owned","to_owned","to_string","to_string","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","walking_speed_on_incline","0","0"],"q":["map_model","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","map_model::BuildingType","","","","","map_model::CommonEndpoint","map_model::EditCmd","","","","","","","","","","","","map_model::EditIntersection","","map_model::LaneType","map_model::OffstreetParking","","","","map_model::PathStep","","","","map_model::PathStepV2","","","","map_model::StageType","","","","map_model::Traversable","","map_model::city","","","","","","","","","","","","","","","","","","map_model::connectivity","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","map_model::connectivity::Spot","","","map_model::connectivity::WalkingNode","","","","map_model::connectivity::walking","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","map_model::edits","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","map_model::edits::EditCmd","","","","","","","","","","","","map_model::edits::EditIntersection","","map_model::edits::compat","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","map_model::edits::perma","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","map_model::edits::perma::PermanentEditCmd","","","","","","","","","","","","map_model::edits::perma::PermanentEditIntersection","","map_model::make","","","","","","","","","","","","","","","","","","","","","","","","","","","","","map_model::make::bridges","map_model::make::buildings","","","map_model::make::parking_lots","","","","map_model::make::traffic_signals","","","","","","","","","","","","","","","","map_model::make::traffic_signals::lagging_green","","","","","","","","","","","","","","","","map_model::make::transit","","","","","","","","","","","","","","","","","map_model::make::turns","","","","","","","","map_model::make::walking_turns","","","","","","map_model::objects","","","","","","","","","","","","","map_model::objects::area","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","map_model::objects::block","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","map_model::objects::building","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","map_model::objects::building::BuildingType","","","","","map_model::objects::building::OffstreetParking","","","","map_model::objects::intersection","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","map_model::objects::lane","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","map_model::objects::lane::CommonEndpoint","map_model::objects::movement","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","map_model::objects::parking_lot","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","map_model::objects::road","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","map_model::objects::stop_signs","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","map_model::objects::traffic_signals","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","map_model::objects::traffic_signals::StageType","","","","map_model::objects::transit","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","map_model::objects::turn","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","map_model::objects::zone","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","map_model::osm","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","map_model::osm::OsmID","","","map_model::pathfind","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","map_model::pathfind::engine","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","map_model::pathfind::engine::CreateEngine","map_model::pathfind::engine::PathfindEngine","","","map_model::pathfind::node_map","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","map_model::pathfind::pathfinder","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","map_model::pathfind::uber_turns","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","map_model::pathfind::v1","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","map_model::pathfind::v1::PathStep","","","","map_model::pathfind::v2","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","map_model::pathfind::v2::PathStepV2","","","","map_model::pathfind::vehicles","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","map_model::pathfind::vehicles::Node","","map_model::pathfind::walking","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","map_model::pathfind::walking::WalkingNode","","","","map_model::traversable","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","map_model::traversable::Traversable",""],"d":["","","","","","","","","Original direction","A business located inside a building.","Businesses are categorized into one of these types.","Areas are just used for drawing.","","","","","For stop signs: Can’t currently specify this! For …","","","","","","A block is defined by a perimeter that traces along the …","","Two lanes/roads share both endpoints, because they both …","","","A building has connections to the road and sidewalk, may …","","","","","Create a slow-to-build but fast-to-use contraction …","Create a fast-to-build but slow-to-use Dijkstra-based …","","","","","","","","","","A single city (like Seattle) can be broken down into …","","An estimated number of workers","","This is cheaper to store than a MovementID. It simply …","","","Opposite direction, sidewalks only","Sidewalks only!","","","","A traffic signal consists of a sequence of Stages that …","","A marked zebra crossing, where pedestrians usually have …","","A raised curb","","","","","","","","","","","","","Flex posts, wands, cones, other “weak” forms of …","","","","","An intersection connects roads. Most have >2 roads and are …","This only applies to VehiclePathfinder; walking through …","","","","Solid barrier, no gaps.","A road segment is broken down into individual lanes, which …","Original direction","","A lane is identified by its parent road and its position, …","","","","","","","","","","","","","Represents changes to a map. Note this isn’t …","","","A Movement groups all turns from one road to another, …","","A movement is like a turn, but with less detail – it …","","None corresponds to the native name","Create a fast-to-build but slow-to-use Dijkstra-based …","Two lanes/roads don’t have any common endpoints","Represent no parking as Private(0, false).","Two lanes/roads share one endpoint","From some manually audited cases in Seattle, the length of …","","","Parking lots have some fixed capacity for cars, and are …","","","Who’s asking for a path?","","","One step along a path.","A path between two endpoints for a particular mode. This …","","For callers needing to request paths with a variety of …","When pathfinding with different RoutingParams is done, a …","","","A sequence of roads in order, beginning and ending at the …","MapEdits are converted to this before serializing. …","","Sturdier planters, with gaps.","","","Represents a specific point some distance along a lane.","","(Spots, explicitly tagged as a garage)","For stop signs: cars can do this without stopping. These …","(Name, spots)","Options for converting RawMaps to Maps.","","","An estimated number of residents, workers","","","","A Road represents a segment between exactly two …","","","","Tuneable parameters for all types of routing.","","","","The corner where two sidewalks meet. Pedestrians can cross …","","","See https://wiki.openstreetmap.org/wiki/Forward_…","","","","","","","Just paint!","Not from OSM. A user-specified area to focus on.","","","","","","","","","","Either a lane or a turn, where most movement happens.","A Turn leads from the end of one Lane to the start of …","","","Turns are uniquely identified by their (src, dst) lanes …","","","","","","An unmarked crossing, where pedestrians may cross without …","Minimum is the minimum duration, 0 allows cycle to be …","","For stop signs: cars have to stop before doing this turn, …","A contiguous set of roads with access restrictions. This …","","","Returns the index where the new lane was inserted","","","","All types of amenities, in alphabetical order.","","","Return the cost of a single path, and also a mapping from …","This and all_outgoing_borders are expensive to constantly …","","","","","","","","","","","","","This is the specific amenity listed in OSM, not the more …","","","","","","","Don’t allow movements between these roads at all. Only …","Don’t allow crossing these roads at all. Only affects …","","Some kind of modal filter or barrier this distance along …","","","","","Just for temporary std::mem::replace tricks.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Categorize an OSM amenity tag.","The physical center of the road, including sidewalks, …","","","","Derived from commands, kept up to date by update_derived","","This is meant for table-driven unit tests. Call this on …","","A hack. Use this to apply edits, then save the map anyway, …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","A stack, oldest edit is first. The same intersection may …","self is ‘from’. (via, to). Only BanTurns.","","","Try to consolidate all short roads. Will likely break.","","","Transforms a string describing lane types and directions, …","","","Could be a Crosswalk or UnmarkedCrossing","","Is there a tagged crosswalk near each end of the road?","","","","","","","","","","","","","","","","","","","","","The individual maps","Goes from building to sidewalk","Goes from the lot to the driving lane","{Cars, bikes} trying to start or end here might not be …","","Guaranteed to be at least 7m (MAX_CAR_LENGTH + a little …","These may be on different roads entirely, like for light …","If true, driving happens on the right side of the road …","","","","","Once a Map exists, the player can edit it in the UI …","","","","","","","A transit vehicle either vanishes at its last stop or …","","","","","","","","","","","","","","","","","If we can’t render all spots (maybe a lot with no aisles …","","Enable experimental dog-leg intersection merging","Cars trying to park near this building should head for the …","","","Finds the road directly connecting two intersections.","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","The inverse of to_char. Always picks one buffer type. …","","","The “overall” path of movement, aka, an “average” …","","","","","","","","","","If you need to regenerate anything when the map is edited, …","","","","","","","","","Panics on borders","","","None for SharedSidewalkCorners and turns not belonging to …","Find all movements from one road to another that’re …","","","","","","","","","","","","","","","","","","","The turns may belong to two different intersections!","","","","","","","","","","","","","","","","","","","","","","","","","","","","","As long as this is unique per road, this value is …","Note that a lane may belong to both incoming_lanes and …","Since the player is in the middle of editing, the signal …","If true, roads without explicitly tagged sidewalks may …","These roads exist entirely within the perimeter","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","If false, only buses serve this stop","Does a turn at a stop sign go from a smaller to a larger …","","","Preserve all OSM tags for buildings, increasing the final …","Normally after applying edits, you must call …","Where a text label should be centered to have the best …","","","","","Invariant: A road must contain at least one child. These …","","","","Load a map from a local serialized Map or RawMap. Note …","","","When crossing an arterial or highway road, multiply the …","See …","A bunch of (mostly read-only) queries on a Map.","After deserializing a map directly, call this after.","","Returns the highest elevation in the map","","","","","","","","","","","","","","","","Experimentally merge these OSM ways","If false, adjacent roads with the same AccessRestrictions …","If false, adjacent roads with the same AccessRestrictions …","Was a short road adjacent to this intersection merged?","Modifies the map in-place, removing parts not essential …","Modifies the map in-place, removing buildings.","","","Returns (changed_roads, deleted_lanes, deleted_turns, …","","","Public for importer. Do not abuse!","","","","","","","","","","","","","","","None if bidirectional. If it’s one-way, which direction …","","","","","","Explicitly store whatever the original was, since this can…","","","Useful utilities for working with OpenStreetMap.","The importing process also automatically creates some …","","Depending on options while importing, these might be …","","Depending on options while importing, these might be …","","","","","","","","","","","","","","Everything related to pathfinding through a map for …","","","","","","","[-1.0, 1.0] theoretically, but in practice, about [-0.25, …","","","The polygon covers the interior of the block.","","This needs to be in clockwise orientation, or later …","","Edits without these are player generated.","Some edits are included in the game by default, in …","The link is optional even for proposals","","","","","This can expensive, so don’t constantly do it while …","","","","","","","","","","","","Only roads incoming to the intersection are listed here.","","","Returns the routing params baked into the map.","","","","","","","","","","","","","","","","","","","Lot to sidewalk","The building’s connection for any agent can change based …","","","Simple search along undirected roads. Expresses the result …","Simple search along directed roads, weighted by distance. …","Should contraction hierarchies for pathfinding be built? …","Non-empty, times in order for one day when a vehicle …","","","The middle of the “T”, pointing towards the parking …","src and dst must both belong to parent. No guarantees that …","","","","","A transit vehicle spawns at the beginning of this lane. …","","","","","","Street parking is divided into spots of this length. 8 …","","","Represents the lane type as a single character, for use in …","","","","","","","","","","","","","","","Convert the driving lanes of a road between one-way …","","","","","Meaningless order","","","","","","","","","","","","","","","","","","","","","","","","","","","","If true, turns on red which do not conflict crossing …","self is ‘from’","","","","","","","","","","","","","","","","For a given lane type, returns some likely widths. This …","","","","","","","Like center_pts, but before any trimming for intersection …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","A single city (like Seattle) can be broken down into …","","","","","","","The individual maps","Returns the argument unchanged.","If there’s a single map covering all the smaller maps, …","Generate a city from a bunch of smaller, individual maps. …","Calls U::from(self).","","","","","","","","","","","","","false is src_i, true is dst_i","","","","Starting from some initial spot, calculate the cost to all …","Starting from some initial buildings, calculate the cost …","If true, allow walking on shoulders.","","","","","","","","","","","","","","","","","","","","","","","","","Calculate the strongly connected components (SCC) of the …","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","This returns the pathfinding cost of crossing one road and …","","","","","","","","","","","","","","","Starting from some initial buildings, calculate the cost …","If true, allow walking on shoulders.","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","This must contain all crossing turns at one intersection, …","","","","Represents changes to a map. Note this isn’t …","","","","","","","","","","","","","","","","","","","","Pick apart changed_roads and figure out if an entire road …","","","Derived from commands, kept up to date by update_derived","","","","","","","","","","","","A stack, oldest edit is first. The same intersection may …","","Assumes update_derived has been called.","","","","(summary, details)","","","","","","","","","Recalculate the driveways of some buildings after map …","Recalculate the driveways of some parking lots after map …","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Produces an md5sum of the contents of the edits.","","Get the human-friendly of these edits. If they have a …","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","Load map edits from the given JSON bytes. Strip out any …","Load map edits from a JSON file. Strip out any commands …","If false, adjacent roads with the same AccessRestrictions …","","","","","","","","","","","","Some edits are included in the game by default, in …","","","","","","","","","","","","","Encode the edits in a permanent format, referring to …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","When the PermanentMapEdits format changes, add a …","","","","","","","","","","","","","","","","MapEdits are converted to this before serializing. …","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Get the human-friendly of these edits. If they have a …","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","Transform permanent edits to MapEdits, looking up the map …","Transform permanent edits to MapEdits, looking up the map …","","If false, adjacent roads with the same AccessRestrictions …","Edits without these are player generated.","The link is optional even for proposals","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Options for converting RawMaps to Maps.","","","","","","","","Try to consolidate all short roads. Will likely break.","","Returns the argument unchanged.","","Calls U::from(self).","Preserve all OSM tags for buildings, increasing the final …","Snap points to an exact Position along the nearest lane. …","","Should contraction hierarchies for pathfinding be built? …","","","","The various traffic signal generators live in the traffic …","","Adjust the path to start on the polygon’s border, not …","","","","","","","Look for roads underneath bridges, then lower their …","","","Finalize importing of buildings, mostly by matching them …","","","Take in parking lots from OSM and all parking aisle roads. …","Returns (driveway_line, driving_pos, sidewalk_line, …","","","","","","","","Applies a bunch of heuristics to a single intersection, …","","","","","","","Simple second-pass after generating all signals. Find …","","","","","","","","Create a traffic signal which has a stage that is: …","","","","Build stages. First find roads that are straight across, …","","","","","","","","","","","","","","Returns the argument unchanged.","Calls U::from(self).","","","","","","","","","","","Generate all driving and walking turns at an intersection, …","","","","Ideally, we want every incoming lane to lead to at least …","","Filter out crosswalks on really short roads. In reality, …","","","Looks at all sidewalks (or lack thereof) in …","","","","","","","","","","","","Public transit stops and routes.","","Zones and AccessRestrictions are used to model things like:","","Areas are just used for drawing.","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","","Calls U::from(self).","Calls U::from(self).","","The importing process also automatically creates some …","","","","","","","","","","","","","","","","","A block is defined by a perimeter that traces along the …","A sequence of roads in order, beginning and ending at the …","","","","","Assign each perimeter one of num_colors, such that no two …","","","","","","If the perimeter follows any dead-end roads, “collapse”…","Does this perimeter completely enclose the other?","","","This calculates all single block perimeters for the entire …","Blockfinding is specialized for the LTN tool, so …","Shrinks or expands the perimeter by tracing the opposite …","","Returns the argument unchanged.","Returns the argument unchanged.","These roads exist entirely within the perimeter","Calls U::from(self).","Calls U::from(self).","Try to merge all given perimeters. If successful, only one …","Consider the perimeters as a graph, with adjacency …","","The polygon covers the interior of the block.","Restore the first=last invariant. Methods may temporarily …","Should we reverse one perimeter to match the winding order?","","","","Starting at any lane, snap to the nearest side of that …","","","","","","","","Try to merge two blocks. Returns true if this is …","","","A perimeter has the first and last road matching up, but …","","","","A building has connections to the road and sidewalk, may …","","","An estimated number of workers","","Represent no parking as Private(0, false).","(Spots, explicitly tagged as a garage)","(Name, spots)","","An estimated number of residents, workers","","","Returns (biking position, sidewalk position). Could fail …","","","","","","","","","","","","","","","","","","","","","","","Goes from building to sidewalk","The polyline goes from the building to the driving position","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","Does this building contain any amenity matching the …","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Where a text label should be centered to have the best …","","","","","","","Depending on options while importing, these might be …","","","","","","","","","The building’s connection for any agent can change based …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","An intersection connects roads. Most have >2 roads and are …","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","Strict for bikes. If there are bike lanes, not allowed to …","","","","Return all incoming roads to an intersection, sorted by …","Higher numbers get drawn on top","","","Note that a lane may belong to both incoming_lanes and …","","Calls U::from(self).","Calls U::from(self).","","","","Does this intersection connect to only a single driveable …","Ignoring mode of travel, is this intersection only …","Does this intersection only connect two road segments? …","","","","","","","","Was a short road adjacent to this intersection merged?","","","","","","","This needs to be in clockwise orientation, or later …","","","","","","","","","","","","","Don’t call for SharedSidewalkCorners","","","","","","Two lanes/roads share both endpoints, because they both …","","A road segment is broken down into individual lanes, which …","A lane is identified by its parent road and its position, …","Two lanes/roads don’t have any common endpoints","Two lanes/roads share one endpoint","From some manually audited cases in Seattle, the length of …","","","","","","","","","","","","","","","","","","","{Cars, bikes} trying to start or end here might not be …","","","","pt2 will be endpoint","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the set of allowed turn types, based on individual …","This does the reasonable thing for the leftmost and …","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","This is cheaper to store than a MovementID. It simply …","A Movement groups all turns from one road to another, …","A movement is like a turn, but with less detail – it …","","","","","","","","","","","","","","","","","Could be a Crosswalk or UnmarkedCrossing","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","The “overall” path of movement, aka, an “average” …","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","Polyline points FROM intersection","","","","","","","","","","","","","","","","","","","","Parking lots have some fixed capacity for cars, and are …","","","","","","","","","","","","","","","Goes from the lot to the driving lane","Guaranteed to be at least 7m (MAX_CAR_LENGTH + a little …","","","If we can’t render all spots (maybe a lot with no aisles …","","","Returns the argument unchanged.","Returns the argument unchanged.","","","","Calls U::from(self).","Calls U::from(self).","","","","","","","Lot to sidewalk","","The middle of the “T”, pointing towards the parking …","","","","","","","","","","","","","","","","A Road represents a segment between exactly two …","","","See https://wiki.openstreetmap.org/wiki/Forward_…","","","Some kind of modal filter or barrier this distance along …","","","","","","","","","","","","","The physical center of the road, including sidewalks, …","","","These are ordered from closest to center lane (left-most …","","","","","","","","","","","","","","","","self is ‘from’. (via, to). Only BanTurns.","","Is there a tagged crosswalk near each end of the road?","","","","","","","lane must belong to this road. Offset 0 is the centermost …","Get the DirectedRoadID pointing to the intersection. …","Get the DirectedRoadID pointing from the intersection. …","","","","","","","","","","","Includes off-side","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","This is the FIRST yellow line where the direction of the …","Creates the thick polygon representing one half of the …","","","","","","Returns all lanes located between l1 and l2, exclusive.","","","","","","","Does this directed road have any lanes of a certain type?","","","","","A simple classification of if the directed road is …","","Returns lanes from the “center” going out","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","Does either end of this road lead nowhere for cars? …","","Many roads wind up with almost no length, due to their …","","","","","","Strict for bikes. If there are bike lanes, not allowed to …","Invariant: A road must contain at least one child. These …","","Get the only sidewalk or shoulder on this side of the …","","","","","","","Returns the other intersection of this road, panicking if …","","","","","","","[-1.0, 1.0] theoretically, but in practice, about [-0.25, …","","","","","","","","","","","","","","","","","","","","","","Meaningless order","","","","","","","","","","","self is ‘from’","","","","","","Like center_pts, but before any trimming for intersection …","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Get the priority of a turn according to the stop sign – …","","Calls U::from(self).","Calls U::from(self).","","","","","","Only roads incoming to the intersection are listed here.","","","","","","","","","","","","","","A traffic signal consists of a sequence of Stages that …","","","","Minimum is the minimum duration, 0 allows cycle to be …","Modifies the fixed timing of all stages, applying either a …","","","","","","","","","","","","","Move crosswalks from stages, adding them to an all-walk as …","Move crosswalks from stages, adding them to an all-walk as …","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","How long a full cycle of the signal lasts, assuming no …","","","","","","","","","","","","","","","","","Only call this variant while importing the map, to enforce …","","","","","","","","","","","","","","","Entry i is the path to drive to stop i. The very last …","","","","","","","","","","","","","","","","","","","","","","","These may be on different roads entirely, like for light …","A transit vehicle either vanishes at its last stop or …","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","","As long as this is unique per road, this value is …","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","If false, only buses serve this stop","","","","","","Explicitly store whatever the original was, since this can…","","","","","","","","","","","","Non-empty, times in order for one day when a vehicle …","A transit vehicle spawns at the beginning of this lane. …","","","","","","","","","","","","","","","","","","","","","","","","For stop signs: Can’t currently specify this! For …","A marked zebra crossing, where pedestrians usually have …","","For stop signs: cars can do this without stopping. These …","","The corner where two sidewalks meet. Pedestrians can cross …","","A Turn leads from the end of one Lane to the start of …","Turns are uniquely identified by their (src, dst) lanes …","","","","An unmarked crossing, where pedestrians may cross without …","For stop signs: cars have to stop before doing this turn, …","","","","","","","","","","","","","","","","","","","","","","Only appropriat for pedestrian crossings. The geometry of …","If this turn is a crosswalk over a single road, return …","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","Is the turn a crosswalk or unmarked crossing?","Penalties for (lane types, lane-changing, slow lane). The …","Is this turn legal, according to turn lane tagging?","Is this turn legal, according to turn restrictions defined …","","","","","src and dst must both belong to parent. No guarantees that …","","","","","","","","","","","","","","","","","","","","","","","","","A contiguous set of roads with access restrictions. This …","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Larger number means a bigger road, according to …","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Who’s asking for a path?","","","","","","","","","Tuneable parameters for all types of routing.","","","","","Don’t allow movements between these roads at all. Only …","Don’t allow crossing these roads at all. Only affects …","","","","","","","","","","","Can an agent use a lane? There are some subtle exceptions …","Can an agent use a road in either direction? There are …","","","","","","","","","","","","","","","","","","Strict for bikes. If there are bike lanes, not allowed to …","","","Returns the argument unchanged.","Returns the argument unchanged.","Not bijective, but this is the best guess of user intent","Calls U::from(self).","Calls U::from(self).","When crossing an arterial or highway road, multiply the …","","Some helpers for working with fast_paths.","","","","","","","","","","","","","","","","","To deal with complicated intersections and short roads in …","","","","Structures related to the new road-based pathfinding …","","Pathfinding for cars, bikes, buses, and trains using …","","","Pathfinding for pedestrians, as well as figuring out if …","Heavily penalize crossing into an access-restricted zone …","","","","","","","","This operates on raw IDs and costs; no type safety. The …","","","","","","Returns (path cost, node IDs in path)","Returns (path cost, node IDs in path). Input is pairs of …","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","A bidirectional mapping between fast_paths NodeId and some …","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","Call this after filling out the input graph, right before …","","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","Create a slow-to-build but fast-to-use contraction …","Create a fast-to-build but slow-to-use Dijkstra-based …","Create a fast-to-build but slow-to-use Dijkstra-based …","","For callers needing to request paths with a variety of …","When pathfinding with different RoutingParams is done, a …","","","","","","","","","","","","","","","","","","","Quickly create an invalid pathfinder, just to make borrow …","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","Create a new Pathfinder with custom routing params that …","Create a new Pathfinder with custom routing params that …","Create a new Pathfinder with custom routing params that …","","Finds a path from a start to an end for a certain type of …","Finds a path from a start to an end for a certain type of …","New pathfinders will be created as-needed using Dijkstra’…","Finds a path from a start to an end for a certain type of …","","","","","","","","","","","","","","","","","","","","This only applies to VehiclePathfinder; walking through …","","A sequence of movements through a cluster of …","Find all other traffic signals “close” to one. Ignore …","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Group lane-based uber-turns into road-based UberTurnV2s.","","","","(legal, illegal)","","","","","","","","","","","","","","","","","","","","","","Sidewalks only!","","Original direction","","","","","","","","","","","Determines the start and end position to travel between …","Create a request from the beginning of one road to the end …","","","","","","","","","","","","","","","","","","","","","Group similar requests together, returning the number of …","","","","Once we finish this PathStep, how much distance will be …","","","","","","","Estimate how long following the path will take in the best …","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","If the agent following this path will initially block some …","","The original PathRequest used to produce this path. If the …","","","Returns the total elevation (gain, loss) experienced over …","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","The caller must pass in two valid positions for the …","The single definitive place to determine how fast somebody …","The single definitive place to determine how fast somebody …","","Trusting the caller to do this in valid ways.","","","","","","","","","","","","","","","","","","","","","Traces along the path from its originally requested start. …","Traces along the path from a specified distance along the …","Draws the thickened path, matching entire roads. Ignores …","","","","","","","","","","","","","","The caller must pass in two valid positions for the …","","","","The caller must pass in two valid sidewalk positions. This …","","","","","Original direction","Opposite direction, sidewalks only","","","One step along a path.","A path between two endpoints for a particular mode. This …","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Vehicle implementations often just calculate the sequence …","The time needed to perform this path. This time is not a …","The original PathRequest used to produce this path.","All steps in this path.","Calls U::from(self).","Calls U::from(self).","Transform a sequence of roads representing a path into the …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","This returns the pathfinding cost of crossing one road and …","","","","","","","false is src_i, true is dst_i","","","","","","","","","","","","Returns the argument unchanged.","Calls U::from(self).","","","","","","","Attempt the pathfinding and see if we should ride public …","","","","","","","","","","","","","","","","Represents a specific point some distance along a lane.","Either a lane or a turn, where most movement happens.","","","","","","","","","","","","","","","","","","","","","","","Given a position along a lane, find the equivalent …","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","Return the center-line geometry of this lane or turn.","","","Calls U::from(self).","Calls U::from(self).","","","The single definitive place to determine how fast somebody …","The single definitive place to determine how fast somebody …","","","","","","","","","","","","","","","","","","","","","","","","","","","",""],"i":[1,2,3,4,5,6,7,0,8,0,0,0,0,0,9,10,11,10,10,10,12,13,0,14,15,13,0,0,0,0,13,12,16,16,10,12,10,10,17,17,17,17,10,0,18,19,0,0,14,13,8,20,8,20,0,0,10,21,10,22,0,0,13,0,0,0,0,0,19,10,10,23,22,10,9,10,10,0,0,0,0,24,22,0,20,25,0,0,0,10,26,27,21,10,13,0,0,0,0,0,24,10,0,8,0,0,0,16,15,0,15,0,24,13,0,0,0,0,0,0,0,0,0,0,0,12,24,0,0,10,22,10,10,0,10,28,11,28,0,10,19,19,26,27,21,0,0,0,0,0,0,10,13,21,10,13,0,13,0,0,14,18,21,22,24,10,10,14,18,12,0,0,0,0,0,0,20,25,0,0,0,21,0,10,21,23,24,11,0,29,30,31,32,33,34,10,35,35,35,35,35,35,35,35,35,35,35,35,35,36,37,33,38,39,35,40,41,35,42,42,42,42,30,43,42,44,45,35,33,46,47,38,10,24,1,9,44,26,14,13,22,31,35,38,10,24,1,9,44,26,14,13,22,31,35,41,35,35,35,35,43,42,48,43,43,10,30,32,32,32,49,49,31,0,35,38,10,24,1,9,44,26,14,13,22,31,35,38,10,24,1,9,44,26,14,13,22,31,35,10,1,9,13,22,50,49,30,35,0,51,37,52,31,35,46,53,30,30,46,44,32,32,13,38,24,1,9,44,26,14,13,22,31,35,31,45,54,55,41,33,34,45,42,34,56,44,57,45,30,35,0,35,35,50,49,58,37,59,10,24,1,9,26,14,13,22,31,10,24,1,9,14,13,22,34,35,44,35,35,35,35,35,38,10,24,1,9,9,44,26,14,13,22,31,38,10,24,1,9,44,26,14,13,22,31,35,53,13,13,10,39,60,1,35,35,35,35,35,35,35,35,35,24,9,14,13,22,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,56,59,35,35,35,35,35,24,9,14,13,22,61,40,33,58,45,39,34,30,62,63,56,59,60,61,64,58,35,44,65,58,35,38,10,24,1,9,44,26,14,13,22,31,35,13,56,35,13,10,51,35,33,55,45,66,45,30,29,1,33,35,59,31,42,0,0,35,50,35,31,35,35,35,35,35,35,35,35,35,35,35,67,39,47,44,50,49,58,35,35,32,58,35,66,35,35,35,41,33,56,35,38,1,13,31,1,35,0,68,63,31,9,33,58,30,46,59,49,49,0,40,34,38,40,33,30,58,43,53,57,33,35,10,1,9,13,22,69,0,35,35,35,35,35,35,30,70,40,70,33,58,34,50,49,50,49,71,0,35,35,35,52,47,68,54,72,64,35,35,65,58,62,35,59,35,35,35,35,38,24,1,9,44,26,14,13,22,31,35,13,59,35,72,34,33,34,56,35,35,51,59,29,30,34,57,45,30,71,63,59,37,46,52,35,59,44,13,53,13,38,10,24,1,9,44,26,14,13,22,31,35,10,9,31,46,35,43,35,30,35,0,35,38,10,24,1,9,44,26,14,13,22,31,35,38,10,24,1,9,44,26,14,13,22,31,35,44,30,39,60,58,38,10,24,1,9,44,26,14,13,22,31,35,31,67,46,52,1,42,35,30,50,38,10,24,1,9,44,26,14,13,22,31,35,43,43,31,45,71,35,30,73,74,73,75,75,76,77,78,79,80,77,79,78,80,77,79,78,80,81,82,83,84,85,84,85,86,87,88,89,90,91,92,93,94,95,95,95,96,97,0,0,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,98,98,98,0,99,99,99,0,0,0,0,0,100,98,101,99,98,101,99,98,99,98,99,99,98,101,99,101,98,99,99,98,101,99,98,101,99,0,98,99,98,101,99,98,99,98,99,98,101,99,98,101,99,101,98,101,99,98,99,98,99,98,101,99,98,101,99,98,101,99,0,98,101,99,0,100,102,103,104,105,106,107,105,0,0,0,100,100,108,100,108,100,100,108,100,108,100,100,108,108,100,108,100,108,108,108,108,100,100,108,100,108,100,108,100,108,100,109,17,17,17,17,18,0,0,0,0,0,0,0,18,18,29,32,17,32,49,18,29,109,17,32,49,18,29,109,17,32,49,32,32,49,49,49,18,29,109,17,49,18,29,109,17,49,0,49,49,32,32,17,29,29,49,49,18,29,109,17,0,0,49,18,29,109,17,32,49,18,29,109,17,49,29,49,32,49,18,29,109,17,29,49,49,49,32,0,49,18,29,109,17,49,49,49,0,49,49,0,0,49,29,29,49,18,29,109,17,17,49,18,109,32,49,18,29,109,17,32,49,18,29,109,17,32,49,18,29,109,17,17,49,32,49,18,29,109,17,77,78,79,80,77,79,78,80,77,79,78,80,81,82,0,0,0,0,0,110,111,112,113,114,110,111,112,113,114,110,111,112,113,114,110,112,0,0,0,0,0,0,0,0,0,0,0,0,110,111,112,113,114,110,111,112,113,114,111,113,114,110,110,111,112,113,114,112,110,111,113,114,110,110,113,114,111,110,0,110,111,112,113,114,110,111,112,113,114,110,111,112,113,114,0,110,111,112,113,114,0,115,115,115,115,116,0,0,0,0,0,116,116,50,116,117,115,50,116,117,115,50,116,117,115,50,116,117,115,50,50,116,117,115,50,50,116,117,115,50,50,116,117,115,115,50,50,50,50,50,50,50,116,117,115,50,116,117,115,50,116,117,115,50,116,117,115,117,50,116,117,115,50,50,116,117,115,116,117,118,119,120,121,119,120,118,121,119,120,118,121,122,123,0,51,51,0,0,51,51,51,51,51,51,51,51,51,0,0,51,0,0,51,0,0,0,51,51,0,51,51,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,124,124,124,124,0,0,0,124,124,124,124,124,124,124,124,124,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,40,2,40,2,40,2,40,2,40,2,2,40,2,2,2,2,40,2,40,2,2,40,2,40,2,40,40,2,40,2,40,2,40,2,2,40,2,40,2,40,2,40,0,0,70,65,70,65,65,65,70,65,70,65,65,65,70,65,65,65,65,65,70,65,65,70,65,65,65,70,70,65,65,65,70,65,65,65,70,65,70,65,70,65,65,70,65,65,70,65,3,0,0,0,19,19,0,28,28,19,19,33,33,33,33,3,33,28,19,3,33,28,19,3,33,28,19,3,33,28,19,3,3,33,28,19,33,33,3,28,3,3,3,33,28,19,3,33,28,19,3,33,19,3,33,33,3,33,28,19,33,33,33,3,28,33,33,33,33,3,33,3,33,28,19,33,33,0,3,33,28,19,3,3,33,28,19,3,33,28,19,3,33,28,19,3,33,28,19,73,74,73,75,75,84,85,84,85,4,0,0,4,58,4,58,4,58,4,58,4,4,58,58,4,4,58,4,4,58,4,58,4,58,58,58,58,58,58,58,4,58,58,58,4,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,4,58,58,4,58,58,4,58,58,58,4,58,4,4,58,4,58,58,58,4,58,4,58,15,0,0,0,15,15,0,45,68,45,15,68,45,15,68,45,68,45,68,45,68,68,45,45,45,45,45,68,68,45,45,68,15,68,45,45,68,68,45,68,45,15,45,68,45,45,45,68,45,45,68,45,15,45,45,45,45,45,45,45,45,45,45,45,45,45,68,15,15,45,68,0,68,68,68,45,45,68,45,68,68,45,15,68,45,15,68,45,15,68,45,15,45,76,0,0,0,39,53,61,39,53,61,39,53,61,39,53,61,39,53,61,39,53,53,61,39,53,61,39,53,61,0,53,61,39,39,53,61,39,53,53,39,53,61,53,61,61,39,61,53,61,39,39,0,53,61,39,53,53,61,53,61,39,39,53,53,61,39,53,53,61,39,53,61,39,39,53,61,39,53,61,39,5,0,0,34,5,34,5,34,34,5,34,5,34,5,5,34,34,34,5,5,34,5,5,5,34,5,5,34,5,34,5,34,5,34,5,34,34,34,34,5,34,5,5,34,5,34,5,34,5,34,6,0,27,27,0,0,0,0,30,30,30,6,54,27,72,30,6,54,27,72,30,6,6,30,30,30,30,6,54,27,72,30,6,54,27,72,30,6,54,27,72,30,30,30,30,6,54,27,72,30,54,30,30,30,54,30,6,54,27,72,6,54,27,72,30,6,6,54,54,27,72,30,6,54,27,72,30,30,30,30,30,6,54,27,72,30,30,72,30,30,30,30,54,6,54,27,72,30,30,30,6,54,27,72,30,30,30,30,30,30,30,30,30,30,54,30,30,54,6,54,72,30,30,30,30,72,30,6,54,27,72,30,30,54,72,6,54,27,72,30,30,72,30,30,54,30,6,54,27,72,30,6,54,30,6,54,27,72,30,6,54,27,72,30,30,6,54,27,72,30,30,6,54,27,72,30,30,0,0,62,66,62,66,62,66,62,66,62,66,62,66,62,62,66,62,66,62,62,62,66,66,66,62,66,62,62,62,66,62,66,62,66,62,66,62,66,62,66,0,0,23,0,0,23,63,63,71,23,63,71,23,63,71,23,63,71,23,63,63,71,63,71,23,71,71,63,71,23,63,63,71,23,63,71,23,63,63,71,71,63,63,63,63,71,23,71,63,63,71,23,63,71,63,71,63,71,23,63,23,71,63,63,71,23,63,71,23,63,71,23,63,71,23,63,63,63,71,23,71,94,95,95,95,7,0,0,0,0,59,59,64,7,56,59,64,7,56,59,64,7,56,59,64,7,56,59,64,7,64,7,56,59,56,59,64,7,56,64,7,64,64,7,7,56,59,64,7,56,59,64,7,56,59,64,7,56,59,64,64,7,56,59,56,59,56,64,7,56,59,64,7,59,64,59,64,7,56,59,59,56,59,59,59,64,7,56,59,64,7,64,7,56,59,64,7,56,59,64,7,56,59,64,7,56,59,11,21,21,11,21,21,21,0,0,0,0,21,21,11,60,60,57,21,11,60,57,21,11,60,57,21,11,60,57,21,11,60,57,21,60,60,60,57,21,11,60,57,57,21,11,60,57,21,57,57,21,11,60,57,21,11,60,60,57,57,60,57,21,11,60,60,57,60,57,57,21,11,21,60,60,60,57,21,11,60,57,57,57,21,11,60,57,57,21,11,60,57,21,11,60,60,57,21,11,60,57,21,11,60,0,0,36,47,36,47,36,47,36,47,36,47,36,47,36,47,0,36,47,36,47,36,47,47,47,36,47,36,47,36,47,36,47,36,47,36,47,36,47,36,47,125,126,127,128,0,0,0,128,0,0,128,0,0,129,0,0,0,0,0,0,0,129,0,0,0,129,0,128,125,126,127,129,128,125,126,127,129,128,125,126,127,129,128,125,126,127,129,128,125,126,127,129,125,126,127,129,128,128,125,126,127,129,128,125,126,127,129,128,125,125,126,126,127,127,129,129,128,125,126,127,129,128,125,126,127,129,125,126,127,129,129,128,125,126,127,129,125,126,127,129,128,125,126,127,129,125,126,127,129,128,125,126,127,129,125,126,127,129,128,125,126,127,129,128,125,126,127,129,128,125,126,127,129,128,125,126,127,129,130,131,132,12,12,12,0,0,0,0,0,0,0,0,0,0,12,0,12,0,12,42,42,42,42,42,12,12,12,12,42,12,42,42,12,12,12,42,12,42,12,42,12,12,42,42,0,12,12,12,12,42,12,12,12,42,12,42,12,12,42,42,42,0,12,12,0,0,12,12,42,12,12,42,12,42,12,42,12,42,0,42,0,0,0,0,0,12,42,0,0,133,134,133,0,133,134,134,0,134,133,134,133,134,134,134,134,134,133,134,133,134,133,134,134,134,134,134,133,134,133,134,133,134,133,134,135,136,137,137,0,0,138,139,138,139,138,138,139,0,138,139,138,138,138,138,139,138,139,138,138,138,138,138,138,139,138,139,138,139,138,139,16,16,16,0,0,0,43,43,43,48,43,16,48,43,16,43,48,43,43,43,16,43,16,43,43,16,43,48,43,16,48,43,16,48,43,43,43,43,43,43,43,48,43,43,43,43,16,43,48,43,16,48,43,16,48,43,16,48,43,16,43,43,0,0,0,67,67,69,140,67,69,140,69,140,69,140,140,69,140,69,140,69,140,140,69,140,67,0,69,140,67,69,140,69,67,69,140,67,67,69,140,67,140,69,140,69,140,69,140,0,67,69,140,67,69,140,67,69,140,67,67,69,140,20,20,20,0,0,0,20,46,46,37,20,20,20,37,37,46,20,46,37,20,46,37,20,46,37,20,46,37,20,37,46,46,46,46,46,37,20,46,37,46,37,20,46,37,20,37,46,20,20,46,37,37,20,46,37,46,20,46,46,46,46,20,20,46,37,46,46,46,46,46,37,20,20,46,46,20,46,37,46,46,46,20,46,20,46,37,46,37,46,20,46,37,37,46,46,46,46,46,20,46,37,20,46,37,20,46,37,46,0,0,0,37,20,46,37,37,86,87,88,89,8,8,8,8,0,0,8,52,8,52,8,52,8,52,52,52,8,52,0,8,52,8,52,52,52,52,52,8,52,52,52,52,52,8,52,52,8,52,8,52,8,52,8,52,52,8,52,90,91,92,93,0,141,141,0,142,142,142,141,142,141,142,141,142,141,141,142,142,141,142,142,141,141,141,142,141,141,141,142,141,0,141,142,142,142,141,142,142,141,142,141,142,141,142,141,142,141,142,0,142,141,143,144,99,99,99,0,0,145,145,145,145,145,145,145,145,145,145,145,0,145,145,0,145,145,145,145,0,145,145,145,145,145,0,105,106,107,105,25,0,0,0,0,25,25,25,0,55,25,55,25,55,55,25,55,25,55,25,55,25,55,55,55,55,25,55,55,55,25,55,55,25,25,55,25,25,25,25,25,55,25,55,55,25,25,25,25,55,55,25,55,55,25,55,55,55,25,55,55,25,55,25,55,25,55,25,55,25,55,25,0,96,97],"f":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["vec",3],["lanetype",4],["tags",3],["drivingside",4]],["usize",0]],null,null,null,[[],["vec",3,[["amenitytype",4],["global",3]]]],[[["",0]],["vec",3]],[[["",0]],["vec",3]],[[["",0],["pathrequest",3]],["option",4]],[[["",0]],["vec",3,[["intersection",3]]]],[[["",0]],["vec",3]],[[["",0]]],[[["",0]],["vec",3,[["intersection",3]]]],[[["",0]],["vec",3]],[[["",0]],["vec",3]],[[["",0]],["vec",3]],[[["",0]],["btreemap",3]],[[["",0]]],[[["",0]],["vec",3]],null,null,null,null,null,[[["",0],["mapedits",3],["bool",0],["timer",3]],["editeffects",3]],null,null,null,null,null,null,null,null,null,null,null,null,[[],["map",3]],null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],null,null,null,[[["",0],["buildingid",3]],["road",3]],null,null,null,null,null,null,[[["str",0]],["option",4,[["amenitytype",4]]]],null,null,null,null,null,null,[[["string",3],["str",0],["str",0],["str",0],["str",0],["bool",0]]],null,[[["",0]]],[[["",0]],["amenity",3]],[[["",0]],["amenitytype",4]],[[["",0]],["areatype",4]],[[["",0]],["nameperlanguage",3]],[[["",0]],["direction",4]],[[["",0]],["mapconfig",3]],[[["",0]],["drivingside",4]],[[["",0]],["intersectiontype",4]],[[["",0]],["lanetype",4]],[[["",0]],["buffertype",4]],[[["",0]],["lanespec",3]],[[["",0]],["map",3]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["amenitytype",4]],["ordering",4]],[[["",0],["nameperlanguage",3]],["ordering",4]],[[["",0],["direction",4]],["ordering",4]],[[["",0],["lanetype",4]],["ordering",4]],[[["",0],["buffertype",4]],["ordering",4]],null,null,null,null,null,null,null,null,[[["str",0],["str",0]],["vec",3,[["lanespec",3],["global",3]]]],[[["rawmap",3],["rawtomapoptions",3],["timer",3]],["map",3]],null,null,null,null,null,[[["drivingside",4]],["mapconfig",3]],null,null,[[],["str",0]],[[],["result",4,[["amenity",3]]]],[[],["result",4,[["areatype",4]]]],[[],["result",4,[["nameperlanguage",3]]]],[[],["result",4,[["direction",4]]]],[[],["result",4,[["mapconfig",3]]]],[[],["result",4,[["drivingside",4]]]],[[],["result",4,[["intersectiontype",4]]]],[[],["result",4,[["lanetype",4]]]],[[],["result",4,[["buffertype",4]]]],[[],["result",4,[["lanespec",3]]]],[[],["result",4]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0],["roadid",3],["fn",8]],["editcmd",4]],null,null,null,null,null,null,null,null,[[["",0],["amenitytype",4]],["bool",0]],[[["",0],["areatype",4]],["bool",0]],[[["",0],["nameperlanguage",3]],["bool",0]],[[["",0],["direction",4]],["bool",0]],[[["",0],["drivingside",4]],["bool",0]],[[["",0],["intersectiontype",4]],["bool",0]],[[["",0],["lanetype",4]],["bool",0]],[[["",0],["buffertype",4]],["bool",0]],[[["",0],["lanespec",3]],["bool",0]],[[["",0],["",0]],["bool",0]],[[["",0],["",0]],["bool",0]],[[["",0],["",0]],["bool",0]],[[["",0],["",0]],["bool",0]],[[["",0],["",0]],["bool",0]],[[["",0],["",0]],["bool",0]],[[["",0],["",0]],["bool",0]],null,[[["",0],["osmid",4]],["option",4,[["buildingid",3]]]],null,[[["",0],["buildingid",3]],["laneid",3]],[[["",0],["nodeid",3]],["result",6,[["intersectionid",3]]]],[[["",0],["originalroad",3]],["result",6,[["roadid",3]]]],[[["",0],["intersectionid",3],["intersectionid",3]],["option",4,[["roadid",3]]]],[[["",0],["str",0]],["option",4,[["transitrouteid",3]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],null,[[["char",0]],["lanetype",4]],[[["str",0]],["option",4,[["lanetype",4]]]],[[["str",0]],["result",4,[["amenitytype",4]]]],null,null,[[["",0],["option",4,[["string",3]]]],["string",3]],[[["",0],["areaid",3]],["area",3]],[[["",0],["buildingid",3]],["building",3]],[[["",0]],["polygon",3]],[[["",0]],["bounds",3]],[[["",0]],["cityname",3]],[[["",0]],["mapconfig",3]],[[["",0]],["mapedits",3]],[[["",0]],["usize",0]],[[["",0]],["gpsbounds",3]],[[["",0]],["u64",0]],[[["",0]],["u64",0]],[[["",0]],["u64",0]],[[["",0]],["u64",0]],[[["",0]],["u64",0]],[[["",0],["intersectionid",3]],["intersection",3]],[[["",0],["intersectionid",3]],["editcrosswalks",3]],[[["",0],["intersectionid",3]],["editintersection",4]],[[["",0],["laneid",3]],["lane",3]],[[["",0]],["btreeset",3,[["string",3]]]],[[["",0],["turnid",3]],["option",4]],[[["",0],["directedroadid",3],["pathconstraints",4]],["vec",3,[["movementid",3]]]],[[["",0]],["mapname",3]],[[["",0],["roadid",3]],["btreeset",3,[["roadid",3]]]],[[["",0],["laneid",3]],["vec",3]],[[["",0],["laneid",3],["pathconstraints",4]],["vec",3]],[[["",0],["laneid",3]],["road",3]],[[["",0]],["pathfinder",3]],[[["",0],["parkinglotid",3]],["parkinglot",3]],[[["",0],["roadid",3]],["road",3]],[[["",0],["roadid",3]],["editroad",3]],[[["",0],["transitstopid",3]],["vec",3,[["transitroute",3]]]],[[["",0],["intersectionid",3]],["controlstopsign",3]],[[["",0],["turnid",3]],["turn",3]],[[["",0],["transitrouteid",3]],["transitroute",3]],[[["",0],["intersectionid",3]],["controltrafficsignal",3]],[[["",0],["str",0]],["option",4,[["transitroute",3]]]],[[["",0],["transitstopid",3]],["transitstop",3]],[[["",0],["laneid",3],["laneid",3],["intersectionid",3]],["option",4,[["turn",3]]]],[[["",0],["laneid",3],["pathconstraints",4]],["vec",3,[["turn",3]]]],[[["",0],["laneid",3]],["vec",3,[["turn",3]]]],[[["",0],["laneid",3]],["vec",3,[["turn",3]]]],null,null,null,[[["",0],["areatype",4],["polygon",3],["tags",3]]],[[["",0],["buildingid",3],["buildingtype",4]]],[[["",0],["usize",0]]],[[["",0],["buildingid",3],["usize",0]]],[[["",0],["transitrouteid",3],["vec",3,[["time",3]]]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0],["controltrafficsignal",3]]],null,null,null,null,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["bool",0]],null,[[["",0],["roadid",3],["roadid",3],["turntype",4]],["bool",0]],[[],["bool",0]],[[],["amenitytypeiter",3]],null,[[["",0]]],null,null,null,null,null,null,null,[[["",0]],["vec",3,[["string",3],["global",3]]]],null,[[["string",3],["timer",3]],["map",3]],null,null,null,null,null,[[["",0],["timer",3]]],null,[[["",0]],["distance",3]],[[["vec",3],["option",4,[["buffertype",4]]],["drivingside",4]]],[[["",0],["areaid",3]],["option",4,[["area",3]]]],[[["",0],["buildingid",3]],["option",4,[["building",3]]]],[[["",0],["intersectionid",3]],["option",4,[["intersection",3]]]],[[["",0],["laneid",3]],["option",4,[["lane",3]]]],[[["",0],["parkinglotid",3]],["option",4,[["parkinglot",3]]]],[[["",0],["roadid",3]],["option",4,[["road",3]]]],[[["",0],["intersectionid",3]],["option",4,[["controlstopsign",3]]]],[[["",0],["turnid",3]],["option",4,[["turn",3]]]],[[["",0],["transitrouteid",3]],["option",4,[["transitroute",3]]]],[[["",0],["intersectionid",3]],["option",4,[["controltrafficsignal",3]]]],[[["",0],["transitstopid",3]],["option",4,[["transitstop",3]]]],null,null,null,null,null,null,null,[[["",0],["timer",3]]],[[["",0],["timer",3]]],null,null,[[["",0],["mapedits",3],["timer",3]],["editeffects",3]],null,[[["",0],["laneid",3]],["lane",3]],[[["",0],["roadid",3]],["road",3]],[[["",0],["turnid",3]],["turn",3]],null,null,null,null,null,[[["",0],["nameperlanguage",3]],["bool",0]],[[["",0],["lanetype",4]],["bool",0]],[[["",0],["lanespec",3]],["bool",0]],[[["tags",3]],["option",4,[["nameperlanguage",3]]]],[[["",0]],["mapedits",3]],null,null,null,[[],["option",4,[["direction",4]]]],[[],["direction",4]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0],["amenitytype",4]],["option",4,[["ordering",4]]]],[[["",0],["nameperlanguage",3]],["option",4,[["ordering",4]]]],[[["",0],["direction",4]],["option",4,[["ordering",4]]]],[[["",0],["lanetype",4]],["option",4,[["ordering",4]]]],[[["",0],["buffertype",4]],["option",4,[["ordering",4]]]],null,null,[[["",0],["pathrequest",3]],["result",6,[["path",3]]]],[[["",0],["pathrequest",3]],["result",6,[["pathv2",3]]]],[[["",0],["pathrequest",3],["routingparams",3],["pathfindercaching",4]],["result",6,[["pathv2",3]]]],[[["",0],["pathrequest",3],["routingparams",3],["pathfindercaching",4]],["result",6,[["path",3]]]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0],["timer",3]]],[[["",0],["timer",3]]],[[["",0]]],null,null,null,null,null,null,[[["",0],["roadid",3]],["btreeset",3]],null,null,null,null,null,null,[[["",0]],["routingparams",3]],null,[[["",0]]],[[["",0]]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[],["str",0]],null,[[["",0],["position",3],["position",3]],["option",4]],null,null,null,null,null,[[["",0],["intersectionid",3],["intersectionid",3]],["option",4]],[[["",0],["intersectionid",3],["intersectionid",3],["pathconstraints",4]],["option",4]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[],["bool",0]],null,[[],["char",0]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]],["string",3]],[[["",0]],["string",3]],[[["vec",3],["drivingside",4]]],null,null,null,null,null,null,null,[[["",0],["mapedits",3],["timer",3]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],null,null,null,null,null,[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["lanetype",4],["tags",3]],["vec",3,[["global",3]]]],null,null,null,[[],["nameperlanguage",3]],null,[[["",0]],["bool",0]],null,null,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],null,[[],["result",4]],null,[[]],[[["map",3]],["city",3]],[[["cityname",3],["timer",3]],["city",3]],[[]],null,[[["",0]],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[]],null,null,null,null,null,null,null,null,null,null,[[["map",3],["vec",3,[["spot",4]]],["duration",3],["pathconstraints",4]],["hashmap",3,[["buildingid",3],["duration",3]]]],[[["map",3],["vec",3,[["spot",4]]],["duration",3],["walkingoptions",3]],["hashmap",3,[["buildingid",3],["duration",3]]]],null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["spot",4]],[[["",0]],["walkingnode",4]],[[["",0],["",0]]],[[["",0],["",0]]],[[["position",3],["map",3]],["walkingnode",4]],[[["",0],["spot",4]],["ordering",4]],[[["",0],["item",3]],["ordering",4]],[[["",0],["walkingnode",4]],["ordering",4]],null,[[],["result",4]],[[],["result",4]],[[["position",3],["map",3]],["walkingnode",4]],[[["",0],["spot",4]],["bool",0]],[[["",0],["item",3]],["bool",0]],[[["",0],["walkingnode",4]],["bool",0]],[[["",0],["",0]],["bool",0]],[[["",0],["",0]],["bool",0]],[[["",0],["",0]],["bool",0]],[[["map",3],["pathconstraints",4]]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],[[]],[[["",0]],["u64",0]],[[["",0]],["u64",0]],[[["",0],["",0]]],[[["",0],["",0]]],[[]],[[]],[[]],[[["",0],["spot",4]],["bool",0]],[[["",0],["item",3]],["bool",0]],[[["",0],["walkingnode",4]],["bool",0]],null,[[["",0],["spot",4]],["option",4,[["ordering",4]]]],[[["",0],["item",3]],["option",4,[["ordering",4]]]],[[["",0],["walkingnode",4]],["option",4,[["ordering",4]]]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["directedroadid",3],["movementid",3],["pathconstraints",4],["routingparams",3],["map",3]],["option",4,[["duration",3]]]],[[]],[[]],[[]],null,null,null,null,null,null,null,null,null,null,null,[[["map",3],["vec",3,[["spot",4]]],["duration",3],["walkingoptions",3]],["hashmap",3,[["buildingid",3],["duration",3]]]],null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["walkingoptions",3]],[[["",0],["",0]]],[[["",0],["item",3]],["ordering",4]],[[],["vec",3]],null,[[],["walkingoptions",3]],[[],["speed",3]],[[["",0],["item",3]],["bool",0]],[[["",0],["",0]],["bool",0]],[[]],[[]],[[]],[[]],[[["",0],["item",3]],["bool",0]],null,[[["",0],["item",3]],["option",4,[["ordering",4]]]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0],["editeffects",3],["map",3]]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],null,[[["",0],["map",3]]],null,null,null,null,[[["",0]],["mapedits",3]],[[["",0]],["editintersection",4]],[[["",0]],["editroad",3]],[[["",0]],["editcrosswalks",3]],[[["",0]],["editcmd",4]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],null,null,[[["",0],["map",3]]],[[],["mapedits",3]],null,null,[[["",0],["map",3]]],[[],["result",4]],[[["",0],["editroad",3]],["vec",3,[["string",3]]]],null,[[["",0],["mapedits",3]],["bool",0]],[[["",0],["editintersection",4]],["bool",0]],[[["",0],["editroad",3]],["bool",0]],[[["",0],["editcrosswalks",3]],["bool",0]],[[["",0],["editcmd",4]],["bool",0]],[[["map",3],["vec",3,[["buildingid",3]]],["editeffects",3]]],[[["map",3],["vec",3,[["parkinglotid",3]]]]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],[[]],[[]],[[["",0],["map",3]],["string",3]],[[["road",3],["mapconfig",3]],["editroad",3]],[[["",0]],["str",0]],[[]],[[]],[[]],[[]],[[]],[[]],null,[[["map",3],["vec",3,[["u8",0]]]],["result",6,[["mapedits",3]]]],[[["map",3],["string",3],["timer",3]],["result",6,[["mapedits",3]]]],null,null,[[["map",3],["roadid",3],["vec",3,[["lanespec",3]]],["editeffects",3]]],[[["",0],["mapedits",3]],["bool",0]],[[["",0],["editintersection",4]],["bool",0]],[[["",0],["editroad",3]],["bool",0]],[[["",0],["editcrosswalks",3]],["bool",0]],[[["",0],["editcmd",4]],["bool",0]],[[],["mapedits",3]],null,null,null,null,null,[[["map",3],["roadid",3],["distance",3],["intersectionid",3]],["vec",3,[["roadid",3]]]],[[["intersectionid",3],["map",3],["editeffects",3]]],[[["",0],["map",3]]],[[["",0]],["result",4]],null,[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0],["map",3]],["permanenteditcmd",4]],[[["",0],["map",3]],["permanentmapedits",3]],[[["",0],["map",3]],["permanenteditintersection",4]],[[["",0],["map",3]],["permanenteditcrosswalks",3]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[],["editcmd",4]],[[["",0],["map",3]]],[[]],[[]],[[]],[[]],[[]],[[]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],null,null,[[["value",4]]],[[["value",4]]],[[["value",4]]],[[["value",4]]],[[["value",4],["map",3]],["result",6]],[[["value",4]]],[[["value",4]]],[[["value",4]]],[[["value",4],["map",3]],["result",6]],[[["value",4]]],[[["value",4]]],[[["value",4]]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],[[]],null,null,null,null,[[]],[[]],[[]],[[]],[[]],null,[[["",0],["map",3]],["result",6]],null,null,null,null,null,null,null,null,null,[[["value",4]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["value",4],["map",3]],["result",6,[["permanentmapedits",3]]]],[[]],[[]],[[]],[[]],[[]],[[["value",4],["",0]]],null,null,null,null,null,null,null,null,null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["permanentmapedits",3]],[[["",0]],["permanenteditintersection",4]],[[["",0]],["permanenteditcrosswalks",3]],[[["",0]],["permanenteditcmd",4]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],null,[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],null,[[]],[[]],[[]],[[]],[[["",0]],["str",0]],[[]],[[]],[[]],[[]],[[["map",3]],["result",6,[["editcmd",4]]]],[[["map",3]],["result",6,[["mapedits",3]]]],[[["map",3]],["mapedits",3]],null,null,null,null,[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],null,[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],null,[[]],[[]],[[]],[[]],[[["intersectionid",3],["map",3]],["result",6,[["editintersection",4]]]],[[["intersectionid",3],["map",3]],["result",6,[["editcrosswalks",3]]]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],null,null,[[],["app",3]],[[["",0]],["rawtomapoptions",3]],[[["",0],["",0]]],null,[[],["rawtomapoptions",3]],[[]],[[["argmatches",3]]],[[]],null,[[["map",3],["hashset",3,[["hashablept2d",3]]],["fn",8],["distance",3],["distance",3],["timer",3]],["hashmap",3,[["hashablept2d",3],["position",3]]]],null,null,null,[[["polyline",3]],["vec",3,[["distance",3]]]],[[["",0]]],null,null,[[["polygon",3],["line",3]],["line",3]],[[],["result",4]],[[],["result",4]],null,[[["",0]],["typeid",3]],[[]],null,[[["vec",3],["bounds",3],["timer",3]]],[[["tags",3],["f64",0],["f64",0],["xorshiftrng",3]],["buildingtype",4]],[[["tags",3],["laneid",3],["map",3]],["string",3]],[[["btreemap",3],["map",3],["bool",0],["timer",3]],["vec",3,[["building",3]]]],[[["polygon",3]],["vec",3]],[[["polygon",3],["line",3]],["bool",0]],[[["map",3],["timer",3]],["vec",3,[["parkinglot",3]]]],[[["hashablept2d",3],["polygon",3],["hashmap",3],["map",3]],["result",6]],null,null,[[["intersection",3]],["controltrafficsignal",3]],[[["map",3],["intersection",3]],["option",4,[["controltrafficsignal",3]]]],[[["controltrafficsignal",3],["intersection",3]]],[[["map",3],["intersection",3]],["option",4,[["controltrafficsignal",3]]]],[[["map",3],["intersection",3]],["option",4,[["controltrafficsignal",3]]]],[[["map",3],["intersectionid",3],["bool",0]],["vec",3]],[[["intersection",3]],["controltrafficsignal",3]],[[["intersection",3]],["option",4,[["controltrafficsignal",3]]]],null,[[["controltrafficsignal",3],["mapconfig",3],["intersection",3],["vec",3,[["vec",3]]]]],[[["intersectionid",3]],["controltrafficsignal",3]],[[["map",3],["intersection",3]],["controltrafficsignal",3]],[[["map",3]]],[[["map",3],["intersection",3]],["option",4,[["controltrafficsignal",3]]]],[[["controltrafficsignal",3],["stage",3]]],[[["intersection",3],["map",3]],["option",4,[["controltrafficsignal",3]]]],[[["stage",3],["intersection",3]],["option",4]],[[["controltrafficsignal",3],["intersection",3]]],[[["controltrafficsignal",3]]],[[["intersection",3],["map",3]],["option",4,[["controltrafficsignal",3]]]],[[["map",3],["intersection",3]],["option",4,[["controltrafficsignal",3]]]],[[["controltrafficsignal",3],["intersection",3]],["option",4,[["controltrafficsignal",3]]]],[[["intersection",3]]],[[["roadid",3]],["vec",3,[["movementid",3]]]],[[["intersection",3]],["option",4,[["controltrafficsignal",3]]]],[[["controltrafficsignal",3],["intersection",3]],["option",4,[["controltrafficsignal",3]]]],[[["movementid",3],["movementid",3]],["stage",3]],[[["roadid",3],["roadid",3],["vec",3]],["option",4,[["movementid",3]]]],[[]],[[["intersection",3],["map",3]],["option",4,[["controltrafficsignal",3]]]],null,[[["",0]],["",0]],[[["",0]],["",0]],null,null,[[["rawtransitroute",3],["map",3],["hashmap",3],["bordersnapper",3]],["result",6]],[[["rawtransitstop",3],["hashmap",3],["hashmap",3],["map",3]],["result",6]],[[["map",3],["rawmap",3],["timer",3]]],[[]],[[]],[[["map",3]],["bordersnapper",3]],null,null,[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[]],[[["lane",3],["lane",3],["intersection",3]],["result",6,[["polyline",3]]]],[[["vec",3,[["turn",3]]]],["vec",3,[["turn",3]]]],[[["intersection",3],["map",3]],["option",4,[["hashmap",3,[["turntype",4]]]]]],[[["map",3],["intersection",3]],["vec",3,[["turn",3]]]],[[["intersection",3],["map",3]],["vec",3,[["turn",3]]]],[[["map",3],["vec",3,[["turn",3]]],["turntype",4]],["vec",3,[["turn",3]]]],[[["angle",3],["angle",3]],["turntype",4]],[[["intersection",3],["map",3]],["result",6]],[[["pt2d",3],["pt2d",3]],["polyline",3]],[[["vec",3,[["turn",3]]],["map",3],["intersection",3]],["vec",3,[["turn",3]]]],[[["intersection",3],["lane",3],["lane",3]],["polyline",3]],[[["intersection",3],["lane",3],["lane",3]],["polyline",3]],[[["map",3],["intersection",3]],["vec",3,[["turn",3]]]],[[["intersectionid",3],["laneid",3],["laneid",3]],["turnid",3]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["areaid",3]],[[["",0]],["area",3]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["areaid",3]],["ordering",4]],[[],["result",4]],[[],["result",4]],[[["",0],["areaid",3]],["bool",0]],[[["",0],["",0]],["bool",0]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],[[["",0]],["u64",0]],[[["",0],["",0]]],null,[[]],[[]],[[["",0],["areaid",3]],["bool",0]],null,null,[[["",0],["areaid",3]],["option",4,[["ordering",4]]]],null,[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]]],[[["",0]]],[[["",0]],["string",3]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["usize",0]],["option",4,[["vec",3,[["usize",0]]]]]],[[["",0],["map",3]],["result",6]],[[["",0]],["block",3]],[[["",0]],["perimeter",3]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0]]],[[["",0],["perimeter",3]],["bool",0]],[[],["result",4]],[[],["result",4]],[[["map",3]],["vec",3,[["perimeter",3]]]],[[["map",3]],["hashset",3,[["roadid",3]]]],[[]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],null,[[]],[[]],[[["map",3],["vec",3,[["perimeter",3]]],["bool",0],["bool",0]],["vec",3,[["perimeter",3]]]],[[["vec",3,[["perimeter",3]]],["fn",8]],["vec",3,[["vec",3,[["perimeter",3]]]]]],null,null,[[["",0]]],[[["",0],["map",3],["perimeter",3]],["bool",0]],null,[[["",0]],["result",4]],[[["",0]],["result",4]],[[["map",3],["laneid",3],["hashset",3]],["result",6,[["perimeter",3]]]],[[["map",3]],["result",6,[["block",3]]]],[[["",0]]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0],["map",3],["perimeter",3],["bool",0],["bool",0]],["bool",0]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]]],[[]],[[]],null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0],["map",3]],["option",4]],null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["buildingid",3]],[[["",0]],["building",3]],[[["",0]],["offstreetparking",4]],[[["",0]],["buildingtype",4]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["buildingid",3]],["ordering",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],null,[[["",0],["map",3]],["option",4]],[[["",0],["buildingid",3]],["bool",0]],[[["",0],["offstreetparking",4]],["bool",0]],[[["",0],["",0]],["bool",0]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],[[["",0]],["u64",0]],[[["",0],["amenitytype",4]],["bool",0]],[[["",0]],["bool",0]],[[["",0],["",0]]],[[["",0]],["option",4,[["string",3]]]],null,[[]],[[]],[[]],[[]],null,null,null,[[["",0],["buildingid",3]],["bool",0]],[[["",0],["offstreetparking",4]],["bool",0]],[[["",0]],["usize",0]],null,null,null,[[["",0],["buildingid",3]],["option",4,[["ordering",4]]]],null,[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["laneid",3]],null,[[["position",3],["map",3]],["option",4]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]],["string",3]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],[[]],[[]],null,null,null,null,null,null,null,null,null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["intersectionid",3]],[[["",0]],["intersection",3]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["intersectionid",3]],["ordering",4]],[[],["result",4]],[[],["result",4]],null,[[["",0],["intersectionid",3]],["bool",0]],[[["",0],["",0]],["bool",0]],[[["",0],["intersectionid",3],["map",3]],["option",4,[["road",3]]]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],[[["",0]],["u64",0]],[[["",0],["map",3],["pathconstraints",4]],["vec",3,[["laneid",3]]]],[[["",0],["map",3],["pathconstraints",4]],["vec",3,[["laneid",3]]]],[[["",0],["map",3]],["roadrank",4]],[[["",0],["map",3]],["vec",3,[["roadsideid",3]]]],[[["",0],["map",3]],["vec",3,[["roadid",3]]]],[[["",0],["map",3]],["vec",3,[["roadid",3]]]],[[["",0],["map",3]],["isize",0]],[[["",0],["",0]]],null,null,null,[[]],[[]],[[["",0]],["bool",0]],[[["",0]],["bool",0]],[[["",0],["map",3]],["bool",0]],[[["",0],["map",3]],["bool",0]],[[["",0]],["bool",0]],[[["",0]],["bool",0]],[[["",0],["map",3]],["bool",0]],[[["",0]],["bool",0]],[[["",0],["map",3]],["bool",0]],[[["",0]],["bool",0]],[[["",0],["map",3]],["bool",0]],[[["",0]],["bool",0]],[[["",0]],["bool",0]],null,null,[[["",0],["option",4,[["string",3]]],["map",3]],["string",3]],[[["",0],["intersectionid",3]],["bool",0]],null,null,[[["",0],["intersectionid",3]],["option",4,[["ordering",4]]]],null,null,[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0],["map",3]],["option",4,[["directedroadid",3]]]],[[["",0],["map",3]],["option",4,[["directedroadid",3]]]],[[["",0]]],[[["",0]]],[[["",0]],["string",3]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0],["turnid",3]]],null,[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],null,null,null,null,null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["laneid",3]],[[["",0]],["lane",3]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["laneid",3]],["ordering",4]],[[["",0],["lane",3]],["commonendpoint",4]],[[["u32",0]],["laneid",3]],[[],["result",4,[["laneid",3]]]],[[],["result",4]],null,[[["",0],["pt2d",3]],["option",4,[["distance",3]]]],null,null,[[],["laneid",3]],[[],["u32",0]],[[["",0],["intersectionid",3]],["line",3]],[[["",0],["intersectionid",3]],["pt2d",3]],[[["",0],["laneid",3]],["bool",0]],[[["",0],["commonendpoint",4]],["bool",0]],[[["",0],["",0]],["bool",0]],[[["",0]],["line",3]],[[["",0]],["pt2d",3]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],[[]],[[["",0]],["directedroadid",3]],[[["",0]],["u64",0]],[[["",0],["road",3],["bool",0]],["option",4,[["btreeset",3,[["turntype",4]]]]]],[[["",0],["map",3]],["roadsideid",3]],[[["",0]],["polygon",3]],[[["",0],["",0]]],null,[[["",0]],["vec",3,[["intersectionid",3]]]],[[]],[[]],[[]],[[["",0]],["bool",0]],[[["",0]],["bool",0]],[[["",0]],["bool",0]],[[["",0]],["bool",0]],[[["",0]],["bool",0]],[[["",0]],["bool",0]],[[["",0]],["bool",0]],[[["",0]],["bool",0]],null,null,[[["",0]],["line",3]],[[["",0]],["pt2d",3]],[[["",0]],["distance",3]],[[["",0],["laneid",3]],["bool",0]],[[["",0],["commonendpoint",4]],["bool",0]],[[],["commonendpoint",4]],[[["",0],["mapconfig",3]],["usize",0]],null,[[["str",0]],["vec",3,[["turntype",4]]]],[[["",0],["laneid",3]],["option",4,[["ordering",4]]]],null,[[["",0]],["result",4]],[[["",0]],["result",4]],null,[[["",0]]],[[["",0]]],[[["",0]],["string",3]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],[[]],null,null,null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["movementid",3]],[[["",0]],["compressedmovementid",3]],[[["",0]],["movement",3]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["movementid",3]],["ordering",4]],[[["",0],["compressedmovementid",3]],["ordering",4]],[[["",0],["movement",3]],["bool",0]],null,[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0],["movementid",3]],["bool",0]],[[["",0],["compressedmovementid",3]],["bool",0]],[[["",0],["movement",3]],["bool",0]],[[["",0],["",0]],["bool",0]],[[["",0],["",0]],["bool",0]],[[["directedroad",3],["map",3]],["result",6,[["directedroadid",3]]]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["intersectionid",3],["map",3]],["btreemap",3,[["movementid",3],["movement",3]]]],[[]],[[]],[[]],null,[[["turn",3],["map",3]],["result",6,[["movementid",3]]]],null,[[["",0]],["u64",0]],[[["",0]],["u64",0]],[[["",0],["",0]]],[[["",0],["",0]]],null,null,null,[[]],[[]],[[]],null,[[["vec",3,[["polyline",3]]],["directedroadid",3],["directedroadid",3]],["result",6,[["polyline",3]]]],[[["",0],["movementid",3]],["bool",0]],[[["",0],["compressedmovementid",3]],["bool",0]],[[["",0],["movement",3]],["bool",0]],null,[[["",0],["movementid",3]],["option",4,[["ordering",4]]]],[[["",0],["compressedmovementid",3]],["option",4,[["ordering",4]]]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0],["map",3]]],null,[[["",0]]],[[["",0]]],[[["",0]]],[[["",0],["map",3]],["turn",3]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],null,[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],[[]],null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["usize",0]],[[["",0]],["parkinglotid",3]],[[["",0]],["parkinglot",3]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["parkinglotid",3]],["ordering",4]],[[],["result",4]],[[],["result",4]],null,null,[[["",0],["parkinglotid",3]],["bool",0]],[[["",0],["",0]],["bool",0]],null,[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],[[["",0]],["u64",0]],[[["",0],["",0]]],null,[[]],[[]],[[["",0],["parkinglotid",3]],["bool",0]],null,[[["",0],["parkinglotid",3]],["option",4,[["ordering",4]]]],null,[[["",0]],["result",4]],[[["",0]],["result",4]],null,null,null,[[["",0]]],[[["",0]]],[[["",0]],["string",3]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],null,null,null,null,null,null,null,null,null,[[["",0]],["accessrestrictions",3]],null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[],["vec",3,[["directedroadid",3]]]],[[]],null,[[["",0],["direction",4]],["vec",3]],[[["",0]],["vec",3]],[[["",0]],["vec",3]],[[["",0]],["roadid",3]],[[["",0]],["directedroadid",3]],[[["",0]],["sideofroad",4]],[[["",0]],["roadsideid",3]],[[["",0]],["road",3]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["roadid",3]],["ordering",4]],[[["",0],["directedroadid",3]],["ordering",4]],[[["",0],["sideofroad",4]],["ordering",4]],[[["",0],["roadsideid",3]],["ordering",4]],[[["",0],["road",3]],["commonendpoint",4]],null,null,null,[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],null,[[["",0],["laneid",3]]],[[["",0],["intersectionid",3]],["directedroadid",3]],[[["",0],["intersectionid",3]],["directedroadid",3]],[[["map",3]],["intersectionid",3]],null,[[["",0],["roadid",3]],["bool",0]],[[["",0],["directedroadid",3]],["bool",0]],[[["",0],["sideofroad",4]],["bool",0]],[[["",0],["roadsideid",3]],["bool",0]],[[["",0],["",0]],["bool",0]],[[["",0],["",0]],["bool",0]],[[["",0],["",0]],["bool",0]],[[["",0],["",0]],["bool",0]],[[["",0],["laneid",3],["fn",8]],["option",4,[["laneid",3]]]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],[[]],[[["",0]],["usize",0]],[[["",0],["map",3]],["polyline",3]],[[["",0],["direction",4],["map",3]],["result",6,[["polygon",3]]]],[[["",0]],["distance",3]],[[["",0]],["u64",0]],[[["",0]],["u64",0]],[[["",0]],["u64",0]],[[["",0]],["u64",0]],[[["",0],["laneid",3],["laneid",3]],["vec",3,[["laneid",3]]]],[[["",0],["option",4,[["string",3]]]],["string",3]],[[["map",3]],["lane",3]],[[["",0]],["roadrank",4]],[[["",0]],["polygon",3]],[[["",0]],["distance",3]],[[["",0],["map",3]],["option",4,[["zone",3]]]],[[["lanetype",4],["map",3]],["bool",0]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["map",3],["direction",4]],["bool",0]],null,[[["",0],["intersectionid",3]],["vec",3]],[[]],[[]],[[]],[[]],[[]],[[["",0]],["bool",0]],[[["",0],["map",3]],["bool",0]],[[["",0]],["bool",0]],[[["",0]],["bool",0]],[[["",0]],["bool",0]],[[["",0]],["bool",0]],[[["",0]],["bool",0]],[[["",0]],["bool",0]],[[["",0]],["vec",3,[["lanespec",3]]]],[[["pathconstraints",4],["map",3]],["vec",3,[["laneid",3]]]],null,[[["",0]],["distance",3]],[[["map",3]],["laneid",3]],[[["",0],["roadid",3]],["bool",0]],[[["",0],["directedroadid",3]],["bool",0]],[[["",0],["roadsideid",3]],["bool",0]],[[["",0]],["option",4,[["direction",4]]]],null,null,[[["",0],["intersectionid",3]],["intersectionid",3]],[[],["roadsideid",3]],[[["",0],["laneid",3]],["option",4,[["laneid",3]]]],[[["",0],["roadid",3]],["option",4,[["ordering",4]]]],[[["",0],["directedroadid",3]],["option",4,[["ordering",4]]]],[[["",0],["sideofroad",4]],["option",4,[["ordering",4]]]],[[["",0],["roadsideid",3]],["option",4,[["ordering",4]]]],null,[[["",0],["vec",3,[["lanespec",3]]]]],null,null,[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0],["distance",3]],["result",6,[["polyline",3]]]],null,null,[[["",0]],["speed",3]],[[["map",3]],["intersectionid",3]],null,[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]],["string",3]],[[["",0]],["string",3]],null,[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],null,[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],null,[[]],[[]],[[]],[[]],[[]],null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["controlstopsign",3]],[[["",0]],["roadwithstopsign",3]],[[["",0],["",0]]],[[["",0],["",0]]],[[],["result",4]],[[],["result",4]],[[["",0],["controlstopsign",3]],["bool",0]],[[["",0],["roadwithstopsign",3]],["bool",0]],[[["",0],["roadid",3]]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],[[["",0],["turnid",3],["map",3]],["turnpriority",4]],null,[[]],[[]],null,null,[[["",0],["controlstopsign",3]],["bool",0]],[[["",0],["roadwithstopsign",3]],["bool",0]],[[["map",3],["intersectionid",3]],["controlstopsign",3]],null,[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],null,null,null,null,null,null,[[["",0],["duration",3],["duration",3],["map",3]],["result",6]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["controltrafficsignal",3]],[[["",0]],["stage",3]],[[["",0]],["stagetype",4]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["intersection",3]],["bool",0]],[[["",0],["intersection",3]],["bool",0]],[[["",0],["movementid",3],["intersection",3]],["bool",0]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0],["movement",3],["turnpriority",4]]],[[["",0],["movement",3]]],[[["",0],["controltrafficsignal",3]],["bool",0]],[[["",0],["stage",3]],["bool",0]],[[["",0],["stagetype",4]],["bool",0]],[[["",0],["map",3]],["trafficsignal",3]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],[[]],[[["",0],["usize",0],["intersection",3]],["duration",3]],[[["map",3],["intersectionid",3]],["vec",3]],[[["",0],["movementid",3]],["turnpriority",4]],[[["",0],["turnid",3],["intersection",3]],["turnpriority",4]],null,[[["trafficsignal",3],["intersectionid",3],["map",3]],["result",6,[["controltrafficsignal",3]]]],[[["",0],["bool",0],["intersection",3]],["bool",0]],[[]],[[]],[[]],[[["",0],["intersection",3]],["option",4,[["duration",3]]]],[[["",0],["intersection",3]],["btreeset",3,[["movementid",3]]]],[[["",0],["controltrafficsignal",3]],["bool",0]],[[["",0],["stage",3]],["bool",0]],[[["",0],["stagetype",4]],["bool",0]],[[["map",3],["intersectionid",3]],["controltrafficsignal",3]],[[],["stage",3]],null,null,[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["duration",3]],[[["",0]],["duration",3]],null,null,[[["",0]]],[[["",0]]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0],["intersection",3]],["result",6]],[[["map",3],["intersectionid",3]],["controltrafficsignal",3]],[[]],[[]],[[]],null,null,null,null,null,null,null,null,null,null,[[["",0],["map",3]],["vec",3,[["pathrequest",3]]]],[[["",0],["map",3]],["result",6,[["vec",3,[["path",3]]]]]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["transitstopid",3]],[[["",0]],["transitrouteid",3]],[[["",0]],["transitstop",3]],[[["",0]],["transitroute",3]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["transitstopid",3]],["ordering",4]],[[["",0],["transitrouteid",3]],["ordering",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],null,null,[[["",0],["transitstopid",3]],["bool",0]],[[["",0],["transitrouteid",3]],["bool",0]],[[["",0],["transitstop",3]],["bool",0]],[[["",0],["",0]],["bool",0]],[[["",0],["",0]],["bool",0]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],[[["",0]],["u64",0]],[[["",0]],["u64",0]],null,null,[[["",0],["",0]]],[[["",0],["",0]]],null,null,null,[[]],[[]],[[]],[[]],null,null,null,[[["",0],["transitstopid",3]],["bool",0]],[[["",0],["transitrouteid",3]],["bool",0]],[[["",0],["transitstop",3]],["bool",0]],null,[[["",0],["transitstopid",3]],["option",4,[["ordering",4]]]],[[["",0],["transitrouteid",3]],["option",4,[["ordering",4]]]],[[["",0]],["str",0]],null,null,[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],null,null,null,null,null,[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]],["string",3]],[[["",0]],["string",3]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],[[]],[[]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0]],["angle",3]],[[["",0]],["bool",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["turnid",3]],[[["",0]],["turntype",4]],[[["",0]],["turnpriority",4]],[[["",0]],["turn",3]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["turnid",3]],["ordering",4]],[[["",0],["turntype",4]],["ordering",4]],[[["",0],["turn",3]],["bool",0]],[[["",0]],["option",4,[["line",3]]]],[[["",0],["map",3]],["option",4,[["directedroadid",3]]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],null,[[["",0],["turnid",3]],["bool",0]],[[["",0],["turntype",4]],["bool",0]],[[["",0],["turnpriority",4]],["bool",0]],[[["",0],["turn",3]],["bool",0]],[[["",0],["",0]],["bool",0]],[[["",0],["",0]],["bool",0]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],null,[[["",0]],["u64",0]],[[["",0],["",0]]],null,[[]],[[]],[[]],[[]],[[["",0],["map",3]],["bool",0]],[[["",0],["turnid",3]],["bool",0]],[[["",0],["turn",3]],["bool",0]],null,[[["",0],["turnid",3]],["option",4,[["ordering",4]]]],[[["",0],["turntype",4]],["option",4,[["ordering",4]]]],[[["",0],["turnpriority",4]],["option",4,[["ordering",4]]]],[[],["bool",0]],[[["",0],["pathconstraints",4],["map",3]]],[[["",0],["map",3]],["bool",0]],[[["",0],["intersection",3],["map",3]],["bool",0]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],null,[[["map",3]],["movementid",3]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]],["string",3]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],null,[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],[[]],[[]],null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["accessrestrictions",3]],[[["",0]],["zone",3]],[[["",0],["",0]]],[[["",0],["",0]]],[[],["result",4]],[[],["result",4]],[[["",0],["accessrestrictions",3]],["bool",0]],[[["",0],["zone",3]],["bool",0]],[[["map",3],["roadid",3]],["zone",3]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],[[["map",3]],["vec",3,[["zone",3]]]],null,[[["",0],["accessrestrictions",3]],["bool",0]],[[["",0],["zone",3]],["bool",0]],[[],["accessrestrictions",3]],null,[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["roadrank",4]],[[["",0]],["nodeid",3]],[[["",0]],["wayid",3]],[[["",0]],["relationid",3]],[[["",0]],["osmid",4]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["roadrank",4]],["ordering",4]],[[["",0],["nodeid",3]],["ordering",4]],[[["",0],["wayid",3]],["ordering",4]],[[["",0],["relationid",3]],["ordering",4]],[[["",0],["osmid",4]],["ordering",4]],[[],["result",4,[["nodeid",3]]]],[[],["result",4,[["wayid",3]]]],[[],["result",4,[["relationid",3]]]],[[],["result",4,[["osmid",4]]]],[[["str",0]],["usize",0]],[[["",0],["roadrank",4]],["bool",0]],[[["",0],["nodeid",3]],["bool",0]],[[["",0],["wayid",3]],["bool",0]],[[["",0],["relationid",3]],["bool",0]],[[["",0],["osmid",4]],["bool",0]],[[["",0],["",0]],["bool",0]],[[["",0],["",0]],["bool",0]],[[["",0],["",0]],["bool",0]],[[["",0],["",0]],["bool",0]],[[["",0],["",0]],["bool",0]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[]],[[]],[[]],[[]],[[]],[[["str",0]],["roadrank",4]],[[["",0]],["u64",0]],[[["",0]],["u64",0]],[[["",0]],["u64",0]],[[["",0]],["u64",0]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[],["i64",0]],[[]],[[]],[[]],[[]],[[]],[[["",0],["nodeid",3]],["bool",0]],[[["",0],["wayid",3]],["bool",0]],[[["",0],["relationid",3]],["bool",0]],[[["",0],["osmid",4]],["bool",0]],[[["",0],["roadrank",4]],["option",4,[["ordering",4]]]],[[["",0],["nodeid",3]],["option",4,[["ordering",4]]]],[[["",0],["wayid",3]],["option",4,[["ordering",4]]]],[[["",0],["relationid",3]],["option",4,[["ordering",4]]]],[[["",0],["osmid",4]],["option",4,[["ordering",4]]]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]],["string",3]],[[["",0]],["string",3]],[[["",0]],["string",3]],[[["",0]],["string",3]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],[[]],[[]],[[]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[],["vec",3,[["pathconstraints",4]]]],null,null,null,null,null,[[]],[[]],[[]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],null,[[["lane",3],["map",3]],["bool",0]],[[["road",3],["map",3]],["bool",0]],[[["",0]]],[[["",0]],["routingparams",3]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["pathconstraints",4]],["ordering",4]],[[]],[[["deserializer",8]],["result",4,[["enumset",3,[["pathconstraints",4]]]]]],[[],["result",4]],[[],["result",4]],null,null,[[["u32",0]]],[[],["u32",0]],[[["",0],["",0]],["bool",0]],[[["",0],["enumset",3]],["bool",0]],[[["",0],["routingparams",3]],["bool",0]],[[["",0],["",0]],["bool",0]],[[["vec",3,[["laneid",3]]],["map",3]],["vec",3,[["laneid",3]]]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],[[["lanetype",4]],["pathconstraints",4]],[[]],[[]],null,[[["",0],["routingparams",3]],["bool",0]],null,[[]],[[["",0],["pathconstraints",4]],["option",4,[["ordering",4]]]],null,[[["duration",3]],["usize",0]],[[["",0]],["result",4]],[[["enumset",3,[["pathconstraints",4]]],["serializer",8]],["result",4]],[[["",0]],["result",4]],[[]],[[["",0]]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],null,null,[[["usize",0]],["duration",3]],null,null,null,null,[[]],[[]],null,[[["movementid",3],["pathconstraints",4],["map",3]],["duration",3]],null,null,null,null,null,null,null,null,[[["",0],["usize",0]],["hashmap",3,[["usize",0],["usize",0]]]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0],["usize",0],["usize",0]],["option",4]],[[["",0],["vec",3],["vec",3]],["option",4]],[[["",0]]],[[["",0],["",0]]],[[["",0],["inputgraph",3]],["pathfindengine",4]],[[],["result",4]],[[]],[[]],[[]],[[]],[[["",0]],["bool",0]],[[["",0]],["createengine",4]],[[["",0]],["result",4]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],null,null,null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["nodemap",3]],[[["",0],["",0]]],[[],["result",4]],[[["deserializer",8]],["result",4,[["nodemap",3,[["",26,[["deserialize",8],["copy",8],["ord",8],["debug",8],["serialize",8]]]]]]]],[[]],[[]],[[["",0]],["nodeid",6]],[[["",0]],["nodeid",6]],[[["",0],["inputgraph",3]]],null,null,[[]],[[]],[[],["nodemap",3]],null,[[["",0]],["result",4]],[[["",0]]],[[["",0],["usize",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],null,null,null,null,null,null,[[["",0],["pathrequest",3],["map",3]],["option",4]],[[["",0],["map",3],["timer",3]]],null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],null,null,null,null,[[["",0]]],[[["",0]],["pathfindercaching",4]],[[["",0],["",0]]],[[["",0],["",0]]],[[],["result",4]],[[],["pathfinder",3]],[[["",0],["pathfindercaching",4]],["bool",0]],[[["",0],["map",3],["createengine",4]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[["map",3],["routingparams",3],["createengine",4],["timer",3]],["pathfinder",3]],[[["map",3],["routingparams",3],["vec",3,[["pathconstraints",4]]],["timer",3]]],[[["map",3],["routingparams",3],["vec",3,[["pathconstraints",4]]],["timer",3]]],[[["map",3],["routingparams",3],["createengine",4],["vec",3,[["pathconstraints",4]]],["timer",3]],["pathfinder",3]],null,[[["",0],["pathrequest",3],["map",3]],["option",4,[["pathv2",3]]]],[[["",0],["pathrequest",3],["map",3]],["option",4,[["pathv2",3]]]],[[["",0],["map",3],["pathrequest",3],["routingparams",3]],["option",4,[["pathv2",3]]]],[[["",0],["pathrequest",3],["routingparams",3],["pathfindercaching",4],["map",3]],["option",4,[["pathv2",3]]]],[[["",0]],["result",4]],[[["",0],["map",3],["position",3],["position",3]],["option",4]],[[["",0]]],[[["",0]]],null,[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],[[]],null,null,null,null,null,[[["intersectionid",3],["map",3]],["option",4,[["btreeset",3,[["intersectionid",3]]]]]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["uberturn",3]],[[["",0]],["uberturnv2",3]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["uberturnv2",3]],["ordering",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["laneid",3]],[[["",0]],["directedroadid",3]],[[["",0],["uberturn",3]],["bool",0]],[[["",0],["uberturnv2",3]],["bool",0]],[[["",0],["",0]],["bool",0]],[[["",0]],["laneid",3]],[[["",0]],["directedroadid",3]],[[["map",3]],["vec",3,[["intersectioncluster",3]]]],[[["turnid",3],["map",3],["btreeset",3]],["vec",3,[["uberturn",3]]]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],[[]],[[["",0],["map",3]],["polyline",3]],[[]],[[]],[[]],[[["map",3]],["vec",3,[["uberturnv2",3]]]],null,[[["",0],["uberturn",3]],["bool",0]],[[["",0],["uberturnv2",3]],["bool",0]],[[["btreeset",3,[["intersectionid",3]]],["map",3]]],[[["",0],["uberturnv2",3]],["option",4,[["ordering",4]]]],null,null,[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]]],[[["",0]]],[[["turnid",3],["btreemap",3]],["vec",3,[["turnid",3]]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],null,[[]],[[]],[[]],null,null,null,null,null,null,null,[[["",0]],["option",4,[["uberturn",3]]]],[[["",0],["pathstep",4],["map",3]]],null,[[["",0]],["laneid",3]],[[["",0]],["traversable",4]],[[["",0]],["turnid",3]],[[["map",3],["buildingid",3],["buildingid",3],["pathconstraints",4]],["option",4,[["pathrequest",3]]]],[[["map",3],["directedroadid",3],["directedroadid",3],["pathconstraints",4]],["option",4,[["pathrequest",3]]]],null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["pathstep",4]],[[["",0]],["path",3]],[[["",0]],["pathrequest",3]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["pathstep",4]],["ordering",4]],null,[[["",0]],["distance",3]],null,[[["",0]],["pathstep",4]],[[["",0]],["option",4]],null,[[["map",3],["vec",3,[["pathrequest",3]]]],["vec",3]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0],["map",3],["pathstep",4]],["distance",3]],null,[[["",0],["pathstep",4]],["bool",0]],[[["",0],["path",3]],["bool",0]],[[["",0],["pathrequest",3]],["bool",0]],[[["",0],["",0]],["bool",0]],[[["",0],["",0]],["bool",0]],[[["",0],["map",3],["option",4,[["speed",3]]]],["duration",3]],[[["",0],["map",3],["distance",3],["option",4,[["distance",3]]]],["result",6,[["polyline",3]]]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],[[]],[[["",0]],["vec",3,[["laneid",3]]]],[[["",0]],["u64",0]],[[["",0]],["pathrequest",3]],[[["",0],["map",3],["distance",3]],["result",6,[["pathstep",4]]]],[[["",0]],["vecdeque",3]],[[["",0],["map",3]]],[[["",0],["",0]]],[[]],[[]],[[]],[[["",0]],["bool",0]],[[["",0]],["bool",0]],[[["",0],["turnid",3]],["bool",0]],[[["",0]],["bool",0]],[[["",0]],["pathstep",4]],[[["position",3],["position",3],["pathconstraints",4],["map",3]],["pathrequest",3]],[[["",0],["option",4,[["speed",3]]],["pathconstraints",4],["map",3]],["speed",3]],[[["",0],["option",4,[["speed",3]]],["pathconstraints",4],["map",3]]],[[["",0]],["option",4,[["pathstep",4]]]],[[["",0],["usize",0],["pathstep",4],["map",3]]],[[["",0],["pathstep",4]],["bool",0]],[[["",0],["path",3]],["bool",0]],[[["",0],["pathrequest",3]],["bool",0]],[[["map",3],["vec",3,[["pathstep",4]]],["pathrequest",3],["vec",3,[["uberturn",3]]],["vec",3,[["laneid",3]]]],["path",3]],[[["",0]],["pathstep",4]],null,[[["",0],["pathstep",4]],["option",4,[["ordering",4]]]],[[["",0]],["f64",0]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0],["map",3]],["pathstep",4]],null,null,[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]],["string",3]],[[["",0]],["distance",3]],null,[[["",0],["map",3]],["option",4,[["polyline",3]]]],[[["",0],["map",3],["distance",3]],["option",4,[["polyline",3]]]],[[["",0],["map",3]],["result",6,[["polygon",3]]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],null,[[["map",3]]],[[["map",3]]],[[["map",3],["pathrequest",3]]],[[["position",3],["position",3],["pathconstraints",4]],["pathrequest",3]],[[]],[[]],[[]],[[["position",3],["position",3]],["pathrequest",3]],null,null,null,null,null,null,null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["pathstepv2",4]],[[["",0]],["pathv2",3]],[[["",0],["",0]]],[[["",0],["",0]]],null,[[["",0],["roadid",3]],["bool",0]],[[],["result",4]],[[],["result",4]],[[["map",3],["vec",3,[["uberturnv2",3]]]],["vec",3,[["uberturn",3]]]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],[[["vec",3,[["directedroadid",3]]],["pathrequest",3],["duration",3],["vec",3,[["uberturnv2",3]]],["map",3]],["pathv2",3]],[[["",0]],["duration",3]],[[["",0]],["pathrequest",3]],[[["",0]],["vec",3]],[[]],[[]],[[["map",3]],["result",6,[["path",3]]]],[[["map",3]],["result",6,[["path",3]]]],[[["vec",3,[["pathstepv2",4]]],["pathrequest",3],["duration",3],["vec",3,[["uberturnv2",3]]]],["pathv2",3]],null,[[["",0]],["result",4]],[[["",0]],["result",4]],null,[[["",0]]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],null,[[]],[[]],null,null,null,null,null,null,null,null,[[["",0],["position",3],["map",3]],["hashmap",3,[["directedroadid",3],["duration",3]]]],[[["",0],["map",3]]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["vehiclepathfinder",3]],[[["",0]],["node",4]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["node",4]],["ordering",4]],null,[[],["result",4]],[[],["result",4]],[[],["vehiclepathfinder",3]],null,[[["",0],["node",4]],["bool",0]],[[["",0],["",0]],["bool",0]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],[[["",0]],["u64",0]],[[["",0],["",0]]],[[]],[[]],[[["pathconstraints",4],["nodemap",3],["routingparams",3],["map",3]],["inputgraph",3]],[[["",0],["node",4]],["bool",0]],[[["map",3],["pathconstraints",4],["routingparams",3],["createengine",4]],["vehiclepathfinder",3]],null,null,[[["",0],["node",4]],["option",4,[["ordering",4]]]],[[["",0],["pathrequest",3],["map",3]],["option",4,[["pathv2",3]]]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],null,[[["directedroadid",3],["movementid",3],["pathconstraints",4],["routingparams",3],["map",3]],["option",4,[["duration",3]]]],[[]],[[]],null,null,null,null,null,null,null,[[["",0],["position",3],["map",3]],["hashmap",3,[["directedroadid",3],["duration",3]]]],[[["",0],["map",3],["option",4]]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["sidewalkpathfinder",3]],[[["",0],["",0]]],[[],["result",4]],[[],["sidewalkpathfinder",3]],null,[[]],[[]],[[["nodemap",3],["option",4],["map",3]],["inputgraph",3]],[[["map",3],["option",4],["createengine",4]],["sidewalkpathfinder",3]],null,[[["pathrequest",3],["map",3]],["pathv2",3]],[[["",0],["pathrequest",3],["map",3]],["option",4,[["pathv2",3]]]],[[["",0]],["result",4]],[[["",0],["map",3],["position",3],["position",3]],["option",4]],[[["",0]]],[[["inputgraph",3],["nodemap",3],["map",3],["vehiclepathfinder",3],["vehiclepathfinder",3]]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],null,[[]],[[["vec",3,[["walkingnode",4]]],["map",3]],["vec",3,[["pathstepv2",4]]]],null,null,null,null,null,null,null,null,null,null,[[["",0]],["laneid",3]],[[["",0]],["turnid",3]],[[["speed",3],["f64",0]],["speed",3]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["distance",3],["map",3]],["option",4,[["position",3]]]],[[["",0]],["position",3]],[[["",0]],["traversable",4]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["position",3]],["ordering",4]],[[["",0],["traversable",4]],["ordering",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["distance",3]],null,[[["laneid",3],["map",3]],["position",3]],[[["",0],["position",3]],["bool",0]],[[["",0],["traversable",4]],["bool",0]],[[["",0],["laneid",3],["map",3]],["position",3]],[[["",0],["laneid",3],["distance",3],["map",3]],["position",3]],[[["",0],["",0]],["bool",0]],[[["",0],["",0]],["bool",0]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],[[["",0]],["u64",0]],[[["map",3]],["polyline",3]],[[["",0],["map",3]],["isize",0]],[[["",0],["",0]]],[[]],[[]],[[["",0]],["laneid",3]],null,[[["movementid",3],["option",4,[["speed",3]]],["pathconstraints",4],["map",3]],["speed",3]],[[["directedroadid",3],["option",4,[["speed",3]]],["pathconstraints",4],["map",3]]],[[["",0]],["option",4,[["laneid",3]]]],[[["",0]],["option",4,[["turnid",3]]]],[[["distance",3],["map",3]],["option",4,[["position",3]]]],[[["",0],["position",3]],["bool",0]],[[["",0],["traversable",4]],["bool",0]],[[["laneid",3],["distance",3]],["position",3]],[[["",0],["position",3]],["option",4,[["ordering",4]]]],[[["",0],["traversable",4]],["option",4,[["ordering",4]]]],[[["",0],["map",3]],["pt2d",3]],[[["",0],["map",3]]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["laneid",3]],["position",3]],[[["",0]]],[[["",0]]],[[["",0]],["string",3]],[[["",0]],["string",3]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],[[["speed",3],["f64",0]],["speed",3]],null,null],"p":[[3,"NamePerLanguage"],[3,"AreaID"],[3,"BuildingID"],[3,"IntersectionID"],[3,"ParkingLotID"],[3,"RoadID"],[3,"TransitRouteID"],[4,"PathStepV2"],[4,"Direction"],[4,"AmenityType"],[4,"TurnPriority"],[4,"PathConstraints"],[4,"LaneType"],[4,"IntersectionType"],[4,"CommonEndpoint"],[4,"PathfinderCaching"],[4,"EditCmd"],[4,"EditIntersection"],[4,"BuildingType"],[4,"PathStep"],[4,"TurnType"],[4,"BufferType"],[4,"StageType"],[4,"AreaType"],[4,"Traversable"],[4,"DrivingSide"],[4,"SideOfRoad"],[4,"OffstreetParking"],[3,"EditRoad"],[3,"Road"],[3,"LaneSpec"],[3,"EditEffects"],[3,"Building"],[3,"ParkingLot"],[3,"Map"],[3,"AccessRestrictions"],[3,"PathRequest"],[3,"Amenity"],[3,"Movement"],[3,"Area"],[3,"City"],[3,"RoutingParams"],[3,"Pathfinder"],[3,"MapConfig"],[3,"Lane"],[3,"Path"],[3,"Zone"],[3,"PathfinderCache"],[3,"MapEdits"],[3,"PermanentMapEdits"],[3,"RawToMapOptions"],[3,"PathV2"],[3,"MovementID"],[3,"DirectedRoadID"],[3,"Position"],[3,"TransitStop"],[3,"TurnID"],[3,"Intersection"],[3,"TransitRoute"],[3,"Turn"],[3,"CompressedMovementID"],[3,"ControlStopSign"],[3,"ControlTrafficSignal"],[3,"TransitStopID"],[3,"Perimeter"],[3,"RoadWithStopSign"],[3,"IntersectionCluster"],[3,"LaneID"],[3,"UberTurn"],[3,"Block"],[3,"Stage"],[3,"RoadSideID"],[13,"ResidentialCommercial"],[13,"Commercial"],[13,"Residential"],[13,"One"],[13,"ChangeIntersection"],[13,"ChangeCrosswalks"],[13,"ChangeRouteSchedule"],[13,"ChangeRoad"],[13,"StopSign"],[13,"TrafficSignal"],[13,"Buffer"],[13,"PublicGarage"],[13,"Private"],[13,"Lane"],[13,"ContraflowLane"],[13,"Turn"],[13,"ContraflowTurn"],[13,"Along"],[13,"Contraflow"],[13,"Movement"],[13,"ContraflowMovement"],[13,"Fixed"],[13,"Variable"],[13,"Lane"],[13,"Turn"],[4,"Spot"],[4,"WalkingNode"],[3,"WalkingOptions"],[3,"Item"],[13,"Building"],[13,"Border"],[13,"DirectedRoad"],[13,"SidewalkEndpoint"],[13,"RideTransit"],[13,"LeaveMap"],[3,"Item"],[3,"EditCrosswalks"],[3,"OriginalLane"],[3,"ChangeLaneType"],[3,"ReverseLane"],[3,"ChangeSpeedLimit"],[3,"ChangeAccessRestrictions"],[4,"PermanentEditCmd"],[4,"PermanentEditIntersection"],[3,"PermanentEditCrosswalks"],[13,"ChangeRouteSchedule"],[13,"ChangeIntersection"],[13,"ChangeCrosswalks"],[13,"ChangeRoad"],[13,"TrafficSignal"],[13,"StopSign"],[3,"BorderSnapper"],[3,"NodeID"],[3,"WayID"],[3,"RelationID"],[4,"RoadRank"],[4,"OsmID"],[13,"Node"],[13,"Way"],[13,"Relation"],[4,"CreateEngine"],[4,"PathfindEngine"],[13,"CHSeedingNodeOrdering"],[13,"Dijkstra"],[13,"CH"],[3,"NodeMap"],[3,"InnerNodeMap"],[3,"UberTurnV2"],[4,"Node"],[3,"VehiclePathfinder"],[13,"Road"],[13,"UberTurn"],[3,"SidewalkPathfinder"]]},\ +"map_model":{"doc":"map_model describes the world where simulations occur. …","t":[12,12,12,12,12,12,12,3,13,3,4,3,3,4,13,13,13,13,13,13,13,13,3,13,13,13,4,3,3,4,13,13,13,13,13,13,13,13,13,13,13,13,13,3,13,13,4,3,13,13,13,13,13,13,3,3,13,13,13,13,3,4,13,4,4,3,4,3,13,13,13,13,13,13,13,13,13,3,3,3,4,13,13,3,13,13,3,3,4,13,13,13,13,13,13,17,17,3,3,3,13,13,3,13,3,17,3,13,13,4,13,17,13,13,3,3,3,4,3,4,4,3,3,3,4,13,13,3,3,13,13,13,13,3,13,13,13,13,3,13,13,13,13,13,13,3,3,3,3,3,17,13,13,13,13,13,4,13,3,4,13,13,13,13,13,13,13,13,13,13,3,3,3,3,4,3,13,13,3,4,4,13,3,13,13,13,13,13,3,12,12,11,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,11,12,12,12,12,12,12,11,12,12,12,12,12,12,11,0,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,0,12,12,12,11,11,12,12,12,12,12,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,0,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,12,11,12,12,12,12,12,12,12,11,12,11,12,12,12,0,0,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,11,11,12,12,11,12,11,11,11,12,12,12,12,12,11,11,11,11,11,0,12,12,11,11,12,12,12,12,12,12,12,0,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,12,0,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,2,11,11,11,12,12,12,12,12,12,11,12,12,12,12,12,12,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,12,12,12,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,0,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,11,12,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,3,17,12,11,11,12,11,12,11,11,11,11,12,11,11,11,11,11,13,13,13,3,13,13,13,4,4,3,5,5,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,5,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,5,11,11,11,0,12,12,12,12,12,12,12,12,3,3,5,12,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,12,12,13,13,13,13,13,4,3,3,4,3,3,2,13,13,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,12,12,12,12,11,11,11,11,11,11,11,11,11,11,12,0,11,11,12,12,11,11,11,12,11,11,11,11,11,5,5,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,12,12,5,11,11,11,11,11,11,12,12,0,12,12,5,5,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,3,3,3,3,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,5,5,5,5,5,5,5,5,5,5,5,5,11,11,11,11,11,11,11,11,11,11,12,12,12,12,11,11,11,11,11,12,11,12,12,12,12,12,12,12,12,12,5,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,5,11,11,11,11,11,5,13,13,13,13,13,17,4,3,4,3,13,13,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,12,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,3,11,11,0,0,11,11,11,12,11,11,11,11,12,5,0,12,2,5,11,0,0,5,11,11,0,11,11,0,5,5,5,5,5,5,5,5,17,17,5,5,5,5,5,5,5,5,0,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,3,11,11,12,12,5,5,5,11,11,11,12,12,11,11,11,11,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,12,3,3,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,12,12,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,3,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,12,12,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,3,3,4,13,13,4,13,13,13,13,12,12,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,12,12,12,11,11,11,12,12,12,11,12,11,11,11,11,11,12,5,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,3,3,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,12,12,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,13,4,3,3,13,13,17,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,12,5,11,12,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,3,3,3,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,5,11,11,11,11,11,11,11,12,11,12,11,11,11,11,12,12,12,11,11,11,12,5,11,11,11,12,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,12,3,3,12,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,12,11,11,11,11,11,11,12,11,11,11,12,11,12,11,11,12,12,12,11,11,11,11,11,11,11,11,11,11,11,12,3,13,13,3,3,3,4,12,11,12,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,11,11,11,11,11,12,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,12,11,12,12,11,11,11,11,11,11,12,12,11,11,12,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,12,11,11,11,11,11,12,3,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,12,12,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,17,3,13,3,4,13,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,3,3,3,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,12,12,12,11,11,11,11,12,12,12,11,11,11,12,11,11,11,12,12,11,11,11,11,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,13,13,13,13,13,13,13,3,3,4,4,13,13,13,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,12,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,3,3,12,12,11,11,11,11,11,11,11,11,11,11,11,11,5,11,11,11,11,11,11,11,12,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,13,17,17,17,13,17,17,13,17,17,13,3,17,17,4,17,17,17,13,3,4,17,13,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,13,13,13,2,2,4,2,2,2,2,2,2,2,13,3,13,2,11,12,12,12,12,12,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,12,0,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,0,11,11,0,5,11,11,11,11,11,11,11,11,11,11,11,11,0,12,5,0,0,2,0,11,11,0,5,13,13,13,4,13,13,13,4,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,3,3,11,11,11,11,11,11,11,5,11,11,11,11,11,12,12,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,13,13,13,3,3,4,11,11,12,11,11,11,11,11,11,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,12,12,3,3,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,5,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,12,12,11,11,11,11,5,11,11,11,11,11,11,11,11,11,12,11,11,11,13,13,13,3,3,4,13,11,11,12,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,12,11,11,11,12,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,12,12,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,12,5,5,5,11,11,11,11,11,12,12,12,12,13,13,13,13,4,3,11,11,11,11,11,11,11,11,12,11,11,11,5,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,12,11,11,11,11,11,11,11,11,12,11,11,12,12,12,12,4,13,13,3,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,12,11,11,11,11,11,11,11,11,11,5,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,12,5,11,11,12,12,13,13,13,3,4,11,11,11,11,11,11,11,11,12,11,11,5,11,12,5,11,11,11,11,5,11,11,11,12,11,5,12,12,12,12,13,17,17,3,4,13,11,11,5,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,5,12,12],"n":["0","0","0","0","0","0","0","AccessRestrictions","Along","Amenity","AmenityType","Area","AreaID","AreaType","Back","Bank","Banned","Bar","Beauty","Bike","Bike","Biking","Block","Border","Both","Buffer","BufferType","Building","BuildingID","BuildingType","Bus","Bus","CacheCH","CacheDijkstra","Cafe","Car","CarRepair","CarShare","ChangeCrosswalks","ChangeIntersection","ChangeRoad","ChangeRouteSchedule","Childcare","City","Closed","Commercial","CommonEndpoint","CompressedMovementID","Construction","Construction","Contraflow","ContraflowLane","ContraflowMovement","ContraflowTurn","ControlStopSign","ControlTrafficSignal","ConvenienceStore","Crosswalk","Culture","Curb","DirectedRoadID","Direction","Driving","DrivingSide","EditCmd","EditEffects","EditIntersection","EditRoad","Empty","Exercise","FastFood","Fixed","FlexPosts","Food","Fwd","GreenSpace","Hotel","Intersection","IntersectionCluster","IntersectionID","IntersectionType","Island","JerseyBarrier","Lane","Lane","Lane","LaneID","LaneSpec","LaneType","Laundry","Left","Left","Left","Library","LightRail","MAX_BIKE_SPEED","MAX_WALKING_SPEED","Map","MapConfig","MapEdits","MedianStrip","Medical","Movement","Movement","MovementID","NORMAL_LANE_THICKNESS","NamePerLanguage","NoCache","None","OffstreetParking","One","PARKING_LOT_SPOT_LENGTH","Park","Parking","ParkingLot","ParkingLotID","Path","PathConstraints","PathRequest","PathStep","PathStepV2","PathV2","Pathfinder","PathfinderCache","PathfinderCaching","Pedestrian","PedestrianPlaza","Perimeter","PermanentMapEdits","Pet","Planters","Playground","Pool","Position","PostOffice","Private","Protected","PublicGarage","RawToMapOptions","Religious","Residential","ResidentialCommercial","Right","Right","Right","Road","RoadID","RoadSideID","RoadWithStopSign","RoutingParams","SIDEWALK_THICKNESS","School","SharedLeftTurn","SharedSidewalkCorner","Shopping","Shoulder","SideOfRoad","Sidewalk","Stage","StageType","StopSign","StopSign","Straight","Stripes","StudyArea","Supermarket","Tourism","TrafficSignal","TrafficSignal","Train","TransitRoute","TransitRouteID","TransitStop","TransitStopID","Traversable","Turn","Turn","Turn","TurnID","TurnPriority","TurnType","UTurn","UberTurn","University","UnmarkedCrossing","Variable","Water","Yield","Zone","access_restrictions","access_restrictions","add_new_lane","added_turns","address","aisles","all","all_areas","all_buildings","all_costs_from","all_incoming_borders","all_intersections","all_lanes","all_outgoing_borders","all_parking_lots","all_roads","all_transit_routes","all_transit_stops","all_turns","all_zones","allow_through_traffic","alt_start","amenities","amenity_type","angle","apply_edits","area_type","areas","areas","avoid_high_stress","avoid_movements_between","avoid_roads","avoid_steep_incline_penalty","barrier_nodes","bike_graph","bike_lane_penalty","bikes_can_use_bus_lanes","biking_blackhole","blank","bldg_type","blocked_starts","borders","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","boundary","boundary_polygon","bounds","building_to_road","buildings","bus_graph","bus_lane_penalty","cache","cached_alternatives","car_graph","categorize","center_pts","changed_intersections","changed_parking_lots","changed_roads","changed_roads","changed_routes","check_lanes_ltr","city","clear_edits_before_save","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","cmp","cmp","cmp","cmp","cmp","commands","commands","complicated_turn_restrictions","config","connectivity","consolidate_all_intersections","constraints","cost","create_for_test","create_from_raw","crossed_so_far","crosswalk","crosswalk_backward","crosswalk_forward","currently_inside_ut","default_for_side","deleted_lanes","deleted_turns","describe","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","dir","dir","dir","dist_along","districts","driveway_geom","driveway_line","driving_blackhole","driving_lane_penalty","driving_pos","driving_pos","driving_side","dst","dst_i","dst_i","edit_road_cmd","edits","edits","edits_generation","edits_name","edits_name","elevation","end","end_border","eq","eq","eq","eq","eq","eq","eq","eq","eq","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","extra_spots","find_b_by_osm_id","find_dog_legs_experiment","find_driving_lane_near_building","find_i_by_osm_id","find_r_by_osm_id","find_road_between","find_tr_by_gtfs","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from","from_char","from_short_name","from_str","geom","geom","get","get_a","get_b","get_boundary_polygon","get_bounds","get_city_name","get_config","get_edits","get_edits_change_key","get_gps_bounds","get_hash","get_hash","get_hash","get_hash","get_hash","get_i","get_i_crosswalks_edit","get_i_edit","get_l","get_languages","get_movement_for_traffic_signal","get_movements_for","get_name","get_next_roads","get_next_turns_and_lanes","get_next_turns_and_lanes_for","get_parent","get_pathfinder","get_pl","get_r","get_r_edit","get_routes_serving_stop","get_stop_sign","get_t","get_tr","get_traffic_signal","get_transit_route","get_ts","get_turn_between","get_turns_for","get_turns_from_lane","get_turns_to_lane","gps_bounds","gtfs_id","gtfs_id","hack_add_area","hack_override_bldg_type","hack_override_offstreet_spots","hack_override_offstreet_spots_individ","hack_override_orig_spawn_times","hash","hash","hash","hash","hash","i","id","id","id","id","id","id","id","id","id","id","id","id","idx","idx","incoming_lanes","incremental_edit_traffic_signal","inferred_sidewalks","interior","intersection_type","intersections","into","into","into","into","into","into","into","into","into","into","into","into","is_for_moving_vehicles","is_train_stop","is_unprotected_turn","is_walkable","iter","keep_bldg_tags","keep_pathfinder_despite_edits","label_center","lane","lane_center_pts","lane_closest_to_edge","lane_type","lanes","lanes_ltr","languages","levels","load_synchronously","long_name","lt","main_road_penalty","make","map","map_loaded_directly","map_name","max_elevation","maybe_add_bike_lanes","maybe_get_a","maybe_get_b","maybe_get_i","maybe_get_l","maybe_get_pl","maybe_get_r","maybe_get_stop_sign","maybe_get_t","maybe_get_tr","maybe_get_traffic_signal","maybe_get_ts","members","members","members","merge_osm_ways","merge_zones","merge_zones","merged","minify","minify_buildings","modified_lanes","movements","must_apply_edits","must_stop","mut_lane","mut_road","mut_turn","name","name","name","name","names","ne","ne","ne","new","new_edits","objects","offset","offset","oneway_for_driving","opposite","orig_id","orig_id","orig_id","orig_req","orig_spawn_times","original_crosswalks","original_intersections","osm","osm_id","osm_id","osm_tags","osm_tags","osm_tags","osm_tags","outgoing_lanes","params","parent","parent","parking","parking_lots","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","path","pathfind","pathfind","pathfind_v2","pathfind_v2_with_params","pathfind_with_params","pathfinder","pathfinder_dirty","percent_incline","perimeter","polygon","polygon","polygon","polygon","polygon","proposal_description","proposal_description","proposal_link","proposal_link","protected_movements","raw","recalculate_all_movements","recalculate_pathfinding_after_edits","recalculate_road_to_buildings","req","restrictions","road","road","road","road","road_to_buildings","road_to_buildings","roads","roads","roads","roads","route_type","routing_params","routing_params","save","save_edits","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","short_name","short_name","should_use_transit","side","sidewalk_line","sidewalk_pos","sidewalk_pos","sidewalk_pos","simple_path_btwn","simple_path_btwn_v2","skip_ch","spawn_times","speed_limit","speed_limit","spots","src","src_i","src_i","stage_type","stages","start","start","steps","steps","stop_signs","stops","street_parking_spot_length","supports_any_movement","to","to_char","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","to_string","toggle_road_direction","total_length","traffic_signals","train_graph","transit_routes","transit_stops","transit_stops","traversable","try_apply_edits","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","turn_on_red","turn_restrictions","turn_type","turn_type","turns","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","typical_lane_widths","uber_turns","uber_turns","uber_turns","unnamed","unprotected_turn_penalty","unsaved_edits","untrimmed_center_pts","version","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","walking_graph","walking_with_transit_graph","width","width","yield_movements","zones","zorder","0","0","1","num_housing_units","num_residents","0","i","i","id","new","new","new","new","old","old","old","old","r","0","0","0","0","0","1","1","0","0","0","0","0","0","0","0","0","0","1","2","0","0","City","POLYGON_EPSILON","areas","borrow","borrow_mut","boundary","deserialize","districts","from","from_huge_map","from_individual_maps","into","name","serialize","try_from","try_into","type_id","vzip","Border","Building","DirectedRoad","Item","LeaveMap","RideTransit","SidewalkEndpoint","Spot","WalkingNode","WalkingOptions","all_vehicle_costs_from","all_walking_costs_from","allow_shoulders","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","closest","cmp","cmp","cmp","cost","deserialize","deserialize","end_transit","eq","eq","eq","equivalent","equivalent","equivalent","find_scc","fmt","fmt","from","from","from","get_hash","get_hash","hash","hash","into","into","into","ne","ne","ne","node","partial_cmp","partial_cmp","partial_cmp","serialize","serialize","to_owned","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vehicle_cost","vzip","vzip","vzip","walking","walking_speed","0","0","0","0","0","0","1","Item","WalkingOptions","all_walking_costs_from","allow_shoulders","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","cmp","common_speeds","cost","default","default_speed","eq","equivalent","from","from","into","into","ne","node","partial_cmp","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","walking_speed","0","ChangeCrosswalks","ChangeIntersection","ChangeRoad","ChangeRouteSchedule","Closed","EditCmd","EditCrosswalks","EditEffects","EditIntersection","EditRoad","MapEdits","PermanentMapEdits","StopSign","TrafficSignal","access_restrictions","added_turns","apply","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","changed_intersections","changed_lanes","changed_parking_lots","changed_roads","changed_roads","changed_routes","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","commands","compat","compress","default","deleted_lanes","deleted_turns","describe","deserialize","diff","edits_name","eq","eq","eq","eq","eq","fix_building_driveways","fix_parking_lot_driveways","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","get_checksum","get_orig_from_osm","get_title","into","into","into","into","into","into","lanes_ltr","load_from_bytes","load_from_file","merge_zones","modified_lanes","modify_lanes","ne","ne","ne","ne","ne","new","original_crosswalks","original_intersections","perma","proposal_description","proposal_link","recalculate_intersection_polygon","recalculate_turns","save","serialize","speed_limit","to_owned","to_owned","to_owned","to_owned","to_owned","to_perma","to_permanent","to_permanent","to_permanent","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","undo","update_derived","vzip","vzip","vzip","vzip","vzip","vzip","i","i","id","new","new","new","new","old","old","old","old","r","0","0","ChangeAccessRestrictions","ChangeLaneType","ChangeSpeedLimit","OriginalLane","ReverseLane","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","deserialize","deserialize","deserialize","deserialize","deserialize","dir","dst_i","fix_adaptive_stages","fix_city_name","fix_f64s","fix_intersection_ids","fix_lane_widths","fix_map_name","fix_merge_zones","fix_offset","fix_old_lane_cmds","fix_phase_to_stage","fix_plans","fix_road_direction","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","id","id","id","idx","into","into","into","into","into","l","lookup","lt","new","new","num_back","num_fwd","old","old","orig_lt","parent","remove_vehicle_caps","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","upgrade","vzip","vzip","vzip","vzip","vzip","walk","ChangeCrosswalks","ChangeIntersection","ChangeRoad","ChangeRouteSchedule","Closed","IGNORE_OLD_LANES","PermanentEditCmd","PermanentEditCrosswalks","PermanentEditIntersection","PermanentMapEdits","StopSign","TrafficSignal","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","commands","deserialize","deserialize","deserialize","deserialize","edits_name","from","from","from","from","get_title","into","into","into","into","into_cmd","into_edits","into_edits_permissive","map_name","merge_zones","proposal_description","proposal_link","serialize","serialize","serialize","serialize","to_owned","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","turns","type_id","type_id","type_id","type_id","version","vzip","vzip","vzip","vzip","with_permanent","with_permanent","gtfs_id","i","i","new","new","new","new","old","old","old","old","r","0","must_stop","RawToMapOptions","borrow","borrow_mut","bridges","buildings","clap","clone","clone_into","consolidate_all_intersections","default","from","from_clap","into","keep_bldg_tags","match_points_to_lanes","parking_lots","skip_ch","snap_driveway","snap_nodes_to_line","to_owned","traffic_signals","transit","trim_path","try_from","try_into","turns","type_id","vzip","walking_turns","find_bridges","classify_bldg","get_address","make_all_buildings","infer_spots","line_valid","make_all_parking_lots","snap_driveway","PROTECTED","YIELD","all_walk_all_yield","degenerate","expand_all_stages","four_way_four_stage","four_way_two_stage","get_possible_policies","greedy_assignment","half_signal","lagging_green","make_stages","new","stage_per_road","synchronize","three_way","add_stage","four_way_four_stage","is_conflict","make_crosswalk_variable","make_lagging_green_variable","make_signal","make_traffic_signal","merge_stages","movements","movements_from","multi_way_stages","optimize","protected_yield_stage","remove_movement","straight_types","three_way_three_stage","BorderSnapper","borrow","borrow_mut","bus_incoming_borders","bus_outgoing_borders","create_route","create_stop","finalize_transit","from","into","new","train_incoming_borders","train_outgoing_borders","try_from","try_into","type_id","vzip","curvey_turn","ensure_unique","expected_turn_types_for_four_way","make_all_turns","make_vehicle_turns","remove_merging_turns","turn_type_from_angles","verify_vehicle_connectivity","baseline_geometry","filter_turns","make_crosswalk","make_shared_sidewalk_corner","make_walking_turns","turn_id","area","block","building","intersection","lane","movement","parking_lot","road","stop_signs","traffic_signals","transit","turn","zone","0","Area","AreaID","area_type","borrow","borrow","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","cmp","deserialize","deserialize","eq","equivalent","fmt","fmt","fmt","from","from","get_hash","hash","id","into","into","ne","osm_id","osm_tags","partial_cmp","polygon","serialize","serialize","to_owned","to_owned","to_string","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","Block","Perimeter","borrow","borrow","borrow_mut","borrow_mut","calculate_coloring","check_continuity","clone","clone","clone_into","clone_into","collapse_deadends","contains","deserialize","deserialize","find_all_single_blocks","find_roads_to_skip_tracing","flip_side_of_road","fmt","from","from","interior","into","into","merge_all","partition_by_predicate","perimeter","polygon","restore_invariant","reverse_to_fix_winding_order","roads","serialize","serialize","single_block","to_block","to_owned","to_owned","try_from","try_from","try_into","try_into","try_to_merge","type_id","type_id","undo_invariant","vzip","vzip","0","Building","BuildingID","BuildingType","Commercial","Empty","OffstreetParking","Private","PublicGarage","Residential","ResidentialCommercial","address","amenities","biking_connection","bldg_type","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","cmp","deserialize","deserialize","deserialize","deserialize","driveway_geom","driving_connection","eq","eq","equivalent","fmt","fmt","fmt","fmt","fmt","from","from","from","from","get_hash","has_amenity","has_residents","hash","house_number","id","into","into","into","into","label_center","levels","name","ne","ne","num_parking_spots","orig_id","osm_tags","parking","partial_cmp","polygon","serialize","serialize","serialize","serialize","sidewalk","sidewalk_pos","sidewalk_to_bike","to_owned","to_owned","to_owned","to_owned","to_string","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","0","0","1","num_housing_units","num_residents","0","0","1","1","0","Intersection","IntersectionID","borrow","borrow","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","cmp","deserialize","deserialize","elevation","eq","equivalent","find_road_between","fmt","fmt","fmt","from","from","get_hash","get_incoming_lanes","get_outgoing_lanes","get_rank","get_road_sides_sorted_by_incoming_angle","get_roads_sorted_by_incoming_angle","get_sorted_incoming_roads","get_zorder","hash","id","incoming_lanes","intersection_type","into","into","is_border","is_closed","is_cycleway","is_deadend_for_driving","is_deadend_for_everyone","is_degenerate","is_footway","is_incoming_border","is_light_rail","is_outgoing_border","is_private","is_stop_sign","is_traffic_signal","merged","movements","name","ne","orig_id","outgoing_lanes","partial_cmp","polygon","roads","serialize","serialize","some_incoming_road","some_outgoing_road","to_owned","to_owned","to_string","try_from","try_from","try_into","try_into","turn_to_movement","turns","type_id","type_id","vzip","vzip","Both","CommonEndpoint","Lane","LaneID","None","One","PARKING_LOT_SPOT_LENGTH","biking_blackhole","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","cmp","common_endpoint","decode_u32","deserialize","deserialize","dir","dist_along_of_point","driving_blackhole","dst_i","dummy","encode_u32","end_line","endpoint","eq","eq","equivalent","first_line","first_pt","fmt","fmt","fmt","from","from","from","get_directed_parent","get_hash","get_lane_level_turn_restrictions","get_nearest_side_of_road","get_thick_polygon","hash","id","intersections","into","into","into","is_biking","is_bus","is_driving","is_light_rail","is_parking","is_shoulder","is_sidewalk","is_walkable","lane_center_pts","lane_type","last_line","last_pt","length","ne","ne","new","number_parking_spots","offset","parse_turn_type_from_osm","partial_cmp","road","serialize","serialize","src_i","to_owned","to_owned","to_string","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","width","0","CompressedMovementID","Movement","MovementID","angle","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone_into","clone_into","clone_into","cmp","cmp","conflicts_with","crosswalk","deserialize","deserialize","deserialize","eq","eq","eq","equivalent","equivalent","find_r","fmt","fmt","fmt","for_i","from","from","from","from","from_permanent","geom","get_hash","get_hash","hash","hash","i","id","idx","into","into","into","members","movement_geom","ne","ne","ne","parent","partial_cmp","partial_cmp","serialize","serialize","serialize","src_center_and_width","to","to_owned","to_owned","to_owned","to_permanent","try_from","try_from","try_from","try_into","try_into","try_into","turn_type","type_id","type_id","type_id","vzip","vzip","vzip","0","ParkingLot","ParkingLotID","aisles","borrow","borrow","borrow_mut","borrow_mut","capacity","clone","clone","clone_into","clone_into","cmp","deserialize","deserialize","driveway_line","driving_pos","eq","equivalent","extra_spots","fmt","fmt","from","from","get_hash","hash","id","into","into","ne","osm_id","partial_cmp","polygon","serialize","serialize","sidewalk_line","sidewalk_pos","spots","to_owned","to_owned","to_string","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","0","DirectedRoadID","Left","Right","Road","RoadID","RoadSideID","SideOfRoad","access_restrictions","access_restrictions_from_osm","barrier_nodes","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","both_directions","both_sides","center_pts","children","children_backwards","children_forwards","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","cmp","cmp","cmp","cmp","common_endpoint","complicated_turn_restrictions","crosswalk_backward","crosswalk_forward","deserialize","deserialize","deserialize","deserialize","deserialize","dir","dir_and_offset","directed_id_from","directed_id_to","dst_i","dst_i","eq","eq","eq","eq","equivalent","equivalent","equivalent","equivalent","find_closest_lane","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","get_detailed_rank","get_dir_change_pl","get_half_polygon","get_half_width","get_hash","get_hash","get_hash","get_hash","get_lanes_between","get_name","get_outermost_lane","get_rank","get_thick_polygon","get_width","get_zone","has_lanes","hash","hash","hash","hash","high_stress_for_bikes","id","incoming_lanes","into","into","into","into","into","is_cycleway","is_deadend_for_driving","is_driveable","is_extremely_short","is_footway","is_light_rail","is_private","is_service","lane_specs","lanes","lanes","length","must_get_sidewalk","ne","ne","ne","oneway_for_driving","orig_id","osm_tags","other_endpt","other_side","parking_to_driving","partial_cmp","partial_cmp","partial_cmp","partial_cmp","percent_incline","recreate_lanes","road","road","serialize","serialize","serialize","serialize","serialize","shift_from_left_side","side","speed_limit","speed_limit_from_osm","src_i","src_i","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","to_string","transit_stops","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","turn_restrictions","type_id","type_id","type_id","type_id","type_id","untrimmed_center_pts","vzip","vzip","vzip","vzip","vzip","zorder","ControlStopSign","RoadWithStopSign","borrow","borrow","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","deserialize","deserialize","eq","eq","flip_sign","fmt","fmt","from","from","get_priority","id","into","into","lane_closest_to_edge","must_stop","ne","ne","new","roads","serialize","serialize","to_owned","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","CROSSWALK_PACE","ControlTrafficSignal","Fixed","Stage","StageType","Variable","adjust_major_minor_timing","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone_into","clone_into","clone_into","convert_to_ped_scramble","convert_to_ped_scramble_without_promotion","could_be_protected","deserialize","deserialize","deserialize","edit_movement","enforce_minimum_crosswalk_time","eq","eq","eq","export","fmt","fmt","fmt","from","from","from","get_min_crossing_time","get_possible_policies","get_priority_of_movement","get_priority_of_turn","id","import","internal_convert_to_ped_scramble","into","into","into","max_crosswalk_time","missing_turns","ne","ne","ne","new","new","offset","protected_movements","serialize","serialize","serialize","simple_cycle_duration","simple_duration","stage_type","stages","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","validate","validating_new","vzip","vzip","vzip","yield_movements","0","0","1","2","0","TransitRoute","TransitRouteID","TransitStop","TransitStopID","all_path_requests","all_paths","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","cmp","cmp","deserialize","deserialize","deserialize","deserialize","driving_pos","end_border","eq","eq","eq","equivalent","equivalent","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","get_hash","get_hash","gtfs_id","gtfs_id","hash","hash","id","id","idx","into","into","into","into","is_train_stop","long_name","name","ne","ne","ne","orig_spawn_times","partial_cmp","partial_cmp","plural_noun","road","route_type","serialize","serialize","serialize","serialize","short_name","sidewalk_pos","spawn_times","start","stops","to_owned","to_owned","to_owned","to_owned","to_string","to_string","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","Banned","Crosswalk","Left","Protected","Right","SharedSidewalkCorner","Straight","Turn","TurnID","TurnPriority","TurnType","UTurn","UnmarkedCrossing","Yield","angle","between_sidewalks","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","cmp","cmp","conflicts_with","crosswalk_line","crosswalk_over_road","deserialize","deserialize","deserialize","deserialize","dst","eq","eq","eq","eq","equivalent","equivalent","fmt","fmt","fmt","fmt","fmt","from","from","from","from","geom","get_hash","hash","id","into","into","into","into","is_crossing_arterial_intersection","ne","ne","parent","partial_cmp","partial_cmp","partial_cmp","pedestrian_crossing","penalty","permitted_by_lane","permitted_by_road","serialize","serialize","serialize","serialize","src","to_movement","to_owned","to_owned","to_owned","to_owned","to_string","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","turn_type","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","AccessRestrictions","Zone","allow_through_traffic","borders","borrow","borrow","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","deserialize","deserialize","eq","eq","floodfill","fmt","fmt","from","from","into","into","make_all","members","ne","ne","new","restrictions","serialize","serialize","to_owned","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","0","0","0","Arterial","ENDPT_BACK","ENDPT_FWD","HIGHWAY","Highway","INFERRED_PARKING","INFERRED_SIDEWALKS","Local","MAXSPEED","NAME","Node","NodeID","OSM_REL_ID","OSM_WAY_ID","OsmID","PARKING_BOTH","PARKING_LEFT","PARKING_RIGHT","Relation","RelationID","RoadRank","SIDEWALK","Way","WayID","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","cmp","cmp","cmp","cmp","cmp","deserialize","deserialize","deserialize","deserialize","detailed_from_highway","eq","eq","eq","eq","eq","equivalent","equivalent","equivalent","equivalent","equivalent","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from_highway","get_hash","get_hash","get_hash","get_hash","hash","hash","hash","hash","inner","into","into","into","into","into","ne","ne","ne","ne","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","serialize","serialize","serialize","serialize","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","to_string","to_string","to_string","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","0","0","0","Bike","Bus","Car","CreateEngine","Path","PathConstraints","PathRequest","PathStep","PathStepV2","PathV2","Pathfinder","PathfinderCache","PathfinderCaching","Pedestrian","RoutingParams","Train","WalkingNode","all","avoid_high_stress","avoid_movements_between","avoid_roads","avoid_steep_incline_penalty","bike_lane_penalty","bitand","bitor","bitxor","borrow","borrow","borrow_mut","borrow_mut","bus_lane_penalty","can_use","can_use_road","clone","clone","clone_into","clone_into","cmp","default","deserialize","deserialize","deserialize","driving_lane_penalty","engine","enum_from_u32","enum_into_u32","eq","eq","eq","equivalent","filter_lanes","fmt","fmt","from","from","from_lt","into","into","main_road_penalty","ne","node_map","not","partial_cmp","pathfinder","round","serialize","serialize","serialize","sub","to_owned","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","uber_turns","unprotected_turn_penalty","unround","v1","v2","vehicle_cost","vehicles","vzip","vzip","walking","zone_cost","CH","CH","CHSeedingNodeOrdering","CreateEngine","Dijkstra","Dijkstra","Empty","PathfindEngine","all_costs_from","borrow","borrow","borrow_mut","borrow_mut","calculate_path","calculate_path_multiple_sources_and_targets","clone","clone_into","create","deserialize","from","from","into","into","is_dijkstra","reuse_ordering","serialize","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","0","graph","graph","path_calc","InnerNodeMap","NodeMap","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","deserialize","deserialize_nodemap","from","from","get","get_or_insert","guarantee_node_ordering","id_to_node","id_to_node","into","into","new","node_to_id","serialize","to_owned","translate_id","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","CacheCH","CacheDijkstra","NoCache","Pathfinder","PathfinderCache","PathfinderCaching","all_costs_from","apply_edits","bike_graph","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","bus_graph","cache","cached_alternatives","car_graph","clone","clone","clone_into","clone_into","deserialize","empty","eq","finalize_transit","from","from","from","into","into","into","new","new","new_ch","new_dijkstra","new_limited","params","pathfind","pathfind_v2","pathfind_with_params","pathfind_with_params","serialize","should_use_transit","to_owned","to_owned","train_graph","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","walking_graph","walking_with_transit_graph","IntersectionCluster","UberTurn","UberTurnV2","autodetect","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","cmp","deserialize","deserialize","entry","entry","eq","eq","equivalent","exit","exit","find_all","flood","fmt","fmt","from","from","from","geom","into","into","into","into_v2","members","ne","ne","new","partial_cmp","path","path","serialize","serialize","to_owned","to_owned","trace_back","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","uber_turns","vzip","vzip","vzip","ContraflowLane","ContraflowTurn","Lane","Path","PathRequest","PathStep","Turn","about_to_start_ut","add","alt_start","as_lane","as_traversable","as_turn","between_buildings","between_directed_roads","blocked_starts","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone_into","clone_into","clone_into","cmp","constraints","crossed_so_far","crossed_so_far","crosses_road","current_step","currently_inside_ut","currently_inside_ut","deduplicate","deserialize","deserialize","deserialize","dist_crossed_from_step","end","eq","eq","eq","equivalent","equivalent","estimate_duration","exact_slice","fmt","fmt","fmt","fmt","from","from","from","get_blocked_starts","get_hash","get_req","get_step_at_dist_along","get_steps","get_total_elevation_change","hash","into","into","into","is_empty","is_last_step","is_upcoming_uber_turn_component","isnt_last_step","last_step","leave_from_driveway","max_speed_along","max_speed_and_incline_along","maybe_next_step","modify_step","ne","ne","ne","new","next_step","orig_req","partial_cmp","percent_dist_crossed","serialize","serialize","serialize","shift","start","steps","to_owned","to_owned","to_owned","to_string","total_length","total_length","trace","trace_from_start","trace_v2","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","uber_turns","validate_continuity","validate_restrictions","validate_zones","vehicle","vzip","vzip","vzip","walking","0","0","0","0","Along","Contraflow","ContraflowMovement","Movement","PathStepV2","PathV2","borrow","borrow","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","cost","crosses_road","deserialize","deserialize","find_uber_turns","fmt","fmt","from","from","from_roads","get_cost","get_req","get_steps","into","into","into_v1","into_v1_walking","new","req","serialize","serialize","steps","to_owned","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","uber_turns","vzip","vzip","0","0","0","0","Node","Road","UberTurn","VehiclePathfinder","all_costs_from","apply_edits","borrow","borrow","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","cmp","constraints","deserialize","deserialize","empty","engine","eq","equivalent","fmt","from","from","get_hash","hash","into","into","make_input_graph","ne","new","nodes","params","partial_cmp","pathfind","serialize","serialize","to_owned","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","uber_turns","vehicle_cost","vzip","vzip","0","0","LeaveMap","RideTransit","SidewalkEndpoint","SidewalkPathfinder","WalkingNode","all_costs_from","apply_edits","borrow","borrow_mut","clone","clone_into","deserialize","empty","engine","from","into","make_input_graph","new","nodes","one_step_walking_path","pathfind","serialize","should_use_transit","to_owned","transit_input_graph","try_from","try_into","type_id","use_transit","vzip","walking_path_to_steps","0","0","0","1","Lane","MAX_BIKE_SPEED","MAX_WALKING_SPEED","Position","Traversable","Turn","as_lane","as_turn","bike_speed_on_incline","borrow","borrow","borrow_mut","borrow_mut","buffer_dist","clone","clone","clone_into","clone_into","cmp","cmp","deserialize","deserialize","dist_along","dist_along","end","eq","eq","equiv_pos","equiv_pos_for_long_object","equivalent","equivalent","fmt","fmt","fmt","fmt","from","from","get_hash","get_polyline","get_zorder","hash","into","into","lane","lane","max_speed_along_movement","max_speed_along_road","maybe_lane","maybe_turn","min_dist","ne","ne","new","partial_cmp","partial_cmp","pt","pt_and_angle","serialize","serialize","start","to_owned","to_owned","to_string","to_string","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","walking_speed_on_incline","0","0"],"q":["map_model","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","map_model::BuildingType","","","","","map_model::CommonEndpoint","map_model::EditCmd","","","","","","","","","","","","map_model::EditIntersection","","map_model::LaneType","map_model::OffstreetParking","","","","map_model::PathStep","","","","map_model::PathStepV2","","","","map_model::StageType","","","","map_model::Traversable","","map_model::city","","","","","","","","","","","","","","","","","","map_model::connectivity","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","map_model::connectivity::Spot","","","map_model::connectivity::WalkingNode","","","","map_model::connectivity::walking","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","map_model::edits","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","map_model::edits::EditCmd","","","","","","","","","","","","map_model::edits::EditIntersection","","map_model::edits::compat","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","map_model::edits::perma","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","map_model::edits::perma::PermanentEditCmd","","","","","","","","","","","","map_model::edits::perma::PermanentEditIntersection","","map_model::make","","","","","","","","","","","","","","","","","","","","","","","","","","","","","map_model::make::bridges","map_model::make::buildings","","","map_model::make::parking_lots","","","","map_model::make::traffic_signals","","","","","","","","","","","","","","","","map_model::make::traffic_signals::lagging_green","","","","","","","","","","","","","","","","map_model::make::transit","","","","","","","","","","","","","","","","","map_model::make::turns","","","","","","","","map_model::make::walking_turns","","","","","","map_model::objects","","","","","","","","","","","","","map_model::objects::area","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","map_model::objects::block","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","map_model::objects::building","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","map_model::objects::building::BuildingType","","","","","map_model::objects::building::OffstreetParking","","","","map_model::objects::intersection","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","map_model::objects::lane","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","map_model::objects::lane::CommonEndpoint","map_model::objects::movement","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","map_model::objects::parking_lot","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","map_model::objects::road","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","map_model::objects::stop_signs","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","map_model::objects::traffic_signals","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","map_model::objects::traffic_signals::StageType","","","","map_model::objects::transit","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","map_model::objects::turn","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","map_model::objects::zone","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","map_model::osm","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","map_model::osm::OsmID","","","map_model::pathfind","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","map_model::pathfind::engine","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","map_model::pathfind::engine::CreateEngine","map_model::pathfind::engine::PathfindEngine","","","map_model::pathfind::node_map","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","map_model::pathfind::pathfinder","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","map_model::pathfind::uber_turns","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","map_model::pathfind::v1","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","map_model::pathfind::v1::PathStep","","","","map_model::pathfind::v2","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","map_model::pathfind::v2::PathStepV2","","","","map_model::pathfind::vehicles","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","map_model::pathfind::vehicles::Node","","map_model::pathfind::walking","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","map_model::pathfind::walking::WalkingNode","","","","map_model::traversable","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","map_model::traversable::Traversable",""],"d":["","","","","","","","","Original direction","A business located inside a building.","Businesses are categorized into one of these types.","Areas are just used for drawing.","","","","","For stop signs: Can’t currently specify this! For …","","","","","","A block is defined by a perimeter that traces along the …","","Two lanes/roads share both endpoints, because they both …","","","A building has connections to the road and sidewalk, may …","","","","","Create a slow-to-build but fast-to-use contraction …","Create a fast-to-build but slow-to-use Dijkstra-based …","","","","","","","","","","A single city (like Seattle) can be broken down into …","","An estimated number of workers","","This is cheaper to store than a MovementID. It simply …","","","Opposite direction, sidewalks only","Sidewalks only!","","","","A traffic signal consists of a sequence of Stages that …","","A marked zebra crossing, where pedestrians usually have …","","A raised curb","","","","","","","","","","","","","Flex posts, wands, cones, other “weak” forms of …","","","","","An intersection connects roads. Most have >2 roads and are …","This only applies to VehiclePathfinder; walking through …","","","","Solid barrier, no gaps.","A road segment is broken down into individual lanes, which …","Original direction","","A lane is identified by its parent road and its position, …","","","","","","","","","","","","","Represents changes to a map. Note this isn’t …","","","A Movement groups all turns from one road to another, …","","A movement is like a turn, but with less detail – it …","","None corresponds to the native name","Create a fast-to-build but slow-to-use Dijkstra-based …","Two lanes/roads don’t have any common endpoints","Represent no parking as Private(0, false).","Two lanes/roads share one endpoint","From some manually audited cases in Seattle, the length of …","","","Parking lots have some fixed capacity for cars, and are …","","","Who’s asking for a path?","","","One step along a path.","A path between two endpoints for a particular mode. This …","","For callers needing to request paths with a variety of …","When pathfinding with different RoutingParams is done, a …","","","A sequence of roads in order, beginning and ending at the …","MapEdits are converted to this before serializing. …","","Sturdier planters, with gaps.","","","Represents a specific point some distance along a lane.","","(Spots, explicitly tagged as a garage)","For stop signs: cars can do this without stopping. These …","(Name, spots)","Options for converting RawMaps to Maps.","","","An estimated number of residents, workers","","","","A Road represents a segment between exactly two …","","","","Tuneable parameters for all types of routing.","","","","The corner where two sidewalks meet. Pedestrians can cross …","","","See https://wiki.openstreetmap.org/wiki/Forward_…","","","","","","","Just paint!","Not from OSM. A user-specified area to focus on.","","","","","","","","","","Either a lane or a turn, where most movement happens.","A Turn leads from the end of one Lane to the start of …","","","Turns are uniquely identified by their (src, dst) lanes …","","","","","","An unmarked crossing, where pedestrians may cross without …","Minimum is the minimum duration, 0 allows cycle to be …","","For stop signs: cars have to stop before doing this turn, …","A contiguous set of roads with access restrictions. This …","","","Returns the index where the new lane was inserted","","","","All types of amenities, in alphabetical order.","","","Return the cost of a single path, and also a mapping from …","This and all_outgoing_borders are expensive to constantly …","","","","","","","","","","","","","This is the specific amenity listed in OSM, not the more …","","","","","","","Don’t allow movements between these roads at all. Only …","Don’t allow crossing these roads at all. Only affects …","","Some kind of modal filter or barrier this distance along …","","","","","Just for temporary std::mem::replace tricks.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Categorize an OSM amenity tag.","The physical center of the road, including sidewalks, …","","","","Derived from commands, kept up to date by update_derived","","This is meant for table-driven unit tests. Call this on …","","A hack. Use this to apply edits, then save the map anyway, …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","A stack, oldest edit is first. The same intersection may …","self is ‘from’. (via, to). Only BanTurns.","","","Try to consolidate all short roads. Will likely break.","","","Transforms a string describing lane types and directions, …","","","Could be a Crosswalk or UnmarkedCrossing","","Is there a tagged crosswalk near each end of the road?","","","","","","","","","","","","","","","","","","","","","The individual maps","Goes from building to sidewalk","Goes from the lot to the driving lane","{Cars, bikes} trying to start or end here might not be …","","Guaranteed to be at least 7m (MAX_CAR_LENGTH + a little …","These may be on different roads entirely, like for light …","If true, driving happens on the right side of the road …","","","","","Once a Map exists, the player can edit it in the UI …","","","","","","","A transit vehicle either vanishes at its last stop or …","","","","","","","","","","","","","","","","","If we can’t render all spots (maybe a lot with no aisles …","","Enable experimental dog-leg intersection merging","Cars trying to park near this building should head for the …","","","Finds the road directly connecting two intersections.","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","The inverse of to_char. Always picks one buffer type. …","","","The “overall” path of movement, aka, an “average” …","","","","","","","","","","If you need to regenerate anything when the map is edited, …","","","","","","","","","Panics on borders","","","None for SharedSidewalkCorners and turns not belonging to …","Find all movements from one road to another that’re …","","","","","","","","","","","","","","","","","","","The turns may belong to two different intersections!","","","","","","","","","","","","","","","","","","","","","","","","","","","","","As long as this is unique per road, this value is …","Note that a lane may belong to both incoming_lanes and …","Since the player is in the middle of editing, the signal …","If true, roads without explicitly tagged sidewalks may …","These roads exist entirely within the perimeter","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","If false, only buses serve this stop","Does a turn at a stop sign go from a smaller to a larger …","","","Preserve all OSM tags for buildings, increasing the final …","Normally after applying edits, you must call …","Where a text label should be centered to have the best …","","","","","Invariant: A road must contain at least one child. These …","","","","Load a map from a local serialized Map or RawMap. Note …","","","When crossing an arterial or highway road, multiply the …","See …","A bunch of (mostly read-only) queries on a Map.","After deserializing a map directly, call this after.","","Returns the highest elevation in the map","","","","","","","","","","","","","","","","Experimentally merge these OSM ways","If false, adjacent roads with the same AccessRestrictions …","If false, adjacent roads with the same AccessRestrictions …","Was a short road adjacent to this intersection merged?","Modifies the map in-place, removing parts not essential …","Modifies the map in-place, removing buildings.","","","Returns (changed_roads, deleted_lanes, deleted_turns, …","","","Public for importer. Do not abuse!","","","","","","","","","","","","","","","None if bidirectional. If it’s one-way, which direction …","","","","","","Explicitly store whatever the original was, since this can…","","","Useful utilities for working with OpenStreetMap.","The importing process also automatically creates some …","","Depending on options while importing, these might be …","","Depending on options while importing, these might be …","","","","","","","","","","","","","","Everything related to pathfinding through a map for …","","","","","","","[-1.0, 1.0] theoretically, but in practice, about [-0.25, …","","","The polygon covers the interior of the block.","","This needs to be in clockwise orientation, or later …","","Edits without these are player generated.","Some edits are included in the game by default, in …","The link is optional even for proposals","","","","","This can expensive, so don’t constantly do it while …","","","","","","","","","","","","Only roads incoming to the intersection are listed here.","","","Returns the routing params baked into the map.","","","","","","","","","","","","","","","","","","","Lot to sidewalk","The building’s connection for any agent can change based …","","","Simple search along undirected roads. Expresses the result …","Simple search along directed roads, weighted by distance. …","Should contraction hierarchies for pathfinding be built? …","Non-empty, times in order for one day when a vehicle …","","","The middle of the “T”, pointing towards the parking …","src and dst must both belong to parent. No guarantees that …","","","","","A transit vehicle spawns at the beginning of this lane. …","","","","","","Street parking is divided into spots of this length. 8 …","","","Represents the lane type as a single character, for use in …","","","","","","","","","","","","","","","Convert the driving lanes of a road between one-way …","","","","","Meaningless order","","","","","","","","","","","","","","","","","","","","","","","","","","","","If true, turns on red which do not conflict crossing …","self is ‘from’","","","","","","","","","","","","","","","","For a given lane type, returns some likely widths. This …","","","","","","","Like center_pts, but before any trimming for intersection …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","A single city (like Seattle) can be broken down into …","","","","","","","The individual maps","Returns the argument unchanged.","If there’s a single map covering all the smaller maps, …","Generate a city from a bunch of smaller, individual maps. …","Calls U::from(self).","","","","","","","","","","","","","false is src_i, true is dst_i","","","","Starting from some initial spot, calculate the cost to all …","Starting from some initial buildings, calculate the cost …","If true, allow walking on shoulders.","","","","","","","","","","","","","","","","","","","","","","","","","Calculate the strongly connected components (SCC) of the …","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","This returns the pathfinding cost of crossing one road and …","","","","","","","","","","","","","","","Starting from some initial buildings, calculate the cost …","If true, allow walking on shoulders.","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","This must contain all crossing turns at one intersection, …","","","","Represents changes to a map. Note this isn’t …","","","","","","","","","","","","","","","","","","","","Pick apart changed_roads and figure out if an entire road …","","","Derived from commands, kept up to date by update_derived","","","","","","","","","","","","A stack, oldest edit is first. The same intersection may …","","Assumes update_derived has been called.","","","","(summary, details)","","","","","","","","","Recalculate the driveways of some buildings after map …","Recalculate the driveways of some parking lots after map …","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Produces an md5sum of the contents of the edits.","","Get the human-friendly of these edits. If they have a …","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","Load map edits from the given JSON bytes. Strip out any …","Load map edits from a JSON file. Strip out any commands …","If false, adjacent roads with the same AccessRestrictions …","","","","","","","","","","","","Some edits are included in the game by default, in …","","","","","","","","","","","","","Encode the edits in a permanent format, referring to …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","When the PermanentMapEdits format changes, add a …","","","","","","","","","","","","","","","","MapEdits are converted to this before serializing. …","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Get the human-friendly of these edits. If they have a …","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","Transform permanent edits to MapEdits, looking up the map …","Transform permanent edits to MapEdits, looking up the map …","","If false, adjacent roads with the same AccessRestrictions …","Edits without these are player generated.","The link is optional even for proposals","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Options for converting RawMaps to Maps.","","","","","","","","Try to consolidate all short roads. Will likely break.","","Returns the argument unchanged.","","Calls U::from(self).","Preserve all OSM tags for buildings, increasing the final …","Snap points to an exact Position along the nearest lane. …","","Should contraction hierarchies for pathfinding be built? …","","","","The various traffic signal generators live in the traffic …","","Adjust the path to start on the polygon’s border, not …","","","","","","","Look for roads underneath bridges, then lower their …","","","Finalize importing of buildings, mostly by matching them …","","","Take in parking lots from OSM and all parking aisle roads. …","Returns (driveway_line, driving_pos, sidewalk_line, …","","","","","","","","Applies a bunch of heuristics to a single intersection, …","","","","","","","Simple second-pass after generating all signals. Find …","","","","","","","","Create a traffic signal which has a stage that is: …","","","","Build stages. First find roads that are straight across, …","","","","","","","","","","","","","","Returns the argument unchanged.","Calls U::from(self).","","","","","","","","","","","Generate all driving and walking turns at an intersection, …","","","","Ideally, we want every incoming lane to lead to at least …","","Filter out crosswalks on really short roads. In reality, …","","","Looks at all sidewalks (or lack thereof) in …","","","","","","","","","","","","Public transit stops and routes.","","Zones and AccessRestrictions are used to model things like:","","Areas are just used for drawing.","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","","Calls U::from(self).","Calls U::from(self).","","The importing process also automatically creates some …","","","","","","","","","","","","","","","","","A block is defined by a perimeter that traces along the …","A sequence of roads in order, beginning and ending at the …","","","","","Assign each perimeter one of num_colors, such that no two …","","","","","","If the perimeter follows any dead-end roads, “collapse”…","Does this perimeter completely enclose the other?","","","This calculates all single block perimeters for the entire …","Blockfinding is specialized for the LTN tool, so …","Shrinks or expands the perimeter by tracing the opposite …","","Returns the argument unchanged.","Returns the argument unchanged.","These roads exist entirely within the perimeter","Calls U::from(self).","Calls U::from(self).","Try to merge all given perimeters. If successful, only one …","Consider the perimeters as a graph, with adjacency …","","The polygon covers the interior of the block.","Restore the first=last invariant. Methods may temporarily …","Should we reverse one perimeter to match the winding order?","","","","Starting at any lane, snap to the nearest side of that …","","","","","","","","Try to merge two blocks. Returns true if this is …","","","A perimeter has the first and last road matching up, but …","","","","A building has connections to the road and sidewalk, may …","","","An estimated number of workers","","Represent no parking as Private(0, false).","(Spots, explicitly tagged as a garage)","(Name, spots)","","An estimated number of residents, workers","","","Returns (biking position, sidewalk position). Could fail …","","","","","","","","","","","","","","","","","","","","","","","Goes from building to sidewalk","The polyline goes from the building to the driving position","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","Does this building contain any amenity matching the …","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Where a text label should be centered to have the best …","","","","","","","Depending on options while importing, these might be …","","","","","","","","","The building’s connection for any agent can change based …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","An intersection connects roads. Most have >2 roads and are …","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","Strict for bikes. If there are bike lanes, not allowed to …","","","","Return all incoming roads to an intersection, sorted by …","Higher numbers get drawn on top","","","Note that a lane may belong to both incoming_lanes and …","","Calls U::from(self).","Calls U::from(self).","","","","Does this intersection connect to only a single driveable …","Ignoring mode of travel, is this intersection only …","Does this intersection only connect two road segments? …","","","","","","","","Was a short road adjacent to this intersection merged?","","","","","","","This needs to be in clockwise orientation, or later …","","","","","","","","","","","","","Don’t call for SharedSidewalkCorners","","","","","","Two lanes/roads share both endpoints, because they both …","","A road segment is broken down into individual lanes, which …","A lane is identified by its parent road and its position, …","Two lanes/roads don’t have any common endpoints","Two lanes/roads share one endpoint","From some manually audited cases in Seattle, the length of …","","","","","","","","","","","","","","","","","","","{Cars, bikes} trying to start or end here might not be …","","","","pt2 will be endpoint","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the set of allowed turn types, based on individual …","This does the reasonable thing for the leftmost and …","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","This is cheaper to store than a MovementID. It simply …","A Movement groups all turns from one road to another, …","A movement is like a turn, but with less detail – it …","","","","","","","","","","","","","","","","","Could be a Crosswalk or UnmarkedCrossing","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","The “overall” path of movement, aka, an “average” …","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","Polyline points FROM intersection","","","","","","","","","","","","","","","","","","","","Parking lots have some fixed capacity for cars, and are …","","","","","","","","","","","","","","","Goes from the lot to the driving lane","Guaranteed to be at least 7m (MAX_CAR_LENGTH + a little …","","","If we can’t render all spots (maybe a lot with no aisles …","","","Returns the argument unchanged.","Returns the argument unchanged.","","","","Calls U::from(self).","Calls U::from(self).","","","","","","","Lot to sidewalk","","The middle of the “T”, pointing towards the parking …","","","","","","","","","","","","","","","","A Road represents a segment between exactly two …","","","See https://wiki.openstreetmap.org/wiki/Forward_…","","","Some kind of modal filter or barrier this distance along …","","","","","","","","","","","","","The physical center of the road, including sidewalks, …","","","These are ordered from closest to center lane (left-most …","","","","","","","","","","","","","","","","self is ‘from’. (via, to). Only BanTurns.","","Is there a tagged crosswalk near each end of the road?","","","","","","","lane must belong to this road. Offset 0 is the centermost …","Get the DirectedRoadID pointing to the intersection. …","Get the DirectedRoadID pointing from the intersection. …","","","","","","","","","","","Includes off-side","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","This is the FIRST yellow line where the direction of the …","Creates the thick polygon representing one half of the …","","","","","","Returns all lanes located between l1 and l2, exclusive.","","","","","","","Does this directed road have any lanes of a certain type?","","","","","A simple classification of if the directed road is …","","Returns lanes from the “center” going out","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","Does either end of this road lead nowhere for cars? …","","Many roads wind up with almost no length, due to their …","","","","","","Strict for bikes. If there are bike lanes, not allowed to …","Invariant: A road must contain at least one child. These …","","Get the only sidewalk or shoulder on this side of the …","","","","","","","Returns the other intersection of this road, panicking if …","","","","","","","[-1.0, 1.0] theoretically, but in practice, about [-0.25, …","","","","","","","","","","","","","","","","","","","","","","Meaningless order","","","","","","","","","","","self is ‘from’","","","","","","Like center_pts, but before any trimming for intersection …","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Get the priority of a turn according to the stop sign – …","","Calls U::from(self).","Calls U::from(self).","","","","","","Only roads incoming to the intersection are listed here.","","","","","","","","","","","","","","A traffic signal consists of a sequence of Stages that …","","","","Minimum is the minimum duration, 0 allows cycle to be …","Modifies the fixed timing of all stages, applying either a …","","","","","","","","","","","","","Move crosswalks from stages, adding them to an all-walk as …","Move crosswalks from stages, adding them to an all-walk as …","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","How long a full cycle of the signal lasts, assuming no …","","","","","","","","","","","","","","","","","Only call this variant while importing the map, to enforce …","","","","","","","","","","","","","","","Entry i is the path to drive to stop i. The very last …","","","","","","","","","","","","","","","","","","","","","","","These may be on different roads entirely, like for light …","A transit vehicle either vanishes at its last stop or …","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","","As long as this is unique per road, this value is …","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","If false, only buses serve this stop","","","","","","Explicitly store whatever the original was, since this can…","","","","","","","","","","","","Non-empty, times in order for one day when a vehicle …","A transit vehicle spawns at the beginning of this lane. …","","","","","","","","","","","","","","","","","","","","","","","","For stop signs: Can’t currently specify this! For …","A marked zebra crossing, where pedestrians usually have …","","For stop signs: cars can do this without stopping. These …","","The corner where two sidewalks meet. Pedestrians can cross …","","A Turn leads from the end of one Lane to the start of …","Turns are uniquely identified by their (src, dst) lanes …","","","","An unmarked crossing, where pedestrians may cross without …","For stop signs: cars have to stop before doing this turn, …","","","","","","","","","","","","","","","","","","","","","","Only appropriat for pedestrian crossings. The geometry of …","If this turn is a crosswalk over a single road, return …","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","Is the turn a crosswalk or unmarked crossing?","Penalties for (lane types, lane-changing, slow lane). The …","Is this turn legal, according to turn lane tagging?","Is this turn legal, according to turn restrictions defined …","","","","","src and dst must both belong to parent. No guarantees that …","","","","","","","","","","","","","","","","","","","","","","","","","A contiguous set of roads with access restrictions. This …","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Larger number means a bigger road, according to …","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Who’s asking for a path?","","","","","","","","","Tuneable parameters for all types of routing.","","","","","Don’t allow movements between these roads at all. Only …","Don’t allow crossing these roads at all. Only affects …","","","","","","","","","","","Can an agent use a lane? There are some subtle exceptions …","Can an agent use a road in either direction? There are …","","","","","","","","","","","","","","","","","","Strict for bikes. If there are bike lanes, not allowed to …","","","Returns the argument unchanged.","Returns the argument unchanged.","Not bijective, but this is the best guess of user intent","Calls U::from(self).","Calls U::from(self).","When crossing an arterial or highway road, multiply the …","","Some helpers for working with fast_paths.","","","","","","","","","","","","","","","","","To deal with complicated intersections and short roads in …","","","","Structures related to the new road-based pathfinding …","","Pathfinding for cars, bikes, buses, and trains using …","","","Pathfinding for pedestrians, as well as figuring out if …","Heavily penalize crossing into an access-restricted zone …","","","","","","","","This operates on raw IDs and costs; no type safety. The …","","","","","","Returns (path cost, node IDs in path)","Returns (path cost, node IDs in path). Input is pairs of …","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","A bidirectional mapping between fast_paths NodeId and some …","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","Call this after filling out the input graph, right before …","","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","Create a slow-to-build but fast-to-use contraction …","Create a fast-to-build but slow-to-use Dijkstra-based …","Create a fast-to-build but slow-to-use Dijkstra-based …","","For callers needing to request paths with a variety of …","When pathfinding with different RoutingParams is done, a …","","","","","","","","","","","","","","","","","","","Quickly create an invalid pathfinder, just to make borrow …","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","Create a new Pathfinder with custom routing params that …","Create a new Pathfinder with custom routing params that …","Create a new Pathfinder with custom routing params that …","","Finds a path from a start to an end for a certain type of …","Finds a path from a start to an end for a certain type of …","New pathfinders will be created as-needed using Dijkstra’…","Finds a path from a start to an end for a certain type of …","","","","","","","","","","","","","","","","","","","","This only applies to VehiclePathfinder; walking through …","","A sequence of movements through a cluster of …","Find all other traffic signals “close” to one. Ignore …","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Group lane-based uber-turns into road-based UberTurnV2s.","","","","(legal, illegal)","","","","","","","","","","","","","","","","","","","","","","Sidewalks only!","","Original direction","","","","","","","","","","","Determines the start and end position to travel between …","Create a request from the beginning of one road to the end …","","","","","","","","","","","","","","","","","","","","","","Group similar requests together, returning the number of …","","","","Once we finish this PathStep, how much distance will be …","","","","","","","Estimate how long following the path will take in the best …","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","If the agent following this path will initially block some …","","The original PathRequest used to produce this path. If the …","","","Returns the total elevation (gain, loss) experienced over …","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","The caller must pass in two valid positions for the …","The single definitive place to determine how fast somebody …","The single definitive place to determine how fast somebody …","","Trusting the caller to do this in valid ways.","","","","","","","","","","","","","","","","","","","","","Traces along the path from its originally requested start. …","Traces along the path from a specified distance along the …","Draws the thickened path, matching entire roads. Ignores …","","","","","","","","","","","","","","The caller must pass in two valid positions for the …","","","","The caller must pass in two valid sidewalk positions. This …","","","","","Original direction","Opposite direction, sidewalks only","","","One step along a path.","A path between two endpoints for a particular mode. This …","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Vehicle implementations often just calculate the sequence …","The time needed to perform this path. This time is not a …","The original PathRequest used to produce this path.","All steps in this path.","Calls U::from(self).","Calls U::from(self).","Transform a sequence of roads representing a path into the …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","This returns the pathfinding cost of crossing one road and …","","","","","","","false is src_i, true is dst_i","","","","","","","","","","","","Returns the argument unchanged.","Calls U::from(self).","","","","","","","Attempt the pathfinding and see if we should ride public …","","","","","","","","","","","","","","","","Represents a specific point some distance along a lane.","Either a lane or a turn, where most movement happens.","","","","","","","","","","","","","","","","","","","","","","","Given a position along a lane, find the equivalent …","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","Return the center-line geometry of this lane or turn.","","","Calls U::from(self).","Calls U::from(self).","","","The single definitive place to determine how fast somebody …","The single definitive place to determine how fast somebody …","","","","","","","","","","","","","","","","","","","","","","","","","","","",""],"i":[1,2,3,4,5,6,7,0,8,0,0,0,0,0,9,10,11,10,10,10,12,13,0,14,15,13,0,0,0,0,13,12,16,16,10,12,10,10,17,17,17,17,10,0,18,19,0,0,14,13,8,20,8,20,0,0,10,21,10,22,0,0,13,0,0,0,0,0,19,10,10,23,22,10,9,10,10,0,0,0,0,24,22,0,20,25,0,0,0,10,26,27,21,10,13,0,0,0,0,0,24,10,0,8,0,0,0,16,15,0,15,0,24,13,0,0,0,0,0,0,0,0,0,0,0,12,24,0,0,10,22,10,10,0,10,28,11,28,0,10,19,19,26,27,21,0,0,0,0,0,0,10,13,21,10,13,0,13,0,0,14,18,21,22,24,10,10,14,18,12,0,0,0,0,0,0,20,25,0,0,0,21,0,10,21,23,24,11,0,29,30,31,32,33,34,10,35,35,35,35,35,35,35,35,35,35,35,35,35,36,37,33,38,39,35,40,41,35,42,42,42,42,30,43,42,44,45,35,33,46,47,38,10,24,1,9,44,26,14,13,22,31,35,38,10,24,1,9,44,26,14,13,22,31,35,41,35,35,35,35,43,42,48,43,43,10,30,32,32,32,49,49,31,0,35,38,10,24,1,9,44,26,14,13,22,31,35,38,10,24,1,9,44,26,14,13,22,31,35,10,1,9,13,22,50,49,30,35,0,51,37,52,31,35,46,53,30,30,46,44,32,32,13,38,24,1,9,44,26,14,13,22,31,35,31,45,54,55,41,33,34,45,42,34,56,44,57,45,30,35,0,35,35,50,49,58,37,59,10,24,1,9,26,14,13,22,31,10,24,1,9,14,13,22,34,35,44,35,35,35,35,35,38,10,24,1,9,9,44,26,14,13,22,31,38,10,24,1,9,44,26,14,13,22,31,35,53,13,13,10,39,60,1,35,35,35,35,35,35,35,35,35,24,9,14,13,22,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,56,59,35,35,35,35,35,24,9,14,13,22,61,40,33,58,45,39,34,30,62,63,56,59,60,61,64,58,35,44,65,58,35,38,10,24,1,9,44,26,14,13,22,31,35,13,56,35,13,10,51,35,33,55,45,66,45,30,29,1,33,35,59,31,42,0,0,35,50,35,31,35,35,35,35,35,35,35,35,35,35,35,67,39,47,44,50,49,58,35,35,32,58,35,66,35,35,35,41,33,56,35,38,1,13,31,1,35,0,68,63,31,9,33,58,30,46,59,49,49,0,40,34,38,40,33,30,58,43,53,57,33,35,10,1,9,13,22,69,0,35,35,35,35,35,35,30,70,40,70,33,58,34,50,49,50,49,71,0,35,35,35,52,47,68,54,72,64,35,35,65,58,62,35,59,35,35,35,35,38,24,1,9,44,26,14,13,22,31,35,13,59,35,72,34,33,34,56,35,35,51,59,29,30,34,57,45,30,71,63,59,37,46,52,35,59,44,13,53,13,38,10,24,1,9,44,26,14,13,22,31,35,10,9,31,46,35,43,35,30,35,0,35,38,10,24,1,9,44,26,14,13,22,31,35,38,10,24,1,9,44,26,14,13,22,31,35,44,30,39,60,58,38,10,24,1,9,44,26,14,13,22,31,35,31,67,46,52,1,42,35,30,50,38,10,24,1,9,44,26,14,13,22,31,35,43,43,31,45,71,35,30,73,74,73,75,75,76,77,78,79,80,77,79,78,80,77,79,78,80,81,82,83,84,85,84,85,86,87,88,89,90,91,92,93,94,95,95,95,96,97,0,0,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,98,98,98,0,99,99,99,0,0,0,0,0,100,98,101,99,98,101,99,98,99,98,99,99,98,101,99,101,98,99,99,98,101,99,98,101,99,0,98,99,98,101,99,98,99,98,99,98,101,99,98,101,99,101,98,101,99,98,99,98,99,98,101,99,98,101,99,98,101,99,0,98,101,99,0,100,102,103,104,105,106,107,105,0,0,0,100,100,108,100,108,100,100,108,100,108,100,100,108,108,100,108,100,108,108,108,108,100,100,108,100,108,100,108,100,108,100,109,17,17,17,17,18,0,0,0,0,0,0,0,18,18,29,32,17,32,49,18,29,109,17,32,49,18,29,109,17,32,49,32,32,49,49,49,18,29,109,17,49,18,29,109,17,49,0,49,49,32,32,17,29,29,49,49,18,29,109,17,0,0,49,18,29,109,17,32,49,18,29,109,17,49,29,49,32,49,18,29,109,17,29,49,49,49,32,0,49,18,29,109,17,49,49,49,0,49,49,0,0,49,29,29,49,18,29,109,17,17,49,18,109,32,49,18,29,109,17,32,49,18,29,109,17,32,49,18,29,109,17,17,49,32,49,18,29,109,17,77,78,79,80,77,79,78,80,77,79,78,80,81,82,0,0,0,0,0,110,111,112,113,114,110,111,112,113,114,110,111,112,113,114,110,112,0,0,0,0,0,0,0,0,0,0,0,0,110,111,112,113,114,110,111,112,113,114,111,113,114,110,110,111,112,113,114,112,110,111,113,114,110,110,113,114,111,110,0,110,111,112,113,114,110,111,112,113,114,110,111,112,113,114,0,110,111,112,113,114,0,115,115,115,115,116,0,0,0,0,0,116,116,50,116,117,115,50,116,117,115,50,116,117,115,50,116,117,115,50,50,116,117,115,50,50,116,117,115,50,50,116,117,115,115,50,50,50,50,50,50,50,116,117,115,50,116,117,115,50,116,117,115,50,116,117,115,117,50,116,117,115,50,50,116,117,115,116,117,118,119,120,121,119,120,118,121,119,120,118,121,122,123,0,51,51,0,0,51,51,51,51,51,51,51,51,51,0,0,51,0,0,51,0,0,0,51,51,0,51,51,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,124,124,124,124,0,0,0,124,124,124,124,124,124,124,124,124,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,40,2,40,2,40,2,40,2,40,2,2,40,2,2,2,2,40,2,40,2,2,40,2,40,2,40,40,2,40,2,40,2,40,2,2,40,2,40,2,40,2,40,0,0,70,65,70,65,65,65,70,65,70,65,65,65,70,65,65,65,65,65,70,65,65,70,65,65,65,70,70,65,65,65,70,65,65,65,70,65,70,65,70,65,65,70,65,65,70,65,3,0,0,0,19,19,0,28,28,19,19,33,33,33,33,3,33,28,19,3,33,28,19,3,33,28,19,3,33,28,19,3,3,33,28,19,33,33,3,28,3,3,3,33,28,19,3,33,28,19,3,33,19,3,33,33,3,33,28,19,33,33,33,3,28,33,33,33,33,3,33,3,33,28,19,33,33,0,3,33,28,19,3,3,33,28,19,3,33,28,19,3,33,28,19,3,33,28,19,73,74,73,75,75,84,85,84,85,4,0,0,4,58,4,58,4,58,4,58,4,4,58,58,4,4,58,4,4,58,4,58,4,58,58,58,58,58,58,58,4,58,58,58,4,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,4,58,58,4,58,58,4,58,58,58,4,58,4,4,58,4,58,58,58,4,58,4,58,15,0,0,0,15,15,0,45,68,45,15,68,45,15,68,45,68,45,68,45,68,68,45,45,45,45,45,68,68,45,45,68,15,68,45,45,68,68,45,68,45,15,45,68,45,45,45,68,45,45,68,45,15,45,45,45,45,45,45,45,45,45,45,45,45,45,68,15,15,45,68,0,68,68,68,45,45,68,45,68,68,45,15,68,45,15,68,45,15,68,45,15,45,76,0,0,0,39,53,61,39,53,61,39,53,61,39,53,61,39,53,61,39,53,53,61,39,53,61,39,53,61,0,53,61,39,39,53,61,39,53,53,39,53,61,53,61,61,39,61,53,61,39,39,0,53,61,39,53,53,61,53,61,39,39,53,53,61,39,53,53,61,39,53,61,39,39,53,61,39,53,61,39,5,0,0,34,5,34,5,34,34,5,34,5,34,5,5,34,34,34,5,5,34,5,5,5,34,5,5,34,5,34,5,34,5,34,5,34,34,34,34,5,34,5,5,34,5,34,5,34,5,34,6,0,27,27,0,0,0,0,30,30,30,6,54,27,72,30,6,54,27,72,30,6,6,30,30,30,30,6,54,27,72,30,6,54,27,72,30,6,54,27,72,30,30,30,30,6,54,27,72,30,54,30,30,30,54,30,6,54,27,72,6,54,27,72,30,6,6,54,54,27,72,30,6,54,27,72,30,30,30,30,30,6,54,27,72,30,30,72,30,30,30,30,54,6,54,27,72,30,30,30,6,54,27,72,30,30,30,30,30,30,30,30,30,30,54,30,30,54,6,54,72,30,30,30,30,72,30,6,54,27,72,30,30,54,72,6,54,27,72,30,30,72,30,30,54,30,6,54,27,72,30,6,54,30,6,54,27,72,30,6,54,27,72,30,30,6,54,27,72,30,30,6,54,27,72,30,30,0,0,62,66,62,66,62,66,62,66,62,66,62,66,62,62,66,62,66,62,62,62,66,66,66,62,66,62,62,62,66,62,66,62,66,62,66,62,66,62,66,0,0,23,0,0,23,63,63,71,23,63,71,23,63,71,23,63,71,23,63,63,71,63,71,23,71,71,63,71,23,63,63,71,23,63,71,23,63,63,71,71,63,63,63,63,71,23,71,63,63,71,23,63,71,63,71,63,71,23,63,23,71,63,63,71,23,63,71,23,63,71,23,63,71,23,63,63,63,71,23,71,94,95,95,95,7,0,0,0,0,59,59,64,7,56,59,64,7,56,59,64,7,56,59,64,7,56,59,64,7,64,7,56,59,56,59,64,7,56,64,7,64,64,7,7,56,59,64,7,56,59,64,7,56,59,64,7,56,59,64,64,7,56,59,56,59,56,64,7,56,59,64,7,59,64,59,64,7,56,59,59,56,59,59,59,64,7,56,59,64,7,64,7,56,59,64,7,56,59,64,7,56,59,64,7,56,59,11,21,21,11,21,21,21,0,0,0,0,21,21,11,60,60,57,21,11,60,57,21,11,60,57,21,11,60,57,21,11,60,57,21,60,60,60,57,21,11,60,57,57,21,11,60,57,21,57,57,21,11,60,57,21,11,60,60,57,57,60,57,21,11,60,60,57,60,57,57,21,11,21,60,60,60,57,21,11,60,57,57,57,21,11,60,57,57,21,11,60,57,21,11,60,60,57,21,11,60,57,21,11,60,0,0,36,47,36,47,36,47,36,47,36,47,36,47,36,47,0,36,47,36,47,36,47,47,47,36,47,36,47,36,47,36,47,36,47,36,47,36,47,36,47,125,126,127,128,0,0,0,128,0,0,128,0,0,129,0,0,0,0,0,0,0,129,0,0,0,129,0,128,125,126,127,129,128,125,126,127,129,128,125,126,127,129,128,125,126,127,129,128,125,126,127,129,125,126,127,129,128,128,125,126,127,129,128,125,126,127,129,128,125,125,126,126,127,127,129,129,128,125,126,127,129,128,125,126,127,129,125,126,127,129,129,128,125,126,127,129,125,126,127,129,128,125,126,127,129,125,126,127,129,128,125,126,127,129,125,126,127,129,128,125,126,127,129,128,125,126,127,129,128,125,126,127,129,128,125,126,127,129,130,131,132,12,12,12,0,0,0,0,0,0,0,0,0,0,12,0,12,0,12,42,42,42,42,42,12,12,12,12,42,12,42,42,12,12,12,42,12,42,12,42,12,12,42,42,0,12,12,12,12,42,12,12,12,42,12,42,12,12,42,42,42,0,12,12,0,0,12,12,42,12,12,42,12,42,12,42,12,42,0,42,0,0,0,0,0,12,42,0,0,133,134,133,0,133,134,134,0,134,133,134,133,134,134,134,134,134,133,134,133,134,133,134,134,134,134,134,133,134,133,134,133,134,133,134,135,136,137,137,0,0,138,139,138,139,138,138,139,0,138,139,138,138,138,138,139,138,139,138,138,138,138,138,138,139,138,139,138,139,138,139,16,16,16,0,0,0,43,43,43,48,43,16,48,43,16,43,48,43,43,43,16,43,16,43,43,16,43,48,43,16,48,43,16,48,43,43,43,43,43,43,43,48,43,43,43,43,16,43,48,43,16,48,43,16,48,43,16,48,43,16,43,43,0,0,0,67,67,69,140,67,69,140,69,140,69,140,140,69,140,69,140,69,140,140,69,140,67,0,69,140,67,69,140,69,67,69,140,67,67,69,140,67,140,69,140,69,140,69,140,0,67,69,140,67,69,140,67,69,140,67,67,69,140,20,20,20,0,0,0,20,46,46,37,20,20,20,37,37,46,20,46,37,20,46,37,20,46,37,20,46,37,20,37,46,46,46,46,46,46,37,20,46,37,46,37,20,46,37,20,37,46,20,20,46,37,37,20,46,37,46,20,46,46,46,46,20,20,46,37,46,46,46,46,46,37,20,20,46,46,20,46,37,46,46,46,20,46,20,46,37,46,37,46,20,46,37,37,46,46,46,46,46,20,46,37,20,46,37,20,46,37,46,0,0,0,37,20,46,37,37,86,87,88,89,8,8,8,8,0,0,8,52,8,52,8,52,8,52,52,52,8,52,0,8,52,8,52,52,52,52,52,8,52,52,52,52,52,8,52,52,8,52,8,52,8,52,8,52,52,8,52,90,91,92,93,0,141,141,0,142,142,142,141,142,141,142,141,142,141,141,142,142,141,142,142,141,141,141,142,141,141,141,142,141,0,141,142,142,142,141,142,142,141,142,141,142,141,142,141,142,141,142,0,142,141,143,144,99,99,99,0,0,145,145,145,145,145,145,145,145,145,145,145,0,145,145,0,145,145,145,145,0,145,145,145,145,145,0,105,106,107,105,25,0,0,0,0,25,25,25,0,55,25,55,25,55,55,25,55,25,55,25,55,25,55,55,55,55,25,55,55,55,25,55,55,25,25,55,25,25,25,25,25,55,25,55,55,25,25,25,25,55,55,25,55,55,25,55,55,55,25,55,55,25,55,25,55,25,55,25,55,25,55,25,0,96,97],"f":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["vec",3],["lanetype",4],["tags",3],["drivingside",4]],["usize",0]],null,null,null,[[],["vec",3,[["amenitytype",4],["global",3]]]],[[["",0]],["vec",3]],[[["",0]],["vec",3]],[[["",0],["pathrequest",3]],["option",4]],[[["",0]],["vec",3,[["intersection",3]]]],[[["",0]],["vec",3]],[[["",0]]],[[["",0]],["vec",3,[["intersection",3]]]],[[["",0]],["vec",3]],[[["",0]],["vec",3]],[[["",0]],["vec",3]],[[["",0]],["btreemap",3]],[[["",0]]],[[["",0]],["vec",3]],null,null,null,null,null,[[["",0],["mapedits",3],["bool",0],["timer",3]],["editeffects",3]],null,null,null,null,null,null,null,null,null,null,null,null,[[],["map",3]],null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],null,null,null,[[["",0],["buildingid",3]],["road",3]],null,null,null,null,null,null,[[["str",0]],["option",4,[["amenitytype",4]]]],null,null,null,null,null,null,[[["string",3],["str",0],["str",0],["str",0],["str",0],["bool",0]]],null,[[["",0]]],[[["",0]],["amenity",3]],[[["",0]],["amenitytype",4]],[[["",0]],["areatype",4]],[[["",0]],["nameperlanguage",3]],[[["",0]],["direction",4]],[[["",0]],["mapconfig",3]],[[["",0]],["drivingside",4]],[[["",0]],["intersectiontype",4]],[[["",0]],["lanetype",4]],[[["",0]],["buffertype",4]],[[["",0]],["lanespec",3]],[[["",0]],["map",3]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["amenitytype",4]],["ordering",4]],[[["",0],["nameperlanguage",3]],["ordering",4]],[[["",0],["direction",4]],["ordering",4]],[[["",0],["lanetype",4]],["ordering",4]],[[["",0],["buffertype",4]],["ordering",4]],null,null,null,null,null,null,null,null,[[["str",0],["str",0]],["vec",3,[["lanespec",3],["global",3]]]],[[["rawmap",3],["rawtomapoptions",3],["timer",3]],["map",3]],null,null,null,null,null,[[["drivingside",4]],["mapconfig",3]],null,null,[[],["str",0]],[[],["result",4,[["amenity",3]]]],[[],["result",4,[["areatype",4]]]],[[],["result",4,[["nameperlanguage",3]]]],[[],["result",4,[["direction",4]]]],[[],["result",4,[["mapconfig",3]]]],[[],["result",4,[["drivingside",4]]]],[[],["result",4,[["intersectiontype",4]]]],[[],["result",4,[["lanetype",4]]]],[[],["result",4,[["buffertype",4]]]],[[],["result",4,[["lanespec",3]]]],[[],["result",4]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0],["roadid",3],["fn",8]],["editcmd",4]],null,null,null,null,null,null,null,null,[[["",0],["amenitytype",4]],["bool",0]],[[["",0],["areatype",4]],["bool",0]],[[["",0],["nameperlanguage",3]],["bool",0]],[[["",0],["direction",4]],["bool",0]],[[["",0],["drivingside",4]],["bool",0]],[[["",0],["intersectiontype",4]],["bool",0]],[[["",0],["lanetype",4]],["bool",0]],[[["",0],["buffertype",4]],["bool",0]],[[["",0],["lanespec",3]],["bool",0]],[[["",0],["",0]],["bool",0]],[[["",0],["",0]],["bool",0]],[[["",0],["",0]],["bool",0]],[[["",0],["",0]],["bool",0]],[[["",0],["",0]],["bool",0]],[[["",0],["",0]],["bool",0]],[[["",0],["",0]],["bool",0]],null,[[["",0],["osmid",4]],["option",4,[["buildingid",3]]]],null,[[["",0],["buildingid",3]],["laneid",3]],[[["",0],["nodeid",3]],["result",6,[["intersectionid",3]]]],[[["",0],["originalroad",3]],["result",6,[["roadid",3]]]],[[["",0],["intersectionid",3],["intersectionid",3]],["option",4,[["roadid",3]]]],[[["",0],["str",0]],["option",4,[["transitrouteid",3]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],null,[[["char",0]],["lanetype",4]],[[["str",0]],["option",4,[["lanetype",4]]]],[[["str",0]],["result",4,[["amenitytype",4]]]],null,null,[[["",0],["option",4,[["string",3]]]],["string",3]],[[["",0],["areaid",3]],["area",3]],[[["",0],["buildingid",3]],["building",3]],[[["",0]],["polygon",3]],[[["",0]],["bounds",3]],[[["",0]],["cityname",3]],[[["",0]],["mapconfig",3]],[[["",0]],["mapedits",3]],[[["",0]],["usize",0]],[[["",0]],["gpsbounds",3]],[[["",0]],["u64",0]],[[["",0]],["u64",0]],[[["",0]],["u64",0]],[[["",0]],["u64",0]],[[["",0]],["u64",0]],[[["",0],["intersectionid",3]],["intersection",3]],[[["",0],["intersectionid",3]],["editcrosswalks",3]],[[["",0],["intersectionid",3]],["editintersection",4]],[[["",0],["laneid",3]],["lane",3]],[[["",0]],["btreeset",3,[["string",3]]]],[[["",0],["turnid",3]],["option",4]],[[["",0],["directedroadid",3],["pathconstraints",4]],["vec",3,[["movementid",3]]]],[[["",0]],["mapname",3]],[[["",0],["roadid",3]],["btreeset",3,[["roadid",3]]]],[[["",0],["laneid",3]],["vec",3]],[[["",0],["laneid",3],["pathconstraints",4]],["vec",3]],[[["",0],["laneid",3]],["road",3]],[[["",0]],["pathfinder",3]],[[["",0],["parkinglotid",3]],["parkinglot",3]],[[["",0],["roadid",3]],["road",3]],[[["",0],["roadid",3]],["editroad",3]],[[["",0],["transitstopid",3]],["vec",3,[["transitroute",3]]]],[[["",0],["intersectionid",3]],["controlstopsign",3]],[[["",0],["turnid",3]],["turn",3]],[[["",0],["transitrouteid",3]],["transitroute",3]],[[["",0],["intersectionid",3]],["controltrafficsignal",3]],[[["",0],["str",0]],["option",4,[["transitroute",3]]]],[[["",0],["transitstopid",3]],["transitstop",3]],[[["",0],["laneid",3],["laneid",3],["intersectionid",3]],["option",4,[["turn",3]]]],[[["",0],["laneid",3],["pathconstraints",4]],["vec",3,[["turn",3]]]],[[["",0],["laneid",3]],["vec",3,[["turn",3]]]],[[["",0],["laneid",3]],["vec",3,[["turn",3]]]],null,null,null,[[["",0],["areatype",4],["polygon",3],["tags",3]]],[[["",0],["buildingid",3],["buildingtype",4]]],[[["",0],["usize",0]]],[[["",0],["buildingid",3],["usize",0]]],[[["",0],["transitrouteid",3],["vec",3,[["time",3]]]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0],["controltrafficsignal",3]]],null,null,null,null,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["bool",0]],null,[[["",0],["roadid",3],["roadid",3],["turntype",4]],["bool",0]],[[],["bool",0]],[[],["amenitytypeiter",3]],null,[[["",0]]],null,null,null,null,null,null,null,[[["",0]],["vec",3,[["string",3],["global",3]]]],null,[[["string",3],["timer",3]],["map",3]],null,null,null,null,null,[[["",0],["timer",3]]],null,[[["",0]],["distance",3]],[[["vec",3],["option",4,[["buffertype",4]]],["drivingside",4]]],[[["",0],["areaid",3]],["option",4,[["area",3]]]],[[["",0],["buildingid",3]],["option",4,[["building",3]]]],[[["",0],["intersectionid",3]],["option",4,[["intersection",3]]]],[[["",0],["laneid",3]],["option",4,[["lane",3]]]],[[["",0],["parkinglotid",3]],["option",4,[["parkinglot",3]]]],[[["",0],["roadid",3]],["option",4,[["road",3]]]],[[["",0],["intersectionid",3]],["option",4,[["controlstopsign",3]]]],[[["",0],["turnid",3]],["option",4,[["turn",3]]]],[[["",0],["transitrouteid",3]],["option",4,[["transitroute",3]]]],[[["",0],["intersectionid",3]],["option",4,[["controltrafficsignal",3]]]],[[["",0],["transitstopid",3]],["option",4,[["transitstop",3]]]],null,null,null,null,null,null,null,[[["",0],["timer",3]]],[[["",0],["timer",3]]],null,null,[[["",0],["mapedits",3],["timer",3]],["editeffects",3]],null,[[["",0],["laneid",3]],["lane",3]],[[["",0],["roadid",3]],["road",3]],[[["",0],["turnid",3]],["turn",3]],null,null,null,null,null,[[["",0],["nameperlanguage",3]],["bool",0]],[[["",0],["lanetype",4]],["bool",0]],[[["",0],["lanespec",3]],["bool",0]],[[["tags",3]],["option",4,[["nameperlanguage",3]]]],[[["",0]],["mapedits",3]],null,null,null,[[],["option",4,[["direction",4]]]],[[],["direction",4]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0],["amenitytype",4]],["option",4,[["ordering",4]]]],[[["",0],["nameperlanguage",3]],["option",4,[["ordering",4]]]],[[["",0],["direction",4]],["option",4,[["ordering",4]]]],[[["",0],["lanetype",4]],["option",4,[["ordering",4]]]],[[["",0],["buffertype",4]],["option",4,[["ordering",4]]]],null,null,[[["",0],["pathrequest",3]],["result",6,[["path",3]]]],[[["",0],["pathrequest",3]],["result",6,[["pathv2",3]]]],[[["",0],["pathrequest",3],["routingparams",3],["pathfindercaching",4]],["result",6,[["pathv2",3]]]],[[["",0],["pathrequest",3],["routingparams",3],["pathfindercaching",4]],["result",6,[["path",3]]]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0],["timer",3]]],[[["",0],["timer",3]]],[[["",0]]],null,null,null,null,null,null,[[["",0],["roadid",3]],["btreeset",3]],null,null,null,null,null,null,[[["",0]],["routingparams",3]],null,[[["",0]]],[[["",0]]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[],["str",0]],null,[[["",0],["position",3],["position",3]],["option",4]],null,null,null,null,null,[[["",0],["intersectionid",3],["intersectionid",3]],["option",4]],[[["",0],["intersectionid",3],["intersectionid",3],["pathconstraints",4]],["option",4]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[],["bool",0]],null,[[],["char",0]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]],["string",3]],[[["",0]],["string",3]],[[["vec",3],["drivingside",4]]],null,null,null,null,null,null,null,[[["",0],["mapedits",3],["timer",3]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],null,null,null,null,null,[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["lanetype",4],["tags",3]],["vec",3,[["global",3]]]],null,null,null,[[],["nameperlanguage",3]],null,[[["",0]],["bool",0]],null,null,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],null,[[],["result",4]],null,[[]],[[["map",3]],["city",3]],[[["cityname",3],["timer",3]],["city",3]],[[]],null,[[["",0]],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[]],null,null,null,null,null,null,null,null,null,null,[[["map",3],["vec",3,[["spot",4]]],["duration",3],["pathconstraints",4]],["hashmap",3,[["buildingid",3],["duration",3]]]],[[["map",3],["vec",3,[["spot",4]]],["duration",3],["walkingoptions",3]],["hashmap",3,[["buildingid",3],["duration",3]]]],null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["spot",4]],[[["",0]],["walkingnode",4]],[[["",0],["",0]]],[[["",0],["",0]]],[[["position",3],["map",3]],["walkingnode",4]],[[["",0],["spot",4]],["ordering",4]],[[["",0],["item",3]],["ordering",4]],[[["",0],["walkingnode",4]],["ordering",4]],null,[[],["result",4]],[[],["result",4]],[[["position",3],["map",3]],["walkingnode",4]],[[["",0],["spot",4]],["bool",0]],[[["",0],["item",3]],["bool",0]],[[["",0],["walkingnode",4]],["bool",0]],[[["",0],["",0]],["bool",0]],[[["",0],["",0]],["bool",0]],[[["",0],["",0]],["bool",0]],[[["map",3],["pathconstraints",4]]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],[[]],[[["",0]],["u64",0]],[[["",0]],["u64",0]],[[["",0],["",0]]],[[["",0],["",0]]],[[]],[[]],[[]],[[["",0],["spot",4]],["bool",0]],[[["",0],["item",3]],["bool",0]],[[["",0],["walkingnode",4]],["bool",0]],null,[[["",0],["spot",4]],["option",4,[["ordering",4]]]],[[["",0],["item",3]],["option",4,[["ordering",4]]]],[[["",0],["walkingnode",4]],["option",4,[["ordering",4]]]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["directedroadid",3],["movementid",3],["pathconstraints",4],["routingparams",3],["map",3]],["option",4,[["duration",3]]]],[[]],[[]],[[]],null,null,null,null,null,null,null,null,null,null,null,[[["map",3],["vec",3,[["spot",4]]],["duration",3],["walkingoptions",3]],["hashmap",3,[["buildingid",3],["duration",3]]]],null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["walkingoptions",3]],[[["",0],["",0]]],[[["",0],["item",3]],["ordering",4]],[[],["vec",3]],null,[[],["walkingoptions",3]],[[],["speed",3]],[[["",0],["item",3]],["bool",0]],[[["",0],["",0]],["bool",0]],[[]],[[]],[[]],[[]],[[["",0],["item",3]],["bool",0]],null,[[["",0],["item",3]],["option",4,[["ordering",4]]]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0],["editeffects",3],["map",3]]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],null,[[["",0],["map",3]]],null,null,null,null,[[["",0]],["mapedits",3]],[[["",0]],["editintersection",4]],[[["",0]],["editroad",3]],[[["",0]],["editcrosswalks",3]],[[["",0]],["editcmd",4]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],null,null,[[["",0],["map",3]]],[[],["mapedits",3]],null,null,[[["",0],["map",3]]],[[],["result",4]],[[["",0],["editroad",3]],["vec",3,[["string",3]]]],null,[[["",0],["mapedits",3]],["bool",0]],[[["",0],["editintersection",4]],["bool",0]],[[["",0],["editroad",3]],["bool",0]],[[["",0],["editcrosswalks",3]],["bool",0]],[[["",0],["editcmd",4]],["bool",0]],[[["map",3],["vec",3,[["buildingid",3]]],["editeffects",3]]],[[["map",3],["vec",3,[["parkinglotid",3]]]]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],[[]],[[]],[[["",0],["map",3]],["string",3]],[[["road",3],["mapconfig",3]],["editroad",3]],[[["",0]],["str",0]],[[]],[[]],[[]],[[]],[[]],[[]],null,[[["map",3],["vec",3,[["u8",0]]]],["result",6,[["mapedits",3]]]],[[["map",3],["string",3],["timer",3]],["result",6,[["mapedits",3]]]],null,null,[[["map",3],["roadid",3],["vec",3,[["lanespec",3]]],["editeffects",3]]],[[["",0],["mapedits",3]],["bool",0]],[[["",0],["editintersection",4]],["bool",0]],[[["",0],["editroad",3]],["bool",0]],[[["",0],["editcrosswalks",3]],["bool",0]],[[["",0],["editcmd",4]],["bool",0]],[[],["mapedits",3]],null,null,null,null,null,[[["map",3],["roadid",3],["distance",3],["intersectionid",3]],["vec",3,[["roadid",3]]]],[[["intersectionid",3],["map",3],["editeffects",3]]],[[["",0],["map",3]]],[[["",0]],["result",4]],null,[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0],["map",3]],["permanenteditcmd",4]],[[["",0],["map",3]],["permanentmapedits",3]],[[["",0],["map",3]],["permanenteditintersection",4]],[[["",0],["map",3]],["permanenteditcrosswalks",3]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[],["editcmd",4]],[[["",0],["map",3]]],[[]],[[]],[[]],[[]],[[]],[[]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],null,null,[[["value",4]]],[[["value",4]]],[[["value",4]]],[[["value",4]]],[[["value",4],["map",3]],["result",6]],[[["value",4]]],[[["value",4]]],[[["value",4]]],[[["value",4],["map",3]],["result",6]],[[["value",4]]],[[["value",4]]],[[["value",4]]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],[[]],null,null,null,null,[[]],[[]],[[]],[[]],[[]],null,[[["",0],["map",3]],["result",6]],null,null,null,null,null,null,null,null,null,[[["value",4]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["value",4],["map",3]],["result",6,[["permanentmapedits",3]]]],[[]],[[]],[[]],[[]],[[]],[[["value",4],["",0]]],null,null,null,null,null,null,null,null,null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["permanentmapedits",3]],[[["",0]],["permanenteditintersection",4]],[[["",0]],["permanenteditcrosswalks",3]],[[["",0]],["permanenteditcmd",4]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],null,[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],null,[[]],[[]],[[]],[[]],[[["",0]],["str",0]],[[]],[[]],[[]],[[]],[[["map",3]],["result",6,[["editcmd",4]]]],[[["map",3]],["result",6,[["mapedits",3]]]],[[["map",3]],["mapedits",3]],null,null,null,null,[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],null,[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],null,[[]],[[]],[[]],[[]],[[["intersectionid",3],["map",3]],["result",6,[["editintersection",4]]]],[[["intersectionid",3],["map",3]],["result",6,[["editcrosswalks",3]]]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],null,null,[[],["app",3]],[[["",0]],["rawtomapoptions",3]],[[["",0],["",0]]],null,[[],["rawtomapoptions",3]],[[]],[[["argmatches",3]]],[[]],null,[[["map",3],["hashset",3,[["hashablept2d",3]]],["fn",8],["distance",3],["distance",3],["timer",3]],["hashmap",3,[["hashablept2d",3],["position",3]]]],null,null,null,[[["polyline",3]],["vec",3,[["distance",3]]]],[[["",0]]],null,null,[[["polygon",3],["line",3]],["line",3]],[[],["result",4]],[[],["result",4]],null,[[["",0]],["typeid",3]],[[]],null,[[["vec",3],["bounds",3],["timer",3]]],[[["tags",3],["f64",0],["f64",0],["xorshiftrng",3]],["buildingtype",4]],[[["tags",3],["laneid",3],["map",3]],["string",3]],[[["btreemap",3],["map",3],["bool",0],["timer",3]],["vec",3,[["building",3]]]],[[["polygon",3]],["vec",3]],[[["polygon",3],["line",3]],["bool",0]],[[["map",3],["timer",3]],["vec",3,[["parkinglot",3]]]],[[["hashablept2d",3],["polygon",3],["hashmap",3],["map",3]],["result",6]],null,null,[[["intersection",3]],["controltrafficsignal",3]],[[["map",3],["intersection",3]],["option",4,[["controltrafficsignal",3]]]],[[["controltrafficsignal",3],["intersection",3]]],[[["map",3],["intersection",3]],["option",4,[["controltrafficsignal",3]]]],[[["map",3],["intersection",3]],["option",4,[["controltrafficsignal",3]]]],[[["map",3],["intersectionid",3],["bool",0]],["vec",3]],[[["intersection",3]],["controltrafficsignal",3]],[[["intersection",3]],["option",4,[["controltrafficsignal",3]]]],null,[[["controltrafficsignal",3],["mapconfig",3],["intersection",3],["vec",3,[["vec",3]]]]],[[["intersectionid",3]],["controltrafficsignal",3]],[[["map",3],["intersection",3]],["controltrafficsignal",3]],[[["map",3]]],[[["map",3],["intersection",3]],["option",4,[["controltrafficsignal",3]]]],[[["controltrafficsignal",3],["stage",3]]],[[["intersection",3],["map",3]],["option",4,[["controltrafficsignal",3]]]],[[["stage",3],["intersection",3]],["option",4]],[[["controltrafficsignal",3],["intersection",3]]],[[["controltrafficsignal",3]]],[[["intersection",3],["map",3]],["option",4,[["controltrafficsignal",3]]]],[[["map",3],["intersection",3]],["option",4,[["controltrafficsignal",3]]]],[[["controltrafficsignal",3],["intersection",3]],["option",4,[["controltrafficsignal",3]]]],[[["intersection",3]]],[[["roadid",3]],["vec",3,[["movementid",3]]]],[[["intersection",3]],["option",4,[["controltrafficsignal",3]]]],[[["controltrafficsignal",3],["intersection",3]],["option",4,[["controltrafficsignal",3]]]],[[["movementid",3],["movementid",3]],["stage",3]],[[["roadid",3],["roadid",3],["vec",3]],["option",4,[["movementid",3]]]],[[]],[[["intersection",3],["map",3]],["option",4,[["controltrafficsignal",3]]]],null,[[["",0]],["",0]],[[["",0]],["",0]],null,null,[[["rawtransitroute",3],["map",3],["hashmap",3],["bordersnapper",3]],["result",6]],[[["rawtransitstop",3],["hashmap",3],["hashmap",3],["map",3]],["result",6]],[[["map",3],["rawmap",3],["timer",3]]],[[]],[[]],[[["map",3]],["bordersnapper",3]],null,null,[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[]],[[["lane",3],["lane",3],["intersection",3]],["result",6,[["polyline",3]]]],[[["vec",3,[["turn",3]]]],["vec",3,[["turn",3]]]],[[["intersection",3],["map",3]],["option",4,[["hashmap",3,[["turntype",4]]]]]],[[["map",3],["intersection",3]],["vec",3,[["turn",3]]]],[[["intersection",3],["map",3]],["vec",3,[["turn",3]]]],[[["map",3],["vec",3,[["turn",3]]],["turntype",4]],["vec",3,[["turn",3]]]],[[["angle",3],["angle",3]],["turntype",4]],[[["intersection",3],["map",3]],["result",6]],[[["pt2d",3],["pt2d",3]],["polyline",3]],[[["vec",3,[["turn",3]]],["map",3],["intersection",3]],["vec",3,[["turn",3]]]],[[["intersection",3],["lane",3],["lane",3]],["polyline",3]],[[["intersection",3],["lane",3],["lane",3]],["polyline",3]],[[["map",3],["intersection",3]],["vec",3,[["turn",3]]]],[[["intersectionid",3],["laneid",3],["laneid",3]],["turnid",3]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["areaid",3]],[[["",0]],["area",3]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["areaid",3]],["ordering",4]],[[],["result",4]],[[],["result",4]],[[["",0],["areaid",3]],["bool",0]],[[["",0],["",0]],["bool",0]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],[[["",0]],["u64",0]],[[["",0],["",0]]],null,[[]],[[]],[[["",0],["areaid",3]],["bool",0]],null,null,[[["",0],["areaid",3]],["option",4,[["ordering",4]]]],null,[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]]],[[["",0]]],[[["",0]],["string",3]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["usize",0]],["option",4,[["vec",3,[["usize",0]]]]]],[[["",0],["map",3]],["result",6]],[[["",0]],["block",3]],[[["",0]],["perimeter",3]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0]]],[[["",0],["perimeter",3]],["bool",0]],[[],["result",4]],[[],["result",4]],[[["map",3]],["vec",3,[["perimeter",3]]]],[[["map",3]],["hashset",3,[["roadid",3]]]],[[]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],null,[[]],[[]],[[["map",3],["vec",3,[["perimeter",3]]],["bool",0],["bool",0]],["vec",3,[["perimeter",3]]]],[[["vec",3,[["perimeter",3]]],["fn",8]],["vec",3,[["vec",3,[["perimeter",3]]]]]],null,null,[[["",0]]],[[["",0],["map",3],["perimeter",3]],["bool",0]],null,[[["",0]],["result",4]],[[["",0]],["result",4]],[[["map",3],["laneid",3],["hashset",3]],["result",6,[["perimeter",3]]]],[[["map",3]],["result",6,[["block",3]]]],[[["",0]]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0],["map",3],["perimeter",3],["bool",0],["bool",0]],["bool",0]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]]],[[]],[[]],null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0],["map",3]],["option",4]],null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["buildingid",3]],[[["",0]],["building",3]],[[["",0]],["offstreetparking",4]],[[["",0]],["buildingtype",4]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["buildingid",3]],["ordering",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],null,[[["",0],["map",3]],["option",4]],[[["",0],["buildingid",3]],["bool",0]],[[["",0],["offstreetparking",4]],["bool",0]],[[["",0],["",0]],["bool",0]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],[[["",0]],["u64",0]],[[["",0],["amenitytype",4]],["bool",0]],[[["",0]],["bool",0]],[[["",0],["",0]]],[[["",0]],["option",4,[["string",3]]]],null,[[]],[[]],[[]],[[]],null,null,null,[[["",0],["buildingid",3]],["bool",0]],[[["",0],["offstreetparking",4]],["bool",0]],[[["",0]],["usize",0]],null,null,null,[[["",0],["buildingid",3]],["option",4,[["ordering",4]]]],null,[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["laneid",3]],null,[[["position",3],["map",3]],["option",4]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]],["string",3]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],[[]],[[]],null,null,null,null,null,null,null,null,null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["intersectionid",3]],[[["",0]],["intersection",3]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["intersectionid",3]],["ordering",4]],[[],["result",4]],[[],["result",4]],null,[[["",0],["intersectionid",3]],["bool",0]],[[["",0],["",0]],["bool",0]],[[["",0],["intersectionid",3],["map",3]],["option",4,[["road",3]]]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],[[["",0]],["u64",0]],[[["",0],["map",3],["pathconstraints",4]],["vec",3,[["laneid",3]]]],[[["",0],["map",3],["pathconstraints",4]],["vec",3,[["laneid",3]]]],[[["",0],["map",3]],["roadrank",4]],[[["",0],["map",3]],["vec",3,[["roadsideid",3]]]],[[["",0],["map",3]],["vec",3,[["roadid",3]]]],[[["",0],["map",3]],["vec",3,[["roadid",3]]]],[[["",0],["map",3]],["isize",0]],[[["",0],["",0]]],null,null,null,[[]],[[]],[[["",0]],["bool",0]],[[["",0]],["bool",0]],[[["",0],["map",3]],["bool",0]],[[["",0],["map",3]],["bool",0]],[[["",0]],["bool",0]],[[["",0]],["bool",0]],[[["",0],["map",3]],["bool",0]],[[["",0]],["bool",0]],[[["",0],["map",3]],["bool",0]],[[["",0]],["bool",0]],[[["",0],["map",3]],["bool",0]],[[["",0]],["bool",0]],[[["",0]],["bool",0]],null,null,[[["",0],["option",4,[["string",3]]],["map",3]],["string",3]],[[["",0],["intersectionid",3]],["bool",0]],null,null,[[["",0],["intersectionid",3]],["option",4,[["ordering",4]]]],null,null,[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0],["map",3]],["option",4,[["directedroadid",3]]]],[[["",0],["map",3]],["option",4,[["directedroadid",3]]]],[[["",0]]],[[["",0]]],[[["",0]],["string",3]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0],["turnid",3]]],null,[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],null,null,null,null,null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["laneid",3]],[[["",0]],["lane",3]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["laneid",3]],["ordering",4]],[[["",0],["lane",3]],["commonendpoint",4]],[[["u32",0]],["laneid",3]],[[],["result",4,[["laneid",3]]]],[[],["result",4]],null,[[["",0],["pt2d",3]],["option",4,[["distance",3]]]],null,null,[[],["laneid",3]],[[],["u32",0]],[[["",0],["intersectionid",3]],["line",3]],[[["",0],["intersectionid",3]],["pt2d",3]],[[["",0],["laneid",3]],["bool",0]],[[["",0],["commonendpoint",4]],["bool",0]],[[["",0],["",0]],["bool",0]],[[["",0]],["line",3]],[[["",0]],["pt2d",3]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],[[]],[[["",0]],["directedroadid",3]],[[["",0]],["u64",0]],[[["",0],["road",3],["bool",0]],["option",4,[["btreeset",3,[["turntype",4]]]]]],[[["",0],["map",3]],["roadsideid",3]],[[["",0]],["polygon",3]],[[["",0],["",0]]],null,[[["",0]],["vec",3,[["intersectionid",3]]]],[[]],[[]],[[]],[[["",0]],["bool",0]],[[["",0]],["bool",0]],[[["",0]],["bool",0]],[[["",0]],["bool",0]],[[["",0]],["bool",0]],[[["",0]],["bool",0]],[[["",0]],["bool",0]],[[["",0]],["bool",0]],null,null,[[["",0]],["line",3]],[[["",0]],["pt2d",3]],[[["",0]],["distance",3]],[[["",0],["laneid",3]],["bool",0]],[[["",0],["commonendpoint",4]],["bool",0]],[[],["commonendpoint",4]],[[["",0],["mapconfig",3]],["usize",0]],null,[[["str",0]],["vec",3,[["turntype",4]]]],[[["",0],["laneid",3]],["option",4,[["ordering",4]]]],null,[[["",0]],["result",4]],[[["",0]],["result",4]],null,[[["",0]]],[[["",0]]],[[["",0]],["string",3]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],[[]],null,null,null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["movementid",3]],[[["",0]],["compressedmovementid",3]],[[["",0]],["movement",3]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["movementid",3]],["ordering",4]],[[["",0],["compressedmovementid",3]],["ordering",4]],[[["",0],["movement",3]],["bool",0]],null,[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0],["movementid",3]],["bool",0]],[[["",0],["compressedmovementid",3]],["bool",0]],[[["",0],["movement",3]],["bool",0]],[[["",0],["",0]],["bool",0]],[[["",0],["",0]],["bool",0]],[[["directedroad",3],["map",3]],["result",6,[["directedroadid",3]]]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["intersectionid",3],["map",3]],["btreemap",3,[["movementid",3],["movement",3]]]],[[]],[[]],[[]],null,[[["turn",3],["map",3]],["result",6,[["movementid",3]]]],null,[[["",0]],["u64",0]],[[["",0]],["u64",0]],[[["",0],["",0]]],[[["",0],["",0]]],null,null,null,[[]],[[]],[[]],null,[[["vec",3,[["polyline",3]]],["directedroadid",3],["directedroadid",3]],["result",6,[["polyline",3]]]],[[["",0],["movementid",3]],["bool",0]],[[["",0],["compressedmovementid",3]],["bool",0]],[[["",0],["movement",3]],["bool",0]],null,[[["",0],["movementid",3]],["option",4,[["ordering",4]]]],[[["",0],["compressedmovementid",3]],["option",4,[["ordering",4]]]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0],["map",3]]],null,[[["",0]]],[[["",0]]],[[["",0]]],[[["",0],["map",3]],["turn",3]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],null,[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],[[]],null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["usize",0]],[[["",0]],["parkinglotid",3]],[[["",0]],["parkinglot",3]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["parkinglotid",3]],["ordering",4]],[[],["result",4]],[[],["result",4]],null,null,[[["",0],["parkinglotid",3]],["bool",0]],[[["",0],["",0]],["bool",0]],null,[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],[[["",0]],["u64",0]],[[["",0],["",0]]],null,[[]],[[]],[[["",0],["parkinglotid",3]],["bool",0]],null,[[["",0],["parkinglotid",3]],["option",4,[["ordering",4]]]],null,[[["",0]],["result",4]],[[["",0]],["result",4]],null,null,null,[[["",0]]],[[["",0]]],[[["",0]],["string",3]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],null,null,null,null,null,null,null,null,null,[[["",0]],["accessrestrictions",3]],null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[],["vec",3,[["directedroadid",3]]]],[[]],null,[[["",0],["direction",4]],["vec",3]],[[["",0]],["vec",3]],[[["",0]],["vec",3]],[[["",0]],["roadid",3]],[[["",0]],["directedroadid",3]],[[["",0]],["sideofroad",4]],[[["",0]],["roadsideid",3]],[[["",0]],["road",3]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["roadid",3]],["ordering",4]],[[["",0],["directedroadid",3]],["ordering",4]],[[["",0],["sideofroad",4]],["ordering",4]],[[["",0],["roadsideid",3]],["ordering",4]],[[["",0],["road",3]],["commonendpoint",4]],null,null,null,[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],null,[[["",0],["laneid",3]]],[[["",0],["intersectionid",3]],["directedroadid",3]],[[["",0],["intersectionid",3]],["directedroadid",3]],[[["map",3]],["intersectionid",3]],null,[[["",0],["roadid",3]],["bool",0]],[[["",0],["directedroadid",3]],["bool",0]],[[["",0],["sideofroad",4]],["bool",0]],[[["",0],["roadsideid",3]],["bool",0]],[[["",0],["",0]],["bool",0]],[[["",0],["",0]],["bool",0]],[[["",0],["",0]],["bool",0]],[[["",0],["",0]],["bool",0]],[[["",0],["laneid",3],["fn",8]],["option",4,[["laneid",3]]]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],[[]],[[["",0]],["usize",0]],[[["",0],["map",3]],["polyline",3]],[[["",0],["direction",4],["map",3]],["result",6,[["polygon",3]]]],[[["",0]],["distance",3]],[[["",0]],["u64",0]],[[["",0]],["u64",0]],[[["",0]],["u64",0]],[[["",0]],["u64",0]],[[["",0],["laneid",3],["laneid",3]],["vec",3,[["laneid",3]]]],[[["",0],["option",4,[["string",3]]]],["string",3]],[[["map",3]],["lane",3]],[[["",0]],["roadrank",4]],[[["",0]],["polygon",3]],[[["",0]],["distance",3]],[[["",0],["map",3]],["option",4,[["zone",3]]]],[[["lanetype",4],["map",3]],["bool",0]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["map",3],["direction",4]],["bool",0]],null,[[["",0],["intersectionid",3]],["vec",3]],[[]],[[]],[[]],[[]],[[]],[[["",0]],["bool",0]],[[["",0],["map",3]],["bool",0]],[[["",0]],["bool",0]],[[["",0]],["bool",0]],[[["",0]],["bool",0]],[[["",0]],["bool",0]],[[["",0]],["bool",0]],[[["",0]],["bool",0]],[[["",0]],["vec",3,[["lanespec",3]]]],[[["pathconstraints",4],["map",3]],["vec",3,[["laneid",3]]]],null,[[["",0]],["distance",3]],[[["map",3]],["laneid",3]],[[["",0],["roadid",3]],["bool",0]],[[["",0],["directedroadid",3]],["bool",0]],[[["",0],["roadsideid",3]],["bool",0]],[[["",0]],["option",4,[["direction",4]]]],null,null,[[["",0],["intersectionid",3]],["intersectionid",3]],[[],["roadsideid",3]],[[["",0],["laneid",3]],["option",4,[["laneid",3]]]],[[["",0],["roadid",3]],["option",4,[["ordering",4]]]],[[["",0],["directedroadid",3]],["option",4,[["ordering",4]]]],[[["",0],["sideofroad",4]],["option",4,[["ordering",4]]]],[[["",0],["roadsideid",3]],["option",4,[["ordering",4]]]],null,[[["",0],["vec",3,[["lanespec",3]]]]],null,null,[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0],["distance",3]],["result",6,[["polyline",3]]]],null,null,[[["",0]],["speed",3]],[[["map",3]],["intersectionid",3]],null,[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]],["string",3]],[[["",0]],["string",3]],null,[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],null,[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],null,[[]],[[]],[[]],[[]],[[]],null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["controlstopsign",3]],[[["",0]],["roadwithstopsign",3]],[[["",0],["",0]]],[[["",0],["",0]]],[[],["result",4]],[[],["result",4]],[[["",0],["controlstopsign",3]],["bool",0]],[[["",0],["roadwithstopsign",3]],["bool",0]],[[["",0],["roadid",3]]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],[[["",0],["turnid",3],["map",3]],["turnpriority",4]],null,[[]],[[]],null,null,[[["",0],["controlstopsign",3]],["bool",0]],[[["",0],["roadwithstopsign",3]],["bool",0]],[[["map",3],["intersectionid",3]],["controlstopsign",3]],null,[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],null,null,null,null,null,null,[[["",0],["duration",3],["duration",3],["map",3]],["result",6]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["controltrafficsignal",3]],[[["",0]],["stage",3]],[[["",0]],["stagetype",4]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["intersection",3]],["bool",0]],[[["",0],["intersection",3]],["bool",0]],[[["",0],["movementid",3],["intersection",3]],["bool",0]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0],["movement",3],["turnpriority",4]]],[[["",0],["movement",3]]],[[["",0],["controltrafficsignal",3]],["bool",0]],[[["",0],["stage",3]],["bool",0]],[[["",0],["stagetype",4]],["bool",0]],[[["",0],["map",3]],["trafficsignal",3]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],[[]],[[["",0],["usize",0],["intersection",3]],["duration",3]],[[["map",3],["intersectionid",3]],["vec",3]],[[["",0],["movementid",3]],["turnpriority",4]],[[["",0],["turnid",3],["intersection",3]],["turnpriority",4]],null,[[["trafficsignal",3],["intersectionid",3],["map",3]],["result",6,[["controltrafficsignal",3]]]],[[["",0],["bool",0],["intersection",3]],["bool",0]],[[]],[[]],[[]],[[["",0],["intersection",3]],["option",4,[["duration",3]]]],[[["",0],["intersection",3]],["btreeset",3,[["movementid",3]]]],[[["",0],["controltrafficsignal",3]],["bool",0]],[[["",0],["stage",3]],["bool",0]],[[["",0],["stagetype",4]],["bool",0]],[[["map",3],["intersectionid",3]],["controltrafficsignal",3]],[[],["stage",3]],null,null,[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["duration",3]],[[["",0]],["duration",3]],null,null,[[["",0]]],[[["",0]]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0],["intersection",3]],["result",6]],[[["map",3],["intersectionid",3]],["controltrafficsignal",3]],[[]],[[]],[[]],null,null,null,null,null,null,null,null,null,null,[[["",0],["map",3]],["vec",3,[["pathrequest",3]]]],[[["",0],["map",3]],["result",6,[["vec",3,[["path",3]]]]]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["transitstopid",3]],[[["",0]],["transitrouteid",3]],[[["",0]],["transitstop",3]],[[["",0]],["transitroute",3]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["transitstopid",3]],["ordering",4]],[[["",0],["transitrouteid",3]],["ordering",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],null,null,[[["",0],["transitstopid",3]],["bool",0]],[[["",0],["transitrouteid",3]],["bool",0]],[[["",0],["transitstop",3]],["bool",0]],[[["",0],["",0]],["bool",0]],[[["",0],["",0]],["bool",0]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],[[["",0]],["u64",0]],[[["",0]],["u64",0]],null,null,[[["",0],["",0]]],[[["",0],["",0]]],null,null,null,[[]],[[]],[[]],[[]],null,null,null,[[["",0],["transitstopid",3]],["bool",0]],[[["",0],["transitrouteid",3]],["bool",0]],[[["",0],["transitstop",3]],["bool",0]],null,[[["",0],["transitstopid",3]],["option",4,[["ordering",4]]]],[[["",0],["transitrouteid",3]],["option",4,[["ordering",4]]]],[[["",0]],["str",0]],null,null,[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],null,null,null,null,null,[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]],["string",3]],[[["",0]],["string",3]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],[[]],[[]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0]],["angle",3]],[[["",0]],["bool",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["turnid",3]],[[["",0]],["turntype",4]],[[["",0]],["turnpriority",4]],[[["",0]],["turn",3]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["turnid",3]],["ordering",4]],[[["",0],["turntype",4]],["ordering",4]],[[["",0],["turn",3]],["bool",0]],[[["",0]],["option",4,[["line",3]]]],[[["",0],["map",3]],["option",4,[["directedroadid",3]]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],null,[[["",0],["turnid",3]],["bool",0]],[[["",0],["turntype",4]],["bool",0]],[[["",0],["turnpriority",4]],["bool",0]],[[["",0],["turn",3]],["bool",0]],[[["",0],["",0]],["bool",0]],[[["",0],["",0]],["bool",0]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],null,[[["",0]],["u64",0]],[[["",0],["",0]]],null,[[]],[[]],[[]],[[]],[[["",0],["map",3]],["bool",0]],[[["",0],["turnid",3]],["bool",0]],[[["",0],["turn",3]],["bool",0]],null,[[["",0],["turnid",3]],["option",4,[["ordering",4]]]],[[["",0],["turntype",4]],["option",4,[["ordering",4]]]],[[["",0],["turnpriority",4]],["option",4,[["ordering",4]]]],[[],["bool",0]],[[["",0],["pathconstraints",4],["map",3]]],[[["",0],["map",3]],["bool",0]],[[["",0],["intersection",3],["map",3]],["bool",0]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],null,[[["map",3]],["movementid",3]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]],["string",3]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],null,[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],[[]],[[]],null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["accessrestrictions",3]],[[["",0]],["zone",3]],[[["",0],["",0]]],[[["",0],["",0]]],[[],["result",4]],[[],["result",4]],[[["",0],["accessrestrictions",3]],["bool",0]],[[["",0],["zone",3]],["bool",0]],[[["map",3],["roadid",3]],["zone",3]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],[[["map",3]],["vec",3,[["zone",3]]]],null,[[["",0],["accessrestrictions",3]],["bool",0]],[[["",0],["zone",3]],["bool",0]],[[],["accessrestrictions",3]],null,[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["roadrank",4]],[[["",0]],["nodeid",3]],[[["",0]],["wayid",3]],[[["",0]],["relationid",3]],[[["",0]],["osmid",4]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["roadrank",4]],["ordering",4]],[[["",0],["nodeid",3]],["ordering",4]],[[["",0],["wayid",3]],["ordering",4]],[[["",0],["relationid",3]],["ordering",4]],[[["",0],["osmid",4]],["ordering",4]],[[],["result",4,[["nodeid",3]]]],[[],["result",4,[["wayid",3]]]],[[],["result",4,[["relationid",3]]]],[[],["result",4,[["osmid",4]]]],[[["str",0]],["usize",0]],[[["",0],["roadrank",4]],["bool",0]],[[["",0],["nodeid",3]],["bool",0]],[[["",0],["wayid",3]],["bool",0]],[[["",0],["relationid",3]],["bool",0]],[[["",0],["osmid",4]],["bool",0]],[[["",0],["",0]],["bool",0]],[[["",0],["",0]],["bool",0]],[[["",0],["",0]],["bool",0]],[[["",0],["",0]],["bool",0]],[[["",0],["",0]],["bool",0]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[]],[[]],[[]],[[]],[[]],[[["str",0]],["roadrank",4]],[[["",0]],["u64",0]],[[["",0]],["u64",0]],[[["",0]],["u64",0]],[[["",0]],["u64",0]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[],["i64",0]],[[]],[[]],[[]],[[]],[[]],[[["",0],["nodeid",3]],["bool",0]],[[["",0],["wayid",3]],["bool",0]],[[["",0],["relationid",3]],["bool",0]],[[["",0],["osmid",4]],["bool",0]],[[["",0],["roadrank",4]],["option",4,[["ordering",4]]]],[[["",0],["nodeid",3]],["option",4,[["ordering",4]]]],[[["",0],["wayid",3]],["option",4,[["ordering",4]]]],[[["",0],["relationid",3]],["option",4,[["ordering",4]]]],[[["",0],["osmid",4]],["option",4,[["ordering",4]]]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]],["string",3]],[[["",0]],["string",3]],[[["",0]],["string",3]],[[["",0]],["string",3]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],[[]],[[]],[[]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[],["vec",3,[["pathconstraints",4]]]],null,null,null,null,null,[[]],[[]],[[]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],null,[[["lane",3],["map",3]],["bool",0]],[[["road",3],["map",3]],["bool",0]],[[["",0]]],[[["",0]],["routingparams",3]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["pathconstraints",4]],["ordering",4]],[[]],[[],["result",4]],[[["deserializer",8]],["result",4,[["enumset",3,[["pathconstraints",4]]]]]],[[],["result",4]],null,null,[[["u32",0]]],[[],["u32",0]],[[["",0],["enumset",3]],["bool",0]],[[["",0],["",0]],["bool",0]],[[["",0],["routingparams",3]],["bool",0]],[[["",0],["",0]],["bool",0]],[[["vec",3,[["laneid",3]]],["map",3]],["vec",3,[["laneid",3]]]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],[[["lanetype",4]],["pathconstraints",4]],[[]],[[]],null,[[["",0],["routingparams",3]],["bool",0]],null,[[]],[[["",0],["pathconstraints",4]],["option",4,[["ordering",4]]]],null,[[["duration",3]],["usize",0]],[[["enumset",3,[["pathconstraints",4]]],["serializer",8]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[]],[[["",0]]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],null,null,[[["usize",0]],["duration",3]],null,null,null,null,[[]],[[]],null,[[["movementid",3],["pathconstraints",4],["map",3]],["duration",3]],null,null,null,null,null,null,null,null,[[["",0],["usize",0]],["hashmap",3,[["usize",0],["usize",0]]]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0],["usize",0],["usize",0]],["option",4]],[[["",0],["vec",3],["vec",3]],["option",4]],[[["",0]]],[[["",0],["",0]]],[[["",0],["inputgraph",3]],["pathfindengine",4]],[[],["result",4]],[[]],[[]],[[]],[[]],[[["",0]],["bool",0]],[[["",0]],["createengine",4]],[[["",0]],["result",4]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],null,null,null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["nodemap",3]],[[["",0],["",0]]],[[],["result",4]],[[["deserializer",8]],["result",4,[["nodemap",3,[["",26,[["deserialize",8],["copy",8],["ord",8],["debug",8],["serialize",8]]]]]]]],[[]],[[]],[[["",0]],["nodeid",6]],[[["",0]],["nodeid",6]],[[["",0],["inputgraph",3]]],null,null,[[]],[[]],[[],["nodemap",3]],null,[[["",0]],["result",4]],[[["",0]]],[[["",0],["usize",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],null,null,null,null,null,null,[[["",0],["pathrequest",3],["map",3]],["option",4]],[[["",0],["map",3],["timer",3]]],null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],null,null,null,null,[[["",0]]],[[["",0]],["pathfindercaching",4]],[[["",0],["",0]]],[[["",0],["",0]]],[[],["result",4]],[[],["pathfinder",3]],[[["",0],["pathfindercaching",4]],["bool",0]],[[["",0],["map",3],["createengine",4]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[["map",3],["routingparams",3],["createengine",4],["timer",3]],["pathfinder",3]],[[["map",3],["routingparams",3],["vec",3,[["pathconstraints",4]]],["timer",3]]],[[["map",3],["routingparams",3],["vec",3,[["pathconstraints",4]]],["timer",3]]],[[["map",3],["routingparams",3],["createengine",4],["vec",3,[["pathconstraints",4]]],["timer",3]],["pathfinder",3]],null,[[["",0],["pathrequest",3],["map",3]],["option",4,[["pathv2",3]]]],[[["",0],["pathrequest",3],["map",3]],["option",4,[["pathv2",3]]]],[[["",0],["map",3],["pathrequest",3],["routingparams",3]],["option",4,[["pathv2",3]]]],[[["",0],["pathrequest",3],["routingparams",3],["pathfindercaching",4],["map",3]],["option",4,[["pathv2",3]]]],[[["",0]],["result",4]],[[["",0],["map",3],["position",3],["position",3]],["option",4]],[[["",0]]],[[["",0]]],null,[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],[[]],null,null,null,null,null,[[["intersectionid",3],["map",3]],["option",4,[["btreeset",3,[["intersectionid",3]]]]]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["uberturn",3]],[[["",0]],["uberturnv2",3]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["uberturnv2",3]],["ordering",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["laneid",3]],[[["",0]],["directedroadid",3]],[[["",0],["uberturn",3]],["bool",0]],[[["",0],["uberturnv2",3]],["bool",0]],[[["",0],["",0]],["bool",0]],[[["",0]],["laneid",3]],[[["",0]],["directedroadid",3]],[[["map",3]],["vec",3,[["intersectioncluster",3]]]],[[["turnid",3],["map",3],["btreeset",3]],["vec",3,[["uberturn",3]]]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],[[]],[[["",0],["map",3]],["polyline",3]],[[]],[[]],[[]],[[["map",3]],["vec",3,[["uberturnv2",3]]]],null,[[["",0],["uberturn",3]],["bool",0]],[[["",0],["uberturnv2",3]],["bool",0]],[[["btreeset",3,[["intersectionid",3]]],["map",3]]],[[["",0],["uberturnv2",3]],["option",4,[["ordering",4]]]],null,null,[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]]],[[["",0]]],[[["turnid",3],["btreemap",3]],["vec",3,[["turnid",3]]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],null,[[]],[[]],[[]],null,null,null,null,null,null,null,[[["",0]],["option",4,[["uberturn",3]]]],[[["",0],["pathstep",4],["map",3]]],null,[[["",0]],["laneid",3]],[[["",0]],["traversable",4]],[[["",0]],["turnid",3]],[[["map",3],["buildingid",3],["buildingid",3],["pathconstraints",4]],["option",4,[["pathrequest",3]]]],[[["map",3],["directedroadid",3],["directedroadid",3],["pathconstraints",4]],["option",4,[["pathrequest",3]]]],null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["pathstep",4]],[[["",0]],["path",3]],[[["",0]],["pathrequest",3]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["pathstep",4]],["ordering",4]],null,[[["",0]],["distance",3]],null,[[["",0],["roadid",3]],["bool",0]],[[["",0]],["pathstep",4]],[[["",0]],["option",4]],null,[[["map",3],["vec",3,[["pathrequest",3]]]],["vec",3]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0],["map",3],["pathstep",4]],["distance",3]],null,[[["",0],["pathstep",4]],["bool",0]],[[["",0],["path",3]],["bool",0]],[[["",0],["pathrequest",3]],["bool",0]],[[["",0],["",0]],["bool",0]],[[["",0],["",0]],["bool",0]],[[["",0],["map",3],["option",4,[["speed",3]]]],["duration",3]],[[["",0],["map",3],["distance",3],["option",4,[["distance",3]]]],["result",6,[["polyline",3]]]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],[[]],[[["",0]],["vec",3,[["laneid",3]]]],[[["",0]],["u64",0]],[[["",0]],["pathrequest",3]],[[["",0],["map",3],["distance",3]],["result",6,[["pathstep",4]]]],[[["",0]],["vecdeque",3]],[[["",0],["map",3]]],[[["",0],["",0]]],[[]],[[]],[[]],[[["",0]],["bool",0]],[[["",0]],["bool",0]],[[["",0],["turnid",3]],["bool",0]],[[["",0]],["bool",0]],[[["",0]],["pathstep",4]],[[["position",3],["position",3],["pathconstraints",4],["map",3]],["pathrequest",3]],[[["",0],["option",4,[["speed",3]]],["pathconstraints",4],["map",3]],["speed",3]],[[["",0],["option",4,[["speed",3]]],["pathconstraints",4],["map",3]]],[[["",0]],["option",4,[["pathstep",4]]]],[[["",0],["usize",0],["pathstep",4],["map",3]]],[[["",0],["pathstep",4]],["bool",0]],[[["",0],["path",3]],["bool",0]],[[["",0],["pathrequest",3]],["bool",0]],[[["map",3],["vec",3,[["pathstep",4]]],["pathrequest",3],["vec",3,[["uberturn",3]]],["vec",3,[["laneid",3]]]],["path",3]],[[["",0]],["pathstep",4]],null,[[["",0],["pathstep",4]],["option",4,[["ordering",4]]]],[[["",0]],["f64",0]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0],["map",3]],["pathstep",4]],null,null,[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]],["string",3]],[[["",0]],["distance",3]],null,[[["",0],["map",3]],["option",4,[["polyline",3]]]],[[["",0],["map",3],["distance",3]],["option",4,[["polyline",3]]]],[[["",0],["map",3]],["result",6,[["polygon",3]]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],null,[[["map",3]]],[[["map",3]]],[[["map",3],["pathrequest",3]]],[[["position",3],["position",3],["pathconstraints",4]],["pathrequest",3]],[[]],[[]],[[]],[[["position",3],["position",3]],["pathrequest",3]],null,null,null,null,null,null,null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["pathstepv2",4]],[[["",0]],["pathv2",3]],[[["",0],["",0]]],[[["",0],["",0]]],null,[[["",0],["roadid",3]],["bool",0]],[[],["result",4]],[[],["result",4]],[[["map",3],["vec",3,[["uberturnv2",3]]]],["vec",3,[["uberturn",3]]]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],[[["vec",3,[["directedroadid",3]]],["pathrequest",3],["duration",3],["vec",3,[["uberturnv2",3]]],["map",3]],["pathv2",3]],[[["",0]],["duration",3]],[[["",0]],["pathrequest",3]],[[["",0]],["vec",3]],[[]],[[]],[[["map",3]],["result",6,[["path",3]]]],[[["map",3]],["result",6,[["path",3]]]],[[["vec",3,[["pathstepv2",4]]],["pathrequest",3],["duration",3],["vec",3,[["uberturnv2",3]]]],["pathv2",3]],null,[[["",0]],["result",4]],[[["",0]],["result",4]],null,[[["",0]]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],null,[[]],[[]],null,null,null,null,null,null,null,null,[[["",0],["position",3],["map",3]],["hashmap",3,[["directedroadid",3],["duration",3]]]],[[["",0],["map",3]]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["vehiclepathfinder",3]],[[["",0]],["node",4]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["node",4]],["ordering",4]],null,[[],["result",4]],[[],["result",4]],[[],["vehiclepathfinder",3]],null,[[["",0],["node",4]],["bool",0]],[[["",0],["",0]],["bool",0]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],[[["",0]],["u64",0]],[[["",0],["",0]]],[[]],[[]],[[["pathconstraints",4],["nodemap",3],["routingparams",3],["map",3]],["inputgraph",3]],[[["",0],["node",4]],["bool",0]],[[["map",3],["pathconstraints",4],["routingparams",3],["createengine",4]],["vehiclepathfinder",3]],null,null,[[["",0],["node",4]],["option",4,[["ordering",4]]]],[[["",0],["pathrequest",3],["map",3]],["option",4,[["pathv2",3]]]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],null,[[["directedroadid",3],["movementid",3],["pathconstraints",4],["routingparams",3],["map",3]],["option",4,[["duration",3]]]],[[]],[[]],null,null,null,null,null,null,null,[[["",0],["position",3],["map",3]],["hashmap",3,[["directedroadid",3],["duration",3]]]],[[["",0],["map",3],["option",4]]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["sidewalkpathfinder",3]],[[["",0],["",0]]],[[],["result",4]],[[],["sidewalkpathfinder",3]],null,[[]],[[]],[[["nodemap",3],["option",4],["map",3]],["inputgraph",3]],[[["map",3],["option",4],["createengine",4]],["sidewalkpathfinder",3]],null,[[["pathrequest",3],["map",3]],["pathv2",3]],[[["",0],["pathrequest",3],["map",3]],["option",4,[["pathv2",3]]]],[[["",0]],["result",4]],[[["",0],["map",3],["position",3],["position",3]],["option",4]],[[["",0]]],[[["inputgraph",3],["nodemap",3],["map",3],["vehiclepathfinder",3],["vehiclepathfinder",3]]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],null,[[]],[[["vec",3,[["walkingnode",4]]],["map",3]],["vec",3,[["pathstepv2",4]]]],null,null,null,null,null,null,null,null,null,null,[[["",0]],["laneid",3]],[[["",0]],["turnid",3]],[[["speed",3],["f64",0]],["speed",3]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["distance",3],["map",3]],["option",4,[["position",3]]]],[[["",0]],["position",3]],[[["",0]],["traversable",4]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["position",3]],["ordering",4]],[[["",0],["traversable",4]],["ordering",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["distance",3]],null,[[["laneid",3],["map",3]],["position",3]],[[["",0],["position",3]],["bool",0]],[[["",0],["traversable",4]],["bool",0]],[[["",0],["laneid",3],["map",3]],["position",3]],[[["",0],["laneid",3],["distance",3],["map",3]],["position",3]],[[["",0],["",0]],["bool",0]],[[["",0],["",0]],["bool",0]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],[[["",0]],["u64",0]],[[["map",3]],["polyline",3]],[[["",0],["map",3]],["isize",0]],[[["",0],["",0]]],[[]],[[]],[[["",0]],["laneid",3]],null,[[["movementid",3],["option",4,[["speed",3]]],["pathconstraints",4],["map",3]],["speed",3]],[[["directedroadid",3],["option",4,[["speed",3]]],["pathconstraints",4],["map",3]]],[[["",0]],["option",4,[["laneid",3]]]],[[["",0]],["option",4,[["turnid",3]]]],[[["distance",3],["map",3]],["option",4,[["position",3]]]],[[["",0],["position",3]],["bool",0]],[[["",0],["traversable",4]],["bool",0]],[[["laneid",3],["distance",3]],["position",3]],[[["",0],["position",3]],["option",4,[["ordering",4]]]],[[["",0],["traversable",4]],["option",4,[["ordering",4]]]],[[["",0],["map",3]],["pt2d",3]],[[["",0],["map",3]]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["laneid",3]],["position",3]],[[["",0]]],[[["",0]]],[[["",0]],["string",3]],[[["",0]],["string",3]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],[[["speed",3],["f64",0]],["speed",3]],null,null],"p":[[3,"NamePerLanguage"],[3,"AreaID"],[3,"BuildingID"],[3,"IntersectionID"],[3,"ParkingLotID"],[3,"RoadID"],[3,"TransitRouteID"],[4,"PathStepV2"],[4,"Direction"],[4,"AmenityType"],[4,"TurnPriority"],[4,"PathConstraints"],[4,"LaneType"],[4,"IntersectionType"],[4,"CommonEndpoint"],[4,"PathfinderCaching"],[4,"EditCmd"],[4,"EditIntersection"],[4,"BuildingType"],[4,"PathStep"],[4,"TurnType"],[4,"BufferType"],[4,"StageType"],[4,"AreaType"],[4,"Traversable"],[4,"DrivingSide"],[4,"SideOfRoad"],[4,"OffstreetParking"],[3,"EditRoad"],[3,"Road"],[3,"LaneSpec"],[3,"EditEffects"],[3,"Building"],[3,"ParkingLot"],[3,"Map"],[3,"AccessRestrictions"],[3,"PathRequest"],[3,"Amenity"],[3,"Movement"],[3,"Area"],[3,"City"],[3,"RoutingParams"],[3,"Pathfinder"],[3,"MapConfig"],[3,"Lane"],[3,"Path"],[3,"Zone"],[3,"PathfinderCache"],[3,"MapEdits"],[3,"PermanentMapEdits"],[3,"RawToMapOptions"],[3,"PathV2"],[3,"MovementID"],[3,"DirectedRoadID"],[3,"Position"],[3,"TransitStop"],[3,"TurnID"],[3,"Intersection"],[3,"TransitRoute"],[3,"Turn"],[3,"CompressedMovementID"],[3,"ControlStopSign"],[3,"ControlTrafficSignal"],[3,"TransitStopID"],[3,"Perimeter"],[3,"RoadWithStopSign"],[3,"IntersectionCluster"],[3,"LaneID"],[3,"UberTurn"],[3,"Block"],[3,"Stage"],[3,"RoadSideID"],[13,"ResidentialCommercial"],[13,"Commercial"],[13,"Residential"],[13,"One"],[13,"ChangeIntersection"],[13,"ChangeCrosswalks"],[13,"ChangeRouteSchedule"],[13,"ChangeRoad"],[13,"StopSign"],[13,"TrafficSignal"],[13,"Buffer"],[13,"PublicGarage"],[13,"Private"],[13,"Lane"],[13,"ContraflowLane"],[13,"Turn"],[13,"ContraflowTurn"],[13,"Along"],[13,"Contraflow"],[13,"Movement"],[13,"ContraflowMovement"],[13,"Fixed"],[13,"Variable"],[13,"Lane"],[13,"Turn"],[4,"Spot"],[4,"WalkingNode"],[3,"WalkingOptions"],[3,"Item"],[13,"Building"],[13,"Border"],[13,"DirectedRoad"],[13,"SidewalkEndpoint"],[13,"RideTransit"],[13,"LeaveMap"],[3,"Item"],[3,"EditCrosswalks"],[3,"OriginalLane"],[3,"ChangeLaneType"],[3,"ReverseLane"],[3,"ChangeSpeedLimit"],[3,"ChangeAccessRestrictions"],[4,"PermanentEditCmd"],[4,"PermanentEditIntersection"],[3,"PermanentEditCrosswalks"],[13,"ChangeRouteSchedule"],[13,"ChangeIntersection"],[13,"ChangeCrosswalks"],[13,"ChangeRoad"],[13,"TrafficSignal"],[13,"StopSign"],[3,"BorderSnapper"],[3,"NodeID"],[3,"WayID"],[3,"RelationID"],[4,"RoadRank"],[4,"OsmID"],[13,"Node"],[13,"Way"],[13,"Relation"],[4,"CreateEngine"],[4,"PathfindEngine"],[13,"CHSeedingNodeOrdering"],[13,"Dijkstra"],[13,"CH"],[3,"NodeMap"],[3,"InnerNodeMap"],[3,"UberTurnV2"],[4,"Node"],[3,"VehiclePathfinder"],[13,"Road"],[13,"UberTurn"],[3,"SidewalkPathfinder"]]},\ "osm_viewer":{"doc":"","t":[5,5,0,6,3,3,3,11,11,11,11,11,11,11,11,11,11,11,11,12,11,12,11,11,11,12,11,11,11,11,12,11,12,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11],"n":["main","run","viewer","App","BusinessSearch","MinimapController","Viewer","as_any","as_any","as_any","as_any_mut","as_any_mut","as_any_mut","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","businesses","calculate_tags","counts","draw","draw_baselayer","event","fixed_object_outline","from","from","from","has_zorder","highlight","hovering_on_amenity","hovering_on_amenity","into","into","into","into_any","into_any","into_any","into_any_arc","into_any_rc","into_any_rc","into_any_rc","make_legend","minimap","new","new_state","recalculate_top_panel","render","show","top_panel","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","update","vzip","vzip","vzip"],"q":["osm_viewer","","","osm_viewer::viewer","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""],"d":["","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","",""],"i":[0,0,0,0,0,0,0,1,2,3,1,2,3,1,2,3,1,2,3,1,1,2,1,1,1,1,1,2,3,3,2,2,2,1,2,3,1,2,3,3,1,2,3,3,1,2,1,1,2,2,1,1,2,3,1,2,3,1,2,3,2,1,2,3],"f":[[[]],[[["settings",3]]],null,null,null,null,null,[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],null,[[["",0],["eventctx",3],["simpleapp",3]],["widget",3]],null,[[["",0],["gfxctx",3],["simpleapp",3]]],[[["",0]],["drawbaselayer",4]],[[["",0],["eventctx",3],["simpleapp",3]],["transition",4,[["simpleapp",3]]]],null,[[]],[[]],[[]],[[["",0],["simpleapp",3]],["bool",0]],null,[[["",0],["eventctx",3],["simpleapp",3],["option",4,[["string",3]]]]],null,[[]],[[]],[[]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["arc",3]],["arc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["",0],["eventctx",3],["simpleapp",3]],["widget",3]],null,[[["eventctx",3],["simpleapp",3]],["businesssearch",3]],[[["eventctx",3],["simpleapp",3]],["box",3,[["state",8]]]],[[["",0],["eventctx",3],["simpleapp",3],["option",4,[["widget",3]]]]],[[["",0],["eventctx",3]],["widget",3]],null,null,[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0],["eventctx",3],["simpleapp",3]]],[[]],[[]],[[]]],"p":[[3,"Viewer"],[3,"BusinessSearch"],[3,"MinimapController"]]},\ "parking_mapper":{"doc":"","t":[5,0,6,13,3,13,13,13,13,13,13,3,13,4,13,13,4,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,12,12,11,11,11,11,5,5,11,11,11,11,11,5,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11],"n":["main","mapper","App","BothSides","ChangeWay","Complicated","DividedHighways","Done","LeftOnly","NoStopping","OverlappingStuff","ParkingMapper","RightOnly","Show","ToDo","UnmappedDividedHighways","Value","as_any","as_any","as_any","as_any","as_any_mut","as_any_mut","as_any_mut","as_any_mut","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","data","data","draw","draw","draw","draw_layer","eq","eq","event","event","find_divided_highways","find_overlapping_stuff","fmt","from","from","from","from","generate_osmc","into","into","into","into","into_any","into_any","into_any","into_any","into_any_arc","into_any_arc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","make","new_state","new_state","osm_way_id","panel","panel","selected","show","show","to_owned","to_owned","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip"],"q":["parking_mapper","","parking_mapper::mapper","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""],"d":["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""],"i":[0,0,0,1,0,1,2,2,1,1,2,0,1,0,2,2,0,3,4,2,1,3,4,2,1,3,4,2,1,3,4,2,1,2,1,2,1,3,4,3,4,4,3,2,1,3,4,0,0,2,3,4,2,1,0,3,4,2,1,3,4,2,1,2,1,3,4,2,1,3,3,4,4,3,4,3,3,4,2,1,3,4,2,1,3,4,2,1,3,4,2,1,3,4,2,1],"f":[[[]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["any",8]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["show",4]],[[["",0]],["value",4]],[[["",0],["",0]]],[[["",0],["",0]]],null,null,[[["",0],["gfxctx",3],["simpleapp",3]]],[[["",0],["gfxctx",3],["simpleapp",3]]],null,null,[[["",0],["show",4]],["bool",0]],[[["",0],["value",4]],["bool",0]],[[["",0],["eventctx",3],["simpleapp",3]],["transition",4,[["simpleapp",3]]]],[[["",0],["eventctx",3],["simpleapp",3]],["transition",4,[["simpleapp",3]]]],[[["simpleapp",3]],["hashset",3,[["roadid",3]]]],[[["simpleapp",3],["timer",3]],["vec",3,[["polygon",3]]]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],[[["btreemap",3],["bool",0],["timer",3]],["result",6]],[[]],[[]],[[]],[[]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["box",3,[["global",3]]]],["box",3,[["any",8],["global",3]]]],[[["arc",3]],["arc",3,[["any",8]]]],[[["arc",3]],["arc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["rc",3]],["rc",3,[["any",8]]]],[[["eventctx",3],["simpleapp",3],["show",4],["btreemap",3,[["wayid",3],["value",4]]]],["box",3,[["state",8]]]],[[["eventctx",3],["simpleapp",3]],["box",3,[["state",8]]]],[[["eventctx",3],["simpleapp",3],["hashset",3],["show",4],["btreemap",3,[["wayid",3],["value",4]]]],["box",3,[["state",8]]]],null,null,null,null,null,null,[[["",0]]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],[[]],[[]]],"p":[[4,"Value"],[4,"Show"],[3,"ParkingMapper"],[3,"ChangeWay"]]},\ "piggyback":{"doc":"","t":[5],"n":["dummy"],"q":["piggyback"],"d":[""],"i":[0],"f":[[[]]],"p":[]},\ diff --git a/rustdoc/source-files.js b/rustdoc/source-files.js index 284127001d..7d54e60da7 100644 --- a/rustdoc/source-files.js +++ b/rustdoc/source-files.js @@ -10,7 +10,7 @@ sourcesIndex["geom"] = {"name":"","files":["angle.rs","bounds.rs","circle.rs","c sourcesIndex["headless"] = {"name":"","files":["main.rs"]}; sourcesIndex["importer"] = {"name":"","dirs":[{"name":"soundcast","files":["mod.rs","popdat.rs","trips.rs"]}],"files":["basemap.rs","berlin.rs","configuration.rs","lib.rs","map_config.rs","pick_geofabrik.rs","seattle.rs","uk.rs","utils.rs"]}; sourcesIndex["kml"] = {"name":"","files":["lib.rs"]}; -sourcesIndex["ltn"] = {"name":"","dirs":[{"name":"components","files":["about.rs","freehand_filters.rs","left_panel.rs","mod.rs","top_panel.rs"]},{"name":"edit","files":["filters.rs","mod.rs","one_ways.rs"]},{"name":"filters","files":["auto.rs","existing.rs","mod.rs"]},{"name":"impact","files":["mod.rs","ui.rs"]},{"name":"save","files":["mod.rs","perma.rs"]}],"files":["browse.rs","colors.rs","connectivity.rs","customize_boundary.rs","draw_cells.rs","export.rs","lib.rs","neighbourhood.rs","partition.rs","route_planner.rs","select_boundary.rs","shortcut_viewer.rs","shortcuts.rs"]}; +sourcesIndex["ltn"] = {"name":"","dirs":[{"name":"components","files":["about.rs","left_panel.rs","mod.rs","top_panel.rs"]},{"name":"edit","files":["filters.rs","freehand_filters.rs","mod.rs","one_ways.rs","shortcuts.rs"]},{"name":"filters","files":["auto.rs","existing.rs","mod.rs"]},{"name":"impact","files":["mod.rs","ui.rs"]},{"name":"save","files":["mod.rs","perma.rs"]}],"files":["browse.rs","colors.rs","connectivity.rs","customize_boundary.rs","draw_cells.rs","export.rs","lib.rs","neighbourhood.rs","partition.rs","route_planner.rs","select_boundary.rs","shortcuts.rs"]}; sourcesIndex["map_editor"] = {"name":"","files":["app.rs","camera.rs","edit.rs","lib.rs","load.rs","model.rs"]}; sourcesIndex["map_gui"] = {"name":"","dirs":[{"name":"render","files":["agents.rs","area.rs","bike.rs","building.rs","car.rs","intersection.rs","lane.rs","map.rs","mod.rs","parking_lot.rs","pedestrian.rs","road.rs","traffic_signal.rs","transit_stop.rs","turn.rs"]},{"name":"tools","files":["camera.rs","city_picker.rs","colors.rs","command.rs","compare_counts.rs","draw_overlapping_paths.rs","heatmap.rs","icons.rs","importer.rs","labels.rs","minimap.rs","mod.rs","navigate.rs","polygon.rs","title_screen.rs","trip_files.rs","turn_explorer.rs","ui.rs","updater.rs","waypoints.rs"]}],"files":["colors.rs","lib.rs","load.rs","options.rs","simple_app.rs"]}; sourcesIndex["map_model"] = {"name":"","dirs":[{"name":"connectivity","files":["mod.rs","walking.rs"]},{"name":"edits","files":["compat.rs","mod.rs","perma.rs"]},{"name":"make","dirs":[{"name":"traffic_signals","files":["lagging_green.rs","mod.rs"]}],"files":["bridges.rs","buildings.rs","mod.rs","parking_lots.rs","transit.rs","turns.rs","walking_turns.rs"]},{"name":"objects","files":["area.rs","block.rs","building.rs","intersection.rs","lane.rs","mod.rs","movement.rs","parking_lot.rs","road.rs","stop_signs.rs","traffic_signals.rs","transit.rs","turn.rs","zone.rs"]},{"name":"pathfind","files":["engine.rs","mod.rs","node_map.rs","pathfinder.rs","uber_turns.rs","v1.rs","v2.rs","vehicles.rs","walking.rs"]}],"files":["city.rs","lib.rs","map.rs","traversable.rs"]}; diff --git a/rustdoc/src/abstio/lib.rs.html b/rustdoc/src/abstio/lib.rs.html index cfacc99b0e..f927eeb52b 100644 --- a/rustdoc/src/abstio/lib.rs.html +++ b/rustdoc/src/abstio/lib.rs.html @@ -81,7 +81,7 @@ /// and reading files in different environments. pub fn slurp_bytes(filename: &str) -> Vec<u8> { let path = path(filename); - slurp_file(&path).unwrap_or_else(|_| panic!("Can't read {}", path)) + slurp_file(&path).unwrap_or_else(|err| panic!("Can't read {}: {}", path, err)) }
diff --git a/rustdoc/src/ltn/browse.rs.html b/rustdoc/src/ltn/browse.rs.html index c34f8a248e..07a678a29d 100644 --- a/rustdoc/src/ltn/browse.rs.html +++ b/rustdoc/src/ltn/browse.rs.html @@ -391,9 +391,14 @@ 386 387 388 +389 +390 +391 +392 +393
use std::collections::HashSet;
 
-use abstutil::{Counter, Timer};
+use abstutil::Counter;
 use geom::Distance;
 use map_gui::tools::{ColorNetwork, DrawRoadLabels};
 use synthpop::Scenario;
@@ -403,6 +408,7 @@
     Text, TextExt, Toggle, Widget,
 };
 
+use crate::edit::EditMode;
 use crate::filters::auto::Heuristic;
 use crate::{colors, App, Neighbourhood, NeighbourhoodID, Transition};
 
@@ -419,16 +425,21 @@
     pub fn new_state(ctx: &mut EventCtx, app: &mut App) -> Box<dyn State<App>> {
         map_gui::tools::update_url_map_name(app);
 
+        // Make sure we clear this state if we ever switch neighbourhoods
+        if let EditMode::Shortcuts(ref mut maybe_focus) = app.session.edit_mode {
+            *maybe_focus = None;
+        }
+        if let EditMode::FreehandFilters(_) = app.session.edit_mode {
+            app.session.edit_mode = EditMode::Filters;
+        }
+
         let (world, draw_over_roads) =
             ctx.loading_screen("calculate neighbourhoods", |ctx, timer| {
                 if &app.session.partitioning.map != app.map.get_name() {
                     app.session.alt_proposals = crate::save::AltProposals::new();
                     crate::clear_current_proposal(ctx, app, timer);
                 }
-                (
-                    make_world(ctx, app, timer),
-                    draw_over_roads(ctx, app, timer),
-                )
+                (make_world(ctx, app), draw_over_roads(ctx, app))
             });
 
         let top_panel = crate::components::TopPanel::panel(ctx, app);
@@ -519,9 +530,9 @@
                 } else if x == "style" {
                     app.session.draw_neighbourhood_style = self.left_panel.dropdown_value("style");
 
-                    ctx.loading_screen("change style", |ctx, timer| {
-                        self.world = make_world(ctx, app, timer);
-                        self.draw_over_roads = draw_over_roads(ctx, app, timer);
+                    ctx.loading_screen("change style", |ctx, _| {
+                        self.world = make_world(ctx, app);
+                        self.draw_over_roads = draw_over_roads(ctx, app);
                     });
                 }
             }
@@ -553,7 +564,7 @@
     }
 }
 
-fn make_world(ctx: &mut EventCtx, app: &App, timer: &mut Timer) -> World<NeighbourhoodID> {
+fn make_world(ctx: &mut EventCtx, app: &App) -> World<NeighbourhoodID> {
     let mut world = World::bounded(app.map.get_bounds());
     let map = &app.map;
     for (id, info) in app.session.partitioning.all_neighbourhoods() {
@@ -587,9 +598,9 @@
             }
             Style::Quietness => {
                 let neighbourhood = Neighbourhood::new(ctx, app, *id);
-                let shortcuts = crate::shortcuts::find_shortcuts(app, &neighbourhood, timer);
-                let (quiet_streets, total_streets) =
-                    shortcuts.quiet_and_total_streets(&neighbourhood);
+                let (quiet_streets, total_streets) = neighbourhood
+                    .shortcuts
+                    .quiet_and_total_streets(&neighbourhood);
                 let pct = if total_streets == 0 {
                     0.0
                 } else {
@@ -619,7 +630,7 @@
     world
 }
 
-fn draw_over_roads(ctx: &mut EventCtx, app: &App, timer: &mut Timer) -> ToggleZoomed {
+fn draw_over_roads(ctx: &mut EventCtx, app: &App) -> ToggleZoomed {
     if app.session.draw_neighbourhood_style != Style::Shortcuts {
         return ToggleZoomed::empty(ctx);
     }
@@ -629,9 +640,8 @@
 
     for id in app.session.partitioning.all_neighbourhoods().keys() {
         let neighbourhood = Neighbourhood::new(ctx, app, *id);
-        let shortcuts = crate::shortcuts::find_shortcuts(app, &neighbourhood, timer);
-        count_per_road.extend(shortcuts.count_per_road);
-        count_per_intersection.extend(shortcuts.count_per_intersection);
+        count_per_road.extend(neighbourhood.shortcuts.count_per_road);
+        count_per_intersection.extend(neighbourhood.shortcuts.count_per_intersection);
     }
 
     // TODO It's a bit weird to draw one heatmap covering streets in every neighbourhood. The
diff --git a/rustdoc/src/ltn/colors.rs.html b/rustdoc/src/ltn/colors.rs.html
index 6de00893e1..71fcb59de2 100644
--- a/rustdoc/src/ltn/colors.rs.html
+++ b/rustdoc/src/ltn/colors.rs.html
@@ -33,8 +33,6 @@
 28
 29
 30
-31
-32
 
use widgetry::Color;
 
 lazy_static::lazy_static! {
@@ -63,8 +61,6 @@
 pub const HIGHLIGHT_BOUNDARY_UNZOOMED: Color = Color::RED.alpha(0.6);
 pub const HIGHLIGHT_BOUNDARY_ZOOMED: Color = Color::RED.alpha(0.5);
 
-pub const SHORTCUT_PATH: Color = Color::RED;
-
 pub const BLOCK_IN_BOUNDARY: Color = Color::BLUE.alpha(0.5);
 pub const BLOCK_IN_FRONTIER: Color = Color::CYAN.alpha(0.2);
 
diff --git a/rustdoc/src/ltn/components/about.rs.html b/rustdoc/src/ltn/components/about.rs.html index 361cb636a5..3022e147f9 100644 --- a/rustdoc/src/ltn/components/about.rs.html +++ b/rustdoc/src/ltn/components/about.rs.html @@ -50,6 +50,7 @@ 45 46 47 +48
use map_gui::tools::grey_out_map;
 use widgetry::tools::open_browser;
 use widgetry::{EventCtx, GfxCtx, Line, Panel, SimpleState, State, Text, Widget};
@@ -70,6 +71,7 @@
                 Line("with major design advice from Duncan Geere"),
                 Line("Developed at the Alan Turing Institute"),
                 Line("Data from OpenStreetMap"),
+                Line("Basemap style based on Mapbox Light"),
                 Line("See below for full credits and more info"),
             ])
             .into_widget(ctx),
diff --git a/rustdoc/src/ltn/components/freehand_filters.rs.html b/rustdoc/src/ltn/components/freehand_filters.rs.html
deleted file mode 100644
index 70134b1ec4..0000000000
--- a/rustdoc/src/ltn/components/freehand_filters.rs.html
+++ /dev/null
@@ -1,198 +0,0 @@
-freehand_filters.rs - source
-    
-    
1
-2
-3
-4
-5
-6
-7
-8
-9
-10
-11
-12
-13
-14
-15
-16
-17
-18
-19
-20
-21
-22
-23
-24
-25
-26
-27
-28
-29
-30
-31
-32
-33
-34
-35
-36
-37
-38
-39
-40
-41
-42
-43
-44
-45
-46
-47
-48
-49
-50
-51
-52
-53
-54
-55
-56
-57
-58
-59
-60
-61
-62
-63
-64
-65
-66
-67
-68
-69
-70
-71
-72
-73
-74
-75
-76
-77
-78
-79
-80
-81
-82
-83
-84
-85
-86
-87
-88
-89
-90
-91
-92
-93
-94
-95
-
use std::collections::BTreeSet;
-
-use geom::PolyLine;
-use map_model::{IntersectionID, Perimeter};
-use widgetry::tools::PolyLineLasso;
-use widgetry::{DrawBaselayer, EventCtx, GfxCtx, Key, Line, ScreenPt, State, Text, Widget};
-
-use crate::{after_edit, App, DiagonalFilter, Neighbourhood, Transition};
-
-pub struct FreehandFilters {
-    lasso: PolyLineLasso,
-    perimeter: Perimeter,
-    interior_intersections: BTreeSet<IntersectionID>,
-    instructions: Text,
-    instructions_at: ScreenPt,
-}
-
-impl FreehandFilters {
-    pub fn new_state(
-        ctx: &EventCtx,
-        neighbourhood: &Neighbourhood,
-        instructions_at: ScreenPt,
-    ) -> Box<dyn State<App>> {
-        Box::new(Self {
-            lasso: PolyLineLasso::new(),
-            perimeter: neighbourhood.orig_perimeter.clone(),
-            interior_intersections: neighbourhood.interior_intersections.clone(),
-            instructions_at,
-            instructions: Text::from_all(vec![
-                Line("Click and drag").fg(ctx.style().text_hotkey_color),
-                Line(" across the roads you want to filter"),
-            ]),
-        })
-    }
-
-    pub fn button(ctx: &EventCtx) -> Widget {
-        ctx.style()
-            .btn_outline
-            .icon_text(
-                "system/assets/tools/select.svg",
-                "Create filters along a shape",
-            )
-            .hotkey(Key::F)
-            .build_def(ctx)
-    }
-
-    fn make_filters_along_path(&self, ctx: &mut EventCtx, app: &mut App, path: PolyLine) {
-        app.session.modal_filters.before_edit();
-        for r in &self.perimeter.interior {
-            if app.session.modal_filters.roads.contains_key(r) {
-                continue;
-            }
-            let road = app.map.get_r(*r);
-            // Don't show error messages
-            if road.oneway_for_driving().is_some() || road.is_deadend_for_driving(&app.map) {
-                continue;
-            }
-            if let Some((pt, _)) = road.center_pts.intersection(&path) {
-                let dist = road
-                    .center_pts
-                    .dist_along_of_point(pt)
-                    .map(|pair| pair.0)
-                    .unwrap_or(road.center_pts.length() / 2.0);
-                app.session.modal_filters.roads.insert(*r, dist);
-            }
-        }
-        for i in &self.interior_intersections {
-            if app.map.get_i(*i).polygon.intersects_polyline(&path) {
-                // We probably won't guess the right one, but make an attempt
-                DiagonalFilter::cycle_through_alternatives(app, *i);
-            }
-        }
-        after_edit(ctx, app);
-    }
-}
-
-impl State<App> for FreehandFilters {
-    fn event(&mut self, ctx: &mut EventCtx, app: &mut App) -> Transition {
-        if let Some(pl) = self.lasso.event(ctx) {
-            self.make_filters_along_path(ctx, app, pl);
-            return Transition::Multi(vec![Transition::Pop, Transition::Recreate]);
-        }
-        Transition::Keep
-    }
-
-    fn draw(&self, g: &mut GfxCtx, _: &App) {
-        self.lasso.draw(g);
-        // Hacky, but just draw instructions over the other panel
-        g.draw_tooltip_at(self.instructions.clone(), self.instructions_at);
-    }
-
-    fn draw_baselayer(&self) -> DrawBaselayer {
-        DrawBaselayer::PreviousState
-    }
-}
-
-
- \ No newline at end of file diff --git a/rustdoc/src/ltn/components/mod.rs.html b/rustdoc/src/ltn/components/mod.rs.html index 4a4bd9a7d5..552a36c5ee 100644 --- a/rustdoc/src/ltn/components/mod.rs.html +++ b/rustdoc/src/ltn/components/mod.rs.html @@ -9,14 +9,10 @@ 4 5 6 -7 -8
mod about;
-mod freehand_filters;
 mod left_panel;
 mod top_panel;
 
-pub use freehand_filters::FreehandFilters;
 pub use left_panel::LeftPanel;
 pub use top_panel::TopPanel;
 
diff --git a/rustdoc/src/ltn/connectivity.rs.html b/rustdoc/src/ltn/connectivity.rs.html index ecafe1dbdd..a723d366f4 100644 --- a/rustdoc/src/ltn/connectivity.rs.html +++ b/rustdoc/src/ltn/connectivity.rs.html @@ -401,8 +401,21 @@ 396 397 398 +399 +400 +401 +402 +403 +404 +405 +406 +407 +408 +409 +410 +411 +412
use geom::{ArrowCap, Distance, PolyLine, Polygon};
-use map_gui::tools::ColorNetwork;
 use raw_map::Direction;
 use widgetry::mapspace::{DummyID, ToggleZoomed, World};
 use widgetry::tools::PopupMsg;
@@ -412,9 +425,8 @@
 };
 
 use crate::draw_cells::RenderCells;
-use crate::edit::{EditNeighbourhood, EditOutcome, Tab};
+use crate::edit::{EditMode, EditNeighbourhood, EditOutcome};
 use crate::filters::auto::Heuristic;
-use crate::shortcuts::find_shortcuts;
 use crate::{colors, App, Neighbourhood, NeighbourhoodID, Transition};
 
 pub struct Viewer {
@@ -422,6 +434,7 @@
     left_panel: Panel,
     neighbourhood: Neighbourhood,
     draw_top_layer: ToggleZoomed,
+    draw_under_roads_layer: Drawable,
     highlight_cell: World<DummyID>,
     edit: EditNeighbourhood,
 
@@ -437,6 +450,7 @@
             left_panel: Panel::empty(ctx),
             neighbourhood,
             draw_top_layer: ToggleZoomed::empty(ctx),
+            draw_under_roads_layer: Drawable::empty(ctx),
             highlight_cell: World::unbounded(),
             edit: EditNeighbourhood::temporary(),
             show_error: Drawable::empty(ctx),
@@ -446,10 +460,11 @@
     }
 
     fn update(&mut self, ctx: &mut EventCtx, app: &App) {
-        let (edit, draw_top_layer, render_cells, highlight_cell) =
+        let (edit, draw_top_layer, draw_under_roads_layer, render_cells, highlight_cell) =
             setup_editing(ctx, app, &self.neighbourhood);
         self.edit = edit;
         self.draw_top_layer = draw_top_layer;
+        self.draw_under_roads_layer = draw_under_roads_layer;
         self.highlight_cell = highlight_cell;
 
         let mut show_error = GeomBatch::new();
@@ -486,7 +501,6 @@
             .panel_builder(
                 ctx,
                 app,
-                Tab::Connectivity,
                 &self.top_panel,
                 Widget::col(vec![
                     format!(
@@ -496,6 +510,17 @@
                             .neighbourhood_area_km2(self.neighbourhood.id)
                     )
                     .text_widget(ctx),
+                    Widget::row(vec![
+                        "Draw traffic cells as".text_widget(ctx).centered_vert(),
+                        Toggle::choice(
+                            ctx,
+                            "draw cells",
+                            "areas",
+                            "outlines",
+                            Key::D,
+                            app.session.draw_cells_as_areas,
+                        ),
+                    ]),
                     warning,
                     advanced_panel(ctx, app),
                 ]),
@@ -545,14 +570,24 @@
                 } else if x == "warning" {
                     // Not really clickable
                     return Transition::Keep;
-                } else if let Some(t) = self.edit.handle_panel_action(
+                }
+
+                match self.edit.handle_panel_action(
                     ctx,
                     app,
                     x.as_ref(),
                     &self.neighbourhood,
-                    &self.left_panel,
+                    &mut self.left_panel,
                 ) {
-                    return t;
+                    // Fall through to AltProposals
+                    EditOutcome::Nothing => {}
+                    EditOutcome::UpdatePanelAndWorld => {
+                        self.update(ctx, app);
+                        return Transition::Keep;
+                    }
+                    EditOutcome::Transition(t) => {
+                        return t;
+                    }
                 }
 
                 return crate::save::AltProposals::handle_action(
@@ -567,31 +602,35 @@
                 )
                 .unwrap();
             }
-            Outcome::Changed(x) => {
-                if x == "Advanced features" {
+            Outcome::Changed(x) => match x.as_ref() {
+                "Advanced features" => {
                     app.opts.dev = self.left_panel.is_checked("Advanced features");
                     self.update(ctx, app);
                     return Transition::Keep;
                 }
+                "heuristic" => {
+                    app.session.heuristic = self.left_panel.dropdown_value("heuristic");
+                    return Transition::Keep;
+                }
+                "areas" | "outlines" => {
+                    app.session.draw_cells_as_areas = self.left_panel.is_checked("draw cells");
 
-                app.session.draw_cells_as_areas = self.left_panel.is_checked("draw cells");
-                app.session.heuristic = self.left_panel.dropdown_value("heuristic");
-
-                if x != "heuristic" {
-                    let (edit, draw_top_layer, _, highlight_cell) =
+                    let (edit, draw_top_layer, draw_under_roads_layer, _, highlight_cell) =
                         setup_editing(ctx, app, &self.neighbourhood);
                     self.edit = edit;
                     self.draw_top_layer = draw_top_layer;
+                    self.draw_under_roads_layer = draw_under_roads_layer;
                     self.highlight_cell = highlight_cell;
+                    return Transition::Keep;
                 }
-            }
+                _ => unreachable!(),
+            },
             _ => {}
         }
 
-        match self.edit.event(ctx, app) {
+        match self.edit.event(ctx, app, &self.neighbourhood) {
             EditOutcome::Nothing => {}
-            EditOutcome::Recalculate => {
-                self.neighbourhood = Neighbourhood::new(ctx, app, self.neighbourhood.id);
+            EditOutcome::UpdatePanelAndWorld => {
                 self.update(ctx, app);
             }
             EditOutcome::Transition(t) => {
@@ -609,10 +648,11 @@
     }
 
     fn draw(&self, g: &mut GfxCtx, app: &App) {
-        crate::draw_with_layering(g, app, |g| self.edit.world.draw(g));
+        crate::draw_with_layering(g, app, |g| g.redraw(&self.draw_under_roads_layer));
         g.redraw(&self.neighbourhood.fade_irrelevant);
         self.draw_top_layer.draw(g);
         self.highlight_cell.draw(g);
+        self.edit.world.draw(g);
 
         self.top_panel.draw(g);
         self.left_panel.draw(g);
@@ -627,6 +667,10 @@
         if self.left_panel.currently_hovering() == Some(&"warning".to_string()) {
             g.redraw(&self.show_error);
         }
+
+        if let EditMode::FreehandFilters(ref lasso) = app.session.edit_mode {
+            lasso.draw(g);
+        }
     }
 
     fn recreate(&mut self, ctx: &mut EventCtx, app: &mut App) -> Box<dyn State<App>> {
@@ -638,26 +682,26 @@
     ctx: &mut EventCtx,
     app: &App,
     neighbourhood: &Neighbourhood,
-) -> (EditNeighbourhood, ToggleZoomed, RenderCells, World<DummyID>) {
-    let shortcuts = ctx.loading_screen("find shortcuts", |_, timer| {
-        find_shortcuts(app, neighbourhood, timer)
-    });
-
-    let mut edit = EditNeighbourhood::new(ctx, app, neighbourhood, &shortcuts);
+) -> (
+    EditNeighbourhood,
+    ToggleZoomed,
+    Drawable,
+    RenderCells,
+    World<DummyID>,
+) {
+    let edit = EditNeighbourhood::new(ctx, app, neighbourhood);
     let map = &app.map;
 
-    // The world is drawn in between areas and roads, but some things need to be drawn on top of
-    // roads
+    // Draw some stuff under roads and other stuff on top
     let mut draw_top_layer = ToggleZoomed::builder();
+    let mut draw_under_roads_layer = GeomBatch::new();
     // Use a separate world to highlight cells when hovering on them. This is separate from
-    // edit.world so it can be drawn at the right layer and also so that we draw it even while
-    // hovering on roads/intersections in a cell
+    // edit.world so that we draw it even while hovering on roads/intersections in a cell
     let mut highlight_cell = World::bounded(app.map.get_bounds());
 
     let render_cells = RenderCells::new(map, neighbourhood);
     if app.session.draw_cells_as_areas {
-        edit.world
-            .draw_master_batch(ctx, render_cells.draw_colored_areas());
+        draw_under_roads_layer = render_cells.draw_colored_areas();
     } else {
         draw_top_layer
             .unzoomed
@@ -686,15 +730,9 @@
         }
     }
 
-    let mut colorer = ColorNetwork::no_fading(app);
-    colorer.ranked_roads(shortcuts.count_per_road.clone(), &app.cs.good_to_bad_red);
-    // TODO These two will be on different scales, which'll look really weird!
-    colorer.ranked_intersections(
-        shortcuts.count_per_intersection.clone(),
-        &app.cs.good_to_bad_red,
-    );
-
-    draw_top_layer.append(colorer.draw);
+    if !matches!(app.session.edit_mode, EditMode::Shortcuts(_)) {
+        draw_top_layer.append(neighbourhood.shortcuts.draw_heatmap(app));
+    }
 
     // Draw the borders of each cell
     for (idx, cell) in neighbourhood.cells.iter().enumerate() {
@@ -744,6 +782,7 @@
     (
         edit,
         draw_top_layer.build(ctx),
+        ctx.upload(draw_under_roads_layer),
         render_cells,
         highlight_cell,
     )
@@ -774,17 +813,6 @@
             .btn_outline
             .text("Customize boundary")
             .build_def(ctx),
-        Widget::row(vec![
-            "Draw traffic cells as".text_widget(ctx).centered_vert(),
-            Toggle::choice(
-                ctx,
-                "draw cells",
-                "areas",
-                "streets",
-                Key::D,
-                app.session.draw_cells_as_areas,
-            ),
-        ]),
         ctx.style()
             .btn_outline
             .text("Automatically place filters")
diff --git a/rustdoc/src/ltn/edit/filters.rs.html b/rustdoc/src/ltn/edit/filters.rs.html
index 821c15000f..5e6611aa06 100644
--- a/rustdoc/src/ltn/edit/filters.rs.html
+++ b/rustdoc/src/ltn/edit/filters.rs.html
@@ -110,83 +110,25 @@
 105
 106
 107
-108
-109
-110
-111
-112
-113
-114
-115
-116
-117
-118
-119
-120
-121
-122
-123
-124
-125
-126
-127
-128
-129
-130
-131
-132
-133
-134
-135
-136
 
use geom::Distance;
 use widgetry::mapspace::{World, WorldOutcome};
 use widgetry::tools::open_browser;
-use widgetry::{lctrl, EventCtx, Image, Key, Line, Text, TextExt, Widget};
+use widgetry::{lctrl, EventCtx, Key, Line, Text, Transition, Widget};
 
 use super::{EditOutcome, Obj};
-use crate::shortcuts::Shortcuts;
 use crate::{after_edit, colors, App, DiagonalFilter, Neighbourhood};
 
-pub fn widget(ctx: &mut EventCtx, app: &App) -> Widget {
-    Widget::col(vec![
-        Widget::row(vec![
-            Image::from_path("system/assets/tools/pencil.svg")
-                .into_widget(ctx)
-                .centered_vert(),
-            Text::from(Line(
-                "Click a road or intersection to add or remove a modal filter",
-            ))
-            .wrap_to_pct(ctx, 15)
-            .into_widget(ctx),
-        ]),
-        crate::components::FreehandFilters::button(ctx),
-        Widget::row(vec![
-            ctx.style()
-                .btn_plain
-                .icon("system/assets/tools/undo.svg")
-                .disabled(app.session.modal_filters.previous_version.is_none())
-                .hotkey(lctrl(Key::Z))
-                .build_widget(ctx, "undo"),
-            format!(
-                "{} filters added",
-                app.session.modal_filters.roads.len()
-                    + app.session.modal_filters.intersections.len()
-            )
-            .text_widget(ctx)
-            .centered_vert(),
-        ]),
-    ])
+pub fn widget(ctx: &mut EventCtx) -> Widget {
+    Text::from(Line(
+        "Click a road or intersection to add or remove a modal filter",
+    ))
+    .wrap_to_pct(ctx, 15)
+    .into_widget(ctx)
 }
 
 /// Creates clickable objects for managing filters on roads and intersections. Everything is
 /// invisible; the caller is responsible for drawing things.
-pub fn make_world(
-    ctx: &mut EventCtx,
-    app: &App,
-    neighbourhood: &Neighbourhood,
-    shortcuts: &Shortcuts,
-) -> World<Obj> {
+pub fn make_world(ctx: &mut EventCtx, app: &App, neighbourhood: &Neighbourhood) -> World<Obj> {
     let map = &app.map;
     let mut world = World::bounded(map.get_bounds());
 
@@ -199,7 +141,7 @@
             .hover_outline(colors::OUTLINE, Distance::meters(5.0))
             .tooltip(Text::from(format!(
                 "{} possible shortcuts cross {}",
-                shortcuts.count_per_road.get(*r),
+                neighbourhood.shortcuts.count_per_road.get(*r),
                 road.get_name(app.opts.language.as_ref()),
             )))
             .hotkey(lctrl(Key::D), "debug")
@@ -215,7 +157,7 @@
             .hover_outline(colors::OUTLINE, Distance::meters(5.0))
             .tooltip(Text::from(format!(
                 "{} possible shortcuts cross this intersection",
-                shortcuts.count_per_intersection.get(*i)
+                neighbourhood.shortcuts.count_per_intersection.get(*i)
             )))
             .clickable()
             .hotkey(lctrl(Key::D), "debug")
@@ -256,13 +198,13 @@
                 app.session.modal_filters.roads.insert(r, distance);
             }
             after_edit(ctx, app);
-            EditOutcome::Recalculate
+            EditOutcome::Transition(Transition::Recreate)
         }
         WorldOutcome::ClickedObject(Obj::InteriorIntersection(i)) => {
             app.session.modal_filters.before_edit();
             DiagonalFilter::cycle_through_alternatives(app, i);
             after_edit(ctx, app);
-            EditOutcome::Recalculate
+            EditOutcome::Transition(Transition::Recreate)
         }
         WorldOutcome::Keypress("debug", Obj::InteriorIntersection(i)) => {
             open_browser(app.map.get_i(i).orig_id.to_string());
diff --git a/rustdoc/src/ltn/edit/freehand_filters.rs.html b/rustdoc/src/ltn/edit/freehand_filters.rs.html
new file mode 100644
index 0000000000..6a60487fb2
--- /dev/null
+++ b/rustdoc/src/ltn/edit/freehand_filters.rs.html
@@ -0,0 +1,136 @@
+freehand_filters.rs - source
+    
+    
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+
use geom::PolyLine;
+use widgetry::{EventCtx, Line, Text, Widget};
+
+use crate::edit::{EditMode, EditOutcome};
+use crate::{after_edit, App, DiagonalFilter, Neighbourhood, Transition};
+
+pub fn widget(ctx: &mut EventCtx) -> Widget {
+    Text::from_all(vec![
+        Line("Click and drag").fg(ctx.style().text_hotkey_color),
+        Line(" across the roads you want to filter"),
+    ])
+    .wrap_to_pct(ctx, 15)
+    .into_widget(ctx)
+}
+
+pub fn event(ctx: &mut EventCtx, app: &mut App, neighbourhood: &Neighbourhood) -> EditOutcome {
+    if let EditMode::FreehandFilters(ref mut lasso) = app.session.edit_mode {
+        if let Some(pl) = lasso.event(ctx) {
+            make_filters_along_path(ctx, app, neighbourhood, pl);
+            // Reset the tool
+            app.session.edit_mode = EditMode::Filters;
+            EditOutcome::Transition(Transition::Recreate)
+        } else {
+            // Do this instead of EditOutcome::Nothing to interrupt other processing
+            EditOutcome::Transition(Transition::Keep)
+        }
+    } else {
+        unreachable!()
+    }
+}
+
+fn make_filters_along_path(
+    ctx: &mut EventCtx,
+    app: &mut App,
+    neighbourhood: &Neighbourhood,
+    path: PolyLine,
+) {
+    app.session.modal_filters.before_edit();
+    for r in &neighbourhood.orig_perimeter.interior {
+        if app.session.modal_filters.roads.contains_key(r) {
+            continue;
+        }
+        let road = app.map.get_r(*r);
+        // Don't show error messages
+        if road.oneway_for_driving().is_some() || road.is_deadend_for_driving(&app.map) {
+            continue;
+        }
+        if let Some((pt, _)) = road.center_pts.intersection(&path) {
+            let dist = road
+                .center_pts
+                .dist_along_of_point(pt)
+                .map(|pair| pair.0)
+                .unwrap_or(road.center_pts.length() / 2.0);
+            app.session.modal_filters.roads.insert(*r, dist);
+        }
+    }
+    for i in &neighbourhood.interior_intersections {
+        if app.map.get_i(*i).polygon.intersects_polyline(&path) {
+            // We probably won't guess the right one, but make an attempt
+            DiagonalFilter::cycle_through_alternatives(app, *i);
+        }
+    }
+    after_edit(ctx, app);
+}
+
+
+ \ No newline at end of file diff --git a/rustdoc/src/ltn/edit/mod.rs.html b/rustdoc/src/ltn/edit/mod.rs.html index 16d1a7ab94..754c43bb00 100644 --- a/rustdoc/src/ltn/edit/mod.rs.html +++ b/rustdoc/src/ltn/edit/mod.rs.html @@ -244,67 +244,51 @@ 239 240 241 +242 +243 +244 +245 +246 +247 +248 +249 +250 +251 +252 +253 +254 +255 +256 +257 +258 +259 +260 +261 +262 +263 +264 +265 +266 +267 +268
mod filters;
+mod freehand_filters;
 mod one_ways;
+mod shortcuts;
 
 use map_model::{IntersectionID, RoadID};
 use widgetry::mapspace::{ObjectID, World};
-use widgetry::tools::PopupMsg;
-use widgetry::{EventCtx, Key, Line, Panel, PanelBuilder, Widget, DEFAULT_CORNER_RADIUS};
+use widgetry::tools::{PolyLineLasso, PopupMsg};
+use widgetry::{lctrl, EventCtx, Key, Line, Panel, PanelBuilder, TextExt, Widget};
 
-use crate::shortcuts::Shortcuts;
 use crate::{after_edit, App, BrowseNeighbourhoods, Neighbourhood, Transition};
 
-// TODO This is only used for styling now
-#[derive(PartialEq)]
-pub enum Tab {
-    Connectivity,
-    Shortcuts,
-}
-
-impl Tab {
-    fn make_buttons(self, ctx: &mut EventCtx, app: &App) -> Widget {
-        let mut row = Vec::new();
-        for (tab, label, key) in [
-            (Tab::Connectivity, "Connectivity", Key::F1),
-            (Tab::Shortcuts, "Shortcuts", Key::F2),
-        ] {
-            // TODO Match the TabController styling
-            row.push(
-                ctx.style()
-                    .btn_tab
-                    .text(label)
-                    .corner_rounding(geom::CornerRadii {
-                        top_left: DEFAULT_CORNER_RADIUS,
-                        top_right: DEFAULT_CORNER_RADIUS,
-                        bottom_left: 0.0,
-                        bottom_right: 0.0,
-                    })
-                    .hotkey(key)
-                    // We abuse "disabled" to denote "currently selected"
-                    .disabled(self == tab)
-                    .build_def(ctx),
-            );
-        }
-        if app.session.consultation.is_none() {
-            // TODO The 3rd doesn't really act like a tab
-            row.push(
-                ctx.style()
-                    .btn_tab
-                    .text("Adjust boundary")
-                    .corner_rounding(geom::CornerRadii {
-                        top_left: DEFAULT_CORNER_RADIUS,
-                        top_right: DEFAULT_CORNER_RADIUS,
-                        bottom_left: 0.0,
-                        bottom_right: 0.0,
-                    })
-                    .hotkey(Key::B)
-                    .build_def(ctx),
-            );
-        }
-
-        Widget::row(row)
-    }
+pub enum EditMode {
+    Filters,
+    FreehandFilters(PolyLineLasso),
+    Oneways,
+    // Is a road clicked on right now?
+    Shortcuts(Option<shortcuts::FocusedRoad>),
 }
 
 pub struct EditNeighbourhood {
@@ -321,8 +305,10 @@
 
 pub enum EditOutcome {
     Nothing,
-    /// The neighbourhood has changed and the caller should recalculate stuff, including the panel
-    Recalculate,
+    /// Don't recreate the Neighbourhood
+    UpdatePanelAndWorld,
+    /// Use this with Transition::Recreate to recalculate the Neighbourhood, because it's actually
+    /// been edited
     Transition(Transition),
 }
 
@@ -343,17 +329,13 @@
         }
     }
 
-    pub fn new(
-        ctx: &mut EventCtx,
-        app: &App,
-        neighbourhood: &Neighbourhood,
-        shortcuts: &Shortcuts,
-    ) -> Self {
+    pub fn new(ctx: &mut EventCtx, app: &App, neighbourhood: &Neighbourhood) -> Self {
         Self {
-            world: if app.session.edit_filters {
-                filters::make_world(ctx, app, neighbourhood, shortcuts)
-            } else {
-                one_ways::make_world(ctx, app, neighbourhood)
+            world: match &app.session.edit_mode {
+                EditMode::Filters => filters::make_world(ctx, app, neighbourhood),
+                EditMode::FreehandFilters(_) => World::unbounded(),
+                EditMode::Oneways => one_ways::make_world(ctx, app, neighbourhood),
+                EditMode::Shortcuts(focus) => shortcuts::make_world(ctx, app, neighbourhood, focus),
             },
         }
     }
@@ -362,7 +344,6 @@
         &self,
         ctx: &mut EventCtx,
         app: &App,
-        tab: Tab,
         top_panel: &Panel,
         per_tab_contents: Widget,
     ) -> PanelBuilder {
@@ -372,26 +353,67 @@
             Line("Editing neighbourhood")
                 .small_heading()
                 .into_widget(ctx),
-            edit_mode(ctx, app.session.edit_filters),
-            if app.session.edit_filters {
-                filters::widget(ctx, app)
-            } else {
-                one_ways::widget(ctx)
-            }
+            Widget::col(vec![
+                edit_mode(ctx, &app.session.edit_mode),
+                match app.session.edit_mode {
+                    EditMode::Filters => filters::widget(ctx),
+                    EditMode::FreehandFilters(_) => freehand_filters::widget(ctx),
+                    EditMode::Oneways => one_ways::widget(ctx),
+                    EditMode::Shortcuts(ref focus) => shortcuts::widget(ctx, app, focus.as_ref()),
+                }
+                .named("edit mode contents"),
+            ])
             .section(ctx),
-            tab.make_buttons(ctx, app),
+            Widget::row(vec![
+                ctx.style()
+                    .btn_plain
+                    .icon("system/assets/tools/undo.svg")
+                    .disabled(app.session.modal_filters.previous_version.is_none())
+                    .hotkey(lctrl(Key::Z))
+                    .build_widget(ctx, "undo"),
+                format!(
+                    "{} filters added",
+                    app.session.modal_filters.roads.len()
+                        + app.session.modal_filters.intersections.len()
+                )
+                .text_widget(ctx)
+                .centered_vert(),
+            ]),
+            {
+                let mut row = Vec::new();
+                if app.session.consultation.is_none() {
+                    row.push(
+                        ctx.style()
+                            .btn_outline
+                            .text("Adjust boundary")
+                            .hotkey(Key::B)
+                            .build_def(ctx),
+                    );
+                }
+                row.push(crate::route_planner::RoutePlanner::button(ctx));
+                Widget::row(row)
+            },
             per_tab_contents,
-            crate::route_planner::RoutePlanner::button(ctx),
         ]);
         crate::components::LeftPanel::builder(ctx, top_panel, contents)
     }
 
-    pub fn event(&mut self, ctx: &mut EventCtx, app: &mut App) -> EditOutcome {
+    pub fn event(
+        &mut self,
+        ctx: &mut EventCtx,
+        app: &mut App,
+        neighbourhood: &Neighbourhood,
+    ) -> EditOutcome {
+        if let EditMode::FreehandFilters(_) = app.session.edit_mode {
+            return freehand_filters::event(ctx, app, neighbourhood);
+        }
+
         let outcome = self.world.event(ctx);
-        let outcome = if app.session.edit_filters {
-            filters::handle_world_outcome(ctx, app, outcome)
-        } else {
-            one_ways::handle_world_outcome(ctx, app, outcome)
+        let outcome = match app.session.edit_mode {
+            EditMode::Filters => filters::handle_world_outcome(ctx, app, outcome),
+            EditMode::FreehandFilters(_) => unreachable!(),
+            EditMode::Oneways => one_ways::handle_world_outcome(ctx, app, outcome),
+            EditMode::Shortcuts(_) => shortcuts::handle_world_outcome(app, outcome, neighbourhood),
         };
         if matches!(outcome, EditOutcome::Transition(_)) {
             self.world.hack_unset_hovering();
@@ -405,84 +427,116 @@
         app: &mut App,
         action: &str,
         neighbourhood: &Neighbourhood,
-        panel: &Panel,
-    ) -> Option<Transition> {
+        panel: &mut Panel,
+    ) -> EditOutcome {
         let id = neighbourhood.id;
         match action {
             "Browse neighbourhoods" => {
                 // Recalculate the state to redraw any changed filters
-                Some(Transition::Replace(BrowseNeighbourhoods::new_state(
+                EditOutcome::Transition(Transition::Replace(BrowseNeighbourhoods::new_state(
                     ctx, app,
                 )))
             }
-            "Adjust boundary" => Some(Transition::Replace(
+            "Adjust boundary" => EditOutcome::Transition(Transition::Replace(
                 crate::select_boundary::SelectBoundary::new_state(ctx, app, id),
             )),
-            "Connectivity" => Some(Transition::Replace(crate::connectivity::Viewer::new_state(
-                ctx, app, id,
-            ))),
-            "Shortcuts" => Some(Transition::Replace(
-                crate::shortcut_viewer::BrowseShortcuts::new_state(ctx, app, id, None),
-            )),
-            // Overkill to force all mode-specific code into the module
-            "Create filters along a shape" => Some(Transition::Push(
-                crate::components::FreehandFilters::new_state(
-                    ctx,
-                    neighbourhood,
-                    panel.center_of("Create filters along a shape"),
-                ),
-            )),
             "undo" => {
                 let prev = app.session.modal_filters.previous_version.take().unwrap();
                 app.session.modal_filters = prev;
                 after_edit(ctx, app);
                 // TODO Ideally, preserve panel state (checkboxes and dropdowns)
-                Some(Transition::Recreate)
+                if let EditMode::Shortcuts(ref mut maybe_focus) = app.session.edit_mode {
+                    *maybe_focus = None;
+                }
+                if let EditMode::FreehandFilters(_) = app.session.edit_mode {
+                    app.session.edit_mode = EditMode::Filters;
+                }
+                EditOutcome::Transition(Transition::Recreate)
             }
-            "Plan a route" => Some(Transition::Push(
+            "Plan a route" => EditOutcome::Transition(Transition::Push(
                 crate::route_planner::RoutePlanner::new_state(ctx, app),
             )),
             "Filters" => {
-                app.session.edit_filters = true;
-                Some(Transition::Recreate)
+                app.session.edit_mode = EditMode::Filters;
+                EditOutcome::UpdatePanelAndWorld
+            }
+            "Freehand filters" => {
+                app.session.edit_mode = EditMode::FreehandFilters(PolyLineLasso::new());
+                EditOutcome::UpdatePanelAndWorld
             }
             "One-ways" => {
-                app.session.edit_filters = false;
-                Some(Transition::Recreate)
+                app.session.edit_mode = EditMode::Oneways;
+                EditOutcome::UpdatePanelAndWorld
             }
-            _ => None,
+            "Shortcuts" => {
+                app.session.edit_mode = EditMode::Shortcuts(None);
+                EditOutcome::UpdatePanelAndWorld
+            }
+            "previous shortcut" => {
+                if let EditMode::Shortcuts(Some(ref mut focus)) = app.session.edit_mode {
+                    focus.current_idx -= 1;
+                }
+                // Logically we could do UpdatePanelAndWorld, but we need to be more efficient
+                if let EditMode::Shortcuts(ref focus) = app.session.edit_mode {
+                    let panel_piece = shortcuts::widget(ctx, app, focus.as_ref());
+                    panel.replace(ctx, "edit mode contents", panel_piece);
+                    self.world = shortcuts::make_world(ctx, app, neighbourhood, focus);
+                }
+                EditOutcome::Transition(Transition::Keep)
+            }
+            "next shortcut" => {
+                if let EditMode::Shortcuts(Some(ref mut focus)) = app.session.edit_mode {
+                    focus.current_idx += 1;
+                }
+                if let EditMode::Shortcuts(ref focus) = app.session.edit_mode {
+                    let panel_piece = shortcuts::widget(ctx, app, focus.as_ref());
+                    panel.replace(ctx, "edit mode contents", panel_piece);
+                    self.world = shortcuts::make_world(ctx, app, neighbourhood, focus);
+                }
+                EditOutcome::Transition(Transition::Keep)
+            }
+            _ => EditOutcome::Nothing,
         }
     }
 }
 
-fn edit_mode(ctx: &mut EventCtx, filters: bool) -> Widget {
+fn edit_mode(ctx: &mut EventCtx, edit_mode: &EditMode) -> Widget {
     let mut row = Vec::new();
-    row.push(
-        ctx.style()
-            .btn_tab
-            .text("Filters")
-            .corner_rounding(geom::CornerRadii {
-                top_left: DEFAULT_CORNER_RADIUS,
-                top_right: DEFAULT_CORNER_RADIUS,
-                bottom_left: 0.0,
-                bottom_right: 0.0,
-            })
-            .disabled(filters)
-            .build_def(ctx),
-    );
-    row.push(
-        ctx.style()
-            .btn_tab
-            .text("One-ways")
-            .corner_rounding(geom::CornerRadii {
-                top_left: DEFAULT_CORNER_RADIUS,
-                top_right: DEFAULT_CORNER_RADIUS,
-                bottom_left: 0.0,
-                bottom_right: 0.0,
-            })
-            .disabled(!filters)
-            .build_def(ctx),
-    );
+    for (label, key, icon, is_current) in [
+        (
+            "Filters",
+            Key::F1,
+            "system/assets/edit/construction.svg",
+            matches!(edit_mode, EditMode::Filters),
+        ),
+        (
+            "Freehand filters",
+            Key::F2,
+            "system/assets/tools/select.svg",
+            matches!(edit_mode, EditMode::FreehandFilters(_)),
+        ),
+        (
+            "One-ways",
+            Key::F3,
+            "system/assets/tools/one_ways.svg",
+            matches!(edit_mode, EditMode::Oneways),
+        ),
+        (
+            "Shortcuts",
+            Key::F4,
+            "system/assets/tools/shortcut.svg",
+            matches!(edit_mode, EditMode::Shortcuts(_)),
+        ),
+    ] {
+        row.push(
+            ctx.style()
+                .btn_solid_primary
+                .icon(icon)
+                .disabled(is_current)
+                .hotkey(key)
+                .build_widget(ctx, label),
+        );
+    }
     Widget::row(row)
 }
 
diff --git a/rustdoc/src/ltn/edit/one_ways.rs.html b/rustdoc/src/ltn/edit/one_ways.rs.html index e57f6ebeee..69c5e72f47 100644 --- a/rustdoc/src/ltn/edit/one_ways.rs.html +++ b/rustdoc/src/ltn/edit/one_ways.rs.html @@ -79,32 +79,16 @@ 74 75 76 -77 -78 -79 -80 -81 -82 -83 -84
use geom::Distance;
 use raw_map::LaneSpec;
 use widgetry::mapspace::{World, WorldOutcome};
-use widgetry::{EventCtx, Image, Text, TextExt, Widget};
+use widgetry::{EventCtx, Text, TextExt, Transition, Widget};
 
 use super::{EditOutcome, Obj};
 use crate::{colors, App, Neighbourhood};
 
 pub fn widget(ctx: &mut EventCtx) -> Widget {
-    Widget::col(vec![
-        Widget::row(vec![
-            Image::from_path("system/assets/tools/pencil.svg")
-                .into_widget(ctx)
-                .centered_vert(),
-            "Click a road to change its direction".text_widget(ctx),
-        ]),
-        // TODO edit/undo?
-    ])
+    "Click a road to change its direction".text_widget(ctx)
 }
 
 pub fn make_world(ctx: &mut EventCtx, app: &App, neighbourhood: &Neighbourhood) -> World<Obj> {
@@ -166,7 +150,7 @@
                 app.map.keep_pathfinder_despite_edits();
             });
 
-            EditOutcome::Recalculate
+            EditOutcome::Transition(Transition::Recreate)
         }
         _ => EditOutcome::Nothing,
     }
diff --git a/rustdoc/src/ltn/edit/shortcuts.rs.html b/rustdoc/src/ltn/edit/shortcuts.rs.html
new file mode 100644
index 0000000000..e8ca7ae61f
--- /dev/null
+++ b/rustdoc/src/ltn/edit/shortcuts.rs.html
@@ -0,0 +1,318 @@
+shortcuts.rs - source
+    
+    
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+96
+97
+98
+99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+
use geom::{Distance, Pt2D};
+use map_model::{Path, RoadID, NORMAL_LANE_THICKNESS};
+use widgetry::mapspace::{ToggleZoomed, World, WorldOutcome};
+use widgetry::{Color, EventCtx, GeomBatch, Key, Line, Text, TextExt, Widget};
+
+use super::{EditMode, EditOutcome, Obj};
+use crate::{App, Neighbourhood};
+
+pub struct FocusedRoad {
+    pub r: RoadID,
+    pub paths: Vec<Path>,
+    pub current_idx: usize,
+}
+
+pub fn widget(ctx: &mut EventCtx, app: &App, focus: Option<&FocusedRoad>) -> Widget {
+    match focus {
+        Some(focus) => Widget::col(vec![
+            format!(
+                "{} possible shortcuts cross {}",
+                focus.paths.len(),
+                app.map.get_r(focus.r).get_name(app.opts.language.as_ref()),
+            )
+            .text_widget(ctx),
+            Widget::row(vec![
+                ctx.style()
+                    .btn_prev()
+                    .disabled(focus.current_idx == 0)
+                    .hotkey(Key::LeftArrow)
+                    .build_widget(ctx, "previous shortcut"),
+                Text::from(
+                    Line(format!("{}/{}", focus.current_idx + 1, focus.paths.len())).secondary(),
+                )
+                .into_widget(ctx)
+                .centered_vert(),
+                ctx.style()
+                    .btn_next()
+                    .disabled(focus.current_idx == focus.paths.len() - 1)
+                    .hotkey(Key::RightArrow)
+                    .build_widget(ctx, "next shortcut"),
+            ]),
+        ]),
+        None => Widget::col(vec![
+            "Click a road to view shortcuts through it".text_widget(ctx)
+        ]),
+    }
+}
+
+pub fn make_world(
+    ctx: &mut EventCtx,
+    app: &App,
+    neighbourhood: &Neighbourhood,
+    focus: &Option<FocusedRoad>,
+) -> World<Obj> {
+    let map = &app.map;
+    let mut world = World::bounded(map.get_bounds());
+    let focused_road = focus.as_ref().map(|f| f.r);
+
+    for r in &neighbourhood.orig_perimeter.interior {
+        let road = map.get_r(*r);
+        if focused_road == Some(*r) {
+            let mut batch = GeomBatch::new();
+            if let Ok(p) = road.get_thick_polygon().to_outline(Distance::meters(3.0)) {
+                batch.push(Color::RED, p);
+            }
+
+            world
+                .add(Obj::InteriorRoad(*r))
+                .hitbox(road.get_thick_polygon())
+                .draw(batch)
+                .build(ctx);
+        } else {
+            world
+                .add(Obj::InteriorRoad(*r))
+                .hitbox(road.get_thick_polygon())
+                .drawn_in_master_batch()
+                .hover_outline(Color::RED, Distance::meters(3.0))
+                .tooltip(Text::from(format!(
+                    "{} possible shortcuts cross {}",
+                    neighbourhood.shortcuts.count_per_road.get(*r),
+                    road.get_name(app.opts.language.as_ref()),
+                )))
+                .clickable()
+                .build(ctx);
+        }
+    }
+
+    if let Some(ref focus) = focus {
+        let mut draw_path = ToggleZoomed::builder();
+        let path = &focus.paths[focus.current_idx];
+        let color = *app.cs.good_to_bad_red.0.last().unwrap();
+        let (first_pt, last_pt) = if let Ok(poly) = path.trace_v2(&app.map) {
+            draw_path.unzoomed.push(color.alpha(0.8), poly.clone());
+            draw_path.zoomed.push(color.alpha(0.5), poly);
+            (
+                path.get_req().start.pt(&app.map),
+                path.get_req().end.pt(&app.map),
+            )
+        } else if let Some(pl) = path.trace(&app.map) {
+            let poly = pl.make_polygons(5.0 * NORMAL_LANE_THICKNESS);
+            draw_path.unzoomed.push(color.alpha(0.8), poly.clone());
+            draw_path.zoomed.push(color.alpha(0.5), poly);
+            (pl.first_pt(), pl.last_pt())
+        } else {
+            // Should be unreachable, but don't crash
+            (Pt2D::zero(), Pt2D::zero())
+        };
+        draw_path
+            .unzoomed
+            .append(map_gui::tools::start_marker(ctx, first_pt, 2.0));
+        draw_path
+            .zoomed
+            .append(map_gui::tools::start_marker(ctx, first_pt, 0.5));
+
+        draw_path
+            .unzoomed
+            .append(map_gui::tools::goal_marker(ctx, last_pt, 2.0));
+        draw_path
+            .zoomed
+            .append(map_gui::tools::goal_marker(ctx, last_pt, 0.5));
+
+        world.draw_master_batch(ctx, draw_path);
+    } else {
+        world.draw_master_batch(ctx, neighbourhood.shortcuts.draw_heatmap(app));
+    }
+
+    world.initialize_hover(ctx);
+    world
+}
+
+pub fn handle_world_outcome(
+    app: &mut App,
+    outcome: WorldOutcome<Obj>,
+    neighbourhood: &Neighbourhood,
+) -> EditOutcome {
+    match outcome {
+        WorldOutcome::ClickedObject(Obj::InteriorRoad(r)) => {
+            let subset = neighbourhood.shortcuts.subset(neighbourhood, r);
+            if subset.paths.is_empty() {
+                EditOutcome::Nothing
+            } else {
+                app.session.edit_mode = EditMode::Shortcuts(Some(FocusedRoad {
+                    r,
+                    paths: subset.paths,
+                    current_idx: 0,
+                }));
+                EditOutcome::UpdatePanelAndWorld
+            }
+        }
+        WorldOutcome::ClickedFreeSpace(_) => {
+            app.session.edit_mode = EditMode::Shortcuts(None);
+            EditOutcome::UpdatePanelAndWorld
+        }
+        _ => EditOutcome::Nothing,
+    }
+}
+
+
+ \ No newline at end of file diff --git a/rustdoc/src/ltn/filters/auto.rs.html b/rustdoc/src/ltn/filters/auto.rs.html index 8171d94042..35b852e12a 100644 --- a/rustdoc/src/ltn/filters/auto.rs.html +++ b/rustdoc/src/ltn/filters/auto.rs.html @@ -231,11 +231,6 @@ 226 227 228 -229 -230 -231 -232 -233
//! Experiments to make a neighbourhood be low-traffic by automatically placing filters to prevent
 //! all shortcuts.
 
@@ -245,7 +240,6 @@
 use map_model::RoadID;
 use widgetry::{Choice, EventCtx};
 
-use crate::shortcuts::find_shortcuts;
 use crate::{after_edit, App, Neighbourhood};
 
 #[derive(Clone, Copy, Debug, PartialEq)]
@@ -304,7 +298,7 @@
         app.session.modal_filters.before_edit();
 
         match self {
-            Heuristic::Greedy => greedy(ctx, app, neighbourhood, timer),
+            Heuristic::Greedy => greedy(ctx, app, neighbourhood),
             Heuristic::BruteForce => brute_force(ctx, app, neighbourhood, timer),
             Heuristic::SplitCells => split_cells(ctx, app, neighbourhood, timer),
             Heuristic::OnlyOneBorder => only_one_border(app, neighbourhood),
@@ -320,12 +314,12 @@
     }
 }
 
-fn greedy(ctx: &EventCtx, app: &mut App, neighbourhood: &Neighbourhood, timer: &mut Timer) {
-    let shortcuts = find_shortcuts(app, &neighbourhood, timer);
+fn greedy(ctx: &EventCtx, app: &mut App, neighbourhood: &Neighbourhood) {
     // TODO How should we break ties? Some shortcuts are worse than others; use that weight?
     // TODO Should this operation be per cell instead? We could hover on a road belonging to that
     // cell to select it
-    if let Some((r, _)) = shortcuts
+    if let Some((r, _)) = neighbourhood
+        .shortcuts
         .count_per_road
         .borrow()
         .iter()
@@ -353,11 +347,7 @@
             continue;
         }
         if let Some(new) = try_to_filter_road(ctx, app, neighbourhood, *r) {
-            let num_shortcuts =
-                // This spams too many logs, and can't be used within a start_iter anyway
-                find_shortcuts(app, &new, &mut Timer::throwaway())
-                    .paths
-                    .len();
+            let num_shortcuts = new.shortcuts.paths.len();
             // TODO Again, break ties. Just the number of paths is kind of a weak metric.
             if best.map(|(_, score)| num_shortcuts < score).unwrap_or(true) {
                 best = Some((*r, num_shortcuts));
diff --git a/rustdoc/src/ltn/lib.rs.html b/rustdoc/src/ltn/lib.rs.html
index a03b73b212..fcff819bb7 100644
--- a/rustdoc/src/ltn/lib.rs.html
+++ b/rustdoc/src/ltn/lib.rs.html
@@ -280,8 +280,6 @@
 275
 276
 277
-278
-279
 
#![allow(clippy::type_complexity)]
 
 use structopt::StructOpt;
@@ -316,7 +314,6 @@
 mod route_planner;
 mod save;
 mod select_boundary;
-mod shortcut_viewer;
 mod shortcuts;
 
 type App = map_gui::SimpleApp<Session>;
@@ -369,7 +366,7 @@
             draw_all_filters: Toggle3Zoomed::empty(ctx),
             impact: impact::Impact::empty(ctx),
 
-            edit_filters: true,
+            edit_mode: edit::EditMode::Filters,
 
             draw_neighbourhood_style: browse::Style::Simple,
             draw_cells_as_areas: false,
@@ -490,8 +487,7 @@
     pub draw_all_filters: Toggle3Zoomed,
     pub impact: impact::Impact,
 
-    // True if we're editing filters, false if we're editing one-ways. (An enum is overkill)
-    pub edit_filters: bool,
+    pub edit_mode: edit::EditMode,
 
     // Remember form settings in different tabs.
     // Browse neighbourhoods:
diff --git a/rustdoc/src/ltn/neighbourhood.rs.html b/rustdoc/src/ltn/neighbourhood.rs.html
index 2454fba03d..45cc9ff98a 100644
--- a/rustdoc/src/ltn/neighbourhood.rs.html
+++ b/rustdoc/src/ltn/neighbourhood.rs.html
@@ -324,6 +324,11 @@
 319
 320
 321
+322
+323
+324
+325
+326
 
use std::collections::{BTreeMap, BTreeSet};
 
 use maplit::btreeset;
@@ -333,20 +338,20 @@
 use map_model::{Direction, IntersectionID, Map, PathConstraints, Perimeter, RoadID};
 use widgetry::{Drawable, EventCtx, GeomBatch};
 
+use crate::shortcuts::Shortcuts;
 use crate::{App, ModalFilters, NeighbourhoodID};
 
+// Once constructed, a Neighbourhood is immutable
 pub struct Neighbourhood {
     pub id: NeighbourhoodID,
 
-    // These're fixed
     pub orig_perimeter: Perimeter,
     pub perimeter: BTreeSet<RoadID>,
     pub borders: BTreeSet<IntersectionID>,
     pub interior_intersections: BTreeSet<IntersectionID>,
 
-    // The cells change as a result of modal filters, which're stored for all neighbourhoods in
-    // app.session.
     pub cells: Vec<Cell>,
+    pub shortcuts: Shortcuts,
 
     pub fade_irrelevant: Drawable,
     pub labels: DrawRoadLabels,
@@ -447,6 +452,7 @@
             interior_intersections: BTreeSet::new(),
 
             cells: Vec::new(),
+            shortcuts: Shortcuts::empty(),
 
             fade_irrelevant: Drawable::empty(ctx),
             // Temporary value
@@ -490,6 +496,10 @@
         n.labels =
             DrawRoadLabels::new(Box::new(move |r| label_roads.contains(&r.id))).light_background();
 
+        // TODO The timer could be nice for large areas. But plumbing through one everywhere is
+        // tedious, and would hit a nested start_iter bug anyway.
+        n.shortcuts = crate::shortcuts::find_shortcuts(app, &n, &mut abstutil::Timer::throwaway());
+
         n
     }
 }
diff --git a/rustdoc/src/ltn/save/mod.rs.html b/rustdoc/src/ltn/save/mod.rs.html
index bbeb3e6501..85327a466d 100644
--- a/rustdoc/src/ltn/save/mod.rs.html
+++ b/rustdoc/src/ltn/save/mod.rs.html
@@ -356,8 +356,6 @@
 351
 352
 353
-354
-355
 
mod perma;
 
 use anyhow::Result;
@@ -365,10 +363,10 @@
 
 use abstio::MapName;
 use abstutil::Counter;
-use map_model::PathRequest;
 use widgetry::tools::{ChooseSomething, PopupMsg, PromptInput};
 use widgetry::{Choice, EventCtx, Key, Line, State, Widget};
 
+use crate::edit::EditMode;
 use crate::partition::BlockID;
 use crate::{App, BrowseNeighbourhoods, ModalFilters, Partitioning, Transition};
 
@@ -672,8 +670,8 @@
 pub enum PreserveState {
     BrowseNeighbourhoods,
     Route,
+    // TODO app.session.edit_mode now has state for Shortcuts...
     Connectivity(Vec<BlockID>),
-    Shortcuts(Option<PathRequest>, Vec<BlockID>),
 }
 
 impl PreserveState {
@@ -692,24 +690,22 @@
                 for block in blocks {
                     count.inc(app.session.partitioning.block_to_neighbourhood(block));
                 }
+
+                if let EditMode::Shortcuts(ref mut maybe_focus) = app.session.edit_mode {
+                    // TODO We should try to preserve the focused road at least, or the specific
+                    // shortcut maybe.
+                    *maybe_focus = None;
+                }
+                if let EditMode::FreehandFilters(_) = app.session.edit_mode {
+                    app.session.edit_mode = EditMode::Filters;
+                }
+
                 Transition::Replace(crate::connectivity::Viewer::new_state(
                     ctx,
                     app,
                     count.max_key(),
                 ))
             }
-            PreserveState::Shortcuts(req, blocks) => {
-                let mut count = Counter::new();
-                for block in blocks {
-                    count.inc(app.session.partitioning.block_to_neighbourhood(block));
-                }
-                Transition::Replace(crate::shortcut_viewer::BrowseShortcuts::new_state(
-                    ctx,
-                    app,
-                    count.max_key(),
-                    req,
-                ))
-            }
         }
     }
 }
diff --git a/rustdoc/src/ltn/select_boundary.rs.html b/rustdoc/src/ltn/select_boundary.rs.html
index e682571ffd..fd6b2b9e2c 100644
--- a/rustdoc/src/ltn/select_boundary.rs.html
+++ b/rustdoc/src/ltn/select_boundary.rs.html
@@ -400,6 +400,19 @@
 395
 396
 397
+398
+399
+400
+401
+402
+403
+404
+405
+406
+407
+408
+409
+410
 
use std::collections::BTreeSet;
 
 use anyhow::Result;
@@ -414,6 +427,7 @@
 };
 
 use crate::browse::draw_boundary_roads;
+use crate::edit::EditMode;
 use crate::partition::BlockID;
 use crate::{colors, App, NeighbourhoodID, Partitioning, Transition};
 
@@ -437,7 +451,19 @@
 }
 
 impl SelectBoundary {
-    pub fn new_state(ctx: &mut EventCtx, app: &App, id: NeighbourhoodID) -> Box<dyn State<App>> {
+    pub fn new_state(
+        ctx: &mut EventCtx,
+        app: &mut App,
+        id: NeighbourhoodID,
+    ) -> Box<dyn State<App>> {
+        // Make sure we clear this state if we ever modify neighbourhood boundaries
+        if let EditMode::Shortcuts(ref mut maybe_focus) = app.session.edit_mode {
+            *maybe_focus = None;
+        }
+        if let EditMode::FreehandFilters(_) = app.session.edit_mode {
+            app.session.edit_mode = EditMode::Filters;
+        }
+
         let top_panel = crate::components::TopPanel::panel(ctx, app);
         let left_panel = make_panel(ctx, app, id, &top_panel);
         let mut state = SelectBoundary {
diff --git a/rustdoc/src/ltn/shortcut_viewer.rs.html b/rustdoc/src/ltn/shortcut_viewer.rs.html
deleted file mode 100644
index 21e1bac797..0000000000
--- a/rustdoc/src/ltn/shortcut_viewer.rs.html
+++ /dev/null
@@ -1,530 +0,0 @@
-shortcut_viewer.rs - source
-    
-    
1
-2
-3
-4
-5
-6
-7
-8
-9
-10
-11
-12
-13
-14
-15
-16
-17
-18
-19
-20
-21
-22
-23
-24
-25
-26
-27
-28
-29
-30
-31
-32
-33
-34
-35
-36
-37
-38
-39
-40
-41
-42
-43
-44
-45
-46
-47
-48
-49
-50
-51
-52
-53
-54
-55
-56
-57
-58
-59
-60
-61
-62
-63
-64
-65
-66
-67
-68
-69
-70
-71
-72
-73
-74
-75
-76
-77
-78
-79
-80
-81
-82
-83
-84
-85
-86
-87
-88
-89
-90
-91
-92
-93
-94
-95
-96
-97
-98
-99
-100
-101
-102
-103
-104
-105
-106
-107
-108
-109
-110
-111
-112
-113
-114
-115
-116
-117
-118
-119
-120
-121
-122
-123
-124
-125
-126
-127
-128
-129
-130
-131
-132
-133
-134
-135
-136
-137
-138
-139
-140
-141
-142
-143
-144
-145
-146
-147
-148
-149
-150
-151
-152
-153
-154
-155
-156
-157
-158
-159
-160
-161
-162
-163
-164
-165
-166
-167
-168
-169
-170
-171
-172
-173
-174
-175
-176
-177
-178
-179
-180
-181
-182
-183
-184
-185
-186
-187
-188
-189
-190
-191
-192
-193
-194
-195
-196
-197
-198
-199
-200
-201
-202
-203
-204
-205
-206
-207
-208
-209
-210
-211
-212
-213
-214
-215
-216
-217
-218
-219
-220
-221
-222
-223
-224
-225
-226
-227
-228
-229
-230
-231
-232
-233
-234
-235
-236
-237
-238
-239
-240
-241
-242
-243
-244
-245
-246
-247
-248
-249
-250
-251
-252
-253
-254
-255
-256
-257
-258
-259
-260
-261
-
use map_gui::tools::percentage_bar;
-use map_model::{PathRequest, NORMAL_LANE_THICKNESS};
-use widgetry::mapspace::ToggleZoomed;
-use widgetry::{EventCtx, GfxCtx, Key, Line, Outcome, Panel, State, Text, TextExt, Widget};
-
-use crate::edit::{EditNeighbourhood, EditOutcome, Tab};
-use crate::shortcuts::{find_shortcuts, Shortcuts};
-use crate::{colors, App, Neighbourhood, NeighbourhoodID, Transition};
-
-pub struct BrowseShortcuts {
-    top_panel: Panel,
-    left_panel: Panel,
-    shortcuts: Shortcuts,
-    current_idx: usize,
-
-    draw_path: ToggleZoomed,
-    edit: EditNeighbourhood,
-    neighbourhood: Neighbourhood,
-}
-
-impl BrowseShortcuts {
-    pub fn new_state(
-        ctx: &mut EventCtx,
-        app: &App,
-        id: NeighbourhoodID,
-        start_with_request: Option<PathRequest>,
-    ) -> Box<dyn State<App>> {
-        let neighbourhood = Neighbourhood::new(ctx, app, id);
-
-        let shortcuts = ctx.loading_screen("find shortcuts", |_, timer| {
-            find_shortcuts(app, &neighbourhood, timer)
-        });
-        let edit = EditNeighbourhood::new(ctx, app, &neighbourhood, &shortcuts);
-
-        let mut state = BrowseShortcuts {
-            top_panel: crate::components::TopPanel::panel(ctx, app),
-            left_panel: Panel::empty(ctx),
-            shortcuts,
-            current_idx: 0,
-            draw_path: ToggleZoomed::empty(ctx),
-            neighbourhood,
-            edit,
-        };
-
-        if let Some(req) = start_with_request {
-            if let Some(idx) = state
-                .shortcuts
-                .paths
-                .iter()
-                .position(|path| path.get_req() == &req)
-            {
-                state.current_idx = idx;
-            }
-        }
-
-        state.recalculate(ctx, app);
-
-        Box::new(state)
-    }
-
-    fn recalculate(&mut self, ctx: &mut EventCtx, app: &App) {
-        let (quiet_streets, total_streets) =
-            self.shortcuts.quiet_and_total_streets(&self.neighbourhood);
-
-        if self.shortcuts.paths.is_empty() {
-            self.left_panel = self
-                .edit
-                .panel_builder(
-                    ctx,
-                    app,
-                    Tab::Shortcuts,
-                    &self.top_panel,
-                    percentage_bar(
-                        ctx,
-                        Text::from(Line(format!(
-                            "{} / {} streets have no shortcuts",
-                            quiet_streets, total_streets
-                        ))),
-                        1.0,
-                    ),
-                )
-                .build(ctx);
-            return;
-        }
-
-        // Optimization to avoid recalculating the whole panel
-        if self.left_panel.has_widget("prev/next controls") {
-            let controls = self.prev_next_controls(ctx);
-            self.left_panel.replace(ctx, "prev/next controls", controls);
-        } else {
-            self.left_panel = self
-                .edit
-                .panel_builder(
-                    ctx,
-                    app,
-                    Tab::Shortcuts,
-                    &self.top_panel,
-                    Widget::col(vec![
-                        percentage_bar(
-                            ctx,
-                            Text::from(Line(format!(
-                                "{} / {} streets have no shortcuts",
-                                quiet_streets, total_streets
-                            ))),
-                            (quiet_streets as f64) / (total_streets as f64),
-                        ),
-                        "Browse possible shortcuts through the neighbourhood.".text_widget(ctx),
-                        self.prev_next_controls(ctx),
-                    ]),
-                )
-                .build(ctx);
-        }
-
-        let mut draw_path = ToggleZoomed::builder();
-        if let Some(pl) = self.shortcuts.paths[self.current_idx].trace(&app.map) {
-            let color = colors::SHORTCUT_PATH;
-            let shape = pl.make_polygons(3.0 * NORMAL_LANE_THICKNESS);
-            draw_path.unzoomed.push(color.alpha(0.8), shape.clone());
-            draw_path.zoomed.push(color.alpha(0.5), shape);
-
-            draw_path
-                .unzoomed
-                .append(map_gui::tools::start_marker(ctx, pl.first_pt(), 2.0));
-            draw_path
-                .zoomed
-                .append(map_gui::tools::start_marker(ctx, pl.first_pt(), 0.5));
-
-            draw_path
-                .unzoomed
-                .append(map_gui::tools::goal_marker(ctx, pl.last_pt(), 2.0));
-            draw_path
-                .zoomed
-                .append(map_gui::tools::goal_marker(ctx, pl.last_pt(), 0.5));
-        }
-        self.draw_path = draw_path.build(ctx);
-    }
-
-    fn prev_next_controls(&self, ctx: &EventCtx) -> Widget {
-        Widget::row(vec![
-            ctx.style()
-                .btn_prev()
-                .disabled(self.current_idx == 0)
-                .hotkey(Key::LeftArrow)
-                .build_widget(ctx, "previous shortcut"),
-            Text::from(
-                Line(format!(
-                    "{}/{}",
-                    self.current_idx + 1,
-                    self.shortcuts.paths.len()
-                ))
-                .secondary(),
-            )
-            .into_widget(ctx)
-            .centered_vert(),
-            ctx.style()
-                .btn_next()
-                .disabled(self.current_idx == self.shortcuts.paths.len() - 1)
-                .hotkey(Key::RightArrow)
-                .build_widget(ctx, "next shortcut"),
-        ])
-        .named("prev/next controls")
-    }
-}
-
-impl State<App> for BrowseShortcuts {
-    fn event(&mut self, ctx: &mut EventCtx, app: &mut App) -> Transition {
-        if let Some(t) = crate::components::TopPanel::event(ctx, app, &mut self.top_panel, help) {
-            return t;
-        }
-        match self.left_panel.event(ctx) {
-            Outcome::Clicked(x) => match x.as_ref() {
-                "previous shortcut" => {
-                    self.current_idx -= 1;
-                    self.recalculate(ctx, app);
-                }
-                "next shortcut" => {
-                    self.current_idx += 1;
-                    self.recalculate(ctx, app);
-                }
-                x => {
-                    if let Some(t) = self.edit.handle_panel_action(
-                        ctx,
-                        app,
-                        x,
-                        &self.neighbourhood,
-                        &self.left_panel,
-                    ) {
-                        return t;
-                    }
-                    let current_request = if self.shortcuts.paths.is_empty() {
-                        None
-                    } else {
-                        Some(self.shortcuts.paths[self.current_idx].get_req().clone())
-                    };
-                    return crate::save::AltProposals::handle_action(
-                        ctx,
-                        app,
-                        crate::save::PreserveState::Shortcuts(
-                            current_request,
-                            app.session
-                                .partitioning
-                                .all_blocks_in_neighbourhood(self.neighbourhood.id),
-                        ),
-                        x,
-                    )
-                    .unwrap();
-                }
-            },
-            _ => {}
-        }
-
-        match self.edit.event(ctx, app) {
-            EditOutcome::Nothing => {}
-            EditOutcome::Recalculate => {
-                // Reset state, but if possible, preserve the current individual shortcut.
-                let current_request = self.shortcuts.paths[self.current_idx].get_req().clone();
-                return Transition::Replace(BrowseShortcuts::new_state(
-                    ctx,
-                    app,
-                    self.neighbourhood.id,
-                    Some(current_request),
-                ));
-            }
-            EditOutcome::Transition(t) => {
-                return t;
-            }
-        }
-
-        Transition::Keep
-    }
-
-    fn draw(&self, g: &mut GfxCtx, app: &App) {
-        self.top_panel.draw(g);
-        self.left_panel.draw(g);
-
-        self.edit.world.draw(g);
-        self.draw_path.draw(g);
-
-        g.redraw(&self.neighbourhood.fade_irrelevant);
-        app.session.draw_all_filters.draw(g);
-        if g.canvas.is_unzoomed() {
-            self.neighbourhood.labels.draw(g, app);
-        }
-    }
-
-    fn recreate(&mut self, ctx: &mut EventCtx, app: &mut App) -> Box<dyn State<App>> {
-        let current_request = if self.shortcuts.paths.is_empty() {
-            None
-        } else {
-            Some(self.shortcuts.paths[self.current_idx].get_req().clone())
-        };
-        Self::new_state(ctx, app, self.neighbourhood.id, current_request)
-    }
-}
-
-fn help() -> Vec<&'static str> {
-    vec![
-        "This shows every possible path a driver could take through the neighbourhood.",
-        "Not all paths may be realistic -- small service roads and alleyways are possible, but unlikely.",
-    ]
-}
-
-
- \ No newline at end of file diff --git a/rustdoc/src/ltn/shortcuts.rs.html b/rustdoc/src/ltn/shortcuts.rs.html index 19c6603789..8efa52b0cc 100644 --- a/rustdoc/src/ltn/shortcuts.rs.html +++ b/rustdoc/src/ltn/shortcuts.rs.html @@ -187,13 +187,48 @@ 182 183 184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217
use std::collections::HashSet;
 
 use abstutil::{Counter, Timer};
+use map_gui::tools::ColorNetwork;
 use map_model::{
     DirectedRoadID, IntersectionID, LaneID, Map, Path, PathConstraints, PathRequest, PathStep,
     Pathfinder, Position, RoadID,
 };
+use widgetry::mapspace::ToggleZoomedBuilder;
 
 use crate::{App, Cell, Neighbourhood};
 
@@ -204,6 +239,45 @@
 }
 
 impl Shortcuts {
+    // For temporary use
+    pub fn empty() -> Self {
+        Self {
+            paths: Vec::new(),
+            count_per_road: Counter::new(),
+            count_per_intersection: Counter::new(),
+        }
+    }
+
+    pub fn from_paths(neighbourhood: &Neighbourhood, paths: Vec<Path>) -> Self {
+        // How many shortcuts pass through each street?
+        let mut count_per_road = Counter::new();
+        let mut count_per_intersection = Counter::new();
+        for path in &paths {
+            for step in path.get_steps() {
+                match step {
+                    PathStep::Lane(l) => {
+                        if neighbourhood.orig_perimeter.interior.contains(&l.road) {
+                            count_per_road.inc(l.road);
+                        }
+                    }
+                    PathStep::Turn(t) => {
+                        if neighbourhood.interior_intersections.contains(&t.parent) {
+                            count_per_intersection.inc(t.parent);
+                        }
+                    }
+                    // Car paths don't make contraflow movements
+                    _ => unreachable!(),
+                }
+            }
+        }
+
+        Self {
+            paths,
+            count_per_road,
+            count_per_intersection,
+        }
+    }
+
     pub fn quiet_and_total_streets(&self, neighbourhood: &Neighbourhood) -> (usize, usize) {
         let quiet_streets = neighbourhood
             .orig_perimeter
@@ -214,6 +288,24 @@
         let total_streets = neighbourhood.orig_perimeter.interior.len();
         (quiet_streets, total_streets)
     }
+
+    pub fn subset(&self, neighbourhood: &Neighbourhood, r: RoadID) -> Self {
+        let paths = self
+            .paths
+            .iter()
+            .filter(|path| path.crosses_road(r))
+            .cloned()
+            .collect();
+        Self::from_paths(neighbourhood, paths)
+    }
+
+    pub fn draw_heatmap(&self, app: &App) -> ToggleZoomedBuilder {
+        let mut colorer = ColorNetwork::no_fading(app);
+        colorer.ranked_roads(self.count_per_road.clone(), &app.cs.good_to_bad_red);
+        // TODO These two will be on different scales, which may look weird
+        colorer.ranked_intersections(self.count_per_intersection.clone(), &app.cs.good_to_bad_red);
+        colorer.draw
+    }
 }
 
 pub fn find_shortcuts(app: &App, neighbourhood: &Neighbourhood, timer: &mut Timer) -> Shortcuts {
@@ -275,33 +367,7 @@
     //    along the perimeter roads that's sensible.)
     // 2) Comparing that time to the time for cutting through
 
-    // How many shortcuts pass through each street?
-    let mut count_per_road = Counter::new();
-    let mut count_per_intersection = Counter::new();
-    for path in &paths {
-        for step in path.get_steps() {
-            match step {
-                PathStep::Lane(l) => {
-                    if neighbourhood.orig_perimeter.interior.contains(&l.road) {
-                        count_per_road.inc(l.road);
-                    }
-                }
-                PathStep::Turn(t) => {
-                    if neighbourhood.interior_intersections.contains(&t.parent) {
-                        count_per_intersection.inc(t.parent);
-                    }
-                }
-                // Car paths don't make contraflow movements
-                _ => unreachable!(),
-            }
-        }
-    }
-
-    Shortcuts {
-        paths,
-        count_per_road,
-        count_per_intersection,
-    }
+    Shortcuts::from_paths(neighbourhood, paths)
 }
 
 struct EntryExit {
diff --git a/rustdoc/src/map_gui/home/runner/work/abstreet/abstreet/target/debug/build/map_gui-163541a4ac2f3b12/out/built.rs.html b/rustdoc/src/map_gui/home/runner/work/abstreet/abstreet/target/debug/build/map_gui-163541a4ac2f3b12/out/built.rs.html
index 2b1cdcb506..b08f46253b 100644
--- a/rustdoc/src/map_gui/home/runner/work/abstreet/abstreet/target/debug/build/map_gui-163541a4ac2f3b12/out/built.rs.html
+++ b/rustdoc/src/map_gui/home/runner/work/abstreet/abstreet/target/debug/build/map_gui-163541a4ac2f3b12/out/built.rs.html
@@ -179,7 +179,7 @@
 pub const RUSTDOC_VERSION: &str = r"rustdoc 1.62.1 (e092d0b6b 2022-07-16)";
 #[doc=r#"The build time in RFC2822, UTC."#]
 #[allow(dead_code)]
-pub const BUILT_TIME_UTC: &str = r"Wed, 20 Jul 2022 11:59:12 +0000";
+pub const BUILT_TIME_UTC: &str = r"Wed, 20 Jul 2022 13:18:45 +0000";
 #[doc=r#"The target architecture, given by `CARGO_CFG_TARGET_ARCH`."#]
 #[allow(dead_code)]
 pub const CFG_TARGET_ARCH: &str = r"x86_64";
diff --git a/rustdoc/src/map_gui/tools/labels.rs.html b/rustdoc/src/map_gui/tools/labels.rs.html
index 7a3bd23459..97e5d3a7d5 100644
--- a/rustdoc/src/map_gui/tools/labels.rs.html
+++ b/rustdoc/src/map_gui/tools/labels.rs.html
@@ -236,6 +236,7 @@
 231
 232
 233
+234
 
use std::cell::RefCell;
 
 use aabb_quadtree::QuadTree;
@@ -408,12 +409,12 @@
     ] {
         // Only replace directions at the start or end of the string
         replace.push((
-            Regex::new(&format!("^{}", long)).unwrap(),
-            short.to_string(),
+            Regex::new(&format!("^{long} ")).unwrap(),
+            format!("{short} "),
         ));
         replace.push((
-            Regex::new(&format!("{}$", long)).unwrap(),
-            short.to_string(),
+            Regex::new(&format!(" {long}$")).unwrap(),
+            format!(" {short}"),
         ));
     }
 
@@ -447,6 +448,7 @@
         for (input, want) in [
             ("Northeast Northgate Way", "NE Northgate Way"),
             ("South 42nd Street", "S 42nd St"),
+            ("Northcote Road", "Northcote Road"),
         ] {
             let got = simplify_name(input.to_string()).unwrap();
             if got != want {
diff --git a/rustdoc/src/map_model/pathfind/v1.rs.html b/rustdoc/src/map_model/pathfind/v1.rs.html
index 70006b04a6..551c9743a7 100644
--- a/rustdoc/src/map_model/pathfind/v1.rs.html
+++ b/rustdoc/src/map_model/pathfind/v1.rs.html
@@ -834,6 +834,17 @@
 829
 830
 831
+832
+833
+834
+835
+836
+837
+838
+839
+840
+841
+842
 
use std::collections::{BTreeMap, VecDeque};
 use std::fmt;
 
@@ -844,8 +855,8 @@
 use geom::{Distance, Duration, PolyLine, Polygon, Ring, Speed, EPSILON_DIST};
 
 use crate::{
-    BuildingID, DirectedRoadID, LaneID, Map, PathConstraints, Position, Traversable, TurnID,
-    UberTurn,
+    BuildingID, DirectedRoadID, LaneID, Map, PathConstraints, Position, RoadID, Traversable,
+    TurnID, UberTurn,
 };
 
 #[derive(Debug, Clone, Copy, Serialize, Deserialize, PartialEq, Eq, Hash, PartialOrd, Ord)]
@@ -1394,6 +1405,17 @@
             dist_along
         );
     }
+
+    pub fn crosses_road(&self, r: RoadID) -> bool {
+        for step in &self.steps {
+            if let PathStep::Lane(l) | PathStep::ContraflowLane(l) = step {
+                if l.road == r {
+                    return true;
+                }
+            }
+        }
+        false
+    }
 }
 
 #[derive(Debug, PartialEq, Eq, Clone, Serialize, Deserialize)]