From 9a6a81e8f2f831c1600c073f07f9bdc126a82910 Mon Sep 17 00:00:00 2001 From: binh-dam-ibigroup Date: Mon, 8 Sep 2025 11:23:52 -0400 Subject: [PATCH 01/11] test(a11y): Format plan.json --- a11y/mocks/plan.json | 1015 +++++++++++++++++++++++++++++++++++++++++- 1 file changed, 1014 insertions(+), 1 deletion(-) diff --git a/a11y/mocks/plan.json b/a11y/mocks/plan.json index 4c288bf1b..a74a3cab9 100644 --- a/a11y/mocks/plan.json +++ b/a11y/mocks/plan.json @@ -1 +1,1014 @@ -{"requestParameters":{"date":"2021-08-04","walkSpeed":"1.34","fromPlace":"1900 Main Street, Houston, TX, USA::29.750144,-95.370998","numItineraries":"3","mode":"WALK,BUS,TRAM","arriveBy":"false","toPlace":"800 Congress, Houston, TX, USA::29.76263,-95.362178","time":"08:14"},"plan":{"date":1628082840000,"from":{"name":"1900 Main Street, Houston, TX, USA","lon":-95.370998,"lat":29.750144,"orig":"1900 Main Street, Houston, TX, USA","vertexType":"NORMAL"},"to":{"name":"800 Congress, Houston, TX, USA","lon":-95.362178,"lat":29.76263,"orig":"800 Congress, Houston, TX, USA","vertexType":"NORMAL"},"itineraries":[{"duration":392,"startTime":1628083300000,"endTime":1628083692000,"walkTime":210,"transitTime":180,"waitingTime":2,"walkDistance":259.1391641774315,"walkLimitExceeded":false,"elevationLost":0.0,"elevationGained":0.0,"transfers":0,"fare":{"fare":{"regular":{"currency":{"symbol":"$","currency":"USD","defaultFractionDigits":2,"currencyCode":"USD"},"cents":125}},"details":{}},"legs":[{"startTime":1628083300000,"endTime":1628083379000,"departureDelay":0,"arrivalDelay":0,"realTime":false,"distance":88.17900000000003,"pathway":false,"mode":"WALK","route":"","agencyTimeZoneOffset":-18000000,"interlineWithPreviousLeg":false,"from":{"name":"1900 Main Street, Houston, TX, USA","lon":-95.370998,"lat":29.750144,"departure":1628083300000,"orig":"1900 Main Street, Houston, TX, USA","vertexType":"NORMAL"},"to":{"name":"Travis St @ St Joseph Pkwy","stopId":"Houston:624","stopCode":"624","lon":-95.371177,"lat":29.750596,"arrival":1628083379000,"departure":1628083380000,"stopIndex":101,"stopSequence":102,"vertexType":"TRANSIT","boardAlightType":"DEFAULT"},"legGeometry":{"points":"kqqtDvcbeQw@m@GLCBADCDABCDCFEHCBCFABHF","length":14},"rentedBike":false,"rentedCar":false,"rentedVehicle":false,"hailedCar":false,"flexDrtAdvanceBookMin":0.0,"transitLeg":false,"duration":79.0,"intermediateStops":[],"steps":[{"distance":81.20200000000003,"relativeDirection":"DEPART","streetName":"sidewalk","absoluteDirection":"NORTHEAST","stayOn":false,"area":false,"bogusName":true,"lon":-95.37099129880164,"lat":29.750140100302744,"elevation":[]},{"distance":6.977,"relativeDirection":"LEFT","streetName":"sidewalk","absoluteDirection":"SOUTHWEST","stayOn":true,"area":false,"bogusName":true,"lon":-95.37113400000001,"lat":29.750646500000002,"elevation":[]}]},{"startTime":1628083380000,"endTime":1628083560000,"departureDelay":0,"arrivalDelay":0,"realTime":false,"distance":1423.885970658207,"pathway":false,"mode":"BUS","route":"082","agencyName":"Metropolitan Transit Authority of Harris County","agencyUrl":"http://www.ridemetro.org","agencyTimeZoneOffset":-18000000,"routeColor":"004080","routeType":3,"routeId":"Houston:41336","routeTextColor":"FFFFFF","interlineWithPreviousLeg":false,"tripShortName":"WHEIMER","tripBlockId":"1062305","headsign":"DOWNTOWN","agencyId":"HOU","tripId":"Houston:9129562","serviceDate":"20210804","from":{"name":"Travis St @ St Joseph Pkwy","stopId":"Houston:624","stopCode":"624","lon":-95.371177,"lat":29.750596,"arrival":1628083379000,"departure":1628083380000,"stopIndex":101,"stopSequence":102,"vertexType":"TRANSIT","boardAlightType":"DEFAULT"},"to":{"name":"Travis St @ Prairie St","stopId":"Houston:667","stopCode":"667","lon":-95.362814,"lat":29.761145,"arrival":1628083560000,"departure":1628083561000,"stopIndex":106,"stopSequence":107,"vertexType":"TRANSIT","boardAlightType":"DEFAULT"},"legGeometry":{"points":"mtqtDhebeQWSyCwBsCuBuCwB{BcBYSsCsB_CcBSQwCyB}BaBSQwCsBsCuBaCgBSMsCyB{CwBiCiB","length":20},"interStopGeometry":[{"points":"mtqtDhebeQWSyCwBsCuBuCwB{BcB","length":6},{"points":"egrtDjvaeQYSsCsB_CcB","length":4},{"points":"sprtD~naeQSQwCyB}BaB","length":4},{"points":"}yrtDpgaeQSQwCsBsCuBaCgB","length":5},{"points":"_hstDl|`eQSMsCyB{CwBiCiB","length":5}],"alerts":[{"alertDescriptionText":"","alertUrl":"https://www.ridemetro.org/Pages/Coronavirus.aspx","effectiveStartDate":1625842020000,"alertHeaderText":"Federal law requires anyone on the METRO system to wear a face mask. This includes rail stations, transit centers and bus stops. Exemptions are available for children under the age of two and for those with a disability defined by the ADA."}],"routeShortName":"082","routeLongName":"WESTHEIMER","rentedBike":false,"rentedCar":false,"rentedVehicle":false,"hailedCar":false,"flexDrtAdvanceBookMin":0.0,"transitLeg":true,"duration":180.0,"intermediateStops":[{"name":"Travis St @ Bell St","stopId":"Houston:628","stopCode":"628","lon":-95.368804,"lat":29.753604,"arrival":1628083431000,"departure":1628083431000,"stopIndex":102,"stopSequence":103,"vertexType":"TRANSIT","boardAlightType":"DEFAULT"},{"name":"Travis St @ Polk St","stopId":"Houston:685","stopCode":"685","lon":-95.367596,"lat":29.755096,"arrival":1628083456000,"departure":1628083456000,"stopIndex":103,"stopSequence":104,"vertexType":"TRANSIT","boardAlightType":"DEFAULT"},{"name":"Travis St @ Lamar St","stopId":"Houston:661","stopCode":"661","lon":-95.366423,"lat":29.756601,"arrival":1628083481000,"departure":1628083481000,"stopIndex":104,"stopSequence":105,"vertexType":"TRANSIT","boardAlightType":"DEFAULT"},{"name":"Travis St @ Rusk St","stopId":"Houston:664","stopCode":"664","lon":-95.364659,"lat":29.758853,"arrival":1628083519000,"departure":1628083519000,"stopIndex":105,"stopSequence":106,"vertexType":"TRANSIT","boardAlightType":"DEFAULT"}],"steps":[]},{"startTime":1628083561000,"endTime":1628083692000,"departureDelay":0,"arrivalDelay":0,"realTime":false,"distance":170.893,"pathway":false,"mode":"WALK","route":"","agencyTimeZoneOffset":-18000000,"interlineWithPreviousLeg":false,"from":{"name":"Travis St @ Prairie St","stopId":"Houston:667","stopCode":"667","lon":-95.362814,"lat":29.761145,"arrival":1628083560000,"departure":1628083561000,"stopIndex":106,"stopSequence":107,"vertexType":"TRANSIT","boardAlightType":"DEFAULT"},"to":{"name":"800 Congress, Houston, TX, USA","lon":-95.362178,"lat":29.76263,"arrival":1628083692000,"orig":"800 Congress, Houston, TX, USA","vertexType":"NORMAL"},"legGeometry":{"points":"kvstD`q`eQSOgAw@y@m@IGMIKIcAu@","length":8},"rentedBike":false,"rentedCar":false,"rentedVehicle":false,"hailedCar":false,"flexDrtAdvanceBookMin":0.0,"transitLeg":false,"duration":131.0,"intermediateStops":[],"steps":[{"distance":170.893,"relativeDirection":"DEPART","streetName":"Travis Street","absoluteDirection":"NORTHEAST","stayOn":false,"area":false,"bogusName":false,"lon":-95.36288624616279,"lat":29.761188019319103,"elevation":[]}]}],"tooSloped":false},{"duration":515,"startTime":1628083218000,"endTime":1628083733000,"walkTime":156,"transitTime":357,"waitingTime":2,"walkDistance":182.0511194004663,"walkLimitExceeded":false,"elevationLost":0.0,"elevationGained":0.0,"transfers":0,"fare":{"fare":{"regular":{"currency":{"symbol":"$","currency":"USD","defaultFractionDigits":2,"currencyCode":"USD"},"cents":200}},"details":{}},"legs":[{"startTime":1628083218000,"endTime":1628083319000,"departureDelay":0,"arrivalDelay":0,"realTime":false,"distance":111.22700000000003,"pathway":false,"mode":"WALK","route":"","agencyTimeZoneOffset":-18000000,"interlineWithPreviousLeg":false,"from":{"name":"1900 Main Street, Houston, TX, USA","lon":-95.370998,"lat":29.750144,"departure":1628083218000,"orig":"1900 Main Street, Houston, TX, USA","vertexType":"NORMAL"},"to":{"name":"St Joseph Pkwy @ Travis St","stopId":"Houston:310","stopCode":"310","lon":-95.370944,"lat":29.750747,"arrival":1628083319000,"departure":1628083320000,"stopIndex":8,"stopSequence":9,"vertexType":"TRANSIT","boardAlightType":"DEFAULT"},"legGeometry":{"points":"kqqtDvcbeQw@m@GLCBADCDABCDCFEHCBCFABOMOMFK","length":16},"rentedBike":false,"rentedCar":false,"rentedVehicle":false,"hailedCar":false,"flexDrtAdvanceBookMin":0.0,"transitLeg":false,"duration":101.0,"intermediateStops":[],"steps":[{"distance":81.20200000000003,"relativeDirection":"DEPART","streetName":"sidewalk","absoluteDirection":"NORTHEAST","stayOn":false,"area":false,"bogusName":true,"lon":-95.37099129880164,"lat":29.750140100302744,"elevation":[]},{"distance":30.025,"relativeDirection":"UTURN_RIGHT","streetName":"sidewalk","absoluteDirection":"SOUTHEAST","stayOn":true,"area":false,"bogusName":true,"lon":-95.37099780000001,"lat":29.750805200000002,"elevation":[]}]},{"startTime":1628083320000,"endTime":1628083677000,"departureDelay":0,"arrivalDelay":0,"realTime":false,"distance":1524.458915954146,"pathway":false,"mode":"BUS","route":"249","agencyName":"Metropolitan Transit Authority of Harris County","agencyUrl":"http://www.ridemetro.org","agencyTimeZoneOffset":-18000000,"routeColor":"004080","routeType":3,"routeId":"Houston:41364","routeTextColor":"FFFFFF","interlineWithPreviousLeg":false,"tripShortName":"BAY AREA","tripBlockId":"1062867","headsign":"DOWNTOWN / VIA EASTWOOD TC","agencyId":"HOU","tripId":"Houston:9135066","serviceDate":"20210804","from":{"name":"St Joseph Pkwy @ Travis St","stopId":"Houston:310","stopCode":"310","lon":-95.370944,"lat":29.750747,"arrival":1628083319000,"departure":1628083320000,"stopIndex":8,"stopSequence":9,"vertexType":"TRANSIT","boardAlightType":"DEFAULT"},"to":{"name":"Travis St @ Preston St","stopId":"Houston:630","stopCode":"630","lon":-95.362244,"lat":29.761898,"arrival":1628083677000,"departure":1628083678000,"stopIndex":15,"stopSequence":16,"vertexType":"TRANSIT","boardAlightType":"DEFAULT"},"legGeometry":{"points":"utqtDxcbeQOZyCwBsCuByBaB[UuCwB{BaBWQsCuB}BcBYUqCsBcCcBSOsCuBaCgBSMsCyB_CaB[U_DyB}BeB","length":23},"interStopGeometry":[{"points":"utqtDxcbeQOZyCwBsCuByBaB","length":5},{"points":"mbrtDdzaeQ[UuCwB{BaB","length":4},{"points":"{krtDtraeQWQsCuB}BcB","length":4},{"points":"eurtDhkaeQYUqCsBcCcB","length":4},{"points":"u~rtDzcaeQSOsCuBaCgB","length":4},{"points":"_hstDl|`eQSMsCyB_CaB","length":4},{"points":"gqstDbu`eQ[U_DyB}BeB","length":4}],"alerts":[{"alertDescriptionText":"","alertUrl":"https://www.ridemetro.org/Pages/Coronavirus.aspx","effectiveStartDate":1625842020000,"alertHeaderText":"Federal law requires anyone on the METRO system to wear a face mask. This includes rail stations, transit centers and bus stops. Exemptions are available for children under the age of two and for those with a disability defined by the ADA."}],"routeShortName":"249","routeLongName":"MONROE/FUQUA/EL DORADO/BAY AREA P&R","rentedBike":false,"rentedCar":false,"rentedVehicle":false,"hailedCar":false,"flexDrtAdvanceBookMin":0.0,"transitLeg":true,"duration":357.0,"intermediateStops":[{"name":"Travis St @ Leeland St","stopId":"Houston:627","stopCode":"627","lon":-95.369404,"lat":29.752841,"arrival":1628083389000,"departure":1628083389000,"stopIndex":9,"stopSequence":10,"vertexType":"TRANSIT","boardAlightType":"DEFAULT"},{"name":"Travis St @ Clay St","stopId":"Houston:629","stopCode":"629","lon":-95.36821,"lat":29.754346,"arrival":1628083435000,"departure":1628083435000,"stopIndex":10,"stopSequence":11,"vertexType":"TRANSIT","boardAlightType":"DEFAULT"},{"name":"Travis St @ Dallas St","stopId":"Houston:660","stopCode":"660","lon":-95.367027,"lat":29.755835,"arrival":1628083480000,"departure":1628083480000,"stopIndex":11,"stopSequence":12,"vertexType":"TRANSIT","boardAlightType":"DEFAULT"},{"name":"Travis St @ Mc Kinney St","stopId":"Houston:662","stopCode":"662","lon":-95.365814,"lat":29.757345,"arrival":1628083526000,"departure":1628083526000,"stopIndex":12,"stopSequence":13,"vertexType":"TRANSIT","boardAlightType":"DEFAULT"},{"name":"Travis St @ Rusk St","stopId":"Houston:664","stopCode":"664","lon":-95.364659,"lat":29.758853,"arrival":1628083572000,"departure":1628083572000,"stopIndex":13,"stopSequence":14,"vertexType":"TRANSIT","boardAlightType":"DEFAULT"},{"name":"Travis St @ Texas Ave","stopId":"Houston:666","stopCode":"666","lon":-95.363472,"lat":29.760325,"arrival":1628083620000,"departure":1628083620000,"stopIndex":14,"stopSequence":15,"vertexType":"TRANSIT","boardAlightType":"DEFAULT"}],"steps":[]},{"startTime":1628083678000,"endTime":1628083733000,"departureDelay":0,"arrivalDelay":0,"realTime":false,"distance":70.72300000000001,"pathway":false,"mode":"WALK","route":"","agencyTimeZoneOffset":-18000000,"interlineWithPreviousLeg":false,"from":{"name":"Travis St @ Preston St","stopId":"Houston:630","stopCode":"630","lon":-95.362244,"lat":29.761898,"arrival":1628083677000,"departure":1628083678000,"stopIndex":15,"stopSequence":16,"vertexType":"TRANSIT","boardAlightType":"DEFAULT"},"to":{"name":"800 Congress, Houston, TX, USA","lon":-95.362178,"lat":29.76263,"arrival":1628083733000,"orig":"800 Congress, Houston, TX, USA","vertexType":"NORMAL"},"legGeometry":{"points":"a{stDjm`eQIGMIKIcAu@","length":5},"rentedBike":false,"rentedCar":false,"rentedVehicle":false,"hailedCar":false,"flexDrtAdvanceBookMin":0.0,"transitLeg":false,"duration":55.0,"intermediateStops":[],"steps":[{"distance":70.72300000000001,"relativeDirection":"DEPART","streetName":"Travis Street","absoluteDirection":"NORTHEAST","stayOn":false,"area":false,"bogusName":false,"lon":-95.36229927212824,"lat":29.76193091893979,"elevation":[]}]}],"tooSloped":false},{"duration":392,"startTime":1628083900000,"endTime":1628084292000,"walkTime":210,"transitTime":180,"waitingTime":2,"walkDistance":259.1391641774315,"walkLimitExceeded":false,"elevationLost":0.0,"elevationGained":0.0,"transfers":0,"fare":{"fare":{"regular":{"currency":{"symbol":"$","currency":"USD","defaultFractionDigits":2,"currencyCode":"USD"},"cents":125}},"details":{}},"legs":[{"startTime":1628083900000,"endTime":1628083979000,"departureDelay":0,"arrivalDelay":0,"realTime":false,"distance":88.17900000000003,"pathway":false,"mode":"WALK","route":"","agencyTimeZoneOffset":-18000000,"interlineWithPreviousLeg":false,"from":{"name":"1900 Main Street, Houston, TX, USA","lon":-95.370998,"lat":29.750144,"departure":1628083900000,"orig":"1900 Main Street, Houston, TX, USA","vertexType":"NORMAL"},"to":{"name":"Travis St @ St Joseph Pkwy","stopId":"Houston:624","stopCode":"624","lon":-95.371177,"lat":29.750596,"arrival":1628083979000,"departure":1628083980000,"stopIndex":101,"stopSequence":102,"vertexType":"TRANSIT","boardAlightType":"DEFAULT"},"legGeometry":{"points":"kqqtDvcbeQw@m@GLCBADCDABCDCFEHCBCFABHF","length":14},"rentedBike":false,"rentedCar":false,"rentedVehicle":false,"hailedCar":false,"flexDrtAdvanceBookMin":0.0,"transitLeg":false,"duration":79.0,"intermediateStops":[],"steps":[{"distance":81.20200000000003,"relativeDirection":"DEPART","streetName":"sidewalk","absoluteDirection":"NORTHEAST","stayOn":false,"area":false,"bogusName":true,"lon":-95.37099129880164,"lat":29.750140100302744,"elevation":[]},{"distance":6.977,"relativeDirection":"LEFT","streetName":"sidewalk","absoluteDirection":"SOUTHWEST","stayOn":true,"area":false,"bogusName":true,"lon":-95.37113400000001,"lat":29.750646500000002,"elevation":[]}]},{"startTime":1628083980000,"endTime":1628084160000,"departureDelay":0,"arrivalDelay":0,"realTime":false,"distance":1423.885970658207,"pathway":false,"mode":"BUS","route":"082","agencyName":"Metropolitan Transit Authority of Harris County","agencyUrl":"http://www.ridemetro.org","agencyTimeZoneOffset":-18000000,"routeColor":"004080","routeType":3,"routeId":"Houston:41336","routeTextColor":"FFFFFF","interlineWithPreviousLeg":false,"tripShortName":"WHEIMER","tripBlockId":"1062307","headsign":"DOWNTOWN","agencyId":"HOU","tripId":"Houston:9129563","serviceDate":"20210804","from":{"name":"Travis St @ St Joseph Pkwy","stopId":"Houston:624","stopCode":"624","lon":-95.371177,"lat":29.750596,"arrival":1628083979000,"departure":1628083980000,"stopIndex":101,"stopSequence":102,"vertexType":"TRANSIT","boardAlightType":"DEFAULT"},"to":{"name":"Travis St @ Prairie St","stopId":"Houston:667","stopCode":"667","lon":-95.362814,"lat":29.761145,"arrival":1628084160000,"departure":1628084161000,"stopIndex":106,"stopSequence":107,"vertexType":"TRANSIT","boardAlightType":"DEFAULT"},"legGeometry":{"points":"mtqtDhebeQWSyCwBsCuBuCwB{BcBYSsCsB_CcBSQwCyB}BaBSQwCsBsCuBaCgBSMsCyB{CwBiCiB","length":20},"interStopGeometry":[{"points":"mtqtDhebeQWSyCwBsCuBuCwB{BcB","length":6},{"points":"egrtDjvaeQYSsCsB_CcB","length":4},{"points":"sprtD~naeQSQwCyB}BaB","length":4},{"points":"}yrtDpgaeQSQwCsBsCuBaCgB","length":5},{"points":"_hstDl|`eQSMsCyB{CwBiCiB","length":5}],"alerts":[{"alertDescriptionText":"","alertUrl":"https://www.ridemetro.org/Pages/Coronavirus.aspx","effectiveStartDate":1625842020000,"alertHeaderText":"Federal law requires anyone on the METRO system to wear a face mask. This includes rail stations, transit centers and bus stops. Exemptions are available for children under the age of two and for those with a disability defined by the ADA."}],"routeShortName":"082","routeLongName":"WESTHEIMER","rentedBike":false,"rentedCar":false,"rentedVehicle":false,"hailedCar":false,"flexDrtAdvanceBookMin":0.0,"transitLeg":true,"duration":180.0,"intermediateStops":[{"name":"Travis St @ Bell St","stopId":"Houston:628","stopCode":"628","lon":-95.368804,"lat":29.753604,"arrival":1628084031000,"departure":1628084031000,"stopIndex":102,"stopSequence":103,"vertexType":"TRANSIT","boardAlightType":"DEFAULT"},{"name":"Travis St @ Polk St","stopId":"Houston:685","stopCode":"685","lon":-95.367596,"lat":29.755096,"arrival":1628084056000,"departure":1628084056000,"stopIndex":103,"stopSequence":104,"vertexType":"TRANSIT","boardAlightType":"DEFAULT"},{"name":"Travis St @ Lamar St","stopId":"Houston:661","stopCode":"661","lon":-95.366423,"lat":29.756601,"arrival":1628084081000,"departure":1628084081000,"stopIndex":104,"stopSequence":105,"vertexType":"TRANSIT","boardAlightType":"DEFAULT"},{"name":"Travis St @ Rusk St","stopId":"Houston:664","stopCode":"664","lon":-95.364659,"lat":29.758853,"arrival":1628084119000,"departure":1628084119000,"stopIndex":105,"stopSequence":106,"vertexType":"TRANSIT","boardAlightType":"DEFAULT"}],"steps":[]},{"startTime":1628084161000,"endTime":1628084292000,"departureDelay":0,"arrivalDelay":0,"realTime":false,"distance":170.893,"pathway":false,"mode":"WALK","route":"","agencyTimeZoneOffset":-18000000,"interlineWithPreviousLeg":false,"from":{"name":"Travis St @ Prairie St","stopId":"Houston:667","stopCode":"667","lon":-95.362814,"lat":29.761145,"arrival":1628084160000,"departure":1628084161000,"stopIndex":106,"stopSequence":107,"vertexType":"TRANSIT","boardAlightType":"DEFAULT"},"to":{"name":"800 Congress, Houston, TX, USA","lon":-95.362178,"lat":29.76263,"arrival":1628084292000,"orig":"800 Congress, Houston, TX, USA","vertexType":"NORMAL"},"legGeometry":{"points":"kvstD`q`eQSOgAw@y@m@IGMIKIcAu@","length":8},"rentedBike":false,"rentedCar":false,"rentedVehicle":false,"hailedCar":false,"flexDrtAdvanceBookMin":0.0,"transitLeg":false,"duration":131.0,"intermediateStops":[],"steps":[{"distance":170.893,"relativeDirection":"DEPART","streetName":"Travis Street","absoluteDirection":"NORTHEAST","stayOn":false,"area":false,"bogusName":false,"lon":-95.36288624616279,"lat":29.761188019319103,"elevation":[]}]}],"tooSloped":false}]},"debugOutput":{"precalculationTime":35,"pathCalculationTime":32,"pathTimes":[10,9,13],"renderingTime":0,"totalTime":67,"timedOut":false},"elevationMetadata":{"ellipsoidToGeoidDifference":-26.094908498979883,"geoidElevation":false}} \ No newline at end of file +{ + "requestParameters": { + "date": "2021-08-04", + "walkSpeed": "1.34", + "fromPlace": "1900 Main Street, Houston, TX, USA::29.750144,-95.370998", + "numItineraries": "3", + "mode": "WALK,BUS,TRAM", + "arriveBy": "false", + "toPlace": "800 Congress, Houston, TX, USA::29.76263,-95.362178", + "time": "08:14" + }, + "plan": { + "date": 1628082840000, + "from": { + "name": "1900 Main Street, Houston, TX, USA", + "lon": -95.370998, + "lat": 29.750144, + "orig": "1900 Main Street, Houston, TX, USA", + "vertexType": "NORMAL" + }, + "to": { + "name": "800 Congress, Houston, TX, USA", + "lon": -95.362178, + "lat": 29.76263, + "orig": "800 Congress, Houston, TX, USA", + "vertexType": "NORMAL" + }, + "itineraries": [ + { + "duration": 392, + "startTime": 1628083300000, + "endTime": 1628083692000, + "walkTime": 210, + "transitTime": 180, + "waitingTime": 2, + "walkDistance": 259.1391641774315, + "walkLimitExceeded": false, + "elevationLost": 0.0, + "elevationGained": 0.0, + "transfers": 0, + "fare": { + "fare": { + "regular": { + "currency": { + "symbol": "$", + "currency": "USD", + "defaultFractionDigits": 2, + "currencyCode": "USD" + }, + "cents": 125 + } + }, + "details": {} + }, + "legs": [ + { + "startTime": 1628083300000, + "endTime": 1628083379000, + "departureDelay": 0, + "arrivalDelay": 0, + "realTime": false, + "distance": 88.17900000000003, + "pathway": false, + "mode": "WALK", + "route": "", + "agencyTimeZoneOffset": -18000000, + "interlineWithPreviousLeg": false, + "from": { + "name": "1900 Main Street, Houston, TX, USA", + "lon": -95.370998, + "lat": 29.750144, + "departure": 1628083300000, + "orig": "1900 Main Street, Houston, TX, USA", + "vertexType": "NORMAL" + }, + "to": { + "name": "Travis St @ St Joseph Pkwy", + "stopId": "Houston:624", + "stopCode": "624", + "lon": -95.371177, + "lat": 29.750596, + "arrival": 1628083379000, + "departure": 1628083380000, + "stopIndex": 101, + "stopSequence": 102, + "vertexType": "TRANSIT", + "boardAlightType": "DEFAULT" + }, + "legGeometry": { + "points": "kqqtDvcbeQw@m@GLCBADCDABCDCFEHCBCFABHF", + "length": 14 + }, + "rentedBike": false, + "rentedCar": false, + "rentedVehicle": false, + "hailedCar": false, + "flexDrtAdvanceBookMin": 0.0, + "transitLeg": false, + "duration": 79.0, + "intermediateStops": [], + "steps": [ + { + "distance": 81.20200000000003, + "relativeDirection": "DEPART", + "streetName": "sidewalk", + "absoluteDirection": "NORTHEAST", + "stayOn": false, + "area": false, + "bogusName": true, + "lon": -95.37099129880164, + "lat": 29.750140100302744, + "elevation": [] + }, + { + "distance": 6.977, + "relativeDirection": "LEFT", + "streetName": "sidewalk", + "absoluteDirection": "SOUTHWEST", + "stayOn": true, + "area": false, + "bogusName": true, + "lon": -95.37113400000001, + "lat": 29.750646500000002, + "elevation": [] + } + ] + }, + { + "startTime": 1628083380000, + "endTime": 1628083560000, + "departureDelay": 0, + "arrivalDelay": 0, + "realTime": false, + "distance": 1423.885970658207, + "pathway": false, + "mode": "BUS", + "route": "082", + "agencyName": "Metropolitan Transit Authority of Harris County", + "agencyUrl": "http://www.ridemetro.org", + "agencyTimeZoneOffset": -18000000, + "routeColor": "004080", + "routeType": 3, + "routeId": "Houston:41336", + "routeTextColor": "FFFFFF", + "interlineWithPreviousLeg": false, + "tripShortName": "WHEIMER", + "tripBlockId": "1062305", + "headsign": "DOWNTOWN", + "agencyId": "HOU", + "tripId": "Houston:9129562", + "serviceDate": "20210804", + "from": { + "name": "Travis St @ St Joseph Pkwy", + "stopId": "Houston:624", + "stopCode": "624", + "lon": -95.371177, + "lat": 29.750596, + "arrival": 1628083379000, + "departure": 1628083380000, + "stopIndex": 101, + "stopSequence": 102, + "vertexType": "TRANSIT", + "boardAlightType": "DEFAULT" + }, + "to": { + "name": "Travis St @ Prairie St", + "stopId": "Houston:667", + "stopCode": "667", + "lon": -95.362814, + "lat": 29.761145, + "arrival": 1628083560000, + "departure": 1628083561000, + "stopIndex": 106, + "stopSequence": 107, + "vertexType": "TRANSIT", + "boardAlightType": "DEFAULT" + }, + "legGeometry": { + "points": "mtqtDhebeQWSyCwBsCuBuCwB{BcBYSsCsB_CcBSQwCyB}BaBSQwCsBsCuBaCgBSMsCyB{CwBiCiB", + "length": 20 + }, + "interStopGeometry": [ + { + "points": "mtqtDhebeQWSyCwBsCuBuCwB{BcB", + "length": 6 + }, + { + "points": "egrtDjvaeQYSsCsB_CcB", + "length": 4 + }, + { + "points": "sprtD~naeQSQwCyB}BaB", + "length": 4 + }, + { + "points": "}yrtDpgaeQSQwCsBsCuBaCgB", + "length": 5 + }, + { + "points": "_hstDl|`eQSMsCyB{CwBiCiB", + "length": 5 + } + ], + "alerts": [ + { + "alertDescriptionText": "", + "alertUrl": "https://www.ridemetro.org/Pages/Coronavirus.aspx", + "effectiveStartDate": 1625842020000, + "alertHeaderText": "Federal law requires anyone on the METRO system to wear a face mask. This includes rail stations, transit centers and bus stops. Exemptions are available for children under the age of two and for those with a disability defined by the ADA." + } + ], + "routeShortName": "082", + "routeLongName": "WESTHEIMER", + "rentedBike": false, + "rentedCar": false, + "rentedVehicle": false, + "hailedCar": false, + "flexDrtAdvanceBookMin": 0.0, + "transitLeg": true, + "duration": 180.0, + "intermediateStops": [ + { + "name": "Travis St @ Bell St", + "stopId": "Houston:628", + "stopCode": "628", + "lon": -95.368804, + "lat": 29.753604, + "arrival": 1628083431000, + "departure": 1628083431000, + "stopIndex": 102, + "stopSequence": 103, + "vertexType": "TRANSIT", + "boardAlightType": "DEFAULT" + }, + { + "name": "Travis St @ Polk St", + "stopId": "Houston:685", + "stopCode": "685", + "lon": -95.367596, + "lat": 29.755096, + "arrival": 1628083456000, + "departure": 1628083456000, + "stopIndex": 103, + "stopSequence": 104, + "vertexType": "TRANSIT", + "boardAlightType": "DEFAULT" + }, + { + "name": "Travis St @ Lamar St", + "stopId": "Houston:661", + "stopCode": "661", + "lon": -95.366423, + "lat": 29.756601, + "arrival": 1628083481000, + "departure": 1628083481000, + "stopIndex": 104, + "stopSequence": 105, + "vertexType": "TRANSIT", + "boardAlightType": "DEFAULT" + }, + { + "name": "Travis St @ Rusk St", + "stopId": "Houston:664", + "stopCode": "664", + "lon": -95.364659, + "lat": 29.758853, + "arrival": 1628083519000, + "departure": 1628083519000, + "stopIndex": 105, + "stopSequence": 106, + "vertexType": "TRANSIT", + "boardAlightType": "DEFAULT" + } + ], + "steps": [] + }, + { + "startTime": 1628083561000, + "endTime": 1628083692000, + "departureDelay": 0, + "arrivalDelay": 0, + "realTime": false, + "distance": 170.893, + "pathway": false, + "mode": "WALK", + "route": "", + "agencyTimeZoneOffset": -18000000, + "interlineWithPreviousLeg": false, + "from": { + "name": "Travis St @ Prairie St", + "stopId": "Houston:667", + "stopCode": "667", + "lon": -95.362814, + "lat": 29.761145, + "arrival": 1628083560000, + "departure": 1628083561000, + "stopIndex": 106, + "stopSequence": 107, + "vertexType": "TRANSIT", + "boardAlightType": "DEFAULT" + }, + "to": { + "name": "800 Congress, Houston, TX, USA", + "lon": -95.362178, + "lat": 29.76263, + "arrival": 1628083692000, + "orig": "800 Congress, Houston, TX, USA", + "vertexType": "NORMAL" + }, + "legGeometry": { + "points": "kvstD`q`eQSOgAw@y@m@IGMIKIcAu@", + "length": 8 + }, + "rentedBike": false, + "rentedCar": false, + "rentedVehicle": false, + "hailedCar": false, + "flexDrtAdvanceBookMin": 0.0, + "transitLeg": false, + "duration": 131.0, + "intermediateStops": [], + "steps": [ + { + "distance": 170.893, + "relativeDirection": "DEPART", + "streetName": "Travis Street", + "absoluteDirection": "NORTHEAST", + "stayOn": false, + "area": false, + "bogusName": false, + "lon": -95.36288624616279, + "lat": 29.761188019319103, + "elevation": [] + } + ] + } + ], + "tooSloped": false + }, + { + "duration": 515, + "startTime": 1628083218000, + "endTime": 1628083733000, + "walkTime": 156, + "transitTime": 357, + "waitingTime": 2, + "walkDistance": 182.0511194004663, + "walkLimitExceeded": false, + "elevationLost": 0.0, + "elevationGained": 0.0, + "transfers": 0, + "fare": { + "fare": { + "regular": { + "currency": { + "symbol": "$", + "currency": "USD", + "defaultFractionDigits": 2, + "currencyCode": "USD" + }, + "cents": 200 + } + }, + "details": {} + }, + "legs": [ + { + "startTime": 1628083218000, + "endTime": 1628083319000, + "departureDelay": 0, + "arrivalDelay": 0, + "realTime": false, + "distance": 111.22700000000003, + "pathway": false, + "mode": "WALK", + "route": "", + "agencyTimeZoneOffset": -18000000, + "interlineWithPreviousLeg": false, + "from": { + "name": "1900 Main Street, Houston, TX, USA", + "lon": -95.370998, + "lat": 29.750144, + "departure": 1628083218000, + "orig": "1900 Main Street, Houston, TX, USA", + "vertexType": "NORMAL" + }, + "to": { + "name": "St Joseph Pkwy @ Travis St", + "stopId": "Houston:310", + "stopCode": "310", + "lon": -95.370944, + "lat": 29.750747, + "arrival": 1628083319000, + "departure": 1628083320000, + "stopIndex": 8, + "stopSequence": 9, + "vertexType": "TRANSIT", + "boardAlightType": "DEFAULT" + }, + "legGeometry": { + "points": "kqqtDvcbeQw@m@GLCBADCDABCDCFEHCBCFABOMOMFK", + "length": 16 + }, + "rentedBike": false, + "rentedCar": false, + "rentedVehicle": false, + "hailedCar": false, + "flexDrtAdvanceBookMin": 0.0, + "transitLeg": false, + "duration": 101.0, + "intermediateStops": [], + "steps": [ + { + "distance": 81.20200000000003, + "relativeDirection": "DEPART", + "streetName": "sidewalk", + "absoluteDirection": "NORTHEAST", + "stayOn": false, + "area": false, + "bogusName": true, + "lon": -95.37099129880164, + "lat": 29.750140100302744, + "elevation": [] + }, + { + "distance": 30.025, + "relativeDirection": "UTURN_RIGHT", + "streetName": "sidewalk", + "absoluteDirection": "SOUTHEAST", + "stayOn": true, + "area": false, + "bogusName": true, + "lon": -95.37099780000001, + "lat": 29.750805200000002, + "elevation": [] + } + ] + }, + { + "startTime": 1628083320000, + "endTime": 1628083677000, + "departureDelay": 0, + "arrivalDelay": 0, + "realTime": false, + "distance": 1524.458915954146, + "pathway": false, + "mode": "BUS", + "route": "249", + "agencyName": "Metropolitan Transit Authority of Harris County", + "agencyUrl": "http://www.ridemetro.org", + "agencyTimeZoneOffset": -18000000, + "routeColor": "004080", + "routeType": 3, + "routeId": "Houston:41364", + "routeTextColor": "FFFFFF", + "interlineWithPreviousLeg": false, + "tripShortName": "BAY AREA", + "tripBlockId": "1062867", + "headsign": "DOWNTOWN / VIA EASTWOOD TC", + "agencyId": "HOU", + "tripId": "Houston:9135066", + "serviceDate": "20210804", + "from": { + "name": "St Joseph Pkwy @ Travis St", + "stopId": "Houston:310", + "stopCode": "310", + "lon": -95.370944, + "lat": 29.750747, + "arrival": 1628083319000, + "departure": 1628083320000, + "stopIndex": 8, + "stopSequence": 9, + "vertexType": "TRANSIT", + "boardAlightType": "DEFAULT" + }, + "to": { + "name": "Travis St @ Preston St", + "stopId": "Houston:630", + "stopCode": "630", + "lon": -95.362244, + "lat": 29.761898, + "arrival": 1628083677000, + "departure": 1628083678000, + "stopIndex": 15, + "stopSequence": 16, + "vertexType": "TRANSIT", + "boardAlightType": "DEFAULT" + }, + "legGeometry": { + "points": "utqtDxcbeQOZyCwBsCuByBaB[UuCwB{BaBWQsCuB}BcBYUqCsBcCcBSOsCuBaCgBSMsCyB_CaB[U_DyB}BeB", + "length": 23 + }, + "interStopGeometry": [ + { + "points": "utqtDxcbeQOZyCwBsCuByBaB", + "length": 5 + }, + { + "points": "mbrtDdzaeQ[UuCwB{BaB", + "length": 4 + }, + { + "points": "{krtDtraeQWQsCuB}BcB", + "length": 4 + }, + { + "points": "eurtDhkaeQYUqCsBcCcB", + "length": 4 + }, + { + "points": "u~rtDzcaeQSOsCuBaCgB", + "length": 4 + }, + { + "points": "_hstDl|`eQSMsCyB_CaB", + "length": 4 + }, + { + "points": "gqstDbu`eQ[U_DyB}BeB", + "length": 4 + } + ], + "alerts": [ + { + "alertDescriptionText": "", + "alertUrl": "https://www.ridemetro.org/Pages/Coronavirus.aspx", + "effectiveStartDate": 1625842020000, + "alertHeaderText": "Federal law requires anyone on the METRO system to wear a face mask. This includes rail stations, transit centers and bus stops. Exemptions are available for children under the age of two and for those with a disability defined by the ADA." + } + ], + "routeShortName": "249", + "routeLongName": "MONROE/FUQUA/EL DORADO/BAY AREA P&R", + "rentedBike": false, + "rentedCar": false, + "rentedVehicle": false, + "hailedCar": false, + "flexDrtAdvanceBookMin": 0.0, + "transitLeg": true, + "duration": 357.0, + "intermediateStops": [ + { + "name": "Travis St @ Leeland St", + "stopId": "Houston:627", + "stopCode": "627", + "lon": -95.369404, + "lat": 29.752841, + "arrival": 1628083389000, + "departure": 1628083389000, + "stopIndex": 9, + "stopSequence": 10, + "vertexType": "TRANSIT", + "boardAlightType": "DEFAULT" + }, + { + "name": "Travis St @ Clay St", + "stopId": "Houston:629", + "stopCode": "629", + "lon": -95.36821, + "lat": 29.754346, + "arrival": 1628083435000, + "departure": 1628083435000, + "stopIndex": 10, + "stopSequence": 11, + "vertexType": "TRANSIT", + "boardAlightType": "DEFAULT" + }, + { + "name": "Travis St @ Dallas St", + "stopId": "Houston:660", + "stopCode": "660", + "lon": -95.367027, + "lat": 29.755835, + "arrival": 1628083480000, + "departure": 1628083480000, + "stopIndex": 11, + "stopSequence": 12, + "vertexType": "TRANSIT", + "boardAlightType": "DEFAULT" + }, + { + "name": "Travis St @ Mc Kinney St", + "stopId": "Houston:662", + "stopCode": "662", + "lon": -95.365814, + "lat": 29.757345, + "arrival": 1628083526000, + "departure": 1628083526000, + "stopIndex": 12, + "stopSequence": 13, + "vertexType": "TRANSIT", + "boardAlightType": "DEFAULT" + }, + { + "name": "Travis St @ Rusk St", + "stopId": "Houston:664", + "stopCode": "664", + "lon": -95.364659, + "lat": 29.758853, + "arrival": 1628083572000, + "departure": 1628083572000, + "stopIndex": 13, + "stopSequence": 14, + "vertexType": "TRANSIT", + "boardAlightType": "DEFAULT" + }, + { + "name": "Travis St @ Texas Ave", + "stopId": "Houston:666", + "stopCode": "666", + "lon": -95.363472, + "lat": 29.760325, + "arrival": 1628083620000, + "departure": 1628083620000, + "stopIndex": 14, + "stopSequence": 15, + "vertexType": "TRANSIT", + "boardAlightType": "DEFAULT" + } + ], + "steps": [] + }, + { + "startTime": 1628083678000, + "endTime": 1628083733000, + "departureDelay": 0, + "arrivalDelay": 0, + "realTime": false, + "distance": 70.72300000000001, + "pathway": false, + "mode": "WALK", + "route": "", + "agencyTimeZoneOffset": -18000000, + "interlineWithPreviousLeg": false, + "from": { + "name": "Travis St @ Preston St", + "stopId": "Houston:630", + "stopCode": "630", + "lon": -95.362244, + "lat": 29.761898, + "arrival": 1628083677000, + "departure": 1628083678000, + "stopIndex": 15, + "stopSequence": 16, + "vertexType": "TRANSIT", + "boardAlightType": "DEFAULT" + }, + "to": { + "name": "800 Congress, Houston, TX, USA", + "lon": -95.362178, + "lat": 29.76263, + "arrival": 1628083733000, + "orig": "800 Congress, Houston, TX, USA", + "vertexType": "NORMAL" + }, + "legGeometry": { + "points": "a{stDjm`eQIGMIKIcAu@", + "length": 5 + }, + "rentedBike": false, + "rentedCar": false, + "rentedVehicle": false, + "hailedCar": false, + "flexDrtAdvanceBookMin": 0.0, + "transitLeg": false, + "duration": 55.0, + "intermediateStops": [], + "steps": [ + { + "distance": 70.72300000000001, + "relativeDirection": "DEPART", + "streetName": "Travis Street", + "absoluteDirection": "NORTHEAST", + "stayOn": false, + "area": false, + "bogusName": false, + "lon": -95.36229927212824, + "lat": 29.76193091893979, + "elevation": [] + } + ] + } + ], + "tooSloped": false + }, + { + "duration": 392, + "startTime": 1628083900000, + "endTime": 1628084292000, + "walkTime": 210, + "transitTime": 180, + "waitingTime": 2, + "walkDistance": 259.1391641774315, + "walkLimitExceeded": false, + "elevationLost": 0.0, + "elevationGained": 0.0, + "transfers": 0, + "fare": { + "fare": { + "regular": { + "currency": { + "symbol": "$", + "currency": "USD", + "defaultFractionDigits": 2, + "currencyCode": "USD" + }, + "cents": 125 + } + }, + "details": {} + }, + "legs": [ + { + "startTime": 1628083900000, + "endTime": 1628083979000, + "departureDelay": 0, + "arrivalDelay": 0, + "realTime": false, + "distance": 88.17900000000003, + "pathway": false, + "mode": "WALK", + "route": "", + "agencyTimeZoneOffset": -18000000, + "interlineWithPreviousLeg": false, + "from": { + "name": "1900 Main Street, Houston, TX, USA", + "lon": -95.370998, + "lat": 29.750144, + "departure": 1628083900000, + "orig": "1900 Main Street, Houston, TX, USA", + "vertexType": "NORMAL" + }, + "to": { + "name": "Travis St @ St Joseph Pkwy", + "stopId": "Houston:624", + "stopCode": "624", + "lon": -95.371177, + "lat": 29.750596, + "arrival": 1628083979000, + "departure": 1628083980000, + "stopIndex": 101, + "stopSequence": 102, + "vertexType": "TRANSIT", + "boardAlightType": "DEFAULT" + }, + "legGeometry": { + "points": "kqqtDvcbeQw@m@GLCBADCDABCDCFEHCBCFABHF", + "length": 14 + }, + "rentedBike": false, + "rentedCar": false, + "rentedVehicle": false, + "hailedCar": false, + "flexDrtAdvanceBookMin": 0.0, + "transitLeg": false, + "duration": 79.0, + "intermediateStops": [], + "steps": [ + { + "distance": 81.20200000000003, + "relativeDirection": "DEPART", + "streetName": "sidewalk", + "absoluteDirection": "NORTHEAST", + "stayOn": false, + "area": false, + "bogusName": true, + "lon": -95.37099129880164, + "lat": 29.750140100302744, + "elevation": [] + }, + { + "distance": 6.977, + "relativeDirection": "LEFT", + "streetName": "sidewalk", + "absoluteDirection": "SOUTHWEST", + "stayOn": true, + "area": false, + "bogusName": true, + "lon": -95.37113400000001, + "lat": 29.750646500000002, + "elevation": [] + } + ] + }, + { + "startTime": 1628083980000, + "endTime": 1628084160000, + "departureDelay": 0, + "arrivalDelay": 0, + "realTime": false, + "distance": 1423.885970658207, + "pathway": false, + "mode": "BUS", + "route": "082", + "agencyName": "Metropolitan Transit Authority of Harris County", + "agencyUrl": "http://www.ridemetro.org", + "agencyTimeZoneOffset": -18000000, + "routeColor": "004080", + "routeType": 3, + "routeId": "Houston:41336", + "routeTextColor": "FFFFFF", + "interlineWithPreviousLeg": false, + "tripShortName": "WHEIMER", + "tripBlockId": "1062307", + "headsign": "DOWNTOWN", + "agencyId": "HOU", + "tripId": "Houston:9129563", + "serviceDate": "20210804", + "from": { + "name": "Travis St @ St Joseph Pkwy", + "stopId": "Houston:624", + "stopCode": "624", + "lon": -95.371177, + "lat": 29.750596, + "arrival": 1628083979000, + "departure": 1628083980000, + "stopIndex": 101, + "stopSequence": 102, + "vertexType": "TRANSIT", + "boardAlightType": "DEFAULT" + }, + "to": { + "name": "Travis St @ Prairie St", + "stopId": "Houston:667", + "stopCode": "667", + "lon": -95.362814, + "lat": 29.761145, + "arrival": 1628084160000, + "departure": 1628084161000, + "stopIndex": 106, + "stopSequence": 107, + "vertexType": "TRANSIT", + "boardAlightType": "DEFAULT" + }, + "legGeometry": { + "points": "mtqtDhebeQWSyCwBsCuBuCwB{BcBYSsCsB_CcBSQwCyB}BaBSQwCsBsCuBaCgBSMsCyB{CwBiCiB", + "length": 20 + }, + "interStopGeometry": [ + { + "points": "mtqtDhebeQWSyCwBsCuBuCwB{BcB", + "length": 6 + }, + { + "points": "egrtDjvaeQYSsCsB_CcB", + "length": 4 + }, + { + "points": "sprtD~naeQSQwCyB}BaB", + "length": 4 + }, + { + "points": "}yrtDpgaeQSQwCsBsCuBaCgB", + "length": 5 + }, + { + "points": "_hstDl|`eQSMsCyB{CwBiCiB", + "length": 5 + } + ], + "alerts": [ + { + "alertDescriptionText": "", + "alertUrl": "https://www.ridemetro.org/Pages/Coronavirus.aspx", + "effectiveStartDate": 1625842020000, + "alertHeaderText": "Federal law requires anyone on the METRO system to wear a face mask. This includes rail stations, transit centers and bus stops. Exemptions are available for children under the age of two and for those with a disability defined by the ADA." + } + ], + "routeShortName": "082", + "routeLongName": "WESTHEIMER", + "rentedBike": false, + "rentedCar": false, + "rentedVehicle": false, + "hailedCar": false, + "flexDrtAdvanceBookMin": 0.0, + "transitLeg": true, + "duration": 180.0, + "intermediateStops": [ + { + "name": "Travis St @ Bell St", + "stopId": "Houston:628", + "stopCode": "628", + "lon": -95.368804, + "lat": 29.753604, + "arrival": 1628084031000, + "departure": 1628084031000, + "stopIndex": 102, + "stopSequence": 103, + "vertexType": "TRANSIT", + "boardAlightType": "DEFAULT" + }, + { + "name": "Travis St @ Polk St", + "stopId": "Houston:685", + "stopCode": "685", + "lon": -95.367596, + "lat": 29.755096, + "arrival": 1628084056000, + "departure": 1628084056000, + "stopIndex": 103, + "stopSequence": 104, + "vertexType": "TRANSIT", + "boardAlightType": "DEFAULT" + }, + { + "name": "Travis St @ Lamar St", + "stopId": "Houston:661", + "stopCode": "661", + "lon": -95.366423, + "lat": 29.756601, + "arrival": 1628084081000, + "departure": 1628084081000, + "stopIndex": 104, + "stopSequence": 105, + "vertexType": "TRANSIT", + "boardAlightType": "DEFAULT" + }, + { + "name": "Travis St @ Rusk St", + "stopId": "Houston:664", + "stopCode": "664", + "lon": -95.364659, + "lat": 29.758853, + "arrival": 1628084119000, + "departure": 1628084119000, + "stopIndex": 105, + "stopSequence": 106, + "vertexType": "TRANSIT", + "boardAlightType": "DEFAULT" + } + ], + "steps": [] + }, + { + "startTime": 1628084161000, + "endTime": 1628084292000, + "departureDelay": 0, + "arrivalDelay": 0, + "realTime": false, + "distance": 170.893, + "pathway": false, + "mode": "WALK", + "route": "", + "agencyTimeZoneOffset": -18000000, + "interlineWithPreviousLeg": false, + "from": { + "name": "Travis St @ Prairie St", + "stopId": "Houston:667", + "stopCode": "667", + "lon": -95.362814, + "lat": 29.761145, + "arrival": 1628084160000, + "departure": 1628084161000, + "stopIndex": 106, + "stopSequence": 107, + "vertexType": "TRANSIT", + "boardAlightType": "DEFAULT" + }, + "to": { + "name": "800 Congress, Houston, TX, USA", + "lon": -95.362178, + "lat": 29.76263, + "arrival": 1628084292000, + "orig": "800 Congress, Houston, TX, USA", + "vertexType": "NORMAL" + }, + "legGeometry": { + "points": "kvstD`q`eQSOgAw@y@m@IGMIKIcAu@", + "length": 8 + }, + "rentedBike": false, + "rentedCar": false, + "rentedVehicle": false, + "hailedCar": false, + "flexDrtAdvanceBookMin": 0.0, + "transitLeg": false, + "duration": 131.0, + "intermediateStops": [], + "steps": [ + { + "distance": 170.893, + "relativeDirection": "DEPART", + "streetName": "Travis Street", + "absoluteDirection": "NORTHEAST", + "stayOn": false, + "area": false, + "bogusName": false, + "lon": -95.36288624616279, + "lat": 29.761188019319103, + "elevation": [] + } + ] + } + ], + "tooSloped": false + } + ] + }, + "debugOutput": { + "precalculationTime": 35, + "pathCalculationTime": 32, + "pathTimes": [ + 10, + 9, + 13 + ], + "renderingTime": 0, + "totalTime": 67, + "timedOut": false + }, + "elevationMetadata": { + "ellipsoidToGeoidDifference": -26.094908498979883, + "geoidElevation": false + } +} \ No newline at end of file From 02370d136fcf75548f4f054e5d278370314adc3b Mon Sep 17 00:00:00 2001 From: binh-dam-ibigroup Date: Mon, 8 Sep 2025 11:26:52 -0400 Subject: [PATCH 02/11] test(a11y): Remove Itinerary OTP1 fields --- a11y/mocks/plan.json | 48 -------------------------------------------- 1 file changed, 48 deletions(-) diff --git a/a11y/mocks/plan.json b/a11y/mocks/plan.json index a74a3cab9..1d6fabc99 100644 --- a/a11y/mocks/plan.json +++ b/a11y/mocks/plan.json @@ -31,27 +31,11 @@ "startTime": 1628083300000, "endTime": 1628083692000, "walkTime": 210, - "transitTime": 180, "waitingTime": 2, "walkDistance": 259.1391641774315, - "walkLimitExceeded": false, "elevationLost": 0.0, "elevationGained": 0.0, "transfers": 0, - "fare": { - "fare": { - "regular": { - "currency": { - "symbol": "$", - "currency": "USD", - "defaultFractionDigits": 2, - "currencyCode": "USD" - }, - "cents": 125 - } - }, - "details": {} - }, "legs": [ { "startTime": 1628083300000, @@ -342,27 +326,11 @@ "startTime": 1628083218000, "endTime": 1628083733000, "walkTime": 156, - "transitTime": 357, "waitingTime": 2, "walkDistance": 182.0511194004663, - "walkLimitExceeded": false, "elevationLost": 0.0, "elevationGained": 0.0, "transfers": 0, - "fare": { - "fare": { - "regular": { - "currency": { - "symbol": "$", - "currency": "USD", - "defaultFractionDigits": 2, - "currencyCode": "USD" - }, - "cents": 200 - } - }, - "details": {} - }, "legs": [ { "startTime": 1628083218000, @@ -687,27 +655,11 @@ "startTime": 1628083900000, "endTime": 1628084292000, "walkTime": 210, - "transitTime": 180, "waitingTime": 2, "walkDistance": 259.1391641774315, - "walkLimitExceeded": false, "elevationLost": 0.0, "elevationGained": 0.0, "transfers": 0, - "fare": { - "fare": { - "regular": { - "currency": { - "symbol": "$", - "currency": "USD", - "defaultFractionDigits": 2, - "currencyCode": "USD" - }, - "cents": 125 - } - }, - "details": {} - }, "legs": [ { "startTime": 1628083900000, From 053ac87f666fc38f52674850a201af9e3cb3e29b Mon Sep 17 00:00:00 2001 From: binh-dam-ibigroup Date: Mon, 8 Sep 2025 12:23:38 -0400 Subject: [PATCH 03/11] test(a11y): Remove OTP1 leg fields --- a11y/mocks/plan.json | 36 ------------------------------------ 1 file changed, 36 deletions(-) diff --git a/a11y/mocks/plan.json b/a11y/mocks/plan.json index 1d6fabc99..6e26d721f 100644 --- a/a11y/mocks/plan.json +++ b/a11y/mocks/plan.json @@ -44,7 +44,6 @@ "arrivalDelay": 0, "realTime": false, "distance": 88.17900000000003, - "pathway": false, "mode": "WALK", "route": "", "agencyTimeZoneOffset": -18000000, @@ -75,9 +74,6 @@ "length": 14 }, "rentedBike": false, - "rentedCar": false, - "rentedVehicle": false, - "hailedCar": false, "flexDrtAdvanceBookMin": 0.0, "transitLeg": false, "duration": 79.0, @@ -116,7 +112,6 @@ "arrivalDelay": 0, "realTime": false, "distance": 1423.885970658207, - "pathway": false, "mode": "BUS", "route": "082", "agencyName": "Metropolitan Transit Authority of Harris County", @@ -196,9 +191,6 @@ "routeShortName": "082", "routeLongName": "WESTHEIMER", "rentedBike": false, - "rentedCar": false, - "rentedVehicle": false, - "hailedCar": false, "flexDrtAdvanceBookMin": 0.0, "transitLeg": true, "duration": 180.0, @@ -265,7 +257,6 @@ "arrivalDelay": 0, "realTime": false, "distance": 170.893, - "pathway": false, "mode": "WALK", "route": "", "agencyTimeZoneOffset": -18000000, @@ -296,9 +287,6 @@ "length": 8 }, "rentedBike": false, - "rentedCar": false, - "rentedVehicle": false, - "hailedCar": false, "flexDrtAdvanceBookMin": 0.0, "transitLeg": false, "duration": 131.0, @@ -339,7 +327,6 @@ "arrivalDelay": 0, "realTime": false, "distance": 111.22700000000003, - "pathway": false, "mode": "WALK", "route": "", "agencyTimeZoneOffset": -18000000, @@ -370,9 +357,6 @@ "length": 16 }, "rentedBike": false, - "rentedCar": false, - "rentedVehicle": false, - "hailedCar": false, "flexDrtAdvanceBookMin": 0.0, "transitLeg": false, "duration": 101.0, @@ -411,7 +395,6 @@ "arrivalDelay": 0, "realTime": false, "distance": 1524.458915954146, - "pathway": false, "mode": "BUS", "route": "249", "agencyName": "Metropolitan Transit Authority of Harris County", @@ -499,9 +482,6 @@ "routeShortName": "249", "routeLongName": "MONROE/FUQUA/EL DORADO/BAY AREA P&R", "rentedBike": false, - "rentedCar": false, - "rentedVehicle": false, - "hailedCar": false, "flexDrtAdvanceBookMin": 0.0, "transitLeg": true, "duration": 357.0, @@ -594,7 +574,6 @@ "arrivalDelay": 0, "realTime": false, "distance": 70.72300000000001, - "pathway": false, "mode": "WALK", "route": "", "agencyTimeZoneOffset": -18000000, @@ -625,9 +604,6 @@ "length": 5 }, "rentedBike": false, - "rentedCar": false, - "rentedVehicle": false, - "hailedCar": false, "flexDrtAdvanceBookMin": 0.0, "transitLeg": false, "duration": 55.0, @@ -668,7 +644,6 @@ "arrivalDelay": 0, "realTime": false, "distance": 88.17900000000003, - "pathway": false, "mode": "WALK", "route": "", "agencyTimeZoneOffset": -18000000, @@ -699,9 +674,6 @@ "length": 14 }, "rentedBike": false, - "rentedCar": false, - "rentedVehicle": false, - "hailedCar": false, "flexDrtAdvanceBookMin": 0.0, "transitLeg": false, "duration": 79.0, @@ -740,7 +712,6 @@ "arrivalDelay": 0, "realTime": false, "distance": 1423.885970658207, - "pathway": false, "mode": "BUS", "route": "082", "agencyName": "Metropolitan Transit Authority of Harris County", @@ -820,9 +791,6 @@ "routeShortName": "082", "routeLongName": "WESTHEIMER", "rentedBike": false, - "rentedCar": false, - "rentedVehicle": false, - "hailedCar": false, "flexDrtAdvanceBookMin": 0.0, "transitLeg": true, "duration": 180.0, @@ -889,7 +857,6 @@ "arrivalDelay": 0, "realTime": false, "distance": 170.893, - "pathway": false, "mode": "WALK", "route": "", "agencyTimeZoneOffset": -18000000, @@ -920,9 +887,6 @@ "length": 8 }, "rentedBike": false, - "rentedCar": false, - "rentedVehicle": false, - "hailedCar": false, "flexDrtAdvanceBookMin": 0.0, "transitLeg": false, "duration": 131.0, From 2150097586545fc07d592dfe82a374c22d975afb Mon Sep 17 00:00:00 2001 From: binh-dam-ibigroup Date: Mon, 8 Sep 2025 12:40:17 -0400 Subject: [PATCH 04/11] refactor(util/itinerary): Remove OTP1 rentedCar/hailedCar/rentedVehicle. --- __tests__/util/itinerary.ts | 29 +++++++++++++++---- lib/components/narrative/save-trip-button.tsx | 10 +++---- lib/util/itinerary.tsx | 16 ++-------- 3 files changed, 30 insertions(+), 25 deletions(-) diff --git a/__tests__/util/itinerary.ts b/__tests__/util/itinerary.ts index 1aded6e2b..232afd957 100644 --- a/__tests__/util/itinerary.ts +++ b/__tests__/util/itinerary.ts @@ -24,15 +24,34 @@ describe('util > itinerary', () => { } const rentalCarLeg = { mode: 'CAR_RENT', - rentedCar: true + // Note: OTP2 sets rentedBike to true for all rented vehicles, including rented cars. + rentedBike: true } const rentalMicromobilityLeg = { mode: 'MICROMOBILITY_RENT', - rentedVehicle: true + // Note: OTP2 sets rentedBike to true for all rented vehicles, including rented scooters. + rentedBike: true } const rideHailLeg = { - hailedCar: true, - mode: 'CAR_HAIL' + mode: 'CAR_HAIL', + rideHailingEstimate: { + arrival: 'PT4M', + maxPrice: { + amount: 19, + currency: { + code: 'USD' + } + }, + minPrice: { + amount: 17, + currency: { + code: 'USD' + } + }, + provider: { + id: 'ride-hail-platform' + } + } } const testCases = [ @@ -66,7 +85,7 @@ describe('util > itinerary', () => { legs: [walkLeg, rentalBikeLeg] }, title: - 'should be true for an itinerary without transit and without rentals.' + 'should be false for an itinerary without transit and with a rented bike.' }, { expected: false, diff --git a/lib/components/narrative/save-trip-button.tsx b/lib/components/narrative/save-trip-button.tsx index 9964e4ad0..ffbcc426e 100644 --- a/lib/components/narrative/save-trip-button.tsx +++ b/lib/components/narrative/save-trip-button.tsx @@ -1,6 +1,7 @@ import { Ban } from '@styled-icons/fa-solid/Ban' import { connect } from 'react-redux' import { FormattedMessage, useIntl } from 'react-intl' +import { Itinerary } from '@opentripplanner/types' import { Lock } from '@styled-icons/fa-solid/Lock' import { OverlayTrigger, Tooltip } from 'react-bootstrap' import { PlusCircle } from '@styled-icons/fa-solid/PlusCircle' @@ -10,16 +11,13 @@ import { AppReduxState } from '../../util/state-types' import { CREATE_TRIP_PATH } from '../../util/constants' import { getActiveItinerary } from '../../util/state' import { IconWithText } from '../util/styledIcon' -import { - itineraryCanBeMonitored, - ItineraryWithOtp1HailedCar -} from '../../util/itinerary' +import { itineraryCanBeMonitored } from '../../util/itinerary' import { PersistenceConfig } from '../../util/config-types' import { UnstyledLink } from '../user/styled' import { User } from '../user/types' interface Props { - itinerary?: ItineraryWithOtp1HailedCar + itinerary?: Itinerary loggedInUser?: User persistence?: PersistenceConfig } @@ -106,7 +104,7 @@ const SaveTripButton = ({ const mapStateToProps = (state: AppReduxState) => { const { persistence } = state.otp.config return { - itinerary: getActiveItinerary(state) as ItineraryWithOtp1HailedCar, + itinerary: getActiveItinerary(state) as Itinerary, loggedInUser: state.user.loggedInUser, persistence } diff --git a/lib/util/itinerary.tsx b/lib/util/itinerary.tsx index 1e355a481..85036750f 100644 --- a/lib/util/itinerary.tsx +++ b/lib/util/itinerary.tsx @@ -21,15 +21,6 @@ export interface ItineraryStartTime { realtime: boolean } -// FIXME: replace with OTP2 logic. -interface LegWithOtp1HailedCar extends Leg { - hailedCar?: boolean -} - -export interface ItineraryWithOtp1HailedCar extends Itinerary { - legs: LegWithOtp1HailedCar[] -} - interface OtpResponse { plan: { itineraries: Itinerary[] @@ -69,14 +60,11 @@ interface RelaxedFareProductSelector { * @returns true if an itinerary has no rental or ride hail leg (e.g. CAR_RENT, CAR_HAIL, BICYCLE_RENT, etc.). * (We use the corresponding fields returned by OTP to get transit legs and rental/ride hail legs.) */ -export function itineraryCanBeMonitored( - itinerary?: ItineraryWithOtp1HailedCar -): boolean { +export function itineraryCanBeMonitored(itinerary?: Itinerary): boolean { return ( !!itinerary?.legs && !itinerary.legs.some( - (leg: LegWithOtp1HailedCar) => - leg.rentedBike || leg.rentedCar || leg.rentedVehicle || leg.hailedCar + (leg: Leg) => leg.rentedBike || !!leg.rideHailingEstimate ) ) } From a97ef741e08da2387ccf03dfe95c40126e95ac2c Mon Sep 17 00:00:00 2001 From: binh-dam-ibigroup Date: Mon, 8 Sep 2025 13:39:55 -0400 Subject: [PATCH 05/11] refactor(util/itinerary): Remove OTP1 Leg.interstopGeometry --- a11y/mocks/plan.json | 74 ------------------------------------------ lib/util/itinerary.tsx | 10 ++---- 2 files changed, 3 insertions(+), 81 deletions(-) diff --git a/a11y/mocks/plan.json b/a11y/mocks/plan.json index 6e26d721f..e7e67941a 100644 --- a/a11y/mocks/plan.json +++ b/a11y/mocks/plan.json @@ -158,28 +158,6 @@ "points": "mtqtDhebeQWSyCwBsCuBuCwB{BcBYSsCsB_CcBSQwCyB}BaBSQwCsBsCuBaCgBSMsCyB{CwBiCiB", "length": 20 }, - "interStopGeometry": [ - { - "points": "mtqtDhebeQWSyCwBsCuBuCwB{BcB", - "length": 6 - }, - { - "points": "egrtDjvaeQYSsCsB_CcB", - "length": 4 - }, - { - "points": "sprtD~naeQSQwCyB}BaB", - "length": 4 - }, - { - "points": "}yrtDpgaeQSQwCsBsCuBaCgB", - "length": 5 - }, - { - "points": "_hstDl|`eQSMsCyB{CwBiCiB", - "length": 5 - } - ], "alerts": [ { "alertDescriptionText": "", @@ -441,36 +419,6 @@ "points": "utqtDxcbeQOZyCwBsCuByBaB[UuCwB{BaBWQsCuB}BcBYUqCsBcCcBSOsCuBaCgBSMsCyB_CaB[U_DyB}BeB", "length": 23 }, - "interStopGeometry": [ - { - "points": "utqtDxcbeQOZyCwBsCuByBaB", - "length": 5 - }, - { - "points": "mbrtDdzaeQ[UuCwB{BaB", - "length": 4 - }, - { - "points": "{krtDtraeQWQsCuB}BcB", - "length": 4 - }, - { - "points": "eurtDhkaeQYUqCsBcCcB", - "length": 4 - }, - { - "points": "u~rtDzcaeQSOsCuBaCgB", - "length": 4 - }, - { - "points": "_hstDl|`eQSMsCyB_CaB", - "length": 4 - }, - { - "points": "gqstDbu`eQ[U_DyB}BeB", - "length": 4 - } - ], "alerts": [ { "alertDescriptionText": "", @@ -758,28 +706,6 @@ "points": "mtqtDhebeQWSyCwBsCuBuCwB{BcBYSsCsB_CcBSQwCyB}BaBSQwCsBsCuBaCgBSMsCyB{CwBiCiB", "length": 20 }, - "interStopGeometry": [ - { - "points": "mtqtDhebeQWSyCwBsCuBuCwB{BcB", - "length": 6 - }, - { - "points": "egrtDjvaeQYSsCsB_CcB", - "length": 4 - }, - { - "points": "sprtD~naeQSQwCyB}BaB", - "length": 4 - }, - { - "points": "}yrtDpgaeQSQwCsBsCuBaCgB", - "length": 5 - }, - { - "points": "_hstDl|`eQSMsCyB{CwBiCiB", - "length": 5 - } - ], "alerts": [ { "alertDescriptionText": "", diff --git a/lib/util/itinerary.tsx b/lib/util/itinerary.tsx index 85036750f..cfcb2f184 100644 --- a/lib/util/itinerary.tsx +++ b/lib/util/itinerary.tsx @@ -160,14 +160,10 @@ export function sortStartTimes( } // Ignore certain keys that could add significant calculation time to hashing. -// The alerts are irrelevant, but the intermediateStops, interStopGeometry and +// The alerts are irrelevant, but the intermediateStops, legGeometry and // steps could have the legGeometry substitute as an equivalent hash value -const blackListedKeys = [ - 'alerts', - 'intermediateStops', - 'interStopGeometry', - 'steps' -] +const blackListedKeys = ['alerts', 'intermediateStops', 'legGeometry', 'steps'] + // make blackListedKeys into an object due to superior lookup performance const blackListedKeyLookup: Record = {} blackListedKeys.forEach((key) => { From 3a39d86dc960151111c4f06f4d344eec6c172333 Mon Sep 17 00:00:00 2001 From: binh-dam-ibigroup Date: Mon, 8 Sep 2025 15:13:21 -0400 Subject: [PATCH 06/11] refactor(util/itinerary): Remove unused Leg.serviceDate --- __tests__/util/itinerary.ts | 38 +++++++++++++++++-------------------- a11y/mocks/plan.json | 3 --- lib/util/itinerary.tsx | 12 ++---------- 3 files changed, 19 insertions(+), 34 deletions(-) diff --git a/__tests__/util/itinerary.ts b/__tests__/util/itinerary.ts index 232afd957..e3acccdcb 100644 --- a/__tests__/util/itinerary.ts +++ b/__tests__/util/itinerary.ts @@ -12,6 +12,11 @@ const bikeLeg = { mode: 'BICYCLE' } +const transitLeg = { + mode: 'BUS', + transitLeg: true +} + describe('util > itinerary', () => { describe('itineraryCanBeMonitored', () => { const transitLeg = { @@ -135,27 +140,16 @@ describe('util > itinerary', () => { }) }) describe('getItineraryDefaultMonitoredDays', () => { - const transitLegWeekday = { - mode: 'BUS', - serviceDate: '20210609', // Wednesday - transitLeg: true - } - const transitLegSaturday = { - mode: 'BUS', - serviceDate: '20210612', // Saturday - transitLeg: true - } - const transitLegSunday = { - mode: 'BUS', - serviceDate: '20210613', // Sunday - transitLeg: true - } + const THURSDAY_20210610_1218_EDT = 1623341891000 + const SATURDAY_20210612_1218_EDT = 1623514691000 + const SUNDAY_20210613_1218_EDT = 1623601091000 const testCases = [ { expected: WEEKDAYS, itinerary: { - legs: [walkLeg, transitLegWeekday] + legs: [walkLeg, transitLeg], + startTime: THURSDAY_20210610_1218_EDT }, title: "should be ['monday' thru 'friday'] for an itinerary starting on a weekday." @@ -163,7 +157,8 @@ describe('util > itinerary', () => { { expected: WEEKEND_DAYS, itinerary: { - legs: [walkLeg, transitLegSaturday] + legs: [walkLeg, transitLeg], + startTime: SATURDAY_20210612_1218_EDT }, title: "should be ['saturday', 'sunday'] for an itinerary starting on a Saturday." @@ -171,7 +166,8 @@ describe('util > itinerary', () => { { expected: WEEKEND_DAYS, itinerary: { - legs: [walkLeg, transitLegSunday] + legs: [walkLeg, transitLeg], + startTime: SUNDAY_20210613_1218_EDT }, title: "should be ['saturday', 'sunday'] for an itinerary starting on a Sunday." @@ -180,7 +176,7 @@ describe('util > itinerary', () => { expected: WEEKDAYS, itinerary: { legs: [walkLeg], - startTime: 1623341891000 // Thursday 2021-06-10 12:18 pm EDT + startTime: THURSDAY_20210610_1218_EDT }, title: "should be ['monday' thru 'friday'] for an itinerary without transit starting on a weekday (fallback case)." @@ -189,7 +185,7 @@ describe('util > itinerary', () => { expected: WEEKEND_DAYS, itinerary: { legs: [walkLeg], - startTime: 1623514691000 // Saturday 2021-06-12 12:18 pm EDT + startTime: SATURDAY_20210612_1218_EDT }, title: "should be ['saturday', 'sunday'] for an itinerary without transit starting on a Saturday (fallback case)." @@ -198,7 +194,7 @@ describe('util > itinerary', () => { expected: WEEKEND_DAYS, itinerary: { legs: [walkLeg], - startTime: 1623601091000 // Sunday 2021-06-13 12:18 pm EDT + startTime: SUNDAY_20210613_1218_EDT }, title: "should be ['saturday', 'sunday'] for an itinerary without transit starting on a Sunday (fallback case)." diff --git a/a11y/mocks/plan.json b/a11y/mocks/plan.json index e7e67941a..3e2bb89e1 100644 --- a/a11y/mocks/plan.json +++ b/a11y/mocks/plan.json @@ -127,7 +127,6 @@ "headsign": "DOWNTOWN", "agencyId": "HOU", "tripId": "Houston:9129562", - "serviceDate": "20210804", "from": { "name": "Travis St @ St Joseph Pkwy", "stopId": "Houston:624", @@ -388,7 +387,6 @@ "headsign": "DOWNTOWN / VIA EASTWOOD TC", "agencyId": "HOU", "tripId": "Houston:9135066", - "serviceDate": "20210804", "from": { "name": "St Joseph Pkwy @ Travis St", "stopId": "Houston:310", @@ -675,7 +673,6 @@ "headsign": "DOWNTOWN", "agencyId": "HOU", "tripId": "Houston:9129563", - "serviceDate": "20210804", "from": { "name": "Travis St @ St Joseph Pkwy", "stopId": "Houston:624", diff --git a/lib/util/itinerary.tsx b/lib/util/itinerary.tsx index cfcb2f184..5a13443f7 100644 --- a/lib/util/itinerary.tsx +++ b/lib/util/itinerary.tsx @@ -6,7 +6,7 @@ import { Place } from '@opentripplanner/types' import { isTransitLeg } from '@opentripplanner/core-utils/lib/itinerary' -import { toDate, utcToZonedTime } from 'date-fns-tz' +import { utcToZonedTime } from 'date-fns-tz' import coreUtils from '@opentripplanner/core-utils' import hash from 'object-hash' import memoize from 'lodash.memoize' @@ -101,15 +101,7 @@ export function getItineraryDefaultMonitoredDays( itinerary: Itinerary, timeZone = coreUtils.time.getUserTimezone() ): string[] { - const firstTransitLeg = getFirstTransitLeg(itinerary) - // firstTransitLeg should be non-null because only transit trips can be monitored at this time. - // - using serviceDate covers legs that start past midnight. - // - The format of serviceDate can either be 'yyyyMMdd' (OTP v1) or 'yyyy-MM-dd' (OTP v2) - // and both formats are correctly handled by toDate from date-fns-tz. - const startDate = firstTransitLeg - ? toDate(firstTransitLeg.serviceDate || '', { timeZone }) - : utcToZonedTime(new Date(itinerary.startTime), timeZone) - + const startDate = utcToZonedTime(new Date(itinerary.startTime), timeZone) const dayOfWeek = startDate.getDay() return dayOfWeek === 0 || dayOfWeek === 6 ? WEEKEND_DAYS : WEEKDAYS } From 26f3a65255bea6cdda33aa74b02fc9003598c4d8 Mon Sep 17 00:00:00 2001 From: binh-dam-ibigroup Date: Mon, 8 Sep 2025 15:33:23 -0400 Subject: [PATCH 07/11] refactor(util/itinerary): Remove OTP1 getFirstStopId --- lib/actions/plan.js | 11 +---------- lib/util/itinerary.tsx | 15 --------------- 2 files changed, 1 insertion(+), 25 deletions(-) diff --git a/lib/actions/plan.js b/lib/actions/plan.js index 9e5d6715c..b22151585 100644 --- a/lib/actions/plan.js +++ b/lib/actions/plan.js @@ -6,7 +6,6 @@ import { import { toDate, utcToZonedTime } from 'date-fns-tz' import { getActiveItineraries, getActiveItinerary } from '../util/state' -import { getFirstStopId } from '../util/itinerary' import { getServiceStart, SERVICE_BREAK } from '../util/api' import { routingQuery } from './api' @@ -41,20 +40,12 @@ function getActiveItineraryOrFirstFound(state) { * Shifts the planning start/end date/time to the specified values. */ function shiftPlan(departArrive, zonedDate, time, itinerary) { - return function (dispatch, getState) { - const state = getState() - const { api } = state.otp.config + return function (dispatch) { const params = { date: format(zonedDate, OTP_API_DATE_FORMAT), departArrive, time } - if (!api?.v2) { - if (!itinerary) { - itinerary = getActiveItineraryOrFirstFound(state) - } - params.startTransitStopId = getFirstStopId(itinerary) - } dispatch(updateParamsAndPlan(params)) } } diff --git a/lib/util/itinerary.tsx b/lib/util/itinerary.tsx index 5a13443f7..42aa17faa 100644 --- a/lib/util/itinerary.tsx +++ b/lib/util/itinerary.tsx @@ -73,21 +73,6 @@ export function getMinutesUntilItineraryStart(itinerary: Itinerary): number { return differenceInMinutes(new Date(itinerary.startTime), new Date()) } -/** - * Gets the first transit leg of the given itinerary, or null if none found. - */ -function getFirstTransitLeg(itinerary: Itinerary) { - return itinerary?.legs?.find(isTransitLeg) -} - -/** - * Get the first stop ID from the itinerary in the underscore format required by - * the startTransitStopId query param (e.g., TRIMET_12345 instead of TRIMET:12345). - */ -export function getFirstStopId(itinerary: Itinerary): string | undefined { - return getFirstTransitLeg(itinerary)?.from.stopId?.replace(':', '_') -} - /** * Returns the set of monitored days that will be initially shown to the user * for the given itinerary. From 2e0f0bd72d1aa15c11e36a09563d1a3a8ca3141b Mon Sep 17 00:00:00 2001 From: binh-dam-ibigroup Date: Mon, 8 Sep 2025 15:49:49 -0400 Subject: [PATCH 08/11] test: Remove unused arrivalStopTime, departureStopTime fields --- percy/mock.har | 10 +++--- percy/mocks/PlanResponseBusSubwayTram.json | 42 ---------------------- 2 files changed, 5 insertions(+), 47 deletions(-) diff --git a/percy/mock.har b/percy/mock.har index 1301ebc89..2ea0f9693 100644 --- a/percy/mock.har +++ b/percy/mock.har @@ -17,7 +17,7 @@ "bodySize": 5152, "postData": { "mimeType": "application/json", - "text": "{\"query\":\"query Plan($fromPlace: String!, $toPlace: String!, $modes: [TransportMode], $time: String, $date: String, $wheelchair: Boolean, $bikeReluctance: Float, $carReluctance: Float, $walkReluctance: Float, $arriveBy: Boolean, $preferred: InputPreferred, $unpreferred: InputUnpreferred, $banned: InputBanned, $numItineraries: Int) {\\n plan(\\n arriveBy: $arriveBy\\n banned: $banned\\n bikeReluctance: $bikeReluctance\\n carReluctance: $carReluctance\\n date: $date\\n fromPlace: $fromPlace\\n locale: \\\"en\\\"\\n numItineraries: $numItineraries\\n preferred: $preferred\\n time: $time\\n toPlace: $toPlace\\n transportModes: $modes\\n unpreferred: $unpreferred\\n walkReluctance: $walkReluctance\\n wheelchair: $wheelchair\\n ) {\\n itineraries {\\n accessibilityScore\\n duration\\n endTime\\n legs {\\n accessibilityScore\\n agency {\\n alerts {\\n alertDescriptionText\\n alertHeaderText\\n alertUrl\\n effectiveStartDate\\n id\\n }\\n id\\n name\\n timezone\\n url\\n }\\n arrivalDelay\\n departureDelay\\n distance\\n dropoffType\\n duration\\n endTime\\n fareProducts {\\n id\\n product {\\n __typename\\n id\\n medium {\\n id\\n name\\n }\\n name\\n riderCategory {\\n id\\n name\\n }\\n ... on DefaultFareProduct {\\n price {\\n amount\\n currency {\\n code\\n digits\\n }\\n }\\n }\\n }\\n }\\n from {\\n lat\\n lon\\n name\\n rentalVehicle {\\n id\\n network\\n }\\n stop {\\n alerts {\\n alertDescriptionText\\n alertHeaderText\\n alertUrl\\n effectiveStartDate\\n id\\n }\\n code\\n gtfsId\\n id\\n }\\n vertexType\\n }\\n interlineWithPreviousLeg\\n intermediateStops {\\n lat\\n locationType\\n lon\\n name\\n stopCode: code\\n stopId: id\\n }\\n legGeometry {\\n length\\n points\\n }\\n mode\\n pickupBookingInfo {\\n earliestBookingTime {\\n daysPrior\\n }\\n }\\n pickupType\\n realTime\\n realtimeState\\n rentedBike\\n rideHailingEstimate {\\n arrival\\n maxPrice {\\n amount\\n currency {\\n code\\n }\\n }\\n minPrice {\\n amount\\n currency {\\n code\\n }\\n }\\n provider {\\n id\\n }\\n }\\n route {\\n alerts {\\n alertDescriptionText\\n alertHeaderText\\n alertUrl\\n effectiveStartDate\\n id\\n }\\n color\\n id\\n longName\\n shortName\\n textColor\\n type\\n }\\n startTime\\n steps {\\n absoluteDirection\\n alerts {\\n alertDescriptionText\\n alertHeaderText\\n alertUrl\\n effectiveStartDate\\n id\\n }\\n area\\n distance\\n elevationProfile {\\n distance\\n elevation\\n }\\n lat\\n lon\\n relativeDirection\\n stayOn\\n streetName\\n }\\n to {\\n lat\\n lon\\n name\\n rentalVehicle {\\n id\\n network\\n }\\n stop {\\n alerts {\\n alertDescriptionText\\n alertHeaderText\\n alertUrl\\n effectiveStartDate\\n id\\n }\\n code\\n gtfsId\\n id\\n }\\n vertexType\\n }\\n transitLeg\\n trip {\\n arrivalStoptime {\\n stop {\\n gtfsId\\n id\\n }\\n stopPosition\\n }\\n departureStoptime {\\n stop {\\n gtfsId\\n id\\n }\\n stopPosition\\n }\\n gtfsId\\n id\\n tripHeadsign\\n }\\n }\\n startTime\\n waitingTime\\n walkTime\\n }\\n routingErrors {\\n code\\n description\\n inputField\\n }\\n }\\n}\",\"variables\":{\"arriveBy\":false,\"banned\":{},\"bikeReluctance\":3,\"carReluctance\":2,\"date\":\"2023-08-09\",\"fromPlace\":\"South Prado Northeast, Atlanta, GA, USA::33.78946214120528,-84.37663414886111}\",\"modes\":[{\"mode\":\"BICYCLE\"}],\"numItineraries\":3,\"time\":\"17:56\",\"toPlace\":\"1 Copenhill Avenue NE, Atlanta, GA, USA::33.767060728439574,-84.35749390533111}\",\"walkReluctance\":3,\"wheelchair\":false}}" + "text": "{\"query\":\"query Plan($fromPlace: String!, $toPlace: String!, $modes: [TransportMode], $time: String, $date: String, $wheelchair: Boolean, $bikeReluctance: Float, $carReluctance: Float, $walkReluctance: Float, $arriveBy: Boolean, $preferred: InputPreferred, $unpreferred: InputUnpreferred, $banned: InputBanned, $numItineraries: Int) {\\n plan(\\n arriveBy: $arriveBy\\n banned: $banned\\n bikeReluctance: $bikeReluctance\\n carReluctance: $carReluctance\\n date: $date\\n fromPlace: $fromPlace\\n locale: \\\"en\\\"\\n numItineraries: $numItineraries\\n preferred: $preferred\\n time: $time\\n toPlace: $toPlace\\n transportModes: $modes\\n unpreferred: $unpreferred\\n walkReluctance: $walkReluctance\\n wheelchair: $wheelchair\\n ) {\\n itineraries {\\n accessibilityScore\\n duration\\n endTime\\n legs {\\n accessibilityScore\\n agency {\\n alerts {\\n alertDescriptionText\\n alertHeaderText\\n alertUrl\\n effectiveStartDate\\n id\\n }\\n id\\n name\\n timezone\\n url\\n }\\n arrivalDelay\\n departureDelay\\n distance\\n dropoffType\\n duration\\n endTime\\n fareProducts {\\n id\\n product {\\n __typename\\n id\\n medium {\\n id\\n name\\n }\\n name\\n riderCategory {\\n id\\n name\\n }\\n ... on DefaultFareProduct {\\n price {\\n amount\\n currency {\\n code\\n digits\\n }\\n }\\n }\\n }\\n }\\n from {\\n lat\\n lon\\n name\\n rentalVehicle {\\n id\\n network\\n }\\n stop {\\n alerts {\\n alertDescriptionText\\n alertHeaderText\\n alertUrl\\n effectiveStartDate\\n id\\n }\\n code\\n gtfsId\\n id\\n }\\n vertexType\\n }\\n interlineWithPreviousLeg\\n intermediateStops {\\n lat\\n locationType\\n lon\\n name\\n stopCode: code\\n stopId: id\\n }\\n legGeometry {\\n length\\n points\\n }\\n mode\\n pickupBookingInfo {\\n earliestBookingTime {\\n daysPrior\\n }\\n }\\n pickupType\\n realTime\\n realtimeState\\n rentedBike\\n rideHailingEstimate {\\n arrival\\n maxPrice {\\n amount\\n currency {\\n code\\n }\\n }\\n minPrice {\\n amount\\n currency {\\n code\\n }\\n }\\n provider {\\n id\\n }\\n }\\n route {\\n alerts {\\n alertDescriptionText\\n alertHeaderText\\n alertUrl\\n effectiveStartDate\\n id\\n }\\n color\\n id\\n longName\\n shortName\\n textColor\\n type\\n }\\n startTime\\n steps {\\n absoluteDirection\\n alerts {\\n alertDescriptionText\\n alertHeaderText\\n alertUrl\\n effectiveStartDate\\n id\\n }\\n area\\n distance\\n elevationProfile {\\n distance\\n elevation\\n }\\n lat\\n lon\\n relativeDirection\\n stayOn\\n streetName\\n }\\n to {\\n lat\\n lon\\n name\\n rentalVehicle {\\n id\\n network\\n }\\n stop {\\n alerts {\\n alertDescriptionText\\n alertHeaderText\\n alertUrl\\n effectiveStartDate\\n id\\n }\\n code\\n gtfsId\\n id\\n }\\n vertexType\\n }\\n transitLeg\\n trip {gtfsId\\n id\\n tripHeadsign\\n }\\n }\\n startTime\\n waitingTime\\n walkTime\\n }\\n routingErrors {\\n code\\n description\\n inputField\\n }\\n }\\n}\",\"variables\":{\"arriveBy\":false,\"banned\":{},\"bikeReluctance\":3,\"carReluctance\":2,\"date\":\"2023-08-09\",\"fromPlace\":\"South Prado Northeast, Atlanta, GA, USA::33.78946214120528,-84.37663414886111}\",\"modes\":[{\"mode\":\"BICYCLE\"}],\"numItineraries\":3,\"time\":\"17:56\",\"toPlace\":\"1 Copenhill Avenue NE, Atlanta, GA, USA::33.767060728439574,-84.35749390533111}\",\"walkReluctance\":3,\"wheelchair\":false}}" } }, "response": { @@ -58,7 +58,7 @@ "bodySize": 5152, "postData": { "mimeType": "application/json", - "text": "{\"query\":\"query Plan($fromPlace: String!, $toPlace: String!, $modes: [TransportMode], $time: String, $date: String, $wheelchair: Boolean, $bikeReluctance: Float, $carReluctance: Float, $walkReluctance: Float, $arriveBy: Boolean, $preferred: InputPreferred, $unpreferred: InputUnpreferred, $banned: InputBanned, $numItineraries: Int) {\\n plan(\\n arriveBy: $arriveBy\\n banned: $banned\\n bikeReluctance: $bikeReluctance\\n carReluctance: $carReluctance\\n date: $date\\n fromPlace: $fromPlace\\n locale: \\\"en\\\"\\n numItineraries: $numItineraries\\n preferred: $preferred\\n time: $time\\n toPlace: $toPlace\\n transportModes: $modes\\n unpreferred: $unpreferred\\n walkReluctance: $walkReluctance\\n wheelchair: $wheelchair\\n ) {\\n itineraries {\\n accessibilityScore\\n duration\\n endTime\\n legs {\\n accessibilityScore\\n agency {\\n alerts {\\n alertDescriptionText\\n alertHeaderText\\n alertUrl\\n effectiveStartDate\\n id\\n }\\n id\\n name\\n timezone\\n url\\n }\\n arrivalDelay\\n departureDelay\\n distance\\n dropoffType\\n duration\\n endTime\\n fareProducts {\\n id\\n product {\\n __typename\\n id\\n medium {\\n id\\n name\\n }\\n name\\n riderCategory {\\n id\\n name\\n }\\n ... on DefaultFareProduct {\\n price {\\n amount\\n currency {\\n code\\n digits\\n }\\n }\\n }\\n }\\n }\\n from {\\n lat\\n lon\\n name\\n rentalVehicle {\\n id\\n network\\n }\\n stop {\\n alerts {\\n alertDescriptionText\\n alertHeaderText\\n alertUrl\\n effectiveStartDate\\n id\\n }\\n code\\n gtfsId\\n id\\n }\\n vertexType\\n }\\n interlineWithPreviousLeg\\n intermediateStops {\\n lat\\n locationType\\n lon\\n name\\n stopCode: code\\n stopId: id\\n }\\n legGeometry {\\n length\\n points\\n }\\n mode\\n pickupBookingInfo {\\n earliestBookingTime {\\n daysPrior\\n }\\n }\\n pickupType\\n realTime\\n realtimeState\\n rentedBike\\n rideHailingEstimate {\\n arrival\\n maxPrice {\\n amount\\n currency {\\n code\\n }\\n }\\n minPrice {\\n amount\\n currency {\\n code\\n }\\n }\\n provider {\\n id\\n }\\n }\\n route {\\n alerts {\\n alertDescriptionText\\n alertHeaderText\\n alertUrl\\n effectiveStartDate\\n id\\n }\\n color\\n id\\n longName\\n shortName\\n textColor\\n type\\n }\\n startTime\\n steps {\\n absoluteDirection\\n alerts {\\n alertDescriptionText\\n alertHeaderText\\n alertUrl\\n effectiveStartDate\\n id\\n }\\n area\\n distance\\n elevationProfile {\\n distance\\n elevation\\n }\\n lat\\n lon\\n relativeDirection\\n stayOn\\n streetName\\n }\\n to {\\n lat\\n lon\\n name\\n rentalVehicle {\\n id\\n network\\n }\\n stop {\\n alerts {\\n alertDescriptionText\\n alertHeaderText\\n alertUrl\\n effectiveStartDate\\n id\\n }\\n code\\n gtfsId\\n id\\n }\\n vertexType\\n }\\n transitLeg\\n trip {\\n arrivalStoptime {\\n stop {\\n gtfsId\\n id\\n }\\n stopPosition\\n }\\n departureStoptime {\\n stop {\\n gtfsId\\n id\\n }\\n stopPosition\\n }\\n gtfsId\\n id\\n tripHeadsign\\n }\\n }\\n startTime\\n waitingTime\\n walkTime\\n }\\n routingErrors {\\n code\\n description\\n inputField\\n }\\n }\\n}\",\"variables\":{\"arriveBy\":false,\"banned\":{},\"bikeReluctance\":3,\"carReluctance\":2,\"date\":\"2023-08-09\",\"fromPlace\":\"South Prado Northeast, Atlanta, GA, USA::33.78946214120528,-84.37663414886111}\",\"modes\":[{\"mode\":\"BICYCLE\"}],\"numItineraries\":3,\"time\":\"17:56\",\"toPlace\":\"1 Copenhill Avenue NE, Atlanta, GA, USA::33.767060728439574,-84.35749390533111}\",\"walkReluctance\":3,\"wheelchair\":false}}" + "text": "{\"query\":\"query Plan($fromPlace: String!, $toPlace: String!, $modes: [TransportMode], $time: String, $date: String, $wheelchair: Boolean, $bikeReluctance: Float, $carReluctance: Float, $walkReluctance: Float, $arriveBy: Boolean, $preferred: InputPreferred, $unpreferred: InputUnpreferred, $banned: InputBanned, $numItineraries: Int) {\\n plan(\\n arriveBy: $arriveBy\\n banned: $banned\\n bikeReluctance: $bikeReluctance\\n carReluctance: $carReluctance\\n date: $date\\n fromPlace: $fromPlace\\n locale: \\\"en\\\"\\n numItineraries: $numItineraries\\n preferred: $preferred\\n time: $time\\n toPlace: $toPlace\\n transportModes: $modes\\n unpreferred: $unpreferred\\n walkReluctance: $walkReluctance\\n wheelchair: $wheelchair\\n ) {\\n itineraries {\\n accessibilityScore\\n duration\\n endTime\\n legs {\\n accessibilityScore\\n agency {\\n alerts {\\n alertDescriptionText\\n alertHeaderText\\n alertUrl\\n effectiveStartDate\\n id\\n }\\n id\\n name\\n timezone\\n url\\n }\\n arrivalDelay\\n departureDelay\\n distance\\n dropoffType\\n duration\\n endTime\\n fareProducts {\\n id\\n product {\\n __typename\\n id\\n medium {\\n id\\n name\\n }\\n name\\n riderCategory {\\n id\\n name\\n }\\n ... on DefaultFareProduct {\\n price {\\n amount\\n currency {\\n code\\n digits\\n }\\n }\\n }\\n }\\n }\\n from {\\n lat\\n lon\\n name\\n rentalVehicle {\\n id\\n network\\n }\\n stop {\\n alerts {\\n alertDescriptionText\\n alertHeaderText\\n alertUrl\\n effectiveStartDate\\n id\\n }\\n code\\n gtfsId\\n id\\n }\\n vertexType\\n }\\n interlineWithPreviousLeg\\n intermediateStops {\\n lat\\n locationType\\n lon\\n name\\n stopCode: code\\n stopId: id\\n }\\n legGeometry {\\n length\\n points\\n }\\n mode\\n pickupBookingInfo {\\n earliestBookingTime {\\n daysPrior\\n }\\n }\\n pickupType\\n realTime\\n realtimeState\\n rentedBike\\n rideHailingEstimate {\\n arrival\\n maxPrice {\\n amount\\n currency {\\n code\\n }\\n }\\n minPrice {\\n amount\\n currency {\\n code\\n }\\n }\\n provider {\\n id\\n }\\n }\\n route {\\n alerts {\\n alertDescriptionText\\n alertHeaderText\\n alertUrl\\n effectiveStartDate\\n id\\n }\\n color\\n id\\n longName\\n shortName\\n textColor\\n type\\n }\\n startTime\\n steps {\\n absoluteDirection\\n alerts {\\n alertDescriptionText\\n alertHeaderText\\n alertUrl\\n effectiveStartDate\\n id\\n }\\n area\\n distance\\n elevationProfile {\\n distance\\n elevation\\n }\\n lat\\n lon\\n relativeDirection\\n stayOn\\n streetName\\n }\\n to {\\n lat\\n lon\\n name\\n rentalVehicle {\\n id\\n network\\n }\\n stop {\\n alerts {\\n alertDescriptionText\\n alertHeaderText\\n alertUrl\\n effectiveStartDate\\n id\\n }\\n code\\n gtfsId\\n id\\n }\\n vertexType\\n }\\n transitLeg\\n trip {gtfsId\\n id\\n tripHeadsign\\n }\\n }\\n startTime\\n waitingTime\\n walkTime\\n }\\n routingErrors {\\n code\\n description\\n inputField\\n }\\n }\\n}\",\"variables\":{\"arriveBy\":false,\"banned\":{},\"bikeReluctance\":3,\"carReluctance\":2,\"date\":\"2023-08-09\",\"fromPlace\":\"South Prado Northeast, Atlanta, GA, USA::33.78946214120528,-84.37663414886111}\",\"modes\":[{\"mode\":\"BICYCLE\"}],\"numItineraries\":3,\"time\":\"17:56\",\"toPlace\":\"1 Copenhill Avenue NE, Atlanta, GA, USA::33.767060728439574,-84.35749390533111}\",\"walkReluctance\":3,\"wheelchair\":false}}" } }, "response": { @@ -99,7 +99,7 @@ "bodySize": 5127, "postData": { "mimeType": "application/json", - "text": "{\"query\":\"query Plan($fromPlace: String!, $toPlace: String!, $modes: [TransportMode], $time: String, $date: String, $wheelchair: Boolean, $bikeReluctance: Float, $carReluctance: Float, $walkReluctance: Float, $arriveBy: Boolean, $preferred: InputPreferred, $unpreferred: InputUnpreferred, $banned: InputBanned, $numItineraries: Int) {\\n plan(\\n arriveBy: $arriveBy\\n banned: $banned\\n bikeReluctance: $bikeReluctance\\n carReluctance: $carReluctance\\n date: $date\\n fromPlace: $fromPlace\\n locale: \\\"en\\\"\\n numItineraries: $numItineraries\\n preferred: $preferred\\n time: $time\\n toPlace: $toPlace\\n transportModes: $modes\\n unpreferred: $unpreferred\\n walkReluctance: $walkReluctance\\n wheelchair: $wheelchair\\n ) {\\n itineraries {\\n accessibilityScore\\n duration\\n endTime\\n legs {\\n accessibilityScore\\n agency {\\n alerts {\\n alertDescriptionText\\n alertHeaderText\\n alertUrl\\n effectiveStartDate\\n id\\n }\\n id\\n name\\n timezone\\n url\\n }\\n arrivalDelay\\n departureDelay\\n distance\\n dropoffType\\n duration\\n endTime\\n fareProducts {\\n id\\n product {\\n __typename\\n id\\n medium {\\n id\\n name\\n }\\n name\\n riderCategory {\\n id\\n name\\n }\\n ... on DefaultFareProduct {\\n price {\\n amount\\n currency {\\n code\\n digits\\n }\\n }\\n }\\n }\\n }\\n from {\\n lat\\n lon\\n name\\n rentalVehicle {\\n id\\n network\\n }\\n stop {\\n alerts {\\n alertDescriptionText\\n alertHeaderText\\n alertUrl\\n effectiveStartDate\\n id\\n }\\n code\\n gtfsId\\n id\\n }\\n vertexType\\n }\\n interlineWithPreviousLeg\\n intermediateStops {\\n lat\\n locationType\\n lon\\n name\\n stopCode: code\\n stopId: id\\n }\\n legGeometry {\\n length\\n points\\n }\\n mode\\n pickupBookingInfo {\\n earliestBookingTime {\\n daysPrior\\n }\\n }\\n pickupType\\n realTime\\n realtimeState\\n rentedBike\\n rideHailingEstimate {\\n arrival\\n maxPrice {\\n amount\\n currency {\\n code\\n }\\n }\\n minPrice {\\n amount\\n currency {\\n code\\n }\\n }\\n provider {\\n id\\n }\\n }\\n route {\\n alerts {\\n alertDescriptionText\\n alertHeaderText\\n alertUrl\\n effectiveStartDate\\n id\\n }\\n color\\n id\\n longName\\n shortName\\n textColor\\n type\\n }\\n startTime\\n steps {\\n absoluteDirection\\n alerts {\\n alertDescriptionText\\n alertHeaderText\\n alertUrl\\n effectiveStartDate\\n id\\n }\\n area\\n distance\\n elevationProfile {\\n distance\\n elevation\\n }\\n lat\\n lon\\n relativeDirection\\n stayOn\\n streetName\\n }\\n to {\\n lat\\n lon\\n name\\n rentalVehicle {\\n id\\n network\\n }\\n stop {\\n alerts {\\n alertDescriptionText\\n alertHeaderText\\n alertUrl\\n effectiveStartDate\\n id\\n }\\n code\\n gtfsId\\n id\\n }\\n vertexType\\n }\\n transitLeg\\n trip {\\n arrivalStoptime {\\n stop {\\n gtfsId\\n id\\n }\\n stopPosition\\n }\\n departureStoptime {\\n stop {\\n gtfsId\\n id\\n }\\n stopPosition\\n }\\n gtfsId\\n id\\n tripHeadsign\\n }\\n }\\n startTime\\n waitingTime\\n walkTime\\n }\\n routingErrors {\\n code\\n description\\n inputField\\n }\\n }\\n}\",\"variables\":{\"arriveBy\":false,\"banned\":{},\"bikeReluctance\":3,\"carReluctance\":2,\"date\":\"2023-08-03\",\"fromPlace\":\"Opus Music Store, Decatur, GA::33.77505,-84.300178}\",\"modes\":[{\"mode\":\"BUS\"},{\"mode\":\"SUBWAY\"},{\"mode\":\"TRAM\"}],\"numItineraries\":3,\"time\":\"16:49\",\"toPlace\":\"Five Points Station (908981)::33.753837,-84.391397}\",\"walkReluctance\":3,\"wheelchair\":false}}" + "text": "{\"query\":\"query Plan($fromPlace: String!, $toPlace: String!, $modes: [TransportMode], $time: String, $date: String, $wheelchair: Boolean, $bikeReluctance: Float, $carReluctance: Float, $walkReluctance: Float, $arriveBy: Boolean, $preferred: InputPreferred, $unpreferred: InputUnpreferred, $banned: InputBanned, $numItineraries: Int) {\\n plan(\\n arriveBy: $arriveBy\\n banned: $banned\\n bikeReluctance: $bikeReluctance\\n carReluctance: $carReluctance\\n date: $date\\n fromPlace: $fromPlace\\n locale: \\\"en\\\"\\n numItineraries: $numItineraries\\n preferred: $preferred\\n time: $time\\n toPlace: $toPlace\\n transportModes: $modes\\n unpreferred: $unpreferred\\n walkReluctance: $walkReluctance\\n wheelchair: $wheelchair\\n ) {\\n itineraries {\\n accessibilityScore\\n duration\\n endTime\\n legs {\\n accessibilityScore\\n agency {\\n alerts {\\n alertDescriptionText\\n alertHeaderText\\n alertUrl\\n effectiveStartDate\\n id\\n }\\n id\\n name\\n timezone\\n url\\n }\\n arrivalDelay\\n departureDelay\\n distance\\n dropoffType\\n duration\\n endTime\\n fareProducts {\\n id\\n product {\\n __typename\\n id\\n medium {\\n id\\n name\\n }\\n name\\n riderCategory {\\n id\\n name\\n }\\n ... on DefaultFareProduct {\\n price {\\n amount\\n currency {\\n code\\n digits\\n }\\n }\\n }\\n }\\n }\\n from {\\n lat\\n lon\\n name\\n rentalVehicle {\\n id\\n network\\n }\\n stop {\\n alerts {\\n alertDescriptionText\\n alertHeaderText\\n alertUrl\\n effectiveStartDate\\n id\\n }\\n code\\n gtfsId\\n id\\n }\\n vertexType\\n }\\n interlineWithPreviousLeg\\n intermediateStops {\\n lat\\n locationType\\n lon\\n name\\n stopCode: code\\n stopId: id\\n }\\n legGeometry {\\n length\\n points\\n }\\n mode\\n pickupBookingInfo {\\n earliestBookingTime {\\n daysPrior\\n }\\n }\\n pickupType\\n realTime\\n realtimeState\\n rentedBike\\n rideHailingEstimate {\\n arrival\\n maxPrice {\\n amount\\n currency {\\n code\\n }\\n }\\n minPrice {\\n amount\\n currency {\\n code\\n }\\n }\\n provider {\\n id\\n }\\n }\\n route {\\n alerts {\\n alertDescriptionText\\n alertHeaderText\\n alertUrl\\n effectiveStartDate\\n id\\n }\\n color\\n id\\n longName\\n shortName\\n textColor\\n type\\n }\\n startTime\\n steps {\\n absoluteDirection\\n alerts {\\n alertDescriptionText\\n alertHeaderText\\n alertUrl\\n effectiveStartDate\\n id\\n }\\n area\\n distance\\n elevationProfile {\\n distance\\n elevation\\n }\\n lat\\n lon\\n relativeDirection\\n stayOn\\n streetName\\n }\\n to {\\n lat\\n lon\\n name\\n rentalVehicle {\\n id\\n network\\n }\\n stop {\\n alerts {\\n alertDescriptionText\\n alertHeaderText\\n alertUrl\\n effectiveStartDate\\n id\\n }\\n code\\n gtfsId\\n id\\n }\\n vertexType\\n }\\n transitLeg\\n trip {gtfsId\\n id\\n tripHeadsign\\n }\\n }\\n startTime\\n waitingTime\\n walkTime\\n }\\n routingErrors {\\n code\\n description\\n inputField\\n }\\n }\\n}\",\"variables\":{\"arriveBy\":false,\"banned\":{},\"bikeReluctance\":3,\"carReluctance\":2,\"date\":\"2023-08-03\",\"fromPlace\":\"Opus Music Store, Decatur, GA::33.77505,-84.300178}\",\"modes\":[{\"mode\":\"BUS\"},{\"mode\":\"SUBWAY\"},{\"mode\":\"TRAM\"}],\"numItineraries\":3,\"time\":\"16:49\",\"toPlace\":\"Five Points Station (908981)::33.753837,-84.391397}\",\"walkReluctance\":3,\"wheelchair\":false}}" } }, "response": { @@ -109,7 +109,7 @@ "content": { "size": 76530, "mimeType": "application/json", - "text": "{\"data\":{\"plan\":{\"itineraries\":[{\"accessibilityScore\":null,\"duration\":1340,\"endTime\":1691097871000,\"legs\":[{\"accessibilityScore\":null,\"agency\":null,\"arrivalDelay\":0,\"departureDelay\":0,\"distance\":493.51,\"dropoffType\":\"SCHEDULED\",\"duration\":409.0,\"endTime\":1691096940000,\"fareProducts\":[],\"from\":{\"lat\":33.77505,\"lon\":-84.300178,\"name\":\"Opus Music Store, Decatur, GA\",\"rentalVehicle\":null,\"stop\":null,\"vertexType\":\"NORMAL\"},\"interlineWithPreviousLeg\":false,\"intermediateStops\":null,\"legGeometry\":{\"length\":29,\"points\":\"aucmEdzoaO~AACc@?S?QAm@?q@?U?E?C?U?U?CRAAgD@s@BO?SDa@C]ESCA@OA_A?[AOAgA]aC??\"},\"mode\":\"WALK\",\"pickupBookingInfo\":null,\"pickupType\":\"SCHEDULED\",\"realTime\":false,\"realtimeState\":null,\"rentedBike\":false,\"rideHailingEstimate\":null,\"route\":null,\"startTime\":1691096531000,\"steps\":[{\"absoluteDirection\":\"SOUTH\",\"alerts\":[],\"area\":false,\"distance\":53.03,\"elevationProfile\":[],\"lat\":33.7750523,\"lon\":-84.3000227,\"relativeDirection\":\"DEPART\",\"stayOn\":false,\"streetName\":\"Ponce de Leon Place\"},{\"absoluteDirection\":\"EAST\",\"alerts\":[],\"area\":false,\"distance\":115.73,\"elevationProfile\":[],\"lat\":33.7745754,\"lon\":-84.3000126,\"relativeDirection\":\"LEFT\",\"stayOn\":false,\"streetName\":\"Swanton Way\"},{\"absoluteDirection\":\"SOUTH\",\"alerts\":[],\"area\":false,\"distance\":10.98,\"elevationProfile\":[],\"lat\":33.774606,\"lon\":-84.2987621,\"relativeDirection\":\"RIGHT\",\"stayOn\":false,\"streetName\":\"path\"},{\"absoluteDirection\":\"EAST\",\"alerts\":[],\"area\":false,\"distance\":161.01,\"elevationProfile\":[],\"lat\":33.7745073,\"lon\":-84.2987593,\"relativeDirection\":\"LEFT\",\"stayOn\":true,\"streetName\":\"sidewalk\"},{\"absoluteDirection\":\"EAST\",\"alerts\":[],\"area\":false,\"distance\":49.88,\"elevationProfile\":[],\"lat\":33.7745226,\"lon\":-84.2970412,\"relativeDirection\":\"SLIGHTLY_RIGHT\",\"stayOn\":true,\"streetName\":\"path\"},{\"absoluteDirection\":\"EAST\",\"alerts\":[],\"area\":false,\"distance\":40.34,\"elevationProfile\":[],\"lat\":33.7745217,\"lon\":-84.2965016,\"relativeDirection\":\"CONTINUE\",\"stayOn\":false,\"streetName\":\"Sycamore Street\"},{\"absoluteDirection\":\"EAST\",\"alerts\":[],\"area\":true,\"distance\":62.55,\"elevationProfile\":[],\"lat\":33.7745401,\"lon\":-84.2960662,\"relativeDirection\":\"CONTINUE\",\"stayOn\":false,\"streetName\":\"Decatur MARTA Plaza\"}],\"to\":{\"lat\":33.774699,\"lon\":-84.295417,\"name\":\"Decatur Station\",\"rentalVehicle\":null,\"stop\":{\"alerts\":[],\"code\":\"908475\",\"gtfsId\":\"MARTA:193\",\"id\":\"U3RvcDpNQVJUQToxOTM\"},\"vertexType\":\"TRANSIT\"},\"transitLeg\":false,\"trip\":null},{\"accessibilityScore\":null,\"agency\":{\"alerts\":[],\"id\":\"QWdlbmN5Ok1BUlRBOk1BUlRB\",\"name\":\"Metropolitan Atlanta Rapid Transit Authority\",\"timezone\":\"America/New_York\",\"url\":\"https://www.itsmarta.com\"},\"arrivalDelay\":0,\"departureDelay\":0,\"distance\":10171.43,\"dropoffType\":\"SCHEDULED\",\"duration\":840.0,\"endTime\":1691097780000,\"fareProducts\":[{\"id\":\"86068984-1c16-3b99-b5ee-559031c1a2f4\",\"product\":{\"__typename\":\"DefaultFareProduct\",\"id\":\"atlanta:electronicSpecial\",\"medium\":null,\"name\":\"electronicSpecial\",\"riderCategory\":null,\"price\":{\"amount\":2.5,\"currency\":{\"code\":\"USD\",\"digits\":2}}}},{\"id\":\"b50b4e2d-9513-3784-8a91-7eee706858e0\",\"product\":{\"__typename\":\"DefaultFareProduct\",\"id\":\"atlanta:regular\",\"medium\":null,\"name\":\"regular\",\"riderCategory\":null,\"price\":{\"amount\":2.5,\"currency\":{\"code\":\"USD\",\"digits\":2}}}},{\"id\":\"ef6c662f-6a98-3569-bfbd-2bdecc243a01\",\"product\":{\"__typename\":\"DefaultFareProduct\",\"id\":\"atlanta:electronicSenior\",\"medium\":null,\"name\":\"electronicSenior\",\"riderCategory\":null,\"price\":{\"amount\":2.5,\"currency\":{\"code\":\"USD\",\"digits\":2}}}},{\"id\":\"613adbaa-5544-3542-aa4d-2f7055a0e075\",\"product\":{\"__typename\":\"DefaultFareProduct\",\"id\":\"atlanta:electronicRegular\",\"medium\":null,\"name\":\"electronicRegular\",\"riderCategory\":null,\"price\":{\"amount\":2.5,\"currency\":{\"code\":\"USD\",\"digits\":2}}}},{\"id\":\"df639350-d47a-398f-a4b7-e2e2f9d2d9d7\",\"product\":{\"__typename\":\"DefaultFareProduct\",\"id\":\"atlanta:senior\",\"medium\":null,\"name\":\"senior\",\"riderCategory\":null,\"price\":{\"amount\":0.0,\"currency\":{\"code\":\"USD\",\"digits\":2}}}},{\"id\":\"d9fa8aca-cde6-3187-9023-89c596f602c4\",\"product\":{\"__typename\":\"DefaultFareProduct\",\"id\":\"atlanta:electronicYouth\",\"medium\":null,\"name\":\"electronicYouth\",\"riderCategory\":null,\"price\":{\"amount\":2.5,\"currency\":{\"code\":\"USD\",\"digits\":2}}}},{\"id\":\"a0815882-6fd3-3f54-b62c-009ef82d5466\",\"product\":{\"__typename\":\"DefaultFareProduct\",\"id\":\"atlanta:youth\",\"medium\":null,\"name\":\"youth\",\"riderCategory\":null,\"price\":{\"amount\":0.0,\"currency\":{\"code\":\"USD\",\"digits\":2}}}}],\"from\":{\"lat\":33.774699,\"lon\":-84.295417,\"name\":\"Decatur Station\",\"rentalVehicle\":null,\"stop\":{\"alerts\":[],\"code\":\"908475\",\"gtfsId\":\"MARTA:193\",\"id\":\"U3RvcDpNQVJUQToxOTM\"},\"vertexType\":\"TRANSIT\"},\"interlineWithPreviousLeg\":false,\"intermediateStops\":[{\"lat\":33.765196,\"locationType\":\"STOP\",\"lon\":-84.313426,\"name\":\"East Lake Station\",\"stopCode\":\"908567\",\"stopId\":\"U3RvcDpNQVJUQToxODY\"},{\"lat\":33.761803,\"locationType\":\"STOP\",\"lon\":-84.340825,\"name\":\"Edgewood-Candler Park Station\",\"stopCode\":\"908476\",\"stopId\":\"U3RvcDpNQVJUQToxOTU\"},{\"lat\":33.757227,\"locationType\":\"STOP\",\"lon\":-84.353066,\"name\":\"Inman Park-Reynoldstown Station\",\"stopCode\":\"908692\",\"stopId\":\"U3RvcDpNQVJUQTo4MDQ\"},{\"lat\":33.749853,\"locationType\":\"STOP\",\"lon\":-84.37599,\"name\":\"King Memorial Station\",\"stopCode\":\"908693\",\"stopId\":\"U3RvcDpNQVJUQTo4MDU\"},{\"lat\":33.750161,\"locationType\":\"STOP\",\"lon\":-84.385915,\"name\":\"Georgia State Station\",\"stopCode\":\"908618\",\"stopId\":\"U3RvcDpNQVJUQToxOTg\"}],\"legGeometry\":{\"length\":8591,\"points\":\"{rcmEj}naO?D?`AA`A?`A?~@A`A?J???@?@?@???@?@?@?@???@?@?@?@?@???@?@?@?@???@?@?@?@?@???@?@?@?@?@???@?@?@?@???@?@?@?@?@???@?@?@?@?@???@?@?@?@???@?@?@?@?@???@?@?@?@?@???@?@?@?@???@?@?@?@?@???@?@?@?@?@???@?@?@?@???@?@?@?@?@???@?@?@?@???@?@?@?@?@???@?@?@?@?@??@@?@?@?@???@?@?@?@?@???@?@?@?@?@???@?@?@?@???@?@?@?@?@???@?@?@?@???@?@@@?@?@???@?@?@?@?@???@?@?@?@???@?@?@?@?@???@@@?@?@???@?@?@?@?@???@?@?@?@???@?@@@?@?@???@?@?@?@???@?@?@@@?@???@?@?@?@???@?@?@?@?@??@@?@?@?@???@?@?@?@?@@??@?@?@?@???@?@?@?@??@@?@?@?@?@???@?@?@@@???@?@?@?@???@?@@@?@?@???@?@?@?@@??@?@?@?@???@?@@@?@???@?@?@?@@@???@?@?@?@??@@?@?@?@???@?@@@?@???@?@?@@@???@?@?@?@??@@?@?@?@???@@@?@?@???@?@@@?@???@?@?@@@???@?@?@?@@??@?@?@??@@?@?@?@???@@@?@?@???@@@?@?@???@@@?@?@???@@@?@???@?@@@?@???@?@@@?@???@?@@@???@?@?@@@???@?@@@???@?@?@@@???@?@@@???@?@@@?@???@?@@@???@?@@@?@???@?@@@???@?@@@???@?@@@?@???@@@?@???@@@?@???@@@?@?@@??@?@?@??@@?@?@@??@?@?@@??@?@?@@??@?@?@@??@?@@@?@???@@@?@???@@@?@??@@?@?@??@@?@?@@??@?@?@@??@?@@??@?@@@???@?@@@???@@@?@??@@?@?@??@@?@?@@??@?@@??@?@?@@??@?@@@???@@@?@??@@?@??@@?@?@@??@?@@@???@@@?@??@@?@??@@?@?@@??@?@@??@?@@@???@@@???@@@?@??@@?@??@@?@@@???@?@@??@@@?@??@@?@??@@?@??@@?@?@@??@@@???@@@???@@@?@??@@?@@??@?@@??@?@@??@@@?@??@@?@??@@?@@??@?@@??@?@@??@@@???@@@??@@?@?@@??@@@???@@@??@@?@??@@?@@??@?@@??@@@???@@@??@@?@??@@?@@??@?@@??@@@??@@???@@@??@@?@??@@?@@??@@@???@@@??@@?@@??@??@@?@@??@@@???@@@??@@?@@??@??@@?@@??@@@??@@???@@@??@@?@@??@@??@?@@??@@@??@@??@@?@??@@?@@??@@??@@@??@@??@@?@??@@??@@?@@??@@@??@@??@@?@@??@??@@?@@??@@??@@??@@@??@@??@@?@@??@@??@@@???@@??@@??@@@??@@??@@?@@??@@??@@??@@@??@@??@@??@@?@@??@@??@@??@@??@@@??@@??@@??@@?@@??@@??@@??@@??@@??@@@??@@@??@??@@??@@@??@@@??@@??@@??@@??@@??@@??@@?@@??@@??@@?@@??@@??@@??@@??@@??@@??@@??@@@??@@@??@@??@@??@@??@@??@@@??@@??@@??@@??@@??@@?@@??@@??@@??@@??@@??@@@???@@??@@??@@@??@@??@@??@@??@@?@@??@@??@@??@?@@??@@??@@??@@??@@@??@@??@@???@@@??@@??@@??@@?@@??@??@@??@@?@@??@@??@?@@??@@??@@??@?@@??@@??@@@???@@??@@??@@@???@@??@@@??@@???@@@??@@???@@??@??@@??@@?@??@@??@@?@??@@??@@?@??@@??@@?@??@@??@@?@??@@???@@@??@@???@@@??@@???@@@???@@??@@@???@@@???@@??@@@???@@??@?@@??@@@???@@??@?@@??@??@@?@@??@?@@??@??@@?@??@@???@@@??@@?@??@@???@@@???@@@???@@??@?@@??@?@@??@?@@??@@??@?@@??@??@@?@??@@?@??@@???@@@???@@@???@@??@?@@??@?@@??@?@@??@??@@?@??@@?@??@@?@??@@???@@@???@@??@?@@??@?@??@@???@@@???@@@???@@@???@@??@?@@??@?@@??@??@@?@??@@?@??@@?@??@@?@??@@???@??@XJr@Xp@Xp@Xp@Xr@Xn@V@@??@??@@?@??@@?@???@@??@?@@??@?@@??@?@@??@??@@?@??@@?@??@@???@@@???@@@???@@??@?@@??@?@@??@?@@??@??@@?@??@@?@??@@???@@@???@@@???@@@???@@??@?@@??@??@@?@??@@?@??@@???@@@???@@@???@@??@@@???@@@???@@??@?@@??@??@@?@@??@?@@??@??@@?@??@@??@@?@??@@?@??@@??@@?@??@@???@@@??@@???@@@??@@?@??@@???@@@??@@???@@@??@@???@@@??@@???@@@??@@??@@???@@@??@@???@??@@??@@??@@?@??@@??@@??@@?@??@@??@@?@@??@@??@??@@?@@??@@??@@??@?@@??@@??@@??@@@??@@??@@???@@@??@@??@@??@@??@@?@@??@@??@@??FF@??@@??@@?@@??@@??@@??@@??@@??@@??@@@??@@??@@??@@??@@??@@??@@?@@DF@??@@??@@??@@??@@??@@@??@@??@@??@@??@@?@@??@@??@@??@@?@@?@@??@@??@@??@@??@?@@??@@??@@??@@@??@@??@@?@@??@@??@@??@@@??@@??@@?@@??@@??@@@??@@???@@@??@@??@@?@@??@@??@@@???@@??@@@??@@??@@?@@??@?@@??@@??@@@??@@?@??@@??@@?@@??@@@??@@?@??@@??@@?@??@@?@??@??@@@???@@@??@@??@@?@??@@?@@??@?@@??@@@??@@?@??@@?@@??@?@@??@@@??@@?@??@@?@@??@?@@??@?@@??@@@???@@@??@@?@??@@?@@??@?@@??@@@?@??@@?@??@@?@??@@?@@??@?@@??@@@???@@@?@??@@?@@??@?@@??@?@@??@@@?@??@@?@??@@?@@??@?@@??@?@@@??@@?@??@@?@??@@?@??@@?@?@@??@@@???@@@???@@@?@@??@?@@??@?@@??@?@@@??@@?@???@@??@@@?@??@@?@??@@?@??@@?@@@???@@@???@@@???@@@?@@??@?@@??@?@@??@?@@@???@@@??@@?@??@@?@?@@??@?@@??@?@@@???@@@??@@?@?@@??@?@@??@?@@??@?@@@???@@@?@??@@?@??@@?@?@@??@?@@??@?@@@???@@@?@???@??@@???@@@?@??@@?@?@@??@?@?@@??@?@@@???@@@?@???@@@?@??@@?@???@@@?@?@@??@?@?@@??@?@?@@??@?@?@@??@?@@@???@?@@@???@?@@@???@?@@@?@???@@@?@???@@@?@???@@@?@?@???@@@?@???@@@?@?@???@@@?@???@?@@@?@???@?@@@?@???@@@?@???@?@?@@@???@?@?@@@???@?@?@@@???@?@?@?@@??@?@?@?@@??@?@?@???@?@@@?@???@?@?@@@?@???@?@?@?@@??@?@?@?@???@@@?@?@???@?@?@@@???@?@?@?@???@?@@@?@?@???@?@?@@@???@?@?@?@???@?@?@?@@@???@?@?@?@???@?@@@?@???@?@?@?@?@???@?@?@@@???@?@?@?@?@???@?@?@?@@??@?@?@?@?@???@?@?@?@???@@@?@?@?@???@?@?@?@???@?@?@@@???@?@Dx@B~@F`AD`AD`AD~@D`ABh@??@VD~@Bt@???@?@?@@@???@?@?@?@?@???@?@?@?@??@@?@?@?@?@???@?@?@?@???@@@?@?@?@???@?@?@?@???@?@?@@@???@?@?@?@?@???@?@?@@@???@?@?@?@?@???@?@?@?@??@@?@?@?@?@???@?@?@?@@??@?@?@?@???@?@?@?@?@@??@?@?@?@???@?@?@@@?@???@?@?@?@???@@@?@?@???@?@?@?@??@@?@?@?@?@???@@@?@?@???@?@?@?@??@@?@?@?@???@?@@@?@???@?@?@?@@@???@?@?@?@??@@?@?@?@???@?@@@?@?????@?@?@@@???@?@?@?@@??@?@?@?@??@@?@?@???@@@?@?@???@@@?@?@???@@@?@?@???@?@@@?@???@?@@@???@?@?@@@???@?@@@???@?@?@@@???@?@?@@??@?@?@@@???@?@@@???@?@@@?@???@?@@@???@?@@@?@???@@@?@???@@@?@???@@@?@???@@@?@???@@@?@?@@??@?@?@??@B?@@??@?@@@???@?@@@???@@@?@???@@@?@??@@?@?@??@@?@?@@??@?@@??@?@?@@??@?@@@???@@@?@????@@?@???@@@?@??@@?@?@@??@?@@??@?@@@???@@@?@??@@?@??@@?@?@@??@?@@??@?@@@???@@@???@@@?@@??@?@@??@?@@??@?@@@???@@@???@@@?@@??@?@@??@?@@??@?@@@??@@?@??@@?@??@@?@??@@?@@@???@@@???@@@??@@?@??@@?@??@@?@@@???@@@??@@?@??@@?@??@@?@@??@?@@??@@@?@??@@?@@??@?@@??@?@@??@@@???@@@???@@@??@@?@??@@?@@??@@@???@@@?@??@@?@@??@?@@??@@@???@@@??@@?@??@@?@@??@?@@??@@@???@@@???@@@???@Zn@^r@^t@^t@^t@^t@^t@\\\\t@^t@^t@^t@^r@\\\\t@^t@LVXh@LV?@@@???@@@??@@?@??@@?@@??@?@@@??@@?@??@@?@@??@?@@??@@@???@@@??@@?@??@@?@??@@?@@??@?@@??@@@???@@@??@@?@??@@?@@??@?@@@??@@?@??@@?@??@@?@@??@?@@??@?@@??@@@??@@?@??@@?@?@@??@?@@??@@@???@@@??@@?@??@@?@??@@?@@@???@@@??@@?@??@@?@??@@?@??@@?@@@???@@@???@@@???@@@?@@??@?@@??@?@@??@@@???@@@?@??@@?@??@@?@?@@??@@@???@@@???@@@?@??@@?@??@@?@?@@??@?@@??@?@@@???@@@??@@?@?@@??@?@@??@?@@@???@@@???@BF?@??@@?@??@@?@?@@??@?@@@???@@@???@@@?@??@@?@?@??@@?@?@@??@?@?@@??@?@@??@?@@@???@?@@@???@@@?@???@@@?@??@@?@?@??@@?@?@@??@?@?@@??@?@@@???@?@@@???@?@@@???@@@?@?@??@@?@?@??@@?@?@??@@?@?@??@@?@?@??@@?@?@?@@??@?@?@@??@?@?@@??@?@?@@@???@?@?@@??@?@?@@@???@?@?@@??@?@?@@@???@?@?@@??@?@?@@@???@?@?@@??@?@?@?@@??@?@?@?@@??@?@?@??@@?@?@?@@??@?@?@?@??@@?@?@?@??@@?@?@???@?@@@?@???@?@@@?@???@?@?@@@???@?@?@?@@??@?@?@?@??@@?@?@?@???@@@?@?@???@?@@@?@???@?@?@?@??@@?@?@?@???@@@?@?@???@?@?@?@@@???@?@?@?@???@@@?@?@???@?@?@?@@??@?@?@?@???@?@?@@@?@???@?@?@?@???@@@?@?@???@?@?@?@?@??@@?@?@?@???@?@?@?@?@@??@?@?@?@???@?@?@?@?@???@@@?@?@???@?@?@?@?@???@?@?@@@???@?@?@?@?@???@?@?@?@???@?@?@?@?@??@@?@?@?@???@?@?@?@?@???@?@?@?@???@?@?@?@?@???@?@?@?@?@@??@?@?@?@???@?@?@?@?@???@?@?@?@?@???@?@?@?@???@?@?@?@?@???@?@?@?@???@?@?@?@?@???@?@?@?@?@???@?@?@?@???@?@?@?@?@???@?@A@?@?@???@?@?@?@???@?@?@?@?@???@?@?@?@???@?@?@?@?@???@A@?@?@?@???@?@?@?@???@?@?@?@?@???@?@?@?@A??@?@?@?@?@???@?@?@?@??A@?@?@?@?@???@?@?@?@???@?@?@A@?@???@?@?@?@???@?@A@?@???@?@?@?@?@???@A@?@?@???@?@?@?@??A@?@?@?@?@???@?@?@A@???@?@?@?@???@A@?@?@???@?@?@A@?@???@?@?@?@??A@?@?@?@???@?@A@?@???@?@?@?@A??@?@?@?@??A@?@?@?@???@A@?@?@???@?@?@A@???@?@?@A@???@?@?@?@A??@?@?@?@??A@?@?@?@??A@?@?@???@?@A@?@???@?@A@?@???@?@A@?@???@?@A@???@?@?@A@???@?@???@A@???@?@A@???@?@?@A@???@?@A@???@?@?@A@???@?@?@A??@?@?@A@???@?@A@???@?@A@?@???@?@A@???@?@A@???@?@A@?@???@A@?@???@A@?@???@A@?@???@A@?@?@??A@?@?@??A@?@?@??A@?@?@A??@?@?@A@???@?@A@???@?@A@???@?@A@???@A@?@???@A@?@???@A@?@??A@?@?@??A@?@?@??A@?@?@A??@?@?@A??@?@?@A@???@A@?@???@A@?@??A@?@?@??A@?@?@A??@?@?@A??@?@A@???@?@A@???@?@A??@?@A@???@?@A@???@A@?@??A@?@?@??A@?@?@A??@?@?@A??@?@A@???@?@A@???@A@Oh@Uz@Wz@Ux@Wz@Uz@EL?@??A@?@?@??A@?@?@A??@?@?@A??@?@A@???@A@?@???@A@?@??A@?@?@??A@?@?@A??@?@?@A??@?@A@???@?@A@???@A@?@???@A@?@???@A@?@??A@?@?@??A@?@?@A??@?@?@A??@?@A@???@?@A@???@A@?@???@A@?@???@A@?@??A@?@?@??A@?@?@??A@?@?@A??@?@?@A??@?@?@A??@?@A@?@???@A@?@???@A@?@??A@?@?@???@A@?@??A@?@?@??A@?@?@??A@?@?@?@A??@?@A@???@?@A@???@?@A@???@?@A@?@???@?@A@???@A@?@???@?@A@???@A@?@?@??A@?@?@???@A@?@?@??A@?@?@??A@?@?@??A@?@?@?@??A@?@?@??A@?@?@?@??A@?@?@??A@?@?@?@A??@?@?@??A@?@?@?@??A@?@?@??A@?@?@?@??A@?@?@?@???@A@?@???@A@?@?@???@?@A@?@???@A@?@???@???@?@A@???@?@?@A@???@?@?@?@A??@?@?@?@A??@?@?@?@??A@?@?@?@???@A@?@?@???@?@A@?@???@?@?@?@A??@?@?@?@??A@?@?@?@???@?@A@?@???@?@?@?@A??@?@?@?@???@A@?@?@???@?@?@?@A@???@?@?@?@???@A@?@?@???@?@?@?@A??@?@?@?@?@???@?@A@?@???@?@?@?@???@?@?@A@?@???@?@?@?@???@A@?@?@?@???@?@?@?@???@?@A@?@???@?@?@?@?@???@?@?@A@???@?@?@?@?@???@?@?@?@???@?@A@?@?@???@?@?@?@???@?@?@?@?@???@?@?@A@?@???@?@?@?@???@?@?@?@?@???@?@?@?@???@?@?@?@A@???@?@?@?@?@???@?@?@?@???@?@?@?@?@???@?@?@?@???@?@?@?@?@???@?@?@?@?@???@?@?@?@???@?@?@?@?@???@?@???@?@?@???@?@?@?@???@?@?@?@?@???@?@?@?@???@?@?@?@?@???@?@?@?@?@???@?@?@?@???@?@?@?@?@???@?@?@?@?@???@?@?@?@???@?@?@?@?@???@?@?@?@???@@@?@?@?@???@?@?@?@?@???@?@?@?@???@?@?@?@?@???@?@?@@@???@?@?@?@?@???@?@?@?@?@???@?@?@?@??@@?@?@?@?@???@?@?@?@???@?@?@?@?@@??@?@?@?@???@?@?@?@?@???@?@@@?@???@?@?@?@?@???@?@?@?@@??@?@?@?@?@???@?@?@@@???@?@?@?@???@?@?@?@???@@??@?@?@?@???@?@?@?@?@@??@?@?@?@???@?@?@@@???@?@?@?@?@???@?@@@?@???@?@?@?@???@@@?@?@?@???@?@?@@@???@?@?@?@???@?@@@?@???@?@?@?@?@@??@?@?@?@???@@@?@?@???@?@?@?@??@@?@?@?@?@???@?@@@?@???@?@?@?@??@@?@?@?@???@?@?@@@?@???@?@?@?@??@@?@?@?@???@?@?@Fd@H~@H`AH~@H~@H`AH~@J~@B`@??BX?@@@?@?@???@?@?@@@???@?@?@?@???@@@?@?@?@???@?@@@?@???@?@?@?@??@@?@?@?@???@?@@@?@???@?@?@?@@??@?@?@?@?@???@@@?@?@???@?@?@@@???@?@?@?@??@@?@?@?@???@?@?@@@???@?@?@?@??@@?@?@?@?@???@@@?@?@???@?@?@@@???@?@?@?@@??@?@?@?@???@@@?@?@???@?@?@@@???@?@?@?@@??@?@?@?@???@@@?@?@???@?@?@@@???@?@?@?@??@@?@?@?@?@??@@?@?@?@???@?@@@?@???@?@?@@@J~@J~@@D?@???@?@?@@@???@?@?@?@@??@?@?@?@???@@@?@?@???@?@@@?@???@?@?@?@@??@?@?@?@???@@@?@?@?@???@@@?@?@???@?@@@?@???@?@?@?@??@@?@?@?@???@?@@@?@???@?@?@?@@??@?@?@?@???@@@?@?@???@?@?@@@???@?@?@?@?@@??@?@?@?@???@@@?@?@???@?@?@@@???@?@?@?@??@@?@?@?@???@?@?@@@???@?@?@?@@@???@?@?@?@???@?@@@?@???@?@?@?@@??@?@?@?@???@?@@@?@?@???@?@?@@@???@?@?@Fr@H~@H~@Ff@???@?@???@?@?@?@@??@?@?@?@???@@@?@?@???@?@?@?@@@???@?@?@?@???@@@?@?@???@?@?@@@???@?@?@?@???@@@?@?@?@???@?@?@@@???@?@?@?@??@@?@?@?@???@?@?@@@???@?@?@?@??@@?@?@?@?@???@@@?@?@???@?@?@@@???@?@?@?@??@@?@?@?@???@?@@@?@???@?@?@?@@??@?@?@?@???@@@?@?@???@?@?@@@???@?@?@?@@@???@?@?@?@??@@?@?@?@???@@@?@?@???@?@@@?@???@?@?@@@???@?@?@??@@?@?@?@???@@@?@?@???@?@@@?@???@?@?@@@?????@?@?@?@@??@?@?@?@@??@?@?@?@??@@?@?@???@@@?@?@???@@@?@?@???@@@?@?@???@?@@@?@???@@@?@???@?@?@@@???@?@?@@@???@?@@@???@?@?@@@???@?@?@@@???@?@?@@??@?@?@@@???@?@?@@??@?@?@@@???@?@?@@??@?@?@?@@??@?@?@@??@?@?@@@???@?@?@@??@?@?@@@???@?@@@???@?@@@???@?@@@?@???@?@@@???@?@@@???@?@@@?@???@@@?@???@@@?@???@@@?@???@@@?@?@??@@?@?@@??@?@?@@??@?@?@@??@?@?@@??@?@?@@@???@?@@@???@@@?@???@@@?@???@@@?@??@@?@?@??@@?@?@??@@?@?@@??@?@?@@??@?@@@???@?@@@???@@@?@???@@@?@??@@?@?@@??@?@?@@??@?@@@???@?@@@???@@@???@@@?@???@@@?@??@@?@?@@??@?@@@???@@@???@?@@@???@@@?@??@@?@?@??@@?@??@@?@?@@??@?@@@???@@@???@@@?@??@@?@?@@??@?@@??@?@@@???@@@???@?@@@???@@@?@??@@?@@??@?@@@???@@@???@@@?@??@@?@??@@?@?@@??@?@@??@?@@@???@@@???@@@???@@@?@@??@?@@??@?@@@???@@@???@@@??@@?@?@@??@?@@??@@@???@@@?@??@@?@??@@?@??@@?@@@???@@@???@@@??@@?@??@@?@?@@??@?@@??@@@???@@@??@@?@??@@?@@??@?@@@???@@@??@@?@??@@?@??@@?@@??@?@@??@@@???@@@??@@?@??@@?@?@@??@@@???@@@??@@?@??@@?@@??@?@@??@@@??@@?@??@@?@@??@?@@??@@@???@@??@@@???@@@??@@?@@??@?@@??@@@???@@@??@@?@@??@?@@??@@@???@@??@@@??@@?@@??@?@@??@@@???@@??@@@??@@?@??@@?@@??@@@??@@???@@@??@@?@@??@?@@??@@??@@@???@@@??@@??@@?@@??@?@@??@@??@@@??@@?@??@@??@@?@@??@@@@@???@@@??@@?@@??@@??@@@???@@??@@@??@@?@@??@@??@?@@??@@??@@@??@@??@@?@@??@@??@?@@??@@@??@@??@@?@@??@@??@?@@??@@??@@@??@@??@@?@@??@@??@?@@??@@??@@@??@@TZd@n@b@p@d@n@d@n@b@n@d@n@HL??Z`@b@n@d@p@d@n@@B@??@??@@?@@??@@??@@@??@@??@@?@@??@??@@?@@??@@??@@@??@@??@@?@??@@??@@?@@??@@??@@@??@@?@@??@??@@?@@??@@??@@@??@@??@@?@@??@??@@?@@??@@@??@@??@@?@??@@??@@?@@??@@??@@@??@@?@??@@??@@?@@??@@??@@@???@@@??@@??@@?@@??@@??@?@@??@@@??@@??@@?@??@@?@@??@@??@@@???@@@??@@??@@?@@??@?@@??@@@??@@??@@?@??@@?@@??@@@???@@??@@@??@@?@??@@?@@??@@??@@@?@@@??@@?@??@@?@@??@@@???@@??@@@??@@?@??@@?@@??@@@???@@@???@@@??@@?@@??@?@@??@@@???@@@??@@?@@??@?@@??@?@@??@@@???@@@??@@?@??@@?@@??@?@@??@@@???@@@???@@@??@@?@??@@?@@??@?@@@???@@@??@@?@??@@?@@??@?@@??@?@@@??@@?@??@@?@??@@?@??@@?@@@???@@@???@@@??@@?@?@@??@?@@??@?@@??@?@@@??@@?@??@@?@??@@?@?@@??@?@@??@?@@@???@@@??@@?@?@@??@?@@??@?@@@???@@@???@@@?@??@@?@??@@?@?@@??@?@@??@?@@@???@@@?@??@@?@???@@@?@??@@?@@@???@?@@??@?@@@???@@@?@??@@?@???@@@?@??@@?@?@@??@?@@@???@@@?@???@@@???@@@?@???@@@?@??@@?@?@??@@?@?@@??@?@@@???@?@??@@???@@@?@???@@@?@??@@?@?@??@@?@?@??@@?@?@@??@?@?@@??@?@?@@??@?@@@???@?@@@???@?@@@?@??@@?@?@???@@@?@???@@@?@???@@@?@?@@??@?@?@@??@?@?@??@@?@?@@??@?@?@?@@??@?@@@???@?@?@@??@?@?@@@???@?@?@@??@?@?@@@???@?@??@@???@?@?@@@???@?@@@???@?@?@@@???@?@@@???@?@?@@@???@?@?@@@???@?@?@@??@?@?@?@@??@?@?@??@@?@?@?@??@@?@?@?@??@@?@?@?@??@@?@?@???@@@?@?@???@?@@@???@???@?@@@?@???@?@?@@@???@?@?@@@???@?@?@?@@??@?@?@???@@@?@?@???@?@@@?@???@?@?@@@???@?@?@?@@??@?@?@?@???@@@?@?@???@@@?@?@???@?@?@?@@??@?@?@?@?@@??@?@?@?@???@@@?@?@???@?@?@@@???@?@?@?@??@@?@?@?@???@?@@@?@???@?@?@@@???@?@?@?@???@@@?@?@?@???@?@@@?@???@?@?@?@??@@?@?@?@???@?@@@?@???@?@?@?@??@@?@?@?@?@???@@@?@?@???@?@?@?@@??@?@?@?@??Hv@H~@H~@J`AH~@BZ??@@?@?@?@?@???@?@@@?@???@?@?@@@???@?@?@?@???@@@?@?@???@?@?@@@???@?@?@?@?@??@@?@?@?@???@?@@@?@???@?@?@?@??@@?@?@?@???@?@@@?@???@?@?@?@@??@?@?@?@?@??@@?@?@?@???@@@?@?@???@?@?@?@@??@?@?@?@??@@?@?@?@???@?@?@@@???@?@?@?@@??@?@?@?@???@@@?@?@???@?@?@@@?@???@?@?@?@@??@?@?@?@???@@@?@?@???@?@@@?@???@?@?@?@@??@?@?@?@??@@?@?@?@???@?@@@?@???@?@?@@@???@?@?@?@??@@?@?@?@???@@@?@?@???@?@?@@@???@?@?@?@@??@?@?@?@???@@@?@?@???@?@@@?@???@?@?@@@???@?@?@?@@??@?@?@?@???@@@?@?@???@?@@@?@???@?@?@@@???@?@?@?@@??@?@?@?@??@@?@?@?@???@@@?@?@???@?@@@?@???@?@?@@@???@?@?@?@@??@?@?@?@??@@?@?@?@???@@@?@?@???@?@@@?@???@?@?@@@???@?@?@?@@??@?@?@?@??@@?@?@???@?@@@?@???@?@@@?@???@?@?@@@???@?@?@?@@??@?@?@?@??@@?@?@?@???@@@?@?@???@@@?@?@???@?@@@???@?@?@@@???@?@?@?@@??@?@?@?@@??@?@?@?@??@@?@?@?@??@@?@?@?@???@@@?@???@?@?@@@???@?@?@@@???@?@?@?@@??@?@?@?@@??@?@?@?@??@@?@?@???@@@?@?@???@?@@@?@???@@@?@?@???@?@@@?@???@?@?@@??@?@?@?@@??@?@?@?@@??@?@?@?@??@@?@?@?@??@@?@?@??@@?@?@?@???@@@?@?@???@@@?@?@???@?@@@???@?@?@@@???@?@?@@@???@?@?@@@???@?@?@@??@?@?@?@@??@?@?@?@@??@?@?@???@@@?@?@??@@?@?@?@???@@@?@?@???@@@?@???@?@@@?@???@?@@@?@???@?@@@???@?@?@@@???@?@?@@@???@?@?@@??@?@?@@@???@?@?@@@???@?@?@@??@?@?@?@@??@?@?@?@@??@?@?@??@@?@?@?@??@@?@?@?@??@@?@?@??@@?@?@?@??@@?@?@???@@@?@?@??@@?@?@?@???@@@?@???@@B?@???@@@?@?@???@@@?@???@@@?@?@???@@@?@???@@@?@?@???@@@?@???@?@@@?@???@?@@@?@???@@@?@???@?@@@?@???@?@@@???@?@@@?@???@?@@@???@?@@@?@???@?@@@???@?@@@?@???@?@@@???@?@?@@@???@?@@@?@???@?@@@???@?@@@?@???@?@@@???@?@@@?@???@?@@@???@?@@@?@???@@@?@???@?@@@???@?@@@?@???@?@@@???@?@@@?@???@?@@@???@?@@@?@???@@@?@???@@@?@?@???@@@?@???@@@?@?@???@@@?@???@@@?@???@@@?@?@???@@@?@???@@@?@?@??@@?@?@??@@?@?@?@??@@?@?@??@@?@?@??@@?@?@?@@??@?@?@??@@?@?@?@@??@?@?@@??@?@?@@??@?@?@@@???@?@?@@??@?@@@???@?@?@@@???@?@@@???@H\\\\P|@Rz@R|@P|@R|@R|@P|@Rz@P|@R|@R|@P|@Rz@R|@P|@R|@P|@Rz@R|@P|@R|@R|@Pz@R|@Nt@??BFP|@R|@P|@DJ?@???@@@?@???@?@@@?@???@@@?@???@@@?@?@??@@?@?@???@@@?@???@@@?@?@??@@?@?@??@@?@?@??@@?@?@?@??@@?@?@??@@?@?@?@@??@?@?@??@@?@?@?@@??@?@?@@??@?@?@??@@?@?@?@@??@?@?@@??@?@?@?@@??@?@?@@@???@?@?@@??@?@?@?@@??@?@?@???@@??@?@?@??@@?@?@?@??@@?@?@???@@@?@?@???@@@?@?@???@@@?@???@?@@@?@???@?@@@?@???@?@?@@@???@?@?@@@???@?@?@?@@??@?@?@???@@@?@?@???@?@@@?@???@?@?@@@???@?@?@?@@??@?@?@?@??@@?@?@?@???@?@@@?@???@?@?@@@???@?@?@?@?@@??@?@?@?@???@@@?@?@???@?@?@?@@??@?@?@?@???@@@?@?@???@?@?@?@@@???@?@?@?@???@?@@@?@???@?@?@?@??@@?@?@?@?@???@?@?@?@@??@?@?@?@???@?@@@?@?@???@?@?@?@???@?@?@@@?@???@?@?@?@???@?@?@@@???@?@?@?@?@???@?@?@?@@??@?@?@?@?@???@?@?@?@???@?@@@?@?@???@?@?@?@???@?@?@?@?@???@@@?@?@???@?@?@?@?@???@?@?@?@???@?@@@?@?@???@?@?@?@?@???@?@?@?@???@?@?@@@?@???@?@?@?@???@?@?@?@?@???@?@?@?@???@?@?@?@?@??@@?@?@?@?@???@?@?@?@???@?@?@?@??@\\\\B`A@`AB`AB`A@`ABl@?@?@???@?@?@?@???@?@?@?@?@???@?@?@?@???@?@?@?@?@@??@?@?@?@?@???@?@?@?@???@?@?@?@?@???@?@?@?@???@?@?@?@?@???@?@?@?@?@???@?@?@?@???@?@?@?@?@???@?@???@?@?@???@?@?@?@???@?@?@?@?@???@A@?@?@???@?@?@?@?@???@?@?@?@???@A@?@?@?@???@?@?@?@???@?@?@A@?@???@?@?@?@??A@?@?@?@???@?@?@?@A@???@?@?@?@??A@?@?@?@???@?@A@?@???@?@?@A@???@?@?@?@A??@?@?@?@??A@?@?@?@??A@?@?@???@?@A@?@???@A@?@?@???@A@?@???@A@?@?@???@A@?@???@A@?@???@A@?@?@??A@?@?@??A@?@?@???@A@?@??A@?@?@??A@?@?@A@???@?@A@???@A@???@?@A@???@A@?@??A@?@?@A??@?@?@A??@?@A??@?@A@???@A@???@A@?@??A@?@??A@?@A@???@A@???@A@?@??A@?@??A@?@A??@?@A??@?@A@??A@?@??A@?@??A@?@A??@?@A??@A@???@A@??A@?@??A@?@A??@A@???@A@??A@?@??A@??A@?@A??@?@A??@A@??A@?@A??@??A@?@A??@?@A??@A??@A@??A@?@A??@?@A??@A??@A@??A@?@??A@??A@??A@c@p@c@p@a@p@CD??_@j@c@p@c@p@c@p@c@r@A@??A@?@A??@??A@?@A??@A@???@A??@A@??A@?@A??@A??@?@A??@A@??A@???@A@??A@?@A??@?@A??@A@??A@???@A@??A@?@A??@?@A??@A@??A@?@??A@?@A??@?@A??@A@???@A@??A@?@??A@?@A??@?@A??@A@???@A@??A@?@??A@?@A??@?@A??@?@A??@A@???@A@???@A@?@A??@?@A??@A@???@CDYn@A??@?@A@??A@?@??A@?@A??@?@A??@?@A??@A@???@A@??A@?@??A@?@A??@?@A??@A@???@A@??A@?@A??@?@A??@A@???@A@??]n@QX???@A@??A@?@??A@?@A??@A@??A@?@??A@?@A??@??A@?@A??@A@???@A@??A@?@??A@?@A??@??A??@A@???@A@??A@?@A??@??A@?@A??@A@??A@??A@?@??A@?@A??@A??@A@???@A??@A@??A@??A@?@A??@A@??A@??A@?@??A@??A@?@A??@A??@A??@A@??A@??A@?@A??@A??@A@??A@???@A??@A@??A@??A@??A@?@A??@A??@A??@A@??A@??A@??A@?@A??@A??@A??@A@??A@??A@??A@?@A??@A??@A??@A@??A@??A@??A@?@A??@A??@A??@?@A?A@???@A??@??A@??A@?@A??@A??@A??@A@??A@??A@?@??A@?@A??@A??@A@??A@??A@?@??A@?@A??@A??@A@???@A@??A@??A@?@A??@?@A??@A??@?@A??@A@??A@?@A??@?@A??@A@??A@???@A@??A@?@??A@?@??A??@?@A??@ABA@??A@?@??A@?@A??@?@A@??A@?@??A@?@??A@?@A??@A@???@A@???@A?GN_@t@]t@_@t@_@t@EL\"},\"mode\":\"SUBWAY\",\"pickupBookingInfo\":null,\"pickupType\":\"SCHEDULED\",\"realTime\":false,\"realtimeState\":null,\"rentedBike\":null,\"rideHailingEstimate\":null,\"route\":{\"alerts\":[],\"color\":\"0075B2\",\"id\":\"Um91dGU6TUFSVEE6MTk0NTU\",\"longName\":\"Blue\",\"shortName\":\"Blue\",\"textColor\":\"000000\",\"type\":1},\"startTime\":1691096940000,\"steps\":[],\"to\":{\"lat\":33.754123,\"lon\":-84.391876,\"name\":\"Five Points Station\",\"rentalVehicle\":null,\"stop\":{\"alerts\":[],\"code\":\"908990\",\"gtfsId\":\"MARTA:806\",\"id\":\"U3RvcDpNQVJUQTo4MDY\"},\"vertexType\":\"TRANSIT\"},\"transitLeg\":true,\"trip\":{\"arrivalStoptime\":{\"stop\":{\"gtfsId\":\"MARTA:40\",\"id\":\"U3RvcDpNQVJUQTo0MA\"},\"stopPosition\":15},\"departureStoptime\":{\"stop\":{\"gtfsId\":\"MARTA:802\",\"id\":\"U3RvcDpNQVJUQTo4MDI\"},\"stopPosition\":1},\"gtfsId\":\"MARTA:8063444\",\"id\":\"VHJpcDpNQVJUQTo4MDYzNDQ0\",\"tripHeadsign\":\"H E HOLMES STATION\"}},{\"accessibilityScore\":null,\"agency\":null,\"arrivalDelay\":0,\"departureDelay\":0,\"distance\":93.79,\"dropoffType\":\"SCHEDULED\",\"duration\":91.0,\"endTime\":1691097871000,\"fareProducts\":[],\"from\":{\"lat\":33.754123,\"lon\":-84.391876,\"name\":\"Five Points Station\",\"rentalVehicle\":null,\"stop\":{\"alerts\":[],\"code\":\"908990\",\"gtfsId\":\"MARTA:806\",\"id\":\"U3RvcDpNQVJUQTo4MDY\"},\"vertexType\":\"TRANSIT\"},\"interlineWithPreviousLeg\":false,\"intermediateStops\":null,\"legGeometry\":{\"length\":8,\"points\":\"wp_mElvabOTcAHHc@IGEGLFDTP\"},\"mode\":\"WALK\",\"pickupBookingInfo\":null,\"pickupType\":\"SCHEDULED\",\"realTime\":false,\"realtimeState\":null,\"rentedBike\":false,\"rideHailingEstimate\":null,\"route\":null,\"startTime\":1691097780000,\"steps\":[{\"absoluteDirection\":\"EAST\",\"alerts\":[],\"area\":true,\"distance\":33.73,\"elevationProfile\":[],\"lat\":33.7538834,\"lon\":-84.3915896,\"relativeDirection\":\"DEPART\",\"stayOn\":false,\"streetName\":\"Platform 908981;908990\"},{\"absoluteDirection\":\"SOUTHWEST\",\"alerts\":[],\"area\":false,\"distance\":6.86,\"elevationProfile\":[],\"lat\":33.7537795,\"lon\":-84.3912469,\"relativeDirection\":\"RIGHT\",\"stayOn\":false,\"streetName\":\"underpass\"},{\"absoluteDirection\":\"NORTH\",\"alerts\":[],\"area\":false,\"distance\":19.89,\"elevationProfile\":[],\"lat\":33.7537299,\"lon\":-84.3912911,\"relativeDirection\":\"HARD_RIGHT\",\"stayOn\":true,\"streetName\":\"steps\"},{\"absoluteDirection\":\"NORTHEAST\",\"alerts\":[],\"area\":true,\"distance\":5.65,\"elevationProfile\":[],\"lat\":33.7539052,\"lon\":-84.3912485,\"relativeDirection\":\"SLIGHTLY_RIGHT\",\"stayOn\":false,\"streetName\":\"Broad Street Plaza\"},{\"absoluteDirection\":\"NORTHWEST\",\"alerts\":[],\"area\":false,\"distance\":27.66,\"elevationProfile\":[],\"lat\":33.7539458,\"lon\":-84.3912118,\"relativeDirection\":\"LEFT\",\"stayOn\":false,\"streetName\":\"path\"}],\"to\":{\"lat\":33.753837,\"lon\":-84.391397,\"name\":\"Five Points Station (908981)\",\"rentalVehicle\":null,\"stop\":null,\"vertexType\":\"NORMAL\"},\"transitLeg\":false,\"trip\":null}],\"startTime\":1691096531000,\"waitingTime\":0,\"walkTime\":500},{\"accessibilityScore\":null,\"duration\":1340,\"endTime\":1691098771000,\"legs\":[{\"accessibilityScore\":null,\"agency\":null,\"arrivalDelay\":0,\"departureDelay\":0,\"distance\":493.51,\"dropoffType\":\"SCHEDULED\",\"duration\":409.0,\"endTime\":1691097840000,\"fareProducts\":[],\"from\":{\"lat\":33.77505,\"lon\":-84.300178,\"name\":\"Opus Music Store, Decatur, GA\",\"rentalVehicle\":null,\"stop\":null,\"vertexType\":\"NORMAL\"},\"interlineWithPreviousLeg\":false,\"intermediateStops\":null,\"legGeometry\":{\"length\":29,\"points\":\"aucmEdzoaO~AACc@?S?QAm@?q@?U?E?C?U?U?CRAAgD@s@BO?SDa@C]ESCA@OA_A?[AOAgA]aC??\"},\"mode\":\"WALK\",\"pickupBookingInfo\":null,\"pickupType\":\"SCHEDULED\",\"realTime\":false,\"realtimeState\":null,\"rentedBike\":false,\"rideHailingEstimate\":null,\"route\":null,\"startTime\":1691097431000,\"steps\":[{\"absoluteDirection\":\"SOUTH\",\"alerts\":[],\"area\":false,\"distance\":53.03,\"elevationProfile\":[],\"lat\":33.7750523,\"lon\":-84.3000227,\"relativeDirection\":\"DEPART\",\"stayOn\":false,\"streetName\":\"Ponce de Leon Place\"},{\"absoluteDirection\":\"EAST\",\"alerts\":[],\"area\":false,\"distance\":115.73,\"elevationProfile\":[],\"lat\":33.7745754,\"lon\":-84.3000126,\"relativeDirection\":\"LEFT\",\"stayOn\":false,\"streetName\":\"Swanton Way\"},{\"absoluteDirection\":\"SOUTH\",\"alerts\":[],\"area\":false,\"distance\":10.98,\"elevationProfile\":[],\"lat\":33.774606,\"lon\":-84.2987621,\"relativeDirection\":\"RIGHT\",\"stayOn\":false,\"streetName\":\"path\"},{\"absoluteDirection\":\"EAST\",\"alerts\":[],\"area\":false,\"distance\":161.01,\"elevationProfile\":[],\"lat\":33.7745073,\"lon\":-84.2987593,\"relativeDirection\":\"LEFT\",\"stayOn\":true,\"streetName\":\"sidewalk\"},{\"absoluteDirection\":\"EAST\",\"alerts\":[],\"area\":false,\"distance\":49.88,\"elevationProfile\":[],\"lat\":33.7745226,\"lon\":-84.2970412,\"relativeDirection\":\"SLIGHTLY_RIGHT\",\"stayOn\":true,\"streetName\":\"path\"},{\"absoluteDirection\":\"EAST\",\"alerts\":[],\"area\":false,\"distance\":40.34,\"elevationProfile\":[],\"lat\":33.7745217,\"lon\":-84.2965016,\"relativeDirection\":\"CONTINUE\",\"stayOn\":false,\"streetName\":\"Sycamore Street\"},{\"absoluteDirection\":\"EAST\",\"alerts\":[],\"area\":true,\"distance\":62.55,\"elevationProfile\":[],\"lat\":33.7745401,\"lon\":-84.2960662,\"relativeDirection\":\"CONTINUE\",\"stayOn\":false,\"streetName\":\"Decatur MARTA Plaza\"}],\"to\":{\"lat\":33.774699,\"lon\":-84.295417,\"name\":\"Decatur Station\",\"rentalVehicle\":null,\"stop\":{\"alerts\":[],\"code\":\"908475\",\"gtfsId\":\"MARTA:193\",\"id\":\"U3RvcDpNQVJUQToxOTM\"},\"vertexType\":\"TRANSIT\"},\"transitLeg\":false,\"trip\":null},{\"accessibilityScore\":null,\"agency\":{\"alerts\":[],\"id\":\"QWdlbmN5Ok1BUlRBOk1BUlRB\",\"name\":\"Metropolitan Atlanta Rapid Transit Authority\",\"timezone\":\"America/New_York\",\"url\":\"https://www.itsmarta.com\"},\"arrivalDelay\":0,\"departureDelay\":0,\"distance\":10171.43,\"dropoffType\":\"SCHEDULED\",\"duration\":840.0,\"endTime\":1691098680000,\"fareProducts\":[{\"id\":\"9149ab26-a1ab-321c-bc24-776c11f52abb\",\"product\":{\"__typename\":\"DefaultFareProduct\",\"id\":\"atlanta:electronicSpecial\",\"medium\":null,\"name\":\"electronicSpecial\",\"riderCategory\":null,\"price\":{\"amount\":2.5,\"currency\":{\"code\":\"USD\",\"digits\":2}}}},{\"id\":\"ec2a111b-0263-3b34-a2b7-ef094b6c8f9e\",\"product\":{\"__typename\":\"DefaultFareProduct\",\"id\":\"atlanta:regular\",\"medium\":null,\"name\":\"regular\",\"riderCategory\":null,\"price\":{\"amount\":2.5,\"currency\":{\"code\":\"USD\",\"digits\":2}}}},{\"id\":\"f292705b-eea0-3f56-9034-cd77741b96d4\",\"product\":{\"__typename\":\"DefaultFareProduct\",\"id\":\"atlanta:electronicSenior\",\"medium\":null,\"name\":\"electronicSenior\",\"riderCategory\":null,\"price\":{\"amount\":2.5,\"currency\":{\"code\":\"USD\",\"digits\":2}}}},{\"id\":\"bea3ecb3-56f2-3237-a04b-de9157fec8c6\",\"product\":{\"__typename\":\"DefaultFareProduct\",\"id\":\"atlanta:electronicRegular\",\"medium\":null,\"name\":\"electronicRegular\",\"riderCategory\":null,\"price\":{\"amount\":2.5,\"currency\":{\"code\":\"USD\",\"digits\":2}}}},{\"id\":\"c76d9f97-c5e7-3041-8ce6-0bd938a47ac4\",\"product\":{\"__typename\":\"DefaultFareProduct\",\"id\":\"atlanta:senior\",\"medium\":null,\"name\":\"senior\",\"riderCategory\":null,\"price\":{\"amount\":0.0,\"currency\":{\"code\":\"USD\",\"digits\":2}}}},{\"id\":\"8119e1f9-a770-320b-acad-bcda0676dab8\",\"product\":{\"__typename\":\"DefaultFareProduct\",\"id\":\"atlanta:electronicYouth\",\"medium\":null,\"name\":\"electronicYouth\",\"riderCategory\":null,\"price\":{\"amount\":2.5,\"currency\":{\"code\":\"USD\",\"digits\":2}}}},{\"id\":\"da653567-98e2-3fe8-860d-3d5600b5f403\",\"product\":{\"__typename\":\"DefaultFareProduct\",\"id\":\"atlanta:youth\",\"medium\":null,\"name\":\"youth\",\"riderCategory\":null,\"price\":{\"amount\":0.0,\"currency\":{\"code\":\"USD\",\"digits\":2}}}}],\"from\":{\"lat\":33.774699,\"lon\":-84.295417,\"name\":\"Decatur Station\",\"rentalVehicle\":null,\"stop\":{\"alerts\":[],\"code\":\"908475\",\"gtfsId\":\"MARTA:193\",\"id\":\"U3RvcDpNQVJUQToxOTM\"},\"vertexType\":\"TRANSIT\"},\"interlineWithPreviousLeg\":false,\"intermediateStops\":[{\"lat\":33.765196,\"locationType\":\"STOP\",\"lon\":-84.313426,\"name\":\"East Lake Station\",\"stopCode\":\"908567\",\"stopId\":\"U3RvcDpNQVJUQToxODY\"},{\"lat\":33.761803,\"locationType\":\"STOP\",\"lon\":-84.340825,\"name\":\"Edgewood-Candler Park Station\",\"stopCode\":\"908476\",\"stopId\":\"U3RvcDpNQVJUQToxOTU\"},{\"lat\":33.757227,\"locationType\":\"STOP\",\"lon\":-84.353066,\"name\":\"Inman Park-Reynoldstown Station\",\"stopCode\":\"908692\",\"stopId\":\"U3RvcDpNQVJUQTo4MDQ\"},{\"lat\":33.749853,\"locationType\":\"STOP\",\"lon\":-84.37599,\"name\":\"King Memorial Station\",\"stopCode\":\"908693\",\"stopId\":\"U3RvcDpNQVJUQTo4MDU\"},{\"lat\":33.750161,\"locationType\":\"STOP\",\"lon\":-84.385915,\"name\":\"Georgia State Station\",\"stopCode\":\"908618\",\"stopId\":\"U3RvcDpNQVJUQToxOTg\"}],\"legGeometry\":{\"length\":8591,\"points\":\"{rcmEj}naO?D?`AA`A?`A?~@A`A?J???@?@?@???@?@?@?@???@?@?@?@?@???@?@?@?@???@?@?@?@?@???@?@?@?@?@???@?@?@?@???@?@?@?@?@???@?@?@?@?@???@?@?@?@???@?@?@?@?@???@?@?@?@?@???@?@?@?@???@?@?@?@?@???@?@?@?@?@???@?@?@?@???@?@?@?@?@???@?@?@?@???@?@?@?@?@???@?@?@?@?@??@@?@?@?@???@?@?@?@?@???@?@?@?@?@???@?@?@?@???@?@?@?@?@???@?@?@?@???@?@@@?@?@???@?@?@?@?@???@?@?@?@???@?@?@?@?@???@@@?@?@???@?@?@?@?@???@?@?@?@???@?@@@?@?@???@?@?@?@???@?@?@@@?@???@?@?@?@???@?@?@?@?@??@@?@?@?@???@?@?@?@?@@??@?@?@?@???@?@?@?@??@@?@?@?@?@???@?@?@@@???@?@?@?@???@?@@@?@?@???@?@?@?@@??@?@?@?@???@?@@@?@???@?@?@?@@@???@?@?@?@??@@?@?@?@???@?@@@?@???@?@?@@@???@?@?@?@??@@?@?@?@???@@@?@?@???@?@@@?@???@?@?@@@???@?@?@?@@??@?@?@??@@?@?@?@???@@@?@?@???@@@?@?@???@@@?@?@???@@@?@???@?@@@?@???@?@@@?@???@?@@@???@?@?@@@???@?@@@???@?@?@@@???@?@@@???@?@@@?@???@?@@@???@?@@@?@???@?@@@???@?@@@???@?@@@?@???@@@?@???@@@?@???@@@?@?@@??@?@?@??@@?@?@@??@?@?@@??@?@?@@??@?@?@@??@?@@@?@???@@@?@???@@@?@??@@?@?@??@@?@?@@??@?@?@@??@?@@??@?@@@???@?@@@???@@@?@??@@?@?@??@@?@?@@??@?@@??@?@?@@??@?@@@???@@@?@??@@?@??@@?@?@@??@?@@@???@@@?@??@@?@??@@?@?@@??@?@@??@?@@@???@@@???@@@?@??@@?@??@@?@@@???@?@@??@@@?@??@@?@??@@?@??@@?@?@@??@@@???@@@???@@@?@??@@?@@??@?@@??@?@@??@@@?@??@@?@??@@?@@??@?@@??@?@@??@@@???@@@??@@?@?@@??@@@???@@@??@@?@??@@?@@??@?@@??@@@???@@@??@@?@??@@?@@??@?@@??@@@??@@???@@@??@@?@??@@?@@??@@@???@@@??@@?@@??@??@@?@@??@@@???@@@??@@?@@??@??@@?@@??@@@??@@???@@@??@@?@@??@@??@?@@??@@@??@@??@@?@??@@?@@??@@??@@@??@@??@@?@??@@??@@?@@??@@@??@@??@@?@@??@??@@?@@??@@??@@??@@@??@@??@@?@@??@@??@@@???@@??@@??@@@??@@??@@?@@??@@??@@??@@@??@@??@@??@@?@@??@@??@@??@@??@@@??@@??@@??@@?@@??@@??@@??@@??@@??@@@??@@@??@??@@??@@@??@@@??@@??@@??@@??@@??@@??@@?@@??@@??@@?@@??@@??@@??@@??@@??@@??@@??@@@??@@@??@@??@@??@@??@@??@@@??@@??@@??@@??@@??@@?@@??@@??@@??@@??@@??@@@???@@??@@??@@@??@@??@@??@@??@@?@@??@@??@@??@?@@??@@??@@??@@??@@@??@@??@@???@@@??@@??@@??@@?@@??@??@@??@@?@@??@@??@?@@??@@??@@??@?@@??@@??@@@???@@??@@??@@@???@@??@@@??@@???@@@??@@???@@??@??@@??@@?@??@@??@@?@??@@??@@?@??@@??@@?@??@@??@@?@??@@???@@@??@@???@@@??@@???@@@???@@??@@@???@@@???@@??@@@???@@??@?@@??@@@???@@??@?@@??@??@@?@@??@?@@??@??@@?@??@@???@@@??@@?@??@@???@@@???@@@???@@??@?@@??@?@@??@?@@??@@??@?@@??@??@@?@??@@?@??@@???@@@???@@@???@@??@?@@??@?@@??@?@@??@??@@?@??@@?@??@@?@??@@???@@@???@@??@?@@??@?@??@@???@@@???@@@???@@@???@@??@?@@??@?@@??@??@@?@??@@?@??@@?@??@@?@??@@???@??@XJr@Xp@Xp@Xp@Xr@Xn@V@@??@??@@?@??@@?@???@@??@?@@??@?@@??@?@@??@??@@?@??@@?@??@@???@@@???@@@???@@??@?@@??@?@@??@?@@??@??@@?@??@@?@??@@???@@@???@@@???@@@???@@??@?@@??@??@@?@??@@?@??@@???@@@???@@@???@@??@@@???@@@???@@??@?@@??@??@@?@@??@?@@??@??@@?@??@@??@@?@??@@?@??@@??@@?@??@@???@@@??@@???@@@??@@?@??@@???@@@??@@???@@@??@@???@@@??@@???@@@??@@??@@???@@@??@@???@??@@??@@??@@?@??@@??@@??@@?@??@@??@@?@@??@@??@??@@?@@??@@??@@??@?@@??@@??@@??@@@??@@??@@???@@@??@@??@@??@@??@@?@@??@@??@@??FF@??@@??@@?@@??@@??@@??@@??@@??@@??@@@??@@??@@??@@??@@??@@??@@?@@DF@??@@??@@??@@??@@??@@@??@@??@@??@@??@@?@@??@@??@@??@@?@@?@@??@@??@@??@@??@?@@??@@??@@??@@@??@@??@@?@@??@@??@@??@@@??@@??@@?@@??@@??@@@??@@???@@@??@@??@@?@@??@@??@@@???@@??@@@??@@??@@?@@??@?@@??@@??@@@??@@?@??@@??@@?@@??@@@??@@?@??@@??@@?@??@@?@??@??@@@???@@@??@@??@@?@??@@?@@??@?@@??@@@??@@?@??@@?@@??@?@@??@@@??@@?@??@@?@@??@?@@??@?@@??@@@???@@@??@@?@??@@?@@??@?@@??@@@?@??@@?@??@@?@??@@?@@??@?@@??@@@???@@@?@??@@?@@??@?@@??@?@@??@@@?@??@@?@??@@?@@??@?@@??@?@@@??@@?@??@@?@??@@?@??@@?@?@@??@@@???@@@???@@@?@@??@?@@??@?@@??@?@@@??@@?@???@@??@@@?@??@@?@??@@?@??@@?@@@???@@@???@@@???@@@?@@??@?@@??@?@@??@?@@@???@@@??@@?@??@@?@?@@??@?@@??@?@@@???@@@??@@?@?@@??@?@@??@?@@??@?@@@???@@@?@??@@?@??@@?@?@@??@?@@??@?@@@???@@@?@???@??@@???@@@?@??@@?@?@@??@?@?@@??@?@@@???@@@?@???@@@?@??@@?@???@@@?@?@@??@?@?@@??@?@?@@??@?@?@@??@?@@@???@?@@@???@?@@@???@?@@@?@???@@@?@???@@@?@???@@@?@?@???@@@?@???@@@?@?@???@@@?@???@?@@@?@???@?@@@?@???@@@?@???@?@?@@@???@?@?@@@???@?@?@@@???@?@?@?@@??@?@?@?@@??@?@?@???@?@@@?@???@?@?@@@?@???@?@?@?@@??@?@?@?@???@@@?@?@???@?@?@@@???@?@?@?@???@?@@@?@?@???@?@?@@@???@?@?@?@???@?@?@?@@@???@?@?@?@???@?@@@?@???@?@?@?@?@???@?@?@@@???@?@?@?@?@???@?@?@?@@??@?@?@?@?@???@?@?@?@???@@@?@?@?@???@?@?@?@???@?@?@@@???@?@Dx@B~@F`AD`AD`AD~@D`ABh@??@VD~@Bt@???@?@?@@@???@?@?@?@?@???@?@?@?@??@@?@?@?@?@???@?@?@?@???@@@?@?@?@???@?@?@?@???@?@?@@@???@?@?@?@?@???@?@?@@@???@?@?@?@?@???@?@?@?@??@@?@?@?@?@???@?@?@?@@??@?@?@?@???@?@?@?@?@@??@?@?@?@???@?@?@@@?@???@?@?@?@???@@@?@?@???@?@?@?@??@@?@?@?@?@???@@@?@?@???@?@?@?@??@@?@?@?@???@?@@@?@???@?@?@?@@@???@?@?@?@??@@?@?@?@???@?@@@?@?????@?@?@@@???@?@?@?@@??@?@?@?@??@@?@?@???@@@?@?@???@@@?@?@???@@@?@?@???@?@@@?@???@?@@@???@?@?@@@???@?@@@???@?@?@@@???@?@?@@??@?@?@@@???@?@@@???@?@@@?@???@?@@@???@?@@@?@???@@@?@???@@@?@???@@@?@???@@@?@???@@@?@?@@??@?@?@??@B?@@??@?@@@???@?@@@???@@@?@???@@@?@??@@?@?@??@@?@?@@??@?@@??@?@?@@??@?@@@???@@@?@????@@?@???@@@?@??@@?@?@@??@?@@??@?@@@???@@@?@??@@?@??@@?@?@@??@?@@??@?@@@???@@@???@@@?@@??@?@@??@?@@??@?@@@???@@@???@@@?@@??@?@@??@?@@??@?@@@??@@?@??@@?@??@@?@??@@?@@@???@@@???@@@??@@?@??@@?@??@@?@@@???@@@??@@?@??@@?@??@@?@@??@?@@??@@@?@??@@?@@??@?@@??@?@@??@@@???@@@???@@@??@@?@??@@?@@??@@@???@@@?@??@@?@@??@?@@??@@@???@@@??@@?@??@@?@@??@?@@??@@@???@@@???@@@???@Zn@^r@^t@^t@^t@^t@^t@\\\\t@^t@^t@^t@^r@\\\\t@^t@LVXh@LV?@@@???@@@??@@?@??@@?@@??@?@@@??@@?@??@@?@@??@?@@??@@@???@@@??@@?@??@@?@??@@?@@??@?@@??@@@???@@@??@@?@??@@?@@??@?@@@??@@?@??@@?@??@@?@@??@?@@??@?@@??@@@??@@?@??@@?@?@@??@?@@??@@@???@@@??@@?@??@@?@??@@?@@@???@@@??@@?@??@@?@??@@?@??@@?@@@???@@@???@@@???@@@?@@??@?@@??@?@@??@@@???@@@?@??@@?@??@@?@?@@??@@@???@@@???@@@?@??@@?@??@@?@?@@??@?@@??@?@@@???@@@??@@?@?@@??@?@@??@?@@@???@@@???@BF?@??@@?@??@@?@?@@??@?@@@???@@@???@@@?@??@@?@?@??@@?@?@@??@?@?@@??@?@@??@?@@@???@?@@@???@@@?@???@@@?@??@@?@?@??@@?@?@@??@?@?@@??@?@@@???@?@@@???@?@@@???@@@?@?@??@@?@?@??@@?@?@??@@?@?@??@@?@?@??@@?@?@?@@??@?@?@@??@?@?@@??@?@?@@@???@?@?@@??@?@?@@@???@?@?@@??@?@?@@@???@?@?@@??@?@?@@@???@?@?@@??@?@?@?@@??@?@?@?@@??@?@?@??@@?@?@?@@??@?@?@?@??@@?@?@?@??@@?@?@???@?@@@?@???@?@@@?@???@?@?@@@???@?@?@?@@??@?@?@?@??@@?@?@?@???@@@?@?@???@?@@@?@???@?@?@?@??@@?@?@?@???@@@?@?@???@?@?@?@@@???@?@?@?@???@@@?@?@???@?@?@?@@??@?@?@?@???@?@?@@@?@???@?@?@?@???@@@?@?@???@?@?@?@?@??@@?@?@?@???@?@?@?@?@@??@?@?@?@???@?@?@?@?@???@@@?@?@???@?@?@?@?@???@?@?@@@???@?@?@?@?@???@?@?@?@???@?@?@?@?@??@@?@?@?@???@?@?@?@?@???@?@?@?@???@?@?@?@?@???@?@?@?@?@@??@?@?@?@???@?@?@?@?@???@?@?@?@?@???@?@?@?@???@?@?@?@?@???@?@?@?@???@?@?@?@?@???@?@?@?@?@???@?@?@?@???@?@?@?@?@???@?@A@?@?@???@?@?@?@???@?@?@?@?@???@?@?@?@???@?@?@?@?@???@A@?@?@?@???@?@?@?@???@?@?@?@?@???@?@?@?@A??@?@?@?@?@???@?@?@?@??A@?@?@?@?@???@?@?@?@???@?@?@A@?@???@?@?@?@???@?@A@?@???@?@?@?@?@???@A@?@?@???@?@?@?@??A@?@?@?@?@???@?@?@A@???@?@?@?@???@A@?@?@???@?@?@A@?@???@?@?@?@??A@?@?@?@???@?@A@?@???@?@?@?@A??@?@?@?@??A@?@?@?@???@A@?@?@???@?@?@A@???@?@?@A@???@?@?@?@A??@?@?@?@??A@?@?@?@??A@?@?@???@?@A@?@???@?@A@?@???@?@A@?@???@?@A@???@?@?@A@???@?@???@A@???@?@A@???@?@?@A@???@?@A@???@?@?@A@???@?@?@A??@?@?@A@???@?@A@???@?@A@?@???@?@A@???@?@A@???@?@A@?@???@A@?@???@A@?@???@A@?@???@A@?@?@??A@?@?@??A@?@?@??A@?@?@A??@?@?@A@???@?@A@???@?@A@???@?@A@???@A@?@???@A@?@???@A@?@??A@?@?@??A@?@?@??A@?@?@A??@?@?@A??@?@?@A@???@A@?@???@A@?@??A@?@?@??A@?@?@A??@?@?@A??@?@A@???@?@A@???@?@A??@?@A@???@?@A@???@A@?@??A@?@?@??A@?@?@A??@?@?@A??@?@A@???@?@A@???@A@Oh@Uz@Wz@Ux@Wz@Uz@EL?@??A@?@?@??A@?@?@A??@?@?@A??@?@A@???@A@?@???@A@?@??A@?@?@??A@?@?@A??@?@?@A??@?@A@???@?@A@???@A@?@???@A@?@???@A@?@??A@?@?@??A@?@?@A??@?@?@A??@?@A@???@?@A@???@A@?@???@A@?@???@A@?@??A@?@?@??A@?@?@??A@?@?@A??@?@?@A??@?@?@A??@?@A@?@???@A@?@???@A@?@??A@?@?@???@A@?@??A@?@?@??A@?@?@??A@?@?@?@A??@?@A@???@?@A@???@?@A@???@?@A@?@???@?@A@???@A@?@???@?@A@???@A@?@?@??A@?@?@???@A@?@?@??A@?@?@??A@?@?@??A@?@?@?@??A@?@?@??A@?@?@?@??A@?@?@??A@?@?@?@A??@?@?@??A@?@?@?@??A@?@?@??A@?@?@?@??A@?@?@?@???@A@?@???@A@?@?@???@?@A@?@???@A@?@???@???@?@A@???@?@?@A@???@?@?@?@A??@?@?@?@A??@?@?@?@??A@?@?@?@???@A@?@?@???@?@A@?@???@?@?@?@A??@?@?@?@??A@?@?@?@???@?@A@?@???@?@?@?@A??@?@?@?@???@A@?@?@???@?@?@?@A@???@?@?@?@???@A@?@?@???@?@?@?@A??@?@?@?@?@???@?@A@?@???@?@?@?@???@?@?@A@?@???@?@?@?@???@A@?@?@?@???@?@?@?@???@?@A@?@???@?@?@?@?@???@?@?@A@???@?@?@?@?@???@?@?@?@???@?@A@?@?@???@?@?@?@???@?@?@?@?@???@?@?@A@?@???@?@?@?@???@?@?@?@?@???@?@?@?@???@?@?@?@A@???@?@?@?@?@???@?@?@?@???@?@?@?@?@???@?@?@?@???@?@?@?@?@???@?@?@?@?@???@?@?@?@???@?@?@?@?@???@?@???@?@?@???@?@?@?@???@?@?@?@?@???@?@?@?@???@?@?@?@?@???@?@?@?@?@???@?@?@?@???@?@?@?@?@???@?@?@?@?@???@?@?@?@???@?@?@?@?@???@?@?@?@???@@@?@?@?@???@?@?@?@?@???@?@?@?@???@?@?@?@?@???@?@?@@@???@?@?@?@?@???@?@?@?@?@???@?@?@?@??@@?@?@?@?@???@?@?@?@???@?@?@?@?@@??@?@?@?@???@?@?@?@?@???@?@@@?@???@?@?@?@?@???@?@?@?@@??@?@?@?@?@???@?@?@@@???@?@?@?@???@?@?@?@???@@??@?@?@?@???@?@?@?@?@@??@?@?@?@???@?@?@@@???@?@?@?@?@???@?@@@?@???@?@?@?@???@@@?@?@?@???@?@?@@@???@?@?@?@???@?@@@?@???@?@?@?@?@@??@?@?@?@???@@@?@?@???@?@?@?@??@@?@?@?@?@???@?@@@?@???@?@?@?@??@@?@?@?@???@?@?@@@?@???@?@?@?@??@@?@?@?@???@?@?@Fd@H~@H`AH~@H~@H`AH~@J~@B`@??BX?@@@?@?@???@?@?@@@???@?@?@?@???@@@?@?@?@???@?@@@?@???@?@?@?@??@@?@?@?@???@?@@@?@???@?@?@?@@??@?@?@?@?@???@@@?@?@???@?@?@@@???@?@?@?@??@@?@?@?@???@?@?@@@???@?@?@?@??@@?@?@?@?@???@@@?@?@???@?@?@@@???@?@?@?@@??@?@?@?@???@@@?@?@???@?@?@@@???@?@?@?@@??@?@?@?@???@@@?@?@???@?@?@@@???@?@?@?@??@@?@?@?@?@??@@?@?@?@???@?@@@?@???@?@?@@@J~@J~@@D?@???@?@?@@@???@?@?@?@@??@?@?@?@???@@@?@?@???@?@@@?@???@?@?@?@@??@?@?@?@???@@@?@?@?@???@@@?@?@???@?@@@?@???@?@?@?@??@@?@?@?@???@?@@@?@???@?@?@?@@??@?@?@?@???@@@?@?@???@?@?@@@???@?@?@?@?@@??@?@?@?@???@@@?@?@???@?@?@@@???@?@?@?@??@@?@?@?@???@?@?@@@???@?@?@?@@@???@?@?@?@???@?@@@?@???@?@?@?@@??@?@?@?@???@?@@@?@?@???@?@?@@@???@?@?@Fr@H~@H~@Ff@???@?@???@?@?@?@@??@?@?@?@???@@@?@?@???@?@?@?@@@???@?@?@?@???@@@?@?@???@?@?@@@???@?@?@?@???@@@?@?@?@???@?@?@@@???@?@?@?@??@@?@?@?@???@?@?@@@???@?@?@?@??@@?@?@?@?@???@@@?@?@???@?@?@@@???@?@?@?@??@@?@?@?@???@?@@@?@???@?@?@?@@??@?@?@?@???@@@?@?@???@?@?@@@???@?@?@?@@@???@?@?@?@??@@?@?@?@???@@@?@?@???@?@@@?@???@?@?@@@???@?@?@??@@?@?@?@???@@@?@?@???@?@@@?@???@?@?@@@?????@?@?@?@@??@?@?@?@@??@?@?@?@??@@?@?@???@@@?@?@???@@@?@?@???@@@?@?@???@?@@@?@???@@@?@???@?@?@@@???@?@?@@@???@?@@@???@?@?@@@???@?@?@@@???@?@?@@??@?@?@@@???@?@?@@??@?@?@@@???@?@?@@??@?@?@?@@??@?@?@@??@?@?@@@???@?@?@@??@?@?@@@???@?@@@???@?@@@???@?@@@?@???@?@@@???@?@@@???@?@@@?@???@@@?@???@@@?@???@@@?@???@@@?@?@??@@?@?@@??@?@?@@??@?@?@@??@?@?@@??@?@?@@@???@?@@@???@@@?@???@@@?@???@@@?@??@@?@?@??@@?@?@??@@?@?@@??@?@?@@??@?@@@???@?@@@???@@@?@???@@@?@??@@?@?@@??@?@?@@??@?@@@???@?@@@???@@@???@@@?@???@@@?@??@@?@?@@??@?@@@???@@@???@?@@@???@@@?@??@@?@?@??@@?@??@@?@?@@??@?@@@???@@@???@@@?@??@@?@?@@??@?@@??@?@@@???@@@???@?@@@???@@@?@??@@?@@??@?@@@???@@@???@@@?@??@@?@??@@?@?@@??@?@@??@?@@@???@@@???@@@???@@@?@@??@?@@??@?@@@???@@@???@@@??@@?@?@@??@?@@??@@@???@@@?@??@@?@??@@?@??@@?@@@???@@@???@@@??@@?@??@@?@?@@??@?@@??@@@???@@@??@@?@??@@?@@??@?@@@???@@@??@@?@??@@?@??@@?@@??@?@@??@@@???@@@??@@?@??@@?@?@@??@@@???@@@??@@?@??@@?@@??@?@@??@@@??@@?@??@@?@@??@?@@??@@@???@@??@@@???@@@??@@?@@??@?@@??@@@???@@@??@@?@@??@?@@??@@@???@@??@@@??@@?@@??@?@@??@@@???@@??@@@??@@?@??@@?@@??@@@??@@???@@@??@@?@@??@?@@??@@??@@@???@@@??@@??@@?@@??@?@@??@@??@@@??@@?@??@@??@@?@@??@@@@@???@@@??@@?@@??@@??@@@???@@??@@@??@@?@@??@@??@?@@??@@??@@@??@@??@@?@@??@@??@?@@??@@@??@@??@@?@@??@@??@?@@??@@??@@@??@@??@@?@@??@@??@?@@??@@??@@@??@@TZd@n@b@p@d@n@d@n@b@n@d@n@HL??Z`@b@n@d@p@d@n@@B@??@??@@?@@??@@??@@@??@@??@@?@@??@??@@?@@??@@??@@@??@@??@@?@??@@??@@?@@??@@??@@@??@@?@@??@??@@?@@??@@??@@@??@@??@@?@@??@??@@?@@??@@@??@@??@@?@??@@??@@?@@??@@??@@@??@@?@??@@??@@?@@??@@??@@@???@@@??@@??@@?@@??@@??@?@@??@@@??@@??@@?@??@@?@@??@@??@@@???@@@??@@??@@?@@??@?@@??@@@??@@??@@?@??@@?@@??@@@???@@??@@@??@@?@??@@?@@??@@??@@@?@@@??@@?@??@@?@@??@@@???@@??@@@??@@?@??@@?@@??@@@???@@@???@@@??@@?@@??@?@@??@@@???@@@??@@?@@??@?@@??@?@@??@@@???@@@??@@?@??@@?@@??@?@@??@@@???@@@???@@@??@@?@??@@?@@??@?@@@???@@@??@@?@??@@?@@??@?@@??@?@@@??@@?@??@@?@??@@?@??@@?@@@???@@@???@@@??@@?@?@@??@?@@??@?@@??@?@@@??@@?@??@@?@??@@?@?@@??@?@@??@?@@@???@@@??@@?@?@@??@?@@??@?@@@???@@@???@@@?@??@@?@??@@?@?@@??@?@@??@?@@@???@@@?@??@@?@???@@@?@??@@?@@@???@?@@??@?@@@???@@@?@??@@?@???@@@?@??@@?@?@@??@?@@@???@@@?@???@@@???@@@?@???@@@?@??@@?@?@??@@?@?@@??@?@@@???@?@??@@???@@@?@???@@@?@??@@?@?@??@@?@?@??@@?@?@@??@?@?@@??@?@?@@??@?@@@???@?@@@???@?@@@?@??@@?@?@???@@@?@???@@@?@???@@@?@?@@??@?@?@@??@?@?@??@@?@?@@??@?@?@?@@??@?@@@???@?@?@@??@?@?@@@???@?@?@@??@?@?@@@???@?@??@@???@?@?@@@???@?@@@???@?@?@@@???@?@@@???@?@?@@@???@?@?@@@???@?@?@@??@?@?@?@@??@?@?@??@@?@?@?@??@@?@?@?@??@@?@?@?@??@@?@?@???@@@?@?@???@?@@@???@???@?@@@?@???@?@?@@@???@?@?@@@???@?@?@?@@??@?@?@???@@@?@?@???@?@@@?@???@?@?@@@???@?@?@?@@??@?@?@?@???@@@?@?@???@@@?@?@???@?@?@?@@??@?@?@?@?@@??@?@?@?@???@@@?@?@???@?@?@@@???@?@?@?@??@@?@?@?@???@?@@@?@???@?@?@@@???@?@?@?@???@@@?@?@?@???@?@@@?@???@?@?@?@??@@?@?@?@???@?@@@?@???@?@?@?@??@@?@?@?@?@???@@@?@?@???@?@?@?@@??@?@?@?@??Hv@H~@H~@J`AH~@BZ??@@?@?@?@?@???@?@@@?@???@?@?@@@???@?@?@?@???@@@?@?@???@?@?@@@???@?@?@?@?@??@@?@?@?@???@?@@@?@???@?@?@?@??@@?@?@?@???@?@@@?@???@?@?@?@@??@?@?@?@?@??@@?@?@?@???@@@?@?@???@?@?@?@@??@?@?@?@??@@?@?@?@???@?@?@@@???@?@?@?@@??@?@?@?@???@@@?@?@???@?@?@@@?@???@?@?@?@@??@?@?@?@???@@@?@?@???@?@@@?@???@?@?@?@@??@?@?@?@??@@?@?@?@???@?@@@?@???@?@?@@@???@?@?@?@??@@?@?@?@???@@@?@?@???@?@?@@@???@?@?@?@@??@?@?@?@???@@@?@?@???@?@@@?@???@?@?@@@???@?@?@?@@??@?@?@?@???@@@?@?@???@?@@@?@???@?@?@@@???@?@?@?@@??@?@?@?@??@@?@?@?@???@@@?@?@???@?@@@?@???@?@?@@@???@?@?@?@@??@?@?@?@??@@?@?@?@???@@@?@?@???@?@@@?@???@?@?@@@???@?@?@?@@??@?@?@?@??@@?@?@???@?@@@?@???@?@@@?@???@?@?@@@???@?@?@?@@??@?@?@?@??@@?@?@?@???@@@?@?@???@@@?@?@???@?@@@???@?@?@@@???@?@?@?@@??@?@?@?@@??@?@?@?@??@@?@?@?@??@@?@?@?@???@@@?@???@?@?@@@???@?@?@@@???@?@?@?@@??@?@?@?@@??@?@?@?@??@@?@?@???@@@?@?@???@?@@@?@???@@@?@?@???@?@@@?@???@?@?@@??@?@?@?@@??@?@?@?@@??@?@?@?@??@@?@?@?@??@@?@?@??@@?@?@?@???@@@?@?@???@@@?@?@???@?@@@???@?@?@@@???@?@?@@@???@?@?@@@???@?@?@@??@?@?@?@@??@?@?@?@@??@?@?@???@@@?@?@??@@?@?@?@???@@@?@?@???@@@?@???@?@@@?@???@?@@@?@???@?@@@???@?@?@@@???@?@?@@@???@?@?@@??@?@?@@@???@?@?@@@???@?@?@@??@?@?@?@@??@?@?@?@@??@?@?@??@@?@?@?@??@@?@?@?@??@@?@?@??@@?@?@?@??@@?@?@???@@@?@?@??@@?@?@?@???@@@?@???@@B?@???@@@?@?@???@@@?@???@@@?@?@???@@@?@???@@@?@?@???@@@?@???@?@@@?@???@?@@@?@???@@@?@???@?@@@?@???@?@@@???@?@@@?@???@?@@@???@?@@@?@???@?@@@???@?@@@?@???@?@@@???@?@?@@@???@?@@@?@???@?@@@???@?@@@?@???@?@@@???@?@@@?@???@?@@@???@?@@@?@???@@@?@???@?@@@???@?@@@?@???@?@@@???@?@@@?@???@?@@@???@?@@@?@???@@@?@???@@@?@?@???@@@?@???@@@?@?@???@@@?@???@@@?@???@@@?@?@???@@@?@???@@@?@?@??@@?@?@??@@?@?@?@??@@?@?@??@@?@?@??@@?@?@?@@??@?@?@??@@?@?@?@@??@?@?@@??@?@?@@??@?@?@@@???@?@?@@??@?@@@???@?@?@@@???@?@@@???@H\\\\P|@Rz@R|@P|@R|@R|@P|@Rz@P|@R|@R|@P|@Rz@R|@P|@R|@P|@Rz@R|@P|@R|@R|@Pz@R|@Nt@??BFP|@R|@P|@DJ?@???@@@?@???@?@@@?@???@@@?@???@@@?@?@??@@?@?@???@@@?@???@@@?@?@??@@?@?@??@@?@?@??@@?@?@?@??@@?@?@??@@?@?@?@@??@?@?@??@@?@?@?@@??@?@?@@??@?@?@??@@?@?@?@@??@?@?@@??@?@?@?@@??@?@?@@@???@?@?@@??@?@?@?@@??@?@?@???@@??@?@?@??@@?@?@?@??@@?@?@???@@@?@?@???@@@?@?@???@@@?@???@?@@@?@???@?@@@?@???@?@?@@@???@?@?@@@???@?@?@?@@??@?@?@???@@@?@?@???@?@@@?@???@?@?@@@???@?@?@?@@??@?@?@?@??@@?@?@?@???@?@@@?@???@?@?@@@???@?@?@?@?@@??@?@?@?@???@@@?@?@???@?@?@?@@??@?@?@?@???@@@?@?@???@?@?@?@@@???@?@?@?@???@?@@@?@???@?@?@?@??@@?@?@?@?@???@?@?@?@@??@?@?@?@???@?@@@?@?@???@?@?@?@???@?@?@@@?@???@?@?@?@???@?@?@@@???@?@?@?@?@???@?@?@?@@??@?@?@?@?@???@?@?@?@???@?@@@?@?@???@?@?@?@???@?@?@?@?@???@@@?@?@???@?@?@?@?@???@?@?@?@???@?@@@?@?@???@?@?@?@?@???@?@?@?@???@?@?@@@?@???@?@?@?@???@?@?@?@?@???@?@?@?@???@?@?@?@?@??@@?@?@?@?@???@?@?@?@???@?@?@?@??@\\\\B`A@`AB`AB`A@`ABl@?@?@???@?@?@?@???@?@?@?@?@???@?@?@?@???@?@?@?@?@@??@?@?@?@?@???@?@?@?@???@?@?@?@?@???@?@?@?@???@?@?@?@?@???@?@?@?@?@???@?@?@?@???@?@?@?@?@???@?@???@?@?@???@?@?@?@???@?@?@?@?@???@A@?@?@???@?@?@?@?@???@?@?@?@???@A@?@?@?@???@?@?@?@???@?@?@A@?@???@?@?@?@??A@?@?@?@???@?@?@?@A@???@?@?@?@??A@?@?@?@???@?@A@?@???@?@?@A@???@?@?@?@A??@?@?@?@??A@?@?@?@??A@?@?@???@?@A@?@???@A@?@?@???@A@?@???@A@?@?@???@A@?@???@A@?@???@A@?@?@??A@?@?@??A@?@?@???@A@?@??A@?@?@??A@?@?@A@???@?@A@???@A@???@?@A@???@A@?@??A@?@?@A??@?@?@A??@?@A??@?@A@???@A@???@A@?@??A@?@??A@?@A@???@A@???@A@?@??A@?@??A@?@A??@?@A??@?@A@??A@?@??A@?@??A@?@A??@?@A??@A@???@A@??A@?@??A@?@A??@A@???@A@??A@?@??A@??A@?@A??@?@A??@A@??A@?@A??@??A@?@A??@?@A??@A??@A@??A@?@A??@?@A??@A??@A@??A@?@??A@??A@??A@c@p@c@p@a@p@CD??_@j@c@p@c@p@c@p@c@r@A@??A@?@A??@??A@?@A??@A@???@A??@A@??A@?@A??@A??@?@A??@A@??A@???@A@??A@?@A??@?@A??@A@??A@???@A@??A@?@A??@?@A??@A@??A@?@??A@?@A??@?@A??@A@???@A@??A@?@??A@?@A??@?@A??@A@???@A@??A@?@??A@?@A??@?@A??@?@A??@A@???@A@???@A@?@A??@?@A??@A@???@CDYn@A??@?@A@??A@?@??A@?@A??@?@A??@?@A??@A@???@A@??A@?@??A@?@A??@?@A??@A@???@A@??A@?@A??@?@A??@A@???@A@??]n@QX???@A@??A@?@??A@?@A??@A@??A@?@??A@?@A??@??A@?@A??@A@???@A@??A@?@??A@?@A??@??A??@A@???@A@??A@?@A??@??A@?@A??@A@??A@??A@?@??A@?@A??@A??@A@???@A??@A@??A@??A@?@A??@A@??A@??A@?@??A@??A@?@A??@A??@A??@A@??A@??A@?@A??@A??@A@??A@???@A??@A@??A@??A@??A@?@A??@A??@A??@A@??A@??A@??A@?@A??@A??@A??@A@??A@??A@??A@?@A??@A??@A??@A@??A@??A@??A@?@A??@A??@A??@?@A?A@???@A??@??A@??A@?@A??@A??@A??@A@??A@??A@?@??A@?@A??@A??@A@??A@??A@?@??A@?@A??@A??@A@???@A@??A@??A@?@A??@?@A??@A??@?@A??@A@??A@?@A??@?@A??@A@??A@???@A@??A@?@??A@?@??A??@?@A??@ABA@??A@?@??A@?@A??@?@A@??A@?@??A@?@??A@?@A??@A@???@A@???@A?GN_@t@]t@_@t@_@t@EL\"},\"mode\":\"SUBWAY\",\"pickupBookingInfo\":null,\"pickupType\":\"SCHEDULED\",\"realTime\":false,\"realtimeState\":null,\"rentedBike\":null,\"rideHailingEstimate\":null,\"route\":{\"alerts\":[],\"color\":\"0075B2\",\"id\":\"Um91dGU6TUFSVEE6MTk0NTU\",\"longName\":\"Blue\",\"shortName\":\"Blue\",\"textColor\":\"000000\",\"type\":1},\"startTime\":1691097840000,\"steps\":[],\"to\":{\"lat\":33.754123,\"lon\":-84.391876,\"name\":\"Five Points Station\",\"rentalVehicle\":null,\"stop\":{\"alerts\":[],\"code\":\"908990\",\"gtfsId\":\"MARTA:806\",\"id\":\"U3RvcDpNQVJUQTo4MDY\"},\"vertexType\":\"TRANSIT\"},\"transitLeg\":true,\"trip\":{\"arrivalStoptime\":{\"stop\":{\"gtfsId\":\"MARTA:40\",\"id\":\"U3RvcDpNQVJUQTo0MA\"},\"stopPosition\":15},\"departureStoptime\":{\"stop\":{\"gtfsId\":\"MARTA:802\",\"id\":\"U3RvcDpNQVJUQTo4MDI\"},\"stopPosition\":1},\"gtfsId\":\"MARTA:8063445\",\"id\":\"VHJpcDpNQVJUQTo4MDYzNDQ1\",\"tripHeadsign\":\"H E HOLMES STATION\"}},{\"accessibilityScore\":null,\"agency\":null,\"arrivalDelay\":0,\"departureDelay\":0,\"distance\":93.79,\"dropoffType\":\"SCHEDULED\",\"duration\":91.0,\"endTime\":1691098771000,\"fareProducts\":[],\"from\":{\"lat\":33.754123,\"lon\":-84.391876,\"name\":\"Five Points Station\",\"rentalVehicle\":null,\"stop\":{\"alerts\":[],\"code\":\"908990\",\"gtfsId\":\"MARTA:806\",\"id\":\"U3RvcDpNQVJUQTo4MDY\"},\"vertexType\":\"TRANSIT\"},\"interlineWithPreviousLeg\":false,\"intermediateStops\":null,\"legGeometry\":{\"length\":8,\"points\":\"wp_mElvabOTcAHHc@IGEGLFDTP\"},\"mode\":\"WALK\",\"pickupBookingInfo\":null,\"pickupType\":\"SCHEDULED\",\"realTime\":false,\"realtimeState\":null,\"rentedBike\":false,\"rideHailingEstimate\":null,\"route\":null,\"startTime\":1691098680000,\"steps\":[{\"absoluteDirection\":\"EAST\",\"alerts\":[],\"area\":true,\"distance\":33.73,\"elevationProfile\":[],\"lat\":33.7538834,\"lon\":-84.3915896,\"relativeDirection\":\"DEPART\",\"stayOn\":false,\"streetName\":\"Platform 908981;908990\"},{\"absoluteDirection\":\"SOUTHWEST\",\"alerts\":[],\"area\":false,\"distance\":6.86,\"elevationProfile\":[],\"lat\":33.7537795,\"lon\":-84.3912469,\"relativeDirection\":\"RIGHT\",\"stayOn\":false,\"streetName\":\"underpass\"},{\"absoluteDirection\":\"NORTH\",\"alerts\":[],\"area\":false,\"distance\":19.89,\"elevationProfile\":[],\"lat\":33.7537299,\"lon\":-84.3912911,\"relativeDirection\":\"HARD_RIGHT\",\"stayOn\":true,\"streetName\":\"steps\"},{\"absoluteDirection\":\"NORTHEAST\",\"alerts\":[],\"area\":true,\"distance\":5.65,\"elevationProfile\":[],\"lat\":33.7539052,\"lon\":-84.3912485,\"relativeDirection\":\"SLIGHTLY_RIGHT\",\"stayOn\":false,\"streetName\":\"Broad Street Plaza\"},{\"absoluteDirection\":\"NORTHWEST\",\"alerts\":[],\"area\":false,\"distance\":27.66,\"elevationProfile\":[],\"lat\":33.7539458,\"lon\":-84.3912118,\"relativeDirection\":\"LEFT\",\"stayOn\":false,\"streetName\":\"path\"}],\"to\":{\"lat\":33.753837,\"lon\":-84.391397,\"name\":\"Five Points Station (908981)\",\"rentalVehicle\":null,\"stop\":null,\"vertexType\":\"NORMAL\"},\"transitLeg\":false,\"trip\":null}],\"startTime\":1691097431000,\"waitingTime\":0,\"walkTime\":500},{\"accessibilityScore\":null,\"duration\":1340,\"endTime\":1691099671000,\"legs\":[{\"accessibilityScore\":null,\"agency\":null,\"arrivalDelay\":0,\"departureDelay\":0,\"distance\":493.51,\"dropoffType\":\"SCHEDULED\",\"duration\":409.0,\"endTime\":1691098740000,\"fareProducts\":[],\"from\":{\"lat\":33.77505,\"lon\":-84.300178,\"name\":\"Opus Music Store, Decatur, GA\",\"rentalVehicle\":null,\"stop\":null,\"vertexType\":\"NORMAL\"},\"interlineWithPreviousLeg\":false,\"intermediateStops\":null,\"legGeometry\":{\"length\":29,\"points\":\"aucmEdzoaO~AACc@?S?QAm@?q@?U?E?C?U?U?CRAAgD@s@BO?SDa@C]ESCA@OA_A?[AOAgA]aC??\"},\"mode\":\"WALK\",\"pickupBookingInfo\":null,\"pickupType\":\"SCHEDULED\",\"realTime\":false,\"realtimeState\":null,\"rentedBike\":false,\"rideHailingEstimate\":null,\"route\":null,\"startTime\":1691098331000,\"steps\":[{\"absoluteDirection\":\"SOUTH\",\"alerts\":[],\"area\":false,\"distance\":53.03,\"elevationProfile\":[],\"lat\":33.7750523,\"lon\":-84.3000227,\"relativeDirection\":\"DEPART\",\"stayOn\":false,\"streetName\":\"Ponce de Leon Place\"},{\"absoluteDirection\":\"EAST\",\"alerts\":[],\"area\":false,\"distance\":115.73,\"elevationProfile\":[],\"lat\":33.7745754,\"lon\":-84.3000126,\"relativeDirection\":\"LEFT\",\"stayOn\":false,\"streetName\":\"Swanton Way\"},{\"absoluteDirection\":\"SOUTH\",\"alerts\":[],\"area\":false,\"distance\":10.98,\"elevationProfile\":[],\"lat\":33.774606,\"lon\":-84.2987621,\"relativeDirection\":\"RIGHT\",\"stayOn\":false,\"streetName\":\"path\"},{\"absoluteDirection\":\"EAST\",\"alerts\":[],\"area\":false,\"distance\":161.01,\"elevationProfile\":[],\"lat\":33.7745073,\"lon\":-84.2987593,\"relativeDirection\":\"LEFT\",\"stayOn\":true,\"streetName\":\"sidewalk\"},{\"absoluteDirection\":\"EAST\",\"alerts\":[],\"area\":false,\"distance\":49.88,\"elevationProfile\":[],\"lat\":33.7745226,\"lon\":-84.2970412,\"relativeDirection\":\"SLIGHTLY_RIGHT\",\"stayOn\":true,\"streetName\":\"path\"},{\"absoluteDirection\":\"EAST\",\"alerts\":[],\"area\":false,\"distance\":40.34,\"elevationProfile\":[],\"lat\":33.7745217,\"lon\":-84.2965016,\"relativeDirection\":\"CONTINUE\",\"stayOn\":false,\"streetName\":\"Sycamore Street\"},{\"absoluteDirection\":\"EAST\",\"alerts\":[],\"area\":true,\"distance\":62.55,\"elevationProfile\":[],\"lat\":33.7745401,\"lon\":-84.2960662,\"relativeDirection\":\"CONTINUE\",\"stayOn\":false,\"streetName\":\"Decatur MARTA Plaza\"}],\"to\":{\"lat\":33.774699,\"lon\":-84.295417,\"name\":\"Decatur Station\",\"rentalVehicle\":null,\"stop\":{\"alerts\":[],\"code\":\"908475\",\"gtfsId\":\"MARTA:193\",\"id\":\"U3RvcDpNQVJUQToxOTM\"},\"vertexType\":\"TRANSIT\"},\"transitLeg\":false,\"trip\":null},{\"accessibilityScore\":null,\"agency\":{\"alerts\":[],\"id\":\"QWdlbmN5Ok1BUlRBOk1BUlRB\",\"name\":\"Metropolitan Atlanta Rapid Transit Authority\",\"timezone\":\"America/New_York\",\"url\":\"https://www.itsmarta.com\"},\"arrivalDelay\":0,\"departureDelay\":0,\"distance\":10171.43,\"dropoffType\":\"SCHEDULED\",\"duration\":840.0,\"endTime\":1691099580000,\"fareProducts\":[{\"id\":\"92db3f41-acee-382c-83e6-1066c27fb2a5\",\"product\":{\"__typename\":\"DefaultFareProduct\",\"id\":\"atlanta:electronicSpecial\",\"medium\":null,\"name\":\"electronicSpecial\",\"riderCategory\":null,\"price\":{\"amount\":2.5,\"currency\":{\"code\":\"USD\",\"digits\":2}}}},{\"id\":\"2c03a0af-5d78-3bc8-b866-ce8db65e16ef\",\"product\":{\"__typename\":\"DefaultFareProduct\",\"id\":\"atlanta:regular\",\"medium\":null,\"name\":\"regular\",\"riderCategory\":null,\"price\":{\"amount\":2.5,\"currency\":{\"code\":\"USD\",\"digits\":2}}}},{\"id\":\"da7a6039-acc8-3fd5-a9a2-ea3445c2470b\",\"product\":{\"__typename\":\"DefaultFareProduct\",\"id\":\"atlanta:electronicSenior\",\"medium\":null,\"name\":\"electronicSenior\",\"riderCategory\":null,\"price\":{\"amount\":2.5,\"currency\":{\"code\":\"USD\",\"digits\":2}}}},{\"id\":\"c2893187-c0f2-3ec6-a694-6fb2674d5d44\",\"product\":{\"__typename\":\"DefaultFareProduct\",\"id\":\"atlanta:electronicRegular\",\"medium\":null,\"name\":\"electronicRegular\",\"riderCategory\":null,\"price\":{\"amount\":2.5,\"currency\":{\"code\":\"USD\",\"digits\":2}}}},{\"id\":\"be9b3bce-31d7-3c52-99be-46f61341e6e7\",\"product\":{\"__typename\":\"DefaultFareProduct\",\"id\":\"atlanta:senior\",\"medium\":null,\"name\":\"senior\",\"riderCategory\":null,\"price\":{\"amount\":0.0,\"currency\":{\"code\":\"USD\",\"digits\":2}}}},{\"id\":\"282abd01-1c14-300e-827b-d1c5a98c1abb\",\"product\":{\"__typename\":\"DefaultFareProduct\",\"id\":\"atlanta:electronicYouth\",\"medium\":null,\"name\":\"electronicYouth\",\"riderCategory\":null,\"price\":{\"amount\":2.5,\"currency\":{\"code\":\"USD\",\"digits\":2}}}},{\"id\":\"0e7fc790-21fe-3ef0-b1e3-02623f99bcf6\",\"product\":{\"__typename\":\"DefaultFareProduct\",\"id\":\"atlanta:youth\",\"medium\":null,\"name\":\"youth\",\"riderCategory\":null,\"price\":{\"amount\":0.0,\"currency\":{\"code\":\"USD\",\"digits\":2}}}}],\"from\":{\"lat\":33.774699,\"lon\":-84.295417,\"name\":\"Decatur Station\",\"rentalVehicle\":null,\"stop\":{\"alerts\":[],\"code\":\"908475\",\"gtfsId\":\"MARTA:193\",\"id\":\"U3RvcDpNQVJUQToxOTM\"},\"vertexType\":\"TRANSIT\"},\"interlineWithPreviousLeg\":false,\"intermediateStops\":[{\"lat\":33.765196,\"locationType\":\"STOP\",\"lon\":-84.313426,\"name\":\"East Lake Station\",\"stopCode\":\"908567\",\"stopId\":\"U3RvcDpNQVJUQToxODY\"},{\"lat\":33.761803,\"locationType\":\"STOP\",\"lon\":-84.340825,\"name\":\"Edgewood-Candler Park Station\",\"stopCode\":\"908476\",\"stopId\":\"U3RvcDpNQVJUQToxOTU\"},{\"lat\":33.757227,\"locationType\":\"STOP\",\"lon\":-84.353066,\"name\":\"Inman Park-Reynoldstown Station\",\"stopCode\":\"908692\",\"stopId\":\"U3RvcDpNQVJUQTo4MDQ\"},{\"lat\":33.749853,\"locationType\":\"STOP\",\"lon\":-84.37599,\"name\":\"King Memorial Station\",\"stopCode\":\"908693\",\"stopId\":\"U3RvcDpNQVJUQTo4MDU\"},{\"lat\":33.750161,\"locationType\":\"STOP\",\"lon\":-84.385915,\"name\":\"Georgia State Station\",\"stopCode\":\"908618\",\"stopId\":\"U3RvcDpNQVJUQToxOTg\"}],\"legGeometry\":{\"length\":8591,\"points\":\"{rcmEj}naO?D?`AA`A?`A?~@A`A?J???@?@?@???@?@?@?@???@?@?@?@?@???@?@?@?@???@?@?@?@?@???@?@?@?@?@???@?@?@?@???@?@?@?@?@???@?@?@?@?@???@?@?@?@???@?@?@?@?@???@?@?@?@?@???@?@?@?@???@?@?@?@?@???@?@?@?@?@???@?@?@?@???@?@?@?@?@???@?@?@?@???@?@?@?@?@???@?@?@?@?@??@@?@?@?@???@?@?@?@?@???@?@?@?@?@???@?@?@?@???@?@?@?@?@???@?@?@?@???@?@@@?@?@???@?@?@?@?@???@?@?@?@???@?@?@?@?@???@@@?@?@???@?@?@?@?@???@?@?@?@???@?@@@?@?@???@?@?@?@???@?@?@@@?@???@?@?@?@???@?@?@?@?@??@@?@?@?@???@?@?@?@?@@??@?@?@?@???@?@?@?@??@@?@?@?@?@???@?@?@@@???@?@?@?@???@?@@@?@?@???@?@?@?@@??@?@?@?@???@?@@@?@???@?@?@?@@@???@?@?@?@??@@?@?@?@???@?@@@?@???@?@?@@@???@?@?@?@??@@?@?@?@???@@@?@?@???@?@@@?@???@?@?@@@???@?@?@?@@??@?@?@??@@?@?@?@???@@@?@?@???@@@?@?@???@@@?@?@???@@@?@???@?@@@?@???@?@@@?@???@?@@@???@?@?@@@???@?@@@???@?@?@@@???@?@@@???@?@@@?@???@?@@@???@?@@@?@???@?@@@???@?@@@???@?@@@?@???@@@?@???@@@?@???@@@?@?@@??@?@?@??@@?@?@@??@?@?@@??@?@?@@??@?@?@@??@?@@@?@???@@@?@???@@@?@??@@?@?@??@@?@?@@??@?@?@@??@?@@??@?@@@???@?@@@???@@@?@??@@?@?@??@@?@?@@??@?@@??@?@?@@??@?@@@???@@@?@??@@?@??@@?@?@@??@?@@@???@@@?@??@@?@??@@?@?@@??@?@@??@?@@@???@@@???@@@?@??@@?@??@@?@@@???@?@@??@@@?@??@@?@??@@?@??@@?@?@@??@@@???@@@???@@@?@??@@?@@??@?@@??@?@@??@@@?@??@@?@??@@?@@??@?@@??@?@@??@@@???@@@??@@?@?@@??@@@???@@@??@@?@??@@?@@??@?@@??@@@???@@@??@@?@??@@?@@??@?@@??@@@??@@???@@@??@@?@??@@?@@??@@@???@@@??@@?@@??@??@@?@@??@@@???@@@??@@?@@??@??@@?@@??@@@??@@???@@@??@@?@@??@@??@?@@??@@@??@@??@@?@??@@?@@??@@??@@@??@@??@@?@??@@??@@?@@??@@@??@@??@@?@@??@??@@?@@??@@??@@??@@@??@@??@@?@@??@@??@@@???@@??@@??@@@??@@??@@?@@??@@??@@??@@@??@@??@@??@@?@@??@@??@@??@@??@@@??@@??@@??@@?@@??@@??@@??@@??@@??@@@??@@@??@??@@??@@@??@@@??@@??@@??@@??@@??@@??@@?@@??@@??@@?@@??@@??@@??@@??@@??@@??@@??@@@??@@@??@@??@@??@@??@@??@@@??@@??@@??@@??@@??@@?@@??@@??@@??@@??@@??@@@???@@??@@??@@@??@@??@@??@@??@@?@@??@@??@@??@?@@??@@??@@??@@??@@@??@@??@@???@@@??@@??@@??@@?@@??@??@@??@@?@@??@@??@?@@??@@??@@??@?@@??@@??@@@???@@??@@??@@@???@@??@@@??@@???@@@??@@???@@??@??@@??@@?@??@@??@@?@??@@??@@?@??@@??@@?@??@@??@@?@??@@???@@@??@@???@@@??@@???@@@???@@??@@@???@@@???@@??@@@???@@??@?@@??@@@???@@??@?@@??@??@@?@@??@?@@??@??@@?@??@@???@@@??@@?@??@@???@@@???@@@???@@??@?@@??@?@@??@?@@??@@??@?@@??@??@@?@??@@?@??@@???@@@???@@@???@@??@?@@??@?@@??@?@@??@??@@?@??@@?@??@@?@??@@???@@@???@@??@?@@??@?@??@@???@@@???@@@???@@@???@@??@?@@??@?@@??@??@@?@??@@?@??@@?@??@@?@??@@???@??@XJr@Xp@Xp@Xp@Xr@Xn@V@@??@??@@?@??@@?@???@@??@?@@??@?@@??@?@@??@??@@?@??@@?@??@@???@@@???@@@???@@??@?@@??@?@@??@?@@??@??@@?@??@@?@??@@???@@@???@@@???@@@???@@??@?@@??@??@@?@??@@?@??@@???@@@???@@@???@@??@@@???@@@???@@??@?@@??@??@@?@@??@?@@??@??@@?@??@@??@@?@??@@?@??@@??@@?@??@@???@@@??@@???@@@??@@?@??@@???@@@??@@???@@@??@@???@@@??@@???@@@??@@??@@???@@@??@@???@??@@??@@??@@?@??@@??@@??@@?@??@@??@@?@@??@@??@??@@?@@??@@??@@??@?@@??@@??@@??@@@??@@??@@???@@@??@@??@@??@@??@@?@@??@@??@@??FF@??@@??@@?@@??@@??@@??@@??@@??@@??@@@??@@??@@??@@??@@??@@??@@?@@DF@??@@??@@??@@??@@??@@@??@@??@@??@@??@@?@@??@@??@@??@@?@@?@@??@@??@@??@@??@?@@??@@??@@??@@@??@@??@@?@@??@@??@@??@@@??@@??@@?@@??@@??@@@??@@???@@@??@@??@@?@@??@@??@@@???@@??@@@??@@??@@?@@??@?@@??@@??@@@??@@?@??@@??@@?@@??@@@??@@?@??@@??@@?@??@@?@??@??@@@???@@@??@@??@@?@??@@?@@??@?@@??@@@??@@?@??@@?@@??@?@@??@@@??@@?@??@@?@@??@?@@??@?@@??@@@???@@@??@@?@??@@?@@??@?@@??@@@?@??@@?@??@@?@??@@?@@??@?@@??@@@???@@@?@??@@?@@??@?@@??@?@@??@@@?@??@@?@??@@?@@??@?@@??@?@@@??@@?@??@@?@??@@?@??@@?@?@@??@@@???@@@???@@@?@@??@?@@??@?@@??@?@@@??@@?@???@@??@@@?@??@@?@??@@?@??@@?@@@???@@@???@@@???@@@?@@??@?@@??@?@@??@?@@@???@@@??@@?@??@@?@?@@??@?@@??@?@@@???@@@??@@?@?@@??@?@@??@?@@??@?@@@???@@@?@??@@?@??@@?@?@@??@?@@??@?@@@???@@@?@???@??@@???@@@?@??@@?@?@@??@?@?@@??@?@@@???@@@?@???@@@?@??@@?@???@@@?@?@@??@?@?@@??@?@?@@??@?@?@@??@?@@@???@?@@@???@?@@@???@?@@@?@???@@@?@???@@@?@???@@@?@?@???@@@?@???@@@?@?@???@@@?@???@?@@@?@???@?@@@?@???@@@?@???@?@?@@@???@?@?@@@???@?@?@@@???@?@?@?@@??@?@?@?@@??@?@?@???@?@@@?@???@?@?@@@?@???@?@?@?@@??@?@?@?@???@@@?@?@???@?@?@@@???@?@?@?@???@?@@@?@?@???@?@?@@@???@?@?@?@???@?@?@?@@@???@?@?@?@???@?@@@?@???@?@?@?@?@???@?@?@@@???@?@?@?@?@???@?@?@?@@??@?@?@?@?@???@?@?@?@???@@@?@?@?@???@?@?@?@???@?@?@@@???@?@Dx@B~@F`AD`AD`AD~@D`ABh@??@VD~@Bt@???@?@?@@@???@?@?@?@?@???@?@?@?@??@@?@?@?@?@???@?@?@?@???@@@?@?@?@???@?@?@?@???@?@?@@@???@?@?@?@?@???@?@?@@@???@?@?@?@?@???@?@?@?@??@@?@?@?@?@???@?@?@?@@??@?@?@?@???@?@?@?@?@@??@?@?@?@???@?@?@@@?@???@?@?@?@???@@@?@?@???@?@?@?@??@@?@?@?@?@???@@@?@?@???@?@?@?@??@@?@?@?@???@?@@@?@???@?@?@?@@@???@?@?@?@??@@?@?@?@???@?@@@?@?????@?@?@@@???@?@?@?@@??@?@?@?@??@@?@?@???@@@?@?@???@@@?@?@???@@@?@?@???@?@@@?@???@?@@@???@?@?@@@???@?@@@???@?@?@@@???@?@?@@??@?@?@@@???@?@@@???@?@@@?@???@?@@@???@?@@@?@???@@@?@???@@@?@???@@@?@???@@@?@???@@@?@?@@??@?@?@??@B?@@??@?@@@???@?@@@???@@@?@???@@@?@??@@?@?@??@@?@?@@??@?@@??@?@?@@??@?@@@???@@@?@????@@?@???@@@?@??@@?@?@@??@?@@??@?@@@???@@@?@??@@?@??@@?@?@@??@?@@??@?@@@???@@@???@@@?@@??@?@@??@?@@??@?@@@???@@@???@@@?@@??@?@@??@?@@??@?@@@??@@?@??@@?@??@@?@??@@?@@@???@@@???@@@??@@?@??@@?@??@@?@@@???@@@??@@?@??@@?@??@@?@@??@?@@??@@@?@??@@?@@??@?@@??@?@@??@@@???@@@???@@@??@@?@??@@?@@??@@@???@@@?@??@@?@@??@?@@??@@@???@@@??@@?@??@@?@@??@?@@??@@@???@@@???@@@???@Zn@^r@^t@^t@^t@^t@^t@\\\\t@^t@^t@^t@^r@\\\\t@^t@LVXh@LV?@@@???@@@??@@?@??@@?@@??@?@@@??@@?@??@@?@@??@?@@??@@@???@@@??@@?@??@@?@??@@?@@??@?@@??@@@???@@@??@@?@??@@?@@??@?@@@??@@?@??@@?@??@@?@@??@?@@??@?@@??@@@??@@?@??@@?@?@@??@?@@??@@@???@@@??@@?@??@@?@??@@?@@@???@@@??@@?@??@@?@??@@?@??@@?@@@???@@@???@@@???@@@?@@??@?@@??@?@@??@@@???@@@?@??@@?@??@@?@?@@??@@@???@@@???@@@?@??@@?@??@@?@?@@??@?@@??@?@@@???@@@??@@?@?@@??@?@@??@?@@@???@@@???@BF?@??@@?@??@@?@?@@??@?@@@???@@@???@@@?@??@@?@?@??@@?@?@@??@?@?@@??@?@@??@?@@@???@?@@@???@@@?@???@@@?@??@@?@?@??@@?@?@@??@?@?@@??@?@@@???@?@@@???@?@@@???@@@?@?@??@@?@?@??@@?@?@??@@?@?@??@@?@?@??@@?@?@?@@??@?@?@@??@?@?@@??@?@?@@@???@?@?@@??@?@?@@@???@?@?@@??@?@?@@@???@?@?@@??@?@?@@@???@?@?@@??@?@?@?@@??@?@?@?@@??@?@?@??@@?@?@?@@??@?@?@?@??@@?@?@?@??@@?@?@???@?@@@?@???@?@@@?@???@?@?@@@???@?@?@?@@??@?@?@?@??@@?@?@?@???@@@?@?@???@?@@@?@???@?@?@?@??@@?@?@?@???@@@?@?@???@?@?@?@@@???@?@?@?@???@@@?@?@???@?@?@?@@??@?@?@?@???@?@?@@@?@???@?@?@?@???@@@?@?@???@?@?@?@?@??@@?@?@?@???@?@?@?@?@@??@?@?@?@???@?@?@?@?@???@@@?@?@???@?@?@?@?@???@?@?@@@???@?@?@?@?@???@?@?@?@???@?@?@?@?@??@@?@?@?@???@?@?@?@?@???@?@?@?@???@?@?@?@?@???@?@?@?@?@@??@?@?@?@???@?@?@?@?@???@?@?@?@?@???@?@?@?@???@?@?@?@?@???@?@?@?@???@?@?@?@?@???@?@?@?@?@???@?@?@?@???@?@?@?@?@???@?@A@?@?@???@?@?@?@???@?@?@?@?@???@?@?@?@???@?@?@?@?@???@A@?@?@?@???@?@?@?@???@?@?@?@?@???@?@?@?@A??@?@?@?@?@???@?@?@?@??A@?@?@?@?@???@?@?@?@???@?@?@A@?@???@?@?@?@???@?@A@?@???@?@?@?@?@???@A@?@?@???@?@?@?@??A@?@?@?@?@???@?@?@A@???@?@?@?@???@A@?@?@???@?@?@A@?@???@?@?@?@??A@?@?@?@???@?@A@?@???@?@?@?@A??@?@?@?@??A@?@?@?@???@A@?@?@???@?@?@A@???@?@?@A@???@?@?@?@A??@?@?@?@??A@?@?@?@??A@?@?@???@?@A@?@???@?@A@?@???@?@A@?@???@?@A@???@?@?@A@???@?@???@A@???@?@A@???@?@?@A@???@?@A@???@?@?@A@???@?@?@A??@?@?@A@???@?@A@???@?@A@?@???@?@A@???@?@A@???@?@A@?@???@A@?@???@A@?@???@A@?@???@A@?@?@??A@?@?@??A@?@?@??A@?@?@A??@?@?@A@???@?@A@???@?@A@???@?@A@???@A@?@???@A@?@???@A@?@??A@?@?@??A@?@?@??A@?@?@A??@?@?@A??@?@?@A@???@A@?@???@A@?@??A@?@?@??A@?@?@A??@?@?@A??@?@A@???@?@A@???@?@A??@?@A@???@?@A@???@A@?@??A@?@?@??A@?@?@A??@?@?@A??@?@A@???@?@A@???@A@Oh@Uz@Wz@Ux@Wz@Uz@EL?@??A@?@?@??A@?@?@A??@?@?@A??@?@A@???@A@?@???@A@?@??A@?@?@??A@?@?@A??@?@?@A??@?@A@???@?@A@???@A@?@???@A@?@???@A@?@??A@?@?@??A@?@?@A??@?@?@A??@?@A@???@?@A@???@A@?@???@A@?@???@A@?@??A@?@?@??A@?@?@??A@?@?@A??@?@?@A??@?@?@A??@?@A@?@???@A@?@???@A@?@??A@?@?@???@A@?@??A@?@?@??A@?@?@??A@?@?@?@A??@?@A@???@?@A@???@?@A@???@?@A@?@???@?@A@???@A@?@???@?@A@???@A@?@?@??A@?@?@???@A@?@?@??A@?@?@??A@?@?@??A@?@?@?@??A@?@?@??A@?@?@?@??A@?@?@??A@?@?@?@A??@?@?@??A@?@?@?@??A@?@?@??A@?@?@?@??A@?@?@?@???@A@?@???@A@?@?@???@?@A@?@???@A@?@???@???@?@A@???@?@?@A@???@?@?@?@A??@?@?@?@A??@?@?@?@??A@?@?@?@???@A@?@?@???@?@A@?@???@?@?@?@A??@?@?@?@??A@?@?@?@???@?@A@?@???@?@?@?@A??@?@?@?@???@A@?@?@???@?@?@?@A@???@?@?@?@???@A@?@?@???@?@?@?@A??@?@?@?@?@???@?@A@?@???@?@?@?@???@?@?@A@?@???@?@?@?@???@A@?@?@?@???@?@?@?@???@?@A@?@???@?@?@?@?@???@?@?@A@???@?@?@?@?@???@?@?@?@???@?@A@?@?@???@?@?@?@???@?@?@?@?@???@?@?@A@?@???@?@?@?@???@?@?@?@?@???@?@?@?@???@?@?@?@A@???@?@?@?@?@???@?@?@?@???@?@?@?@?@???@?@?@?@???@?@?@?@?@???@?@?@?@?@???@?@?@?@???@?@?@?@?@???@?@???@?@?@???@?@?@?@???@?@?@?@?@???@?@?@?@???@?@?@?@?@???@?@?@?@?@???@?@?@?@???@?@?@?@?@???@?@?@?@?@???@?@?@?@???@?@?@?@?@???@?@?@?@???@@@?@?@?@???@?@?@?@?@???@?@?@?@???@?@?@?@?@???@?@?@@@???@?@?@?@?@???@?@?@?@?@???@?@?@?@??@@?@?@?@?@???@?@?@?@???@?@?@?@?@@??@?@?@?@???@?@?@?@?@???@?@@@?@???@?@?@?@?@???@?@?@?@@??@?@?@?@?@???@?@?@@@???@?@?@?@???@?@?@?@???@@??@?@?@?@???@?@?@?@?@@??@?@?@?@???@?@?@@@???@?@?@?@?@???@?@@@?@???@?@?@?@???@@@?@?@?@???@?@?@@@???@?@?@?@???@?@@@?@???@?@?@?@?@@??@?@?@?@???@@@?@?@???@?@?@?@??@@?@?@?@?@???@?@@@?@???@?@?@?@??@@?@?@?@???@?@?@@@?@???@?@?@?@??@@?@?@?@???@?@?@Fd@H~@H`AH~@H~@H`AH~@J~@B`@??BX?@@@?@?@???@?@?@@@???@?@?@?@???@@@?@?@?@???@?@@@?@???@?@?@?@??@@?@?@?@???@?@@@?@???@?@?@?@@??@?@?@?@?@???@@@?@?@???@?@?@@@???@?@?@?@??@@?@?@?@???@?@?@@@???@?@?@?@??@@?@?@?@?@???@@@?@?@???@?@?@@@???@?@?@?@@??@?@?@?@???@@@?@?@???@?@?@@@???@?@?@?@@??@?@?@?@???@@@?@?@???@?@?@@@???@?@?@?@??@@?@?@?@?@??@@?@?@?@???@?@@@?@???@?@?@@@J~@J~@@D?@???@?@?@@@???@?@?@?@@??@?@?@?@???@@@?@?@???@?@@@?@???@?@?@?@@??@?@?@?@???@@@?@?@?@???@@@?@?@???@?@@@?@???@?@?@?@??@@?@?@?@???@?@@@?@???@?@?@?@@??@?@?@?@???@@@?@?@???@?@?@@@???@?@?@?@?@@??@?@?@?@???@@@?@?@???@?@?@@@???@?@?@?@??@@?@?@?@???@?@?@@@???@?@?@?@@@???@?@?@?@???@?@@@?@???@?@?@?@@??@?@?@?@???@?@@@?@?@???@?@?@@@???@?@?@Fr@H~@H~@Ff@???@?@???@?@?@?@@??@?@?@?@???@@@?@?@???@?@?@?@@@???@?@?@?@???@@@?@?@???@?@?@@@???@?@?@?@???@@@?@?@?@???@?@?@@@???@?@?@?@??@@?@?@?@???@?@?@@@???@?@?@?@??@@?@?@?@?@???@@@?@?@???@?@?@@@???@?@?@?@??@@?@?@?@???@?@@@?@???@?@?@?@@??@?@?@?@???@@@?@?@???@?@?@@@???@?@?@?@@@???@?@?@?@??@@?@?@?@???@@@?@?@???@?@@@?@???@?@?@@@???@?@?@??@@?@?@?@???@@@?@?@???@?@@@?@???@?@?@@@?????@?@?@?@@??@?@?@?@@??@?@?@?@??@@?@?@???@@@?@?@???@@@?@?@???@@@?@?@???@?@@@?@???@@@?@???@?@?@@@???@?@?@@@???@?@@@???@?@?@@@???@?@?@@@???@?@?@@??@?@?@@@???@?@?@@??@?@?@@@???@?@?@@??@?@?@?@@??@?@?@@??@?@?@@@???@?@?@@??@?@?@@@???@?@@@???@?@@@???@?@@@?@???@?@@@???@?@@@???@?@@@?@???@@@?@???@@@?@???@@@?@???@@@?@?@??@@?@?@@??@?@?@@??@?@?@@??@?@?@@??@?@?@@@???@?@@@???@@@?@???@@@?@???@@@?@??@@?@?@??@@?@?@??@@?@?@@??@?@?@@??@?@@@???@?@@@???@@@?@???@@@?@??@@?@?@@??@?@?@@??@?@@@???@?@@@???@@@???@@@?@???@@@?@??@@?@?@@??@?@@@???@@@???@?@@@???@@@?@??@@?@?@??@@?@??@@?@?@@??@?@@@???@@@???@@@?@??@@?@?@@??@?@@??@?@@@???@@@???@?@@@???@@@?@??@@?@@??@?@@@???@@@???@@@?@??@@?@??@@?@?@@??@?@@??@?@@@???@@@???@@@???@@@?@@??@?@@??@?@@@???@@@???@@@??@@?@?@@??@?@@??@@@???@@@?@??@@?@??@@?@??@@?@@@???@@@???@@@??@@?@??@@?@?@@??@?@@??@@@???@@@??@@?@??@@?@@??@?@@@???@@@??@@?@??@@?@??@@?@@??@?@@??@@@???@@@??@@?@??@@?@?@@??@@@???@@@??@@?@??@@?@@??@?@@??@@@??@@?@??@@?@@??@?@@??@@@???@@??@@@???@@@??@@?@@??@?@@??@@@???@@@??@@?@@??@?@@??@@@???@@??@@@??@@?@@??@?@@??@@@???@@??@@@??@@?@??@@?@@??@@@??@@???@@@??@@?@@??@?@@??@@??@@@???@@@??@@??@@?@@??@?@@??@@??@@@??@@?@??@@??@@?@@??@@@@@???@@@??@@?@@??@@??@@@???@@??@@@??@@?@@??@@??@?@@??@@??@@@??@@??@@?@@??@@??@?@@??@@@??@@??@@?@@??@@??@?@@??@@??@@@??@@??@@?@@??@@??@?@@??@@??@@@??@@TZd@n@b@p@d@n@d@n@b@n@d@n@HL??Z`@b@n@d@p@d@n@@B@??@??@@?@@??@@??@@@??@@??@@?@@??@??@@?@@??@@??@@@??@@??@@?@??@@??@@?@@??@@??@@@??@@?@@??@??@@?@@??@@??@@@??@@??@@?@@??@??@@?@@??@@@??@@??@@?@??@@??@@?@@??@@??@@@??@@?@??@@??@@?@@??@@??@@@???@@@??@@??@@?@@??@@??@?@@??@@@??@@??@@?@??@@?@@??@@??@@@???@@@??@@??@@?@@??@?@@??@@@??@@??@@?@??@@?@@??@@@???@@??@@@??@@?@??@@?@@??@@??@@@?@@@??@@?@??@@?@@??@@@???@@??@@@??@@?@??@@?@@??@@@???@@@???@@@??@@?@@??@?@@??@@@???@@@??@@?@@??@?@@??@?@@??@@@???@@@??@@?@??@@?@@??@?@@??@@@???@@@???@@@??@@?@??@@?@@??@?@@@???@@@??@@?@??@@?@@??@?@@??@?@@@??@@?@??@@?@??@@?@??@@?@@@???@@@???@@@??@@?@?@@??@?@@??@?@@??@?@@@??@@?@??@@?@??@@?@?@@??@?@@??@?@@@???@@@??@@?@?@@??@?@@??@?@@@???@@@???@@@?@??@@?@??@@?@?@@??@?@@??@?@@@???@@@?@??@@?@???@@@?@??@@?@@@???@?@@??@?@@@???@@@?@??@@?@???@@@?@??@@?@?@@??@?@@@???@@@?@???@@@???@@@?@???@@@?@??@@?@?@??@@?@?@@??@?@@@???@?@??@@???@@@?@???@@@?@??@@?@?@??@@?@?@??@@?@?@@??@?@?@@??@?@?@@??@?@@@???@?@@@???@?@@@?@??@@?@?@???@@@?@???@@@?@???@@@?@?@@??@?@?@@??@?@?@??@@?@?@@??@?@?@?@@??@?@@@???@?@?@@??@?@?@@@???@?@?@@??@?@?@@@???@?@??@@???@?@?@@@???@?@@@???@?@?@@@???@?@@@???@?@?@@@???@?@?@@@???@?@?@@??@?@?@?@@??@?@?@??@@?@?@?@??@@?@?@?@??@@?@?@?@??@@?@?@???@@@?@?@???@?@@@???@???@?@@@?@???@?@?@@@???@?@?@@@???@?@?@?@@??@?@?@???@@@?@?@???@?@@@?@???@?@?@@@???@?@?@?@@??@?@?@?@???@@@?@?@???@@@?@?@???@?@?@?@@??@?@?@?@?@@??@?@?@?@???@@@?@?@???@?@?@@@???@?@?@?@??@@?@?@?@???@?@@@?@???@?@?@@@???@?@?@?@???@@@?@?@?@???@?@@@?@???@?@?@?@??@@?@?@?@???@?@@@?@???@?@?@?@??@@?@?@?@?@???@@@?@?@???@?@?@?@@??@?@?@?@??Hv@H~@H~@J`AH~@BZ??@@?@?@?@?@???@?@@@?@???@?@?@@@???@?@?@?@???@@@?@?@???@?@?@@@???@?@?@?@?@??@@?@?@?@???@?@@@?@???@?@?@?@??@@?@?@?@???@?@@@?@???@?@?@?@@??@?@?@?@?@??@@?@?@?@???@@@?@?@???@?@?@?@@??@?@?@?@??@@?@?@?@???@?@?@@@???@?@?@?@@??@?@?@?@???@@@?@?@???@?@?@@@?@???@?@?@?@@??@?@?@?@???@@@?@?@???@?@@@?@???@?@?@?@@??@?@?@?@??@@?@?@?@???@?@@@?@???@?@?@@@???@?@?@?@??@@?@?@?@???@@@?@?@???@?@?@@@???@?@?@?@@??@?@?@?@???@@@?@?@???@?@@@?@???@?@?@@@???@?@?@?@@??@?@?@?@???@@@?@?@???@?@@@?@???@?@?@@@???@?@?@?@@??@?@?@?@??@@?@?@?@???@@@?@?@???@?@@@?@???@?@?@@@???@?@?@?@@??@?@?@?@??@@?@?@?@???@@@?@?@???@?@@@?@???@?@?@@@???@?@?@?@@??@?@?@?@??@@?@?@???@?@@@?@???@?@@@?@???@?@?@@@???@?@?@?@@??@?@?@?@??@@?@?@?@???@@@?@?@???@@@?@?@???@?@@@???@?@?@@@???@?@?@?@@??@?@?@?@@??@?@?@?@??@@?@?@?@??@@?@?@?@???@@@?@???@?@?@@@???@?@?@@@???@?@?@?@@??@?@?@?@@??@?@?@?@??@@?@?@???@@@?@?@???@?@@@?@???@@@?@?@???@?@@@?@???@?@?@@??@?@?@?@@??@?@?@?@@??@?@?@?@??@@?@?@?@??@@?@?@??@@?@?@?@???@@@?@?@???@@@?@?@???@?@@@???@?@?@@@???@?@?@@@???@?@?@@@???@?@?@@??@?@?@?@@??@?@?@?@@??@?@?@???@@@?@?@??@@?@?@?@???@@@?@?@???@@@?@???@?@@@?@???@?@@@?@???@?@@@???@?@?@@@???@?@?@@@???@?@?@@??@?@?@@@???@?@?@@@???@?@?@@??@?@?@?@@??@?@?@?@@??@?@?@??@@?@?@?@??@@?@?@?@??@@?@?@??@@?@?@?@??@@?@?@???@@@?@?@??@@?@?@?@???@@@?@???@@B?@???@@@?@?@???@@@?@???@@@?@?@???@@@?@???@@@?@?@???@@@?@???@?@@@?@???@?@@@?@???@@@?@???@?@@@?@???@?@@@???@?@@@?@???@?@@@???@?@@@?@???@?@@@???@?@@@?@???@?@@@???@?@?@@@???@?@@@?@???@?@@@???@?@@@?@???@?@@@???@?@@@?@???@?@@@???@?@@@?@???@@@?@???@?@@@???@?@@@?@???@?@@@???@?@@@?@???@?@@@???@?@@@?@???@@@?@???@@@?@?@???@@@?@???@@@?@?@???@@@?@???@@@?@???@@@?@?@???@@@?@???@@@?@?@??@@?@?@??@@?@?@?@??@@?@?@??@@?@?@??@@?@?@?@@??@?@?@??@@?@?@?@@??@?@?@@??@?@?@@??@?@?@@@???@?@?@@??@?@@@???@?@?@@@???@?@@@???@H\\\\P|@Rz@R|@P|@R|@R|@P|@Rz@P|@R|@R|@P|@Rz@R|@P|@R|@P|@Rz@R|@P|@R|@R|@Pz@R|@Nt@??BFP|@R|@P|@DJ?@???@@@?@???@?@@@?@???@@@?@???@@@?@?@??@@?@?@???@@@?@???@@@?@?@??@@?@?@??@@?@?@??@@?@?@?@??@@?@?@??@@?@?@?@@??@?@?@??@@?@?@?@@??@?@?@@??@?@?@??@@?@?@?@@??@?@?@@??@?@?@?@@??@?@?@@@???@?@?@@??@?@?@?@@??@?@?@???@@??@?@?@??@@?@?@?@??@@?@?@???@@@?@?@???@@@?@?@???@@@?@???@?@@@?@???@?@@@?@???@?@?@@@???@?@?@@@???@?@?@?@@??@?@?@???@@@?@?@???@?@@@?@???@?@?@@@???@?@?@?@@??@?@?@?@??@@?@?@?@???@?@@@?@???@?@?@@@???@?@?@?@?@@??@?@?@?@???@@@?@?@???@?@?@?@@??@?@?@?@???@@@?@?@???@?@?@?@@@???@?@?@?@???@?@@@?@???@?@?@?@??@@?@?@?@?@???@?@?@?@@??@?@?@?@???@?@@@?@?@???@?@?@?@???@?@?@@@?@???@?@?@?@???@?@?@@@???@?@?@?@?@???@?@?@?@@??@?@?@?@?@???@?@?@?@???@?@@@?@?@???@?@?@?@???@?@?@?@?@???@@@?@?@???@?@?@?@?@???@?@?@?@???@?@@@?@?@???@?@?@?@?@???@?@?@?@???@?@?@@@?@???@?@?@?@???@?@?@?@?@???@?@?@?@???@?@?@?@?@??@@?@?@?@?@???@?@?@?@???@?@?@?@??@\\\\B`A@`AB`AB`A@`ABl@?@?@???@?@?@?@???@?@?@?@?@???@?@?@?@???@?@?@?@?@@??@?@?@?@?@???@?@?@?@???@?@?@?@?@???@?@?@?@???@?@?@?@?@???@?@?@?@?@???@?@?@?@???@?@?@?@?@???@?@???@?@?@???@?@?@?@???@?@?@?@?@???@A@?@?@???@?@?@?@?@???@?@?@?@???@A@?@?@?@???@?@?@?@???@?@?@A@?@???@?@?@?@??A@?@?@?@???@?@?@?@A@???@?@?@?@??A@?@?@?@???@?@A@?@???@?@?@A@???@?@?@?@A??@?@?@?@??A@?@?@?@??A@?@?@???@?@A@?@???@A@?@?@???@A@?@???@A@?@?@???@A@?@???@A@?@???@A@?@?@??A@?@?@??A@?@?@???@A@?@??A@?@?@??A@?@?@A@???@?@A@???@A@???@?@A@???@A@?@??A@?@?@A??@?@?@A??@?@A??@?@A@???@A@???@A@?@??A@?@??A@?@A@???@A@???@A@?@??A@?@??A@?@A??@?@A??@?@A@??A@?@??A@?@??A@?@A??@?@A??@A@???@A@??A@?@??A@?@A??@A@???@A@??A@?@??A@??A@?@A??@?@A??@A@??A@?@A??@??A@?@A??@?@A??@A??@A@??A@?@A??@?@A??@A??@A@??A@?@??A@??A@??A@c@p@c@p@a@p@CD??_@j@c@p@c@p@c@p@c@r@A@??A@?@A??@??A@?@A??@A@???@A??@A@??A@?@A??@A??@?@A??@A@??A@???@A@??A@?@A??@?@A??@A@??A@???@A@??A@?@A??@?@A??@A@??A@?@??A@?@A??@?@A??@A@???@A@??A@?@??A@?@A??@?@A??@A@???@A@??A@?@??A@?@A??@?@A??@?@A??@A@???@A@???@A@?@A??@?@A??@A@???@CDYn@A??@?@A@??A@?@??A@?@A??@?@A??@?@A??@A@???@A@??A@?@??A@?@A??@?@A??@A@???@A@??A@?@A??@?@A??@A@???@A@??]n@QX???@A@??A@?@??A@?@A??@A@??A@?@??A@?@A??@??A@?@A??@A@???@A@??A@?@??A@?@A??@??A??@A@???@A@??A@?@A??@??A@?@A??@A@??A@??A@?@??A@?@A??@A??@A@???@A??@A@??A@??A@?@A??@A@??A@??A@?@??A@??A@?@A??@A??@A??@A@??A@??A@?@A??@A??@A@??A@???@A??@A@??A@??A@??A@?@A??@A??@A??@A@??A@??A@??A@?@A??@A??@A??@A@??A@??A@??A@?@A??@A??@A??@A@??A@??A@??A@?@A??@A??@A??@?@A?A@???@A??@??A@??A@?@A??@A??@A??@A@??A@??A@?@??A@?@A??@A??@A@??A@??A@?@??A@?@A??@A??@A@???@A@??A@??A@?@A??@?@A??@A??@?@A??@A@??A@?@A??@?@A??@A@??A@???@A@??A@?@??A@?@??A??@?@A??@ABA@??A@?@??A@?@A??@?@A@??A@?@??A@?@??A@?@A??@A@???@A@???@A?GN_@t@]t@_@t@_@t@EL\"},\"mode\":\"SUBWAY\",\"pickupBookingInfo\":null,\"pickupType\":\"SCHEDULED\",\"realTime\":false,\"realtimeState\":null,\"rentedBike\":null,\"rideHailingEstimate\":null,\"route\":{\"alerts\":[],\"color\":\"0075B2\",\"id\":\"Um91dGU6TUFSVEE6MTk0NTU\",\"longName\":\"Blue\",\"shortName\":\"Blue\",\"textColor\":\"000000\",\"type\":1},\"startTime\":1691098740000,\"steps\":[],\"to\":{\"lat\":33.754123,\"lon\":-84.391876,\"name\":\"Five Points Station\",\"rentalVehicle\":null,\"stop\":{\"alerts\":[],\"code\":\"908990\",\"gtfsId\":\"MARTA:806\",\"id\":\"U3RvcDpNQVJUQTo4MDY\"},\"vertexType\":\"TRANSIT\"},\"transitLeg\":true,\"trip\":{\"arrivalStoptime\":{\"stop\":{\"gtfsId\":\"MARTA:40\",\"id\":\"U3RvcDpNQVJUQTo0MA\"},\"stopPosition\":15},\"departureStoptime\":{\"stop\":{\"gtfsId\":\"MARTA:802\",\"id\":\"U3RvcDpNQVJUQTo4MDI\"},\"stopPosition\":1},\"gtfsId\":\"MARTA:8063446\",\"id\":\"VHJpcDpNQVJUQTo4MDYzNDQ2\",\"tripHeadsign\":\"H E HOLMES STATION\"}},{\"accessibilityScore\":null,\"agency\":null,\"arrivalDelay\":0,\"departureDelay\":0,\"distance\":93.79,\"dropoffType\":\"SCHEDULED\",\"duration\":91.0,\"endTime\":1691099671000,\"fareProducts\":[],\"from\":{\"lat\":33.754123,\"lon\":-84.391876,\"name\":\"Five Points Station\",\"rentalVehicle\":null,\"stop\":{\"alerts\":[],\"code\":\"908990\",\"gtfsId\":\"MARTA:806\",\"id\":\"U3RvcDpNQVJUQTo4MDY\"},\"vertexType\":\"TRANSIT\"},\"interlineWithPreviousLeg\":false,\"intermediateStops\":null,\"legGeometry\":{\"length\":8,\"points\":\"wp_mElvabOTcAHHc@IGEGLFDTP\"},\"mode\":\"WALK\",\"pickupBookingInfo\":null,\"pickupType\":\"SCHEDULED\",\"realTime\":false,\"realtimeState\":null,\"rentedBike\":false,\"rideHailingEstimate\":null,\"route\":null,\"startTime\":1691099580000,\"steps\":[{\"absoluteDirection\":\"EAST\",\"alerts\":[],\"area\":true,\"distance\":33.73,\"elevationProfile\":[],\"lat\":33.7538834,\"lon\":-84.3915896,\"relativeDirection\":\"DEPART\",\"stayOn\":false,\"streetName\":\"Platform 908981;908990\"},{\"absoluteDirection\":\"SOUTHWEST\",\"alerts\":[],\"area\":false,\"distance\":6.86,\"elevationProfile\":[],\"lat\":33.7537795,\"lon\":-84.3912469,\"relativeDirection\":\"RIGHT\",\"stayOn\":false,\"streetName\":\"underpass\"},{\"absoluteDirection\":\"NORTH\",\"alerts\":[],\"area\":false,\"distance\":19.89,\"elevationProfile\":[],\"lat\":33.7537299,\"lon\":-84.3912911,\"relativeDirection\":\"HARD_RIGHT\",\"stayOn\":true,\"streetName\":\"steps\"},{\"absoluteDirection\":\"NORTHEAST\",\"alerts\":[],\"area\":true,\"distance\":5.65,\"elevationProfile\":[],\"lat\":33.7539052,\"lon\":-84.3912485,\"relativeDirection\":\"SLIGHTLY_RIGHT\",\"stayOn\":false,\"streetName\":\"Broad Street Plaza\"},{\"absoluteDirection\":\"NORTHWEST\",\"alerts\":[],\"area\":false,\"distance\":27.66,\"elevationProfile\":[],\"lat\":33.7539458,\"lon\":-84.3912118,\"relativeDirection\":\"LEFT\",\"stayOn\":false,\"streetName\":\"path\"}],\"to\":{\"lat\":33.753837,\"lon\":-84.391397,\"name\":\"Five Points Station (908981)\",\"rentalVehicle\":null,\"stop\":null,\"vertexType\":\"NORMAL\"},\"transitLeg\":false,\"trip\":null}],\"startTime\":1691098331000,\"waitingTime\":0,\"walkTime\":500}],\"routingErrors\":[]}}}" + "text": "{\"data\":{\"plan\":{\"itineraries\":[{\"accessibilityScore\":null,\"duration\":1340,\"endTime\":1691097871000,\"legs\":[{\"accessibilityScore\":null,\"agency\":null,\"arrivalDelay\":0,\"departureDelay\":0,\"distance\":493.51,\"dropoffType\":\"SCHEDULED\",\"duration\":409.0,\"endTime\":1691096940000,\"fareProducts\":[],\"from\":{\"lat\":33.77505,\"lon\":-84.300178,\"name\":\"Opus Music Store, Decatur, GA\",\"rentalVehicle\":null,\"stop\":null,\"vertexType\":\"NORMAL\"},\"interlineWithPreviousLeg\":false,\"intermediateStops\":null,\"legGeometry\":{\"length\":29,\"points\":\"aucmEdzoaO~AACc@?S?QAm@?q@?U?E?C?U?U?CRAAgD@s@BO?SDa@C]ESCA@OA_A?[AOAgA]aC??\"},\"mode\":\"WALK\",\"pickupBookingInfo\":null,\"pickupType\":\"SCHEDULED\",\"realTime\":false,\"realtimeState\":null,\"rentedBike\":false,\"rideHailingEstimate\":null,\"route\":null,\"startTime\":1691096531000,\"steps\":[{\"absoluteDirection\":\"SOUTH\",\"alerts\":[],\"area\":false,\"distance\":53.03,\"elevationProfile\":[],\"lat\":33.7750523,\"lon\":-84.3000227,\"relativeDirection\":\"DEPART\",\"stayOn\":false,\"streetName\":\"Ponce de Leon Place\"},{\"absoluteDirection\":\"EAST\",\"alerts\":[],\"area\":false,\"distance\":115.73,\"elevationProfile\":[],\"lat\":33.7745754,\"lon\":-84.3000126,\"relativeDirection\":\"LEFT\",\"stayOn\":false,\"streetName\":\"Swanton Way\"},{\"absoluteDirection\":\"SOUTH\",\"alerts\":[],\"area\":false,\"distance\":10.98,\"elevationProfile\":[],\"lat\":33.774606,\"lon\":-84.2987621,\"relativeDirection\":\"RIGHT\",\"stayOn\":false,\"streetName\":\"path\"},{\"absoluteDirection\":\"EAST\",\"alerts\":[],\"area\":false,\"distance\":161.01,\"elevationProfile\":[],\"lat\":33.7745073,\"lon\":-84.2987593,\"relativeDirection\":\"LEFT\",\"stayOn\":true,\"streetName\":\"sidewalk\"},{\"absoluteDirection\":\"EAST\",\"alerts\":[],\"area\":false,\"distance\":49.88,\"elevationProfile\":[],\"lat\":33.7745226,\"lon\":-84.2970412,\"relativeDirection\":\"SLIGHTLY_RIGHT\",\"stayOn\":true,\"streetName\":\"path\"},{\"absoluteDirection\":\"EAST\",\"alerts\":[],\"area\":false,\"distance\":40.34,\"elevationProfile\":[],\"lat\":33.7745217,\"lon\":-84.2965016,\"relativeDirection\":\"CONTINUE\",\"stayOn\":false,\"streetName\":\"Sycamore Street\"},{\"absoluteDirection\":\"EAST\",\"alerts\":[],\"area\":true,\"distance\":62.55,\"elevationProfile\":[],\"lat\":33.7745401,\"lon\":-84.2960662,\"relativeDirection\":\"CONTINUE\",\"stayOn\":false,\"streetName\":\"Decatur MARTA Plaza\"}],\"to\":{\"lat\":33.774699,\"lon\":-84.295417,\"name\":\"Decatur Station\",\"rentalVehicle\":null,\"stop\":{\"alerts\":[],\"code\":\"908475\",\"gtfsId\":\"MARTA:193\",\"id\":\"U3RvcDpNQVJUQToxOTM\"},\"vertexType\":\"TRANSIT\"},\"transitLeg\":false,\"trip\":null},{\"accessibilityScore\":null,\"agency\":{\"alerts\":[],\"id\":\"QWdlbmN5Ok1BUlRBOk1BUlRB\",\"name\":\"Metropolitan Atlanta Rapid Transit Authority\",\"timezone\":\"America/New_York\",\"url\":\"https://www.itsmarta.com\"},\"arrivalDelay\":0,\"departureDelay\":0,\"distance\":10171.43,\"dropoffType\":\"SCHEDULED\",\"duration\":840.0,\"endTime\":1691097780000,\"fareProducts\":[{\"id\":\"86068984-1c16-3b99-b5ee-559031c1a2f4\",\"product\":{\"__typename\":\"DefaultFareProduct\",\"id\":\"atlanta:electronicSpecial\",\"medium\":null,\"name\":\"electronicSpecial\",\"riderCategory\":null,\"price\":{\"amount\":2.5,\"currency\":{\"code\":\"USD\",\"digits\":2}}}},{\"id\":\"b50b4e2d-9513-3784-8a91-7eee706858e0\",\"product\":{\"__typename\":\"DefaultFareProduct\",\"id\":\"atlanta:regular\",\"medium\":null,\"name\":\"regular\",\"riderCategory\":null,\"price\":{\"amount\":2.5,\"currency\":{\"code\":\"USD\",\"digits\":2}}}},{\"id\":\"ef6c662f-6a98-3569-bfbd-2bdecc243a01\",\"product\":{\"__typename\":\"DefaultFareProduct\",\"id\":\"atlanta:electronicSenior\",\"medium\":null,\"name\":\"electronicSenior\",\"riderCategory\":null,\"price\":{\"amount\":2.5,\"currency\":{\"code\":\"USD\",\"digits\":2}}}},{\"id\":\"613adbaa-5544-3542-aa4d-2f7055a0e075\",\"product\":{\"__typename\":\"DefaultFareProduct\",\"id\":\"atlanta:electronicRegular\",\"medium\":null,\"name\":\"electronicRegular\",\"riderCategory\":null,\"price\":{\"amount\":2.5,\"currency\":{\"code\":\"USD\",\"digits\":2}}}},{\"id\":\"df639350-d47a-398f-a4b7-e2e2f9d2d9d7\",\"product\":{\"__typename\":\"DefaultFareProduct\",\"id\":\"atlanta:senior\",\"medium\":null,\"name\":\"senior\",\"riderCategory\":null,\"price\":{\"amount\":0.0,\"currency\":{\"code\":\"USD\",\"digits\":2}}}},{\"id\":\"d9fa8aca-cde6-3187-9023-89c596f602c4\",\"product\":{\"__typename\":\"DefaultFareProduct\",\"id\":\"atlanta:electronicYouth\",\"medium\":null,\"name\":\"electronicYouth\",\"riderCategory\":null,\"price\":{\"amount\":2.5,\"currency\":{\"code\":\"USD\",\"digits\":2}}}},{\"id\":\"a0815882-6fd3-3f54-b62c-009ef82d5466\",\"product\":{\"__typename\":\"DefaultFareProduct\",\"id\":\"atlanta:youth\",\"medium\":null,\"name\":\"youth\",\"riderCategory\":null,\"price\":{\"amount\":0.0,\"currency\":{\"code\":\"USD\",\"digits\":2}}}}],\"from\":{\"lat\":33.774699,\"lon\":-84.295417,\"name\":\"Decatur Station\",\"rentalVehicle\":null,\"stop\":{\"alerts\":[],\"code\":\"908475\",\"gtfsId\":\"MARTA:193\",\"id\":\"U3RvcDpNQVJUQToxOTM\"},\"vertexType\":\"TRANSIT\"},\"interlineWithPreviousLeg\":false,\"intermediateStops\":[{\"lat\":33.765196,\"locationType\":\"STOP\",\"lon\":-84.313426,\"name\":\"East Lake Station\",\"stopCode\":\"908567\",\"stopId\":\"U3RvcDpNQVJUQToxODY\"},{\"lat\":33.761803,\"locationType\":\"STOP\",\"lon\":-84.340825,\"name\":\"Edgewood-Candler Park Station\",\"stopCode\":\"908476\",\"stopId\":\"U3RvcDpNQVJUQToxOTU\"},{\"lat\":33.757227,\"locationType\":\"STOP\",\"lon\":-84.353066,\"name\":\"Inman Park-Reynoldstown Station\",\"stopCode\":\"908692\",\"stopId\":\"U3RvcDpNQVJUQTo4MDQ\"},{\"lat\":33.749853,\"locationType\":\"STOP\",\"lon\":-84.37599,\"name\":\"King Memorial Station\",\"stopCode\":\"908693\",\"stopId\":\"U3RvcDpNQVJUQTo4MDU\"},{\"lat\":33.750161,\"locationType\":\"STOP\",\"lon\":-84.385915,\"name\":\"Georgia State Station\",\"stopCode\":\"908618\",\"stopId\":\"U3RvcDpNQVJUQToxOTg\"}],\"legGeometry\":{\"length\":8591,\"points\":\"{rcmEj}naO?D?`AA`A?`A?~@A`A?J???@?@?@???@?@?@?@???@?@?@?@?@???@?@?@?@???@?@?@?@?@???@?@?@?@?@???@?@?@?@???@?@?@?@?@???@?@?@?@?@???@?@?@?@???@?@?@?@?@???@?@?@?@?@???@?@?@?@???@?@?@?@?@???@?@?@?@?@???@?@?@?@???@?@?@?@?@???@?@?@?@???@?@?@?@?@???@?@?@?@?@??@@?@?@?@???@?@?@?@?@???@?@?@?@?@???@?@?@?@???@?@?@?@?@???@?@?@?@???@?@@@?@?@???@?@?@?@?@???@?@?@?@???@?@?@?@?@???@@@?@?@???@?@?@?@?@???@?@?@?@???@?@@@?@?@???@?@?@?@???@?@?@@@?@???@?@?@?@???@?@?@?@?@??@@?@?@?@???@?@?@?@?@@??@?@?@?@???@?@?@?@??@@?@?@?@?@???@?@?@@@???@?@?@?@???@?@@@?@?@???@?@?@?@@??@?@?@?@???@?@@@?@???@?@?@?@@@???@?@?@?@??@@?@?@?@???@?@@@?@???@?@?@@@???@?@?@?@??@@?@?@?@???@@@?@?@???@?@@@?@???@?@?@@@???@?@?@?@@??@?@?@??@@?@?@?@???@@@?@?@???@@@?@?@???@@@?@?@???@@@?@???@?@@@?@???@?@@@?@???@?@@@???@?@?@@@???@?@@@???@?@?@@@???@?@@@???@?@@@?@???@?@@@???@?@@@?@???@?@@@???@?@@@???@?@@@?@???@@@?@???@@@?@???@@@?@?@@??@?@?@??@@?@?@@??@?@?@@??@?@?@@??@?@?@@??@?@@@?@???@@@?@???@@@?@??@@?@?@??@@?@?@@??@?@?@@??@?@@??@?@@@???@?@@@???@@@?@??@@?@?@??@@?@?@@??@?@@??@?@?@@??@?@@@???@@@?@??@@?@??@@?@?@@??@?@@@???@@@?@??@@?@??@@?@?@@??@?@@??@?@@@???@@@???@@@?@??@@?@??@@?@@@???@?@@??@@@?@??@@?@??@@?@??@@?@?@@??@@@???@@@???@@@?@??@@?@@??@?@@??@?@@??@@@?@??@@?@??@@?@@??@?@@??@?@@??@@@???@@@??@@?@?@@??@@@???@@@??@@?@??@@?@@??@?@@??@@@???@@@??@@?@??@@?@@??@?@@??@@@??@@???@@@??@@?@??@@?@@??@@@???@@@??@@?@@??@??@@?@@??@@@???@@@??@@?@@??@??@@?@@??@@@??@@???@@@??@@?@@??@@??@?@@??@@@??@@??@@?@??@@?@@??@@??@@@??@@??@@?@??@@??@@?@@??@@@??@@??@@?@@??@??@@?@@??@@??@@??@@@??@@??@@?@@??@@??@@@???@@??@@??@@@??@@??@@?@@??@@??@@??@@@??@@??@@??@@?@@??@@??@@??@@??@@@??@@??@@??@@?@@??@@??@@??@@??@@??@@@??@@@??@??@@??@@@??@@@??@@??@@??@@??@@??@@??@@?@@??@@??@@?@@??@@??@@??@@??@@??@@??@@??@@@??@@@??@@??@@??@@??@@??@@@??@@??@@??@@??@@??@@?@@??@@??@@??@@??@@??@@@???@@??@@??@@@??@@??@@??@@??@@?@@??@@??@@??@?@@??@@??@@??@@??@@@??@@??@@???@@@??@@??@@??@@?@@??@??@@??@@?@@??@@??@?@@??@@??@@??@?@@??@@??@@@???@@??@@??@@@???@@??@@@??@@???@@@??@@???@@??@??@@??@@?@??@@??@@?@??@@??@@?@??@@??@@?@??@@??@@?@??@@???@@@??@@???@@@??@@???@@@???@@??@@@???@@@???@@??@@@???@@??@?@@??@@@???@@??@?@@??@??@@?@@??@?@@??@??@@?@??@@???@@@??@@?@??@@???@@@???@@@???@@??@?@@??@?@@??@?@@??@@??@?@@??@??@@?@??@@?@??@@???@@@???@@@???@@??@?@@??@?@@??@?@@??@??@@?@??@@?@??@@?@??@@???@@@???@@??@?@@??@?@??@@???@@@???@@@???@@@???@@??@?@@??@?@@??@??@@?@??@@?@??@@?@??@@?@??@@???@??@XJr@Xp@Xp@Xp@Xr@Xn@V@@??@??@@?@??@@?@???@@??@?@@??@?@@??@?@@??@??@@?@??@@?@??@@???@@@???@@@???@@??@?@@??@?@@??@?@@??@??@@?@??@@?@??@@???@@@???@@@???@@@???@@??@?@@??@??@@?@??@@?@??@@???@@@???@@@???@@??@@@???@@@???@@??@?@@??@??@@?@@??@?@@??@??@@?@??@@??@@?@??@@?@??@@??@@?@??@@???@@@??@@???@@@??@@?@??@@???@@@??@@???@@@??@@???@@@??@@???@@@??@@??@@???@@@??@@???@??@@??@@??@@?@??@@??@@??@@?@??@@??@@?@@??@@??@??@@?@@??@@??@@??@?@@??@@??@@??@@@??@@??@@???@@@??@@??@@??@@??@@?@@??@@??@@??FF@??@@??@@?@@??@@??@@??@@??@@??@@??@@@??@@??@@??@@??@@??@@??@@?@@DF@??@@??@@??@@??@@??@@@??@@??@@??@@??@@?@@??@@??@@??@@?@@?@@??@@??@@??@@??@?@@??@@??@@??@@@??@@??@@?@@??@@??@@??@@@??@@??@@?@@??@@??@@@??@@???@@@??@@??@@?@@??@@??@@@???@@??@@@??@@??@@?@@??@?@@??@@??@@@??@@?@??@@??@@?@@??@@@??@@?@??@@??@@?@??@@?@??@??@@@???@@@??@@??@@?@??@@?@@??@?@@??@@@??@@?@??@@?@@??@?@@??@@@??@@?@??@@?@@??@?@@??@?@@??@@@???@@@??@@?@??@@?@@??@?@@??@@@?@??@@?@??@@?@??@@?@@??@?@@??@@@???@@@?@??@@?@@??@?@@??@?@@??@@@?@??@@?@??@@?@@??@?@@??@?@@@??@@?@??@@?@??@@?@??@@?@?@@??@@@???@@@???@@@?@@??@?@@??@?@@??@?@@@??@@?@???@@??@@@?@??@@?@??@@?@??@@?@@@???@@@???@@@???@@@?@@??@?@@??@?@@??@?@@@???@@@??@@?@??@@?@?@@??@?@@??@?@@@???@@@??@@?@?@@??@?@@??@?@@??@?@@@???@@@?@??@@?@??@@?@?@@??@?@@??@?@@@???@@@?@???@??@@???@@@?@??@@?@?@@??@?@?@@??@?@@@???@@@?@???@@@?@??@@?@???@@@?@?@@??@?@?@@??@?@?@@??@?@?@@??@?@@@???@?@@@???@?@@@???@?@@@?@???@@@?@???@@@?@???@@@?@?@???@@@?@???@@@?@?@???@@@?@???@?@@@?@???@?@@@?@???@@@?@???@?@?@@@???@?@?@@@???@?@?@@@???@?@?@?@@??@?@?@?@@??@?@?@???@?@@@?@???@?@?@@@?@???@?@?@?@@??@?@?@?@???@@@?@?@???@?@?@@@???@?@?@?@???@?@@@?@?@???@?@?@@@???@?@?@?@???@?@?@?@@@???@?@?@?@???@?@@@?@???@?@?@?@?@???@?@?@@@???@?@?@?@?@???@?@?@?@@??@?@?@?@?@???@?@?@?@???@@@?@?@?@???@?@?@?@???@?@?@@@???@?@Dx@B~@F`AD`AD`AD~@D`ABh@??@VD~@Bt@???@?@?@@@???@?@?@?@?@???@?@?@?@??@@?@?@?@?@???@?@?@?@???@@@?@?@?@???@?@?@?@???@?@?@@@???@?@?@?@?@???@?@?@@@???@?@?@?@?@???@?@?@?@??@@?@?@?@?@???@?@?@?@@??@?@?@?@???@?@?@?@?@@??@?@?@?@???@?@?@@@?@???@?@?@?@???@@@?@?@???@?@?@?@??@@?@?@?@?@???@@@?@?@???@?@?@?@??@@?@?@?@???@?@@@?@???@?@?@?@@@???@?@?@?@??@@?@?@?@???@?@@@?@?????@?@?@@@???@?@?@?@@??@?@?@?@??@@?@?@???@@@?@?@???@@@?@?@???@@@?@?@???@?@@@?@???@?@@@???@?@?@@@???@?@@@???@?@?@@@???@?@?@@??@?@?@@@???@?@@@???@?@@@?@???@?@@@???@?@@@?@???@@@?@???@@@?@???@@@?@???@@@?@???@@@?@?@@??@?@?@??@B?@@??@?@@@???@?@@@???@@@?@???@@@?@??@@?@?@??@@?@?@@??@?@@??@?@?@@??@?@@@???@@@?@????@@?@???@@@?@??@@?@?@@??@?@@??@?@@@???@@@?@??@@?@??@@?@?@@??@?@@??@?@@@???@@@???@@@?@@??@?@@??@?@@??@?@@@???@@@???@@@?@@??@?@@??@?@@??@?@@@??@@?@??@@?@??@@?@??@@?@@@???@@@???@@@??@@?@??@@?@??@@?@@@???@@@??@@?@??@@?@??@@?@@??@?@@??@@@?@??@@?@@??@?@@??@?@@??@@@???@@@???@@@??@@?@??@@?@@??@@@???@@@?@??@@?@@??@?@@??@@@???@@@??@@?@??@@?@@??@?@@??@@@???@@@???@@@???@Zn@^r@^t@^t@^t@^t@^t@\\\\t@^t@^t@^t@^r@\\\\t@^t@LVXh@LV?@@@???@@@??@@?@??@@?@@??@?@@@??@@?@??@@?@@??@?@@??@@@???@@@??@@?@??@@?@??@@?@@??@?@@??@@@???@@@??@@?@??@@?@@??@?@@@??@@?@??@@?@??@@?@@??@?@@??@?@@??@@@??@@?@??@@?@?@@??@?@@??@@@???@@@??@@?@??@@?@??@@?@@@???@@@??@@?@??@@?@??@@?@??@@?@@@???@@@???@@@???@@@?@@??@?@@??@?@@??@@@???@@@?@??@@?@??@@?@?@@??@@@???@@@???@@@?@??@@?@??@@?@?@@??@?@@??@?@@@???@@@??@@?@?@@??@?@@??@?@@@???@@@???@BF?@??@@?@??@@?@?@@??@?@@@???@@@???@@@?@??@@?@?@??@@?@?@@??@?@?@@??@?@@??@?@@@???@?@@@???@@@?@???@@@?@??@@?@?@??@@?@?@@??@?@?@@??@?@@@???@?@@@???@?@@@???@@@?@?@??@@?@?@??@@?@?@??@@?@?@??@@?@?@??@@?@?@?@@??@?@?@@??@?@?@@??@?@?@@@???@?@?@@??@?@?@@@???@?@?@@??@?@?@@@???@?@?@@??@?@?@@@???@?@?@@??@?@?@?@@??@?@?@?@@??@?@?@??@@?@?@?@@??@?@?@?@??@@?@?@?@??@@?@?@???@?@@@?@???@?@@@?@???@?@?@@@???@?@?@?@@??@?@?@?@??@@?@?@?@???@@@?@?@???@?@@@?@???@?@?@?@??@@?@?@?@???@@@?@?@???@?@?@?@@@???@?@?@?@???@@@?@?@???@?@?@?@@??@?@?@?@???@?@?@@@?@???@?@?@?@???@@@?@?@???@?@?@?@?@??@@?@?@?@???@?@?@?@?@@??@?@?@?@???@?@?@?@?@???@@@?@?@???@?@?@?@?@???@?@?@@@???@?@?@?@?@???@?@?@?@???@?@?@?@?@??@@?@?@?@???@?@?@?@?@???@?@?@?@???@?@?@?@?@???@?@?@?@?@@??@?@?@?@???@?@?@?@?@???@?@?@?@?@???@?@?@?@???@?@?@?@?@???@?@?@?@???@?@?@?@?@???@?@?@?@?@???@?@?@?@???@?@?@?@?@???@?@A@?@?@???@?@?@?@???@?@?@?@?@???@?@?@?@???@?@?@?@?@???@A@?@?@?@???@?@?@?@???@?@?@?@?@???@?@?@?@A??@?@?@?@?@???@?@?@?@??A@?@?@?@?@???@?@?@?@???@?@?@A@?@???@?@?@?@???@?@A@?@???@?@?@?@?@???@A@?@?@???@?@?@?@??A@?@?@?@?@???@?@?@A@???@?@?@?@???@A@?@?@???@?@?@A@?@???@?@?@?@??A@?@?@?@???@?@A@?@???@?@?@?@A??@?@?@?@??A@?@?@?@???@A@?@?@???@?@?@A@???@?@?@A@???@?@?@?@A??@?@?@?@??A@?@?@?@??A@?@?@???@?@A@?@???@?@A@?@???@?@A@?@???@?@A@???@?@?@A@???@?@???@A@???@?@A@???@?@?@A@???@?@A@???@?@?@A@???@?@?@A??@?@?@A@???@?@A@???@?@A@?@???@?@A@???@?@A@???@?@A@?@???@A@?@???@A@?@???@A@?@???@A@?@?@??A@?@?@??A@?@?@??A@?@?@A??@?@?@A@???@?@A@???@?@A@???@?@A@???@A@?@???@A@?@???@A@?@??A@?@?@??A@?@?@??A@?@?@A??@?@?@A??@?@?@A@???@A@?@???@A@?@??A@?@?@??A@?@?@A??@?@?@A??@?@A@???@?@A@???@?@A??@?@A@???@?@A@???@A@?@??A@?@?@??A@?@?@A??@?@?@A??@?@A@???@?@A@???@A@Oh@Uz@Wz@Ux@Wz@Uz@EL?@??A@?@?@??A@?@?@A??@?@?@A??@?@A@???@A@?@???@A@?@??A@?@?@??A@?@?@A??@?@?@A??@?@A@???@?@A@???@A@?@???@A@?@???@A@?@??A@?@?@??A@?@?@A??@?@?@A??@?@A@???@?@A@???@A@?@???@A@?@???@A@?@??A@?@?@??A@?@?@??A@?@?@A??@?@?@A??@?@?@A??@?@A@?@???@A@?@???@A@?@??A@?@?@???@A@?@??A@?@?@??A@?@?@??A@?@?@?@A??@?@A@???@?@A@???@?@A@???@?@A@?@???@?@A@???@A@?@???@?@A@???@A@?@?@??A@?@?@???@A@?@?@??A@?@?@??A@?@?@??A@?@?@?@??A@?@?@??A@?@?@?@??A@?@?@??A@?@?@?@A??@?@?@??A@?@?@?@??A@?@?@??A@?@?@?@??A@?@?@?@???@A@?@???@A@?@?@???@?@A@?@???@A@?@???@???@?@A@???@?@?@A@???@?@?@?@A??@?@?@?@A??@?@?@?@??A@?@?@?@???@A@?@?@???@?@A@?@???@?@?@?@A??@?@?@?@??A@?@?@?@???@?@A@?@???@?@?@?@A??@?@?@?@???@A@?@?@???@?@?@?@A@???@?@?@?@???@A@?@?@???@?@?@?@A??@?@?@?@?@???@?@A@?@???@?@?@?@???@?@?@A@?@???@?@?@?@???@A@?@?@?@???@?@?@?@???@?@A@?@???@?@?@?@?@???@?@?@A@???@?@?@?@?@???@?@?@?@???@?@A@?@?@???@?@?@?@???@?@?@?@?@???@?@?@A@?@???@?@?@?@???@?@?@?@?@???@?@?@?@???@?@?@?@A@???@?@?@?@?@???@?@?@?@???@?@?@?@?@???@?@?@?@???@?@?@?@?@???@?@?@?@?@???@?@?@?@???@?@?@?@?@???@?@???@?@?@???@?@?@?@???@?@?@?@?@???@?@?@?@???@?@?@?@?@???@?@?@?@?@???@?@?@?@???@?@?@?@?@???@?@?@?@?@???@?@?@?@???@?@?@?@?@???@?@?@?@???@@@?@?@?@???@?@?@?@?@???@?@?@?@???@?@?@?@?@???@?@?@@@???@?@?@?@?@???@?@?@?@?@???@?@?@?@??@@?@?@?@?@???@?@?@?@???@?@?@?@?@@??@?@?@?@???@?@?@?@?@???@?@@@?@???@?@?@?@?@???@?@?@?@@??@?@?@?@?@???@?@?@@@???@?@?@?@???@?@?@?@???@@??@?@?@?@???@?@?@?@?@@??@?@?@?@???@?@?@@@???@?@?@?@?@???@?@@@?@???@?@?@?@???@@@?@?@?@???@?@?@@@???@?@?@?@???@?@@@?@???@?@?@?@?@@??@?@?@?@???@@@?@?@???@?@?@?@??@@?@?@?@?@???@?@@@?@???@?@?@?@??@@?@?@?@???@?@?@@@?@???@?@?@?@??@@?@?@?@???@?@?@Fd@H~@H`AH~@H~@H`AH~@J~@B`@??BX?@@@?@?@???@?@?@@@???@?@?@?@???@@@?@?@?@???@?@@@?@???@?@?@?@??@@?@?@?@???@?@@@?@???@?@?@?@@??@?@?@?@?@???@@@?@?@???@?@?@@@???@?@?@?@??@@?@?@?@???@?@?@@@???@?@?@?@??@@?@?@?@?@???@@@?@?@???@?@?@@@???@?@?@?@@??@?@?@?@???@@@?@?@???@?@?@@@???@?@?@?@@??@?@?@?@???@@@?@?@???@?@?@@@???@?@?@?@??@@?@?@?@?@??@@?@?@?@???@?@@@?@???@?@?@@@J~@J~@@D?@???@?@?@@@???@?@?@?@@??@?@?@?@???@@@?@?@???@?@@@?@???@?@?@?@@??@?@?@?@???@@@?@?@?@???@@@?@?@???@?@@@?@???@?@?@?@??@@?@?@?@???@?@@@?@???@?@?@?@@??@?@?@?@???@@@?@?@???@?@?@@@???@?@?@?@?@@??@?@?@?@???@@@?@?@???@?@?@@@???@?@?@?@??@@?@?@?@???@?@?@@@???@?@?@?@@@???@?@?@?@???@?@@@?@???@?@?@?@@??@?@?@?@???@?@@@?@?@???@?@?@@@???@?@?@Fr@H~@H~@Ff@???@?@???@?@?@?@@??@?@?@?@???@@@?@?@???@?@?@?@@@???@?@?@?@???@@@?@?@???@?@?@@@???@?@?@?@???@@@?@?@?@???@?@?@@@???@?@?@?@??@@?@?@?@???@?@?@@@???@?@?@?@??@@?@?@?@?@???@@@?@?@???@?@?@@@???@?@?@?@??@@?@?@?@???@?@@@?@???@?@?@?@@??@?@?@?@???@@@?@?@???@?@?@@@???@?@?@?@@@???@?@?@?@??@@?@?@?@???@@@?@?@???@?@@@?@???@?@?@@@???@?@?@??@@?@?@?@???@@@?@?@???@?@@@?@???@?@?@@@?????@?@?@?@@??@?@?@?@@??@?@?@?@??@@?@?@???@@@?@?@???@@@?@?@???@@@?@?@???@?@@@?@???@@@?@???@?@?@@@???@?@?@@@???@?@@@???@?@?@@@???@?@?@@@???@?@?@@??@?@?@@@???@?@?@@??@?@?@@@???@?@?@@??@?@?@?@@??@?@?@@??@?@?@@@???@?@?@@??@?@?@@@???@?@@@???@?@@@???@?@@@?@???@?@@@???@?@@@???@?@@@?@???@@@?@???@@@?@???@@@?@???@@@?@?@??@@?@?@@??@?@?@@??@?@?@@??@?@?@@??@?@?@@@???@?@@@???@@@?@???@@@?@???@@@?@??@@?@?@??@@?@?@??@@?@?@@??@?@?@@??@?@@@???@?@@@???@@@?@???@@@?@??@@?@?@@??@?@?@@??@?@@@???@?@@@???@@@???@@@?@???@@@?@??@@?@?@@??@?@@@???@@@???@?@@@???@@@?@??@@?@?@??@@?@??@@?@?@@??@?@@@???@@@???@@@?@??@@?@?@@??@?@@??@?@@@???@@@???@?@@@???@@@?@??@@?@@??@?@@@???@@@???@@@?@??@@?@??@@?@?@@??@?@@??@?@@@???@@@???@@@???@@@?@@??@?@@??@?@@@???@@@???@@@??@@?@?@@??@?@@??@@@???@@@?@??@@?@??@@?@??@@?@@@???@@@???@@@??@@?@??@@?@?@@??@?@@??@@@???@@@??@@?@??@@?@@??@?@@@???@@@??@@?@??@@?@??@@?@@??@?@@??@@@???@@@??@@?@??@@?@?@@??@@@???@@@??@@?@??@@?@@??@?@@??@@@??@@?@??@@?@@??@?@@??@@@???@@??@@@???@@@??@@?@@??@?@@??@@@???@@@??@@?@@??@?@@??@@@???@@??@@@??@@?@@??@?@@??@@@???@@??@@@??@@?@??@@?@@??@@@??@@???@@@??@@?@@??@?@@??@@??@@@???@@@??@@??@@?@@??@?@@??@@??@@@??@@?@??@@??@@?@@??@@@@@???@@@??@@?@@??@@??@@@???@@??@@@??@@?@@??@@??@?@@??@@??@@@??@@??@@?@@??@@??@?@@??@@@??@@??@@?@@??@@??@?@@??@@??@@@??@@??@@?@@??@@??@?@@??@@??@@@??@@TZd@n@b@p@d@n@d@n@b@n@d@n@HL??Z`@b@n@d@p@d@n@@B@??@??@@?@@??@@??@@@??@@??@@?@@??@??@@?@@??@@??@@@??@@??@@?@??@@??@@?@@??@@??@@@??@@?@@??@??@@?@@??@@??@@@??@@??@@?@@??@??@@?@@??@@@??@@??@@?@??@@??@@?@@??@@??@@@??@@?@??@@??@@?@@??@@??@@@???@@@??@@??@@?@@??@@??@?@@??@@@??@@??@@?@??@@?@@??@@??@@@???@@@??@@??@@?@@??@?@@??@@@??@@??@@?@??@@?@@??@@@???@@??@@@??@@?@??@@?@@??@@??@@@?@@@??@@?@??@@?@@??@@@???@@??@@@??@@?@??@@?@@??@@@???@@@???@@@??@@?@@??@?@@??@@@???@@@??@@?@@??@?@@??@?@@??@@@???@@@??@@?@??@@?@@??@?@@??@@@???@@@???@@@??@@?@??@@?@@??@?@@@???@@@??@@?@??@@?@@??@?@@??@?@@@??@@?@??@@?@??@@?@??@@?@@@???@@@???@@@??@@?@?@@??@?@@??@?@@??@?@@@??@@?@??@@?@??@@?@?@@??@?@@??@?@@@???@@@??@@?@?@@??@?@@??@?@@@???@@@???@@@?@??@@?@??@@?@?@@??@?@@??@?@@@???@@@?@??@@?@???@@@?@??@@?@@@???@?@@??@?@@@???@@@?@??@@?@???@@@?@??@@?@?@@??@?@@@???@@@?@???@@@???@@@?@???@@@?@??@@?@?@??@@?@?@@??@?@@@???@?@??@@???@@@?@???@@@?@??@@?@?@??@@?@?@??@@?@?@@??@?@?@@??@?@?@@??@?@@@???@?@@@???@?@@@?@??@@?@?@???@@@?@???@@@?@???@@@?@?@@??@?@?@@??@?@?@??@@?@?@@??@?@?@?@@??@?@@@???@?@?@@??@?@?@@@???@?@?@@??@?@?@@@???@?@??@@???@?@?@@@???@?@@@???@?@?@@@???@?@@@???@?@?@@@???@?@?@@@???@?@?@@??@?@?@?@@??@?@?@??@@?@?@?@??@@?@?@?@??@@?@?@?@??@@?@?@???@@@?@?@???@?@@@???@???@?@@@?@???@?@?@@@???@?@?@@@???@?@?@?@@??@?@?@???@@@?@?@???@?@@@?@???@?@?@@@???@?@?@?@@??@?@?@?@???@@@?@?@???@@@?@?@???@?@?@?@@??@?@?@?@?@@??@?@?@?@???@@@?@?@???@?@?@@@???@?@?@?@??@@?@?@?@???@?@@@?@???@?@?@@@???@?@?@?@???@@@?@?@?@???@?@@@?@???@?@?@?@??@@?@?@?@???@?@@@?@???@?@?@?@??@@?@?@?@?@???@@@?@?@???@?@?@?@@??@?@?@?@??Hv@H~@H~@J`AH~@BZ??@@?@?@?@?@???@?@@@?@???@?@?@@@???@?@?@?@???@@@?@?@???@?@?@@@???@?@?@?@?@??@@?@?@?@???@?@@@?@???@?@?@?@??@@?@?@?@???@?@@@?@???@?@?@?@@??@?@?@?@?@??@@?@?@?@???@@@?@?@???@?@?@?@@??@?@?@?@??@@?@?@?@???@?@?@@@???@?@?@?@@??@?@?@?@???@@@?@?@???@?@?@@@?@???@?@?@?@@??@?@?@?@???@@@?@?@???@?@@@?@???@?@?@?@@??@?@?@?@??@@?@?@?@???@?@@@?@???@?@?@@@???@?@?@?@??@@?@?@?@???@@@?@?@???@?@?@@@???@?@?@?@@??@?@?@?@???@@@?@?@???@?@@@?@???@?@?@@@???@?@?@?@@??@?@?@?@???@@@?@?@???@?@@@?@???@?@?@@@???@?@?@?@@??@?@?@?@??@@?@?@?@???@@@?@?@???@?@@@?@???@?@?@@@???@?@?@?@@??@?@?@?@??@@?@?@?@???@@@?@?@???@?@@@?@???@?@?@@@???@?@?@?@@??@?@?@?@??@@?@?@???@?@@@?@???@?@@@?@???@?@?@@@???@?@?@?@@??@?@?@?@??@@?@?@?@???@@@?@?@???@@@?@?@???@?@@@???@?@?@@@???@?@?@?@@??@?@?@?@@??@?@?@?@??@@?@?@?@??@@?@?@?@???@@@?@???@?@?@@@???@?@?@@@???@?@?@?@@??@?@?@?@@??@?@?@?@??@@?@?@???@@@?@?@???@?@@@?@???@@@?@?@???@?@@@?@???@?@?@@??@?@?@?@@??@?@?@?@@??@?@?@?@??@@?@?@?@??@@?@?@??@@?@?@?@???@@@?@?@???@@@?@?@???@?@@@???@?@?@@@???@?@?@@@???@?@?@@@???@?@?@@??@?@?@?@@??@?@?@?@@??@?@?@???@@@?@?@??@@?@?@?@???@@@?@?@???@@@?@???@?@@@?@???@?@@@?@???@?@@@???@?@?@@@???@?@?@@@???@?@?@@??@?@?@@@???@?@?@@@???@?@?@@??@?@?@?@@??@?@?@?@@??@?@?@??@@?@?@?@??@@?@?@?@??@@?@?@??@@?@?@?@??@@?@?@???@@@?@?@??@@?@?@?@???@@@?@???@@B?@???@@@?@?@???@@@?@???@@@?@?@???@@@?@???@@@?@?@???@@@?@???@?@@@?@???@?@@@?@???@@@?@???@?@@@?@???@?@@@???@?@@@?@???@?@@@???@?@@@?@???@?@@@???@?@@@?@???@?@@@???@?@?@@@???@?@@@?@???@?@@@???@?@@@?@???@?@@@???@?@@@?@???@?@@@???@?@@@?@???@@@?@???@?@@@???@?@@@?@???@?@@@???@?@@@?@???@?@@@???@?@@@?@???@@@?@???@@@?@?@???@@@?@???@@@?@?@???@@@?@???@@@?@???@@@?@?@???@@@?@???@@@?@?@??@@?@?@??@@?@?@?@??@@?@?@??@@?@?@??@@?@?@?@@??@?@?@??@@?@?@?@@??@?@?@@??@?@?@@??@?@?@@@???@?@?@@??@?@@@???@?@?@@@???@?@@@???@H\\\\P|@Rz@R|@P|@R|@R|@P|@Rz@P|@R|@R|@P|@Rz@R|@P|@R|@P|@Rz@R|@P|@R|@R|@Pz@R|@Nt@??BFP|@R|@P|@DJ?@???@@@?@???@?@@@?@???@@@?@???@@@?@?@??@@?@?@???@@@?@???@@@?@?@??@@?@?@??@@?@?@??@@?@?@?@??@@?@?@??@@?@?@?@@??@?@?@??@@?@?@?@@??@?@?@@??@?@?@??@@?@?@?@@??@?@?@@??@?@?@?@@??@?@?@@@???@?@?@@??@?@?@?@@??@?@?@???@@??@?@?@??@@?@?@?@??@@?@?@???@@@?@?@???@@@?@?@???@@@?@???@?@@@?@???@?@@@?@???@?@?@@@???@?@?@@@???@?@?@?@@??@?@?@???@@@?@?@???@?@@@?@???@?@?@@@???@?@?@?@@??@?@?@?@??@@?@?@?@???@?@@@?@???@?@?@@@???@?@?@?@?@@??@?@?@?@???@@@?@?@???@?@?@?@@??@?@?@?@???@@@?@?@???@?@?@?@@@???@?@?@?@???@?@@@?@???@?@?@?@??@@?@?@?@?@???@?@?@?@@??@?@?@?@???@?@@@?@?@???@?@?@?@???@?@?@@@?@???@?@?@?@???@?@?@@@???@?@?@?@?@???@?@?@?@@??@?@?@?@?@???@?@?@?@???@?@@@?@?@???@?@?@?@???@?@?@?@?@???@@@?@?@???@?@?@?@?@???@?@?@?@???@?@@@?@?@???@?@?@?@?@???@?@?@?@???@?@?@@@?@???@?@?@?@???@?@?@?@?@???@?@?@?@???@?@?@?@?@??@@?@?@?@?@???@?@?@?@???@?@?@?@??@\\\\B`A@`AB`AB`A@`ABl@?@?@???@?@?@?@???@?@?@?@?@???@?@?@?@???@?@?@?@?@@??@?@?@?@?@???@?@?@?@???@?@?@?@?@???@?@?@?@???@?@?@?@?@???@?@?@?@?@???@?@?@?@???@?@?@?@?@???@?@???@?@?@???@?@?@?@???@?@?@?@?@???@A@?@?@???@?@?@?@?@???@?@?@?@???@A@?@?@?@???@?@?@?@???@?@?@A@?@???@?@?@?@??A@?@?@?@???@?@?@?@A@???@?@?@?@??A@?@?@?@???@?@A@?@???@?@?@A@???@?@?@?@A??@?@?@?@??A@?@?@?@??A@?@?@???@?@A@?@???@A@?@?@???@A@?@???@A@?@?@???@A@?@???@A@?@???@A@?@?@??A@?@?@??A@?@?@???@A@?@??A@?@?@??A@?@?@A@???@?@A@???@A@???@?@A@???@A@?@??A@?@?@A??@?@?@A??@?@A??@?@A@???@A@???@A@?@??A@?@??A@?@A@???@A@???@A@?@??A@?@??A@?@A??@?@A??@?@A@??A@?@??A@?@??A@?@A??@?@A??@A@???@A@??A@?@??A@?@A??@A@???@A@??A@?@??A@??A@?@A??@?@A??@A@??A@?@A??@??A@?@A??@?@A??@A??@A@??A@?@A??@?@A??@A??@A@??A@?@??A@??A@??A@c@p@c@p@a@p@CD??_@j@c@p@c@p@c@p@c@r@A@??A@?@A??@??A@?@A??@A@???@A??@A@??A@?@A??@A??@?@A??@A@??A@???@A@??A@?@A??@?@A??@A@??A@???@A@??A@?@A??@?@A??@A@??A@?@??A@?@A??@?@A??@A@???@A@??A@?@??A@?@A??@?@A??@A@???@A@??A@?@??A@?@A??@?@A??@?@A??@A@???@A@???@A@?@A??@?@A??@A@???@CDYn@A??@?@A@??A@?@??A@?@A??@?@A??@?@A??@A@???@A@??A@?@??A@?@A??@?@A??@A@???@A@??A@?@A??@?@A??@A@???@A@??]n@QX???@A@??A@?@??A@?@A??@A@??A@?@??A@?@A??@??A@?@A??@A@???@A@??A@?@??A@?@A??@??A??@A@???@A@??A@?@A??@??A@?@A??@A@??A@??A@?@??A@?@A??@A??@A@???@A??@A@??A@??A@?@A??@A@??A@??A@?@??A@??A@?@A??@A??@A??@A@??A@??A@?@A??@A??@A@??A@???@A??@A@??A@??A@??A@?@A??@A??@A??@A@??A@??A@??A@?@A??@A??@A??@A@??A@??A@??A@?@A??@A??@A??@A@??A@??A@??A@?@A??@A??@A??@?@A?A@???@A??@??A@??A@?@A??@A??@A??@A@??A@??A@?@??A@?@A??@A??@A@??A@??A@?@??A@?@A??@A??@A@???@A@??A@??A@?@A??@?@A??@A??@?@A??@A@??A@?@A??@?@A??@A@??A@???@A@??A@?@??A@?@??A??@?@A??@ABA@??A@?@??A@?@A??@?@A@??A@?@??A@?@??A@?@A??@A@???@A@???@A?GN_@t@]t@_@t@_@t@EL\"},\"mode\":\"SUBWAY\",\"pickupBookingInfo\":null,\"pickupType\":\"SCHEDULED\",\"realTime\":false,\"realtimeState\":null,\"rentedBike\":null,\"rideHailingEstimate\":null,\"route\":{\"alerts\":[],\"color\":\"0075B2\",\"id\":\"Um91dGU6TUFSVEE6MTk0NTU\",\"longName\":\"Blue\",\"shortName\":\"Blue\",\"textColor\":\"000000\",\"type\":1},\"startTime\":1691096940000,\"steps\":[],\"to\":{\"lat\":33.754123,\"lon\":-84.391876,\"name\":\"Five Points Station\",\"rentalVehicle\":null,\"stop\":{\"alerts\":[],\"code\":\"908990\",\"gtfsId\":\"MARTA:806\",\"id\":\"U3RvcDpNQVJUQTo4MDY\"},\"vertexType\":\"TRANSIT\"},\"transitLeg\":true,\"trip\":{\"gtfsId\":\"MARTA:8063444\",\"id\":\"VHJpcDpNQVJUQTo4MDYzNDQ0\",\"tripHeadsign\":\"H E HOLMES STATION\"}},{\"accessibilityScore\":null,\"agency\":null,\"arrivalDelay\":0,\"departureDelay\":0,\"distance\":93.79,\"dropoffType\":\"SCHEDULED\",\"duration\":91.0,\"endTime\":1691097871000,\"fareProducts\":[],\"from\":{\"lat\":33.754123,\"lon\":-84.391876,\"name\":\"Five Points Station\",\"rentalVehicle\":null,\"stop\":{\"alerts\":[],\"code\":\"908990\",\"gtfsId\":\"MARTA:806\",\"id\":\"U3RvcDpNQVJUQTo4MDY\"},\"vertexType\":\"TRANSIT\"},\"interlineWithPreviousLeg\":false,\"intermediateStops\":null,\"legGeometry\":{\"length\":8,\"points\":\"wp_mElvabOTcAHHc@IGEGLFDTP\"},\"mode\":\"WALK\",\"pickupBookingInfo\":null,\"pickupType\":\"SCHEDULED\",\"realTime\":false,\"realtimeState\":null,\"rentedBike\":false,\"rideHailingEstimate\":null,\"route\":null,\"startTime\":1691097780000,\"steps\":[{\"absoluteDirection\":\"EAST\",\"alerts\":[],\"area\":true,\"distance\":33.73,\"elevationProfile\":[],\"lat\":33.7538834,\"lon\":-84.3915896,\"relativeDirection\":\"DEPART\",\"stayOn\":false,\"streetName\":\"Platform 908981;908990\"},{\"absoluteDirection\":\"SOUTHWEST\",\"alerts\":[],\"area\":false,\"distance\":6.86,\"elevationProfile\":[],\"lat\":33.7537795,\"lon\":-84.3912469,\"relativeDirection\":\"RIGHT\",\"stayOn\":false,\"streetName\":\"underpass\"},{\"absoluteDirection\":\"NORTH\",\"alerts\":[],\"area\":false,\"distance\":19.89,\"elevationProfile\":[],\"lat\":33.7537299,\"lon\":-84.3912911,\"relativeDirection\":\"HARD_RIGHT\",\"stayOn\":true,\"streetName\":\"steps\"},{\"absoluteDirection\":\"NORTHEAST\",\"alerts\":[],\"area\":true,\"distance\":5.65,\"elevationProfile\":[],\"lat\":33.7539052,\"lon\":-84.3912485,\"relativeDirection\":\"SLIGHTLY_RIGHT\",\"stayOn\":false,\"streetName\":\"Broad Street Plaza\"},{\"absoluteDirection\":\"NORTHWEST\",\"alerts\":[],\"area\":false,\"distance\":27.66,\"elevationProfile\":[],\"lat\":33.7539458,\"lon\":-84.3912118,\"relativeDirection\":\"LEFT\",\"stayOn\":false,\"streetName\":\"path\"}],\"to\":{\"lat\":33.753837,\"lon\":-84.391397,\"name\":\"Five Points Station (908981)\",\"rentalVehicle\":null,\"stop\":null,\"vertexType\":\"NORMAL\"},\"transitLeg\":false,\"trip\":null}],\"startTime\":1691096531000,\"waitingTime\":0,\"walkTime\":500},{\"accessibilityScore\":null,\"duration\":1340,\"endTime\":1691098771000,\"legs\":[{\"accessibilityScore\":null,\"agency\":null,\"arrivalDelay\":0,\"departureDelay\":0,\"distance\":493.51,\"dropoffType\":\"SCHEDULED\",\"duration\":409.0,\"endTime\":1691097840000,\"fareProducts\":[],\"from\":{\"lat\":33.77505,\"lon\":-84.300178,\"name\":\"Opus Music Store, Decatur, GA\",\"rentalVehicle\":null,\"stop\":null,\"vertexType\":\"NORMAL\"},\"interlineWithPreviousLeg\":false,\"intermediateStops\":null,\"legGeometry\":{\"length\":29,\"points\":\"aucmEdzoaO~AACc@?S?QAm@?q@?U?E?C?U?U?CRAAgD@s@BO?SDa@C]ESCA@OA_A?[AOAgA]aC??\"},\"mode\":\"WALK\",\"pickupBookingInfo\":null,\"pickupType\":\"SCHEDULED\",\"realTime\":false,\"realtimeState\":null,\"rentedBike\":false,\"rideHailingEstimate\":null,\"route\":null,\"startTime\":1691097431000,\"steps\":[{\"absoluteDirection\":\"SOUTH\",\"alerts\":[],\"area\":false,\"distance\":53.03,\"elevationProfile\":[],\"lat\":33.7750523,\"lon\":-84.3000227,\"relativeDirection\":\"DEPART\",\"stayOn\":false,\"streetName\":\"Ponce de Leon Place\"},{\"absoluteDirection\":\"EAST\",\"alerts\":[],\"area\":false,\"distance\":115.73,\"elevationProfile\":[],\"lat\":33.7745754,\"lon\":-84.3000126,\"relativeDirection\":\"LEFT\",\"stayOn\":false,\"streetName\":\"Swanton Way\"},{\"absoluteDirection\":\"SOUTH\",\"alerts\":[],\"area\":false,\"distance\":10.98,\"elevationProfile\":[],\"lat\":33.774606,\"lon\":-84.2987621,\"relativeDirection\":\"RIGHT\",\"stayOn\":false,\"streetName\":\"path\"},{\"absoluteDirection\":\"EAST\",\"alerts\":[],\"area\":false,\"distance\":161.01,\"elevationProfile\":[],\"lat\":33.7745073,\"lon\":-84.2987593,\"relativeDirection\":\"LEFT\",\"stayOn\":true,\"streetName\":\"sidewalk\"},{\"absoluteDirection\":\"EAST\",\"alerts\":[],\"area\":false,\"distance\":49.88,\"elevationProfile\":[],\"lat\":33.7745226,\"lon\":-84.2970412,\"relativeDirection\":\"SLIGHTLY_RIGHT\",\"stayOn\":true,\"streetName\":\"path\"},{\"absoluteDirection\":\"EAST\",\"alerts\":[],\"area\":false,\"distance\":40.34,\"elevationProfile\":[],\"lat\":33.7745217,\"lon\":-84.2965016,\"relativeDirection\":\"CONTINUE\",\"stayOn\":false,\"streetName\":\"Sycamore Street\"},{\"absoluteDirection\":\"EAST\",\"alerts\":[],\"area\":true,\"distance\":62.55,\"elevationProfile\":[],\"lat\":33.7745401,\"lon\":-84.2960662,\"relativeDirection\":\"CONTINUE\",\"stayOn\":false,\"streetName\":\"Decatur MARTA Plaza\"}],\"to\":{\"lat\":33.774699,\"lon\":-84.295417,\"name\":\"Decatur Station\",\"rentalVehicle\":null,\"stop\":{\"alerts\":[],\"code\":\"908475\",\"gtfsId\":\"MARTA:193\",\"id\":\"U3RvcDpNQVJUQToxOTM\"},\"vertexType\":\"TRANSIT\"},\"transitLeg\":false,\"trip\":null},{\"accessibilityScore\":null,\"agency\":{\"alerts\":[],\"id\":\"QWdlbmN5Ok1BUlRBOk1BUlRB\",\"name\":\"Metropolitan Atlanta Rapid Transit Authority\",\"timezone\":\"America/New_York\",\"url\":\"https://www.itsmarta.com\"},\"arrivalDelay\":0,\"departureDelay\":0,\"distance\":10171.43,\"dropoffType\":\"SCHEDULED\",\"duration\":840.0,\"endTime\":1691098680000,\"fareProducts\":[{\"id\":\"9149ab26-a1ab-321c-bc24-776c11f52abb\",\"product\":{\"__typename\":\"DefaultFareProduct\",\"id\":\"atlanta:electronicSpecial\",\"medium\":null,\"name\":\"electronicSpecial\",\"riderCategory\":null,\"price\":{\"amount\":2.5,\"currency\":{\"code\":\"USD\",\"digits\":2}}}},{\"id\":\"ec2a111b-0263-3b34-a2b7-ef094b6c8f9e\",\"product\":{\"__typename\":\"DefaultFareProduct\",\"id\":\"atlanta:regular\",\"medium\":null,\"name\":\"regular\",\"riderCategory\":null,\"price\":{\"amount\":2.5,\"currency\":{\"code\":\"USD\",\"digits\":2}}}},{\"id\":\"f292705b-eea0-3f56-9034-cd77741b96d4\",\"product\":{\"__typename\":\"DefaultFareProduct\",\"id\":\"atlanta:electronicSenior\",\"medium\":null,\"name\":\"electronicSenior\",\"riderCategory\":null,\"price\":{\"amount\":2.5,\"currency\":{\"code\":\"USD\",\"digits\":2}}}},{\"id\":\"bea3ecb3-56f2-3237-a04b-de9157fec8c6\",\"product\":{\"__typename\":\"DefaultFareProduct\",\"id\":\"atlanta:electronicRegular\",\"medium\":null,\"name\":\"electronicRegular\",\"riderCategory\":null,\"price\":{\"amount\":2.5,\"currency\":{\"code\":\"USD\",\"digits\":2}}}},{\"id\":\"c76d9f97-c5e7-3041-8ce6-0bd938a47ac4\",\"product\":{\"__typename\":\"DefaultFareProduct\",\"id\":\"atlanta:senior\",\"medium\":null,\"name\":\"senior\",\"riderCategory\":null,\"price\":{\"amount\":0.0,\"currency\":{\"code\":\"USD\",\"digits\":2}}}},{\"id\":\"8119e1f9-a770-320b-acad-bcda0676dab8\",\"product\":{\"__typename\":\"DefaultFareProduct\",\"id\":\"atlanta:electronicYouth\",\"medium\":null,\"name\":\"electronicYouth\",\"riderCategory\":null,\"price\":{\"amount\":2.5,\"currency\":{\"code\":\"USD\",\"digits\":2}}}},{\"id\":\"da653567-98e2-3fe8-860d-3d5600b5f403\",\"product\":{\"__typename\":\"DefaultFareProduct\",\"id\":\"atlanta:youth\",\"medium\":null,\"name\":\"youth\",\"riderCategory\":null,\"price\":{\"amount\":0.0,\"currency\":{\"code\":\"USD\",\"digits\":2}}}}],\"from\":{\"lat\":33.774699,\"lon\":-84.295417,\"name\":\"Decatur Station\",\"rentalVehicle\":null,\"stop\":{\"alerts\":[],\"code\":\"908475\",\"gtfsId\":\"MARTA:193\",\"id\":\"U3RvcDpNQVJUQToxOTM\"},\"vertexType\":\"TRANSIT\"},\"interlineWithPreviousLeg\":false,\"intermediateStops\":[{\"lat\":33.765196,\"locationType\":\"STOP\",\"lon\":-84.313426,\"name\":\"East Lake Station\",\"stopCode\":\"908567\",\"stopId\":\"U3RvcDpNQVJUQToxODY\"},{\"lat\":33.761803,\"locationType\":\"STOP\",\"lon\":-84.340825,\"name\":\"Edgewood-Candler Park Station\",\"stopCode\":\"908476\",\"stopId\":\"U3RvcDpNQVJUQToxOTU\"},{\"lat\":33.757227,\"locationType\":\"STOP\",\"lon\":-84.353066,\"name\":\"Inman Park-Reynoldstown Station\",\"stopCode\":\"908692\",\"stopId\":\"U3RvcDpNQVJUQTo4MDQ\"},{\"lat\":33.749853,\"locationType\":\"STOP\",\"lon\":-84.37599,\"name\":\"King Memorial Station\",\"stopCode\":\"908693\",\"stopId\":\"U3RvcDpNQVJUQTo4MDU\"},{\"lat\":33.750161,\"locationType\":\"STOP\",\"lon\":-84.385915,\"name\":\"Georgia State Station\",\"stopCode\":\"908618\",\"stopId\":\"U3RvcDpNQVJUQToxOTg\"}],\"legGeometry\":{\"length\":8591,\"points\":\"{rcmEj}naO?D?`AA`A?`A?~@A`A?J???@?@?@???@?@?@?@???@?@?@?@?@???@?@?@?@???@?@?@?@?@???@?@?@?@?@???@?@?@?@???@?@?@?@?@???@?@?@?@?@???@?@?@?@???@?@?@?@?@???@?@?@?@?@???@?@?@?@???@?@?@?@?@???@?@?@?@?@???@?@?@?@???@?@?@?@?@???@?@?@?@???@?@?@?@?@???@?@?@?@?@??@@?@?@?@???@?@?@?@?@???@?@?@?@?@???@?@?@?@???@?@?@?@?@???@?@?@?@???@?@@@?@?@???@?@?@?@?@???@?@?@?@???@?@?@?@?@???@@@?@?@???@?@?@?@?@???@?@?@?@???@?@@@?@?@???@?@?@?@???@?@?@@@?@???@?@?@?@???@?@?@?@?@??@@?@?@?@???@?@?@?@?@@??@?@?@?@???@?@?@?@??@@?@?@?@?@???@?@?@@@???@?@?@?@???@?@@@?@?@???@?@?@?@@??@?@?@?@???@?@@@?@???@?@?@?@@@???@?@?@?@??@@?@?@?@???@?@@@?@???@?@?@@@???@?@?@?@??@@?@?@?@???@@@?@?@???@?@@@?@???@?@?@@@???@?@?@?@@??@?@?@??@@?@?@?@???@@@?@?@???@@@?@?@???@@@?@?@???@@@?@???@?@@@?@???@?@@@?@???@?@@@???@?@?@@@???@?@@@???@?@?@@@???@?@@@???@?@@@?@???@?@@@???@?@@@?@???@?@@@???@?@@@???@?@@@?@???@@@?@???@@@?@???@@@?@?@@??@?@?@??@@?@?@@??@?@?@@??@?@?@@??@?@?@@??@?@@@?@???@@@?@???@@@?@??@@?@?@??@@?@?@@??@?@?@@??@?@@??@?@@@???@?@@@???@@@?@??@@?@?@??@@?@?@@??@?@@??@?@?@@??@?@@@???@@@?@??@@?@??@@?@?@@??@?@@@???@@@?@??@@?@??@@?@?@@??@?@@??@?@@@???@@@???@@@?@??@@?@??@@?@@@???@?@@??@@@?@??@@?@??@@?@??@@?@?@@??@@@???@@@???@@@?@??@@?@@??@?@@??@?@@??@@@?@??@@?@??@@?@@??@?@@??@?@@??@@@???@@@??@@?@?@@??@@@???@@@??@@?@??@@?@@??@?@@??@@@???@@@??@@?@??@@?@@??@?@@??@@@??@@???@@@??@@?@??@@?@@??@@@???@@@??@@?@@??@??@@?@@??@@@???@@@??@@?@@??@??@@?@@??@@@??@@???@@@??@@?@@??@@??@?@@??@@@??@@??@@?@??@@?@@??@@??@@@??@@??@@?@??@@??@@?@@??@@@??@@??@@?@@??@??@@?@@??@@??@@??@@@??@@??@@?@@??@@??@@@???@@??@@??@@@??@@??@@?@@??@@??@@??@@@??@@??@@??@@?@@??@@??@@??@@??@@@??@@??@@??@@?@@??@@??@@??@@??@@??@@@??@@@??@??@@??@@@??@@@??@@??@@??@@??@@??@@??@@?@@??@@??@@?@@??@@??@@??@@??@@??@@??@@??@@@??@@@??@@??@@??@@??@@??@@@??@@??@@??@@??@@??@@?@@??@@??@@??@@??@@??@@@???@@??@@??@@@??@@??@@??@@??@@?@@??@@??@@??@?@@??@@??@@??@@??@@@??@@??@@???@@@??@@??@@??@@?@@??@??@@??@@?@@??@@??@?@@??@@??@@??@?@@??@@??@@@???@@??@@??@@@???@@??@@@??@@???@@@??@@???@@??@??@@??@@?@??@@??@@?@??@@??@@?@??@@??@@?@??@@??@@?@??@@???@@@??@@???@@@??@@???@@@???@@??@@@???@@@???@@??@@@???@@??@?@@??@@@???@@??@?@@??@??@@?@@??@?@@??@??@@?@??@@???@@@??@@?@??@@???@@@???@@@???@@??@?@@??@?@@??@?@@??@@??@?@@??@??@@?@??@@?@??@@???@@@???@@@???@@??@?@@??@?@@??@?@@??@??@@?@??@@?@??@@?@??@@???@@@???@@??@?@@??@?@??@@???@@@???@@@???@@@???@@??@?@@??@?@@??@??@@?@??@@?@??@@?@??@@?@??@@???@??@XJr@Xp@Xp@Xp@Xr@Xn@V@@??@??@@?@??@@?@???@@??@?@@??@?@@??@?@@??@??@@?@??@@?@??@@???@@@???@@@???@@??@?@@??@?@@??@?@@??@??@@?@??@@?@??@@???@@@???@@@???@@@???@@??@?@@??@??@@?@??@@?@??@@???@@@???@@@???@@??@@@???@@@???@@??@?@@??@??@@?@@??@?@@??@??@@?@??@@??@@?@??@@?@??@@??@@?@??@@???@@@??@@???@@@??@@?@??@@???@@@??@@???@@@??@@???@@@??@@???@@@??@@??@@???@@@??@@???@??@@??@@??@@?@??@@??@@??@@?@??@@??@@?@@??@@??@??@@?@@??@@??@@??@?@@??@@??@@??@@@??@@??@@???@@@??@@??@@??@@??@@?@@??@@??@@??FF@??@@??@@?@@??@@??@@??@@??@@??@@??@@@??@@??@@??@@??@@??@@??@@?@@DF@??@@??@@??@@??@@??@@@??@@??@@??@@??@@?@@??@@??@@??@@?@@?@@??@@??@@??@@??@?@@??@@??@@??@@@??@@??@@?@@??@@??@@??@@@??@@??@@?@@??@@??@@@??@@???@@@??@@??@@?@@??@@??@@@???@@??@@@??@@??@@?@@??@?@@??@@??@@@??@@?@??@@??@@?@@??@@@??@@?@??@@??@@?@??@@?@??@??@@@???@@@??@@??@@?@??@@?@@??@?@@??@@@??@@?@??@@?@@??@?@@??@@@??@@?@??@@?@@??@?@@??@?@@??@@@???@@@??@@?@??@@?@@??@?@@??@@@?@??@@?@??@@?@??@@?@@??@?@@??@@@???@@@?@??@@?@@??@?@@??@?@@??@@@?@??@@?@??@@?@@??@?@@??@?@@@??@@?@??@@?@??@@?@??@@?@?@@??@@@???@@@???@@@?@@??@?@@??@?@@??@?@@@??@@?@???@@??@@@?@??@@?@??@@?@??@@?@@@???@@@???@@@???@@@?@@??@?@@??@?@@??@?@@@???@@@??@@?@??@@?@?@@??@?@@??@?@@@???@@@??@@?@?@@??@?@@??@?@@??@?@@@???@@@?@??@@?@??@@?@?@@??@?@@??@?@@@???@@@?@???@??@@???@@@?@??@@?@?@@??@?@?@@??@?@@@???@@@?@???@@@?@??@@?@???@@@?@?@@??@?@?@@??@?@?@@??@?@?@@??@?@@@???@?@@@???@?@@@???@?@@@?@???@@@?@???@@@?@???@@@?@?@???@@@?@???@@@?@?@???@@@?@???@?@@@?@???@?@@@?@???@@@?@???@?@?@@@???@?@?@@@???@?@?@@@???@?@?@?@@??@?@?@?@@??@?@?@???@?@@@?@???@?@?@@@?@???@?@?@?@@??@?@?@?@???@@@?@?@???@?@?@@@???@?@?@?@???@?@@@?@?@???@?@?@@@???@?@?@?@???@?@?@?@@@???@?@?@?@???@?@@@?@???@?@?@?@?@???@?@?@@@???@?@?@?@?@???@?@?@?@@??@?@?@?@?@???@?@?@?@???@@@?@?@?@???@?@?@?@???@?@?@@@???@?@Dx@B~@F`AD`AD`AD~@D`ABh@??@VD~@Bt@???@?@?@@@???@?@?@?@?@???@?@?@?@??@@?@?@?@?@???@?@?@?@???@@@?@?@?@???@?@?@?@???@?@?@@@???@?@?@?@?@???@?@?@@@???@?@?@?@?@???@?@?@?@??@@?@?@?@?@???@?@?@?@@??@?@?@?@???@?@?@?@?@@??@?@?@?@???@?@?@@@?@???@?@?@?@???@@@?@?@???@?@?@?@??@@?@?@?@?@???@@@?@?@???@?@?@?@??@@?@?@?@???@?@@@?@???@?@?@?@@@???@?@?@?@??@@?@?@?@???@?@@@?@?????@?@?@@@???@?@?@?@@??@?@?@?@??@@?@?@???@@@?@?@???@@@?@?@???@@@?@?@???@?@@@?@???@?@@@???@?@?@@@???@?@@@???@?@?@@@???@?@?@@??@?@?@@@???@?@@@???@?@@@?@???@?@@@???@?@@@?@???@@@?@???@@@?@???@@@?@???@@@?@???@@@?@?@@??@?@?@??@B?@@??@?@@@???@?@@@???@@@?@???@@@?@??@@?@?@??@@?@?@@??@?@@??@?@?@@??@?@@@???@@@?@????@@?@???@@@?@??@@?@?@@??@?@@??@?@@@???@@@?@??@@?@??@@?@?@@??@?@@??@?@@@???@@@???@@@?@@??@?@@??@?@@??@?@@@???@@@???@@@?@@??@?@@??@?@@??@?@@@??@@?@??@@?@??@@?@??@@?@@@???@@@???@@@??@@?@??@@?@??@@?@@@???@@@??@@?@??@@?@??@@?@@??@?@@??@@@?@??@@?@@??@?@@??@?@@??@@@???@@@???@@@??@@?@??@@?@@??@@@???@@@?@??@@?@@??@?@@??@@@???@@@??@@?@??@@?@@??@?@@??@@@???@@@???@@@???@Zn@^r@^t@^t@^t@^t@^t@\\\\t@^t@^t@^t@^r@\\\\t@^t@LVXh@LV?@@@???@@@??@@?@??@@?@@??@?@@@??@@?@??@@?@@??@?@@??@@@???@@@??@@?@??@@?@??@@?@@??@?@@??@@@???@@@??@@?@??@@?@@??@?@@@??@@?@??@@?@??@@?@@??@?@@??@?@@??@@@??@@?@??@@?@?@@??@?@@??@@@???@@@??@@?@??@@?@??@@?@@@???@@@??@@?@??@@?@??@@?@??@@?@@@???@@@???@@@???@@@?@@??@?@@??@?@@??@@@???@@@?@??@@?@??@@?@?@@??@@@???@@@???@@@?@??@@?@??@@?@?@@??@?@@??@?@@@???@@@??@@?@?@@??@?@@??@?@@@???@@@???@BF?@??@@?@??@@?@?@@??@?@@@???@@@???@@@?@??@@?@?@??@@?@?@@??@?@?@@??@?@@??@?@@@???@?@@@???@@@?@???@@@?@??@@?@?@??@@?@?@@??@?@?@@??@?@@@???@?@@@???@?@@@???@@@?@?@??@@?@?@??@@?@?@??@@?@?@??@@?@?@??@@?@?@?@@??@?@?@@??@?@?@@??@?@?@@@???@?@?@@??@?@?@@@???@?@?@@??@?@?@@@???@?@?@@??@?@?@@@???@?@?@@??@?@?@?@@??@?@?@?@@??@?@?@??@@?@?@?@@??@?@?@?@??@@?@?@?@??@@?@?@???@?@@@?@???@?@@@?@???@?@?@@@???@?@?@?@@??@?@?@?@??@@?@?@?@???@@@?@?@???@?@@@?@???@?@?@?@??@@?@?@?@???@@@?@?@???@?@?@?@@@???@?@?@?@???@@@?@?@???@?@?@?@@??@?@?@?@???@?@?@@@?@???@?@?@?@???@@@?@?@???@?@?@?@?@??@@?@?@?@???@?@?@?@?@@??@?@?@?@???@?@?@?@?@???@@@?@?@???@?@?@?@?@???@?@?@@@???@?@?@?@?@???@?@?@?@???@?@?@?@?@??@@?@?@?@???@?@?@?@?@???@?@?@?@???@?@?@?@?@???@?@?@?@?@@??@?@?@?@???@?@?@?@?@???@?@?@?@?@???@?@?@?@???@?@?@?@?@???@?@?@?@???@?@?@?@?@???@?@?@?@?@???@?@?@?@???@?@?@?@?@???@?@A@?@?@???@?@?@?@???@?@?@?@?@???@?@?@?@???@?@?@?@?@???@A@?@?@?@???@?@?@?@???@?@?@?@?@???@?@?@?@A??@?@?@?@?@???@?@?@?@??A@?@?@?@?@???@?@?@?@???@?@?@A@?@???@?@?@?@???@?@A@?@???@?@?@?@?@???@A@?@?@???@?@?@?@??A@?@?@?@?@???@?@?@A@???@?@?@?@???@A@?@?@???@?@?@A@?@???@?@?@?@??A@?@?@?@???@?@A@?@???@?@?@?@A??@?@?@?@??A@?@?@?@???@A@?@?@???@?@?@A@???@?@?@A@???@?@?@?@A??@?@?@?@??A@?@?@?@??A@?@?@???@?@A@?@???@?@A@?@???@?@A@?@???@?@A@???@?@?@A@???@?@???@A@???@?@A@???@?@?@A@???@?@A@???@?@?@A@???@?@?@A??@?@?@A@???@?@A@???@?@A@?@???@?@A@???@?@A@???@?@A@?@???@A@?@???@A@?@???@A@?@???@A@?@?@??A@?@?@??A@?@?@??A@?@?@A??@?@?@A@???@?@A@???@?@A@???@?@A@???@A@?@???@A@?@???@A@?@??A@?@?@??A@?@?@??A@?@?@A??@?@?@A??@?@?@A@???@A@?@???@A@?@??A@?@?@??A@?@?@A??@?@?@A??@?@A@???@?@A@???@?@A??@?@A@???@?@A@???@A@?@??A@?@?@??A@?@?@A??@?@?@A??@?@A@???@?@A@???@A@Oh@Uz@Wz@Ux@Wz@Uz@EL?@??A@?@?@??A@?@?@A??@?@?@A??@?@A@???@A@?@???@A@?@??A@?@?@??A@?@?@A??@?@?@A??@?@A@???@?@A@???@A@?@???@A@?@???@A@?@??A@?@?@??A@?@?@A??@?@?@A??@?@A@???@?@A@???@A@?@???@A@?@???@A@?@??A@?@?@??A@?@?@??A@?@?@A??@?@?@A??@?@?@A??@?@A@?@???@A@?@???@A@?@??A@?@?@???@A@?@??A@?@?@??A@?@?@??A@?@?@?@A??@?@A@???@?@A@???@?@A@???@?@A@?@???@?@A@???@A@?@???@?@A@???@A@?@?@??A@?@?@???@A@?@?@??A@?@?@??A@?@?@??A@?@?@?@??A@?@?@??A@?@?@?@??A@?@?@??A@?@?@?@A??@?@?@??A@?@?@?@??A@?@?@??A@?@?@?@??A@?@?@?@???@A@?@???@A@?@?@???@?@A@?@???@A@?@???@???@?@A@???@?@?@A@???@?@?@?@A??@?@?@?@A??@?@?@?@??A@?@?@?@???@A@?@?@???@?@A@?@???@?@?@?@A??@?@?@?@??A@?@?@?@???@?@A@?@???@?@?@?@A??@?@?@?@???@A@?@?@???@?@?@?@A@???@?@?@?@???@A@?@?@???@?@?@?@A??@?@?@?@?@???@?@A@?@???@?@?@?@???@?@?@A@?@???@?@?@?@???@A@?@?@?@???@?@?@?@???@?@A@?@???@?@?@?@?@???@?@?@A@???@?@?@?@?@???@?@?@?@???@?@A@?@?@???@?@?@?@???@?@?@?@?@???@?@?@A@?@???@?@?@?@???@?@?@?@?@???@?@?@?@???@?@?@?@A@???@?@?@?@?@???@?@?@?@???@?@?@?@?@???@?@?@?@???@?@?@?@?@???@?@?@?@?@???@?@?@?@???@?@?@?@?@???@?@???@?@?@???@?@?@?@???@?@?@?@?@???@?@?@?@???@?@?@?@?@???@?@?@?@?@???@?@?@?@???@?@?@?@?@???@?@?@?@?@???@?@?@?@???@?@?@?@?@???@?@?@?@???@@@?@?@?@???@?@?@?@?@???@?@?@?@???@?@?@?@?@???@?@?@@@???@?@?@?@?@???@?@?@?@?@???@?@?@?@??@@?@?@?@?@???@?@?@?@???@?@?@?@?@@??@?@?@?@???@?@?@?@?@???@?@@@?@???@?@?@?@?@???@?@?@?@@??@?@?@?@?@???@?@?@@@???@?@?@?@???@?@?@?@???@@??@?@?@?@???@?@?@?@?@@??@?@?@?@???@?@?@@@???@?@?@?@?@???@?@@@?@???@?@?@?@???@@@?@?@?@???@?@?@@@???@?@?@?@???@?@@@?@???@?@?@?@?@@??@?@?@?@???@@@?@?@???@?@?@?@??@@?@?@?@?@???@?@@@?@???@?@?@?@??@@?@?@?@???@?@?@@@?@???@?@?@?@??@@?@?@?@???@?@?@Fd@H~@H`AH~@H~@H`AH~@J~@B`@??BX?@@@?@?@???@?@?@@@???@?@?@?@???@@@?@?@?@???@?@@@?@???@?@?@?@??@@?@?@?@???@?@@@?@???@?@?@?@@??@?@?@?@?@???@@@?@?@???@?@?@@@???@?@?@?@??@@?@?@?@???@?@?@@@???@?@?@?@??@@?@?@?@?@???@@@?@?@???@?@?@@@???@?@?@?@@??@?@?@?@???@@@?@?@???@?@?@@@???@?@?@?@@??@?@?@?@???@@@?@?@???@?@?@@@???@?@?@?@??@@?@?@?@?@??@@?@?@?@???@?@@@?@???@?@?@@@J~@J~@@D?@???@?@?@@@???@?@?@?@@??@?@?@?@???@@@?@?@???@?@@@?@???@?@?@?@@??@?@?@?@???@@@?@?@?@???@@@?@?@???@?@@@?@???@?@?@?@??@@?@?@?@???@?@@@?@???@?@?@?@@??@?@?@?@???@@@?@?@???@?@?@@@???@?@?@?@?@@??@?@?@?@???@@@?@?@???@?@?@@@???@?@?@?@??@@?@?@?@???@?@?@@@???@?@?@?@@@???@?@?@?@???@?@@@?@???@?@?@?@@??@?@?@?@???@?@@@?@?@???@?@?@@@???@?@?@Fr@H~@H~@Ff@???@?@???@?@?@?@@??@?@?@?@???@@@?@?@???@?@?@?@@@???@?@?@?@???@@@?@?@???@?@?@@@???@?@?@?@???@@@?@?@?@???@?@?@@@???@?@?@?@??@@?@?@?@???@?@?@@@???@?@?@?@??@@?@?@?@?@???@@@?@?@???@?@?@@@???@?@?@?@??@@?@?@?@???@?@@@?@???@?@?@?@@??@?@?@?@???@@@?@?@???@?@?@@@???@?@?@?@@@???@?@?@?@??@@?@?@?@???@@@?@?@???@?@@@?@???@?@?@@@???@?@?@??@@?@?@?@???@@@?@?@???@?@@@?@???@?@?@@@?????@?@?@?@@??@?@?@?@@??@?@?@?@??@@?@?@???@@@?@?@???@@@?@?@???@@@?@?@???@?@@@?@???@@@?@???@?@?@@@???@?@?@@@???@?@@@???@?@?@@@???@?@?@@@???@?@?@@??@?@?@@@???@?@?@@??@?@?@@@???@?@?@@??@?@?@?@@??@?@?@@??@?@?@@@???@?@?@@??@?@?@@@???@?@@@???@?@@@???@?@@@?@???@?@@@???@?@@@???@?@@@?@???@@@?@???@@@?@???@@@?@???@@@?@?@??@@?@?@@??@?@?@@??@?@?@@??@?@?@@??@?@?@@@???@?@@@???@@@?@???@@@?@???@@@?@??@@?@?@??@@?@?@??@@?@?@@??@?@?@@??@?@@@???@?@@@???@@@?@???@@@?@??@@?@?@@??@?@?@@??@?@@@???@?@@@???@@@???@@@?@???@@@?@??@@?@?@@??@?@@@???@@@???@?@@@???@@@?@??@@?@?@??@@?@??@@?@?@@??@?@@@???@@@???@@@?@??@@?@?@@??@?@@??@?@@@???@@@???@?@@@???@@@?@??@@?@@??@?@@@???@@@???@@@?@??@@?@??@@?@?@@??@?@@??@?@@@???@@@???@@@???@@@?@@??@?@@??@?@@@???@@@???@@@??@@?@?@@??@?@@??@@@???@@@?@??@@?@??@@?@??@@?@@@???@@@???@@@??@@?@??@@?@?@@??@?@@??@@@???@@@??@@?@??@@?@@??@?@@@???@@@??@@?@??@@?@??@@?@@??@?@@??@@@???@@@??@@?@??@@?@?@@??@@@???@@@??@@?@??@@?@@??@?@@??@@@??@@?@??@@?@@??@?@@??@@@???@@??@@@???@@@??@@?@@??@?@@??@@@???@@@??@@?@@??@?@@??@@@???@@??@@@??@@?@@??@?@@??@@@???@@??@@@??@@?@??@@?@@??@@@??@@???@@@??@@?@@??@?@@??@@??@@@???@@@??@@??@@?@@??@?@@??@@??@@@??@@?@??@@??@@?@@??@@@@@???@@@??@@?@@??@@??@@@???@@??@@@??@@?@@??@@??@?@@??@@??@@@??@@??@@?@@??@@??@?@@??@@@??@@??@@?@@??@@??@?@@??@@??@@@??@@??@@?@@??@@??@?@@??@@??@@@??@@TZd@n@b@p@d@n@d@n@b@n@d@n@HL??Z`@b@n@d@p@d@n@@B@??@??@@?@@??@@??@@@??@@??@@?@@??@??@@?@@??@@??@@@??@@??@@?@??@@??@@?@@??@@??@@@??@@?@@??@??@@?@@??@@??@@@??@@??@@?@@??@??@@?@@??@@@??@@??@@?@??@@??@@?@@??@@??@@@??@@?@??@@??@@?@@??@@??@@@???@@@??@@??@@?@@??@@??@?@@??@@@??@@??@@?@??@@?@@??@@??@@@???@@@??@@??@@?@@??@?@@??@@@??@@??@@?@??@@?@@??@@@???@@??@@@??@@?@??@@?@@??@@??@@@?@@@??@@?@??@@?@@??@@@???@@??@@@??@@?@??@@?@@??@@@???@@@???@@@??@@?@@??@?@@??@@@???@@@??@@?@@??@?@@??@?@@??@@@???@@@??@@?@??@@?@@??@?@@??@@@???@@@???@@@??@@?@??@@?@@??@?@@@???@@@??@@?@??@@?@@??@?@@??@?@@@??@@?@??@@?@??@@?@??@@?@@@???@@@???@@@??@@?@?@@??@?@@??@?@@??@?@@@??@@?@??@@?@??@@?@?@@??@?@@??@?@@@???@@@??@@?@?@@??@?@@??@?@@@???@@@???@@@?@??@@?@??@@?@?@@??@?@@??@?@@@???@@@?@??@@?@???@@@?@??@@?@@@???@?@@??@?@@@???@@@?@??@@?@???@@@?@??@@?@?@@??@?@@@???@@@?@???@@@???@@@?@???@@@?@??@@?@?@??@@?@?@@??@?@@@???@?@??@@???@@@?@???@@@?@??@@?@?@??@@?@?@??@@?@?@@??@?@?@@??@?@?@@??@?@@@???@?@@@???@?@@@?@??@@?@?@???@@@?@???@@@?@???@@@?@?@@??@?@?@@??@?@?@??@@?@?@@??@?@?@?@@??@?@@@???@?@?@@??@?@?@@@???@?@?@@??@?@?@@@???@?@??@@???@?@?@@@???@?@@@???@?@?@@@???@?@@@???@?@?@@@???@?@?@@@???@?@?@@??@?@?@?@@??@?@?@??@@?@?@?@??@@?@?@?@??@@?@?@?@??@@?@?@???@@@?@?@???@?@@@???@???@?@@@?@???@?@?@@@???@?@?@@@???@?@?@?@@??@?@?@???@@@?@?@???@?@@@?@???@?@?@@@???@?@?@?@@??@?@?@?@???@@@?@?@???@@@?@?@???@?@?@?@@??@?@?@?@?@@??@?@?@?@???@@@?@?@???@?@?@@@???@?@?@?@??@@?@?@?@???@?@@@?@???@?@?@@@???@?@?@?@???@@@?@?@?@???@?@@@?@???@?@?@?@??@@?@?@?@???@?@@@?@???@?@?@?@??@@?@?@?@?@???@@@?@?@???@?@?@?@@??@?@?@?@??Hv@H~@H~@J`AH~@BZ??@@?@?@?@?@???@?@@@?@???@?@?@@@???@?@?@?@???@@@?@?@???@?@?@@@???@?@?@?@?@??@@?@?@?@???@?@@@?@???@?@?@?@??@@?@?@?@???@?@@@?@???@?@?@?@@??@?@?@?@?@??@@?@?@?@???@@@?@?@???@?@?@?@@??@?@?@?@??@@?@?@?@???@?@?@@@???@?@?@?@@??@?@?@?@???@@@?@?@???@?@?@@@?@???@?@?@?@@??@?@?@?@???@@@?@?@???@?@@@?@???@?@?@?@@??@?@?@?@??@@?@?@?@???@?@@@?@???@?@?@@@???@?@?@?@??@@?@?@?@???@@@?@?@???@?@?@@@???@?@?@?@@??@?@?@?@???@@@?@?@???@?@@@?@???@?@?@@@???@?@?@?@@??@?@?@?@???@@@?@?@???@?@@@?@???@?@?@@@???@?@?@?@@??@?@?@?@??@@?@?@?@???@@@?@?@???@?@@@?@???@?@?@@@???@?@?@?@@??@?@?@?@??@@?@?@?@???@@@?@?@???@?@@@?@???@?@?@@@???@?@?@?@@??@?@?@?@??@@?@?@???@?@@@?@???@?@@@?@???@?@?@@@???@?@?@?@@??@?@?@?@??@@?@?@?@???@@@?@?@???@@@?@?@???@?@@@???@?@?@@@???@?@?@?@@??@?@?@?@@??@?@?@?@??@@?@?@?@??@@?@?@?@???@@@?@???@?@?@@@???@?@?@@@???@?@?@?@@??@?@?@?@@??@?@?@?@??@@?@?@???@@@?@?@???@?@@@?@???@@@?@?@???@?@@@?@???@?@?@@??@?@?@?@@??@?@?@?@@??@?@?@?@??@@?@?@?@??@@?@?@??@@?@?@?@???@@@?@?@???@@@?@?@???@?@@@???@?@?@@@???@?@?@@@???@?@?@@@???@?@?@@??@?@?@?@@??@?@?@?@@??@?@?@???@@@?@?@??@@?@?@?@???@@@?@?@???@@@?@???@?@@@?@???@?@@@?@???@?@@@???@?@?@@@???@?@?@@@???@?@?@@??@?@?@@@???@?@?@@@???@?@?@@??@?@?@?@@??@?@?@?@@??@?@?@??@@?@?@?@??@@?@?@?@??@@?@?@??@@?@?@?@??@@?@?@???@@@?@?@??@@?@?@?@???@@@?@???@@B?@???@@@?@?@???@@@?@???@@@?@?@???@@@?@???@@@?@?@???@@@?@???@?@@@?@???@?@@@?@???@@@?@???@?@@@?@???@?@@@???@?@@@?@???@?@@@???@?@@@?@???@?@@@???@?@@@?@???@?@@@???@?@?@@@???@?@@@?@???@?@@@???@?@@@?@???@?@@@???@?@@@?@???@?@@@???@?@@@?@???@@@?@???@?@@@???@?@@@?@???@?@@@???@?@@@?@???@?@@@???@?@@@?@???@@@?@???@@@?@?@???@@@?@???@@@?@?@???@@@?@???@@@?@???@@@?@?@???@@@?@???@@@?@?@??@@?@?@??@@?@?@?@??@@?@?@??@@?@?@??@@?@?@?@@??@?@?@??@@?@?@?@@??@?@?@@??@?@?@@??@?@?@@@???@?@?@@??@?@@@???@?@?@@@???@?@@@???@H\\\\P|@Rz@R|@P|@R|@R|@P|@Rz@P|@R|@R|@P|@Rz@R|@P|@R|@P|@Rz@R|@P|@R|@R|@Pz@R|@Nt@??BFP|@R|@P|@DJ?@???@@@?@???@?@@@?@???@@@?@???@@@?@?@??@@?@?@???@@@?@???@@@?@?@??@@?@?@??@@?@?@??@@?@?@?@??@@?@?@??@@?@?@?@@??@?@?@??@@?@?@?@@??@?@?@@??@?@?@??@@?@?@?@@??@?@?@@??@?@?@?@@??@?@?@@@???@?@?@@??@?@?@?@@??@?@?@???@@??@?@?@??@@?@?@?@??@@?@?@???@@@?@?@???@@@?@?@???@@@?@???@?@@@?@???@?@@@?@???@?@?@@@???@?@?@@@???@?@?@?@@??@?@?@???@@@?@?@???@?@@@?@???@?@?@@@???@?@?@?@@??@?@?@?@??@@?@?@?@???@?@@@?@???@?@?@@@???@?@?@?@?@@??@?@?@?@???@@@?@?@???@?@?@?@@??@?@?@?@???@@@?@?@???@?@?@?@@@???@?@?@?@???@?@@@?@???@?@?@?@??@@?@?@?@?@???@?@?@?@@??@?@?@?@???@?@@@?@?@???@?@?@?@???@?@?@@@?@???@?@?@?@???@?@?@@@???@?@?@?@?@???@?@?@?@@??@?@?@?@?@???@?@?@?@???@?@@@?@?@???@?@?@?@???@?@?@?@?@???@@@?@?@???@?@?@?@?@???@?@?@?@???@?@@@?@?@???@?@?@?@?@???@?@?@?@???@?@?@@@?@???@?@?@?@???@?@?@?@?@???@?@?@?@???@?@?@?@?@??@@?@?@?@?@???@?@?@?@???@?@?@?@??@\\\\B`A@`AB`AB`A@`ABl@?@?@???@?@?@?@???@?@?@?@?@???@?@?@?@???@?@?@?@?@@??@?@?@?@?@???@?@?@?@???@?@?@?@?@???@?@?@?@???@?@?@?@?@???@?@?@?@?@???@?@?@?@???@?@?@?@?@???@?@???@?@?@???@?@?@?@???@?@?@?@?@???@A@?@?@???@?@?@?@?@???@?@?@?@???@A@?@?@?@???@?@?@?@???@?@?@A@?@???@?@?@?@??A@?@?@?@???@?@?@?@A@???@?@?@?@??A@?@?@?@???@?@A@?@???@?@?@A@???@?@?@?@A??@?@?@?@??A@?@?@?@??A@?@?@???@?@A@?@???@A@?@?@???@A@?@???@A@?@?@???@A@?@???@A@?@???@A@?@?@??A@?@?@??A@?@?@???@A@?@??A@?@?@??A@?@?@A@???@?@A@???@A@???@?@A@???@A@?@??A@?@?@A??@?@?@A??@?@A??@?@A@???@A@???@A@?@??A@?@??A@?@A@???@A@???@A@?@??A@?@??A@?@A??@?@A??@?@A@??A@?@??A@?@??A@?@A??@?@A??@A@???@A@??A@?@??A@?@A??@A@???@A@??A@?@??A@??A@?@A??@?@A??@A@??A@?@A??@??A@?@A??@?@A??@A??@A@??A@?@A??@?@A??@A??@A@??A@?@??A@??A@??A@c@p@c@p@a@p@CD??_@j@c@p@c@p@c@p@c@r@A@??A@?@A??@??A@?@A??@A@???@A??@A@??A@?@A??@A??@?@A??@A@??A@???@A@??A@?@A??@?@A??@A@??A@???@A@??A@?@A??@?@A??@A@??A@?@??A@?@A??@?@A??@A@???@A@??A@?@??A@?@A??@?@A??@A@???@A@??A@?@??A@?@A??@?@A??@?@A??@A@???@A@???@A@?@A??@?@A??@A@???@CDYn@A??@?@A@??A@?@??A@?@A??@?@A??@?@A??@A@???@A@??A@?@??A@?@A??@?@A??@A@???@A@??A@?@A??@?@A??@A@???@A@??]n@QX???@A@??A@?@??A@?@A??@A@??A@?@??A@?@A??@??A@?@A??@A@???@A@??A@?@??A@?@A??@??A??@A@???@A@??A@?@A??@??A@?@A??@A@??A@??A@?@??A@?@A??@A??@A@???@A??@A@??A@??A@?@A??@A@??A@??A@?@??A@??A@?@A??@A??@A??@A@??A@??A@?@A??@A??@A@??A@???@A??@A@??A@??A@??A@?@A??@A??@A??@A@??A@??A@??A@?@A??@A??@A??@A@??A@??A@??A@?@A??@A??@A??@A@??A@??A@??A@?@A??@A??@A??@?@A?A@???@A??@??A@??A@?@A??@A??@A??@A@??A@??A@?@??A@?@A??@A??@A@??A@??A@?@??A@?@A??@A??@A@???@A@??A@??A@?@A??@?@A??@A??@?@A??@A@??A@?@A??@?@A??@A@??A@???@A@??A@?@??A@?@??A??@?@A??@ABA@??A@?@??A@?@A??@?@A@??A@?@??A@?@??A@?@A??@A@???@A@???@A?GN_@t@]t@_@t@_@t@EL\"},\"mode\":\"SUBWAY\",\"pickupBookingInfo\":null,\"pickupType\":\"SCHEDULED\",\"realTime\":false,\"realtimeState\":null,\"rentedBike\":null,\"rideHailingEstimate\":null,\"route\":{\"alerts\":[],\"color\":\"0075B2\",\"id\":\"Um91dGU6TUFSVEE6MTk0NTU\",\"longName\":\"Blue\",\"shortName\":\"Blue\",\"textColor\":\"000000\",\"type\":1},\"startTime\":1691097840000,\"steps\":[],\"to\":{\"lat\":33.754123,\"lon\":-84.391876,\"name\":\"Five Points Station\",\"rentalVehicle\":null,\"stop\":{\"alerts\":[],\"code\":\"908990\",\"gtfsId\":\"MARTA:806\",\"id\":\"U3RvcDpNQVJUQTo4MDY\"},\"vertexType\":\"TRANSIT\"},\"transitLeg\":true,\"trip\":{\"gtfsId\":\"MARTA:8063445\",\"id\":\"VHJpcDpNQVJUQTo4MDYzNDQ1\",\"tripHeadsign\":\"H E HOLMES STATION\"}},{\"accessibilityScore\":null,\"agency\":null,\"arrivalDelay\":0,\"departureDelay\":0,\"distance\":93.79,\"dropoffType\":\"SCHEDULED\",\"duration\":91.0,\"endTime\":1691098771000,\"fareProducts\":[],\"from\":{\"lat\":33.754123,\"lon\":-84.391876,\"name\":\"Five Points Station\",\"rentalVehicle\":null,\"stop\":{\"alerts\":[],\"code\":\"908990\",\"gtfsId\":\"MARTA:806\",\"id\":\"U3RvcDpNQVJUQTo4MDY\"},\"vertexType\":\"TRANSIT\"},\"interlineWithPreviousLeg\":false,\"intermediateStops\":null,\"legGeometry\":{\"length\":8,\"points\":\"wp_mElvabOTcAHHc@IGEGLFDTP\"},\"mode\":\"WALK\",\"pickupBookingInfo\":null,\"pickupType\":\"SCHEDULED\",\"realTime\":false,\"realtimeState\":null,\"rentedBike\":false,\"rideHailingEstimate\":null,\"route\":null,\"startTime\":1691098680000,\"steps\":[{\"absoluteDirection\":\"EAST\",\"alerts\":[],\"area\":true,\"distance\":33.73,\"elevationProfile\":[],\"lat\":33.7538834,\"lon\":-84.3915896,\"relativeDirection\":\"DEPART\",\"stayOn\":false,\"streetName\":\"Platform 908981;908990\"},{\"absoluteDirection\":\"SOUTHWEST\",\"alerts\":[],\"area\":false,\"distance\":6.86,\"elevationProfile\":[],\"lat\":33.7537795,\"lon\":-84.3912469,\"relativeDirection\":\"RIGHT\",\"stayOn\":false,\"streetName\":\"underpass\"},{\"absoluteDirection\":\"NORTH\",\"alerts\":[],\"area\":false,\"distance\":19.89,\"elevationProfile\":[],\"lat\":33.7537299,\"lon\":-84.3912911,\"relativeDirection\":\"HARD_RIGHT\",\"stayOn\":true,\"streetName\":\"steps\"},{\"absoluteDirection\":\"NORTHEAST\",\"alerts\":[],\"area\":true,\"distance\":5.65,\"elevationProfile\":[],\"lat\":33.7539052,\"lon\":-84.3912485,\"relativeDirection\":\"SLIGHTLY_RIGHT\",\"stayOn\":false,\"streetName\":\"Broad Street Plaza\"},{\"absoluteDirection\":\"NORTHWEST\",\"alerts\":[],\"area\":false,\"distance\":27.66,\"elevationProfile\":[],\"lat\":33.7539458,\"lon\":-84.3912118,\"relativeDirection\":\"LEFT\",\"stayOn\":false,\"streetName\":\"path\"}],\"to\":{\"lat\":33.753837,\"lon\":-84.391397,\"name\":\"Five Points Station (908981)\",\"rentalVehicle\":null,\"stop\":null,\"vertexType\":\"NORMAL\"},\"transitLeg\":false,\"trip\":null}],\"startTime\":1691097431000,\"waitingTime\":0,\"walkTime\":500},{\"accessibilityScore\":null,\"duration\":1340,\"endTime\":1691099671000,\"legs\":[{\"accessibilityScore\":null,\"agency\":null,\"arrivalDelay\":0,\"departureDelay\":0,\"distance\":493.51,\"dropoffType\":\"SCHEDULED\",\"duration\":409.0,\"endTime\":1691098740000,\"fareProducts\":[],\"from\":{\"lat\":33.77505,\"lon\":-84.300178,\"name\":\"Opus Music Store, Decatur, GA\",\"rentalVehicle\":null,\"stop\":null,\"vertexType\":\"NORMAL\"},\"interlineWithPreviousLeg\":false,\"intermediateStops\":null,\"legGeometry\":{\"length\":29,\"points\":\"aucmEdzoaO~AACc@?S?QAm@?q@?U?E?C?U?U?CRAAgD@s@BO?SDa@C]ESCA@OA_A?[AOAgA]aC??\"},\"mode\":\"WALK\",\"pickupBookingInfo\":null,\"pickupType\":\"SCHEDULED\",\"realTime\":false,\"realtimeState\":null,\"rentedBike\":false,\"rideHailingEstimate\":null,\"route\":null,\"startTime\":1691098331000,\"steps\":[{\"absoluteDirection\":\"SOUTH\",\"alerts\":[],\"area\":false,\"distance\":53.03,\"elevationProfile\":[],\"lat\":33.7750523,\"lon\":-84.3000227,\"relativeDirection\":\"DEPART\",\"stayOn\":false,\"streetName\":\"Ponce de Leon Place\"},{\"absoluteDirection\":\"EAST\",\"alerts\":[],\"area\":false,\"distance\":115.73,\"elevationProfile\":[],\"lat\":33.7745754,\"lon\":-84.3000126,\"relativeDirection\":\"LEFT\",\"stayOn\":false,\"streetName\":\"Swanton Way\"},{\"absoluteDirection\":\"SOUTH\",\"alerts\":[],\"area\":false,\"distance\":10.98,\"elevationProfile\":[],\"lat\":33.774606,\"lon\":-84.2987621,\"relativeDirection\":\"RIGHT\",\"stayOn\":false,\"streetName\":\"path\"},{\"absoluteDirection\":\"EAST\",\"alerts\":[],\"area\":false,\"distance\":161.01,\"elevationProfile\":[],\"lat\":33.7745073,\"lon\":-84.2987593,\"relativeDirection\":\"LEFT\",\"stayOn\":true,\"streetName\":\"sidewalk\"},{\"absoluteDirection\":\"EAST\",\"alerts\":[],\"area\":false,\"distance\":49.88,\"elevationProfile\":[],\"lat\":33.7745226,\"lon\":-84.2970412,\"relativeDirection\":\"SLIGHTLY_RIGHT\",\"stayOn\":true,\"streetName\":\"path\"},{\"absoluteDirection\":\"EAST\",\"alerts\":[],\"area\":false,\"distance\":40.34,\"elevationProfile\":[],\"lat\":33.7745217,\"lon\":-84.2965016,\"relativeDirection\":\"CONTINUE\",\"stayOn\":false,\"streetName\":\"Sycamore Street\"},{\"absoluteDirection\":\"EAST\",\"alerts\":[],\"area\":true,\"distance\":62.55,\"elevationProfile\":[],\"lat\":33.7745401,\"lon\":-84.2960662,\"relativeDirection\":\"CONTINUE\",\"stayOn\":false,\"streetName\":\"Decatur MARTA Plaza\"}],\"to\":{\"lat\":33.774699,\"lon\":-84.295417,\"name\":\"Decatur Station\",\"rentalVehicle\":null,\"stop\":{\"alerts\":[],\"code\":\"908475\",\"gtfsId\":\"MARTA:193\",\"id\":\"U3RvcDpNQVJUQToxOTM\"},\"vertexType\":\"TRANSIT\"},\"transitLeg\":false,\"trip\":null},{\"accessibilityScore\":null,\"agency\":{\"alerts\":[],\"id\":\"QWdlbmN5Ok1BUlRBOk1BUlRB\",\"name\":\"Metropolitan Atlanta Rapid Transit Authority\",\"timezone\":\"America/New_York\",\"url\":\"https://www.itsmarta.com\"},\"arrivalDelay\":0,\"departureDelay\":0,\"distance\":10171.43,\"dropoffType\":\"SCHEDULED\",\"duration\":840.0,\"endTime\":1691099580000,\"fareProducts\":[{\"id\":\"92db3f41-acee-382c-83e6-1066c27fb2a5\",\"product\":{\"__typename\":\"DefaultFareProduct\",\"id\":\"atlanta:electronicSpecial\",\"medium\":null,\"name\":\"electronicSpecial\",\"riderCategory\":null,\"price\":{\"amount\":2.5,\"currency\":{\"code\":\"USD\",\"digits\":2}}}},{\"id\":\"2c03a0af-5d78-3bc8-b866-ce8db65e16ef\",\"product\":{\"__typename\":\"DefaultFareProduct\",\"id\":\"atlanta:regular\",\"medium\":null,\"name\":\"regular\",\"riderCategory\":null,\"price\":{\"amount\":2.5,\"currency\":{\"code\":\"USD\",\"digits\":2}}}},{\"id\":\"da7a6039-acc8-3fd5-a9a2-ea3445c2470b\",\"product\":{\"__typename\":\"DefaultFareProduct\",\"id\":\"atlanta:electronicSenior\",\"medium\":null,\"name\":\"electronicSenior\",\"riderCategory\":null,\"price\":{\"amount\":2.5,\"currency\":{\"code\":\"USD\",\"digits\":2}}}},{\"id\":\"c2893187-c0f2-3ec6-a694-6fb2674d5d44\",\"product\":{\"__typename\":\"DefaultFareProduct\",\"id\":\"atlanta:electronicRegular\",\"medium\":null,\"name\":\"electronicRegular\",\"riderCategory\":null,\"price\":{\"amount\":2.5,\"currency\":{\"code\":\"USD\",\"digits\":2}}}},{\"id\":\"be9b3bce-31d7-3c52-99be-46f61341e6e7\",\"product\":{\"__typename\":\"DefaultFareProduct\",\"id\":\"atlanta:senior\",\"medium\":null,\"name\":\"senior\",\"riderCategory\":null,\"price\":{\"amount\":0.0,\"currency\":{\"code\":\"USD\",\"digits\":2}}}},{\"id\":\"282abd01-1c14-300e-827b-d1c5a98c1abb\",\"product\":{\"__typename\":\"DefaultFareProduct\",\"id\":\"atlanta:electronicYouth\",\"medium\":null,\"name\":\"electronicYouth\",\"riderCategory\":null,\"price\":{\"amount\":2.5,\"currency\":{\"code\":\"USD\",\"digits\":2}}}},{\"id\":\"0e7fc790-21fe-3ef0-b1e3-02623f99bcf6\",\"product\":{\"__typename\":\"DefaultFareProduct\",\"id\":\"atlanta:youth\",\"medium\":null,\"name\":\"youth\",\"riderCategory\":null,\"price\":{\"amount\":0.0,\"currency\":{\"code\":\"USD\",\"digits\":2}}}}],\"from\":{\"lat\":33.774699,\"lon\":-84.295417,\"name\":\"Decatur Station\",\"rentalVehicle\":null,\"stop\":{\"alerts\":[],\"code\":\"908475\",\"gtfsId\":\"MARTA:193\",\"id\":\"U3RvcDpNQVJUQToxOTM\"},\"vertexType\":\"TRANSIT\"},\"interlineWithPreviousLeg\":false,\"intermediateStops\":[{\"lat\":33.765196,\"locationType\":\"STOP\",\"lon\":-84.313426,\"name\":\"East Lake Station\",\"stopCode\":\"908567\",\"stopId\":\"U3RvcDpNQVJUQToxODY\"},{\"lat\":33.761803,\"locationType\":\"STOP\",\"lon\":-84.340825,\"name\":\"Edgewood-Candler Park Station\",\"stopCode\":\"908476\",\"stopId\":\"U3RvcDpNQVJUQToxOTU\"},{\"lat\":33.757227,\"locationType\":\"STOP\",\"lon\":-84.353066,\"name\":\"Inman Park-Reynoldstown Station\",\"stopCode\":\"908692\",\"stopId\":\"U3RvcDpNQVJUQTo4MDQ\"},{\"lat\":33.749853,\"locationType\":\"STOP\",\"lon\":-84.37599,\"name\":\"King Memorial Station\",\"stopCode\":\"908693\",\"stopId\":\"U3RvcDpNQVJUQTo4MDU\"},{\"lat\":33.750161,\"locationType\":\"STOP\",\"lon\":-84.385915,\"name\":\"Georgia State Station\",\"stopCode\":\"908618\",\"stopId\":\"U3RvcDpNQVJUQToxOTg\"}],\"legGeometry\":{\"length\":8591,\"points\":\"{rcmEj}naO?D?`AA`A?`A?~@A`A?J???@?@?@???@?@?@?@???@?@?@?@?@???@?@?@?@???@?@?@?@?@???@?@?@?@?@???@?@?@?@???@?@?@?@?@???@?@?@?@?@???@?@?@?@???@?@?@?@?@???@?@?@?@?@???@?@?@?@???@?@?@?@?@???@?@?@?@?@???@?@?@?@???@?@?@?@?@???@?@?@?@???@?@?@?@?@???@?@?@?@?@??@@?@?@?@???@?@?@?@?@???@?@?@?@?@???@?@?@?@???@?@?@?@?@???@?@?@?@???@?@@@?@?@???@?@?@?@?@???@?@?@?@???@?@?@?@?@???@@@?@?@???@?@?@?@?@???@?@?@?@???@?@@@?@?@???@?@?@?@???@?@?@@@?@???@?@?@?@???@?@?@?@?@??@@?@?@?@???@?@?@?@?@@??@?@?@?@???@?@?@?@??@@?@?@?@?@???@?@?@@@???@?@?@?@???@?@@@?@?@???@?@?@?@@??@?@?@?@???@?@@@?@???@?@?@?@@@???@?@?@?@??@@?@?@?@???@?@@@?@???@?@?@@@???@?@?@?@??@@?@?@?@???@@@?@?@???@?@@@?@???@?@?@@@???@?@?@?@@??@?@?@??@@?@?@?@???@@@?@?@???@@@?@?@???@@@?@?@???@@@?@???@?@@@?@???@?@@@?@???@?@@@???@?@?@@@???@?@@@???@?@?@@@???@?@@@???@?@@@?@???@?@@@???@?@@@?@???@?@@@???@?@@@???@?@@@?@???@@@?@???@@@?@???@@@?@?@@??@?@?@??@@?@?@@??@?@?@@??@?@?@@??@?@?@@??@?@@@?@???@@@?@???@@@?@??@@?@?@??@@?@?@@??@?@?@@??@?@@??@?@@@???@?@@@???@@@?@??@@?@?@??@@?@?@@??@?@@??@?@?@@??@?@@@???@@@?@??@@?@??@@?@?@@??@?@@@???@@@?@??@@?@??@@?@?@@??@?@@??@?@@@???@@@???@@@?@??@@?@??@@?@@@???@?@@??@@@?@??@@?@??@@?@??@@?@?@@??@@@???@@@???@@@?@??@@?@@??@?@@??@?@@??@@@?@??@@?@??@@?@@??@?@@??@?@@??@@@???@@@??@@?@?@@??@@@???@@@??@@?@??@@?@@??@?@@??@@@???@@@??@@?@??@@?@@??@?@@??@@@??@@???@@@??@@?@??@@?@@??@@@???@@@??@@?@@??@??@@?@@??@@@???@@@??@@?@@??@??@@?@@??@@@??@@???@@@??@@?@@??@@??@?@@??@@@??@@??@@?@??@@?@@??@@??@@@??@@??@@?@??@@??@@?@@??@@@??@@??@@?@@??@??@@?@@??@@??@@??@@@??@@??@@?@@??@@??@@@???@@??@@??@@@??@@??@@?@@??@@??@@??@@@??@@??@@??@@?@@??@@??@@??@@??@@@??@@??@@??@@?@@??@@??@@??@@??@@??@@@??@@@??@??@@??@@@??@@@??@@??@@??@@??@@??@@??@@?@@??@@??@@?@@??@@??@@??@@??@@??@@??@@??@@@??@@@??@@??@@??@@??@@??@@@??@@??@@??@@??@@??@@?@@??@@??@@??@@??@@??@@@???@@??@@??@@@??@@??@@??@@??@@?@@??@@??@@??@?@@??@@??@@??@@??@@@??@@??@@???@@@??@@??@@??@@?@@??@??@@??@@?@@??@@??@?@@??@@??@@??@?@@??@@??@@@???@@??@@??@@@???@@??@@@??@@???@@@??@@???@@??@??@@??@@?@??@@??@@?@??@@??@@?@??@@??@@?@??@@??@@?@??@@???@@@??@@???@@@??@@???@@@???@@??@@@???@@@???@@??@@@???@@??@?@@??@@@???@@??@?@@??@??@@?@@??@?@@??@??@@?@??@@???@@@??@@?@??@@???@@@???@@@???@@??@?@@??@?@@??@?@@??@@??@?@@??@??@@?@??@@?@??@@???@@@???@@@???@@??@?@@??@?@@??@?@@??@??@@?@??@@?@??@@?@??@@???@@@???@@??@?@@??@?@??@@???@@@???@@@???@@@???@@??@?@@??@?@@??@??@@?@??@@?@??@@?@??@@?@??@@???@??@XJr@Xp@Xp@Xp@Xr@Xn@V@@??@??@@?@??@@?@???@@??@?@@??@?@@??@?@@??@??@@?@??@@?@??@@???@@@???@@@???@@??@?@@??@?@@??@?@@??@??@@?@??@@?@??@@???@@@???@@@???@@@???@@??@?@@??@??@@?@??@@?@??@@???@@@???@@@???@@??@@@???@@@???@@??@?@@??@??@@?@@??@?@@??@??@@?@??@@??@@?@??@@?@??@@??@@?@??@@???@@@??@@???@@@??@@?@??@@???@@@??@@???@@@??@@???@@@??@@???@@@??@@??@@???@@@??@@???@??@@??@@??@@?@??@@??@@??@@?@??@@??@@?@@??@@??@??@@?@@??@@??@@??@?@@??@@??@@??@@@??@@??@@???@@@??@@??@@??@@??@@?@@??@@??@@??FF@??@@??@@?@@??@@??@@??@@??@@??@@??@@@??@@??@@??@@??@@??@@??@@?@@DF@??@@??@@??@@??@@??@@@??@@??@@??@@??@@?@@??@@??@@??@@?@@?@@??@@??@@??@@??@?@@??@@??@@??@@@??@@??@@?@@??@@??@@??@@@??@@??@@?@@??@@??@@@??@@???@@@??@@??@@?@@??@@??@@@???@@??@@@??@@??@@?@@??@?@@??@@??@@@??@@?@??@@??@@?@@??@@@??@@?@??@@??@@?@??@@?@??@??@@@???@@@??@@??@@?@??@@?@@??@?@@??@@@??@@?@??@@?@@??@?@@??@@@??@@?@??@@?@@??@?@@??@?@@??@@@???@@@??@@?@??@@?@@??@?@@??@@@?@??@@?@??@@?@??@@?@@??@?@@??@@@???@@@?@??@@?@@??@?@@??@?@@??@@@?@??@@?@??@@?@@??@?@@??@?@@@??@@?@??@@?@??@@?@??@@?@?@@??@@@???@@@???@@@?@@??@?@@??@?@@??@?@@@??@@?@???@@??@@@?@??@@?@??@@?@??@@?@@@???@@@???@@@???@@@?@@??@?@@??@?@@??@?@@@???@@@??@@?@??@@?@?@@??@?@@??@?@@@???@@@??@@?@?@@??@?@@??@?@@??@?@@@???@@@?@??@@?@??@@?@?@@??@?@@??@?@@@???@@@?@???@??@@???@@@?@??@@?@?@@??@?@?@@??@?@@@???@@@?@???@@@?@??@@?@???@@@?@?@@??@?@?@@??@?@?@@??@?@?@@??@?@@@???@?@@@???@?@@@???@?@@@?@???@@@?@???@@@?@???@@@?@?@???@@@?@???@@@?@?@???@@@?@???@?@@@?@???@?@@@?@???@@@?@???@?@?@@@???@?@?@@@???@?@?@@@???@?@?@?@@??@?@?@?@@??@?@?@???@?@@@?@???@?@?@@@?@???@?@?@?@@??@?@?@?@???@@@?@?@???@?@?@@@???@?@?@?@???@?@@@?@?@???@?@?@@@???@?@?@?@???@?@?@?@@@???@?@?@?@???@?@@@?@???@?@?@?@?@???@?@?@@@???@?@?@?@?@???@?@?@?@@??@?@?@?@?@???@?@?@?@???@@@?@?@?@???@?@?@?@???@?@?@@@???@?@Dx@B~@F`AD`AD`AD~@D`ABh@??@VD~@Bt@???@?@?@@@???@?@?@?@?@???@?@?@?@??@@?@?@?@?@???@?@?@?@???@@@?@?@?@???@?@?@?@???@?@?@@@???@?@?@?@?@???@?@?@@@???@?@?@?@?@???@?@?@?@??@@?@?@?@?@???@?@?@?@@??@?@?@?@???@?@?@?@?@@??@?@?@?@???@?@?@@@?@???@?@?@?@???@@@?@?@???@?@?@?@??@@?@?@?@?@???@@@?@?@???@?@?@?@??@@?@?@?@???@?@@@?@???@?@?@?@@@???@?@?@?@??@@?@?@?@???@?@@@?@?????@?@?@@@???@?@?@?@@??@?@?@?@??@@?@?@???@@@?@?@???@@@?@?@???@@@?@?@???@?@@@?@???@?@@@???@?@?@@@???@?@@@???@?@?@@@???@?@?@@??@?@?@@@???@?@@@???@?@@@?@???@?@@@???@?@@@?@???@@@?@???@@@?@???@@@?@???@@@?@???@@@?@?@@??@?@?@??@B?@@??@?@@@???@?@@@???@@@?@???@@@?@??@@?@?@??@@?@?@@??@?@@??@?@?@@??@?@@@???@@@?@????@@?@???@@@?@??@@?@?@@??@?@@??@?@@@???@@@?@??@@?@??@@?@?@@??@?@@??@?@@@???@@@???@@@?@@??@?@@??@?@@??@?@@@???@@@???@@@?@@??@?@@??@?@@??@?@@@??@@?@??@@?@??@@?@??@@?@@@???@@@???@@@??@@?@??@@?@??@@?@@@???@@@??@@?@??@@?@??@@?@@??@?@@??@@@?@??@@?@@??@?@@??@?@@??@@@???@@@???@@@??@@?@??@@?@@??@@@???@@@?@??@@?@@??@?@@??@@@???@@@??@@?@??@@?@@??@?@@??@@@???@@@???@@@???@Zn@^r@^t@^t@^t@^t@^t@\\\\t@^t@^t@^t@^r@\\\\t@^t@LVXh@LV?@@@???@@@??@@?@??@@?@@??@?@@@??@@?@??@@?@@??@?@@??@@@???@@@??@@?@??@@?@??@@?@@??@?@@??@@@???@@@??@@?@??@@?@@??@?@@@??@@?@??@@?@??@@?@@??@?@@??@?@@??@@@??@@?@??@@?@?@@??@?@@??@@@???@@@??@@?@??@@?@??@@?@@@???@@@??@@?@??@@?@??@@?@??@@?@@@???@@@???@@@???@@@?@@??@?@@??@?@@??@@@???@@@?@??@@?@??@@?@?@@??@@@???@@@???@@@?@??@@?@??@@?@?@@??@?@@??@?@@@???@@@??@@?@?@@??@?@@??@?@@@???@@@???@BF?@??@@?@??@@?@?@@??@?@@@???@@@???@@@?@??@@?@?@??@@?@?@@??@?@?@@??@?@@??@?@@@???@?@@@???@@@?@???@@@?@??@@?@?@??@@?@?@@??@?@?@@??@?@@@???@?@@@???@?@@@???@@@?@?@??@@?@?@??@@?@?@??@@?@?@??@@?@?@??@@?@?@?@@??@?@?@@??@?@?@@??@?@?@@@???@?@?@@??@?@?@@@???@?@?@@??@?@?@@@???@?@?@@??@?@?@@@???@?@?@@??@?@?@?@@??@?@?@?@@??@?@?@??@@?@?@?@@??@?@?@?@??@@?@?@?@??@@?@?@???@?@@@?@???@?@@@?@???@?@?@@@???@?@?@?@@??@?@?@?@??@@?@?@?@???@@@?@?@???@?@@@?@???@?@?@?@??@@?@?@?@???@@@?@?@???@?@?@?@@@???@?@?@?@???@@@?@?@???@?@?@?@@??@?@?@?@???@?@?@@@?@???@?@?@?@???@@@?@?@???@?@?@?@?@??@@?@?@?@???@?@?@?@?@@??@?@?@?@???@?@?@?@?@???@@@?@?@???@?@?@?@?@???@?@?@@@???@?@?@?@?@???@?@?@?@???@?@?@?@?@??@@?@?@?@???@?@?@?@?@???@?@?@?@???@?@?@?@?@???@?@?@?@?@@??@?@?@?@???@?@?@?@?@???@?@?@?@?@???@?@?@?@???@?@?@?@?@???@?@?@?@???@?@?@?@?@???@?@?@?@?@???@?@?@?@???@?@?@?@?@???@?@A@?@?@???@?@?@?@???@?@?@?@?@???@?@?@?@???@?@?@?@?@???@A@?@?@?@???@?@?@?@???@?@?@?@?@???@?@?@?@A??@?@?@?@?@???@?@?@?@??A@?@?@?@?@???@?@?@?@???@?@?@A@?@???@?@?@?@???@?@A@?@???@?@?@?@?@???@A@?@?@???@?@?@?@??A@?@?@?@?@???@?@?@A@???@?@?@?@???@A@?@?@???@?@?@A@?@???@?@?@?@??A@?@?@?@???@?@A@?@???@?@?@?@A??@?@?@?@??A@?@?@?@???@A@?@?@???@?@?@A@???@?@?@A@???@?@?@?@A??@?@?@?@??A@?@?@?@??A@?@?@???@?@A@?@???@?@A@?@???@?@A@?@???@?@A@???@?@?@A@???@?@???@A@???@?@A@???@?@?@A@???@?@A@???@?@?@A@???@?@?@A??@?@?@A@???@?@A@???@?@A@?@???@?@A@???@?@A@???@?@A@?@???@A@?@???@A@?@???@A@?@???@A@?@?@??A@?@?@??A@?@?@??A@?@?@A??@?@?@A@???@?@A@???@?@A@???@?@A@???@A@?@???@A@?@???@A@?@??A@?@?@??A@?@?@??A@?@?@A??@?@?@A??@?@?@A@???@A@?@???@A@?@??A@?@?@??A@?@?@A??@?@?@A??@?@A@???@?@A@???@?@A??@?@A@???@?@A@???@A@?@??A@?@?@??A@?@?@A??@?@?@A??@?@A@???@?@A@???@A@Oh@Uz@Wz@Ux@Wz@Uz@EL?@??A@?@?@??A@?@?@A??@?@?@A??@?@A@???@A@?@???@A@?@??A@?@?@??A@?@?@A??@?@?@A??@?@A@???@?@A@???@A@?@???@A@?@???@A@?@??A@?@?@??A@?@?@A??@?@?@A??@?@A@???@?@A@???@A@?@???@A@?@???@A@?@??A@?@?@??A@?@?@??A@?@?@A??@?@?@A??@?@?@A??@?@A@?@???@A@?@???@A@?@??A@?@?@???@A@?@??A@?@?@??A@?@?@??A@?@?@?@A??@?@A@???@?@A@???@?@A@???@?@A@?@???@?@A@???@A@?@???@?@A@???@A@?@?@??A@?@?@???@A@?@?@??A@?@?@??A@?@?@??A@?@?@?@??A@?@?@??A@?@?@?@??A@?@?@??A@?@?@?@A??@?@?@??A@?@?@?@??A@?@?@??A@?@?@?@??A@?@?@?@???@A@?@???@A@?@?@???@?@A@?@???@A@?@???@???@?@A@???@?@?@A@???@?@?@?@A??@?@?@?@A??@?@?@?@??A@?@?@?@???@A@?@?@???@?@A@?@???@?@?@?@A??@?@?@?@??A@?@?@?@???@?@A@?@???@?@?@?@A??@?@?@?@???@A@?@?@???@?@?@?@A@???@?@?@?@???@A@?@?@???@?@?@?@A??@?@?@?@?@???@?@A@?@???@?@?@?@???@?@?@A@?@???@?@?@?@???@A@?@?@?@???@?@?@?@???@?@A@?@???@?@?@?@?@???@?@?@A@???@?@?@?@?@???@?@?@?@???@?@A@?@?@???@?@?@?@???@?@?@?@?@???@?@?@A@?@???@?@?@?@???@?@?@?@?@???@?@?@?@???@?@?@?@A@???@?@?@?@?@???@?@?@?@???@?@?@?@?@???@?@?@?@???@?@?@?@?@???@?@?@?@?@???@?@?@?@???@?@?@?@?@???@?@???@?@?@???@?@?@?@???@?@?@?@?@???@?@?@?@???@?@?@?@?@???@?@?@?@?@???@?@?@?@???@?@?@?@?@???@?@?@?@?@???@?@?@?@???@?@?@?@?@???@?@?@?@???@@@?@?@?@???@?@?@?@?@???@?@?@?@???@?@?@?@?@???@?@?@@@???@?@?@?@?@???@?@?@?@?@???@?@?@?@??@@?@?@?@?@???@?@?@?@???@?@?@?@?@@??@?@?@?@???@?@?@?@?@???@?@@@?@???@?@?@?@?@???@?@?@?@@??@?@?@?@?@???@?@?@@@???@?@?@?@???@?@?@?@???@@??@?@?@?@???@?@?@?@?@@??@?@?@?@???@?@?@@@???@?@?@?@?@???@?@@@?@???@?@?@?@???@@@?@?@?@???@?@?@@@???@?@?@?@???@?@@@?@???@?@?@?@?@@??@?@?@?@???@@@?@?@???@?@?@?@??@@?@?@?@?@???@?@@@?@???@?@?@?@??@@?@?@?@???@?@?@@@?@???@?@?@?@??@@?@?@?@???@?@?@Fd@H~@H`AH~@H~@H`AH~@J~@B`@??BX?@@@?@?@???@?@?@@@???@?@?@?@???@@@?@?@?@???@?@@@?@???@?@?@?@??@@?@?@?@???@?@@@?@???@?@?@?@@??@?@?@?@?@???@@@?@?@???@?@?@@@???@?@?@?@??@@?@?@?@???@?@?@@@???@?@?@?@??@@?@?@?@?@???@@@?@?@???@?@?@@@???@?@?@?@@??@?@?@?@???@@@?@?@???@?@?@@@???@?@?@?@@??@?@?@?@???@@@?@?@???@?@?@@@???@?@?@?@??@@?@?@?@?@??@@?@?@?@???@?@@@?@???@?@?@@@J~@J~@@D?@???@?@?@@@???@?@?@?@@??@?@?@?@???@@@?@?@???@?@@@?@???@?@?@?@@??@?@?@?@???@@@?@?@?@???@@@?@?@???@?@@@?@???@?@?@?@??@@?@?@?@???@?@@@?@???@?@?@?@@??@?@?@?@???@@@?@?@???@?@?@@@???@?@?@?@?@@??@?@?@?@???@@@?@?@???@?@?@@@???@?@?@?@??@@?@?@?@???@?@?@@@???@?@?@?@@@???@?@?@?@???@?@@@?@???@?@?@?@@??@?@?@?@???@?@@@?@?@???@?@?@@@???@?@?@Fr@H~@H~@Ff@???@?@???@?@?@?@@??@?@?@?@???@@@?@?@???@?@?@?@@@???@?@?@?@???@@@?@?@???@?@?@@@???@?@?@?@???@@@?@?@?@???@?@?@@@???@?@?@?@??@@?@?@?@???@?@?@@@???@?@?@?@??@@?@?@?@?@???@@@?@?@???@?@?@@@???@?@?@?@??@@?@?@?@???@?@@@?@???@?@?@?@@??@?@?@?@???@@@?@?@???@?@?@@@???@?@?@?@@@???@?@?@?@??@@?@?@?@???@@@?@?@???@?@@@?@???@?@?@@@???@?@?@??@@?@?@?@???@@@?@?@???@?@@@?@???@?@?@@@?????@?@?@?@@??@?@?@?@@??@?@?@?@??@@?@?@???@@@?@?@???@@@?@?@???@@@?@?@???@?@@@?@???@@@?@???@?@?@@@???@?@?@@@???@?@@@???@?@?@@@???@?@?@@@???@?@?@@??@?@?@@@???@?@?@@??@?@?@@@???@?@?@@??@?@?@?@@??@?@?@@??@?@?@@@???@?@?@@??@?@?@@@???@?@@@???@?@@@???@?@@@?@???@?@@@???@?@@@???@?@@@?@???@@@?@???@@@?@???@@@?@???@@@?@?@??@@?@?@@??@?@?@@??@?@?@@??@?@?@@??@?@?@@@???@?@@@???@@@?@???@@@?@???@@@?@??@@?@?@??@@?@?@??@@?@?@@??@?@?@@??@?@@@???@?@@@???@@@?@???@@@?@??@@?@?@@??@?@?@@??@?@@@???@?@@@???@@@???@@@?@???@@@?@??@@?@?@@??@?@@@???@@@???@?@@@???@@@?@??@@?@?@??@@?@??@@?@?@@??@?@@@???@@@???@@@?@??@@?@?@@??@?@@??@?@@@???@@@???@?@@@???@@@?@??@@?@@??@?@@@???@@@???@@@?@??@@?@??@@?@?@@??@?@@??@?@@@???@@@???@@@???@@@?@@??@?@@??@?@@@???@@@???@@@??@@?@?@@??@?@@??@@@???@@@?@??@@?@??@@?@??@@?@@@???@@@???@@@??@@?@??@@?@?@@??@?@@??@@@???@@@??@@?@??@@?@@??@?@@@???@@@??@@?@??@@?@??@@?@@??@?@@??@@@???@@@??@@?@??@@?@?@@??@@@???@@@??@@?@??@@?@@??@?@@??@@@??@@?@??@@?@@??@?@@??@@@???@@??@@@???@@@??@@?@@??@?@@??@@@???@@@??@@?@@??@?@@??@@@???@@??@@@??@@?@@??@?@@??@@@???@@??@@@??@@?@??@@?@@??@@@??@@???@@@??@@?@@??@?@@??@@??@@@???@@@??@@??@@?@@??@?@@??@@??@@@??@@?@??@@??@@?@@??@@@@@???@@@??@@?@@??@@??@@@???@@??@@@??@@?@@??@@??@?@@??@@??@@@??@@??@@?@@??@@??@?@@??@@@??@@??@@?@@??@@??@?@@??@@??@@@??@@??@@?@@??@@??@?@@??@@??@@@??@@TZd@n@b@p@d@n@d@n@b@n@d@n@HL??Z`@b@n@d@p@d@n@@B@??@??@@?@@??@@??@@@??@@??@@?@@??@??@@?@@??@@??@@@??@@??@@?@??@@??@@?@@??@@??@@@??@@?@@??@??@@?@@??@@??@@@??@@??@@?@@??@??@@?@@??@@@??@@??@@?@??@@??@@?@@??@@??@@@??@@?@??@@??@@?@@??@@??@@@???@@@??@@??@@?@@??@@??@?@@??@@@??@@??@@?@??@@?@@??@@??@@@???@@@??@@??@@?@@??@?@@??@@@??@@??@@?@??@@?@@??@@@???@@??@@@??@@?@??@@?@@??@@??@@@?@@@??@@?@??@@?@@??@@@???@@??@@@??@@?@??@@?@@??@@@???@@@???@@@??@@?@@??@?@@??@@@???@@@??@@?@@??@?@@??@?@@??@@@???@@@??@@?@??@@?@@??@?@@??@@@???@@@???@@@??@@?@??@@?@@??@?@@@???@@@??@@?@??@@?@@??@?@@??@?@@@??@@?@??@@?@??@@?@??@@?@@@???@@@???@@@??@@?@?@@??@?@@??@?@@??@?@@@??@@?@??@@?@??@@?@?@@??@?@@??@?@@@???@@@??@@?@?@@??@?@@??@?@@@???@@@???@@@?@??@@?@??@@?@?@@??@?@@??@?@@@???@@@?@??@@?@???@@@?@??@@?@@@???@?@@??@?@@@???@@@?@??@@?@???@@@?@??@@?@?@@??@?@@@???@@@?@???@@@???@@@?@???@@@?@??@@?@?@??@@?@?@@??@?@@@???@?@??@@???@@@?@???@@@?@??@@?@?@??@@?@?@??@@?@?@@??@?@?@@??@?@?@@??@?@@@???@?@@@???@?@@@?@??@@?@?@???@@@?@???@@@?@???@@@?@?@@??@?@?@@??@?@?@??@@?@?@@??@?@?@?@@??@?@@@???@?@?@@??@?@?@@@???@?@?@@??@?@?@@@???@?@??@@???@?@?@@@???@?@@@???@?@?@@@???@?@@@???@?@?@@@???@?@?@@@???@?@?@@??@?@?@?@@??@?@?@??@@?@?@?@??@@?@?@?@??@@?@?@?@??@@?@?@???@@@?@?@???@?@@@???@???@?@@@?@???@?@?@@@???@?@?@@@???@?@?@?@@??@?@?@???@@@?@?@???@?@@@?@???@?@?@@@???@?@?@?@@??@?@?@?@???@@@?@?@???@@@?@?@???@?@?@?@@??@?@?@?@?@@??@?@?@?@???@@@?@?@???@?@?@@@???@?@?@?@??@@?@?@?@???@?@@@?@???@?@?@@@???@?@?@?@???@@@?@?@?@???@?@@@?@???@?@?@?@??@@?@?@?@???@?@@@?@???@?@?@?@??@@?@?@?@?@???@@@?@?@???@?@?@?@@??@?@?@?@??Hv@H~@H~@J`AH~@BZ??@@?@?@?@?@???@?@@@?@???@?@?@@@???@?@?@?@???@@@?@?@???@?@?@@@???@?@?@?@?@??@@?@?@?@???@?@@@?@???@?@?@?@??@@?@?@?@???@?@@@?@???@?@?@?@@??@?@?@?@?@??@@?@?@?@???@@@?@?@???@?@?@?@@??@?@?@?@??@@?@?@?@???@?@?@@@???@?@?@?@@??@?@?@?@???@@@?@?@???@?@?@@@?@???@?@?@?@@??@?@?@?@???@@@?@?@???@?@@@?@???@?@?@?@@??@?@?@?@??@@?@?@?@???@?@@@?@???@?@?@@@???@?@?@?@??@@?@?@?@???@@@?@?@???@?@?@@@???@?@?@?@@??@?@?@?@???@@@?@?@???@?@@@?@???@?@?@@@???@?@?@?@@??@?@?@?@???@@@?@?@???@?@@@?@???@?@?@@@???@?@?@?@@??@?@?@?@??@@?@?@?@???@@@?@?@???@?@@@?@???@?@?@@@???@?@?@?@@??@?@?@?@??@@?@?@?@???@@@?@?@???@?@@@?@???@?@?@@@???@?@?@?@@??@?@?@?@??@@?@?@???@?@@@?@???@?@@@?@???@?@?@@@???@?@?@?@@??@?@?@?@??@@?@?@?@???@@@?@?@???@@@?@?@???@?@@@???@?@?@@@???@?@?@?@@??@?@?@?@@??@?@?@?@??@@?@?@?@??@@?@?@?@???@@@?@???@?@?@@@???@?@?@@@???@?@?@?@@??@?@?@?@@??@?@?@?@??@@?@?@???@@@?@?@???@?@@@?@???@@@?@?@???@?@@@?@???@?@?@@??@?@?@?@@??@?@?@?@@??@?@?@?@??@@?@?@?@??@@?@?@??@@?@?@?@???@@@?@?@???@@@?@?@???@?@@@???@?@?@@@???@?@?@@@???@?@?@@@???@?@?@@??@?@?@?@@??@?@?@?@@??@?@?@???@@@?@?@??@@?@?@?@???@@@?@?@???@@@?@???@?@@@?@???@?@@@?@???@?@@@???@?@?@@@???@?@?@@@???@?@?@@??@?@?@@@???@?@?@@@???@?@?@@??@?@?@?@@??@?@?@?@@??@?@?@??@@?@?@?@??@@?@?@?@??@@?@?@??@@?@?@?@??@@?@?@???@@@?@?@??@@?@?@?@???@@@?@???@@B?@???@@@?@?@???@@@?@???@@@?@?@???@@@?@???@@@?@?@???@@@?@???@?@@@?@???@?@@@?@???@@@?@???@?@@@?@???@?@@@???@?@@@?@???@?@@@???@?@@@?@???@?@@@???@?@@@?@???@?@@@???@?@?@@@???@?@@@?@???@?@@@???@?@@@?@???@?@@@???@?@@@?@???@?@@@???@?@@@?@???@@@?@???@?@@@???@?@@@?@???@?@@@???@?@@@?@???@?@@@???@?@@@?@???@@@?@???@@@?@?@???@@@?@???@@@?@?@???@@@?@???@@@?@???@@@?@?@???@@@?@???@@@?@?@??@@?@?@??@@?@?@?@??@@?@?@??@@?@?@??@@?@?@?@@??@?@?@??@@?@?@?@@??@?@?@@??@?@?@@??@?@?@@@???@?@?@@??@?@@@???@?@?@@@???@?@@@???@H\\\\P|@Rz@R|@P|@R|@R|@P|@Rz@P|@R|@R|@P|@Rz@R|@P|@R|@P|@Rz@R|@P|@R|@R|@Pz@R|@Nt@??BFP|@R|@P|@DJ?@???@@@?@???@?@@@?@???@@@?@???@@@?@?@??@@?@?@???@@@?@???@@@?@?@??@@?@?@??@@?@?@??@@?@?@?@??@@?@?@??@@?@?@?@@??@?@?@??@@?@?@?@@??@?@?@@??@?@?@??@@?@?@?@@??@?@?@@??@?@?@?@@??@?@?@@@???@?@?@@??@?@?@?@@??@?@?@???@@??@?@?@??@@?@?@?@??@@?@?@???@@@?@?@???@@@?@?@???@@@?@???@?@@@?@???@?@@@?@???@?@?@@@???@?@?@@@???@?@?@?@@??@?@?@???@@@?@?@???@?@@@?@???@?@?@@@???@?@?@?@@??@?@?@?@??@@?@?@?@???@?@@@?@???@?@?@@@???@?@?@?@?@@??@?@?@?@???@@@?@?@???@?@?@?@@??@?@?@?@???@@@?@?@???@?@?@?@@@???@?@?@?@???@?@@@?@???@?@?@?@??@@?@?@?@?@???@?@?@?@@??@?@?@?@???@?@@@?@?@???@?@?@?@???@?@?@@@?@???@?@?@?@???@?@?@@@???@?@?@?@?@???@?@?@?@@??@?@?@?@?@???@?@?@?@???@?@@@?@?@???@?@?@?@???@?@?@?@?@???@@@?@?@???@?@?@?@?@???@?@?@?@???@?@@@?@?@???@?@?@?@?@???@?@?@?@???@?@?@@@?@???@?@?@?@???@?@?@?@?@???@?@?@?@???@?@?@?@?@??@@?@?@?@?@???@?@?@?@???@?@?@?@??@\\\\B`A@`AB`AB`A@`ABl@?@?@???@?@?@?@???@?@?@?@?@???@?@?@?@???@?@?@?@?@@??@?@?@?@?@???@?@?@?@???@?@?@?@?@???@?@?@?@???@?@?@?@?@???@?@?@?@?@???@?@?@?@???@?@?@?@?@???@?@???@?@?@???@?@?@?@???@?@?@?@?@???@A@?@?@???@?@?@?@?@???@?@?@?@???@A@?@?@?@???@?@?@?@???@?@?@A@?@???@?@?@?@??A@?@?@?@???@?@?@?@A@???@?@?@?@??A@?@?@?@???@?@A@?@???@?@?@A@???@?@?@?@A??@?@?@?@??A@?@?@?@??A@?@?@???@?@A@?@???@A@?@?@???@A@?@???@A@?@?@???@A@?@???@A@?@???@A@?@?@??A@?@?@??A@?@?@???@A@?@??A@?@?@??A@?@?@A@???@?@A@???@A@???@?@A@???@A@?@??A@?@?@A??@?@?@A??@?@A??@?@A@???@A@???@A@?@??A@?@??A@?@A@???@A@???@A@?@??A@?@??A@?@A??@?@A??@?@A@??A@?@??A@?@??A@?@A??@?@A??@A@???@A@??A@?@??A@?@A??@A@???@A@??A@?@??A@??A@?@A??@?@A??@A@??A@?@A??@??A@?@A??@?@A??@A??@A@??A@?@A??@?@A??@A??@A@??A@?@??A@??A@??A@c@p@c@p@a@p@CD??_@j@c@p@c@p@c@p@c@r@A@??A@?@A??@??A@?@A??@A@???@A??@A@??A@?@A??@A??@?@A??@A@??A@???@A@??A@?@A??@?@A??@A@??A@???@A@??A@?@A??@?@A??@A@??A@?@??A@?@A??@?@A??@A@???@A@??A@?@??A@?@A??@?@A??@A@???@A@??A@?@??A@?@A??@?@A??@?@A??@A@???@A@???@A@?@A??@?@A??@A@???@CDYn@A??@?@A@??A@?@??A@?@A??@?@A??@?@A??@A@???@A@??A@?@??A@?@A??@?@A??@A@???@A@??A@?@A??@?@A??@A@???@A@??]n@QX???@A@??A@?@??A@?@A??@A@??A@?@??A@?@A??@??A@?@A??@A@???@A@??A@?@??A@?@A??@??A??@A@???@A@??A@?@A??@??A@?@A??@A@??A@??A@?@??A@?@A??@A??@A@???@A??@A@??A@??A@?@A??@A@??A@??A@?@??A@??A@?@A??@A??@A??@A@??A@??A@?@A??@A??@A@??A@???@A??@A@??A@??A@??A@?@A??@A??@A??@A@??A@??A@??A@?@A??@A??@A??@A@??A@??A@??A@?@A??@A??@A??@A@??A@??A@??A@?@A??@A??@A??@?@A?A@???@A??@??A@??A@?@A??@A??@A??@A@??A@??A@?@??A@?@A??@A??@A@??A@??A@?@??A@?@A??@A??@A@???@A@??A@??A@?@A??@?@A??@A??@?@A??@A@??A@?@A??@?@A??@A@??A@???@A@??A@?@??A@?@??A??@?@A??@ABA@??A@?@??A@?@A??@?@A@??A@?@??A@?@??A@?@A??@A@???@A@???@A?GN_@t@]t@_@t@_@t@EL\"},\"mode\":\"SUBWAY\",\"pickupBookingInfo\":null,\"pickupType\":\"SCHEDULED\",\"realTime\":false,\"realtimeState\":null,\"rentedBike\":null,\"rideHailingEstimate\":null,\"route\":{\"alerts\":[],\"color\":\"0075B2\",\"id\":\"Um91dGU6TUFSVEE6MTk0NTU\",\"longName\":\"Blue\",\"shortName\":\"Blue\",\"textColor\":\"000000\",\"type\":1},\"startTime\":1691098740000,\"steps\":[],\"to\":{\"lat\":33.754123,\"lon\":-84.391876,\"name\":\"Five Points Station\",\"rentalVehicle\":null,\"stop\":{\"alerts\":[],\"code\":\"908990\",\"gtfsId\":\"MARTA:806\",\"id\":\"U3RvcDpNQVJUQTo4MDY\"},\"vertexType\":\"TRANSIT\"},\"transitLeg\":true,\"trip\":{\"gtfsId\":\"MARTA:8063446\",\"id\":\"VHJpcDpNQVJUQTo4MDYzNDQ2\",\"tripHeadsign\":\"H E HOLMES STATION\"}},{\"accessibilityScore\":null,\"agency\":null,\"arrivalDelay\":0,\"departureDelay\":0,\"distance\":93.79,\"dropoffType\":\"SCHEDULED\",\"duration\":91.0,\"endTime\":1691099671000,\"fareProducts\":[],\"from\":{\"lat\":33.754123,\"lon\":-84.391876,\"name\":\"Five Points Station\",\"rentalVehicle\":null,\"stop\":{\"alerts\":[],\"code\":\"908990\",\"gtfsId\":\"MARTA:806\",\"id\":\"U3RvcDpNQVJUQTo4MDY\"},\"vertexType\":\"TRANSIT\"},\"interlineWithPreviousLeg\":false,\"intermediateStops\":null,\"legGeometry\":{\"length\":8,\"points\":\"wp_mElvabOTcAHHc@IGEGLFDTP\"},\"mode\":\"WALK\",\"pickupBookingInfo\":null,\"pickupType\":\"SCHEDULED\",\"realTime\":false,\"realtimeState\":null,\"rentedBike\":false,\"rideHailingEstimate\":null,\"route\":null,\"startTime\":1691099580000,\"steps\":[{\"absoluteDirection\":\"EAST\",\"alerts\":[],\"area\":true,\"distance\":33.73,\"elevationProfile\":[],\"lat\":33.7538834,\"lon\":-84.3915896,\"relativeDirection\":\"DEPART\",\"stayOn\":false,\"streetName\":\"Platform 908981;908990\"},{\"absoluteDirection\":\"SOUTHWEST\",\"alerts\":[],\"area\":false,\"distance\":6.86,\"elevationProfile\":[],\"lat\":33.7537795,\"lon\":-84.3912469,\"relativeDirection\":\"RIGHT\",\"stayOn\":false,\"streetName\":\"underpass\"},{\"absoluteDirection\":\"NORTH\",\"alerts\":[],\"area\":false,\"distance\":19.89,\"elevationProfile\":[],\"lat\":33.7537299,\"lon\":-84.3912911,\"relativeDirection\":\"HARD_RIGHT\",\"stayOn\":true,\"streetName\":\"steps\"},{\"absoluteDirection\":\"NORTHEAST\",\"alerts\":[],\"area\":true,\"distance\":5.65,\"elevationProfile\":[],\"lat\":33.7539052,\"lon\":-84.3912485,\"relativeDirection\":\"SLIGHTLY_RIGHT\",\"stayOn\":false,\"streetName\":\"Broad Street Plaza\"},{\"absoluteDirection\":\"NORTHWEST\",\"alerts\":[],\"area\":false,\"distance\":27.66,\"elevationProfile\":[],\"lat\":33.7539458,\"lon\":-84.3912118,\"relativeDirection\":\"LEFT\",\"stayOn\":false,\"streetName\":\"path\"}],\"to\":{\"lat\":33.753837,\"lon\":-84.391397,\"name\":\"Five Points Station (908981)\",\"rentalVehicle\":null,\"stop\":null,\"vertexType\":\"NORMAL\"},\"transitLeg\":false,\"trip\":null}],\"startTime\":1691098331000,\"waitingTime\":0,\"walkTime\":500}],\"routingErrors\":[]}}}" }, "redirectURL": "", "headersSize": -1, @@ -140,7 +140,7 @@ "bodySize": 5094, "postData": { "mimeType": "application/json", - "text": "{\"query\":\"query Plan($fromPlace: String!, $toPlace: String!, $modes: [TransportMode], $time: String, $date: String, $wheelchair: Boolean, $bikeReluctance: Float, $carReluctance: Float, $walkReluctance: Float, $arriveBy: Boolean, $preferred: InputPreferred, $unpreferred: InputUnpreferred, $banned: InputBanned, $numItineraries: Int) {\\n plan(\\n arriveBy: $arriveBy\\n banned: $banned\\n bikeReluctance: $bikeReluctance\\n carReluctance: $carReluctance\\n date: $date\\n fromPlace: $fromPlace\\n locale: \\\"en\\\"\\n numItineraries: $numItineraries\\n preferred: $preferred\\n time: $time\\n toPlace: $toPlace\\n transportModes: $modes\\n unpreferred: $unpreferred\\n walkReluctance: $walkReluctance\\n wheelchair: $wheelchair\\n ) {\\n itineraries {\\n accessibilityScore\\n duration\\n endTime\\n legs {\\n accessibilityScore\\n agency {\\n alerts {\\n alertDescriptionText\\n alertHeaderText\\n alertUrl\\n effectiveStartDate\\n id\\n }\\n id\\n name\\n timezone\\n url\\n }\\n arrivalDelay\\n departureDelay\\n distance\\n dropoffType\\n duration\\n endTime\\n fareProducts {\\n id\\n product {\\n __typename\\n id\\n medium {\\n id\\n name\\n }\\n name\\n riderCategory {\\n id\\n name\\n }\\n ... on DefaultFareProduct {\\n price {\\n amount\\n currency {\\n code\\n digits\\n }\\n }\\n }\\n }\\n }\\n from {\\n lat\\n lon\\n name\\n rentalVehicle {\\n id\\n network\\n }\\n stop {\\n alerts {\\n alertDescriptionText\\n alertHeaderText\\n alertUrl\\n effectiveStartDate\\n id\\n }\\n code\\n gtfsId\\n id\\n }\\n vertexType\\n }\\n interlineWithPreviousLeg\\n intermediateStops {\\n lat\\n locationType\\n lon\\n name\\n stopCode: code\\n stopId: id\\n }\\n legGeometry {\\n length\\n points\\n }\\n mode\\n pickupBookingInfo {\\n earliestBookingTime {\\n daysPrior\\n }\\n }\\n pickupType\\n realTime\\n realtimeState\\n rentedBike\\n rideHailingEstimate {\\n arrival\\n maxPrice {\\n amount\\n currency {\\n code\\n }\\n }\\n minPrice {\\n amount\\n currency {\\n code\\n }\\n }\\n provider {\\n id\\n }\\n }\\n route {\\n alerts {\\n alertDescriptionText\\n alertHeaderText\\n alertUrl\\n effectiveStartDate\\n id\\n }\\n color\\n id\\n longName\\n shortName\\n textColor\\n type\\n }\\n startTime\\n steps {\\n absoluteDirection\\n alerts {\\n alertDescriptionText\\n alertHeaderText\\n alertUrl\\n effectiveStartDate\\n id\\n }\\n area\\n distance\\n elevationProfile {\\n distance\\n elevation\\n }\\n lat\\n lon\\n relativeDirection\\n stayOn\\n streetName\\n }\\n to {\\n lat\\n lon\\n name\\n rentalVehicle {\\n id\\n network\\n }\\n stop {\\n alerts {\\n alertDescriptionText\\n alertHeaderText\\n alertUrl\\n effectiveStartDate\\n id\\n }\\n code\\n gtfsId\\n id\\n }\\n vertexType\\n }\\n transitLeg\\n trip {\\n arrivalStoptime {\\n stop {\\n gtfsId\\n id\\n }\\n stopPosition\\n }\\n departureStoptime {\\n stop {\\n gtfsId\\n id\\n }\\n stopPosition\\n }\\n gtfsId\\n id\\n tripHeadsign\\n }\\n }\\n startTime\\n waitingTime\\n walkTime\\n }\\n routingErrors {\\n code\\n description\\n inputField\\n }\\n }\\n}\",\"variables\":{\"arriveBy\":false,\"banned\":{},\"bikeReluctance\":3,\"carReluctance\":2,\"date\":\"2023-08-03\",\"fromPlace\":\"Opus Music Store, Decatur, GA::33.77505,-84.300178}\",\"modes\":[{\"mode\":\"WALK\"}],\"numItineraries\":3,\"time\":\"16:49\",\"toPlace\":\"Five Points Station (908981)::33.753837,-84.391397}\",\"walkReluctance\":3,\"wheelchair\":false}}" + "text": "{\"query\":\"query Plan($fromPlace: String!, $toPlace: String!, $modes: [TransportMode], $time: String, $date: String, $wheelchair: Boolean, $bikeReluctance: Float, $carReluctance: Float, $walkReluctance: Float, $arriveBy: Boolean, $preferred: InputPreferred, $unpreferred: InputUnpreferred, $banned: InputBanned, $numItineraries: Int) {\\n plan(\\n arriveBy: $arriveBy\\n banned: $banned\\n bikeReluctance: $bikeReluctance\\n carReluctance: $carReluctance\\n date: $date\\n fromPlace: $fromPlace\\n locale: \\\"en\\\"\\n numItineraries: $numItineraries\\n preferred: $preferred\\n time: $time\\n toPlace: $toPlace\\n transportModes: $modes\\n unpreferred: $unpreferred\\n walkReluctance: $walkReluctance\\n wheelchair: $wheelchair\\n ) {\\n itineraries {\\n accessibilityScore\\n duration\\n endTime\\n legs {\\n accessibilityScore\\n agency {\\n alerts {\\n alertDescriptionText\\n alertHeaderText\\n alertUrl\\n effectiveStartDate\\n id\\n }\\n id\\n name\\n timezone\\n url\\n }\\n arrivalDelay\\n departureDelay\\n distance\\n dropoffType\\n duration\\n endTime\\n fareProducts {\\n id\\n product {\\n __typename\\n id\\n medium {\\n id\\n name\\n }\\n name\\n riderCategory {\\n id\\n name\\n }\\n ... on DefaultFareProduct {\\n price {\\n amount\\n currency {\\n code\\n digits\\n }\\n }\\n }\\n }\\n }\\n from {\\n lat\\n lon\\n name\\n rentalVehicle {\\n id\\n network\\n }\\n stop {\\n alerts {\\n alertDescriptionText\\n alertHeaderText\\n alertUrl\\n effectiveStartDate\\n id\\n }\\n code\\n gtfsId\\n id\\n }\\n vertexType\\n }\\n interlineWithPreviousLeg\\n intermediateStops {\\n lat\\n locationType\\n lon\\n name\\n stopCode: code\\n stopId: id\\n }\\n legGeometry {\\n length\\n points\\n }\\n mode\\n pickupBookingInfo {\\n earliestBookingTime {\\n daysPrior\\n }\\n }\\n pickupType\\n realTime\\n realtimeState\\n rentedBike\\n rideHailingEstimate {\\n arrival\\n maxPrice {\\n amount\\n currency {\\n code\\n }\\n }\\n minPrice {\\n amount\\n currency {\\n code\\n }\\n }\\n provider {\\n id\\n }\\n }\\n route {\\n alerts {\\n alertDescriptionText\\n alertHeaderText\\n alertUrl\\n effectiveStartDate\\n id\\n }\\n color\\n id\\n longName\\n shortName\\n textColor\\n type\\n }\\n startTime\\n steps {\\n absoluteDirection\\n alerts {\\n alertDescriptionText\\n alertHeaderText\\n alertUrl\\n effectiveStartDate\\n id\\n }\\n area\\n distance\\n elevationProfile {\\n distance\\n elevation\\n }\\n lat\\n lon\\n relativeDirection\\n stayOn\\n streetName\\n }\\n to {\\n lat\\n lon\\n name\\n rentalVehicle {\\n id\\n network\\n }\\n stop {\\n alerts {\\n alertDescriptionText\\n alertHeaderText\\n alertUrl\\n effectiveStartDate\\n id\\n }\\n code\\n gtfsId\\n id\\n }\\n vertexType\\n }\\n transitLeg\\n trip {gtfsId\\n id\\n tripHeadsign\\n }\\n }\\n startTime\\n waitingTime\\n walkTime\\n }\\n routingErrors {\\n code\\n description\\n inputField\\n }\\n }\\n}\",\"variables\":{\"arriveBy\":false,\"banned\":{},\"bikeReluctance\":3,\"carReluctance\":2,\"date\":\"2023-08-03\",\"fromPlace\":\"Opus Music Store, Decatur, GA::33.77505,-84.300178}\",\"modes\":[{\"mode\":\"WALK\"}],\"numItineraries\":3,\"time\":\"16:49\",\"toPlace\":\"Five Points Station (908981)::33.753837,-84.391397}\",\"walkReluctance\":3,\"wheelchair\":false}}" } }, "response": { diff --git a/percy/mocks/PlanResponseBusSubwayTram.json b/percy/mocks/PlanResponseBusSubwayTram.json index 119a92a99..b153bc433 100644 --- a/percy/mocks/PlanResponseBusSubwayTram.json +++ b/percy/mocks/PlanResponseBusSubwayTram.json @@ -375,20 +375,6 @@ }, "transitLeg": true, "trip": { - "arrivalStoptime": { - "stop": { - "gtfsId": "MARTA:40", - "id": "U3RvcDpNQVJUQTo0MA" - }, - "stopPosition": 15 - }, - "departureStoptime": { - "stop": { - "gtfsId": "MARTA:802", - "id": "U3RvcDpNQVJUQTo4MDI" - }, - "stopPosition": 1 - }, "gtfsId": "MARTA:8063444", "id": "VHJpcDpNQVJUQTo4MDYzNDQ0", "tripHeadsign": "H E HOLMES STATION" @@ -884,20 +870,6 @@ }, "transitLeg": true, "trip": { - "arrivalStoptime": { - "stop": { - "gtfsId": "MARTA:40", - "id": "U3RvcDpNQVJUQTo0MA" - }, - "stopPosition": 15 - }, - "departureStoptime": { - "stop": { - "gtfsId": "MARTA:802", - "id": "U3RvcDpNQVJUQTo4MDI" - }, - "stopPosition": 1 - }, "gtfsId": "MARTA:8063445", "id": "VHJpcDpNQVJUQTo4MDYzNDQ1", "tripHeadsign": "H E HOLMES STATION" @@ -1393,20 +1365,6 @@ }, "transitLeg": true, "trip": { - "arrivalStoptime": { - "stop": { - "gtfsId": "MARTA:40", - "id": "U3RvcDpNQVJUQTo0MA" - }, - "stopPosition": 15 - }, - "departureStoptime": { - "stop": { - "gtfsId": "MARTA:802", - "id": "U3RvcDpNQVJUQTo4MDI" - }, - "stopPosition": 1 - }, "gtfsId": "MARTA:8063446", "id": "VHJpcDpNQVJUQTo4MDYzNDQ2", "tripHeadsign": "H E HOLMES STATION" From febb91d8d61aded59f1db74817aa512b30f8b922 Mon Sep 17 00:00:00 2001 From: binh-dam-ibigroup Date: Mon, 8 Sep 2025 16:40:32 -0400 Subject: [PATCH 09/11] test(a11y): Remove unused arrival/departure/orig fields --- a11y/mocks/plan.json | 66 -------------------------------------------- 1 file changed, 66 deletions(-) diff --git a/a11y/mocks/plan.json b/a11y/mocks/plan.json index 3e2bb89e1..649d2f677 100644 --- a/a11y/mocks/plan.json +++ b/a11y/mocks/plan.json @@ -15,14 +15,12 @@ "name": "1900 Main Street, Houston, TX, USA", "lon": -95.370998, "lat": 29.750144, - "orig": "1900 Main Street, Houston, TX, USA", "vertexType": "NORMAL" }, "to": { "name": "800 Congress, Houston, TX, USA", "lon": -95.362178, "lat": 29.76263, - "orig": "800 Congress, Houston, TX, USA", "vertexType": "NORMAL" }, "itineraries": [ @@ -52,8 +50,6 @@ "name": "1900 Main Street, Houston, TX, USA", "lon": -95.370998, "lat": 29.750144, - "departure": 1628083300000, - "orig": "1900 Main Street, Houston, TX, USA", "vertexType": "NORMAL" }, "to": { @@ -62,8 +58,6 @@ "stopCode": "624", "lon": -95.371177, "lat": 29.750596, - "arrival": 1628083379000, - "departure": 1628083380000, "stopIndex": 101, "stopSequence": 102, "vertexType": "TRANSIT", @@ -133,8 +127,6 @@ "stopCode": "624", "lon": -95.371177, "lat": 29.750596, - "arrival": 1628083379000, - "departure": 1628083380000, "stopIndex": 101, "stopSequence": 102, "vertexType": "TRANSIT", @@ -146,8 +138,6 @@ "stopCode": "667", "lon": -95.362814, "lat": 29.761145, - "arrival": 1628083560000, - "departure": 1628083561000, "stopIndex": 106, "stopSequence": 107, "vertexType": "TRANSIT", @@ -178,8 +168,6 @@ "stopCode": "628", "lon": -95.368804, "lat": 29.753604, - "arrival": 1628083431000, - "departure": 1628083431000, "stopIndex": 102, "stopSequence": 103, "vertexType": "TRANSIT", @@ -191,8 +179,6 @@ "stopCode": "685", "lon": -95.367596, "lat": 29.755096, - "arrival": 1628083456000, - "departure": 1628083456000, "stopIndex": 103, "stopSequence": 104, "vertexType": "TRANSIT", @@ -204,8 +190,6 @@ "stopCode": "661", "lon": -95.366423, "lat": 29.756601, - "arrival": 1628083481000, - "departure": 1628083481000, "stopIndex": 104, "stopSequence": 105, "vertexType": "TRANSIT", @@ -217,8 +201,6 @@ "stopCode": "664", "lon": -95.364659, "lat": 29.758853, - "arrival": 1628083519000, - "departure": 1628083519000, "stopIndex": 105, "stopSequence": 106, "vertexType": "TRANSIT", @@ -244,8 +226,6 @@ "stopCode": "667", "lon": -95.362814, "lat": 29.761145, - "arrival": 1628083560000, - "departure": 1628083561000, "stopIndex": 106, "stopSequence": 107, "vertexType": "TRANSIT", @@ -255,8 +235,6 @@ "name": "800 Congress, Houston, TX, USA", "lon": -95.362178, "lat": 29.76263, - "arrival": 1628083692000, - "orig": "800 Congress, Houston, TX, USA", "vertexType": "NORMAL" }, "legGeometry": { @@ -312,8 +290,6 @@ "name": "1900 Main Street, Houston, TX, USA", "lon": -95.370998, "lat": 29.750144, - "departure": 1628083218000, - "orig": "1900 Main Street, Houston, TX, USA", "vertexType": "NORMAL" }, "to": { @@ -322,8 +298,6 @@ "stopCode": "310", "lon": -95.370944, "lat": 29.750747, - "arrival": 1628083319000, - "departure": 1628083320000, "stopIndex": 8, "stopSequence": 9, "vertexType": "TRANSIT", @@ -393,8 +367,6 @@ "stopCode": "310", "lon": -95.370944, "lat": 29.750747, - "arrival": 1628083319000, - "departure": 1628083320000, "stopIndex": 8, "stopSequence": 9, "vertexType": "TRANSIT", @@ -406,8 +378,6 @@ "stopCode": "630", "lon": -95.362244, "lat": 29.761898, - "arrival": 1628083677000, - "departure": 1628083678000, "stopIndex": 15, "stopSequence": 16, "vertexType": "TRANSIT", @@ -438,8 +408,6 @@ "stopCode": "627", "lon": -95.369404, "lat": 29.752841, - "arrival": 1628083389000, - "departure": 1628083389000, "stopIndex": 9, "stopSequence": 10, "vertexType": "TRANSIT", @@ -451,8 +419,6 @@ "stopCode": "629", "lon": -95.36821, "lat": 29.754346, - "arrival": 1628083435000, - "departure": 1628083435000, "stopIndex": 10, "stopSequence": 11, "vertexType": "TRANSIT", @@ -464,8 +430,6 @@ "stopCode": "660", "lon": -95.367027, "lat": 29.755835, - "arrival": 1628083480000, - "departure": 1628083480000, "stopIndex": 11, "stopSequence": 12, "vertexType": "TRANSIT", @@ -477,8 +441,6 @@ "stopCode": "662", "lon": -95.365814, "lat": 29.757345, - "arrival": 1628083526000, - "departure": 1628083526000, "stopIndex": 12, "stopSequence": 13, "vertexType": "TRANSIT", @@ -490,8 +452,6 @@ "stopCode": "664", "lon": -95.364659, "lat": 29.758853, - "arrival": 1628083572000, - "departure": 1628083572000, "stopIndex": 13, "stopSequence": 14, "vertexType": "TRANSIT", @@ -503,8 +463,6 @@ "stopCode": "666", "lon": -95.363472, "lat": 29.760325, - "arrival": 1628083620000, - "departure": 1628083620000, "stopIndex": 14, "stopSequence": 15, "vertexType": "TRANSIT", @@ -530,8 +488,6 @@ "stopCode": "630", "lon": -95.362244, "lat": 29.761898, - "arrival": 1628083677000, - "departure": 1628083678000, "stopIndex": 15, "stopSequence": 16, "vertexType": "TRANSIT", @@ -541,8 +497,6 @@ "name": "800 Congress, Houston, TX, USA", "lon": -95.362178, "lat": 29.76263, - "arrival": 1628083733000, - "orig": "800 Congress, Houston, TX, USA", "vertexType": "NORMAL" }, "legGeometry": { @@ -598,8 +552,6 @@ "name": "1900 Main Street, Houston, TX, USA", "lon": -95.370998, "lat": 29.750144, - "departure": 1628083900000, - "orig": "1900 Main Street, Houston, TX, USA", "vertexType": "NORMAL" }, "to": { @@ -608,8 +560,6 @@ "stopCode": "624", "lon": -95.371177, "lat": 29.750596, - "arrival": 1628083979000, - "departure": 1628083980000, "stopIndex": 101, "stopSequence": 102, "vertexType": "TRANSIT", @@ -679,8 +629,6 @@ "stopCode": "624", "lon": -95.371177, "lat": 29.750596, - "arrival": 1628083979000, - "departure": 1628083980000, "stopIndex": 101, "stopSequence": 102, "vertexType": "TRANSIT", @@ -692,8 +640,6 @@ "stopCode": "667", "lon": -95.362814, "lat": 29.761145, - "arrival": 1628084160000, - "departure": 1628084161000, "stopIndex": 106, "stopSequence": 107, "vertexType": "TRANSIT", @@ -724,8 +670,6 @@ "stopCode": "628", "lon": -95.368804, "lat": 29.753604, - "arrival": 1628084031000, - "departure": 1628084031000, "stopIndex": 102, "stopSequence": 103, "vertexType": "TRANSIT", @@ -737,8 +681,6 @@ "stopCode": "685", "lon": -95.367596, "lat": 29.755096, - "arrival": 1628084056000, - "departure": 1628084056000, "stopIndex": 103, "stopSequence": 104, "vertexType": "TRANSIT", @@ -750,8 +692,6 @@ "stopCode": "661", "lon": -95.366423, "lat": 29.756601, - "arrival": 1628084081000, - "departure": 1628084081000, "stopIndex": 104, "stopSequence": 105, "vertexType": "TRANSIT", @@ -763,8 +703,6 @@ "stopCode": "664", "lon": -95.364659, "lat": 29.758853, - "arrival": 1628084119000, - "departure": 1628084119000, "stopIndex": 105, "stopSequence": 106, "vertexType": "TRANSIT", @@ -790,8 +728,6 @@ "stopCode": "667", "lon": -95.362814, "lat": 29.761145, - "arrival": 1628084160000, - "departure": 1628084161000, "stopIndex": 106, "stopSequence": 107, "vertexType": "TRANSIT", @@ -801,8 +737,6 @@ "name": "800 Congress, Houston, TX, USA", "lon": -95.362178, "lat": 29.76263, - "arrival": 1628084292000, - "orig": "800 Congress, Houston, TX, USA", "vertexType": "NORMAL" }, "legGeometry": { From 51b04a383d4fa0c0e67df7a43e940732d158b820 Mon Sep 17 00:00:00 2001 From: binh-dam-ibigroup Date: Mon, 8 Sep 2025 18:52:26 -0400 Subject: [PATCH 10/11] test(util/itinerary): Cleanup test --- __tests__/util/itinerary.ts | 35 ----------------------------------- 1 file changed, 35 deletions(-) diff --git a/__tests__/util/itinerary.ts b/__tests__/util/itinerary.ts index e3acccdcb..46c2962ea 100644 --- a/__tests__/util/itinerary.ts +++ b/__tests__/util/itinerary.ts @@ -12,11 +12,6 @@ const bikeLeg = { mode: 'BICYCLE' } -const transitLeg = { - mode: 'BUS', - transitLeg: true -} - describe('util > itinerary', () => { describe('itineraryCanBeMonitored', () => { const transitLeg = { @@ -148,7 +143,6 @@ describe('util > itinerary', () => { { expected: WEEKDAYS, itinerary: { - legs: [walkLeg, transitLeg], startTime: THURSDAY_20210610_1218_EDT }, title: @@ -157,7 +151,6 @@ describe('util > itinerary', () => { { expected: WEEKEND_DAYS, itinerary: { - legs: [walkLeg, transitLeg], startTime: SATURDAY_20210612_1218_EDT }, title: @@ -166,38 +159,10 @@ describe('util > itinerary', () => { { expected: WEEKEND_DAYS, itinerary: { - legs: [walkLeg, transitLeg], startTime: SUNDAY_20210613_1218_EDT }, title: "should be ['saturday', 'sunday'] for an itinerary starting on a Sunday." - }, - { - expected: WEEKDAYS, - itinerary: { - legs: [walkLeg], - startTime: THURSDAY_20210610_1218_EDT - }, - title: - "should be ['monday' thru 'friday'] for an itinerary without transit starting on a weekday (fallback case)." - }, - { - expected: WEEKEND_DAYS, - itinerary: { - legs: [walkLeg], - startTime: SATURDAY_20210612_1218_EDT - }, - title: - "should be ['saturday', 'sunday'] for an itinerary without transit starting on a Saturday (fallback case)." - }, - { - expected: WEEKEND_DAYS, - itinerary: { - legs: [walkLeg], - startTime: SUNDAY_20210613_1218_EDT - }, - title: - "should be ['saturday', 'sunday'] for an itinerary without transit starting on a Sunday (fallback case)." } ] From 7468124abef02ce28c52cb7a81c29c8ccc1ee904 Mon Sep 17 00:00:00 2001 From: binh-dam-ibigroup Date: Tue, 9 Sep 2025 09:00:45 -0400 Subject: [PATCH 11/11] refactor(util/itinerary): Remove comment ref about first transit leg. --- lib/util/itinerary.tsx | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/lib/util/itinerary.tsx b/lib/util/itinerary.tsx index 42aa17faa..cf86ec124 100644 --- a/lib/util/itinerary.tsx +++ b/lib/util/itinerary.tsx @@ -77,10 +77,9 @@ export function getMinutesUntilItineraryStart(itinerary: Itinerary): number { * Returns the set of monitored days that will be initially shown to the user * for the given itinerary. * @param itinerary The itinerary from which the default monitored days are extracted. - * @returns ['monday' thru 'friday'] if itinerary happens on a weekday(*), - * ['saturday', 'sunday'] if itinerary happens on a saturday/sunday(*). - * (*) For transit itineraries, the first transit leg is used to make - * the determination. Otherwise, the itinerary startTime is used. + * @returns ['monday' thru 'friday'] if itinerary happens on a weekday, + * ['saturday', 'sunday'] if itinerary happens on a saturday/sunday, + * based on the itinerary startTime. */ export function getItineraryDefaultMonitoredDays( itinerary: Itinerary,