diff options
Diffstat (limited to 'public')
27 files changed, 994 insertions, 824 deletions
diff --git a/public/static/css/app.css b/public/static/css/app.css deleted file mode 100644 index 41e47b5..0000000 --- a/public/static/css/app.css +++ /dev/null @@ -1,743 +0,0 @@ -body { - margin: 0; -} - -html { - font-family: Sans-Serif; -} - -a { - color: #000099; - text-decoration: none; -} - -p, -div.about, -div.input-field, -div.notes { - max-width: 94%; - margin-left: auto; - margin-right: auto; -} - -p { - text-align: justify; -} - -div.content { - width: 100%; - margin: 0; -} - -div.app { - border-width:1px 2px; - width:100%; - margin-bottom: 5em; -} - -div.app > ul { - position:relative; - width:100%; - - list-style-type:none; - margin:0; - padding:0; -} - -div.app > ul > li { - min-height:7em; - display:block; - width:100%; - position:relative; - cursor: pointer; -} - -div.appdark > ul > li { - border-bottom: 1px solid #999999; - background-color: #000000; -} - -div.applight > ul > li { - border-bottom: 1px solid #999999; - background-color: #ffffff; -} - -div.app li .line { - font-size: 2.7em; - position:absolute; - bottom:5px; - left:2px; - max-width: 6em; - max-height: 3ex; - overflow: hidden; -} - -div.app li .line .trainno { - font-weight: normal; -} - -div.app li .line .trainno_sub { - font-weight: normal; - font-size: 0.6em; - text-align: center; - margin-top: -0.2em; -} - -div.app li .sbahn .trainno_sub { - font-weight: normal; - font-size: 0.5em; - text-align: center; - margin-top: -0.25em; -} - -div.app li .lineinfo { - color:#000000; - font-size: 2em; - position:absolute; - top:0px; - left:2px; -} - -div.app .replacement { - color: #006600; -} - -div.app .replaced { - color: #660000; -} - -div.app .sbahn { - font-weight:bold; - border-radius: 30px; - padding:3px 6px 2px 6px; -} - -div.applight .sbahn { - background-color:#95d79f; -} - -div.appdark .sbahn { - background-color:#115511; -} - -div.app .bahn, -div.app .fern, -div.app .ext { - font-weight:bold; - border-radius: 5px; - padding:3px 5px 2px 5px; -} - -div.applight .bahn { - background-color: #eeeeee; -} - -div.appdark .bahn { - background-color: #333333; -} - -div.applight .fern { - background-color: #ffdddd; -} - -div.appdark .fern { - background-color: #551111; -} - -div.applight .ext { - background-color: #ffdddd; - border: 2px solid #ff6666; -} - -div.appdark .ext { - background-color: #551111; - border: 2px solid #993333; -} - -div.app li .route { - background-color: transparent; - font-size:2.1em; - position:absolute; - top:1px; - left:7.7em; - height: 1.2em; - width: 70%; - overflow: hidden; -} - -div.applight li .route { - color:#444444; -} - -div.appdark li .route { - color:#bbbbbb; -} - -div.app li .info { - color:#ff0000; - background-color: transparent; - font-size:2.1em; - position:absolute; - top:1px; - left:7.7em; - height: 1.2em; - width: 70%; - overflow: hidden; -} - -div.app .moreinfo { - font-size:2.1em; - position:fixed; - left:0; - right:0; - bottom:0em; - z-index: 5; - overflow: auto; - cursor: default; -} - -div.app .moreinfo .mheader, -div.app .moreinfo .mfooter { - max-width: 50em; - margin-left: auto; - margin-right: auto; -} - -div.applight .moreinfo { - background-color: #ffffff; -} - -div.appdark .moreinfo { - background-color: #000000; -} - -div.app .collapsed-moreinfo { - display: none; -} - -div.app .expanded-moreinfo { - display: block; -} - -div.app .moreinfo .mheader { - text-align: center; - font-size: 120%; - padding-top: 0.5em; - padding-bottom: 0.5em; - padding-left: 1em; - padding-right: 1em; - border-bottom: 0.1em dashed #cccccc; -} - -div.app .moreinfo .mfooter { - padding-top: 1em; - padding-left: 1em; - padding-right: 1em; -} - -div.app .moreinfo .reason, -div.app .moreinfo .minfo { - color: #ff0000; -} - -div.app .moreinfo .verbose { - margin-bottom: 0.6em; -} - -div.app .moreinfo .timeinfo { - margin-bottom: 0.6em; -} - -div.applight .moreinfo .mroute .important-stop { - color: #000000; -} - -div.appdark .moreinfo .mroute .important-stop { - color: #ffffff; -} - -div.applight .moreinfo .mroute .generic-stop { - color: #555555; -} - -div.appdark .moreinfo .mroute .generic-stop { - color: #999999; -} - -div.applight .moreinfo .mroute .additional-stop { - color: #009900; -} - -div.appdark .moreinfo .mroute .additional-stop { - color: #009900; -} - -div.applight .moreinfo .mroute .cancelled-stop { - color: #cc0000; -} - -div.appdark .moreinfo .mroute .cancelled-stop { - color: #cc0000; -} - -div.app li .dest { - background-color: transparent; - font-size:4em; - position:absolute; - top:0.62em; - left:4em; - bottom:0px; - width: 70%; - overflow: hidden; -} - -div.applight li .dest { - color:#000000; -} - -div.appdark li .dest { - color:#ffffff; -} - -div.applight li.cancelled { - background-color: #ffe7d0; -} - -div.appdark li.cancelled { - background-color: #512f00; -} - -div.app li .countdown { - background-color: transparent; - font-size: 3em; - position: absolute; - right: 5px; - bottom: 2px; - padding-left: 0.2em; -} - -div.applight li .countdown { - color: #000000; -} - -div.appdark li .countdown { - color: #ffffff; -} - -div.app li .header { - color:#000000; - font-size:2em; - font-weight:bold; - padding-top:8px; - border-width-top:0; - display:block; - text-align:center; -} - -div.app li .head { - border-bottom-width:0; -} - -div.app li .countdown .delay { - font-size:1em; - color:#FF0000; - background-color: transparent; - padding-right:7px; -} - -div.app li .countdown .undelay { - font-size:1em; - color:#006600; - padding-right:7px; -} - -div.app li .countdown .delaynorm { - font-size:0.9em; - color:#BB3333; - padding-right:7px; -} - -div.app li .countdown .undelaynorm { - font-size:0.9em; - color:#338833; - padding-right:7px; -} - -div.app li .countdown .platform { - font-weight: bold; -} - -div.app li .countdown .changed-platform { - color:#ff0000; -} - -div.app li .time { - background-color: transparent; - font-size:2.3em; - position:absolute; - right:5px; - top:4px; - padding-left: 0.2em; -} - -div.applight li .time { - color:#000000; -} - -div.appdark li .time { - color:#ffffff; -} - -div.app span.delayed { - color: #ff0000; - background-color: transparent; -} - -ul.ui-autocomplete { - max-height: 20em; - overflow-x: hidden; - overflow-y: auto; -} - -div.geolocation { - text-align: center; -} - -div.candidatestatus { - text-align: center; - color: #999999; -} - -div.candidatelist a { - display: block; - text-decoration: none; - font-size: 1.4em; - padding-top: 0.3em; - text-align: center; - border-bottom: 1px solid #999999; -} - -div.candidatelist a .distance:after { - content: " km"; -} - -div.candidatelist a .distance { - font-size: 0.6em; - color: #999999; - padding-top: 0.2em; - padding-bottom: 0.3em; -} - -div.about { - margin-top: 2em; - font-family: Sans-Serif; - color: #666666; -} - -div.about a { - color: #000066; - text-decoration: none; -} - -.notice { - padding: 15px; - margin-bottom: 20px; - border: 1px solid #bce8f1; - border-radius: 4px; - color: #31708f; - background-color: #d9edf7; - margin-left: auto; - margin-right: auto; -} - -.warning { - padding: 15px; - margin-bottom: 20px; - border: 1px solid #faebcc; - border-radius: 4px; - color: #8a6d3b; - background-color: #fcf8e3; - margin-left: auto; - margin-right: auto; -} - -.error { - padding: 15px; - margin-bottom: 20px; - border: 1px solid #ebccd1; - border-radius: 4px; - color: #a94442; - background-color: #f2dede; - margin-left: auto; - margin-right: auto; -} - -.error .errcode { - font-family: Monospace; - margin-top: 2em; - font-size: 100%; - color: #aaaaaa; -} - -.container { - max-width: 60em; - margin-left: auto; - margin-right: auto; -} - -pre { - margin-bottom: 2em; -} - -span.optional, -span.notes { - color: #666666; -} - -.moresettings-header { - cursor: pointer; -} - -.moresettings-header-collapsed:before { - content: "▹ " -} - -.moresettings-header-expanded:before { - content: "▿ " -} - -.moresettings-collapsed { - display: none; -} - -.moresettings-expanded { - display: block; -} - -.developers-header { - cursor: pointer; -} - -.developers-header-collapsed:before { - content: "▹ " -} - -.developers-header-expanded:before { - content: "▿ " -} - -.developers-collapsed { - display: none; -} - -.developers-expanded { - display: block; -} - -div.break { - height: 1em; -} - -div.field { - margin-top: 0.3em; - margin-bottom: 0.6em; -} - -input, select, .button { - display: inline-block; - width: 60em; - max-width: 100%; - min-height: 1.8em; - border-radius: 4px; - color: #000; - background-color: #fff; - border: 1px solid #ccc; - box-shadow: inset 0 1px 1px rgba(0,0,0,.075); - font-size: 90%; - text-align: center; - vertical-align: middle; -} - -input[type="text"] { - width: 59em; - padding-left: 0.5em; - padding-right: 0.5em; - text-align: left; - box-sizing: border-box; -} - -select { - min-height: 2em; -} - -input[type="checkbox"] { - width: 1.5em; - box-shadow: none; -} - -input[type="submit"], .button { - color: #fff; - background-color: #337ab7; - border-color: #2e6da4; - cursor: pointer; - box-shadow: none; - padding-top: 0.9ex; - padding-bottom: 0.9ex; -} - -.button { - padding-top: 1.1ex; - padding-bottom: 0; -} - -input[type="submit"]:active, -input[type="submit"]:focus, -input[type="submit"]:hover, -.button:active, -.button:focus, -.button:hover { - color: #fff; - background-color: #286090; - border-color: #204d74; -} - -input[type="submit"]:active, -.button.active { - box-shadow: inset 0 3px 5px rgba(0,0,0,.125); -} - -.button-light { - color: #333; - background-color: #fff; - border-color: #ccc; -} - -.button-light:active, -.button-light:focus, -.button-light:hover -{ - color: #333; - background-color: #e6e6e6; - border-color: #adadad; -} - -div.notes { - margin-top: 2em; -} - -div.notes ul { - margin-top: 1em; -} -div.app { - max-width: 60em; - margin-left: auto; - margin-right: auto; -} - -.navbar-fixed { - position: relative; - z-index: 997; -} - -.navbar-fixed nav { - position: fixed; -} - -nav { - box-shadow: 0 2px 2px 0 rgba(0,0,0,.14), 0 3px 1px -2px rgba(0,0,0,.12), 0 1px 5px 0 rgba(0,0,0,.2); -} - -nav { - width: 100%; -} - -nav .nav-wrapper { - position: relative; - height: 100%; -} - -nav i, nav i.material-icons { - display: block; - font-size: 24px; -} - -nav .brand-logo { - position: absolute; - display: inline-block; - padding-left: 0.5rem; -} - -nav ul { - margin: 0; - padding-left: 0; - list-style-type: none; -} - -nav ul li { - transition: background-color .3s; - float: left; - padding: 0; - list-style-type: none; -} - -nav ul a { - transition: background-color .3s; - font-size: 1rem; - color: #fff; - display: block; - padding: 0 15px; - cursor: pointer; -} - -@media only screen and (max-width: 600px) { - div.app > ul > li { - font-size: 35%; - } - div.navbar-fixed { - height: 56px; - } - .moreinfo { - top: 56px; - } - nav { - height: 56px; - line-height: 56px; - } - nav .brand-logo { - font-size: 1.5rem; - } - nav .nav-wrapper i { - height: 56px; - line-height: 56px; - } -} - -@media only screen and (min-width: 600px) { - div.app > ul > li { - font-size: 40%; - } - div.navbar-fixed { - height: 64px; - } - .moreinfo { - top: 64px; - } - nav { - height: 64px; - line-height: 64px; - } - nav .brand-logo { - font-size: 2.1rem; - } - nav .nav-wrapper i { - height: 64px; - line-height: 64px; - } -} - -div.app .moreinfo { - font-size: 100%; -} - -.content { -} diff --git a/public/static/css/dark.min.css b/public/static/css/dark.min.css new file mode 100644 index 0000000..3809a85 --- /dev/null +++ b/public/static/css/dark.min.css @@ -0,0 +1 @@ +body{margin:0;color:#fff;background-color:#101010}html{font-family:"Arimo", "Arial", Sans-Serif}a{color:#99f;text-decoration:none}.visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}p,div.about,div.config,div.input-field,div.notes{max-width:94%;margin-left:auto;margin-right:auto}div.journey,div.nextstop{max-width:98%;margin-left:auto;margin-right:auto}p{text-align:justify}div.content{width:100%;margin:0}.copyright{margin-top:1em;color:#999;clear:both}.wagonorder{position:relative;width:100%;height:100ex}.wagonorder.exit-unknown .section{left:1em;width:2em}.wagonorder.exit-unknown .wagon{left:3em;min-width:6em}.wagonorder.exit-unknown .details{left:10em;right:0em}.wagonorder.exit-left .section{left:1em;width:2em;background-color:#222}.wagonorder.exit-left .wagon{left:3em;min-width:6em}.wagonorder.exit-left .details{left:10em;right:0em}.wagonorder.exit-right .section{right:1em;width:2em;background-color:#222}.wagonorder.exit-right .wagon{right:3em;min-width:6em}.wagonorder.exit-right .details{right:10em;left:0em;text-align:right}.wagonorder .section{position:absolute;text-align:center}.wagonorder .wagon{position:absolute;border:1px solid #999;padding-left:0.2em;padding-right:0.2em}.wagonorder .wagon .material-icons{color:#bbb}.wagonorder .wagon .direction{position:absolute;left:0.2em;bottom:0;right:0;text-align:center;color:#bbb}.wagonorder .wagon~.wagon{border-top:none}.wagonorder .firstclass{background-color:#330}.wagonorder .powercar{background-color:#222}.wagonorder .closed{background-color:#222}.wagonorder .nondestwagon{border-style:dashed}.wagonorder .details{position:absolute;padding-top:0.5ex}.wagonorder .details .type{display:inline-block;width:5em;color:#fff}.wagonorder .details a.type{color:#99f}.wagonorder .details .groupno{color:#fff}.wagonorder .details .grouptype{color:#bbb}.wagonorder .details .grouptype:before{content:"("}.wagonorder .details .grouptype:after{content:")"}.wagonorder .details .uicunknown{color:#999}.wagonorder .details .uicexchange{margin-right:0.2em;color:#999}.wagonorder .details .uiccountry{margin-right:0.2em;color:#999}.wagonorder .details .uic5{margin-right:0.2em;color:#999}.wagonorder .details .uic56{color:#bbb;font-weight:bold}.wagonorder .details .uic78{margin-right:0.2em;color:#bbb;font-weight:bold}.wagonorder .details .uic78:before{content:"-"}.wagonorder .details .uictype{margin-right:0.2em;color:#bbb;font-weight:bold}.wagonorder .details .uicno{color:#bbb}.wagonorder .details .uiccheck{color:#999}.wagonorder .details .uiccheck:before{content:"-"}.singlewagon .sign-left{float:left;padding-left:5%}.singlewagon .sign-right{float:right;padding-right:5%}.singlewagon .sign-center{text-align:center}.singlewagon .platform{text-align:center;background-color:#444;font-weight:bold;padding-top:0.5em;padding-bottom:0.5em}.singlewagon img.wagonfile{width:100%;margin-top:0.2em;margin-bottom:0.2em}div.app{border-width:1px 2px;width:100%;margin-bottom:5em}div.app>ul{position:relative;width:100%;list-style-type:none;margin:0;padding:0}div.app>ul>li{min-height:7em;display:block;width:100%;position:relative;border-bottom:1px solid #999;background-color:#101010}div.app>ul>li.cancelled{background-color:#512f00}div.app>ul>li.cancelled .time{color:#fff !important}div.app>ul>li.past{opacity:0.8;background-color:#222}div.app>ul>li>a{color:#fff}div.app>ul>li .anchor{position:relative;top:-12em}div.app>ul>li .line{font-size:2.7em;position:absolute;bottom:5px;left:2px;max-width:6em;max-height:3ex;overflow:hidden}div.app>ul>li .line .trainno{font-weight:normal}div.app>ul>li .line .trainno_sub{font-weight:normal;font-size:0.6em;text-align:center;margin-top:-0.2em}div.app>ul>li .sbahn .trainno_sub{font-weight:normal;font-size:0.5em;text-align:center;margin-top:-0.25em}div.app>ul>li .lineinfo{color:#fff;font-size:2em;position:absolute;top:0px;left:2px}div.app>ul>li .route,div.app>ul>li .info{background-color:transparent;font-size:2.1em;position:absolute;top:0;left:7.7em;right:7em;height:1.5em;overflow:hidden;white-space:nowrap}div.app>ul>li .route{color:#ddd}div.app>ul>li .info{color:#f77}div.app>ul>li .dest,div.app>ul>li .origin{background-color:transparent;font-size:4em;position:absolute;bottom:0;left:4em;width:70%;white-space:nowrap;overflow:hidden;color:#fff}div.app>ul>li .dest{background-color:transparent;color:#fff}div.app>ul>li .origin{background-color:transparent;color:#bbb}div.app>ul>li .origin:before{content:"von "}div.app>ul>li .load{color:#fff;font-weight:normal;margin-right:0.5em}div.app>ul>li .platform{background-color:transparent;font-size:3em;font-weight:bold;position:absolute;right:5px;bottom:0;padding-left:0.2em;color:#fff}div.app>ul>li .changed-platform{color:#f77}div.app>ul>li .time{background-color:transparent;font-size:2.3em;position:absolute;right:5px;top:1px;padding-left:0.2em;color:#fff}div.app>ul>li .time.delayed{color:#f77;background-color:transparent}div.app>ul>li .time.a-bit-delayed{color:#d99;background-color:transparent}div.app>ul>li .time.on-time{color:#aea;background-color:transparent}div.app>ul>li .time .no-realtime{background-color:transparent;padding-right:1ex}div.app>ul>li .time .no-realtime i.material-icons{font-size:12px}div.app>ul>li .time .delay{font-size:1em;color:#f77;background-color:transparent;padding-right:1ex}div.app>ul>li .time .undelay{font-size:1em;color:#7f7;padding-right:1ex}div.app>ul>li .time .delaynorm{font-size:0.9em;color:#d99}div.app>ul>li .time .undelaynorm{font-size:0.9em;color:#9d9}div.app .trainsubtype{font-weight:normal;font-size:70%;position:relative;vertical-align:baseline;top:-0.6ex;left:-0.5ex}div.app .replacement{color:#afa}div.app .replaced{color:#faa}div.app .sbahn{font-weight:bold;border-radius:30px;padding:3px 6px 2px 6px;background-color:#151}div.app .bahn,div.app .fern,div.app .ext{font-weight:bold;border-radius:5px;padding:3px 5px 2px 5px}div.app .bahn{background-color:#333}div.app .fern{background-color:#511}div.app .ext{border:2px solid #333}div.app .tram,div.app .bus,div.app .ubahn{padding:3px 5px 2px 5px}div.app .tram{background-color:#411}div.app .bus{background-color:#515}div.app .ubahn{background-color:#071e62}div.app .moreinfo{font-size:2.1em;position:fixed;left:0;right:0;bottom:0em;z-index:5;overflow:auto;cursor:default;background-color:#101010}div.app .moreinfo .mheader,div.app .moreinfo .mfooter{max-width:50em;margin-left:auto;margin-right:auto}div.app .moreinfo .mheader{text-align:center;font-size:120%;padding-top:0.5em;padding-bottom:0.5em;padding-left:1em;padding-right:1em;border-bottom:0.1em dashed #cccccc}div.app .moreinfo .mfooter{padding-top:0.5em;padding-left:1em;padding-right:1em}div.app .moreinfo .dataline{font-size:120%;width:100%;display:flex;justify-content:space-between;margin-bottom:0.5em}div.app .moreinfo .dataline>div{width:33%}div.app .moreinfo .wagonorder-preview{font-size:110%;width:100%;text-align:center;margin-bottom:1em}div.app .moreinfo .wagonorder-preview a{color:#fff}div.app .moreinfo .wagonorder-preview .otherno{color:#bbb}div.app .moreinfo .wagonorder-preview .meta{color:#ddd}div.app .moreinfo .departure{text-align:right}div.app .moreinfo .platform{text-align:center}div.app .moreinfo .arrival{display:inline-block;text-align:right}div.app .moreinfo .loading{text-align:center;width:100%;color:#888888}div.app .moreinfo .minfo{color:#f77}div.app .moreinfo .timehidden{color:#bbb}div.app .moreinfo .undelay{color:#7f7}div.app .moreinfo .verbose{margin-bottom:1em}div.app .moreinfo .verbose .no-realtime{color:#f77}div.app .moreinfo .messages i.material-icons{font-size:14px}div.app .moreinfo .details{margin-top:1em}div.app .moreinfo .mroute .important-stop{color:#fff}div.app .moreinfo .mroute .generic-stop{color:#bbb}div.app .moreinfo .mroute .additional-stop{color:#7f7}div.app .moreinfo .mroute .cancelled-stop{color:#f77}div.app .moreinfo .mroute .past-stop{list-style-type:disc}div.app .moreinfo .mroute .future-stop{list-style-type:circle}div.app .moreinfo .mroute .time-early{color:#cfc}div.app .moreinfo .mroute .time-delayed{color:#f99}div.app .moreinfo .mroute .time-sched-only{color:#f99}div.app .moreinfo .mroute .time-sched-ontime{color:#cfc}div.app .moreinfo .mroute .annotation{color:#bbb;list-style-type:none;padding-left:3em}div.app .moreinfo .mroute .-sched:before{content:" "}div.app .moreinfo .mroute .time-sched:after{content:" "}div.app .moreinfo .mroute .time-sched-only:before{content:"("}div.app .moreinfo .mroute .time-sched-only:after{content:")"}div.app .moreinfo .mroute i.material-icons{font-size:14px}div.app .moreinfo .db-attr{margin-bottom:1em}div.app .moreinfo .db-attr span{margin-right:0.5em}div.app .collapsed-moreinfo{display:none}div.app .expanded-moreinfo{display:block}ul.ui-autocomplete{max-height:20em;overflow-x:hidden;overflow-y:auto}div.geolocation{text-align:center}div.candidatestatus{text-align:center;color:#999999}div.candidatelist a{display:block;text-decoration:none;font-size:1.4em;padding-top:0.3em;text-align:center;border-bottom:1px solid #999999}div.candidatelist a .distance:after{content:" km"}div.candidatelist a .distance{font-size:0.6em;color:#999999;padding-top:0.2em;padding-bottom:0.3em}div.candidatelist a .traininfo{font-size:0.7em;color:#999999;padding-top:0.2em;padding-bottom:0.3em}div.config{margin-top:2em;font-family:Sans-Serif;color:#bbb}div.config a{color:#99f;cursor:pointer;text-decoration:none}div.about{margin-top:1em;font-family:Sans-Serif;color:#bbb}div.about a{color:#99f;text-decoration:none}.notice{padding:15px;margin-bottom:20px;border:1px solid #bce8f1;border-radius:4px;color:#31708f;background-color:#d9edf7;margin-left:auto;margin-right:auto}.warning{padding:15px;margin-bottom:20px;border:1px solid #faebcc;border-radius:4px;color:#8a6d3b;background-color:#fcf8e3;margin-left:auto;margin-right:auto}.error{padding:15px;margin-bottom:20px;border:1px solid #ebccd1;border-radius:4px;color:#a94442;background-color:#f2dede;margin-left:auto;margin-right:auto}.error .errcode{font-family:Monospace;margin-top:2em;font-size:100%;color:#aaaaaa}.container{max-width:60em;margin-left:auto;margin-right:auto}pre{margin-bottom:2em}span.optional,span.notes{color:#bbb}.moresettings-header{cursor:pointer}.moresettings-header-collapsed:before{content:"▹ "}.moresettings-header-expanded:before{content:"▿ "}.moresettings-collapsed{display:none}.moresettings-expanded{display:block}.developers-header{cursor:pointer}.developers-header-collapsed:before{content:"▹ "}.developers-header-expanded:before{content:"▿ "}.developers-collapsed{display:none}.developers-expanded{display:block}div.break{height:1em}div.field{margin-top:0.3em;margin-bottom:0.6em}.disabledbutton{display:inline-block;vertical-align:baseline;border-radius:4px;border:1px solid #cccccc;box-shadow:none;padding:0.9ex;margin-right:1em}.smallbutton{display:inline-block;vertical-align:baseline;border-radius:4px;border:1px solid #2e6da4;transition:background-color .3s;color:#fff;background-color:#337ab7;cursor:pointer;box-shadow:none;padding:0.9ex;margin-right:1em}.smallbutton .material-icons,.disabledbutton .material-icons{display:block;float:left;margin-right:0.5ex}.smallbutton img{display:block;float:left;margin-right:0.7ex;height:1.2em}input,select,.button{display:inline-block;width:60em;max-width:100%;min-height:1.8em;border-radius:4px;color:#fff;background-color:#101010;border:1px solid #444;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);font-size:90%;text-align:center;vertical-align:middle}input[type="text"]{width:59em;padding-left:0.5em;padding-right:0.5em;text-align:left;box-sizing:border-box}select{min-height:2em}input[type="checkbox"]{width:1.5em;box-shadow:none}input[type="submit"],.button{transition:background-color .3s;color:#fff;background-color:#337ab7;border-color:#2e6da4;cursor:pointer;box-shadow:none;padding-top:0.9ex;padding-bottom:0.9ex}.button{padding-top:1.1ex;padding-bottom:0}input[type="submit"]:active,input[type="submit"]:focus,input[type="submit"]:hover,.button:active,.button:focus,.button:hover,.smallbutton:active,.smallbutton:focus,.smallbutton:hover{color:#fff;background-color:#286090;border-color:#204d74}input[type="submit"]:active,.button:active{box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.button-active{font-weight:bold}.button-light{color:#ddd;background-color:#101010;border-color:#444}.button-light:active,.button-light:focus,.button-light:hover{color:#ddd;background-color:#111;border-color:#333}div.backendlink{margin-top:1ex}div.notes{margin-top:2em}div.notes ul{margin-top:1em}div.app{max-width:60em;margin-left:auto;margin-right:auto}.navbar-fixed{position:relative;z-index:997}.navbar-fixed nav{position:fixed}nav{box-shadow:0 2px 2px 0 rgba(0,0,0,0.14),0 3px 1px -2px rgba(0,0,0,0.12),0 1px 5px 0 rgba(0,0,0,0.2)}nav{width:100%;overflow:hidden}nav a{color:#fff}nav .nav-wrapper{position:relative;height:100%}nav i,nav i.material-icons{display:block;font-size:24px}nav .brand-logo{position:absolute;display:inline-block;padding-left:0.5rem}nav ul{margin:0;padding-left:0;list-style-type:none}nav ul li{transition:background-color .3s;float:left;padding:0;list-style-type:none;background-color:#00838f}nav ul a{transition:background-color .3s;font-size:1rem;color:#fff;display:block;padding:0 15px;cursor:pointer}@media only screen and (max-width: 600px){div.app>ul>li{font-size:35%}div.navbar-fixed{height:56px}.moreinfo{top:56px}nav{height:56px;line-height:56px}nav .brand-logo{font-size:1.5rem}nav .nav-wrapper i{height:56px;line-height:56px}}@media only screen and (min-width: 600px){div.app>ul>li{font-size:40%}div.navbar-fixed{height:64px}.moreinfo{top:64px}nav{height:64px;line-height:64px}nav .brand-logo{font-size:2.1rem}nav .nav-wrapper i{height:64px;line-height:64px}}div.app .moreinfo{font-size:100%} diff --git a/public/static/css/mobile.css b/public/static/css/legacy-mobile.css index a0fe99e..0bf84d4 100644 --- a/public/static/css/mobile.css +++ b/public/static/css/legacy-mobile.css @@ -1,3 +1,9 @@ +/* + * Copyright (C) 2020 Birte Kristina Friesel + * + * SPDX-License-Identifier: BSD-2-Clause + */ + div.app { max-width: 60em; margin-left: auto; diff --git a/public/static/css/default.css b/public/static/css/legacy.css index f5cb255..ac2eb79 100644 --- a/public/static/css/default.css +++ b/public/static/css/legacy.css @@ -1,3 +1,9 @@ +/* + * Copyright (C) 2020 Birte Kristina Friesel + * + * SPDX-License-Identifier: BSD-2-Clause + */ + body { margin: 0; } @@ -227,6 +233,11 @@ div.infoscreen li .moreinfo .mfooter { padding-right: 1em; } +div.infoscreen li .moreinfo .platfominfo { + text-align: center; + padding-top: 1em; +} + div.infoscreen li .moreinfo .reason, div.infoscreen li .moreinfo .minfo { color: #ff0000; diff --git a/public/static/css/light.min.css b/public/static/css/light.min.css new file mode 100644 index 0000000..3128641 --- /dev/null +++ b/public/static/css/light.min.css @@ -0,0 +1 @@ +body{margin:0;color:#000;background-color:#fff}html{font-family:"Arimo", "Arial", Sans-Serif}a{color:#009;text-decoration:none}.visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}p,div.about,div.config,div.input-field,div.notes{max-width:94%;margin-left:auto;margin-right:auto}div.journey,div.nextstop{max-width:98%;margin-left:auto;margin-right:auto}p{text-align:justify}div.content{width:100%;margin:0}.copyright{margin-top:1em;color:#999;clear:both}.wagonorder{position:relative;width:100%;height:100ex}.wagonorder.exit-unknown .section{left:1em;width:2em}.wagonorder.exit-unknown .wagon{left:3em;min-width:6em}.wagonorder.exit-unknown .details{left:10em;right:0em}.wagonorder.exit-left .section{left:1em;width:2em;background-color:#ddd}.wagonorder.exit-left .wagon{left:3em;min-width:6em}.wagonorder.exit-left .details{left:10em;right:0em}.wagonorder.exit-right .section{right:1em;width:2em;background-color:#ddd}.wagonorder.exit-right .wagon{right:3em;min-width:6em}.wagonorder.exit-right .details{right:10em;left:0em;text-align:right}.wagonorder .section{position:absolute;text-align:center}.wagonorder .wagon{position:absolute;border:1px solid #999;padding-left:0.2em;padding-right:0.2em}.wagonorder .wagon .material-icons{color:#666}.wagonorder .wagon .direction{position:absolute;left:0.2em;bottom:0;right:0;text-align:center;color:#666}.wagonorder .wagon~.wagon{border-top:none}.wagonorder .firstclass{background-color:#ff9}.wagonorder .powercar{background-color:#ccc}.wagonorder .closed{background-color:#ddd}.wagonorder .nondestwagon{border-style:dashed}.wagonorder .details{position:absolute;padding-top:0.5ex}.wagonorder .details .type{display:inline-block;width:5em;color:#000}.wagonorder .details a.type{color:#009}.wagonorder .details .groupno{color:#000}.wagonorder .details .grouptype{color:#666}.wagonorder .details .grouptype:before{content:"("}.wagonorder .details .grouptype:after{content:")"}.wagonorder .details .uicunknown{color:#999}.wagonorder .details .uicexchange{margin-right:0.2em;color:#999}.wagonorder .details .uiccountry{margin-right:0.2em;color:#999}.wagonorder .details .uic5{margin-right:0.2em;color:#999}.wagonorder .details .uic56{color:#666;font-weight:bold}.wagonorder .details .uic78{margin-right:0.2em;color:#666;font-weight:bold}.wagonorder .details .uic78:before{content:"-"}.wagonorder .details .uictype{margin-right:0.2em;color:#666;font-weight:bold}.wagonorder .details .uicno{color:#666}.wagonorder .details .uiccheck{color:#999}.wagonorder .details .uiccheck:before{content:"-"}.singlewagon .sign-left{float:left;padding-left:5%}.singlewagon .sign-right{float:right;padding-right:5%}.singlewagon .sign-center{text-align:center}.singlewagon .platform{text-align:center;background-color:#ccc;font-weight:bold;padding-top:0.5em;padding-bottom:0.5em}.singlewagon img.wagonfile{width:100%;margin-top:0.2em;margin-bottom:0.2em}div.app{border-width:1px 2px;width:100%;margin-bottom:5em}div.app>ul{position:relative;width:100%;list-style-type:none;margin:0;padding:0}div.app>ul>li{min-height:7em;display:block;width:100%;position:relative;border-bottom:1px solid #999;background-color:#fff}div.app>ul>li.cancelled{background-color:#ffe7d0}div.app>ul>li.cancelled .time{color:#000 !important}div.app>ul>li.past{opacity:0.8;background-color:#ddd}div.app>ul>li>a{color:#000}div.app>ul>li .anchor{position:relative;top:-12em}div.app>ul>li .line{font-size:2.7em;position:absolute;bottom:5px;left:2px;max-width:6em;max-height:3ex;overflow:hidden}div.app>ul>li .line .trainno{font-weight:normal}div.app>ul>li .line .trainno_sub{font-weight:normal;font-size:0.6em;text-align:center;margin-top:-0.2em}div.app>ul>li .sbahn .trainno_sub{font-weight:normal;font-size:0.5em;text-align:center;margin-top:-0.25em}div.app>ul>li .lineinfo{color:#000;font-size:2em;position:absolute;top:0px;left:2px}div.app>ul>li .route,div.app>ul>li .info{background-color:transparent;font-size:2.1em;position:absolute;top:0;left:7.7em;right:7em;height:1.5em;overflow:hidden;white-space:nowrap}div.app>ul>li .route{color:#444}div.app>ul>li .info{color:red}div.app>ul>li .dest,div.app>ul>li .origin{background-color:transparent;font-size:4em;position:absolute;bottom:0;left:4em;width:70%;white-space:nowrap;overflow:hidden;color:#000}div.app>ul>li .dest{background-color:transparent;color:#000}div.app>ul>li .origin{background-color:transparent;color:#666}div.app>ul>li .origin:before{content:"von "}div.app>ul>li .load{color:#000;font-weight:normal;margin-right:0.5em}div.app>ul>li .platform{background-color:transparent;font-size:3em;font-weight:bold;position:absolute;right:5px;bottom:0;padding-left:0.2em;color:#000}div.app>ul>li .changed-platform{color:red}div.app>ul>li .time{background-color:transparent;font-size:2.3em;position:absolute;right:5px;top:1px;padding-left:0.2em;color:#000}div.app>ul>li .time.delayed{color:red;background-color:transparent}div.app>ul>li .time.a-bit-delayed{color:#b33;background-color:transparent}div.app>ul>li .time.on-time{color:#272;background-color:transparent}div.app>ul>li .time .no-realtime{background-color:transparent;padding-right:1ex}div.app>ul>li .time .no-realtime i.material-icons{font-size:12px}div.app>ul>li .time .delay{font-size:1em;color:red;background-color:transparent;padding-right:1ex}div.app>ul>li .time .undelay{font-size:1em;color:#060;padding-right:1ex}div.app>ul>li .time .delaynorm{font-size:0.9em;color:#b33}div.app>ul>li .time .undelaynorm{font-size:0.9em;color:#383}div.app .trainsubtype{font-weight:normal;font-size:70%;position:relative;vertical-align:baseline;top:-0.6ex;left:-0.5ex}div.app .replacement{color:#060}div.app .replaced{color:#600}div.app .sbahn{font-weight:bold;border-radius:30px;padding:3px 6px 2px 6px;background-color:#95d79f}div.app .bahn,div.app .fern,div.app .ext{font-weight:bold;border-radius:5px;padding:3px 5px 2px 5px}div.app .bahn{background-color:#eee}div.app .fern{background-color:#fdd}div.app .ext{border:2px solid #eee}div.app .tram,div.app .bus,div.app .ubahn{padding:3px 5px 2px 5px}div.app .tram{background-color:#fcc}div.app .bus{background-color:#eae}div.app .ubahn{background-color:#aac0ff}div.app .moreinfo{font-size:2.1em;position:fixed;left:0;right:0;bottom:0em;z-index:5;overflow:auto;cursor:default;background-color:#fff}div.app .moreinfo .mheader,div.app .moreinfo .mfooter{max-width:50em;margin-left:auto;margin-right:auto}div.app .moreinfo .mheader{text-align:center;font-size:120%;padding-top:0.5em;padding-bottom:0.5em;padding-left:1em;padding-right:1em;border-bottom:0.1em dashed #cccccc}div.app .moreinfo .mfooter{padding-top:0.5em;padding-left:1em;padding-right:1em}div.app .moreinfo .dataline{font-size:120%;width:100%;display:flex;justify-content:space-between;margin-bottom:0.5em}div.app .moreinfo .dataline>div{width:33%}div.app .moreinfo .wagonorder-preview{font-size:110%;width:100%;text-align:center;margin-bottom:1em}div.app .moreinfo .wagonorder-preview a{color:#000}div.app .moreinfo .wagonorder-preview .otherno{color:#666}div.app .moreinfo .wagonorder-preview .meta{color:#333}div.app .moreinfo .departure{text-align:right}div.app .moreinfo .platform{text-align:center}div.app .moreinfo .arrival{display:inline-block;text-align:right}div.app .moreinfo .loading{text-align:center;width:100%;color:#888888}div.app .moreinfo .minfo{color:red}div.app .moreinfo .timehidden{color:#666}div.app .moreinfo .undelay{color:#060}div.app .moreinfo .verbose{margin-bottom:1em}div.app .moreinfo .verbose .no-realtime{color:#c00}div.app .moreinfo .messages i.material-icons{font-size:14px}div.app .moreinfo .details{margin-top:1em}div.app .moreinfo .mroute .important-stop{color:#000}div.app .moreinfo .mroute .generic-stop{color:#666}div.app .moreinfo .mroute .additional-stop{color:#090}div.app .moreinfo .mroute .cancelled-stop{color:#c00}div.app .moreinfo .mroute .past-stop{list-style-type:disc}div.app .moreinfo .mroute .future-stop{list-style-type:circle}div.app .moreinfo .mroute .time-early{color:#070}div.app .moreinfo .mroute .time-delayed{color:#900}div.app .moreinfo .mroute .time-sched-only{color:#900}div.app .moreinfo .mroute .time-sched-ontime{color:#070}div.app .moreinfo .mroute .annotation{color:#666;list-style-type:none;padding-left:3em}div.app .moreinfo .mroute .-sched:before{content:" "}div.app .moreinfo .mroute .time-sched:after{content:" "}div.app .moreinfo .mroute .time-sched-only:before{content:"("}div.app .moreinfo .mroute .time-sched-only:after{content:")"}div.app .moreinfo .mroute i.material-icons{font-size:14px}div.app .moreinfo .db-attr{margin-bottom:1em}div.app .moreinfo .db-attr span{margin-right:0.5em}div.app .collapsed-moreinfo{display:none}div.app .expanded-moreinfo{display:block}ul.ui-autocomplete{max-height:20em;overflow-x:hidden;overflow-y:auto}div.geolocation{text-align:center}div.candidatestatus{text-align:center;color:#999999}div.candidatelist a{display:block;text-decoration:none;font-size:1.4em;padding-top:0.3em;text-align:center;border-bottom:1px solid #999999}div.candidatelist a .distance:after{content:" km"}div.candidatelist a .distance{font-size:0.6em;color:#999999;padding-top:0.2em;padding-bottom:0.3em}div.candidatelist a .traininfo{font-size:0.7em;color:#999999;padding-top:0.2em;padding-bottom:0.3em}div.config{margin-top:2em;font-family:Sans-Serif;color:#666}div.config a{color:#009;cursor:pointer;text-decoration:none}div.about{margin-top:1em;font-family:Sans-Serif;color:#666}div.about a{color:#009;text-decoration:none}.notice{padding:15px;margin-bottom:20px;border:1px solid #bce8f1;border-radius:4px;color:#31708f;background-color:#d9edf7;margin-left:auto;margin-right:auto}.warning{padding:15px;margin-bottom:20px;border:1px solid #faebcc;border-radius:4px;color:#8a6d3b;background-color:#fcf8e3;margin-left:auto;margin-right:auto}.error{padding:15px;margin-bottom:20px;border:1px solid #ebccd1;border-radius:4px;color:#a94442;background-color:#f2dede;margin-left:auto;margin-right:auto}.error .errcode{font-family:Monospace;margin-top:2em;font-size:100%;color:#aaaaaa}.container{max-width:60em;margin-left:auto;margin-right:auto}pre{margin-bottom:2em}span.optional,span.notes{color:#666}.moresettings-header{cursor:pointer}.moresettings-header-collapsed:before{content:"▹ "}.moresettings-header-expanded:before{content:"▿ "}.moresettings-collapsed{display:none}.moresettings-expanded{display:block}.developers-header{cursor:pointer}.developers-header-collapsed:before{content:"▹ "}.developers-header-expanded:before{content:"▿ "}.developers-collapsed{display:none}.developers-expanded{display:block}div.break{height:1em}div.field{margin-top:0.3em;margin-bottom:0.6em}.disabledbutton{display:inline-block;vertical-align:baseline;border-radius:4px;border:1px solid #cccccc;box-shadow:none;padding:0.9ex;margin-right:1em}.smallbutton{display:inline-block;vertical-align:baseline;border-radius:4px;border:1px solid #2e6da4;transition:background-color .3s;color:#fff;background-color:#337ab7;cursor:pointer;box-shadow:none;padding:0.9ex;margin-right:1em}.smallbutton .material-icons,.disabledbutton .material-icons{display:block;float:left;margin-right:0.5ex}.smallbutton img{display:block;float:left;margin-right:0.7ex;height:1.2em}input,select,.button{display:inline-block;width:60em;max-width:100%;min-height:1.8em;border-radius:4px;color:#000;background-color:#fff;border:1px solid #ccc;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);font-size:90%;text-align:center;vertical-align:middle}input[type="text"]{width:59em;padding-left:0.5em;padding-right:0.5em;text-align:left;box-sizing:border-box}select{min-height:2em}input[type="checkbox"]{width:1.5em;box-shadow:none}input[type="submit"],.button{transition:background-color .3s;color:#fff;background-color:#337ab7;border-color:#2e6da4;cursor:pointer;box-shadow:none;padding-top:0.9ex;padding-bottom:0.9ex}.button{padding-top:1.1ex;padding-bottom:0}input[type="submit"]:active,input[type="submit"]:focus,input[type="submit"]:hover,.button:active,.button:focus,.button:hover,.smallbutton:active,.smallbutton:focus,.smallbutton:hover{color:#fff;background-color:#286090;border-color:#204d74}input[type="submit"]:active,.button:active{box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.button-active{font-weight:bold}.button-light{color:#333;background-color:#fff;border-color:#ccc}.button-light:active,.button-light:focus,.button-light:hover{color:#333;background-color:#e6e6e6;border-color:#adadad}div.backendlink{margin-top:1ex}div.notes{margin-top:2em}div.notes ul{margin-top:1em}div.app{max-width:60em;margin-left:auto;margin-right:auto}.navbar-fixed{position:relative;z-index:997}.navbar-fixed nav{position:fixed}nav{box-shadow:0 2px 2px 0 rgba(0,0,0,0.14),0 3px 1px -2px rgba(0,0,0,0.12),0 1px 5px 0 rgba(0,0,0,0.2)}nav{width:100%;overflow:hidden}nav a{color:#fff}nav .nav-wrapper{position:relative;height:100%}nav i,nav i.material-icons{display:block;font-size:24px}nav .brand-logo{position:absolute;display:inline-block;padding-left:0.5rem}nav ul{margin:0;padding-left:0;list-style-type:none}nav ul li{transition:background-color .3s;float:left;padding:0;list-style-type:none;background-color:#00838f}nav ul a{transition:background-color .3s;font-size:1rem;color:#fff;display:block;padding:0 15px;cursor:pointer}@media only screen and (max-width: 600px){div.app>ul>li{font-size:35%}div.navbar-fixed{height:56px}.moreinfo{top:56px}nav{height:56px;line-height:56px}nav .brand-logo{font-size:1.5rem}nav .nav-wrapper i{height:56px;line-height:56px}}@media only screen and (min-width: 600px){div.app>ul>li{font-size:40%}div.navbar-fixed{height:64px}.moreinfo{top:64px}nav{height:64px;line-height:64px}nav .brand-logo{font-size:2.1rem}nav .nav-wrapper i{height:64px;line-height:64px}}div.app .moreinfo{font-size:100%} diff --git a/public/static/css/material-icons.css b/public/static/css/material-icons.css index 888355c..662e6b7 100644 --- a/public/static/css/material-icons.css +++ b/public/static/css/material-icons.css @@ -2,12 +2,12 @@ font-family: 'Material Icons'; font-style: normal; font-weight: 400; - src: url(/static/v16/fonts/MaterialIcons-Regular.eot); /* For IE6-8 */ + src: url(/static/v110/fonts/MaterialIcons-Regular.eot); /* For IE6-8 */ src: local('Material Icons'), local('MaterialIcons-Regular'), - url(/static/v16/fonts/MaterialIcons-Regular.woff2) format('woff2'), - url(/static/v16/fonts/MaterialIcons-Regular.woff) format('woff'), - url(/static/v16/fonts/MaterialIcons-Regular.ttf) format('truetype'); + url(/static/v110/fonts/MaterialIcons-Regular.woff2) format('woff2'), + url(/static/v110/fonts/MaterialIcons-Regular.woff) format('woff'), + url(/static/v110/fonts/MaterialIcons-Regular.ttf) format('truetype'); } .material-icons { diff --git a/public/static/icons/bahn-expert.svg b/public/static/icons/bahn-expert.svg new file mode 100644 index 0000000..4cee072 --- /dev/null +++ b/public/static/icons/bahn-expert.svg @@ -0,0 +1,5 @@ +<svg xmlns="http://www.w3.org/2000/svg" width="910.683" height="911.613" viewBox="0 0 240.952 241.198"> + <path + d="M156.283 14.31l-76.155.03a6.102 6.102 0 0 0-.247 12.197c7.448.304 14.872 2.649 21.144 6.675 3.91 2.511 7.182 5.608 9.07 9.101.5.927.916 1.91 1.243 2.925-8.798.583-18.387 1.932-27.009 3.806-5.011 1.088-10.013 2.373-14.69 4.477-4.679 2.103-9.011 5.062-12.391 8.92-3.38 3.858-5.735 8.575-6.962 13.555-1.228 4.98-1.322 10.16-1.322 15.29v72.291c0 4.87.066 9.793 1.25 14.517 1.183 4.724 3.513 9.198 6.957 12.642 3.444 3.444 7.918 5.774 12.642 6.957 3.2.802 6.492 1.086 9.797 1.19l-21.18 31.596h16.19l8.39-12.515 75.786.067 8.284 12.355h16.189l-21.134-31.528c3.038-.124 6.059-.427 9.003-1.164 4.724-1.184 9.199-3.514 12.642-6.957 3.444-3.444 5.774-7.918 6.958-12.642 1.183-4.724 1.25-9.647 1.25-14.517V91.286c0-5.117-.096-10.285-1.328-15.25-1.232-4.967-3.594-9.668-6.98-13.504-3.385-3.837-7.72-6.77-12.393-8.853-4.674-2.083-9.666-3.351-14.665-4.44-9.599-2.092-18.512-3.595-28.316-4.119a20.03 20.03 0 0 1 1.782-3.754c1.785-2.919 4.444-5.549 7.575-7.78a39.466 39.466 0 0 1 19.172-7.098 6.102 6.102 0 0 0 5.522-6.351c-.148-3.25-2.82-5.797-6.074-5.826zm-29.096 12.215c-2.77 2.395-5.38 5.062-7.415 8.356-2.037-3.255-4.554-6.019-7.34-8.35zm-20.641 47.72c8.312 0 14.465 1.246 18.458 3.74 7.254-2.494 13.895-3.74 19.926-3.74 8.639 0 15.118 1.473 19.437 4.42 4.32 2.946 6.479 8.197 6.479 15.751v39.324h-22.249V99.403c0-2.947-.855-5.062-2.567-6.346-1.71-1.36-4.237-2.04-7.579-2.04-1.467 0-2.77.188-3.912.566-1.14.378-1.833.794-2.078 1.247v40.91h-22.248V99.403c0-2.947-.856-5.062-2.567-6.346-1.712-1.36-4.238-2.04-7.58-2.04-1.466 0-2.77.188-3.911.566-1.141.378-1.834.794-2.078 1.247v40.91H71.829V81.044c2.852-1.435 8.027-2.908 15.524-4.42 7.498-1.586 13.896-2.379 19.193-2.379zM83.483 152.82c7.27 0 13.165 5.895 13.165 13.166 0 7.27-5.894 13.165-13.165 13.165-7.271 0-13.166-5.894-13.166-13.165 0-7.271 5.895-13.166 13.166-13.166zm74.655 0c7.272 0 13.166 5.895 13.166 13.166 0 7.27-5.895 13.165-13.166 13.165-7.27 0-13.165-5.894-13.165-13.165 0-7.271 5.894-13.166 13.165-13.166zm-62.375 46.122H146l5.975 8.913-62.15-.054z" + fill="#FFF" /> +</svg> diff --git a/public/static/js/autocomplete.js b/public/static/js/autocomplete.js deleted file mode 100644 index 527d7ea..0000000 --- a/public/static/js/autocomplete.js +++ /dev/null @@ -1,8 +0,0 @@ -$(function() { - var stations = ["Aachen Hbf","Aachen Schanz","Aachen West","Aachen West","Aachen-Rothe Erde","Aachen-Rothe Erde","Aalen Hbf","Abenden","Abensberg","Achern","Achern Stadt","Achim","Achkarren","Achmer","Achterwehr","Adelebsen","Adelschlag","Adelsdorf(Mittelfr)","Adelsheim Nord","Adelsheim Ost","Adorf(Erzgeb)","Adorf(Vogtl)","Affaltrach","Agatharied","Agathenburg","Aglasterhausen","Aha","Ahaus","Ahlbeck Grenze","Ahlbeck Ostseetherme","Ahlen(Westf)","Ahlhorn","Ahlten","Ahnatal Casselbreite","Ahnatal-Heckershausen","Ahnatal-Weimar","Ahrbrück","Ahrensburg","Ahrensburg-Gartenholz","Ahrensfelde","Ahrensfelde Friedhof","Ahrensfelde Nord","Ahrweiler","Ahrweiler Markt","Aich(Niederbay)","Aichach","Aichstetten","Aindorf","Ainring","Albbruck","Albersdorf","Albersweiler(Pfalz)","Albig","Albig","Albisheim(Pfrimm)","Albrechtshaus","Albrechtshof","Albshausen","Albsheim(Eis)","Albstadt-Ebingen","Albstadt-Ebingen West","Albstadt-Laufen Ort","Albstadt-Lautlingen","Aldekerk","Aldingen(b Spaichingen)","Aletshausen","Alexisbad","Alfeld(Leine)","Alfter-Impekoven","Alfter-Witterschlick","Algermissen","Aligse","Allendorf(Dillkr)","Allensbach","Allersberg(Rothsee)","Allmendingen","Alpen","Alpirsbach","Alsdorf Poststraße","Alsdorf(Westerw)","Alsdorf-Annapark","Alsdorf-Busch","Alsdorf-Kellersberg","Alsdorf-Mariadorf","Alsenz","Alsfeld(Oberhess)","Alsheim","Alt Hüttendorf","Alt Rosenthal","Altbach","Altdorf West","Altdorf(Niederbay)","Altdorf(b Nürnberg)","Altdöbern","Alte Veste","Altefähr","Altena(Westf)","Altenahr","Altenau(Bay)","Altenbach","Altenbamberg","Altenbeken","Altenberge","Altenburg","Altenerding","Altenfeld(Rhön)","Altenglan","Altengörs","Altenhasungen","Altenkirchen(Westerwald)","Altenmarkt(Alz)","Altenseelbach","Altenstadt(Hess)","Altenstadt(Iller)","Altenstadt(Waldnaab)","Altenstadt-Höchst","Altenstadt-Lindheim","Altentreptow","Altenwillershagen","Altersbach","Altes Lager","Altglashütten-Falkau","Althegnenberg","Altheim(Hess)","Althof","Altingen(Württ)","Altmittweida","Altmorschen","Altmügeln","Altomünster","Altoschatz-Rosenthal","Altranft","Altshausen","Altstädten(Allgäu)","Alttann","Altötting","Alveslohe","Alzenau Burg","Alzenau Nord","Alzenau(Unterfr)","Alzey","Alzey Süd","Alzey West","Amberg","Amerang","Ammern","Amorbach","Ampfing","Amsdorf","Amstetten(W) Lokalbahn","Amstetten(Württ)","Amtshainersdorf","Andernach","Angermund","Angermünde","Angern-Rogätz","Angersbach","Angersdorf","Anklam","Annaberg-Buchholz Mitte","Annaberg-Buchholz Süd","Annaberg-Buchholz unterer Bf","Annaburg","Annweiler am Trifels","Annweiler-Sarnstall","Anrath","Ansbach","Antonsthal","Anwanden","Anzefahr","Anzenkirchen","Apensen","Apolda","Appenweier","Appenweier","Ardey","Arensdorf(Köthen)","Arenshausen","Arfurt(Lahn)","Armsheim","Arnbach","Arnsberg(Westf)","Arnschwang","Arnsdorf(Dresden)","Arnstadt Hbf","Arnstadt Süd","Arrach","Arsbeck","Artern","Arzberg(Oberfr)","Aschaffenburg Hbf","Aschaffenburg Hochschule","Aschaffenburg Süd","Aschau(Chiemgau)","Ascheberg(Holst)","Ascheberg(Westf)","Aschendorf","Aschersleben","Ashausen","Asperg","Asselheim","Assenheim(Oberhess)","Assmannshausen","Attendorn","Attendorn-Hohen Hagen","Au im Murgtal","Au(Sieg)","Aue(Sachs)","Aue(Sachs) Erzgebirgsstadion","Aue-Wingeshausen","Auehütte","Auerbach(V) ob Bf","Auerbach(V) unt Bf","Auerbach(Vogtl) Hp","Auerbach(b Mosbach, Baden)","Auerstedt","Aufhausen(Württ)","Aufhausen(b Erding)","Auggen","Augsburg Haunstetterstraße","Augsburg Hbf","Augsburg Messe","Augsburg Morellstr.","Augsburg-Hochzoll","Augsburg-Hochzoll","Augsburg-Oberhausen","Augustfehn","Aukrug","Aulendorf","Aumenau","Aumühle","Aumühle","Auringen-Medenbach","Auw an der Kyll","Außenried","Aying","Aßlar","Aßling(Oberbay)","Baabe","Baalberge","Baar-Ebenhausen","Babenhausen Langstadt","Babenhausen(Hess)","Babstadt","Bacharach","Bachern","Bachfeld","Bachheim","Backnang","Bad Abbach","Bad Aibling","Bad Aibling Kurpark","Bad Arolsen","Bad Bellingen","Bad Belzig","Bad Bentheim","Bad Bergzabern","Bad Berka","Bad Berka Zeughausplatz","Bad Berleburg","Bad Bevensen","Bad Birnbach","Bad Blankenburg(Thüringerw)","Bad Bodendorf","Bad Bodenteich","Bad Brambach","Bad Bramstedt","Bad Bramstedt Kurhaus","Bad Breisig","Bad Camberg","Bad Doberan","Bad Doberan Goethestraße","Bad Doberan Stadtmitte","Bad Driburg(Westf)","Bad Düben(Mulde)","Bad Dürkheim","Bad Dürkheim-Trift","Bad Dürrenberg","Bad Elster","Bad Empfing","Bad Ems","Bad Ems West","Bad Endorf","Bad Fallingbostel","Bad Freienwalde","Bad Friedrichshall Hbf","Bad Friedrichshall-Kochendorf","Bad Gandersheim","Bad Griesbach(Schwarzwald)","Bad Grönenbach","Bad Harzburg","Bad Herrenalb","Bad Hersfeld","Bad Homburg","Bad Honnef Stadtbahn","Bad Honnef(Rhein)","Bad Höhenstadt","Bad Hönningen","Bad Imnau","Bad Karlshafen","Bad Kissingen","Bad Kleinen","Bad Kohlgrub","Bad Kohlgrub Kurhaus","Bad Kreuznach","Bad Krozingen","Bad Krozingen Ost","Bad König","Bad König Zell","Bad Kösen","Bad Köstritz","Bad Kötzting","Bad Laasphe","Bad Laasphe-Niederlaasphe","Bad Langensalza","Bad Lausick","Bad Lauterberg im Harz Barbis","Bad Liebenwerda","Bad Liebenzell","Bad Lobenstein","Bad Malente-Gremsmühlen","Bad Mergentheim","Bad Münder(Deister)","Bad Münster a Stein","Bad Münstereifel","Bad Münstereifel-Arloff","Bad Münstereifel-Iversheim","Bad Nauheim","Bad Nenndorf","Bad Neuenahr","Bad Neustadt(Saale)","Bad Niedernau","Bad Oeynhausen","Bad Oeynhausen Süd","Bad Oldesloe","Bad Peterstal","Bad Pyrmont","Bad Rappenau","Bad Rappenau Kurpark","Bad Reichenhall","Bad Reichenhall-Kirchberg","Bad Rodach","Bad Rotenfels Bf","Bad Rotenfels Schloss","Bad Rotenfels Weinbrennerstraße","Bad Saarow","Bad Saarow Klinikum","Bad Sachsa","Bad Salzdetfurth","Bad Salzdetfurth Solebad","Bad Salzhausen","Bad Salzschlirf","Bad Salzuflen","Bad Salzungen","Bad Sassendorf","Bad Saulgau","Bad Schandau","Bad Schlema","Bad Schmiedeberg","Bad Schmiedeberg Kurzentrum","Bad Schmiedeberg Süd","Bad Schussenried","Bad Schwartau","Bad Schönborn Süd","Bad Schönborn-Kronau","Bad Sebastiansweiler-Belsen","Bad Segeberg","Bad Sobernheim","Bad Soden(Taunus)","Bad Soden-Salmünster","Bad Sooden-Allendorf","Bad St Peter Süd","Bad St Peter-Ording","Bad Staffelstein","Bad Steben","Bad Suderode","Bad Sulza","Bad Sulza Nord","Bad Säckingen","Bad Teinach-Neubulach","Bad Tölz","Bad Tönisstein","Bad Urach","Bad Urach Ermstalklinik","Bad Urach Wasserfall","Bad Vilbel","Bad Vilbel Süd","Bad Vilbel-Gronau","Bad Waldsee","Bad Wildbad Bf","Bad Wildbad Kurpark","Bad Wildbad Nord","Bad Wildbad Uhlandplatz","Bad Wildungen","Bad Wilsnack","Bad Wimpfen","Bad Wimpfen Im Tal","Bad Wimpfen-Hohenstadt","Bad Windsheim","Bad Wurzach","Bad Wörishofen","Bad Zwischenahn","Baddeckenstedt","Baden(Verden)","Baden-Baden","Baden-Baden Haueneberstein","Baden-Baden Rebland","Bagenz","Bahlingen Riedlen","Bahlingen am Kaiserstuhl","Bahnbrücken","Bahnsdorf","Baierbrunn","Baiersbronn Bf","Baiersbronn Schule","Baiersdorf","Baitz","Balbersdorf","Baldham","Balduinstein","Balgheim","Balgstädt","Balingen Süd","Balingen(Württ)","Ballstädt(Gotha)","Baltersweiler","Balve","Bamberg","Bammental","Bannemin-Mölschow","Bansin Seebad","Banteln","Bantorf","Barabein","Barbelroth","Bardowick","Bardowick","Bargstedt","Bargteheide","Barleben","Barleber See","Barmstedt","Barmstedt Brunnenstr","Barnstorf(Han)","Barnten","Barrien","Barsinghausen","Barth","Barthmühle","Baruth(Mark)","Basdahl Kluste","Basdahl Kluste","Basdorf","Basel Bad Bf","Bassum","Batzenhäusle","Batzhausen","Bauerbach","Baumholder","Baunach","Baunatal-Guntershausen","Baunatal-Rengershausen","Bautzen","Bavendorf","Bayerbach","Bayerisch Eisenstein","Bayerisch Gmain","Bayreuth Hbf","Bayreuth-St Georgen","Bayrischzell","Bebitz","Bebra","Bechstedt-Trippstein","Beckingen(Saar)","Bedburg(Erft)","Bedburg-Hau","Beelen","Beelitz Stadt","Beelitz-Heilstätten","Beerfelden Hetzbach","Beeskow","Beetz-Sommerfeld","Behringersdorf","Beienheim","Beilrode","Beimerstetten","Beldorf","Belgershain","Belleben","Bellenberg","Bellheim Am Mühlbuckel","Bellheim Bf","Bempflingen","Benediktbeuern","Bengel","Benneckenstein","Bennemühlen","Bennewitz","Bennigsen","Benningen(Neckar)","Bennungen","Benshausen","Bensheim","Bensheim-Auerbach","Bentwisch","Beratzhausen","Berbisdorf","Berbisdorf Anbau","Berchtesgaden Hbf","Berg(Pfalz)","Berga(Elster)","Berga-Kelbra","Bergen auf Rügen","Bergen(Oberbay)","Bergenweiler","Bergfelde(b Berlin)","Berghausen Am Stadion","Berghausen Pfinzbrücke","Berghausen(Baden)","Berghausen(Pfalz)","Berghausen(b Wittgenstein)","Bergheim(Erft)","Bergisch Gladbach","Bergsdorf","Bergtheim","Bergwitz","Beringen Bad Bf","Beringerfeld","Beringhausen","Beringstedt","Berkenbrück","Berlin Alexanderplatz","Berlin Alexanderplatz (S)","Berlin Alt-Reinickendorf","Berlin Anhalter Bf","Berlin Attilastr.","Berlin Baumschulenweg","Berlin Bellevue","Berlin Betriebsbf Rummelsburg","Berlin Betriebsbf Schöneweide","Berlin Beusselstraße","Berlin Bornholmer Str.","Berlin Botanischer Garten","Berlin Brandenburger Tor","Berlin Buckower Chaussee","Berlin Bundesplatz","Berlin Eichborndamm","Berlin Feuerbachstr.","Berlin Frankfurter Allee","Berlin Friedrichstraße","Berlin Gehrenseestr.","Berlin Gesundbrunnen","Berlin Gesundbrunnen(S)","Berlin Greifswalder Str","Berlin Grünbergallee","Berlin Hackescher Markt","Berlin Hbf","Berlin Hbf (S-Bahn)","Berlin Hbf (tief)","Berlin Heerstraße","Berlin Heidelberger Platz","Berlin Hermannstraße","Berlin Hohenzollerndamm","Berlin Humboldthain","Berlin Innsbrucker Platz","Berlin Jannowitzbrücke","Berlin Julius-Leber-Brücke","Berlin Jungfernheide","Berlin Jungfernheide (S)","Berlin Karl-Bonhoeffer-Nervenklinik","Berlin Köllnische Heide","Berlin Landsberger Allee","Berlin Mehrower Allee","Berlin Messe Nord/ICC (Witzleben)","Berlin Messe Süd (Eichkamp)","Berlin Mexikoplatz","Berlin Nordbahnhof","Berlin Nöldnerplatz","Berlin Olympiastadion","Berlin Oranienburger Straße","Berlin Osdorfer Straße","Berlin Ostbahnhof","Berlin Ostkreuz","Berlin Ostkreuz","Berlin Ostkreuz (S)","Berlin Ostkreuz (S)","Berlin Ostkreuz (S)","Berlin Plänterwald","Berlin Poelchaustr.","Berlin Potsdamer Platz","Berlin Potsdamer Platz (S)","Berlin Prenzlauer Allee","Berlin Priesterweg","Berlin Raoul-Wallenberg-Str.","Berlin Rathaus Steglitz","Berlin Savignyplatz","Berlin Schichauweg","Berlin Schönhauser Allee","Berlin Sonnenallee","Berlin Springpfuhl","Berlin Storkower Str","Berlin Sundgauer Str","Berlin Südende","Berlin Südkreuz","Berlin Südkreuz (S)","Berlin Südkreuz (S)","Berlin Treptower Park","Berlin Wannsee","Berlin Wannsee","Berlin Warschauer Straße","Berlin Westend","Berlin Westhafen","Berlin Westkreuz","Berlin Wollankstraße","Berlin Wuhletal","Berlin Yorckstr.(S1)","Berlin Yorckstr.(S2)","Berlin Zoologischer Garten","Berlin Zoologischer Garten (S)","Berlin-Adlershof","Berlin-Altglienicke","Berlin-Biesdorf","Berlin-Blankenburg","Berlin-Buch","Berlin-Charlottenburg","Berlin-Friedenau","Berlin-Friedrichsfelde Ost","Berlin-Friedrichshagen","Berlin-Frohnau","Berlin-Grunewald","Berlin-Grünau","Berlin-Halensee","Berlin-Heiligensee","Berlin-Hermsdorf","Berlin-Hirschgarten","Berlin-Hohenschönhausen","Berlin-Karlshorst","Berlin-Karow","Berlin-Karow","Berlin-Kaulsdorf","Berlin-Köpenick","Berlin-Lankwitz","Berlin-Lichtenberg","Berlin-Lichtenrade","Berlin-Lichterfelde Ost","Berlin-Lichterfelde Ost (S)","Berlin-Lichterfelde Süd","Berlin-Lichterfelde West","Berlin-Mahlsdorf","Berlin-Marienfelde","Berlin-Marzahn","Berlin-Neukölln","Berlin-Neukölln","Berlin-Nikolassee","Berlin-Nikolassee","Berlin-Oberspree","Berlin-Pankow","Berlin-Pankow-Heinersdorf","Berlin-Pichelsberg","Berlin-Rahnsdorf","Berlin-Rummelsburg","Berlin-Rummelsburg","Berlin-Schlachtensee","Berlin-Schulzendorf","Berlin-Schöneberg","Berlin-Schönefeld Flughafen","Berlin-Schönefeld Flughafen","Berlin-Schöneweide","Berlin-Schöneweide (S)","Berlin-Schönholz","Berlin-Schönholz","Berlin-Spandau","Berlin-Spindlersfeld","Berlin-Staaken","Berlin-Stresow","Berlin-Tegel (S)","Berlin-Tempelhof","Berlin-Tiergarten","Berlin-Waidmannslust","Berlin-Wartenberg","Berlin-Wedding","Berlin-Wilhelmshagen","Berlin-Wilhelmsruh","Berlin-Wittenau (Wilhelmsruher Damm)","Berlin-Wuhlheide","Berlin-Zehlendorf","Bermatingen-Ahausen","Bernau a Chiemsee","Bernau(b Berlin)","Bernau-Friedenstal","Bernburg","Bernburg-Friedenshall","Bernburg-Strenzfeld","Bernburg-Waldau","Bernburg-Waldau","Berne","Bernried","Bernterode","Bersenbrück","Berthelsdorf(Erzgeb)","Berthelsdorf(Erzgebirge) Ort","Bertsdorf","Berzhahn","Besch","Besigheim","Besseringen","Bestensee","Bestwig","Bettmannsäge","Betzdorf(Sieg)","Beucha","Beuchow","Beuggen","Beuna(Geiseltal)","Beuren","Beuron","Beutelsbach","Beutersitz","Bexbach","Beyendorf","Bibelöd","Biberach(Baden)","Biberach(Riß)","Biberach(Riß) Süd","Biblis","Bibra","Bichl","Bickenbach(Bergstr)","Biebesheim","Biedenkopf","Biedenkopf-Schulzentrum","Biederitz","Bielefeld Hbf","Bielefeld Ost","Bielefeld-Senne","Biendorf","Bienenbüttel","Bienenmühle","Bierbach","Bieren-Rödinghausen","Bieringen","Biersdorf(Westerw)","Biersdorf-Ort(Ww)","Biesenthal","Biessenhofen","Biessenhofen","Bietigheim(Baden)","Bietigheim-Bissingen","Bietingen","Bigge","Bildstock","Bilfingen","Billenhausen","Billerbeck","Binau","Bindfelde","Bindlach","Bingen(Rhein) Hbf","Bingen(Rhein) Stadt","Bingen-Gaulsheim","Binolen","Binsfeld","Binz LB","Binzen","Birach","Birkelbach","Birkenau","Birkenbringhausen","Birkenfeld(Enz)","Birkengrund","Birkenmoor","Birkenstein","Birkenwerder(b Berlin)","Birkungen","Birresborn","Bischheim-Gersdorf","Bischofswerda","Bischofswiesen","Bischweier","Bisingen","Bissendorf","Bitburg-Erdorf","Bittelbronn","Bitterfeld","Bitzfeld","Blaibach(Oberpf)","Blaichach(Allgäu)","Blankenbach","Blankenberg(Meckl)","Blankenberg(Sieg)","Blankenburg(Harz)","Blankenfelde(Teltow-Fläming)","Blankenheim(Sangerhausen)","Blankenheim(Wald)","Blankenloch","Blankensee(Meckl)","Blankenstein(Saale)","Blaubeuren","Blaufelden","Blaustein","Blechhammer(Thür)","Bleibach","Bleichenbach(Oberh)","Bleicherode Ost","Blens","Blieskastel-Lautzkirchen","Blindheim","Blumberg(b Berlin)","Blumberg-Rehhahn","Blumberg-Riedöschingen","Blumberg-Zollhaus","Blumenau","Blumenberg","Blumenhagen","Blumenkamp","Blumenthal(Mark)","Blönsdorf","Bobenheim","Bobingen","Bobitz","Bobstadt","Bocholt","Bochum Hbf","Bochum West","Bochum-Dahlhausen","Bochum-Ehrenfeld","Bochum-Hamme","Bochum-Langendreer","Bochum-Langendreer","Bochum-Langendreer West","Bochum-Riemke","Bockenheim-Kindenheim","Bockum-Hövel","Bodelsberg","Bodelshausen","Bodenburg","Bodenfelde","Bodenheim","Bodenmais","Bodenrode","Bodenwöhr Nord","Bogen","Bohmte","Boisheim","Boizenburg(Elbe)","Bokholt","Bondorf(b Herrenberg)","Bonn Brühler Str.","Bonn UN Campus","Bonn Hbf","Bonn Hbf (tief)","Bonn Helmholtzstraße","Bonn Heussallee/Museumsmeile","Bonn Konrad-Adenauer-Platz","Bonn Stadthaus","Bonn-Bad Godesberg","Bonn-Bad Godesberg Stadthalle","Bonn-Beuel","Bonn-Duisdorf","Bonn-Endenich Nord","Bonn-Mehlem","Bonn-Oberkassel","Bonn-Oberkassel Mitte","Bonn-Ramersdorf","Bookholzberg","Boostedt","Bopfingen","Boppard Hbf","Boppard Süd","Boppard-Bad Salzig","Boppard-Buchholz","Boppard-Fleckertshöhe","Boppard-Hirzenach","Bordesholm","Borgeln","Borgholzhausen","Borgsdorf","Bork(Westf)","Borken(Hess)","Borken(Westf)","Borkheide","Borna(Leipzig)","Borsdorf(Hess)","Borsdorf(Sachs)","Bottrop Hbf","Bottrop Hbf","Bottrop-Boy","Bottrop-Vonderort","Bous(Saar)","Boxberg-Wölchingen","Brachbach","Brachelen","Brackwede","Brahlstorf","Brake(Unterweser)","Brake(b Bielefeld)","Brake(b Bielefeld)","Brakel(Höxter)","Bramsche","Bramstedt(b Syke)","Brand Tropical Islands","Brandenburg Altstadt","Brandenburg Hbf","Brandoberndorf","Brannenburg","Braubach","Braunsbedra","Braunsbedra Ost","Braunschweig Hbf","Braunschweig-Gliesmarode","Braunsdorf-Lichtenwalde","Breddin","Bredelar","Bredenbek","Bredstedt","Brehna","Breinig","Breisach","Breitenbrunn(Erzg)","Breitenbrunn(Schwab)","Breitendiel","Breitendorf","Breitengüßbach","Breitscheidt(Altenkirchen, Ww)","Breitungen(Werra)","Bremen Hbf","Bremen Kreinsloger","Bremen Mühlenstraße","Bremen Neustadt","Bremen Turnerstraße","Bremen-Aumund","Bremen-Blumenthal","Bremen-Burg","Bremen-Farge","Bremen-Hemelingen","Bremen-Lesum","Bremen-Mahndorf","Bremen-Oberneuland","Bremen-Oslebshausen","Bremen-Schönebeck","Bremen-Sebaldsbrück","Bremen-St Magnus","Bremen-Vegesack","Bremen-Walle","Bremerhaven Hbf","Bremerhaven-Lehe","Bremerhaven-Wulsdorf","Bremervörde","Brenk","Brest-Aspe","Breternitz","Bretleben","Bretten","Bretten Kupferhälde","Bretten Rechberg","Bretten Schulzentrum","Bretten Stadtmitte","Bretten Wannenweg","Bretten-Ruit","Brettorf","Bretzenheim(Nahe)","Bretzfeld","Breyell","Brieselang","Briesen(Mark)","Brigachtal Kirchdorf","Brigachtal Klengen","Brilon Stadt","Brilon Wald","Britz","Brocken","Brockhöfe","Broderstorf","Brohl","Brokstedt","Bruchenbrücken","Bruchhausen(b Ettlingen)","Bruchköbel","Bruchmühlbach-Miesau","Bruchmühlen","Bruchsal","Bruchsal Am Mantel","Bruchsal Bildungszentrum","Bruchsal Schlachthof","Bruchsal Schloßgarten","Bruchsal Sportzentrum","Bruchsal Stegwiesen","Bruchsal Tunnelstr.","Bruchweiler","Bruckberg","Brucken","Bruckmühl","Brunau-Packebusch","Bräunlingen Bahnhof","Bräunlingen Industriegebiet","Brötzingen Mitte","Brötzingen Sandweg","Brötzingen Wohnlichstraße","Brück(Mark)","Brügge(Prign)","Brügge(Westf)","Brühl","Brühl","Brühl-Kierberg","Bubach","Bubenheim","Bubenreuth","Buchbrunn-Mainstockheim","Buchen Ost","Buchen(Odenw)","Buchenau(Lahn)","Buchenau(Oberbay)","Buchenhain","Buchenhorst","Buchholz(Baden)","Buchholz(Nordheide)","Buchholz(Zauche)","Buchloe","Buckow(Beeskow)","Buddenhagen","Budenheim","Bufleben","Buggingen","Buir","Buldern","Bullay(DB)","Bundenthal-Rumbach","Burbach Mitte","Burbach(Kr Siegen)","Burg Stargard(Meckl)","Burg(Dillkr) Nord","Burg(Dithm)","Burg(Magdeburg)","Burg-u. Nieder Gemünden","Burgau(Schwab)","Burgbernheim","Burgbernheim-Wildbad","Burgdorf","Burghaun(Hünfeld)","Burghausen","Burgheim","Burgholzhausen v d H","Burgkemnitz","Burgkirchen","Burgkunstadt","Burglauer","Burgsinn","Burgstall(Murr)","Burgstädt","Burgthann","Burgweiler","Burhafe(Ostfriesl)","Burkhardswalde-Maxen","Burkhardtsdorf","Burkhardtsdorf Mitte","Burkheim-Bischoffingen","Burladingen","Burladingen West","Buschow","Busenbach","Busenberg-Schindhard","Buttenheim","Buttstädt","Butzbach","Buxtehude","Bärenhecke-Johnsbach","Bärenklau","Bärenstein(Annaberg)","Bärenstein(b Glashütte, Sachs)","Bärnsdorf","Bäumenheim","Böbingen(Rems)","Böblingen","Böblingen Danziger Str","Böblingen Heusteigstr","Böblingen Südbf","Böblingen Zimmerschlag","Böbrach","Böckingen Sonnenbrunnen","Böckingen West","Bödigheim","Böhl-Iggelheim","Böhlen Werke","Böhlen(Leipzig)","Böhmhof","Böhringen-Rickelshausen","Bölzke","Bönen","Bönningstedt","Börnecke(Harz)","Börßum","Bösdorf(Sachs-Anh)","Bösensell","Bösperde","Bötzingen","Bötzingen Mühle","Büchen","Büchenbach","Büches-Düdelsheim","Bückeburg","Büdingen(Oberhess)","Büdingen(Westerw)","Bühl(Baden)","Bülzig","Bünde(Westf)","Bürgeln","Bürstadt","Bürstadt","Büsenbachtal","Büsum","Büttgen","Bützow","Cadenberge","Cadolzburg","Cainsdorf","Calau(Nl)","Calbe(Saale) Ost","Calbe(Saale) Stadt","Calbe(Saale) West","Calberlah","Caldern","Calmbach Bahnhof","Calmbach Süd","Calw","Camburg(Saale)","Cammin(Meckl)","Capelle(Westf)","Caputh Schwielowsee","Caputh-Geltow","Casekow","Castrop-Rauxel Hbf","Castrop-Rauxel Süd","Castrop-Rauxel Süd","Castrop-Rauxel-Merklinde","Celle","Cham(Oberpf)","Chamerau","Chemnitz Alt Chemnitz Center","Chemnitz Annenstraße","Chemnitz Brückenstraße/Freie Presse","Chemnitz Erdmannsdorfer Straße","Chemnitz Erfenschlag","Chemnitz Friedrichstraße","Chemnitz Gustav-Freytag-Straße","Chemnitz Hbf","Chemnitz Hbf (Bahnhofstraße)","Chemnitz Kinderwaldstätte","Chemnitz Mitte","Chemnitz Moritzhof","Chemnitz Omnibusbahnhof","Chemnitz Riemenschneiderstraße","Chemnitz Roter Turm","Chemnitz Rösslerstraße","Chemnitz Scheffelstraße","Chemnitz Schneeberger Straße","Chemnitz Schule Altchemnitz","Chemnitz Stefan-Heym-Platz","Chemnitz Süd","Chemnitz Süd","Chemnitz Theaterplatz","Chemnitz Treffurthstraße","Chemnitz Uhlestraße","Chemnitz Zentralhaltestelle","Chemnitz-Altchemnitz","Chemnitz-Borna Hp","Chemnitz-Borna Hp","Chemnitz-Harthau","Chemnitz-Hilbersdorf","Chemnitz-Reichenhain","Chemnitz-Schönau","Chemnitz-Siegmar","Chorin","Clarholz","Clausnitz","Cloppenburg","Coburg","Coburg Nord","Coburg-Neuses","Cochem(Mosel)","Coesfeld Schulzentrum","Coesfeld(Westf)","Collenberg","Contwig","Coppenbrügge","Coschen","Cossebaude","Coswig(Anh)","Coswig(b Dresden)","Cottbus","Cottbus-Merzdorf","Cottbus-Merzdorf","Cottbus-Sandow","Cottbus-Willmersdorf Nord","Crailsheim","Cranzahl","Creidlitz","Creußen(Oberfr)","Crimmitschau","Crivitz","Crossen Ort","Crossen a d Elster","Cunnertswalde","Cursdorf","Cuxhaven","Cölbe","Daaden","Dabendorf","Dachau Bahnhof","Dachau Stadt","Dachrieden","Dachwig","Dagebüll Kirche","Dagebüll Mole","Dahl","Dahlbruch","Dahlem(Eifel)","Dahlen(Sachs)","Dahlenburg","Dahlerbrück","Dahlewitz","Dahn","Dahn Süd","Dalheim","Dallau","Dallgow-Döberitz","Dannenberg Ost","Dannenwalde(Gransee)","Darching","Darlingerode","Darmstadt Hbf","Darmstadt Nord","Darmstadt Ost","Darmstadt Süd","Darmstadt TU-Lichtwiese","Darmstadt-Arheilgen","Darmstadt-Eberstadt","Darmstadt-Kranichstein","Darmstadt-Wixhausen","Dasing","Dattenfeld(Sieg)","Dauenhof","Daufenbach","Dausenau","Davensberg","Dedenhausen","Dedensen-Gümmer","Dedinghausen","Deezbüll","Deggendorf Hbf","Deidesheim","Deining(Oberpf)","Deinste","Deinste","Deisenhofen","Deißlingen Mitte","Delitzsch ob Bf","Delitzsch unt Bf","Dellfeld","Dellfeld Ort","Delmenhorst","Demitz-Thumitz","Demker","Demmin","Densborn","Denzlingen","Dernau","Dernbach(Westerw)","Derneburg(Han)","Dessau Adria","Dessau Hbf","Dessau Süd","Dessau-Alten","Dessau-Mosigkau","Dessau-Waldersee","Detmold","Dettelbach Bahnhof","Dettenhausen","Dettingen Freibad","Dettingen Gsaidt","Dettingen Lehen","Dettingen(Main)","Dettingen(Teck)","Dettingen-Mitte","Dettum","Deuben(Zeitz)","Deuerling","Deuten","Deutzen","Diebach","Dieburg","Diedelsheim","Diedorf(Schwab)","Dienheim","Diepholz","Dieringhausen","Dieskau","Dietersheim","Dietmannsried","Dietzelbach","Dietzenbach Bahnhof","Dietzenbach Mitte","Dietzenbach-Steinberg","Dietzhausen","Diez","Diez Ost","Dießen","Dillbrecht","Dillenburg","Dillingen(Donau)","Dillingen(Saar)","Dingden","Dingolfing","Dinkelsbühl Bf","Dinkelscherben","Dinslaken","Dippoldiswalde","Dirmingen","Dissen-Bad Rothenfelde","Distelhausen","Ditfurt","Dittersbach","Dittersdorf","Dittigheim","Ditzingen","Doberlug-Kirchhain","Doberlug-Kirchhain","Doberschütz","Dodendorf","Dodenhof","Dogern","Dohna(Sachs)","Dollbergen","Dollern","Dollnstein","Dombühl","Domnitz(Saalkr)","Domsühl","Donaueschingen","Donaueschingen Allmendshofen","Donaueschingen Aufen","Donaueschingen Grüningen","Donaueschingen Mitte/Siedlung","Donauwörth","Dorf Mecklenburg","Dorfchemnitz","Dorfen Bahnhof","Dorfmark","Dorfprozelten","Dorheim(Wetterau)","Dormagen","Dormagen Chempark","Dormagen Chempark","Dornburg(Saale)","Dornstetten","Dorsten","Dortelweil","Dortmund Hbf","Dortmund Hbf","Dortmund Knappschaftskrankenhaus","Dortmund Möllerbrücke","Dortmund Signal Iduna Park","Dortmund Stadthaus","Dortmund Tierpark","Dortmund Universität","Dortmund West","Dortmund-Aplerbeck","Dortmund-Aplerbeck Süd","Dortmund-Asseln Mitte","Dortmund-Barop","Dortmund-Brackel","Dortmund-Bövinghausen","Dortmund-Derne","Dortmund-Dorstfeld","Dortmund-Dorstfeld","Dortmund-Dorstfeld","Dortmund-Dorstfeld Süd","Dortmund-Germania","Dortmund-Huckarde","Dortmund-Huckarde Nord","Dortmund-Hörde","Dortmund-Kirchderne","Dortmund-Kirchhörde","Dortmund-Kley","Dortmund-Kruckel","Dortmund-Kurl","Dortmund-Körne","Dortmund-Körne West","Dortmund-Löttringhausen","Dortmund-Lütgendortmund","Dortmund-Lütgendortmund Nord","Dortmund-Marten","Dortmund-Marten Süd","Dortmund-Mengede","Dortmund-Nette/Oestrich","Dortmund-Oespel","Dortmund-Rahm","Dortmund-Scharnhorst","Dortmund-Somborn","Dortmund-Sölde","Dortmund-Westerfilde","Dortmund-Wickede","Dortmund-Wickede West","Dortmund-Wischlingen","Dorum(Weserm)","Dossow(Prign)","Dottenheim","Dotternhausen-Dormettingen","Drahnsdorf","Drahtzug","Drebkau","Drei Annen Hohne","Dreieich-Buchschlag","Dreieich-Buchschlag","Dreieich-Dreieichenhain","Dreieich-Götzenhain","Dreieich-Offenthal","Dreieich-Sprendlingen","Dreieich-Weibelfeld","Dreikirchen","Dreileben-Drackenstedt","Drensteinfurt","Dresden Bischofsplatz","Dresden Flughafen","Dresden Freiberger Straße","Dresden Grenzstraße","Dresden Hbf","Dresden Industriegelände","Dresden Mitte","Dresden-Cotta","Dresden-Dobritz","Dresden-Friedrichstadt","Dresden-Kemnitz","Dresden-Klotzsche","Dresden-Neustadt","Dresden-Niedersedlitz","Dresden-Pieschen","Dresden-Plauen","Dresden-Reick","Dresden-Stetzsch","Dresden-Strehlen","Dresden-Trachau","Dresden-Zschachwitz","Dreye","Drohndorf-Mehringen","Ducherow","Duckterath","Dudweiler","Duisburg Entenfang","Duisburg Hbf","Duisburg-Bissingheim","Duisburg-Buchholz","Duisburg-Großenbaum","Duisburg-Hochfeld Süd","Duisburg-Hochfeld Süd","Duisburg-Meiderich Ost","Duisburg-Meiderich Süd","Duisburg-Obermeiderich","Duisburg-Rahm","Duisburg-Ruhrort","Duisburg-Schlenk","Duisburg-Wedau","Duisburg-Wedau","Durach","Durmersheim","Durmersheim Nord","Dutenhofen(Wetzlar)","Dußlingen","Döbeln Hbf","Döberitz","Döggingen","Döhlau","Döllstädt","Dörfles-Esbach","Dörpen","Dörrberg","Dörverden","Dülken","Dülmen","Dülmen","Düren","Düren","Düren Annakirmesplatz","Düren Im Großen Tal","Düren Renkerstraße","Düren-Kuhbrücke","Düren-Lendersdorf","Dürrenbüchig","Dürrenwaid Bahnhof","Dürrnhaar","Dürrröhrsdorf","Düsseldorf Flughafen","Düsseldorf Flughafen","Düsseldorf Flughafen Terminal","Düsseldorf Friedrichstadt","Düsseldorf Hbf","Düsseldorf Volksgarten","Düsseldorf Völklinger Str.","Düsseldorf Wehrhahn","Düsseldorf-Benrath","Düsseldorf-Bilk","Düsseldorf-Derendorf","Düsseldorf-Derendorf","Düsseldorf-Eller","Düsseldorf-Eller Mitte","Düsseldorf-Eller Süd","Düsseldorf-Flingern","Düsseldorf-Garath","Düsseldorf-Gerresheim","Düsseldorf-Hamm","Düsseldorf-Hellerhof","Düsseldorf-Oberbilk","Düsseldorf-Rath","Düsseldorf-Rath Mitte","Düsseldorf-Reisholz","Düsseldorf-Unterrath","Düsseldorf-Zoo","Dütschow","Ebelsbach-Eltmann","Ebenhausen(Unterfr)","Ebenhausen-Schäftlarn","Ebenhofen","Ebensfeld","Eberbach","Ebermannstadt","Ebermergen","Ebern","Ebersbach(Fils)","Ebersbach(Sachs)","Ebersberg(Oberbay)","Ebersbrunn","Ebersdorf(b Coburg)","Eberswalde Hbf","Ebertsheim","Ebing","Ebringen","Ebstorf(Uelzen)","Echem","Eching","Echterdingen","Echzell","Eckardtsleben","Eckartsberga(Thür)","Eckartshausen-Ilshofen","Eckernförde","Eckersmühlen","Eddersheim","Edelfingen","Edenkoben","Edermünde-Grifte","Edesheim(Pfalz)","Ediger-Eller","Edingen(Wetzlar)","Edle Krone","Edling","Effelder(Thür)","Effolderbach","Efringen-Kirchen","Egelsbach","Egersdorf","Egestorf(Deister)","Eggenfelden","Eggenfelden Mitte","Eggenstein Bf","Eggersdorf","Eggesin","Eggingen","Egglkofen","Eggmühl","Eggolsheim","Eglharting","Egling","Ehingen(Donau)","Ehlenbruch","Ehlershausen","Ehningen(b Böblingen)","Ehr","Ehrang","Ehrang Ort","Ehringen","Ehringhausen(Kr Lippstadt)","Ehringshausen(Kr Wetzlar)","Ehringshausen(Oberhess)","Eibau","Eichen(Kr Siegen)","Eichenau(Oberbay)","Eichenberg","Eichenzell","Eichhagen","Eicholzheim","Eichstedt(Altm)","Eichstetten am Kaiserstuhl","Eichstätt Bahnhof","Eichstätt Stadt","Eichwalde","Eickendorf","Eilenburg","Eilenburg Ost","Eilenburg Ost","Eilendorf","Eilsleben(b Magdeburg)","Eilvese","Eimeldingen","Einbeck Salzderhelden","Einfeld","Einsiedel","Einsiedel Hp Gymnasium","Einsiedlerhof","Einöd(Saar)","Eisenach","Eisenach Opelwerke Hp","Eisenach West","Eisenbach-Matzenbach","Eisenberg(Pfalz)","Eisenberg(Pfalz)","Eisenberg(Pfalz)","Eisenheim","Eisenhüttenstadt","Eisenärzt","Eiserfeld(Sieg)","Eisfeld","Eisfelder Talmühle","Eislingen(Fils)","Eiswoog","Eitensheim","Eitorf","Elend","Elfershausen-Trimberg","Elgersburg","Ellefeld","Ellental","Ellerau","Ellhofen","Ellingen(Bay)","Ellrich","Ellwangen","Ellzee","Elmenhorst","Elmshorn","Elpersheim","Elsfleth","Elsholz","Elsnigk(Anh)","Elstal","Elster(Elbe)","Elsterberg","Elsterberg-Kunstseidenwerk","Elsterwerda","Elsterwerda-Biehla","Eltersdorf","Eltville","Elxleben","Elz(Limburg/Lahn)","Elz(Limburg/Lahn) Süd","Elzach","Elze(Han)","Emden Außenhafen","Emden Hbf","Emmelshausen","Emmendingen","Emmerich","Emmerke","Emmerthal","Empel-Rees","Empelde","Emsdetten","Emskirchen","Endersbach","Endingen am Kaiserstuhl","Endingen(Württ)","Engeln","Engelskirchen","Engen","Engers","Engertsham","Engstingen","Engstlatt","Enkenbach","Ennepetal","Ensdorf(Saar)","Enspel","Entringen","Enzberg","Enzisweiler","Epe(Westf)","Eppelborn","Eppelsheim(Rheinhess)","Eppertshausen","Eppingen","Eppingen West","Eppstein","Eppstein-Bremthal","Erbach(Odenw)","Erbach(Odenw) Nord","Erbach(Rheingau)","Erbach(Württ)","Erdeborn","Erding","Erdmannhausen","Erdmannsdorf-Augustusburg","Erdweg","Erftstadt","Erfurt Hbf","Erfurt Nord","Erfurt Ost","Erfurt-Bischleben","Erfurt-Gispersleben","Ergenzingen","Ergoldsbach","Ergste","Eriskirch","Erkelenz","Erkersreuth","Erkner","Erkrath","Erkrath-Nord","Erla","Erlabrunn(Erzgeb)","Erlangen","Erlangen Paul-Gossen-Straße","Erlangen-Bruck","Erlau(Sachs)","Erlenbach(Main)","Erndtebrück","Ernsgaden","Ernsthausen","Ernstthal am Rennsteig","Erpel(Rhein)","Erpolzheim","Ersingen","Ersingen West","Erzhausen","Erzingen(Baden)","Erzingen(Württ)","Eschborn","Eschborn Süd","Eschede","Eschelbronn","Eschenau(Mittelfr)","Eschenau(b Heilbronn)","Eschenbach(b Markt Erlbach)","Eschenlohe","Escherndorf-Vogelburg","Eschhofen","Eschwege","Eschwege-Niederhone","Eschweiler Hbf","Eschweiler Talbahnhof","Eschweiler-Nothberg","Eschweiler-St.Jöris","Eschweiler-Weisweiler","Eschweiler-West","Esens(Ostfriesl)","Espelkamp","Espenau-Mönchehof","Essen Hbf","Essen Stadtwald","Essen Süd","Essen West","Essen(Oldb)","Essen-Altenessen","Essen-Bergeborbeck","Essen-Borbeck","Essen-Borbeck Süd","Essen-Dellwig","Essen-Dellwig Ost","Essen-Eiberg","Essen-Frohnhausen","Essen-Gerschede","Essen-Holthausen","Essen-Horst","Essen-Hügel","Essen-Kray Nord","Essen-Kray Süd","Essen-Kupferdreh","Essen-Steele","Essen-Steele Ost","Essen-Werden","Essen-Zollverein Nord","Essen-Überruhr","Esslingen(Neckar)","Esslingen-Mettingen","Esslingen-Zell","Esting","Etelsen","Ettenhausen","Etterzhausen","Ettlingen Stadt","Ettlingen West","Etzbach","Etzelwang","Etzenbach","Etzenricht","Etzenrot","Etzleben","Eubigheim","Euerdorf","Euskirchen","Euskirchen Zuckerfabrik","Euskirchen-Großbüllesheim","Euskirchen-Kreuzweingarten","Euskirchen-Kuchenheim","Euskirchen-Stotzheim","Eutin","Eutingen im Gäu","Eutingen(Baden)","Eutzsch","Eyach","Eystrup","Eßleben","Fachingen(Lahn)","Fahrenkrug","Fahrnau","Falkenau(Sachs)Hp","Falkenau(Sachs)Süd","Falkenberg(Elster)","Falkenberg(Elster)","Falkenberg(Elster)","Falkenberg(Mark)","Falkenhagen Gewerbepark Prignitz","Falkensee","Falkenstein(Vogtl)","Fallersleben","Fangschleuse","Farchant","Fasanenpark","Faulbach(Main)","Faurndau","Favoritepark","Fehmarn-Burg","Feilitzsch","Feldafing","Feldberg-Bärental","Felde","Feldhausen","Feldkirchen(b München)","Fellbach","Felsberg-Altenbrunslar","Felsberg-Gensungen","Felsberg-Wolfershausen","Ferch-Lienewitz","Ferdinandshof","Fermerswalde","Ferndorf(Siegen)","Feucht","Feucht Ost","Feucht-Moosbach","Feuchtwangen Bf","Feudingen","Fichtenberg","Filderstadt","Filsen","Finkenheerd","Finkenkrug","Finnentrop","Finningerstraße","Finsterwalde(Niederlausitz)","Fischbach(Nürnberg)","Fischbach-Camphausen","Fischbach-Weierbach","Fischbachau","Fischen","Fischhaus","Fischhausen-Neuhaus","Fladungen","Flechtingen","Fleetmark","Flehingen","Flensburg","Flieden","Flintbek","Flintsbach","Flomersheim","Floßmühle","Flöha","Flöha-Plaue","Flörsheim(Main)","Fohrde","Forbach(Schwarzw)","Forchheim(Oberfr)","Forchheim(b Karlsruhe)","Fornsbach","Forst(Lausitz)","Forsthaus","Forsting","Forth","Frahelsbruck","Frankenberg(Eder)","Frankenberg(Sachs)","Frankenberg(Sachs) Süd","Frankenberg-Goßberg","Frankenberg-Viermünden","Frankenstein(Pfalz)","Frankenstein(Sachs)","Frankenthal Hbf","Frankenthal Süd","Frankfurt Hbf (tief)","Frankfurt am Main - Stadion","Frankfurt(M) Flughafen Fernbf","Frankfurt(M) Flughafen Regionalbf","Frankfurt(M)Galluswarte","Frankfurt(M)Hauptwache","Frankfurt(M)Konstablerwache","Frankfurt(M)Lokalbahnhof","Frankfurt(M)Mühlberg","Frankfurt(M)Ostendstraße","Frankfurt(M)Stresemannallee","Frankfurt(M)Taunusanlage","Frankfurt(Main)Hbf","Frankfurt(Main)Messe","Frankfurt(Main)Ost","Frankfurt(Main)Süd","Frankfurt(Main)West","Frankfurt(Oder)","Frankfurt(Oder)-Neuberesinchen","Frankfurt(Oder)-Rosengarten","Frankfurt-Berkersheim","Frankfurt-Eschersheim","Frankfurt-Frankfurter Berg","Frankfurt-Griesheim","Frankfurt-Höchst","Frankfurt-Höchst Farbwerke","Frankfurt-Louisa","Frankfurt-Louisa","Frankfurt-Mainkur","Frankfurt-Nied","Frankfurt-Niederrad","Frankfurt-Niederrad","Frankfurt-Rödelheim","Frankfurt-Sindlingen","Frankfurt-Sindlingen","Frankfurt-Sossenheim","Frankfurt-Unterliederbach","Frankfurt-Zeilsheim","Frankleben","Frauenalb-Schielberg","Frauenau","Frauenhain","Frechen-Königsdorf","Freckleben","Freden(Leine)","Fredersdorf(b Berlin)","Freiberg(Neckar)","Freiberg(Sachs)","Freiburg Klinikum","Freiburg Messe/Universität","Freiburg West","Freiburg(Breisgau) Hbf","Freiburg-Herdern","Freiburg-Littenweiler","Freiburg-St Georgen","Freiburg-Wiehre","Freiburg-Zähringen","Freienohl","Freienorla","Freihalden","Freihung","Freihöls","Freilassing","Freilassing-Hofham","Freimersheim(Rheinh)","Freinsheim","Freising","Freital-Coßmannsdorf","Freital-Deuben","Freital-Hainsberg","Freital-Hainsberg","Freital-Hainsberg West","Freital-Potschappel","Frellstedt","Frelsdorf","Fremdingen Bf","Fremersdorf","Frenz","Fresenburg","Fretzdorf","Freudenberg-Kirschfurt","Freudenstadt Hbf","Freudenstadt Industriegebiet","Freudenstadt Schulzentrum","Freudenstadt Stadt","Freusburg Siedlung","Freyburg(Unstrut)","Freyung Bf","Frickenhausen","Frickenhausen Kelterstraße","Frickhofen","Fridingen(b Tuttlingen)","Fridolfing","Friedberg Süd","Friedberg(Augsburg)","Friedberg(Hess)","Friedelhausen","Friedensdorf(Lahn)","Friedersdorf(Königs Wusterhausen)","Friedewald(Kr Dresden) Bad","Friedewald(Kr Dresden)Hp","Friedland(Han)","Friedrich Wilhelmshütte","Friedrichroda","Friedrichsdorf(Taunus)","Friedrichsfeld(Niederrhein)","Friedrichsgabe","Friedrichshafen Flughafen","Friedrichshafen Hafen","Friedrichshafen Landratsamt","Friedrichshafen Ost","Friedrichshafen Stadt","Friedrichshafen-Fischbach","Friedrichshafen-Kluftern","Friedrichshafen-Manzell","Friedrichshöhe","Friedrichsruh","Friedrichsruhe(Meck)","Friedrichssegen","Friedrichstadt","Friedrichstal b Freudenstadt","Friedrichstal(Baden)","Friedrichsthal(Saar)","Friedrichsthal(Saar) Mitte","Friedrichsthal(b Bayreuth)","Friesack(Mark)","Friesenheim(Baden)","Frimmersdorf","Fritzlar","Frohburg","Frommern","Fronhausen(Lahn)","Frose","Frömern","Fröndenberg","Fröttstädt","Fulda","Fuldatal-Ihringshausen","Furschenbach","Furth i Wald","Furth(b Deisenhofen)","Fährbrücke","Föhren","Förbau","Förderstedt","Förtha(Eisenach)","Förtschendorf","Fürfurt","Fürstenberg(Havel)","Fürsteneck","Fürstenfeldbruck","Fürstenwald","Fürstenwalde Süd","Fürstenwalde(Spree)","Fürstenzell","Fürth Westvorstadt","Fürth(Bay)Hbf","Fürth(Odenw)","Fürth-Burgfarrnbach","Fürth-Dambach","Fürth-Unterfarrnbach","Fürth-Unterfarrnbach","Fürth-Unterfürberg","Füssen","Gablingen","Gadebusch","Gaggenau Bf","Gaggenau Mercedes-Benz Werk","Gaildorf West","Gaimersheim","Gaißach","Galgenschanze","Gamburg(Tauber)","Gammertingen","Gammertingen Europastraße","Ganderkesee","Gangloffsömmern","Garbeck","Garbenteich","Garching(Alz)","Gardelegen","Garding","Garftitz","Garmisch-Partenkirchen","Garmisch-Partenkirchen Hausberg","Gars(Inn)","Gatersleben","Gau Algesheim","Gau Bickelheim","Gaubüttelbrunn","Gausbach","Gauselfingen","Gauting","Gebra(Hainleite)","Geeste","Geestenseth","Geestgottberg","Gehlberg","Geigant","Geilenkirchen","Geilenkirchen","Geilhausen","Geiselhöring","Geisenbrunn","Geisenhausen","Geisenheim","Geising","Geisingen","Geisingen-Aulfingen","Geisingen-Hausen","Geisingen-Kirchen","Geisingen-Leipferdingen","Geislingen(Steige)","Geislingen(Steige)West","Geitau","Geithain","Gelbensande","Geldern","Gelnhausen","Gelsenkirchen Hbf","Gelsenkirchen Zoo","Gelsenkirchen-Buer Nord","Gelsenkirchen-Buer Süd","Gelsenkirchen-Hassel","Gelsenkirchen-Rotthausen","Geltendorf","Gemmingen","Gemmingen West","Gemünden(Main)","Genderkingen","Gendorf","Gengenbach","Gennweiler","Gensingen-Horrweiler","Genthin","Georgensgmünd","Gera Hbf","Gera Ost","Gera Süd","Gera-Langenberg","Gera-Liebschwitz","Gera-Zwötzen","Geraberg","Geradstetten","Gerhausen","Gerichshain","Gerlachsheim","Gerlenhofen","Germering-Unterpfaffenhofen","Germersheim Bahnhof","Germersheim Mitte/Rhein","Germersheim Süd/Nolte","Gernlinden","Gernrode(Harz)","Gernrode-Niederorschel","Gernsbach Bf","Gernsbach Mitte","Gernsheim","Geroldshausen","Gerolstein","Gersdorf(Görlitz)","Gersfeld(Rhön)","Gerstetten","Gersthofen","Gerstungen","Gertenbach","Gerwisch","Geseke","Gessertshausen","Gettenau-Bingenheim","Gettorf","Gevelsberg Hbf","Gevelsberg West","Gevelsberg-Kipp","Gevelsberg-Knapp","Giengen(Brenz)","Giersleben","Gießen","Gießen Erdkauter Weg","Gießen Licher Str","Gießen Oswaldsgarten","Gifhorn","Gifhorn Stadt","Gilching-Argelsried","Gingen(Fils)","Girod","Gittelde/Bad Grund(Harz)","Gladbeck Ost","Gladbeck West","Gladbeck-Zweckel","Glan-Münchweiler","Glanzstoffwerke","Glashütte(Sachs)","Glaubitz(Riesa)","Glauburg-Glauberg","Glauburg-Stockheim","Glauchau(Sachs)","Glauchau-Schönbörnchen","Glesch","Glossen (b Oschatz)","Glöwen","Glückauf","Glückstadt","Gmund(Tegernsee)","Gnadau","Gnarrenburg","Gnarrenburg Nord","Gnevkow","Goch","Gochsheim(Baden)","Godelheim","Godramstein","Gokels","Goldbeck(Osterburg)","Goldberg(Württ)","Goldenstedt(Oldb)","Goldhausen","Goldshöfe","Gollmitz(Niederlausitz)","Golm","Golzow(Eberswalde)","Golzow(Oderbruch)","Golßen(Niederlausitz)","Gomadingen","Gommern","Gondelsheim Schloßstadion","Gondelsheim(Baden)","Gorgast","Gosberg","Goslar","Gotha","Gotha Ost","Gottenheim","Gotteszell","Gottmadingen","Goßdorf-Kohlmühle","Goßfelden","Goßmannsdorf","Graal-Müritz","Graal-Müritz Koppelweg","Graben(Lechfeld)Gewerbepark","Graben-Neudorf","Graben-Neudorf Nord","Grabow(Meckl)","Grafenaschau","Grafenau","Grafenwiesen","Grafing Bahnhof","Grafing Stadt","Grafling-Arzting","Grafrath","Grambow","Gransee","Grauschwitz Flocke","Grebenstein","Greifswald","Greifswald Süd","Greiz","Greiz-Dölau","Grenzach","Greppin","Greußen","Greven","Grevenbroich","Grevesmühlen","Grieben(Meckl)","Griebo","Griefstedt","Griefstedt","Griesen(Oberbay)","Grießen(Baden)","Grimma ob Bf","Grimmen","Grimmenthal","Grobau","Grombach","Gronau(Westf)","Gronsdorf","Groß Ammensleben","Groß Brütz","Groß Düngen","Groß Gerau","Groß Gerau-Dornberg","Groß Gerau-Dornheim","Groß Karben","Groß Kiesow","Groß Kreutz","Groß Köris","Groß Laasch","Groß Lüsewitz","Groß Pankow","Groß Quassow","Groß Rohrheim","Groß Schwaß","Groß Schönebeck","Groß-Umstadt Klein-Umstadt","Groß-Umstadt Mitte","Groß-Umstadt Wiebelsbach","Großarmschlag","Großauheim(Kr Hanau)","Großbeeren","Großbothen","Großburgwedel","Großdeuben","Großen Buseck","Großen Linden","Großenaspe","Großenbrode","Großengottern","Großenhain Cottb Bf","Großenkneten","Großenlüder","Großfurra","Großgeschaidt","Großharthau","Großhelfendorf","Großheringen","Großhesselohe Isartalbf","Großkarolinenfeld","Großkorbetha","Großkrotzenburg","Großkugel","Großlehna","Großneuhausen","Großpösna","Großrudestedt","Großräschen","Großröhrsdorf","Großschwabhausen","Großschönau(Sachs)","Großsteinberg","Großwalbur","Großwudicke","Grub am Forst","Grub(Oberbay)","Grub(Oberpf)","Gruiten","Gruiten","Grunbach","Grunow(Niederlausitz)","Gräfelfing","Gräfenberg","Gräfendorf","Gräfenhainichen","Gräfenroda","Gräfentonna","Gräveneck","Grävenwiesbach","Gröbenzell","Gröbers","Gröditz(Riesa)","Grötzingen","Grötzingen Krappmühlenweg","Grötzingen Oberausstraße","Grüna(Sachs)Hp","Grünbach(Vogtl)","Grünberg(Oberhess)","Grünebach Ort","Grünebacherhütte","Grüneberg","Grünhainichen-Borstendorf","Grünsfeld","Grünstadt","Grünstadt Nord","Grüntal-Wittlensweiler","Gstadt(Wanderbahn)","Guben","Gummersbach","Gumpenried-Asbach","Gundelfingen(Bay)","Gundelfingen(Breisgau)","Gundelsdorf","Gundelshausen","Gundelsheim(Neckar)","Gundersheim(Rheinhess)","Guntersblum","Gunzenhausen","Gussenstadt","Gustorf","Gutach Freilichtmuseum","Gutach(Breisgau)","Gutenfürst","Guthmannshausen","Guxhagen","Gärtringen","Gäufelden","Göbelnrod","Göhrde","Göhren(Rügen)","Göllheim-Dreisen","Gölshausen","Gölshausen Industriegebiet","Göppingen","Görden","Görlitz","Görlitz-Rauschwalde","Görlitz-Weinhübel","Görsbach","Görschnitz","Göttingen","Götz","Gößnitz","Gültstein","Gündlkofen","Güntersberge","Günzach","Günzburg","Güsen(b Genthin)","Güsten","Güstrow","Güterglück","Güterglück","Gütersloh Hbf","Haan","Haar","Haarhausen","Hachenburg","Hadamar","Hademarschen","Hadmersleben","Haffkrug","Hagebök","Hagelstadt","Hagen Hbf","Hagen(Han)","Hagen-Heubing","Hagen-Oberhagen","Hagen-Vorhalle","Hagen-Wehringhausen","Hagen-Westerbauer","Hagenbach","Hagenbüchach","Hagenbüchach","Hagenow Land","Hagenow Stadt","Hagenwerder","Haidenaab-Göppmannsbühl","Haidkapelle","Haiger","Haiger Obertor","Haigerloch","Haigerloch","Hailer-Meerholz","Hainburg Hainstadt","Hainewalde","Hainichen","Hainstadt(Baden)","Haitz-Höchst","Halbe","Halberstadt","Halberstadt Oststr","Halberstadt-Spiegelsberge","Halbmeil","Haldensleben","Haldern(Rheinl)","Halen","Halfing","Hallbergmoos","Halle Dessauer Brücke","Halle Messe","Halle Rosengarten","Halle Steintorbrücke","Halle Südstadt","Halle Wohnstadt Nord","Halle Zoo","Halle Zscherbener Straße","Halle(Saale)Hbf","Halle(Saale)Hbf Gl. 13a","Halle(Saale)Hbf Gl. 13a","Halle(W) Gerry-Weber-Stadion","Halle(Westf)","Halle-Ammendorf","Halle-Ammendorf","Halle-Neustadt","Halle-Nietleben","Halle-Silberhöhe","Halle-Trotha","Halle-Trotha","Hallstadt(b Bamberg)","Halstenbek","Haltern am See","Haltingen","Hamburg Airport","Hamburg Alte Wöhr","Hamburg Berliner Tor","Hamburg Berliner Tor","Hamburg Berliner Tor","Hamburg Billwerder-Moorfleet","Hamburg Burgwedel","Hamburg Dammtor","Hamburg Dammtor","Hamburg Diebsteich","Hamburg Elbgaustraße","Hamburg Friedrichsberg","Hamburg Hasselbrook","Hamburg Hasselbrook","Hamburg Hbf","Hamburg Hbf (S-Bahn)","Hamburg Hochkamp","Hamburg Hoheneichen","Hamburg Holstenstraße","Hamburg Jungfernstieg","Hamburg Klein Flottbek","Hamburg Kornweg(Klein Borstel)","Hamburg Königstraße","Hamburg Landungsbrücken","Hamburg Landungsbrücken","Hamburg Landwehr","Hamburg Mittlerer Landweg","Hamburg Neuwiedenthal","Hamburg Reeperbahn","Hamburg Rübenkamp","Hamburg Stadthausbrücke","Hamburg Wandsbeker Chaussee","Hamburg-Allermöhe","Hamburg-Altona","Hamburg-Altona(S)","Hamburg-Bahrenfeld","Hamburg-Barmbek","Hamburg-Bergedorf","Hamburg-Bergedorf","Hamburg-Blankenese","Hamburg-Eidelstedt","Hamburg-Eidelstedt","Hamburg-Eidelstedt","Hamburg-Eidelstedt Zentrum","Hamburg-Fischbek","Hamburg-Hammerbrook","Hamburg-Harburg","Hamburg-Harburg Rathaus","Hamburg-Harburg(S)","Hamburg-Heimfeld","Hamburg-Hörgensweg","Hamburg-Iserbrook","Hamburg-Langenfelde","Hamburg-Nettelnburg","Hamburg-Neugraben","Hamburg-Neugraben","Hamburg-Ohlsdorf","Hamburg-Othmarschen","Hamburg-Poppenbüttel","Hamburg-Rahlstedt","Hamburg-Rissen","Hamburg-Rissen","Hamburg-Rothenburgsort","Hamburg-Rothenburgsort","Hamburg-Schnelsen","Hamburg-Stellingen","Hamburg-Stellingen","Hamburg-Sternschanze","Hamburg-Sülldorf","Hamburg-Tiefstack","Hamburg-Tonndorf","Hamburg-Veddel","Hamburg-Wandsbek","Hamburg-Wellingsbüttel","Hamburg-Wilhelmsburg","Hameln","Hamm(Westf)","Hammah","Hammelburg","Hammelburg Ost","Hammelspring","Hammerau","Hammerstein","Hammerunterwiesenthal","Hamminkeln","Hanau Hbf","Hanau Hbf","Hanau Hbf","Hanau Klein-Auheim","Hanau Nord","Hanau West","Hanau-Wilhelmsbad","Handeloh","Hanfertal","Hangelar Mitte","Hangelsberg","Hann Münden","Hannover Anderten-Misburg","Hannover Bismarckstr.","Hannover Flughafen","Hannover Hbf","Hannover Karl-Wiechert-Allee","Hannover Messe/Laatzen","Hannover-Bornum","Hannover-Kleefeld","Hannover-Ledeburg","Hannover-Leinhausen","Hannover-Linden/Fischerhof","Hannover-Nordstadt","Hannover-Vinnhorst","Happurg","Harblek","Harburg(Schwab)","Hardegsen","Hardhof","Haren(Ems)","Harra","Harra Nord","Harras(Thür)","Harsdorf","Harsefeld","Harsum","Hartenstein","Hartershofen","Harthaus","Hartmannmühle","Hartmannshof","Harxheim-Zell","Harzgerode","Hasbergen","Haselbrunn","Haslach","Hasloch(Main)","Hasloh","Haslohfurth","Haspelmoor","Hassel(Saar)","Hasselborn","Hasselfelde","Haste","Hattenheim","Hattersheim(Main)","Hattert","Hattingen(R) Mitte","Hattingen(Ruhr)","Hattorf","Hatzenport","Haubersbronn","Haubersbronn Mitte","Hauenstein Mitte","Hauenstein(Pfalz)","Haunetal-Neukirchen","Haupeltshofen","Hauptstuhl","Hausach","Hausen (b Düren)","Hausen i Tal","Hausen(Eichsfeld)","Hausen(Schwab)","Hausen(Taunus)","Hausen-Raitbach","Hausen-Starzeln","Hausham","Havixbeck","Haßfurt","Haßloch(Pfalz)","Haßmersheim","Hebertsfelden","Hebertshausen","Hechingen","Hechingen Landesbahn","Hechthausen","Heddesheim/Hirschberg","Hedemünden","Hedersdorf","Hedersleben-Wedderstedt","Heessen","Heggen","Hegne","Heide(Holst)","Heidelberg Hbf","Heidelberg Orthopädie","Heidelberg-Altstadt","Heidelberg-Kirchheim/Rohrbach","Heidelberg-Pfaffengrund/Wieblingen","Heidelberg-Schlierbach/Ziegelhausen","Heidelberg-Weststadt/Südstadt","Heidelsheim","Heidelsheim Nord","Heidenau","Heidenau Süd","Heidenau-Großsedlitz","Heidenheim","Heidenheim Voithwerk","Heidenheim-Mergelstetten","Heidenheim-Schnaitheim","Heidesheim(Rheinhess)","Heidkrug","Heigenbrücken","Heilbad Heiligenstadt","Heilbr.-Böckingen Berufsschulzentrum","Heilbronn Finanzamt","Heilbronn Friedensplatz","Heilbronn Hans-Rießer-Straße","Heilbronn Harmonie","Heilbronn Harmonie/Hafenmarktpassage","Heilbronn Harmonie/Kunsthalle","Heilbronn Hauptbahnhof/Willy-Brandt-Pl.","Heilbronn Hbf","Heilbronn Industrieplatz","Heilbronn Kaufland","Heilbronn Neckar-Turm/K.-S.-Pl","Heilbronn Pfühlpark","Heilbronn Rathaus","Heilbronn Sülmertor","Heilbronn Technisches Schulzentrum","Heilbronn Theater","Heilbronn Trappensee","Heiligendamm","Heiligengrabe","Heiligenstatt(Obb)","Heiligenstein(Pfalz)","Heilsbronn","Heimbach (Eifel)","Heimbach(Nahe)","Heimbach(Nahe)Ort","Heimenkirch","Heimersheim","Heimstetten","Heinebach","Heinsberg Kreishaus","Heinsberg(Rheinl)","Heinsberg-Dremmen","Heinsberg-Horst","Heinsberg-Oberbruch","Heinsberg-Porselen","Heinsberg-Randerath","Heinschenwalde","Heinzenhausen","Heitersheim","Heldrungen","Helenesee","Helmbrechts","Helmsdorf(Pirna)","Helmsheim","Helmstadt(Baden)","Helmstedt","Helpup","Hemmerde","Hemmersdorf(Saar)","Hemmingen","Hemmoor","Hemsbach","Henfenfeld","Hennef im Siegbogen","Hennef(Sieg)","Hennen","Hennersdorf(Sachs)","Hennigsdorf(b Berlin)","Henstedt-Ulzburg","Heppenheim(Bergstr)","Herbertingen","Herbertingen Ort","Herbertshofen","Herblingen","Herbolzheim(Breisg)","Herbolzheim(Jagst)","Herborn(Dillkr)","Herbrechtingen","Herchen","Herdecke","Herdorf","Herford","Hergatz","Hergershausen","Heringen(Helme)","Heringsdorf Neuhof","Herlasgrün","Herleshausen Hp","Hermaringen","Hermentingen","Hermsdorf(Dresden)","Hermsdorf-Klosterlausnitz","Herne","Herne-Börnig","Heroldsberg","Heroldsberg Nord","Herrath","Herrenberg","Herrenberg","Herrenberg Zwerchweg","Herrensee","Herrlingen","Herrlishöfen","Herrnburg","Herrsching","Hersbruck(l Pegnitz)","Hersbruck(r Pegnitz)","Herten(Baden)","Hervest-Dorsten","Herxheim am Berg","Herzberg Schloß","Herzberg(Elster)","Herzberg(Harz)","Herzberg(Mark)","Herzebrock","Herzhorn","Herzogenrath","Herzogenrath-Alt-Merkstein","Herzogenrath-August-Schmidt-Platz","Hesedorf","Heselbach","Hesepe","Hesseln","Hesseneck Kailbach","Hesseneck Schöllenbach","Hessisch Oldendorf","Hetschburg","Hettenhausen","Hettingen(Hohenz)","Hettstedt","Hetzdorf(Flöhatal)","Hetzerath","Heudeber-Danstedt","Heufeld","Heufeldmühle","Heusenstamm","Hiddenhausen-Schweicheln","Hilchenbach","Hildburghausen","Hilden","Hilden Süd","Hildesheim Hbf","Hildesheim Ost","Hillnhütten","Hilpertsau","Hilpoltstein","Hilter","Himmelpforten","Himmelreich","Himmelstadt","Hinrichssegen","Hinterweidenthal","Hinterweidenthal Ort","Hinterweidenthal Ost","Hinterzarten","Hirsau","Hirschaid","Hirschfelde","Hirschfelden","Hirschhorn(Neckar)","Hirschhorn(Pfalz)","Hittfeld","Hitzacker","Hochdahl","Hochdahl-Millrath","Hochdorf(b Horb)","Hochhausen(Tauber)","Hochheim(Main)","Hochneukirch","Hochspeyer","Hochstadt-Marktzeuln","Hochstetten","Hochstetten Grenzstraße","Hochstetten(Nahe)","Hochstätten(Pfalz)","Hochwang","Hockenheim","Hockeroda","Hodenhagen","Hof Hbf","Hof(Münstertal)","Hof-Neuhof","Hofeld","Hofen(b Aalen)","Hoffenheim","Hoffnungsthal","Hofgeismar","Hofgeismar-Hümme","Hofheim (Ried)","Hofheim(Taunus)","Hohegrete","Hohen Neuendorf West","Hohen Neuendorf(b Berlin)","Hohenbrunn","Hohendorf","Hohenebra Ort","Hoheneggelsen","Hohenfichte","Hohenleipisch","Hohenleuben","Hohenlimburg","Hohenpeißenberg","Hohenroda","Hohenschäftlarn","Hohenstadt(Mittelfr)","Hohenstein-Ernstthal","Hohensülzen","Hohenthurm","Hohenwarth","Hohenwarth Campingplatz","Hohenwestedt","Hohenwulsch","Hohndorf Mitte","Holdorf(Meckl)","Holdorf(Oldb)","Holm-Seppensen","Holstentherme","Holtensen/Linderte","Holthusen","Holzdorf(Elster)","Holzdorf(b Weimar)","Holzgerlingen Bf","Holzgerlingen Buch","Holzgerlingen Nord","Holzhau","Holzhau Skilift","Holzhausen(Kr Siegen)","Holzhausen-Heddinghausen","Holzheim(b Neuss)","Holzkirchen","Holzminden","Holzwickede","Homburg(Saar)Hbf","Honrath","Hopfgarten(Sachs)","Hopfgarten(Weimar)","Hoppecke","Hoppegarten(Mark)","Hoppegarten(Mark)","Hoppingen","Hoppstädten(Nahe)","Horb","Horb-Heiligenfeld","Horka","Horn-Bad Meinberg","Hornberg(Schwarzw)","Horneburg","Hornstorf","Horrem","Horst(Holst)","Hosena","Hoyerswerda","Hoykenkamp","Hubacker","Hubertushöhe","Huchem-Stammeln","Huckstorf","Hude","Hufschlag","Huglfing","Hugstetten","Hulb","Hummelberg","Hundsgrün","Hundstadt","Hungen","Huntlosen","Husby","Husum","Huttenheim","Huzenbach","Hähnichen","Hähnlein-Alsbach","Hämelerwald","Hämerten","Häuserhof","Höchst Hetschbach","Höchst Mümling-Grumbach","Höchst(Odenw)","Höchstädt(Donau)","Höfen(Enz) Bf","Höfen(Enz) Nord","Höfingen","Höhenkirchen-Siegertsbrunn","Höhmühlbach","Höllenthal","Höllriegelskreuth","Höpfling","Hörden","Hörlkofen","Hörpolding","Hörschel Hp","Hörselgau","Hörstel","Hörstmar(Lippe)","Hösbach","Hösel","Hövelhof","Hövelriege","Höxter Rathaus","Hückelhoven-Baal","Hüffenhardt","Hüfingen Mitte","Hünfeld","Hürth-Kalscheuren","Hütten","Hüttenbusch","Hüttengrund","Hüttingen","Ibach","Ibbenbüren","Ibbenbüren-Esch","Ibbenbüren-Laggenbeck","Ichenhausen","Icking","Idar-Oberstein","Idstein(Taunus)","Iffeldorf","Igel","Igensdorf","Igersheim","Ihringen","Ilberstedt","Ilfeld","Ilfeld Bad","Ilfeld Neanderklinik","Ilfeld Schreiberwiese","Illertissen","Illesheim","Illingen(Saar)","Illingen(Württ)","Ilmenau","Ilmenau Bad","Ilmenau Pörlitzer Höhe","Ilmenau-Roda","Ilsenburg","Immelborn","Immendingen","Immendingen Mitte","Immendingen Zimmern","Immenhausen","Immenreuth","Immensen-Arpke","Immenstadt","Imsweiler","Ingelbach","Ingelheim","Ingolstadt Hbf","Ingolstadt Nord","Inningen","Inselstadt Malchow","Insheim","Iphofen","Ipsheim","Irfersgrün","Irrenlohe","Iserlohn","Iserlohnerheide","Isernhagen","Ismaning","Ispringen","Isselhorst-Avenwedde","Istein","Ittersbach Bahnhof","Ittersbach Rathaus","Ittling","Ittlingen","Itzehoe","Itzelberg","Jabel(Meckl)","Jacobsdorf(Mark)","Jagdschloß","Jagstzell","Jahnsdorf(Erzgeb)","Jakobwüllesheim","Jarrenwisch","Jasnitz","Jatznick","Jeber-Bergfrieden","Jechtingen","Jeeser","Jena Paradies","Jena Saalbf","Jena West","Jena-Göschwitz","Jena-Zwätzen","Jesewitz(Leipzig)","Jessen(Elster)","Jettenbach","Jettingen","Jever","Jeßnitz(Anh)","Joachimsthal","Joachimsthal Kaiserbahnhof","Jocketa","Jockgrim Bf","Johanngeorgenstadt","Jossa","Julbach","Jungingen(Hohenz)","Jungnau","Jägerhaus","Jägersfreude","Jänschwalde","Jänschwalde Ost","Jävenitz","Jöhlingen","Jöhlingen","Jöhlingen West","Jößnitz","Jübek","Jüchen","Jülich","Jülich Forschungszentrum","Jülich-Broich","Jülich-Nord","Jülich-Selgersdorf","Jünkerath","Jüterbog","Kaarst IKEA","Kaarst Mitte/Holzbüttgen","Kaarster Bahnhof","Kaarster See","Kablow","Kahl Kopp/Heide","Kahl(Main)","Kahl(Main)","Kahla(Thür)","Kainzenbad","Kaisersesch","Kaiserslautern Hbf","Kaiserslautern Pfaffwerk","Kaiserslautern West","Kalchreuth","Kaldenkirchen","Kalenborn(Westerw)","Kall","Kalsow","Kalteneck","Kaltenkirchen Süd","Kaltenkirchen(Holst)","Kalthof(Kr Iserlohn)","Kamen","Kamen-Methler","Kamenz(Sachs)","Kamp-Bornhofen","Kandel","Kandern","Kanzem","Kapellen-Drusweiler","Kapellen-Wevelinghoven","Kapen Biosphärenreservat","Kappelrodeck","Kappelrodeck Ost","Kapsweyer","Karlsburg","Karlsdorf","Karlshagen","Karlsruhe Albtalbf","Karlsruhe Bahnhofsvorplatz","Karlsruhe Durlacher Tor","Karlsruhe Entenfang","Karlsruhe Hbf","Karlsruhe Marktplatz (Kaiserstraße)","Karlsruhe Mühlburger Tor","Karlsruhe West","Karlsruhe West","Karlsruhe-Durlach","Karlsruhe-Durlach","Karlsruhe-Hagsfeld","Karlsruhe-Kniel. Rheinbergstr.","Karlsruhe-Knielingen","Karlsruhe-Mühlburg","Karlsruhe-Neureut Kirchfeld","Karlstadt(Main)","Karpfham","Karsdorf","Karstädt","Karthaus","Kasbach","Kasbach Brauerei Steffens","Kassel Hbf","Kassel Hbf (tief)","Kassel-Harleshausen","Kassel-Jungfernkopf","Kassel-Kirchditmold","Kassel-Oberzwehren","Kassel-Wilhelmshöhe","Kastl(Oberbay)","Katharinenheerd","Kating","Katlenburg","Kattenes","Kattenvenne","Katzenfurt","Katzhütte","Katzwang","Katzweiler","Kaub","Kaufbeuren","Kaufering","Kaulsdorf(Saale)","Kavelstorf(Kr Rostock)","Kehl","Kehlen","Keitum","Kelkheim","Kelkheim-Hornau","Kelkheim-Münster","Kellmünz","Kelsterbach","Kemnath-Neustadt","Kempen(Niederrhein)","Kempten(Allgäu)Hbf","Kempten(Allgäu)Ost","Kemtau","Kennelgarten","Kenz","Kenzingen","Kerkerbach","Kerkwitz","Kersbach","Kestert","Kettwig","Kettwig Stausee","Kevelaer","Kiebingen","Kiebitzhöhe","Kiefersfelden","Kiel Hbf","Kiel Schulen am Langsee","Kiel-Elmschenhagen","Kiel-Hassee CITTI-PARK","Kiel-Russee","Killer","Kinding(Altmühltal)","Kindsbach","Kirch Göns","Kirch-Jesar","Kirchanschöring","Kirchberg(Murr)","Kirchdorf(Deister)","Kirchehrenbach","Kirchen","Kirchenlaibach","Kirchenlamitz Ost","Kirchentellinsfurt","Kirchhain(Bz Kassel)","Kirchhammelwarden","Kirchheim(Neckar)","Kirchheim(Teck)","Kirchheim(Teck)-Ötlingen","Kirchheim(Teck)Süd","Kirchheim(Unterfr)","Kirchheim(Weinstr)","Kirchheimbolanden","Kirchhorsten","Kirchhundem","Kirchlengern","Kirchmöser","Kirchscheidungen","Kirchseeon","Kirchseeon","Kirchweidach","Kirchweyhe","Kirchzarten","Kirkel","Kirn","Kirnbach-Grün","Kirnsulzbach","Kirschbaumwasen","Kissing","Kitzingen","Kißlegg","Klaffenbach Hp","Klais","Klandorf","Klanxbüll","Klasdorf Glashütte","Klecken","Klein Bünzow","Klein Gerau","Klein Winternheim-Ober Olm","Kleinberghofen","Kleinenbroich","Kleinensiel","Kleinforst Rosensee","Kleinfurra","Kleingemünden","Kleinheubach","Kleinjena","Kleinkems","Kleinkötz","Kleinostheim","Kleinröhrsdorf","Kleinschirma","Kleinsteinbach","Kleinwallstadt","Kleve","Klieken","Klinge","Klingenberg(Main)","Klingenberg-Colmnitz","Klingenbrunn","Klingenthal","Klinikum Bremen-Nord/Beckedorf","Klitschmar","Kloster Bronnbach","Kloster Marienthal","Kloster Oesede","Klosterbuch","Klosterfelde","Klosterlechfeld","Klostermansfeld","Klosterreichenbach","Klotten","Kläden(Stendal)","Knautnaundorf","Knesebeck","Knittlingen-Kleinvillars","Knöringen-Essingen","Kobern-Gondorf","Koblenz Hbf","Koblenz Stadtmitte","Koblenz-Ehrenbreitstein","Koblenz-Güls","Koblenz-Lützel","Koblenz-Moselweiß","Kochel","Kodersdorf","Kohlscheid","Kohlstetten","Kolbermoor","Kolkwitz","Kolkwitz Süd","Kollmarsreute","Kollnau","Konstanz","Konstanz-Fürstenberg","Konstanz-Petershausen","Konstanz-Wollmatingen","Konz","Konz Mitte","Konz Mitte","Korbach","Korbach Süd","Kordel","Kork","Korntal","Korntal Gymnasium","Kornwestheim Pbf","Korschenbroich","Koserow","Kothmaißling","Kottenheim","Kraftsdorf","Kraftwerk Finkenheerd","Kraghammer","Kranichfeld","Kratzeburg","Krauthausen","Kredenbach","Krefeld Hbf","Krefeld-Hohenbudberg Chempark","Krefeld-Linn","Krefeld-Linn","Krefeld-Oppum","Krefeld-Uerdingen","Kreiensen","Kreimbach-Kaulbach","Kremmen","Krempe","Kremperheide","Krensitz","Kressbronn","Kretscham-Rothensehma","Kreuz Konz","Kreuzau Bahnhof","Kreuzau-Eifelstraße","Kreuzberg(Ahr)","Kreuzstraße","Kreuztal","Kreuztal-Littfeld","Kriftel","Krippen","Kronach","Kronberg Süd","Kronberg(Taunus)","Kronshagen","Kronskamp","Kronweiler","Kruft","Krumbach(Schw)Schule","Krumbach(Schwab)","Krumhermsdorf","Krumpa","Krupunder","Krölpa-Ranis","Kröpelin","Kubschütz","Kuchen","Kulmbach","Kummerow(Stralsund)","Kummersdorf(Storkow)","Kunersdorf","Kupfermühle","Kuppenheim","Kurort Altenberg(Erzgebirge)","Kurort Jonsdorf","Kurort Jonsdorf Hst","Kurort Oberwiesenthal","Kurort Oybin","Kurort Oybin-Niederdorf","Kurort Rathen","Kusel","Kutenholz","Kutzenhausen","Kyhna","Kyllburg","Kyritz","Kälberau","Kämmereiforst","Köditz","Köfering","Kölleda","Köln Airport-Businesspark","Köln Frankfurter Straße","Köln Geldernstr./Parkgürtel","Köln Hansaring","Köln Hbf","Köln Messe/Deutz","Köln Messe/Deutz Gl. 9-10","Köln Messe/Deutz Gl.11-12","Köln Steinstraße","Köln Süd","Köln Trimbornstr","Köln Volkhovener Weg","Köln West","Köln-Blumenberg","Köln-Buchforst","Köln-Chorweiler","Köln-Chorweiler Nord","Köln-Dellbrück","Köln-Ehrenfeld","Köln-Ehrenfeld","Köln-Holweide","Köln-Longerich","Köln-Mülheim","Köln-Müngersdorf Technologiepark","Köln-Nippes","Köln-Nippes","Köln-Stammheim","Köln-Weiden West","Köln-Worringen","Köln/Bonn Flughafen","Kölpinsee","Köndringen","Königs Wusterhausen","Königsbach(Baden)","Königsborn","Königsbronn","Königsbrück","Königschaffhausen","Königshofen(Baden)","Königshofen(Kahl)","Königslutter","Königsstollen","Königstein(Sächs Schw)","Königstein(Taunus)","Königswinter","Königswinter Fähre","Königswinter, Clem.-August-Str.","Könitz(Thür)","Könnern","Köppern","Körle","Köthen","Köttewitz","Kötzschau","Kövenig","Kühnhausen","Kühren","Külte-Wetterburg","Künsebeck","Küntrop","Küps","Kürbitz","Küstrin-Kietz","Laaber","Laage(Meckl)","Laberweinting","Ladenburg","Lage(Lippe)","Lagerlechfeld","Lahr(Schwarzw)","Laineck","Lalendorf","Lam","Lambrecht(Pfalz)","Lambsheim","Lampertheim","Lampertsmühle-Otterbach","Lampertswalde","Lancken","Landau(Isar)","Landau(Pfalz)Hbf","Landau(Pfalz)Süd","Landau(Pfalz)West","Landsberg(L)Schule","Landsberg(Lech)","Landsberg(b. Halle/Saale)","Landsberg(b. Halle/Saale) Süd","Landshut(Bay)Hbf","Landshut(Bay)Süd","Landstuhl","Landsweiler-Reden","Lang Göns","Langdorf","Langebrück(Sachs)","Langeln(Holst)","Langelsheim","Langen(Hess)","Langen-Flugsicherung","Langenargen","Langenau(Württ)","Langenbach(Oberbay)","Langenbrand","Langendorf","Langeneichstädt","Langenfeld(Rhld)","Langenfeld(Rhld)-Berghausen","Langenhagen Mitte","Langenhagen Pferdemarkt","Langenhagen-Kaltenweide","Langenhahn","Langenhorn(Schlesw)","Langenlonsheim","Langenmoor","Langenorla Ost","Langenorla West","Langenprozelten","Langenselbold","Langenstein","Langensteinbach Bahnhof","Langenwang(Schwab)","Langenweddingen","Langenwolmsdorf","Langenwolmsdorf Mitte","Langenzenn","Langerwehe","Langhagen","Langlau","Langquaid(b Eggmühl)","Langsdorf(Oberhess)","Langwedel","Langweid(Lech)","Lathen","Laubendorf","Laubenheim(Nahe)","Laucha(Unstrut)","Lauchhammer","Lauchheim","Lauchringen","Lauchringen West","Lauda","Laudenbach am Main","Laudenbach(Bergstr)","Laudenbach(Württ)","Lauenbrück","Lauenburg(Elbe)","Lauenförde-Beverungen","Lauenstein(Sachs)","Lauf West","Lauf(links Pegnitz)","Lauf(rechts Pegnitz)","Laufach","Laufen(Oberbay)","Laufenburg(Baden)","Laufenburg(Baden)Ost","Lauffen(Neckar)","Lauingen","Laupheim Stadt","Laupheim West","Laurenburg(Lahn)","Lauscha(Thür)","Lauta(Nl)","Lautenbach(Baden)","Lauter(Sachs)","Lauterbach Mole","Lauterbach(Hess)Nord","Lauterbach(Rügen)","Lauterbach-Steinbach","Lauterecken-Grumbach","Laußig(Düben)","Laußnitz","Lebach","Lebach-Jabach","Leer(Ostfriesl)","Leese-Stolzenau","Legden","Legefeld","Legelshurst","Lehmen","Lehndorf(Altenburg)","Lehnheim","Lehnitz","Lehrte","Leichlingen","Leiferde(b Gifhorn)","Leimstruth","Leinefelde","Leinfelden","Leingarten","Leingarten Mitte","Leingarten Ost","Leingarten West","Leipheim","Leipzig Allee-Center","Leipzig Anger-Crottendorf","Leipzig Bayerischer Bahnhof","Leipzig Coppiplatz","Leipzig Grünauer Allee","Leipzig Hbf","Leipzig Hbf (tief)","Leipzig Karlsruher Str","Leipzig MDR","Leipzig Markt","Leipzig Messe","Leipzig Messe","Leipzig Miltitzer Allee","Leipzig Nord","Leipzig Olbrichtstraße","Leipzig Slevogtstraße","Leipzig Völkerschlachtdenkmal","Leipzig Werkstättenstraße","Leipzig Wilhelm-Leuschner-Platz","Leipzig-Connewitz","Leipzig-Engelsdorf","Leipzig-Engelsdorf","Leipzig-Gohlis","Leipzig-Heiterblick","Leipzig-Holzhausen","Leipzig-Knauthain","Leipzig-Leutzsch","Leipzig-Liebertwolkwitz","Leipzig-Lindenau","Leipzig-Lützschena","Leipzig-Miltitz","Leipzig-Möckern","Leipzig-Mölkau","Leipzig-Paunsdorf","Leipzig-Paunsdorf","Leipzig-Plagwitz","Leipzig-Rückmarsdorf","Leipzig-Sellerhausen","Leipzig-Stötteritz","Leipzig-Thekla","Leipzig-Wahren","Leipzig/Halle Flughafen","Leisnig","Leitstade","Leißling","Lembeck","Lemförde","Lemgo","Lemgo-Lüttfeld","Lemmie","Lendringsen","Lengede-Broistedt","Lengefeld-Rauenstein","Lengenfeld(Vogtl)","Lengenwang","Lengerich(Westf)","Lenggries","Lenglern","Lennestadt-Altenhundem","Lennestadt-Grevenbrück","Lennestadt-Meggen","Lensahn","Lentföhrden","Leonberg","Leopoldshafen Leopoldstr.","Leopoldstal","Leschede","Letmathe","Letmathe Dechenhöhle","Letschin","Lette(Kr Coesfeld)","Letter","Letter","Leubingen","Leubsdorf(Rhein)","Leubsdorf(Sachs)","Leun/Braunfels","Leuna Werke Nord","Leuna Werke Süd","Leutenberg","Leuterschach","Leutesdorf(Rhein)","Leuthen(Cottbus)","Leutkirch","Leverkusen Chempark","Leverkusen Mitte","Leverkusen Mitte","Leverkusen-Küppersteg","Leverkusen-Küppersteg","Leverkusen-Rheindorf","Leverkusen-Schlebusch","Lich(Oberhess)","Lichtenberg(Erzgeb)","Lichtenfels","Lichtenhain(a d Bergbahn)","Lichtenstein Ernst-Schneller-Siedlung","Lichtenstein Gewerbegebiet","Lichtenstein Hartensteiner Straße","Lichtenstein(Sachs)","Lichtentanne(Sachs)","Lichtentanne(Thür)","Lichtenthal","Liebenthal(Prignitz)","Lieblos","Liederbach","Liederbach-Süd","Lietzow(Rügen)","Limbach(Vogtl)","Limbach(b Homburg,Saar)","Limburg Süd","Limburg(Lahn)","Limburgerhof","Limmritz(Sachs)","Linda(Elster)","Lindach","Lindau Hbf","Lindau-Aeschach","Lindenberg(Mark)","Lindenholzhausen","Lindern","Lindhorst(Schaumb-Lippe)","Lindow(Mark)","Lindwedel","Lingen(Ems)","Lingenfeld","Linkenheim Rathaus","Linnich Bhf","Linnich-Tetz","Linsburg","Linsenhofen","Linz(Rhein)","Lippstadt","Lispenhausen","Lissendorf","Listerscheid","Lobstädt","Lochham","Lohgarten-Roth","Lohhof","Lohmen","Lohne(Oldb)","Lohnweiler","Lohr Bahnhof","Loitsch-Hohenleuben","Lollar","Lonsee","Loppenhausen","Lorch(Rhein)","Lorch(Württ)","Lorchhausen","Lorsbach","Lorsch","Lottschesee","Loxstedt","Loßburg-Rodt","Lubolz","Luckaitztal","Luckau-Uckro","Luckenau","Luckenwalde","Ludersheim","Ludwigsau-Friedlos","Ludwigsburg","Ludwigschorgast","Ludwigsfelde","Ludwigsfelde-Struveshof","Ludwigshafen(Bodensee)","Ludwigshafen(Rh)Hbf","Ludwigshafen(Rh)Hbf","Ludwigshafen(Rhein) BASF Mitte","Ludwigshafen(Rhein) BASF Nord","Ludwigshafen(Rhein) BASF Süd","Ludwigshafen(Rhein) Mitte","Ludwigshafen-Mundenheim","Ludwigshafen-Oggersheim","Ludwigshafen-Rheingönheim","Ludwigshöhe","Ludwigslust","Ludwigsstadt","Ludwigsthal","Luhe","Luhe-Wildenau","Luisenthal(Saar)","Lunden","Lunestedt","Lutherstadt Eisleben","Lutherstadt Wittenberg Altstadt","Lutherstadt Wittenberg Hbf","Lutherstadt Wittenberg-Labetz","Lutherstadt Wittenberg-Piesteritz","Lutten","Lutum","Löbau(Sachs)","Löcherberg","Löcknitz","Lödingsen","Löf","Löffingen","Löhnberg","Löhne(Westf)","Lörrach Dammstraße","Lörrach Hbf","Lörrach Museum/Burghof","Lörrach Schwarzwaldstraße","Lörrach-Brombach/Hauingen","Lörrach-Haagen/Messe","Lörrach-Stetten","Lörzenbach-Fahrenbach","Lövenich","Lövenich","Löwenberg(Mark)","Löwental","Lößnitz ob Bf","Lößnitz unt Bf","Lößnitzgrund","Lübbecke(Westf)","Lübben(Spreewald)","Lübbenau(Spreewald)","Lübberstedt","Lübeck Flughafen","Lübeck Hbf","Lübeck Hochschulstadtteil","Lübeck St Jürgen","Lübeck-Dänischburg IKEA","Lübeck-Kücknitz","Lübeck-Travem. Skandinavienkai","Lübeck-Travemünde Hafen","Lübeck-Travemünde Strand","Lüblow(Meckl)","Lübs(Magdeburg)","Lübstorf","Lüchtringen","Lüdenscheid","Lüdersdorf(Meckl)","Lüdinghausen","Lügde","Lüneburg","Lüneburg","Lünen Hbf","Lünern","Lüssow(Meckl)","Lütter","Lützel","Lützow","Maasbüll(b Niebüll)","Machern(Sachs)","Magdeburg Hasselbachplatz","Magdeburg Hbf","Magdeburg Herrenkrug","Magdeburg SKET Industriepark","Magdeburg Südost","Magdeburg-Buckau","Magdeburg-Eichenweiler","Magdeburg-Neustadt","Magdeburg-Rothensee","Magdeburg-Rothensee","Magdeburg-Salbke","Magdeburg-Sudenburg","Magstadt","Mahlow","Mahlwinkel","Maichingen","Maichingen Nord","Maikammer-Kirrweiler","Mainaschaff","Mainhausen Zellhausen","Mainleus","Mainroth","Maintal Ost","Maintal West","Mainz Hbf","Mainz Nord","Mainz Römisches Theater","Mainz-Bischofsheim","Mainz-Bischofsheim","Mainz-Gonsenheim","Mainz-Gustavsburg","Mainz-Kastel","Mainz-Laubenheim","Mainz-Marienborn","Mainz-Mombach","Maisach","Malchin","Malching(Oberbay)","Mallersdorf","Malmsheim","Malsch","Malsch Süd","Malsfeld","Malsfeld-Beiseförth","Malter","Mammendorf","Mandern","Manebach","Manndorf","Mannheim ARENA/Maimarkt","Mannheim ARENA/Maimarkt","Mannheim Handelshafen","Mannheim Hbf","Mannheim-Friedrichsfeld Süd","Mannheim-Käfertal","Mannheim-Luzenberg","Mannheim-Neckarau","Mannheim-Neckarstadt","Mannheim-Rheinau","Mannheim-Seckenheim","Mannheim-Waldhof","Marbach Ost (Villingen-Schwenningen)","Marbach West(Villingen-Schwenningen)","Marbach(Neckar)","Marbach(b Münsingen)","Marbach-Grafeneck","Marbeck-Heiden","Marburg Süd","Marburg(Lahn)","Maria Rain","Maria Veen","Marienborn","Marienhafe","Marienheide","Markdorf(Baden)","Marke","Markelfingen","Markelsheim","Markkleeberg","Markkleeberg Nord","Markkleeberg-Gaschwitz","Markkleeberg-Großstädteln","Markranstädt","Marksuhl","Markt Bibart","Markt Erlbach","Markt Indersdorf","Markt Schwaben","Marktbreit","Marktl","Marktleuthen","Marktoberdorf","Marktoberdorf Schule","Marktredwitz","Marktschorgast","Marl Mitte","Marl-Hamm","Marl-Sinsen","Marlishausen","Marnheim","Marquardt","Marsberg","Marstetten-Aitrach","Martensdorf","Martinlamitz","Martinroda","Martinstein","Martinstein","Martinszell(Allgäu)","Marxgrün","Marxzell","Marzling","Maschen","Maselheim","Massen","Massing","Matzing","Maubach","Mauer(b Heidelberg)","Maulbronn Stadt/Kloster","Maulbronn West","Maulbronn West","Maulburg","Mausheim","Mauthaus","Maxau","Maxhütte-Haidhof","Maximiliansau Eisenbahnstraße","Maximiliansau West","Maximiliansau-Im Rüsten","Mayen Ost","Mayen West","Mayschoß","Mechernich","Mechterstädt","Meckelfeld","Meckenbeuren","Meckenheim Industriepark","Meckenheim Kottenforst","Meckenheim(Bz Köln)","Meckesheim","Medewitz(Mark)","Meeder","Meerane","Meerbusch-Osterath","Meeschensee","Mehltheuer","Mehrhoog","Meine","Meinersdorf(Erzgeb)","Meinersen","Meinerzhagen","Meiningen","Meinsdorf","Meitingen","Meitzendorf","Meißen","Meißen Altstadt","Meißen Triebischtal","Melbach","Melchow","Meldorf","Melle","Mellenbach-Glasbach","Mellendorf","Mellingen(Thür)","Mellrichstadt Bf","Melsdorf","Melsungen","Melsungen Bartenwetzerbrücke","Melsungen-Röhrenfurth","Melsungen-Röhrenfurth","Memmingen","Menden(Rheinl)","Menden(Sauerland)","Menden(Sauerland)Süd","Mendig","Mengen","Mengeringhausen","Mengersgereuth-Hämmern","Mengersgereuth-Hämmern Ost","Menzingen(Baden)","Meppen","Merching","Merchweiler","Mering","Mering-St Afra","Mersch(Westf)","Merseburg","Merseburg Bergmannsring","Merten(Sieg)","Mertesheim","Mertingen Bahnhof","Merzenich","Merzig(Saar)","Merzig(Saar) Stadtmitte","Mesch Neue Mühle","Meschede","Messel","Messinghausen","Metelen Land","Mettenheim","Mettlach","Mettmann Stadtwald","Mettmann Zentrum","Metzingen(Württ)","Metzingen-Neuhausen","Meuselbach-Schwarzmühle","Meyenburg","Meßdorf","Michelau(Oberfr)","Michelau(Württ)","Michelaubrück","Michelbach(Unterfr)","Michelbach(Unterfr) Herrnmühle","Michelstadt","Michendorf","Miedelsbach-Steinenberg","Miesbach","Miesenbach","Miesenheim","Mieste","Miesterhorst","Millingen(b Rees)","Millingen(b Rheinb)","Miltach","Miltenberg","Miltern","Miltzow","Mimberg","Mindelaltheim","Mindelheim","Minden(Westf)","Mirow","Mistorf","Mittel Gründau","Mittelherwigsdorf","Mitteloelsnitz","Mittelschmalkalden","Mittelsinn","Mittenwald","Mittergars","Mittweida","Mixdorf","Mochenwangen","Mockrehna","Moers","Moidentin","Monbach-Neuhausen","Monreal","Monsheim","Montabaur","Montabaur","Monzingen","Moorbekhalle","Moosbachtal","Moosburg","Moosrain","Moritzburg","Morlesau","Morsum","Mosbach West","Mosbach(Baden)","Mosbach-Neckarelz","Mosel","Moselkern","Mudersbach","Muggensturm","Muggensturm Badesee","Muhr a See","Mulda(Sachs)","Muldenberg Floßplatz","Muldenhütten","Muldenstein","Mulsum-Essel","Munderkingen","Munster(Örtze)","Murg(Baden)","Murnau","Murnau Ort","Murrhardt","Mußbach","Mägdesprung","Mägerkingen","Möckmühl","Mögelin","Mögglingen(Gmünd)","Möhringen Bahnhof","Möhringen Rathaus","Mölln(Lauenb)","Mölln(Meckl)","Mömbris-Mensengesäß","Mömbris-Strötzbach","Mönchengladbach Hbf","Mönchengladbach-Genhausen","Mönchengladbach-Lürrip","Mönchengladbach-Rheindahlen","Mönchhagen","Mönchröden","Mörfelden","Möringen(Altm)","Mörlenbach","Möser","Mössingen","Möttingen","Mücheln(Geiseltal)","Mücheln(Geiseltal) Stadt","Mücke(Hess)","Müden(Mosel)","Mügeln Bf","Mügeln Stadt","Mühlacker","Mühlacker Rößlesweg","Mühlanger","Mühlbach(Pirna)","Mühldorf(Oberbay)","Mühlen(Oldb)","Mühlen(b Horb)","Mühlenbeck-Mönchmühle","Mühlhausen(Thür)","Mühlhausen(b Engen)","Mühlheim(Main)","Mühlheim(Main)-Dietesheim","Mühlheim(b Tuttlingen)","Mühlstetten","Mühltal","Mühringen","Mülheim(Ruhr)Hbf","Mülheim(Ruhr)Styrum","Mülheim(Ruhr)West","Müllheim(Baden)","Müllrose","Münchberg","Müncheberg(Mark)","Münchehof(Harz)","München Donnersbergerbrücke","München Flughafen Besucherpark","München Flughafen Terminal","München Flughafen Terminal","München Hackerbrücke","München Harras","München Hbf","München Hbf (tief)","München Hbf Gl.27-36","München Hbf Gl.5-10","München Heimeranplatz","München Heimeranplatz","München Hirschgarten","München Isartor","München Karlsplatz","München Leienfelsstr.","München Leuchtenbergring","München Marienplatz","München Ost","München Rosenheimer Platz","München Siemenswerke","München St.Martin-Str.","München(Bad Berka)","München-Allach","München-Aubing","München-Berg am Laim","München-Daglfing","München-Englschalking","München-Fasanerie","München-Fasangarten","München-Feldmoching","München-Freiham","München-Giesing","München-Johanneskirchen","München-Karlsfeld","München-Laim","München-Langwied","München-Lochhausen","München-Mittersendling","München-Moosach","München-Neuaubing","München-Neuperlach Süd","München-Obermenzing","München-Pasing","München-Pasing","München-Perlach","München-Riem","München-Solln","München-Trudering","München-Untermenzing","München-Westkreuz","Münchhausen","Münchingen","Münchingen Rührberg","Münchsmünster","Münchweiler(Alsenz)","Münchweiler(Rodalb)","Münnerstadt","Münsingen","Münster(W)Zentrum Nord","Münster(Westf)Hbf","Münster(Westf)Hbf","Münster(b Dieburg)","Münster-Albachten","Münster-Amelsbüren","Münster-Hiltrup","Münster-Häger","Münster-Roxel","Münster-Sarmsheim","Münster-Sprakel","Münstertal(Schwarzwald)","Münzesheim","Münzesheim Ost","Mürlenbach","Müssen","Nabburg","Nachterstedt-Hoym","Nackenheim","Nagold","Nagold Stadtmitte","Nagold-Iselshausen","Nagold-Steinberg","Naila","Namborn","Namedy","Namedy","Narsdorf","Nassau(Erzgeb)","Nassau(Lahn)","Nassenbeuren","Nassenheide","Natrup-Hagen","Nauen","Nauendorf(Saalkr)","Nauheim(b Gr.Gerau)","Naumburg(Saale)Hbf","Naumburg(Saale)Ost","Naumburg-Roßbach","Naundorf (b Oschatz)","Naunhof","Neanderthal","Nebitzschen","Nebra","Nechlin","Neckarbischofsheim Helmhof","Neckarbischofsheim Nord","Neckarbischofsheim Stadt","Neckarburken","Neckargemünd","Neckargemünd Altstadt","Neckargerach","Neckarhausen bei Neckarsteinach","Neckarsteinach","Neckarsulm","Neckarsulm","Neckarsulm Mitte","Neckarsulm Nord","Neckarsulm Süd","Neckarzimmern","Neef","Neetzendorf","Neetzka","Neheim-Hüsten","Nehren","Neidenfels","Neidenstein","Neinstedt","Nellmersbach","Nemmenich","Nemsdorf-Göhrendorf","Nendingen(b Tuttlingen)","Nennhausen","Nennig","Nennigmühle","Nenzingen","Nersingen","Nesselwang","Nettersheim","Netzeband","Netzkater","Netzschkau","Neu Isenburg","Neu Isenburg","Neu Pudagla","Neu St Jürgen","Neu Wokern","Neu Wulmstorf","Neu-Anspach","Neu-Edingen/Friedrichsfeld","Neu-Ulm","Neubeckum","Neubeckum","Neubiberg","Neubrandenburg","Neubrücke(Nahe)","Neubukow","Neuburg(Donau)","Neuburg(Kammel)","Neuburg(Rhein)","Neubäu","Neudenau","Neudietendorf","Neudorf(Erzgeb)","Neudorf-Platendorf","Neue Schenke","Neuenburg(Baden)","Neuenbürg(Enz)","Neuenbürg(Enz) Eyachbrücke","Neuenbürg(Enz) Freibad","Neuenbürg(Enz) Süd","Neuendettelsau","Neuenhagen(b Berlin)","Neuenkirchen(Oldb)","Neuenmarkt-Wirsberg","Neuenrade","Neuenstein","Neufahrn(Niederbay)","Neufahrn(b Freising)","Neuffen","Neufra(Hohenz)","Neugersdorf","Neugilching","Neuhaus am Rennweg","Neuhaus(Pegnitz)","Neuhaus-Igelshieb","Neuhausen Bad Bf","Neuhausen(Cottbus)","Neuhausen(b Landshut)","Neuhof(Kr Fulda)","Neuhof(b Zossen)","Neukieritzsch","Neukirch(Lausitz)Ost","Neukirch(Lausitz)West","Neukirchen(Inn)","Neukirchen(b Sulzb)","Neukirchen-Klaffenbach","Neukirchen-Wyhra","Neukloster(Kr Stade)","Neulußheim","Neumark(Sachs)","Neumarkt(Oberpf)","Neumarkt-St Veit","Neumühle(Elster)","Neumünster","Neumünster Stadtwald","Neumünster Süd AKN","Neundorf(Anh)","Neunhofen","Neunkirch","Neunkirchen a Sand","Neunkirchen(Kr Siegen)","Neunkirchen(Saar)-Wellesweiler","Neunkirchen(Saar)Hbf","Neuoelsnitz","Neupetershain","Neuruppin Rheinsberger Tor","Neuruppin West","Neuruppin West","Neusalza-Spremberg","Neuses(b Kronach)","Neusorg","Neuss Allerheiligen","Neuss Am Kaiser","Neuss Hbf","Neuss Hbf","Neuss Hbf","Neuss Rheinparkcenter","Neuss Süd","Neustadt am Rübenberge","Neustadt(Aisch)Bahnhof","Neustadt(Aisch)Mitte","Neustadt(Donau)","Neustadt(Dosse)","Neustadt(Holst)","Neustadt(Holst)Gbf","Neustadt(Kr Marburg)","Neustadt(Orla)","Neustadt(Sachs)","Neustadt(Schwarzw)","Neustadt(Waldnaab)","Neustadt(Weinstr) Süd","Neustadt(Weinstr)Hbf","Neustadt(b Coburg)","Neustadt-Böbig","Neustadt-Glewe","Neustadt-Hohenacker","Neustift(b Passau)","Neustrelitz Hbf","Neusäß","Neusörnewitz","Neutrebbin","Neuwied","Neuwirtshaus(Porscheplatz)","Neuzelle","Neuötting","Nidda","Nidderau","Nidderau","Nidderau-Eichen","Nidderau-Windecken","Nideggen-Brück","Niebüll","Niebüll neg","Niebüll, Sylt Shuttle","Niedaltdorf","Nieder Flörsheim-Dalsheim","Nieder Ohmen","Nieder Olm","Nieder Wöllstadt","Niederau","Niederau-Tuchmühle","Niederbiegen","Niederbobritzsch","Niederbrechen","Niederdollendorf","Niederdorf(Erzgeb)","Niederdorfelden","Niederdreisbach","Niederdresselndorf","Niedererbach","Niederfinow","Niedergörsdorf","Niederhadamar","Niederheimbach","Niederhöchstadt","Niederhövels","Niederjosbach","Niederlahnstein","Niederlehme","Niederlindhart","Niederlinxweiler","Niedermittlau","Niedermohr","Niederndodeleben","Niedernhausen(Taunus)","Niederoderwitz","Niederpöllnitz","Niederraunau","Niederroth","Niedersachswerfen","Niedersachswerfen Herkulesmarkt","Niedersachswerfen Ilfelder Straße","Niedersachswerfen Ost","Niederscheld(Dillkr)Süd","Niederschelden","Niederschelden Nord","Niederschlag","Niederschlottwitz","Niederschmalkalden","Niederselters","Niederspier","Niedersteinbach","Niederstetten","Niederstotzingen","Niedertrebra","Niederwalgern","Niederwalluf","Niederwartha","Niederweimar","Niederwiesa","Niederwillingen","Niederwinden","Niederwürschnitz","Niederzeuzheim","Niederzissen","Niederzwönitz","Niefern","Niemberg","Nienburg(Saale)","Nienburg(Weser)","Nienhagen(Halberst)","Nierstein","Nieukerk","Nievenheim","Nievern","Niklashausen","Nimburg(Baden)","Nistertal-Bad Marienberg","Nittel","Nohen","Nohfelden","Nohra(Weimar)","Nohra(Wipper)","Nonnenhorn","Nordbögge","Norddeich","Norddeich Mole","Norden","Nordendorf","Nordenham","Norderstedt Mitte","Nordhalben Bf","Nordhastedt","Nordhausen","Nordhausen Bahnhofsplatz","Nordhausen Hesseröder Straße","Nordhausen Nord","Nordhausen Ricarda-Huch-Straße","Nordhausen Schurzfell","Nordhausen-Altentor","Nordhausen-Krimderode","Nordhausen-Salza","Nordheim(Württ)","Nordholz","Nordsode","Nordstemmen","Nordwalde","Norf","Norheim","Norsingen","Northeim(Han)","Nortorf","Nossentin","Nottuln-Appelhülsen","Nufringen","Nußberg-Schönau","Nöbdenitz","Nördlingen","Nörten-Hardenberg","Nünchritz","Nürnberg Frankenstadion","Nürnberg Frankenstadion Sonderbahnsteig","Nürnberg Hbf","Nürnberg Nordost","Nürnberg Ost","Nürnberg Ostring","Nürnberg Rothenburger Str.","Nürnberg-Dutzendteich","Nürnberg-Dürrenhof","Nürnberg-Eibach","Nürnberg-Erlenstegen","Nürnberg-Gleißhammer","Nürnberg-Laufamholz","Nürnberg-Mögeldorf","Nürnberg-Rehhof","Nürnberg-Reichelsdorf","Nürnberg-Reichelsdorf","Nürnberg-Sandreuth","Nürnberg-Schweinau","Nürnberg-Stein","Nürnberg-Steinbühl","Nürnberg-Steinbühl","Nürtingen","Nürtingen-Roßdorf","Nürtingen-Vorstadt","Nützen","Ober Ramstadt","Ober Widdersheim","Oberachern","Oberachern Bindfadenfabrik","Oberaichen","Oberammergau","Oberasbach","Oberau","Oberaudorf","Oberbettingen-Hillesheim","Oberbillig","Oberbimbach","Oberboihingen","Oberbrechen","Oberdachstetten","Oberderdingen-Flehingen Industrie","Oberelchingen","Oberelsungen","Obererbach","Oberesslingen","Oberferrieden","Obergimpern","Obergries","Obergriesbach","Obergrunstedt","Oberhaid","Oberharmersbach Dorf","Oberharmersbach-Riersbach","Oberhausen Hbf","Oberhausen-Holten","Oberhausen-Osterfeld Süd","Oberhausen-Osterfeld Süd","Oberhausen-Sterkrade","Oberhof(Thür)","Oberholz","Oberkirch","Oberkirch-Köhlersiedlung","Oberkochen","Oberkotzau","Oberkrozingen","Oberlahnstein","Oberlauscha","Oberlenningen","Oberlichtenau","Oberlindhart","Oberlinxweiler","Obermaubach","Obermohr","Obernau","Obernburg-Elsenfeld","Oberndorf(Neckar)","Oberndorf(Wittgenstein)","Obernhof(Lahn)","Oberoderwitz","Oberoderwitz Oberdorf","Oberottmarshausen","Oberrohn","Oberrothenbach","Oberrotweil","Oberröblingen","Oberschefflenz","Oberschleißheim","Oberschlottwitz","Obersdorf","Obersinn","Oberstaufen","Oberstdorf","Obertraubling","Obertshausen(Kr Of)","Obertsrot","Oberursel(Taunus)","Oberursel-Stierstadt","OberurselWeißkirchen/Steinbach","Obervogelgesang","Oberweimar","Oberweißbach-Deesbach","Oberwerrn","Oberwesel","Oberwinden","Oberwinter","Oberzell","Oberzissen","Oberöwisheim","Obing","Obstfelderschmiede","Ochenbruck","Ochsenfurt","Ochsenhausen","Ochtmersleben","Ochtrup","Ockenheim","Odenheim Bf","Odenheim West","Oderin","Oebisfelde","Oederan","Oegeln","Oehna","Oelde","Oelsnitz Bahnhofstraße","Oelsnitz(Erzgeb)","Oelsnitz(Vogtl)","Oerel","Oerlenbach","Oerlinghausen","Oertzenhof","Oesede","Oestrich-Winkel","Oettingen(Bay)","Oeventrop","Offenau","Offenbach(Main) Kaiserlei","Offenbach(Main) Ledermuseum","Offenbach(Main) Marktplatz","Offenbach(Main)Hbf","Offenbach(Main)Ost","Offenbach-Bieber","Offenbach-Waldhof","Offenburg","Offenburg Kreisschulzentrum","Offenhausen","Offensen(Kr North)","Offingen","Oftersheim","Ohlstadt","Okarben","Oker","Olbernhau","Olbernhau West","Olbernhau-Grünthal","Olbersdorf Niederdorf","Olbersdorf Oberdorf","Olbersleben-Ellersleben","Olching","Oldenburg(Holst)","Oldenburg(Oldb)","Oldenburg-Wechloy","Oldenbüttel","Oldentrup","Olpe","Olsberg","Olsbrücken","Opladen","Opladen","Oppenau","Kiel-Oppendorf","Oppenheim","Oppenweiler(Württ)","Oppurg","Oranienbaum(Anh)","Oranienburg","Orlamünde","Orschweier","Ortrand","Oschatz","Oschatz Körnerstr","Oschatz Lichtstr","Oschatz Südbf","Oschersleben(Bode)","Osnabrück Altstadt","Osnabrück Hbf","Osnabrück Hbf","Osnabrück Hbf","Osnabrück-Sutthausen","Ostbevern","Osterburg","Osterburken","Osterhofen(Nby)","Osterhofen(Oberbay)","Osterholz-Scharmbeck","Ostermünchen","Osternienburg","Osterode am Harz Leege","Osterode am Harz Mitte","Ostersode","Osterspai","Osterstedt","Osterteich","Osterwald","Osterweddingen","Ostheim v Rhön","Ostheim(Kr Hanau)","Ostheim(b Butzbach)","Osthofen","Ostrach Bahnhof","Ostrau","Ostseebad Binz","Ostseebad Kühlungsborn Mitte","Ostseebad Kühlungsborn Ost","Ostseebad Kühlungsborn West","Ottbergen","Ottenau","Ottendorf(Mittweida)","Ottendorf-Okrilla Hp","Ottendorf-Okrilla Nord","Ottendorf-Okrilla Süd","Ottenhofen(Oberbay)","Ottenhofen-Bergel","Ottenhöfen","Ottenhöfen West","Ottensoos","Otterfing","Otterndorf","Ottersberg(Han)","Otterwisch","Otting","Otting-Weilheim","Ottobrunn","Ottweiler(Saar)","Otzberg Lengfeld","Otze","Ovelgünne","Overath","Owen(Teck)","Owschlag","Oy-Mittelberg","Oßmannstedt","Paderborn Hbf","Paderborn Kasseler Tor","Paderborn Nord","Paderborn-Schloss Neuhaus","Paffendorf","Paindorf","Palzem","Pankofen","Pansdorf","Papenburg(Ems)","Papendorf","Papiermühle(Stadtr)","Pappenheim","Parchim","Parkentin","Parsberg","Partenstein","Pasewalk","Pasewalk Ost","Passau Hbf","Passow(Uckermark)","Patersdorf","Paulinenaue","Paulinenaue","Paulinzella","Pechbrunn","Peenemünde","Pegau","Pegnitz","Peine","Peiting Nord","Peiting Ost","Peitz Ost","Peiß","Peißen","Peißenberg","Peißenberg Nord","Penzberg","Perkam","Perl","Perleberg","Petergrube","Petersaurach","Petersaurach Nord","Petershagen Nord","Petershagen(Uckerm)","Petershagen-Lahde","Petershausen(Obb)","Petersroda","Pfaffenhain","Pfaffenhausen","Pfaffenhofen(Ilm)","Pfalzel","Pfarrkirchen","Pfeddersheim","Pfettrach","Pflaumloch","Pforzheim Hbf","Pforzheim Maihälden","Pforzheim-Weißenstein","Pfreimd","Pfronten-Ried","Pfronten-Steinach","Pfronten-Weißbach","Pfullendorf","Pfungstadt","Pfäffingen","Philippsburg(Baden)","Philippshagen","Philippsheim","Piding","Pillgram","Pinneberg","Pinneberg","Pinnow(Uckermark)","Pinzberg","Pirk","Pirmasens Hbf","Pirmasens Nord","Pirna","Pirna-Copitz","Pirna-Copitz Nord","Pittenhart","Plaaz","Plaidt","Planegg","Plate(Meckl)","Plattling","Plaue(Thür)","Plauen(Vogtl) Mitte","Plauen(Vogtl) ob Bf","Plauen(Vogtl)-Straßberg","Plauen(Vogtl)West","Pleinfeld","Plessa","Plettenberg","Plochingen","Plön","Plüderhausen","Plüschow","Pockau-Lengefeld","Pocking","Poggenhagen","Poikam","Poing","Pommelsbrunn","Pommern(Mosel)","Pommritz","Ponitz","Poppenhausen","Porschdorf(Pirna)","Porstendorf","Porta Westfalica","Porz(Rhein)","Porz(Rhein)","Porz-Wahn","Posewald","Posewald","Possenhofen","Postbauer-Heng","Potsdam Charlottenhof","Potsdam Griebnitzsee","Potsdam Hbf","Potsdam Medienstadt Babelsberg","Potsdam Park Sanssouci","Potsdam Pirschheide","Potsdam-Babelsberg","Potsdam-Rehbrücke","Praest","Pratau","Preetz","Premnitz Nord","Premnitz Zentrum","Prenzlau","Pressath","Pressig-Rothenkirchen","Pretzfeld","Pretzier(Altm)","Pretzsch","Preußen","Priemerburg","Prien a Chiemsee","Priestewitz","Priort","Prisdorf","Prittitz","Pritzerbe","Pritzier","Pritzwalk","Pritzwalk Hainholz","Pritzwalk West","Probsteierhagen","Probstzella","Profen","Prora","Prora Ost","Prosselsheim","Prödel","Prösen","Prösen Ost","Prösen West","Puchheim","Pulheim","Pullach","Pulling(b Freising)","Pulsnitz","Pulsnitz Süd","Puschendorf","Putbus","Puttgarden","Putzkau","Pölchow","Pölling","Pönitz(Holst)","Pönitz(Leipzig)","Pösing","Pößneck ob Bf","Pößneck unt Bf","Quadrath-Ichendorf","Quakenbrück","Quedlinburg","Quedlinburg-Quarmbeck","Quelle","Quelle","Quelle","Quelle-Kupferheide","Querfurt","Quickborn","Quickborn Süd","Quickborner Straße","Quierschied","Quint","Rabenau","Rackith(Elbe)","Rackwitz(Leipzig)","Radbruch","Raddusch","Radeberg","Radebeul Ost","Radebeul Ost","Radebeul-Kötzschenbroda","Radebeul-Naundorf","Radebeul-Weintraube","Radebeul-Zitzschewig","Radeburg","Radersdorf","Radis","Radldorf(Niederbay)","Radolfzell","Raestrup-Everswinkel","Raguhn","Rahden(Kr Lübbecke)","Rain","Raindorf","Raisdorf","Raisdorf","Raisting","Raitersaich","Rakow","Rambin(Rügen)","Ramerberg","Rammelsbach","Rammingen(Bay)","Rammingen(Württ)","Ramsbach Birkhof","Ramsbach Höfle","Ramsberg","Ramsen","Ramsenthal","Ramstein","Rangendingen","Rangsdorf","Ranstadt","Rastatt","Rastatt Beinle","Rastede","Rastow","Rathenow","Rathmannsdorf(Kr Pirna)","Ratingen Ost","Ratzeburg","Raubling","Rauenstein(Thür)","Raumland-Markhausen","Raumünzach","Raun","Raunheim","Ravensburg","Rebdorf-Hofmühle","Rech","Rechenberg","Rechtenstein","Rechterfeld","Reckendorf","Reckenfeld","Recklinghausen Hbf","Recklinghausen Süd","Reckweilerhof","Reddelich","Rednitzhembach","Redwitz(Rodach)","Regen","Regensburg Hbf","Regensburg-Burgweinting","Regensburg-Prüfening","Regensburg-Prüfening","Regenstauf","Regis-Breitingen","Rehau","Rehfeld(Falkenberg)","Rehfelde","Rehna","Rehweiler","Reichelsdorfer Keller","Reichelsheim(Wett)","Reichenau(Baden)","Reichenbach(Fils)","Reichenbach(Oberlausitz)","Reichenbach(Vogtl) ob Bf","Reichenbach(b. Ettlingen)","Reichenberg(Unterfr)","Reichenschwand","Reichersbeuern","Reichertshausen(Ilm)","Reicholzheim","Reifland-Wünschendorf","Reihen","Reil","Reilsheim","Reinbek","Reinfeld(Holst)","Reinhardsbrunn-Friedrichroda","Reinheim(Odenw)","Reinsbüttel","Reinsdorf(Artern)","Reinsdorf(bei Nebra)","Reinstetten","Reisen(Hess)","Reiskirchen(Kr Gi)","Reken","Remagen","Remscheid Hbf","Remscheid-Güldenwerth","Remscheid-Lennep","Remscheid-Lüttringhausen","Renchen","Rendsburg","Renningen","Renningen Süd","Rennsteig","Rentrisch","Rentweinsdorf","Rentwertshausen","Rentzschmühle","Rethen(Leine)","Retzbach-Zellingen","Reurieth","Reuterstadt Stavenhagen","Reuth(b Erbendorf)","Reuth(b Plauen,Vogtl)","Reutlingen Hbf","Reutlingen West","Reutlingen-Betzingen","Reutlingen-Sondelfingen","Reußen","Rhade","Rheda-Wiedenbrück","Rheinbach","Rheinbach Römerkanal","Rheinberg(Rheinl)","Rheinbrohl","Rheine","Rheine-Mesum","Rheinfelden(Baden)","Rheinhausen","Rheinhausen Ost","Rheinsberg(Mark)","Rheinsheim","Rheinweiler","Rheinzabern Alte Römerstraße","Rheinzabern Bf","Rheinzabern Rappengasse","Rhens","Rheydt Hbf","Rheydt Hbf","Rheydt-Odenkirchen","Rhöndorf","Ribnitz-Damgarten Ost","Ribnitz-Damgarten West","Richen(b Eppingen)","Rickling","Ried","Riederau","Riedlingen","Riedrode","Riedstadt-Goddelau","Riedstadt-Wolfskehlen","Riegel am Kaiserstuhl Ort","Riegel-Malterd.NE","Riegel-Malterdingen","Riehen","Riehen Niederholz","Rieneck","Riesa","Rieschweiler","Rieseby","Rieste","Riestedt","Rietheim(Württ)","Rietschen","Rimbach","Ringleben-Gebesee","Ringsheim","Rinkerode","Rinklingen","Rinnthal","Rinteln","Rippberg","Ritschenhausen","Ritterhude","Rockenhausen","Rodalben","Rodenbach(Dillkr)","Rodenbach(b Hanau)","Rodenkirchen(Oldb)","Rodewisch","Rodgau-Dudenhofen","Rodgau-Hainhausen","Rodgau-Jügesheim","Rodgau-Nieder Roden","Rodgau-Rollwald","Rodgau-Weiskirchen","Rodheim v d Höhe","Roding","Rodleben","Roggentin","Rohr(Thür)","Rohrbach(Ilm)","Rohrbach(Oberbay)","Rohrbach(Pfalz)","Rohrbach(Saar)","Rohrenfeld","Roigheim","Roisdorf","Roitzsch(Bitterf)","Rolandseck","Rollhofen","Rommelshausen","Rommerskirchen","Ronneburg(Thür)","Ronnenberg","Ronshausen","Rosbach v d Höhe","Rosbach(Sieg)","Rosenau(b Grafenau)","Rosenberg(Baden)","Rosendahl-Holtwick","Rosenheim","Rosenheim Hochschule","Rosenwinkel","Rostock Hbf","Rostock Holbeinplatz","Rostock Parkstraße","Rostock Thierfelder Str.","Rostock-Bramow","Rostock-Evershagen","Rostock-Kassebohm","Rostock-Lichtenhagen","Rostock-Lütten Klein","Rostock-Marienehe","Rostock-Torfbrücke","Rot am See","Rot-Malsch","Rotenbach(Enz)","Rotenburg a.d. Fulda","Rotenburg(Wümme)","Rotenhain","Roth","Rothenburg ob der Tauber","Rothenbürg","Rothenstein(Saale)","Rott(Inn)","Rottenacker","Rottenbach","Rottenburg(Neckar)","Rottendorf","Rottershausen","Rottweil","Rottweil Göllsdorf","Rottweil Neufra","Rottweil Saline","Roßbach(Pfalz)","Roßla","Roßlau(Elbe)","Roßtal","Roßtal Wegbrücke","Rudersberg","Rudersberg Nord","Rudersberg-Oberndorf","Rudersdorf(Siegen)","Rudolstadt(Thür)","Rudolstadt-Schwarza","Ruhland","Ruhlsdorf-Zerpenschleuse","Ruhmannsfelden","Ruhpolding","Ruhstorf","Rumeln","Rummenohl","Runkel","Ruppertsgrün","Rupprechtstegen","Ruschberg","Ruschwedel","Rutesheim","Ruthenbeck","Rätzlingen","Röblingen am See","Rödental","Rödental Mitte","Rödermark-Ober Roden","Rödermark-Urberach","Rödlitz-Hohndorf","Röhrmoos","Röhrnbach","Rönshausen","Röntgental","Röslau","Rösrath","Rösrath-Stümpen","Röt","Rötenbach(Baden)","Rötgesbüttel","Röthenbach(Allgäu)","Röthenbach(Oberpf)","Röthenbach(Pegnitz)","Röthenbach-Seespitze","Röthenbach-Steinberg","Rövershagen","Rückersbacher Schlucht","Rückersdorf","Rückersdorf(Mfr)","Rüdesheim(Rhein)","Rüdnitz","Rülzheim Bf","Rülzheim Freizeitzentrum","Rümmingen","Ründeroth","Rüsselbach","Rüsselsheim","Rüsselsheim Opelwerk","Saal(Donau)","Saalburg(Taunus)","Saalfeld(Saale)","Saarbrücken Hbf","Saarbrücken Ost","Saarbrücken-Burbach","Saarburg(Bz Trier)","Saarhölzbach","Saarlouis Hbf","Saarmund","Saasen","Saatel","Sachsen(b Ansbach)","Sachsendorf(Calbe)","Sachsenhausen(Nordb)","Sachsenheim","Sagard","Sagehorn","Salach","Salem","Sallach","Salmtal","Salzbergen","Salzgitter-Bad","Salzgitter-Immendorf","Salzgitter-Lebenstedt","Salzgitter-Ringelheim","Salzgitter-Thiede","Salzgitter-Watenstedt","Salzkotten","Salzwedel","Samtens","Sand(Niederbay)","Sande","Sandebeck","Sanderbusch","Sandersleben(Anh)","Sandförde","Sandhagen(b Bad Dob)","Sandkrug","Sandwehle","Sangerhausen","Sanitz(b Rostock)","Sanssouci","Sarnau","Sarnow","Sarstedt","Sasbach am Kaiserstuhl","Sassenroth","Sassnitz","Satteldorf","Satzvey","Sauerlach","Saulgrub","Saulheim","Schafbrücke","Schaftlach","Schaidt(Pfalz)","Schalchen","Schalkau","Schalkau Mitte","Schalksmühle","Schalkstetten","Schallstadt","Schameder","Schandelah","Scharbeutz","Scharfenstein","Scharmede","Scharstorf","Schechen","Scheeßel","Scheidt(Saar)","Schelklingen","Schemmerberg","Schenkenzell","Scheppach","Scherfede","Scheuerfeld(Sieg)","Scheven","Schieder","Schierbrok","Schierke","Schierling","Schierstedt","Schifferstadt","Schifferstadt Süd","Schiffweiler","Schiltach","Schiltach Mitte","Schimborn","Schirgiswalde-Kirschau","Schirnding","Schkeuditz","Schkeuditz West","Schkopau","Schladen(Harz)","Schladern(Sieg)","Schlatt(Hohenz)","Schlechtbach","Schleife","Schleswig","Schliengen","Schlierbach(Schwalm-Eder-Kr.)","Schliersee","Schloß Holte","Schluchsee","Schlüchtern","Schmachtenhagen","Schmalkalden","Schmalkalden-Fachhochschule","Schmalnau","Schmidtheim","Schmiechen","Schmiechen Albbahn","Schmiechen(Schwab)","Schmilka-Hirschmühle","Schmollensee","Schmölln(Ol)","Schmölln(Thür)","Schnabelwaid","Schnaittach Markt","Schneeberg im Odenwald","Schneeberg(Mark)","Schnega","Schneidhain","Schnelldorf","Schneverdingen","Schney","Schnitzmühle","Schoden-Ockfen","Schondorf(Bay)","Schongau","Schonungen","Schopfheim","Schopfheim West","Schopfloch(b Freudenstadt)","Schopp","Schorndorf","Schorndorf-Hammerschlag","Schortens-Heidmühle","Schrezheim","Schrobenhausen","Schrozberg","Schutzbach","Schwaan","Schwabach","Schwabach-Limbach","Schwabhausen(b Dachau)","Schwabmünchen","Schwabsberg","Schwaig","Schwaigern Ost","Schwaigern(Württ)","Schwaigern(Württ) West","Schwaikheim","Schwalbach(Taunus)Limes","Schwalbach(Taunus)Nord","Schwallungen","Schwalmstadt-Wiera","Schwandorf","Schwanheide","Schwante","Schwarmstedt","Schwarzburg","Schwarzenbach(Saale)","Schwarzenbach(b Pressath)","Schwarzenbek","Schwarzenberg","Schwarzenberg Hp","Schwarzenberg(Erzg)","Schwarzenberg-Neuwelt","Schwarzenfeld(Opf)","Schwarzheide Ost","Schwarzkollm","Schwedt(Oder)","Schwedt(Oder)Mitte","Schweich(DB)","Schweighofen","Schweikershain","Schweinfurt Hbf","Schweinfurt Mitte","Schweinfurt Stadt","Schweinsburg-Culten","Schweinsdorf","Schwelm","Schwelm West","Schwenningen(Bay)","Schwenningen(Neckar)","Schwenzin","Schweppenburg-Heilbrunnen","Schwerin Hbf","Schwerin Mitte","Schwerin Süd","Schwerin-Görries","Schwerin-Görries","Schwerin-Lankow","Schwerin-Margaretenhof","Schwerin-Warnitz","Schwerin-Wüstmark","Schwerte(Ruhr)","Schweta Bf","Schweta Gasth","Schwetzingen","Schwieberdingen","Schwindegg","Schwäbisch Gmünd","Schwäbisch Hall","Schwäbisch Hall-Hessental","Schwörstadt","Schöllkrippen","Schömberg Stausee","Schömberg(b Balingen)","Schöna","Schönau(Hörsel)","Schönberg(Holstein)","Schönberg(Meckl)","Schönberg(Vogtl)","Schönberger Strand","Schönborn(Doberl)","Schönebeck Süd","Schönebeck(Elbe)","Schönebeck-Bad Salzelmen","Schönebeck-Felgeleben","Schönebeck-Frohse","Schöneck(Vogtl)","Schöneck(Vogtl) Ferienpark","Schöneck-Büdesheim","Schöneck-Kilianstädten","Schöneck-Oberdorfelden","Schönerlinde","Schönewörde","Schönfließ(Mark) Dorf","Schönfließ(b Oranienburg)","Schöngeising","Schönhausen(Elbe)","Schönkirchen Bf","Schönmünzach","Schönow(Angerm)","Schönstedt","Schönwald(Oberfr)","Schönwalde(Barnim)","Schönwalde(Spreewald)","Schöppenstedt","Schötmar","Schülldorf","Schüptitz","Schüttorf","Sebnitz(Sachs)","Sechshelden","Sechtem","Seckach","Seddin","Sedlitz Ost","Seebach(Mühlhausen)","Seebad Ahlbeck","Seebad Heringsdorf","Seebergen","Seebrugg","Seefeld(Mark)","Seefeld-Hechendorf","Seeg","Seegefeld","Seehausen(Altm)","Seehausen(Uckermark)","Seeleiten-Berggeist","Seelow(Mark)","Seelow-Gusow","Seelvitz","Seelze","Seerhausen","Seesen","Seeshaupt","Sehlem(Kr Wittlich)","Sehma","Sehnde","Seiboldsdorf","Seifersdorf","Seifhennersdorf","Seitschen","Selb Nord","Selb Stadt","Selb-Plößberg","Selbitz","Selhausen","Seligenstadt Mainschleifenbahn","Seligenstadt(Hess)","Seligenstadt(b Würzburg)","Sellin(Rügen) Ost","Sellin(Rügen) West","Sellstedt","Selm","Selm-Beifang","Seltendorf","Senden","Senftenberg","Sennelager","Sennestadt","Sennfeld","Serams","Serrig","Sersheim","Seubersdorf","Seulberg","Seulbitz","Seybothenreuth","Siebeldingen-Birkweiler","Siedlinghausen","Siegburg Bahnhof","Siegburg/Bonn","Siegelsbach","Siegelsdorf","Siegen","Siegen-Geisweid","Siegen-Weidenau","Siegsdorf","Sierksdorf","Siersburg","Siershahn","Siglingen","Sigmaringen","Sigmaringendorf","Sigmaringendorf","Silbach","Silberhausen","Silberhütte NE","Silberstraße","Simbach(Inn)","Simmelsdorf-Hüttenbach","Simtshausen","Sindelfingen","Sindorf","Sindorf","Singen Industriegebiet","Singen Landesgartenschau","Singen(Hohentwiel)","Singen(Thür)","Singlis","Sinn","Sinsheim Museum/Arena","Sinsheim(Elsenz) Hbf","Sinzheim","Sinzheim Nord","Sinzig(Rhein)","Sinzing","Sipplingen","Sitzendorf-Unterweißbach","Soest","Sohl","Sohland","Solingen Grünewald","Solingen Hbf","Solingen Mitte","Solingen Vogelpark","Solingen-Schaberg","Sollstedt","Solms","Solnhofen","Solpke","Soltau Nord","Soltau(Han)","Soltendieck","Sondern","Sondernach","Sondernheim","Sondershausen","Sonneberg(Thür)Hbf","Sonneberg(Thür)Nord","Sonneberg(Thür)Ost","Sonneberg(Thür)West","Sontheim(Schwab)","Sontheim-Brenz","Sonthofen","Sontra","Sophienhof","Sorge","Sottrum","Soyen","Spaichingen","Spaichingen Mitte","Sparrieshoop","Spay","Spechtritz","Speele","Speicher","Speikern","Speyer Hbf","Speyer Nord-West","Spich","Spiegelau","Spielberg","Sponholz","Spornitz","Spremberg","Sprendlingen(Rheinhess)","Sprendlingen(Rheinhess)","Sprendlingen(Rheinhess)","Springe","Sprötze","St Alban","St Augustin Markt","St Egidien","St Georgen(Schwarzw)","St Goar","St Goarshausen","St Ilgen-Sandhausen","St Ingbert","St Koloman","St Mang","St Michaelisdonn","St Ottilien","St Thomas","St Wendel","Stade","Stadt Wehlen(Sachs)","Stadtallendorf","Stadthagen","Stadtilm","Stadtoldendorf","Stadtprozelten","Stadtroda","Staffel","Stahringen","Stambach","Stammbach","Stapelburg","Starnberg","Starnberg Nord","Stauchitz","Staudernheim","Staufen","Staufen Süd","Staßfurt","Stederdorf(Kr Uelzen)","Stegenwaldhaus","Steilküste/Wittenbeck","Stein(Traun)","Steina","Steinach(Baden)","Steinach(Thür)","Steinach(Thür)Süd","Steinach(b Rothenburg ob der Tauber)","Steinalben","Steinau(Straße)","Steinbach am Wald","Steinbach-Hallenberg","Steinebach","Steinefrenz","Steinen","Steinerne Renne","Steinfeld(Oldb)","Steinfeld(Pfalz)","Steinfeld(Stendal)","Steinfurt-Borghorst","Steinfurt-Burgsteinfurt","Steinfurt-Grottenkamp","Steinhagen(Westf)","Steinhagen(Westf) Bielef. Str.","Steinhausen-Neuburg","Steinheim(Main)","Steinheim(Westf)","Steinhöring","Steinpleis","Steinsfurt","Steinweiler","Steinwenden","Steinwiesen Bf","Stelle","Stendal","Stendal Vorbf","Stendal-Stadtsee","Stenn","Sterbfritz","Sternfeld","Sternhaus-Haferfeld","Sternhaus-Ramberg","Sterzhausen","Stetten (b. Haigerloch)","Stetten am Heuchelberg","Stetten(Donau)","Stetten(Schwab)","Stetten-Beinstein","Stettfeld(Baden)","Stiege","Stift Keppel-Allenbach","Stockach NE","Stockau","Stockdorf","Stockhausen(Lahn)","Stockheim(Oberfr)","Stockheim(Unterfr)","Stockstadt(Main)","Stockstadt(Rhein)","Stolberg(Rheinl)Gbf","Stolberg(Rheinl)Hbf","Stolberg(Rheinl)Hbf","Stolberg(Rheinl)Hbf Gl.27","Stolberg(Rheinl)Hbf Gl.44","Stolberg-Altstadt","Stolberg-Mühlener Bahnhof","Stolberg-Rathaus","Stolberg-Schneidmühle","Stollberg Schlachthofstraße","Stollberg(Sachs)","Stolpen","Stommeln","Storkow(Mark)","Storzingen","Stotternheim","Stralsund Hbf","Stralsund Rügendamm","Stralsund-Grünhufe","Strasburg(Uckerm)","Straubing","Straubing-Ost","Strausberg","Strausberg Nord","Strausberg Stadt","Strausberg-Hegermühle","Straußfurt","Straß-Moos","Straßberg(Harz)","Straßberg-Glasebach","Straßberg-Winterlingen","Straßkirchen","Strohkirchen","Strullendorf","Struthütten","Stryck","Stubben","Stubbenfelde","Stubersheim","Stumsdorf","Stuttgart Ebitzweg","Stuttgart Feuersee","Stuttgart Flughafen/Messe","Stuttgart Hbf","Stuttgart Hbf (tief)","Stuttgart Neckarpark","Stuttgart Nord","Stuttgart Nord","Stuttgart Nürnberger Str.","Stuttgart Schwabstr.","Stuttgart Stadtmitte","Stuttgart Universität","Stuttgart-Bad Cannstatt","Stuttgart-Feuerbach","Stuttgart-Feuerbach","Stuttgart-Münster","Stuttgart-Obertürkheim","Stuttgart-Rohr","Stuttgart-Sommerrain","Stuttgart-Untertürkheim","Stuttgart-Untertürkheim","Stuttgart-Untertürkheim","Stuttgart-Vaihingen","Stuttgart-Zazenhausen","Stuttgart-Zuffenhausen","Stuttgart-Österfeld","Stühlingen","Stützerbach","Subzin-Liessow","Suchsdorf","Suderburg","Suerhop","Suhl","Suhl-Heinrichs","Sukow(b Schwerin)","Sulmingen","Sulz(Neckar)","Sulzbach(Inn)","Sulzbach(Main)","Sulzbach(Murr)","Sulzbach(Saar)","Sulzbach(Saar)Altenwald","Sulzbach(Taunus)","Sulzbach(Taunus)Nord","Sulzbach-Rosenberg","Sulzbach-Rosenberg Hütte","Sulzberg","Sulzfeld(Baden)","Swisttal-Odendorf","Syke","Sylbach","Syrau","Sythen","Sättelstädt","Söllichau","Söllingen Kapellenstraße","Söllingen Reetzstr.","Söllingen(b Karlsr)","Söllingen(b Karlsr)","Sömmerda","Sörup","Süderbrarup","Süderdeich","Süderlügum","Sülstorf","Sülzbach","Sülzbach Schule","Sülzenbrücken","Sünching","Süßen","Taben","Tacherting","Tamm(Württ)","Tangerhütte","Tangermünde","Tangermünde West","Tanndorf","Tanneneck","Tannheim(Württ)","Tannroda","Tantow","Tapfheim","Tarp","Tating","Taubenheim(Spree)","Tauberbischofsheim","Tauberfeld","Taucha(Leipzig)","Taufkirchen","Tautenhain","Tegernsee","Teicha","Teichland","Teisendorf","Teisnach","Teisnach Rohde&Schwarz","Telgte","Teltow","Teltow Stadt","Temmels","Templin","Templin Stadt","Teningen-Mundingen","Teschenhagen","Teschow","Tessin","Tessin West","Teterow","Teuchern","Teufelsmühle","Teutschenthal","Teutschenthal Ost","Thale Hbf","Thale Musestieg","Thaleischweiler-Fröschen","Thalfingen(b Ulm)","Thalheim (b Oschatz)","Thalheim(Erzgeb)","Thann-Matzbach","Thansüß","Tharandt","Thayngen","Theisbergstegen","Theißen","Themar","Thermalbad Wiesenbad","Thesdorf","Thiergarten(Hohenz)","Thyrow","Thüngersheim","Thür","Tiebensee","Tiefenau","Tiefenbach(b Passau)","Tiefenbachmühle","Tiengen(Hochrhein)","Timmendorferstrand","Titisee","Tittmoning-Wiesmühl","Torgau","Torgelow","Tornesch","Tostedt","Traben-Trarbach","Trabitz","Trais-Horloff","Trasadingen","Trassenheide","Trassenmoor","Traundorf","Traunreut","Traunstein","Traunstein Klinikum","Trebbin","Treben-Lehma","Trebgast","Trebitz(Elbe)","Trebitz(Könnern)","Trebnitz(Mark)","Trechtingshausen","Treis-Karden","Treuchtlingen","Treuen","Treuenbrietzen","Treuenbrietzen Süd","Treysa","Triangel","Triberg","Triebes","Triefenried","Trier Hbf","Trier Süd","Triesdorf","Triptis","Trochtelfingen ALB-GOLD","Trochtelfingen(Hohenz)","Trochtelfingen(b Bopfingen)","Troisdorf","Trompet","Tromsdorf","Trossingen Bahnhof","Trossingen Bahnhof","Trossingen Stadt","Trostberg","Tulling","Tuttlingen","Tuttlingen Gänsäcker","Tuttlingen Nord","Tuttlingen Schulen","Tuttlingen Zentrum","Tutzing","Twiste","Twistringen","Töging(Inn)","Tönning","Töppeln","Tübingen Hbf","Tübingen West","Tübingen-Derendingen","Tübingen-Lustnau","Türkenfeld","Türkheim(Bay)Bf","Türkismühle","Tüßling","Ubbedissen","Ubstadt Ort","Ubstadt Salzbrunnenstr","Ubstadt Uhlandstr.","Ubstadt-Weiher","Uchtspringe","Uder","Uebigau","Ueckermünde","Ueckermünde Stadthafen","Uelzen","Uffenheim","Uffing a Staffelsee","Uhingen","Uhldingen-Mühlhofen","Uhlerborn","Uhlstädt","Uhsmannsdorf","Ulbersdorf","Ulm Hbf","Ulm Ost","Ulm-Donautal","Ulm-Söflingen","Ulzburg Süd","Umrathshausen Bf","Umrathshausen Ort","Unadingen","Undorf","Unfriedsdorf","Ungedanken","Unkel","Unna","Unna West","Unna-Königsborn","Unnau-Korb","Unterammergau","Unterasbach","Unteraschau","Unterelchingen","Unterföhring","Untergimpern","Untergrainau","Untergriesheim","Untergrombach","Unterhaching","Unterharmersbach","Unterhausen(Bay)","Unterheckenhofen","Unterjesingen Mitte","Unterjesingen Sandäcker","Unterkochen","Unterlemnitz","Unterlenningen","Unterloquitz","Unterlüß","Untermaubach-Schlagstein","Untermaßfeld","Unterneudorf","Unterreichenbach","Unterschleißheim","Untersteinach(Bayr)","Untersteinach(b Stadtsteinach)","Untersulzbach","Unterwellenborn","Unterwiesenthal","Unteröwisheim Bf","Unteröwisheim M.-Luther-Str.","Uphusum","Urbach(b Schorndorf)","Urft","Urmersbach","Urmitz","Urmitz Rheinbrücke","Urschalling","Urspring","Usch-Zendscheid","Usingen","Uslar","Usseln","Utting","Utzedel","Vach","Vachdorf","Vachendorf","Vahldorf","Vaihingen(Enz)","Vallendar","Varel(Oldb)","Vastorf","Vaterstetten","Vechelde","Vechta","Vechta-Stoppelmarkt","Vehlefanz","Veilsdorf","Veitshöchheim","Velbert Rosenhügel","Velbert-Langenberg","Velbert-Neviges","Velbert-Nierenhof","Velden(b Hersbruck)","Velgast","Vellmar-Niedervellmar","Vellmar-Obervellmar","Vellmar-Osterberg/EKZ","Velten(Mark)","Ventschow","Verden(Aller)","Veringendorf","Veringenstadt","Vernawahlshausen","Vetschau","Vettweiß","Viechtach","Vienenburg","Vierenstraße","Vierkirchen-Esterhofen","Viernau","Viersen","Vieselbach","Villingen(Schwarzw)","Villingen-Schwenningen Eisstadion","Villingen-Schwenningen Hammerstatt","Villmar","Vilsbiburg","Vilseck","Vilshofen(Niederbay)","Vinzelberg","Visselhövede","Vlotho","Voerde(Niederrhein)","Vogelsang(Gransee)","Vogelweh","Vohburg","Voigtsgrün","Voigtstedt","Voldagsen","Volkach-Astheim","Volkmarsen","Volkringhausen","Volpriehausen","Vorhop","Vormwald","Vormwald Dorf","Vorra(Pegnitz)","Voßloch","Vöhl-Ederbringhausen","Vöhl-Herzhausen","Vöhl-Schmittlotheim","Vöhl-Thalitter","Vöhringen","Vöhrum","Völklingen","Völksen/Eldagsen","Wabern(Bz Kassel)","Wachenheim(Pfalz)","Wachenheim-Mölsheim","Wackershofen","Waffenbrunn","Waggonfabrik","Waghäusel","Waging","Wahlbach(Kr Siegen)","Wahlheim","Wahlitz","Wahlstedt","Wahlwies","Wahrenholz","Waiblingen","Waibstadt","Waigolshausen","Wakendorf","Walddrehna","Waldenburg(Württ)","Waldershof","Waldfischbach","Waldhausen(b Geislingen)","Waldhausen(b Schorndorf)","Waldheim","Waldkirch","Waldkirchen(Erzgeb)","Waldkirchen(Niederbay.)","Waldkraiburg","Waldmünchen","Waldshut","Waldshut","Walhausen(Saar)","Walheim(Württ)","Walkenried","Wallau(Lahn)","Walldorf(Hess)","Walldorf(Werra)","Walldürn","Wallersdorf","Wallertheim","Walleshausen","Wallhausen(Helme)","Wallhausen(Württ)","Wallwitz(Saalkr)","Walpertskirchen","Walporzheim","Walschleben","Walsleben","Walsrode","Waltershausen","Waltershausen Schnepfenthal","Waltershausen Schnepfenthal","Wandersleben","Wandlitz","Wandlitzsee","Wangen(Allgäu)","Wangen(Unstrut)","Wanne-Eickel Hbf","Wannweil","Wansleben am See","Warburg(Westf)","Waren(Müritz)","Warendorf","Warendorf-Einen-Müssingen","Warenshof","Warmbad","Warnemünde","Warnemünde Werft","Warngau","Warnitz(Uckermark)","Warthausen","Warthausen","Wasbek","Wasenweiler","Wasseralfingen","Wasserburg(Bodensee)","Wasserburg(Günz)","Wasserburg(Inn)Bf","Wasserliesch","Wasserthaleben","Wassertrüdingen","Wasserzell(b Eichstätt)","Wasungen","Wattenscheid","Wattenscheid-Höntrop","Watzelsteg","Watzenborn-Steinberg","Weckesheim","Weddel(Braunschw)","Wedel(Holst)","Weener","Weesenstein","Weetzen","Weeze","Wefensleben","Wega","Wegberg","Wegeleben","Wegenstedt","Wehdel","Wehr(Mosel)","Wehr-Brennet","Wehrden","Wehretal-Reichensachsen","Wehrheim","Weibhausen","Weichering","Weickersdorf(Sachs)","Weickersgrüben","Weida","Weida Altstadt","Weida Mitte","Weiden(Oberpf)","Weidenbach","Weidenberg","Weidenthal","Weiding","Weiherhammer","Weiherhof","Weikersheim","Weil am Rhein","Weil am Rhein Ost","Weil am Rhein-Gartenstadt","Weil am Rhein-Pfädlistraße","Weil der Stadt","Weil im Schönbuch Röte","Weil im Schönbuch Troppel","Weil im Schönbuch Untere Halde","Weilbach(Unterallg)","Weilbach(Unterfr)","Weilburg","Weiler (Brohltal)","Weiler(Rems)","Weilerswist","Weilerswist-Derkum","Weilheim(Oberbay)","Weilheim(Württ)","Weilimdorf","Weimar","Weimar Berkaer Bf","Weimar West","Weinböhla Hp","Weingarten Berg","Weingarten(Baden)","Weinheim(Bergstr)","Weinheim-Lützelsachsen","Weinsberg","Weinsberg West","Weinsberg/Ellhofen Gewerbegebiet","Weischlitz","Weisen","Weisenbach","Weisenheim(Sand)","Weiterstadt","Weixdorf","Weixdorf Bad","Weizen","Weizern-Hopferau","Weißandt-Gölzau","Weißenau","Weißenburg(Bay)","Weißenfels","Weißenfels West","Weißenhorn","Weißenhorn-Eschach","Weißenohe","Weißenthurm","Weißer See","Weißes Roß","Weißwasser(Oberlausitz)","Welgesheim-Zotzenheim","Welkers","Wellen(Magdeburg)","Wellen(Mosel)","Wellendorf","Wellmitz","Welschen Ennest","Welschingen-Neuhausen","Welver","Wemmetsweiler Rathaus","Wendisch Evern","Wendisch-Rietz","Wendlingen(Neckar)","Wennedach","Wennigsen(Deister)","Wensickendorf","Werbig","Werbig","Werbig","Werdau","Werdau Nord","Werder(Havel)","Werdohl","Werdorf","Werl","Wernau(Neckar)","Wernberg","Werne a d Lippe","Werneuchen","Wernfeld","Wernigerode","Wernigerode Elmowerk","Wernigerode Hochschule Harz","Wernigerode Westerntor","Wernigerode-Hasserode","Wernshausen","Wertach-Haslach","Wertheim","Wertheim-Bestenheid","Werther","Wesel","Wesel Feldmark","Wesenberg","Wesselburen","Wesseln","Westbarthausen","Westbevern","Westendorf","Westerburg","Westerham","Westerhausen","Westerland(Sylt)","Westerland(Sylt), Sylt Shuttle","Westerstede-Ocholt","Westerstetten","Westewitz-Hochweitzschen","Westhausen","Westheim(Schwab)","Westheim(Westf)","Westheim-Langendorf","Westönnen","Wetter(Hessen)","Wetter(Ruhr)","Wetterzeube","Wetzlar","Weßling(Oberbay)","Wickede(Ruhr)","Wicklesgreuth","Wickrath","Wiebelskirchen","Wiemersdorf","Wieren","Wiesa(Erzgeb)","Wiesau(Oberpf)","Wiesbaden Hbf","Wiesbaden Ost","Wiesbaden-Biebrich","Wiesbaden-Erbenheim","Wiesbaden-Igstadt","Wiesbaden-Schierstein","Wiesenau","Wiesenburg(Mark)","Wiesenburg(Sachs)","Wiesenfeld","Wiesenfeld(b Coburg)","Wiesental","Wiesenthau","Wieslensdorf","Wiesloch-Walldorf","Wiesmühl(Alz)","Wiesthal","Wilburgstetten Bf","Wilchingen-Hallau","Wildau","Wildberg(Württ)","Wildeck-Bosserode","Wildeck-Hönebach","Wildeck-Obersuhl","Wildeshausen","Wilferdingen-Singen","Wilgartswiesen","Wilhelmsdorf","Wilhelmshaven Hbf","Wilhelmshorst","Wilhelmshütte(Lahn)","Wilhermsdorf","Wilhermsdorf Mitte","Wilischthal","Wilkau-Haßlau","Willebadessen","Willingen","Willmenrod","Willmering","Willsbach","Wilmersdorf(Angerm)","Wilsenroth","Wilster","Wilthen","Wiltingen(Saar)","Wincheringen","Windelsbleiche","Winden(Pfalz)","Windischeschenbach","Windsbach","Wingerode","Wingst","Winkelhaid","Winnenden","Winningen(Mosel)","Winninghausen","Winnweiler","Winsen(Luhe)","Winterbach(b Schorndorf)","Winterberg(Westf)","Winterhausen","Wintermoor","Wipperdorf","Wirges","Wirtheim","Wismar","Wissen(Sieg)","Wissingen","Wittbräucke","Witten Hbf","Witten-Annen Nord","Wittenberge","Wittenhagen","Wittgensdorf Mitte","Wittgensdorf ob Bf","Wittighausen","Wittingen","Wittlich Hbf","Wittlingen","Wittmund","Wittstock(Dosse)","Witzenhausen Nord","Witzighausen","Witzschdorf","Witzwort","Woffleben","Wohltorf","Wolfach","Wolfegg","Wolfen(Bitterfeld)","Wolfenbüttel","Wolfenbüttel","Wolferode","Wolfgang(Kr Hanau)","Wolfhagen","Wolfratshausen","Wolfsburg Hbf","Wolfsgefärth","Wolfsmünster","Wolfstein","Wolgast","Wolgast Hafen","Wolgaster Fähre","Wolkenstein","Wolkramshausen","Wollbach(Baden)","Wolmirstedt","Wolterdingen(Han)","Woltersdorf/Nuthe-Urstromtal","Woltwiesche","Worms Hbf","Worpswede","Wremen","Wriezen","Wrist","Wulfen(Anh)","Wulfen(Westf)","Wulften","Wullenstetten","Wunsiedel-Holenbrunn","Wunstorf","Wuppertal Hbf","Wuppertal-Barmen","Wuppertal-Langerfeld","Wuppertal-Oberbarmen","Wuppertal-Ronsdorf","Wuppertal-Sonnborn","Wuppertal-Steinbeck","Wuppertal-Unterbarmen","Wuppertal-Vohwinkel","Wuppertal-Zoologischer Garten","Wurlitz","Wurmlingen Mitte","Wurmlingen Nord","Wurzbach(Thür)","Wurzen","Wusterhausen(Dosse) NE","Wustermark","Wusterwitz","Wustrau-Radensleben","Wustweiler","Wutha","Wutike","Wutöschingen","Wyhlen","Wächterhof","Wächtersbach","Wölfershausen","Wölfersheim-Södel","Wörlitz","Wörnitzstein","Wörrstadt","Wörsdorf","Wörth(Isar)","Wörth(Main)","Wörth(Rhein)","Wörth(Rhein) Alte Bahnmeisterei","Wörth(Rhein) Badallee","Wörth(Rhein) Badepark","Wörth(Rhein) Bienwaldhalle","Wörth(Rhein) Bürgerpark","Wörth(Rhein) Mozartstraße","Wörth(Rhein) Rathaus","Wörth(Rhein) Zügelstraße","Wössingen","Wössingen Ost","Wülfrath-Aprath","Wülknitz","Wünschendorf","Wünschendorf Nord","Wünsdorf-Waldstadt","Würgendorf","Würgendorf (Ort)","Würzbach(Saar)","Würzburg Hbf","Würzburg Süd","Würzburg-Zell","Wüstenbrand","Wüstenfelde","Wüstenselbitz","Wüsting","Xanten","Zabeltitz","Zachun","Zahna","Zaisenhausen","Zapfendorf","Zarrendorf","Zeesen","Zehdenick(Mark)","Zehdenick-Neuhof","Zeil","Zeithain","Zeitz","Zell(Harmersbach)","Zell(Wiesental)","Zell-Romrod","Zella-Mehlis","Zella-Mehlis West","Zellendorf","Zellerthal","Zempin","Zennern","Zepernick(Bernau)","Zeppelinheim","Zerbst/Anhalt","Zerkall","Zernsdorf","Zerrenthin","Zeulenroda unt Bf","Zeutern Bf","Zeutern Ost","Zeutern Sportplatz","Zeuthen","Zeutsch","Zielitz","Zielitz Ort","Zierenberg","Zierenberg-Rosental","Zieverich","Zillendorf","Ziltendorf","Zimmern(Main-Tauber)","Zimmern(b Seckach)","Zimmersrode","Zinnowitz","Zirndorf","Zirndorf Kneippallee","Zirtow-Leussow","Zittau","Zittau Hp","Zittau Süd","Zittau Vorstadt","Zoblitz","Zollhaus(Villingen-Schwenningen)","Zollhaus-Petersthal","Zorneding","Zossen","Zotzenbach","Zschaitz","Zscherben","Zschopau","Zschopau Ost","Zschortau","Zusenhofen","Zuzenhausen","Zweibrücken Hbf","Zwenkau-Großdalzig","Zwickau Stadthalle","Zwickau Zentrum","Zwickau(Sachs)Hbf","Zwickau-Pölbitz","Zwickau-Schedewitz","Zwiesel(Bay)","Zwieselau","Zwingenberg(Baden)","Zwingenberg(Bergstr)","Zwota","Zwota-Zechenbach","Zwotental","Zwönitz","Zöberitz","Zörnigall","Zühlsdorf","Zülpich","Züssow","Züttlingen","Äpfingen","Öhringen Hbf","Öhringen West","Öhringen-Cappel","Ölbronn-Dürrn","Ötigheim","Ötisheim","Übach-Palenberg","Überlingen","Überlingen Therme","Überlingen-Nußdorf","Übersee","Ückeritz","Üdingen","Ürzig(DB)","Pogeez","Klitten","Lohsa","Mücka","Niesky","Uhyst","Chemnitz Küchwald","Muldenberg","Wengern Ost","Wallenrod","Alfhausen","Wangerooge","Barby","Groß Behnitz","Haynsburg","Webau","Niederarnbach","Leutershausen-Wiedersbach","Auersmacher","Brebach","Hanweiler-Bad Rilchingen","Kleinblittersdorf","Roßberg","Pöllwitz","Kargow","Kleeth","Rostock Seehafen Nord","Hoyerswerda-Neustadt","Petershain","Oberneuschönberg","Scheibenberg","Thoßfell","Vohren","Jütrichau","Brandstätt","Hildbrandsgrün","Otzing","Runding","Schopfheim-Schlattholz","Bübingen","Brefeld","Güdingen","Kaiserslautern-Hohenecken","Traun","Flensburg-Weiche","Ahrensfelde (S)","Bernau (S)","Berlin Charlottenburg (S)","Erkner (S)","Berlin Friedrichstraße (S)","Potsdam Griebnitzsee (S)","Hennigsdorf (S)","Berlin-Hohenschönhausen (S)","Berlin-Karlshorst (S)","Berlin-Lichtenberg (S)","Oranienburg (S)","Berlin Ostbahnhof (S)","Potsdam Hbf (S)","Berlin-Spandau (S)","Colditz","Eich(Sachs)","Marienberg(Sachs)","Penig","Plauen(V) unt Bf","Rochlitz(Sachs)","Straßgräbchen-Bernsdorf","Teichwolframsdorf","Waldenburg(Sachs)","Münster-Mecklenbeck","Allendorf(Eder) Bf","Bergheim-Giflitz","Bürgerhaus, Hessisch Lichtenau","Bahnhof Niederzwehren, Kassel","ZOB, Duderstadt","Dambeck(Altm)","Jerichow","Nedlitz","Sandersdorf(Bitterf)","Siedenlangenbeck","Sieversdorf(Neust/D)","Ziesar","Ottobeuren","Rohrdorf(Oberbay)","München-Süd","Merzig(Saar) Ost","Vaihingen(Enz)Nord","Berka(Wipper)","Vacha","Friedrichswalde(bei Eberswalde)","Ganzlin","Klockow(b Waren/Müritz)","Milmersdorf","Malliß","Chop","Brest Central","Baranovichi Centralnye","Minsk-Passajirskii","Orscha Central","Barchel, Oerel","Hamburg Elbbrücken","Essel, Kutenholz","Fredenbeck","Hagen, Stade","Hemsen(b Soltau)","Kiel-Ellerbek","Wagersrott","Blankenfelde (S)","Berlin-Mahlsdorf","Augustusburg Bergstation","Buschmühle","Einsiedel Brauerei","Schmiedeberg-Naundorf","Ulberndorf","Bornholte(b Verl)","Emmerich-Elten","Höste","Oese","Ballersbach","Eisemroth","Inheiden","Altmarkt/Regierungspräsidium, Kassel","Am Stern, Kassel","Am Kupferhammer, Kassel","Forstfeldstraße, Kassel","Kirchgasse, Kassel","Sandershäuser Straße, Kassel","Lindenberg, Kassel","Hinter dem Fasanenhof, Kassel","Leipziger Platz, Kassel","Leipziger Straße, Kassel","KVG-Betriebshof, Kassel","Friedrichsplatz, Kassel","Hegelsbergstraße, Kassel","Hauptfriedhof, Kassel","Holländischer Platz/Universität, Kassel","Holländische Straße, Kassel","Königsplatz, Kassel","Lutherplatz, Kassel","Halitplatz, Kassel","Auestadion, Kassel","Heinrich-Heine-Straße, Kassel","Am Weinberg, Kassel","Platz der Deutschen Einheit, Kassel","Rathaus, Kassel","Rathaus/Fünffensterstraße, Kassel","Scheidemannplatz, Kassel","Unterneustädter Kirchplatz, Kassel","Wilhelmsstraße/Stadtmuseum, Kassel","Wiener Straße, Kassel","Liebenau(Bz Kassel)","Papierfabrik, Kaufungen","Arbste","Dünsen DHE","Groß Ippener DHE","Hademstorf","Harlesiel","Delmenhorst Hasporter Damm","Jerxheim","Nordhorn-Blanke","Neuenhaus Süd","Nammen-Bad","Stelle DHE","Schwindebeck","Watenstedt","Halle(S) Heidebf","Leipzig Essener Straße","Meisdorf","Feldolling","Finsterwald","Hammersbach Zugspitzbahn, Grainau","Kaltenberg","Kreuzeck/Alpspitzbahn Bahnhof, Garmisch-Partenkirc","Margertshausen Bf","Pfraundorf(Inn)","Rosenheim Aicherpark","Riffelriß, Grainau","Reichertshofen(Schwab) Bf","Zainhammer","Erbprinz/Schloss, Ettlingen","Albgaubad, Ettlingen","Neuwiesenreben, Ettlingen","Spinnerei, Ettlingen","Wasen, Ettlingen","Bahnhof, Gönnheim","Ittersbach Industrie, Karlsbad","Augartenstraße, Karlsruhe","Poststraße, Karlsruhe","Kronenplatz (Kaiserstraße), Karlsruhe","Gottesauer Platz/BGV, Karlsruhe","Dammerstock, Karlsruhe","Durlach Hubstraße, Karlsruhe","Durlach Untermühlstraße, Karlsruhe","Weinweg, Karlsruhe","Knielingen Eggensteiner Straße, Karlsruhe","Händelstraße, Karlsruhe","Philippstraße, Karlsruhe","Knielingen Herweghstraße, Karlsruhe","Knielingen Siemens, Karlsruhe","Ettlinger Tor, Karlsruhe","Herrenstraße, Karlsruhe","Kongresszentrum, Karlsruhe","Schillerstraße, Karlsruhe","Mühlburg West, Karlsruhe","Yorckstraße, Karlsruhe","Neureut Bärenweg, Karlsruhe","Europapl./Postgalerie (Karl), Karlsruhe","Europapl./PostGalerie (Karlstr.), Karlsruhe","Europapl./PostGalerie (Kaiserstr), Karlsruhe","Lameyplatz, Karlsruhe","Starckstraße, Karlsruhe","Kullenmühle, Bad Herrenalb","Langensteinbach St. Barbara, Karlsbad","Ludwigshafen(Rhein) Oppau","Reichenbach Kurpark, Waldbronn","Rüppurr Battstraße, Karlsruhe","Rüppurr Ostendorfplatz, Karlsruhe","Rüppurr Tulpenstraße, Karlsruhe","Schloss Rüppurr, Karlsruhe","Heilbronn Karlstor","Großbodungen","Gebersdorf","Stolberg(Harz)","Tiefenort","Zopten","Alt Schwerin","Bantin","Bobzin","Feldberg(Meckl)","Gildenhall","Götschendorf","Malk Göhren","Seebad Lubmin","Ringenwalde(Templin)","Templin-Ahrensdorf","t Harde","Aalter","Aarau","Aarburg-Oftringen","Achiet","Affoltern am Albis","Agde","Aigle","Aime-la-Plagne","Airole","Airolo","Aix-en-Provence TGV","Aix-les-Bains-le-Revard","Alassio","Alba Iulia","Albate-Camerlata","Albenga","Albertville","Alençon","Ales","Alken(B)","Alkmaar","Allerheiligenhöfe","Almelo","Almere Oostvaarders","Alphen aan den Rijn","Altdorf(CH)","Altendorf(CH)","Altenmarkt im Pongau","Altnau","Altstätten SG","Amberieu","Amersfoort Vathorst","Amersfoort","Amsterdam Sloterdijk","Amsterdam Bijlmer ArenA","Amsterdam Centraal","Amsterdam Zuid","Amsterdam Amstel","Amstetten NÖ","Andelfingen","Andermatt","Andorf","Angleur","Angouleme","Ans(B)","Antibes","Antwerpen Centraal","Antwerpen-Zuid","Apach(Moselle)","Apeldoorn","Appingedam","Arad","Arbon","Arbon (See)","Arezzo","Argeles-sur-Mer","Arles","Arlon","Arnhem Centraal","Arnoldstein","Arosa","Arras(F)","Artenay(Loiret)","Arth-Goldau","Arvant","As(CZ)","Ashford(Kent)","Ashford(Kent) Int.","Asse","Attnang-Puchheim","Au SG","Au ZH","Aulnoye Aymeries","Auneau(Dourdan)","Auvelais","Avesnes-sur-Helpe","Avignon Centre","Avignon TGV","Babylon","Bäch","Bad Aussee","Bad Blumau","Bad Gastein","Bad Hofgastein","Bad Ischl","Bad Ragaz","Bad Schallerbach-Wallern","Bad Vigaun","Bad Zurzach","Baden(CH)","Baisieux","Balerna","Banova Jaruga","Bantzenheim","Banyuls-sur-Mer","Barcelona Sants","Barendrecht","Bar-le-Duc","Bascharage-Sanem","Basel SBB","Basel Dreispitz","Basel St Johann","Bassersdorf","Battipaglia","Baunhoej","Bayonne","Beernem","Bekescsaba","Bela pod Bezdezem","Belfort Ville","Bellegarde(Ain)","Belleville Meurthe et Moselle","Bellinzona","Belp","Belval Lycée","Belval-Rédange","Belval-Université","Belvaux-Soleuvre","Benesov n. Ploucnici","Benestroff","Benfeld(Selestat)","Bening","Antwerpen-Berchem","Berchem(LUX)","Berg(CH)","Bergen op Zoom","Bergues(Coudek)","Bergün/Bravuogn","Berlingen(CH)","Berlingen URh","Bern","Bernay","Beroun","Berthelming","Bertrange-Strassen","Bertrix","Besançon-Mouillère","Besançon-Viotte","Bettembourg(fr)","Bettembourg","Bettwiesen","Betzdorf(LUX)","Bevera","Beverwijk","Bex","Beziers","Biarritz","Biasca","Biberist RBS","Biberist Ost","Bichlbach Almkopfbahn","Bichlbach-Berwang","Biel/Bienne","Bierset-Awans","Bilina","Billum st","Bilten","Bily Kostel nad Nisou","Birmensdorf ZH","Bischofshofen","Blainville-Damelevieres","Blaj","Le Blanc-Mesnil","Blausee-Mitholz","Blerick","Blindenmarkt","Bludenz","Böckstein","Bodegraven","Bodio TI","Boen(F)","Böheimkirchen","Bohumin","Bollwiller(Lutterb)","Bologna Centrale","Bolzano/Bozen","Boondael/Boondaal","Bordeaux-St-Jean","Bordighera","Borgo S. Dalmazzo","Borne(NL)","Borup st","Bottighofen","Boulevarden st","Bourg-en-Bresse","Bourges","Bourg-St.Maurice","Bouzonville","Bramming st","Brasov","Bratislava hl.st.","Bratislava-Petrzalka","Braunau/Inn","Breclav","Breclav(Gr)","Breda","Bredebro st","Bregenz","Bregenz Hafen","Breil-sur-Roya","Brennero/Brenner","Brescia","Bressanone/Brixen","Bressoux","Brest(F)","Breziny u Decina","Brig","Brixen im Thale","Brixlegg","Broens st","Bronschhofen","Bruck/Mur","Bruck/Leitha","Bruck-Fusch","Brugg AG","Brugge","Brumath","Brunico/Bruneck","Brunnen(CH)","Bruxelles-Midi Eurostar","Bruxelles-Central","Bruxelles-Luxembourg","Bruxelles Midi","Brussels Airport - Zaventem","Bruxelles-Nord","Buchs SG","Bucuresti Nord Gara A","Budapest-Keleti","Budapest-Nyugati","Buitenpost","Bülach","Bully-Grenay","Burgfried b.Gnas","Bürglen","Burgos Rosa de Lima","Busigny","Bussnang","Busto Arsizio","Bydgoszcz Glowna","Colle Isarco/Gossensass","Cadenazzo","Calais Ville","Calais-Fréthun","Caldes de Malavella","Campo di Trens/Freienfeld","Cannes","Cannes-la-Bocca","Capellen","Capolago-Riva S. Vitale","Carbonne(Boussens)","Carcassonne","Carimate","Carnoules(Toulon)","Casteldarne/Ehrenburg","Castelnaudary","Castione-Arbedo","Cavaillon(Avignon)","Centallo","Cents-Hamm","Cerbère","Cernovice u Chomutova","Ceska Kamenice","Ceska Kubice","Ceska Lipa hl.n.","Ceska Lipa strelnice","Ceska Trebova","Ceske Budejovice","Ceske Velenice","Chalons en Champagne","Chalon sur Saône","Chambery-Challes-E","Champigneulles","Charleroi Sud","Château-Arnoux-St-Auban","Château du Loir","Châteauroux","Chateau-Thierry","Châtelet","Chauny(Tergnier)","Cheb","Cheb-Skalka","Chelles Gournay","Chenay Gagny","Chenee","Cherbourg","Chiasso","Chiusa/Klausen","Chiusi-Chianciano Terme","Chomutov","Chomutov mesto","Chotyne","Chrastava","Chrastava-Andelska Hora","Chribska","Chur","Cintegabelle","Clermont-Ferrand","Clerval","Clervaux","Coevorden","Collioure","Colmar","Combs la Ville Quincy","Como S. Giovanni","Compiegne","Conegliano","Conflans-Jarny","Corbehem(Douai)","Corbeil Essonnes","Cornaux","Cosne","Cossonay-Penthalaz","Coulommiers","Courcelles-sur-Nied","Coutras","Creil","Culmont-Chalindrey","Culoz","Cuneo","Curtici","Czechowice-Dziedzice","Czerwiensk","Dachsen","Dagmersellen","Däniken","Davos Dorf","Davos Platz","Dax","Enschede De Eschmarke","Debrecen","Decin hl.n.","Decin vychod","Decin-Certova voda","Decin-Priper","Decin-Prostredni Zleb","Delden","Delémont","Delft","Delfzijl","Den Haag Centraal","Den Haag HS","Den Helder","Denderleeuw","Desenice","Desenzano del Garda/Sirmione","Desio","Dettwiller","Deva","Deventer","Devinska Nova Ves","Diano Marina","Diemeringen","Diepenbeek","Diessenhofen","Diessenhofen URh","Dietlikon","Dieulouard","Differdange","Dijon Ville","Dijon Porte Neuve","Dippach-Reckange","Dobbiaco/Toblach","Dobova","Dobova(Gr)","Doestrup(Soenderjylland) st","Doksy","Dole Ville","Dolhain-Gileppe","Dolni Habartice","Dolni Podluzi","Dolni Poustevna","Dolni Zleb","Dolni Zleb zast.","Domazlice","Domina","Dommeldange","Domodossola","Dordrecht","Dorfgastein","Dornbirn","Dornbirn Schoren","Dottikon-Dintikon","Dourges","Drauffelt","Dronten","Duchcov","Dugo Selo","Duivendrecht","Dunkerque","Dyreby st","Ebbsfleet International Eurostar","Eben im Pongau","Ebenfurth","Ebersheim","Ede(B)","Ede Centrum","Ede-Wageningen","Effretikon","Eglisau","Egnach","Ehrwald Zugspitzbahn","Eindhoven","Einsiedeln","Elne","Elsbethen","Emmenbrücke","Engis","Enns","Enschede","Epernay","Epierre-St Leger","Epinal","Erlen","Ermatingen","Ermatingen URh","Erquelinnes","Erstein","Erstfeld","Esbjerg st","Eschenau/Salzach","Esch-sur-Alzette","Essen(B)","Etampes","Ettelbruck","Etzwilen","Eupen","Evreux Normandie","Eygelshoven Markt","Faak am See","Faido","Faulquemont","Fegersheim Lipsheim","Fehraltorf","Feldkirch","Feldkirchen in Kärnten","Felixdorf","Budapest-Ferencváros","Ferrara","Fieberbrunn","Figueres","Filisur","Finale Ligure Marina","Firenze S.M.N.","Flamatt","Flassa","Flaurling","Flers","Wien Floridsdorf","Flüelen","Flums","Föderlach","Fontaine","Fontainebleau-Avon","Fontan Saorge","Forbach(F)","Forest Midi/Vorst Zuid","Fortezza/Franzensfeste","Fossano","Fourchambault","Fraipont","Frankenmarkt","Frantiskovy Lazne Aquaforum","Frantiskovy Lazne","Frastanz","Frauenfeld","Fredericia st","Freienbach SBB","Frenkendorf-Füllinsdorf","Fribourg/Freiburg","Friesach in Kärnten","Frisvadvej st","Fritzens-Wattens","Frontenex","Frouard","Frutigen","Fürnitz","Futuroscope","Gagny","Gaillon Aubevoye","Gallarate","Gampel-Steg","Gandrange-Amneville","Gannat","Gänserndorf","Gardanne","Gdansk Glowny","Gdansk Oliwa","Gdansk Wrzeszcz","Gdynia Glowna","Geinberg","Geleen-Lutterade","Gelterkinden","Gemona del Friuli","Genève","Genève-Aéroport","Genk","Genova Piazza Principe","Gentbrugge","Gent-Dampoort","Gent St Pieters","Gerlafingen","Gerling im Pinzgau","Girona","Gevrey-Chambertin","Gießenbach in Tirol","Gisikon-Root","Gisors Embranchement","Giubiasco","Gjesing st","Glanerbrug","Glattbrugg","Glattfelden","Gloggnitz","Gmünd NÖ","Gniezno","Goebelsmühle","Golling-Abtenau","Goppenstein","Gorzow Wlkp.","Göschenen","Gossau SG","Gottlieben (Schifflände)","Götzendorf/Leitha","Götzis","Gouda","Gouvy","Graffenstaden","Gramatneusiedl","Granollers","Gratwein-Gratkorn","Graz Hbf","Graz Ostbahnhof-Messe","Gredstedbro st","Grenchen Nord","Grenoble","Gresy-sur-Isere","Gretz-Armainvilliers","Gries am Brenner","Gries im Pinzgau","Grieskirchen-Gallspach","Gröbming","Groenendaal","Groningen","Schwechat","Guldager st","Guntramsdorf Kaiserau","Gurten OÖ","Güttingen","Györ","Haaltert","Haarlem","Haarlem Spaarnwoude","Häggenschwil-Winden","Hagenau im Innkreis","Hagondange","Haguenau","Haiming","Hall in Tirol","Hallein","Hallwang-Elixhausen","Hard-Fussach","Hasselt","Hatting in Tirol","Hauptwil","Haus im Ennstal","Hayange","Hazebrouck","Heerbrugg","Heerenveen","Heerlen","Hegyeshalom(Gr)","Hegyeshalom","Heiterwang-Plansee","Helmond","Hendaye","Hendschiken","Hengelo","Henin-Beaumont","Henne st","Herentals","Hergenrath","Wien Hernals","Herny","Herrlisheim près Colmar","Herstal","Herzele","Herzogenbuchsee","Herzogenburg","Hillegom","Hilversum","Hilversum Sportpark","Hnevice","Hochfelden","Hochfilzen","Hochzirl","Hoeilaart","Hoeje Taastrup st","Hohenau","Hohenems","Hombourg-Haut","Hoofddorp","Hoogeveen","Hoogezand-Sappemeer","Hopfgarten im Brixental","Hopfgarten im Brixental Berglift","Horgen","Horn(Bodensee)","Horn(Bodensee), SF","Horni Blatna","Horni Dvoriste","Horni Kamenice","Horni Podluzi","Horni Poustevna","Horovice","Hörsching","Hradek nad Nisou","Hranice na Morave","Hrebeny","Hüntwangen-Wil","Hüttau","Huy(B)","Hviding st","Hyllerslev st","Ilawa Glowna","Immensee","Imsterberg","Imst-Pitztal","Ingelmunster","Ingwiller","Innsbruck Hbf","Innsbruck Hötting","Innsbruck Westbahnhof","Inowroclaw","Interlaken Ost","Interlaken West","Inzing/Inn","Irun","Is-sur-Tille","Iselle di Trasquera","Iselle transito","Ivanic Grad","Jablonne v Podjestedi","Janderup st","Jankowa Zaganska","Janovice nad Uhlavou","Wien Jedlersdorf","Jedlova","Jegum st","Jelenia Gora","Rochefort-Jemelle","Jenbach","Jenbach Zillertalbahn","Jesenice(SL)","Jestetten","Jeumont","Jiretin pod Jedlovou","Jirkov zast.","Joeuf","Joigny(Lar.Migennes)","Judenburg","Juvisy","Kadan-Prunerov","Kaiseraugst","Kalhausen","Kalsdorf b.Graz","Kalwang","Kampen Zuid","Kandersteg","Kapfenberg","Karlovy Vary dolni n.","Karlovy Vary","Katowice","Kautenbach","Kehlhof","Kelebia","Kelenföld","Kematen in Tirol","Kesswil","Kesteren","Kilchberg(CH)","Killwangen-Spreitenbach","Kindberg","Kirchberg in Tirol","Kirchbichl","Kittsee","Kitzbühel Hahnenkamm","Kitzbühel","Klagenfurt Hbf","Klatovy","Kledering b.Wien","Wien Kaiserebersdorf","Kleinbettingen","Kloten","Knittelfeld","Koblenz(CH)","Koebenhavn H","Koebenhavns Lufthavn st","Koege st","Kogenheim","Kolbnitz","Kolding st","Kolin(CZ)","Komarom","Konin","Koog aan de Zaan","Zaandijk Zaanse Schans","Körmend","Korsoer st","Kortenberg","Kortrijk","Kovarska","Krakow Glowny","Kralupy nad Vltavou","Kranebitten","Kranj","Kraslice","Kraslice-Pod vlekem","Kraslice predmesti","Krasna Lipa","Krasna Lipa mesto","Krems an der Donau","Kreuzlingen Bernrain","Kreuzlingen","Kreuzlingen Hafen","Kirchdorf/Krems","Krimmeri-Meinau","Krimov","Krommenie-Assendelft","Kropswolde","Krsko","Krumpendorf/Wörthersee","Krzewina Zgorzelecka","Kuchl","Kufstein","Kundl","Kunowice","Küssnacht am Rigi","Kutina","Kutno","Kuty","Kytlice","La Bastide-St-Laurent les Bains","La Brigue(F)","La Charité sur Loire","La Plaine","La Roche sur Yon","La Souterraine","Laa/Thaya","Lachen","Lage Zwaluwe","Lähn","LAigle","Lamadelaine","Lambach","Lamone-Cadempino","Landeck-Zams","Landen","Landgraaf","Landquart","Landry","Langdorp","Langen am Arlberg","Langenthal(CH)","Langkampfen","Läufelfingen","Laufen(CH)","Laufenburg(CH)","Lausanne","Lausanne-Flon","Lausen(CH)","Lauterach","Lauterbourg","Laveno Mombello","Le Bourget","Le Creusot Montceau Montchanin TGV","Le Havre","Le Mans","Le Raincy Villemomble Montferm","Lebbeke","Leeuwarden","Legnica","Leibnitz","Leiden Centraal","Leiden Lammenschans","Leithen b.Seefeld","Lelystad Centrum","Lend","Lengwil","Lens(F)","Lenzburg","Lenzing","Leoben Hbf","Leogang","Leopoldsburg","Lermoos","Lerouville","Les Arcs Draguignan","Les-Aubrais-Orleans","Lesce-Bled","Leudelange","Leuk","Leuven","Lezignan","Liberec","Liège-Guillemins","Lienz in Osttirol","Liers","Liestal","Liezen","Lille Flandres","Lille Europe","Limone","Linz Hbf","Linz/Donau Wegscheid","Lipinki Luzyckie","Lipova u Sluknova","Litija","Litomerice mesto","Livorno Centrale","Ljubljana","Locarno","Lochau-Hörbranz","Loeftgaard st","Lököshaza","Longueau","Longwy","Lons-Le-Saunier","Loosdorf b.Melk","Lorraine","Lottstetten","Lourches","Lourdes","Lovosice","Luban Sl.","Ludesch","Lugano","Luh nad Svatavou","Luino","Lumes Halte","Lunde J st","Lunderskov st","Lunel","Lunéville","Lupfig","Lustenau","Luterbach-Attisholz","Lutterbach","Lutzelbourg","Luxembourg","Luzern","Lyon Part Dieu","Maastricht","Machnin","Machnin hrad","Mâcon Ville","Mâcon-Loché TGV","Maienfeld","Maishofen-Saalbach","Mala Velen","Malbork","Malczyce","Mallnitz-Obervellach","Malmö Central","Mamer","Mamer Lycée","Mammern(Bodensee)","Mammern URh","Manage","Mannenbach-Salenstein","Mannenbach URh","Manternach","Marchegg","Marche-les-Dames","Marchienne au Pont","Marchtrenk","Maribor","Markvartice","Marle-sur-Serre","Marloie","Marne la Vallée-Chessy","Marseille-Blancarde","Marseille-St-Charles","Martenshoek","Martigny","Martigues","Märwil","Matrei am Brenner","Maubeuge","Mautern im Liesingtal","Mayrhofen im Zillertal","Mechelen","Medias","Meiringen","Melk","Mels","Melun","Mendrisio","Menton","Menznau","Merano/Meran","Merchtem","Merelbeke","Mersch(LUX)","Mertert","Merxheim(Colmar)","Raaba","Metz Ville","Meuse TGV","Michelau(LUX)","Micheldorf","Middelfart st","Miekinia","Mikulasovice dol.n.","Milano Centrale","Milano Greco Pirelli","Milano Porta Garibaldi","Milmort","Mimon","Mining","Miramas","Mitterberghütten","Mitterdorf-Veitsch","Mixnitz Bärenschützklamm","Mlada Boleslav hl.n.","Mlyny(CZ)","Modane","Möhlin","Mol","Mols","Mommenheim","Monaco-Monte-Carlo","Monguelfo-Casies/Welsberg-Gsies","Mons","Montbéliard Ville","Montelimar","Monthey","Montluçon Ville","Montmelian","Montpellier Saint-Roch","Montreux","Monza","Moosbierbaum-Heiligeneich","Moret-Veneux-les-Sablons","Morges","Morhange","Moskva Belorusskaja","Mosonmagyarovar","Most","Mötz","Mouchard","Moulins-sur-Allier","Mouscron","Moustier","Moutier","Moutiers-Salins-Brides-les-Bains","Moyeuvre-Grande","Mühlehorn","Mühlheim am Inn","Mühldorf-Möllbrücke","Muizen","Mulhouse-Dornach","Mulhouse Ville","Münchenbuchsee","Mundolsheim","Munkzwalm","Munsbach","Münsingen(CH)","Munster(Metzeral)","Münster-Wiesing","Münsterlingen-Scherzingen","Muolen","Murg(CH)","Mürzzuschlag","Musau","Mussidan","Muttenz","Naestved st","Nagymaros-Visegrad","Namur","Nancois Tronville","Nancy Ville","Nantes","Narbonne","Nebikon","Neerpelt","Nejdek","Nejdek zastavka","Nemours St Pierre","Nendeln","Nenzing","Nessonvaux","Nestedice","Nestemice","Nettingsdorf","Neuchâtel","Neufchateau(B)","Neufchateau(F)","Neuhausen(CH)","Neukirch-Egnach","Neumarkt-Kallham","Neumarkt-Köstendorf","Neuratting","Nice Ville","Niederbipp","Niederglatt","Niederkorn","Nieuw Amsterdam","Bad Nieuweschans","Nijmegen","Nîmes","Noerre Nebel st","Noerreport st","Noertzange","Nogent-le-Rotrou","Noisy-le-Sec","Notre-Dame-de-Briancon","Nova Gradiska","Nova Kapela","Nova Role","Nova Role zastavka","Novara","Nove Hamry","Nejdek-Sejfy","Nove Zamky","Noveant","Novi Beograd","Novi Sad","Novska","Novy Bor","Noyon","Ny Ellebjerg st","Nyborg st","Nyiregyhaza","Nykoebing F st","Nymburk hl.n.","Oberalm","Oberburg","Oberglatt","Oberhofen im Inntal","Oberkorn","Obermodern","Obernberg-Altheim","Oberrieden(CH)","Oberriet","Obourg","Odense st","Oermingen","Oesterport st","Oetrange","Oksboel st","Okucani","Oldenzaal","Nejdek-Oldrichov","Olen","Olivetta-S. Michele","Olovi","Olten","Ommen","Onville","Oostende","Opole Glowne","Oppikon","Opwijk","Orange(Avignon)","Orchies","Orléans","Orvieto","Oss","Ostermundigen","Ostrava hl.n.","Ostrava-Svinov","Oswiecim","Othmarsingen","Ötztal","Outrup st","Overveen","Ponte Gardena-Laion/Waidbruck-Lajen","Padborg st","Padova","Pagny-sur-Moselle","Pantin","Pardubice hl.n.","Paris Montparnasse","Paris Nord","Paris Austerlitz","Paris Est","Paris Gare de Lyon","Paris St Lazare","Parndorf","Paternion-Feistritz","Patsch","Pau","Pavia","Peggau-Deutschfeistritz","Peltre","Pepinster","Perigueux","Pernink","Perpignan","Peschiera del Garda","Petange","Peterskirchen","Petit Croix","Pfäffikon SZ","Pfarrwerfen","Pflach","Pichl b.Schladming","Piensk","Pill-Vomperbach","Pino transito","Pisa Centrale","Plesna(CZ)","Ploiesti Vest","Plzen hl.n.","Pöchlarn","Poitiers","Pomezi nad Ohri","Pont-a-Mousson","Pontresina","Pont-Ste-Maxence","Pont St Vincent","Pordenone","Port Vendres Ville","Port Bou","Pörtschach am Wörther See","Potucky","Potucky zastavka","Pougues les Eaux","Poznan Gl.","Praha hl.n.","Praha-Holesovice","Praha-Smichov","Pram-Haag","Pratteln","Predeal","Pregarten","Prerov","Prinzersdorf","Profondsart","Przylep","Puch bei Hallein","Pusarnitz","Quevy","Quimper","Radstadt","Rafz","Rankweil","Ranzo-S. Abbondio","Rattenberg-Kramsach","Re(I)","Rebstein-Marbach","Réding(F)","Reichenbach im Kandertal","Reichenburg","Reims","Reith b.Seefeld","Rejsby st","Rekawinkel","Rekingen AG","Rémelfing","Rémilly","Remiremont","Rennes","Retenice","Retz","Reutte in Tirol","Reutte in Tirol Schulzentrum","Rheineck","Rheinfelden(CH)","Ribe st","Ribe Noerremark st","Richterswil","Ried im Innkreis","Bregenz Riedenburg","Rietz in Tirol","Rimini","Ringsted st","Rio di Pusteria/Mühlbach","Rivera-Bironico","Rivesaltes","Roanne","Robilante","Roccavione","Rodange","Roedby","Roedekro st","Roeschwoog","Roggwil-Berg","Roggwil-Wynau","Rohr-Bad Hall","Rokycany","Roma Termini","Romanshorn","Romanshorn (See)","Rombas-Clouange","Ronet","Roodt/Syre","Roosendaal","Roppen","Rorschach","Rorschach Hafen","Rorschach Hafen (See)","Rosenbach bei Villach","Jesenice(Gr)","Roskilde st","Rotava","Rothenburg(CH)","Rothenthurm(CH)","Rothrist","Rotkreuz","Rotterdam Lombardijen","Rotterdam Noord","Rotterdam Centraal","Rotterdam Stadion","Roudnice nad Labem","Rouffach","Rovereto","Rovigo","Rum b.Innsbruck","Ruma","Rumburk","Rümlang","Rupperswil","Rüschlikon","Rusova","Rüthi SG","Rybniste","Rzepin","St-Avre-la-Chambre","St-Michel-Valloire","St.Peter-Seitenstetten","San Candido/Innichen","Saalfelden","Safenwil","Saincaize","Saintes","Saint Ghislain","Salez-Sennwald","Salzburg Aiglhof","Salzburg Liefering","Salzburg Aigen","Salzburg Hbf","Salzburg Parsch","Salzburg Sam","Salzburg Süd","Salzburg Gnigl","Samedan","Samstagern","San Remo","Sandweiler-Contern","Sanry-sur-Nied","Sapjane(Gr)","Sappemeer Oost","Sargans","Sarrebourg","Sarreguemines","Sarreinsming","Sathonay Rillieux","Saumur Rive Droit","Saverne","Savona","Salzburg Mülln-Altstadt","Schaan-Vaduz","Schaerbeek","Schaffhausen","Schaftenau","Schärding","Scharnitz","Scheemda","Schiedam Centrum","Schifflange","Schindellegi-Feusisberg","Schiphol (Airport)","Schladming","Schönbichl in Tirol","Schönwies","Schouweiler","Schruns","Schübelbach-Buttikon","Schulen","Schwarzach-St.Veit","Schwaz","Schwindratzheim","Schwyz","Scuol-Tarasp","Sebuzin","Seefeld in Tirol","Seekirchen am Wallersee","Sejstrup st","Sélestat","Selzthal","Seregno","Sesto S. Giovanni","Sete","Sevelen","Sevnica","s-Hertogenbosch","Sid(SRB)","Siebnen-Wangen","Siegershausen","Sieniawa Zarska","Sierck-les-Bains","Sierre/Siders","Sighisoara","Sillian","Silz im Oberinntal","Simeria","Sinaia","Sion","Sissach","Sittard","Skaerbaek st","Skofja Loka","Slagelse st","Slavonski Brod","Slubice","Sluknov","Sluknov zast.","Smolensk","Sneek","Sokolov","Solothurn","Somain","Sopot","Sopron","Soroe st","Sosnowiec Glowny","Spa","Spangsbjerg st","Spicak","Spielfeld-Straß","Spiez","Spital am Pyhrn","Spittal-Millstättersee","Sremska Mitrovica","St Dalmas de Tende","St. Gallen(CH)","St. Gallen(CH) Winkeln","St. Gallen(CH) Haggen","St-Jory(Toulouse)","St Malo","St.Jodok am Brenner","St. Moritz","St. Anton am Arlberg","St. Anton im Montafon","St. Johann im Pongau","St. Johann in Tirol","St. Margrethen","St.Michael in Obersteiermark","St.Pölten Hbf","St. Valentin","St.Veit/Glan","Staad","Wien Stadlau","Stadt Rottenmann","Staffelfelden","Stainach-Irdning","St-Amour","Stams","Stans bei Schwaz","Stara Pazova","Stara Role","Statte","St Avold","Sint-Denijs-Boekel","Steckborn","Steckborn URh","Steenwijk","Steinach in Tirol","Steinbourg","Steindorf bei Straßwalchen","Steinebrunn","Stein-Säckingen","Stephansfeld","Stettbach","Steyr","St-Germain-des-Fosses","St-Gervais-les-Bains","St-Hilaire-au-Temple","St-Jean-de-Luz-Ciboure","St-Jean-de-Maurienne Arvan","St-Louis (Haut-Rhin)","St-Maurice(CH)","Stockerau","St-Pierre-dAlbigny","St-Pierre-des-Corps","St-Priest","St-Quentin(Aisne)","St-Raphael-Valescure","Strasbourg","Strasshof","Straßwalchen","Stresa","Strizivojna-Vrpolje","St-Sulpice-Lauriere","Sturovo","Subotica","Nejdek-Sucha","Summerau","Sursee","Survilliers Fosses","Wien Süßenbrunn","Susteren","Svatava","Svatava zastavka","Svor","Swiebodzin","Swinoujscie Centrum","Szczecin Glowny","Szczecin Gumience","Szentgotthárd","Szob","Szob(Gr)","Szolnok","Tabor","Taggia","Tamines","Tarascon sur Rhone","Tarvisio Boscoverde","Tata","Tatabanya","Taufkirchen an der Pram","Taulov st","Taverne-Torricella","Taxenbach-Rauris","Salzburg Taxham Europark","Tczew","Tecknau","Telfs-Pfaffenhofen","Templeuve","Tende(F)","Tenneck","Teplice v Cechach","Terespol","Brest(Gr)","Terfens-Weer","Tergnier","Testelt","Teting (Moselle)","TGV Haute Picardie","Thalwil","Thionville","Thun","Thusis","Tieffenbach-Struth","Tienen","Tilburg","Tinglev st","Tisis","Nejdek-Tisova","Tjaereborg st","Tobel-Affeltrangen","Toender st","Toender Nord st","Tommerup st","Tongeren","Torino Porta Susa","Toul","Toulon","Toulouse-Matabiau","Tourcoing","Tournai","Tournan","Tovarnik","Traun OÖ","Trbovlje","Trebusice","Treibach-Althofen","Trelleborg F","Trento","Treviso Centrale","Trieben","Trimmelkam","Troisvierges","Trooz","Tschagguns","Tulln a.d.Donau","Tullnerfeld","Tuplice","Tuplice Debinka","Turgi","Tychy","Uckange","Udine","Uitgeest","Ulmerfeld-Hausmening","Ulrichsbrücke-Füssen","Unterberg-Stefansbrücke","Unterterzen","Unzmarkt","Usti nad Labem-Strekov","Usti nad Labem hl.n.","Usti nad Labem zapad","Utrecht Centraal","Uttwil","Vac","Vaires Torcy","Valby(Koebenhavn)","Valdaora-Anterselva/Olang-Antholz","Valdek","Val-de-Reuil","Valence Ville","Valence TGV","Valenciennes","Valkenburg(NL)","Vamdrup st","Vandans","Varangeville-St-Nicolas","Varde st","Varde Kaserne st","Varde Vest st","Varnsdorf stare nadr","Varnsdorf","Varnsdorf Pivovar Kocour","Veenendaal-De Klomp","Vejprty","Velden am Wörther See","Velke Zernoseky","Velky Senov","Velky Senov zast.","Vendenheim","Venezia Mestre","Venezia Santa Lucia","Venissieux","Venlo","Ventimiglia","Vercelli","Vernante","Verneuil sur Avre","Verneuil lEtang","Vernon(Eure)","Verona Porta Nuova","Verviers Central","Verviers-Palais","Vesele pod Rabstejnem","Wjasma","Viby Sjaelland st","Vicenza","Vienne","Vievola","Vilemov u Sluknova","Villabassa-Braies/Niederdorf-Prags","Villach Hbf","Villach Westbf","Villars les Dombes","Villedieu les Poeles","Villers Cotterets","Villiers-le-Bel-Gonesse","Vils in Tirol","Vilvoorde","Vinkovci","Vipiteno-Val di Vizze/Sterzing-Pfitsch","Visby st","Vise","Visp","Vitry le François Gare","Vittel","Vleuten","Vlissingen","Vöcklabruck","Vöcklamarkt","Voghera","Vojens st","Vojtanov","Volders-Baumkirchen","Völs","Vordingborg st","Vroegum st","Vysoka Pec","Wädenswil","Wald am Schoberpass","Walenstadt","Walferdange","Wallisellen","Villach Warmbad","Warszawa Centralna","Warszawa Wschodnia","Warszawa Zachodnia","Wartberg/Krems","Wartberg im Mürztal","Wasserbillig","Waterloo","Watermael/Watermaal","Wecker","Weert","Weesp","Wegliniec","Weinfelden","Welkenraedt","Wels Hbf","Wendling b.Haag","Werfen","Wernstein","Wespelaar-Tildonk","Westendorf in Tirol","Wettingen","Wien Franz-Josefs-Bahnhof","Flughafen Wien","Wien Hbf","Wien Hbf (Autoreisezuganlage)","Wien Hütteldorf","Wien Meidling","Wien Mitte","Wien Praterstern","Wien Simmering","Wien Westbahnhof","Wiener Neustadt Hbf","Wien Penzing","Wil SG","Wildon","Wilwerwiltz","Wilwisheim","Windischgarsten","Wingen-sur-Moder","Winschoten","Winterswijk","Winterthur","Wissembourg","Witnica","Wittenbach","Wittring","Woerden","Wohlen AG","Woippy","Wolfstee","Wolfurt","Wolkersdorf im Weinviertel","Wörgl Hbf","Wormerveer","Wroclaw Glowny","Wroclaw Lesnica","Wroclaw Nowy Dwor","Ybbs a.d. Donau","Yverdon-les-Bains","Yves-Gomezee","Zagan","Zagorje","Zagreb Glavni kolodvor","Zandvoort aan Zee","Zary","Zasieki","Zawiercie","Zbaszynek","Zebrzydowice","Zedelgem","Zeebrugge-Dorp","Zelezna Ruda centrum","Zelezna Ruda mesto","Zell am See","Zell am Ziller","Zeltweg","Zermatt","Zetting","Zevenaar","Zgorzelec","Zgorzelec Miasto","Zichem","Zidani Most","Ziegelbrücke","Zielona Gora Gl.","Zirl","Zirovice-Seniky","Zizers","Zofingen","Zolder","Zug(CH)","Zuidbroek","Zumarraga","Zürich Enge","Zürich Flughafen","Zürich HB","Zürich Wiedikon","Zürich Wollishofen","Zürich Altstetten","Zürich Hardbrücke","Zürich Oerlikon","Opfikon","Zürich Stadelhofen","Zwijndrecht(NL)","Zwolle"]; - $('input.station').autocomplete({ - delay: 0, - minLength: 3, - source: stations - }); -}); diff --git a/public/static/js/collapse.js b/public/static/js/collapse.js index bd0b02f..e861169 100644 --- a/public/static/js/collapse.js +++ b/public/static/js/collapse.js @@ -1,76 +1,180 @@ +/* + * Copyright (C) 2020-2023 Birte Kristina Friesel + * + * SPDX-License-Identifier: AGPL-3.0-or-later + */ + +function setLang(lang) { + document.cookie = 'lang=' + lang + ';SameSite=None;Secure'; + location.reload(); +} + +function setTheme(theme) { + localStorage.setItem('theme', theme); + if (!otherTheme.hasOwnProperty(theme)) { + theme = window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light'; + } + addStyleSheet(theme, 'theme'); +} + function reload_app() { - $.get(window.location.href, {ajax: 1}, function(data) { - $('div.app > ul').html(data); - dbf_reg_handlers(); - setTimeout(reload_app, 60000); - }).fail(function() { - setTimeout(reload_app, 10000); - }); + // TODO use a variable instead of window.location.href, as + // window.location.href may be /z/... + // Until then, we guard it by only reloading whin moreinfo is not expanded. + if ($('.expanded-moreinfo').length == 0) { + $.get(window.location.href, {ajax: 1}, function(data) { + // TODO check expanded-moreinfo again here (until the issue itself has been resolved) + $('div.app > ul').html(data); + dbf_reg_handlers(); + setTimeout(reload_app, 60000); + }).fail(function() { + setTimeout(reload_app, 10000); + }); + } else { + setTimeout(reload_app, 30000); + } } -function dbf_reg_handlers() { - $('div.app > ul > li').click(function() { - var trainElem = $(this); - var routeprev = trainElem.data('routeprev').split('|'); - var routenext = trainElem.data('routenext').split('|'); - $('.moreinfo').each(function() { - var infoElem = $(this); - $('.moreinfo .train-line').removeClass('bahn sbahn fern ext').addClass(trainElem.data('linetype')); +function dbf_show_moreinfo(trainElem, keep_old) { + const routeprev = trainElem.data('routeprev').split('|'); + const routenext = trainElem.data('routenext').split('|'); + const moreinfo = trainElem.data('moreinfo').split('|'); + $('.moreinfo').each(function() { + const infoElem = $(this); + if (!keep_old) { + $('.moreinfo .train-line').removeClass('sbahn fern ext ubahn bus tram').addClass(trainElem.data('linetype')); $('.moreinfo .train-line').text(trainElem.data('line')); $('.moreinfo .train-no').text(trainElem.data('no')); $('.moreinfo .train-origin').text(trainElem.data('from')); $('.moreinfo .train-dest').text(trainElem.data('to')); $('.moreinfo .minfo').text(''); - $('.moreinfo .mfooter').html('<div style="text-align: center; width: 100%; color: #888888;">Lade Daten, bitte warten...</div>'); + $('.moreinfo .mfooter').html(''); $('.moreinfo .verbose').html(''); $('.moreinfo .mroute').html(''); $('.moreinfo ul').html(''); - if (trainElem.data('platform').length > 0) { - $('.moreinfo .mfooter').append('<div class="platforminfo">Gleis ' + trainElem.data('platform') + '</div>') + var dataline = ''; + if (trainElem.data('arrival') != '') { + dataline += '<div><div class="arrival">An: ' + trainElem.data('arrival') + '</div></div>'; + } else { + dataline += '<div><div class="arrival"></div></div>'; + } + if (trainElem.data('platform') != '') { + dataline += '<div><div class="platform">Gleis ' + trainElem.data('platform') + '</div></div>'; + } else { + dataline += '<div><div class="platform"></div></div>'; } - var timebuf = ''; - if (trainElem.data('arrival').length > 0) { - timebuf += 'Ankunft: ' + trainElem.data('arrival') + '<br/>'; + if (trainElem.data('departure') != '') { + dataline += '<div><div class="departure">Ab: ' + trainElem.data('departure') + '</div></div>'; + } else { + dataline += '<div><div class="departure"></div></div>'; } - if (trainElem.data('departure').length > 0) { - timebuf += 'Abfahrt: ' + trainElem.data('departure'); + $('.moreinfo .mfooter').append('<div class="dataline">' + dataline + '</div>'); + if ($('.moreinfo .loading').length == 0) { + $('.moreinfo .mfooter').append('<div class="loading">Lade Daten, bitte warten...</div>'); } - $('.moreinfo .mfooter').append('<div class="timeinfo">' + timebuf + '</div>'); - if (trainElem.data('routeprev').length > 0) { - var routebuf = ''; + if (trainElem.data('moreinfo') != '') { + var ibuf = ''; + for (var key in moreinfo) { + ibuf += '<li>' + moreinfo[key] + '</li>'; + } + $('.moreinfo .mfooter').append('Meldungen: <ul>' + ibuf + '</ul>'); + } + var routebuf = ''; + if (trainElem.data('routeprev') != '') { for (var key in routeprev) { routebuf += '<li>' + routeprev[key] + '</li>'; } - $('.moreinfo .mfooter').append('Von: <ul class="mroute">' + routebuf + '</ul>'); } - if (trainElem.data('routenext').length > 0) { - var routebuf = ''; + routebuf += '<li><strong>' + document.title + '</strong></li>'; + if (trainElem.data('routenext') != '') { for (var key in routenext) { routebuf += '<li>' + routenext[key] + '</li>'; } - $('.moreinfo .mfooter').append('Nach: <ul class="mroute">' + routebuf + '</ul>'); } - $.get(window.location.href, {train: trainElem.data('train'), ajax: 1}, function(data) { - $('.moreinfo').html(data); - }).fail(function() { - $('.moreinfo .mfooter').append('Der Zug ist abgefahren (Zug nicht gefunden)'); - }); - infoElem.removeClass('collapsed-moreinfo'); - infoElem.addClass('expanded-moreinfo'); + $('.moreinfo .mfooter').append('Fahrtverlauf: <ul class="mroute">' + routebuf + '</ul>'); + } + $.get(window.location.href, {train: trainElem.data('train'), jid: trainElem.data('jid'), ajax: 1}, function(data) { + $('.moreinfo').html(data); + }).fail(function() { + $('.moreinfo .mfooter').append('Keine weiteren Details verfügbar'); + $('.moreinfo .loading').remove(); }); + infoElem.removeClass('collapsed-moreinfo'); + infoElem.addClass('expanded-moreinfo'); }); } -$(function() { - if (document.location.hash.length > 1) { - var wanted = document.location.hash.replace('#', ''); - $('div.app > ul > li > .moreinfo, div.infoscreen > ul > li > .moreinfo').each(function() { - if ($(this).data('train') == wanted) { - $(this).removeClass('collapsed-moreinfo'); - $(this).addClass('expanded-moreinfo'); +function dbf_reg_handlers() { + $('div.app > ul > li').click(function(event) { + const trainElem = $(this); + const station = $('div.app').data('station'); + const param = new URLSearchParams(window.location.search); + event.preventDefault(); + var suffix = '?'; + if (param.get('detailed')) { + suffix += '&detailed=1'; + } + if (param.get('dbris') && param.get('dbris') != '0') { + suffix += '&dbris=' + param.get('dbris') + '&highlight=' + trainElem.data('station'); + } + if (param.get('efa') && param.get('efa') != '0') { + suffix += '&efa=' + param.get('efa') + '&highlight=' + trainElem.data('station'); + } + if (param.get('hafas') && param.get('hafas') != '0') { + suffix += '&hafas=' + param.get('hafas') + '&highlight=' + trainElem.data('station'); + } + if (param.get('past')) { + suffix += '&past=1'; + } + if (param.get('rt') || param.get('show_realtime')) { + suffix += '&rt=1'; + } + if (param.get('hafas') && param.get('hafas') != '0') { + history.pushState({'page':'traindetail','jid':trainElem.data('jid')}, 'test', '/z/' + trainElem.data('jid') + suffix); + } else if (param.get('efa') && param.get('efa') != '0') { + history.pushState({'page':'traindetail','jid':trainElem.data('jid')}, 'test', '/z/' + trainElem.data('jid') + suffix); + } else if (param.get('dbris') && param.get('dbris') != '0') { + history.pushState({'page':'traindetail','jid':trainElem.data('jid')}, 'test', '/z/' + trainElem.data('jid') + suffix); + } else { + history.pushState({'page':'traindetail','station':station,'train':trainElem.data('no')}, 'test', '/z/' + trainElem.data('train') + '/' + trainElem.data('station') + suffix); + } + dbf_show_moreinfo(trainElem, false); + }); + const trainid = $(location).attr('hash').substr(1); + if (trainid) { + var found = false; + $('div.app > ul > li').each(function(index) { + if (found) { + return; } + $(this).find('.anchor').each(function() { + if ($(this).attr('id') == trainid) { + found = true; + } + }); }); + if (found) { + found = false; + $('div.app > ul > li').each(function(index) { + if (found) { + return; + } + $(this).find('.anchor').each(function() { + if ($(this).attr('id') == trainid) { + found = true; + } + }); + if (found) { + $(this).addClass('selected'); + } else { + $(this).addClass('past'); + } + }); + } } +} + +$(function() { $('.moresettings-header').each(function() { $(this).click(function() { var moresettings = $('.moresettings'); @@ -105,12 +209,42 @@ $(function() { } }); }); - $('.moreinfo').click(function() { - $(this).removeClass('expanded-moreinfo'); - $(this).addClass('collapsed-moreinfo'); - }); dbf_reg_handlers(); if ($('.content .app').length) { setTimeout(reload_app, 30000); + history.replaceState({'page':'station'}, document.title, ''); } + window.onpopstate = function(event) { + if (event.state != null) { + if ((event.state['page'] == 'station')) { + $('.moreinfo').each(function() { + $(this).removeClass('expanded-moreinfo'); + $(this).addClass('collapsed-moreinfo'); + }); + if (!$('div.app > ul').length) { + $('div.app').append('<ul></ul>'); + reload_app(); + } + } else if ((event.state['page'] == 'traindetail')) { + var success = false; + $('div.app > ul > li').each(function() { + const trainElem = $(this); + if (trainElem.data('no') == event.state['train']) { + dbf_show_moreinfo(trainElem, true); + success = true; + return; + } + }); + if (!success) { + $('.moreinfo').each(function() { + $(this).removeClass('collapsed-moreinfo'); + $(this).addClass('expanded-moreinfo'); + }); + $('.moreinfo .mfooter').append('Der Zug ist abgefahren (Zug nicht gefunden)'); + } + } + } else { + console.log("unhandled popstate! " + document.location); + } + }; }); diff --git a/public/static/js/dbf.min.js b/public/static/js/dbf.min.js index f6003e9..f977bbd 100644 --- a/public/static/js/dbf.min.js +++ b/public/static/js/dbf.min.js @@ -1 +1 @@ -function reload_app(){$.get(window.location.href,{ajax:1},function(e){$("div.app > ul").html(e),dbf_reg_handlers(),setTimeout(reload_app,6e4)}).fail(function(){setTimeout(reload_app,1e4)})}function dbf_reg_handlers(){$("div.app > ul > li").click(function(){var i=$(this),t=i.data("routeprev").split("|"),l=i.data("routenext").split("|");$(".moreinfo").each(function(){var e=$(this);$(".moreinfo .train-line").removeClass("bahn sbahn fern ext").addClass(i.data("linetype")),$(".moreinfo .train-line").text(i.data("line")),$(".moreinfo .train-no").text(i.data("no")),$(".moreinfo .train-origin").text(i.data("from")),$(".moreinfo .train-dest").text(i.data("to")),$(".moreinfo .minfo").text(""),$(".moreinfo .mfooter").html('<div style="text-align: center; width: 100%; color: #888888;">Lade Daten, bitte warten...</div>'),$(".moreinfo .verbose").html(""),$(".moreinfo .mroute").html(""),$(".moreinfo ul").html(""),0<i.data("platform").length&&$(".moreinfo .mfooter").append('<div class="platforminfo">Gleis '+i.data("platform")+"</div>");var n="";if(0<i.data("arrival").length&&(n+="Ankunft: "+i.data("arrival")+"<br/>"),0<i.data("departure").length&&(n+="Abfahrt: "+i.data("departure")),$(".moreinfo .mfooter").append('<div class="timeinfo">'+n+"</div>"),0<i.data("routeprev").length){var r="";for(var a in t)r+="<li>"+t[a]+"</li>";$(".moreinfo .mfooter").append('Von: <ul class="mroute">'+r+"</ul>")}if(0<i.data("routenext").length){r="";for(var a in l)r+="<li>"+l[a]+"</li>";$(".moreinfo .mfooter").append('Nach: <ul class="mroute">'+r+"</ul>")}$.get(window.location.href,{train:i.data("train"),ajax:1},function(e){$(".moreinfo").html(e)}).fail(function(){$(".moreinfo .mfooter").append("Der Zug ist abgefahren (Zug nicht gefunden)")}),e.removeClass("collapsed-moreinfo"),e.addClass("expanded-moreinfo")})})}$(function(){$("input.station").autocomplete({delay:0,minLength:3,source:["Aachen Hbf","Aachen Schanz","Aachen West","Aachen West","Aachen-Rothe Erde","Aachen-Rothe Erde","Aalen Hbf","Abenden","Abensberg","Achern","Achern Stadt","Achim","Achkarren","Achmer","Achterwehr","Adelebsen","Adelschlag","Adelsdorf(Mittelfr)","Adelsheim Nord","Adelsheim Ost","Adorf(Erzgeb)","Adorf(Vogtl)","Affaltrach","Agatharied","Agathenburg","Aglasterhausen","Aha","Ahaus","Ahlbeck Grenze","Ahlbeck Ostseetherme","Ahlen(Westf)","Ahlhorn","Ahlten","Ahnatal Casselbreite","Ahnatal-Heckershausen","Ahnatal-Weimar","Ahrbrück","Ahrensburg","Ahrensburg-Gartenholz","Ahrensfelde","Ahrensfelde Friedhof","Ahrensfelde Nord","Ahrweiler","Ahrweiler Markt","Aich(Niederbay)","Aichach","Aichstetten","Aindorf","Ainring","Albbruck","Albersdorf","Albersweiler(Pfalz)","Albig","Albig","Albisheim(Pfrimm)","Albrechtshaus","Albrechtshof","Albshausen","Albsheim(Eis)","Albstadt-Ebingen","Albstadt-Ebingen West","Albstadt-Laufen Ort","Albstadt-Lautlingen","Aldekerk","Aldingen(b Spaichingen)","Aletshausen","Alexisbad","Alfeld(Leine)","Alfter-Impekoven","Alfter-Witterschlick","Algermissen","Aligse","Allendorf(Dillkr)","Allensbach","Allersberg(Rothsee)","Allmendingen","Alpen","Alpirsbach","Alsdorf Poststraße","Alsdorf(Westerw)","Alsdorf-Annapark","Alsdorf-Busch","Alsdorf-Kellersberg","Alsdorf-Mariadorf","Alsenz","Alsfeld(Oberhess)","Alsheim","Alt Hüttendorf","Alt Rosenthal","Altbach","Altdorf West","Altdorf(Niederbay)","Altdorf(b Nürnberg)","Altdöbern","Alte Veste","Altefähr","Altena(Westf)","Altenahr","Altenau(Bay)","Altenbach","Altenbamberg","Altenbeken","Altenberge","Altenburg","Altenerding","Altenfeld(Rhön)","Altenglan","Altengörs","Altenhasungen","Altenkirchen(Westerwald)","Altenmarkt(Alz)","Altenseelbach","Altenstadt(Hess)","Altenstadt(Iller)","Altenstadt(Waldnaab)","Altenstadt-Höchst","Altenstadt-Lindheim","Altentreptow","Altenwillershagen","Altersbach","Altes Lager","Altglashütten-Falkau","Althegnenberg","Altheim(Hess)","Althof","Altingen(Württ)","Altmittweida","Altmorschen","Altmügeln","Altomünster","Altoschatz-Rosenthal","Altranft","Altshausen","Altstädten(Allgäu)","Alttann","Altötting","Alveslohe","Alzenau Burg","Alzenau Nord","Alzenau(Unterfr)","Alzey","Alzey Süd","Alzey West","Amberg","Amerang","Ammern","Amorbach","Ampfing","Amsdorf","Amstetten(W) Lokalbahn","Amstetten(Württ)","Amtshainersdorf","Andernach","Angermund","Angermünde","Angern-Rogätz","Angersbach","Angersdorf","Anklam","Annaberg-Buchholz Mitte","Annaberg-Buchholz Süd","Annaberg-Buchholz unterer Bf","Annaburg","Annweiler am Trifels","Annweiler-Sarnstall","Anrath","Ansbach","Antonsthal","Anwanden","Anzefahr","Anzenkirchen","Apensen","Apolda","Appenweier","Appenweier","Ardey","Arensdorf(Köthen)","Arenshausen","Arfurt(Lahn)","Armsheim","Arnbach","Arnsberg(Westf)","Arnschwang","Arnsdorf(Dresden)","Arnstadt Hbf","Arnstadt Süd","Arrach","Arsbeck","Artern","Arzberg(Oberfr)","Aschaffenburg Hbf","Aschaffenburg Hochschule","Aschaffenburg Süd","Aschau(Chiemgau)","Ascheberg(Holst)","Ascheberg(Westf)","Aschendorf","Aschersleben","Ashausen","Asperg","Asselheim","Assenheim(Oberhess)","Assmannshausen","Attendorn","Attendorn-Hohen Hagen","Au im Murgtal","Au(Sieg)","Aue(Sachs)","Aue(Sachs) Erzgebirgsstadion","Aue-Wingeshausen","Auehütte","Auerbach(V) ob Bf","Auerbach(V) unt Bf","Auerbach(Vogtl) Hp","Auerbach(b Mosbach, Baden)","Auerstedt","Aufhausen(Württ)","Aufhausen(b Erding)","Auggen","Augsburg Haunstetterstraße","Augsburg Hbf","Augsburg Messe","Augsburg Morellstr.","Augsburg-Hochzoll","Augsburg-Hochzoll","Augsburg-Oberhausen","Augustfehn","Aukrug","Aulendorf","Aumenau","Aumühle","Aumühle","Auringen-Medenbach","Auw an der Kyll","Außenried","Aying","Aßlar","Aßling(Oberbay)","Baabe","Baalberge","Baar-Ebenhausen","Babenhausen Langstadt","Babenhausen(Hess)","Babstadt","Bacharach","Bachern","Bachfeld","Bachheim","Backnang","Bad Abbach","Bad Aibling","Bad Aibling Kurpark","Bad Arolsen","Bad Bellingen","Bad Belzig","Bad Bentheim","Bad Bergzabern","Bad Berka","Bad Berka Zeughausplatz","Bad Berleburg","Bad Bevensen","Bad Birnbach","Bad Blankenburg(Thüringerw)","Bad Bodendorf","Bad Bodenteich","Bad Brambach","Bad Bramstedt","Bad Bramstedt Kurhaus","Bad Breisig","Bad Camberg","Bad Doberan","Bad Doberan Goethestraße","Bad Doberan Stadtmitte","Bad Driburg(Westf)","Bad Düben(Mulde)","Bad Dürkheim","Bad Dürkheim-Trift","Bad Dürrenberg","Bad Elster","Bad Empfing","Bad Ems","Bad Ems West","Bad Endorf","Bad Fallingbostel","Bad Freienwalde","Bad Friedrichshall Hbf","Bad Friedrichshall-Kochendorf","Bad Gandersheim","Bad Griesbach(Schwarzwald)","Bad Grönenbach","Bad Harzburg","Bad Herrenalb","Bad Hersfeld","Bad Homburg","Bad Honnef Stadtbahn","Bad Honnef(Rhein)","Bad Höhenstadt","Bad Hönningen","Bad Imnau","Bad Karlshafen","Bad Kissingen","Bad Kleinen","Bad Kohlgrub","Bad Kohlgrub Kurhaus","Bad Kreuznach","Bad Krozingen","Bad Krozingen Ost","Bad König","Bad König Zell","Bad Kösen","Bad Köstritz","Bad Kötzting","Bad Laasphe","Bad Laasphe-Niederlaasphe","Bad Langensalza","Bad Lausick","Bad Lauterberg im Harz Barbis","Bad Liebenwerda","Bad Liebenzell","Bad Lobenstein","Bad Malente-Gremsmühlen","Bad Mergentheim","Bad Münder(Deister)","Bad Münster a Stein","Bad Münstereifel","Bad Münstereifel-Arloff","Bad Münstereifel-Iversheim","Bad Nauheim","Bad Nenndorf","Bad Neuenahr","Bad Neustadt(Saale)","Bad Niedernau","Bad Oeynhausen","Bad Oeynhausen Süd","Bad Oldesloe","Bad Peterstal","Bad Pyrmont","Bad Rappenau","Bad Rappenau Kurpark","Bad Reichenhall","Bad Reichenhall-Kirchberg","Bad Rodach","Bad Rotenfels Bf","Bad Rotenfels Schloss","Bad Rotenfels Weinbrennerstraße","Bad Saarow","Bad Saarow Klinikum","Bad Sachsa","Bad Salzdetfurth","Bad Salzdetfurth Solebad","Bad Salzhausen","Bad Salzschlirf","Bad Salzuflen","Bad Salzungen","Bad Sassendorf","Bad Saulgau","Bad Schandau","Bad Schlema","Bad Schmiedeberg","Bad Schmiedeberg Kurzentrum","Bad Schmiedeberg Süd","Bad Schussenried","Bad Schwartau","Bad Schönborn Süd","Bad Schönborn-Kronau","Bad Sebastiansweiler-Belsen","Bad Segeberg","Bad Sobernheim","Bad Soden(Taunus)","Bad Soden-Salmünster","Bad Sooden-Allendorf","Bad St Peter Süd","Bad St Peter-Ording","Bad Staffelstein","Bad Steben","Bad Suderode","Bad Sulza","Bad Sulza Nord","Bad Säckingen","Bad Teinach-Neubulach","Bad Tölz","Bad Tönisstein","Bad Urach","Bad Urach Ermstalklinik","Bad Urach Wasserfall","Bad Vilbel","Bad Vilbel Süd","Bad Vilbel-Gronau","Bad Waldsee","Bad Wildbad Bf","Bad Wildbad Kurpark","Bad Wildbad Nord","Bad Wildbad Uhlandplatz","Bad Wildungen","Bad Wilsnack","Bad Wimpfen","Bad Wimpfen Im Tal","Bad Wimpfen-Hohenstadt","Bad Windsheim","Bad Wurzach","Bad Wörishofen","Bad Zwischenahn","Baddeckenstedt","Baden(Verden)","Baden-Baden","Baden-Baden Haueneberstein","Baden-Baden Rebland","Bagenz","Bahlingen Riedlen","Bahlingen am Kaiserstuhl","Bahnbrücken","Bahnsdorf","Baierbrunn","Baiersbronn Bf","Baiersbronn Schule","Baiersdorf","Baitz","Balbersdorf","Baldham","Balduinstein","Balgheim","Balgstädt","Balingen Süd","Balingen(Württ)","Ballstädt(Gotha)","Baltersweiler","Balve","Bamberg","Bammental","Bannemin-Mölschow","Bansin Seebad","Banteln","Bantorf","Barabein","Barbelroth","Bardowick","Bardowick","Bargstedt","Bargteheide","Barleben","Barleber See","Barmstedt","Barmstedt Brunnenstr","Barnstorf(Han)","Barnten","Barrien","Barsinghausen","Barth","Barthmühle","Baruth(Mark)","Basdahl Kluste","Basdahl Kluste","Basdorf","Basel Bad Bf","Bassum","Batzenhäusle","Batzhausen","Bauerbach","Baumholder","Baunach","Baunatal-Guntershausen","Baunatal-Rengershausen","Bautzen","Bavendorf","Bayerbach","Bayerisch Eisenstein","Bayerisch Gmain","Bayreuth Hbf","Bayreuth-St Georgen","Bayrischzell","Bebitz","Bebra","Bechstedt-Trippstein","Beckingen(Saar)","Bedburg(Erft)","Bedburg-Hau","Beelen","Beelitz Stadt","Beelitz-Heilstätten","Beerfelden Hetzbach","Beeskow","Beetz-Sommerfeld","Behringersdorf","Beienheim","Beilrode","Beimerstetten","Beldorf","Belgershain","Belleben","Bellenberg","Bellheim Am Mühlbuckel","Bellheim Bf","Bempflingen","Benediktbeuern","Bengel","Benneckenstein","Bennemühlen","Bennewitz","Bennigsen","Benningen(Neckar)","Bennungen","Benshausen","Bensheim","Bensheim-Auerbach","Bentwisch","Beratzhausen","Berbisdorf","Berbisdorf Anbau","Berchtesgaden Hbf","Berg(Pfalz)","Berga(Elster)","Berga-Kelbra","Bergen auf Rügen","Bergen(Oberbay)","Bergenweiler","Bergfelde(b Berlin)","Berghausen Am Stadion","Berghausen Pfinzbrücke","Berghausen(Baden)","Berghausen(Pfalz)","Berghausen(b Wittgenstein)","Bergheim(Erft)","Bergisch Gladbach","Bergsdorf","Bergtheim","Bergwitz","Beringen Bad Bf","Beringerfeld","Beringhausen","Beringstedt","Berkenbrück","Berlin Alexanderplatz","Berlin Alexanderplatz (S)","Berlin Alt-Reinickendorf","Berlin Anhalter Bf","Berlin Attilastr.","Berlin Baumschulenweg","Berlin Bellevue","Berlin Betriebsbf Rummelsburg","Berlin Betriebsbf Schöneweide","Berlin Beusselstraße","Berlin Bornholmer Str.","Berlin Botanischer Garten","Berlin Brandenburger Tor","Berlin Buckower Chaussee","Berlin Bundesplatz","Berlin Eichborndamm","Berlin Feuerbachstr.","Berlin Frankfurter Allee","Berlin Friedrichstraße","Berlin Gehrenseestr.","Berlin Gesundbrunnen","Berlin Gesundbrunnen(S)","Berlin Greifswalder Str","Berlin Grünbergallee","Berlin Hackescher Markt","Berlin Hbf","Berlin Hbf (S-Bahn)","Berlin Hbf (tief)","Berlin Heerstraße","Berlin Heidelberger Platz","Berlin Hermannstraße","Berlin Hohenzollerndamm","Berlin Humboldthain","Berlin Innsbrucker Platz","Berlin Jannowitzbrücke","Berlin Julius-Leber-Brücke","Berlin Jungfernheide","Berlin Jungfernheide (S)","Berlin Karl-Bonhoeffer-Nervenklinik","Berlin Köllnische Heide","Berlin Landsberger Allee","Berlin Mehrower Allee","Berlin Messe Nord/ICC (Witzleben)","Berlin Messe Süd (Eichkamp)","Berlin Mexikoplatz","Berlin Nordbahnhof","Berlin Nöldnerplatz","Berlin Olympiastadion","Berlin Oranienburger Straße","Berlin Osdorfer Straße","Berlin Ostbahnhof","Berlin Ostkreuz","Berlin Ostkreuz","Berlin Ostkreuz (S)","Berlin Ostkreuz (S)","Berlin Ostkreuz (S)","Berlin Plänterwald","Berlin Poelchaustr.","Berlin Potsdamer Platz","Berlin Potsdamer Platz (S)","Berlin Prenzlauer Allee","Berlin Priesterweg","Berlin Raoul-Wallenberg-Str.","Berlin Rathaus Steglitz","Berlin Savignyplatz","Berlin Schichauweg","Berlin Schönhauser Allee","Berlin Sonnenallee","Berlin Springpfuhl","Berlin Storkower Str","Berlin Sundgauer Str","Berlin Südende","Berlin Südkreuz","Berlin Südkreuz (S)","Berlin Südkreuz (S)","Berlin Treptower Park","Berlin Wannsee","Berlin Wannsee","Berlin Warschauer Straße","Berlin Westend","Berlin Westhafen","Berlin Westkreuz","Berlin Wollankstraße","Berlin Wuhletal","Berlin Yorckstr.(S1)","Berlin Yorckstr.(S2)","Berlin Zoologischer Garten","Berlin Zoologischer Garten (S)","Berlin-Adlershof","Berlin-Altglienicke","Berlin-Biesdorf","Berlin-Blankenburg","Berlin-Buch","Berlin-Charlottenburg","Berlin-Friedenau","Berlin-Friedrichsfelde Ost","Berlin-Friedrichshagen","Berlin-Frohnau","Berlin-Grunewald","Berlin-Grünau","Berlin-Halensee","Berlin-Heiligensee","Berlin-Hermsdorf","Berlin-Hirschgarten","Berlin-Hohenschönhausen","Berlin-Karlshorst","Berlin-Karow","Berlin-Karow","Berlin-Kaulsdorf","Berlin-Köpenick","Berlin-Lankwitz","Berlin-Lichtenberg","Berlin-Lichtenrade","Berlin-Lichterfelde Ost","Berlin-Lichterfelde Ost (S)","Berlin-Lichterfelde Süd","Berlin-Lichterfelde West","Berlin-Mahlsdorf","Berlin-Marienfelde","Berlin-Marzahn","Berlin-Neukölln","Berlin-Neukölln","Berlin-Nikolassee","Berlin-Nikolassee","Berlin-Oberspree","Berlin-Pankow","Berlin-Pankow-Heinersdorf","Berlin-Pichelsberg","Berlin-Rahnsdorf","Berlin-Rummelsburg","Berlin-Rummelsburg","Berlin-Schlachtensee","Berlin-Schulzendorf","Berlin-Schöneberg","Berlin-Schönefeld Flughafen","Berlin-Schönefeld Flughafen","Berlin-Schöneweide","Berlin-Schöneweide (S)","Berlin-Schönholz","Berlin-Schönholz","Berlin-Spandau","Berlin-Spindlersfeld","Berlin-Staaken","Berlin-Stresow","Berlin-Tegel (S)","Berlin-Tempelhof","Berlin-Tiergarten","Berlin-Waidmannslust","Berlin-Wartenberg","Berlin-Wedding","Berlin-Wilhelmshagen","Berlin-Wilhelmsruh","Berlin-Wittenau (Wilhelmsruher Damm)","Berlin-Wuhlheide","Berlin-Zehlendorf","Bermatingen-Ahausen","Bernau a Chiemsee","Bernau(b Berlin)","Bernau-Friedenstal","Bernburg","Bernburg-Friedenshall","Bernburg-Strenzfeld","Bernburg-Waldau","Bernburg-Waldau","Berne","Bernried","Bernterode","Bersenbrück","Berthelsdorf(Erzgeb)","Berthelsdorf(Erzgebirge) Ort","Bertsdorf","Berzhahn","Besch","Besigheim","Besseringen","Bestensee","Bestwig","Bettmannsäge","Betzdorf(Sieg)","Beucha","Beuchow","Beuggen","Beuna(Geiseltal)","Beuren","Beuron","Beutelsbach","Beutersitz","Bexbach","Beyendorf","Bibelöd","Biberach(Baden)","Biberach(Riß)","Biberach(Riß) Süd","Biblis","Bibra","Bichl","Bickenbach(Bergstr)","Biebesheim","Biedenkopf","Biedenkopf-Schulzentrum","Biederitz","Bielefeld Hbf","Bielefeld Ost","Bielefeld-Senne","Biendorf","Bienenbüttel","Bienenmühle","Bierbach","Bieren-Rödinghausen","Bieringen","Biersdorf(Westerw)","Biersdorf-Ort(Ww)","Biesenthal","Biessenhofen","Biessenhofen","Bietigheim(Baden)","Bietigheim-Bissingen","Bietingen","Bigge","Bildstock","Bilfingen","Billenhausen","Billerbeck","Binau","Bindfelde","Bindlach","Bingen(Rhein) Hbf","Bingen(Rhein) Stadt","Bingen-Gaulsheim","Binolen","Binsfeld","Binz LB","Binzen","Birach","Birkelbach","Birkenau","Birkenbringhausen","Birkenfeld(Enz)","Birkengrund","Birkenmoor","Birkenstein","Birkenwerder(b Berlin)","Birkungen","Birresborn","Bischheim-Gersdorf","Bischofswerda","Bischofswiesen","Bischweier","Bisingen","Bissendorf","Bitburg-Erdorf","Bittelbronn","Bitterfeld","Bitzfeld","Blaibach(Oberpf)","Blaichach(Allgäu)","Blankenbach","Blankenberg(Meckl)","Blankenberg(Sieg)","Blankenburg(Harz)","Blankenfelde(Teltow-Fläming)","Blankenheim(Sangerhausen)","Blankenheim(Wald)","Blankenloch","Blankensee(Meckl)","Blankenstein(Saale)","Blaubeuren","Blaufelden","Blaustein","Blechhammer(Thür)","Bleibach","Bleichenbach(Oberh)","Bleicherode Ost","Blens","Blieskastel-Lautzkirchen","Blindheim","Blumberg(b Berlin)","Blumberg-Rehhahn","Blumberg-Riedöschingen","Blumberg-Zollhaus","Blumenau","Blumenberg","Blumenhagen","Blumenkamp","Blumenthal(Mark)","Blönsdorf","Bobenheim","Bobingen","Bobitz","Bobstadt","Bocholt","Bochum Hbf","Bochum West","Bochum-Dahlhausen","Bochum-Ehrenfeld","Bochum-Hamme","Bochum-Langendreer","Bochum-Langendreer","Bochum-Langendreer West","Bochum-Riemke","Bockenheim-Kindenheim","Bockum-Hövel","Bodelsberg","Bodelshausen","Bodenburg","Bodenfelde","Bodenheim","Bodenmais","Bodenrode","Bodenwöhr Nord","Bogen","Bohmte","Boisheim","Boizenburg(Elbe)","Bokholt","Bondorf(b Herrenberg)","Bonn Brühler Str.","Bonn UN Campus","Bonn Hbf","Bonn Hbf (tief)","Bonn Helmholtzstraße","Bonn Heussallee/Museumsmeile","Bonn Konrad-Adenauer-Platz","Bonn Stadthaus","Bonn-Bad Godesberg","Bonn-Bad Godesberg Stadthalle","Bonn-Beuel","Bonn-Duisdorf","Bonn-Endenich Nord","Bonn-Mehlem","Bonn-Oberkassel","Bonn-Oberkassel Mitte","Bonn-Ramersdorf","Bookholzberg","Boostedt","Bopfingen","Boppard Hbf","Boppard Süd","Boppard-Bad Salzig","Boppard-Buchholz","Boppard-Fleckertshöhe","Boppard-Hirzenach","Bordesholm","Borgeln","Borgholzhausen","Borgsdorf","Bork(Westf)","Borken(Hess)","Borken(Westf)","Borkheide","Borna(Leipzig)","Borsdorf(Hess)","Borsdorf(Sachs)","Bottrop Hbf","Bottrop Hbf","Bottrop-Boy","Bottrop-Vonderort","Bous(Saar)","Boxberg-Wölchingen","Brachbach","Brachelen","Brackwede","Brahlstorf","Brake(Unterweser)","Brake(b Bielefeld)","Brake(b Bielefeld)","Brakel(Höxter)","Bramsche","Bramstedt(b Syke)","Brand Tropical Islands","Brandenburg Altstadt","Brandenburg Hbf","Brandoberndorf","Brannenburg","Braubach","Braunsbedra","Braunsbedra Ost","Braunschweig Hbf","Braunschweig-Gliesmarode","Braunsdorf-Lichtenwalde","Breddin","Bredelar","Bredenbek","Bredstedt","Brehna","Breinig","Breisach","Breitenbrunn(Erzg)","Breitenbrunn(Schwab)","Breitendiel","Breitendorf","Breitengüßbach","Breitscheidt(Altenkirchen, Ww)","Breitungen(Werra)","Bremen Hbf","Bremen Kreinsloger","Bremen Mühlenstraße","Bremen Neustadt","Bremen Turnerstraße","Bremen-Aumund","Bremen-Blumenthal","Bremen-Burg","Bremen-Farge","Bremen-Hemelingen","Bremen-Lesum","Bremen-Mahndorf","Bremen-Oberneuland","Bremen-Oslebshausen","Bremen-Schönebeck","Bremen-Sebaldsbrück","Bremen-St Magnus","Bremen-Vegesack","Bremen-Walle","Bremerhaven Hbf","Bremerhaven-Lehe","Bremerhaven-Wulsdorf","Bremervörde","Brenk","Brest-Aspe","Breternitz","Bretleben","Bretten","Bretten Kupferhälde","Bretten Rechberg","Bretten Schulzentrum","Bretten Stadtmitte","Bretten Wannenweg","Bretten-Ruit","Brettorf","Bretzenheim(Nahe)","Bretzfeld","Breyell","Brieselang","Briesen(Mark)","Brigachtal Kirchdorf","Brigachtal Klengen","Brilon Stadt","Brilon Wald","Britz","Brocken","Brockhöfe","Broderstorf","Brohl","Brokstedt","Bruchenbrücken","Bruchhausen(b Ettlingen)","Bruchköbel","Bruchmühlbach-Miesau","Bruchmühlen","Bruchsal","Bruchsal Am Mantel","Bruchsal Bildungszentrum","Bruchsal Schlachthof","Bruchsal Schloßgarten","Bruchsal Sportzentrum","Bruchsal Stegwiesen","Bruchsal Tunnelstr.","Bruchweiler","Bruckberg","Brucken","Bruckmühl","Brunau-Packebusch","Bräunlingen Bahnhof","Bräunlingen Industriegebiet","Brötzingen Mitte","Brötzingen Sandweg","Brötzingen Wohnlichstraße","Brück(Mark)","Brügge(Prign)","Brügge(Westf)","Brühl","Brühl","Brühl-Kierberg","Bubach","Bubenheim","Bubenreuth","Buchbrunn-Mainstockheim","Buchen Ost","Buchen(Odenw)","Buchenau(Lahn)","Buchenau(Oberbay)","Buchenhain","Buchenhorst","Buchholz(Baden)","Buchholz(Nordheide)","Buchholz(Zauche)","Buchloe","Buckow(Beeskow)","Buddenhagen","Budenheim","Bufleben","Buggingen","Buir","Buldern","Bullay(DB)","Bundenthal-Rumbach","Burbach Mitte","Burbach(Kr Siegen)","Burg Stargard(Meckl)","Burg(Dillkr) Nord","Burg(Dithm)","Burg(Magdeburg)","Burg-u. Nieder Gemünden","Burgau(Schwab)","Burgbernheim","Burgbernheim-Wildbad","Burgdorf","Burghaun(Hünfeld)","Burghausen","Burgheim","Burgholzhausen v d H","Burgkemnitz","Burgkirchen","Burgkunstadt","Burglauer","Burgsinn","Burgstall(Murr)","Burgstädt","Burgthann","Burgweiler","Burhafe(Ostfriesl)","Burkhardswalde-Maxen","Burkhardtsdorf","Burkhardtsdorf Mitte","Burkheim-Bischoffingen","Burladingen","Burladingen West","Buschow","Busenbach","Busenberg-Schindhard","Buttenheim","Buttstädt","Butzbach","Buxtehude","Bärenhecke-Johnsbach","Bärenklau","Bärenstein(Annaberg)","Bärenstein(b Glashütte, Sachs)","Bärnsdorf","Bäumenheim","Böbingen(Rems)","Böblingen","Böblingen Danziger Str","Böblingen Heusteigstr","Böblingen Südbf","Böblingen Zimmerschlag","Böbrach","Böckingen Sonnenbrunnen","Böckingen West","Bödigheim","Böhl-Iggelheim","Böhlen Werke","Böhlen(Leipzig)","Böhmhof","Böhringen-Rickelshausen","Bölzke","Bönen","Bönningstedt","Börnecke(Harz)","Börßum","Bösdorf(Sachs-Anh)","Bösensell","Bösperde","Bötzingen","Bötzingen Mühle","Büchen","Büchenbach","Büches-Düdelsheim","Bückeburg","Büdingen(Oberhess)","Büdingen(Westerw)","Bühl(Baden)","Bülzig","Bünde(Westf)","Bürgeln","Bürstadt","Bürstadt","Büsenbachtal","Büsum","Büttgen","Bützow","Cadenberge","Cadolzburg","Cainsdorf","Calau(Nl)","Calbe(Saale) Ost","Calbe(Saale) Stadt","Calbe(Saale) West","Calberlah","Caldern","Calmbach Bahnhof","Calmbach Süd","Calw","Camburg(Saale)","Cammin(Meckl)","Capelle(Westf)","Caputh Schwielowsee","Caputh-Geltow","Casekow","Castrop-Rauxel Hbf","Castrop-Rauxel Süd","Castrop-Rauxel Süd","Castrop-Rauxel-Merklinde","Celle","Cham(Oberpf)","Chamerau","Chemnitz Alt Chemnitz Center","Chemnitz Annenstraße","Chemnitz Brückenstraße/Freie Presse","Chemnitz Erdmannsdorfer Straße","Chemnitz Erfenschlag","Chemnitz Friedrichstraße","Chemnitz Gustav-Freytag-Straße","Chemnitz Hbf","Chemnitz Hbf (Bahnhofstraße)","Chemnitz Kinderwaldstätte","Chemnitz Mitte","Chemnitz Moritzhof","Chemnitz Omnibusbahnhof","Chemnitz Riemenschneiderstraße","Chemnitz Roter Turm","Chemnitz Rösslerstraße","Chemnitz Scheffelstraße","Chemnitz Schneeberger Straße","Chemnitz Schule Altchemnitz","Chemnitz Stefan-Heym-Platz","Chemnitz Süd","Chemnitz Süd","Chemnitz Theaterplatz","Chemnitz Treffurthstraße","Chemnitz Uhlestraße","Chemnitz Zentralhaltestelle","Chemnitz-Altchemnitz","Chemnitz-Borna Hp","Chemnitz-Borna Hp","Chemnitz-Harthau","Chemnitz-Hilbersdorf","Chemnitz-Reichenhain","Chemnitz-Schönau","Chemnitz-Siegmar","Chorin","Clarholz","Clausnitz","Cloppenburg","Coburg","Coburg Nord","Coburg-Neuses","Cochem(Mosel)","Coesfeld Schulzentrum","Coesfeld(Westf)","Collenberg","Contwig","Coppenbrügge","Coschen","Cossebaude","Coswig(Anh)","Coswig(b Dresden)","Cottbus","Cottbus-Merzdorf","Cottbus-Merzdorf","Cottbus-Sandow","Cottbus-Willmersdorf Nord","Crailsheim","Cranzahl","Creidlitz","Creußen(Oberfr)","Crimmitschau","Crivitz","Crossen Ort","Crossen a d Elster","Cunnertswalde","Cursdorf","Cuxhaven","Cölbe","Daaden","Dabendorf","Dachau Bahnhof","Dachau Stadt","Dachrieden","Dachwig","Dagebüll Kirche","Dagebüll Mole","Dahl","Dahlbruch","Dahlem(Eifel)","Dahlen(Sachs)","Dahlenburg","Dahlerbrück","Dahlewitz","Dahn","Dahn Süd","Dalheim","Dallau","Dallgow-Döberitz","Dannenberg Ost","Dannenwalde(Gransee)","Darching","Darlingerode","Darmstadt Hbf","Darmstadt Nord","Darmstadt Ost","Darmstadt Süd","Darmstadt TU-Lichtwiese","Darmstadt-Arheilgen","Darmstadt-Eberstadt","Darmstadt-Kranichstein","Darmstadt-Wixhausen","Dasing","Dattenfeld(Sieg)","Dauenhof","Daufenbach","Dausenau","Davensberg","Dedenhausen","Dedensen-Gümmer","Dedinghausen","Deezbüll","Deggendorf Hbf","Deidesheim","Deining(Oberpf)","Deinste","Deinste","Deisenhofen","Deißlingen Mitte","Delitzsch ob Bf","Delitzsch unt Bf","Dellfeld","Dellfeld Ort","Delmenhorst","Demitz-Thumitz","Demker","Demmin","Densborn","Denzlingen","Dernau","Dernbach(Westerw)","Derneburg(Han)","Dessau Adria","Dessau Hbf","Dessau Süd","Dessau-Alten","Dessau-Mosigkau","Dessau-Waldersee","Detmold","Dettelbach Bahnhof","Dettenhausen","Dettingen Freibad","Dettingen Gsaidt","Dettingen Lehen","Dettingen(Main)","Dettingen(Teck)","Dettingen-Mitte","Dettum","Deuben(Zeitz)","Deuerling","Deuten","Deutzen","Diebach","Dieburg","Diedelsheim","Diedorf(Schwab)","Dienheim","Diepholz","Dieringhausen","Dieskau","Dietersheim","Dietmannsried","Dietzelbach","Dietzenbach Bahnhof","Dietzenbach Mitte","Dietzenbach-Steinberg","Dietzhausen","Diez","Diez Ost","Dießen","Dillbrecht","Dillenburg","Dillingen(Donau)","Dillingen(Saar)","Dingden","Dingolfing","Dinkelsbühl Bf","Dinkelscherben","Dinslaken","Dippoldiswalde","Dirmingen","Dissen-Bad Rothenfelde","Distelhausen","Ditfurt","Dittersbach","Dittersdorf","Dittigheim","Ditzingen","Doberlug-Kirchhain","Doberlug-Kirchhain","Doberschütz","Dodendorf","Dodenhof","Dogern","Dohna(Sachs)","Dollbergen","Dollern","Dollnstein","Dombühl","Domnitz(Saalkr)","Domsühl","Donaueschingen","Donaueschingen Allmendshofen","Donaueschingen Aufen","Donaueschingen Grüningen","Donaueschingen Mitte/Siedlung","Donauwörth","Dorf Mecklenburg","Dorfchemnitz","Dorfen Bahnhof","Dorfmark","Dorfprozelten","Dorheim(Wetterau)","Dormagen","Dormagen Chempark","Dormagen Chempark","Dornburg(Saale)","Dornstetten","Dorsten","Dortelweil","Dortmund Hbf","Dortmund Hbf","Dortmund Knappschaftskrankenhaus","Dortmund Möllerbrücke","Dortmund Signal Iduna Park","Dortmund Stadthaus","Dortmund Tierpark","Dortmund Universität","Dortmund West","Dortmund-Aplerbeck","Dortmund-Aplerbeck Süd","Dortmund-Asseln Mitte","Dortmund-Barop","Dortmund-Brackel","Dortmund-Bövinghausen","Dortmund-Derne","Dortmund-Dorstfeld","Dortmund-Dorstfeld","Dortmund-Dorstfeld","Dortmund-Dorstfeld Süd","Dortmund-Germania","Dortmund-Huckarde","Dortmund-Huckarde Nord","Dortmund-Hörde","Dortmund-Kirchderne","Dortmund-Kirchhörde","Dortmund-Kley","Dortmund-Kruckel","Dortmund-Kurl","Dortmund-Körne","Dortmund-Körne West","Dortmund-Löttringhausen","Dortmund-Lütgendortmund","Dortmund-Lütgendortmund Nord","Dortmund-Marten","Dortmund-Marten Süd","Dortmund-Mengede","Dortmund-Nette/Oestrich","Dortmund-Oespel","Dortmund-Rahm","Dortmund-Scharnhorst","Dortmund-Somborn","Dortmund-Sölde","Dortmund-Westerfilde","Dortmund-Wickede","Dortmund-Wickede West","Dortmund-Wischlingen","Dorum(Weserm)","Dossow(Prign)","Dottenheim","Dotternhausen-Dormettingen","Drahnsdorf","Drahtzug","Drebkau","Drei Annen Hohne","Dreieich-Buchschlag","Dreieich-Buchschlag","Dreieich-Dreieichenhain","Dreieich-Götzenhain","Dreieich-Offenthal","Dreieich-Sprendlingen","Dreieich-Weibelfeld","Dreikirchen","Dreileben-Drackenstedt","Drensteinfurt","Dresden Bischofsplatz","Dresden Flughafen","Dresden Freiberger Straße","Dresden Grenzstraße","Dresden Hbf","Dresden Industriegelände","Dresden Mitte","Dresden-Cotta","Dresden-Dobritz","Dresden-Friedrichstadt","Dresden-Kemnitz","Dresden-Klotzsche","Dresden-Neustadt","Dresden-Niedersedlitz","Dresden-Pieschen","Dresden-Plauen","Dresden-Reick","Dresden-Stetzsch","Dresden-Strehlen","Dresden-Trachau","Dresden-Zschachwitz","Dreye","Drohndorf-Mehringen","Ducherow","Duckterath","Dudweiler","Duisburg Entenfang","Duisburg Hbf","Duisburg-Bissingheim","Duisburg-Buchholz","Duisburg-Großenbaum","Duisburg-Hochfeld Süd","Duisburg-Hochfeld Süd","Duisburg-Meiderich Ost","Duisburg-Meiderich Süd","Duisburg-Obermeiderich","Duisburg-Rahm","Duisburg-Ruhrort","Duisburg-Schlenk","Duisburg-Wedau","Duisburg-Wedau","Durach","Durmersheim","Durmersheim Nord","Dutenhofen(Wetzlar)","Dußlingen","Döbeln Hbf","Döberitz","Döggingen","Döhlau","Döllstädt","Dörfles-Esbach","Dörpen","Dörrberg","Dörverden","Dülken","Dülmen","Dülmen","Düren","Düren","Düren Annakirmesplatz","Düren Im Großen Tal","Düren Renkerstraße","Düren-Kuhbrücke","Düren-Lendersdorf","Dürrenbüchig","Dürrenwaid Bahnhof","Dürrnhaar","Dürrröhrsdorf","Düsseldorf Flughafen","Düsseldorf Flughafen","Düsseldorf Flughafen Terminal","Düsseldorf Friedrichstadt","Düsseldorf Hbf","Düsseldorf Volksgarten","Düsseldorf Völklinger Str.","Düsseldorf Wehrhahn","Düsseldorf-Benrath","Düsseldorf-Bilk","Düsseldorf-Derendorf","Düsseldorf-Derendorf","Düsseldorf-Eller","Düsseldorf-Eller Mitte","Düsseldorf-Eller Süd","Düsseldorf-Flingern","Düsseldorf-Garath","Düsseldorf-Gerresheim","Düsseldorf-Hamm","Düsseldorf-Hellerhof","Düsseldorf-Oberbilk","Düsseldorf-Rath","Düsseldorf-Rath Mitte","Düsseldorf-Reisholz","Düsseldorf-Unterrath","Düsseldorf-Zoo","Dütschow","Ebelsbach-Eltmann","Ebenhausen(Unterfr)","Ebenhausen-Schäftlarn","Ebenhofen","Ebensfeld","Eberbach","Ebermannstadt","Ebermergen","Ebern","Ebersbach(Fils)","Ebersbach(Sachs)","Ebersberg(Oberbay)","Ebersbrunn","Ebersdorf(b Coburg)","Eberswalde Hbf","Ebertsheim","Ebing","Ebringen","Ebstorf(Uelzen)","Echem","Eching","Echterdingen","Echzell","Eckardtsleben","Eckartsberga(Thür)","Eckartshausen-Ilshofen","Eckernförde","Eckersmühlen","Eddersheim","Edelfingen","Edenkoben","Edermünde-Grifte","Edesheim(Pfalz)","Ediger-Eller","Edingen(Wetzlar)","Edle Krone","Edling","Effelder(Thür)","Effolderbach","Efringen-Kirchen","Egelsbach","Egersdorf","Egestorf(Deister)","Eggenfelden","Eggenfelden Mitte","Eggenstein Bf","Eggersdorf","Eggesin","Eggingen","Egglkofen","Eggmühl","Eggolsheim","Eglharting","Egling","Ehingen(Donau)","Ehlenbruch","Ehlershausen","Ehningen(b Böblingen)","Ehr","Ehrang","Ehrang Ort","Ehringen","Ehringhausen(Kr Lippstadt)","Ehringshausen(Kr Wetzlar)","Ehringshausen(Oberhess)","Eibau","Eichen(Kr Siegen)","Eichenau(Oberbay)","Eichenberg","Eichenzell","Eichhagen","Eicholzheim","Eichstedt(Altm)","Eichstetten am Kaiserstuhl","Eichstätt Bahnhof","Eichstätt Stadt","Eichwalde","Eickendorf","Eilenburg","Eilenburg Ost","Eilenburg Ost","Eilendorf","Eilsleben(b Magdeburg)","Eilvese","Eimeldingen","Einbeck Salzderhelden","Einfeld","Einsiedel","Einsiedel Hp Gymnasium","Einsiedlerhof","Einöd(Saar)","Eisenach","Eisenach Opelwerke Hp","Eisenach West","Eisenbach-Matzenbach","Eisenberg(Pfalz)","Eisenberg(Pfalz)","Eisenberg(Pfalz)","Eisenheim","Eisenhüttenstadt","Eisenärzt","Eiserfeld(Sieg)","Eisfeld","Eisfelder Talmühle","Eislingen(Fils)","Eiswoog","Eitensheim","Eitorf","Elend","Elfershausen-Trimberg","Elgersburg","Ellefeld","Ellental","Ellerau","Ellhofen","Ellingen(Bay)","Ellrich","Ellwangen","Ellzee","Elmenhorst","Elmshorn","Elpersheim","Elsfleth","Elsholz","Elsnigk(Anh)","Elstal","Elster(Elbe)","Elsterberg","Elsterberg-Kunstseidenwerk","Elsterwerda","Elsterwerda-Biehla","Eltersdorf","Eltville","Elxleben","Elz(Limburg/Lahn)","Elz(Limburg/Lahn) Süd","Elzach","Elze(Han)","Emden Außenhafen","Emden Hbf","Emmelshausen","Emmendingen","Emmerich","Emmerke","Emmerthal","Empel-Rees","Empelde","Emsdetten","Emskirchen","Endersbach","Endingen am Kaiserstuhl","Endingen(Württ)","Engeln","Engelskirchen","Engen","Engers","Engertsham","Engstingen","Engstlatt","Enkenbach","Ennepetal","Ensdorf(Saar)","Enspel","Entringen","Enzberg","Enzisweiler","Epe(Westf)","Eppelborn","Eppelsheim(Rheinhess)","Eppertshausen","Eppingen","Eppingen West","Eppstein","Eppstein-Bremthal","Erbach(Odenw)","Erbach(Odenw) Nord","Erbach(Rheingau)","Erbach(Württ)","Erdeborn","Erding","Erdmannhausen","Erdmannsdorf-Augustusburg","Erdweg","Erftstadt","Erfurt Hbf","Erfurt Nord","Erfurt Ost","Erfurt-Bischleben","Erfurt-Gispersleben","Ergenzingen","Ergoldsbach","Ergste","Eriskirch","Erkelenz","Erkersreuth","Erkner","Erkrath","Erkrath-Nord","Erla","Erlabrunn(Erzgeb)","Erlangen","Erlangen Paul-Gossen-Straße","Erlangen-Bruck","Erlau(Sachs)","Erlenbach(Main)","Erndtebrück","Ernsgaden","Ernsthausen","Ernstthal am Rennsteig","Erpel(Rhein)","Erpolzheim","Ersingen","Ersingen West","Erzhausen","Erzingen(Baden)","Erzingen(Württ)","Eschborn","Eschborn Süd","Eschede","Eschelbronn","Eschenau(Mittelfr)","Eschenau(b Heilbronn)","Eschenbach(b Markt Erlbach)","Eschenlohe","Escherndorf-Vogelburg","Eschhofen","Eschwege","Eschwege-Niederhone","Eschweiler Hbf","Eschweiler Talbahnhof","Eschweiler-Nothberg","Eschweiler-St.Jöris","Eschweiler-Weisweiler","Eschweiler-West","Esens(Ostfriesl)","Espelkamp","Espenau-Mönchehof","Essen Hbf","Essen Stadtwald","Essen Süd","Essen West","Essen(Oldb)","Essen-Altenessen","Essen-Bergeborbeck","Essen-Borbeck","Essen-Borbeck Süd","Essen-Dellwig","Essen-Dellwig Ost","Essen-Eiberg","Essen-Frohnhausen","Essen-Gerschede","Essen-Holthausen","Essen-Horst","Essen-Hügel","Essen-Kray Nord","Essen-Kray Süd","Essen-Kupferdreh","Essen-Steele","Essen-Steele Ost","Essen-Werden","Essen-Zollverein Nord","Essen-Überruhr","Esslingen(Neckar)","Esslingen-Mettingen","Esslingen-Zell","Esting","Etelsen","Ettenhausen","Etterzhausen","Ettlingen Stadt","Ettlingen West","Etzbach","Etzelwang","Etzenbach","Etzenricht","Etzenrot","Etzleben","Eubigheim","Euerdorf","Euskirchen","Euskirchen Zuckerfabrik","Euskirchen-Großbüllesheim","Euskirchen-Kreuzweingarten","Euskirchen-Kuchenheim","Euskirchen-Stotzheim","Eutin","Eutingen im Gäu","Eutingen(Baden)","Eutzsch","Eyach","Eystrup","Eßleben","Fachingen(Lahn)","Fahrenkrug","Fahrnau","Falkenau(Sachs)Hp","Falkenau(Sachs)Süd","Falkenberg(Elster)","Falkenberg(Elster)","Falkenberg(Elster)","Falkenberg(Mark)","Falkenhagen Gewerbepark Prignitz","Falkensee","Falkenstein(Vogtl)","Fallersleben","Fangschleuse","Farchant","Fasanenpark","Faulbach(Main)","Faurndau","Favoritepark","Fehmarn-Burg","Feilitzsch","Feldafing","Feldberg-Bärental","Felde","Feldhausen","Feldkirchen(b München)","Fellbach","Felsberg-Altenbrunslar","Felsberg-Gensungen","Felsberg-Wolfershausen","Ferch-Lienewitz","Ferdinandshof","Fermerswalde","Ferndorf(Siegen)","Feucht","Feucht Ost","Feucht-Moosbach","Feuchtwangen Bf","Feudingen","Fichtenberg","Filderstadt","Filsen","Finkenheerd","Finkenkrug","Finnentrop","Finningerstraße","Finsterwalde(Niederlausitz)","Fischbach(Nürnberg)","Fischbach-Camphausen","Fischbach-Weierbach","Fischbachau","Fischen","Fischhaus","Fischhausen-Neuhaus","Fladungen","Flechtingen","Fleetmark","Flehingen","Flensburg","Flieden","Flintbek","Flintsbach","Flomersheim","Floßmühle","Flöha","Flöha-Plaue","Flörsheim(Main)","Fohrde","Forbach(Schwarzw)","Forchheim(Oberfr)","Forchheim(b Karlsruhe)","Fornsbach","Forst(Lausitz)","Forsthaus","Forsting","Forth","Frahelsbruck","Frankenberg(Eder)","Frankenberg(Sachs)","Frankenberg(Sachs) Süd","Frankenberg-Goßberg","Frankenberg-Viermünden","Frankenstein(Pfalz)","Frankenstein(Sachs)","Frankenthal Hbf","Frankenthal Süd","Frankfurt Hbf (tief)","Frankfurt am Main - Stadion","Frankfurt(M) Flughafen Fernbf","Frankfurt(M) Flughafen Regionalbf","Frankfurt(M)Galluswarte","Frankfurt(M)Hauptwache","Frankfurt(M)Konstablerwache","Frankfurt(M)Lokalbahnhof","Frankfurt(M)Mühlberg","Frankfurt(M)Ostendstraße","Frankfurt(M)Stresemannallee","Frankfurt(M)Taunusanlage","Frankfurt(Main)Hbf","Frankfurt(Main)Messe","Frankfurt(Main)Ost","Frankfurt(Main)Süd","Frankfurt(Main)West","Frankfurt(Oder)","Frankfurt(Oder)-Neuberesinchen","Frankfurt(Oder)-Rosengarten","Frankfurt-Berkersheim","Frankfurt-Eschersheim","Frankfurt-Frankfurter Berg","Frankfurt-Griesheim","Frankfurt-Höchst","Frankfurt-Höchst Farbwerke","Frankfurt-Louisa","Frankfurt-Louisa","Frankfurt-Mainkur","Frankfurt-Nied","Frankfurt-Niederrad","Frankfurt-Niederrad","Frankfurt-Rödelheim","Frankfurt-Sindlingen","Frankfurt-Sindlingen","Frankfurt-Sossenheim","Frankfurt-Unterliederbach","Frankfurt-Zeilsheim","Frankleben","Frauenalb-Schielberg","Frauenau","Frauenhain","Frechen-Königsdorf","Freckleben","Freden(Leine)","Fredersdorf(b Berlin)","Freiberg(Neckar)","Freiberg(Sachs)","Freiburg Klinikum","Freiburg Messe/Universität","Freiburg West","Freiburg(Breisgau) Hbf","Freiburg-Herdern","Freiburg-Littenweiler","Freiburg-St Georgen","Freiburg-Wiehre","Freiburg-Zähringen","Freienohl","Freienorla","Freihalden","Freihung","Freihöls","Freilassing","Freilassing-Hofham","Freimersheim(Rheinh)","Freinsheim","Freising","Freital-Coßmannsdorf","Freital-Deuben","Freital-Hainsberg","Freital-Hainsberg","Freital-Hainsberg West","Freital-Potschappel","Frellstedt","Frelsdorf","Fremdingen Bf","Fremersdorf","Frenz","Fresenburg","Fretzdorf","Freudenberg-Kirschfurt","Freudenstadt Hbf","Freudenstadt Industriegebiet","Freudenstadt Schulzentrum","Freudenstadt Stadt","Freusburg Siedlung","Freyburg(Unstrut)","Freyung Bf","Frickenhausen","Frickenhausen Kelterstraße","Frickhofen","Fridingen(b Tuttlingen)","Fridolfing","Friedberg Süd","Friedberg(Augsburg)","Friedberg(Hess)","Friedelhausen","Friedensdorf(Lahn)","Friedersdorf(Königs Wusterhausen)","Friedewald(Kr Dresden) Bad","Friedewald(Kr Dresden)Hp","Friedland(Han)","Friedrich Wilhelmshütte","Friedrichroda","Friedrichsdorf(Taunus)","Friedrichsfeld(Niederrhein)","Friedrichsgabe","Friedrichshafen Flughafen","Friedrichshafen Hafen","Friedrichshafen Landratsamt","Friedrichshafen Ost","Friedrichshafen Stadt","Friedrichshafen-Fischbach","Friedrichshafen-Kluftern","Friedrichshafen-Manzell","Friedrichshöhe","Friedrichsruh","Friedrichsruhe(Meck)","Friedrichssegen","Friedrichstadt","Friedrichstal b Freudenstadt","Friedrichstal(Baden)","Friedrichsthal(Saar)","Friedrichsthal(Saar) Mitte","Friedrichsthal(b Bayreuth)","Friesack(Mark)","Friesenheim(Baden)","Frimmersdorf","Fritzlar","Frohburg","Frommern","Fronhausen(Lahn)","Frose","Frömern","Fröndenberg","Fröttstädt","Fulda","Fuldatal-Ihringshausen","Furschenbach","Furth i Wald","Furth(b Deisenhofen)","Fährbrücke","Föhren","Förbau","Förderstedt","Förtha(Eisenach)","Förtschendorf","Fürfurt","Fürstenberg(Havel)","Fürsteneck","Fürstenfeldbruck","Fürstenwald","Fürstenwalde Süd","Fürstenwalde(Spree)","Fürstenzell","Fürth Westvorstadt","Fürth(Bay)Hbf","Fürth(Odenw)","Fürth-Burgfarrnbach","Fürth-Dambach","Fürth-Unterfarrnbach","Fürth-Unterfarrnbach","Fürth-Unterfürberg","Füssen","Gablingen","Gadebusch","Gaggenau Bf","Gaggenau Mercedes-Benz Werk","Gaildorf West","Gaimersheim","Gaißach","Galgenschanze","Gamburg(Tauber)","Gammertingen","Gammertingen Europastraße","Ganderkesee","Gangloffsömmern","Garbeck","Garbenteich","Garching(Alz)","Gardelegen","Garding","Garftitz","Garmisch-Partenkirchen","Garmisch-Partenkirchen Hausberg","Gars(Inn)","Gatersleben","Gau Algesheim","Gau Bickelheim","Gaubüttelbrunn","Gausbach","Gauselfingen","Gauting","Gebra(Hainleite)","Geeste","Geestenseth","Geestgottberg","Gehlberg","Geigant","Geilenkirchen","Geilenkirchen","Geilhausen","Geiselhöring","Geisenbrunn","Geisenhausen","Geisenheim","Geising","Geisingen","Geisingen-Aulfingen","Geisingen-Hausen","Geisingen-Kirchen","Geisingen-Leipferdingen","Geislingen(Steige)","Geislingen(Steige)West","Geitau","Geithain","Gelbensande","Geldern","Gelnhausen","Gelsenkirchen Hbf","Gelsenkirchen Zoo","Gelsenkirchen-Buer Nord","Gelsenkirchen-Buer Süd","Gelsenkirchen-Hassel","Gelsenkirchen-Rotthausen","Geltendorf","Gemmingen","Gemmingen West","Gemünden(Main)","Genderkingen","Gendorf","Gengenbach","Gennweiler","Gensingen-Horrweiler","Genthin","Georgensgmünd","Gera Hbf","Gera Ost","Gera Süd","Gera-Langenberg","Gera-Liebschwitz","Gera-Zwötzen","Geraberg","Geradstetten","Gerhausen","Gerichshain","Gerlachsheim","Gerlenhofen","Germering-Unterpfaffenhofen","Germersheim Bahnhof","Germersheim Mitte/Rhein","Germersheim Süd/Nolte","Gernlinden","Gernrode(Harz)","Gernrode-Niederorschel","Gernsbach Bf","Gernsbach Mitte","Gernsheim","Geroldshausen","Gerolstein","Gersdorf(Görlitz)","Gersfeld(Rhön)","Gerstetten","Gersthofen","Gerstungen","Gertenbach","Gerwisch","Geseke","Gessertshausen","Gettenau-Bingenheim","Gettorf","Gevelsberg Hbf","Gevelsberg West","Gevelsberg-Kipp","Gevelsberg-Knapp","Giengen(Brenz)","Giersleben","Gießen","Gießen Erdkauter Weg","Gießen Licher Str","Gießen Oswaldsgarten","Gifhorn","Gifhorn Stadt","Gilching-Argelsried","Gingen(Fils)","Girod","Gittelde/Bad Grund(Harz)","Gladbeck Ost","Gladbeck West","Gladbeck-Zweckel","Glan-Münchweiler","Glanzstoffwerke","Glashütte(Sachs)","Glaubitz(Riesa)","Glauburg-Glauberg","Glauburg-Stockheim","Glauchau(Sachs)","Glauchau-Schönbörnchen","Glesch","Glossen (b Oschatz)","Glöwen","Glückauf","Glückstadt","Gmund(Tegernsee)","Gnadau","Gnarrenburg","Gnarrenburg Nord","Gnevkow","Goch","Gochsheim(Baden)","Godelheim","Godramstein","Gokels","Goldbeck(Osterburg)","Goldberg(Württ)","Goldenstedt(Oldb)","Goldhausen","Goldshöfe","Gollmitz(Niederlausitz)","Golm","Golzow(Eberswalde)","Golzow(Oderbruch)","Golßen(Niederlausitz)","Gomadingen","Gommern","Gondelsheim Schloßstadion","Gondelsheim(Baden)","Gorgast","Gosberg","Goslar","Gotha","Gotha Ost","Gottenheim","Gotteszell","Gottmadingen","Goßdorf-Kohlmühle","Goßfelden","Goßmannsdorf","Graal-Müritz","Graal-Müritz Koppelweg","Graben(Lechfeld)Gewerbepark","Graben-Neudorf","Graben-Neudorf Nord","Grabow(Meckl)","Grafenaschau","Grafenau","Grafenwiesen","Grafing Bahnhof","Grafing Stadt","Grafling-Arzting","Grafrath","Grambow","Gransee","Grauschwitz Flocke","Grebenstein","Greifswald","Greifswald Süd","Greiz","Greiz-Dölau","Grenzach","Greppin","Greußen","Greven","Grevenbroich","Grevesmühlen","Grieben(Meckl)","Griebo","Griefstedt","Griefstedt","Griesen(Oberbay)","Grießen(Baden)","Grimma ob Bf","Grimmen","Grimmenthal","Grobau","Grombach","Gronau(Westf)","Gronsdorf","Groß Ammensleben","Groß Brütz","Groß Düngen","Groß Gerau","Groß Gerau-Dornberg","Groß Gerau-Dornheim","Groß Karben","Groß Kiesow","Groß Kreutz","Groß Köris","Groß Laasch","Groß Lüsewitz","Groß Pankow","Groß Quassow","Groß Rohrheim","Groß Schwaß","Groß Schönebeck","Groß-Umstadt Klein-Umstadt","Groß-Umstadt Mitte","Groß-Umstadt Wiebelsbach","Großarmschlag","Großauheim(Kr Hanau)","Großbeeren","Großbothen","Großburgwedel","Großdeuben","Großen Buseck","Großen Linden","Großenaspe","Großenbrode","Großengottern","Großenhain Cottb Bf","Großenkneten","Großenlüder","Großfurra","Großgeschaidt","Großharthau","Großhelfendorf","Großheringen","Großhesselohe Isartalbf","Großkarolinenfeld","Großkorbetha","Großkrotzenburg","Großkugel","Großlehna","Großneuhausen","Großpösna","Großrudestedt","Großräschen","Großröhrsdorf","Großschwabhausen","Großschönau(Sachs)","Großsteinberg","Großwalbur","Großwudicke","Grub am Forst","Grub(Oberbay)","Grub(Oberpf)","Gruiten","Gruiten","Grunbach","Grunow(Niederlausitz)","Gräfelfing","Gräfenberg","Gräfendorf","Gräfenhainichen","Gräfenroda","Gräfentonna","Gräveneck","Grävenwiesbach","Gröbenzell","Gröbers","Gröditz(Riesa)","Grötzingen","Grötzingen Krappmühlenweg","Grötzingen Oberausstraße","Grüna(Sachs)Hp","Grünbach(Vogtl)","Grünberg(Oberhess)","Grünebach Ort","Grünebacherhütte","Grüneberg","Grünhainichen-Borstendorf","Grünsfeld","Grünstadt","Grünstadt Nord","Grüntal-Wittlensweiler","Gstadt(Wanderbahn)","Guben","Gummersbach","Gumpenried-Asbach","Gundelfingen(Bay)","Gundelfingen(Breisgau)","Gundelsdorf","Gundelshausen","Gundelsheim(Neckar)","Gundersheim(Rheinhess)","Guntersblum","Gunzenhausen","Gussenstadt","Gustorf","Gutach Freilichtmuseum","Gutach(Breisgau)","Gutenfürst","Guthmannshausen","Guxhagen","Gärtringen","Gäufelden","Göbelnrod","Göhrde","Göhren(Rügen)","Göllheim-Dreisen","Gölshausen","Gölshausen Industriegebiet","Göppingen","Görden","Görlitz","Görlitz-Rauschwalde","Görlitz-Weinhübel","Görsbach","Görschnitz","Göttingen","Götz","Gößnitz","Gültstein","Gündlkofen","Güntersberge","Günzach","Günzburg","Güsen(b Genthin)","Güsten","Güstrow","Güterglück","Güterglück","Gütersloh Hbf","Haan","Haar","Haarhausen","Hachenburg","Hadamar","Hademarschen","Hadmersleben","Haffkrug","Hagebök","Hagelstadt","Hagen Hbf","Hagen(Han)","Hagen-Heubing","Hagen-Oberhagen","Hagen-Vorhalle","Hagen-Wehringhausen","Hagen-Westerbauer","Hagenbach","Hagenbüchach","Hagenbüchach","Hagenow Land","Hagenow Stadt","Hagenwerder","Haidenaab-Göppmannsbühl","Haidkapelle","Haiger","Haiger Obertor","Haigerloch","Haigerloch","Hailer-Meerholz","Hainburg Hainstadt","Hainewalde","Hainichen","Hainstadt(Baden)","Haitz-Höchst","Halbe","Halberstadt","Halberstadt Oststr","Halberstadt-Spiegelsberge","Halbmeil","Haldensleben","Haldern(Rheinl)","Halen","Halfing","Hallbergmoos","Halle Dessauer Brücke","Halle Messe","Halle Rosengarten","Halle Steintorbrücke","Halle Südstadt","Halle Wohnstadt Nord","Halle Zoo","Halle Zscherbener Straße","Halle(Saale)Hbf","Halle(Saale)Hbf Gl. 13a","Halle(Saale)Hbf Gl. 13a","Halle(W) Gerry-Weber-Stadion","Halle(Westf)","Halle-Ammendorf","Halle-Ammendorf","Halle-Neustadt","Halle-Nietleben","Halle-Silberhöhe","Halle-Trotha","Halle-Trotha","Hallstadt(b Bamberg)","Halstenbek","Haltern am See","Haltingen","Hamburg Airport","Hamburg Alte Wöhr","Hamburg Berliner Tor","Hamburg Berliner Tor","Hamburg Berliner Tor","Hamburg Billwerder-Moorfleet","Hamburg Burgwedel","Hamburg Dammtor","Hamburg Dammtor","Hamburg Diebsteich","Hamburg Elbgaustraße","Hamburg Friedrichsberg","Hamburg Hasselbrook","Hamburg Hasselbrook","Hamburg Hbf","Hamburg Hbf (S-Bahn)","Hamburg Hochkamp","Hamburg Hoheneichen","Hamburg Holstenstraße","Hamburg Jungfernstieg","Hamburg Klein Flottbek","Hamburg Kornweg(Klein Borstel)","Hamburg Königstraße","Hamburg Landungsbrücken","Hamburg Landungsbrücken","Hamburg Landwehr","Hamburg Mittlerer Landweg","Hamburg Neuwiedenthal","Hamburg Reeperbahn","Hamburg Rübenkamp","Hamburg Stadthausbrücke","Hamburg Wandsbeker Chaussee","Hamburg-Allermöhe","Hamburg-Altona","Hamburg-Altona(S)","Hamburg-Bahrenfeld","Hamburg-Barmbek","Hamburg-Bergedorf","Hamburg-Bergedorf","Hamburg-Blankenese","Hamburg-Eidelstedt","Hamburg-Eidelstedt","Hamburg-Eidelstedt","Hamburg-Eidelstedt Zentrum","Hamburg-Fischbek","Hamburg-Hammerbrook","Hamburg-Harburg","Hamburg-Harburg Rathaus","Hamburg-Harburg(S)","Hamburg-Heimfeld","Hamburg-Hörgensweg","Hamburg-Iserbrook","Hamburg-Langenfelde","Hamburg-Nettelnburg","Hamburg-Neugraben","Hamburg-Neugraben","Hamburg-Ohlsdorf","Hamburg-Othmarschen","Hamburg-Poppenbüttel","Hamburg-Rahlstedt","Hamburg-Rissen","Hamburg-Rissen","Hamburg-Rothenburgsort","Hamburg-Rothenburgsort","Hamburg-Schnelsen","Hamburg-Stellingen","Hamburg-Stellingen","Hamburg-Sternschanze","Hamburg-Sülldorf","Hamburg-Tiefstack","Hamburg-Tonndorf","Hamburg-Veddel","Hamburg-Wandsbek","Hamburg-Wellingsbüttel","Hamburg-Wilhelmsburg","Hameln","Hamm(Westf)","Hammah","Hammelburg","Hammelburg Ost","Hammelspring","Hammerau","Hammerstein","Hammerunterwiesenthal","Hamminkeln","Hanau Hbf","Hanau Hbf","Hanau Hbf","Hanau Klein-Auheim","Hanau Nord","Hanau West","Hanau-Wilhelmsbad","Handeloh","Hanfertal","Hangelar Mitte","Hangelsberg","Hann Münden","Hannover Anderten-Misburg","Hannover Bismarckstr.","Hannover Flughafen","Hannover Hbf","Hannover Karl-Wiechert-Allee","Hannover Messe/Laatzen","Hannover-Bornum","Hannover-Kleefeld","Hannover-Ledeburg","Hannover-Leinhausen","Hannover-Linden/Fischerhof","Hannover-Nordstadt","Hannover-Vinnhorst","Happurg","Harblek","Harburg(Schwab)","Hardegsen","Hardhof","Haren(Ems)","Harra","Harra Nord","Harras(Thür)","Harsdorf","Harsefeld","Harsum","Hartenstein","Hartershofen","Harthaus","Hartmannmühle","Hartmannshof","Harxheim-Zell","Harzgerode","Hasbergen","Haselbrunn","Haslach","Hasloch(Main)","Hasloh","Haslohfurth","Haspelmoor","Hassel(Saar)","Hasselborn","Hasselfelde","Haste","Hattenheim","Hattersheim(Main)","Hattert","Hattingen(R) Mitte","Hattingen(Ruhr)","Hattorf","Hatzenport","Haubersbronn","Haubersbronn Mitte","Hauenstein Mitte","Hauenstein(Pfalz)","Haunetal-Neukirchen","Haupeltshofen","Hauptstuhl","Hausach","Hausen (b Düren)","Hausen i Tal","Hausen(Eichsfeld)","Hausen(Schwab)","Hausen(Taunus)","Hausen-Raitbach","Hausen-Starzeln","Hausham","Havixbeck","Haßfurt","Haßloch(Pfalz)","Haßmersheim","Hebertsfelden","Hebertshausen","Hechingen","Hechingen Landesbahn","Hechthausen","Heddesheim/Hirschberg","Hedemünden","Hedersdorf","Hedersleben-Wedderstedt","Heessen","Heggen","Hegne","Heide(Holst)","Heidelberg Hbf","Heidelberg Orthopädie","Heidelberg-Altstadt","Heidelberg-Kirchheim/Rohrbach","Heidelberg-Pfaffengrund/Wieblingen","Heidelberg-Schlierbach/Ziegelhausen","Heidelberg-Weststadt/Südstadt","Heidelsheim","Heidelsheim Nord","Heidenau","Heidenau Süd","Heidenau-Großsedlitz","Heidenheim","Heidenheim Voithwerk","Heidenheim-Mergelstetten","Heidenheim-Schnaitheim","Heidesheim(Rheinhess)","Heidkrug","Heigenbrücken","Heilbad Heiligenstadt","Heilbr.-Böckingen Berufsschulzentrum","Heilbronn Finanzamt","Heilbronn Friedensplatz","Heilbronn Hans-Rießer-Straße","Heilbronn Harmonie","Heilbronn Harmonie/Hafenmarktpassage","Heilbronn Harmonie/Kunsthalle","Heilbronn Hauptbahnhof/Willy-Brandt-Pl.","Heilbronn Hbf","Heilbronn Industrieplatz","Heilbronn Kaufland","Heilbronn Neckar-Turm/K.-S.-Pl","Heilbronn Pfühlpark","Heilbronn Rathaus","Heilbronn Sülmertor","Heilbronn Technisches Schulzentrum","Heilbronn Theater","Heilbronn Trappensee","Heiligendamm","Heiligengrabe","Heiligenstatt(Obb)","Heiligenstein(Pfalz)","Heilsbronn","Heimbach (Eifel)","Heimbach(Nahe)","Heimbach(Nahe)Ort","Heimenkirch","Heimersheim","Heimstetten","Heinebach","Heinsberg Kreishaus","Heinsberg(Rheinl)","Heinsberg-Dremmen","Heinsberg-Horst","Heinsberg-Oberbruch","Heinsberg-Porselen","Heinsberg-Randerath","Heinschenwalde","Heinzenhausen","Heitersheim","Heldrungen","Helenesee","Helmbrechts","Helmsdorf(Pirna)","Helmsheim","Helmstadt(Baden)","Helmstedt","Helpup","Hemmerde","Hemmersdorf(Saar)","Hemmingen","Hemmoor","Hemsbach","Henfenfeld","Hennef im Siegbogen","Hennef(Sieg)","Hennen","Hennersdorf(Sachs)","Hennigsdorf(b Berlin)","Henstedt-Ulzburg","Heppenheim(Bergstr)","Herbertingen","Herbertingen Ort","Herbertshofen","Herblingen","Herbolzheim(Breisg)","Herbolzheim(Jagst)","Herborn(Dillkr)","Herbrechtingen","Herchen","Herdecke","Herdorf","Herford","Hergatz","Hergershausen","Heringen(Helme)","Heringsdorf Neuhof","Herlasgrün","Herleshausen Hp","Hermaringen","Hermentingen","Hermsdorf(Dresden)","Hermsdorf-Klosterlausnitz","Herne","Herne-Börnig","Heroldsberg","Heroldsberg Nord","Herrath","Herrenberg","Herrenberg","Herrenberg Zwerchweg","Herrensee","Herrlingen","Herrlishöfen","Herrnburg","Herrsching","Hersbruck(l Pegnitz)","Hersbruck(r Pegnitz)","Herten(Baden)","Hervest-Dorsten","Herxheim am Berg","Herzberg Schloß","Herzberg(Elster)","Herzberg(Harz)","Herzberg(Mark)","Herzebrock","Herzhorn","Herzogenrath","Herzogenrath-Alt-Merkstein","Herzogenrath-August-Schmidt-Platz","Hesedorf","Heselbach","Hesepe","Hesseln","Hesseneck Kailbach","Hesseneck Schöllenbach","Hessisch Oldendorf","Hetschburg","Hettenhausen","Hettingen(Hohenz)","Hettstedt","Hetzdorf(Flöhatal)","Hetzerath","Heudeber-Danstedt","Heufeld","Heufeldmühle","Heusenstamm","Hiddenhausen-Schweicheln","Hilchenbach","Hildburghausen","Hilden","Hilden Süd","Hildesheim Hbf","Hildesheim Ost","Hillnhütten","Hilpertsau","Hilpoltstein","Hilter","Himmelpforten","Himmelreich","Himmelstadt","Hinrichssegen","Hinterweidenthal","Hinterweidenthal Ort","Hinterweidenthal Ost","Hinterzarten","Hirsau","Hirschaid","Hirschfelde","Hirschfelden","Hirschhorn(Neckar)","Hirschhorn(Pfalz)","Hittfeld","Hitzacker","Hochdahl","Hochdahl-Millrath","Hochdorf(b Horb)","Hochhausen(Tauber)","Hochheim(Main)","Hochneukirch","Hochspeyer","Hochstadt-Marktzeuln","Hochstetten","Hochstetten Grenzstraße","Hochstetten(Nahe)","Hochstätten(Pfalz)","Hochwang","Hockenheim","Hockeroda","Hodenhagen","Hof Hbf","Hof(Münstertal)","Hof-Neuhof","Hofeld","Hofen(b Aalen)","Hoffenheim","Hoffnungsthal","Hofgeismar","Hofgeismar-Hümme","Hofheim (Ried)","Hofheim(Taunus)","Hohegrete","Hohen Neuendorf West","Hohen Neuendorf(b Berlin)","Hohenbrunn","Hohendorf","Hohenebra Ort","Hoheneggelsen","Hohenfichte","Hohenleipisch","Hohenleuben","Hohenlimburg","Hohenpeißenberg","Hohenroda","Hohenschäftlarn","Hohenstadt(Mittelfr)","Hohenstein-Ernstthal","Hohensülzen","Hohenthurm","Hohenwarth","Hohenwarth Campingplatz","Hohenwestedt","Hohenwulsch","Hohndorf Mitte","Holdorf(Meckl)","Holdorf(Oldb)","Holm-Seppensen","Holstentherme","Holtensen/Linderte","Holthusen","Holzdorf(Elster)","Holzdorf(b Weimar)","Holzgerlingen Bf","Holzgerlingen Buch","Holzgerlingen Nord","Holzhau","Holzhau Skilift","Holzhausen(Kr Siegen)","Holzhausen-Heddinghausen","Holzheim(b Neuss)","Holzkirchen","Holzminden","Holzwickede","Homburg(Saar)Hbf","Honrath","Hopfgarten(Sachs)","Hopfgarten(Weimar)","Hoppecke","Hoppegarten(Mark)","Hoppegarten(Mark)","Hoppingen","Hoppstädten(Nahe)","Horb","Horb-Heiligenfeld","Horka","Horn-Bad Meinberg","Hornberg(Schwarzw)","Horneburg","Hornstorf","Horrem","Horst(Holst)","Hosena","Hoyerswerda","Hoykenkamp","Hubacker","Hubertushöhe","Huchem-Stammeln","Huckstorf","Hude","Hufschlag","Huglfing","Hugstetten","Hulb","Hummelberg","Hundsgrün","Hundstadt","Hungen","Huntlosen","Husby","Husum","Huttenheim","Huzenbach","Hähnichen","Hähnlein-Alsbach","Hämelerwald","Hämerten","Häuserhof","Höchst Hetschbach","Höchst Mümling-Grumbach","Höchst(Odenw)","Höchstädt(Donau)","Höfen(Enz) Bf","Höfen(Enz) Nord","Höfingen","Höhenkirchen-Siegertsbrunn","Höhmühlbach","Höllenthal","Höllriegelskreuth","Höpfling","Hörden","Hörlkofen","Hörpolding","Hörschel Hp","Hörselgau","Hörstel","Hörstmar(Lippe)","Hösbach","Hösel","Hövelhof","Hövelriege","Höxter Rathaus","Hückelhoven-Baal","Hüffenhardt","Hüfingen Mitte","Hünfeld","Hürth-Kalscheuren","Hütten","Hüttenbusch","Hüttengrund","Hüttingen","Ibach","Ibbenbüren","Ibbenbüren-Esch","Ibbenbüren-Laggenbeck","Ichenhausen","Icking","Idar-Oberstein","Idstein(Taunus)","Iffeldorf","Igel","Igensdorf","Igersheim","Ihringen","Ilberstedt","Ilfeld","Ilfeld Bad","Ilfeld Neanderklinik","Ilfeld Schreiberwiese","Illertissen","Illesheim","Illingen(Saar)","Illingen(Württ)","Ilmenau","Ilmenau Bad","Ilmenau Pörlitzer Höhe","Ilmenau-Roda","Ilsenburg","Immelborn","Immendingen","Immendingen Mitte","Immendingen Zimmern","Immenhausen","Immenreuth","Immensen-Arpke","Immenstadt","Imsweiler","Ingelbach","Ingelheim","Ingolstadt Hbf","Ingolstadt Nord","Inningen","Inselstadt Malchow","Insheim","Iphofen","Ipsheim","Irfersgrün","Irrenlohe","Iserlohn","Iserlohnerheide","Isernhagen","Ismaning","Ispringen","Isselhorst-Avenwedde","Istein","Ittersbach Bahnhof","Ittersbach Rathaus","Ittling","Ittlingen","Itzehoe","Itzelberg","Jabel(Meckl)","Jacobsdorf(Mark)","Jagdschloß","Jagstzell","Jahnsdorf(Erzgeb)","Jakobwüllesheim","Jarrenwisch","Jasnitz","Jatznick","Jeber-Bergfrieden","Jechtingen","Jeeser","Jena Paradies","Jena Saalbf","Jena West","Jena-Göschwitz","Jena-Zwätzen","Jesewitz(Leipzig)","Jessen(Elster)","Jettenbach","Jettingen","Jever","Jeßnitz(Anh)","Joachimsthal","Joachimsthal Kaiserbahnhof","Jocketa","Jockgrim Bf","Johanngeorgenstadt","Jossa","Julbach","Jungingen(Hohenz)","Jungnau","Jägerhaus","Jägersfreude","Jänschwalde","Jänschwalde Ost","Jävenitz","Jöhlingen","Jöhlingen","Jöhlingen West","Jößnitz","Jübek","Jüchen","Jülich","Jülich Forschungszentrum","Jülich-Broich","Jülich-Nord","Jülich-Selgersdorf","Jünkerath","Jüterbog","Kaarst IKEA","Kaarst Mitte/Holzbüttgen","Kaarster Bahnhof","Kaarster See","Kablow","Kahl Kopp/Heide","Kahl(Main)","Kahl(Main)","Kahla(Thür)","Kainzenbad","Kaisersesch","Kaiserslautern Hbf","Kaiserslautern Pfaffwerk","Kaiserslautern West","Kalchreuth","Kaldenkirchen","Kalenborn(Westerw)","Kall","Kalsow","Kalteneck","Kaltenkirchen Süd","Kaltenkirchen(Holst)","Kalthof(Kr Iserlohn)","Kamen","Kamen-Methler","Kamenz(Sachs)","Kamp-Bornhofen","Kandel","Kandern","Kanzem","Kapellen-Drusweiler","Kapellen-Wevelinghoven","Kapen Biosphärenreservat","Kappelrodeck","Kappelrodeck Ost","Kapsweyer","Karlsburg","Karlsdorf","Karlshagen","Karlsruhe Albtalbf","Karlsruhe Bahnhofsvorplatz","Karlsruhe Durlacher Tor","Karlsruhe Entenfang","Karlsruhe Hbf","Karlsruhe Marktplatz (Kaiserstraße)","Karlsruhe Mühlburger Tor","Karlsruhe West","Karlsruhe West","Karlsruhe-Durlach","Karlsruhe-Durlach","Karlsruhe-Hagsfeld","Karlsruhe-Kniel. Rheinbergstr.","Karlsruhe-Knielingen","Karlsruhe-Mühlburg","Karlsruhe-Neureut Kirchfeld","Karlstadt(Main)","Karpfham","Karsdorf","Karstädt","Karthaus","Kasbach","Kasbach Brauerei Steffens","Kassel Hbf","Kassel Hbf (tief)","Kassel-Harleshausen","Kassel-Jungfernkopf","Kassel-Kirchditmold","Kassel-Oberzwehren","Kassel-Wilhelmshöhe","Kastl(Oberbay)","Katharinenheerd","Kating","Katlenburg","Kattenes","Kattenvenne","Katzenfurt","Katzhütte","Katzwang","Katzweiler","Kaub","Kaufbeuren","Kaufering","Kaulsdorf(Saale)","Kavelstorf(Kr Rostock)","Kehl","Kehlen","Keitum","Kelkheim","Kelkheim-Hornau","Kelkheim-Münster","Kellmünz","Kelsterbach","Kemnath-Neustadt","Kempen(Niederrhein)","Kempten(Allgäu)Hbf","Kempten(Allgäu)Ost","Kemtau","Kennelgarten","Kenz","Kenzingen","Kerkerbach","Kerkwitz","Kersbach","Kestert","Kettwig","Kettwig Stausee","Kevelaer","Kiebingen","Kiebitzhöhe","Kiefersfelden","Kiel Hbf","Kiel Schulen am Langsee","Kiel-Elmschenhagen","Kiel-Hassee CITTI-PARK","Kiel-Russee","Killer","Kinding(Altmühltal)","Kindsbach","Kirch Göns","Kirch-Jesar","Kirchanschöring","Kirchberg(Murr)","Kirchdorf(Deister)","Kirchehrenbach","Kirchen","Kirchenlaibach","Kirchenlamitz Ost","Kirchentellinsfurt","Kirchhain(Bz Kassel)","Kirchhammelwarden","Kirchheim(Neckar)","Kirchheim(Teck)","Kirchheim(Teck)-Ötlingen","Kirchheim(Teck)Süd","Kirchheim(Unterfr)","Kirchheim(Weinstr)","Kirchheimbolanden","Kirchhorsten","Kirchhundem","Kirchlengern","Kirchmöser","Kirchscheidungen","Kirchseeon","Kirchseeon","Kirchweidach","Kirchweyhe","Kirchzarten","Kirkel","Kirn","Kirnbach-Grün","Kirnsulzbach","Kirschbaumwasen","Kissing","Kitzingen","Kißlegg","Klaffenbach Hp","Klais","Klandorf","Klanxbüll","Klasdorf Glashütte","Klecken","Klein Bünzow","Klein Gerau","Klein Winternheim-Ober Olm","Kleinberghofen","Kleinenbroich","Kleinensiel","Kleinforst Rosensee","Kleinfurra","Kleingemünden","Kleinheubach","Kleinjena","Kleinkems","Kleinkötz","Kleinostheim","Kleinröhrsdorf","Kleinschirma","Kleinsteinbach","Kleinwallstadt","Kleve","Klieken","Klinge","Klingenberg(Main)","Klingenberg-Colmnitz","Klingenbrunn","Klingenthal","Klinikum Bremen-Nord/Beckedorf","Klitschmar","Kloster Bronnbach","Kloster Marienthal","Kloster Oesede","Klosterbuch","Klosterfelde","Klosterlechfeld","Klostermansfeld","Klosterreichenbach","Klotten","Kläden(Stendal)","Knautnaundorf","Knesebeck","Knittlingen-Kleinvillars","Knöringen-Essingen","Kobern-Gondorf","Koblenz Hbf","Koblenz Stadtmitte","Koblenz-Ehrenbreitstein","Koblenz-Güls","Koblenz-Lützel","Koblenz-Moselweiß","Kochel","Kodersdorf","Kohlscheid","Kohlstetten","Kolbermoor","Kolkwitz","Kolkwitz Süd","Kollmarsreute","Kollnau","Konstanz","Konstanz-Fürstenberg","Konstanz-Petershausen","Konstanz-Wollmatingen","Konz","Konz Mitte","Konz Mitte","Korbach","Korbach Süd","Kordel","Kork","Korntal","Korntal Gymnasium","Kornwestheim Pbf","Korschenbroich","Koserow","Kothmaißling","Kottenheim","Kraftsdorf","Kraftwerk Finkenheerd","Kraghammer","Kranichfeld","Kratzeburg","Krauthausen","Kredenbach","Krefeld Hbf","Krefeld-Hohenbudberg Chempark","Krefeld-Linn","Krefeld-Linn","Krefeld-Oppum","Krefeld-Uerdingen","Kreiensen","Kreimbach-Kaulbach","Kremmen","Krempe","Kremperheide","Krensitz","Kressbronn","Kretscham-Rothensehma","Kreuz Konz","Kreuzau Bahnhof","Kreuzau-Eifelstraße","Kreuzberg(Ahr)","Kreuzstraße","Kreuztal","Kreuztal-Littfeld","Kriftel","Krippen","Kronach","Kronberg Süd","Kronberg(Taunus)","Kronshagen","Kronskamp","Kronweiler","Kruft","Krumbach(Schw)Schule","Krumbach(Schwab)","Krumhermsdorf","Krumpa","Krupunder","Krölpa-Ranis","Kröpelin","Kubschütz","Kuchen","Kulmbach","Kummerow(Stralsund)","Kummersdorf(Storkow)","Kunersdorf","Kupfermühle","Kuppenheim","Kurort Altenberg(Erzgebirge)","Kurort Jonsdorf","Kurort Jonsdorf Hst","Kurort Oberwiesenthal","Kurort Oybin","Kurort Oybin-Niederdorf","Kurort Rathen","Kusel","Kutenholz","Kutzenhausen","Kyhna","Kyllburg","Kyritz","Kälberau","Kämmereiforst","Köditz","Köfering","Kölleda","Köln Airport-Businesspark","Köln Frankfurter Straße","Köln Geldernstr./Parkgürtel","Köln Hansaring","Köln Hbf","Köln Messe/Deutz","Köln Messe/Deutz Gl. 9-10","Köln Messe/Deutz Gl.11-12","Köln Steinstraße","Köln Süd","Köln Trimbornstr","Köln Volkhovener Weg","Köln West","Köln-Blumenberg","Köln-Buchforst","Köln-Chorweiler","Köln-Chorweiler Nord","Köln-Dellbrück","Köln-Ehrenfeld","Köln-Ehrenfeld","Köln-Holweide","Köln-Longerich","Köln-Mülheim","Köln-Müngersdorf Technologiepark","Köln-Nippes","Köln-Nippes","Köln-Stammheim","Köln-Weiden West","Köln-Worringen","Köln/Bonn Flughafen","Kölpinsee","Köndringen","Königs Wusterhausen","Königsbach(Baden)","Königsborn","Königsbronn","Königsbrück","Königschaffhausen","Königshofen(Baden)","Königshofen(Kahl)","Königslutter","Königsstollen","Königstein(Sächs Schw)","Königstein(Taunus)","Königswinter","Königswinter Fähre","Königswinter, Clem.-August-Str.","Könitz(Thür)","Könnern","Köppern","Körle","Köthen","Köttewitz","Kötzschau","Kövenig","Kühnhausen","Kühren","Külte-Wetterburg","Künsebeck","Küntrop","Küps","Kürbitz","Küstrin-Kietz","Laaber","Laage(Meckl)","Laberweinting","Ladenburg","Lage(Lippe)","Lagerlechfeld","Lahr(Schwarzw)","Laineck","Lalendorf","Lam","Lambrecht(Pfalz)","Lambsheim","Lampertheim","Lampertsmühle-Otterbach","Lampertswalde","Lancken","Landau(Isar)","Landau(Pfalz)Hbf","Landau(Pfalz)Süd","Landau(Pfalz)West","Landsberg(L)Schule","Landsberg(Lech)","Landsberg(b. Halle/Saale)","Landsberg(b. Halle/Saale) Süd","Landshut(Bay)Hbf","Landshut(Bay)Süd","Landstuhl","Landsweiler-Reden","Lang Göns","Langdorf","Langebrück(Sachs)","Langeln(Holst)","Langelsheim","Langen(Hess)","Langen-Flugsicherung","Langenargen","Langenau(Württ)","Langenbach(Oberbay)","Langenbrand","Langendorf","Langeneichstädt","Langenfeld(Rhld)","Langenfeld(Rhld)-Berghausen","Langenhagen Mitte","Langenhagen Pferdemarkt","Langenhagen-Kaltenweide","Langenhahn","Langenhorn(Schlesw)","Langenlonsheim","Langenmoor","Langenorla Ost","Langenorla West","Langenprozelten","Langenselbold","Langenstein","Langensteinbach Bahnhof","Langenwang(Schwab)","Langenweddingen","Langenwolmsdorf","Langenwolmsdorf Mitte","Langenzenn","Langerwehe","Langhagen","Langlau","Langquaid(b Eggmühl)","Langsdorf(Oberhess)","Langwedel","Langweid(Lech)","Lathen","Laubendorf","Laubenheim(Nahe)","Laucha(Unstrut)","Lauchhammer","Lauchheim","Lauchringen","Lauchringen West","Lauda","Laudenbach am Main","Laudenbach(Bergstr)","Laudenbach(Württ)","Lauenbrück","Lauenburg(Elbe)","Lauenförde-Beverungen","Lauenstein(Sachs)","Lauf West","Lauf(links Pegnitz)","Lauf(rechts Pegnitz)","Laufach","Laufen(Oberbay)","Laufenburg(Baden)","Laufenburg(Baden)Ost","Lauffen(Neckar)","Lauingen","Laupheim Stadt","Laupheim West","Laurenburg(Lahn)","Lauscha(Thür)","Lauta(Nl)","Lautenbach(Baden)","Lauter(Sachs)","Lauterbach Mole","Lauterbach(Hess)Nord","Lauterbach(Rügen)","Lauterbach-Steinbach","Lauterecken-Grumbach","Laußig(Düben)","Laußnitz","Lebach","Lebach-Jabach","Leer(Ostfriesl)","Leese-Stolzenau","Legden","Legefeld","Legelshurst","Lehmen","Lehndorf(Altenburg)","Lehnheim","Lehnitz","Lehrte","Leichlingen","Leiferde(b Gifhorn)","Leimstruth","Leinefelde","Leinfelden","Leingarten","Leingarten Mitte","Leingarten Ost","Leingarten West","Leipheim","Leipzig Allee-Center","Leipzig Anger-Crottendorf","Leipzig Bayerischer Bahnhof","Leipzig Coppiplatz","Leipzig Grünauer Allee","Leipzig Hbf","Leipzig Hbf (tief)","Leipzig Karlsruher Str","Leipzig MDR","Leipzig Markt","Leipzig Messe","Leipzig Messe","Leipzig Miltitzer Allee","Leipzig Nord","Leipzig Olbrichtstraße","Leipzig Slevogtstraße","Leipzig Völkerschlachtdenkmal","Leipzig Werkstättenstraße","Leipzig Wilhelm-Leuschner-Platz","Leipzig-Connewitz","Leipzig-Engelsdorf","Leipzig-Engelsdorf","Leipzig-Gohlis","Leipzig-Heiterblick","Leipzig-Holzhausen","Leipzig-Knauthain","Leipzig-Leutzsch","Leipzig-Liebertwolkwitz","Leipzig-Lindenau","Leipzig-Lützschena","Leipzig-Miltitz","Leipzig-Möckern","Leipzig-Mölkau","Leipzig-Paunsdorf","Leipzig-Paunsdorf","Leipzig-Plagwitz","Leipzig-Rückmarsdorf","Leipzig-Sellerhausen","Leipzig-Stötteritz","Leipzig-Thekla","Leipzig-Wahren","Leipzig/Halle Flughafen","Leisnig","Leitstade","Leißling","Lembeck","Lemförde","Lemgo","Lemgo-Lüttfeld","Lemmie","Lendringsen","Lengede-Broistedt","Lengefeld-Rauenstein","Lengenfeld(Vogtl)","Lengenwang","Lengerich(Westf)","Lenggries","Lenglern","Lennestadt-Altenhundem","Lennestadt-Grevenbrück","Lennestadt-Meggen","Lensahn","Lentföhrden","Leonberg","Leopoldshafen Leopoldstr.","Leopoldstal","Leschede","Letmathe","Letmathe Dechenhöhle","Letschin","Lette(Kr Coesfeld)","Letter","Letter","Leubingen","Leubsdorf(Rhein)","Leubsdorf(Sachs)","Leun/Braunfels","Leuna Werke Nord","Leuna Werke Süd","Leutenberg","Leuterschach","Leutesdorf(Rhein)","Leuthen(Cottbus)","Leutkirch","Leverkusen Chempark","Leverkusen Mitte","Leverkusen Mitte","Leverkusen-Küppersteg","Leverkusen-Küppersteg","Leverkusen-Rheindorf","Leverkusen-Schlebusch","Lich(Oberhess)","Lichtenberg(Erzgeb)","Lichtenfels","Lichtenhain(a d Bergbahn)","Lichtenstein Ernst-Schneller-Siedlung","Lichtenstein Gewerbegebiet","Lichtenstein Hartensteiner Straße","Lichtenstein(Sachs)","Lichtentanne(Sachs)","Lichtentanne(Thür)","Lichtenthal","Liebenthal(Prignitz)","Lieblos","Liederbach","Liederbach-Süd","Lietzow(Rügen)","Limbach(Vogtl)","Limbach(b Homburg,Saar)","Limburg Süd","Limburg(Lahn)","Limburgerhof","Limmritz(Sachs)","Linda(Elster)","Lindach","Lindau Hbf","Lindau-Aeschach","Lindenberg(Mark)","Lindenholzhausen","Lindern","Lindhorst(Schaumb-Lippe)","Lindow(Mark)","Lindwedel","Lingen(Ems)","Lingenfeld","Linkenheim Rathaus","Linnich Bhf","Linnich-Tetz","Linsburg","Linsenhofen","Linz(Rhein)","Lippstadt","Lispenhausen","Lissendorf","Listerscheid","Lobstädt","Lochham","Lohgarten-Roth","Lohhof","Lohmen","Lohne(Oldb)","Lohnweiler","Lohr Bahnhof","Loitsch-Hohenleuben","Lollar","Lonsee","Loppenhausen","Lorch(Rhein)","Lorch(Württ)","Lorchhausen","Lorsbach","Lorsch","Lottschesee","Loxstedt","Loßburg-Rodt","Lubolz","Luckaitztal","Luckau-Uckro","Luckenau","Luckenwalde","Ludersheim","Ludwigsau-Friedlos","Ludwigsburg","Ludwigschorgast","Ludwigsfelde","Ludwigsfelde-Struveshof","Ludwigshafen(Bodensee)","Ludwigshafen(Rh)Hbf","Ludwigshafen(Rh)Hbf","Ludwigshafen(Rhein) BASF Mitte","Ludwigshafen(Rhein) BASF Nord","Ludwigshafen(Rhein) BASF Süd","Ludwigshafen(Rhein) Mitte","Ludwigshafen-Mundenheim","Ludwigshafen-Oggersheim","Ludwigshafen-Rheingönheim","Ludwigshöhe","Ludwigslust","Ludwigsstadt","Ludwigsthal","Luhe","Luhe-Wildenau","Luisenthal(Saar)","Lunden","Lunestedt","Lutherstadt Eisleben","Lutherstadt Wittenberg Altstadt","Lutherstadt Wittenberg Hbf","Lutherstadt Wittenberg-Labetz","Lutherstadt Wittenberg-Piesteritz","Lutten","Lutum","Löbau(Sachs)","Löcherberg","Löcknitz","Lödingsen","Löf","Löffingen","Löhnberg","Löhne(Westf)","Lörrach Dammstraße","Lörrach Hbf","Lörrach Museum/Burghof","Lörrach Schwarzwaldstraße","Lörrach-Brombach/Hauingen","Lörrach-Haagen/Messe","Lörrach-Stetten","Lörzenbach-Fahrenbach","Lövenich","Lövenich","Löwenberg(Mark)","Löwental","Lößnitz ob Bf","Lößnitz unt Bf","Lößnitzgrund","Lübbecke(Westf)","Lübben(Spreewald)","Lübbenau(Spreewald)","Lübberstedt","Lübeck Flughafen","Lübeck Hbf","Lübeck Hochschulstadtteil","Lübeck St Jürgen","Lübeck-Dänischburg IKEA","Lübeck-Kücknitz","Lübeck-Travem. Skandinavienkai","Lübeck-Travemünde Hafen","Lübeck-Travemünde Strand","Lüblow(Meckl)","Lübs(Magdeburg)","Lübstorf","Lüchtringen","Lüdenscheid","Lüdersdorf(Meckl)","Lüdinghausen","Lügde","Lüneburg","Lüneburg","Lünen Hbf","Lünern","Lüssow(Meckl)","Lütter","Lützel","Lützow","Maasbüll(b Niebüll)","Machern(Sachs)","Magdeburg Hasselbachplatz","Magdeburg Hbf","Magdeburg Herrenkrug","Magdeburg SKET Industriepark","Magdeburg Südost","Magdeburg-Buckau","Magdeburg-Eichenweiler","Magdeburg-Neustadt","Magdeburg-Rothensee","Magdeburg-Rothensee","Magdeburg-Salbke","Magdeburg-Sudenburg","Magstadt","Mahlow","Mahlwinkel","Maichingen","Maichingen Nord","Maikammer-Kirrweiler","Mainaschaff","Mainhausen Zellhausen","Mainleus","Mainroth","Maintal Ost","Maintal West","Mainz Hbf","Mainz Nord","Mainz Römisches Theater","Mainz-Bischofsheim","Mainz-Bischofsheim","Mainz-Gonsenheim","Mainz-Gustavsburg","Mainz-Kastel","Mainz-Laubenheim","Mainz-Marienborn","Mainz-Mombach","Maisach","Malchin","Malching(Oberbay)","Mallersdorf","Malmsheim","Malsch","Malsch Süd","Malsfeld","Malsfeld-Beiseförth","Malter","Mammendorf","Mandern","Manebach","Manndorf","Mannheim ARENA/Maimarkt","Mannheim ARENA/Maimarkt","Mannheim Handelshafen","Mannheim Hbf","Mannheim-Friedrichsfeld Süd","Mannheim-Käfertal","Mannheim-Luzenberg","Mannheim-Neckarau","Mannheim-Neckarstadt","Mannheim-Rheinau","Mannheim-Seckenheim","Mannheim-Waldhof","Marbach Ost (Villingen-Schwenningen)","Marbach West(Villingen-Schwenningen)","Marbach(Neckar)","Marbach(b Münsingen)","Marbach-Grafeneck","Marbeck-Heiden","Marburg Süd","Marburg(Lahn)","Maria Rain","Maria Veen","Marienborn","Marienhafe","Marienheide","Markdorf(Baden)","Marke","Markelfingen","Markelsheim","Markkleeberg","Markkleeberg Nord","Markkleeberg-Gaschwitz","Markkleeberg-Großstädteln","Markranstädt","Marksuhl","Markt Bibart","Markt Erlbach","Markt Indersdorf","Markt Schwaben","Marktbreit","Marktl","Marktleuthen","Marktoberdorf","Marktoberdorf Schule","Marktredwitz","Marktschorgast","Marl Mitte","Marl-Hamm","Marl-Sinsen","Marlishausen","Marnheim","Marquardt","Marsberg","Marstetten-Aitrach","Martensdorf","Martinlamitz","Martinroda","Martinstein","Martinstein","Martinszell(Allgäu)","Marxgrün","Marxzell","Marzling","Maschen","Maselheim","Massen","Massing","Matzing","Maubach","Mauer(b Heidelberg)","Maulbronn Stadt/Kloster","Maulbronn West","Maulbronn West","Maulburg","Mausheim","Mauthaus","Maxau","Maxhütte-Haidhof","Maximiliansau Eisenbahnstraße","Maximiliansau West","Maximiliansau-Im Rüsten","Mayen Ost","Mayen West","Mayschoß","Mechernich","Mechterstädt","Meckelfeld","Meckenbeuren","Meckenheim Industriepark","Meckenheim Kottenforst","Meckenheim(Bz Köln)","Meckesheim","Medewitz(Mark)","Meeder","Meerane","Meerbusch-Osterath","Meeschensee","Mehltheuer","Mehrhoog","Meine","Meinersdorf(Erzgeb)","Meinersen","Meinerzhagen","Meiningen","Meinsdorf","Meitingen","Meitzendorf","Meißen","Meißen Altstadt","Meißen Triebischtal","Melbach","Melchow","Meldorf","Melle","Mellenbach-Glasbach","Mellendorf","Mellingen(Thür)","Mellrichstadt Bf","Melsdorf","Melsungen","Melsungen Bartenwetzerbrücke","Melsungen-Röhrenfurth","Melsungen-Röhrenfurth","Memmingen","Menden(Rheinl)","Menden(Sauerland)","Menden(Sauerland)Süd","Mendig","Mengen","Mengeringhausen","Mengersgereuth-Hämmern","Mengersgereuth-Hämmern Ost","Menzingen(Baden)","Meppen","Merching","Merchweiler","Mering","Mering-St Afra","Mersch(Westf)","Merseburg","Merseburg Bergmannsring","Merten(Sieg)","Mertesheim","Mertingen Bahnhof","Merzenich","Merzig(Saar)","Merzig(Saar) Stadtmitte","Mesch Neue Mühle","Meschede","Messel","Messinghausen","Metelen Land","Mettenheim","Mettlach","Mettmann Stadtwald","Mettmann Zentrum","Metzingen(Württ)","Metzingen-Neuhausen","Meuselbach-Schwarzmühle","Meyenburg","Meßdorf","Michelau(Oberfr)","Michelau(Württ)","Michelaubrück","Michelbach(Unterfr)","Michelbach(Unterfr) Herrnmühle","Michelstadt","Michendorf","Miedelsbach-Steinenberg","Miesbach","Miesenbach","Miesenheim","Mieste","Miesterhorst","Millingen(b Rees)","Millingen(b Rheinb)","Miltach","Miltenberg","Miltern","Miltzow","Mimberg","Mindelaltheim","Mindelheim","Minden(Westf)","Mirow","Mistorf","Mittel Gründau","Mittelherwigsdorf","Mitteloelsnitz","Mittelschmalkalden","Mittelsinn","Mittenwald","Mittergars","Mittweida","Mixdorf","Mochenwangen","Mockrehna","Moers","Moidentin","Monbach-Neuhausen","Monreal","Monsheim","Montabaur","Montabaur","Monzingen","Moorbekhalle","Moosbachtal","Moosburg","Moosrain","Moritzburg","Morlesau","Morsum","Mosbach West","Mosbach(Baden)","Mosbach-Neckarelz","Mosel","Moselkern","Mudersbach","Muggensturm","Muggensturm Badesee","Muhr a See","Mulda(Sachs)","Muldenberg Floßplatz","Muldenhütten","Muldenstein","Mulsum-Essel","Munderkingen","Munster(Örtze)","Murg(Baden)","Murnau","Murnau Ort","Murrhardt","Mußbach","Mägdesprung","Mägerkingen","Möckmühl","Mögelin","Mögglingen(Gmünd)","Möhringen Bahnhof","Möhringen Rathaus","Mölln(Lauenb)","Mölln(Meckl)","Mömbris-Mensengesäß","Mömbris-Strötzbach","Mönchengladbach Hbf","Mönchengladbach-Genhausen","Mönchengladbach-Lürrip","Mönchengladbach-Rheindahlen","Mönchhagen","Mönchröden","Mörfelden","Möringen(Altm)","Mörlenbach","Möser","Mössingen","Möttingen","Mücheln(Geiseltal)","Mücheln(Geiseltal) Stadt","Mücke(Hess)","Müden(Mosel)","Mügeln Bf","Mügeln Stadt","Mühlacker","Mühlacker Rößlesweg","Mühlanger","Mühlbach(Pirna)","Mühldorf(Oberbay)","Mühlen(Oldb)","Mühlen(b Horb)","Mühlenbeck-Mönchmühle","Mühlhausen(Thür)","Mühlhausen(b Engen)","Mühlheim(Main)","Mühlheim(Main)-Dietesheim","Mühlheim(b Tuttlingen)","Mühlstetten","Mühltal","Mühringen","Mülheim(Ruhr)Hbf","Mülheim(Ruhr)Styrum","Mülheim(Ruhr)West","Müllheim(Baden)","Müllrose","Münchberg","Müncheberg(Mark)","Münchehof(Harz)","München Donnersbergerbrücke","München Flughafen Besucherpark","München Flughafen Terminal","München Flughafen Terminal","München Hackerbrücke","München Harras","München Hbf","München Hbf (tief)","München Hbf Gl.27-36","München Hbf Gl.5-10","München Heimeranplatz","München Heimeranplatz","München Hirschgarten","München Isartor","München Karlsplatz","München Leienfelsstr.","München Leuchtenbergring","München Marienplatz","München Ost","München Rosenheimer Platz","München Siemenswerke","München St.Martin-Str.","München(Bad Berka)","München-Allach","München-Aubing","München-Berg am Laim","München-Daglfing","München-Englschalking","München-Fasanerie","München-Fasangarten","München-Feldmoching","München-Freiham","München-Giesing","München-Johanneskirchen","München-Karlsfeld","München-Laim","München-Langwied","München-Lochhausen","München-Mittersendling","München-Moosach","München-Neuaubing","München-Neuperlach Süd","München-Obermenzing","München-Pasing","München-Pasing","München-Perlach","München-Riem","München-Solln","München-Trudering","München-Untermenzing","München-Westkreuz","Münchhausen","Münchingen","Münchingen Rührberg","Münchsmünster","Münchweiler(Alsenz)","Münchweiler(Rodalb)","Münnerstadt","Münsingen","Münster(W)Zentrum Nord","Münster(Westf)Hbf","Münster(Westf)Hbf","Münster(b Dieburg)","Münster-Albachten","Münster-Amelsbüren","Münster-Hiltrup","Münster-Häger","Münster-Roxel","Münster-Sarmsheim","Münster-Sprakel","Münstertal(Schwarzwald)","Münzesheim","Münzesheim Ost","Mürlenbach","Müssen","Nabburg","Nachterstedt-Hoym","Nackenheim","Nagold","Nagold Stadtmitte","Nagold-Iselshausen","Nagold-Steinberg","Naila","Namborn","Namedy","Namedy","Narsdorf","Nassau(Erzgeb)","Nassau(Lahn)","Nassenbeuren","Nassenheide","Natrup-Hagen","Nauen","Nauendorf(Saalkr)","Nauheim(b Gr.Gerau)","Naumburg(Saale)Hbf","Naumburg(Saale)Ost","Naumburg-Roßbach","Naundorf (b Oschatz)","Naunhof","Neanderthal","Nebitzschen","Nebra","Nechlin","Neckarbischofsheim Helmhof","Neckarbischofsheim Nord","Neckarbischofsheim Stadt","Neckarburken","Neckargemünd","Neckargemünd Altstadt","Neckargerach","Neckarhausen bei Neckarsteinach","Neckarsteinach","Neckarsulm","Neckarsulm","Neckarsulm Mitte","Neckarsulm Nord","Neckarsulm Süd","Neckarzimmern","Neef","Neetzendorf","Neetzka","Neheim-Hüsten","Nehren","Neidenfels","Neidenstein","Neinstedt","Nellmersbach","Nemmenich","Nemsdorf-Göhrendorf","Nendingen(b Tuttlingen)","Nennhausen","Nennig","Nennigmühle","Nenzingen","Nersingen","Nesselwang","Nettersheim","Netzeband","Netzkater","Netzschkau","Neu Isenburg","Neu Isenburg","Neu Pudagla","Neu St Jürgen","Neu Wokern","Neu Wulmstorf","Neu-Anspach","Neu-Edingen/Friedrichsfeld","Neu-Ulm","Neubeckum","Neubeckum","Neubiberg","Neubrandenburg","Neubrücke(Nahe)","Neubukow","Neuburg(Donau)","Neuburg(Kammel)","Neuburg(Rhein)","Neubäu","Neudenau","Neudietendorf","Neudorf(Erzgeb)","Neudorf-Platendorf","Neue Schenke","Neuenburg(Baden)","Neuenbürg(Enz)","Neuenbürg(Enz) Eyachbrücke","Neuenbürg(Enz) Freibad","Neuenbürg(Enz) Süd","Neuendettelsau","Neuenhagen(b Berlin)","Neuenkirchen(Oldb)","Neuenmarkt-Wirsberg","Neuenrade","Neuenstein","Neufahrn(Niederbay)","Neufahrn(b Freising)","Neuffen","Neufra(Hohenz)","Neugersdorf","Neugilching","Neuhaus am Rennweg","Neuhaus(Pegnitz)","Neuhaus-Igelshieb","Neuhausen Bad Bf","Neuhausen(Cottbus)","Neuhausen(b Landshut)","Neuhof(Kr Fulda)","Neuhof(b Zossen)","Neukieritzsch","Neukirch(Lausitz)Ost","Neukirch(Lausitz)West","Neukirchen(Inn)","Neukirchen(b Sulzb)","Neukirchen-Klaffenbach","Neukirchen-Wyhra","Neukloster(Kr Stade)","Neulußheim","Neumark(Sachs)","Neumarkt(Oberpf)","Neumarkt-St Veit","Neumühle(Elster)","Neumünster","Neumünster Stadtwald","Neumünster Süd AKN","Neundorf(Anh)","Neunhofen","Neunkirch","Neunkirchen a Sand","Neunkirchen(Kr Siegen)","Neunkirchen(Saar)-Wellesweiler","Neunkirchen(Saar)Hbf","Neuoelsnitz","Neupetershain","Neuruppin Rheinsberger Tor","Neuruppin West","Neuruppin West","Neusalza-Spremberg","Neuses(b Kronach)","Neusorg","Neuss Allerheiligen","Neuss Am Kaiser","Neuss Hbf","Neuss Hbf","Neuss Hbf","Neuss Rheinparkcenter","Neuss Süd","Neustadt am Rübenberge","Neustadt(Aisch)Bahnhof","Neustadt(Aisch)Mitte","Neustadt(Donau)","Neustadt(Dosse)","Neustadt(Holst)","Neustadt(Holst)Gbf","Neustadt(Kr Marburg)","Neustadt(Orla)","Neustadt(Sachs)","Neustadt(Schwarzw)","Neustadt(Waldnaab)","Neustadt(Weinstr) Süd","Neustadt(Weinstr)Hbf","Neustadt(b Coburg)","Neustadt-Böbig","Neustadt-Glewe","Neustadt-Hohenacker","Neustift(b Passau)","Neustrelitz Hbf","Neusäß","Neusörnewitz","Neutrebbin","Neuwied","Neuwirtshaus(Porscheplatz)","Neuzelle","Neuötting","Nidda","Nidderau","Nidderau","Nidderau-Eichen","Nidderau-Windecken","Nideggen-Brück","Niebüll","Niebüll neg","Niebüll, Sylt Shuttle","Niedaltdorf","Nieder Flörsheim-Dalsheim","Nieder Ohmen","Nieder Olm","Nieder Wöllstadt","Niederau","Niederau-Tuchmühle","Niederbiegen","Niederbobritzsch","Niederbrechen","Niederdollendorf","Niederdorf(Erzgeb)","Niederdorfelden","Niederdreisbach","Niederdresselndorf","Niedererbach","Niederfinow","Niedergörsdorf","Niederhadamar","Niederheimbach","Niederhöchstadt","Niederhövels","Niederjosbach","Niederlahnstein","Niederlehme","Niederlindhart","Niederlinxweiler","Niedermittlau","Niedermohr","Niederndodeleben","Niedernhausen(Taunus)","Niederoderwitz","Niederpöllnitz","Niederraunau","Niederroth","Niedersachswerfen","Niedersachswerfen Herkulesmarkt","Niedersachswerfen Ilfelder Straße","Niedersachswerfen Ost","Niederscheld(Dillkr)Süd","Niederschelden","Niederschelden Nord","Niederschlag","Niederschlottwitz","Niederschmalkalden","Niederselters","Niederspier","Niedersteinbach","Niederstetten","Niederstotzingen","Niedertrebra","Niederwalgern","Niederwalluf","Niederwartha","Niederweimar","Niederwiesa","Niederwillingen","Niederwinden","Niederwürschnitz","Niederzeuzheim","Niederzissen","Niederzwönitz","Niefern","Niemberg","Nienburg(Saale)","Nienburg(Weser)","Nienhagen(Halberst)","Nierstein","Nieukerk","Nievenheim","Nievern","Niklashausen","Nimburg(Baden)","Nistertal-Bad Marienberg","Nittel","Nohen","Nohfelden","Nohra(Weimar)","Nohra(Wipper)","Nonnenhorn","Nordbögge","Norddeich","Norddeich Mole","Norden","Nordendorf","Nordenham","Norderstedt Mitte","Nordhalben Bf","Nordhastedt","Nordhausen","Nordhausen Bahnhofsplatz","Nordhausen Hesseröder Straße","Nordhausen Nord","Nordhausen Ricarda-Huch-Straße","Nordhausen Schurzfell","Nordhausen-Altentor","Nordhausen-Krimderode","Nordhausen-Salza","Nordheim(Württ)","Nordholz","Nordsode","Nordstemmen","Nordwalde","Norf","Norheim","Norsingen","Northeim(Han)","Nortorf","Nossentin","Nottuln-Appelhülsen","Nufringen","Nußberg-Schönau","Nöbdenitz","Nördlingen","Nörten-Hardenberg","Nünchritz","Nürnberg Frankenstadion","Nürnberg Frankenstadion Sonderbahnsteig","Nürnberg Hbf","Nürnberg Nordost","Nürnberg Ost","Nürnberg Ostring","Nürnberg Rothenburger Str.","Nürnberg-Dutzendteich","Nürnberg-Dürrenhof","Nürnberg-Eibach","Nürnberg-Erlenstegen","Nürnberg-Gleißhammer","Nürnberg-Laufamholz","Nürnberg-Mögeldorf","Nürnberg-Rehhof","Nürnberg-Reichelsdorf","Nürnberg-Reichelsdorf","Nürnberg-Sandreuth","Nürnberg-Schweinau","Nürnberg-Stein","Nürnberg-Steinbühl","Nürnberg-Steinbühl","Nürtingen","Nürtingen-Roßdorf","Nürtingen-Vorstadt","Nützen","Ober Ramstadt","Ober Widdersheim","Oberachern","Oberachern Bindfadenfabrik","Oberaichen","Oberammergau","Oberasbach","Oberau","Oberaudorf","Oberbettingen-Hillesheim","Oberbillig","Oberbimbach","Oberboihingen","Oberbrechen","Oberdachstetten","Oberderdingen-Flehingen Industrie","Oberelchingen","Oberelsungen","Obererbach","Oberesslingen","Oberferrieden","Obergimpern","Obergries","Obergriesbach","Obergrunstedt","Oberhaid","Oberharmersbach Dorf","Oberharmersbach-Riersbach","Oberhausen Hbf","Oberhausen-Holten","Oberhausen-Osterfeld Süd","Oberhausen-Osterfeld Süd","Oberhausen-Sterkrade","Oberhof(Thür)","Oberholz","Oberkirch","Oberkirch-Köhlersiedlung","Oberkochen","Oberkotzau","Oberkrozingen","Oberlahnstein","Oberlauscha","Oberlenningen","Oberlichtenau","Oberlindhart","Oberlinxweiler","Obermaubach","Obermohr","Obernau","Obernburg-Elsenfeld","Oberndorf(Neckar)","Oberndorf(Wittgenstein)","Obernhof(Lahn)","Oberoderwitz","Oberoderwitz Oberdorf","Oberottmarshausen","Oberrohn","Oberrothenbach","Oberrotweil","Oberröblingen","Oberschefflenz","Oberschleißheim","Oberschlottwitz","Obersdorf","Obersinn","Oberstaufen","Oberstdorf","Obertraubling","Obertshausen(Kr Of)","Obertsrot","Oberursel(Taunus)","Oberursel-Stierstadt","OberurselWeißkirchen/Steinbach","Obervogelgesang","Oberweimar","Oberweißbach-Deesbach","Oberwerrn","Oberwesel","Oberwinden","Oberwinter","Oberzell","Oberzissen","Oberöwisheim","Obing","Obstfelderschmiede","Ochenbruck","Ochsenfurt","Ochsenhausen","Ochtmersleben","Ochtrup","Ockenheim","Odenheim Bf","Odenheim West","Oderin","Oebisfelde","Oederan","Oegeln","Oehna","Oelde","Oelsnitz Bahnhofstraße","Oelsnitz(Erzgeb)","Oelsnitz(Vogtl)","Oerel","Oerlenbach","Oerlinghausen","Oertzenhof","Oesede","Oestrich-Winkel","Oettingen(Bay)","Oeventrop","Offenau","Offenbach(Main) Kaiserlei","Offenbach(Main) Ledermuseum","Offenbach(Main) Marktplatz","Offenbach(Main)Hbf","Offenbach(Main)Ost","Offenbach-Bieber","Offenbach-Waldhof","Offenburg","Offenburg Kreisschulzentrum","Offenhausen","Offensen(Kr North)","Offingen","Oftersheim","Ohlstadt","Okarben","Oker","Olbernhau","Olbernhau West","Olbernhau-Grünthal","Olbersdorf Niederdorf","Olbersdorf Oberdorf","Olbersleben-Ellersleben","Olching","Oldenburg(Holst)","Oldenburg(Oldb)","Oldenburg-Wechloy","Oldenbüttel","Oldentrup","Olpe","Olsberg","Olsbrücken","Opladen","Opladen","Oppenau","Kiel-Oppendorf","Oppenheim","Oppenweiler(Württ)","Oppurg","Oranienbaum(Anh)","Oranienburg","Orlamünde","Orschweier","Ortrand","Oschatz","Oschatz Körnerstr","Oschatz Lichtstr","Oschatz Südbf","Oschersleben(Bode)","Osnabrück Altstadt","Osnabrück Hbf","Osnabrück Hbf","Osnabrück Hbf","Osnabrück-Sutthausen","Ostbevern","Osterburg","Osterburken","Osterhofen(Nby)","Osterhofen(Oberbay)","Osterholz-Scharmbeck","Ostermünchen","Osternienburg","Osterode am Harz Leege","Osterode am Harz Mitte","Ostersode","Osterspai","Osterstedt","Osterteich","Osterwald","Osterweddingen","Ostheim v Rhön","Ostheim(Kr Hanau)","Ostheim(b Butzbach)","Osthofen","Ostrach Bahnhof","Ostrau","Ostseebad Binz","Ostseebad Kühlungsborn Mitte","Ostseebad Kühlungsborn Ost","Ostseebad Kühlungsborn West","Ottbergen","Ottenau","Ottendorf(Mittweida)","Ottendorf-Okrilla Hp","Ottendorf-Okrilla Nord","Ottendorf-Okrilla Süd","Ottenhofen(Oberbay)","Ottenhofen-Bergel","Ottenhöfen","Ottenhöfen West","Ottensoos","Otterfing","Otterndorf","Ottersberg(Han)","Otterwisch","Otting","Otting-Weilheim","Ottobrunn","Ottweiler(Saar)","Otzberg Lengfeld","Otze","Ovelgünne","Overath","Owen(Teck)","Owschlag","Oy-Mittelberg","Oßmannstedt","Paderborn Hbf","Paderborn Kasseler Tor","Paderborn Nord","Paderborn-Schloss Neuhaus","Paffendorf","Paindorf","Palzem","Pankofen","Pansdorf","Papenburg(Ems)","Papendorf","Papiermühle(Stadtr)","Pappenheim","Parchim","Parkentin","Parsberg","Partenstein","Pasewalk","Pasewalk Ost","Passau Hbf","Passow(Uckermark)","Patersdorf","Paulinenaue","Paulinenaue","Paulinzella","Pechbrunn","Peenemünde","Pegau","Pegnitz","Peine","Peiting Nord","Peiting Ost","Peitz Ost","Peiß","Peißen","Peißenberg","Peißenberg Nord","Penzberg","Perkam","Perl","Perleberg","Petergrube","Petersaurach","Petersaurach Nord","Petershagen Nord","Petershagen(Uckerm)","Petershagen-Lahde","Petershausen(Obb)","Petersroda","Pfaffenhain","Pfaffenhausen","Pfaffenhofen(Ilm)","Pfalzel","Pfarrkirchen","Pfeddersheim","Pfettrach","Pflaumloch","Pforzheim Hbf","Pforzheim Maihälden","Pforzheim-Weißenstein","Pfreimd","Pfronten-Ried","Pfronten-Steinach","Pfronten-Weißbach","Pfullendorf","Pfungstadt","Pfäffingen","Philippsburg(Baden)","Philippshagen","Philippsheim","Piding","Pillgram","Pinneberg","Pinneberg","Pinnow(Uckermark)","Pinzberg","Pirk","Pirmasens Hbf","Pirmasens Nord","Pirna","Pirna-Copitz","Pirna-Copitz Nord","Pittenhart","Plaaz","Plaidt","Planegg","Plate(Meckl)","Plattling","Plaue(Thür)","Plauen(Vogtl) Mitte","Plauen(Vogtl) ob Bf","Plauen(Vogtl)-Straßberg","Plauen(Vogtl)West","Pleinfeld","Plessa","Plettenberg","Plochingen","Plön","Plüderhausen","Plüschow","Pockau-Lengefeld","Pocking","Poggenhagen","Poikam","Poing","Pommelsbrunn","Pommern(Mosel)","Pommritz","Ponitz","Poppenhausen","Porschdorf(Pirna)","Porstendorf","Porta Westfalica","Porz(Rhein)","Porz(Rhein)","Porz-Wahn","Posewald","Posewald","Possenhofen","Postbauer-Heng","Potsdam Charlottenhof","Potsdam Griebnitzsee","Potsdam Hbf","Potsdam Medienstadt Babelsberg","Potsdam Park Sanssouci","Potsdam Pirschheide","Potsdam-Babelsberg","Potsdam-Rehbrücke","Praest","Pratau","Preetz","Premnitz Nord","Premnitz Zentrum","Prenzlau","Pressath","Pressig-Rothenkirchen","Pretzfeld","Pretzier(Altm)","Pretzsch","Preußen","Priemerburg","Prien a Chiemsee","Priestewitz","Priort","Prisdorf","Prittitz","Pritzerbe","Pritzier","Pritzwalk","Pritzwalk Hainholz","Pritzwalk West","Probsteierhagen","Probstzella","Profen","Prora","Prora Ost","Prosselsheim","Prödel","Prösen","Prösen Ost","Prösen West","Puchheim","Pulheim","Pullach","Pulling(b Freising)","Pulsnitz","Pulsnitz Süd","Puschendorf","Putbus","Puttgarden","Putzkau","Pölchow","Pölling","Pönitz(Holst)","Pönitz(Leipzig)","Pösing","Pößneck ob Bf","Pößneck unt Bf","Quadrath-Ichendorf","Quakenbrück","Quedlinburg","Quedlinburg-Quarmbeck","Quelle","Quelle","Quelle","Quelle-Kupferheide","Querfurt","Quickborn","Quickborn Süd","Quickborner Straße","Quierschied","Quint","Rabenau","Rackith(Elbe)","Rackwitz(Leipzig)","Radbruch","Raddusch","Radeberg","Radebeul Ost","Radebeul Ost","Radebeul-Kötzschenbroda","Radebeul-Naundorf","Radebeul-Weintraube","Radebeul-Zitzschewig","Radeburg","Radersdorf","Radis","Radldorf(Niederbay)","Radolfzell","Raestrup-Everswinkel","Raguhn","Rahden(Kr Lübbecke)","Rain","Raindorf","Raisdorf","Raisdorf","Raisting","Raitersaich","Rakow","Rambin(Rügen)","Ramerberg","Rammelsbach","Rammingen(Bay)","Rammingen(Württ)","Ramsbach Birkhof","Ramsbach Höfle","Ramsberg","Ramsen","Ramsenthal","Ramstein","Rangendingen","Rangsdorf","Ranstadt","Rastatt","Rastatt Beinle","Rastede","Rastow","Rathenow","Rathmannsdorf(Kr Pirna)","Ratingen Ost","Ratzeburg","Raubling","Rauenstein(Thür)","Raumland-Markhausen","Raumünzach","Raun","Raunheim","Ravensburg","Rebdorf-Hofmühle","Rech","Rechenberg","Rechtenstein","Rechterfeld","Reckendorf","Reckenfeld","Recklinghausen Hbf","Recklinghausen Süd","Reckweilerhof","Reddelich","Rednitzhembach","Redwitz(Rodach)","Regen","Regensburg Hbf","Regensburg-Burgweinting","Regensburg-Prüfening","Regensburg-Prüfening","Regenstauf","Regis-Breitingen","Rehau","Rehfeld(Falkenberg)","Rehfelde","Rehna","Rehweiler","Reichelsdorfer Keller","Reichelsheim(Wett)","Reichenau(Baden)","Reichenbach(Fils)","Reichenbach(Oberlausitz)","Reichenbach(Vogtl) ob Bf","Reichenbach(b. Ettlingen)","Reichenberg(Unterfr)","Reichenschwand","Reichersbeuern","Reichertshausen(Ilm)","Reicholzheim","Reifland-Wünschendorf","Reihen","Reil","Reilsheim","Reinbek","Reinfeld(Holst)","Reinhardsbrunn-Friedrichroda","Reinheim(Odenw)","Reinsbüttel","Reinsdorf(Artern)","Reinsdorf(bei Nebra)","Reinstetten","Reisen(Hess)","Reiskirchen(Kr Gi)","Reken","Remagen","Remscheid Hbf","Remscheid-Güldenwerth","Remscheid-Lennep","Remscheid-Lüttringhausen","Renchen","Rendsburg","Renningen","Renningen Süd","Rennsteig","Rentrisch","Rentweinsdorf","Rentwertshausen","Rentzschmühle","Rethen(Leine)","Retzbach-Zellingen","Reurieth","Reuterstadt Stavenhagen","Reuth(b Erbendorf)","Reuth(b Plauen,Vogtl)","Reutlingen Hbf","Reutlingen West","Reutlingen-Betzingen","Reutlingen-Sondelfingen","Reußen","Rhade","Rheda-Wiedenbrück","Rheinbach","Rheinbach Römerkanal","Rheinberg(Rheinl)","Rheinbrohl","Rheine","Rheine-Mesum","Rheinfelden(Baden)","Rheinhausen","Rheinhausen Ost","Rheinsberg(Mark)","Rheinsheim","Rheinweiler","Rheinzabern Alte Römerstraße","Rheinzabern Bf","Rheinzabern Rappengasse","Rhens","Rheydt Hbf","Rheydt Hbf","Rheydt-Odenkirchen","Rhöndorf","Ribnitz-Damgarten Ost","Ribnitz-Damgarten West","Richen(b Eppingen)","Rickling","Ried","Riederau","Riedlingen","Riedrode","Riedstadt-Goddelau","Riedstadt-Wolfskehlen","Riegel am Kaiserstuhl Ort","Riegel-Malterd.NE","Riegel-Malterdingen","Riehen","Riehen Niederholz","Rieneck","Riesa","Rieschweiler","Rieseby","Rieste","Riestedt","Rietheim(Württ)","Rietschen","Rimbach","Ringleben-Gebesee","Ringsheim","Rinkerode","Rinklingen","Rinnthal","Rinteln","Rippberg","Ritschenhausen","Ritterhude","Rockenhausen","Rodalben","Rodenbach(Dillkr)","Rodenbach(b Hanau)","Rodenkirchen(Oldb)","Rodewisch","Rodgau-Dudenhofen","Rodgau-Hainhausen","Rodgau-Jügesheim","Rodgau-Nieder Roden","Rodgau-Rollwald","Rodgau-Weiskirchen","Rodheim v d Höhe","Roding","Rodleben","Roggentin","Rohr(Thür)","Rohrbach(Ilm)","Rohrbach(Oberbay)","Rohrbach(Pfalz)","Rohrbach(Saar)","Rohrenfeld","Roigheim","Roisdorf","Roitzsch(Bitterf)","Rolandseck","Rollhofen","Rommelshausen","Rommerskirchen","Ronneburg(Thür)","Ronnenberg","Ronshausen","Rosbach v d Höhe","Rosbach(Sieg)","Rosenau(b Grafenau)","Rosenberg(Baden)","Rosendahl-Holtwick","Rosenheim","Rosenheim Hochschule","Rosenwinkel","Rostock Hbf","Rostock Holbeinplatz","Rostock Parkstraße","Rostock Thierfelder Str.","Rostock-Bramow","Rostock-Evershagen","Rostock-Kassebohm","Rostock-Lichtenhagen","Rostock-Lütten Klein","Rostock-Marienehe","Rostock-Torfbrücke","Rot am See","Rot-Malsch","Rotenbach(Enz)","Rotenburg a.d. Fulda","Rotenburg(Wümme)","Rotenhain","Roth","Rothenburg ob der Tauber","Rothenbürg","Rothenstein(Saale)","Rott(Inn)","Rottenacker","Rottenbach","Rottenburg(Neckar)","Rottendorf","Rottershausen","Rottweil","Rottweil Göllsdorf","Rottweil Neufra","Rottweil Saline","Roßbach(Pfalz)","Roßla","Roßlau(Elbe)","Roßtal","Roßtal Wegbrücke","Rudersberg","Rudersberg Nord","Rudersberg-Oberndorf","Rudersdorf(Siegen)","Rudolstadt(Thür)","Rudolstadt-Schwarza","Ruhland","Ruhlsdorf-Zerpenschleuse","Ruhmannsfelden","Ruhpolding","Ruhstorf","Rumeln","Rummenohl","Runkel","Ruppertsgrün","Rupprechtstegen","Ruschberg","Ruschwedel","Rutesheim","Ruthenbeck","Rätzlingen","Röblingen am See","Rödental","Rödental Mitte","Rödermark-Ober Roden","Rödermark-Urberach","Rödlitz-Hohndorf","Röhrmoos","Röhrnbach","Rönshausen","Röntgental","Röslau","Rösrath","Rösrath-Stümpen","Röt","Rötenbach(Baden)","Rötgesbüttel","Röthenbach(Allgäu)","Röthenbach(Oberpf)","Röthenbach(Pegnitz)","Röthenbach-Seespitze","Röthenbach-Steinberg","Rövershagen","Rückersbacher Schlucht","Rückersdorf","Rückersdorf(Mfr)","Rüdesheim(Rhein)","Rüdnitz","Rülzheim Bf","Rülzheim Freizeitzentrum","Rümmingen","Ründeroth","Rüsselbach","Rüsselsheim","Rüsselsheim Opelwerk","Saal(Donau)","Saalburg(Taunus)","Saalfeld(Saale)","Saarbrücken Hbf","Saarbrücken Ost","Saarbrücken-Burbach","Saarburg(Bz Trier)","Saarhölzbach","Saarlouis Hbf","Saarmund","Saasen","Saatel","Sachsen(b Ansbach)","Sachsendorf(Calbe)","Sachsenhausen(Nordb)","Sachsenheim","Sagard","Sagehorn","Salach","Salem","Sallach","Salmtal","Salzbergen","Salzgitter-Bad","Salzgitter-Immendorf","Salzgitter-Lebenstedt","Salzgitter-Ringelheim","Salzgitter-Thiede","Salzgitter-Watenstedt","Salzkotten","Salzwedel","Samtens","Sand(Niederbay)","Sande","Sandebeck","Sanderbusch","Sandersleben(Anh)","Sandförde","Sandhagen(b Bad Dob)","Sandkrug","Sandwehle","Sangerhausen","Sanitz(b Rostock)","Sanssouci","Sarnau","Sarnow","Sarstedt","Sasbach am Kaiserstuhl","Sassenroth","Sassnitz","Satteldorf","Satzvey","Sauerlach","Saulgrub","Saulheim","Schafbrücke","Schaftlach","Schaidt(Pfalz)","Schalchen","Schalkau","Schalkau Mitte","Schalksmühle","Schalkstetten","Schallstadt","Schameder","Schandelah","Scharbeutz","Scharfenstein","Scharmede","Scharstorf","Schechen","Scheeßel","Scheidt(Saar)","Schelklingen","Schemmerberg","Schenkenzell","Scheppach","Scherfede","Scheuerfeld(Sieg)","Scheven","Schieder","Schierbrok","Schierke","Schierling","Schierstedt","Schifferstadt","Schifferstadt Süd","Schiffweiler","Schiltach","Schiltach Mitte","Schimborn","Schirgiswalde-Kirschau","Schirnding","Schkeuditz","Schkeuditz West","Schkopau","Schladen(Harz)","Schladern(Sieg)","Schlatt(Hohenz)","Schlechtbach","Schleife","Schleswig","Schliengen","Schlierbach(Schwalm-Eder-Kr.)","Schliersee","Schloß Holte","Schluchsee","Schlüchtern","Schmachtenhagen","Schmalkalden","Schmalkalden-Fachhochschule","Schmalnau","Schmidtheim","Schmiechen","Schmiechen Albbahn","Schmiechen(Schwab)","Schmilka-Hirschmühle","Schmollensee","Schmölln(Ol)","Schmölln(Thür)","Schnabelwaid","Schnaittach Markt","Schneeberg im Odenwald","Schneeberg(Mark)","Schnega","Schneidhain","Schnelldorf","Schneverdingen","Schney","Schnitzmühle","Schoden-Ockfen","Schondorf(Bay)","Schongau","Schonungen","Schopfheim","Schopfheim West","Schopfloch(b Freudenstadt)","Schopp","Schorndorf","Schorndorf-Hammerschlag","Schortens-Heidmühle","Schrezheim","Schrobenhausen","Schrozberg","Schutzbach","Schwaan","Schwabach","Schwabach-Limbach","Schwabhausen(b Dachau)","Schwabmünchen","Schwabsberg","Schwaig","Schwaigern Ost","Schwaigern(Württ)","Schwaigern(Württ) West","Schwaikheim","Schwalbach(Taunus)Limes","Schwalbach(Taunus)Nord","Schwallungen","Schwalmstadt-Wiera","Schwandorf","Schwanheide","Schwante","Schwarmstedt","Schwarzburg","Schwarzenbach(Saale)","Schwarzenbach(b Pressath)","Schwarzenbek","Schwarzenberg","Schwarzenberg Hp","Schwarzenberg(Erzg)","Schwarzenberg-Neuwelt","Schwarzenfeld(Opf)","Schwarzheide Ost","Schwarzkollm","Schwedt(Oder)","Schwedt(Oder)Mitte","Schweich(DB)","Schweighofen","Schweikershain","Schweinfurt Hbf","Schweinfurt Mitte","Schweinfurt Stadt","Schweinsburg-Culten","Schweinsdorf","Schwelm","Schwelm West","Schwenningen(Bay)","Schwenningen(Neckar)","Schwenzin","Schweppenburg-Heilbrunnen","Schwerin Hbf","Schwerin Mitte","Schwerin Süd","Schwerin-Görries","Schwerin-Görries","Schwerin-Lankow","Schwerin-Margaretenhof","Schwerin-Warnitz","Schwerin-Wüstmark","Schwerte(Ruhr)","Schweta Bf","Schweta Gasth","Schwetzingen","Schwieberdingen","Schwindegg","Schwäbisch Gmünd","Schwäbisch Hall","Schwäbisch Hall-Hessental","Schwörstadt","Schöllkrippen","Schömberg Stausee","Schömberg(b Balingen)","Schöna","Schönau(Hörsel)","Schönberg(Holstein)","Schönberg(Meckl)","Schönberg(Vogtl)","Schönberger Strand","Schönborn(Doberl)","Schönebeck Süd","Schönebeck(Elbe)","Schönebeck-Bad Salzelmen","Schönebeck-Felgeleben","Schönebeck-Frohse","Schöneck(Vogtl)","Schöneck(Vogtl) Ferienpark","Schöneck-Büdesheim","Schöneck-Kilianstädten","Schöneck-Oberdorfelden","Schönerlinde","Schönewörde","Schönfließ(Mark) Dorf","Schönfließ(b Oranienburg)","Schöngeising","Schönhausen(Elbe)","Schönkirchen Bf","Schönmünzach","Schönow(Angerm)","Schönstedt","Schönwald(Oberfr)","Schönwalde(Barnim)","Schönwalde(Spreewald)","Schöppenstedt","Schötmar","Schülldorf","Schüptitz","Schüttorf","Sebnitz(Sachs)","Sechshelden","Sechtem","Seckach","Seddin","Sedlitz Ost","Seebach(Mühlhausen)","Seebad Ahlbeck","Seebad Heringsdorf","Seebergen","Seebrugg","Seefeld(Mark)","Seefeld-Hechendorf","Seeg","Seegefeld","Seehausen(Altm)","Seehausen(Uckermark)","Seeleiten-Berggeist","Seelow(Mark)","Seelow-Gusow","Seelvitz","Seelze","Seerhausen","Seesen","Seeshaupt","Sehlem(Kr Wittlich)","Sehma","Sehnde","Seiboldsdorf","Seifersdorf","Seifhennersdorf","Seitschen","Selb Nord","Selb Stadt","Selb-Plößberg","Selbitz","Selhausen","Seligenstadt Mainschleifenbahn","Seligenstadt(Hess)","Seligenstadt(b Würzburg)","Sellin(Rügen) Ost","Sellin(Rügen) West","Sellstedt","Selm","Selm-Beifang","Seltendorf","Senden","Senftenberg","Sennelager","Sennestadt","Sennfeld","Serams","Serrig","Sersheim","Seubersdorf","Seulberg","Seulbitz","Seybothenreuth","Siebeldingen-Birkweiler","Siedlinghausen","Siegburg Bahnhof","Siegburg/Bonn","Siegelsbach","Siegelsdorf","Siegen","Siegen-Geisweid","Siegen-Weidenau","Siegsdorf","Sierksdorf","Siersburg","Siershahn","Siglingen","Sigmaringen","Sigmaringendorf","Sigmaringendorf","Silbach","Silberhausen","Silberhütte NE","Silberstraße","Simbach(Inn)","Simmelsdorf-Hüttenbach","Simtshausen","Sindelfingen","Sindorf","Sindorf","Singen Industriegebiet","Singen Landesgartenschau","Singen(Hohentwiel)","Singen(Thür)","Singlis","Sinn","Sinsheim Museum/Arena","Sinsheim(Elsenz) Hbf","Sinzheim","Sinzheim Nord","Sinzig(Rhein)","Sinzing","Sipplingen","Sitzendorf-Unterweißbach","Soest","Sohl","Sohland","Solingen Grünewald","Solingen Hbf","Solingen Mitte","Solingen Vogelpark","Solingen-Schaberg","Sollstedt","Solms","Solnhofen","Solpke","Soltau Nord","Soltau(Han)","Soltendieck","Sondern","Sondernach","Sondernheim","Sondershausen","Sonneberg(Thür)Hbf","Sonneberg(Thür)Nord","Sonneberg(Thür)Ost","Sonneberg(Thür)West","Sontheim(Schwab)","Sontheim-Brenz","Sonthofen","Sontra","Sophienhof","Sorge","Sottrum","Soyen","Spaichingen","Spaichingen Mitte","Sparrieshoop","Spay","Spechtritz","Speele","Speicher","Speikern","Speyer Hbf","Speyer Nord-West","Spich","Spiegelau","Spielberg","Sponholz","Spornitz","Spremberg","Sprendlingen(Rheinhess)","Sprendlingen(Rheinhess)","Sprendlingen(Rheinhess)","Springe","Sprötze","St Alban","St Augustin Markt","St Egidien","St Georgen(Schwarzw)","St Goar","St Goarshausen","St Ilgen-Sandhausen","St Ingbert","St Koloman","St Mang","St Michaelisdonn","St Ottilien","St Thomas","St Wendel","Stade","Stadt Wehlen(Sachs)","Stadtallendorf","Stadthagen","Stadtilm","Stadtoldendorf","Stadtprozelten","Stadtroda","Staffel","Stahringen","Stambach","Stammbach","Stapelburg","Starnberg","Starnberg Nord","Stauchitz","Staudernheim","Staufen","Staufen Süd","Staßfurt","Stederdorf(Kr Uelzen)","Stegenwaldhaus","Steilküste/Wittenbeck","Stein(Traun)","Steina","Steinach(Baden)","Steinach(Thür)","Steinach(Thür)Süd","Steinach(b Rothenburg ob der Tauber)","Steinalben","Steinau(Straße)","Steinbach am Wald","Steinbach-Hallenberg","Steinebach","Steinefrenz","Steinen","Steinerne Renne","Steinfeld(Oldb)","Steinfeld(Pfalz)","Steinfeld(Stendal)","Steinfurt-Borghorst","Steinfurt-Burgsteinfurt","Steinfurt-Grottenkamp","Steinhagen(Westf)","Steinhagen(Westf) Bielef. Str.","Steinhausen-Neuburg","Steinheim(Main)","Steinheim(Westf)","Steinhöring","Steinpleis","Steinsfurt","Steinweiler","Steinwenden","Steinwiesen Bf","Stelle","Stendal","Stendal Vorbf","Stendal-Stadtsee","Stenn","Sterbfritz","Sternfeld","Sternhaus-Haferfeld","Sternhaus-Ramberg","Sterzhausen","Stetten (b. Haigerloch)","Stetten am Heuchelberg","Stetten(Donau)","Stetten(Schwab)","Stetten-Beinstein","Stettfeld(Baden)","Stiege","Stift Keppel-Allenbach","Stockach NE","Stockau","Stockdorf","Stockhausen(Lahn)","Stockheim(Oberfr)","Stockheim(Unterfr)","Stockstadt(Main)","Stockstadt(Rhein)","Stolberg(Rheinl)Gbf","Stolberg(Rheinl)Hbf","Stolberg(Rheinl)Hbf","Stolberg(Rheinl)Hbf Gl.27","Stolberg(Rheinl)Hbf Gl.44","Stolberg-Altstadt","Stolberg-Mühlener Bahnhof","Stolberg-Rathaus","Stolberg-Schneidmühle","Stollberg Schlachthofstraße","Stollberg(Sachs)","Stolpen","Stommeln","Storkow(Mark)","Storzingen","Stotternheim","Stralsund Hbf","Stralsund Rügendamm","Stralsund-Grünhufe","Strasburg(Uckerm)","Straubing","Straubing-Ost","Strausberg","Strausberg Nord","Strausberg Stadt","Strausberg-Hegermühle","Straußfurt","Straß-Moos","Straßberg(Harz)","Straßberg-Glasebach","Straßberg-Winterlingen","Straßkirchen","Strohkirchen","Strullendorf","Struthütten","Stryck","Stubben","Stubbenfelde","Stubersheim","Stumsdorf","Stuttgart Ebitzweg","Stuttgart Feuersee","Stuttgart Flughafen/Messe","Stuttgart Hbf","Stuttgart Hbf (tief)","Stuttgart Neckarpark","Stuttgart Nord","Stuttgart Nord","Stuttgart Nürnberger Str.","Stuttgart Schwabstr.","Stuttgart Stadtmitte","Stuttgart Universität","Stuttgart-Bad Cannstatt","Stuttgart-Feuerbach","Stuttgart-Feuerbach","Stuttgart-Münster","Stuttgart-Obertürkheim","Stuttgart-Rohr","Stuttgart-Sommerrain","Stuttgart-Untertürkheim","Stuttgart-Untertürkheim","Stuttgart-Untertürkheim","Stuttgart-Vaihingen","Stuttgart-Zazenhausen","Stuttgart-Zuffenhausen","Stuttgart-Österfeld","Stühlingen","Stützerbach","Subzin-Liessow","Suchsdorf","Suderburg","Suerhop","Suhl","Suhl-Heinrichs","Sukow(b Schwerin)","Sulmingen","Sulz(Neckar)","Sulzbach(Inn)","Sulzbach(Main)","Sulzbach(Murr)","Sulzbach(Saar)","Sulzbach(Saar)Altenwald","Sulzbach(Taunus)","Sulzbach(Taunus)Nord","Sulzbach-Rosenberg","Sulzbach-Rosenberg Hütte","Sulzberg","Sulzfeld(Baden)","Swisttal-Odendorf","Syke","Sylbach","Syrau","Sythen","Sättelstädt","Söllichau","Söllingen Kapellenstraße","Söllingen Reetzstr.","Söllingen(b Karlsr)","Söllingen(b Karlsr)","Sömmerda","Sörup","Süderbrarup","Süderdeich","Süderlügum","Sülstorf","Sülzbach","Sülzbach Schule","Sülzenbrücken","Sünching","Süßen","Taben","Tacherting","Tamm(Württ)","Tangerhütte","Tangermünde","Tangermünde West","Tanndorf","Tanneneck","Tannheim(Württ)","Tannroda","Tantow","Tapfheim","Tarp","Tating","Taubenheim(Spree)","Tauberbischofsheim","Tauberfeld","Taucha(Leipzig)","Taufkirchen","Tautenhain","Tegernsee","Teicha","Teichland","Teisendorf","Teisnach","Teisnach Rohde&Schwarz","Telgte","Teltow","Teltow Stadt","Temmels","Templin","Templin Stadt","Teningen-Mundingen","Teschenhagen","Teschow","Tessin","Tessin West","Teterow","Teuchern","Teufelsmühle","Teutschenthal","Teutschenthal Ost","Thale Hbf","Thale Musestieg","Thaleischweiler-Fröschen","Thalfingen(b Ulm)","Thalheim (b Oschatz)","Thalheim(Erzgeb)","Thann-Matzbach","Thansüß","Tharandt","Thayngen","Theisbergstegen","Theißen","Themar","Thermalbad Wiesenbad","Thesdorf","Thiergarten(Hohenz)","Thyrow","Thüngersheim","Thür","Tiebensee","Tiefenau","Tiefenbach(b Passau)","Tiefenbachmühle","Tiengen(Hochrhein)","Timmendorferstrand","Titisee","Tittmoning-Wiesmühl","Torgau","Torgelow","Tornesch","Tostedt","Traben-Trarbach","Trabitz","Trais-Horloff","Trasadingen","Trassenheide","Trassenmoor","Traundorf","Traunreut","Traunstein","Traunstein Klinikum","Trebbin","Treben-Lehma","Trebgast","Trebitz(Elbe)","Trebitz(Könnern)","Trebnitz(Mark)","Trechtingshausen","Treis-Karden","Treuchtlingen","Treuen","Treuenbrietzen","Treuenbrietzen Süd","Treysa","Triangel","Triberg","Triebes","Triefenried","Trier Hbf","Trier Süd","Triesdorf","Triptis","Trochtelfingen ALB-GOLD","Trochtelfingen(Hohenz)","Trochtelfingen(b Bopfingen)","Troisdorf","Trompet","Tromsdorf","Trossingen Bahnhof","Trossingen Bahnhof","Trossingen Stadt","Trostberg","Tulling","Tuttlingen","Tuttlingen Gänsäcker","Tuttlingen Nord","Tuttlingen Schulen","Tuttlingen Zentrum","Tutzing","Twiste","Twistringen","Töging(Inn)","Tönning","Töppeln","Tübingen Hbf","Tübingen West","Tübingen-Derendingen","Tübingen-Lustnau","Türkenfeld","Türkheim(Bay)Bf","Türkismühle","Tüßling","Ubbedissen","Ubstadt Ort","Ubstadt Salzbrunnenstr","Ubstadt Uhlandstr.","Ubstadt-Weiher","Uchtspringe","Uder","Uebigau","Ueckermünde","Ueckermünde Stadthafen","Uelzen","Uffenheim","Uffing a Staffelsee","Uhingen","Uhldingen-Mühlhofen","Uhlerborn","Uhlstädt","Uhsmannsdorf","Ulbersdorf","Ulm Hbf","Ulm Ost","Ulm-Donautal","Ulm-Söflingen","Ulzburg Süd","Umrathshausen Bf","Umrathshausen Ort","Unadingen","Undorf","Unfriedsdorf","Ungedanken","Unkel","Unna","Unna West","Unna-Königsborn","Unnau-Korb","Unterammergau","Unterasbach","Unteraschau","Unterelchingen","Unterföhring","Untergimpern","Untergrainau","Untergriesheim","Untergrombach","Unterhaching","Unterharmersbach","Unterhausen(Bay)","Unterheckenhofen","Unterjesingen Mitte","Unterjesingen Sandäcker","Unterkochen","Unterlemnitz","Unterlenningen","Unterloquitz","Unterlüß","Untermaubach-Schlagstein","Untermaßfeld","Unterneudorf","Unterreichenbach","Unterschleißheim","Untersteinach(Bayr)","Untersteinach(b Stadtsteinach)","Untersulzbach","Unterwellenborn","Unterwiesenthal","Unteröwisheim Bf","Unteröwisheim M.-Luther-Str.","Uphusum","Urbach(b Schorndorf)","Urft","Urmersbach","Urmitz","Urmitz Rheinbrücke","Urschalling","Urspring","Usch-Zendscheid","Usingen","Uslar","Usseln","Utting","Utzedel","Vach","Vachdorf","Vachendorf","Vahldorf","Vaihingen(Enz)","Vallendar","Varel(Oldb)","Vastorf","Vaterstetten","Vechelde","Vechta","Vechta-Stoppelmarkt","Vehlefanz","Veilsdorf","Veitshöchheim","Velbert Rosenhügel","Velbert-Langenberg","Velbert-Neviges","Velbert-Nierenhof","Velden(b Hersbruck)","Velgast","Vellmar-Niedervellmar","Vellmar-Obervellmar","Vellmar-Osterberg/EKZ","Velten(Mark)","Ventschow","Verden(Aller)","Veringendorf","Veringenstadt","Vernawahlshausen","Vetschau","Vettweiß","Viechtach","Vienenburg","Vierenstraße","Vierkirchen-Esterhofen","Viernau","Viersen","Vieselbach","Villingen(Schwarzw)","Villingen-Schwenningen Eisstadion","Villingen-Schwenningen Hammerstatt","Villmar","Vilsbiburg","Vilseck","Vilshofen(Niederbay)","Vinzelberg","Visselhövede","Vlotho","Voerde(Niederrhein)","Vogelsang(Gransee)","Vogelweh","Vohburg","Voigtsgrün","Voigtstedt","Voldagsen","Volkach-Astheim","Volkmarsen","Volkringhausen","Volpriehausen","Vorhop","Vormwald","Vormwald Dorf","Vorra(Pegnitz)","Voßloch","Vöhl-Ederbringhausen","Vöhl-Herzhausen","Vöhl-Schmittlotheim","Vöhl-Thalitter","Vöhringen","Vöhrum","Völklingen","Völksen/Eldagsen","Wabern(Bz Kassel)","Wachenheim(Pfalz)","Wachenheim-Mölsheim","Wackershofen","Waffenbrunn","Waggonfabrik","Waghäusel","Waging","Wahlbach(Kr Siegen)","Wahlheim","Wahlitz","Wahlstedt","Wahlwies","Wahrenholz","Waiblingen","Waibstadt","Waigolshausen","Wakendorf","Walddrehna","Waldenburg(Württ)","Waldershof","Waldfischbach","Waldhausen(b Geislingen)","Waldhausen(b Schorndorf)","Waldheim","Waldkirch","Waldkirchen(Erzgeb)","Waldkirchen(Niederbay.)","Waldkraiburg","Waldmünchen","Waldshut","Waldshut","Walhausen(Saar)","Walheim(Württ)","Walkenried","Wallau(Lahn)","Walldorf(Hess)","Walldorf(Werra)","Walldürn","Wallersdorf","Wallertheim","Walleshausen","Wallhausen(Helme)","Wallhausen(Württ)","Wallwitz(Saalkr)","Walpertskirchen","Walporzheim","Walschleben","Walsleben","Walsrode","Waltershausen","Waltershausen Schnepfenthal","Waltershausen Schnepfenthal","Wandersleben","Wandlitz","Wandlitzsee","Wangen(Allgäu)","Wangen(Unstrut)","Wanne-Eickel Hbf","Wannweil","Wansleben am See","Warburg(Westf)","Waren(Müritz)","Warendorf","Warendorf-Einen-Müssingen","Warenshof","Warmbad","Warnemünde","Warnemünde Werft","Warngau","Warnitz(Uckermark)","Warthausen","Warthausen","Wasbek","Wasenweiler","Wasseralfingen","Wasserburg(Bodensee)","Wasserburg(Günz)","Wasserburg(Inn)Bf","Wasserliesch","Wasserthaleben","Wassertrüdingen","Wasserzell(b Eichstätt)","Wasungen","Wattenscheid","Wattenscheid-Höntrop","Watzelsteg","Watzenborn-Steinberg","Weckesheim","Weddel(Braunschw)","Wedel(Holst)","Weener","Weesenstein","Weetzen","Weeze","Wefensleben","Wega","Wegberg","Wegeleben","Wegenstedt","Wehdel","Wehr(Mosel)","Wehr-Brennet","Wehrden","Wehretal-Reichensachsen","Wehrheim","Weibhausen","Weichering","Weickersdorf(Sachs)","Weickersgrüben","Weida","Weida Altstadt","Weida Mitte","Weiden(Oberpf)","Weidenbach","Weidenberg","Weidenthal","Weiding","Weiherhammer","Weiherhof","Weikersheim","Weil am Rhein","Weil am Rhein Ost","Weil am Rhein-Gartenstadt","Weil am Rhein-Pfädlistraße","Weil der Stadt","Weil im Schönbuch Röte","Weil im Schönbuch Troppel","Weil im Schönbuch Untere Halde","Weilbach(Unterallg)","Weilbach(Unterfr)","Weilburg","Weiler (Brohltal)","Weiler(Rems)","Weilerswist","Weilerswist-Derkum","Weilheim(Oberbay)","Weilheim(Württ)","Weilimdorf","Weimar","Weimar Berkaer Bf","Weimar West","Weinböhla Hp","Weingarten Berg","Weingarten(Baden)","Weinheim(Bergstr)","Weinheim-Lützelsachsen","Weinsberg","Weinsberg West","Weinsberg/Ellhofen Gewerbegebiet","Weischlitz","Weisen","Weisenbach","Weisenheim(Sand)","Weiterstadt","Weixdorf","Weixdorf Bad","Weizen","Weizern-Hopferau","Weißandt-Gölzau","Weißenau","Weißenburg(Bay)","Weißenfels","Weißenfels West","Weißenhorn","Weißenhorn-Eschach","Weißenohe","Weißenthurm","Weißer See","Weißes Roß","Weißwasser(Oberlausitz)","Welgesheim-Zotzenheim","Welkers","Wellen(Magdeburg)","Wellen(Mosel)","Wellendorf","Wellmitz","Welschen Ennest","Welschingen-Neuhausen","Welver","Wemmetsweiler Rathaus","Wendisch Evern","Wendisch-Rietz","Wendlingen(Neckar)","Wennedach","Wennigsen(Deister)","Wensickendorf","Werbig","Werbig","Werbig","Werdau","Werdau Nord","Werder(Havel)","Werdohl","Werdorf","Werl","Wernau(Neckar)","Wernberg","Werne a d Lippe","Werneuchen","Wernfeld","Wernigerode","Wernigerode Elmowerk","Wernigerode Hochschule Harz","Wernigerode Westerntor","Wernigerode-Hasserode","Wernshausen","Wertach-Haslach","Wertheim","Wertheim-Bestenheid","Werther","Wesel","Wesel Feldmark","Wesenberg","Wesselburen","Wesseln","Westbarthausen","Westbevern","Westendorf","Westerburg","Westerham","Westerhausen","Westerland(Sylt)","Westerland(Sylt), Sylt Shuttle","Westerstede-Ocholt","Westerstetten","Westewitz-Hochweitzschen","Westhausen","Westheim(Schwab)","Westheim(Westf)","Westheim-Langendorf","Westönnen","Wetter(Hessen)","Wetter(Ruhr)","Wetterzeube","Wetzlar","Weßling(Oberbay)","Wickede(Ruhr)","Wicklesgreuth","Wickrath","Wiebelskirchen","Wiemersdorf","Wieren","Wiesa(Erzgeb)","Wiesau(Oberpf)","Wiesbaden Hbf","Wiesbaden Ost","Wiesbaden-Biebrich","Wiesbaden-Erbenheim","Wiesbaden-Igstadt","Wiesbaden-Schierstein","Wiesenau","Wiesenburg(Mark)","Wiesenburg(Sachs)","Wiesenfeld","Wiesenfeld(b Coburg)","Wiesental","Wiesenthau","Wieslensdorf","Wiesloch-Walldorf","Wiesmühl(Alz)","Wiesthal","Wilburgstetten Bf","Wilchingen-Hallau","Wildau","Wildberg(Württ)","Wildeck-Bosserode","Wildeck-Hönebach","Wildeck-Obersuhl","Wildeshausen","Wilferdingen-Singen","Wilgartswiesen","Wilhelmsdorf","Wilhelmshaven Hbf","Wilhelmshorst","Wilhelmshütte(Lahn)","Wilhermsdorf","Wilhermsdorf Mitte","Wilischthal","Wilkau-Haßlau","Willebadessen","Willingen","Willmenrod","Willmering","Willsbach","Wilmersdorf(Angerm)","Wilsenroth","Wilster","Wilthen","Wiltingen(Saar)","Wincheringen","Windelsbleiche","Winden(Pfalz)","Windischeschenbach","Windsbach","Wingerode","Wingst","Winkelhaid","Winnenden","Winningen(Mosel)","Winninghausen","Winnweiler","Winsen(Luhe)","Winterbach(b Schorndorf)","Winterberg(Westf)","Winterhausen","Wintermoor","Wipperdorf","Wirges","Wirtheim","Wismar","Wissen(Sieg)","Wissingen","Wittbräucke","Witten Hbf","Witten-Annen Nord","Wittenberge","Wittenhagen","Wittgensdorf Mitte","Wittgensdorf ob Bf","Wittighausen","Wittingen","Wittlich Hbf","Wittlingen","Wittmund","Wittstock(Dosse)","Witzenhausen Nord","Witzighausen","Witzschdorf","Witzwort","Woffleben","Wohltorf","Wolfach","Wolfegg","Wolfen(Bitterfeld)","Wolfenbüttel","Wolfenbüttel","Wolferode","Wolfgang(Kr Hanau)","Wolfhagen","Wolfratshausen","Wolfsburg Hbf","Wolfsgefärth","Wolfsmünster","Wolfstein","Wolgast","Wolgast Hafen","Wolgaster Fähre","Wolkenstein","Wolkramshausen","Wollbach(Baden)","Wolmirstedt","Wolterdingen(Han)","Woltersdorf/Nuthe-Urstromtal","Woltwiesche","Worms Hbf","Worpswede","Wremen","Wriezen","Wrist","Wulfen(Anh)","Wulfen(Westf)","Wulften","Wullenstetten","Wunsiedel-Holenbrunn","Wunstorf","Wuppertal Hbf","Wuppertal-Barmen","Wuppertal-Langerfeld","Wuppertal-Oberbarmen","Wuppertal-Ronsdorf","Wuppertal-Sonnborn","Wuppertal-Steinbeck","Wuppertal-Unterbarmen","Wuppertal-Vohwinkel","Wuppertal-Zoologischer Garten","Wurlitz","Wurmlingen Mitte","Wurmlingen Nord","Wurzbach(Thür)","Wurzen","Wusterhausen(Dosse) NE","Wustermark","Wusterwitz","Wustrau-Radensleben","Wustweiler","Wutha","Wutike","Wutöschingen","Wyhlen","Wächterhof","Wächtersbach","Wölfershausen","Wölfersheim-Södel","Wörlitz","Wörnitzstein","Wörrstadt","Wörsdorf","Wörth(Isar)","Wörth(Main)","Wörth(Rhein)","Wörth(Rhein) Alte Bahnmeisterei","Wörth(Rhein) Badallee","Wörth(Rhein) Badepark","Wörth(Rhein) Bienwaldhalle","Wörth(Rhein) Bürgerpark","Wörth(Rhein) Mozartstraße","Wörth(Rhein) Rathaus","Wörth(Rhein) Zügelstraße","Wössingen","Wössingen Ost","Wülfrath-Aprath","Wülknitz","Wünschendorf","Wünschendorf Nord","Wünsdorf-Waldstadt","Würgendorf","Würgendorf (Ort)","Würzbach(Saar)","Würzburg Hbf","Würzburg Süd","Würzburg-Zell","Wüstenbrand","Wüstenfelde","Wüstenselbitz","Wüsting","Xanten","Zabeltitz","Zachun","Zahna","Zaisenhausen","Zapfendorf","Zarrendorf","Zeesen","Zehdenick(Mark)","Zehdenick-Neuhof","Zeil","Zeithain","Zeitz","Zell(Harmersbach)","Zell(Wiesental)","Zell-Romrod","Zella-Mehlis","Zella-Mehlis West","Zellendorf","Zellerthal","Zempin","Zennern","Zepernick(Bernau)","Zeppelinheim","Zerbst/Anhalt","Zerkall","Zernsdorf","Zerrenthin","Zeulenroda unt Bf","Zeutern Bf","Zeutern Ost","Zeutern Sportplatz","Zeuthen","Zeutsch","Zielitz","Zielitz Ort","Zierenberg","Zierenberg-Rosental","Zieverich","Zillendorf","Ziltendorf","Zimmern(Main-Tauber)","Zimmern(b Seckach)","Zimmersrode","Zinnowitz","Zirndorf","Zirndorf Kneippallee","Zirtow-Leussow","Zittau","Zittau Hp","Zittau Süd","Zittau Vorstadt","Zoblitz","Zollhaus(Villingen-Schwenningen)","Zollhaus-Petersthal","Zorneding","Zossen","Zotzenbach","Zschaitz","Zscherben","Zschopau","Zschopau Ost","Zschortau","Zusenhofen","Zuzenhausen","Zweibrücken Hbf","Zwenkau-Großdalzig","Zwickau Stadthalle","Zwickau Zentrum","Zwickau(Sachs)Hbf","Zwickau-Pölbitz","Zwickau-Schedewitz","Zwiesel(Bay)","Zwieselau","Zwingenberg(Baden)","Zwingenberg(Bergstr)","Zwota","Zwota-Zechenbach","Zwotental","Zwönitz","Zöberitz","Zörnigall","Zühlsdorf","Zülpich","Züssow","Züttlingen","Äpfingen","Öhringen Hbf","Öhringen West","Öhringen-Cappel","Ölbronn-Dürrn","Ötigheim","Ötisheim","Übach-Palenberg","Überlingen","Überlingen Therme","Überlingen-Nußdorf","Übersee","Ückeritz","Üdingen","Ürzig(DB)","Pogeez","Klitten","Lohsa","Mücka","Niesky","Uhyst","Chemnitz Küchwald","Muldenberg","Wengern Ost","Wallenrod","Alfhausen","Wangerooge","Barby","Groß Behnitz","Haynsburg","Webau","Niederarnbach","Leutershausen-Wiedersbach","Auersmacher","Brebach","Hanweiler-Bad Rilchingen","Kleinblittersdorf","Roßberg","Pöllwitz","Kargow","Kleeth","Rostock Seehafen Nord","Hoyerswerda-Neustadt","Petershain","Oberneuschönberg","Scheibenberg","Thoßfell","Vohren","Jütrichau","Brandstätt","Hildbrandsgrün","Otzing","Runding","Schopfheim-Schlattholz","Bübingen","Brefeld","Güdingen","Kaiserslautern-Hohenecken","Traun","Flensburg-Weiche","Ahrensfelde (S)","Bernau (S)","Berlin Charlottenburg (S)","Erkner (S)","Berlin Friedrichstraße (S)","Potsdam Griebnitzsee (S)","Hennigsdorf (S)","Berlin-Hohenschönhausen (S)","Berlin-Karlshorst (S)","Berlin-Lichtenberg (S)","Oranienburg (S)","Berlin Ostbahnhof (S)","Potsdam Hbf (S)","Berlin-Spandau (S)","Colditz","Eich(Sachs)","Marienberg(Sachs)","Penig","Plauen(V) unt Bf","Rochlitz(Sachs)","Straßgräbchen-Bernsdorf","Teichwolframsdorf","Waldenburg(Sachs)","Münster-Mecklenbeck","Allendorf(Eder) Bf","Bergheim-Giflitz","Bürgerhaus, Hessisch Lichtenau","Bahnhof Niederzwehren, Kassel","ZOB, Duderstadt","Dambeck(Altm)","Jerichow","Nedlitz","Sandersdorf(Bitterf)","Siedenlangenbeck","Sieversdorf(Neust/D)","Ziesar","Ottobeuren","Rohrdorf(Oberbay)","München-Süd","Merzig(Saar) Ost","Vaihingen(Enz)Nord","Berka(Wipper)","Vacha","Friedrichswalde(bei Eberswalde)","Ganzlin","Klockow(b Waren/Müritz)","Milmersdorf","Malliß","Chop","Brest Central","Baranovichi Centralnye","Minsk-Passajirskii","Orscha Central","Barchel, Oerel","Hamburg Elbbrücken","Essel, Kutenholz","Fredenbeck","Hagen, Stade","Hemsen(b Soltau)","Kiel-Ellerbek","Wagersrott","Blankenfelde (S)","Berlin-Mahlsdorf","Augustusburg Bergstation","Buschmühle","Einsiedel Brauerei","Schmiedeberg-Naundorf","Ulberndorf","Bornholte(b Verl)","Emmerich-Elten","Höste","Oese","Ballersbach","Eisemroth","Inheiden","Altmarkt/Regierungspräsidium, Kassel","Am Stern, Kassel","Am Kupferhammer, Kassel","Forstfeldstraße, Kassel","Kirchgasse, Kassel","Sandershäuser Straße, Kassel","Lindenberg, Kassel","Hinter dem Fasanenhof, Kassel","Leipziger Platz, Kassel","Leipziger Straße, Kassel","KVG-Betriebshof, Kassel","Friedrichsplatz, Kassel","Hegelsbergstraße, Kassel","Hauptfriedhof, Kassel","Holländischer Platz/Universität, Kassel","Holländische Straße, Kassel","Königsplatz, Kassel","Lutherplatz, Kassel","Halitplatz, Kassel","Auestadion, Kassel","Heinrich-Heine-Straße, Kassel","Am Weinberg, Kassel","Platz der Deutschen Einheit, Kassel","Rathaus, Kassel","Rathaus/Fünffensterstraße, Kassel","Scheidemannplatz, Kassel","Unterneustädter Kirchplatz, Kassel","Wilhelmsstraße/Stadtmuseum, Kassel","Wiener Straße, Kassel","Liebenau(Bz Kassel)","Papierfabrik, Kaufungen","Arbste","Dünsen DHE","Groß Ippener DHE","Hademstorf","Harlesiel","Delmenhorst Hasporter Damm","Jerxheim","Nordhorn-Blanke","Neuenhaus Süd","Nammen-Bad","Stelle DHE","Schwindebeck","Watenstedt","Halle(S) Heidebf","Leipzig Essener Straße","Meisdorf","Feldolling","Finsterwald","Hammersbach Zugspitzbahn, Grainau","Kaltenberg","Kreuzeck/Alpspitzbahn Bahnhof, Garmisch-Partenkirc","Margertshausen Bf","Pfraundorf(Inn)","Rosenheim Aicherpark","Riffelriß, Grainau","Reichertshofen(Schwab) Bf","Zainhammer","Erbprinz/Schloss, Ettlingen","Albgaubad, Ettlingen","Neuwiesenreben, Ettlingen","Spinnerei, Ettlingen","Wasen, Ettlingen","Bahnhof, Gönnheim","Ittersbach Industrie, Karlsbad","Augartenstraße, Karlsruhe","Poststraße, Karlsruhe","Kronenplatz (Kaiserstraße), Karlsruhe","Gottesauer Platz/BGV, Karlsruhe","Dammerstock, Karlsruhe","Durlach Hubstraße, Karlsruhe","Durlach Untermühlstraße, Karlsruhe","Weinweg, Karlsruhe","Knielingen Eggensteiner Straße, Karlsruhe","Händelstraße, Karlsruhe","Philippstraße, Karlsruhe","Knielingen Herweghstraße, Karlsruhe","Knielingen Siemens, Karlsruhe","Ettlinger Tor, Karlsruhe","Herrenstraße, Karlsruhe","Kongresszentrum, Karlsruhe","Schillerstraße, Karlsruhe","Mühlburg West, Karlsruhe","Yorckstraße, Karlsruhe","Neureut Bärenweg, Karlsruhe","Europapl./Postgalerie (Karl), Karlsruhe","Europapl./PostGalerie (Karlstr.), Karlsruhe","Europapl./PostGalerie (Kaiserstr), Karlsruhe","Lameyplatz, Karlsruhe","Starckstraße, Karlsruhe","Kullenmühle, Bad Herrenalb","Langensteinbach St. Barbara, Karlsbad","Ludwigshafen(Rhein) Oppau","Reichenbach Kurpark, Waldbronn","Rüppurr Battstraße, Karlsruhe","Rüppurr Ostendorfplatz, Karlsruhe","Rüppurr Tulpenstraße, Karlsruhe","Schloss Rüppurr, Karlsruhe","Heilbronn Karlstor","Großbodungen","Gebersdorf","Stolberg(Harz)","Tiefenort","Zopten","Alt Schwerin","Bantin","Bobzin","Feldberg(Meckl)","Gildenhall","Götschendorf","Malk Göhren","Seebad Lubmin","Ringenwalde(Templin)","Templin-Ahrensdorf","t Harde","Aalter","Aarau","Aarburg-Oftringen","Achiet","Affoltern am Albis","Agde","Aigle","Aime-la-Plagne","Airole","Airolo","Aix-en-Provence TGV","Aix-les-Bains-le-Revard","Alassio","Alba Iulia","Albate-Camerlata","Albenga","Albertville","Alençon","Ales","Alken(B)","Alkmaar","Allerheiligenhöfe","Almelo","Almere Oostvaarders","Alphen aan den Rijn","Altdorf(CH)","Altendorf(CH)","Altenmarkt im Pongau","Altnau","Altstätten SG","Amberieu","Amersfoort Vathorst","Amersfoort","Amsterdam Sloterdijk","Amsterdam Bijlmer ArenA","Amsterdam Centraal","Amsterdam Zuid","Amsterdam Amstel","Amstetten NÖ","Andelfingen","Andermatt","Andorf","Angleur","Angouleme","Ans(B)","Antibes","Antwerpen Centraal","Antwerpen-Zuid","Apach(Moselle)","Apeldoorn","Appingedam","Arad","Arbon","Arbon (See)","Arezzo","Argeles-sur-Mer","Arles","Arlon","Arnhem Centraal","Arnoldstein","Arosa","Arras(F)","Artenay(Loiret)","Arth-Goldau","Arvant","As(CZ)","Ashford(Kent)","Ashford(Kent) Int.","Asse","Attnang-Puchheim","Au SG","Au ZH","Aulnoye Aymeries","Auneau(Dourdan)","Auvelais","Avesnes-sur-Helpe","Avignon Centre","Avignon TGV","Babylon","Bäch","Bad Aussee","Bad Blumau","Bad Gastein","Bad Hofgastein","Bad Ischl","Bad Ragaz","Bad Schallerbach-Wallern","Bad Vigaun","Bad Zurzach","Baden(CH)","Baisieux","Balerna","Banova Jaruga","Bantzenheim","Banyuls-sur-Mer","Barcelona Sants","Barendrecht","Bar-le-Duc","Bascharage-Sanem","Basel SBB","Basel Dreispitz","Basel St Johann","Bassersdorf","Battipaglia","Baunhoej","Bayonne","Beernem","Bekescsaba","Bela pod Bezdezem","Belfort Ville","Bellegarde(Ain)","Belleville Meurthe et Moselle","Bellinzona","Belp","Belval Lycée","Belval-Rédange","Belval-Université","Belvaux-Soleuvre","Benesov n. Ploucnici","Benestroff","Benfeld(Selestat)","Bening","Antwerpen-Berchem","Berchem(LUX)","Berg(CH)","Bergen op Zoom","Bergues(Coudek)","Bergün/Bravuogn","Berlingen(CH)","Berlingen URh","Bern","Bernay","Beroun","Berthelming","Bertrange-Strassen","Bertrix","Besançon-Mouillère","Besançon-Viotte","Bettembourg(fr)","Bettembourg","Bettwiesen","Betzdorf(LUX)","Bevera","Beverwijk","Bex","Beziers","Biarritz","Biasca","Biberist RBS","Biberist Ost","Bichlbach Almkopfbahn","Bichlbach-Berwang","Biel/Bienne","Bierset-Awans","Bilina","Billum st","Bilten","Bily Kostel nad Nisou","Birmensdorf ZH","Bischofshofen","Blainville-Damelevieres","Blaj","Le Blanc-Mesnil","Blausee-Mitholz","Blerick","Blindenmarkt","Bludenz","Böckstein","Bodegraven","Bodio TI","Boen(F)","Böheimkirchen","Bohumin","Bollwiller(Lutterb)","Bologna Centrale","Bolzano/Bozen","Boondael/Boondaal","Bordeaux-St-Jean","Bordighera","Borgo S. Dalmazzo","Borne(NL)","Borup st","Bottighofen","Boulevarden st","Bourg-en-Bresse","Bourges","Bourg-St.Maurice","Bouzonville","Bramming st","Brasov","Bratislava hl.st.","Bratislava-Petrzalka","Braunau/Inn","Breclav","Breclav(Gr)","Breda","Bredebro st","Bregenz","Bregenz Hafen","Breil-sur-Roya","Brennero/Brenner","Brescia","Bressanone/Brixen","Bressoux","Brest(F)","Breziny u Decina","Brig","Brixen im Thale","Brixlegg","Broens st","Bronschhofen","Bruck/Mur","Bruck/Leitha","Bruck-Fusch","Brugg AG","Brugge","Brumath","Brunico/Bruneck","Brunnen(CH)","Bruxelles-Midi Eurostar","Bruxelles-Central","Bruxelles-Luxembourg","Bruxelles Midi","Brussels Airport - Zaventem","Bruxelles-Nord","Buchs SG","Bucuresti Nord Gara A","Budapest-Keleti","Budapest-Nyugati","Buitenpost","Bülach","Bully-Grenay","Burgfried b.Gnas","Bürglen","Burgos Rosa de Lima","Busigny","Bussnang","Busto Arsizio","Bydgoszcz Glowna","Colle Isarco/Gossensass","Cadenazzo","Calais Ville","Calais-Fréthun","Caldes de Malavella","Campo di Trens/Freienfeld","Cannes","Cannes-la-Bocca","Capellen","Capolago-Riva S. Vitale","Carbonne(Boussens)","Carcassonne","Carimate","Carnoules(Toulon)","Casteldarne/Ehrenburg","Castelnaudary","Castione-Arbedo","Cavaillon(Avignon)","Centallo","Cents-Hamm","Cerbère","Cernovice u Chomutova","Ceska Kamenice","Ceska Kubice","Ceska Lipa hl.n.","Ceska Lipa strelnice","Ceska Trebova","Ceske Budejovice","Ceske Velenice","Chalons en Champagne","Chalon sur Saône","Chambery-Challes-E","Champigneulles","Charleroi Sud","Château-Arnoux-St-Auban","Château du Loir","Châteauroux","Chateau-Thierry","Châtelet","Chauny(Tergnier)","Cheb","Cheb-Skalka","Chelles Gournay","Chenay Gagny","Chenee","Cherbourg","Chiasso","Chiusa/Klausen","Chiusi-Chianciano Terme","Chomutov","Chomutov mesto","Chotyne","Chrastava","Chrastava-Andelska Hora","Chribska","Chur","Cintegabelle","Clermont-Ferrand","Clerval","Clervaux","Coevorden","Collioure","Colmar","Combs la Ville Quincy","Como S. Giovanni","Compiegne","Conegliano","Conflans-Jarny","Corbehem(Douai)","Corbeil Essonnes","Cornaux","Cosne","Cossonay-Penthalaz","Coulommiers","Courcelles-sur-Nied","Coutras","Creil","Culmont-Chalindrey","Culoz","Cuneo","Curtici","Czechowice-Dziedzice","Czerwiensk","Dachsen","Dagmersellen","Däniken","Davos Dorf","Davos Platz","Dax","Enschede De Eschmarke","Debrecen","Decin hl.n.","Decin vychod","Decin-Certova voda","Decin-Priper","Decin-Prostredni Zleb","Delden","Delémont","Delft","Delfzijl","Den Haag Centraal","Den Haag HS","Den Helder","Denderleeuw","Desenice","Desenzano del Garda/Sirmione","Desio","Dettwiller","Deva","Deventer","Devinska Nova Ves","Diano Marina","Diemeringen","Diepenbeek","Diessenhofen","Diessenhofen URh","Dietlikon","Dieulouard","Differdange","Dijon Ville","Dijon Porte Neuve","Dippach-Reckange","Dobbiaco/Toblach","Dobova","Dobova(Gr)","Doestrup(Soenderjylland) st","Doksy","Dole Ville","Dolhain-Gileppe","Dolni Habartice","Dolni Podluzi","Dolni Poustevna","Dolni Zleb","Dolni Zleb zast.","Domazlice","Domina","Dommeldange","Domodossola","Dordrecht","Dorfgastein","Dornbirn","Dornbirn Schoren","Dottikon-Dintikon","Dourges","Drauffelt","Dronten","Duchcov","Dugo Selo","Duivendrecht","Dunkerque","Dyreby st","Ebbsfleet International Eurostar","Eben im Pongau","Ebenfurth","Ebersheim","Ede(B)","Ede Centrum","Ede-Wageningen","Effretikon","Eglisau","Egnach","Ehrwald Zugspitzbahn","Eindhoven","Einsiedeln","Elne","Elsbethen","Emmenbrücke","Engis","Enns","Enschede","Epernay","Epierre-St Leger","Epinal","Erlen","Ermatingen","Ermatingen URh","Erquelinnes","Erstein","Erstfeld","Esbjerg st","Eschenau/Salzach","Esch-sur-Alzette","Essen(B)","Etampes","Ettelbruck","Etzwilen","Eupen","Evreux Normandie","Eygelshoven Markt","Faak am See","Faido","Faulquemont","Fegersheim Lipsheim","Fehraltorf","Feldkirch","Feldkirchen in Kärnten","Felixdorf","Budapest-Ferencváros","Ferrara","Fieberbrunn","Figueres","Filisur","Finale Ligure Marina","Firenze S.M.N.","Flamatt","Flassa","Flaurling","Flers","Wien Floridsdorf","Flüelen","Flums","Föderlach","Fontaine","Fontainebleau-Avon","Fontan Saorge","Forbach(F)","Forest Midi/Vorst Zuid","Fortezza/Franzensfeste","Fossano","Fourchambault","Fraipont","Frankenmarkt","Frantiskovy Lazne Aquaforum","Frantiskovy Lazne","Frastanz","Frauenfeld","Fredericia st","Freienbach SBB","Frenkendorf-Füllinsdorf","Fribourg/Freiburg","Friesach in Kärnten","Frisvadvej st","Fritzens-Wattens","Frontenex","Frouard","Frutigen","Fürnitz","Futuroscope","Gagny","Gaillon Aubevoye","Gallarate","Gampel-Steg","Gandrange-Amneville","Gannat","Gänserndorf","Gardanne","Gdansk Glowny","Gdansk Oliwa","Gdansk Wrzeszcz","Gdynia Glowna","Geinberg","Geleen-Lutterade","Gelterkinden","Gemona del Friuli","Genève","Genève-Aéroport","Genk","Genova Piazza Principe","Gentbrugge","Gent-Dampoort","Gent St Pieters","Gerlafingen","Gerling im Pinzgau","Girona","Gevrey-Chambertin","Gießenbach in Tirol","Gisikon-Root","Gisors Embranchement","Giubiasco","Gjesing st","Glanerbrug","Glattbrugg","Glattfelden","Gloggnitz","Gmünd NÖ","Gniezno","Goebelsmühle","Golling-Abtenau","Goppenstein","Gorzow Wlkp.","Göschenen","Gossau SG","Gottlieben (Schifflände)","Götzendorf/Leitha","Götzis","Gouda","Gouvy","Graffenstaden","Gramatneusiedl","Granollers","Gratwein-Gratkorn","Graz Hbf","Graz Ostbahnhof-Messe","Gredstedbro st","Grenchen Nord","Grenoble","Gresy-sur-Isere","Gretz-Armainvilliers","Gries am Brenner","Gries im Pinzgau","Grieskirchen-Gallspach","Gröbming","Groenendaal","Groningen","Schwechat","Guldager st","Guntramsdorf Kaiserau","Gurten OÖ","Güttingen","Györ","Haaltert","Haarlem","Haarlem Spaarnwoude","Häggenschwil-Winden","Hagenau im Innkreis","Hagondange","Haguenau","Haiming","Hall in Tirol","Hallein","Hallwang-Elixhausen","Hard-Fussach","Hasselt","Hatting in Tirol","Hauptwil","Haus im Ennstal","Hayange","Hazebrouck","Heerbrugg","Heerenveen","Heerlen","Hegyeshalom(Gr)","Hegyeshalom","Heiterwang-Plansee","Helmond","Hendaye","Hendschiken","Hengelo","Henin-Beaumont","Henne st","Herentals","Hergenrath","Wien Hernals","Herny","Herrlisheim près Colmar","Herstal","Herzele","Herzogenbuchsee","Herzogenburg","Hillegom","Hilversum","Hilversum Sportpark","Hnevice","Hochfelden","Hochfilzen","Hochzirl","Hoeilaart","Hoeje Taastrup st","Hohenau","Hohenems","Hombourg-Haut","Hoofddorp","Hoogeveen","Hoogezand-Sappemeer","Hopfgarten im Brixental","Hopfgarten im Brixental Berglift","Horgen","Horn(Bodensee)","Horn(Bodensee), SF","Horni Blatna","Horni Dvoriste","Horni Kamenice","Horni Podluzi","Horni Poustevna","Horovice","Hörsching","Hradek nad Nisou","Hranice na Morave","Hrebeny","Hüntwangen-Wil","Hüttau","Huy(B)","Hviding st","Hyllerslev st","Ilawa Glowna","Immensee","Imsterberg","Imst-Pitztal","Ingelmunster","Ingwiller","Innsbruck Hbf","Innsbruck Hötting","Innsbruck Westbahnhof","Inowroclaw","Interlaken Ost","Interlaken West","Inzing/Inn","Irun","Is-sur-Tille","Iselle di Trasquera","Iselle transito","Ivanic Grad","Jablonne v Podjestedi","Janderup st","Jankowa Zaganska","Janovice nad Uhlavou","Wien Jedlersdorf","Jedlova","Jegum st","Jelenia Gora","Rochefort-Jemelle","Jenbach","Jenbach Zillertalbahn","Jesenice(SL)","Jestetten","Jeumont","Jiretin pod Jedlovou","Jirkov zast.","Joeuf","Joigny(Lar.Migennes)","Judenburg","Juvisy","Kadan-Prunerov","Kaiseraugst","Kalhausen","Kalsdorf b.Graz","Kalwang","Kampen Zuid","Kandersteg","Kapfenberg","Karlovy Vary dolni n.","Karlovy Vary","Katowice","Kautenbach","Kehlhof","Kelebia","Kelenföld","Kematen in Tirol","Kesswil","Kesteren","Kilchberg(CH)","Killwangen-Spreitenbach","Kindberg","Kirchberg in Tirol","Kirchbichl","Kittsee","Kitzbühel Hahnenkamm","Kitzbühel","Klagenfurt Hbf","Klatovy","Kledering b.Wien","Wien Kaiserebersdorf","Kleinbettingen","Kloten","Knittelfeld","Koblenz(CH)","Koebenhavn H","Koebenhavns Lufthavn st","Koege st","Kogenheim","Kolbnitz","Kolding st","Kolin(CZ)","Komarom","Konin","Koog aan de Zaan","Zaandijk Zaanse Schans","Körmend","Korsoer st","Kortenberg","Kortrijk","Kovarska","Krakow Glowny","Kralupy nad Vltavou","Kranebitten","Kranj","Kraslice","Kraslice-Pod vlekem","Kraslice predmesti","Krasna Lipa","Krasna Lipa mesto","Krems an der Donau","Kreuzlingen Bernrain","Kreuzlingen","Kreuzlingen Hafen","Kirchdorf/Krems","Krimmeri-Meinau","Krimov","Krommenie-Assendelft","Kropswolde","Krsko","Krumpendorf/Wörthersee","Krzewina Zgorzelecka","Kuchl","Kufstein","Kundl","Kunowice","Küssnacht am Rigi","Kutina","Kutno","Kuty","Kytlice","La Bastide-St-Laurent les Bains","La Brigue(F)","La Charité sur Loire","La Plaine","La Roche sur Yon","La Souterraine","Laa/Thaya","Lachen","Lage Zwaluwe","Lähn","LAigle","Lamadelaine","Lambach","Lamone-Cadempino","Landeck-Zams","Landen","Landgraaf","Landquart","Landry","Langdorp","Langen am Arlberg","Langenthal(CH)","Langkampfen","Läufelfingen","Laufen(CH)","Laufenburg(CH)","Lausanne","Lausanne-Flon","Lausen(CH)","Lauterach","Lauterbourg","Laveno Mombello","Le Bourget","Le Creusot Montceau Montchanin TGV","Le Havre","Le Mans","Le Raincy Villemomble Montferm","Lebbeke","Leeuwarden","Legnica","Leibnitz","Leiden Centraal","Leiden Lammenschans","Leithen b.Seefeld","Lelystad Centrum","Lend","Lengwil","Lens(F)","Lenzburg","Lenzing","Leoben Hbf","Leogang","Leopoldsburg","Lermoos","Lerouville","Les Arcs Draguignan","Les-Aubrais-Orleans","Lesce-Bled","Leudelange","Leuk","Leuven","Lezignan","Liberec","Liège-Guillemins","Lienz in Osttirol","Liers","Liestal","Liezen","Lille Flandres","Lille Europe","Limone","Linz Hbf","Linz/Donau Wegscheid","Lipinki Luzyckie","Lipova u Sluknova","Litija","Litomerice mesto","Livorno Centrale","Ljubljana","Locarno","Lochau-Hörbranz","Loeftgaard st","Lököshaza","Longueau","Longwy","Lons-Le-Saunier","Loosdorf b.Melk","Lorraine","Lottstetten","Lourches","Lourdes","Lovosice","Luban Sl.","Ludesch","Lugano","Luh nad Svatavou","Luino","Lumes Halte","Lunde J st","Lunderskov st","Lunel","Lunéville","Lupfig","Lustenau","Luterbach-Attisholz","Lutterbach","Lutzelbourg","Luxembourg","Luzern","Lyon Part Dieu","Maastricht","Machnin","Machnin hrad","Mâcon Ville","Mâcon-Loché TGV","Maienfeld","Maishofen-Saalbach","Mala Velen","Malbork","Malczyce","Mallnitz-Obervellach","Malmö Central","Mamer","Mamer Lycée","Mammern(Bodensee)","Mammern URh","Manage","Mannenbach-Salenstein","Mannenbach URh","Manternach","Marchegg","Marche-les-Dames","Marchienne au Pont","Marchtrenk","Maribor","Markvartice","Marle-sur-Serre","Marloie","Marne la Vallée-Chessy","Marseille-Blancarde","Marseille-St-Charles","Martenshoek","Martigny","Martigues","Märwil","Matrei am Brenner","Maubeuge","Mautern im Liesingtal","Mayrhofen im Zillertal","Mechelen","Medias","Meiringen","Melk","Mels","Melun","Mendrisio","Menton","Menznau","Merano/Meran","Merchtem","Merelbeke","Mersch(LUX)","Mertert","Merxheim(Colmar)","Raaba","Metz Ville","Meuse TGV","Michelau(LUX)","Micheldorf","Middelfart st","Miekinia","Mikulasovice dol.n.","Milano Centrale","Milano Greco Pirelli","Milano Porta Garibaldi","Milmort","Mimon","Mining","Miramas","Mitterberghütten","Mitterdorf-Veitsch","Mixnitz Bärenschützklamm","Mlada Boleslav hl.n.","Mlyny(CZ)","Modane","Möhlin","Mol","Mols","Mommenheim","Monaco-Monte-Carlo","Monguelfo-Casies/Welsberg-Gsies","Mons","Montbéliard Ville","Montelimar","Monthey","Montluçon Ville","Montmelian","Montpellier Saint-Roch","Montreux","Monza","Moosbierbaum-Heiligeneich","Moret-Veneux-les-Sablons","Morges","Morhange","Moskva Belorusskaja","Mosonmagyarovar","Most","Mötz","Mouchard","Moulins-sur-Allier","Mouscron","Moustier","Moutier","Moutiers-Salins-Brides-les-Bains","Moyeuvre-Grande","Mühlehorn","Mühlheim am Inn","Mühldorf-Möllbrücke","Muizen","Mulhouse-Dornach","Mulhouse Ville","Münchenbuchsee","Mundolsheim","Munkzwalm","Munsbach","Münsingen(CH)","Munster(Metzeral)","Münster-Wiesing","Münsterlingen-Scherzingen","Muolen","Murg(CH)","Mürzzuschlag","Musau","Mussidan","Muttenz","Naestved st","Nagymaros-Visegrad","Namur","Nancois Tronville","Nancy Ville","Nantes","Narbonne","Nebikon","Neerpelt","Nejdek","Nejdek zastavka","Nemours St Pierre","Nendeln","Nenzing","Nessonvaux","Nestedice","Nestemice","Nettingsdorf","Neuchâtel","Neufchateau(B)","Neufchateau(F)","Neuhausen(CH)","Neukirch-Egnach","Neumarkt-Kallham","Neumarkt-Köstendorf","Neuratting","Nice Ville","Niederbipp","Niederglatt","Niederkorn","Nieuw Amsterdam","Bad Nieuweschans","Nijmegen","Nîmes","Noerre Nebel st","Noerreport st","Noertzange","Nogent-le-Rotrou","Noisy-le-Sec","Notre-Dame-de-Briancon","Nova Gradiska","Nova Kapela","Nova Role","Nova Role zastavka","Novara","Nove Hamry","Nejdek-Sejfy","Nove Zamky","Noveant","Novi Beograd","Novi Sad","Novska","Novy Bor","Noyon","Ny Ellebjerg st","Nyborg st","Nyiregyhaza","Nykoebing F st","Nymburk hl.n.","Oberalm","Oberburg","Oberglatt","Oberhofen im Inntal","Oberkorn","Obermodern","Obernberg-Altheim","Oberrieden(CH)","Oberriet","Obourg","Odense st","Oermingen","Oesterport st","Oetrange","Oksboel st","Okucani","Oldenzaal","Nejdek-Oldrichov","Olen","Olivetta-S. Michele","Olovi","Olten","Ommen","Onville","Oostende","Opole Glowne","Oppikon","Opwijk","Orange(Avignon)","Orchies","Orléans","Orvieto","Oss","Ostermundigen","Ostrava hl.n.","Ostrava-Svinov","Oswiecim","Othmarsingen","Ötztal","Outrup st","Overveen","Ponte Gardena-Laion/Waidbruck-Lajen","Padborg st","Padova","Pagny-sur-Moselle","Pantin","Pardubice hl.n.","Paris Montparnasse","Paris Nord","Paris Austerlitz","Paris Est","Paris Gare de Lyon","Paris St Lazare","Parndorf","Paternion-Feistritz","Patsch","Pau","Pavia","Peggau-Deutschfeistritz","Peltre","Pepinster","Perigueux","Pernink","Perpignan","Peschiera del Garda","Petange","Peterskirchen","Petit Croix","Pfäffikon SZ","Pfarrwerfen","Pflach","Pichl b.Schladming","Piensk","Pill-Vomperbach","Pino transito","Pisa Centrale","Plesna(CZ)","Ploiesti Vest","Plzen hl.n.","Pöchlarn","Poitiers","Pomezi nad Ohri","Pont-a-Mousson","Pontresina","Pont-Ste-Maxence","Pont St Vincent","Pordenone","Port Vendres Ville","Port Bou","Pörtschach am Wörther See","Potucky","Potucky zastavka","Pougues les Eaux","Poznan Gl.","Praha hl.n.","Praha-Holesovice","Praha-Smichov","Pram-Haag","Pratteln","Predeal","Pregarten","Prerov","Prinzersdorf","Profondsart","Przylep","Puch bei Hallein","Pusarnitz","Quevy","Quimper","Radstadt","Rafz","Rankweil","Ranzo-S. Abbondio","Rattenberg-Kramsach","Re(I)","Rebstein-Marbach","Réding(F)","Reichenbach im Kandertal","Reichenburg","Reims","Reith b.Seefeld","Rejsby st","Rekawinkel","Rekingen AG","Rémelfing","Rémilly","Remiremont","Rennes","Retenice","Retz","Reutte in Tirol","Reutte in Tirol Schulzentrum","Rheineck","Rheinfelden(CH)","Ribe st","Ribe Noerremark st","Richterswil","Ried im Innkreis","Bregenz Riedenburg","Rietz in Tirol","Rimini","Ringsted st","Rio di Pusteria/Mühlbach","Rivera-Bironico","Rivesaltes","Roanne","Robilante","Roccavione","Rodange","Roedby","Roedekro st","Roeschwoog","Roggwil-Berg","Roggwil-Wynau","Rohr-Bad Hall","Rokycany","Roma Termini","Romanshorn","Romanshorn (See)","Rombas-Clouange","Ronet","Roodt/Syre","Roosendaal","Roppen","Rorschach","Rorschach Hafen","Rorschach Hafen (See)","Rosenbach bei Villach","Jesenice(Gr)","Roskilde st","Rotava","Rothenburg(CH)","Rothenthurm(CH)","Rothrist","Rotkreuz","Rotterdam Lombardijen","Rotterdam Noord","Rotterdam Centraal","Rotterdam Stadion","Roudnice nad Labem","Rouffach","Rovereto","Rovigo","Rum b.Innsbruck","Ruma","Rumburk","Rümlang","Rupperswil","Rüschlikon","Rusova","Rüthi SG","Rybniste","Rzepin","St-Avre-la-Chambre","St-Michel-Valloire","St.Peter-Seitenstetten","San Candido/Innichen","Saalfelden","Safenwil","Saincaize","Saintes","Saint Ghislain","Salez-Sennwald","Salzburg Aiglhof","Salzburg Liefering","Salzburg Aigen","Salzburg Hbf","Salzburg Parsch","Salzburg Sam","Salzburg Süd","Salzburg Gnigl","Samedan","Samstagern","San Remo","Sandweiler-Contern","Sanry-sur-Nied","Sapjane(Gr)","Sappemeer Oost","Sargans","Sarrebourg","Sarreguemines","Sarreinsming","Sathonay Rillieux","Saumur Rive Droit","Saverne","Savona","Salzburg Mülln-Altstadt","Schaan-Vaduz","Schaerbeek","Schaffhausen","Schaftenau","Schärding","Scharnitz","Scheemda","Schiedam Centrum","Schifflange","Schindellegi-Feusisberg","Schiphol (Airport)","Schladming","Schönbichl in Tirol","Schönwies","Schouweiler","Schruns","Schübelbach-Buttikon","Schulen","Schwarzach-St.Veit","Schwaz","Schwindratzheim","Schwyz","Scuol-Tarasp","Sebuzin","Seefeld in Tirol","Seekirchen am Wallersee","Sejstrup st","Sélestat","Selzthal","Seregno","Sesto S. Giovanni","Sete","Sevelen","Sevnica","s-Hertogenbosch","Sid(SRB)","Siebnen-Wangen","Siegershausen","Sieniawa Zarska","Sierck-les-Bains","Sierre/Siders","Sighisoara","Sillian","Silz im Oberinntal","Simeria","Sinaia","Sion","Sissach","Sittard","Skaerbaek st","Skofja Loka","Slagelse st","Slavonski Brod","Slubice","Sluknov","Sluknov zast.","Smolensk","Sneek","Sokolov","Solothurn","Somain","Sopot","Sopron","Soroe st","Sosnowiec Glowny","Spa","Spangsbjerg st","Spicak","Spielfeld-Straß","Spiez","Spital am Pyhrn","Spittal-Millstättersee","Sremska Mitrovica","St Dalmas de Tende","St. Gallen(CH)","St. Gallen(CH) Winkeln","St. Gallen(CH) Haggen","St-Jory(Toulouse)","St Malo","St.Jodok am Brenner","St. Moritz","St. Anton am Arlberg","St. Anton im Montafon","St. Johann im Pongau","St. Johann in Tirol","St. Margrethen","St.Michael in Obersteiermark","St.Pölten Hbf","St. Valentin","St.Veit/Glan","Staad","Wien Stadlau","Stadt Rottenmann","Staffelfelden","Stainach-Irdning","St-Amour","Stams","Stans bei Schwaz","Stara Pazova","Stara Role","Statte","St Avold","Sint-Denijs-Boekel","Steckborn","Steckborn URh","Steenwijk","Steinach in Tirol","Steinbourg","Steindorf bei Straßwalchen","Steinebrunn","Stein-Säckingen","Stephansfeld","Stettbach","Steyr","St-Germain-des-Fosses","St-Gervais-les-Bains","St-Hilaire-au-Temple","St-Jean-de-Luz-Ciboure","St-Jean-de-Maurienne Arvan","St-Louis (Haut-Rhin)","St-Maurice(CH)","Stockerau","St-Pierre-dAlbigny","St-Pierre-des-Corps","St-Priest","St-Quentin(Aisne)","St-Raphael-Valescure","Strasbourg","Strasshof","Straßwalchen","Stresa","Strizivojna-Vrpolje","St-Sulpice-Lauriere","Sturovo","Subotica","Nejdek-Sucha","Summerau","Sursee","Survilliers Fosses","Wien Süßenbrunn","Susteren","Svatava","Svatava zastavka","Svor","Swiebodzin","Swinoujscie Centrum","Szczecin Glowny","Szczecin Gumience","Szentgotthárd","Szob","Szob(Gr)","Szolnok","Tabor","Taggia","Tamines","Tarascon sur Rhone","Tarvisio Boscoverde","Tata","Tatabanya","Taufkirchen an der Pram","Taulov st","Taverne-Torricella","Taxenbach-Rauris","Salzburg Taxham Europark","Tczew","Tecknau","Telfs-Pfaffenhofen","Templeuve","Tende(F)","Tenneck","Teplice v Cechach","Terespol","Brest(Gr)","Terfens-Weer","Tergnier","Testelt","Teting (Moselle)","TGV Haute Picardie","Thalwil","Thionville","Thun","Thusis","Tieffenbach-Struth","Tienen","Tilburg","Tinglev st","Tisis","Nejdek-Tisova","Tjaereborg st","Tobel-Affeltrangen","Toender st","Toender Nord st","Tommerup st","Tongeren","Torino Porta Susa","Toul","Toulon","Toulouse-Matabiau","Tourcoing","Tournai","Tournan","Tovarnik","Traun OÖ","Trbovlje","Trebusice","Treibach-Althofen","Trelleborg F","Trento","Treviso Centrale","Trieben","Trimmelkam","Troisvierges","Trooz","Tschagguns","Tulln a.d.Donau","Tullnerfeld","Tuplice","Tuplice Debinka","Turgi","Tychy","Uckange","Udine","Uitgeest","Ulmerfeld-Hausmening","Ulrichsbrücke-Füssen","Unterberg-Stefansbrücke","Unterterzen","Unzmarkt","Usti nad Labem-Strekov","Usti nad Labem hl.n.","Usti nad Labem zapad","Utrecht Centraal","Uttwil","Vac","Vaires Torcy","Valby(Koebenhavn)","Valdaora-Anterselva/Olang-Antholz","Valdek","Val-de-Reuil","Valence Ville","Valence TGV","Valenciennes","Valkenburg(NL)","Vamdrup st","Vandans","Varangeville-St-Nicolas","Varde st","Varde Kaserne st","Varde Vest st","Varnsdorf stare nadr","Varnsdorf","Varnsdorf Pivovar Kocour","Veenendaal-De Klomp","Vejprty","Velden am Wörther See","Velke Zernoseky","Velky Senov","Velky Senov zast.","Vendenheim","Venezia Mestre","Venezia Santa Lucia","Venissieux","Venlo","Ventimiglia","Vercelli","Vernante","Verneuil sur Avre","Verneuil lEtang","Vernon(Eure)","Verona Porta Nuova","Verviers Central","Verviers-Palais","Vesele pod Rabstejnem","Wjasma","Viby Sjaelland st","Vicenza","Vienne","Vievola","Vilemov u Sluknova","Villabassa-Braies/Niederdorf-Prags","Villach Hbf","Villach Westbf","Villars les Dombes","Villedieu les Poeles","Villers Cotterets","Villiers-le-Bel-Gonesse","Vils in Tirol","Vilvoorde","Vinkovci","Vipiteno-Val di Vizze/Sterzing-Pfitsch","Visby st","Vise","Visp","Vitry le François Gare","Vittel","Vleuten","Vlissingen","Vöcklabruck","Vöcklamarkt","Voghera","Vojens st","Vojtanov","Volders-Baumkirchen","Völs","Vordingborg st","Vroegum st","Vysoka Pec","Wädenswil","Wald am Schoberpass","Walenstadt","Walferdange","Wallisellen","Villach Warmbad","Warszawa Centralna","Warszawa Wschodnia","Warszawa Zachodnia","Wartberg/Krems","Wartberg im Mürztal","Wasserbillig","Waterloo","Watermael/Watermaal","Wecker","Weert","Weesp","Wegliniec","Weinfelden","Welkenraedt","Wels Hbf","Wendling b.Haag","Werfen","Wernstein","Wespelaar-Tildonk","Westendorf in Tirol","Wettingen","Wien Franz-Josefs-Bahnhof","Flughafen Wien","Wien Hbf","Wien Hbf (Autoreisezuganlage)","Wien Hütteldorf","Wien Meidling","Wien Mitte","Wien Praterstern","Wien Simmering","Wien Westbahnhof","Wiener Neustadt Hbf","Wien Penzing","Wil SG","Wildon","Wilwerwiltz","Wilwisheim","Windischgarsten","Wingen-sur-Moder","Winschoten","Winterswijk","Winterthur","Wissembourg","Witnica","Wittenbach","Wittring","Woerden","Wohlen AG","Woippy","Wolfstee","Wolfurt","Wolkersdorf im Weinviertel","Wörgl Hbf","Wormerveer","Wroclaw Glowny","Wroclaw Lesnica","Wroclaw Nowy Dwor","Ybbs a.d. Donau","Yverdon-les-Bains","Yves-Gomezee","Zagan","Zagorje","Zagreb Glavni kolodvor","Zandvoort aan Zee","Zary","Zasieki","Zawiercie","Zbaszynek","Zebrzydowice","Zedelgem","Zeebrugge-Dorp","Zelezna Ruda centrum","Zelezna Ruda mesto","Zell am See","Zell am Ziller","Zeltweg","Zermatt","Zetting","Zevenaar","Zgorzelec","Zgorzelec Miasto","Zichem","Zidani Most","Ziegelbrücke","Zielona Gora Gl.","Zirl","Zirovice-Seniky","Zizers","Zofingen","Zolder","Zug(CH)","Zuidbroek","Zumarraga","Zürich Enge","Zürich Flughafen","Zürich HB","Zürich Wiedikon","Zürich Wollishofen","Zürich Altstetten","Zürich Hardbrücke","Zürich Oerlikon","Opfikon","Zürich Stadelhofen","Zwijndrecht(NL)","Zwolle"]})}),$(function(){if(1<document.location.hash.length){var e=document.location.hash.replace("#","");$("div.app > ul > li > .moreinfo, div.infoscreen > ul > li > .moreinfo").each(function(){$(this).data("train")==e&&($(this).removeClass("collapsed-moreinfo"),$(this).addClass("expanded-moreinfo"))})}$(".moresettings-header").each(function(){$(this).click(function(){var e=$(".moresettings");$(this).hasClass("moresettings-header-collapsed")?($(this).removeClass("moresettings-header-collapsed"),$(this).addClass("moresettings-header-expanded"),e.removeClass("moresettings-collapsed"),e.addClass("moresettings-expanded")):($(this).removeClass("moresettings-header-expanded"),$(this).addClass("moresettings-header-collapsed"),e.removeClass("moresettings-expanded"),e.addClass("moresettings-collapsed"))})}),$(".developers-header").each(function(){$(this).click(function(){var e=$(".developers");$(this).hasClass("developers-header-collapsed")?($(this).removeClass("developers-header-collapsed"),$(this).addClass("developers-header-expanded"),e.removeClass("developers-collapsed"),e.addClass("developers-expanded")):($(this).removeClass("developers-header-expanded"),$(this).addClass("developers-header-collapsed"),e.removeClass("developers-expanded"),e.addClass("developers-collapsed"))})}),$(".moreinfo").click(function(){$(this).removeClass("expanded-moreinfo"),$(this).addClass("collapsed-moreinfo")}),dbf_reg_handlers(),$(".content .app").length&&setTimeout(reload_app,3e4)}); +function setLang(e){document.cookie="lang="+e+";SameSite=None;Secure",location.reload()}function setTheme(e){localStorage.setItem("theme",e),otherTheme.hasOwnProperty(e)||(e=window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"),addStyleSheet(e,"theme")}function reload_app(){0==$(".expanded-moreinfo").length?$.get(window.location.href,{ajax:1},function(e){$("div.app > ul").html(e),dbf_reg_handlers(),setTimeout(reload_app,6e4)}).fail(function(){setTimeout(reload_app,1e4)}):setTimeout(reload_app,3e4)}function dbf_show_moreinfo(d,s){const n=d.data("routeprev").split("|"),r=d.data("routenext").split("|"),l=d.data("moreinfo").split("|");$(".moreinfo").each(function(){var e=$(this);if(!s){$(".moreinfo .train-line").removeClass("sbahn fern ext ubahn bus tram").addClass(d.data("linetype")),$(".moreinfo .train-line").text(d.data("line")),$(".moreinfo .train-no").text(d.data("no")),$(".moreinfo .train-origin").text(d.data("from")),$(".moreinfo .train-dest").text(d.data("to")),$(".moreinfo .minfo").text(""),$(".moreinfo .mfooter").html(""),$(".moreinfo .verbose").html(""),$(".moreinfo .mroute").html(""),$(".moreinfo ul").html("");var a="";if(""!=d.data("arrival")?a+='<div><div class="arrival">An: '+d.data("arrival")+"</div></div>":a+='<div><div class="arrival"></div></div>',""!=d.data("platform")?a+='<div><div class="platform">Gleis '+d.data("platform")+"</div></div>":a+='<div><div class="platform"></div></div>',""!=d.data("departure")?a+='<div><div class="departure">Ab: '+d.data("departure")+"</div></div>":a+='<div><div class="departure"></div></div>',$(".moreinfo .mfooter").append('<div class="dataline">'+a+"</div>"),0==$(".moreinfo .loading").length&&$(".moreinfo .mfooter").append('<div class="loading">Lade Daten, bitte warten...</div>'),""!=d.data("moreinfo")){var t="";for(o in l)t+="<li>"+l[o]+"</li>";$(".moreinfo .mfooter").append("Meldungen: <ul>"+t+"</ul>")}var i="";if(""!=d.data("routeprev"))for(var o in n)i+="<li>"+n[o]+"</li>";if(i+="<li><strong>"+document.title+"</strong></li>",""!=d.data("routenext"))for(var o in r)i+="<li>"+r[o]+"</li>";$(".moreinfo .mfooter").append('Fahrtverlauf: <ul class="mroute">'+i+"</ul>")}$.get(window.location.href,{train:d.data("train"),jid:d.data("jid"),ajax:1},function(e){$(".moreinfo").html(e)}).fail(function(){$(".moreinfo .mfooter").append("Keine weiteren Details verfügbar"),$(".moreinfo .loading").remove()}),e.removeClass("collapsed-moreinfo"),e.addClass("expanded-moreinfo")})}function dbf_reg_handlers(){$("div.app > ul > li").click(function(e){var a=$(this),t=$("div.app").data("station"),i=new URLSearchParams(window.location.search),e=(e.preventDefault(),"?");i.get("detailed")&&(e+="&detailed=1"),i.get("dbris")&&"0"!=i.get("dbris")&&(e+="&dbris="+i.get("dbris")+"&highlight="+a.data("station")),i.get("efa")&&"0"!=i.get("efa")&&(e+="&efa="+i.get("efa")+"&highlight="+a.data("station")),i.get("hafas")&&"0"!=i.get("hafas")&&(e+="&hafas="+i.get("hafas")+"&highlight="+a.data("station")),i.get("past")&&(e+="&past=1"),(i.get("rt")||i.get("show_realtime"))&&(e+="&rt=1"),i.get("hafas")&&"0"!=i.get("hafas")||i.get("efa")&&"0"!=i.get("efa")||i.get("dbris")&&"0"!=i.get("dbris")?history.pushState({page:"traindetail",jid:a.data("jid")},"test","/z/"+a.data("jid")+e):history.pushState({page:"traindetail",station:t,train:a.data("no")},"test","/z/"+a.data("train")+"/"+a.data("station")+e),dbf_show_moreinfo(a,!1)});const a=$(location).attr("hash").substr(1);var t;a&&(t=!1,$("div.app > ul > li").each(function(e){t||$(this).find(".anchor").each(function(){$(this).attr("id")==a&&(t=!0)})}),t)&&(t=!1,$("div.app > ul > li").each(function(e){t||($(this).find(".anchor").each(function(){$(this).attr("id")==a&&(t=!0)}),t?$(this).addClass("selected"):$(this).addClass("past"))}))}$(function(){$(".moresettings-header").each(function(){$(this).click(function(){var e=$(".moresettings");$(this).hasClass("moresettings-header-collapsed")?($(this).removeClass("moresettings-header-collapsed"),$(this).addClass("moresettings-header-expanded"),e.removeClass("moresettings-collapsed"),e.addClass("moresettings-expanded")):($(this).removeClass("moresettings-header-expanded"),$(this).addClass("moresettings-header-collapsed"),e.removeClass("moresettings-expanded"),e.addClass("moresettings-collapsed"))})}),$(".developers-header").each(function(){$(this).click(function(){var e=$(".developers");$(this).hasClass("developers-header-collapsed")?($(this).removeClass("developers-header-collapsed"),$(this).addClass("developers-header-expanded"),e.removeClass("developers-collapsed"),e.addClass("developers-expanded")):($(this).removeClass("developers-header-expanded"),$(this).addClass("developers-header-collapsed"),e.removeClass("developers-expanded"),e.addClass("developers-collapsed"))})}),dbf_reg_handlers(),$(".content .app").length&&(setTimeout(reload_app,3e4),history.replaceState({page:"station"},document.title,"")),window.onpopstate=function(a){var t;null!=a.state?"station"==a.state.page?($(".moreinfo").each(function(){$(this).removeClass("expanded-moreinfo"),$(this).addClass("collapsed-moreinfo")}),$("div.app > ul").length||($("div.app").append("<ul></ul>"),reload_app())):"traindetail"==a.state.page&&(t=!1,$("div.app > ul > li").each(function(){var e=$(this);e.data("no")==a.state.train&&(dbf_show_moreinfo(e,!0),t=!0)}),t||($(".moreinfo").each(function(){$(this).removeClass("collapsed-moreinfo"),$(this).addClass("expanded-moreinfo")}),$(".moreinfo .mfooter").append("Der Zug ist abgefahren (Zug nicht gefunden)"))):console.log("unhandled popstate! "+document.location)}}); diff --git a/public/static/js/geolocation.min.js b/public/static/js/geolocation.min.js deleted file mode 100644 index 29587be..0000000 --- a/public/static/js/geolocation.min.js +++ /dev/null @@ -1 +0,0 @@ -$(function(){var e=function(){$("div.candidatestatus").remove()},t=function(e,t,n){var r=$(document.createElement("div"));r.attr("class","error"),r.text(t);var o=$(document.createElement("strong"));if(o.text(e),r.prepend(o),n){var a=$(document.createElement("div"));a.attr("class","errcode"),a.text(n),r.append(a)}$("div.candidatelist").append(r)},n=function(n){e(),n.error?t("Backend-Fehler:",n.error,null):0==n.candidates.length?t("Keine Bahnhöfe in 70km Umkreis gefunden","",null):$.each(n.candidates,function(e,t){var n=t.ds100,r=t.name,o=t.distance;o=o.toFixed(1);var a=$(document.createElement("a"));a.attr("href",n),a.text(r);var i=$(document.createElement("div"));i.attr("class","distance"),i.text(o),a.append(i),$("div.candidatelist").append(a)})},r=function(e){$.post("/_geolocation",{lon:e.coords.longitude,lat:e.coords.latitude},n),$("div.candidatestatus").text("Suche Bahnhöfe…")},o=function(n){e(),n.code==n.PERMISSION_DENIED?t("Standortanfrage nicht möglich.","Vermutlich fehlen die Rechte im Browser oder der Android Location Service ist deaktiviert.","geolocation.error.PERMISSION_DENIED"):n.code==n.POSITION_UNAVAILABLE?t("Standort konnte nicht ermittelt werden","(Service nicht verfügbar)","geolocation.error.POSITION_UNAVAILABLE"):n.code==n.TIMEOUT?t("Standort konnte nicht ermittelt werden","(Timeout)","geolocation.error.TIMEOUT"):t("Standort konnte nicht ermittelt werden","(unbekannter Fehler)","unknown geolocation.error code")};navigator.geolocation?(navigator.geolocation.getCurrentPosition(r,o),$("div.candidatestatus").text("Position wird bestimmt…")):(e(),t("Standortanfragen werden von diesem Browser nicht unterstützt","",null))}); diff --git a/public/static/js/geolocation.js b/public/static/js/geostop.js index 06537c4..69bb607 100644 --- a/public/static/js/geolocation.js +++ b/public/static/js/geostop.js @@ -1,18 +1,24 @@ +/* + * Copyright (C) 2020 Birte Kristina Friesel + * + * SPDX-License-Identifier: AGPL-3.0-or-later + */ + $(function() { - var removeStatus = function() { + const removeStatus = function() { $('div.candidatestatus').remove(); }; - var showError = function(header, message, code) { - var errnode = $(document.createElement('div')); + const showError = function(header, message, code) { + const errnode = $(document.createElement('div')); errnode.attr('class', 'error'); errnode.text(message); - var headnode = $(document.createElement('strong')); + const headnode = $(document.createElement('strong')); headnode.text(header); errnode.prepend(headnode); if (code) { - var shortnode = $(document.createElement('div')); + const shortnode = $(document.createElement('div')); shortnode.attr('class', 'errcode'); shortnode.text(code); errnode.append(shortnode); @@ -21,40 +27,56 @@ $(function() { $('div.candidatelist').append(errnode); }; - var processResult = function(data) { + const processResult = function(data) { removeStatus(); if (data.error) { showError('Backend-Fehler:', data.error, null); } else if (data.candidates.length == 0) { - showError('Keine Bahnhöfe in 70km Umkreis gefunden', '', null); + showError('Keine Stationen in 70km Umkreis gefunden', '', null); } else { $.each(data.candidates, function(i, candidate) { - var ds100 = candidate.ds100, + const eva = candidate.eva, name = candidate.name, - distance = candidate.distance; - distance = distance.toFixed(1); + distance = candidate.distance.toFixed(1), + efa = candidate.efa, + hafas = candidate.hafas; - var stationlink = $(document.createElement('a')); - stationlink.attr('href', ds100); - stationlink.text(name); + const stationlink = $(document.createElement('a')); + if (efa) { + stationlink.attr('href', eva + '?efa=' + efa); + } else if (hafas) { + stationlink.attr('href', eva + '?hafas=' + hafas); + } else { + stationlink.attr('href', eva); + } + stationlink.text(name + ' '); - var distancenode = $(document.createElement('div')); + const distancenode = $(document.createElement('div')); distancenode.attr('class', 'distance'); distancenode.text(distance); + const icon = $(document.createElement('i')); + icon.attr('class', 'material-icons'); + icon.text((hafas || efa) ? 'directions' : 'train'); + + stationlink.append(icon); stationlink.append(distancenode); $('div.candidatelist').append(stationlink); }); } }; - var processLocation = function(loc) { - $.post('/_geolocation', {lon: loc.coords.longitude, lat: loc.coords.latitude}, processResult); - $('div.candidatestatus').text('Suche Bahnhöfe…'); + const processLocation = function(loc) { + const param = new URLSearchParams(window.location.search); + $.post('/_geolocation', {lon: loc.coords.longitude, lat: loc.coords.latitude, efa: param.get('efa'), hafas: param.get('hafas')}, processResult).fail(function(jqXHR, textStatus, errorThrown) { + removeStatus(); + showError("Netzwerkfehler: ", textStatus, errorThrown); + }); + $('div.candidatestatus').text('Suche Stationen…'); }; - var processError = function(error) { + const processError = function(error) { removeStatus(); if (error.code == error.PERMISSION_DENIED) { showError('Standortanfrage nicht möglich.', 'Vermutlich fehlen die Rechte im Browser oder der Android Location Service ist deaktiviert.', 'geolocation.error.PERMISSION_DENIED'); diff --git a/public/static/js/geostop.min.js b/public/static/js/geostop.min.js new file mode 100644 index 0000000..5998966 --- /dev/null +++ b/public/static/js/geostop.min.js @@ -0,0 +1 @@ +$(function(){function n(e){a(),e.error?r("Backend-Fehler:",e.error,null):0==e.candidates.length?r("Keine Stationen in 70km Umkreis gefunden","",null):$.each(e.candidates,function(e,t){var n=t.eva,a=t.name,r=t.distance.toFixed(1),o=t.efa,t=t.hafas,i=$(document.createElement("a")),n=(o?i.attr("href",n+"?efa="+o):t?i.attr("href",n+"?hafas="+t):i.attr("href",n),i.text(a+" "),$(document.createElement("div"))),a=(n.attr("class","distance"),n.text(r),$(document.createElement("i")));a.attr("class","material-icons"),a.text(t||o?"directions":"train"),i.append(a),i.append(n),$("div.candidatelist").append(i)})}const a=function(){$("div.candidatestatus").remove()},r=function(e,t,n){var a=$(document.createElement("div")),t=(a.attr("class","error"),a.text(t),$(document.createElement("strong")));t.text(e),a.prepend(t),n&&((e=$(document.createElement("div"))).attr("class","errcode"),e.text(n),a.append(e)),$("div.candidatelist").append(a)};navigator.geolocation?(navigator.geolocation.getCurrentPosition(function(e){var t=new URLSearchParams(window.location.search);$.post("/_geolocation",{lon:e.coords.longitude,lat:e.coords.latitude,efa:t.get("efa"),hafas:t.get("hafas")},n).fail(function(e,t,n){a(),r("Netzwerkfehler: ",t,n)}),$("div.candidatestatus").text("Suche Stationen…")},function(e){a(),e.code==e.PERMISSION_DENIED?r("Standortanfrage nicht möglich.","Vermutlich fehlen die Rechte im Browser oder der Android Location Service ist deaktiviert.","geolocation.error.PERMISSION_DENIED"):e.code==e.POSITION_UNAVAILABLE?r("Standort konnte nicht ermittelt werden","(Service nicht verfügbar)","geolocation.error.POSITION_UNAVAILABLE"):e.code==e.TIMEOUT?r("Standort konnte nicht ermittelt werden","(Timeout)","geolocation.error.TIMEOUT"):r("Standort konnte nicht ermittelt werden","(unbekannter Fehler)","unknown geolocation.error code")}),$("div.candidatestatus").text("Position wird bestimmt…")):(a(),r("Standortanfragen werden von diesem Browser nicht unterstützt","",null))}); diff --git a/public/static/js/map-refresh.js b/public/static/js/map-refresh.js new file mode 100644 index 0000000..fcaac86 --- /dev/null +++ b/public/static/js/map-refresh.js @@ -0,0 +1,95 @@ +/* + * Copyright (C) 2020 Birte Kristina Friesel + * + * SPDX-License-Identifier: AGPL-3.0-or-later + */ + +var j_reqid; +//var j_stops = []; +var j_positions = []; +var j_frame = []; +var j_frame_i = []; + +function dbf_map_parse() { + $('#jdata').each(function() { + j_reqid = $(this).data('req'); + /*var route_data = $(this).data('route'); + if (route_data) { + route_data = route_data.split('|'); + j_stops = []; + for (var stop_id in route_data) { + var stopdata = route_data[stop_id].split(';'); + for (var i = 1; i < 5; i++) { + stopdata[i] = parseInt(stopdata[i]); + } + j_stops.push(stopdata); + } + }*/ + var positions = $(this).data('poly'); + if (positions) { + positions = positions.split('|'); + j_positions = []; + for (var pos_id in positions) { + var posdata = positions[pos_id].split(';'); + posdata[0] = parseFloat(posdata[0]); + posdata[1] = parseFloat(posdata[1]); + j_positions.push(posdata); + } + } + }); +} + +function dbf_anim_coarse() { + if (j_positions.length) { + var pos1 = marker.getLatLng(); + var pos1lat = pos1.lat; + var pos1lon = pos1.lng; + var pos2 = j_positions.shift(); + var pos2lat = pos2[0]; + var pos2lon = pos2[1]; + + j_frame_i = 200; + j_frame = []; + + // approx 30 Hz -> 60 frames per 2 seconds + for (var i = 1; i <= 60; i++) { + var ratio = i / 60; + j_frame.push([pos1lat + ((pos2lat - pos1lat) * ratio), pos1lon + ((pos2lon - pos1lon) * ratio)]); + } + + j_frame_i = 0; + } +} + +function dbf_anim_fine() { + if (j_frame[j_frame_i]) { + marker.setLatLng(j_frame[j_frame_i++]); + } +} + +function dbf_map_reload() { + const param = new URLSearchParams(window.location.search); + + const new_params = new URLSearchParams(); + new_params.set('dbris', param.get('dbris') ?? ''); + new_params.set('motis', param.get('motis') ?? ''); + new_params.set('efa', param.get('efa') ?? ''); + new_params.set('hafas', param.get('hafas') ?? ''); + + $.get('/_ajax_mapinfo/' + j_reqid + '?' + new_params.toString(), function(data) { + $('#infobox').html(data); + dbf_map_parse(); + setTimeout(dbf_map_reload, 61000); + }).fail(function() { + setTimeout(dbf_map_reload, 5000); + }); +} + +$(document).ready(function() { + if ($('#infobox').length) { + dbf_map_parse(); + setInterval(dbf_anim_coarse, 2000); + setInterval(dbf_anim_fine, 33); + setTimeout(dbf_map_reload, 61000); + } +}); diff --git a/public/static/js/map-refresh.min.js b/public/static/js/map-refresh.min.js new file mode 100644 index 0000000..745c922 --- /dev/null +++ b/public/static/js/map-refresh.min.js @@ -0,0 +1 @@ +var j_reqid,j_positions=[],j_frame=[],j_frame_i=[];function dbf_map_parse(){$("#jdata").each(function(){j_reqid=$(this).data("req");var a=$(this).data("poly");if(a)for(var e in a=a.split("|"),j_positions=[],a){e=a[e].split(";");e[0]=parseFloat(e[0]),e[1]=parseFloat(e[1]),j_positions.push(e)}})}function dbf_anim_coarse(){if(j_positions.length){var a=marker.getLatLng(),e=a.lat,t=a.lng,a=j_positions.shift(),i=a[0],r=a[1];j_frame_i=200,j_frame=[];for(var _=1;_<=60;_++){var f=_/60;j_frame.push([e+(i-e)*f,t+(r-t)*f])}j_frame_i=0}}function dbf_anim_fine(){j_frame[j_frame_i]&&marker.setLatLng(j_frame[j_frame_i++])}function dbf_map_reload(){var a=new URLSearchParams(window.location.search),e=new URLSearchParams;e.set("dbris",a.get("dbris")??""),e.set("motis",a.get("motis")??""),e.set("efa",a.get("efa")??""),e.set("hafas",a.get("hafas")??""),$.get("/_ajax_mapinfo/"+j_reqid+"?"+e.toString(),function(a){$("#infobox").html(a),dbf_map_parse(),setTimeout(dbf_map_reload,61e3)}).fail(function(){setTimeout(dbf_map_reload,5e3)})}$(document).ready(function(){$("#infobox").length&&(dbf_map_parse(),setInterval(dbf_anim_coarse,2e3),setInterval(dbf_anim_fine,33),setTimeout(dbf_map_reload,61e3))}); diff --git a/public/static/js/marquee.min.js b/public/static/js/marquee.min.js index 5c54357..865a9f7 100644 --- a/public/static/js/marquee.min.js +++ b/public/static/js/marquee.min.js @@ -1 +1 @@ -!function(t){t.fn.marquee=function(i){function a(t,i,a){var e=a.behavior,r=a.width,s=a.dir;return"alternate"==e?1==t?i[a.widthAxis]-2*r:r:"slide"==e?-1==t?-1==s?i[a.widthAxis]:r:-1==s?i[a.widthAxis]-2*r:0:-1==t?i[a.widthAxis]:0}function e(){for(var i=r.length,s=null,d=null,l={},o=[],n=!1;i--;)s=r[i],d=t(s),l=d.data("marqueeState"),!0!==d.data("paused")?(s[l.axis]+=l.scrollamount*l.dir,n=-1==l.dir?s[l.axis]<=a(-1*l.dir,s,l):s[l.axis]>=a(-1*l.dir,s,l),"scroll"==l.behavior&&l.last==s[l.axis]||"alternate"==l.behavior&&n&&-1!=l.last||"slide"==l.behavior&&n&&-1!=l.last?("alternate"==l.behavior&&(l.dir*=-1),l.last=-1,d.trigger("stop"),l.loops--,0===l.loops?("slide"!=l.behavior?s[l.axis]=a(l.dir,s,l):s[l.axis]=a(-1*l.dir,s,l),d.trigger("end")):(o.push(s),d.trigger("start"),s[l.axis]=a(l.dir,s,l))):o.push(s),l.last=s[l.axis],d.data("marqueeState",l)):o.push(s);r=o,r.length&&setTimeout(e,25)}var r=[],s=this.length;return this.each(function(d){var l=t(this),o=l.attr("width")||l.width(),n=l.attr("height")||l.height(),h=l.after("<div "+(i?'class="'+i+'" ':"")+'style="display: block-inline; width: '+o+"px; height: "+n+'px; overflow: hidden;"><div style="float: left; white-space: nowrap;">'+l.html()+"</div></div>").next(),u=h.get(0),p=(l.attr("direction")||"left").toLowerCase(),c={dir:/down|right/.test(p)?-1:1,axis:/left|right/.test(p)?"scrollLeft":"scrollTop",widthAxis:/left|right/.test(p)?"scrollWidth":"scrollHeight",last:-1,loops:l.attr("loop")||-1,scrollamount:l.attr("scrollamount")||this.scrollAmount||2,behavior:(l.attr("behavior")||"scroll").toLowerCase(),width:/left|right/.test(p)?o:n};-1==l.attr("loop")&&"slide"==c.behavior&&(c.loops=1),l.remove(),/left|right/.test(p)?h.find("> div").css("padding","0 "+o+"px"):h.find("> div").css("padding",n+"px 0"),h.bind("stop",function(){h.data("paused",!0)}).bind("pause",function(){h.data("paused",!0)}).bind("start",function(){h.data("paused",!1)}).bind("unpause",function(){h.data("paused",!1)}).data("marqueeState",c),r.push(u),u[c.axis]=a(c.dir,u,c),h.trigger("start"),d+1==s&&e()}),t(r)}}(jQuery); +!function(c){c.fn.marquee=function(o){var n=[],h=this.length;function u(t,i,a){var e=a.behavior,r=a.width,s=a.dir;return"alternate"==e?1==t?i[a.widthAxis]-2*r:r:"slide"==e?-1==t?-1==s?i[a.widthAxis]:r:-1==s?i[a.widthAxis]-2*r:0:-1==t?i[a.widthAxis]:0}function p(){for(var t,i=n.length,a=null,e=null,r={},s=[];i--;)a=n[i],r=(e=c(a)).data("marqueeState"),!0!==e.data("paused")?(a[r.axis]+=r.scrollamount*r.dir,t=-1==r.dir?a[r.axis]<=u(-1*r.dir,a,r):a[r.axis]>=u(-1*r.dir,a,r),"scroll"==r.behavior&&r.last==a[r.axis]||"alternate"==r.behavior&&t&&-1!=r.last||"slide"==r.behavior&&t&&-1!=r.last?("alternate"==r.behavior&&(r.dir*=-1),r.last=-1,e.trigger("stop"),r.loops--,0===r.loops?("slide"!=r.behavior?a[r.axis]=u(r.dir,a,r):a[r.axis]=u(-1*r.dir,a,r),e.trigger("end")):(s.push(a),e.trigger("start"),a[r.axis]=u(r.dir,a,r))):s.push(a),r.last=a[r.axis],e.data("marqueeState",r)):s.push(a);(n=s).length&&setTimeout(p,25)}return this.each(function(t){var i=c(this),a=i.attr("width")||i.width(),e=i.attr("height")||i.height(),r=i.after("<div "+(o?'class="'+o+'" ':"")+'style="display: block-inline; width: '+a+"px; height: "+e+'px; overflow: hidden;"><div style="float: left; white-space: nowrap;">'+i.html()+"</div></div>").next(),s=r.get(0),d=(i.attr("direction")||"left").toLowerCase(),l={dir:/down|right/.test(d)?-1:1,axis:/left|right/.test(d)?"scrollLeft":"scrollTop",widthAxis:/left|right/.test(d)?"scrollWidth":"scrollHeight",last:-1,loops:i.attr("loop")||-1,scrollamount:i.attr("scrollamount")||this.scrollAmount||2,behavior:(i.attr("behavior")||"scroll").toLowerCase(),width:/left|right/.test(d)?a:e};-1==i.attr("loop")&&"slide"==l.behavior&&(l.loops=1),i.remove(),/left|right/.test(d)?r.find("> div").css("padding","0 "+a+"px"):r.find("> div").css("padding",e+"px 0"),r.bind("stop",function(){r.data("paused",!0)}).bind("pause",function(){r.data("paused",!0)}).bind("start",function(){r.data("paused",!1)}).bind("unpause",function(){r.data("paused",!1)}).data("marqueeState",l),n.push(s),s[l.axis]=u(l.dir,s,l),r.trigger("start"),t+1==h&&p()}),c(n)}}(jQuery); diff --git a/public/static/leaflet/images/layers-2x.png b/public/static/leaflet/images/layers-2x.png Binary files differnew file mode 100644 index 0000000..200c333 --- /dev/null +++ b/public/static/leaflet/images/layers-2x.png diff --git a/public/static/leaflet/images/layers.png b/public/static/leaflet/images/layers.png Binary files differnew file mode 100644 index 0000000..1a72e57 --- /dev/null +++ b/public/static/leaflet/images/layers.png diff --git a/public/static/leaflet/images/marker-icon-2x-gold.png b/public/static/leaflet/images/marker-icon-2x-gold.png Binary files differnew file mode 100644 index 0000000..6992d65 --- /dev/null +++ b/public/static/leaflet/images/marker-icon-2x-gold.png diff --git a/public/static/leaflet/images/marker-icon-2x-green.png b/public/static/leaflet/images/marker-icon-2x-green.png Binary files differnew file mode 100644 index 0000000..c359abb --- /dev/null +++ b/public/static/leaflet/images/marker-icon-2x-green.png diff --git a/public/static/leaflet/images/marker-icon-2x.png b/public/static/leaflet/images/marker-icon-2x.png Binary files differnew file mode 100644 index 0000000..88f9e50 --- /dev/null +++ b/public/static/leaflet/images/marker-icon-2x.png diff --git a/public/static/leaflet/images/marker-icon.png b/public/static/leaflet/images/marker-icon.png Binary files differnew file mode 100644 index 0000000..950edf2 --- /dev/null +++ b/public/static/leaflet/images/marker-icon.png diff --git a/public/static/leaflet/images/marker-shadow.png b/public/static/leaflet/images/marker-shadow.png Binary files differnew file mode 100644 index 0000000..9fd2979 --- /dev/null +++ b/public/static/leaflet/images/marker-shadow.png diff --git a/public/static/leaflet/leaflet.css b/public/static/leaflet/leaflet.css new file mode 100644 index 0000000..983d605 --- /dev/null +++ b/public/static/leaflet/leaflet.css @@ -0,0 +1,640 @@ +/* required styles */
+
+.leaflet-pane,
+.leaflet-tile,
+.leaflet-marker-icon,
+.leaflet-marker-shadow,
+.leaflet-tile-container,
+.leaflet-pane > svg,
+.leaflet-pane > canvas,
+.leaflet-zoom-box,
+.leaflet-image-layer,
+.leaflet-layer {
+ position: absolute;
+ left: 0;
+ top: 0;
+ }
+.leaflet-container {
+ overflow: hidden;
+ }
+.leaflet-tile,
+.leaflet-marker-icon,
+.leaflet-marker-shadow {
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ user-select: none;
+ -webkit-user-drag: none;
+ }
+/* Prevents IE11 from highlighting tiles in blue */
+.leaflet-tile::selection {
+ background: transparent;
+}
+/* Safari renders non-retina tile on retina better with this, but Chrome is worse */
+.leaflet-safari .leaflet-tile {
+ image-rendering: -webkit-optimize-contrast;
+ }
+/* hack that prevents hw layers "stretching" when loading new tiles */
+.leaflet-safari .leaflet-tile-container {
+ width: 1600px;
+ height: 1600px;
+ -webkit-transform-origin: 0 0;
+ }
+.leaflet-marker-icon,
+.leaflet-marker-shadow {
+ display: block;
+ }
+/* .leaflet-container svg: reset svg max-width decleration shipped in Joomla! (joomla.org) 3.x */
+/* .leaflet-container img: map is broken in FF if you have max-width: 100% on tiles */
+.leaflet-container .leaflet-overlay-pane svg,
+.leaflet-container .leaflet-marker-pane img,
+.leaflet-container .leaflet-shadow-pane img,
+.leaflet-container .leaflet-tile-pane img,
+.leaflet-container img.leaflet-image-layer,
+.leaflet-container .leaflet-tile {
+ max-width: none !important;
+ max-height: none !important;
+ }
+
+.leaflet-container.leaflet-touch-zoom {
+ -ms-touch-action: pan-x pan-y;
+ touch-action: pan-x pan-y;
+ }
+.leaflet-container.leaflet-touch-drag {
+ -ms-touch-action: pinch-zoom;
+ /* Fallback for FF which doesn't support pinch-zoom */
+ touch-action: none;
+ touch-action: pinch-zoom;
+}
+.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom {
+ -ms-touch-action: none;
+ touch-action: none;
+}
+.leaflet-container {
+ -webkit-tap-highlight-color: transparent;
+}
+.leaflet-container a {
+ -webkit-tap-highlight-color: rgba(51, 181, 229, 0.4);
+}
+.leaflet-tile {
+ filter: inherit;
+ visibility: hidden;
+ }
+.leaflet-tile-loaded {
+ visibility: inherit;
+ }
+.leaflet-zoom-box {
+ width: 0;
+ height: 0;
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
+ z-index: 800;
+ }
+/* workaround for https://bugzilla.mozilla.org/show_bug.cgi?id=888319 */
+.leaflet-overlay-pane svg {
+ -moz-user-select: none;
+ }
+
+.leaflet-pane { z-index: 400; }
+
+.leaflet-tile-pane { z-index: 200; }
+.leaflet-overlay-pane { z-index: 400; }
+.leaflet-shadow-pane { z-index: 500; }
+.leaflet-marker-pane { z-index: 600; }
+.leaflet-tooltip-pane { z-index: 650; }
+.leaflet-popup-pane { z-index: 700; }
+
+.leaflet-map-pane canvas { z-index: 100; }
+.leaflet-map-pane svg { z-index: 200; }
+
+.leaflet-vml-shape {
+ width: 1px;
+ height: 1px;
+ }
+.lvml {
+ behavior: url(#default#VML);
+ display: inline-block;
+ position: absolute;
+ }
+
+
+/* control positioning */
+
+.leaflet-control {
+ position: relative;
+ z-index: 800;
+ pointer-events: visiblePainted; /* IE 9-10 doesn't have auto */
+ pointer-events: auto;
+ }
+.leaflet-top,
+.leaflet-bottom {
+ position: absolute;
+ z-index: 1000;
+ pointer-events: none;
+ }
+.leaflet-top {
+ top: 0;
+ }
+.leaflet-right {
+ right: 0;
+ }
+.leaflet-bottom {
+ bottom: 0;
+ }
+.leaflet-left {
+ left: 0;
+ }
+.leaflet-control {
+ float: left;
+ clear: both;
+ }
+.leaflet-right .leaflet-control {
+ float: right;
+ }
+.leaflet-top .leaflet-control {
+ margin-top: 10px;
+ }
+.leaflet-bottom .leaflet-control {
+ margin-bottom: 10px;
+ }
+.leaflet-left .leaflet-control {
+ margin-left: 10px;
+ }
+.leaflet-right .leaflet-control {
+ margin-right: 10px;
+ }
+
+
+/* zoom and fade animations */
+
+.leaflet-fade-anim .leaflet-tile {
+ will-change: opacity;
+ }
+.leaflet-fade-anim .leaflet-popup {
+ opacity: 0;
+ -webkit-transition: opacity 0.2s linear;
+ -moz-transition: opacity 0.2s linear;
+ transition: opacity 0.2s linear;
+ }
+.leaflet-fade-anim .leaflet-map-pane .leaflet-popup {
+ opacity: 1;
+ }
+.leaflet-zoom-animated {
+ -webkit-transform-origin: 0 0;
+ -ms-transform-origin: 0 0;
+ transform-origin: 0 0;
+ }
+.leaflet-zoom-anim .leaflet-zoom-animated {
+ will-change: transform;
+ }
+.leaflet-zoom-anim .leaflet-zoom-animated {
+ -webkit-transition: -webkit-transform 0.25s cubic-bezier(0,0,0.25,1);
+ -moz-transition: -moz-transform 0.25s cubic-bezier(0,0,0.25,1);
+ transition: transform 0.25s cubic-bezier(0,0,0.25,1);
+ }
+.leaflet-zoom-anim .leaflet-tile,
+.leaflet-pan-anim .leaflet-tile {
+ -webkit-transition: none;
+ -moz-transition: none;
+ transition: none;
+ }
+
+.leaflet-zoom-anim .leaflet-zoom-hide {
+ visibility: hidden;
+ }
+
+
+/* cursors */
+
+.leaflet-interactive {
+ cursor: pointer;
+ }
+.leaflet-grab {
+ cursor: -webkit-grab;
+ cursor: -moz-grab;
+ cursor: grab;
+ }
+.leaflet-crosshair,
+.leaflet-crosshair .leaflet-interactive {
+ cursor: crosshair;
+ }
+.leaflet-popup-pane,
+.leaflet-control {
+ cursor: auto;
+ }
+.leaflet-dragging .leaflet-grab,
+.leaflet-dragging .leaflet-grab .leaflet-interactive,
+.leaflet-dragging .leaflet-marker-draggable {
+ cursor: move;
+ cursor: -webkit-grabbing;
+ cursor: -moz-grabbing;
+ cursor: grabbing;
+ }
+
+/* marker & overlays interactivity */
+.leaflet-marker-icon,
+.leaflet-marker-shadow,
+.leaflet-image-layer,
+.leaflet-pane > svg path,
+.leaflet-tile-container {
+ pointer-events: none;
+ }
+
+.leaflet-marker-icon.leaflet-interactive,
+.leaflet-image-layer.leaflet-interactive,
+.leaflet-pane > svg path.leaflet-interactive,
+svg.leaflet-image-layer.leaflet-interactive path {
+ pointer-events: visiblePainted; /* IE 9-10 doesn't have auto */
+ pointer-events: auto;
+ }
+
+/* visual tweaks */
+
+.leaflet-container {
+ background: #ddd;
+ outline: 0;
+ }
+.leaflet-container a {
+ color: #0078A8;
+ }
+.leaflet-container a.leaflet-active {
+ outline: 2px solid orange;
+ }
+.leaflet-zoom-box {
+ border: 2px dotted #38f;
+ background: rgba(255,255,255,0.5);
+ }
+
+
+/* general typography */
+.leaflet-container {
+ font: 12px/1.5 "Helvetica Neue", Arial, Helvetica, sans-serif;
+ }
+
+
+/* general toolbar styles */
+
+.leaflet-bar {
+ box-shadow: 0 1px 5px rgba(0,0,0,0.65);
+ border-radius: 4px;
+ }
+.leaflet-bar a,
+.leaflet-bar a:hover {
+ background-color: #fff;
+ border-bottom: 1px solid #ccc;
+ width: 26px;
+ height: 26px;
+ line-height: 26px;
+ display: block;
+ text-align: center;
+ text-decoration: none;
+ color: black;
+ }
+.leaflet-bar a,
+.leaflet-control-layers-toggle {
+ background-position: 50% 50%;
+ background-repeat: no-repeat;
+ display: block;
+ }
+.leaflet-bar a:hover {
+ background-color: #f4f4f4;
+ }
+.leaflet-bar a:first-child {
+ border-top-left-radius: 4px;
+ border-top-right-radius: 4px;
+ }
+.leaflet-bar a:last-child {
+ border-bottom-left-radius: 4px;
+ border-bottom-right-radius: 4px;
+ border-bottom: none;
+ }
+.leaflet-bar a.leaflet-disabled {
+ cursor: default;
+ background-color: #f4f4f4;
+ color: #bbb;
+ }
+
+.leaflet-touch .leaflet-bar a {
+ width: 30px;
+ height: 30px;
+ line-height: 30px;
+ }
+.leaflet-touch .leaflet-bar a:first-child {
+ border-top-left-radius: 2px;
+ border-top-right-radius: 2px;
+ }
+.leaflet-touch .leaflet-bar a:last-child {
+ border-bottom-left-radius: 2px;
+ border-bottom-right-radius: 2px;
+ }
+
+/* zoom control */
+
+.leaflet-control-zoom-in,
+.leaflet-control-zoom-out {
+ font: bold 18px 'Lucida Console', Monaco, monospace;
+ text-indent: 1px;
+ }
+
+.leaflet-touch .leaflet-control-zoom-in, .leaflet-touch .leaflet-control-zoom-out {
+ font-size: 22px;
+ }
+
+
+/* layers control */
+
+.leaflet-control-layers {
+ box-shadow: 0 1px 5px rgba(0,0,0,0.4);
+ background: #fff;
+ border-radius: 5px;
+ }
+.leaflet-control-layers-toggle {
+ background-image: url(images/layers.png);
+ width: 36px;
+ height: 36px;
+ }
+.leaflet-retina .leaflet-control-layers-toggle {
+ background-image: url(images/layers-2x.png);
+ background-size: 26px 26px;
+ }
+.leaflet-touch .leaflet-control-layers-toggle {
+ width: 44px;
+ height: 44px;
+ }
+.leaflet-control-layers .leaflet-control-layers-list,
+.leaflet-control-layers-expanded .leaflet-control-layers-toggle {
+ display: none;
+ }
+.leaflet-control-layers-expanded .leaflet-control-layers-list {
+ display: block;
+ position: relative;
+ }
+.leaflet-control-layers-expanded {
+ padding: 6px 10px 6px 6px;
+ color: #333;
+ background: #fff;
+ }
+.leaflet-control-layers-scrollbar {
+ overflow-y: scroll;
+ overflow-x: hidden;
+ padding-right: 5px;
+ }
+.leaflet-control-layers-selector {
+ margin-top: 2px;
+ position: relative;
+ top: 1px;
+ }
+.leaflet-control-layers label {
+ display: block;
+ }
+.leaflet-control-layers-separator {
+ height: 0;
+ border-top: 1px solid #ddd;
+ margin: 5px -10px 5px -6px;
+ }
+
+/* Default icon URLs */
+.leaflet-default-icon-path {
+ background-image: url(images/marker-icon.png);
+ }
+
+
+/* attribution and scale controls */
+
+.leaflet-container .leaflet-control-attribution {
+ background: #fff;
+ background: rgba(255, 255, 255, 0.7);
+ margin: 0;
+ }
+.leaflet-control-attribution,
+.leaflet-control-scale-line {
+ padding: 0 5px;
+ color: #333;
+ }
+.leaflet-control-attribution a {
+ text-decoration: none;
+ }
+.leaflet-control-attribution a:hover {
+ text-decoration: underline;
+ }
+.leaflet-container .leaflet-control-attribution,
+.leaflet-container .leaflet-control-scale {
+ font-size: 11px;
+ }
+.leaflet-left .leaflet-control-scale {
+ margin-left: 5px;
+ }
+.leaflet-bottom .leaflet-control-scale {
+ margin-bottom: 5px;
+ }
+.leaflet-control-scale-line {
+ border: 2px solid #777;
+ border-top: none;
+ line-height: 1.1;
+ padding: 2px 5px 1px;
+ font-size: 11px;
+ white-space: nowrap;
+ overflow: hidden;
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
+
+ background: #fff;
+ background: rgba(255, 255, 255, 0.5);
+ }
+.leaflet-control-scale-line:not(:first-child) {
+ border-top: 2px solid #777;
+ border-bottom: none;
+ margin-top: -2px;
+ }
+.leaflet-control-scale-line:not(:first-child):not(:last-child) {
+ border-bottom: 2px solid #777;
+ }
+
+.leaflet-touch .leaflet-control-attribution,
+.leaflet-touch .leaflet-control-layers,
+.leaflet-touch .leaflet-bar {
+ box-shadow: none;
+ }
+.leaflet-touch .leaflet-control-layers,
+.leaflet-touch .leaflet-bar {
+ border: 2px solid rgba(0,0,0,0.2);
+ background-clip: padding-box;
+ }
+
+
+/* popup */
+
+.leaflet-popup {
+ position: absolute;
+ text-align: center;
+ margin-bottom: 20px;
+ }
+.leaflet-popup-content-wrapper {
+ padding: 1px;
+ text-align: left;
+ border-radius: 12px;
+ }
+.leaflet-popup-content {
+ margin: 13px 19px;
+ line-height: 1.4;
+ }
+.leaflet-popup-content p {
+ margin: 18px 0;
+ }
+.leaflet-popup-tip-container {
+ width: 40px;
+ height: 20px;
+ position: absolute;
+ left: 50%;
+ margin-left: -20px;
+ overflow: hidden;
+ pointer-events: none;
+ }
+.leaflet-popup-tip {
+ width: 17px;
+ height: 17px;
+ padding: 1px;
+
+ margin: -10px auto 0;
+
+ -webkit-transform: rotate(45deg);
+ -moz-transform: rotate(45deg);
+ -ms-transform: rotate(45deg);
+ transform: rotate(45deg);
+ }
+.leaflet-popup-content-wrapper,
+.leaflet-popup-tip {
+ background: white;
+ color: #333;
+ box-shadow: 0 3px 14px rgba(0,0,0,0.4);
+ }
+.leaflet-container a.leaflet-popup-close-button {
+ position: absolute;
+ top: 0;
+ right: 0;
+ padding: 4px 4px 0 0;
+ border: none;
+ text-align: center;
+ width: 18px;
+ height: 14px;
+ font: 16px/14px Tahoma, Verdana, sans-serif;
+ color: #c3c3c3;
+ text-decoration: none;
+ font-weight: bold;
+ background: transparent;
+ }
+.leaflet-container a.leaflet-popup-close-button:hover {
+ color: #999;
+ }
+.leaflet-popup-scrolled {
+ overflow: auto;
+ border-bottom: 1px solid #ddd;
+ border-top: 1px solid #ddd;
+ }
+
+.leaflet-oldie .leaflet-popup-content-wrapper {
+ zoom: 1;
+ }
+.leaflet-oldie .leaflet-popup-tip {
+ width: 24px;
+ margin: 0 auto;
+
+ -ms-filter: "progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";
+ filter: progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678);
+ }
+.leaflet-oldie .leaflet-popup-tip-container {
+ margin-top: -1px;
+ }
+
+.leaflet-oldie .leaflet-control-zoom,
+.leaflet-oldie .leaflet-control-layers,
+.leaflet-oldie .leaflet-popup-content-wrapper,
+.leaflet-oldie .leaflet-popup-tip {
+ border: 1px solid #999;
+ }
+
+
+/* div icon */
+
+.leaflet-div-icon {
+ background: #fff;
+ border: 1px solid #666;
+ }
+
+
+/* Tooltip */
+/* Base styles for the element that has a tooltip */
+.leaflet-tooltip {
+ position: absolute;
+ padding: 6px;
+ background-color: #fff;
+ border: 1px solid #fff;
+ border-radius: 3px;
+ color: #222;
+ white-space: nowrap;
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+ pointer-events: none;
+ box-shadow: 0 1px 3px rgba(0,0,0,0.4);
+ }
+.leaflet-tooltip.leaflet-clickable {
+ cursor: pointer;
+ pointer-events: auto;
+ }
+.leaflet-tooltip-top:before,
+.leaflet-tooltip-bottom:before,
+.leaflet-tooltip-left:before,
+.leaflet-tooltip-right:before {
+ position: absolute;
+ pointer-events: none;
+ border: 6px solid transparent;
+ background: transparent;
+ content: "";
+ }
+
+/* Directions */
+
+.leaflet-tooltip-bottom {
+ margin-top: 6px;
+}
+.leaflet-tooltip-top {
+ margin-top: -6px;
+}
+.leaflet-tooltip-bottom:before,
+.leaflet-tooltip-top:before {
+ left: 50%;
+ margin-left: -6px;
+ }
+.leaflet-tooltip-top:before {
+ bottom: 0;
+ margin-bottom: -12px;
+ border-top-color: #fff;
+ }
+.leaflet-tooltip-bottom:before {
+ top: 0;
+ margin-top: -12px;
+ margin-left: -6px;
+ border-bottom-color: #fff;
+ }
+.leaflet-tooltip-left {
+ margin-left: -6px;
+}
+.leaflet-tooltip-right {
+ margin-left: 6px;
+}
+.leaflet-tooltip-left:before,
+.leaflet-tooltip-right:before {
+ top: 50%;
+ margin-top: -6px;
+ }
+.leaflet-tooltip-left:before {
+ right: 0;
+ margin-right: -12px;
+ border-left-color: #fff;
+ }
+.leaflet-tooltip-right:before {
+ left: 0;
+ margin-left: -12px;
+ border-right-color: #fff;
+ }
diff --git a/public/static/leaflet/leaflet.js b/public/static/leaflet/leaflet.js new file mode 100644 index 0000000..9660fdb --- /dev/null +++ b/public/static/leaflet/leaflet.js @@ -0,0 +1,5 @@ +/* @preserve + * Leaflet 1.5.1+build.2e3e0ff, a JS library for interactive maps. http://leafletjs.com + * (c) 2010-2018 Vladimir Agafonkin, (c) 2010-2011 CloudMade + */ +!function(t,i){"object"==typeof exports&&"undefined"!=typeof module?i(exports):"function"==typeof define&&define.amd?define(["exports"],i):i(t.L={})}(this,function(t){"use strict";var i=Object.freeze;function h(t){var i,e,n,o;for(e=1,n=arguments.length;e<n;e++)for(i in o=arguments[e])t[i]=o[i];return t}Object.freeze=function(t){return t};var s=Object.create||function(t){return e.prototype=t,new e};function e(){}function a(t,i){var e=Array.prototype.slice;if(t.bind)return t.bind.apply(t,e.call(arguments,1));var n=e.call(arguments,2);return function(){return t.apply(i,n.length?n.concat(e.call(arguments)):arguments)}}var n=0;function u(t){return t._leaflet_id=t._leaflet_id||++n,t._leaflet_id}function o(t,i,e){var n,o,s,r;return r=function(){n=!1,o&&(s.apply(e,o),o=!1)},s=function(){n?o=arguments:(t.apply(e,arguments),setTimeout(r,i),n=!0)}}function r(t,i,e){var n=i[1],o=i[0],s=n-o;return t===n&&e?t:((t-o)%s+s)%s+o}function l(){return!1}function c(t,i){return i=void 0===i?6:i,+(Math.round(t+"e+"+i)+"e-"+i)}function _(t){return t.trim?t.trim():t.replace(/^\s+|\s+$/g,"")}function d(t){return _(t).split(/\s+/)}function p(t,i){for(var e in t.hasOwnProperty("options")||(t.options=t.options?s(t.options):{}),i)t.options[e]=i[e];return t.options}function m(t,i,e){var n=[];for(var o in t)n.push(encodeURIComponent(e?o.toUpperCase():o)+"="+encodeURIComponent(t[o]));return(i&&-1!==i.indexOf("?")?"&":"?")+n.join("&")}var f=/\{ *([\w_-]+) *\}/g;function g(t,n){return t.replace(f,function(t,i){var e=n[i];if(void 0===e)throw new Error("No value provided for variable "+t);return"function"==typeof e&&(e=e(n)),e})}var v=Array.isArray||function(t){return"[object Array]"===Object.prototype.toString.call(t)};function y(t,i){for(var e=0;e<t.length;e++)if(t[e]===i)return e;return-1}var x="data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=";function w(t){return window["webkit"+t]||window["moz"+t]||window["ms"+t]}var P=0;function b(t){var i=+new Date,e=Math.max(0,16-(i-P));return P=i+e,window.setTimeout(t,e)}var T=window.requestAnimationFrame||w("RequestAnimationFrame")||b,z=window.cancelAnimationFrame||w("CancelAnimationFrame")||w("CancelRequestAnimationFrame")||function(t){window.clearTimeout(t)};function M(t,i,e){if(!e||T!==b)return T.call(window,a(t,i));t.call(i)}function C(t){t&&z.call(window,t)}var S=(Object.freeze||Object)({freeze:i,extend:h,create:s,bind:a,lastId:n,stamp:u,throttle:o,wrapNum:r,falseFn:l,formatNum:c,trim:_,splitWords:d,setOptions:p,getParamString:m,template:g,isArray:v,indexOf:y,emptyImageUrl:x,requestFn:T,cancelFn:z,requestAnimFrame:M,cancelAnimFrame:C});function Z(){}Z.extend=function(t){function i(){this.initialize&&this.initialize.apply(this,arguments),this.callInitHooks()}var e=i.__super__=this.prototype,n=s(e);for(var o in(n.constructor=i).prototype=n,this)this.hasOwnProperty(o)&&"prototype"!==o&&"__super__"!==o&&(i[o]=this[o]);return t.statics&&(h(i,t.statics),delete t.statics),t.includes&&(function(t){if("undefined"==typeof L||!L||!L.Mixin)return;t=v(t)?t:[t];for(var i=0;i<t.length;i++)t[i]===L.Mixin.Events&&console.warn("Deprecated include of L.Mixin.Events: this property will be removed in future releases, please inherit from L.Evented instead.",(new Error).stack)}(t.includes),h.apply(null,[n].concat(t.includes)),delete t.includes),n.options&&(t.options=h(s(n.options),t.options)),h(n,t),n._initHooks=[],n.callInitHooks=function(){if(!this._initHooksCalled){e.callInitHooks&&e.callInitHooks.call(this),this._initHooksCalled=!0;for(var t=0,i=n._initHooks.length;t<i;t++)n._initHooks[t].call(this)}},i},Z.include=function(t){return h(this.prototype,t),this},Z.mergeOptions=function(t){return h(this.prototype.options,t),this},Z.addInitHook=function(t){var i=Array.prototype.slice.call(arguments,1),e="function"==typeof t?t:function(){this[t].apply(this,i)};return this.prototype._initHooks=this.prototype._initHooks||[],this.prototype._initHooks.push(e),this};var E={on:function(t,i,e){if("object"==typeof t)for(var n in t)this._on(n,t[n],i);else for(var o=0,s=(t=d(t)).length;o<s;o++)this._on(t[o],i,e);return this},off:function(t,i,e){if(t)if("object"==typeof t)for(var n in t)this._off(n,t[n],i);else for(var o=0,s=(t=d(t)).length;o<s;o++)this._off(t[o],i,e);else delete this._events;return this},_on:function(t,i,e){this._events=this._events||{};var n=this._events[t];n||(n=[],this._events[t]=n),e===this&&(e=void 0);for(var o={fn:i,ctx:e},s=n,r=0,a=s.length;r<a;r++)if(s[r].fn===i&&s[r].ctx===e)return;s.push(o)},_off:function(t,i,e){var n,o,s;if(this._events&&(n=this._events[t]))if(i){if(e===this&&(e=void 0),n)for(o=0,s=n.length;o<s;o++){var r=n[o];if(r.ctx===e&&r.fn===i)return r.fn=l,this._firingCount&&(this._events[t]=n=n.slice()),void n.splice(o,1)}}else{for(o=0,s=n.length;o<s;o++)n[o].fn=l;delete this._events[t]}},fire:function(t,i,e){if(!this.listens(t,e))return this;var n=h({},i,{type:t,target:this,sourceTarget:i&&i.sourceTarget||this});if(this._events){var o=this._events[t];if(o){this._firingCount=this._firingCount+1||1;for(var s=0,r=o.length;s<r;s++){var a=o[s];a.fn.call(a.ctx||this,n)}this._firingCount--}}return e&&this._propagateEvent(n),this},listens:function(t,i){var e=this._events&&this._events[t];if(e&&e.length)return!0;if(i)for(var n in this._eventParents)if(this._eventParents[n].listens(t,i))return!0;return!1},once:function(t,i,e){if("object"==typeof t){for(var n in t)this.once(n,t[n],i);return this}var o=a(function(){this.off(t,i,e).off(t,o,e)},this);return this.on(t,i,e).on(t,o,e)},addEventParent:function(t){return this._eventParents=this._eventParents||{},this._eventParents[u(t)]=t,this},removeEventParent:function(t){return this._eventParents&&delete this._eventParents[u(t)],this},_propagateEvent:function(t){for(var i in this._eventParents)this._eventParents[i].fire(t.type,h({layer:t.target,propagatedFrom:t.target},t),!0)}};E.addEventListener=E.on,E.removeEventListener=E.clearAllEventListeners=E.off,E.addOneTimeEventListener=E.once,E.fireEvent=E.fire,E.hasEventListeners=E.listens;var k=Z.extend(E);function B(t,i,e){this.x=e?Math.round(t):t,this.y=e?Math.round(i):i}var A=Math.trunc||function(t){return 0<t?Math.floor(t):Math.ceil(t)};function I(t,i,e){return t instanceof B?t:v(t)?new B(t[0],t[1]):null==t?t:"object"==typeof t&&"x"in t&&"y"in t?new B(t.x,t.y):new B(t,i,e)}function O(t,i){if(t)for(var e=i?[t,i]:t,n=0,o=e.length;n<o;n++)this.extend(e[n])}function R(t,i){return!t||t instanceof O?t:new O(t,i)}function N(t,i){if(t)for(var e=i?[t,i]:t,n=0,o=e.length;n<o;n++)this.extend(e[n])}function D(t,i){return t instanceof N?t:new N(t,i)}function j(t,i,e){if(isNaN(t)||isNaN(i))throw new Error("Invalid LatLng object: ("+t+", "+i+")");this.lat=+t,this.lng=+i,void 0!==e&&(this.alt=+e)}function W(t,i,e){return t instanceof j?t:v(t)&&"object"!=typeof t[0]?3===t.length?new j(t[0],t[1],t[2]):2===t.length?new j(t[0],t[1]):null:null==t?t:"object"==typeof t&&"lat"in t?new j(t.lat,"lng"in t?t.lng:t.lon,t.alt):void 0===i?null:new j(t,i,e)}B.prototype={clone:function(){return new B(this.x,this.y)},add:function(t){return this.clone()._add(I(t))},_add:function(t){return this.x+=t.x,this.y+=t.y,this},subtract:function(t){return this.clone()._subtract(I(t))},_subtract:function(t){return this.x-=t.x,this.y-=t.y,this},divideBy:function(t){return this.clone()._divideBy(t)},_divideBy:function(t){return this.x/=t,this.y/=t,this},multiplyBy:function(t){return this.clone()._multiplyBy(t)},_multiplyBy:function(t){return this.x*=t,this.y*=t,this},scaleBy:function(t){return new B(this.x*t.x,this.y*t.y)},unscaleBy:function(t){return new B(this.x/t.x,this.y/t.y)},round:function(){return this.clone()._round()},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this},floor:function(){return this.clone()._floor()},_floor:function(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this},ceil:function(){return this.clone()._ceil()},_ceil:function(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this},trunc:function(){return this.clone()._trunc()},_trunc:function(){return this.x=A(this.x),this.y=A(this.y),this},distanceTo:function(t){var i=(t=I(t)).x-this.x,e=t.y-this.y;return Math.sqrt(i*i+e*e)},equals:function(t){return(t=I(t)).x===this.x&&t.y===this.y},contains:function(t){return t=I(t),Math.abs(t.x)<=Math.abs(this.x)&&Math.abs(t.y)<=Math.abs(this.y)},toString:function(){return"Point("+c(this.x)+", "+c(this.y)+")"}},O.prototype={extend:function(t){return t=I(t),this.min||this.max?(this.min.x=Math.min(t.x,this.min.x),this.max.x=Math.max(t.x,this.max.x),this.min.y=Math.min(t.y,this.min.y),this.max.y=Math.max(t.y,this.max.y)):(this.min=t.clone(),this.max=t.clone()),this},getCenter:function(t){return new B((this.min.x+this.max.x)/2,(this.min.y+this.max.y)/2,t)},getBottomLeft:function(){return new B(this.min.x,this.max.y)},getTopRight:function(){return new B(this.max.x,this.min.y)},getTopLeft:function(){return this.min},getBottomRight:function(){return this.max},getSize:function(){return this.max.subtract(this.min)},contains:function(t){var i,e;return(t="number"==typeof t[0]||t instanceof B?I(t):R(t))instanceof O?(i=t.min,e=t.max):i=e=t,i.x>=this.min.x&&e.x<=this.max.x&&i.y>=this.min.y&&e.y<=this.max.y},intersects:function(t){t=R(t);var i=this.min,e=this.max,n=t.min,o=t.max,s=o.x>=i.x&&n.x<=e.x,r=o.y>=i.y&&n.y<=e.y;return s&&r},overlaps:function(t){t=R(t);var i=this.min,e=this.max,n=t.min,o=t.max,s=o.x>i.x&&n.x<e.x,r=o.y>i.y&&n.y<e.y;return s&&r},isValid:function(){return!(!this.min||!this.max)}},N.prototype={extend:function(t){var i,e,n=this._southWest,o=this._northEast;if(t instanceof j)e=i=t;else{if(!(t instanceof N))return t?this.extend(W(t)||D(t)):this;if(i=t._southWest,e=t._northEast,!i||!e)return this}return n||o?(n.lat=Math.min(i.lat,n.lat),n.lng=Math.min(i.lng,n.lng),o.lat=Math.max(e.lat,o.lat),o.lng=Math.max(e.lng,o.lng)):(this._southWest=new j(i.lat,i.lng),this._northEast=new j(e.lat,e.lng)),this},pad:function(t){var i=this._southWest,e=this._northEast,n=Math.abs(i.lat-e.lat)*t,o=Math.abs(i.lng-e.lng)*t;return new N(new j(i.lat-n,i.lng-o),new j(e.lat+n,e.lng+o))},getCenter:function(){return new j((this._southWest.lat+this._northEast.lat)/2,(this._southWest.lng+this._northEast.lng)/2)},getSouthWest:function(){return this._southWest},getNorthEast:function(){return this._northEast},getNorthWest:function(){return new j(this.getNorth(),this.getWest())},getSouthEast:function(){return new j(this.getSouth(),this.getEast())},getWest:function(){return this._southWest.lng},getSouth:function(){return this._southWest.lat},getEast:function(){return this._northEast.lng},getNorth:function(){return this._northEast.lat},contains:function(t){t="number"==typeof t[0]||t instanceof j||"lat"in t?W(t):D(t);var i,e,n=this._southWest,o=this._northEast;return t instanceof N?(i=t.getSouthWest(),e=t.getNorthEast()):i=e=t,i.lat>=n.lat&&e.lat<=o.lat&&i.lng>=n.lng&&e.lng<=o.lng},intersects:function(t){t=D(t);var i=this._southWest,e=this._northEast,n=t.getSouthWest(),o=t.getNorthEast(),s=o.lat>=i.lat&&n.lat<=e.lat,r=o.lng>=i.lng&&n.lng<=e.lng;return s&&r},overlaps:function(t){t=D(t);var i=this._southWest,e=this._northEast,n=t.getSouthWest(),o=t.getNorthEast(),s=o.lat>i.lat&&n.lat<e.lat,r=o.lng>i.lng&&n.lng<e.lng;return s&&r},toBBoxString:function(){return[this.getWest(),this.getSouth(),this.getEast(),this.getNorth()].join(",")},equals:function(t,i){return!!t&&(t=D(t),this._southWest.equals(t.getSouthWest(),i)&&this._northEast.equals(t.getNorthEast(),i))},isValid:function(){return!(!this._southWest||!this._northEast)}};var H,F={latLngToPoint:function(t,i){var e=this.projection.project(t),n=this.scale(i);return this.transformation._transform(e,n)},pointToLatLng:function(t,i){var e=this.scale(i),n=this.transformation.untransform(t,e);return this.projection.unproject(n)},project:function(t){return this.projection.project(t)},unproject:function(t){return this.projection.unproject(t)},scale:function(t){return 256*Math.pow(2,t)},zoom:function(t){return Math.log(t/256)/Math.LN2},getProjectedBounds:function(t){if(this.infinite)return null;var i=this.projection.bounds,e=this.scale(t);return new O(this.transformation.transform(i.min,e),this.transformation.transform(i.max,e))},infinite:!(j.prototype={equals:function(t,i){return!!t&&(t=W(t),Math.max(Math.abs(this.lat-t.lat),Math.abs(this.lng-t.lng))<=(void 0===i?1e-9:i))},toString:function(t){return"LatLng("+c(this.lat,t)+", "+c(this.lng,t)+")"},distanceTo:function(t){return U.distance(this,W(t))},wrap:function(){return U.wrapLatLng(this)},toBounds:function(t){var i=180*t/40075017,e=i/Math.cos(Math.PI/180*this.lat);return D([this.lat-i,this.lng-e],[this.lat+i,this.lng+e])},clone:function(){return new j(this.lat,this.lng,this.alt)}}),wrapLatLng:function(t){var i=this.wrapLng?r(t.lng,this.wrapLng,!0):t.lng;return new j(this.wrapLat?r(t.lat,this.wrapLat,!0):t.lat,i,t.alt)},wrapLatLngBounds:function(t){var i=t.getCenter(),e=this.wrapLatLng(i),n=i.lat-e.lat,o=i.lng-e.lng;if(0==n&&0==o)return t;var s=t.getSouthWest(),r=t.getNorthEast();return new N(new j(s.lat-n,s.lng-o),new j(r.lat-n,r.lng-o))}},U=h({},F,{wrapLng:[-180,180],R:6371e3,distance:function(t,i){var e=Math.PI/180,n=t.lat*e,o=i.lat*e,s=Math.sin((i.lat-t.lat)*e/2),r=Math.sin((i.lng-t.lng)*e/2),a=s*s+Math.cos(n)*Math.cos(o)*r*r,h=2*Math.atan2(Math.sqrt(a),Math.sqrt(1-a));return this.R*h}}),V=6378137,q={R:V,MAX_LATITUDE:85.0511287798,project:function(t){var i=Math.PI/180,e=this.MAX_LATITUDE,n=Math.max(Math.min(e,t.lat),-e),o=Math.sin(n*i);return new B(this.R*t.lng*i,this.R*Math.log((1+o)/(1-o))/2)},unproject:function(t){var i=180/Math.PI;return new j((2*Math.atan(Math.exp(t.y/this.R))-Math.PI/2)*i,t.x*i/this.R)},bounds:(H=V*Math.PI,new O([-H,-H],[H,H]))};function G(t,i,e,n){if(v(t))return this._a=t[0],this._b=t[1],this._c=t[2],void(this._d=t[3]);this._a=t,this._b=i,this._c=e,this._d=n}function K(t,i,e,n){return new G(t,i,e,n)}G.prototype={transform:function(t,i){return this._transform(t.clone(),i)},_transform:function(t,i){return i=i||1,t.x=i*(this._a*t.x+this._b),t.y=i*(this._c*t.y+this._d),t},untransform:function(t,i){return i=i||1,new B((t.x/i-this._b)/this._a,(t.y/i-this._d)/this._c)}};var Y,X=h({},U,{code:"EPSG:3857",projection:q,transformation:(Y=.5/(Math.PI*q.R),K(Y,.5,-Y,.5))}),J=h({},X,{code:"EPSG:900913"});function $(t){return document.createElementNS("http://www.w3.org/2000/svg",t)}function Q(t,i){var e,n,o,s,r,a,h="";for(e=0,o=t.length;e<o;e++){for(n=0,s=(r=t[e]).length;n<s;n++)h+=(n?"L":"M")+(a=r[n]).x+" "+a.y;h+=i?Zt?"z":"x":""}return h||"M0 0"}var tt=document.documentElement.style,it="ActiveXObject"in window,et=it&&!document.addEventListener,nt="msLaunchUri"in navigator&&!("documentMode"in document),ot=kt("webkit"),st=kt("android"),rt=kt("android 2")||kt("android 3"),at=parseInt(/WebKit\/([0-9]+)|$/.exec(navigator.userAgent)[1],10),ht=st&&kt("Google")&&at<537&&!("AudioNode"in window),ut=!!window.opera,lt=kt("chrome"),ct=kt("gecko")&&!ot&&!ut&&!it,_t=!lt&&kt("safari"),dt=kt("phantom"),pt="OTransition"in tt,mt=0===navigator.platform.indexOf("Win"),ft=it&&"transition"in tt,gt="WebKitCSSMatrix"in window&&"m11"in new window.WebKitCSSMatrix&&!rt,vt="MozPerspective"in tt,yt=!window.L_DISABLE_3D&&(ft||gt||vt)&&!pt&&!dt,xt="undefined"!=typeof orientation||kt("mobile"),wt=xt&&ot,Pt=xt&>,bt=!window.PointerEvent&&window.MSPointerEvent,Lt=!(!window.PointerEvent&&!bt),Tt=!window.L_NO_TOUCH&&(Lt||"ontouchstart"in window||window.DocumentTouch&&document instanceof window.DocumentTouch),zt=xt&&ut,Mt=xt&&ct,Ct=1<(window.devicePixelRatio||window.screen.deviceXDPI/window.screen.logicalXDPI),St=!!document.createElement("canvas").getContext,Zt=!(!document.createElementNS||!$("svg").createSVGRect),Et=!Zt&&function(){try{var t=document.createElement("div");t.innerHTML='<v:shape adj="1"/>';var i=t.firstChild;return i.style.behavior="url(#default#VML)",i&&"object"==typeof i.adj}catch(t){return!1}}();function kt(t){return 0<=navigator.userAgent.toLowerCase().indexOf(t)}var Bt=(Object.freeze||Object)({ie:it,ielt9:et,edge:nt,webkit:ot,android:st,android23:rt,androidStock:ht,opera:ut,chrome:lt,gecko:ct,safari:_t,phantom:dt,opera12:pt,win:mt,ie3d:ft,webkit3d:gt,gecko3d:vt,any3d:yt,mobile:xt,mobileWebkit:wt,mobileWebkit3d:Pt,msPointer:bt,pointer:Lt,touch:Tt,mobileOpera:zt,mobileGecko:Mt,retina:Ct,canvas:St,svg:Zt,vml:Et}),At=bt?"MSPointerDown":"pointerdown",It=bt?"MSPointerMove":"pointermove",Ot=bt?"MSPointerUp":"pointerup",Rt=bt?"MSPointerCancel":"pointercancel",Nt=["INPUT","SELECT","OPTION"],Dt={},jt=!1,Wt=0;function Ht(t,i,e,n){return"touchstart"===i?function(t,i,e){var n=a(function(t){if("mouse"!==t.pointerType&&t.MSPOINTER_TYPE_MOUSE&&t.pointerType!==t.MSPOINTER_TYPE_MOUSE){if(!(Nt.indexOf(t.target.tagName)<0))return;Di(t)}qt(t,i)});t["_leaflet_touchstart"+e]=n,t.addEventListener(At,n,!1),jt||(document.documentElement.addEventListener(At,Ft,!0),document.documentElement.addEventListener(It,Ut,!0),document.documentElement.addEventListener(Ot,Vt,!0),document.documentElement.addEventListener(Rt,Vt,!0),jt=!0)}(t,e,n):"touchmove"===i?function(t,i,e){var n=function(t){(t.pointerType!==t.MSPOINTER_TYPE_MOUSE&&"mouse"!==t.pointerType||0!==t.buttons)&&qt(t,i)};t["_leaflet_touchmove"+e]=n,t.addEventListener(It,n,!1)}(t,e,n):"touchend"===i&&function(t,i,e){var n=function(t){qt(t,i)};t["_leaflet_touchend"+e]=n,t.addEventListener(Ot,n,!1),t.addEventListener(Rt,n,!1)}(t,e,n),this}function Ft(t){Dt[t.pointerId]=t,Wt++}function Ut(t){Dt[t.pointerId]&&(Dt[t.pointerId]=t)}function Vt(t){delete Dt[t.pointerId],Wt--}function qt(t,i){for(var e in t.touches=[],Dt)t.touches.push(Dt[e]);t.changedTouches=[t],i(t)}var Gt=bt?"MSPointerDown":Lt?"pointerdown":"touchstart",Kt=bt?"MSPointerUp":Lt?"pointerup":"touchend",Yt="_leaflet_";function Xt(t,o,i){var s,r,a=!1;function e(t){var i;if(Lt){if(!nt||"mouse"===t.pointerType)return;i=Wt}else i=t.touches.length;if(!(1<i)){var e=Date.now(),n=e-(s||e);r=t.touches?t.touches[0]:t,a=0<n&&n<=250,s=e}}function n(t){if(a&&!r.cancelBubble){if(Lt){if(!nt||"mouse"===t.pointerType)return;var i,e,n={};for(e in r)i=r[e],n[e]=i&&i.bind?i.bind(r):i;r=n}r.type="dblclick",r.button=0,o(r),s=null}}return t[Yt+Gt+i]=e,t[Yt+Kt+i]=n,t[Yt+"dblclick"+i]=o,t.addEventListener(Gt,e,!1),t.addEventListener(Kt,n,!1),t.addEventListener("dblclick",o,!1),this}function Jt(t,i){var e=t[Yt+Gt+i],n=t[Yt+Kt+i],o=t[Yt+"dblclick"+i];return t.removeEventListener(Gt,e,!1),t.removeEventListener(Kt,n,!1),nt||t.removeEventListener("dblclick",o,!1),this}var $t,Qt,ti,ii,ei,ni=yi(["transform","webkitTransform","OTransform","MozTransform","msTransform"]),oi=yi(["webkitTransition","transition","OTransition","MozTransition","msTransition"]),si="webkitTransition"===oi||"OTransition"===oi?oi+"End":"transitionend";function ri(t){return"string"==typeof t?document.getElementById(t):t}function ai(t,i){var e=t.style[i]||t.currentStyle&&t.currentStyle[i];if((!e||"auto"===e)&&document.defaultView){var n=document.defaultView.getComputedStyle(t,null);e=n?n[i]:null}return"auto"===e?null:e}function hi(t,i,e){var n=document.createElement(t);return n.className=i||"",e&&e.appendChild(n),n}function ui(t){var i=t.parentNode;i&&i.removeChild(t)}function li(t){for(;t.firstChild;)t.removeChild(t.firstChild)}function ci(t){var i=t.parentNode;i&&i.lastChild!==t&&i.appendChild(t)}function _i(t){var i=t.parentNode;i&&i.firstChild!==t&&i.insertBefore(t,i.firstChild)}function di(t,i){if(void 0!==t.classList)return t.classList.contains(i);var e=gi(t);return 0<e.length&&new RegExp("(^|\\s)"+i+"(\\s|$)").test(e)}function pi(t,i){if(void 0!==t.classList)for(var e=d(i),n=0,o=e.length;n<o;n++)t.classList.add(e[n]);else if(!di(t,i)){var s=gi(t);fi(t,(s?s+" ":"")+i)}}function mi(t,i){void 0!==t.classList?t.classList.remove(i):fi(t,_((" "+gi(t)+" ").replace(" "+i+" "," ")))}function fi(t,i){void 0===t.className.baseVal?t.className=i:t.className.baseVal=i}function gi(t){return t.correspondingElement&&(t=t.correspondingElement),void 0===t.className.baseVal?t.className:t.className.baseVal}function vi(t,i){"opacity"in t.style?t.style.opacity=i:"filter"in t.style&&function(t,i){var e=!1,n="DXImageTransform.Microsoft.Alpha";try{e=t.filters.item(n)}catch(t){if(1===i)return}i=Math.round(100*i),e?(e.Enabled=100!==i,e.Opacity=i):t.style.filter+=" progid:"+n+"(opacity="+i+")"}(t,i)}function yi(t){for(var i=document.documentElement.style,e=0;e<t.length;e++)if(t[e]in i)return t[e];return!1}function xi(t,i,e){var n=i||new B(0,0);t.style[ni]=(ft?"translate("+n.x+"px,"+n.y+"px)":"translate3d("+n.x+"px,"+n.y+"px,0)")+(e?" scale("+e+")":"")}function wi(t,i){t._leaflet_pos=i,yt?xi(t,i):(t.style.left=i.x+"px",t.style.top=i.y+"px")}function Pi(t){return t._leaflet_pos||new B(0,0)}if("onselectstart"in document)$t=function(){Ei(window,"selectstart",Di)},Qt=function(){Bi(window,"selectstart",Di)};else{var bi=yi(["userSelect","WebkitUserSelect","OUserSelect","MozUserSelect","msUserSelect"]);$t=function(){if(bi){var t=document.documentElement.style;ti=t[bi],t[bi]="none"}},Qt=function(){bi&&(document.documentElement.style[bi]=ti,ti=void 0)}}function Li(){Ei(window,"dragstart",Di)}function Ti(){Bi(window,"dragstart",Di)}function zi(t){for(;-1===t.tabIndex;)t=t.parentNode;t.style&&(Mi(),ei=(ii=t).style.outline,t.style.outline="none",Ei(window,"keydown",Mi))}function Mi(){ii&&(ii.style.outline=ei,ei=ii=void 0,Bi(window,"keydown",Mi))}function Ci(t){for(;!((t=t.parentNode).offsetWidth&&t.offsetHeight||t===document.body););return t}function Si(t){var i=t.getBoundingClientRect();return{x:i.width/t.offsetWidth||1,y:i.height/t.offsetHeight||1,boundingClientRect:i}}var Zi=(Object.freeze||Object)({TRANSFORM:ni,TRANSITION:oi,TRANSITION_END:si,get:ri,getStyle:ai,create:hi,remove:ui,empty:li,toFront:ci,toBack:_i,hasClass:di,addClass:pi,removeClass:mi,setClass:fi,getClass:gi,setOpacity:vi,testProp:yi,setTransform:xi,setPosition:wi,getPosition:Pi,disableTextSelection:$t,enableTextSelection:Qt,disableImageDrag:Li,enableImageDrag:Ti,preventOutline:zi,restoreOutline:Mi,getSizedParentNode:Ci,getScale:Si});function Ei(t,i,e,n){if("object"==typeof i)for(var o in i)Ai(t,o,i[o],e);else for(var s=0,r=(i=d(i)).length;s<r;s++)Ai(t,i[s],e,n);return this}var ki="_leaflet_events";function Bi(t,i,e,n){if("object"==typeof i)for(var o in i)Ii(t,o,i[o],e);else if(i)for(var s=0,r=(i=d(i)).length;s<r;s++)Ii(t,i[s],e,n);else{for(var a in t[ki])Ii(t,a,t[ki][a]);delete t[ki]}return this}function Ai(i,t,e,n){var o=t+u(e)+(n?"_"+u(n):"");if(i[ki]&&i[ki][o])return this;var s=function(t){return e.call(n||i,t||window.event)},r=s;Lt&&0===t.indexOf("touch")?Ht(i,t,s,o):!Tt||"dblclick"!==t||Lt&<?"addEventListener"in i?"mousewheel"===t?i.addEventListener("onwheel"in i?"wheel":"mousewheel",s,!1):"mouseenter"===t||"mouseleave"===t?(s=function(t){t=t||window.event,Ki(i,t)&&r(t)},i.addEventListener("mouseenter"===t?"mouseover":"mouseout",s,!1)):("click"===t&&st&&(s=function(t){!function(t,i){var e=t.timeStamp||t.originalEvent&&t.originalEvent.timeStamp,n=Ui&&e-Ui;if(n&&100<n&&n<500||t.target._simulatedClick&&!t._simulated)return ji(t);Ui=e,i(t)}(t,r)}),i.addEventListener(t,s,!1)):"attachEvent"in i&&i.attachEvent("on"+t,s):Xt(i,s,o),i[ki]=i[ki]||{},i[ki][o]=s}function Ii(t,i,e,n){var o=i+u(e)+(n?"_"+u(n):""),s=t[ki]&&t[ki][o];if(!s)return this;Lt&&0===i.indexOf("touch")?function(t,i,e){var n=t["_leaflet_"+i+e];"touchstart"===i?t.removeEventListener(At,n,!1):"touchmove"===i?t.removeEventListener(It,n,!1):"touchend"===i&&(t.removeEventListener(Ot,n,!1),t.removeEventListener(Rt,n,!1))}(t,i,o):!Tt||"dblclick"!==i||Lt&<?"removeEventListener"in t?"mousewheel"===i?t.removeEventListener("onwheel"in t?"wheel":"mousewheel",s,!1):t.removeEventListener("mouseenter"===i?"mouseover":"mouseleave"===i?"mouseout":i,s,!1):"detachEvent"in t&&t.detachEvent("on"+i,s):Jt(t,o),t[ki][o]=null}function Oi(t){return t.stopPropagation?t.stopPropagation():t.originalEvent?t.originalEvent._stopped=!0:t.cancelBubble=!0,Gi(t),this}function Ri(t){return Ai(t,"mousewheel",Oi),this}function Ni(t){return Ei(t,"mousedown touchstart dblclick",Oi),Ai(t,"click",qi),this}function Di(t){return t.preventDefault?t.preventDefault():t.returnValue=!1,this}function ji(t){return Di(t),Oi(t),this}function Wi(t,i){if(!i)return new B(t.clientX,t.clientY);var e=Si(i),n=e.boundingClientRect;return new B((t.clientX-n.left)/e.x-i.clientLeft,(t.clientY-n.top)/e.y-i.clientTop)}var Hi=mt&<?2*window.devicePixelRatio:ct?window.devicePixelRatio:1;function Fi(t){return nt?t.wheelDeltaY/2:t.deltaY&&0===t.deltaMode?-t.deltaY/Hi:t.deltaY&&1===t.deltaMode?20*-t.deltaY:t.deltaY&&2===t.deltaMode?60*-t.deltaY:t.deltaX||t.deltaZ?0:t.wheelDelta?(t.wheelDeltaY||t.wheelDelta)/2:t.detail&&Math.abs(t.detail)<32765?20*-t.detail:t.detail?t.detail/-32765*60:0}var Ui,Vi={};function qi(t){Vi[t.type]=!0}function Gi(t){var i=Vi[t.type];return Vi[t.type]=!1,i}function Ki(t,i){var e=i.relatedTarget;if(!e)return!0;try{for(;e&&e!==t;)e=e.parentNode}catch(t){return!1}return e!==t}var Yi=(Object.freeze||Object)({on:Ei,off:Bi,stopPropagation:Oi,disableScrollPropagation:Ri,disableClickPropagation:Ni,preventDefault:Di,stop:ji,getMousePosition:Wi,getWheelDelta:Fi,fakeStop:qi,skipped:Gi,isExternalTarget:Ki,addListener:Ei,removeListener:Bi}),Xi=k.extend({run:function(t,i,e,n){this.stop(),this._el=t,this._inProgress=!0,this._duration=e||.25,this._easeOutPower=1/Math.max(n||.5,.2),this._startPos=Pi(t),this._offset=i.subtract(this._startPos),this._startTime=+new Date,this.fire("start"),this._animate()},stop:function(){this._inProgress&&(this._step(!0),this._complete())},_animate:function(){this._animId=M(this._animate,this),this._step()},_step:function(t){var i=+new Date-this._startTime,e=1e3*this._duration;i<e?this._runFrame(this._easeOut(i/e),t):(this._runFrame(1),this._complete())},_runFrame:function(t,i){var e=this._startPos.add(this._offset.multiplyBy(t));i&&e._round(),wi(this._el,e),this.fire("step")},_complete:function(){C(this._animId),this._inProgress=!1,this.fire("end")},_easeOut:function(t){return 1-Math.pow(1-t,this._easeOutPower)}}),Ji=k.extend({options:{crs:X,center:void 0,zoom:void 0,minZoom:void 0,maxZoom:void 0,layers:[],maxBounds:void 0,renderer:void 0,zoomAnimation:!0,zoomAnimationThreshold:4,fadeAnimation:!0,markerZoomAnimation:!0,transform3DLimit:8388608,zoomSnap:1,zoomDelta:1,trackResize:!0},initialize:function(t,i){i=p(this,i),this._handlers=[],this._layers={},this._zoomBoundLayers={},this._sizeChanged=!0,this._initContainer(t),this._initLayout(),this._onResize=a(this._onResize,this),this._initEvents(),i.maxBounds&&this.setMaxBounds(i.maxBounds),void 0!==i.zoom&&(this._zoom=this._limitZoom(i.zoom)),i.center&&void 0!==i.zoom&&this.setView(W(i.center),i.zoom,{reset:!0}),this.callInitHooks(),this._zoomAnimated=oi&&yt&&!zt&&this.options.zoomAnimation,this._zoomAnimated&&(this._createAnimProxy(),Ei(this._proxy,si,this._catchTransitionEnd,this)),this._addLayers(this.options.layers)},setView:function(t,i,e){if((i=void 0===i?this._zoom:this._limitZoom(i),t=this._limitCenter(W(t),i,this.options.maxBounds),e=e||{},this._stop(),this._loaded&&!e.reset&&!0!==e)&&(void 0!==e.animate&&(e.zoom=h({animate:e.animate},e.zoom),e.pan=h({animate:e.animate,duration:e.duration},e.pan)),this._zoom!==i?this._tryAnimatedZoom&&this._tryAnimatedZoom(t,i,e.zoom):this._tryAnimatedPan(t,e.pan)))return clearTimeout(this._sizeTimer),this;return this._resetView(t,i),this},setZoom:function(t,i){return this._loaded?this.setView(this.getCenter(),t,{zoom:i}):(this._zoom=t,this)},zoomIn:function(t,i){return t=t||(yt?this.options.zoomDelta:1),this.setZoom(this._zoom+t,i)},zoomOut:function(t,i){return t=t||(yt?this.options.zoomDelta:1),this.setZoom(this._zoom-t,i)},setZoomAround:function(t,i,e){var n=this.getZoomScale(i),o=this.getSize().divideBy(2),s=(t instanceof B?t:this.latLngToContainerPoint(t)).subtract(o).multiplyBy(1-1/n),r=this.containerPointToLatLng(o.add(s));return this.setView(r,i,{zoom:e})},_getBoundsCenterZoom:function(t,i){i=i||{},t=t.getBounds?t.getBounds():D(t);var e=I(i.paddingTopLeft||i.padding||[0,0]),n=I(i.paddingBottomRight||i.padding||[0,0]),o=this.getBoundsZoom(t,!1,e.add(n));if((o="number"==typeof i.maxZoom?Math.min(i.maxZoom,o):o)===1/0)return{center:t.getCenter(),zoom:o};var s=n.subtract(e).divideBy(2),r=this.project(t.getSouthWest(),o),a=this.project(t.getNorthEast(),o);return{center:this.unproject(r.add(a).divideBy(2).add(s),o),zoom:o}},fitBounds:function(t,i){if(!(t=D(t)).isValid())throw new Error("Bounds are not valid.");var e=this._getBoundsCenterZoom(t,i);return this.setView(e.center,e.zoom,i)},fitWorld:function(t){return this.fitBounds([[-90,-180],[90,180]],t)},panTo:function(t,i){return this.setView(t,this._zoom,{pan:i})},panBy:function(t,i){if(i=i||{},!(t=I(t).round()).x&&!t.y)return this.fire("moveend");if(!0!==i.animate&&!this.getSize().contains(t))return this._resetView(this.unproject(this.project(this.getCenter()).add(t)),this.getZoom()),this;if(this._panAnim||(this._panAnim=new Xi,this._panAnim.on({step:this._onPanTransitionStep,end:this._onPanTransitionEnd},this)),i.noMoveStart||this.fire("movestart"),!1!==i.animate){pi(this._mapPane,"leaflet-pan-anim");var e=this._getMapPanePos().subtract(t).round();this._panAnim.run(this._mapPane,e,i.duration||.25,i.easeLinearity)}else this._rawPanBy(t),this.fire("move").fire("moveend");return this},flyTo:function(n,o,t){if(!1===(t=t||{}).animate||!yt)return this.setView(n,o,t);this._stop();var s=this.project(this.getCenter()),r=this.project(n),i=this.getSize(),a=this._zoom;n=W(n),o=void 0===o?a:o;var h=Math.max(i.x,i.y),u=h*this.getZoomScale(a,o),l=r.distanceTo(s)||1,c=1.42,_=c*c;function e(t){var i=(u*u-h*h+(t?-1:1)*_*_*l*l)/(2*(t?u:h)*_*l),e=Math.sqrt(i*i+1)-i;return e<1e-9?-18:Math.log(e)}function d(t){return(Math.exp(t)-Math.exp(-t))/2}function p(t){return(Math.exp(t)+Math.exp(-t))/2}var m=e(0);function f(t){return h*(p(m)*function(t){return d(t)/p(t)}(m+c*t)-d(m))/_}var g=Date.now(),v=(e(1)-m)/c,y=t.duration?1e3*t.duration:1e3*v*.8;return this._moveStart(!0,t.noMoveStart),function t(){var i=(Date.now()-g)/y,e=function(t){return 1-Math.pow(1-t,1.5)}(i)*v;i<=1?(this._flyToFrame=M(t,this),this._move(this.unproject(s.add(r.subtract(s).multiplyBy(f(e)/l)),a),this.getScaleZoom(h/function(t){return h*(p(m)/p(m+c*t))}(e),a),{flyTo:!0})):this._move(n,o)._moveEnd(!0)}.call(this),this},flyToBounds:function(t,i){var e=this._getBoundsCenterZoom(t,i);return this.flyTo(e.center,e.zoom,i)},setMaxBounds:function(t){return(t=D(t)).isValid()?(this.options.maxBounds&&this.off("moveend",this._panInsideMaxBounds),this.options.maxBounds=t,this._loaded&&this._panInsideMaxBounds(),this.on("moveend",this._panInsideMaxBounds)):(this.options.maxBounds=null,this.off("moveend",this._panInsideMaxBounds))},setMinZoom:function(t){var i=this.options.minZoom;return this.options.minZoom=t,this._loaded&&i!==t&&(this.fire("zoomlevelschange"),this.getZoom()<this.options.minZoom)?this.setZoom(t):this},setMaxZoom:function(t){var i=this.options.maxZoom;return this.options.maxZoom=t,this._loaded&&i!==t&&(this.fire("zoomlevelschange"),this.getZoom()>this.options.maxZoom)?this.setZoom(t):this},panInsideBounds:function(t,i){this._enforcingBounds=!0;var e=this.getCenter(),n=this._limitCenter(e,this._zoom,D(t));return e.equals(n)||this.panTo(n,i),this._enforcingBounds=!1,this},panInside:function(t,i){var e=I((i=i||{}).paddingTopLeft||i.padding||[0,0]),n=I(i.paddingBottomRight||i.padding||[0,0]),o=this.getCenter(),s=this.project(o),r=this.project(t),a=this.getPixelBounds(),h=a.getSize().divideBy(2),u=R([a.min.add(e),a.max.subtract(n)]);if(!u.contains(r)){this._enforcingBounds=!0;var l=s.subtract(r),c=I(r.x+l.x,r.y+l.y);(r.x<u.min.x||r.x>u.max.x)&&(c.x=s.x-l.x,0<l.x?c.x+=h.x-e.x:c.x-=h.x-n.x),(r.y<u.min.y||r.y>u.max.y)&&(c.y=s.y-l.y,0<l.y?c.y+=h.y-e.y:c.y-=h.y-n.y),this.panTo(this.unproject(c),i),this._enforcingBounds=!1}return this},invalidateSize:function(t){if(!this._loaded)return this;t=h({animate:!1,pan:!0},!0===t?{animate:!0}:t);var i=this.getSize();this._sizeChanged=!0,this._lastCenter=null;var e=this.getSize(),n=i.divideBy(2).round(),o=e.divideBy(2).round(),s=n.subtract(o);return s.x||s.y?(t.animate&&t.pan?this.panBy(s):(t.pan&&this._rawPanBy(s),this.fire("move"),t.debounceMoveend?(clearTimeout(this._sizeTimer),this._sizeTimer=setTimeout(a(this.fire,this,"moveend"),200)):this.fire("moveend")),this.fire("resize",{oldSize:i,newSize:e})):this},stop:function(){return this.setZoom(this._limitZoom(this._zoom)),this.options.zoomSnap||this.fire("viewreset"),this._stop()},locate:function(t){if(t=this._locateOptions=h({timeout:1e4,watch:!1},t),!("geolocation"in navigator))return this._handleGeolocationError({code:0,message:"Geolocation not supported."}),this;var i=a(this._handleGeolocationResponse,this),e=a(this._handleGeolocationError,this);return t.watch?this._locationWatchId=navigator.geolocation.watchPosition(i,e,t):navigator.geolocation.getCurrentPosition(i,e,t),this},stopLocate:function(){return navigator.geolocation&&navigator.geolocation.clearWatch&&navigator.geolocation.clearWatch(this._locationWatchId),this._locateOptions&&(this._locateOptions.setView=!1),this},_handleGeolocationError:function(t){var i=t.code,e=t.message||(1===i?"permission denied":2===i?"position unavailable":"timeout");this._locateOptions.setView&&!this._loaded&&this.fitWorld(),this.fire("locationerror",{code:i,message:"Geolocation error: "+e+"."})},_handleGeolocationResponse:function(t){var i=new j(t.coords.latitude,t.coords.longitude),e=i.toBounds(2*t.coords.accuracy),n=this._locateOptions;if(n.setView){var o=this.getBoundsZoom(e);this.setView(i,n.maxZoom?Math.min(o,n.maxZoom):o)}var s={latlng:i,bounds:e,timestamp:t.timestamp};for(var r in t.coords)"number"==typeof t.coords[r]&&(s[r]=t.coords[r]);this.fire("locationfound",s)},addHandler:function(t,i){if(!i)return this;var e=this[t]=new i(this);return this._handlers.push(e),this.options[t]&&e.enable(),this},remove:function(){if(this._initEvents(!0),this._containerId!==this._container._leaflet_id)throw new Error("Map container is being reused by another instance");try{delete this._container._leaflet_id,delete this._containerId}catch(t){this._container._leaflet_id=void 0,this._containerId=void 0}var t;for(t in void 0!==this._locationWatchId&&this.stopLocate(),this._stop(),ui(this._mapPane),this._clearControlPos&&this._clearControlPos(),this._resizeRequest&&(C(this._resizeRequest),this._resizeRequest=null),this._clearHandlers(),this._loaded&&this.fire("unload"),this._layers)this._layers[t].remove();for(t in this._panes)ui(this._panes[t]);return this._layers=[],this._panes=[],delete this._mapPane,delete this._renderer,this},createPane:function(t,i){var e=hi("div","leaflet-pane"+(t?" leaflet-"+t.replace("Pane","")+"-pane":""),i||this._mapPane);return t&&(this._panes[t]=e),e},getCenter:function(){return this._checkIfLoaded(),this._lastCenter&&!this._moved()?this._lastCenter:this.layerPointToLatLng(this._getCenterLayerPoint())},getZoom:function(){return this._zoom},getBounds:function(){var t=this.getPixelBounds();return new N(this.unproject(t.getBottomLeft()),this.unproject(t.getTopRight()))},getMinZoom:function(){return void 0===this.options.minZoom?this._layersMinZoom||0:this.options.minZoom},getMaxZoom:function(){return void 0===this.options.maxZoom?void 0===this._layersMaxZoom?1/0:this._layersMaxZoom:this.options.maxZoom},getBoundsZoom:function(t,i,e){t=D(t),e=I(e||[0,0]);var n=this.getZoom()||0,o=this.getMinZoom(),s=this.getMaxZoom(),r=t.getNorthWest(),a=t.getSouthEast(),h=this.getSize().subtract(e),u=R(this.project(a,n),this.project(r,n)).getSize(),l=yt?this.options.zoomSnap:1,c=h.x/u.x,_=h.y/u.y,d=i?Math.max(c,_):Math.min(c,_);return n=this.getScaleZoom(d,n),l&&(n=Math.round(n/(l/100))*(l/100),n=i?Math.ceil(n/l)*l:Math.floor(n/l)*l),Math.max(o,Math.min(s,n))},getSize:function(){return this._size&&!this._sizeChanged||(this._size=new B(this._container.clientWidth||0,this._container.clientHeight||0),this._sizeChanged=!1),this._size.clone()},getPixelBounds:function(t,i){var e=this._getTopLeftPoint(t,i);return new O(e,e.add(this.getSize()))},getPixelOrigin:function(){return this._checkIfLoaded(),this._pixelOrigin},getPixelWorldBounds:function(t){return this.options.crs.getProjectedBounds(void 0===t?this.getZoom():t)},getPane:function(t){return"string"==typeof t?this._panes[t]:t},getPanes:function(){return this._panes},getContainer:function(){return this._container},getZoomScale:function(t,i){var e=this.options.crs;return i=void 0===i?this._zoom:i,e.scale(t)/e.scale(i)},getScaleZoom:function(t,i){var e=this.options.crs;i=void 0===i?this._zoom:i;var n=e.zoom(t*e.scale(i));return isNaN(n)?1/0:n},project:function(t,i){return i=void 0===i?this._zoom:i,this.options.crs.latLngToPoint(W(t),i)},unproject:function(t,i){return i=void 0===i?this._zoom:i,this.options.crs.pointToLatLng(I(t),i)},layerPointToLatLng:function(t){var i=I(t).add(this.getPixelOrigin());return this.unproject(i)},latLngToLayerPoint:function(t){return this.project(W(t))._round()._subtract(this.getPixelOrigin())},wrapLatLng:function(t){return this.options.crs.wrapLatLng(W(t))},wrapLatLngBounds:function(t){return this.options.crs.wrapLatLngBounds(D(t))},distance:function(t,i){return this.options.crs.distance(W(t),W(i))},containerPointToLayerPoint:function(t){return I(t).subtract(this._getMapPanePos())},layerPointToContainerPoint:function(t){return I(t).add(this._getMapPanePos())},containerPointToLatLng:function(t){var i=this.containerPointToLayerPoint(I(t));return this.layerPointToLatLng(i)},latLngToContainerPoint:function(t){return this.layerPointToContainerPoint(this.latLngToLayerPoint(W(t)))},mouseEventToContainerPoint:function(t){return Wi(t,this._container)},mouseEventToLayerPoint:function(t){return this.containerPointToLayerPoint(this.mouseEventToContainerPoint(t))},mouseEventToLatLng:function(t){return this.layerPointToLatLng(this.mouseEventToLayerPoint(t))},_initContainer:function(t){var i=this._container=ri(t);if(!i)throw new Error("Map container not found.");if(i._leaflet_id)throw new Error("Map container is already initialized.");Ei(i,"scroll",this._onScroll,this),this._containerId=u(i)},_initLayout:function(){var t=this._container;this._fadeAnimated=this.options.fadeAnimation&&yt,pi(t,"leaflet-container"+(Tt?" leaflet-touch":"")+(Ct?" leaflet-retina":"")+(et?" leaflet-oldie":"")+(_t?" leaflet-safari":"")+(this._fadeAnimated?" leaflet-fade-anim":""));var i=ai(t,"position");"absolute"!==i&&"relative"!==i&&"fixed"!==i&&(t.style.position="relative"),this._initPanes(),this._initControlPos&&this._initControlPos()},_initPanes:function(){var t=this._panes={};this._paneRenderers={},this._mapPane=this.createPane("mapPane",this._container),wi(this._mapPane,new B(0,0)),this.createPane("tilePane"),this.createPane("shadowPane"),this.createPane("overlayPane"),this.createPane("markerPane"),this.createPane("tooltipPane"),this.createPane("popupPane"),this.options.markerZoomAnimation||(pi(t.markerPane,"leaflet-zoom-hide"),pi(t.shadowPane,"leaflet-zoom-hide"))},_resetView:function(t,i){wi(this._mapPane,new B(0,0));var e=!this._loaded;this._loaded=!0,i=this._limitZoom(i),this.fire("viewprereset");var n=this._zoom!==i;this._moveStart(n,!1)._move(t,i)._moveEnd(n),this.fire("viewreset"),e&&this.fire("load")},_moveStart:function(t,i){return t&&this.fire("zoomstart"),i||this.fire("movestart"),this},_move:function(t,i,e){void 0===i&&(i=this._zoom);var n=this._zoom!==i;return this._zoom=i,this._lastCenter=t,this._pixelOrigin=this._getNewPixelOrigin(t),(n||e&&e.pinch)&&this.fire("zoom",e),this.fire("move",e)},_moveEnd:function(t){return t&&this.fire("zoomend"),this.fire("moveend")},_stop:function(){return C(this._flyToFrame),this._panAnim&&this._panAnim.stop(),this},_rawPanBy:function(t){wi(this._mapPane,this._getMapPanePos().subtract(t))},_getZoomSpan:function(){return this.getMaxZoom()-this.getMinZoom()},_panInsideMaxBounds:function(){this._enforcingBounds||this.panInsideBounds(this.options.maxBounds)},_checkIfLoaded:function(){if(!this._loaded)throw new Error("Set map center and zoom first.")},_initEvents:function(t){this._targets={};var i=t?Bi:Ei;i((this._targets[u(this._container)]=this)._container,"click dblclick mousedown mouseup mouseover mouseout mousemove contextmenu keypress keydown keyup",this._handleDOMEvent,this),this.options.trackResize&&i(window,"resize",this._onResize,this),yt&&this.options.transform3DLimit&&(t?this.off:this.on).call(this,"moveend",this._onMoveEnd)},_onResize:function(){C(this._resizeRequest),this._resizeRequest=M(function(){this.invalidateSize({debounceMoveend:!0})},this)},_onScroll:function(){this._container.scrollTop=0,this._container.scrollLeft=0},_onMoveEnd:function(){var t=this._getMapPanePos();Math.max(Math.abs(t.x),Math.abs(t.y))>=this.options.transform3DLimit&&this._resetView(this.getCenter(),this.getZoom())},_findEventTargets:function(t,i){for(var e,n=[],o="mouseout"===i||"mouseover"===i,s=t.target||t.srcElement,r=!1;s;){if((e=this._targets[u(s)])&&("click"===i||"preclick"===i)&&!t._simulated&&this._draggableMoved(e)){r=!0;break}if(e&&e.listens(i,!0)){if(o&&!Ki(s,t))break;if(n.push(e),o)break}if(s===this._container)break;s=s.parentNode}return n.length||r||o||!Ki(s,t)||(n=[this]),n},_handleDOMEvent:function(t){if(this._loaded&&!Gi(t)){var i=t.type;"mousedown"!==i&&"keypress"!==i&&"keyup"!==i&&"keydown"!==i||zi(t.target||t.srcElement),this._fireDOMEvent(t,i)}},_mouseEvents:["click","dblclick","mouseover","mouseout","contextmenu"],_fireDOMEvent:function(t,i,e){if("click"===t.type){var n=h({},t);n.type="preclick",this._fireDOMEvent(n,n.type,e)}if(!t._stopped&&(e=(e||[]).concat(this._findEventTargets(t,i))).length){var o=e[0];"contextmenu"===i&&o.listens(i,!0)&&Di(t);var s={originalEvent:t};if("keypress"!==t.type&&"keydown"!==t.type&&"keyup"!==t.type){var r=o.getLatLng&&(!o._radius||o._radius<=10);s.containerPoint=r?this.latLngToContainerPoint(o.getLatLng()):this.mouseEventToContainerPoint(t),s.layerPoint=this.containerPointToLayerPoint(s.containerPoint),s.latlng=r?o.getLatLng():this.layerPointToLatLng(s.layerPoint)}for(var a=0;a<e.length;a++)if(e[a].fire(i,s,!0),s.originalEvent._stopped||!1===e[a].options.bubblingMouseEvents&&-1!==y(this._mouseEvents,i))return}},_draggableMoved:function(t){return(t=t.dragging&&t.dragging.enabled()?t:this).dragging&&t.dragging.moved()||this.boxZoom&&this.boxZoom.moved()},_clearHandlers:function(){for(var t=0,i=this._handlers.length;t<i;t++)this._handlers[t].disable()},whenReady:function(t,i){return this._loaded?t.call(i||this,{target:this}):this.on("load",t,i),this},_getMapPanePos:function(){return Pi(this._mapPane)||new B(0,0)},_moved:function(){var t=this._getMapPanePos();return t&&!t.equals([0,0])},_getTopLeftPoint:function(t,i){return(t&&void 0!==i?this._getNewPixelOrigin(t,i):this.getPixelOrigin()).subtract(this._getMapPanePos())},_getNewPixelOrigin:function(t,i){var e=this.getSize()._divideBy(2);return this.project(t,i)._subtract(e)._add(this._getMapPanePos())._round()},_latLngToNewLayerPoint:function(t,i,e){var n=this._getNewPixelOrigin(e,i);return this.project(t,i)._subtract(n)},_latLngBoundsToNewLayerBounds:function(t,i,e){var n=this._getNewPixelOrigin(e,i);return R([this.project(t.getSouthWest(),i)._subtract(n),this.project(t.getNorthWest(),i)._subtract(n),this.project(t.getSouthEast(),i)._subtract(n),this.project(t.getNorthEast(),i)._subtract(n)])},_getCenterLayerPoint:function(){return this.containerPointToLayerPoint(this.getSize()._divideBy(2))},_getCenterOffset:function(t){return this.latLngToLayerPoint(t).subtract(this._getCenterLayerPoint())},_limitCenter:function(t,i,e){if(!e)return t;var n=this.project(t,i),o=this.getSize().divideBy(2),s=new O(n.subtract(o),n.add(o)),r=this._getBoundsOffset(s,e,i);return r.round().equals([0,0])?t:this.unproject(n.add(r),i)},_limitOffset:function(t,i){if(!i)return t;var e=this.getPixelBounds(),n=new O(e.min.add(t),e.max.add(t));return t.add(this._getBoundsOffset(n,i))},_getBoundsOffset:function(t,i,e){var n=R(this.project(i.getNorthEast(),e),this.project(i.getSouthWest(),e)),o=n.min.subtract(t.min),s=n.max.subtract(t.max);return new B(this._rebound(o.x,-s.x),this._rebound(o.y,-s.y))},_rebound:function(t,i){return 0<t+i?Math.round(t-i)/2:Math.max(0,Math.ceil(t))-Math.max(0,Math.floor(i))},_limitZoom:function(t){var i=this.getMinZoom(),e=this.getMaxZoom(),n=yt?this.options.zoomSnap:1;return n&&(t=Math.round(t/n)*n),Math.max(i,Math.min(e,t))},_onPanTransitionStep:function(){this.fire("move")},_onPanTransitionEnd:function(){mi(this._mapPane,"leaflet-pan-anim"),this.fire("moveend")},_tryAnimatedPan:function(t,i){var e=this._getCenterOffset(t)._trunc();return!(!0!==(i&&i.animate)&&!this.getSize().contains(e))&&(this.panBy(e,i),!0)},_createAnimProxy:function(){var t=this._proxy=hi("div","leaflet-proxy leaflet-zoom-animated");this._panes.mapPane.appendChild(t),this.on("zoomanim",function(t){var i=ni,e=this._proxy.style[i];xi(this._proxy,this.project(t.center,t.zoom),this.getZoomScale(t.zoom,1)),e===this._proxy.style[i]&&this._animatingZoom&&this._onZoomTransitionEnd()},this),this.on("load moveend",function(){var t=this.getCenter(),i=this.getZoom();xi(this._proxy,this.project(t,i),this.getZoomScale(i,1))},this),this._on("unload",this._destroyAnimProxy,this)},_destroyAnimProxy:function(){ui(this._proxy),delete this._proxy},_catchTransitionEnd:function(t){this._animatingZoom&&0<=t.propertyName.indexOf("transform")&&this._onZoomTransitionEnd()},_nothingToAnimate:function(){return!this._container.getElementsByClassName("leaflet-zoom-animated").length},_tryAnimatedZoom:function(t,i,e){if(this._animatingZoom)return!0;if(e=e||{},!this._zoomAnimated||!1===e.animate||this._nothingToAnimate()||Math.abs(i-this._zoom)>this.options.zoomAnimationThreshold)return!1;var n=this.getZoomScale(i),o=this._getCenterOffset(t)._divideBy(1-1/n);return!(!0!==e.animate&&!this.getSize().contains(o))&&(M(function(){this._moveStart(!0,!1)._animateZoom(t,i,!0)},this),!0)},_animateZoom:function(t,i,e,n){this._mapPane&&(e&&(this._animatingZoom=!0,this._animateToCenter=t,this._animateToZoom=i,pi(this._mapPane,"leaflet-zoom-anim")),this.fire("zoomanim",{center:t,zoom:i,noUpdate:n}),setTimeout(a(this._onZoomTransitionEnd,this),250))},_onZoomTransitionEnd:function(){this._animatingZoom&&(this._mapPane&&mi(this._mapPane,"leaflet-zoom-anim"),this._animatingZoom=!1,this._move(this._animateToCenter,this._animateToZoom),M(function(){this._moveEnd(!0)},this))}});function $i(t){return new Qi(t)}var Qi=Z.extend({options:{position:"topright"},initialize:function(t){p(this,t)},getPosition:function(){return this.options.position},setPosition:function(t){var i=this._map;return i&&i.removeControl(this),this.options.position=t,i&&i.addControl(this),this},getContainer:function(){return this._container},addTo:function(t){this.remove(),this._map=t;var i=this._container=this.onAdd(t),e=this.getPosition(),n=t._controlCorners[e];return pi(i,"leaflet-control"),-1!==e.indexOf("bottom")?n.insertBefore(i,n.firstChild):n.appendChild(i),this._map.on("unload",this.remove,this),this},remove:function(){return this._map&&(ui(this._container),this.onRemove&&this.onRemove(this._map),this._map.off("unload",this.remove,this),this._map=null),this},_refocusOnMap:function(t){this._map&&t&&0<t.screenX&&0<t.screenY&&this._map.getContainer().focus()}});Ji.include({addControl:function(t){return t.addTo(this),this},removeControl:function(t){return t.remove(),this},_initControlPos:function(){var n=this._controlCorners={},o="leaflet-",s=this._controlContainer=hi("div",o+"control-container",this._container);function t(t,i){var e=o+t+" "+o+i;n[t+i]=hi("div",e,s)}t("top","left"),t("top","right"),t("bottom","left"),t("bottom","right")},_clearControlPos:function(){for(var t in this._controlCorners)ui(this._controlCorners[t]);ui(this._controlContainer),delete this._controlCorners,delete this._controlContainer}});var te=Qi.extend({options:{collapsed:!0,position:"topright",autoZIndex:!0,hideSingleBase:!1,sortLayers:!1,sortFunction:function(t,i,e,n){return e<n?-1:n<e?1:0}},initialize:function(t,i,e){for(var n in p(this,e),this._layerControlInputs=[],this._layers=[],this._lastZIndex=0,this._handlingClick=!1,t)this._addLayer(t[n],n);for(n in i)this._addLayer(i[n],n,!0)},onAdd:function(t){this._initLayout(),this._update(),(this._map=t).on("zoomend",this._checkDisabledLayers,this);for(var i=0;i<this._layers.length;i++)this._layers[i].layer.on("add remove",this._onLayerChange,this);return this._container},addTo:function(t){return Qi.prototype.addTo.call(this,t),this._expandIfNotCollapsed()},onRemove:function(){this._map.off("zoomend",this._checkDisabledLayers,this);for(var t=0;t<this._layers.length;t++)this._layers[t].layer.off("add remove",this._onLayerChange,this)},addBaseLayer:function(t,i){return this._addLayer(t,i),this._map?this._update():this},addOverlay:function(t,i){return this._addLayer(t,i,!0),this._map?this._update():this},removeLayer:function(t){t.off("add remove",this._onLayerChange,this);var i=this._getLayer(u(t));return i&&this._layers.splice(this._layers.indexOf(i),1),this._map?this._update():this},expand:function(){pi(this._container,"leaflet-control-layers-expanded"),this._section.style.height=null;var t=this._map.getSize().y-(this._container.offsetTop+50);return t<this._section.clientHeight?(pi(this._section,"leaflet-control-layers-scrollbar"),this._section.style.height=t+"px"):mi(this._section,"leaflet-control-layers-scrollbar"),this._checkDisabledLayers(),this},collapse:function(){return mi(this._container,"leaflet-control-layers-expanded"),this},_initLayout:function(){var t="leaflet-control-layers",i=this._container=hi("div",t),e=this.options.collapsed;i.setAttribute("aria-haspopup",!0),Ni(i),Ri(i);var n=this._section=hi("section",t+"-list");e&&(this._map.on("click",this.collapse,this),st||Ei(i,{mouseenter:this.expand,mouseleave:this.collapse},this));var o=this._layersLink=hi("a",t+"-toggle",i);o.href="#",o.title="Layers",Tt?(Ei(o,"click",ji),Ei(o,"click",this.expand,this)):Ei(o,"focus",this.expand,this),e||this.expand(),this._baseLayersList=hi("div",t+"-base",n),this._separator=hi("div",t+"-separator",n),this._overlaysList=hi("div",t+"-overlays",n),i.appendChild(n)},_getLayer:function(t){for(var i=0;i<this._layers.length;i++)if(this._layers[i]&&u(this._layers[i].layer)===t)return this._layers[i]},_addLayer:function(t,i,e){this._map&&t.on("add remove",this._onLayerChange,this),this._layers.push({layer:t,name:i,overlay:e}),this.options.sortLayers&&this._layers.sort(a(function(t,i){return this.options.sortFunction(t.layer,i.layer,t.name,i.name)},this)),this.options.autoZIndex&&t.setZIndex&&(this._lastZIndex++,t.setZIndex(this._lastZIndex)),this._expandIfNotCollapsed()},_update:function(){if(!this._container)return this;li(this._baseLayersList),li(this._overlaysList),this._layerControlInputs=[];var t,i,e,n,o=0;for(e=0;e<this._layers.length;e++)n=this._layers[e],this._addItem(n),i=i||n.overlay,t=t||!n.overlay,o+=n.overlay?0:1;return this.options.hideSingleBase&&(t=t&&1<o,this._baseLayersList.style.display=t?"":"none"),this._separator.style.display=i&&t?"":"none",this},_onLayerChange:function(t){this._handlingClick||this._update();var i=this._getLayer(u(t.target)),e=i.overlay?"add"===t.type?"overlayadd":"overlayremove":"add"===t.type?"baselayerchange":null;e&&this._map.fire(e,i)},_createRadioElement:function(t,i){var e='<input type="radio" class="leaflet-control-layers-selector" name="'+t+'"'+(i?' checked="checked"':"")+"/>",n=document.createElement("div");return n.innerHTML=e,n.firstChild},_addItem:function(t){var i,e=document.createElement("label"),n=this._map.hasLayer(t.layer);t.overlay?((i=document.createElement("input")).type="checkbox",i.className="leaflet-control-layers-selector",i.defaultChecked=n):i=this._createRadioElement("leaflet-base-layers_"+u(this),n),this._layerControlInputs.push(i),i.layerId=u(t.layer),Ei(i,"click",this._onInputClick,this);var o=document.createElement("span");o.innerHTML=" "+t.name;var s=document.createElement("div");return e.appendChild(s),s.appendChild(i),s.appendChild(o),(t.overlay?this._overlaysList:this._baseLayersList).appendChild(e),this._checkDisabledLayers(),e},_onInputClick:function(){var t,i,e=this._layerControlInputs,n=[],o=[];this._handlingClick=!0;for(var s=e.length-1;0<=s;s--)t=e[s],i=this._getLayer(t.layerId).layer,t.checked?n.push(i):t.checked||o.push(i);for(s=0;s<o.length;s++)this._map.hasLayer(o[s])&&this._map.removeLayer(o[s]);for(s=0;s<n.length;s++)this._map.hasLayer(n[s])||this._map.addLayer(n[s]);this._handlingClick=!1,this._refocusOnMap()},_checkDisabledLayers:function(){for(var t,i,e=this._layerControlInputs,n=this._map.getZoom(),o=e.length-1;0<=o;o--)t=e[o],i=this._getLayer(t.layerId).layer,t.disabled=void 0!==i.options.minZoom&&n<i.options.minZoom||void 0!==i.options.maxZoom&&n>i.options.maxZoom},_expandIfNotCollapsed:function(){return this._map&&!this.options.collapsed&&this.expand(),this},_expand:function(){return this.expand()},_collapse:function(){return this.collapse()}}),ie=Qi.extend({options:{position:"topleft",zoomInText:"+",zoomInTitle:"Zoom in",zoomOutText:"−",zoomOutTitle:"Zoom out"},onAdd:function(t){var i="leaflet-control-zoom",e=hi("div",i+" leaflet-bar"),n=this.options;return this._zoomInButton=this._createButton(n.zoomInText,n.zoomInTitle,i+"-in",e,this._zoomIn),this._zoomOutButton=this._createButton(n.zoomOutText,n.zoomOutTitle,i+"-out",e,this._zoomOut),this._updateDisabled(),t.on("zoomend zoomlevelschange",this._updateDisabled,this),e},onRemove:function(t){t.off("zoomend zoomlevelschange",this._updateDisabled,this)},disable:function(){return this._disabled=!0,this._updateDisabled(),this},enable:function(){return this._disabled=!1,this._updateDisabled(),this},_zoomIn:function(t){!this._disabled&&this._map._zoom<this._map.getMaxZoom()&&this._map.zoomIn(this._map.options.zoomDelta*(t.shiftKey?3:1))},_zoomOut:function(t){!this._disabled&&this._map._zoom>this._map.getMinZoom()&&this._map.zoomOut(this._map.options.zoomDelta*(t.shiftKey?3:1))},_createButton:function(t,i,e,n,o){var s=hi("a",e,n);return s.innerHTML=t,s.href="#",s.title=i,s.setAttribute("role","button"),s.setAttribute("aria-label",i),Ni(s),Ei(s,"click",ji),Ei(s,"click",o,this),Ei(s,"click",this._refocusOnMap,this),s},_updateDisabled:function(){var t=this._map,i="leaflet-disabled";mi(this._zoomInButton,i),mi(this._zoomOutButton,i),!this._disabled&&t._zoom!==t.getMinZoom()||pi(this._zoomOutButton,i),!this._disabled&&t._zoom!==t.getMaxZoom()||pi(this._zoomInButton,i)}});Ji.mergeOptions({zoomControl:!0}),Ji.addInitHook(function(){this.options.zoomControl&&(this.zoomControl=new ie,this.addControl(this.zoomControl))});var ee=Qi.extend({options:{position:"bottomleft",maxWidth:100,metric:!0,imperial:!0},onAdd:function(t){var i="leaflet-control-scale",e=hi("div",i),n=this.options;return this._addScales(n,i+"-line",e),t.on(n.updateWhenIdle?"moveend":"move",this._update,this),t.whenReady(this._update,this),e},onRemove:function(t){t.off(this.options.updateWhenIdle?"moveend":"move",this._update,this)},_addScales:function(t,i,e){t.metric&&(this._mScale=hi("div",i,e)),t.imperial&&(this._iScale=hi("div",i,e))},_update:function(){var t=this._map,i=t.getSize().y/2,e=t.distance(t.containerPointToLatLng([0,i]),t.containerPointToLatLng([this.options.maxWidth,i]));this._updateScales(e)},_updateScales:function(t){this.options.metric&&t&&this._updateMetric(t),this.options.imperial&&t&&this._updateImperial(t)},_updateMetric:function(t){var i=this._getRoundNum(t),e=i<1e3?i+" m":i/1e3+" km";this._updateScale(this._mScale,e,i/t)},_updateImperial:function(t){var i,e,n,o=3.2808399*t;5280<o?(i=o/5280,e=this._getRoundNum(i),this._updateScale(this._iScale,e+" mi",e/i)):(n=this._getRoundNum(o),this._updateScale(this._iScale,n+" ft",n/o))},_updateScale:function(t,i,e){t.style.width=Math.round(this.options.maxWidth*e)+"px",t.innerHTML=i},_getRoundNum:function(t){var i=Math.pow(10,(Math.floor(t)+"").length-1),e=t/i;return i*(e=10<=e?10:5<=e?5:3<=e?3:2<=e?2:1)}}),ne=Qi.extend({options:{position:"bottomright",prefix:'<a href="https://leafletjs.com" title="A JS library for interactive maps">Leaflet</a>'},initialize:function(t){p(this,t),this._attributions={}},onAdd:function(t){for(var i in(t.attributionControl=this)._container=hi("div","leaflet-control-attribution"),Ni(this._container),t._layers)t._layers[i].getAttribution&&this.addAttribution(t._layers[i].getAttribution());return this._update(),this._container},setPrefix:function(t){return this.options.prefix=t,this._update(),this},addAttribution:function(t){return t&&(this._attributions[t]||(this._attributions[t]=0),this._attributions[t]++,this._update()),this},removeAttribution:function(t){return t&&this._attributions[t]&&(this._attributions[t]--,this._update()),this},_update:function(){if(this._map){var t=[];for(var i in this._attributions)this._attributions[i]&&t.push(i);var e=[];this.options.prefix&&e.push(this.options.prefix),t.length&&e.push(t.join(", ")),this._container.innerHTML=e.join(" | ")}}});Ji.mergeOptions({attributionControl:!0}),Ji.addInitHook(function(){this.options.attributionControl&&(new ne).addTo(this)});Qi.Layers=te,Qi.Zoom=ie,Qi.Scale=ee,Qi.Attribution=ne,$i.layers=function(t,i,e){return new te(t,i,e)},$i.zoom=function(t){return new ie(t)},$i.scale=function(t){return new ee(t)},$i.attribution=function(t){return new ne(t)};var oe=Z.extend({initialize:function(t){this._map=t},enable:function(){return this._enabled||(this._enabled=!0,this.addHooks()),this},disable:function(){return this._enabled&&(this._enabled=!1,this.removeHooks()),this},enabled:function(){return!!this._enabled}});oe.addTo=function(t,i){return t.addHandler(i,this),this};var se,re={Events:E},ae=Tt?"touchstart mousedown":"mousedown",he={mousedown:"mouseup",touchstart:"touchend",pointerdown:"touchend",MSPointerDown:"touchend"},ue={mousedown:"mousemove",touchstart:"touchmove",pointerdown:"touchmove",MSPointerDown:"touchmove"},le=k.extend({options:{clickTolerance:3},initialize:function(t,i,e,n){p(this,n),this._element=t,this._dragStartTarget=i||t,this._preventOutline=e},enable:function(){this._enabled||(Ei(this._dragStartTarget,ae,this._onDown,this),this._enabled=!0)},disable:function(){this._enabled&&(le._dragging===this&&this.finishDrag(),Bi(this._dragStartTarget,ae,this._onDown,this),this._enabled=!1,this._moved=!1)},_onDown:function(t){if(!t._simulated&&this._enabled&&(this._moved=!1,!di(this._element,"leaflet-zoom-anim")&&!(le._dragging||t.shiftKey||1!==t.which&&1!==t.button&&!t.touches||((le._dragging=this)._preventOutline&&zi(this._element),Li(),$t(),this._moving)))){this.fire("down");var i=t.touches?t.touches[0]:t,e=Ci(this._element);this._startPoint=new B(i.clientX,i.clientY),this._parentScale=Si(e),Ei(document,ue[t.type],this._onMove,this),Ei(document,he[t.type],this._onUp,this)}},_onMove:function(t){if(!t._simulated&&this._enabled)if(t.touches&&1<t.touches.length)this._moved=!0;else{var i=t.touches&&1===t.touches.length?t.touches[0]:t,e=new B(i.clientX,i.clientY)._subtract(this._startPoint);(e.x||e.y)&&(Math.abs(e.x)+Math.abs(e.y)<this.options.clickTolerance||(e.x/=this._parentScale.x,e.y/=this._parentScale.y,Di(t),this._moved||(this.fire("dragstart"),this._moved=!0,this._startPos=Pi(this._element).subtract(e),pi(document.body,"leaflet-dragging"),this._lastTarget=t.target||t.srcElement,window.SVGElementInstance&&this._lastTarget instanceof SVGElementInstance&&(this._lastTarget=this._lastTarget.correspondingUseElement),pi(this._lastTarget,"leaflet-drag-target")),this._newPos=this._startPos.add(e),this._moving=!0,C(this._animRequest),this._lastEvent=t,this._animRequest=M(this._updatePosition,this,!0)))}},_updatePosition:function(){var t={originalEvent:this._lastEvent};this.fire("predrag",t),wi(this._element,this._newPos),this.fire("drag",t)},_onUp:function(t){!t._simulated&&this._enabled&&this.finishDrag()},finishDrag:function(){for(var t in mi(document.body,"leaflet-dragging"),this._lastTarget&&(mi(this._lastTarget,"leaflet-drag-target"),this._lastTarget=null),ue)Bi(document,ue[t],this._onMove,this),Bi(document,he[t],this._onUp,this);Ti(),Qt(),this._moved&&this._moving&&(C(this._animRequest),this.fire("dragend",{distance:this._newPos.distanceTo(this._startPos)})),this._moving=!1,le._dragging=!1}});function ce(t,i){if(!i||!t.length)return t.slice();var e=i*i;return t=function(t,i){var e=t.length,n=new(typeof Uint8Array!=void 0+""?Uint8Array:Array)(e);n[0]=n[e-1]=1,function t(i,e,n,o,s){var r,a,h,u=0;for(a=o+1;a<=s-1;a++)h=fe(i[a],i[o],i[s],!0),u<h&&(r=a,u=h);n<u&&(e[r]=1,t(i,e,n,o,r),t(i,e,n,r,s))}(t,n,i,0,e-1);var o,s=[];for(o=0;o<e;o++)n[o]&&s.push(t[o]);return s}(t=function(t,i){for(var e=[t[0]],n=1,o=0,s=t.length;n<s;n++)r=t[n],a=t[o],void 0,h=a.x-r.x,u=a.y-r.y,i<h*h+u*u&&(e.push(t[n]),o=n);var r,a,h,u;o<s-1&&e.push(t[s-1]);return e}(t,e),e)}function _e(t,i,e){return Math.sqrt(fe(t,i,e,!0))}function de(t,i,e,n,o){var s,r,a,h=n?se:me(t,e),u=me(i,e);for(se=u;;){if(!(h|u))return[t,i];if(h&u)return!1;a=me(r=pe(t,i,s=h||u,e,o),e),s===h?(t=r,h=a):(i=r,u=a)}}function pe(t,i,e,n,o){var s,r,a=i.x-t.x,h=i.y-t.y,u=n.min,l=n.max;return 8&e?(s=t.x+a*(l.y-t.y)/h,r=l.y):4&e?(s=t.x+a*(u.y-t.y)/h,r=u.y):2&e?(s=l.x,r=t.y+h*(l.x-t.x)/a):1&e&&(s=u.x,r=t.y+h*(u.x-t.x)/a),new B(s,r,o)}function me(t,i){var e=0;return t.x<i.min.x?e|=1:t.x>i.max.x&&(e|=2),t.y<i.min.y?e|=4:t.y>i.max.y&&(e|=8),e}function fe(t,i,e,n){var o,s=i.x,r=i.y,a=e.x-s,h=e.y-r,u=a*a+h*h;return 0<u&&(1<(o=((t.x-s)*a+(t.y-r)*h)/u)?(s=e.x,r=e.y):0<o&&(s+=a*o,r+=h*o)),a=t.x-s,h=t.y-r,n?a*a+h*h:new B(s,r)}function ge(t){return!v(t[0])||"object"!=typeof t[0][0]&&void 0!==t[0][0]}function ve(t){return console.warn("Deprecated use of _flat, please use L.LineUtil.isFlat instead."),ge(t)}var ye=(Object.freeze||Object)({simplify:ce,pointToSegmentDistance:_e,closestPointOnSegment:function(t,i,e){return fe(t,i,e)},clipSegment:de,_getEdgeIntersection:pe,_getBitCode:me,_sqClosestPointOnSegment:fe,isFlat:ge,_flat:ve});function xe(t,i,e){var n,o,s,r,a,h,u,l,c,_=[1,4,2,8];for(o=0,u=t.length;o<u;o++)t[o]._code=me(t[o],i);for(r=0;r<4;r++){for(l=_[r],n=[],o=0,s=(u=t.length)-1;o<u;s=o++)a=t[o],h=t[s],a._code&l?h._code&l||((c=pe(h,a,l,i,e))._code=me(c,i),n.push(c)):(h._code&l&&((c=pe(h,a,l,i,e))._code=me(c,i),n.push(c)),n.push(a));t=n}return t}var we,Pe=(Object.freeze||Object)({clipPolygon:xe}),be={project:function(t){return new B(t.lng,t.lat)},unproject:function(t){return new j(t.y,t.x)},bounds:new O([-180,-90],[180,90])},Le={R:6378137,R_MINOR:6356752.314245179,bounds:new O([-20037508.34279,-15496570.73972],[20037508.34279,18764656.23138]),project:function(t){var i=Math.PI/180,e=this.R,n=t.lat*i,o=this.R_MINOR/e,s=Math.sqrt(1-o*o),r=s*Math.sin(n),a=Math.tan(Math.PI/4-n/2)/Math.pow((1-r)/(1+r),s/2);return n=-e*Math.log(Math.max(a,1e-10)),new B(t.lng*i*e,n)},unproject:function(t){for(var i,e=180/Math.PI,n=this.R,o=this.R_MINOR/n,s=Math.sqrt(1-o*o),r=Math.exp(-t.y/n),a=Math.PI/2-2*Math.atan(r),h=0,u=.1;h<15&&1e-7<Math.abs(u);h++)i=s*Math.sin(a),i=Math.pow((1-i)/(1+i),s/2),a+=u=Math.PI/2-2*Math.atan(r*i)-a;return new j(a*e,t.x*e/n)}},Te=(Object.freeze||Object)({LonLat:be,Mercator:Le,SphericalMercator:q}),ze=h({},U,{code:"EPSG:3395",projection:Le,transformation:(we=.5/(Math.PI*Le.R),K(we,.5,-we,.5))}),Me=h({},U,{code:"EPSG:4326",projection:be,transformation:K(1/180,1,-1/180,.5)}),Ce=h({},F,{projection:be,transformation:K(1,0,-1,0),scale:function(t){return Math.pow(2,t)},zoom:function(t){return Math.log(t)/Math.LN2},distance:function(t,i){var e=i.lng-t.lng,n=i.lat-t.lat;return Math.sqrt(e*e+n*n)},infinite:!0});F.Earth=U,F.EPSG3395=ze,F.EPSG3857=X,F.EPSG900913=J,F.EPSG4326=Me,F.Simple=Ce;var Se=k.extend({options:{pane:"overlayPane",attribution:null,bubblingMouseEvents:!0},addTo:function(t){return t.addLayer(this),this},remove:function(){return this.removeFrom(this._map||this._mapToAdd)},removeFrom:function(t){return t&&t.removeLayer(this),this},getPane:function(t){return this._map.getPane(t?this.options[t]||t:this.options.pane)},addInteractiveTarget:function(t){return this._map._targets[u(t)]=this},removeInteractiveTarget:function(t){return delete this._map._targets[u(t)],this},getAttribution:function(){return this.options.attribution},_layerAdd:function(t){var i=t.target;if(i.hasLayer(this)){if(this._map=i,this._zoomAnimated=i._zoomAnimated,this.getEvents){var e=this.getEvents();i.on(e,this),this.once("remove",function(){i.off(e,this)},this)}this.onAdd(i),this.getAttribution&&i.attributionControl&&i.attributionControl.addAttribution(this.getAttribution()),this.fire("add"),i.fire("layeradd",{layer:this})}}});Ji.include({addLayer:function(t){if(!t._layerAdd)throw new Error("The provided object is not a Layer.");var i=u(t);return this._layers[i]||((this._layers[i]=t)._mapToAdd=this,t.beforeAdd&&t.beforeAdd(this),this.whenReady(t._layerAdd,t)),this},removeLayer:function(t){var i=u(t);return this._layers[i]&&(this._loaded&&t.onRemove(this),t.getAttribution&&this.attributionControl&&this.attributionControl.removeAttribution(t.getAttribution()),delete this._layers[i],this._loaded&&(this.fire("layerremove",{layer:t}),t.fire("remove")),t._map=t._mapToAdd=null),this},hasLayer:function(t){return!!t&&u(t)in this._layers},eachLayer:function(t,i){for(var e in this._layers)t.call(i,this._layers[e]);return this},_addLayers:function(t){for(var i=0,e=(t=t?v(t)?t:[t]:[]).length;i<e;i++)this.addLayer(t[i])},_addZoomLimit:function(t){!isNaN(t.options.maxZoom)&&isNaN(t.options.minZoom)||(this._zoomBoundLayers[u(t)]=t,this._updateZoomLevels())},_removeZoomLimit:function(t){var i=u(t);this._zoomBoundLayers[i]&&(delete this._zoomBoundLayers[i],this._updateZoomLevels())},_updateZoomLevels:function(){var t=1/0,i=-1/0,e=this._getZoomSpan();for(var n in this._zoomBoundLayers){var o=this._zoomBoundLayers[n].options;t=void 0===o.minZoom?t:Math.min(t,o.minZoom),i=void 0===o.maxZoom?i:Math.max(i,o.maxZoom)}this._layersMaxZoom=i===-1/0?void 0:i,this._layersMinZoom=t===1/0?void 0:t,e!==this._getZoomSpan()&&this.fire("zoomlevelschange"),void 0===this.options.maxZoom&&this._layersMaxZoom&&this.getZoom()>this._layersMaxZoom&&this.setZoom(this._layersMaxZoom),void 0===this.options.minZoom&&this._layersMinZoom&&this.getZoom()<this._layersMinZoom&&this.setZoom(this._layersMinZoom)}});var Ze=Se.extend({initialize:function(t,i){var e,n;if(p(this,i),this._layers={},t)for(e=0,n=t.length;e<n;e++)this.addLayer(t[e])},addLayer:function(t){var i=this.getLayerId(t);return this._layers[i]=t,this._map&&this._map.addLayer(t),this},removeLayer:function(t){var i=t in this._layers?t:this.getLayerId(t);return this._map&&this._layers[i]&&this._map.removeLayer(this._layers[i]),delete this._layers[i],this},hasLayer:function(t){return!!t&&(t in this._layers||this.getLayerId(t)in this._layers)},clearLayers:function(){return this.eachLayer(this.removeLayer,this)},invoke:function(t){var i,e,n=Array.prototype.slice.call(arguments,1);for(i in this._layers)(e=this._layers[i])[t]&&e[t].apply(e,n);return this},onAdd:function(t){this.eachLayer(t.addLayer,t)},onRemove:function(t){this.eachLayer(t.removeLayer,t)},eachLayer:function(t,i){for(var e in this._layers)t.call(i,this._layers[e]);return this},getLayer:function(t){return this._layers[t]},getLayers:function(){var t=[];return this.eachLayer(t.push,t),t},setZIndex:function(t){return this.invoke("setZIndex",t)},getLayerId:function(t){return u(t)}}),Ee=Ze.extend({addLayer:function(t){return this.hasLayer(t)?this:(t.addEventParent(this),Ze.prototype.addLayer.call(this,t),this.fire("layeradd",{layer:t}))},removeLayer:function(t){return this.hasLayer(t)?(t in this._layers&&(t=this._layers[t]),t.removeEventParent(this),Ze.prototype.removeLayer.call(this,t),this.fire("layerremove",{layer:t})):this},setStyle:function(t){return this.invoke("setStyle",t)},bringToFront:function(){return this.invoke("bringToFront")},bringToBack:function(){return this.invoke("bringToBack")},getBounds:function(){var t=new N;for(var i in this._layers){var e=this._layers[i];t.extend(e.getBounds?e.getBounds():e.getLatLng())}return t}}),ke=Z.extend({options:{popupAnchor:[0,0],tooltipAnchor:[0,0]},initialize:function(t){p(this,t)},createIcon:function(t){return this._createIcon("icon",t)},createShadow:function(t){return this._createIcon("shadow",t)},_createIcon:function(t,i){var e=this._getIconUrl(t);if(!e){if("icon"===t)throw new Error("iconUrl not set in Icon options (see the docs).");return null}var n=this._createImg(e,i&&"IMG"===i.tagName?i:null);return this._setIconStyles(n,t),n},_setIconStyles:function(t,i){var e=this.options,n=e[i+"Size"];"number"==typeof n&&(n=[n,n]);var o=I(n),s=I("shadow"===i&&e.shadowAnchor||e.iconAnchor||o&&o.divideBy(2,!0));t.className="leaflet-marker-"+i+" "+(e.className||""),s&&(t.style.marginLeft=-s.x+"px",t.style.marginTop=-s.y+"px"),o&&(t.style.width=o.x+"px",t.style.height=o.y+"px")},_createImg:function(t,i){return(i=i||document.createElement("img")).src=t,i},_getIconUrl:function(t){return Ct&&this.options[t+"RetinaUrl"]||this.options[t+"Url"]}});var Be=ke.extend({options:{iconUrl:"marker-icon.png",iconRetinaUrl:"marker-icon-2x.png",shadowUrl:"marker-shadow.png",iconSize:[25,41],iconAnchor:[12,41],popupAnchor:[1,-34],tooltipAnchor:[16,-28],shadowSize:[41,41]},_getIconUrl:function(t){return Be.imagePath||(Be.imagePath=this._detectIconPath()),(this.options.imagePath||Be.imagePath)+ke.prototype._getIconUrl.call(this,t)},_detectIconPath:function(){var t=hi("div","leaflet-default-icon-path",document.body),i=ai(t,"background-image")||ai(t,"backgroundImage");return document.body.removeChild(t),i=null===i||0!==i.indexOf("url")?"":i.replace(/^url\(["']?/,"").replace(/marker-icon\.png["']?\)$/,"")}}),Ae=oe.extend({initialize:function(t){this._marker=t},addHooks:function(){var t=this._marker._icon;this._draggable||(this._draggable=new le(t,t,!0)),this._draggable.on({dragstart:this._onDragStart,predrag:this._onPreDrag,drag:this._onDrag,dragend:this._onDragEnd},this).enable(),pi(t,"leaflet-marker-draggable")},removeHooks:function(){this._draggable.off({dragstart:this._onDragStart,predrag:this._onPreDrag,drag:this._onDrag,dragend:this._onDragEnd},this).disable(),this._marker._icon&&mi(this._marker._icon,"leaflet-marker-draggable")},moved:function(){return this._draggable&&this._draggable._moved},_adjustPan:function(t){var i=this._marker,e=i._map,n=this._marker.options.autoPanSpeed,o=this._marker.options.autoPanPadding,s=Pi(i._icon),r=e.getPixelBounds(),a=e.getPixelOrigin(),h=R(r.min._subtract(a).add(o),r.max._subtract(a).subtract(o));if(!h.contains(s)){var u=I((Math.max(h.max.x,s.x)-h.max.x)/(r.max.x-h.max.x)-(Math.min(h.min.x,s.x)-h.min.x)/(r.min.x-h.min.x),(Math.max(h.max.y,s.y)-h.max.y)/(r.max.y-h.max.y)-(Math.min(h.min.y,s.y)-h.min.y)/(r.min.y-h.min.y)).multiplyBy(n);e.panBy(u,{animate:!1}),this._draggable._newPos._add(u),this._draggable._startPos._add(u),wi(i._icon,this._draggable._newPos),this._onDrag(t),this._panRequest=M(this._adjustPan.bind(this,t))}},_onDragStart:function(){this._oldLatLng=this._marker.getLatLng(),this._marker.closePopup().fire("movestart").fire("dragstart")},_onPreDrag:function(t){this._marker.options.autoPan&&(C(this._panRequest),this._panRequest=M(this._adjustPan.bind(this,t)))},_onDrag:function(t){var i=this._marker,e=i._shadow,n=Pi(i._icon),o=i._map.layerPointToLatLng(n);e&&wi(e,n),i._latlng=o,t.latlng=o,t.oldLatLng=this._oldLatLng,i.fire("move",t).fire("drag",t)},_onDragEnd:function(t){C(this._panRequest),delete this._oldLatLng,this._marker.fire("moveend").fire("dragend",t)}}),Ie=Se.extend({options:{icon:new Be,interactive:!0,keyboard:!0,title:"",alt:"",zIndexOffset:0,opacity:1,riseOnHover:!1,riseOffset:250,pane:"markerPane",shadowPane:"shadowPane",bubblingMouseEvents:!1,draggable:!1,autoPan:!1,autoPanPadding:[50,50],autoPanSpeed:10},initialize:function(t,i){p(this,i),this._latlng=W(t)},onAdd:function(t){this._zoomAnimated=this._zoomAnimated&&t.options.markerZoomAnimation,this._zoomAnimated&&t.on("zoomanim",this._animateZoom,this),this._initIcon(),this.update()},onRemove:function(t){this.dragging&&this.dragging.enabled()&&(this.options.draggable=!0,this.dragging.removeHooks()),delete this.dragging,this._zoomAnimated&&t.off("zoomanim",this._animateZoom,this),this._removeIcon(),this._removeShadow()},getEvents:function(){return{zoom:this.update,viewreset:this.update}},getLatLng:function(){return this._latlng},setLatLng:function(t){var i=this._latlng;return this._latlng=W(t),this.update(),this.fire("move",{oldLatLng:i,latlng:this._latlng})},setZIndexOffset:function(t){return this.options.zIndexOffset=t,this.update()},getIcon:function(){return this.options.icon},setIcon:function(t){return this.options.icon=t,this._map&&(this._initIcon(),this.update()),this._popup&&this.bindPopup(this._popup,this._popup.options),this},getElement:function(){return this._icon},update:function(){if(this._icon&&this._map){var t=this._map.latLngToLayerPoint(this._latlng).round();this._setPos(t)}return this},_initIcon:function(){var t=this.options,i="leaflet-zoom-"+(this._zoomAnimated?"animated":"hide"),e=t.icon.createIcon(this._icon),n=!1;e!==this._icon&&(this._icon&&this._removeIcon(),n=!0,t.title&&(e.title=t.title),"IMG"===e.tagName&&(e.alt=t.alt||"")),pi(e,i),t.keyboard&&(e.tabIndex="0"),this._icon=e,t.riseOnHover&&this.on({mouseover:this._bringToFront,mouseout:this._resetZIndex});var o=t.icon.createShadow(this._shadow),s=!1;o!==this._shadow&&(this._removeShadow(),s=!0),o&&(pi(o,i),o.alt=""),this._shadow=o,t.opacity<1&&this._updateOpacity(),n&&this.getPane().appendChild(this._icon),this._initInteraction(),o&&s&&this.getPane(t.shadowPane).appendChild(this._shadow)},_removeIcon:function(){this.options.riseOnHover&&this.off({mouseover:this._bringToFront,mouseout:this._resetZIndex}),ui(this._icon),this.removeInteractiveTarget(this._icon),this._icon=null},_removeShadow:function(){this._shadow&&ui(this._shadow),this._shadow=null},_setPos:function(t){wi(this._icon,t),this._shadow&&wi(this._shadow,t),this._zIndex=t.y+this.options.zIndexOffset,this._resetZIndex()},_updateZIndex:function(t){this._icon.style.zIndex=this._zIndex+t},_animateZoom:function(t){var i=this._map._latLngToNewLayerPoint(this._latlng,t.zoom,t.center).round();this._setPos(i)},_initInteraction:function(){if(this.options.interactive&&(pi(this._icon,"leaflet-interactive"),this.addInteractiveTarget(this._icon),Ae)){var t=this.options.draggable;this.dragging&&(t=this.dragging.enabled(),this.dragging.disable()),this.dragging=new Ae(this),t&&this.dragging.enable()}},setOpacity:function(t){return this.options.opacity=t,this._map&&this._updateOpacity(),this},_updateOpacity:function(){var t=this.options.opacity;this._icon&&vi(this._icon,t),this._shadow&&vi(this._shadow,t)},_bringToFront:function(){this._updateZIndex(this.options.riseOffset)},_resetZIndex:function(){this._updateZIndex(0)},_getPopupAnchor:function(){return this.options.icon.options.popupAnchor},_getTooltipAnchor:function(){return this.options.icon.options.tooltipAnchor}});var Oe=Se.extend({options:{stroke:!0,color:"#3388ff",weight:3,opacity:1,lineCap:"round",lineJoin:"round",dashArray:null,dashOffset:null,fill:!1,fillColor:null,fillOpacity:.2,fillRule:"evenodd",interactive:!0,bubblingMouseEvents:!0},beforeAdd:function(t){this._renderer=t.getRenderer(this)},onAdd:function(){this._renderer._initPath(this),this._reset(),this._renderer._addPath(this)},onRemove:function(){this._renderer._removePath(this)},redraw:function(){return this._map&&this._renderer._updatePath(this),this},setStyle:function(t){return p(this,t),this._renderer&&(this._renderer._updateStyle(this),this.options.stroke&&t.hasOwnProperty("weight")&&this._updateBounds()),this},bringToFront:function(){return this._renderer&&this._renderer._bringToFront(this),this},bringToBack:function(){return this._renderer&&this._renderer._bringToBack(this),this},getElement:function(){return this._path},_reset:function(){this._project(),this._update()},_clickTolerance:function(){return(this.options.stroke?this.options.weight/2:0)+this._renderer.options.tolerance}}),Re=Oe.extend({options:{fill:!0,radius:10},initialize:function(t,i){p(this,i),this._latlng=W(t),this._radius=this.options.radius},setLatLng:function(t){return this._latlng=W(t),this.redraw(),this.fire("move",{latlng:this._latlng})},getLatLng:function(){return this._latlng},setRadius:function(t){return this.options.radius=this._radius=t,this.redraw()},getRadius:function(){return this._radius},setStyle:function(t){var i=t&&t.radius||this._radius;return Oe.prototype.setStyle.call(this,t),this.setRadius(i),this},_project:function(){this._point=this._map.latLngToLayerPoint(this._latlng),this._updateBounds()},_updateBounds:function(){var t=this._radius,i=this._radiusY||t,e=this._clickTolerance(),n=[t+e,i+e];this._pxBounds=new O(this._point.subtract(n),this._point.add(n))},_update:function(){this._map&&this._updatePath()},_updatePath:function(){this._renderer._updateCircle(this)},_empty:function(){return this._radius&&!this._renderer._bounds.intersects(this._pxBounds)},_containsPoint:function(t){return t.distanceTo(this._point)<=this._radius+this._clickTolerance()}});var Ne=Re.extend({initialize:function(t,i,e){if("number"==typeof i&&(i=h({},e,{radius:i})),p(this,i),this._latlng=W(t),isNaN(this.options.radius))throw new Error("Circle radius cannot be NaN");this._mRadius=this.options.radius},setRadius:function(t){return this._mRadius=t,this.redraw()},getRadius:function(){return this._mRadius},getBounds:function(){var t=[this._radius,this._radiusY||this._radius];return new N(this._map.layerPointToLatLng(this._point.subtract(t)),this._map.layerPointToLatLng(this._point.add(t)))},setStyle:Oe.prototype.setStyle,_project:function(){var t=this._latlng.lng,i=this._latlng.lat,e=this._map,n=e.options.crs;if(n.distance===U.distance){var o=Math.PI/180,s=this._mRadius/U.R/o,r=e.project([i+s,t]),a=e.project([i-s,t]),h=r.add(a).divideBy(2),u=e.unproject(h).lat,l=Math.acos((Math.cos(s*o)-Math.sin(i*o)*Math.sin(u*o))/(Math.cos(i*o)*Math.cos(u*o)))/o;!isNaN(l)&&0!==l||(l=s/Math.cos(Math.PI/180*i)),this._point=h.subtract(e.getPixelOrigin()),this._radius=isNaN(l)?0:h.x-e.project([u,t-l]).x,this._radiusY=h.y-r.y}else{var c=n.unproject(n.project(this._latlng).subtract([this._mRadius,0]));this._point=e.latLngToLayerPoint(this._latlng),this._radius=this._point.x-e.latLngToLayerPoint(c).x}this._updateBounds()}});var De=Oe.extend({options:{smoothFactor:1,noClip:!1},initialize:function(t,i){p(this,i),this._setLatLngs(t)},getLatLngs:function(){return this._latlngs},setLatLngs:function(t){return this._setLatLngs(t),this.redraw()},isEmpty:function(){return!this._latlngs.length},closestLayerPoint:function(t){for(var i,e,n=1/0,o=null,s=fe,r=0,a=this._parts.length;r<a;r++)for(var h=this._parts[r],u=1,l=h.length;u<l;u++){var c=s(t,i=h[u-1],e=h[u],!0);c<n&&(n=c,o=s(t,i,e))}return o&&(o.distance=Math.sqrt(n)),o},getCenter:function(){if(!this._map)throw new Error("Must add layer to map before using getCenter()");var t,i,e,n,o,s,r,a=this._rings[0],h=a.length;if(!h)return null;for(i=t=0;t<h-1;t++)i+=a[t].distanceTo(a[t+1])/2;if(0===i)return this._map.layerPointToLatLng(a[0]);for(n=t=0;t<h-1;t++)if(o=a[t],s=a[t+1],i<(n+=e=o.distanceTo(s)))return r=(n-i)/e,this._map.layerPointToLatLng([s.x-r*(s.x-o.x),s.y-r*(s.y-o.y)])},getBounds:function(){return this._bounds},addLatLng:function(t,i){return i=i||this._defaultShape(),t=W(t),i.push(t),this._bounds.extend(t),this.redraw()},_setLatLngs:function(t){this._bounds=new N,this._latlngs=this._convertLatLngs(t)},_defaultShape:function(){return ge(this._latlngs)?this._latlngs:this._latlngs[0]},_convertLatLngs:function(t){for(var i=[],e=ge(t),n=0,o=t.length;n<o;n++)e?(i[n]=W(t[n]),this._bounds.extend(i[n])):i[n]=this._convertLatLngs(t[n]);return i},_project:function(){var t=new O;this._rings=[],this._projectLatlngs(this._latlngs,this._rings,t),this._bounds.isValid()&&t.isValid()&&(this._rawPxBounds=t,this._updateBounds())},_updateBounds:function(){var t=this._clickTolerance(),i=new B(t,t);this._pxBounds=new O([this._rawPxBounds.min.subtract(i),this._rawPxBounds.max.add(i)])},_projectLatlngs:function(t,i,e){var n,o,s=t[0]instanceof j,r=t.length;if(s){for(o=[],n=0;n<r;n++)o[n]=this._map.latLngToLayerPoint(t[n]),e.extend(o[n]);i.push(o)}else for(n=0;n<r;n++)this._projectLatlngs(t[n],i,e)},_clipPoints:function(){var t=this._renderer._bounds;if(this._parts=[],this._pxBounds&&this._pxBounds.intersects(t))if(this.options.noClip)this._parts=this._rings;else{var i,e,n,o,s,r,a,h=this._parts;for(n=i=0,o=this._rings.length;i<o;i++)for(e=0,s=(a=this._rings[i]).length;e<s-1;e++)(r=de(a[e],a[e+1],t,e,!0))&&(h[n]=h[n]||[],h[n].push(r[0]),r[1]===a[e+1]&&e!==s-2||(h[n].push(r[1]),n++))}},_simplifyPoints:function(){for(var t=this._parts,i=this.options.smoothFactor,e=0,n=t.length;e<n;e++)t[e]=ce(t[e],i)},_update:function(){this._map&&(this._clipPoints(),this._simplifyPoints(),this._updatePath())},_updatePath:function(){this._renderer._updatePoly(this)},_containsPoint:function(t,i){var e,n,o,s,r,a,h=this._clickTolerance();if(!this._pxBounds||!this._pxBounds.contains(t))return!1;for(e=0,s=this._parts.length;e<s;e++)for(n=0,o=(r=(a=this._parts[e]).length)-1;n<r;o=n++)if((i||0!==n)&&_e(t,a[o],a[n])<=h)return!0;return!1}});De._flat=ve;var je=De.extend({options:{fill:!0},isEmpty:function(){return!this._latlngs.length||!this._latlngs[0].length},getCenter:function(){if(!this._map)throw new Error("Must add layer to map before using getCenter()");var t,i,e,n,o,s,r,a,h,u=this._rings[0],l=u.length;if(!l)return null;for(s=r=a=0,t=0,i=l-1;t<l;i=t++)e=u[t],n=u[i],o=e.y*n.x-n.y*e.x,r+=(e.x+n.x)*o,a+=(e.y+n.y)*o,s+=3*o;return h=0===s?u[0]:[r/s,a/s],this._map.layerPointToLatLng(h)},_convertLatLngs:function(t){var i=De.prototype._convertLatLngs.call(this,t),e=i.length;return 2<=e&&i[0]instanceof j&&i[0].equals(i[e-1])&&i.pop(),i},_setLatLngs:function(t){De.prototype._setLatLngs.call(this,t),ge(this._latlngs)&&(this._latlngs=[this._latlngs])},_defaultShape:function(){return ge(this._latlngs[0])?this._latlngs[0]:this._latlngs[0][0]},_clipPoints:function(){var t=this._renderer._bounds,i=this.options.weight,e=new B(i,i);if(t=new O(t.min.subtract(e),t.max.add(e)),this._parts=[],this._pxBounds&&this._pxBounds.intersects(t))if(this.options.noClip)this._parts=this._rings;else for(var n,o=0,s=this._rings.length;o<s;o++)(n=xe(this._rings[o],t,!0)).length&&this._parts.push(n)},_updatePath:function(){this._renderer._updatePoly(this,!0)},_containsPoint:function(t){var i,e,n,o,s,r,a,h,u=!1;if(!this._pxBounds||!this._pxBounds.contains(t))return!1;for(o=0,a=this._parts.length;o<a;o++)for(s=0,r=(h=(i=this._parts[o]).length)-1;s<h;r=s++)e=i[s],n=i[r],e.y>t.y!=n.y>t.y&&t.x<(n.x-e.x)*(t.y-e.y)/(n.y-e.y)+e.x&&(u=!u);return u||De.prototype._containsPoint.call(this,t,!0)}});var We=Ee.extend({initialize:function(t,i){p(this,i),this._layers={},t&&this.addData(t)},addData:function(t){var i,e,n,o=v(t)?t:t.features;if(o){for(i=0,e=o.length;i<e;i++)((n=o[i]).geometries||n.geometry||n.features||n.coordinates)&&this.addData(n);return this}var s=this.options;if(s.filter&&!s.filter(t))return this;var r=He(t,s);return r?(r.feature=Ke(t),r.defaultOptions=r.options,this.resetStyle(r),s.onEachFeature&&s.onEachFeature(t,r),this.addLayer(r)):this},resetStyle:function(t){return t.options=h({},t.defaultOptions),this._setLayerStyle(t,this.options.style),this},setStyle:function(i){return this.eachLayer(function(t){this._setLayerStyle(t,i)},this)},_setLayerStyle:function(t,i){t.setStyle&&("function"==typeof i&&(i=i(t.feature)),t.setStyle(i))}});function He(t,i){var e,n,o,s,r="Feature"===t.type?t.geometry:t,a=r?r.coordinates:null,h=[],u=i&&i.pointToLayer,l=i&&i.coordsToLatLng||Fe;if(!a&&!r)return null;switch(r.type){case"Point":return e=l(a),u?u(t,e):new Ie(e);case"MultiPoint":for(o=0,s=a.length;o<s;o++)e=l(a[o]),h.push(u?u(t,e):new Ie(e));return new Ee(h);case"LineString":case"MultiLineString":return n=Ue(a,"LineString"===r.type?0:1,l),new De(n,i);case"Polygon":case"MultiPolygon":return n=Ue(a,"Polygon"===r.type?1:2,l),new je(n,i);case"GeometryCollection":for(o=0,s=r.geometries.length;o<s;o++){var c=He({geometry:r.geometries[o],type:"Feature",properties:t.properties},i);c&&h.push(c)}return new Ee(h);default:throw new Error("Invalid GeoJSON object.")}}function Fe(t){return new j(t[1],t[0],t[2])}function Ue(t,i,e){for(var n,o=[],s=0,r=t.length;s<r;s++)n=i?Ue(t[s],i-1,e):(e||Fe)(t[s]),o.push(n);return o}function Ve(t,i){return i="number"==typeof i?i:6,void 0!==t.alt?[c(t.lng,i),c(t.lat,i),c(t.alt,i)]:[c(t.lng,i),c(t.lat,i)]}function qe(t,i,e,n){for(var o=[],s=0,r=t.length;s<r;s++)o.push(i?qe(t[s],i-1,e,n):Ve(t[s],n));return!i&&e&&o.push(o[0]),o}function Ge(t,i){return t.feature?h({},t.feature,{geometry:i}):Ke(i)}function Ke(t){return"Feature"===t.type||"FeatureCollection"===t.type?t:{type:"Feature",properties:{},geometry:t}}var Ye={toGeoJSON:function(t){return Ge(this,{type:"Point",coordinates:Ve(this.getLatLng(),t)})}};function Xe(t,i){return new We(t,i)}Ie.include(Ye),Ne.include(Ye),Re.include(Ye),De.include({toGeoJSON:function(t){var i=!ge(this._latlngs);return Ge(this,{type:(i?"Multi":"")+"LineString",coordinates:qe(this._latlngs,i?1:0,!1,t)})}}),je.include({toGeoJSON:function(t){var i=!ge(this._latlngs),e=i&&!ge(this._latlngs[0]),n=qe(this._latlngs,e?2:i?1:0,!0,t);return i||(n=[n]),Ge(this,{type:(e?"Multi":"")+"Polygon",coordinates:n})}}),Ze.include({toMultiPoint:function(i){var e=[];return this.eachLayer(function(t){e.push(t.toGeoJSON(i).geometry.coordinates)}),Ge(this,{type:"MultiPoint",coordinates:e})},toGeoJSON:function(n){var t=this.feature&&this.feature.geometry&&this.feature.geometry.type;if("MultiPoint"===t)return this.toMultiPoint(n);var o="GeometryCollection"===t,s=[];return this.eachLayer(function(t){if(t.toGeoJSON){var i=t.toGeoJSON(n);if(o)s.push(i.geometry);else{var e=Ke(i);"FeatureCollection"===e.type?s.push.apply(s,e.features):s.push(e)}}}),o?Ge(this,{geometries:s,type:"GeometryCollection"}):{type:"FeatureCollection",features:s}}});var Je=Xe,$e=Se.extend({options:{opacity:1,alt:"",interactive:!1,crossOrigin:!1,errorOverlayUrl:"",zIndex:1,className:""},initialize:function(t,i,e){this._url=t,this._bounds=D(i),p(this,e)},onAdd:function(){this._image||(this._initImage(),this.options.opacity<1&&this._updateOpacity()),this.options.interactive&&(pi(this._image,"leaflet-interactive"),this.addInteractiveTarget(this._image)),this.getPane().appendChild(this._image),this._reset()},onRemove:function(){ui(this._image),this.options.interactive&&this.removeInteractiveTarget(this._image)},setOpacity:function(t){return this.options.opacity=t,this._image&&this._updateOpacity(),this},setStyle:function(t){return t.opacity&&this.setOpacity(t.opacity),this},bringToFront:function(){return this._map&&ci(this._image),this},bringToBack:function(){return this._map&&_i(this._image),this},setUrl:function(t){return this._url=t,this._image&&(this._image.src=t),this},setBounds:function(t){return this._bounds=D(t),this._map&&this._reset(),this},getEvents:function(){var t={zoom:this._reset,viewreset:this._reset};return this._zoomAnimated&&(t.zoomanim=this._animateZoom),t},setZIndex:function(t){return this.options.zIndex=t,this._updateZIndex(),this},getBounds:function(){return this._bounds},getElement:function(){return this._image},_initImage:function(){var t="IMG"===this._url.tagName,i=this._image=t?this._url:hi("img");pi(i,"leaflet-image-layer"),this._zoomAnimated&&pi(i,"leaflet-zoom-animated"),this.options.className&&pi(i,this.options.className),i.onselectstart=l,i.onmousemove=l,i.onload=a(this.fire,this,"load"),i.onerror=a(this._overlayOnError,this,"error"),!this.options.crossOrigin&&""!==this.options.crossOrigin||(i.crossOrigin=!0===this.options.crossOrigin?"":this.options.crossOrigin),this.options.zIndex&&this._updateZIndex(),t?this._url=i.src:(i.src=this._url,i.alt=this.options.alt)},_animateZoom:function(t){var i=this._map.getZoomScale(t.zoom),e=this._map._latLngBoundsToNewLayerBounds(this._bounds,t.zoom,t.center).min;xi(this._image,e,i)},_reset:function(){var t=this._image,i=new O(this._map.latLngToLayerPoint(this._bounds.getNorthWest()),this._map.latLngToLayerPoint(this._bounds.getSouthEast())),e=i.getSize();wi(t,i.min),t.style.width=e.x+"px",t.style.height=e.y+"px"},_updateOpacity:function(){vi(this._image,this.options.opacity)},_updateZIndex:function(){this._image&&void 0!==this.options.zIndex&&null!==this.options.zIndex&&(this._image.style.zIndex=this.options.zIndex)},_overlayOnError:function(){this.fire("error");var t=this.options.errorOverlayUrl;t&&this._url!==t&&(this._url=t,this._image.src=t)}}),Qe=$e.extend({options:{autoplay:!0,loop:!0,keepAspectRatio:!0},_initImage:function(){var t="VIDEO"===this._url.tagName,i=this._image=t?this._url:hi("video");if(pi(i,"leaflet-image-layer"),this._zoomAnimated&&pi(i,"leaflet-zoom-animated"),i.onselectstart=l,i.onmousemove=l,i.onloadeddata=a(this.fire,this,"load"),t){for(var e=i.getElementsByTagName("source"),n=[],o=0;o<e.length;o++)n.push(e[o].src);this._url=0<e.length?n:[i.src]}else{v(this._url)||(this._url=[this._url]),!this.options.keepAspectRatio&&i.style.hasOwnProperty("objectFit")&&(i.style.objectFit="fill"),i.autoplay=!!this.options.autoplay,i.loop=!!this.options.loop;for(var s=0;s<this._url.length;s++){var r=hi("source");r.src=this._url[s],i.appendChild(r)}}}});var tn=$e.extend({_initImage:function(){var t=this._image=this._url;pi(t,"leaflet-image-layer"),this._zoomAnimated&&pi(t,"leaflet-zoom-animated"),t.onselectstart=l,t.onmousemove=l}});var en=Se.extend({options:{offset:[0,7],className:"",pane:"popupPane"},initialize:function(t,i){p(this,t),this._source=i},onAdd:function(t){this._zoomAnimated=t._zoomAnimated,this._container||this._initLayout(),t._fadeAnimated&&vi(this._container,0),clearTimeout(this._removeTimeout),this.getPane().appendChild(this._container),this.update(),t._fadeAnimated&&vi(this._container,1),this.bringToFront()},onRemove:function(t){t._fadeAnimated?(vi(this._container,0),this._removeTimeout=setTimeout(a(ui,void 0,this._container),200)):ui(this._container)},getLatLng:function(){return this._latlng},setLatLng:function(t){return this._latlng=W(t),this._map&&(this._updatePosition(),this._adjustPan()),this},getContent:function(){return this._content},setContent:function(t){return this._content=t,this.update(),this},getElement:function(){return this._container},update:function(){this._map&&(this._container.style.visibility="hidden",this._updateContent(),this._updateLayout(),this._updatePosition(),this._container.style.visibility="",this._adjustPan())},getEvents:function(){var t={zoom:this._updatePosition,viewreset:this._updatePosition};return this._zoomAnimated&&(t.zoomanim=this._animateZoom),t},isOpen:function(){return!!this._map&&this._map.hasLayer(this)},bringToFront:function(){return this._map&&ci(this._container),this},bringToBack:function(){return this._map&&_i(this._container),this},_prepareOpen:function(t,i,e){if(i instanceof Se||(e=i,i=t),i instanceof Ee)for(var n in t._layers){i=t._layers[n];break}if(!e)if(i.getCenter)e=i.getCenter();else{if(!i.getLatLng)throw new Error("Unable to get source layer LatLng.");e=i.getLatLng()}return this._source=i,this.update(),e},_updateContent:function(){if(this._content){var t=this._contentNode,i="function"==typeof this._content?this._content(this._source||this):this._content;if("string"==typeof i)t.innerHTML=i;else{for(;t.hasChildNodes();)t.removeChild(t.firstChild);t.appendChild(i)}this.fire("contentupdate")}},_updatePosition:function(){if(this._map){var t=this._map.latLngToLayerPoint(this._latlng),i=I(this.options.offset),e=this._getAnchor();this._zoomAnimated?wi(this._container,t.add(e)):i=i.add(t).add(e);var n=this._containerBottom=-i.y,o=this._containerLeft=-Math.round(this._containerWidth/2)+i.x;this._container.style.bottom=n+"px",this._container.style.left=o+"px"}},_getAnchor:function(){return[0,0]}}),nn=en.extend({options:{maxWidth:300,minWidth:50,maxHeight:null,autoPan:!0,autoPanPaddingTopLeft:null,autoPanPaddingBottomRight:null,autoPanPadding:[5,5],keepInView:!1,closeButton:!0,autoClose:!0,closeOnEscapeKey:!0,className:""},openOn:function(t){return t.openPopup(this),this},onAdd:function(t){en.prototype.onAdd.call(this,t),t.fire("popupopen",{popup:this}),this._source&&(this._source.fire("popupopen",{popup:this},!0),this._source instanceof Oe||this._source.on("preclick",Oi))},onRemove:function(t){en.prototype.onRemove.call(this,t),t.fire("popupclose",{popup:this}),this._source&&(this._source.fire("popupclose",{popup:this},!0),this._source instanceof Oe||this._source.off("preclick",Oi))},getEvents:function(){var t=en.prototype.getEvents.call(this);return(void 0!==this.options.closeOnClick?this.options.closeOnClick:this._map.options.closePopupOnClick)&&(t.preclick=this._close),this.options.keepInView&&(t.moveend=this._adjustPan),t},_close:function(){this._map&&this._map.closePopup(this)},_initLayout:function(){var t="leaflet-popup",i=this._container=hi("div",t+" "+(this.options.className||"")+" leaflet-zoom-animated"),e=this._wrapper=hi("div",t+"-content-wrapper",i);if(this._contentNode=hi("div",t+"-content",e),Ni(e),Ri(this._contentNode),Ei(e,"contextmenu",Oi),this._tipContainer=hi("div",t+"-tip-container",i),this._tip=hi("div",t+"-tip",this._tipContainer),this.options.closeButton){var n=this._closeButton=hi("a",t+"-close-button",i);n.href="#close",n.innerHTML="×",Ei(n,"click",this._onCloseButtonClick,this)}},_updateLayout:function(){var t=this._contentNode,i=t.style;i.width="",i.whiteSpace="nowrap";var e=t.offsetWidth;e=Math.min(e,this.options.maxWidth),e=Math.max(e,this.options.minWidth),i.width=e+1+"px",i.whiteSpace="",i.height="";var n=t.offsetHeight,o=this.options.maxHeight,s="leaflet-popup-scrolled";o&&o<n?(i.height=o+"px",pi(t,s)):mi(t,s),this._containerWidth=this._container.offsetWidth},_animateZoom:function(t){var i=this._map._latLngToNewLayerPoint(this._latlng,t.zoom,t.center),e=this._getAnchor();wi(this._container,i.add(e))},_adjustPan:function(){if(this.options.autoPan){this._map._panAnim&&this._map._panAnim.stop();var t=this._map,i=parseInt(ai(this._container,"marginBottom"),10)||0,e=this._container.offsetHeight+i,n=this._containerWidth,o=new B(this._containerLeft,-e-this._containerBottom);o._add(Pi(this._container));var s=t.layerPointToContainerPoint(o),r=I(this.options.autoPanPadding),a=I(this.options.autoPanPaddingTopLeft||r),h=I(this.options.autoPanPaddingBottomRight||r),u=t.getSize(),l=0,c=0;s.x+n+h.x>u.x&&(l=s.x+n-u.x+h.x),s.x-l-a.x<0&&(l=s.x-a.x),s.y+e+h.y>u.y&&(c=s.y+e-u.y+h.y),s.y-c-a.y<0&&(c=s.y-a.y),(l||c)&&t.fire("autopanstart").panBy([l,c])}},_onCloseButtonClick:function(t){this._close(),ji(t)},_getAnchor:function(){return I(this._source&&this._source._getPopupAnchor?this._source._getPopupAnchor():[0,0])}});Ji.mergeOptions({closePopupOnClick:!0}),Ji.include({openPopup:function(t,i,e){return t instanceof nn||(t=new nn(e).setContent(t)),i&&t.setLatLng(i),this.hasLayer(t)?this:(this._popup&&this._popup.options.autoClose&&this.closePopup(),this._popup=t,this.addLayer(t))},closePopup:function(t){return t&&t!==this._popup||(t=this._popup,this._popup=null),t&&this.removeLayer(t),this}}),Se.include({bindPopup:function(t,i){return t instanceof nn?(p(t,i),(this._popup=t)._source=this):(this._popup&&!i||(this._popup=new nn(i,this)),this._popup.setContent(t)),this._popupHandlersAdded||(this.on({click:this._openPopup,keypress:this._onKeyPress,remove:this.closePopup,move:this._movePopup}),this._popupHandlersAdded=!0),this},unbindPopup:function(){return this._popup&&(this.off({click:this._openPopup,keypress:this._onKeyPress,remove:this.closePopup,move:this._movePopup}),this._popupHandlersAdded=!1,this._popup=null),this},openPopup:function(t,i){return this._popup&&this._map&&(i=this._popup._prepareOpen(this,t,i),this._map.openPopup(this._popup,i)),this},closePopup:function(){return this._popup&&this._popup._close(),this},togglePopup:function(t){return this._popup&&(this._popup._map?this.closePopup():this.openPopup(t)),this},isPopupOpen:function(){return!!this._popup&&this._popup.isOpen()},setPopupContent:function(t){return this._popup&&this._popup.setContent(t),this},getPopup:function(){return this._popup},_openPopup:function(t){var i=t.layer||t.target;this._popup&&this._map&&(ji(t),i instanceof Oe?this.openPopup(t.layer||t.target,t.latlng):this._map.hasLayer(this._popup)&&this._popup._source===i?this.closePopup():this.openPopup(i,t.latlng))},_movePopup:function(t){this._popup.setLatLng(t.latlng)},_onKeyPress:function(t){13===t.originalEvent.keyCode&&this._openPopup(t)}});var on=en.extend({options:{pane:"tooltipPane",offset:[0,0],direction:"auto",permanent:!1,sticky:!1,interactive:!1,opacity:.9},onAdd:function(t){en.prototype.onAdd.call(this,t),this.setOpacity(this.options.opacity),t.fire("tooltipopen",{tooltip:this}),this._source&&this._source.fire("tooltipopen",{tooltip:this},!0)},onRemove:function(t){en.prototype.onRemove.call(this,t),t.fire("tooltipclose",{tooltip:this}),this._source&&this._source.fire("tooltipclose",{tooltip:this},!0)},getEvents:function(){var t=en.prototype.getEvents.call(this);return Tt&&!this.options.permanent&&(t.preclick=this._close),t},_close:function(){this._map&&this._map.closeTooltip(this)},_initLayout:function(){var t="leaflet-tooltip "+(this.options.className||"")+" leaflet-zoom-"+(this._zoomAnimated?"animated":"hide");this._contentNode=this._container=hi("div",t)},_updateLayout:function(){},_adjustPan:function(){},_setPosition:function(t){var i=this._map,e=this._container,n=i.latLngToContainerPoint(i.getCenter()),o=i.layerPointToContainerPoint(t),s=this.options.direction,r=e.offsetWidth,a=e.offsetHeight,h=I(this.options.offset),u=this._getAnchor();t="top"===s?t.add(I(-r/2+h.x,-a+h.y+u.y,!0)):"bottom"===s?t.subtract(I(r/2-h.x,-h.y,!0)):"center"===s?t.subtract(I(r/2+h.x,a/2-u.y+h.y,!0)):"right"===s||"auto"===s&&o.x<n.x?(s="right",t.add(I(h.x+u.x,u.y-a/2+h.y,!0))):(s="left",t.subtract(I(r+u.x-h.x,a/2-u.y-h.y,!0))),mi(e,"leaflet-tooltip-right"),mi(e,"leaflet-tooltip-left"),mi(e,"leaflet-tooltip-top"),mi(e,"leaflet-tooltip-bottom"),pi(e,"leaflet-tooltip-"+s),wi(e,t)},_updatePosition:function(){var t=this._map.latLngToLayerPoint(this._latlng);this._setPosition(t)},setOpacity:function(t){this.options.opacity=t,this._container&&vi(this._container,t)},_animateZoom:function(t){var i=this._map._latLngToNewLayerPoint(this._latlng,t.zoom,t.center);this._setPosition(i)},_getAnchor:function(){return I(this._source&&this._source._getTooltipAnchor&&!this.options.sticky?this._source._getTooltipAnchor():[0,0])}});Ji.include({openTooltip:function(t,i,e){return t instanceof on||(t=new on(e).setContent(t)),i&&t.setLatLng(i),this.hasLayer(t)?this:this.addLayer(t)},closeTooltip:function(t){return t&&this.removeLayer(t),this}}),Se.include({bindTooltip:function(t,i){return t instanceof on?(p(t,i),(this._tooltip=t)._source=this):(this._tooltip&&!i||(this._tooltip=new on(i,this)),this._tooltip.setContent(t)),this._initTooltipInteractions(),this._tooltip.options.permanent&&this._map&&this._map.hasLayer(this)&&this.openTooltip(),this},unbindTooltip:function(){return this._tooltip&&(this._initTooltipInteractions(!0),this.closeTooltip(),this._tooltip=null),this},_initTooltipInteractions:function(t){if(t||!this._tooltipHandlersAdded){var i=t?"off":"on",e={remove:this.closeTooltip,move:this._moveTooltip};this._tooltip.options.permanent?e.add=this._openTooltip:(e.mouseover=this._openTooltip,e.mouseout=this.closeTooltip,this._tooltip.options.sticky&&(e.mousemove=this._moveTooltip),Tt&&(e.click=this._openTooltip)),this[i](e),this._tooltipHandlersAdded=!t}},openTooltip:function(t,i){return this._tooltip&&this._map&&(i=this._tooltip._prepareOpen(this,t,i),this._map.openTooltip(this._tooltip,i),this._tooltip.options.interactive&&this._tooltip._container&&(pi(this._tooltip._container,"leaflet-clickable"),this.addInteractiveTarget(this._tooltip._container))),this},closeTooltip:function(){return this._tooltip&&(this._tooltip._close(),this._tooltip.options.interactive&&this._tooltip._container&&(mi(this._tooltip._container,"leaflet-clickable"),this.removeInteractiveTarget(this._tooltip._container))),this},toggleTooltip:function(t){return this._tooltip&&(this._tooltip._map?this.closeTooltip():this.openTooltip(t)),this},isTooltipOpen:function(){return this._tooltip.isOpen()},setTooltipContent:function(t){return this._tooltip&&this._tooltip.setContent(t),this},getTooltip:function(){return this._tooltip},_openTooltip:function(t){var i=t.layer||t.target;this._tooltip&&this._map&&this.openTooltip(i,this._tooltip.options.sticky?t.latlng:void 0)},_moveTooltip:function(t){var i,e,n=t.latlng;this._tooltip.options.sticky&&t.originalEvent&&(i=this._map.mouseEventToContainerPoint(t.originalEvent),e=this._map.containerPointToLayerPoint(i),n=this._map.layerPointToLatLng(e)),this._tooltip.setLatLng(n)}});var sn=ke.extend({options:{iconSize:[12,12],html:!1,bgPos:null,className:"leaflet-div-icon"},createIcon:function(t){var i=t&&"DIV"===t.tagName?t:document.createElement("div"),e=this.options;if(e.html instanceof Element?(li(i),i.appendChild(e.html)):i.innerHTML=!1!==e.html?e.html:"",e.bgPos){var n=I(e.bgPos);i.style.backgroundPosition=-n.x+"px "+-n.y+"px"}return this._setIconStyles(i,"icon"),i},createShadow:function(){return null}});ke.Default=Be;var rn=Se.extend({options:{tileSize:256,opacity:1,updateWhenIdle:xt,updateWhenZooming:!0,updateInterval:200,zIndex:1,bounds:null,minZoom:0,maxZoom:void 0,maxNativeZoom:void 0,minNativeZoom:void 0,noWrap:!1,pane:"tilePane",className:"",keepBuffer:2},initialize:function(t){p(this,t)},onAdd:function(){this._initContainer(),this._levels={},this._tiles={},this._resetView(),this._update()},beforeAdd:function(t){t._addZoomLimit(this)},onRemove:function(t){this._removeAllTiles(),ui(this._container),t._removeZoomLimit(this),this._container=null,this._tileZoom=void 0},bringToFront:function(){return this._map&&(ci(this._container),this._setAutoZIndex(Math.max)),this},bringToBack:function(){return this._map&&(_i(this._container),this._setAutoZIndex(Math.min)),this},getContainer:function(){return this._container},setOpacity:function(t){return this.options.opacity=t,this._updateOpacity(),this},setZIndex:function(t){return this.options.zIndex=t,this._updateZIndex(),this},isLoading:function(){return this._loading},redraw:function(){return this._map&&(this._removeAllTiles(),this._update()),this},getEvents:function(){var t={viewprereset:this._invalidateAll,viewreset:this._resetView,zoom:this._resetView,moveend:this._onMoveEnd};return this.options.updateWhenIdle||(this._onMove||(this._onMove=o(this._onMoveEnd,this.options.updateInterval,this)),t.move=this._onMove),this._zoomAnimated&&(t.zoomanim=this._animateZoom),t},createTile:function(){return document.createElement("div")},getTileSize:function(){var t=this.options.tileSize;return t instanceof B?t:new B(t,t)},_updateZIndex:function(){this._container&&void 0!==this.options.zIndex&&null!==this.options.zIndex&&(this._container.style.zIndex=this.options.zIndex)},_setAutoZIndex:function(t){for(var i,e=this.getPane().children,n=-t(-1/0,1/0),o=0,s=e.length;o<s;o++)i=e[o].style.zIndex,e[o]!==this._container&&i&&(n=t(n,+i));isFinite(n)&&(this.options.zIndex=n+t(-1,1),this._updateZIndex())},_updateOpacity:function(){if(this._map&&!et){vi(this._container,this.options.opacity);var t=+new Date,i=!1,e=!1;for(var n in this._tiles){var o=this._tiles[n];if(o.current&&o.loaded){var s=Math.min(1,(t-o.loaded)/200);vi(o.el,s),s<1?i=!0:(o.active?e=!0:this._onOpaqueTile(o),o.active=!0)}}e&&!this._noPrune&&this._pruneTiles(),i&&(C(this._fadeFrame),this._fadeFrame=M(this._updateOpacity,this))}},_onOpaqueTile:l,_initContainer:function(){this._container||(this._container=hi("div","leaflet-layer "+(this.options.className||"")),this._updateZIndex(),this.options.opacity<1&&this._updateOpacity(),this.getPane().appendChild(this._container))},_updateLevels:function(){var t=this._tileZoom,i=this.options.maxZoom;if(void 0!==t){for(var e in this._levels)this._levels[e].el.children.length||e===t?(this._levels[e].el.style.zIndex=i-Math.abs(t-e),this._onUpdateLevel(e)):(ui(this._levels[e].el),this._removeTilesAtZoom(e),this._onRemoveLevel(e),delete this._levels[e]);var n=this._levels[t],o=this._map;return n||((n=this._levels[t]={}).el=hi("div","leaflet-tile-container leaflet-zoom-animated",this._container),n.el.style.zIndex=i,n.origin=o.project(o.unproject(o.getPixelOrigin()),t).round(),n.zoom=t,this._setZoomTransform(n,o.getCenter(),o.getZoom()),n.el.offsetWidth,this._onCreateLevel(n)),this._level=n}},_onUpdateLevel:l,_onRemoveLevel:l,_onCreateLevel:l,_pruneTiles:function(){if(this._map){var t,i,e=this._map.getZoom();if(e>this.options.maxZoom||e<this.options.minZoom)this._removeAllTiles();else{for(t in this._tiles)(i=this._tiles[t]).retain=i.current;for(t in this._tiles)if((i=this._tiles[t]).current&&!i.active){var n=i.coords;this._retainParent(n.x,n.y,n.z,n.z-5)||this._retainChildren(n.x,n.y,n.z,n.z+2)}for(t in this._tiles)this._tiles[t].retain||this._removeTile(t)}}},_removeTilesAtZoom:function(t){for(var i in this._tiles)this._tiles[i].coords.z===t&&this._removeTile(i)},_removeAllTiles:function(){for(var t in this._tiles)this._removeTile(t)},_invalidateAll:function(){for(var t in this._levels)ui(this._levels[t].el),this._onRemoveLevel(t),delete this._levels[t];this._removeAllTiles(),this._tileZoom=void 0},_retainParent:function(t,i,e,n){var o=Math.floor(t/2),s=Math.floor(i/2),r=e-1,a=new B(+o,+s);a.z=+r;var h=this._tileCoordsToKey(a),u=this._tiles[h];return u&&u.active?u.retain=!0:(u&&u.loaded&&(u.retain=!0),n<r&&this._retainParent(o,s,r,n))},_retainChildren:function(t,i,e,n){for(var o=2*t;o<2*t+2;o++)for(var s=2*i;s<2*i+2;s++){var r=new B(o,s);r.z=e+1;var a=this._tileCoordsToKey(r),h=this._tiles[a];h&&h.active?h.retain=!0:(h&&h.loaded&&(h.retain=!0),e+1<n&&this._retainChildren(o,s,e+1,n))}},_resetView:function(t){var i=t&&(t.pinch||t.flyTo);this._setView(this._map.getCenter(),this._map.getZoom(),i,i)},_animateZoom:function(t){this._setView(t.center,t.zoom,!0,t.noUpdate)},_clampZoom:function(t){var i=this.options;return void 0!==i.minNativeZoom&&t<i.minNativeZoom?i.minNativeZoom:void 0!==i.maxNativeZoom&&i.maxNativeZoom<t?i.maxNativeZoom:t},_setView:function(t,i,e,n){var o=this._clampZoom(Math.round(i));(void 0!==this.options.maxZoom&&o>this.options.maxZoom||void 0!==this.options.minZoom&&o<this.options.minZoom)&&(o=void 0);var s=this.options.updateWhenZooming&&o!==this._tileZoom;n&&!s||(this._tileZoom=o,this._abortLoading&&this._abortLoading(),this._updateLevels(),this._resetGrid(),void 0!==o&&this._update(t),e||this._pruneTiles(),this._noPrune=!!e),this._setZoomTransforms(t,i)},_setZoomTransforms:function(t,i){for(var e in this._levels)this._setZoomTransform(this._levels[e],t,i)},_setZoomTransform:function(t,i,e){var n=this._map.getZoomScale(e,t.zoom),o=t.origin.multiplyBy(n).subtract(this._map._getNewPixelOrigin(i,e)).round();yt?xi(t.el,o,n):wi(t.el,o)},_resetGrid:function(){var t=this._map,i=t.options.crs,e=this._tileSize=this.getTileSize(),n=this._tileZoom,o=this._map.getPixelWorldBounds(this._tileZoom);o&&(this._globalTileRange=this._pxBoundsToTileRange(o)),this._wrapX=i.wrapLng&&!this.options.noWrap&&[Math.floor(t.project([0,i.wrapLng[0]],n).x/e.x),Math.ceil(t.project([0,i.wrapLng[1]],n).x/e.y)],this._wrapY=i.wrapLat&&!this.options.noWrap&&[Math.floor(t.project([i.wrapLat[0],0],n).y/e.x),Math.ceil(t.project([i.wrapLat[1],0],n).y/e.y)]},_onMoveEnd:function(){this._map&&!this._map._animatingZoom&&this._update()},_getTiledPixelBounds:function(t){var i=this._map,e=i._animatingZoom?Math.max(i._animateToZoom,i.getZoom()):i.getZoom(),n=i.getZoomScale(e,this._tileZoom),o=i.project(t,this._tileZoom).floor(),s=i.getSize().divideBy(2*n);return new O(o.subtract(s),o.add(s))},_update:function(t){var i=this._map;if(i){var e=this._clampZoom(i.getZoom());if(void 0===t&&(t=i.getCenter()),void 0!==this._tileZoom){var n=this._getTiledPixelBounds(t),o=this._pxBoundsToTileRange(n),s=o.getCenter(),r=[],a=this.options.keepBuffer,h=new O(o.getBottomLeft().subtract([a,-a]),o.getTopRight().add([a,-a]));if(!(isFinite(o.min.x)&&isFinite(o.min.y)&&isFinite(o.max.x)&&isFinite(o.max.y)))throw new Error("Attempted to load an infinite number of tiles");for(var u in this._tiles){var l=this._tiles[u].coords;l.z===this._tileZoom&&h.contains(new B(l.x,l.y))||(this._tiles[u].current=!1)}if(1<Math.abs(e-this._tileZoom))this._setView(t,e);else{for(var c=o.min.y;c<=o.max.y;c++)for(var _=o.min.x;_<=o.max.x;_++){var d=new B(_,c);if(d.z=this._tileZoom,this._isValidTile(d)){var p=this._tiles[this._tileCoordsToKey(d)];p?p.current=!0:r.push(d)}}if(r.sort(function(t,i){return t.distanceTo(s)-i.distanceTo(s)}),0!==r.length){this._loading||(this._loading=!0,this.fire("loading"));var m=document.createDocumentFragment();for(_=0;_<r.length;_++)this._addTile(r[_],m);this._level.el.appendChild(m)}}}}},_isValidTile:function(t){var i=this._map.options.crs;if(!i.infinite){var e=this._globalTileRange;if(!i.wrapLng&&(t.x<e.min.x||t.x>e.max.x)||!i.wrapLat&&(t.y<e.min.y||t.y>e.max.y))return!1}if(!this.options.bounds)return!0;var n=this._tileCoordsToBounds(t);return D(this.options.bounds).overlaps(n)},_keyToBounds:function(t){return this._tileCoordsToBounds(this._keyToTileCoords(t))},_tileCoordsToNwSe:function(t){var i=this._map,e=this.getTileSize(),n=t.scaleBy(e),o=n.add(e);return[i.unproject(n,t.z),i.unproject(o,t.z)]},_tileCoordsToBounds:function(t){var i=this._tileCoordsToNwSe(t),e=new N(i[0],i[1]);return this.options.noWrap||(e=this._map.wrapLatLngBounds(e)),e},_tileCoordsToKey:function(t){return t.x+":"+t.y+":"+t.z},_keyToTileCoords:function(t){var i=t.split(":"),e=new B(+i[0],+i[1]);return e.z=+i[2],e},_removeTile:function(t){var i=this._tiles[t];i&&(ui(i.el),delete this._tiles[t],this.fire("tileunload",{tile:i.el,coords:this._keyToTileCoords(t)}))},_initTile:function(t){pi(t,"leaflet-tile");var i=this.getTileSize();t.style.width=i.x+"px",t.style.height=i.y+"px",t.onselectstart=l,t.onmousemove=l,et&&this.options.opacity<1&&vi(t,this.options.opacity),st&&!rt&&(t.style.WebkitBackfaceVisibility="hidden")},_addTile:function(t,i){var e=this._getTilePos(t),n=this._tileCoordsToKey(t),o=this.createTile(this._wrapCoords(t),a(this._tileReady,this,t));this._initTile(o),this.createTile.length<2&&M(a(this._tileReady,this,t,null,o)),wi(o,e),this._tiles[n]={el:o,coords:t,current:!0},i.appendChild(o),this.fire("tileloadstart",{tile:o,coords:t})},_tileReady:function(t,i,e){i&&this.fire("tileerror",{error:i,tile:e,coords:t});var n=this._tileCoordsToKey(t);(e=this._tiles[n])&&(e.loaded=+new Date,this._map._fadeAnimated?(vi(e.el,0),C(this._fadeFrame),this._fadeFrame=M(this._updateOpacity,this)):(e.active=!0,this._pruneTiles()),i||(pi(e.el,"leaflet-tile-loaded"),this.fire("tileload",{tile:e.el,coords:t})),this._noTilesToLoad()&&(this._loading=!1,this.fire("load"),et||!this._map._fadeAnimated?M(this._pruneTiles,this):setTimeout(a(this._pruneTiles,this),250)))},_getTilePos:function(t){return t.scaleBy(this.getTileSize()).subtract(this._level.origin)},_wrapCoords:function(t){var i=new B(this._wrapX?r(t.x,this._wrapX):t.x,this._wrapY?r(t.y,this._wrapY):t.y);return i.z=t.z,i},_pxBoundsToTileRange:function(t){var i=this.getTileSize();return new O(t.min.unscaleBy(i).floor(),t.max.unscaleBy(i).ceil().subtract([1,1]))},_noTilesToLoad:function(){for(var t in this._tiles)if(!this._tiles[t].loaded)return!1;return!0}});var an=rn.extend({options:{minZoom:0,maxZoom:18,subdomains:"abc",errorTileUrl:"",zoomOffset:0,tms:!1,zoomReverse:!1,detectRetina:!1,crossOrigin:!1},initialize:function(t,i){this._url=t,(i=p(this,i)).detectRetina&&Ct&&0<i.maxZoom&&(i.tileSize=Math.floor(i.tileSize/2),i.zoomReverse?(i.zoomOffset--,i.minZoom++):(i.zoomOffset++,i.maxZoom--),i.minZoom=Math.max(0,i.minZoom)),"string"==typeof i.subdomains&&(i.subdomains=i.subdomains.split("")),st||this.on("tileunload",this._onTileRemove)},setUrl:function(t,i){return this._url===t&&void 0===i&&(i=!0),this._url=t,i||this.redraw(),this},createTile:function(t,i){var e=document.createElement("img");return Ei(e,"load",a(this._tileOnLoad,this,i,e)),Ei(e,"error",a(this._tileOnError,this,i,e)),!this.options.crossOrigin&&""!==this.options.crossOrigin||(e.crossOrigin=!0===this.options.crossOrigin?"":this.options.crossOrigin),e.alt="",e.setAttribute("role","presentation"),e.src=this.getTileUrl(t),e},getTileUrl:function(t){var i={r:Ct?"@2x":"",s:this._getSubdomain(t),x:t.x,y:t.y,z:this._getZoomForUrl()};if(this._map&&!this._map.options.crs.infinite){var e=this._globalTileRange.max.y-t.y;this.options.tms&&(i.y=e),i["-y"]=e}return g(this._url,h(i,this.options))},_tileOnLoad:function(t,i){et?setTimeout(a(t,this,null,i),0):t(null,i)},_tileOnError:function(t,i,e){var n=this.options.errorTileUrl;n&&i.getAttribute("src")!==n&&(i.src=n),t(e,i)},_onTileRemove:function(t){t.tile.onload=null},_getZoomForUrl:function(){var t=this._tileZoom,i=this.options.maxZoom;return this.options.zoomReverse&&(t=i-t),t+this.options.zoomOffset},_getSubdomain:function(t){var i=Math.abs(t.x+t.y)%this.options.subdomains.length;return this.options.subdomains[i]},_abortLoading:function(){var t,i;for(t in this._tiles)this._tiles[t].coords.z!==this._tileZoom&&((i=this._tiles[t].el).onload=l,i.onerror=l,i.complete||(i.src=x,ui(i),delete this._tiles[t]))},_removeTile:function(t){var i=this._tiles[t];if(i)return ht||i.el.setAttribute("src",x),rn.prototype._removeTile.call(this,t)},_tileReady:function(t,i,e){if(this._map&&(!e||e.getAttribute("src")!==x))return rn.prototype._tileReady.call(this,t,i,e)}});function hn(t,i){return new an(t,i)}var un=an.extend({defaultWmsParams:{service:"WMS",request:"GetMap",layers:"",styles:"",format:"image/jpeg",transparent:!1,version:"1.1.1"},options:{crs:null,uppercase:!1},initialize:function(t,i){this._url=t;var e=h({},this.defaultWmsParams);for(var n in i)n in this.options||(e[n]=i[n]);var o=(i=p(this,i)).detectRetina&&Ct?2:1,s=this.getTileSize();e.width=s.x*o,e.height=s.y*o,this.wmsParams=e},onAdd:function(t){this._crs=this.options.crs||t.options.crs,this._wmsVersion=parseFloat(this.wmsParams.version);var i=1.3<=this._wmsVersion?"crs":"srs";this.wmsParams[i]=this._crs.code,an.prototype.onAdd.call(this,t)},getTileUrl:function(t){var i=this._tileCoordsToNwSe(t),e=this._crs,n=R(e.project(i[0]),e.project(i[1])),o=n.min,s=n.max,r=(1.3<=this._wmsVersion&&this._crs===Me?[o.y,o.x,s.y,s.x]:[o.x,o.y,s.x,s.y]).join(","),a=an.prototype.getTileUrl.call(this,t);return a+m(this.wmsParams,a,this.options.uppercase)+(this.options.uppercase?"&BBOX=":"&bbox=")+r},setParams:function(t,i){return h(this.wmsParams,t),i||this.redraw(),this}});an.WMS=un,hn.wms=function(t,i){return new un(t,i)};var ln=Se.extend({options:{padding:.1,tolerance:0},initialize:function(t){p(this,t),u(this),this._layers=this._layers||{}},onAdd:function(){this._container||(this._initContainer(),this._zoomAnimated&&pi(this._container,"leaflet-zoom-animated")),this.getPane().appendChild(this._container),this._update(),this.on("update",this._updatePaths,this)},onRemove:function(){this.off("update",this._updatePaths,this),this._destroyContainer()},getEvents:function(){var t={viewreset:this._reset,zoom:this._onZoom,moveend:this._update,zoomend:this._onZoomEnd};return this._zoomAnimated&&(t.zoomanim=this._onAnimZoom),t},_onAnimZoom:function(t){this._updateTransform(t.center,t.zoom)},_onZoom:function(){this._updateTransform(this._map.getCenter(),this._map.getZoom())},_updateTransform:function(t,i){var e=this._map.getZoomScale(i,this._zoom),n=Pi(this._container),o=this._map.getSize().multiplyBy(.5+this.options.padding),s=this._map.project(this._center,i),r=this._map.project(t,i).subtract(s),a=o.multiplyBy(-e).add(n).add(o).subtract(r);yt?xi(this._container,a,e):wi(this._container,a)},_reset:function(){for(var t in this._update(),this._updateTransform(this._center,this._zoom),this._layers)this._layers[t]._reset()},_onZoomEnd:function(){for(var t in this._layers)this._layers[t]._project()},_updatePaths:function(){for(var t in this._layers)this._layers[t]._update()},_update:function(){var t=this.options.padding,i=this._map.getSize(),e=this._map.containerPointToLayerPoint(i.multiplyBy(-t)).round();this._bounds=new O(e,e.add(i.multiplyBy(1+2*t)).round()),this._center=this._map.getCenter(),this._zoom=this._map.getZoom()}}),cn=ln.extend({getEvents:function(){var t=ln.prototype.getEvents.call(this);return t.viewprereset=this._onViewPreReset,t},_onViewPreReset:function(){this._postponeUpdatePaths=!0},onAdd:function(){ln.prototype.onAdd.call(this),this._draw()},_initContainer:function(){var t=this._container=document.createElement("canvas");Ei(t,"mousemove",o(this._onMouseMove,32,this),this),Ei(t,"click dblclick mousedown mouseup contextmenu",this._onClick,this),Ei(t,"mouseout",this._handleMouseOut,this),this._ctx=t.getContext("2d")},_destroyContainer:function(){C(this._redrawRequest),delete this._ctx,ui(this._container),Bi(this._container),delete this._container},_updatePaths:function(){if(!this._postponeUpdatePaths){for(var t in this._redrawBounds=null,this._layers)this._layers[t]._update();this._redraw()}},_update:function(){if(!this._map._animatingZoom||!this._bounds){ln.prototype._update.call(this);var t=this._bounds,i=this._container,e=t.getSize(),n=Ct?2:1;wi(i,t.min),i.width=n*e.x,i.height=n*e.y,i.style.width=e.x+"px",i.style.height=e.y+"px",Ct&&this._ctx.scale(2,2),this._ctx.translate(-t.min.x,-t.min.y),this.fire("update")}},_reset:function(){ln.prototype._reset.call(this),this._postponeUpdatePaths&&(this._postponeUpdatePaths=!1,this._updatePaths())},_initPath:function(t){this._updateDashArray(t);var i=(this._layers[u(t)]=t)._order={layer:t,prev:this._drawLast,next:null};this._drawLast&&(this._drawLast.next=i),this._drawLast=i,this._drawFirst=this._drawFirst||this._drawLast},_addPath:function(t){this._requestRedraw(t)},_removePath:function(t){var i=t._order,e=i.next,n=i.prev;e?e.prev=n:this._drawLast=n,n?n.next=e:this._drawFirst=e,delete t._order,delete this._layers[u(t)],this._requestRedraw(t)},_updatePath:function(t){this._extendRedrawBounds(t),t._project(),t._update(),this._requestRedraw(t)},_updateStyle:function(t){this._updateDashArray(t),this._requestRedraw(t)},_updateDashArray:function(t){if("string"==typeof t.options.dashArray){var i,e,n=t.options.dashArray.split(/[, ]+/),o=[];for(e=0;e<n.length;e++){if(i=Number(n[e]),isNaN(i))return;o.push(i)}t.options._dashArray=o}else t.options._dashArray=t.options.dashArray},_requestRedraw:function(t){this._map&&(this._extendRedrawBounds(t),this._redrawRequest=this._redrawRequest||M(this._redraw,this))},_extendRedrawBounds:function(t){if(t._pxBounds){var i=(t.options.weight||0)+1;this._redrawBounds=this._redrawBounds||new O,this._redrawBounds.extend(t._pxBounds.min.subtract([i,i])),this._redrawBounds.extend(t._pxBounds.max.add([i,i]))}},_redraw:function(){this._redrawRequest=null,this._redrawBounds&&(this._redrawBounds.min._floor(),this._redrawBounds.max._ceil()),this._clear(),this._draw(),this._redrawBounds=null},_clear:function(){var t=this._redrawBounds;if(t){var i=t.getSize();this._ctx.clearRect(t.min.x,t.min.y,i.x,i.y)}else this._ctx.clearRect(0,0,this._container.width,this._container.height)},_draw:function(){var t,i=this._redrawBounds;if(this._ctx.save(),i){var e=i.getSize();this._ctx.beginPath(),this._ctx.rect(i.min.x,i.min.y,e.x,e.y),this._ctx.clip()}this._drawing=!0;for(var n=this._drawFirst;n;n=n.next)t=n.layer,(!i||t._pxBounds&&t._pxBounds.intersects(i))&&t._updatePath();this._drawing=!1,this._ctx.restore()},_updatePoly:function(t,i){if(this._drawing){var e,n,o,s,r=t._parts,a=r.length,h=this._ctx;if(a){for(h.beginPath(),e=0;e<a;e++){for(n=0,o=r[e].length;n<o;n++)s=r[e][n],h[n?"lineTo":"moveTo"](s.x,s.y);i&&h.closePath()}this._fillStroke(h,t)}}},_updateCircle:function(t){if(this._drawing&&!t._empty()){var i=t._point,e=this._ctx,n=Math.max(Math.round(t._radius),1),o=(Math.max(Math.round(t._radiusY),1)||n)/n;1!=o&&(e.save(),e.scale(1,o)),e.beginPath(),e.arc(i.x,i.y/o,n,0,2*Math.PI,!1),1!=o&&e.restore(),this._fillStroke(e,t)}},_fillStroke:function(t,i){var e=i.options;e.fill&&(t.globalAlpha=e.fillOpacity,t.fillStyle=e.fillColor||e.color,t.fill(e.fillRule||"evenodd")),e.stroke&&0!==e.weight&&(t.setLineDash&&t.setLineDash(i.options&&i.options._dashArray||[]),t.globalAlpha=e.opacity,t.lineWidth=e.weight,t.strokeStyle=e.color,t.lineCap=e.lineCap,t.lineJoin=e.lineJoin,t.stroke())},_onClick:function(t){for(var i,e,n=this._map.mouseEventToLayerPoint(t),o=this._drawFirst;o;o=o.next)(i=o.layer).options.interactive&&i._containsPoint(n)&&!this._map._draggableMoved(i)&&(e=i);e&&(qi(t),this._fireEvent([e],t))},_onMouseMove:function(t){if(this._map&&!this._map.dragging.moving()&&!this._map._animatingZoom){var i=this._map.mouseEventToLayerPoint(t);this._handleMouseHover(t,i)}},_handleMouseOut:function(t){var i=this._hoveredLayer;i&&(mi(this._container,"leaflet-interactive"),this._fireEvent([i],t,"mouseout"),this._hoveredLayer=null)},_handleMouseHover:function(t,i){for(var e,n,o=this._drawFirst;o;o=o.next)(e=o.layer).options.interactive&&e._containsPoint(i)&&(n=e);n!==this._hoveredLayer&&(this._handleMouseOut(t),n&&(pi(this._container,"leaflet-interactive"),this._fireEvent([n],t,"mouseover"),this._hoveredLayer=n)),this._hoveredLayer&&this._fireEvent([this._hoveredLayer],t)},_fireEvent:function(t,i,e){this._map._fireDOMEvent(i,e||i.type,t)},_bringToFront:function(t){var i=t._order;if(i){var e=i.next,n=i.prev;e&&((e.prev=n)?n.next=e:e&&(this._drawFirst=e),i.prev=this._drawLast,(this._drawLast.next=i).next=null,this._drawLast=i,this._requestRedraw(t))}},_bringToBack:function(t){var i=t._order;if(i){var e=i.next,n=i.prev;n&&((n.next=e)?e.prev=n:n&&(this._drawLast=n),i.prev=null,i.next=this._drawFirst,this._drawFirst.prev=i,this._drawFirst=i,this._requestRedraw(t))}}});function _n(t){return St?new cn(t):null}var dn=function(){try{return document.namespaces.add("lvml","urn:schemas-microsoft-com:vml"),function(t){return document.createElement("<lvml:"+t+' class="lvml">')}}catch(t){return function(t){return document.createElement("<"+t+' xmlns="urn:schemas-microsoft.com:vml" class="lvml">')}}}(),pn={_initContainer:function(){this._container=hi("div","leaflet-vml-container")},_update:function(){this._map._animatingZoom||(ln.prototype._update.call(this),this.fire("update"))},_initPath:function(t){var i=t._container=dn("shape");pi(i,"leaflet-vml-shape "+(this.options.className||"")),i.coordsize="1 1",t._path=dn("path"),i.appendChild(t._path),this._updateStyle(t),this._layers[u(t)]=t},_addPath:function(t){var i=t._container;this._container.appendChild(i),t.options.interactive&&t.addInteractiveTarget(i)},_removePath:function(t){var i=t._container;ui(i),t.removeInteractiveTarget(i),delete this._layers[u(t)]},_updateStyle:function(t){var i=t._stroke,e=t._fill,n=t.options,o=t._container;o.stroked=!!n.stroke,o.filled=!!n.fill,n.stroke?(i||(i=t._stroke=dn("stroke")),o.appendChild(i),i.weight=n.weight+"px",i.color=n.color,i.opacity=n.opacity,n.dashArray?i.dashStyle=v(n.dashArray)?n.dashArray.join(" "):n.dashArray.replace(/( *, *)/g," "):i.dashStyle="",i.endcap=n.lineCap.replace("butt","flat"),i.joinstyle=n.lineJoin):i&&(o.removeChild(i),t._stroke=null),n.fill?(e||(e=t._fill=dn("fill")),o.appendChild(e),e.color=n.fillColor||n.color,e.opacity=n.fillOpacity):e&&(o.removeChild(e),t._fill=null)},_updateCircle:function(t){var i=t._point.round(),e=Math.round(t._radius),n=Math.round(t._radiusY||e);this._setPath(t,t._empty()?"M0 0":"AL "+i.x+","+i.y+" "+e+","+n+" 0,23592600")},_setPath:function(t,i){t._path.v=i},_bringToFront:function(t){ci(t._container)},_bringToBack:function(t){_i(t._container)}},mn=Et?dn:$,fn=ln.extend({getEvents:function(){var t=ln.prototype.getEvents.call(this);return t.zoomstart=this._onZoomStart,t},_initContainer:function(){this._container=mn("svg"),this._container.setAttribute("pointer-events","none"),this._rootGroup=mn("g"),this._container.appendChild(this._rootGroup)},_destroyContainer:function(){ui(this._container),Bi(this._container),delete this._container,delete this._rootGroup,delete this._svgSize},_onZoomStart:function(){this._update()},_update:function(){if(!this._map._animatingZoom||!this._bounds){ln.prototype._update.call(this);var t=this._bounds,i=t.getSize(),e=this._container;this._svgSize&&this._svgSize.equals(i)||(this._svgSize=i,e.setAttribute("width",i.x),e.setAttribute("height",i.y)),wi(e,t.min),e.setAttribute("viewBox",[t.min.x,t.min.y,i.x,i.y].join(" ")),this.fire("update")}},_initPath:function(t){var i=t._path=mn("path");t.options.className&&pi(i,t.options.className),t.options.interactive&&pi(i,"leaflet-interactive"),this._updateStyle(t),this._layers[u(t)]=t},_addPath:function(t){this._rootGroup||this._initContainer(),this._rootGroup.appendChild(t._path),t.addInteractiveTarget(t._path)},_removePath:function(t){ui(t._path),t.removeInteractiveTarget(t._path),delete this._layers[u(t)]},_updatePath:function(t){t._project(),t._update()},_updateStyle:function(t){var i=t._path,e=t.options;i&&(e.stroke?(i.setAttribute("stroke",e.color),i.setAttribute("stroke-opacity",e.opacity),i.setAttribute("stroke-width",e.weight),i.setAttribute("stroke-linecap",e.lineCap),i.setAttribute("stroke-linejoin",e.lineJoin),e.dashArray?i.setAttribute("stroke-dasharray",e.dashArray):i.removeAttribute("stroke-dasharray"),e.dashOffset?i.setAttribute("stroke-dashoffset",e.dashOffset):i.removeAttribute("stroke-dashoffset")):i.setAttribute("stroke","none"),e.fill?(i.setAttribute("fill",e.fillColor||e.color),i.setAttribute("fill-opacity",e.fillOpacity),i.setAttribute("fill-rule",e.fillRule||"evenodd")):i.setAttribute("fill","none"))},_updatePoly:function(t,i){this._setPath(t,Q(t._parts,i))},_updateCircle:function(t){var i=t._point,e=Math.max(Math.round(t._radius),1),n="a"+e+","+(Math.max(Math.round(t._radiusY),1)||e)+" 0 1,0 ",o=t._empty()?"M0 0":"M"+(i.x-e)+","+i.y+n+2*e+",0 "+n+2*-e+",0 ";this._setPath(t,o)},_setPath:function(t,i){t._path.setAttribute("d",i)},_bringToFront:function(t){ci(t._path)},_bringToBack:function(t){_i(t._path)}});function gn(t){return Zt||Et?new fn(t):null}Et&&fn.include(pn),Ji.include({getRenderer:function(t){var i=t.options.renderer||this._getPaneRenderer(t.options.pane)||this.options.renderer||this._renderer;return i||(i=this._renderer=this._createRenderer()),this.hasLayer(i)||this.addLayer(i),i},_getPaneRenderer:function(t){if("overlayPane"===t||void 0===t)return!1;var i=this._paneRenderers[t];return void 0===i&&(i=this._createRenderer({pane:t}),this._paneRenderers[t]=i),i},_createRenderer:function(t){return this.options.preferCanvas&&_n(t)||gn(t)}});var vn=je.extend({initialize:function(t,i){je.prototype.initialize.call(this,this._boundsToLatLngs(t),i)},setBounds:function(t){return this.setLatLngs(this._boundsToLatLngs(t))},_boundsToLatLngs:function(t){return[(t=D(t)).getSouthWest(),t.getNorthWest(),t.getNorthEast(),t.getSouthEast()]}});fn.create=mn,fn.pointsToPath=Q,We.geometryToLayer=He,We.coordsToLatLng=Fe,We.coordsToLatLngs=Ue,We.latLngToCoords=Ve,We.latLngsToCoords=qe,We.getFeature=Ge,We.asFeature=Ke,Ji.mergeOptions({boxZoom:!0});var yn=oe.extend({initialize:function(t){this._map=t,this._container=t._container,this._pane=t._panes.overlayPane,this._resetStateTimeout=0,t.on("unload",this._destroy,this)},addHooks:function(){Ei(this._container,"mousedown",this._onMouseDown,this)},removeHooks:function(){Bi(this._container,"mousedown",this._onMouseDown,this)},moved:function(){return this._moved},_destroy:function(){ui(this._pane),delete this._pane},_resetState:function(){this._resetStateTimeout=0,this._moved=!1},_clearDeferredResetState:function(){0!==this._resetStateTimeout&&(clearTimeout(this._resetStateTimeout),this._resetStateTimeout=0)},_onMouseDown:function(t){if(!t.shiftKey||1!==t.which&&1!==t.button)return!1;this._clearDeferredResetState(),this._resetState(),$t(),Li(),this._startPoint=this._map.mouseEventToContainerPoint(t),Ei(document,{contextmenu:ji,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseMove:function(t){this._moved||(this._moved=!0,this._box=hi("div","leaflet-zoom-box",this._container),pi(this._container,"leaflet-crosshair"),this._map.fire("boxzoomstart")),this._point=this._map.mouseEventToContainerPoint(t);var i=new O(this._point,this._startPoint),e=i.getSize();wi(this._box,i.min),this._box.style.width=e.x+"px",this._box.style.height=e.y+"px"},_finish:function(){this._moved&&(ui(this._box),mi(this._container,"leaflet-crosshair")),Qt(),Ti(),Bi(document,{contextmenu:ji,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseUp:function(t){if((1===t.which||1===t.button)&&(this._finish(),this._moved)){this._clearDeferredResetState(),this._resetStateTimeout=setTimeout(a(this._resetState,this),0);var i=new N(this._map.containerPointToLatLng(this._startPoint),this._map.containerPointToLatLng(this._point));this._map.fitBounds(i).fire("boxzoomend",{boxZoomBounds:i})}},_onKeyDown:function(t){27===t.keyCode&&this._finish()}});Ji.addInitHook("addHandler","boxZoom",yn),Ji.mergeOptions({doubleClickZoom:!0});var xn=oe.extend({addHooks:function(){this._map.on("dblclick",this._onDoubleClick,this)},removeHooks:function(){this._map.off("dblclick",this._onDoubleClick,this)},_onDoubleClick:function(t){var i=this._map,e=i.getZoom(),n=i.options.zoomDelta,o=t.originalEvent.shiftKey?e-n:e+n;"center"===i.options.doubleClickZoom?i.setZoom(o):i.setZoomAround(t.containerPoint,o)}});Ji.addInitHook("addHandler","doubleClickZoom",xn),Ji.mergeOptions({dragging:!0,inertia:!rt,inertiaDeceleration:3400,inertiaMaxSpeed:1/0,easeLinearity:.2,worldCopyJump:!1,maxBoundsViscosity:0});var wn=oe.extend({addHooks:function(){if(!this._draggable){var t=this._map;this._draggable=new le(t._mapPane,t._container),this._draggable.on({dragstart:this._onDragStart,drag:this._onDrag,dragend:this._onDragEnd},this),this._draggable.on("predrag",this._onPreDragLimit,this),t.options.worldCopyJump&&(this._draggable.on("predrag",this._onPreDragWrap,this),t.on("zoomend",this._onZoomEnd,this),t.whenReady(this._onZoomEnd,this))}pi(this._map._container,"leaflet-grab leaflet-touch-drag"),this._draggable.enable(),this._positions=[],this._times=[]},removeHooks:function(){mi(this._map._container,"leaflet-grab"),mi(this._map._container,"leaflet-touch-drag"),this._draggable.disable()},moved:function(){return this._draggable&&this._draggable._moved},moving:function(){return this._draggable&&this._draggable._moving},_onDragStart:function(){var t=this._map;if(t._stop(),this._map.options.maxBounds&&this._map.options.maxBoundsViscosity){var i=D(this._map.options.maxBounds);this._offsetLimit=R(this._map.latLngToContainerPoint(i.getNorthWest()).multiplyBy(-1),this._map.latLngToContainerPoint(i.getSouthEast()).multiplyBy(-1).add(this._map.getSize())),this._viscosity=Math.min(1,Math.max(0,this._map.options.maxBoundsViscosity))}else this._offsetLimit=null;t.fire("movestart").fire("dragstart"),t.options.inertia&&(this._positions=[],this._times=[])},_onDrag:function(t){if(this._map.options.inertia){var i=this._lastTime=+new Date,e=this._lastPos=this._draggable._absPos||this._draggable._newPos;this._positions.push(e),this._times.push(i),this._prunePositions(i)}this._map.fire("move",t).fire("drag",t)},_prunePositions:function(t){for(;1<this._positions.length&&50<t-this._times[0];)this._positions.shift(),this._times.shift()},_onZoomEnd:function(){var t=this._map.getSize().divideBy(2),i=this._map.latLngToLayerPoint([0,0]);this._initialWorldOffset=i.subtract(t).x,this._worldWidth=this._map.getPixelWorldBounds().getSize().x},_viscousLimit:function(t,i){return t-(t-i)*this._viscosity},_onPreDragLimit:function(){if(this._viscosity&&this._offsetLimit){var t=this._draggable._newPos.subtract(this._draggable._startPos),i=this._offsetLimit;t.x<i.min.x&&(t.x=this._viscousLimit(t.x,i.min.x)),t.y<i.min.y&&(t.y=this._viscousLimit(t.y,i.min.y)),t.x>i.max.x&&(t.x=this._viscousLimit(t.x,i.max.x)),t.y>i.max.y&&(t.y=this._viscousLimit(t.y,i.max.y)),this._draggable._newPos=this._draggable._startPos.add(t)}},_onPreDragWrap:function(){var t=this._worldWidth,i=Math.round(t/2),e=this._initialWorldOffset,n=this._draggable._newPos.x,o=(n-i+e)%t+i-e,s=(n+i+e)%t-i-e,r=Math.abs(o+e)<Math.abs(s+e)?o:s;this._draggable._absPos=this._draggable._newPos.clone(),this._draggable._newPos.x=r},_onDragEnd:function(t){var i=this._map,e=i.options,n=!e.inertia||this._times.length<2;if(i.fire("dragend",t),n)i.fire("moveend");else{this._prunePositions(+new Date);var o=this._lastPos.subtract(this._positions[0]),s=(this._lastTime-this._times[0])/1e3,r=e.easeLinearity,a=o.multiplyBy(r/s),h=a.distanceTo([0,0]),u=Math.min(e.inertiaMaxSpeed,h),l=a.multiplyBy(u/h),c=u/(e.inertiaDeceleration*r),_=l.multiplyBy(-c/2).round();_.x||_.y?(_=i._limitOffset(_,i.options.maxBounds),M(function(){i.panBy(_,{duration:c,easeLinearity:r,noMoveStart:!0,animate:!0})})):i.fire("moveend")}}});Ji.addInitHook("addHandler","dragging",wn),Ji.mergeOptions({keyboard:!0,keyboardPanDelta:80});var Pn=oe.extend({keyCodes:{left:[37],right:[39],down:[40],up:[38],zoomIn:[187,107,61,171],zoomOut:[189,109,54,173]},initialize:function(t){this._map=t,this._setPanDelta(t.options.keyboardPanDelta),this._setZoomDelta(t.options.zoomDelta)},addHooks:function(){var t=this._map._container;t.tabIndex<=0&&(t.tabIndex="0"),Ei(t,{focus:this._onFocus,blur:this._onBlur,mousedown:this._onMouseDown},this),this._map.on({focus:this._addHooks,blur:this._removeHooks},this)},removeHooks:function(){this._removeHooks(),Bi(this._map._container,{focus:this._onFocus,blur:this._onBlur,mousedown:this._onMouseDown},this),this._map.off({focus:this._addHooks,blur:this._removeHooks},this)},_onMouseDown:function(){if(!this._focused){var t=document.body,i=document.documentElement,e=t.scrollTop||i.scrollTop,n=t.scrollLeft||i.scrollLeft;this._map._container.focus(),window.scrollTo(n,e)}},_onFocus:function(){this._focused=!0,this._map.fire("focus")},_onBlur:function(){this._focused=!1,this._map.fire("blur")},_setPanDelta:function(t){var i,e,n=this._panKeys={},o=this.keyCodes;for(i=0,e=o.left.length;i<e;i++)n[o.left[i]]=[-1*t,0];for(i=0,e=o.right.length;i<e;i++)n[o.right[i]]=[t,0];for(i=0,e=o.down.length;i<e;i++)n[o.down[i]]=[0,t];for(i=0,e=o.up.length;i<e;i++)n[o.up[i]]=[0,-1*t]},_setZoomDelta:function(t){var i,e,n=this._zoomKeys={},o=this.keyCodes;for(i=0,e=o.zoomIn.length;i<e;i++)n[o.zoomIn[i]]=t;for(i=0,e=o.zoomOut.length;i<e;i++)n[o.zoomOut[i]]=-t},_addHooks:function(){Ei(document,"keydown",this._onKeyDown,this)},_removeHooks:function(){Bi(document,"keydown",this._onKeyDown,this)},_onKeyDown:function(t){if(!(t.altKey||t.ctrlKey||t.metaKey)){var i,e=t.keyCode,n=this._map;if(e in this._panKeys)n._panAnim&&n._panAnim._inProgress||(i=this._panKeys[e],t.shiftKey&&(i=I(i).multiplyBy(3)),n.panBy(i),n.options.maxBounds&&n.panInsideBounds(n.options.maxBounds));else if(e in this._zoomKeys)n.setZoom(n.getZoom()+(t.shiftKey?3:1)*this._zoomKeys[e]);else{if(27!==e||!n._popup||!n._popup.options.closeOnEscapeKey)return;n.closePopup()}ji(t)}}});Ji.addInitHook("addHandler","keyboard",Pn),Ji.mergeOptions({scrollWheelZoom:!0,wheelDebounceTime:40,wheelPxPerZoomLevel:60});var bn=oe.extend({addHooks:function(){Ei(this._map._container,"mousewheel",this._onWheelScroll,this),this._delta=0},removeHooks:function(){Bi(this._map._container,"mousewheel",this._onWheelScroll,this)},_onWheelScroll:function(t){var i=Fi(t),e=this._map.options.wheelDebounceTime;this._delta+=i,this._lastMousePos=this._map.mouseEventToContainerPoint(t),this._startTime||(this._startTime=+new Date);var n=Math.max(e-(+new Date-this._startTime),0);clearTimeout(this._timer),this._timer=setTimeout(a(this._performZoom,this),n),ji(t)},_performZoom:function(){var t=this._map,i=t.getZoom(),e=this._map.options.zoomSnap||0;t._stop();var n=this._delta/(4*this._map.options.wheelPxPerZoomLevel),o=4*Math.log(2/(1+Math.exp(-Math.abs(n))))/Math.LN2,s=e?Math.ceil(o/e)*e:o,r=t._limitZoom(i+(0<this._delta?s:-s))-i;this._delta=0,this._startTime=null,r&&("center"===t.options.scrollWheelZoom?t.setZoom(i+r):t.setZoomAround(this._lastMousePos,i+r))}});Ji.addInitHook("addHandler","scrollWheelZoom",bn),Ji.mergeOptions({tap:!0,tapTolerance:15});var Ln=oe.extend({addHooks:function(){Ei(this._map._container,"touchstart",this._onDown,this)},removeHooks:function(){Bi(this._map._container,"touchstart",this._onDown,this)},_onDown:function(t){if(t.touches){if(Di(t),this._fireClick=!0,1<t.touches.length)return this._fireClick=!1,void clearTimeout(this._holdTimeout);var i=t.touches[0],e=i.target;this._startPos=this._newPos=new B(i.clientX,i.clientY),e.tagName&&"a"===e.tagName.toLowerCase()&&pi(e,"leaflet-active"),this._holdTimeout=setTimeout(a(function(){this._isTapValid()&&(this._fireClick=!1,this._onUp(),this._simulateEvent("contextmenu",i))},this),1e3),this._simulateEvent("mousedown",i),Ei(document,{touchmove:this._onMove,touchend:this._onUp},this)}},_onUp:function(t){if(clearTimeout(this._holdTimeout),Bi(document,{touchmove:this._onMove,touchend:this._onUp},this),this._fireClick&&t&&t.changedTouches){var i=t.changedTouches[0],e=i.target;e&&e.tagName&&"a"===e.tagName.toLowerCase()&&mi(e,"leaflet-active"),this._simulateEvent("mouseup",i),this._isTapValid()&&this._simulateEvent("click",i)}},_isTapValid:function(){return this._newPos.distanceTo(this._startPos)<=this._map.options.tapTolerance},_onMove:function(t){var i=t.touches[0];this._newPos=new B(i.clientX,i.clientY),this._simulateEvent("mousemove",i)},_simulateEvent:function(t,i){var e=document.createEvent("MouseEvents");e._simulated=!0,i.target._simulatedClick=!0,e.initMouseEvent(t,!0,!0,window,1,i.screenX,i.screenY,i.clientX,i.clientY,!1,!1,!1,!1,0,null),i.target.dispatchEvent(e)}});Tt&&!Lt&&Ji.addInitHook("addHandler","tap",Ln),Ji.mergeOptions({touchZoom:Tt&&!rt,bounceAtZoomLimits:!0});var Tn=oe.extend({addHooks:function(){pi(this._map._container,"leaflet-touch-zoom"),Ei(this._map._container,"touchstart",this._onTouchStart,this)},removeHooks:function(){mi(this._map._container,"leaflet-touch-zoom"),Bi(this._map._container,"touchstart",this._onTouchStart,this)},_onTouchStart:function(t){var i=this._map;if(t.touches&&2===t.touches.length&&!i._animatingZoom&&!this._zooming){var e=i.mouseEventToContainerPoint(t.touches[0]),n=i.mouseEventToContainerPoint(t.touches[1]);this._centerPoint=i.getSize()._divideBy(2),this._startLatLng=i.containerPointToLatLng(this._centerPoint),"center"!==i.options.touchZoom&&(this._pinchStartLatLng=i.containerPointToLatLng(e.add(n)._divideBy(2))),this._startDist=e.distanceTo(n),this._startZoom=i.getZoom(),this._moved=!1,this._zooming=!0,i._stop(),Ei(document,"touchmove",this._onTouchMove,this),Ei(document,"touchend",this._onTouchEnd,this),Di(t)}},_onTouchMove:function(t){if(t.touches&&2===t.touches.length&&this._zooming){var i=this._map,e=i.mouseEventToContainerPoint(t.touches[0]),n=i.mouseEventToContainerPoint(t.touches[1]),o=e.distanceTo(n)/this._startDist;if(this._zoom=i.getScaleZoom(o,this._startZoom),!i.options.bounceAtZoomLimits&&(this._zoom<i.getMinZoom()&&o<1||this._zoom>i.getMaxZoom()&&1<o)&&(this._zoom=i._limitZoom(this._zoom)),"center"===i.options.touchZoom){if(this._center=this._startLatLng,1==o)return}else{var s=e._add(n)._divideBy(2)._subtract(this._centerPoint);if(1==o&&0===s.x&&0===s.y)return;this._center=i.unproject(i.project(this._pinchStartLatLng,this._zoom).subtract(s),this._zoom)}this._moved||(i._moveStart(!0,!1),this._moved=!0),C(this._animRequest);var r=a(i._move,i,this._center,this._zoom,{pinch:!0,round:!1});this._animRequest=M(r,this,!0),Di(t)}},_onTouchEnd:function(){this._moved&&this._zooming?(this._zooming=!1,C(this._animRequest),Bi(document,"touchmove",this._onTouchMove),Bi(document,"touchend",this._onTouchEnd),this._map.options.zoomAnimation?this._map._animateZoom(this._center,this._map._limitZoom(this._zoom),!0,this._map.options.zoomSnap):this._map._resetView(this._center,this._map._limitZoom(this._zoom))):this._zooming=!1}});Ji.addInitHook("addHandler","touchZoom",Tn),Ji.BoxZoom=yn,Ji.DoubleClickZoom=xn,Ji.Drag=wn,Ji.Keyboard=Pn,Ji.ScrollWheelZoom=bn,Ji.Tap=Ln,Ji.TouchZoom=Tn,Object.freeze=i,t.version="1.5.1+build.2e3e0ffb",t.Control=Qi,t.control=$i,t.Browser=Bt,t.Evented=k,t.Mixin=re,t.Util=S,t.Class=Z,t.Handler=oe,t.extend=h,t.bind=a,t.stamp=u,t.setOptions=p,t.DomEvent=Yi,t.DomUtil=Zi,t.PosAnimation=Xi,t.Draggable=le,t.LineUtil=ye,t.PolyUtil=Pe,t.Point=B,t.point=I,t.Bounds=O,t.bounds=R,t.Transformation=G,t.transformation=K,t.Projection=Te,t.LatLng=j,t.latLng=W,t.LatLngBounds=N,t.latLngBounds=D,t.CRS=F,t.GeoJSON=We,t.geoJSON=Xe,t.geoJson=Je,t.Layer=Se,t.LayerGroup=Ze,t.layerGroup=function(t,i){return new Ze(t,i)},t.FeatureGroup=Ee,t.featureGroup=function(t){return new Ee(t)},t.ImageOverlay=$e,t.imageOverlay=function(t,i,e){return new $e(t,i,e)},t.VideoOverlay=Qe,t.videoOverlay=function(t,i,e){return new Qe(t,i,e)},t.SVGOverlay=tn,t.svgOverlay=function(t,i,e){return new tn(t,i,e)},t.DivOverlay=en,t.Popup=nn,t.popup=function(t,i){return new nn(t,i)},t.Tooltip=on,t.tooltip=function(t,i){return new on(t,i)},t.Icon=ke,t.icon=function(t){return new ke(t)},t.DivIcon=sn,t.divIcon=function(t){return new sn(t)},t.Marker=Ie,t.marker=function(t,i){return new Ie(t,i)},t.TileLayer=an,t.tileLayer=hn,t.GridLayer=rn,t.gridLayer=function(t){return new rn(t)},t.SVG=fn,t.svg=gn,t.Renderer=ln,t.Canvas=cn,t.canvas=_n,t.Path=Oe,t.CircleMarker=Re,t.circleMarker=function(t,i){return new Re(t,i)},t.Circle=Ne,t.circle=function(t,i,e){return new Ne(t,i,e)},t.Polyline=De,t.polyline=function(t,i){return new De(t,i)},t.Polygon=je,t.polygon=function(t,i){return new je(t,i)},t.Rectangle=vn,t.rectangle=function(t,i){return new vn(t,i)},t.Map=Ji,t.map=function(t,i){return new Ji(t,i)};var zn=window.L;t.noConflict=function(){return window.L=zn,this},window.L=t});
\ No newline at end of file diff --git a/public/static/v15 b/public/static/v109 index 945c9b4..945c9b4 120000 --- a/public/static/v15 +++ b/public/static/v109 diff --git a/public/static/v16 b/public/static/v110 index 945c9b4..945c9b4 120000 --- a/public/static/v16 +++ b/public/static/v110 |