StoDevX / AAO-React-Native

The St. Olaf community, now in pocket size.
GNU Affero General Public License v3.0
42 stars 16 forks source link

Add Northfield Lines schedule + real-time bus support #1155

Closed hawkrives closed 2 years ago

hawkrives commented 7 years ago

They both can come from their official bus tracker: http://northfieldlines.com/metro-express/real-time-express-locator/

I think there are two main endpoints we'll want to use:

/customerMapData ```json { "companyLocationId": 100919813, "defaultTimezone": "US/Central", "routes": [ { "objectId": 6911, "originalId": 88002432, "name": "Northfield Metro EXPRESS", "routeNumber": "", "routeNumberInteger": null, "routeColor": "#FF0000", "routeStrokeWeight": 0, "routeStrokeOpacity": 0, "routeStrokeDashed": false, "opacity": 255, "red": 255, "green": 0, "blue": 0, "loopRoute": false, "stopToStopPathList": [ { "routeId": null, "startStopId": 51443, "endStopId": 51444, "path": null, "encodedPath": "exjnG|mqwPT@`A?DChAEfB]`FA?lH@fI@z@n@XjDdB~BjAVNfAd@t@CpD?hBAtB?~A?v@?hA??`C?tD" }, { "routeId": null, "startStopId": 51444, "endStopId": 51445, "path": null, "encodedPath": "ieinGzsrwPw@?uB?s@?s@?m@?S?U?K?]?i@??bD?lE?XU`@EDGFQDUF{AiA_ByA_DoCQOiAy@qA}@y@a@sEEaB?OAKAUA]Ic@QAtC?X?B?v@?f@?\\?~@A`F?vACrDAhG?dEAr@@|FCdFAzG" }, { "routeId": null, "startStopId": 51445, "endStopId": 51446, "path": null, "encodedPath": "uujnGbutwP@~F?|E?rEBn@Fj@DlABr@@pE?pH?~@BjAHp@NvB@P?PALADETGLEFGBIDI@E@KCMEa@QKAMAM?eAR[LWLWRe@d@QZQ\\IZOf@G\\?@JHDDBFBD@D@`@?R" }, { "routeId": null, "startStopId": 51446, "endStopId": 51448, "path": null, "encodedPath": "y_knG`yvwP?l@?FAFAHAFEFCDEDEBEBCNAJEJELKHEBGBA?G@M?M@W?KBGBEBCDKTITK\\E^CZC\\?^@VB\\FVFTn@nAFJHJHFLDL@LBHBJDHDFHHLj@pARZ`@VLBJBV?\\GXSpAgBr@m@^Qj@OX?XN?@?@?@?@@@?B@@?@@@?@@@@@@@@@@@@?@@@?@?@?@?@?@?NZTd@^xBLh@JTPVPNZPZFf@@j@Az@I`BMVAh@@h@DhAFKtFClCA`B?H?zA?tCAxC?hAC|@ATCj@Ch@ATMbBSlAEVOz@EJKd@Wv@IT[z@i@hAS\\Wd@UZ_AlAy@t@aBtAeEhDmAdAi@d@{@z@k@r@a@j@SZOV[l@e@fAYz@Ur@St@uAhHw@hEUbASx@Md@Of@Oh@Q`@Q`@u@xAY^W\\c@h@e@f@e@f@i@h@}@|@}AzA{IjIoAjAC@g@d@g@f@KJ}AxAk@j@w@x@o@|@SXa@p@CDU`@CFMRS^_@z@ABM`@Wr@Ut@Ol@Sx@Kf@Mp@Il@EVKx@Ed@Eb@Cb@Er@C^Cf@AbAAhAAnAAnBExQChN?z@?`AClEGdIEbEGvEClAQlMCnEAnF@|C@pCLvKDhF?jCAnAArCAtA?jAAl@?DApCA`BElFCfC?~@Af@A~B?bB@rS@hDAxA@bC?^?nC?dE?~B?dDEpIWz_@GfLCxDAnD?zDDrHBfCDzE?B?HBvC@`@?pA@x@@dA?~BC~HInH?t@E|BOfNIjGC~E@vA?hD@dC@~DB`E@tC@bADtJBdJBhD[FWDk@Ns@Lw@RcATm@L[FWDc@D[BYBU@c@B[@M?C?A?A@A?A?A??@A??@OJeAC}BC{BEeA?wA?C?aUE_GCcQEuEAoAC_CA{E?eEAmA?aAAcEG{DIoBE}R]{BGeDEyLQiAEc@C_@Ce@Em@Ig@G_@Gc@GSEs@Ou@Qk@Ou@Sy@U{@Wy@WsEsAiA_@mBg@}FcByDeAcBg@aAWs@Mc@Ia@I_@EUCgBO}@Gs@EsA?oA@[?cAFi@DoANsARu@N_ATaAR_@LWHq@Tq@Xw@ZaB|@{BjAsCzAkE|BcCnAgDjBiAj@iAj@mHzDaDdBeCpA_CnA}BlAo@^_ClA{HbE{S|K{F~Cw@^a@Rq@\\u@ZiAd@u@VoA^_@Lu@Rm@LqDr@aBVgALqALsAHqADkBDsA?cG?uCA_E?{D@c@?WA{@Cs@C[CYCo@G]E]GYEu@Ou@Oo@M{MuCqCo@gCg@cCi@qDs@oB[oBSkBOu@CgCEqEEiEEyDC_GE{JIc\\OiIEyGAuEAaRGqQIeJCcDEmBGaBGoAGmG]yCQg@Cy@CcGOoAAoBC_EGuFCcPAyDDiDF_CFgGTgERsGTcFFmB?kB@yABoA?aE?_IAcFAkBAsA?y@AeAGs@EgAMo@IyAUc@Ka@Kg@Mi@OaBk@gC{@iBm@{@Yg@O_AWm@QaASi@K_@IWEa@GUCmAMcAKg@GsAIuAEw@AqACmA@wBFcBHqAJcBP}@J[Fw@NuEz@cATkB\\qB^mCh@iCf@yCl@oATe@FSDWB_@DUB_@Ds@Du@Bq@BuA@oBDcFFiKH{AFiBByBB{CFoABy@@yB@iKJsBBgC@wAAu@Ao@C{AEq@Cm@CmAGyCSsBQuQiB{Gq@{Ee@WEwAOsIy@s\\gDyC[iCWoJ_AsAOgGk@}AOwBUwBWWCsD_@m@GyAM{@IkAOgCUs@GqAK_@CWCoBGi@CwHMmB?eDB}EDyGHuEFgDBsEByA?o@?uABcBFaBBaEDaC?kB?s@?}@CU?e@ASAyAEmACwEOcDKyBIkBGyEQuACqDM{EOgCG_EOeACcAEcACkAEsEMwBIgACwDM{AEsAEmCIcCIaAGk@Ee@Ci@Ey@KgAMSCOCYGWESEc@I[GWG[IYGs@Q[KYIWIm@Sa@Ma@Oi@Si@Sc@Qe@Sg@WwCsAkAi@k@Y{@c@gAg@QIQIsB}@kB}@aEoBiCmAmAk@kAi@{FoCYMcAg@yBcAe@Ss@Wu@Ys@WYKsA_@iAYa@Ii@Mk@Ke@I[Gu@MUCcAMm@GcJaAsFk@}AM}BUkCW_D]kNwAcBSq@I}@Ou@K_Ca@uBa@o@MqA[iBc@aDs@sEcAkBe@k@MoA[a@I[I[GMCMCOEWEa@GYEWCc@GYCk@Ca@C_@Ca@Aa@?i@Aw@@y@@u@B[@]Dc@DUBqEd@sFj@_E`@qBRmANgCT_J`AoGp@iAJcCVaAJw@FYB[BY@_@@Y@qABm@@[@_@?[?[?g@Ai@AYA]AQAGAa@AqCMwAEyAIyAGcFUuCKaAE_BIc@Ca@CcAEkCMg@CgAEu@Cg@Aa@Ae@?S?}@?w@@]@u@By@Bc@Dm@DuAJk@F_C`@cAP{A\\{@Rs@Tq@RsAb@MF_A\\sCnA}Ap@kAh@{DdBsCnAg@TiBx@sD|A}BbAgBx@}@^y@^i@Tk@Tg@Ns@V[JWHc@L]Jc@Li@L]FaARo@Jg@H}@Nc@Fi@F_@B[B[DS@[@a@Bu@BiCFq@?i@?aAAqBE_DGkACyAEyFMeAA]AmCGsDMiDKkBCqAC{BGw@CwDImIOiDGgBEsAAkE?{DBeB@sB@wE?c@@g@?_B?iC@yEDeEFgDDsA@uCDyNP{@BqCD{@@_DDyA@iFHsEFoJLo@?_DBuEH[@U?_@BY@i@Bg@DqAJkBT_AJ}BXoEj@sAPsAPsARyAN}BX}BTuGn@sCZoC\\{BV}C`@yANk@F{ARw@D_CJyADoD?_L?q@AA?q@?wJ@{B@s@@sAA{DAmD?oA?aK@{TAgB@y@?kCAi@?_CDiBJm@FiD`@aDh@cATmAZ{A^kA`@iBr@o@V]Na@Pq@^s@`@qE~B{HdEC@eBbA_HpDiIhEiAj@yAl@c@Pu@T{A\\k@Jc@HSBWD]DO@M@S@O@W?a@@]?eA?a@?uGCsE?kXOiB?A?qA?_JEsRKmH@eA?M?C?w@AsE?wDAoC@aEDOMECKCO?Q?OASAOCOCQGOGOGMIOMQOUWc@m@]e@SYg@s@[g@IQKUIUIUGUG[G_@Ii@C[EaACg@AIMm@CeIAmE?s@?aA@eB?OFsJ?wBAcA?{@UsS?{A?yA?aB@iABoBBoADuBJqENmHB{A@mADsN?q@?GA{@EmEAcAE}AEcAE}@EaAKwAMuBGo@M}BCYA_@Cg@A]Ag@Ac@Ai@AsAAiB?uA?at@?kB?A?gC?mO?yF?}N?mA?mL?kI?kM?mA@oE?}I?wA?_C?iB?o@?yC@iB?mDAcCBoKBcV@cV?aD?}DCmIAeCCeCE_HIwFDG@E@C?EBK?G?IBaIFmN@qA?O@q@@oB?aAA}AAq@EaACk@IkAGs@I_AOeAE[E[Mu@G]Mm@[oASu@Uw@y@kCGQo@iBqAoDgAuCmEkKcCcFyAoCkAiBmAkBgAwAqBaCmBuBaB{Am@i@o@g@o@g@MK_@YaDuBmBmAuAy@a@Ua@W}@g@[Qi@[{@k@cAq@aAs@_HiFu@k@MMSQWAE?CAGEqAq@]OYIOE_@C[?[@[FYJMFIDSLMJMJIHKJ[d@OZGPGNM`@Ib@E^CLKlAWtCAD?BKZQjBS|@CNMh@K`@Md@M^uGdSEZEPGb@eAlDOd@Er@e@lBWr@]r@Sj@Ux@AB" }, { "routeId": null, "startStopId": 51448, "endStopId": 51449, "path": null, "encodedPath": "q}|pGha{wPKZADCFSf@m@pB}AxEKVEL?H@Hd@p@jFlELBNOJKp@qBvAkEVuBE}AYsBQwAMcAQqA[aBE}@?c@Fa@Po@Ti@Xe@d@}AHWvGkSPk@B]?EBGVeA^yAp@oCBMb@_B\\yABMBKBOBO@OBQ@W@U?S@OAUAa@Ci@Ec@CSEQEQEQEQGSQa@IQIQIMMQMOGIGGMKIGMISMu@_@k@Y_Ae@k@YkAm@gAm@{As@ACCCGOeEoB_@OmC{AyBkAoAu@uDuBOYIIOM_D{BgEyC_Ao@o@a@o@_@u@Y_@Kg@KMASCYCe@?O?_ADS@]DUDq@Le@L_@J_@JQJk@TIDw@\\w@d@yA|@k@d@KR[PYRy@t@ORGHSVS\\]j@O\\O\\Qd@MTy@tCCL?@oAxDCNOd@Wr@m@~AGVGb@_BbE_@`A[v@s@dBy@hBIPy@fBCHk@bAi@`AU`@a@p@{@~Au@tAw@xA_@|@ELYn@[~@]pAGPOl@Kd@Qx@Id@Ij@Ip@K~@Iv@Gv@Ch@Cj@Cr@CpA?lA@tAF`BHbBPjBLrBV`DFfA@H@\\Bd@Bp@B~@@j@?r@?H?`N?bFBbFB`X?h@@p@Bz@Bh@Bd@HdADf@LjAJjAJfAJlAJhALjAPjBJlAVpCN`BJhBBv@?f@@hAAtB@~CArM@zB?lDAhDA|CCfCEdCIvEEjDA~@?pA?hA@jA@lBL~B@NBd@Dj@RvB@Nh@zEhBrPXpCl@rFp@dGX`CZtCRlBTvBRhBL`ANfANz@R`AXfAVx@Vz@Tn@Rf@LVXp@\\h@`@n@p@~@pBpC|BdDrBvCj@v@d@p@RZT`@^z@\\|@Nh@Tx@P|@Jj@Fd@Fh@F`ADl@@d@?f@@f@CtBOpKWxQ?PC|A?vF?rF?V?@AzA@dL@jEBlD?h@Cr@ARC^Gb@If@I\\K\\S\\Wf@MROPMLSPOJOJ[JYH[D]Bw@Bw@@aA@gAAm@@M@IBIDKDGBo@Aq@CgPSwIG_L@qNAcQ?}@CuIE{B?G?I?I?eCCyBCwA@mB@uABiB@aB?eBD}A?mAAqB?}EM{UYE?oJAmLHgF?C?yKBcUAA?_R?aC?u@?uDBmm@FiGA_EBkC@qB@wA?wA?U?WAeCBu@?]Co@?q@AiBIwAU_AWOG[Ow@]mBkAuAgAc@]iBuAsGgF_FwDs@i@y@q@AA{@i@y@c@c@QmAc@q@O_AOw@I_@FmA@Y@[@Y@[De@DODi@J_@H{@La@D]Ba@Dc@@_A?eGGcDCA?w@@uCBo@?gFBoA?g@@[?A?O?S?cA?O?U?O?_CCE?s@AwAIC?YCmBUuCc@WC]G[GA?QGA?[K[QQMQQQSS[MYiA}B{@s@s@i@GGQMYU]Ya@hAqA~DkBhGIRSh@Wt@Wp@GTQj@Ur@qBnG]hAK^iAhD}BvGw@o@]WKIwAkArBiGDQFQ`@qA" }, { "routeId": null, "startStopId": 51449, "endStopId": 51450, "path": null, "encodedPath": "eioqGrhhxPfAoDaEcDQj@Sj@oAvD}A`FiArDm@hBcDcFiAeBIMOOOWk@}@IOMUq@iAy@oAc@s@s@gAYa@KO_@m@i@{@uAwB]i@o@aAOY[l@aAdB_A`BQTKPm@~@i@x@k@z@a@t@ABABAD?D?B?DU^IJOXU`@_@h@INh@p@n@x@h@z@l@~@JNFHDHBDp@dA" }, { "routeId": null, "startStopId": 51450, "endStopId": 51451, "path": null, "encodedPath": "expqG|rhxPBDp@bAXb@^j@~BtDj@_A@CFKBC@CNUNWBERYb@{@iAmBmAqBuAuBsAoBoAoBYa@u@kAfBoCx@oAlAyBHOdAgBOYaAyA]g@_AuAKQu@gA_@k@GYAGAEGIEIMQUc@Wi@c@u@Yc@GMGMU[OWEIEMGMQe@Sq@EOCEMY}AyE}@kCQk@CE[cACKM]CI]uAa@{AEOc@aB?CYeAYiAe@iBEYa@iBy@gDw@}Ck@_CVUbBcC`B}BN[nBwGjBuGpAcE\\oA`CeIx@uCt@_C`@wAjA{DnByGdAmD\\oA@CBIFWXeAf@yAd@_BhBsGl@qBbAiDn@{BVy@b@{Ab@yATy@Ty@Ne@Le@V{@BI\\gA\\gAX{@aBoAo@c@UQECA?ACOK" }, { "routeId": null, "startStopId": 51451, "endStopId": 51452, "path": null, "encodedPath": "qcpqG`z`xPNJ@B@?DBTPn@b@`BnAXaARs@\\iA`@sADOfBaGnBwGn@{BNe@`@uAHUFSZgAJ[Ru@Pk@|@uC^mAX_ADMd@_BjAwDp@eB`@qADMTs@J_@J_@`@sA\\TLFJDFBHBLBL@R@FAFADAJERILGLITMb@Y?AlBoAj@WJEJCHAR?x@?v@?`FAhFA`ARLDNHNLNNLLPTLPLRFJFHFFDFHFDDJFHDFBHBHBLBJ@P?H?H?FAFAHAHEJELILKDEFIDGDGDGDGBIBIFSDSDQDQ@K@K?K@M@UAU?KAMCYG]GYS_AMq@Ik@Ee@?U?S?YB]Dc@Fe@?iARgAJc@Jc@La@Ro@Ts@^aA\\u@jAuBr@aAhBcCh@s@FK@A@?h@y@r@cAtAiBdEyF~@qADGzByDzAwCtCkF`@y@Zw@b@yA\\}AHi@Fe@Fc@JkABg@Bc@@g@?c@?e@AiCGsDCoC?g@EcEAmB?cAB}@FyAP{ATqAZkAd@iA?Al@wADGFQDIFOLUz@eBJGDA@A@AJQTc@Zk@Pa@LYVu@`@yAv@_DHa@Pq@Jc@H]JYBKDKFQDQFMDMTm@BETk@Rk@Pa@P]P]RYXc@`@k@NSN]L[HUFWF]@SV?rA?d@?j@?f@?XI~CAbG@dFAnFArA@nAAxA@?kCAyG?wA?cB?mG?kC~E?rE@pE?N@bB?vABZ?bC?nA?|F??R@xK?nA" }, { "routeId": null, "startStopId": 51452, "endStopId": 51453, "path": null, "encodedPath": "ithqGbdxwPx@??qA@qI?yAhCAhB?nB?jB@xEArD@zAAzA?nD@tDApB@bA?tD?pD?B?rDCtD?rD?tD@vDA" }, { "routeId": null, "startStopId": 51453, "endStopId": 51448, "path": null, "encodedPath": "cyeqG`twwPrD@tDAlAAfB@rD?tD?vA?~A?rD?tBAv@?N?t@?\\?xABP?Z?j@CXAb@?JFF@LBN@`DBhDCRGPIPI`@WbEcCfFyCtCcB~@i@JIxEoCpIcFjBaBp@k@fB_BjCwBdA_A`HgG`CuBlD}CPUJYFYD[@S?G@KAy@rABj@?`@?D?F?@?D?F?fBCT?xA?xA@pAAdBA?i@?gN@gJ@IDObCdH?L?B@DHRpAjDv@fB`@z@p@zA`@z@b@z@b@x@f@t@PZPXn@z@|DxEfBtANHPJVVx@n@nAbAtArArApArAnATRTXT`@l@|@d@f@tApAv@`ALFDBB@BBfAnAdBpB|@`Ah@f@p@l@v@n@r@h@`@Xv@h@h@\\l@Zd@Xz@`@t@Zj@VFB@?@@?@@??@DHnChAhBp@zAr@~At@pAp@x@d@VNbIfEzBlAn@\\n@^h@Z`Aj@`Ap@bCfBvAfAHP@DBDB@PPh@`@h@d@lAdAf@d@NPRV^h@HJHNFLBFL^L^H`@Jb@Db@Db@Db@?T@P?^?H?`@Ad@Af@Cd@Cb@C^?H?ZQjBS|@CNMh@K`@Md@M^uGdSEZEPGb@eAlDOd@Er@e@lBWr@]r@Sj@Ux@AB" }, { "routeId": null, "startStopId": 51448, "endStopId": 51446, "path": null, "encodedPath": "q}|pGha{wPKZADCFSf@m@pB}AxEKVEL?H@Hd@p@jFlELBNOJKp@qBvAkEVuBE}AYsBQwAMcAQqA[aBE}@?c@Fa@Po@Ti@Xe@d@}AHWvGkSPk@JUFQT{@b@}APi@Lc@BKPe@JYVg@JSNUNSNSNMNONMNKRMLILGRGPIRGXGPCLANA\\AP?H@L?L@d@HRFB?@?B?B?FEbAd@dAd@nB~@hAl@bBdAfAp@tAz@hBhAjJ~FTP\\Tj@b@b@Zv@r@nAjARPXZzBdCv@~@t@`A|A|Bd@r@f@z@JN|AnC^r@n@pAz@lBv@fBTn@|@|B\\`Af@~AHVt@hC~AlGf@jCTlATtARtANjATnBRtBNhBFnAFjAH`BDzABx@@d@?F@HJ`@@nBB~DDjEFpHFfHD~G@|BB|BFrI@bB?jF?`BAdT@lC?p@?lJAh_@AvL?zI?fA?bFAxE?D?D?J?L?B?lEArHKLADA@?@A@?B?@ABANANALCLCNGNEJEFEFGFGDIDG@G@E@G?E?E?GACAGCGCEEECKMIKEOEQCKAK?Q?O?I@I@KBIBK@EDKDIDGHIDEDCDADCDAHAPARAJAJA@ABABAJKp@?r@ApGBvACbAE^CfJ]HE@?p@At@AP?l@ATAJ?lAEfBEHAD?@?BAVMv@?tKTxDFbA@tLVjBF~EHpA@jA?x@?v@?p@Cp@Cd@Er@Gb@GjASz@Qv@SbA[`C_A|@e@hAq@p@c@nDkCvG_FfAy@lJoH~AoAhCqB`Au@nGuEbEsC`EsCjIiGtB}AdAy@VQVUl@i@l@i@j@m@b@e@Z]h@q@h@q@f@s@f@u@RYR[b@u@lBgDrEcIpEeI~AoC|AoCR]P[T]PWd@q@\\c@j@o@bAeAl@k@n@g@l@e@l@_@t@c@LG^UXMtCuAvCyArAs@jB{@f@W`@S`@QhAi@jAm@`CkAvDuBbB{@zBgAnEsB~BkAbCkAt@]VMXMXK`@OVGTIXIXG\\InAWv@Ox@GpAIt@CZ?bABp@D^Bv@Hd@Hf@HZFj@LNDRFXHt@V`Cz@zChAr@Tr@TfBj@|Bj@fCj@jATl@Lf@HPBnBRxJv@bAB@?v@?nA?r@?x@@tJDzIDv@?rA@lAA`AAn@Az@EdBKtAIlAIpAKv@IPCXEb@IrAUn@M`@I|@Sj@MdBe@r@Qh@QjC{@hBm@|Ai@tAe@~Ai@v@YjC{@l@SvAe@z@]`@QRIp@Ur@Yv@Yt@UZFB@B?h@IpC]LALAVAP?Z?N@J@RBZFRDLBFBJBRFPH\\Nb@TXTZTj@`@XPd@T|Bt@~C`APFPHb@TNJJHVRJJNNTV\\b@p@bAB@JBr@rAdAnBtAjCrAhCd@p@vArB~A~BNT@@XRf@~@dGzKZh@tQ~\\HPpA`CtOvY|BfEtN~WpBnDhGjLfE|Ih@nAnB|EtAvDh@|ArBpGn@nBx@lCZhAfArD|BbIvAvEv@nCrAnEh@dBHXPf@X|@l@`B\\z@^`Ab@bA^v@bAtBfArB`_@fq@fArBnJ|PxD`H|BfEh@fAz@|AFJR\\FLf@|@xClFz@|Ax@~Al@dAxAnCJL|@bBd@v@l@dA^h@PXRXRVVVh@h@h@b@^ZZRh@\\r@^dBr@l@Pn@NLBTBx@JF?F@p@Bf@@`@?f@C^Cp@GNCv@M^I^I~Bk@dCo@n@On@ONC^Gp@Kf@Gn@IjAO~BYDABABC@A@ADK|@EjCWj@ItDa@|Ei@nAMlAMvBSb@E|Gs@fBQfD]lCY|@GNARAd@Cz@Aj@?d@@p@@z@Bv@Db@Dt@Jl@Fz@Nn@NdB`@dCj@fCj@tDz@dH`BdARxAXlARxEt@|@JzD`@fD^lGp@tMrA`BP^DvEf@nGp@nALpAPlARr@Nl@Lp@Nj@Nj@N`@LXHr@Td@P\\LVJz@\\|@`@~@b@~CzAxBdAt@\\jAh@lAh@fAh@rBbAjBz@zAt@bBx@ZLVJtB~@vBdA\\P~BfATJt@\\p@ZhAd@x@Zv@Zd@Pf@Pf@N^J^Jl@Np@Nf@Jf@L`@F^Fp@J`@Ft@Hd@Dd@Dz@Fn@DlBJfCH`AD|CHdCFjFPvAFbBBdADfCHhCJp@BbFNbDH|FPvBFdCJ|CJ~BHfDJrAFtBDfBFnADnAB`@@hA@n@?r@?|AA`AAbBC~BC~@Al@C|@Cp@Az@ArA?b@?bBAnHEhCExEExBE`BC~DCjBAbHF`@@v@DrAFt@B`@Br@DdCTfBPdAJdAJfCVdEd@xBTzBV~[|CjFh@@?nBR~Fl@bOxAdIx@xD`@`E`@dIx@pE`@bD\\jBRjBPrALjBLpAFfCJnBDt@@pA@nA?rA?nBCpDG|CErDEnBEpAAjCCtFCpAArAClBGhACtBCfCEhCEpAAd@Cj@Cv@It@GpASt@OjGmAlB_@xH{A`Do@vAYrCg@dAO`@EbAKv@Gt@Gt@Ev@CnACv@Aj@@b@?x@@t@Bv@Dt@Dp@Ft@Fv@HjBTjATtAXt@RlA\\`AXnC~@jBn@pBr@`AVn@PVF`@HbAPj@Jr@Hb@Dl@Df@Bh@BpABfCBtGA|JDfG@rCApBEbCEfCGfCGvFUxAG`CMzEOjBE`EEhFAfLFjNHdDHpELbFXzBLfAFhBJpADpADnABjBBhE?~DDrF@fGB~@@tHDh@?xMB~c@P`JDbKHj[VdABhAFv@Dt@Ft@Ht@Jt@JPB`@Ht@NhB^rE`AtN~CjB`@lAVrAVt@NlAPbALh@Dr@Dv@Bf@@f@@hA?`FAjH@pA?lBAlBAr@ApAEpAGjBOpAMnASr@KvDw@v@Sv@Up@ShA_@t@Yr@[n@Yp@[t@a@~F_DlTgLjH}DdEwBpGiDxMeHrC{AtC{AtC}A`EuBxCaBxBmAdB}@|BiA`@Qh@Ur@Wp@SbCm@v@Mj@Kj@Ip@If@Gn@Cv@EbAAv@Ap@@r@B`@@tAJx@H^D\\FXD^Hf@HfAVdBf@fCr@nA^bFvAtA`@dBh@vHzBbAXrA^n@Nb@Hr@L|@Nn@FZDTB`@DV@r@DL@N?N@nMPn\\l@xFLfFFr@@hA?`B@zC?lH@jCBtD@fKBdLD`XHf@@\\@rAB|@BHH@@@@@??@@?@?L@TBx@Hl@F^DZBRBLBNDRFRF`@Nh@Xr@`@`@TXNTHNDJBD@F@H@B?@?D@B?D?F?V?fCCCiD?AAcA?ACuDCiDCeJEuJAcAAuCCaEA_EAeC?iDAwAB_FHkGNgND}B?u@HoHB_I?_CAeAAy@?qAAa@CwC?I?CE{ECgCEsH?{D@oDByDFgLV{_@DqI?eD?_C?eE?oC?_@AcC@yAAiDAsS?cB@_C@g@?_ABgCDmF@aB@qC?E@m@?kA@uA@sC@oA?kCEiFMwKAqCA}C@oFBoEPmMBmAFwEDcEFeIBmE?aA?{@BiNDyQ@oB@oA@iA@cABg@B_@Ds@Bc@Dc@De@Jy@DWHm@Lq@Jg@Ry@Nm@Tu@Vs@La@@C^{@R_@LSBGTa@BE`@q@RYn@}@v@y@j@k@|AyAJKf@g@f@e@BAnAkAzIkI|A{A|@}@h@i@d@g@d@g@b@i@V]X_@t@yAPa@Pa@Ni@Ng@Le@Ry@TcAv@iEtAiHRu@Ts@X{@d@gAZm@NWR[`@k@j@s@z@{@h@e@lAeAdEiD`BuAx@u@~@mAT[Ve@R]h@iAZ{@HUVw@Je@DKN{@DWRmALcB@UBi@Bk@@UB}@?iA@yC?uC?{A?I@aBBmCJuFiAGi@Ei@AW@aBL{@Hk@@g@A[G[QQOQWKUMi@_@yBCWCUKa@@A?C@A?A?A@??A?A?C?A?A?C?A?C?A?AAA?CAA?AAA?AAA?AA??AA?AA?AA?AAA?A?A?AAA?A?A?A?A@A?A@A?A@A@A@A@?@A@?@A@[HY?k@N_@Ps@l@qAfBYR]FW?KCMCa@WS[k@qAIMGIIEKEICMCMAMEIGIKGKo@oAGUGWC]AW?_@B]B[D_@J]HUJUBEDCFCJCV?LAL?FA@?FCDCJIDMDK@KBODCDCDEBEDG@G@I@G?G?m@" }, { "routeId": null, "startStopId": 51446, "endStopId": 51445, "path": null, "encodedPath": "y_knG`yvwP?l@?FAFAHAFEFCDEDEBEBAqCB[@W?AF]Ng@H[P]P[d@e@VSVMZMdASL?L@J@`@PLDJBDAHAHEFCDGFMDU@E@M?QAQOwBIq@CkA?_A?qHAqECs@EmAGk@Co@?sE?}EA_G" }, { "routeId": null, "startStopId": 51445, "endStopId": 51444, "path": null, "encodedPath": "uujnGbutwP@{GBeFjE@rEA~ECdF@`FA?_@A}E?w@@gE?q@?K?gC?e@?gD?aCCaC?Y?mE?cDh@?\\?J?T?R?l@?r@?r@?tB?v@?" }, { "routeId": null, "startStopId": 51444, "endStopId": 51443, "path": null, "encodedPath": "ieinGzsrwP?uD?aCA}H_F?_F?cFDeFC{EBAgI?mHaF@gB\\iADEBaA?UA" }, { "routeId": null, "startStopId": 51446, "endStopId": 51447, "path": null, "encodedPath": "y_knG`yvwP?l@?FAFAHAFEFCDEDEBEBCNAJEJELKHEBGBA?G@M?M@W?KBGBEBCDKTITK\\E^CZC\\?^@VB\\FVFTn@nAFJHJHFLDL@LBHBJDHDFHHLj@pARZ`@VLBJBV?\\GXSpAgBr@m@^Qj@OX?XN?@?@?@?@@@?B@@?@@@?@@@@@@@@@@@@?@@@?@?@?@?@?@?NZTd@^xBLh@JTPVPNZPZFf@@j@Az@I`BMVAh@@h@DhAFKtFClCA`B?H?zA?tCAxC?hAC|@ATCj@Ch@ATMbBSlAEVOz@EJKd@Wv@IT[z@i@hAS\\Wd@UZ_AlAy@t@aBtAeEhDmAdAi@d@{@z@k@r@a@j@SZOV[l@e@fAYz@Ur@St@uAhHw@hEUbASx@Md@Of@Oh@Q`@Q`@u@xAY^W\\c@h@e@f@e@f@i@h@}@|@}AzA{IjIoAjAC@g@d@g@f@KJ}AxAk@j@w@x@o@|@SXa@p@CDU`@CFMRS^_@z@ABM`@Wr@Ut@Ol@Sx@Kf@Mp@Il@EVKx@Ed@Eb@Cb@Er@C^Cf@AbAAhAAnAAnBExQChN?z@?`AClEGdIEbEGvEClAQlMCnEAnF@|C@pCLvKDhF?jCAnAArCAtA?jAAl@?DApCA`BElFCfC?~@Af@A~B?bB@rS@hDAxA@bC?^?nC?dE?~B?dDEpIWz_@GfLCxDAnD?zDDrHBfCDzE?B?HBvC@`@?pA@x@@dA?~BC~HInH?t@E|BOfNIjGC~E@vA?hD@dC@~DB`E@tC@bADtJBdJBhD[FWDk@Ns@Lw@RcATm@L[FWDc@D[BYBU@c@B[@M?C?A?A@A?A?A??@A??@OJeAC}BC{BEeA?wA?C?aUE_GCcQEuEAoAC_CA{E?eEAmA?aAAcEG{DIoBE}R]{BGeDEyLQiAEc@C_@Ce@Em@Ig@G_@Gc@GSEs@Ou@Qk@Ou@Sy@U{@Wy@WsEsAiA_@mBg@}FcByDeAcBg@aAWs@Mc@Ia@I_@EUCgBO}@Gs@EsA?oA@[?cAFi@DoANsARu@N_ATaAR_@LWHq@Tq@Xw@ZaB|@{BjAsCzAkE|BcCnAgDjBiAj@iAj@mHzDaDdBeCpA_CnA}BlAo@^_ClA{HbE{S|K{F~Cw@^a@Rq@\\u@ZiAd@u@VoA^_@Lu@Rm@LqDr@aBVgALqALsAHqADkBDsA?cG?uCA_E?{D@c@?WA{@Cs@C[CYCo@G]E]GYEu@Ou@Oo@M{MuCqCo@gCg@cCi@qDs@oB[oBSkBOu@CgCEqEEiEEyDC_GE{JIc\\OiIEyGAuEAaRGqQIeJCcDEmBGaBGoAGmG]yCQg@Cy@CcGOoAAoBC_EGuFCcPAyDDiDF_CFgGTgERsGTcFFmB?kB@yABoA?aE?_IAcFAkBAsA?y@AeAGs@EgAMo@IyAUc@Ka@Kg@Mi@OaBk@gC{@iBm@{@Yg@O_AWm@QaASi@K_@IWEa@GUCmAMcAKg@GsAIuAEw@AqACmA@wBFcBHqAJcBP}@J[Fw@NuEz@cATkB\\qB^mCh@iCf@yCl@oATe@FSDWB_@DUB_@Ds@Du@Bq@BuA@oBDcFFiKH{AFiBByBB{CFoABy@@yB@iKJsBBgC@wAAu@Ao@C{AEq@Cm@CmAGyCSsBQuQiB{Gq@{Ee@WEwAOsIy@s\\gDyC[iCWoJ_AsAOgGk@}AOwBUwBWWCsD_@m@GyAM{@IkAOgCUs@GqAK_@CWCoBGi@CwHMmB?eDB}EDyGHuEFgDBsEByA?o@?uABcBFaBBaEDaC?kB?s@?}@CU?e@ASAyAEmACwEOcDKyBIkBGyEQuACqDM{EOgCG_EOeACcAEcACkAEsEMwBIgACwDM{AEsAEmCIcCIaAGk@Ee@Ci@Ey@KgAMSCOCYGWESEc@I[GWG[IYGs@Q[KYIWIm@Sa@Ma@Oi@Si@Sc@Qe@Sg@WwCsAkAi@k@Y{@c@gAg@QIQIsB}@kB}@aEoBiCmAmAk@kAi@{FoCYMcAg@yBcAe@Ss@Wu@Ys@WYKsA_@iAYa@Ii@Mk@Ke@I[Gu@MUCcAMm@GcJaAsFk@}AM}BUkCW_D]kNwAcBSq@I}@Ou@K_Ca@uBa@o@MqA[iBc@aDs@sEcAkBe@k@MoA[a@I[I[GMCMCOEWEa@GYEWCc@GYCk@Ca@C_@Ca@Aa@?i@Aw@@y@@u@B[@]Dc@DUBqEd@sFj@_E`@qBRmANgCT_J`AoGp@iAJcCVaAJw@FYB[BY@_@@Y@qABm@@[@_@?[?[?g@Ai@AYA]AQAGAa@AqCMwAEMQAAA?UAUCQC_@EK?{@KkAQq@O[G[KUGu@[i@UMEUMYMi@]]Uq@g@UQQQm@i@g@i@WYUWQWg@q@S]e@{@mBmDc@y@mBeDs@qAcAiBcAkB_@s@c@y@gAsBS]wJiQMWS]oDuGwDaHiAsB_AaB?Aa@s@gBcDmJ}P{EwISa@OUc@{@c@y@q@yAu@_BQ_@i@yAQc@y@_C[aAY_AKa@Oc@IY{BuHwFqRm@oBmEuNm@cBg@{AqAgDy@{ByAiDq@yAoBeEuBiEa@s@g@aAg@_Aa@q@e@{@cG_L}ImPuB{DwBaEyKqSS]eUkb@cByCaB}CIa@?CGIcB}DeG{MMOoGmLUa@sDcHIY{AqCAO{AyCIQGQCOEWAQ?K@M@K@MBQHWJUFIJKRKXGN?F@LDPHPNDFFJDLDNDPBN@P?PALCXERGPELGJEDKLUJWH[F_@DWFk@BqCHiEb@[DkCd@eLxBiA`@{@XsAh@mAd@}Bv@sBr@eBj@m@RwHdCmBh@eBd@{@ReB^_ARm@Ls@LgC`@u@L}@Ju@DmAF_ABeBJaDJs@?gD?iFEiB?wCAyDCy@@o@?eHOg@Cu@Eu@G[Cw@Iu@ImBUiAM_@GoEy@[GqBi@]KqAa@o@Se@Oe@QkAa@iBs@kAc@q@U]KUIUE_AUoASu@Ku@Gu@Cu@C]?Y?[@[@k@Be@Dk@He@Fi@He@JqAV_AVODYHs@Xu@ZiAj@mAj@iAl@s@^]NiD|AoB`As@Zg@Va@TmAn@aAj@eB|@q@\\eBz@s@ZOH_Ab@uAp@uAp@wDjBwCvAiAh@WNWNq@^o@b@o@d@o@f@m@h@SRYXo@r@QRSTi@x@QVSXSZSXMTkBdDkBdDkEvHiEvHm@dAw@rAc@t@g@v@g@r@e@r@g@n@k@p@i@n@c@d@]\\m@j@cAz@wB`BuB|AeGpE_FhD_FhDqEbDuFdEaMdKqAdAmI`HkA~@y@j@{@h@s@`@mAj@iA`@q@TYJi@Ls@P}@Ny@Ji@FcAHuADmA@oC?c@SIAYCg@E_@CoAGmAImAAmCEwAEc@E_ABc@AeAA{@C_ACs@AgCKy@CWGiCKuBG}@ECGACAACCCAIC{AUYIOGOIOQIKGKGMEMCGCMAGCIAGAKCa@A{@Ak@Ca@GWG{FBg@c@EU@Q@gALUDi@X]FIAGA?[AMAMAKAGAIDCDCFAF?X?B?@??C?E?oE`@??kB" }, { "routeId": null, "startStopId": 51447, "endStopId": 51448, "path": null, "encodedPath": "ygxpGfebxP?iAc@?_@?[@?_A?SZ@LJNDXBV@p@CPAXRF@HFRL?`@?zA?dCA|BAhA@b@A|@@P?VAdAAZQfDIvAETGTELILQRKHMHMBMBo@BqABgB@eABiAFk@LY?U?QAKAMCYIOGKGMIECEEIGIKMQYe@c@q@IM]i@Wa@OWEIEGIOGOGQEOEQEUEUAI?KCM?I?EAG?G?ICUB}B?qABoB@s@?gABwBD{BBuADiBBc@?e@?Q?S?S?YAYAUCSWsEGy@E_AAaAAs@AwAC{A?[?OAGAGAKE[BcV@cV?aD?}DCmIAeCCeCE_HIwFDG@E@C?EBK?G?IBaIFmN@qA?O@q@@oB?aAA}AAq@EaACk@IkAGs@I_AOeAE[E[Mu@G]Mm@[oASu@Uw@y@kCGQo@iBqAoDgAuCmEkKcCcFyAoCkAiBmAkBgAwAqBaCmBuBaB{Am@i@o@g@o@g@MK_@YaDuBmBmAuAy@a@Ua@W}@g@[Qi@[{@k@cAq@aAs@_HiFu@k@MMSQWAE?CAGEqAq@]OYIOE_@C[?[@[FYJMFIDSLMJMJIHKJ[d@OZGPGNM`@Ib@E^CLKlAWtCAD?BKZQjBS|@CNMh@K`@Md@M^uGdSEZEPGb@eAlDOd@Er@e@lBWr@]r@Sj@Ux@AB" }, { "routeId": null, "startStopId": 51448, "endStopId": 51447, "path": null, "encodedPath": "q}|pGha{wPKZADCFSf@m@pB}AxEKVEL?H@Hd@p@jFlELBNOJKp@qBvAkEVuBE}AYsBQwAMcAQqA[aBE}@?c@Fa@Po@Ti@Xe@d@}AHWvGkSPk@JUFQT{@b@}APi@Lc@BKPe@JYVg@JSNUNSNSNMNONMNKRMLILGRGPIRGXGPCLANA\\AP?H@L?L@d@HRFB?@?B?B?FEbAd@dAd@nB~@hAl@bBdAfAp@tAz@hBhAjJ~FTP\\Tj@b@b@Zv@r@nAjARPXZzBdCv@~@t@`A|A|Bd@r@f@z@JN|AnC^r@n@pAz@lBv@fBTn@|@|B\\`Af@~AHVt@hC~AlGf@jCTlATtARtANjATnBRtBNhBFnAFjAH`BDzABx@@d@?F@HJ`@@nBB~DDjEFpHFfHD~G@|BB|BFrI@bB?jF?`BAdTIJGJAFCDAF?JM~FEvD?NUjGBH?@?B?DAVAf@EpAGfACt@?Z?Z?V@RD\\DPBRDJHTJTDHFHTL@N?LJAH?bADfAHb@Bb@Ap@?fCAdBB`@?hBC\\?lAAjDGN@f@VDDDBDFDHBHTZAnC?j@?fGYAm@?}BFMH[A?R?~@ZA^?b@??hA" }, { "routeId": null, "startStopId": 51447, "endStopId": 51446, "path": null, "encodedPath": "ygxpGfebxP?iAc@?_@?[@?_A?SZ@LJNDXBV@p@CPAXRF@HFRL?`@?zA?dCA|BAhA@b@A|@@PHT?B?@?vB?lDAxB?x@?V@V@XBPBNBHBJBJHNHNLPJJLJNHLFRDL@X@vC?nKAzC?D?ZObA@tLVjBF~EHpA@jA?x@?v@?p@Cp@Cd@Er@Gb@GjASz@Qv@SbA[`C_A|@e@hAq@p@c@nDkCvG_FfAy@lJoH~AoAhCqB`Au@nGuEbEsC`EsCjIiGtB}AdAy@VQVUl@i@l@i@j@m@b@e@Z]h@q@h@q@f@s@f@u@RYR[b@u@lBgDrEcIpEeI~AoC|AoCR]P[T]PWd@q@\\c@j@o@bAeAl@k@n@g@l@e@l@_@t@c@LG^UXMtCuAvCyArAs@jB{@f@W`@S`@QhAi@jAm@`CkAvDuBbB{@zBgAnEsB~BkAbCkAt@]VMXMXK`@OVGTIXIXG\\InAWv@Ox@GpAIt@CZ?bABp@D^Bv@Hd@Hf@HZFj@LNDRFXHt@V`Cz@zChAr@Tr@TfBj@|Bj@fCj@jATl@Lf@HPBnBRxJv@bAB@?v@?nA?r@?x@@tJDzIDv@?rA@lAA`AAn@Az@EdBKtAIlAIpAKv@IPCXEb@IrAUn@M`@I|@Sj@MdBe@r@Qh@QjC{@hBm@|Ai@tAe@~Ai@v@YjC{@l@SvAe@z@]`@QRIp@Ur@Yv@Yt@UZFB@B?h@IpC]LALAVAP?Z?N@J@RBZFRDLBFBJBRFPH\\Nb@TXTZTj@`@XPd@T|Bt@~C`APFPHb@TNJJHVRJJNNTV\\b@p@bAB@JBr@rAdAnBtAjCrAhCd@p@vArB~A~BNT@@XRf@~@dGzKZh@tQ~\\HPpA`CtOvY|BfEtN~WpBnDhGjLfE|Ih@nAnB|EtAvDh@|ArBpGn@nBx@lCZhAfArD|BbIvAvEv@nCrAnEh@dBHXPf@X|@l@`B\\z@^`Ab@bA^v@bAtBfArB`_@fq@fArBnJ|PxD`H|BfEh@fAz@|AFJR\\FLf@|@xClFz@|Ax@~Al@dAxAnCJL|@bBd@v@l@dA^h@PXRXRVVVh@h@h@b@^ZZRh@\\r@^dBr@l@Pn@NLBTBx@JF?F@p@Bf@@`@?f@C^Cp@GNCv@M^I^I~Bk@dCo@n@On@ONC^Gp@Kf@Gn@IjAO~BYDABABC@A@ADK|@EjCWj@ItDa@|Ei@nAMlAMvBSb@E|Gs@fBQfD]lCY|@GNARAd@Cz@Aj@?d@@p@@z@Bv@Db@Dt@Jl@Fz@Nn@NdB`@dCj@fCj@tDz@dH`BdARxAXlARxEt@|@JzD`@fD^lGp@tMrA`BP^DvEf@nGp@nALpAPlARr@Nl@Lp@Nj@Nj@N`@LXHr@Td@P\\LVJz@\\|@`@~@b@~CzAxBdAt@\\jAh@lAh@fAh@rBbAjBz@zAt@bBx@ZLVJtB~@vBdA\\P~BfATJt@\\p@ZhAd@x@Zv@Zd@Pf@Pf@N^J^Jl@Np@Nf@Jf@L`@F^Fp@J`@Ft@Hd@Dd@Dz@Fn@DlBJfCH`AD|CHdCFjFPvAFbBBdADfCHhCJp@BbFNbDH|FPvBFdCJ|CJ~BHfDJrAFtBDfBFnADnAB`@@hA@n@?r@?|AA`AAbBC~BC~@Al@C|@Cp@Az@ArA?b@?bBAnHEhCExEExBE`BC~DCjBAbHF`@@v@DrAFt@B`@Br@DdCTfBPdAJdAJfCVdEd@xBTzBV~[|CjFh@@?nBR~Fl@bOxAdIx@xD`@`E`@dIx@pE`@bD\\jBRjBPrALjBLpAFfCJnBDt@@pA@nA?rA?nBCpDG|CErDEnBEpAAjCCtFCpAArAClBGhACtBCfCEhCEpAAd@Cj@Cv@It@GpASt@OjGmAlB_@xH{A`Do@vAYrCg@dAO`@EbAKv@Gt@Gt@Ev@CnACv@Aj@@b@?x@@t@Bv@Dt@Dp@Ft@Fv@HjBTjATtAXt@RlA\\`AXnC~@jBn@pBr@`AVn@PVF`@HbAPj@Jr@Hb@Dl@Df@Bh@BpABfCBtGA|JDfG@rCApBEbCEfCGfCGvFUxAG`CMzEOjBE`EEhFAfLFjNHdDHpELbFXzBLfAFhBJpADpADnABjBBhE?~DDrF@fGB~@@tHDh@?xMB~c@P`JDbKHj[VdABhAFv@Dt@Ft@Ht@Jt@JPB`@Ht@NhB^rE`AtN~CjB`@lAVrAVt@NlAPbALh@Dr@Dv@Bf@@f@@hA?`FAjH@pA?lBAlBAr@ApAEpAGjBOpAMnASr@KvDw@v@Sv@Up@ShA_@t@Yr@[n@Yp@[t@a@~F_DlTgLjH}DdEwBpGiDxMeHrC{AtC{AtC}A`EuBxCaBxBmAdB}@|BiA`@Qh@Ur@Wp@SbCm@v@Mj@Kj@Ip@If@Gn@Cv@EbAAv@Ap@@r@B`@@tAJx@H^D\\FXD^Hf@HfAVdBf@fCr@nA^bFvAtA`@dBh@vHzBbAXrA^n@Nb@Hr@L|@Nn@FZDTB`@DV@r@DL@N?N@nMPn\\l@xFLfFFr@@hA?`B@zC?lH@jCBtD@fKBdLD`XHf@@\\@rAB|@BHH@@@@@??@@?@?L@TBx@Hl@F^DZBRBLBNDRFRF`@Nh@Xr@`@`@TXNTHNDJBD@F@H@B?@?D@B?D?F?V?fCCCiD?AAcA?ACuDCiDCeJEuJAcAAuCCaEA_EAeC?iDAwAB_FHkGNgND}B?u@HoHB_I?_CAeAAy@?qAAa@CwC?I?CE{ECgCEsH?{D@oDByDFgLV{_@DqI?eD?_C?eE?oC?_@AcC@yAAiDAsS?cB@_C@g@?_ABgCDmF@aB@qC?E@m@?kA@uA@sC@oA?kCEiFMwKAqCA}C@oFBoEPmMBmAFwEDcEFeIBmE?aA?{@BiNDyQ@oB@oA@iA@cABg@B_@Ds@Bc@Dc@De@Jy@DWHm@Lq@Jg@Ry@Nm@Tu@Vs@La@@C^{@R_@LSBGTa@BE`@q@RYn@}@v@y@j@k@|AyAJKf@g@f@e@BAnAkAzIkI|A{A|@}@h@i@d@g@d@g@b@i@V]X_@t@yAPa@Pa@Ni@Ng@Le@Ry@TcAv@iEtAiHRu@Ts@X{@d@gAZm@NWR[`@k@j@s@z@{@h@e@lAeAdEiD`BuAx@u@~@mAT[Ve@R]h@iAZ{@HUVw@Je@DKN{@DWRmALcB@UBi@Bk@@UB}@?iA@yC?uC?{A?I@aBBmCJuFiAGi@Ei@AW@aBL{@Hk@@g@A[G[QQOQWKUMi@_@yBCWCUKa@@A?C@A?A?A@??A?A?C?A?A?C?A?C?A?AAA?CAA?AAA?AAA?AA??AA?AA?AA?AAA?A?A?AAA?A?A?A?A@A?A@A?A@A@A@A@?@A@?@A@[HY?k@N_@Ps@l@qAfBYR]FW?KCMCa@WS[k@qAIMGIIEKEICMCMAMEIGIKGKo@oAGUGWC]AW?_@B]B[D_@J]HUJUBEDCFCJCV?LAL?FA@?FCDCJIDMDK@KBODCDCDEBEDG@G@I@G?G?m@" }, { "routeId": null, "startStopId": 51448, "endStopId": 51453, "path": null, "encodedPath": "q}|pGha{wPKZADCFSf@m@pB}AxEKVEL?H@Hd@p@jFlELBNOJKp@qBvAkEVuBE}AYsBQwAMcAQqA[aBE}@?c@Fa@Po@Ti@Xe@d@}AHWvGkSPk@B]?EBGVeA^yAp@oCBMb@_B\\yABMBKBOBO@OBQ@W@U?S@OAUAa@Ci@Ec@CSEQEQEQEQGSQa@IQIQIMMQMOGIGGMKIGMISMu@_@k@Y_Ae@k@YkAm@gAm@{As@ACCCGOeEoB_@OmC{AyBkAoAu@uDuBi@[yAw@mB}@oAi@]M{@[{Ai@_GwBgBs@OGo@[ECe@Yw@e@c@[}@o@w@o@o@m@w@u@qG}GQSSQk@m@sAsAeBaCmAoAqAmACCuAqA}BeBACi@_@MKCCWQiAmAAMACACACEGEGEGEGEOEKCICICKEWEKAEESEUGSCKGQEIGOIOIMGIGGGGEEKIUMIEICGAKCYEMAAAC?AAA?GEkAImAI[C[AYC[Cu@Gc@COAcD@wDAsDAoBAU?I?G?A?C?o@?[@OAcA@U??n@?p@?P?TKj@Q`@WV_Av@{ApAsBlBMH}ChCuBlBoAhA_@Z}AtAKHgB|AEBo@j@c@b@}AlAkBfAiCzAeAn@mEbCOHcCzAyAx@gCxA}A~@gBfAmBfAYTIBOHQ@u@BmB?k@?c@@_@?OAa@?OCMBSJc@?Y@k@B[?Q?yAC]?u@?O?w@?uB@sD?_B?wA?uD?sD?gBAmA@uD@sDA" }, { "routeId": null, "startStopId": 51453, "endStopId": 51452, "path": null, "encodedPath": "cyeqG`twwPwD@uDAsD?uD?sDBC?qD?uD?cA?qBAuD@oDA{A?{A@sDAyE@kBAoB?iB?iC@}@??R@xK?nA" }, { "routeId": null, "startStopId": 51452, "endStopId": 51451, "path": null, "encodedPath": "ithqGbdxwP?h@?hMQ?{C?cA?OA[?_@?wJ@wEAoE@kB@a@?sA?yAAoA@sAAoF@eF@cGA_D@YGmCKa@COAIAUA[Am@?eE?Gh@SdAUtAId@UrA_BlJWtAQbAG`@Kh@AHAJ?JCn@IPUr@_@|@MZc@~@sEpIABS^a@jAc@fAK^U~@?@CHERMdAQ|BAV?@Ax@An@@T?B?JBp@HvAVtDP`CPdCFxABl@Br@?x@?d@Cl@C^Cf@E^Gd@Kl@EVI\\IZKb@Qf@u@~AuAnC_CjEkAnBu@lAA@MRwApBuAlBkE~F_@f@?@iDrEs@bAc@r@q@pAi@hAUn@Ob@M^Od@[jAWfAG\\Q`AQRCB?@ABCLGT]dB]`BK^EJELQ`@IRSXOTMLMJ]XEFIDOFIBg@NKBOBKBI?I@M?O?Q?gA@aCFyABcA?i@?YAy@AgA@G?G@KBG@u@VYRk@\\C@o@`@WNKFa@TKDKDIBK@C?E?WAMCKCKEKEOIOMUQIZgAnDg@bBENITQd@Qh@Oh@EJWdAMHEDGDGBC@E@G@K?G?SEQEMAM?IAI@I@ODMDKDIFIHA@OPILCBCBCHGJGLGNIPKTGPOf@Qj@{AhFYz@IXoAnEOb@]dAEJQn@k@nBo@vB_AvCCJAFo@vBKd@Sn@EPCDI\\" }, { "routeId": null, "startStopId": 51451, "endStopId": 51450, "path": null, "encodedPath": "qcpqG`z`xPUp@Sp@eAlDOf@_BnFmBtGw@jCs@bCqBtGs@hCUv@[dA?@CDGVCDCLK\\M^c@vAe@xAkBtGmBvGCHkBjG}B`IoBvGoBvGm@nB}@bDmCtDgBdAIFyAz@Pp@Pn@Lj@n@hCn@pCp@pCd@pB@FDNFNFNRb@j@n@RTRTDDpAvAt@z@LNPTZd@Xd@HHHRJVHZVp@^jADLhBnFfBnFZdAHR@BJVJTFLR`@NTLPDLFJxA~BNXJNFJFHBBB@B@@@RF^j@t@fAJP~@tA\\f@`AxA[l@aAdB_A`BQTKPm@~@i@x@k@z@a@t@ABABAD?D?B?DU^IJOXU`@_@h@INh@p@n@x@h@z@l@~@JNFHDHBDp@dA" }, { "routeId": null, "startStopId": 51450, "endStopId": 51449, "path": null, "encodedPath": "expqG|rhxPBDp@bAXb@^j@~BtDj@_A@CFKBC@CNUNWBERYb@{@LPPVPZPTv@lAT\\\\f@LQZi@LUl@gAh@y@LQjDpF|AdCn@|@TYZe@j@}@Va@JMLST]HC@ABEBCHQL_@j@iBl@kBrBiGDQFQ`@qA" }, { "routeId": null, "startStopId": 51449, "endStopId": 51448, "path": null, "encodedPath": "eioqGrhhxPfAoDbA{CNa@\\wAjAiDd@uAFSnBkGl@d@pCzBbEbD`AGL?T?R@ZBhBTj@FNB|BZhFp@l@F@@T@fAHp@Dz@@J?hA?b@A~@?T?L?D?lA?xB?xB?vBAxCCd@?B?P?pDBzCDjCDfE@X?nHCdBBh@DNBB@tCf@l@Zh@ZHD@?dCdBfBtA~AnAzBjBjBrA~BfBTPRNj@`@PP|@l@~@j@jAj@\\J@@NDt@TnAVdALfAFt@BX@\\?n@?D?dFIt@?B?r@?T@vHChCA~BAtD@j@?vDExGChAA@?hGC|A?tB?pFApIDV?@?zA@bS?@?|J?pE?tA?\\?xA@`FLrB@b@CLCn@?vCD|SZvA@@?B?dB@lS?lB@vBAfHGjBAp@AB?P?dN?nB?~@DV?T?J?vE@tA@fBE`F@jF?bE@tG?zABb@PHBLBN@~ADhMPfDHTGp@?fBBlDBfGHL?b@@F?d@B|AFpABL@zAD^BL@d@?\\AB?DA@?b@GZKDA@ABALGRMNINKNKJKNQX_@JOBG@CVg@Na@JW@E@GPs@F[BU@KBYBq@@]@Y?[A[Ak@Cw@IeBKeDIwDI{C?MAK?GEQ@iBAyAAgIAgB@sBDuDDwDFeELqKFsD?cA?g@CkAIuAUmBQiAYiA[aAM_@a@}@e@}@c@q@yDsF}CmEi@s@g@u@k@{@QYWa@]w@k@yAa@qAOk@Qo@Kc@SgAOaAKo@[{Cc@cEM_AKaAeCgUi@yESoBuAqM[mCMmAIoAG}@GkAGaBEyCEiF?_DBoEDiCDgCHqFDyCB_E?oA?uB?kI?yDAkA?WCgAGiAIkASoBCUI}@k@mGe@gFSwBS_CEg@I}@Cu@CaAA}@?s@AqB?iH?wGEsH?gF?aH?gF?u@Ay@C{@Am@Ca@AWC[IiA[eEKqAIiAG}@Cs@Ck@AkA?kA@gAB}@Bw@Dm@HeAH{@PyAJs@P}@P_AVcAXaA`@gAXw@\\w@^u@Xi@b@w@jAsBtDcHXs@`@{@z@qBt@mB`AkCv@wB~@gCTe@N]LWRYtAyBR]R_@n@gA\\s@V[Vc@v@sA`@q@r@mAd@q@PSXYRQf@]`@Wd@Uh@Sj@Qt@Mj@E~@At@B`@Fv@Pb@Lz@XhBp@jA`@RJfBp@zB~@rAh@b@RLDH?FALAbIfEzBlAn@\\n@^h@Z`Aj@`Ap@bCfBvAfAHP@DBDB@PPh@`@h@d@lAdAf@d@NPRV^h@HJHNFLBFL^L^H`@Jb@Db@Db@Db@?T@P?^?H?`@Ad@Af@Cd@Cb@C^?H?ZQjBS|@CNMh@K`@Md@M^uGdSEZEPGb@eAlDOd@Er@e@lBWr@]r@Sj@Ux@AB" }, { "routeId": null, "startStopId": 51448, "endStopId": 51451, "path": null, "encodedPath": "q}|pGha{wPKZADCFSf@m@pB}AxEKVEL?H@Hd@p@jFlELBNOJKp@qBvAkEVuBE}AYsBQwAMcAQqA[aBE}@?c@Fa@Po@Ti@Xe@d@}AHWvGkSPk@B]?EBGVeA^yAp@oCBMb@_B\\yABMBKBOBO@OBQ@W@U?S@OAUAa@Ci@Ec@CSEQEQEQEQGSQa@IQIQIMMQMOGIGGMKIGMISMu@_@k@Y_Ae@k@YkAm@gAm@{As@ACCCGOeEoB_@OmC{AyBkAoAu@uDuBOYIIOM_D{BgEyC_Ao@o@a@o@_@u@Y_@Kg@KMASCYCe@?O?_ADS@]DUDq@Le@L_@J_@JQJk@TIDw@\\w@d@yA|@k@d@KR[PYRy@t@ORGHSVS\\]j@O\\O\\Qd@MTy@tCCL?@oAxDCNOd@Wr@m@~AGVGb@_BbE_@`A[v@s@dBy@hBIPy@fBCHk@bAi@`AU`@a@p@{@~Au@tAw@xA_@|@ELYn@[~@]pAGPOl@Kd@Qx@Id@Ij@Ip@K~@Iv@Gv@Ch@Cj@Cr@CpA?lA@tAF`BHbBPjBLrBV`DFfA@H@\\Bd@Bp@B~@@j@?r@?H?`N?bFBbFB`X?h@@p@Bz@Bh@Bd@HdADf@LjAJjAJfAJlAJhALjAPjBJlAVpCN`BJhBBv@?f@@hAAtB@~CArM@zB?lDAhDA|CCfCEdCIvEEjDA~@?pA?hA@jA@lBL~B@NBd@Dj@RvB@Nh@zEhBrPXpCl@rFp@dGX`CZtCRlBTvBRhBL`ANfANz@R`AXfAVx@Vz@Tn@Rf@LVXp@\\h@`@n@p@~@pBpC|BdDrBvCj@v@d@p@RZT`@^z@\\|@Nh@Tx@P|@Jj@Fd@Fh@F`ADl@@d@?f@@f@CtBOpKWxQ?PC|A?vF?rF?V?@AzA@dL@jEBlD?h@Cr@ARC^Gb@If@I\\K\\S\\Wf@MROPMLSPOJOJ[JYH[D]Bw@Bw@@aA@gAAm@@M@IBIDKDGBo@Aq@CgPSwIG_L@qNAcQ?}@CuIE{B?G?I?I?eCCyBCwA@mB@uABiB@aB?eBD}A?mAAqB?}EM{UYE?oJAmLHgF?C?yKBcUAA?_R?aC?u@?uDBmm@FiGA_EBkC@qB@wA?wA?U?WAeCBu@?]Co@?q@AiBIwAU_AWOG[Ow@]mBkAuAgAc@]iBuAsGgF_FwDs@i@y@q@AA{@i@y@c@c@QmAc@q@O_AOw@Ia@OA?M?_@AkC?oA?oB?kB@iC@_EBiC?S?S?cCEwDIi@AMCMCICUGMISKSMOOKMKOIMKSO[KWCKAGEKIa@EYCS?AASASAqA?aC?{A?uC?M?_D?iI@iA?aQAmA?iAAyA?a@?gAAcBEoAG_AIs@Ic@G[EWIWQo@Og@KUM[Y_@Yc@[e@a@a@g@g@]Uo@]WIQIkAY[Ig@KmBe@u@Si@OKEYI]OSIe@SSWGAAACAKIOIQMKIcAs@iCuBGEeA{@C?GGCCAAKICACCAAaAw@IGAAkA_A}A{A_@a@k@q@AAAAMOAAEGa@i@qBwCw@oAQWcDgFk@m@mAmAk@g@e@]e@Ya@UmAo@?AA?CCA?AAECA?CAIEYMCAa@QeAc@{@WsD{@ICGCo@KSQIEGC[ICAq@Ou@]s@]OI_Bs@_BaAf@yAd@_BhBsGl@qBbAiDn@{BVy@b@{Ab@yATy@Ty@Ne@Le@V{@BI\\gA\\gAX{@aBoAo@c@UQECA?ACOK" }, { "routeId": null, "startStopId": 51449, "endStopId": 51446, "path": null, "encodedPath": "eioqGrhhxPjCkIl@yBhF_P~D`DbEbD`AGb@?n@DdD`@vKvA|AJlBFxDAbNAtEC`TPnL?rEr@bB|@lFzDzEzDtG|EzDlCjBx@dAZtCd@tDLzGIzZCf`@O|t@DdI?zHNvCA|@CtX`@|A@x]@hMKfTDpG@|DClM@tQBbUApUZdEDvAF~@RzAj@t@d@bA|@fAzAv@`BZ|@h@vB\\bCLnB?rBGjYCjZDvNFjFHrCZlCd@rBj@|A~@fBrA|ApA~@z@d@z@VnAPpADjBAzJU~JSvBHvD`@|Bb@xBn@fKrEhBp@~Bp@nCd@|C^bDLdJ^rNl@tHPjFCtKa@vO}@dH[bHa@bFIbFGtV?vU@xOBz^LxHFtCAjCW~B_@vCy@xB_AhHwDfMaHhOcInFmChBs@bHiBjHeAbH]~I?rdADlTAtDO~Fk@tQyBvGo@|Fm@vMiBdLsAbDSdDEr}@kAfTWna@IrKD|KNvP^nN^zWj@`IHrHYbD]nFcA`GkBxD}Al\\{NrG{CbDmAjGaBzEw@jE[fEK~B@vFT`Kb@rZxAfDB|DOtE]zKcAnOcBb^mDdCI~DF~D^vIlBhT|EfDl@vG`Afa@fEhRpBbHbAvD|@tC~@nDxAdVdLjR|I|FlC`FnBnCx@nDx@tCb@|D\\fJ`@fRj@rb@nAt^jAjGLbGCpQUvd@a@nKDxAF~ET|\\jD`oA~L|ZzCvK`A~JZdJArRYdPKjWe@bBMfC[hVyExFiAxEw@rEa@tFO~DFtEZbD^`Dn@bCp@pExAnIlChDn@lDXzBF|K@dSFdGGjGM~J]bPk@jLGr[PvJV~If@tI^dQLvzAh@ng@`@nCJxEb@~Ch@~[bHdHpAxE\\t]?dCG|DW`Da@jFcAjF}AjEkBtiAkm@fSqK~JgF|Am@tDaA`Em@rES~DDlEb@hDp@xa@tLzEfA~C`@zBN~k@`A~QVvTFdw@TvEJPN|Ed@dAX`D`BjAb@ZDP@^?fCCCiD?AAeAQ{`@I{Q?gR^g\\LoRAeEGeIIqJEoNDiJd@{|@Cqo@Pu\\BuEAyQOiP?mK`@c]PyWJof@HeGR{C`@eD|@aE|@oCdAwBnAsBfBwBhCeC~A{AfQqPxCcDp@}@fA{B~@yCvDqRh@iB~@cC`BmCfBoBvBkBfH_GxBcCjBiDhAoDn@mDVoEFwH@}INcKsBMaA?}CVsA?w@Yc@g@Y_As@iEBG@OASUSK?MHCFu@HkA`@s@l@qAfBw@Zc@Co@[qAeCm@S[GSSw@{AOm@AsBTyA^u@x@I^EPMJYD[JGP[BgA" } ], "minLatitude": 44.45285, "minLongitude": -93.30144, "maxLatitude": 44.98949, "maxLongitude": -93.15547, "routeStops": [ { "objectId": 51443, "name": "Carleton College", "shortName": "Carl", "ownerid": null, "point": { "lat": 44.46099504985745, "lon": -93.15570382209012 }, "originalId": 88000642, "imagePath": null, "imageOffsetX": 0, "imageOffsetY": 0, "infoHtml": null, "scheduleDescriptionHtml": null, "showOnDynamicMap": true, "showOnStaticMap": true, "googleStaticMapImagePath": null, "googleStaticMapImageColor": null, "googleStaticMapImageLabel": null }, { "objectId": 51443, "name": "Carleton College", "shortName": "Carl", "ownerid": null, "point": { "lat": 44.46099504985745, "lon": -93.15570382209012 }, "originalId": 88000642, "imagePath": null, "imageOffsetX": 0, "imageOffsetY": 0, "infoHtml": null, "scheduleDescriptionHtml": null, "showOnDynamicMap": true, "showOnStaticMap": true, "googleStaticMapImagePath": null, "googleStaticMapImageColor": null, "googleStaticMapImageLabel": null }, { "objectId": 51444, "name": "Northfield Downtown", "shortName": "", "ownerid": null, "point": { "lat": 44.45285, "lon": -93.1617359 }, "originalId": 88000643, "imagePath": null, "imageOffsetX": 0, "imageOffsetY": 0, "infoHtml": null, "scheduleDescriptionHtml": null, "showOnDynamicMap": true, "showOnStaticMap": true, "googleStaticMapImagePath": null, "googleStaticMapImageColor": null, "googleStaticMapImageLabel": null }, { "objectId": 51444, "name": "Northfield Downtown", "shortName": "", "ownerid": null, "point": { "lat": 44.45285, "lon": -93.1617359 }, "originalId": 88000643, "imagePath": null, "imageOffsetX": 0, "imageOffsetY": 0, "infoHtml": null, "scheduleDescriptionHtml": null, "showOnDynamicMap": true, "showOnStaticMap": true, "googleStaticMapImagePath": null, "googleStaticMapImageColor": null, "googleStaticMapImageLabel": null }, { "objectId": 51445, "name": "St Olaf and Manitou", "shortName": "", "ownerid": null, "point": { "lat": 44.460596, "lon": -93.172205 }, "originalId": 88000644, "imagePath": null, "imageOffsetX": 0, "imageOffsetY": 0, "infoHtml": null, "scheduleDescriptionHtml": null, "showOnDynamicMap": true, "showOnStaticMap": true, "googleStaticMapImagePath": null, "googleStaticMapImageColor": null, "googleStaticMapImageLabel": null }, { "objectId": 51445, "name": "St Olaf and Manitou", "shortName": "", "ownerid": null, "point": { "lat": 44.460596, "lon": -93.172205 }, "originalId": 88000644, "imagePath": null, "imageOffsetX": 0, "imageOffsetY": 0, "infoHtml": null, "scheduleDescriptionHtml": null, "showOnDynamicMap": true, "showOnStaticMap": true, "googleStaticMapImagePath": null, "googleStaticMapImageColor": null, "googleStaticMapImageLabel": null }, { "objectId": 51446, "name": "St. Olaf Buntrock", "shortName": "", "ownerid": null, "point": { "lat": 44.46219308211548, "lon": -93.18304736997527 }, "originalId": 88000645, "imagePath": null, "imageOffsetX": 0, "imageOffsetY": 0, "infoHtml": null, "scheduleDescriptionHtml": null, "showOnDynamicMap": true, "showOnStaticMap": true, "googleStaticMapImagePath": null, "googleStaticMapImageColor": null, "googleStaticMapImageLabel": null }, { "objectId": 51446, "name": "St. Olaf Buntrock", "shortName": "", "ownerid": null, "point": { "lat": 44.46219308211548, "lon": -93.18304736997527 }, "originalId": 88000645, "imagePath": null, "imageOffsetX": 0, "imageOffsetY": 0, "infoHtml": null, "scheduleDescriptionHtml": null, "showOnDynamicMap": true, "showOnStaticMap": true, "googleStaticMapImagePath": null, "googleStaticMapImageColor": null, "googleStaticMapImageLabel": null }, { "objectId": 51447, "name": "Mall of America", "shortName": "", "ownerid": null, "point": { "lat": 44.8577401921938, "lon": -93.24131814019773 }, "originalId": 88000647, "imagePath": null, "imageOffsetX": 0, "imageOffsetY": 0, "infoHtml": null, "scheduleDescriptionHtml": null, "showOnDynamicMap": true, "showOnStaticMap": true, "googleStaticMapImagePath": null, "googleStaticMapImageColor": null, "googleStaticMapImageLabel": null }, { "objectId": 51447, "name": "Mall of America", "shortName": "", "ownerid": null, "point": { "lat": 44.8577401921938, "lon": -93.24131814019773 }, "originalId": 88000647, "imagePath": null, "imageOffsetX": 0, "imageOffsetY": 0, "infoHtml": null, "scheduleDescriptionHtml": null, "showOnDynamicMap": true, "showOnStaticMap": true, "googleStaticMapImagePath": null, "googleStaticMapImageColor": null, "googleStaticMapImageLabel": null }, { "objectId": 51448, "name": "MSP Int'l Terminal 1", "shortName": "", "ownerid": null, "point": { "lat": 44.88117094871939, "lon": -93.20533291874085 }, "originalId": 88000648, "imagePath": null, "imageOffsetX": 0, "imageOffsetY": 0, "infoHtml": null, "scheduleDescriptionHtml": null, "showOnDynamicMap": true, "showOnStaticMap": true, "googleStaticMapImagePath": null, "googleStaticMapImageColor": null, "googleStaticMapImageLabel": null }, { "objectId": 51448, "name": "MSP Int'l Terminal 1", "shortName": "", "ownerid": null, "point": { "lat": 44.88117094871939, "lon": -93.20533291874085 }, "originalId": 88000648, "imagePath": null, "imageOffsetX": 0, "imageOffsetY": 0, "infoHtml": null, "scheduleDescriptionHtml": null, "showOnDynamicMap": true, "showOnStaticMap": true, "googleStaticMapImagePath": null, "googleStaticMapImageColor": null, "googleStaticMapImageLabel": null }, { "objectId": 51449, "name": "Minneapolis Downtown", "shortName": "", "ownerid": null, "point": { "lat": 44.97569982757174, "lon": -93.27258692142641 }, "originalId": 88000649, "imagePath": null, "imageOffsetX": 0, "imageOffsetY": 0, "infoHtml": null, "scheduleDescriptionHtml": null, "showOnDynamicMap": true, "showOnStaticMap": true, "googleStaticMapImagePath": null, "googleStaticMapImageColor": null, "googleStaticMapImageLabel": null }, { "objectId": 51453, "name": "St. Catherine University", "shortName": "", "ownerid": null, "point": { "lat": 44.92705, "lon": -93.187399 }, "originalId": 88000673, "imagePath": null, "imageOffsetX": 0, "imageOffsetY": 0, "infoHtml": null, "scheduleDescriptionHtml": null, "showOnDynamicMap": true, "showOnStaticMap": true, "googleStaticMapImagePath": null, "googleStaticMapImageColor": null, "googleStaticMapImageLabel": null }, { "objectId": 51450, "name": "Megabus Minneapolis", "shortName": "", "ownerid": null, "point": { "lat": 44.983262559018286, "lon": -93.2742741944428 }, "originalId": 88000650, "imagePath": null, "imageOffsetX": 0, "imageOffsetY": 0, "infoHtml": null, "scheduleDescriptionHtml": null, "showOnDynamicMap": true, "showOnStaticMap": true, "googleStaticMapImagePath": null, "googleStaticMapImageColor": null, "googleStaticMapImageLabel": null }, { "objectId": 51452, "name": "St. Thomas University", "shortName": "", "ownerid": null, "point": { "lat": 44.9416494, "lon": -93.1899417 }, "originalId": 88000672, "imagePath": null, "imageOffsetX": 0, "imageOffsetY": 0, "infoHtml": null, "scheduleDescriptionHtml": null, "showOnDynamicMap": true, "showOnStaticMap": true, "googleStaticMapImagePath": null, "googleStaticMapImageColor": null, "googleStaticMapImageLabel": null }, { "objectId": 51451, "name": "U of M Dinkytown McDonalds", "shortName": "", "ownerid": null, "point": { "lat": 44.979934, "lon": -93.2344102 }, "originalId": 88000651, "imagePath": null, "imageOffsetX": 0, "imageOffsetY": 0, "infoHtml": null, "scheduleDescriptionHtml": null, "showOnDynamicMap": true, "showOnStaticMap": true, "googleStaticMapImagePath": null, "googleStaticMapImageColor": null, "googleStaticMapImageLabel": null }, { "objectId": 51451, "name": "U of M Dinkytown McDonalds", "shortName": "", "ownerid": null, "point": { "lat": 44.979934, "lon": -93.2344102 }, "originalId": 88000651, "imagePath": null, "imageOffsetX": 0, "imageOffsetY": 0, "infoHtml": null, "scheduleDescriptionHtml": null, "showOnDynamicMap": true, "showOnStaticMap": true, "googleStaticMapImagePath": null, "googleStaticMapImageColor": null, "googleStaticMapImageLabel": null }, { "objectId": 51450, "name": "Megabus Minneapolis", "shortName": "", "ownerid": null, "point": { "lat": 44.983262559018286, "lon": -93.2742741944428 }, "originalId": 88000650, "imagePath": null, "imageOffsetX": 0, "imageOffsetY": 0, "infoHtml": null, "scheduleDescriptionHtml": null, "showOnDynamicMap": true, "showOnStaticMap": true, "googleStaticMapImagePath": null, "googleStaticMapImageColor": null, "googleStaticMapImageLabel": null }, { "objectId": 51452, "name": "St. Thomas University", "shortName": "", "ownerid": null, "point": { "lat": 44.9416494, "lon": -93.1899417 }, "originalId": 88000672, "imagePath": null, "imageOffsetX": 0, "imageOffsetY": 0, "infoHtml": null, "scheduleDescriptionHtml": null, "showOnDynamicMap": true, "showOnStaticMap": true, "googleStaticMapImagePath": null, "googleStaticMapImageColor": null, "googleStaticMapImageLabel": null }, { "objectId": 51449, "name": "Minneapolis Downtown", "shortName": "", "ownerid": null, "point": { "lat": 44.97569982757174, "lon": -93.27258692142641 }, "originalId": 88000649, "imagePath": null, "imageOffsetX": 0, "imageOffsetY": 0, "infoHtml": null, "scheduleDescriptionHtml": null, "showOnDynamicMap": true, "showOnStaticMap": true, "googleStaticMapImagePath": null, "googleStaticMapImageColor": null, "googleStaticMapImageLabel": null }, { "objectId": 51453, "name": "St. Catherine University", "shortName": "", "ownerid": null, "point": { "lat": 44.92705, "lon": -93.187399 }, "originalId": 88000673, "imagePath": null, "imageOffsetX": 0, "imageOffsetY": 0, "infoHtml": null, "scheduleDescriptionHtml": null, "showOnDynamicMap": true, "showOnStaticMap": true, "googleStaticMapImagePath": null, "googleStaticMapImageColor": null, "googleStaticMapImageLabel": null }, { "objectId": 51448, "name": "MSP Int'l Terminal 1", "shortName": "", "ownerid": null, "point": { "lat": 44.88117094871939, "lon": -93.20533291874085 }, "originalId": 88000648, "imagePath": null, "imageOffsetX": 0, "imageOffsetY": 0, "infoHtml": null, "scheduleDescriptionHtml": null, "showOnDynamicMap": true, "showOnStaticMap": true, "googleStaticMapImagePath": null, "googleStaticMapImageColor": null, "googleStaticMapImageLabel": null }, { "objectId": 51448, "name": "MSP Int'l Terminal 1", "shortName": "", "ownerid": null, "point": { "lat": 44.88117094871939, "lon": -93.20533291874085 }, "originalId": 88000648, "imagePath": null, "imageOffsetX": 0, "imageOffsetY": 0, "infoHtml": null, "scheduleDescriptionHtml": null, "showOnDynamicMap": true, "showOnStaticMap": true, "googleStaticMapImagePath": null, "googleStaticMapImageColor": null, "googleStaticMapImageLabel": null }, { "objectId": 51447, "name": "Mall of America", "shortName": "", "ownerid": null, "point": { "lat": 44.8577401921938, "lon": -93.24131814019773 }, "originalId": 88000647, "imagePath": null, "imageOffsetX": 0, "imageOffsetY": 0, "infoHtml": null, "scheduleDescriptionHtml": null, "showOnDynamicMap": true, "showOnStaticMap": true, "googleStaticMapImagePath": null, "googleStaticMapImageColor": null, "googleStaticMapImageLabel": null }, { "objectId": 51447, "name": "Mall of America", "shortName": "", "ownerid": null, "point": { "lat": 44.8577401921938, "lon": -93.24131814019773 }, "originalId": 88000647, "imagePath": null, "imageOffsetX": 0, "imageOffsetY": 0, "infoHtml": null, "scheduleDescriptionHtml": null, "showOnDynamicMap": true, "showOnStaticMap": true, "googleStaticMapImagePath": null, "googleStaticMapImageColor": null, "googleStaticMapImageLabel": null }, { "objectId": 51446, "name": "St. Olaf Buntrock", "shortName": "", "ownerid": null, "point": { "lat": 44.46219308211548, "lon": -93.18304736997527 }, "originalId": 88000645, "imagePath": null, "imageOffsetX": 0, "imageOffsetY": 0, "infoHtml": null, "scheduleDescriptionHtml": null, "showOnDynamicMap": true, "showOnStaticMap": true, "googleStaticMapImagePath": null, "googleStaticMapImageColor": null, "googleStaticMapImageLabel": null }, { "objectId": 51446, "name": "St. Olaf Buntrock", "shortName": "", "ownerid": null, "point": { "lat": 44.46219308211548, "lon": -93.18304736997527 }, "originalId": 88000645, "imagePath": null, "imageOffsetX": 0, "imageOffsetY": 0, "infoHtml": null, "scheduleDescriptionHtml": null, "showOnDynamicMap": true, "showOnStaticMap": true, "googleStaticMapImagePath": null, "googleStaticMapImageColor": null, "googleStaticMapImageLabel": null }, { "objectId": 51445, "name": "St Olaf and Manitou", "shortName": "", "ownerid": null, "point": { "lat": 44.460596, "lon": -93.172205 }, "originalId": 88000644, "imagePath": null, "imageOffsetX": 0, "imageOffsetY": 0, "infoHtml": null, "scheduleDescriptionHtml": null, "showOnDynamicMap": true, "showOnStaticMap": true, "googleStaticMapImagePath": null, "googleStaticMapImageColor": null, "googleStaticMapImageLabel": null }, { "objectId": 51445, "name": "St Olaf and Manitou", "shortName": "", "ownerid": null, "point": { "lat": 44.460596, "lon": -93.172205 }, "originalId": 88000644, "imagePath": null, "imageOffsetX": 0, "imageOffsetY": 0, "infoHtml": null, "scheduleDescriptionHtml": null, "showOnDynamicMap": true, "showOnStaticMap": true, "googleStaticMapImagePath": null, "googleStaticMapImageColor": null, "googleStaticMapImageLabel": null }, { "objectId": 51444, "name": "Northfield Downtown", "shortName": "", "ownerid": null, "point": { "lat": 44.45285, "lon": -93.1617359 }, "originalId": 88000643, "imagePath": null, "imageOffsetX": 0, "imageOffsetY": 0, "infoHtml": null, "scheduleDescriptionHtml": null, "showOnDynamicMap": true, "showOnStaticMap": true, "googleStaticMapImagePath": null, "googleStaticMapImageColor": null, "googleStaticMapImageLabel": null }, { "objectId": 51444, "name": "Northfield Downtown", "shortName": "", "ownerid": null, "point": { "lat": 44.45285, "lon": -93.1617359 }, "originalId": 88000643, "imagePath": null, "imageOffsetX": 0, "imageOffsetY": 0, "infoHtml": null, "scheduleDescriptionHtml": null, "showOnDynamicMap": true, "showOnStaticMap": true, "googleStaticMapImagePath": null, "googleStaticMapImageColor": null, "googleStaticMapImageLabel": null }, { "objectId": 51443, "name": "Carleton College", "shortName": "Carl", "ownerid": null, "point": { "lat": 44.46099504985745, "lon": -93.15570382209012 }, "originalId": 88000642, "imagePath": null, "imageOffsetX": 0, "imageOffsetY": 0, "infoHtml": null, "scheduleDescriptionHtml": null, "showOnDynamicMap": true, "showOnStaticMap": true, "googleStaticMapImagePath": null, "googleStaticMapImageColor": null, "googleStaticMapImageLabel": null }, { "objectId": 51443, "name": "Carleton College", "shortName": "Carl", "ownerid": null, "point": { "lat": 44.46099504985745, "lon": -93.15570382209012 }, "originalId": 88000642, "imagePath": null, "imageOffsetX": 0, "imageOffsetY": 0, "infoHtml": null, "scheduleDescriptionHtml": null, "showOnDynamicMap": true, "showOnStaticMap": true, "googleStaticMapImagePath": null, "googleStaticMapImageColor": null, "googleStaticMapImageLabel": null } ], "displayByDefault": false } ], "markers": [], "minLatitude": 44.45285, "minLongitude": -93.30144, "maxLatitude": 44.98949, "maxLongitude": -93.15547, "mapId": 1299, "name": "Northfield Lines", "googleAPIKey": "AIzaSyCWfVFFSf83wvbMKftq4h16dlJpnzBYJOw", "mainURL": null, "asset0ImageURL": null, "asset180ImageURL": null } ```


and

forecastingUpdateRequest.do ```json [ { "routeId": 88002432, "vehiclesOnRoute": [ { "vehicleId": 4631, "routeId": 88002432, "name": "N-90", "displaySignText": null, "routeName": "Northfield Metro EXPRESS", "nextStopName": "Mall of America", "nextStopTime": "16 mins", "status": 0, "lat": 44.7740768, "lon": -93.2234496, "speed": 62.6022758, "course": 50 } ], "stopSchedules": [ { "externalSystemId": 88000643, "routeId": 88002432, "headsign": null, "formattedSchedule": "12:15a", "formattedNextStopTime": "12:15a", "nextStopTime": 1497071700000, "nextStopExternalSystemId": 88000642, "nextStopName": "Carleton College", "nextStopHeadsign": null }, { "externalSystemId": 88000642, "routeId": 88002432, "headsign": "From Carleton", "formattedSchedule": "10:00a, 03:00p", "formattedNextStopTime": "10:00a", "nextStopTime": 1497106800000, "nextStopExternalSystemId": 88000643, "nextStopName": "Northfield Downtown", "nextStopHeadsign": "From Carleton" }, { "externalSystemId": 88000673, "routeId": 88002432, "headsign": "To Carleton", "formattedSchedule": "12:10p, 05:10p", "formattedNextStopTime": "12:10p", "nextStopTime": 1497114600000, "nextStopExternalSystemId": 88000648, "nextStopName": "MSP Int'l Terminal 1", "nextStopHeadsign": "To Carleton" }, { "externalSystemId": 88000642, "routeId": 88002432, "headsign": null, "formattedSchedule": "No service currently dispatched for this stop", "formattedNextStopTime": "", "nextStopTime": null, "nextStopExternalSystemId": null, "nextStopName": null, "nextStopHeadsign": null }, { "externalSystemId": 88000645, "routeId": 88002432, "headsign": "To Carleton", "formattedSchedule": "01:10p", "formattedNextStopTime": "01:10p", "nextStopTime": 1497118200000, "nextStopExternalSystemId": 88000644, "nextStopName": "St Olaf and Manitou", "nextStopHeadsign": "To Carleton" }, { "externalSystemId": 88000672, "routeId": 88002432, "headsign": "From Carleton", "formattedSchedule": "12:05p, 05:05p", "formattedNextStopTime": "12:05p", "nextStopTime": 1497114300000, "nextStopExternalSystemId": 88000673, "nextStopName": "St. Catherine University", "nextStopHeadsign": "To Carleton" }, { "externalSystemId": 88000642, "routeId": 88002432, "headsign": "To Carleton", "formattedSchedule": "No service currently dispatched for this stop", "formattedNextStopTime": "", "nextStopTime": null, "nextStopExternalSystemId": null, "nextStopName": null, "nextStopHeadsign": null }, { "externalSystemId": 88000651, "routeId": 88002432, "headsign": "From Carleton", "formattedSchedule": "11:55a, 04:55p", "formattedNextStopTime": "11:55a", "nextStopTime": 1497113700000, "nextStopExternalSystemId": 88000672, "nextStopName": "St. Thomas University", "nextStopHeadsign": "From Carleton" }, { "externalSystemId": 88000650, "routeId": 88002432, "headsign": "From Carleton", "formattedSchedule": "11:40a, 04:40p", "formattedNextStopTime": "11:40a", "nextStopTime": 1497112800000, "nextStopExternalSystemId": 88000651, "nextStopName": "U of M Dinkytown McDonalds", "nextStopHeadsign": "From Carleton" }, { "externalSystemId": 88000647, "routeId": 88002432, "headsign": "To Carleton", "formattedSchedule": "12:35p", "formattedNextStopTime": "12:35p", "nextStopTime": 1497116100000, "nextStopExternalSystemId": 88000645, "nextStopName": "St. Olaf Buntrock", "nextStopHeadsign": "To Carleton" }, { "externalSystemId": 88000643, "routeId": 88002432, "headsign": "To Carleton", "formattedSchedule": "01:20p", "formattedNextStopTime": "01:20p", "nextStopTime": 1497118800000, "nextStopExternalSystemId": 88000642, "nextStopName": "Carleton College", "nextStopHeadsign": "To Carleton" }, { "externalSystemId": 88000649, "routeId": 88002432, "headsign": "From Carleton", "formattedSchedule": "11:30a, 04:30p", "formattedNextStopTime": "11:30a", "nextStopTime": 1497112200000, "nextStopExternalSystemId": 88000650, "nextStopName": "Megabus Minneapolis", "nextStopHeadsign": "From Carleton" }, { "externalSystemId": 88000648, "routeId": 88002432, "headsign": "From Carleton", "formattedSchedule": "11:07a, 04:07p", "formattedNextStopTime": "11:07a", "nextStopTime": 1497110820000, "nextStopExternalSystemId": 88000649, "nextStopName": "Minneapolis Downtown", "nextStopHeadsign": "From Carleton" }, { "externalSystemId": 88000647, "routeId": 88002432, "headsign": "From Carleton", "formattedSchedule": "10:55a, 03:55p", "formattedNextStopTime": "10:55a", "nextStopTime": 1497110100000, "nextStopExternalSystemId": 88000648, "nextStopName": "MSP Int'l Terminal 1", "nextStopHeadsign": "From Carleton" }, { "externalSystemId": 88000648, "routeId": 88002432, "headsign": "To Carleton", "formattedSchedule": "12:25p", "formattedNextStopTime": "12:25p", "nextStopTime": 1497115500000, "nextStopExternalSystemId": 88000647, "nextStopName": "Mall of America", "nextStopHeadsign": "To Carleton" }, { "externalSystemId": 88000644, "routeId": 88002432, "headsign": "To Carleton", "formattedSchedule": "01:15p", "formattedNextStopTime": "01:15p", "nextStopTime": 1497118500000, "nextStopExternalSystemId": 88000643, "nextStopName": "Northfield Downtown", "nextStopHeadsign": "To Carleton" }, { "externalSystemId": 88000645, "routeId": 88002432, "headsign": "From Carleton", "formattedSchedule": "10:13a, 03:13p", "formattedNextStopTime": "10:13a", "nextStopTime": 1497107580000, "nextStopExternalSystemId": 88000647, "nextStopName": "Mall of America", "nextStopHeadsign": "From Carleton" }, { "externalSystemId": 88000651, "routeId": 88002432, "headsign": null, "formattedSchedule": "47 mins", "formattedNextStopTime": "47 mins", "nextStopTime": 1497067260000, "nextStopExternalSystemId": 88000650, "nextStopName": "Megabus Minneapolis", "nextStopHeadsign": null }, { "externalSystemId": 88000650, "routeId": 88002432, "headsign": null, "formattedSchedule": "11:15p", "formattedNextStopTime": "11:15p", "nextStopTime": 1497068100000, "nextStopExternalSystemId": 88000649, "nextStopName": "Minneapolis Downtown", "nextStopHeadsign": null }, { "externalSystemId": 88000644, "routeId": 88002432, "headsign": "From Carleton", "formattedSchedule": "10:09a, 03:09p", "formattedNextStopTime": "10:09a", "nextStopTime": 1497107340000, "nextStopExternalSystemId": 88000645, "nextStopName": "St. Olaf Buntrock", "nextStopHeadsign": "From Carleton" }, { "externalSystemId": 88000649, "routeId": 88002432, "headsign": null, "formattedSchedule": "11:25p", "formattedNextStopTime": "11:25p", "nextStopTime": 1497068700000, "nextStopExternalSystemId": 88000645, "nextStopName": "St. Olaf Buntrock", "nextStopHeadsign": null }, { "externalSystemId": 88000648, "routeId": 88002432, "headsign": null, "formattedSchedule": "26 mins", "formattedNextStopTime": "26 mins", "nextStopTime": 1497066000000, "nextStopExternalSystemId": 88000651, "nextStopName": "U of M Dinkytown McDonalds", "nextStopHeadsign": null }, { "externalSystemId": 88000647, "routeId": 88002432, "headsign": null, "formattedSchedule": "16 mins", "formattedNextStopTime": "16 mins", "nextStopTime": 1497065400000, "nextStopExternalSystemId": 88000648, "nextStopName": "MSP Int'l Terminal 1", "nextStopHeadsign": null }, { "externalSystemId": 88000643, "routeId": 88002432, "headsign": "From Carleton", "formattedSchedule": "10:04a, 03:04p", "formattedNextStopTime": "10:04a", "nextStopTime": 1497107040000, "nextStopExternalSystemId": 88000644, "nextStopName": "St Olaf and Manitou", "nextStopHeadsign": "From Carleton" }, { "externalSystemId": 88000645, "routeId": 88002432, "headsign": null, "formattedSchedule": "12:05a", "formattedNextStopTime": "12:05a", "nextStopTime": 1497071100000, "nextStopExternalSystemId": 88000644, "nextStopName": "St Olaf and Manitou", "nextStopHeadsign": null }, { "externalSystemId": 88000644, "routeId": 88002432, "headsign": null, "formattedSchedule": "12:10a", "formattedNextStopTime": "12:10a", "nextStopTime": 1497071400000, "nextStopExternalSystemId": 88000643, "nextStopName": "Northfield Downtown", "nextStopHeadsign": null } ] } ] ```


Thoughts?

elijahverdoorn commented 7 years ago

Looks good - I do want to be careful to put a disclaimer on the page that live-updates (and we should probably add one to the existing transportation section) that says something to the effect of "this could be totally wrong". We don't have to show it every time, maybe just on first launch of the view, but I think it would make me feel better.

elijahverdoorn commented 7 years ago

Just looked and they don't seem to have an app that does this yet - that was another concern that came to mind (I don't think it's right for us to compete with them).

drewvolz commented 7 years ago

I don't see that as competing. This would be a free way to expose already-public information listed on their website in a mobile format.

drewvolz commented 7 years ago

Known endpoints from client.js (which the webmap includes)

Of note:

Of lesser note:

hawkrives commented 7 years ago

(and this, boys and girls, is why we have the maxim "never trust the client".)