tdk/metro.html

4063 lines
802 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<style>body{background-color:white;}</style>
<script>(function() {
// If window.HTMLWidgets is already defined, then use it; otherwise create a
// new object. This allows preceding code to set options that affect the
// initialization process (though none currently exist).
window.HTMLWidgets = window.HTMLWidgets || {};
// See if we're running in a viewer pane. If not, we're in a web browser.
var viewerMode = window.HTMLWidgets.viewerMode =
/\bviewer_pane=1\b/.test(window.location);
// See if we're running in Shiny mode. If not, it's a static document.
// Note that static widgets can appear in both Shiny and static modes, but
// obviously, Shiny widgets can only appear in Shiny apps/documents.
var shinyMode = window.HTMLWidgets.shinyMode =
typeof(window.Shiny) !== "undefined" && !!window.Shiny.outputBindings;
// We can't count on jQuery being available, so we implement our own
// version if necessary.
function querySelectorAll(scope, selector) {
if (typeof(jQuery) !== "undefined" && scope instanceof jQuery) {
return scope.find(selector);
}
if (scope.querySelectorAll) {
return scope.querySelectorAll(selector);
}
}
function asArray(value) {
if (value === null)
return [];
if ($.isArray(value))
return value;
return [value];
}
// Implement jQuery's extend
function extend(target /*, ... */) {
if (arguments.length == 1) {
return target;
}
for (var i = 1; i < arguments.length; i++) {
var source = arguments[i];
for (var prop in source) {
if (source.hasOwnProperty(prop)) {
target[prop] = source[prop];
}
}
}
return target;
}
// IE8 doesn't support Array.forEach.
function forEach(values, callback, thisArg) {
if (values.forEach) {
values.forEach(callback, thisArg);
} else {
for (var i = 0; i < values.length; i++) {
callback.call(thisArg, values[i], i, values);
}
}
}
// Replaces the specified method with the return value of funcSource.
//
// Note that funcSource should not BE the new method, it should be a function
// that RETURNS the new method. funcSource receives a single argument that is
// the overridden method, it can be called from the new method. The overridden
// method can be called like a regular function, it has the target permanently
// bound to it so "this" will work correctly.
function overrideMethod(target, methodName, funcSource) {
var superFunc = target[methodName] || function() {};
var superFuncBound = function() {
return superFunc.apply(target, arguments);
};
target[methodName] = funcSource(superFuncBound);
}
// Add a method to delegator that, when invoked, calls
// delegatee.methodName. If there is no such method on
// the delegatee, but there was one on delegator before
// delegateMethod was called, then the original version
// is invoked instead.
// For example:
//
// var a = {
// method1: function() { console.log('a1'); }
// method2: function() { console.log('a2'); }
// };
// var b = {
// method1: function() { console.log('b1'); }
// };
// delegateMethod(a, b, "method1");
// delegateMethod(a, b, "method2");
// a.method1();
// a.method2();
//
// The output would be "b1", "a2".
function delegateMethod(delegator, delegatee, methodName) {
var inherited = delegator[methodName];
delegator[methodName] = function() {
var target = delegatee;
var method = delegatee[methodName];
// The method doesn't exist on the delegatee. Instead,
// call the method on the delegator, if it exists.
if (!method) {
target = delegator;
method = inherited;
}
if (method) {
return method.apply(target, arguments);
}
};
}
// Implement a vague facsimilie of jQuery's data method
function elementData(el, name, value) {
if (arguments.length == 2) {
return el["htmlwidget_data_" + name];
} else if (arguments.length == 3) {
el["htmlwidget_data_" + name] = value;
return el;
} else {
throw new Error("Wrong number of arguments for elementData: " +
arguments.length);
}
}
// http://stackoverflow.com/questions/3446170/escape-string-for-use-in-javascript-regex
function escapeRegExp(str) {
return str.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, "\\$&");
}
function hasClass(el, className) {
var re = new RegExp("\\b" + escapeRegExp(className) + "\\b");
return re.test(el.className);
}
// elements - array (or array-like object) of HTML elements
// className - class name to test for
// include - if true, only return elements with given className;
// if false, only return elements *without* given className
function filterByClass(elements, className, include) {
var results = [];
for (var i = 0; i < elements.length; i++) {
if (hasClass(elements[i], className) == include)
results.push(elements[i]);
}
return results;
}
function on(obj, eventName, func) {
if (obj.addEventListener) {
obj.addEventListener(eventName, func, false);
} else if (obj.attachEvent) {
obj.attachEvent(eventName, func);
}
}
function off(obj, eventName, func) {
if (obj.removeEventListener)
obj.removeEventListener(eventName, func, false);
else if (obj.detachEvent) {
obj.detachEvent(eventName, func);
}
}
// Translate array of values to top/right/bottom/left, as usual with
// the "padding" CSS property
// https://developer.mozilla.org/en-US/docs/Web/CSS/padding
function unpackPadding(value) {
if (typeof(value) === "number")
value = [value];
if (value.length === 1) {
return {top: value[0], right: value[0], bottom: value[0], left: value[0]};
}
if (value.length === 2) {
return {top: value[0], right: value[1], bottom: value[0], left: value[1]};
}
if (value.length === 3) {
return {top: value[0], right: value[1], bottom: value[2], left: value[1]};
}
if (value.length === 4) {
return {top: value[0], right: value[1], bottom: value[2], left: value[3]};
}
}
// Convert an unpacked padding object to a CSS value
function paddingToCss(paddingObj) {
return paddingObj.top + "px " + paddingObj.right + "px " + paddingObj.bottom + "px " + paddingObj.left + "px";
}
// Makes a number suitable for CSS
function px(x) {
if (typeof(x) === "number")
return x + "px";
else
return x;
}
// Retrieves runtime widget sizing information for an element.
// The return value is either null, or an object with fill, padding,
// defaultWidth, defaultHeight fields.
function sizingPolicy(el) {
var sizingEl = document.querySelector("script[data-for='" + el.id + "'][type='application/htmlwidget-sizing']");
if (!sizingEl)
return null;
var sp = JSON.parse(sizingEl.textContent || sizingEl.text || "{}");
if (viewerMode) {
return sp.viewer;
} else {
return sp.browser;
}
}
// @param tasks Array of strings (or falsy value, in which case no-op).
// Each element must be a valid JavaScript expression that yields a
// function. Or, can be an array of objects with "code" and "data"
// properties; in this case, the "code" property should be a string
// of JS that's an expr that yields a function, and "data" should be
// an object that will be added as an additional argument when that
// function is called.
// @param target The object that will be "this" for each function
// execution.
// @param args Array of arguments to be passed to the functions. (The
// same arguments will be passed to all functions.)
function evalAndRun(tasks, target, args) {
if (tasks) {
forEach(tasks, function(task) {
var theseArgs = args;
if (typeof(task) === "object") {
theseArgs = theseArgs.concat([task.data]);
task = task.code;
}
var taskFunc = tryEval(task);
if (typeof(taskFunc) !== "function") {
throw new Error("Task must be a function! Source:\n" + task);
}
taskFunc.apply(target, theseArgs);
});
}
}
// Attempt eval() both with and without enclosing in parentheses.
// Note that enclosing coerces a function declaration into
// an expression that eval() can parse
// (otherwise, a SyntaxError is thrown)
function tryEval(code) {
var result = null;
try {
result = eval("(" + code + ")");
} catch(error) {
if (!(error instanceof SyntaxError)) {
throw error;
}
try {
result = eval(code);
} catch(e) {
if (e instanceof SyntaxError) {
throw error;
} else {
throw e;
}
}
}
return result;
}
function initSizing(el) {
var sizing = sizingPolicy(el);
if (!sizing)
return;
var cel = document.getElementById("htmlwidget_container");
if (!cel)
return;
if (typeof(sizing.padding) !== "undefined") {
document.body.style.margin = "0";
document.body.style.padding = paddingToCss(unpackPadding(sizing.padding));
}
if (sizing.fill) {
document.body.style.overflow = "hidden";
document.body.style.width = "100%";
document.body.style.height = "100%";
document.documentElement.style.width = "100%";
document.documentElement.style.height = "100%";
if (cel) {
cel.style.position = "absolute";
var pad = unpackPadding(sizing.padding);
cel.style.top = pad.top + "px";
cel.style.right = pad.right + "px";
cel.style.bottom = pad.bottom + "px";
cel.style.left = pad.left + "px";
el.style.width = "100%";
el.style.height = "100%";
}
return {
getWidth: function() { return cel.offsetWidth; },
getHeight: function() { return cel.offsetHeight; }
};
} else {
el.style.width = px(sizing.width);
el.style.height = px(sizing.height);
return {
getWidth: function() { return el.offsetWidth; },
getHeight: function() { return el.offsetHeight; }
};
}
}
// Default implementations for methods
var defaults = {
find: function(scope) {
return querySelectorAll(scope, "." + this.name);
},
renderError: function(el, err) {
var $el = $(el);
this.clearError(el);
// Add all these error classes, as Shiny does
var errClass = "shiny-output-error";
if (err.type !== null) {
// use the classes of the error condition as CSS class names
errClass = errClass + " " + $.map(asArray(err.type), function(type) {
return errClass + "-" + type;
}).join(" ");
}
errClass = errClass + " htmlwidgets-error";
// Is el inline or block? If inline or inline-block, just display:none it
// and add an inline error.
var display = $el.css("display");
$el.data("restore-display-mode", display);
if (display === "inline" || display === "inline-block") {
$el.hide();
if (err.message !== "") {
var errorSpan = $("<span>").addClass(errClass);
errorSpan.text(err.message);
$el.after(errorSpan);
}
} else if (display === "block") {
// If block, add an error just after the el, set visibility:none on the
// el, and position the error to be on top of the el.
// Mark it with a unique ID and CSS class so we can remove it later.
$el.css("visibility", "hidden");
if (err.message !== "") {
var errorDiv = $("<div>").addClass(errClass).css("position", "absolute")
.css("top", el.offsetTop)
.css("left", el.offsetLeft)
// setting width can push out the page size, forcing otherwise
// unnecessary scrollbars to appear and making it impossible for
// the element to shrink; so use max-width instead
.css("maxWidth", el.offsetWidth)
.css("height", el.offsetHeight);
errorDiv.text(err.message);
$el.after(errorDiv);
// Really dumb way to keep the size/position of the error in sync with
// the parent element as the window is resized or whatever.
var intId = setInterval(function() {
if (!errorDiv[0].parentElement) {
clearInterval(intId);
return;
}
errorDiv
.css("top", el.offsetTop)
.css("left", el.offsetLeft)
.css("maxWidth", el.offsetWidth)
.css("height", el.offsetHeight);
}, 500);
}
}
},
clearError: function(el) {
var $el = $(el);
var display = $el.data("restore-display-mode");
$el.data("restore-display-mode", null);
if (display === "inline" || display === "inline-block") {
if (display)
$el.css("display", display);
$(el.nextSibling).filter(".htmlwidgets-error").remove();
} else if (display === "block"){
$el.css("visibility", "inherit");
$(el.nextSibling).filter(".htmlwidgets-error").remove();
}
},
sizing: {}
};
// Called by widget bindings to register a new type of widget. The definition
// object can contain the following properties:
// - name (required) - A string indicating the binding name, which will be
// used by default as the CSS classname to look for.
// - initialize (optional) - A function(el) that will be called once per
// widget element; if a value is returned, it will be passed as the third
// value to renderValue.
// - renderValue (required) - A function(el, data, initValue) that will be
// called with data. Static contexts will cause this to be called once per
// element; Shiny apps will cause this to be called multiple times per
// element, as the data changes.
window.HTMLWidgets.widget = function(definition) {
if (!definition.name) {
throw new Error("Widget must have a name");
}
if (!definition.type) {
throw new Error("Widget must have a type");
}
// Currently we only support output widgets
if (definition.type !== "output") {
throw new Error("Unrecognized widget type '" + definition.type + "'");
}
// TODO: Verify that .name is a valid CSS classname
// Support new-style instance-bound definitions. Old-style class-bound
// definitions have one widget "object" per widget per type/class of
// widget; the renderValue and resize methods on such widget objects
// take el and instance arguments, because the widget object can't
// store them. New-style instance-bound definitions have one widget
// object per widget instance; the definition that's passed in doesn't
// provide renderValue or resize methods at all, just the single method
// factory(el, width, height)
// which returns an object that has renderValue(x) and resize(w, h).
// This enables a far more natural programming style for the widget
// author, who can store per-instance state using either OO-style
// instance fields or functional-style closure variables (I guess this
// is in contrast to what can only be called C-style pseudo-OO which is
// what we required before).
if (definition.factory) {
definition = createLegacyDefinitionAdapter(definition);
}
if (!definition.renderValue) {
throw new Error("Widget must have a renderValue function");
}
// For static rendering (non-Shiny), use a simple widget registration
// scheme. We also use this scheme for Shiny apps/documents that also
// contain static widgets.
window.HTMLWidgets.widgets = window.HTMLWidgets.widgets || [];
// Merge defaults into the definition; don't mutate the original definition.
var staticBinding = extend({}, defaults, definition);
overrideMethod(staticBinding, "find", function(superfunc) {
return function(scope) {
var results = superfunc(scope);
// Filter out Shiny outputs, we only want the static kind
return filterByClass(results, "html-widget-output", false);
};
});
window.HTMLWidgets.widgets.push(staticBinding);
if (shinyMode) {
// Shiny is running. Register the definition with an output binding.
// The definition itself will not be the output binding, instead
// we will make an output binding object that delegates to the
// definition. This is because we foolishly used the same method
// name (renderValue) for htmlwidgets definition and Shiny bindings
// but they actually have quite different semantics (the Shiny
// bindings receive data that includes lots of metadata that it
// strips off before calling htmlwidgets renderValue). We can't
// just ignore the difference because in some widgets it's helpful
// to call this.renderValue() from inside of resize(), and if
// we're not delegating, then that call will go to the Shiny
// version instead of the htmlwidgets version.
// Merge defaults with definition, without mutating either.
var bindingDef = extend({}, defaults, definition);
// This object will be our actual Shiny binding.
var shinyBinding = new Shiny.OutputBinding();
// With a few exceptions, we'll want to simply use the bindingDef's
// version of methods if they are available, otherwise fall back to
// Shiny's defaults. NOTE: If Shiny's output bindings gain additional
// methods in the future, and we want them to be overrideable by
// HTMLWidget binding definitions, then we'll need to add them to this
// list.
delegateMethod(shinyBinding, bindingDef, "getId");
delegateMethod(shinyBinding, bindingDef, "onValueChange");
delegateMethod(shinyBinding, bindingDef, "onValueError");
delegateMethod(shinyBinding, bindingDef, "renderError");
delegateMethod(shinyBinding, bindingDef, "clearError");
delegateMethod(shinyBinding, bindingDef, "showProgress");
// The find, renderValue, and resize are handled differently, because we
// want to actually decorate the behavior of the bindingDef methods.
shinyBinding.find = function(scope) {
var results = bindingDef.find(scope);
// Only return elements that are Shiny outputs, not static ones
var dynamicResults = results.filter(".html-widget-output");
// It's possible that whatever caused Shiny to think there might be
// new dynamic outputs, also caused there to be new static outputs.
// Since there might be lots of different htmlwidgets bindings, we
// schedule execution for later--no need to staticRender multiple
// times.
if (results.length !== dynamicResults.length)
scheduleStaticRender();
return dynamicResults;
};
// Wrap renderValue to handle initialization, which unfortunately isn't
// supported natively by Shiny at the time of this writing.
shinyBinding.renderValue = function(el, data) {
Shiny.renderDependencies(data.deps);
// Resolve strings marked as javascript literals to objects
if (!(data.evals instanceof Array)) data.evals = [data.evals];
for (var i = 0; data.evals && i < data.evals.length; i++) {
window.HTMLWidgets.evaluateStringMember(data.x, data.evals[i]);
}
if (!bindingDef.renderOnNullValue) {
if (data.x === null) {
el.style.visibility = "hidden";
return;
} else {
el.style.visibility = "inherit";
}
}
if (!elementData(el, "initialized")) {
initSizing(el);
elementData(el, "initialized", true);
if (bindingDef.initialize) {
var result = bindingDef.initialize(el, el.offsetWidth,
el.offsetHeight);
elementData(el, "init_result", result);
}
}
bindingDef.renderValue(el, data.x, elementData(el, "init_result"));
evalAndRun(data.jsHooks.render, elementData(el, "init_result"), [el, data.x]);
};
// Only override resize if bindingDef implements it
if (bindingDef.resize) {
shinyBinding.resize = function(el, width, height) {
// Shiny can call resize before initialize/renderValue have been
// called, which doesn't make sense for widgets.
if (elementData(el, "initialized")) {
bindingDef.resize(el, width, height, elementData(el, "init_result"));
}
};
}
Shiny.outputBindings.register(shinyBinding, bindingDef.name);
}
};
var scheduleStaticRenderTimerId = null;
function scheduleStaticRender() {
if (!scheduleStaticRenderTimerId) {
scheduleStaticRenderTimerId = setTimeout(function() {
scheduleStaticRenderTimerId = null;
window.HTMLWidgets.staticRender();
}, 1);
}
}
// Render static widgets after the document finishes loading
// Statically render all elements that are of this widget's class
window.HTMLWidgets.staticRender = function() {
var bindings = window.HTMLWidgets.widgets || [];
forEach(bindings, function(binding) {
var matches = binding.find(document.documentElement);
forEach(matches, function(el) {
var sizeObj = initSizing(el, binding);
if (hasClass(el, "html-widget-static-bound"))
return;
el.className = el.className + " html-widget-static-bound";
var initResult;
if (binding.initialize) {
initResult = binding.initialize(el,
sizeObj ? sizeObj.getWidth() : el.offsetWidth,
sizeObj ? sizeObj.getHeight() : el.offsetHeight
);
elementData(el, "init_result", initResult);
}
if (binding.resize) {
var lastSize = {
w: sizeObj ? sizeObj.getWidth() : el.offsetWidth,
h: sizeObj ? sizeObj.getHeight() : el.offsetHeight
};
var resizeHandler = function(e) {
var size = {
w: sizeObj ? sizeObj.getWidth() : el.offsetWidth,
h: sizeObj ? sizeObj.getHeight() : el.offsetHeight
};
if (size.w === 0 && size.h === 0)
return;
if (size.w === lastSize.w && size.h === lastSize.h)
return;
lastSize = size;
binding.resize(el, size.w, size.h, initResult);
};
on(window, "resize", resizeHandler);
// This is needed for cases where we're running in a Shiny
// app, but the widget itself is not a Shiny output, but
// rather a simple static widget. One example of this is
// an rmarkdown document that has runtime:shiny and widget
// that isn't in a render function. Shiny only knows to
// call resize handlers for Shiny outputs, not for static
// widgets, so we do it ourselves.
if (window.jQuery) {
window.jQuery(document).on(
"shown.htmlwidgets shown.bs.tab.htmlwidgets shown.bs.collapse.htmlwidgets",
resizeHandler
);
window.jQuery(document).on(
"hidden.htmlwidgets hidden.bs.tab.htmlwidgets hidden.bs.collapse.htmlwidgets",
resizeHandler
);
}
// This is needed for the specific case of ioslides, which
// flips slides between display:none and display:block.
// Ideally we would not have to have ioslide-specific code
// here, but rather have ioslides raise a generic event,
// but the rmarkdown package just went to CRAN so the
// window to getting that fixed may be long.
if (window.addEventListener) {
// It's OK to limit this to window.addEventListener
// browsers because ioslides itself only supports
// such browsers.
on(document, "slideenter", resizeHandler);
on(document, "slideleave", resizeHandler);
}
}
var scriptData = document.querySelector("script[data-for='" + el.id + "'][type='application/json']");
if (scriptData) {
var data = JSON.parse(scriptData.textContent || scriptData.text);
// Resolve strings marked as javascript literals to objects
if (!(data.evals instanceof Array)) data.evals = [data.evals];
for (var k = 0; data.evals && k < data.evals.length; k++) {
window.HTMLWidgets.evaluateStringMember(data.x, data.evals[k]);
}
binding.renderValue(el, data.x, initResult);
evalAndRun(data.jsHooks.render, initResult, [el, data.x]);
}
});
});
invokePostRenderHandlers();
}
function has_jQuery3() {
if (!window.jQuery) {
return false;
}
var $version = window.jQuery.fn.jquery;
var $major_version = parseInt($version.split(".")[0]);
return $major_version >= 3;
}
/*
/ Shiny 1.4 bumped jQuery from 1.x to 3.x which means jQuery's
/ on-ready handler (i.e., $(fn)) is now asyncronous (i.e., it now
/ really means $(setTimeout(fn)).
/ https://jquery.com/upgrade-guide/3.0/#breaking-change-document-ready-handlers-are-now-asynchronous
/
/ Since Shiny uses $() to schedule initShiny, shiny>=1.4 calls initShiny
/ one tick later than it did before, which means staticRender() is
/ called renderValue() earlier than (advanced) widget authors might be expecting.
/ https://github.com/rstudio/shiny/issues/2630
/
/ For a concrete example, leaflet has some methods (e.g., updateBounds)
/ which reference Shiny methods registered in initShiny (e.g., setInputValue).
/ Since leaflet is privy to this life-cycle, it knows to use setTimeout() to
/ delay execution of those methods (until Shiny methods are ready)
/ https://github.com/rstudio/leaflet/blob/18ec981/javascript/src/index.js#L266-L268
/
/ Ideally widget authors wouldn't need to use this setTimeout() hack that
/ leaflet uses to call Shiny methods on a staticRender(). In the long run,
/ the logic initShiny should be broken up so that method registration happens
/ right away, but binding happens later.
*/
function maybeStaticRenderLater() {
if (shinyMode && has_jQuery3()) {
window.jQuery(window.HTMLWidgets.staticRender);
} else {
window.HTMLWidgets.staticRender();
}
}
if (document.addEventListener) {
document.addEventListener("DOMContentLoaded", function() {
document.removeEventListener("DOMContentLoaded", arguments.callee, false);
maybeStaticRenderLater();
}, false);
} else if (document.attachEvent) {
document.attachEvent("onreadystatechange", function() {
if (document.readyState === "complete") {
document.detachEvent("onreadystatechange", arguments.callee);
maybeStaticRenderLater();
}
});
}
window.HTMLWidgets.getAttachmentUrl = function(depname, key) {
// If no key, default to the first item
if (typeof(key) === "undefined")
key = 1;
var link = document.getElementById(depname + "-" + key + "-attachment");
if (!link) {
throw new Error("Attachment " + depname + "/" + key + " not found in document");
}
return link.getAttribute("href");
};
window.HTMLWidgets.dataframeToD3 = function(df) {
var names = [];
var length;
for (var name in df) {
if (df.hasOwnProperty(name))
names.push(name);
if (typeof(df[name]) !== "object" || typeof(df[name].length) === "undefined") {
throw new Error("All fields must be arrays");
} else if (typeof(length) !== "undefined" && length !== df[name].length) {
throw new Error("All fields must be arrays of the same length");
}
length = df[name].length;
}
var results = [];
var item;
for (var row = 0; row < length; row++) {
item = {};
for (var col = 0; col < names.length; col++) {
item[names[col]] = df[names[col]][row];
}
results.push(item);
}
return results;
};
window.HTMLWidgets.transposeArray2D = function(array) {
if (array.length === 0) return array;
var newArray = array[0].map(function(col, i) {
return array.map(function(row) {
return row[i]
})
});
return newArray;
};
// Split value at splitChar, but allow splitChar to be escaped
// using escapeChar. Any other characters escaped by escapeChar
// will be included as usual (including escapeChar itself).
function splitWithEscape(value, splitChar, escapeChar) {
var results = [];
var escapeMode = false;
var currentResult = "";
for (var pos = 0; pos < value.length; pos++) {
if (!escapeMode) {
if (value[pos] === splitChar) {
results.push(currentResult);
currentResult = "";
} else if (value[pos] === escapeChar) {
escapeMode = true;
} else {
currentResult += value[pos];
}
} else {
currentResult += value[pos];
escapeMode = false;
}
}
if (currentResult !== "") {
results.push(currentResult);
}
return results;
}
// Function authored by Yihui/JJ Allaire
window.HTMLWidgets.evaluateStringMember = function(o, member) {
var parts = splitWithEscape(member, '.', '\\');
for (var i = 0, l = parts.length; i < l; i++) {
var part = parts[i];
// part may be a character or 'numeric' member name
if (o !== null && typeof o === "object" && part in o) {
if (i == (l - 1)) { // if we are at the end of the line then evalulate
if (typeof o[part] === "string")
o[part] = tryEval(o[part]);
} else { // otherwise continue to next embedded object
o = o[part];
}
}
}
};
// Retrieve the HTMLWidget instance (i.e. the return value of an
// HTMLWidget binding's initialize() or factory() function)
// associated with an element, or null if none.
window.HTMLWidgets.getInstance = function(el) {
return elementData(el, "init_result");
};
// Finds the first element in the scope that matches the selector,
// and returns the HTMLWidget instance (i.e. the return value of
// an HTMLWidget binding's initialize() or factory() function)
// associated with that element, if any. If no element matches the
// selector, or the first matching element has no HTMLWidget
// instance associated with it, then null is returned.
//
// The scope argument is optional, and defaults to window.document.
window.HTMLWidgets.find = function(scope, selector) {
if (arguments.length == 1) {
selector = scope;
scope = document;
}
var el = scope.querySelector(selector);
if (el === null) {
return null;
} else {
return window.HTMLWidgets.getInstance(el);
}
};
// Finds all elements in the scope that match the selector, and
// returns the HTMLWidget instances (i.e. the return values of
// an HTMLWidget binding's initialize() or factory() function)
// associated with the elements, in an array. If elements that
// match the selector don't have an associated HTMLWidget
// instance, the returned array will contain nulls.
//
// The scope argument is optional, and defaults to window.document.
window.HTMLWidgets.findAll = function(scope, selector) {
if (arguments.length == 1) {
selector = scope;
scope = document;
}
var nodes = scope.querySelectorAll(selector);
var results = [];
for (var i = 0; i < nodes.length; i++) {
results.push(window.HTMLWidgets.getInstance(nodes[i]));
}
return results;
};
var postRenderHandlers = [];
function invokePostRenderHandlers() {
while (postRenderHandlers.length) {
var handler = postRenderHandlers.shift();
if (handler) {
handler();
}
}
}
// Register the given callback function to be invoked after the
// next time static widgets are rendered.
window.HTMLWidgets.addPostRenderHandler = function(callback) {
postRenderHandlers.push(callback);
};
// Takes a new-style instance-bound definition, and returns an
// old-style class-bound definition. This saves us from having
// to rewrite all the logic in this file to accomodate both
// types of definitions.
function createLegacyDefinitionAdapter(defn) {
var result = {
name: defn.name,
type: defn.type,
initialize: function(el, width, height) {
return defn.factory(el, width, height);
},
renderValue: function(el, x, instance) {
return instance.renderValue(x);
},
resize: function(el, width, height, instance) {
return instance.resize(width, height);
}
};
if (defn.find)
result.find = defn.find;
if (defn.renderError)
result.renderError = defn.renderError;
if (defn.clearError)
result.clearError = defn.clearError;
return result;
}
})();
</script>
<script>/*! jQuery v1.12.4 | (c) jQuery Foundation | jquery.org/license */
!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=a.document,e=c.slice,f=c.concat,g=c.push,h=c.indexOf,i={},j=i.toString,k=i.hasOwnProperty,l={},m="1.12.4",n=function(a,b){return new n.fn.init(a,b)},o=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,p=/^-ms-/,q=/-([\da-z])/gi,r=function(a,b){return b.toUpperCase()};n.fn=n.prototype={jquery:m,constructor:n,selector:"",length:0,toArray:function(){return e.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:e.call(this)},pushStack:function(a){var b=n.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a){return n.each(this,a)},map:function(a){return this.pushStack(n.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(e.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor()},push:g,sort:c.sort,splice:c.splice},n.extend=n.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||n.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(e=arguments[h]))for(d in e)a=g[d],c=e[d],g!==c&&(j&&c&&(n.isPlainObject(c)||(b=n.isArray(c)))?(b?(b=!1,f=a&&n.isArray(a)?a:[]):f=a&&n.isPlainObject(a)?a:{},g[d]=n.extend(j,f,c)):void 0!==c&&(g[d]=c));return g},n.extend({expando:"jQuery"+(m+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===n.type(a)},isArray:Array.isArray||function(a){return"array"===n.type(a)},isWindow:function(a){return null!=a&&a==a.window},isNumeric:function(a){var b=a&&a.toString();return!n.isArray(a)&&b-parseFloat(b)+1>=0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},isPlainObject:function(a){var b;if(!a||"object"!==n.type(a)||a.nodeType||n.isWindow(a))return!1;try{if(a.constructor&&!k.call(a,"constructor")&&!k.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}if(!l.ownFirst)for(b in a)return k.call(a,b);for(b in a);return void 0===b||k.call(a,b)},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?i[j.call(a)]||"object":typeof a},globalEval:function(b){b&&n.trim(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(p,"ms-").replace(q,r)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b){var c,d=0;if(s(a)){for(c=a.length;c>d;d++)if(b.call(a[d],d,a[d])===!1)break}else for(d in a)if(b.call(a[d],d,a[d])===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(o,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(s(Object(a))?n.merge(c,"string"==typeof a?[a]:a):g.call(c,a)),c},inArray:function(a,b,c){var d;if(b){if(h)return h.call(b,a,c);for(d=b.length,c=c?0>c?Math.max(0,d+c):c:0;d>c;c++)if(c in b&&b[c]===a)return c}return-1},merge:function(a,b){var c=+b.length,d=0,e=a.length;while(c>d)a[e++]=b[d++];if(c!==c)while(void 0!==b[d])a[e++]=b[d++];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,e,g=0,h=[];if(s(a))for(d=a.length;d>g;g++)e=b(a[g],g,c),null!=e&&h.push(e);else for(g in a)e=b(a[g],g,c),null!=e&&h.push(e);return f.apply([],h)},guid:1,proxy:function(a,b){var c,d,f;return"string"==typeof b&&(f=a[b],b=a,a=f),n.isFunction(a)?(c=e.call(arguments,2),d=function(){return a.apply(b||this,c.concat(e.call(arguments)))},d.guid=a.guid=a.guid||n.guid++,d):void 0},now:function(){return+new Date},support:l}),"function"==typeof Symbol&&(n.fn[Symbol.iterator]=c[Symbol.iterator]),n.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(a,b){i["[object "+b+"]"]=b.toLowerCase()});function s(a){var b=!!a&&"length"in a&&a.length,c=n.type(a);return"function"===c||n.isWindow(a)?!1:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var t=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new Date,v=a.document,w=0,x=0,y=ga(),z=ga(),A=ga(),B=function(a,b){return a===b&&(l=!0),0},C=1<<31,D={}.hasOwnProperty,E=[],F=E.pop,G=E.push,H=E.push,I=E.slice,J=function(a,b){for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return c;return-1},K="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",L="[\\x20\\t\\r\\n\\f]",M="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",N="\\["+L+"*("+M+")(?:"+L+"*([*^$|!~]?=)"+L+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+M+"))|)"+L+"*\\]",O=":("+M+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+N+")*)|.*)\\)|)",P=new RegExp(L+"+","g"),Q=new RegExp("^"+L+"+|((?:^|[^\\\\])(?:\\\\.)*)"+L+"+$","g"),R=new RegExp("^"+L+"*,"+L+"*"),S=new RegExp("^"+L+"*([>+~]|"+L+")"+L+"*"),T=new RegExp("="+L+"*([^\\]'\"]*?)"+L+"*\\]","g"),U=new RegExp(O),V=new RegExp("^"+M+"$"),W={ID:new RegExp("^#("+M+")"),CLASS:new RegExp("^\\.("+M+")"),TAG:new RegExp("^("+M+"|[*])"),ATTR:new RegExp("^"+N),PSEUDO:new RegExp("^"+O),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+L+"*(even|odd|(([+-]|)(\\d*)n|)"+L+"*(?:([+-]|)"+L+"*(\\d+)|))"+L+"*\\)|)","i"),bool:new RegExp("^(?:"+K+")$","i"),needsContext:new RegExp("^"+L+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+L+"*((?:-\\d)?\\d*)"+L+"*\\)|)(?=[^-]|$)","i")},X=/^(?:input|select|textarea|button)$/i,Y=/^h\d$/i,Z=/^[^{]+\{\s*\[native \w/,$=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,_=/[+~]/,aa=/'|\\/g,ba=new RegExp("\\\\([\\da-f]{1,6}"+L+"?|("+L+")|.)","ig"),ca=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},da=function(){m()};try{H.apply(E=I.call(v.childNodes),v.childNodes),E[v.childNodes.length].nodeType}catch(ea){H={apply:E.length?function(a,b){G.apply(a,I.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function fa(a,b,d,e){var f,h,j,k,l,o,r,s,w=b&&b.ownerDocument,x=b?b.nodeType:9;if(d=d||[],"string"!=typeof a||!a||1!==x&&9!==x&&11!==x)return d;if(!e&&((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,p)){if(11!==x&&(o=$.exec(a)))if(f=o[1]){if(9===x){if(!(j=b.getElementById(f)))return d;if(j.id===f)return d.push(j),d}else if(w&&(j=w.getElementById(f))&&t(b,j)&&j.id===f)return d.push(j),d}else{if(o[2])return H.apply(d,b.getElementsByTagName(a)),d;if((f=o[3])&&c.getElementsByClassName&&b.getElementsByClassName)return H.apply(d,b.getElementsByClassName(f)),d}if(c.qsa&&!A[a+" "]&&(!q||!q.test(a))){if(1!==x)w=b,s=a;else if("object"!==b.nodeName.toLowerCase()){(k=b.getAttribute("id"))?k=k.replace(aa,"\\$&"):b.setAttribute("id",k=u),r=g(a),h=r.length,l=V.test(k)?"#"+k:"[id='"+k+"']";while(h--)r[h]=l+" "+qa(r[h]);s=r.join(","),w=_.test(a)&&oa(b.parentNode)||b}if(s)try{return H.apply(d,w.querySelectorAll(s)),d}catch(y){}finally{k===u&&b.removeAttribute("id")}}}return i(a.replace(Q,"$1"),b,d,e)}function ga(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ha(a){return a[u]=!0,a}function ia(a){var b=n.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function ja(a,b){var c=a.split("|"),e=c.length;while(e--)d.attrHandle[c[e]]=b}function ka(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||C)-(~a.sourceIndex||C);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function la(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function ma(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function na(a){return ha(function(b){return b=+b,ha(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function oa(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c=fa.support={},f=fa.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},m=fa.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=n.documentElement,p=!f(n),(e=n.defaultView)&&e.top!==e&&(e.addEventListener?e.addEventListener("unload",da,!1):e.attachEvent&&e.attachEvent("onunload",da)),c.attributes=ia(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ia(function(a){return a.appendChild(n.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=Z.test(n.getElementsByClassName),c.getById=ia(function(a){return o.appendChild(a).id=u,!n.getElementsByName||!n.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c?[c]:[]}},d.filter.ID=function(a){var b=a.replace(ba,ca);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(ba,ca);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return"undefined"!=typeof b.getElementsByClassName&&p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=Z.test(n.querySelectorAll))&&(ia(function(a){o.appendChild(a).innerHTML="<a id='"+u+"'></a><select id='"+u+"-\r\\' msallowcapture=''><option selected=''></option></select>",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+L+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+L+"*(?:value|"+K+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),ia(function(a){var b=n.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+L+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=Z.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ia(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",O)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=Z.test(o.compareDocumentPosition),t=b||Z.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===n||a.ownerDocument===v&&t(v,a)?-1:b===n||b.ownerDocument===v&&t(v,b)?1:k?J(k,a)-J(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,g=[a],h=[b];if(!e||!f)return a===n?-1:b===n?1:e?-1:f?1:k?J(k,a)-J(k,b):0;if(e===f)return ka(a,b);c=a;while(c=c.parentNode)g.unshift(c);c=b;while(c=c.parentNode)h.unshift(c);while(g[d]===h[d])d++;return d?ka(g[d],h[d]):g[d]===v?-1:h[d]===v?1:0},n):n},fa.matches=function(a,b){return fa(a,null,null,b)},fa.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(T,"='$1']"),c.matchesSelector&&p&&!A[b+" "]&&(!r||!r.test(b))&&(!q||!q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return fa(b,n,null,[a]).length>0},fa.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},fa.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&D.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},fa.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},fa.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=fa.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=fa.selectors={cacheLength:50,createPseudo:ha,match:W,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(ba,ca),a[3]=(a[3]||a[4]||a[5]||"").replace(ba,ca),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||fa.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&fa.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return W.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&U.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(ba,ca).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+L+")"+a+"("+L+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=fa.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e.replace(P," ")+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h,t=!1;if(q){if(f){while(p){m=b;while(m=m[p])if(h?m.nodeName.toLowerCase()===r:1===m.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){m=q,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n&&j[2],m=n&&q.childNodes[n];while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if(1===m.nodeType&&++t&&m===b){k[a]=[w,n,t];break}}else if(s&&(m=b,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n),t===!1)while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if((h?m.nodeName.toLowerCase()===r:1===m.nodeType)&&++t&&(s&&(l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),k[a]=[w,t]),m===b))break;return t-=e,t===d||t%d===0&&t/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||fa.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ha(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=J(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ha(function(a){var b=[],c=[],d=h(a.replace(Q,"$1"));return d[u]?ha(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ha(function(a){return function(b){return fa(a,b).length>0}}),contains:ha(function(a){return a=a.replace(ba,ca),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ha(function(a){return V.test(a||"")||fa.error("unsupported lang: "+a),a=a.replace(ba,ca).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return Y.test(a.nodeName)},input:function(a){return X.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:na(function(){return[0]}),last:na(function(a,b){return[b-1]}),eq:na(function(a,b,c){return[0>c?c+b:c]}),even:na(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:na(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:na(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:na(function(a,b,c){for(var d=0>c?c+b:c;++d<b;)a.push(d);return a})}},d.pseudos.nth=d.pseudos.eq;for(b in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})d.pseudos[b]=la(b);for(b in{submit:!0,reset:!0})d.pseudos[b]=ma(b);function pa(){}pa.prototype=d.filters=d.pseudos,d.setFilters=new pa,g=fa.tokenize=function(a,b){var c,e,f,g,h,i,j,k=z[a+" "];if(k)return b?0:k.slice(0);h=a,i=[],j=d.preFilter;while(h){c&&!(e=R.exec(h))||(e&&(h=h.slice(e[0].length)||h),i.push(f=[])),c=!1,(e=S.exec(h))&&(c=e.shift(),f.push({value:c,type:e[0].replace(Q," ")}),h=h.slice(c.length));for(g in d.filter)!(e=W[g].exec(h))||j[g]&&!(e=j[g](e))||(c=e.shift(),f.push({value:c,type:g,matches:e}),h=h.slice(c.length));if(!c)break}return b?h.length:h?fa.error(a):z(a,i).slice(0)};function qa(a){for(var b=0,c=a.length,d="";c>b;b++)d+=a[b].value;return d}function ra(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=x++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j,k=[w,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(j=b[u]||(b[u]={}),i=j[b.uniqueID]||(j[b.uniqueID]={}),(h=i[d])&&h[0]===w&&h[1]===f)return k[2]=h[2];if(i[d]=k,k[2]=a(b,c,g))return!0}}}function sa(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function ta(a,b,c){for(var d=0,e=b.length;e>d;d++)fa(a,b[d],c);return c}function ua(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(c&&!c(f,d,e)||(g.push(f),j&&b.push(h)));return g}function va(a,b,c,d,e,f){return d&&!d[u]&&(d=va(d)),e&&!e[u]&&(e=va(e,f)),ha(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||ta(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:ua(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=ua(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?J(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=ua(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):H.apply(g,r)})}function wa(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=ra(function(a){return a===b},h,!0),l=ra(function(a){return J(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];f>i;i++)if(c=d.relative[a[i].type])m=[ra(sa(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return va(i>1&&sa(m),i>1&&qa(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(Q,"$1"),c,e>i&&wa(a.slice(i,e)),f>e&&wa(a=a.slice(e)),f>e&&qa(a))}m.push(c)}return sa(m)}function xa(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,o,q,r=0,s="0",t=f&&[],u=[],v=j,x=f||e&&d.find.TAG("*",k),y=w+=null==v?1:Math.random()||.1,z=x.length;for(k&&(j=g===n||g||k);s!==z&&null!=(l=x[s]);s++){if(e&&l){o=0,g||l.ownerDocument===n||(m(l),h=!p);while(q=a[o++])if(q(l,g||n,h)){i.push(l);break}k&&(w=y)}c&&((l=!q&&l)&&r--,f&&t.push(l))}if(r+=s,c&&s!==r){o=0;while(q=b[o++])q(t,u,g,h);if(f){if(r>0)while(s--)t[s]||u[s]||(u[s]=F.call(i));u=ua(u)}H.apply(i,u),k&&!f&&u.length>0&&r+b.length>1&&fa.uniqueSort(i)}return k&&(w=y,j=v),t};return c?ha(f):f}return h=fa.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=wa(b[c]),f[u]?d.push(f):e.push(f);f=A(a,xa(e,d)),f.selector=a}return f},i=fa.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(ba,ca),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=W.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(ba,ca),_.test(j[0].type)&&oa(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&qa(j),!a)return H.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,!b||_.test(a)&&oa(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ia(function(a){return 1&a.compareDocumentPosition(n.createElement("div"))}),ia(function(a){return a.innerHTML="<a href='#'></a>","#"===a.firstChild.getAttribute("href")})||ja("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ia(function(a){return a.innerHTML="<input/>",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||ja("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),ia(function(a){return null==a.getAttribute("disabled")})||ja(K,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),fa}(a);n.find=t,n.expr=t.selectors,n.expr[":"]=n.expr.pseudos,n.uniqueSort=n.unique=t.uniqueSort,n.text=t.getText,n.isXMLDoc=t.isXML,n.contains=t.contains;var u=function(a,b,c){var d=[],e=void 0!==c;while((a=a[b])&&9!==a.nodeType)if(1===a.nodeType){if(e&&n(a).is(c))break;d.push(a)}return d},v=function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c},w=n.expr.match.needsContext,x=/^<([\w-]+)\s*\/?>(?:<\/\1>|)$/,y=/^.[^:#\[\.,]*$/;function z(a,b,c){if(n.isFunction(b))return n.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return n.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(y.test(b))return n.filter(b,a,c);b=n.filter(b,a)}return n.grep(a,function(a){return n.inArray(a,b)>-1!==c})}n.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?n.find.matchesSelector(d,a)?[d]:[]:n.find.matches(a,n.grep(b,function(a){return 1===a.nodeType}))},n.fn.extend({find:function(a){var b,c=[],d=this,e=d.length;if("string"!=typeof a)return this.pushStack(n(a).filter(function(){for(b=0;e>b;b++)if(n.contains(d[b],this))return!0}));for(b=0;e>b;b++)n.find(a,d[b],c);return c=this.pushStack(e>1?n.unique(c):c),c.selector=this.selector?this.selector+" "+a:a,c},filter:function(a){return this.pushStack(z(this,a||[],!1))},not:function(a){return this.pushStack(z(this,a||[],!0))},is:function(a){return!!z(this,"string"==typeof a&&w.test(a)?n(a):a||[],!1).length}});var A,B=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,C=n.fn.init=function(a,b,c){var e,f;if(!a)return this;if(c=c||A,"string"==typeof a){if(e="<"===a.charAt(0)&&">"===a.charAt(a.length-1)&&a.length>=3?[null,a,null]:B.exec(a),!e||!e[1]&&b)return!b||b.jquery?(b||c).find(a):this.constructor(b).find(a);if(e[1]){if(b=b instanceof n?b[0]:b,n.merge(this,n.parseHTML(e[1],b&&b.nodeType?b.ownerDocument||b:d,!0)),x.test(e[1])&&n.isPlainObject(b))for(e in b)n.isFunction(this[e])?this[e](b[e]):this.attr(e,b[e]);return this}if(f=d.getElementById(e[2]),f&&f.parentNode){if(f.id!==e[2])return A.find(a);this.length=1,this[0]=f}return this.context=d,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):n.isFunction(a)?"undefined"!=typeof c.ready?c.ready(a):a(n):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),n.makeArray(a,this))};C.prototype=n.fn,A=n(d);var D=/^(?:parents|prev(?:Until|All))/,E={children:!0,contents:!0,next:!0,prev:!0};n.fn.extend({has:function(a){var b,c=n(a,this),d=c.length;return this.filter(function(){for(b=0;d>b;b++)if(n.contains(this,c[b]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=w.test(a)||"string"!=typeof a?n(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&n.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?n.uniqueSort(f):f)},index:function(a){return a?"string"==typeof a?n.inArray(this[0],n(a)):n.inArray(a.jquery?a[0]:a,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(n.uniqueSort(n.merge(this.get(),n(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function F(a,b){do a=a[b];while(a&&1!==a.nodeType);return a}n.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return u(a,"parentNode")},parentsUntil:function(a,b,c){return u(a,"parentNode",c)},next:function(a){return F(a,"nextSibling")},prev:function(a){return F(a,"previousSibling")},nextAll:function(a){return u(a,"nextSibling")},prevAll:function(a){return u(a,"previousSibling")},nextUntil:function(a,b,c){return u(a,"nextSibling",c)},prevUntil:function(a,b,c){return u(a,"previousSibling",c)},siblings:function(a){return v((a.parentNode||{}).firstChild,a)},children:function(a){return v(a.firstChild)},contents:function(a){return n.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:n.merge([],a.childNodes)}},function(a,b){n.fn[a]=function(c,d){var e=n.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=n.filter(d,e)),this.length>1&&(E[a]||(e=n.uniqueSort(e)),D.test(a)&&(e=e.reverse())),this.pushStack(e)}});var G=/\S+/g;function H(a){var b={};return n.each(a.match(G)||[],function(a,c){b[c]=!0}),b}n.Callbacks=function(a){a="string"==typeof a?H(a):n.extend({},a);var b,c,d,e,f=[],g=[],h=-1,i=function(){for(e=a.once,d=b=!0;g.length;h=-1){c=g.shift();while(++h<f.length)f[h].apply(c[0],c[1])===!1&&a.stopOnFalse&&(h=f.length,c=!1)}a.memory||(c=!1),b=!1,e&&(f=c?[]:"")},j={add:function(){return f&&(c&&!b&&(h=f.length-1,g.push(c)),function d(b){n.each(b,function(b,c){n.isFunction(c)?a.unique&&j.has(c)||f.push(c):c&&c.length&&"string"!==n.type(c)&&d(c)})}(arguments),c&&!b&&i()),this},remove:function(){return n.each(arguments,function(a,b){var c;while((c=n.inArray(b,f,c))>-1)f.splice(c,1),h>=c&&h--}),this},has:function(a){return a?n.inArray(a,f)>-1:f.length>0},empty:function(){return f&&(f=[]),this},disable:function(){return e=g=[],f=c="",this},disabled:function(){return!f},lock:function(){return e=!0,c||j.disable(),this},locked:function(){return!!e},fireWith:function(a,c){return e||(c=c||[],c=[a,c.slice?c.slice():c],g.push(c),b||i()),this},fire:function(){return j.fireWith(this,arguments),this},fired:function(){return!!d}};return j},n.extend({Deferred:function(a){var b=[["resolve","done",n.Callbacks("once memory"),"resolved"],["reject","fail",n.Callbacks("once memory"),"rejected"],["notify","progress",n.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return n.Deferred(function(c){n.each(b,function(b,f){var g=n.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&n.isFunction(a.promise)?a.promise().progress(c.notify).done(c.resolve).fail(c.reject):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?n.extend(a,d):d}},e={};return d.pipe=d.then,n.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=e.call(arguments),d=c.length,f=1!==d||a&&n.isFunction(a.promise)?d:0,g=1===f?a:n.Deferred(),h=function(a,b,c){return function(d){b[a]=this,c[a]=arguments.length>1?e.call(arguments):d,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(d>1)for(i=new Array(d),j=new Array(d),k=new Array(d);d>b;b++)c[b]&&n.isFunction(c[b].promise)?c[b].promise().progress(h(b,j,i)).done(h(b,k,c)).fail(g.reject):--f;return f||g.resolveWith(k,c),g.promise()}});var I;n.fn.ready=function(a){return n.ready.promise().done(a),this},n.extend({isReady:!1,readyWait:1,holdReady:function(a){a?n.readyWait++:n.ready(!0)},ready:function(a){(a===!0?--n.readyWait:n.isReady)||(n.isReady=!0,a!==!0&&--n.readyWait>0||(I.resolveWith(d,[n]),n.fn.triggerHandler&&(n(d).triggerHandler("ready"),n(d).off("ready"))))}});function J(){d.addEventListener?(d.removeEventListener("DOMContentLoaded",K),a.removeEventListener("load",K)):(d.detachEvent("onreadystatechange",K),a.detachEvent("onload",K))}function K(){(d.addEventListener||"load"===a.event.type||"complete"===d.readyState)&&(J(),n.ready())}n.ready.promise=function(b){if(!I)if(I=n.Deferred(),"complete"===d.readyState||"loading"!==d.readyState&&!d.documentElement.doScroll)a.setTimeout(n.ready);else if(d.addEventListener)d.addEventListener("DOMContentLoaded",K),a.addEventListener("load",K);else{d.attachEvent("onreadystatechange",K),a.attachEvent("onload",K);var c=!1;try{c=null==a.frameElement&&d.documentElement}catch(e){}c&&c.doScroll&&!function f(){if(!n.isReady){try{c.doScroll("left")}catch(b){return a.setTimeout(f,50)}J(),n.ready()}}()}return I.promise(b)},n.ready.promise();var L;for(L in n(l))break;l.ownFirst="0"===L,l.inlineBlockNeedsLayout=!1,n(function(){var a,b,c,e;c=d.getElementsByTagName("body")[0],c&&c.style&&(b=d.createElement("div"),e=d.createElement("div"),e.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(e).appendChild(b),"undefined"!=typeof b.style.zoom&&(b.style.cssText="display:inline;margin:0;border:0;padding:1px;width:1px;zoom:1",l.inlineBlockNeedsLayout=a=3===b.offsetWidth,a&&(c.style.zoom=1)),c.removeChild(e))}),function(){var a=d.createElement("div");l.deleteExpando=!0;try{delete a.test}catch(b){l.deleteExpando=!1}a=null}();var M=function(a){var b=n.noData[(a.nodeName+" ").toLowerCase()],c=+a.nodeType||1;return 1!==c&&9!==c?!1:!b||b!==!0&&a.getAttribute("classid")===b},N=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,O=/([A-Z])/g;function P(a,b,c){if(void 0===c&&1===a.nodeType){var d="data-"+b.replace(O,"-$1").toLowerCase();if(c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:N.test(c)?n.parseJSON(c):c}catch(e){}n.data(a,b,c)}else c=void 0;
}return c}function Q(a){var b;for(b in a)if(("data"!==b||!n.isEmptyObject(a[b]))&&"toJSON"!==b)return!1;return!0}function R(a,b,d,e){if(M(a)){var f,g,h=n.expando,i=a.nodeType,j=i?n.cache:a,k=i?a[h]:a[h]&&h;if(k&&j[k]&&(e||j[k].data)||void 0!==d||"string"!=typeof b)return k||(k=i?a[h]=c.pop()||n.guid++:h),j[k]||(j[k]=i?{}:{toJSON:n.noop}),"object"!=typeof b&&"function"!=typeof b||(e?j[k]=n.extend(j[k],b):j[k].data=n.extend(j[k].data,b)),g=j[k],e||(g.data||(g.data={}),g=g.data),void 0!==d&&(g[n.camelCase(b)]=d),"string"==typeof b?(f=g[b],null==f&&(f=g[n.camelCase(b)])):f=g,f}}function S(a,b,c){if(M(a)){var d,e,f=a.nodeType,g=f?n.cache:a,h=f?a[n.expando]:n.expando;if(g[h]){if(b&&(d=c?g[h]:g[h].data)){n.isArray(b)?b=b.concat(n.map(b,n.camelCase)):b in d?b=[b]:(b=n.camelCase(b),b=b in d?[b]:b.split(" ")),e=b.length;while(e--)delete d[b[e]];if(c?!Q(d):!n.isEmptyObject(d))return}(c||(delete g[h].data,Q(g[h])))&&(f?n.cleanData([a],!0):l.deleteExpando||g!=g.window?delete g[h]:g[h]=void 0)}}}n.extend({cache:{},noData:{"applet ":!0,"embed ":!0,"object ":"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(a){return a=a.nodeType?n.cache[a[n.expando]]:a[n.expando],!!a&&!Q(a)},data:function(a,b,c){return R(a,b,c)},removeData:function(a,b){return S(a,b)},_data:function(a,b,c){return R(a,b,c,!0)},_removeData:function(a,b){return S(a,b,!0)}}),n.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=n.data(f),1===f.nodeType&&!n._data(f,"parsedAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=n.camelCase(d.slice(5)),P(f,d,e[d])));n._data(f,"parsedAttrs",!0)}return e}return"object"==typeof a?this.each(function(){n.data(this,a)}):arguments.length>1?this.each(function(){n.data(this,a,b)}):f?P(f,a,n.data(f,a)):void 0},removeData:function(a){return this.each(function(){n.removeData(this,a)})}}),n.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=n._data(a,b),c&&(!d||n.isArray(c)?d=n._data(a,b,n.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=n.queue(a,b),d=c.length,e=c.shift(),f=n._queueHooks(a,b),g=function(){n.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return n._data(a,c)||n._data(a,c,{empty:n.Callbacks("once memory").add(function(){n._removeData(a,b+"queue"),n._removeData(a,c)})})}}),n.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.length<c?n.queue(this[0],a):void 0===b?this:this.each(function(){var c=n.queue(this,a,b);n._queueHooks(this,a),"fx"===a&&"inprogress"!==c[0]&&n.dequeue(this,a)})},dequeue:function(a){return this.each(function(){n.dequeue(this,a)})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,b){var c,d=1,e=n.Deferred(),f=this,g=this.length,h=function(){--d||e.resolveWith(f,[f])};"string"!=typeof a&&(b=a,a=void 0),a=a||"fx";while(g--)c=n._data(f[g],a+"queueHooks"),c&&c.empty&&(d++,c.empty.add(h));return h(),e.promise(b)}}),function(){var a;l.shrinkWrapBlocks=function(){if(null!=a)return a;a=!1;var b,c,e;return c=d.getElementsByTagName("body")[0],c&&c.style?(b=d.createElement("div"),e=d.createElement("div"),e.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(e).appendChild(b),"undefined"!=typeof b.style.zoom&&(b.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:1px;width:1px;zoom:1",b.appendChild(d.createElement("div")).style.width="5px",a=3!==b.offsetWidth),c.removeChild(e),a):void 0}}();var T=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,U=new RegExp("^(?:([+-])=|)("+T+")([a-z%]*)$","i"),V=["Top","Right","Bottom","Left"],W=function(a,b){return a=b||a,"none"===n.css(a,"display")||!n.contains(a.ownerDocument,a)};function X(a,b,c,d){var e,f=1,g=20,h=d?function(){return d.cur()}:function(){return n.css(a,b,"")},i=h(),j=c&&c[3]||(n.cssNumber[b]?"":"px"),k=(n.cssNumber[b]||"px"!==j&&+i)&&U.exec(n.css(a,b));if(k&&k[3]!==j){j=j||k[3],c=c||[],k=+i||1;do f=f||".5",k/=f,n.style(a,b,k+j);while(f!==(f=h()/i)&&1!==f&&--g)}return c&&(k=+k||+i||0,e=c[1]?k+(c[1]+1)*c[2]:+c[2],d&&(d.unit=j,d.start=k,d.end=e)),e}var Y=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===n.type(c)){e=!0;for(h in c)Y(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,n.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(n(a),c)})),b))for(;i>h;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f},Z=/^(?:checkbox|radio)$/i,$=/<([\w:-]+)/,_=/^$|\/(?:java|ecma)script/i,aa=/^\s+/,ba="abbr|article|aside|audio|bdi|canvas|data|datalist|details|dialog|figcaption|figure|footer|header|hgroup|main|mark|meter|nav|output|picture|progress|section|summary|template|time|video";function ca(a){var b=ba.split("|"),c=a.createDocumentFragment();if(c.createElement)while(b.length)c.createElement(b.pop());return c}!function(){var a=d.createElement("div"),b=d.createDocumentFragment(),c=d.createElement("input");a.innerHTML=" <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",l.leadingWhitespace=3===a.firstChild.nodeType,l.tbody=!a.getElementsByTagName("tbody").length,l.htmlSerialize=!!a.getElementsByTagName("link").length,l.html5Clone="<:nav></:nav>"!==d.createElement("nav").cloneNode(!0).outerHTML,c.type="checkbox",c.checked=!0,b.appendChild(c),l.appendChecked=c.checked,a.innerHTML="<textarea>x</textarea>",l.noCloneChecked=!!a.cloneNode(!0).lastChild.defaultValue,b.appendChild(a),c=d.createElement("input"),c.setAttribute("type","radio"),c.setAttribute("checked","checked"),c.setAttribute("name","t"),a.appendChild(c),l.checkClone=a.cloneNode(!0).cloneNode(!0).lastChild.checked,l.noCloneEvent=!!a.addEventListener,a[n.expando]=1,l.attributes=!a.getAttribute(n.expando)}();var da={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],area:[1,"<map>","</map>"],param:[1,"<object>","</object>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:l.htmlSerialize?[0,"",""]:[1,"X<div>","</div>"]};da.optgroup=da.option,da.tbody=da.tfoot=da.colgroup=da.caption=da.thead,da.th=da.td;function ea(a,b){var c,d,e=0,f="undefined"!=typeof a.getElementsByTagName?a.getElementsByTagName(b||"*"):"undefined"!=typeof a.querySelectorAll?a.querySelectorAll(b||"*"):void 0;if(!f)for(f=[],c=a.childNodes||a;null!=(d=c[e]);e++)!b||n.nodeName(d,b)?f.push(d):n.merge(f,ea(d,b));return void 0===b||b&&n.nodeName(a,b)?n.merge([a],f):f}function fa(a,b){for(var c,d=0;null!=(c=a[d]);d++)n._data(c,"globalEval",!b||n._data(b[d],"globalEval"))}var ga=/<|&#?\w+;/,ha=/<tbody/i;function ia(a){Z.test(a.type)&&(a.defaultChecked=a.checked)}function ja(a,b,c,d,e){for(var f,g,h,i,j,k,m,o=a.length,p=ca(b),q=[],r=0;o>r;r++)if(g=a[r],g||0===g)if("object"===n.type(g))n.merge(q,g.nodeType?[g]:g);else if(ga.test(g)){i=i||p.appendChild(b.createElement("div")),j=($.exec(g)||["",""])[1].toLowerCase(),m=da[j]||da._default,i.innerHTML=m[1]+n.htmlPrefilter(g)+m[2],f=m[0];while(f--)i=i.lastChild;if(!l.leadingWhitespace&&aa.test(g)&&q.push(b.createTextNode(aa.exec(g)[0])),!l.tbody){g="table"!==j||ha.test(g)?"<table>"!==m[1]||ha.test(g)?0:i:i.firstChild,f=g&&g.childNodes.length;while(f--)n.nodeName(k=g.childNodes[f],"tbody")&&!k.childNodes.length&&g.removeChild(k)}n.merge(q,i.childNodes),i.textContent="";while(i.firstChild)i.removeChild(i.firstChild);i=p.lastChild}else q.push(b.createTextNode(g));i&&p.removeChild(i),l.appendChecked||n.grep(ea(q,"input"),ia),r=0;while(g=q[r++])if(d&&n.inArray(g,d)>-1)e&&e.push(g);else if(h=n.contains(g.ownerDocument,g),i=ea(p.appendChild(g),"script"),h&&fa(i),c){f=0;while(g=i[f++])_.test(g.type||"")&&c.push(g)}return i=null,p}!function(){var b,c,e=d.createElement("div");for(b in{submit:!0,change:!0,focusin:!0})c="on"+b,(l[b]=c in a)||(e.setAttribute(c,"t"),l[b]=e.attributes[c].expando===!1);e=null}();var ka=/^(?:input|select|textarea)$/i,la=/^key/,ma=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,na=/^(?:focusinfocus|focusoutblur)$/,oa=/^([^.]*)(?:\.(.+)|)/;function pa(){return!0}function qa(){return!1}function ra(){try{return d.activeElement}catch(a){}}function sa(a,b,c,d,e,f){var g,h;if("object"==typeof b){"string"!=typeof c&&(d=d||c,c=void 0);for(h in b)sa(a,h,c,d,b[h],f);return a}if(null==d&&null==e?(e=c,d=c=void 0):null==e&&("string"==typeof c?(e=d,d=void 0):(e=d,d=c,c=void 0)),e===!1)e=qa;else if(!e)return a;return 1===f&&(g=e,e=function(a){return n().off(a),g.apply(this,arguments)},e.guid=g.guid||(g.guid=n.guid++)),a.each(function(){n.event.add(this,b,e,d,c)})}n.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=n._data(a);if(r){c.handler&&(i=c,c=i.handler,e=i.selector),c.guid||(c.guid=n.guid++),(g=r.events)||(g=r.events={}),(k=r.handle)||(k=r.handle=function(a){return"undefined"==typeof n||a&&n.event.triggered===a.type?void 0:n.event.dispatch.apply(k.elem,arguments)},k.elem=a),b=(b||"").match(G)||[""],h=b.length;while(h--)f=oa.exec(b[h])||[],o=q=f[1],p=(f[2]||"").split(".").sort(),o&&(j=n.event.special[o]||{},o=(e?j.delegateType:j.bindType)||o,j=n.event.special[o]||{},l=n.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&n.expr.match.needsContext.test(e),namespace:p.join(".")},i),(m=g[o])||(m=g[o]=[],m.delegateCount=0,j.setup&&j.setup.call(a,d,p,k)!==!1||(a.addEventListener?a.addEventListener(o,k,!1):a.attachEvent&&a.attachEvent("on"+o,k))),j.add&&(j.add.call(a,l),l.handler.guid||(l.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,l):m.push(l),n.event.global[o]=!0);a=null}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=n.hasData(a)&&n._data(a);if(r&&(k=r.events)){b=(b||"").match(G)||[""],j=b.length;while(j--)if(h=oa.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=n.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,m=k[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),i=f=m.length;while(f--)g=m[f],!e&&q!==g.origType||c&&c.guid!==g.guid||h&&!h.test(g.namespace)||d&&d!==g.selector&&("**"!==d||!g.selector)||(m.splice(f,1),g.selector&&m.delegateCount--,l.remove&&l.remove.call(a,g));i&&!m.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||n.removeEvent(a,o,r.handle),delete k[o])}else for(o in k)n.event.remove(a,o+b[j],c,d,!0);n.isEmptyObject(k)&&(delete r.handle,n._removeData(a,"events"))}},trigger:function(b,c,e,f){var g,h,i,j,l,m,o,p=[e||d],q=k.call(b,"type")?b.type:b,r=k.call(b,"namespace")?b.namespace.split("."):[];if(i=m=e=e||d,3!==e.nodeType&&8!==e.nodeType&&!na.test(q+n.event.triggered)&&(q.indexOf(".")>-1&&(r=q.split("."),q=r.shift(),r.sort()),h=q.indexOf(":")<0&&"on"+q,b=b[n.expando]?b:new n.Event(q,"object"==typeof b&&b),b.isTrigger=f?2:3,b.namespace=r.join("."),b.rnamespace=b.namespace?new RegExp("(^|\\.)"+r.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=e),c=null==c?[b]:n.makeArray(c,[b]),l=n.event.special[q]||{},f||!l.trigger||l.trigger.apply(e,c)!==!1)){if(!f&&!l.noBubble&&!n.isWindow(e)){for(j=l.delegateType||q,na.test(j+q)||(i=i.parentNode);i;i=i.parentNode)p.push(i),m=i;m===(e.ownerDocument||d)&&p.push(m.defaultView||m.parentWindow||a)}o=0;while((i=p[o++])&&!b.isPropagationStopped())b.type=o>1?j:l.bindType||q,g=(n._data(i,"events")||{})[b.type]&&n._data(i,"handle"),g&&g.apply(i,c),g=h&&i[h],g&&g.apply&&M(i)&&(b.result=g.apply(i,c),b.result===!1&&b.preventDefault());if(b.type=q,!f&&!b.isDefaultPrevented()&&(!l._default||l._default.apply(p.pop(),c)===!1)&&M(e)&&h&&e[q]&&!n.isWindow(e)){m=e[h],m&&(e[h]=null),n.event.triggered=q;try{e[q]()}catch(s){}n.event.triggered=void 0,m&&(e[h]=m)}return b.result}},dispatch:function(a){a=n.event.fix(a);var b,c,d,f,g,h=[],i=e.call(arguments),j=(n._data(this,"events")||{})[a.type]||[],k=n.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=n.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,c=0;while((g=f.handlers[c++])&&!a.isImmediatePropagationStopped())a.rnamespace&&!a.rnamespace.test(g.namespace)||(a.handleObj=g,a.data=g.data,d=((n.event.special[g.origType]||{}).handle||g.handler).apply(f.elem,i),void 0!==d&&(a.result=d)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&("click"!==a.type||isNaN(a.button)||a.button<1))for(;i!=this;i=i.parentNode||this)if(1===i.nodeType&&(i.disabled!==!0||"click"!==a.type)){for(d=[],c=0;h>c;c++)f=b[c],e=f.selector+" ",void 0===d[e]&&(d[e]=f.needsContext?n(e,this).index(i)>-1:n.find(e,this,null,[i]).length),d[e]&&d.push(f);d.length&&g.push({elem:i,handlers:d})}return h<b.length&&g.push({elem:this,handlers:b.slice(h)}),g},fix:function(a){if(a[n.expando])return a;var b,c,e,f=a.type,g=a,h=this.fixHooks[f];h||(this.fixHooks[f]=h=ma.test(f)?this.mouseHooks:la.test(f)?this.keyHooks:{}),e=h.props?this.props.concat(h.props):this.props,a=new n.Event(g),b=e.length;while(b--)c=e[b],a[c]=g[c];return a.target||(a.target=g.srcElement||d),3===a.target.nodeType&&(a.target=a.target.parentNode),a.metaKey=!!a.metaKey,h.filter?h.filter(a,g):a},props:"altKey bubbles cancelable ctrlKey currentTarget detail eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(a,b){return null==a.which&&(a.which=null!=b.charCode?b.charCode:b.keyCode),a}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(a,b){var c,e,f,g=b.button,h=b.fromElement;return null==a.pageX&&null!=b.clientX&&(e=a.target.ownerDocument||d,f=e.documentElement,c=e.body,a.pageX=b.clientX+(f&&f.scrollLeft||c&&c.scrollLeft||0)-(f&&f.clientLeft||c&&c.clientLeft||0),a.pageY=b.clientY+(f&&f.scrollTop||c&&c.scrollTop||0)-(f&&f.clientTop||c&&c.clientTop||0)),!a.relatedTarget&&h&&(a.relatedTarget=h===a.target?b.toElement:h),a.which||void 0===g||(a.which=1&g?1:2&g?3:4&g?2:0),a}},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==ra()&&this.focus)try{return this.focus(),!1}catch(a){}},delegateType:"focusin"},blur:{trigger:function(){return this===ra()&&this.blur?(this.blur(),!1):void 0},delegateType:"focusout"},click:{trigger:function(){return n.nodeName(this,"input")&&"checkbox"===this.type&&this.click?(this.click(),!1):void 0},_default:function(a){return n.nodeName(a.target,"a")}},beforeunload:{postDispatch:function(a){void 0!==a.result&&a.originalEvent&&(a.originalEvent.returnValue=a.result)}}},simulate:function(a,b,c){var d=n.extend(new n.Event,c,{type:a,isSimulated:!0});n.event.trigger(d,null,b),d.isDefaultPrevented()&&c.preventDefault()}},n.removeEvent=d.removeEventListener?function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c)}:function(a,b,c){var d="on"+b;a.detachEvent&&("undefined"==typeof a[d]&&(a[d]=null),a.detachEvent(d,c))},n.Event=function(a,b){return this instanceof n.Event?(a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||void 0===a.defaultPrevented&&a.returnValue===!1?pa:qa):this.type=a,b&&n.extend(this,b),this.timeStamp=a&&a.timeStamp||n.now(),void(this[n.expando]=!0)):new n.Event(a,b)},n.Event.prototype={constructor:n.Event,isDefaultPrevented:qa,isPropagationStopped:qa,isImmediatePropagationStopped:qa,preventDefault:function(){var a=this.originalEvent;this.isDefaultPrevented=pa,a&&(a.preventDefault?a.preventDefault():a.returnValue=!1)},stopPropagation:function(){var a=this.originalEvent;this.isPropagationStopped=pa,a&&!this.isSimulated&&(a.stopPropagation&&a.stopPropagation(),a.cancelBubble=!0)},stopImmediatePropagation:function(){var a=this.originalEvent;this.isImmediatePropagationStopped=pa,a&&a.stopImmediatePropagation&&a.stopImmediatePropagation(),this.stopPropagation()}},n.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(a,b){n.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c,d=this,e=a.relatedTarget,f=a.handleObj;return e&&(e===d||n.contains(d,e))||(a.type=f.origType,c=f.handler.apply(this,arguments),a.type=b),c}}}),l.submit||(n.event.special.submit={setup:function(){return n.nodeName(this,"form")?!1:void n.event.add(this,"click._submit keypress._submit",function(a){var b=a.target,c=n.nodeName(b,"input")||n.nodeName(b,"button")?n.prop(b,"form"):void 0;c&&!n._data(c,"submit")&&(n.event.add(c,"submit._submit",function(a){a._submitBubble=!0}),n._data(c,"submit",!0))})},postDispatch:function(a){a._submitBubble&&(delete a._submitBubble,this.parentNode&&!a.isTrigger&&n.event.simulate("submit",this.parentNode,a))},teardown:function(){return n.nodeName(this,"form")?!1:void n.event.remove(this,"._submit")}}),l.change||(n.event.special.change={setup:function(){return ka.test(this.nodeName)?("checkbox"!==this.type&&"radio"!==this.type||(n.event.add(this,"propertychange._change",function(a){"checked"===a.originalEvent.propertyName&&(this._justChanged=!0)}),n.event.add(this,"click._change",function(a){this._justChanged&&!a.isTrigger&&(this._justChanged=!1),n.event.simulate("change",this,a)})),!1):void n.event.add(this,"beforeactivate._change",function(a){var b=a.target;ka.test(b.nodeName)&&!n._data(b,"change")&&(n.event.add(b,"change._change",function(a){!this.parentNode||a.isSimulated||a.isTrigger||n.event.simulate("change",this.parentNode,a)}),n._data(b,"change",!0))})},handle:function(a){var b=a.target;return this!==b||a.isSimulated||a.isTrigger||"radio"!==b.type&&"checkbox"!==b.type?a.handleObj.handler.apply(this,arguments):void 0},teardown:function(){return n.event.remove(this,"._change"),!ka.test(this.nodeName)}}),l.focusin||n.each({focus:"focusin",blur:"focusout"},function(a,b){var c=function(a){n.event.simulate(b,a.target,n.event.fix(a))};n.event.special[b]={setup:function(){var d=this.ownerDocument||this,e=n._data(d,b);e||d.addEventListener(a,c,!0),n._data(d,b,(e||0)+1)},teardown:function(){var d=this.ownerDocument||this,e=n._data(d,b)-1;e?n._data(d,b,e):(d.removeEventListener(a,c,!0),n._removeData(d,b))}}}),n.fn.extend({on:function(a,b,c,d){return sa(this,a,b,c,d)},one:function(a,b,c,d){return sa(this,a,b,c,d,1)},off:function(a,b,c){var d,e;if(a&&a.preventDefault&&a.handleObj)return d=a.handleObj,n(a.delegateTarget).off(d.namespace?d.origType+"."+d.namespace:d.origType,d.selector,d.handler),this;if("object"==typeof a){for(e in a)this.off(e,b,a[e]);return this}return b!==!1&&"function"!=typeof b||(c=b,b=void 0),c===!1&&(c=qa),this.each(function(){n.event.remove(this,a,c,b)})},trigger:function(a,b){return this.each(function(){n.event.trigger(a,b,this)})},triggerHandler:function(a,b){var c=this[0];return c?n.event.trigger(a,b,c,!0):void 0}});var ta=/ jQuery\d+="(?:null|\d+)"/g,ua=new RegExp("<(?:"+ba+")[\\s/>]","i"),va=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:-]+)[^>]*)\/>/gi,wa=/<script|<style|<link/i,xa=/checked\s*(?:[^=]|=\s*.checked.)/i,ya=/^true\/(.*)/,za=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,Aa=ca(d),Ba=Aa.appendChild(d.createElement("div"));function Ca(a,b){return n.nodeName(a,"table")&&n.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function Da(a){return a.type=(null!==n.find.attr(a,"type"))+"/"+a.type,a}function Ea(a){var b=ya.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function Fa(a,b){if(1===b.nodeType&&n.hasData(a)){var c,d,e,f=n._data(a),g=n._data(b,f),h=f.events;if(h){delete g.handle,g.events={};for(c in h)for(d=0,e=h[c].length;e>d;d++)n.event.add(b,c,h[c][d])}g.data&&(g.data=n.extend({},g.data))}}function Ga(a,b){var c,d,e;if(1===b.nodeType){if(c=b.nodeName.toLowerCase(),!l.noCloneEvent&&b[n.expando]){e=n._data(b);for(d in e.events)n.removeEvent(b,d,e.handle);b.removeAttribute(n.expando)}"script"===c&&b.text!==a.text?(Da(b).text=a.text,Ea(b)):"object"===c?(b.parentNode&&(b.outerHTML=a.outerHTML),l.html5Clone&&a.innerHTML&&!n.trim(b.innerHTML)&&(b.innerHTML=a.innerHTML)):"input"===c&&Z.test(a.type)?(b.defaultChecked=b.checked=a.checked,b.value!==a.value&&(b.value=a.value)):"option"===c?b.defaultSelected=b.selected=a.defaultSelected:"input"!==c&&"textarea"!==c||(b.defaultValue=a.defaultValue)}}function Ha(a,b,c,d){b=f.apply([],b);var e,g,h,i,j,k,m=0,o=a.length,p=o-1,q=b[0],r=n.isFunction(q);if(r||o>1&&"string"==typeof q&&!l.checkClone&&xa.test(q))return a.each(function(e){var f=a.eq(e);r&&(b[0]=q.call(this,e,f.html())),Ha(f,b,c,d)});if(o&&(k=ja(b,a[0].ownerDocument,!1,a,d),e=k.firstChild,1===k.childNodes.length&&(k=e),e||d)){for(i=n.map(ea(k,"script"),Da),h=i.length;o>m;m++)g=k,m!==p&&(g=n.clone(g,!0,!0),h&&n.merge(i,ea(g,"script"))),c.call(a[m],g,m);if(h)for(j=i[i.length-1].ownerDocument,n.map(i,Ea),m=0;h>m;m++)g=i[m],_.test(g.type||"")&&!n._data(g,"globalEval")&&n.contains(j,g)&&(g.src?n._evalUrl&&n._evalUrl(g.src):n.globalEval((g.text||g.textContent||g.innerHTML||"").replace(za,"")));k=e=null}return a}function Ia(a,b,c){for(var d,e=b?n.filter(b,a):a,f=0;null!=(d=e[f]);f++)c||1!==d.nodeType||n.cleanData(ea(d)),d.parentNode&&(c&&n.contains(d.ownerDocument,d)&&fa(ea(d,"script")),d.parentNode.removeChild(d));return a}n.extend({htmlPrefilter:function(a){return a.replace(va,"<$1></$2>")},clone:function(a,b,c){var d,e,f,g,h,i=n.contains(a.ownerDocument,a);if(l.html5Clone||n.isXMLDoc(a)||!ua.test("<"+a.nodeName+">")?f=a.cloneNode(!0):(Ba.innerHTML=a.outerHTML,Ba.removeChild(f=Ba.firstChild)),!(l.noCloneEvent&&l.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||n.isXMLDoc(a)))for(d=ea(f),h=ea(a),g=0;null!=(e=h[g]);++g)d[g]&&Ga(e,d[g]);if(b)if(c)for(h=h||ea(a),d=d||ea(f),g=0;null!=(e=h[g]);g++)Fa(e,d[g]);else Fa(a,f);return d=ea(f,"script"),d.length>0&&fa(d,!i&&ea(a,"script")),d=h=e=null,f},cleanData:function(a,b){for(var d,e,f,g,h=0,i=n.expando,j=n.cache,k=l.attributes,m=n.event.special;null!=(d=a[h]);h++)if((b||M(d))&&(f=d[i],g=f&&j[f])){if(g.events)for(e in g.events)m[e]?n.event.remove(d,e):n.removeEvent(d,e,g.handle);j[f]&&(delete j[f],k||"undefined"==typeof d.removeAttribute?d[i]=void 0:d.removeAttribute(i),c.push(f))}}}),n.fn.extend({domManip:Ha,detach:function(a){return Ia(this,a,!0)},remove:function(a){return Ia(this,a)},text:function(a){return Y(this,function(a){return void 0===a?n.text(this):this.empty().append((this[0]&&this[0].ownerDocument||d).createTextNode(a))},null,a,arguments.length)},append:function(){return Ha(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=Ca(this,a);b.appendChild(a)}})},prepend:function(){return Ha(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=Ca(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return Ha(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return Ha(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},empty:function(){for(var a,b=0;null!=(a=this[b]);b++){1===a.nodeType&&n.cleanData(ea(a,!1));while(a.firstChild)a.removeChild(a.firstChild);a.options&&n.nodeName(a,"select")&&(a.options.length=0)}return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return n.clone(this,a,b)})},html:function(a){return Y(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a)return 1===b.nodeType?b.innerHTML.replace(ta,""):void 0;if("string"==typeof a&&!wa.test(a)&&(l.htmlSerialize||!ua.test(a))&&(l.leadingWhitespace||!aa.test(a))&&!da[($.exec(a)||["",""])[1].toLowerCase()]){a=n.htmlPrefilter(a);try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(n.cleanData(ea(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=[];return Ha(this,arguments,function(b){var c=this.parentNode;n.inArray(this,a)<0&&(n.cleanData(ea(this)),c&&c.replaceChild(b,this))},a)}}),n.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){n.fn[a]=function(a){for(var c,d=0,e=[],f=n(a),h=f.length-1;h>=d;d++)c=d===h?this:this.clone(!0),n(f[d])[b](c),g.apply(e,c.get());return this.pushStack(e)}});var Ja,Ka={HTML:"block",BODY:"block"};function La(a,b){var c=n(b.createElement(a)).appendTo(b.body),d=n.css(c[0],"display");return c.detach(),d}function Ma(a){var b=d,c=Ka[a];return c||(c=La(a,b),"none"!==c&&c||(Ja=(Ja||n("<iframe frameborder='0' width='0' height='0'/>")).appendTo(b.documentElement),b=(Ja[0].contentWindow||Ja[0].contentDocument).document,b.write(),b.close(),c=La(a,b),Ja.detach()),Ka[a]=c),c}var Na=/^margin/,Oa=new RegExp("^("+T+")(?!px)[a-z%]+$","i"),Pa=function(a,b,c,d){var e,f,g={};for(f in b)g[f]=a.style[f],a.style[f]=b[f];e=c.apply(a,d||[]);for(f in b)a.style[f]=g[f];return e},Qa=d.documentElement;!function(){var b,c,e,f,g,h,i=d.createElement("div"),j=d.createElement("div");if(j.style){j.style.cssText="float:left;opacity:.5",l.opacity="0.5"===j.style.opacity,l.cssFloat=!!j.style.cssFloat,j.style.backgroundClip="content-box",j.cloneNode(!0).style.backgroundClip="",l.clearCloneStyle="content-box"===j.style.backgroundClip,i=d.createElement("div"),i.style.cssText="border:0;width:8px;height:0;top:0;left:-9999px;padding:0;margin-top:1px;position:absolute",j.innerHTML="",i.appendChild(j),l.boxSizing=""===j.style.boxSizing||""===j.style.MozBoxSizing||""===j.style.WebkitBoxSizing,n.extend(l,{reliableHiddenOffsets:function(){return null==b&&k(),f},boxSizingReliable:function(){return null==b&&k(),e},pixelMarginRight:function(){return null==b&&k(),c},pixelPosition:function(){return null==b&&k(),b},reliableMarginRight:function(){return null==b&&k(),g},reliableMarginLeft:function(){return null==b&&k(),h}});function k(){var k,l,m=d.documentElement;m.appendChild(i),j.style.cssText="-webkit-box-sizing:border-box;box-sizing:border-box;position:relative;display:block;margin:auto;border:1px;padding:1px;top:1%;width:50%",b=e=h=!1,c=g=!0,a.getComputedStyle&&(l=a.getComputedStyle(j),b="1%"!==(l||{}).top,h="2px"===(l||{}).marginLeft,e="4px"===(l||{width:"4px"}).width,j.style.marginRight="50%",c="4px"===(l||{marginRight:"4px"}).marginRight,k=j.appendChild(d.createElement("div")),k.style.cssText=j.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0",k.style.marginRight=k.style.width="0",j.style.width="1px",g=!parseFloat((a.getComputedStyle(k)||{}).marginRight),j.removeChild(k)),j.style.display="none",f=0===j.getClientRects().length,f&&(j.style.display="",j.innerHTML="<table><tr><td></td><td>t</td></tr></table>",j.childNodes[0].style.borderCollapse="separate",k=j.getElementsByTagName("td"),k[0].style.cssText="margin:0;border:0;padding:0;display:none",f=0===k[0].offsetHeight,f&&(k[0].style.display="",k[1].style.display="none",f=0===k[0].offsetHeight)),m.removeChild(i)}}}();var Ra,Sa,Ta=/^(top|right|bottom|left)$/;a.getComputedStyle?(Ra=function(b){var c=b.ownerDocument.defaultView;return c&&c.opener||(c=a),c.getComputedStyle(b)},Sa=function(a,b,c){var d,e,f,g,h=a.style;return c=c||Ra(a),g=c?c.getPropertyValue(b)||c[b]:void 0,""!==g&&void 0!==g||n.contains(a.ownerDocument,a)||(g=n.style(a,b)),c&&!l.pixelMarginRight()&&Oa.test(g)&&Na.test(b)&&(d=h.width,e=h.minWidth,f=h.maxWidth,h.minWidth=h.maxWidth=h.width=g,g=c.width,h.width=d,h.minWidth=e,h.maxWidth=f),void 0===g?g:g+""}):Qa.currentStyle&&(Ra=function(a){return a.currentStyle},Sa=function(a,b,c){var d,e,f,g,h=a.style;return c=c||Ra(a),g=c?c[b]:void 0,null==g&&h&&h[b]&&(g=h[b]),Oa.test(g)&&!Ta.test(b)&&(d=h.left,e=a.runtimeStyle,f=e&&e.left,f&&(e.left=a.currentStyle.left),h.left="fontSize"===b?"1em":g,g=h.pixelLeft+"px",h.left=d,f&&(e.left=f)),void 0===g?g:g+""||"auto"});function Ua(a,b){return{get:function(){return a()?void delete this.get:(this.get=b).apply(this,arguments)}}}var Va=/alpha\([^)]*\)/i,Wa=/opacity\s*=\s*([^)]*)/i,Xa=/^(none|table(?!-c[ea]).+)/,Ya=new RegExp("^("+T+")(.*)$","i"),Za={position:"absolute",visibility:"hidden",display:"block"},$a={letterSpacing:"0",fontWeight:"400"},_a=["Webkit","O","Moz","ms"],ab=d.createElement("div").style;function bb(a){if(a in ab)return a;var b=a.charAt(0).toUpperCase()+a.slice(1),c=_a.length;while(c--)if(a=_a[c]+b,a in ab)return a}function cb(a,b){for(var c,d,e,f=[],g=0,h=a.length;h>g;g++)d=a[g],d.style&&(f[g]=n._data(d,"olddisplay"),c=d.style.display,b?(f[g]||"none"!==c||(d.style.display=""),""===d.style.display&&W(d)&&(f[g]=n._data(d,"olddisplay",Ma(d.nodeName)))):(e=W(d),(c&&"none"!==c||!e)&&n._data(d,"olddisplay",e?c:n.css(d,"display"))));for(g=0;h>g;g++)d=a[g],d.style&&(b&&"none"!==d.style.display&&""!==d.style.display||(d.style.display=b?f[g]||"":"none"));return a}function db(a,b,c){var d=Ya.exec(b);return d?Math.max(0,d[1]-(c||0))+(d[2]||"px"):b}function eb(a,b,c,d,e){for(var f=c===(d?"border":"content")?4:"width"===b?1:0,g=0;4>f;f+=2)"margin"===c&&(g+=n.css(a,c+V[f],!0,e)),d?("content"===c&&(g-=n.css(a,"padding"+V[f],!0,e)),"margin"!==c&&(g-=n.css(a,"border"+V[f]+"Width",!0,e))):(g+=n.css(a,"padding"+V[f],!0,e),"padding"!==c&&(g+=n.css(a,"border"+V[f]+"Width",!0,e)));return g}function fb(a,b,c){var d=!0,e="width"===b?a.offsetWidth:a.offsetHeight,f=Ra(a),g=l.boxSizing&&"border-box"===n.css(a,"boxSizing",!1,f);if(0>=e||null==e){if(e=Sa(a,b,f),(0>e||null==e)&&(e=a.style[b]),Oa.test(e))return e;d=g&&(l.boxSizingReliable()||e===a.style[b]),e=parseFloat(e)||0}return e+eb(a,b,c||(g?"border":"content"),d,f)+"px"}n.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=Sa(a,"opacity");return""===c?"1":c}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":l.cssFloat?"cssFloat":"styleFloat"},style:function(a,b,c,d){if(a&&3!==a.nodeType&&8!==a.nodeType&&a.style){var e,f,g,h=n.camelCase(b),i=a.style;if(b=n.cssProps[h]||(n.cssProps[h]=bb(h)||h),g=n.cssHooks[b]||n.cssHooks[h],void 0===c)return g&&"get"in g&&void 0!==(e=g.get(a,!1,d))?e:i[b];if(f=typeof c,"string"===f&&(e=U.exec(c))&&e[1]&&(c=X(a,b,e),f="number"),null!=c&&c===c&&("number"===f&&(c+=e&&e[3]||(n.cssNumber[h]?"":"px")),l.clearCloneStyle||""!==c||0!==b.indexOf("background")||(i[b]="inherit"),!(g&&"set"in g&&void 0===(c=g.set(a,c,d)))))try{i[b]=c}catch(j){}}},css:function(a,b,c,d){var e,f,g,h=n.camelCase(b);return b=n.cssProps[h]||(n.cssProps[h]=bb(h)||h),g=n.cssHooks[b]||n.cssHooks[h],g&&"get"in g&&(f=g.get(a,!0,c)),void 0===f&&(f=Sa(a,b,d)),"normal"===f&&b in $a&&(f=$a[b]),""===c||c?(e=parseFloat(f),c===!0||isFinite(e)?e||0:f):f}}),n.each(["height","width"],function(a,b){n.cssHooks[b]={get:function(a,c,d){return c?Xa.test(n.css(a,"display"))&&0===a.offsetWidth?Pa(a,Za,function(){return fb(a,b,d)}):fb(a,b,d):void 0},set:function(a,c,d){var e=d&&Ra(a);return db(a,c,d?eb(a,b,d,l.boxSizing&&"border-box"===n.css(a,"boxSizing",!1,e),e):0)}}}),l.opacity||(n.cssHooks.opacity={get:function(a,b){return Wa.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=n.isNumeric(b)?"alpha(opacity="+100*b+")":"",f=d&&d.filter||c.filter||"";c.zoom=1,(b>=1||""===b)&&""===n.trim(f.replace(Va,""))&&c.removeAttribute&&(c.removeAttribute("filter"),""===b||d&&!d.filter)||(c.filter=Va.test(f)?f.replace(Va,e):f+" "+e)}}),n.cssHooks.marginRight=Ua(l.reliableMarginRight,function(a,b){return b?Pa(a,{display:"inline-block"},Sa,[a,"marginRight"]):void 0}),n.cssHooks.marginLeft=Ua(l.reliableMarginLeft,function(a,b){return b?(parseFloat(Sa(a,"marginLeft"))||(n.contains(a.ownerDocument,a)?a.getBoundingClientRect().left-Pa(a,{
marginLeft:0},function(){return a.getBoundingClientRect().left}):0))+"px":void 0}),n.each({margin:"",padding:"",border:"Width"},function(a,b){n.cssHooks[a+b]={expand:function(c){for(var d=0,e={},f="string"==typeof c?c.split(" "):[c];4>d;d++)e[a+V[d]+b]=f[d]||f[d-2]||f[0];return e}},Na.test(a)||(n.cssHooks[a+b].set=db)}),n.fn.extend({css:function(a,b){return Y(this,function(a,b,c){var d,e,f={},g=0;if(n.isArray(b)){for(d=Ra(a),e=b.length;e>g;g++)f[b[g]]=n.css(a,b[g],!1,d);return f}return void 0!==c?n.style(a,b,c):n.css(a,b)},a,b,arguments.length>1)},show:function(){return cb(this,!0)},hide:function(){return cb(this)},toggle:function(a){return"boolean"==typeof a?a?this.show():this.hide():this.each(function(){W(this)?n(this).show():n(this).hide()})}});function gb(a,b,c,d,e){return new gb.prototype.init(a,b,c,d,e)}n.Tween=gb,gb.prototype={constructor:gb,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||n.easing._default,this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(n.cssNumber[c]?"":"px")},cur:function(){var a=gb.propHooks[this.prop];return a&&a.get?a.get(this):gb.propHooks._default.get(this)},run:function(a){var b,c=gb.propHooks[this.prop];return this.options.duration?this.pos=b=n.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):this.pos=b=a,this.now=(this.end-this.start)*b+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),c&&c.set?c.set(this):gb.propHooks._default.set(this),this}},gb.prototype.init.prototype=gb.prototype,gb.propHooks={_default:{get:function(a){var b;return 1!==a.elem.nodeType||null!=a.elem[a.prop]&&null==a.elem.style[a.prop]?a.elem[a.prop]:(b=n.css(a.elem,a.prop,""),b&&"auto"!==b?b:0)},set:function(a){n.fx.step[a.prop]?n.fx.step[a.prop](a):1!==a.elem.nodeType||null==a.elem.style[n.cssProps[a.prop]]&&!n.cssHooks[a.prop]?a.elem[a.prop]=a.now:n.style(a.elem,a.prop,a.now+a.unit)}}},gb.propHooks.scrollTop=gb.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},n.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2},_default:"swing"},n.fx=gb.prototype.init,n.fx.step={};var hb,ib,jb=/^(?:toggle|show|hide)$/,kb=/queueHooks$/;function lb(){return a.setTimeout(function(){hb=void 0}),hb=n.now()}function mb(a,b){var c,d={height:a},e=0;for(b=b?1:0;4>e;e+=2-b)c=V[e],d["margin"+c]=d["padding"+c]=a;return b&&(d.opacity=d.width=a),d}function nb(a,b,c){for(var d,e=(qb.tweeners[b]||[]).concat(qb.tweeners["*"]),f=0,g=e.length;g>f;f++)if(d=e[f].call(c,b,a))return d}function ob(a,b,c){var d,e,f,g,h,i,j,k,m=this,o={},p=a.style,q=a.nodeType&&W(a),r=n._data(a,"fxshow");c.queue||(h=n._queueHooks(a,"fx"),null==h.unqueued&&(h.unqueued=0,i=h.empty.fire,h.empty.fire=function(){h.unqueued||i()}),h.unqueued++,m.always(function(){m.always(function(){h.unqueued--,n.queue(a,"fx").length||h.empty.fire()})})),1===a.nodeType&&("height"in b||"width"in b)&&(c.overflow=[p.overflow,p.overflowX,p.overflowY],j=n.css(a,"display"),k="none"===j?n._data(a,"olddisplay")||Ma(a.nodeName):j,"inline"===k&&"none"===n.css(a,"float")&&(l.inlineBlockNeedsLayout&&"inline"!==Ma(a.nodeName)?p.zoom=1:p.display="inline-block")),c.overflow&&(p.overflow="hidden",l.shrinkWrapBlocks()||m.always(function(){p.overflow=c.overflow[0],p.overflowX=c.overflow[1],p.overflowY=c.overflow[2]}));for(d in b)if(e=b[d],jb.exec(e)){if(delete b[d],f=f||"toggle"===e,e===(q?"hide":"show")){if("show"!==e||!r||void 0===r[d])continue;q=!0}o[d]=r&&r[d]||n.style(a,d)}else j=void 0;if(n.isEmptyObject(o))"inline"===("none"===j?Ma(a.nodeName):j)&&(p.display=j);else{r?"hidden"in r&&(q=r.hidden):r=n._data(a,"fxshow",{}),f&&(r.hidden=!q),q?n(a).show():m.done(function(){n(a).hide()}),m.done(function(){var b;n._removeData(a,"fxshow");for(b in o)n.style(a,b,o[b])});for(d in o)g=nb(q?r[d]:0,d,m),d in r||(r[d]=g.start,q&&(g.end=g.start,g.start="width"===d||"height"===d?1:0))}}function pb(a,b){var c,d,e,f,g;for(c in a)if(d=n.camelCase(c),e=b[d],f=a[c],n.isArray(f)&&(e=f[1],f=a[c]=f[0]),c!==d&&(a[d]=f,delete a[c]),g=n.cssHooks[d],g&&"expand"in g){f=g.expand(f),delete a[d];for(c in f)c in a||(a[c]=f[c],b[c]=e)}else b[d]=e}function qb(a,b,c){var d,e,f=0,g=qb.prefilters.length,h=n.Deferred().always(function(){delete i.elem}),i=function(){if(e)return!1;for(var b=hb||lb(),c=Math.max(0,j.startTime+j.duration-b),d=c/j.duration||0,f=1-d,g=0,i=j.tweens.length;i>g;g++)j.tweens[g].run(f);return h.notifyWith(a,[j,f,c]),1>f&&i?c:(h.resolveWith(a,[j]),!1)},j=h.promise({elem:a,props:n.extend({},b),opts:n.extend(!0,{specialEasing:{},easing:n.easing._default},c),originalProperties:b,originalOptions:c,startTime:hb||lb(),duration:c.duration,tweens:[],createTween:function(b,c){var d=n.Tween(a,j.opts,b,c,j.opts.specialEasing[b]||j.opts.easing);return j.tweens.push(d),d},stop:function(b){var c=0,d=b?j.tweens.length:0;if(e)return this;for(e=!0;d>c;c++)j.tweens[c].run(1);return b?(h.notifyWith(a,[j,1,0]),h.resolveWith(a,[j,b])):h.rejectWith(a,[j,b]),this}}),k=j.props;for(pb(k,j.opts.specialEasing);g>f;f++)if(d=qb.prefilters[f].call(j,a,k,j.opts))return n.isFunction(d.stop)&&(n._queueHooks(j.elem,j.opts.queue).stop=n.proxy(d.stop,d)),d;return n.map(k,nb,j),n.isFunction(j.opts.start)&&j.opts.start.call(a,j),n.fx.timer(n.extend(i,{elem:a,anim:j,queue:j.opts.queue})),j.progress(j.opts.progress).done(j.opts.done,j.opts.complete).fail(j.opts.fail).always(j.opts.always)}n.Animation=n.extend(qb,{tweeners:{"*":[function(a,b){var c=this.createTween(a,b);return X(c.elem,a,U.exec(b),c),c}]},tweener:function(a,b){n.isFunction(a)?(b=a,a=["*"]):a=a.match(G);for(var c,d=0,e=a.length;e>d;d++)c=a[d],qb.tweeners[c]=qb.tweeners[c]||[],qb.tweeners[c].unshift(b)},prefilters:[ob],prefilter:function(a,b){b?qb.prefilters.unshift(a):qb.prefilters.push(a)}}),n.speed=function(a,b,c){var d=a&&"object"==typeof a?n.extend({},a):{complete:c||!c&&b||n.isFunction(a)&&a,duration:a,easing:c&&b||b&&!n.isFunction(b)&&b};return d.duration=n.fx.off?0:"number"==typeof d.duration?d.duration:d.duration in n.fx.speeds?n.fx.speeds[d.duration]:n.fx.speeds._default,null!=d.queue&&d.queue!==!0||(d.queue="fx"),d.old=d.complete,d.complete=function(){n.isFunction(d.old)&&d.old.call(this),d.queue&&n.dequeue(this,d.queue)},d},n.fn.extend({fadeTo:function(a,b,c,d){return this.filter(W).css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=n.isEmptyObject(a),f=n.speed(b,c,d),g=function(){var b=qb(this,n.extend({},a),f);(e||n._data(this,"finish"))&&b.stop(!0)};return g.finish=g,e||f.queue===!1?this.each(g):this.queue(f.queue,g)},stop:function(a,b,c){var d=function(a){var b=a.stop;delete a.stop,b(c)};return"string"!=typeof a&&(c=b,b=a,a=void 0),b&&a!==!1&&this.queue(a||"fx",[]),this.each(function(){var b=!0,e=null!=a&&a+"queueHooks",f=n.timers,g=n._data(this);if(e)g[e]&&g[e].stop&&d(g[e]);else for(e in g)g[e]&&g[e].stop&&kb.test(e)&&d(g[e]);for(e=f.length;e--;)f[e].elem!==this||null!=a&&f[e].queue!==a||(f[e].anim.stop(c),b=!1,f.splice(e,1));!b&&c||n.dequeue(this,a)})},finish:function(a){return a!==!1&&(a=a||"fx"),this.each(function(){var b,c=n._data(this),d=c[a+"queue"],e=c[a+"queueHooks"],f=n.timers,g=d?d.length:0;for(c.finish=!0,n.queue(this,a,[]),e&&e.stop&&e.stop.call(this,!0),b=f.length;b--;)f[b].elem===this&&f[b].queue===a&&(f[b].anim.stop(!0),f.splice(b,1));for(b=0;g>b;b++)d[b]&&d[b].finish&&d[b].finish.call(this);delete c.finish})}}),n.each(["toggle","show","hide"],function(a,b){var c=n.fn[b];n.fn[b]=function(a,d,e){return null==a||"boolean"==typeof a?c.apply(this,arguments):this.animate(mb(b,!0),a,d,e)}}),n.each({slideDown:mb("show"),slideUp:mb("hide"),slideToggle:mb("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){n.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),n.timers=[],n.fx.tick=function(){var a,b=n.timers,c=0;for(hb=n.now();c<b.length;c++)a=b[c],a()||b[c]!==a||b.splice(c--,1);b.length||n.fx.stop(),hb=void 0},n.fx.timer=function(a){n.timers.push(a),a()?n.fx.start():n.timers.pop()},n.fx.interval=13,n.fx.start=function(){ib||(ib=a.setInterval(n.fx.tick,n.fx.interval))},n.fx.stop=function(){a.clearInterval(ib),ib=null},n.fx.speeds={slow:600,fast:200,_default:400},n.fn.delay=function(b,c){return b=n.fx?n.fx.speeds[b]||b:b,c=c||"fx",this.queue(c,function(c,d){var e=a.setTimeout(c,b);d.stop=function(){a.clearTimeout(e)}})},function(){var a,b=d.createElement("input"),c=d.createElement("div"),e=d.createElement("select"),f=e.appendChild(d.createElement("option"));c=d.createElement("div"),c.setAttribute("className","t"),c.innerHTML=" <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",a=c.getElementsByTagName("a")[0],b.setAttribute("type","checkbox"),c.appendChild(b),a=c.getElementsByTagName("a")[0],a.style.cssText="top:1px",l.getSetAttribute="t"!==c.className,l.style=/top/.test(a.getAttribute("style")),l.hrefNormalized="/a"===a.getAttribute("href"),l.checkOn=!!b.value,l.optSelected=f.selected,l.enctype=!!d.createElement("form").enctype,e.disabled=!0,l.optDisabled=!f.disabled,b=d.createElement("input"),b.setAttribute("value",""),l.input=""===b.getAttribute("value"),b.value="t",b.setAttribute("type","radio"),l.radioValue="t"===b.value}();var rb=/\r/g,sb=/[\x20\t\r\n\f]+/g;n.fn.extend({val:function(a){var b,c,d,e=this[0];{if(arguments.length)return d=n.isFunction(a),this.each(function(c){var e;1===this.nodeType&&(e=d?a.call(this,c,n(this).val()):a,null==e?e="":"number"==typeof e?e+="":n.isArray(e)&&(e=n.map(e,function(a){return null==a?"":a+""})),b=n.valHooks[this.type]||n.valHooks[this.nodeName.toLowerCase()],b&&"set"in b&&void 0!==b.set(this,e,"value")||(this.value=e))});if(e)return b=n.valHooks[e.type]||n.valHooks[e.nodeName.toLowerCase()],b&&"get"in b&&void 0!==(c=b.get(e,"value"))?c:(c=e.value,"string"==typeof c?c.replace(rb,""):null==c?"":c)}}}),n.extend({valHooks:{option:{get:function(a){var b=n.find.attr(a,"value");return null!=b?b:n.trim(n.text(a)).replace(sb," ")}},select:{get:function(a){for(var b,c,d=a.options,e=a.selectedIndex,f="select-one"===a.type||0>e,g=f?null:[],h=f?e+1:d.length,i=0>e?h:f?e:0;h>i;i++)if(c=d[i],(c.selected||i===e)&&(l.optDisabled?!c.disabled:null===c.getAttribute("disabled"))&&(!c.parentNode.disabled||!n.nodeName(c.parentNode,"optgroup"))){if(b=n(c).val(),f)return b;g.push(b)}return g},set:function(a,b){var c,d,e=a.options,f=n.makeArray(b),g=e.length;while(g--)if(d=e[g],n.inArray(n.valHooks.option.get(d),f)>-1)try{d.selected=c=!0}catch(h){d.scrollHeight}else d.selected=!1;return c||(a.selectedIndex=-1),e}}}}),n.each(["radio","checkbox"],function(){n.valHooks[this]={set:function(a,b){return n.isArray(b)?a.checked=n.inArray(n(a).val(),b)>-1:void 0}},l.checkOn||(n.valHooks[this].get=function(a){return null===a.getAttribute("value")?"on":a.value})});var tb,ub,vb=n.expr.attrHandle,wb=/^(?:checked|selected)$/i,xb=l.getSetAttribute,yb=l.input;n.fn.extend({attr:function(a,b){return Y(this,n.attr,a,b,arguments.length>1)},removeAttr:function(a){return this.each(function(){n.removeAttr(this,a)})}}),n.extend({attr:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return"undefined"==typeof a.getAttribute?n.prop(a,b,c):(1===f&&n.isXMLDoc(a)||(b=b.toLowerCase(),e=n.attrHooks[b]||(n.expr.match.bool.test(b)?ub:tb)),void 0!==c?null===c?void n.removeAttr(a,b):e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:(a.setAttribute(b,c+""),c):e&&"get"in e&&null!==(d=e.get(a,b))?d:(d=n.find.attr(a,b),null==d?void 0:d))},attrHooks:{type:{set:function(a,b){if(!l.radioValue&&"radio"===b&&n.nodeName(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}},removeAttr:function(a,b){var c,d,e=0,f=b&&b.match(G);if(f&&1===a.nodeType)while(c=f[e++])d=n.propFix[c]||c,n.expr.match.bool.test(c)?yb&&xb||!wb.test(c)?a[d]=!1:a[n.camelCase("default-"+c)]=a[d]=!1:n.attr(a,c,""),a.removeAttribute(xb?c:d)}}),ub={set:function(a,b,c){return b===!1?n.removeAttr(a,c):yb&&xb||!wb.test(c)?a.setAttribute(!xb&&n.propFix[c]||c,c):a[n.camelCase("default-"+c)]=a[c]=!0,c}},n.each(n.expr.match.bool.source.match(/\w+/g),function(a,b){var c=vb[b]||n.find.attr;yb&&xb||!wb.test(b)?vb[b]=function(a,b,d){var e,f;return d||(f=vb[b],vb[b]=e,e=null!=c(a,b,d)?b.toLowerCase():null,vb[b]=f),e}:vb[b]=function(a,b,c){return c?void 0:a[n.camelCase("default-"+b)]?b.toLowerCase():null}}),yb&&xb||(n.attrHooks.value={set:function(a,b,c){return n.nodeName(a,"input")?void(a.defaultValue=b):tb&&tb.set(a,b,c)}}),xb||(tb={set:function(a,b,c){var d=a.getAttributeNode(c);return d||a.setAttributeNode(d=a.ownerDocument.createAttribute(c)),d.value=b+="","value"===c||b===a.getAttribute(c)?b:void 0}},vb.id=vb.name=vb.coords=function(a,b,c){var d;return c?void 0:(d=a.getAttributeNode(b))&&""!==d.value?d.value:null},n.valHooks.button={get:function(a,b){var c=a.getAttributeNode(b);return c&&c.specified?c.value:void 0},set:tb.set},n.attrHooks.contenteditable={set:function(a,b,c){tb.set(a,""===b?!1:b,c)}},n.each(["width","height"],function(a,b){n.attrHooks[b]={set:function(a,c){return""===c?(a.setAttribute(b,"auto"),c):void 0}}})),l.style||(n.attrHooks.style={get:function(a){return a.style.cssText||void 0},set:function(a,b){return a.style.cssText=b+""}});var zb=/^(?:input|select|textarea|button|object)$/i,Ab=/^(?:a|area)$/i;n.fn.extend({prop:function(a,b){return Y(this,n.prop,a,b,arguments.length>1)},removeProp:function(a){return a=n.propFix[a]||a,this.each(function(){try{this[a]=void 0,delete this[a]}catch(b){}})}}),n.extend({prop:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return 1===f&&n.isXMLDoc(a)||(b=n.propFix[b]||b,e=n.propHooks[b]),void 0!==c?e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:a[b]=c:e&&"get"in e&&null!==(d=e.get(a,b))?d:a[b]},propHooks:{tabIndex:{get:function(a){var b=n.find.attr(a,"tabindex");return b?parseInt(b,10):zb.test(a.nodeName)||Ab.test(a.nodeName)&&a.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),l.hrefNormalized||n.each(["href","src"],function(a,b){n.propHooks[b]={get:function(a){return a.getAttribute(b,4)}}}),l.optSelected||(n.propHooks.selected={get:function(a){var b=a.parentNode;return b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex),null},set:function(a){var b=a.parentNode;b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex)}}),n.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){n.propFix[this.toLowerCase()]=this}),l.enctype||(n.propFix.enctype="encoding");var Bb=/[\t\r\n\f]/g;function Cb(a){return n.attr(a,"class")||""}n.fn.extend({addClass:function(a){var b,c,d,e,f,g,h,i=0;if(n.isFunction(a))return this.each(function(b){n(this).addClass(a.call(this,b,Cb(this)))});if("string"==typeof a&&a){b=a.match(G)||[];while(c=this[i++])if(e=Cb(c),d=1===c.nodeType&&(" "+e+" ").replace(Bb," ")){g=0;while(f=b[g++])d.indexOf(" "+f+" ")<0&&(d+=f+" ");h=n.trim(d),e!==h&&n.attr(c,"class",h)}}return this},removeClass:function(a){var b,c,d,e,f,g,h,i=0;if(n.isFunction(a))return this.each(function(b){n(this).removeClass(a.call(this,b,Cb(this)))});if(!arguments.length)return this.attr("class","");if("string"==typeof a&&a){b=a.match(G)||[];while(c=this[i++])if(e=Cb(c),d=1===c.nodeType&&(" "+e+" ").replace(Bb," ")){g=0;while(f=b[g++])while(d.indexOf(" "+f+" ")>-1)d=d.replace(" "+f+" "," ");h=n.trim(d),e!==h&&n.attr(c,"class",h)}}return this},toggleClass:function(a,b){var c=typeof a;return"boolean"==typeof b&&"string"===c?b?this.addClass(a):this.removeClass(a):n.isFunction(a)?this.each(function(c){n(this).toggleClass(a.call(this,c,Cb(this),b),b)}):this.each(function(){var b,d,e,f;if("string"===c){d=0,e=n(this),f=a.match(G)||[];while(b=f[d++])e.hasClass(b)?e.removeClass(b):e.addClass(b)}else void 0!==a&&"boolean"!==c||(b=Cb(this),b&&n._data(this,"__className__",b),n.attr(this,"class",b||a===!1?"":n._data(this,"__className__")||""))})},hasClass:function(a){var b,c,d=0;b=" "+a+" ";while(c=this[d++])if(1===c.nodeType&&(" "+Cb(c)+" ").replace(Bb," ").indexOf(b)>-1)return!0;return!1}}),n.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(a,b){n.fn[b]=function(a,c){return arguments.length>0?this.on(b,null,a,c):this.trigger(b)}}),n.fn.extend({hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}});var Db=a.location,Eb=n.now(),Fb=/\?/,Gb=/(,)|(\[|{)|(}|])|"(?:[^"\\\r\n]|\\["\\\/bfnrt]|\\u[\da-fA-F]{4})*"\s*:?|true|false|null|-?(?!0\d)\d+(?:\.\d+|)(?:[eE][+-]?\d+|)/g;n.parseJSON=function(b){if(a.JSON&&a.JSON.parse)return a.JSON.parse(b+"");var c,d=null,e=n.trim(b+"");return e&&!n.trim(e.replace(Gb,function(a,b,e,f){return c&&b&&(d=0),0===d?a:(c=e||b,d+=!f-!e,"")}))?Function("return "+e)():n.error("Invalid JSON: "+b)},n.parseXML=function(b){var c,d;if(!b||"string"!=typeof b)return null;try{a.DOMParser?(d=new a.DOMParser,c=d.parseFromString(b,"text/xml")):(c=new a.ActiveXObject("Microsoft.XMLDOM"),c.async="false",c.loadXML(b))}catch(e){c=void 0}return c&&c.documentElement&&!c.getElementsByTagName("parsererror").length||n.error("Invalid XML: "+b),c};var Hb=/#.*$/,Ib=/([?&])_=[^&]*/,Jb=/^(.*?):[ \t]*([^\r\n]*)\r?$/gm,Kb=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Lb=/^(?:GET|HEAD)$/,Mb=/^\/\//,Nb=/^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/,Ob={},Pb={},Qb="*/".concat("*"),Rb=Db.href,Sb=Nb.exec(Rb.toLowerCase())||[];function Tb(a){return function(b,c){"string"!=typeof b&&(c=b,b="*");var d,e=0,f=b.toLowerCase().match(G)||[];if(n.isFunction(c))while(d=f[e++])"+"===d.charAt(0)?(d=d.slice(1)||"*",(a[d]=a[d]||[]).unshift(c)):(a[d]=a[d]||[]).push(c)}}function Ub(a,b,c,d){var e={},f=a===Pb;function g(h){var i;return e[h]=!0,n.each(a[h]||[],function(a,h){var j=h(b,c,d);return"string"!=typeof j||f||e[j]?f?!(i=j):void 0:(b.dataTypes.unshift(j),g(j),!1)}),i}return g(b.dataTypes[0])||!e["*"]&&g("*")}function Vb(a,b){var c,d,e=n.ajaxSettings.flatOptions||{};for(d in b)void 0!==b[d]&&((e[d]?a:c||(c={}))[d]=b[d]);return c&&n.extend(!0,a,c),a}function Wb(a,b,c){var d,e,f,g,h=a.contents,i=a.dataTypes;while("*"===i[0])i.shift(),void 0===e&&(e=a.mimeType||b.getResponseHeader("Content-Type"));if(e)for(g in h)if(h[g]&&h[g].test(e)){i.unshift(g);break}if(i[0]in c)f=i[0];else{for(g in c){if(!i[0]||a.converters[g+" "+i[0]]){f=g;break}d||(d=g)}f=f||d}return f?(f!==i[0]&&i.unshift(f),c[f]):void 0}function Xb(a,b,c,d){var e,f,g,h,i,j={},k=a.dataTypes.slice();if(k[1])for(g in a.converters)j[g.toLowerCase()]=a.converters[g];f=k.shift();while(f)if(a.responseFields[f]&&(c[a.responseFields[f]]=b),!i&&d&&a.dataFilter&&(b=a.dataFilter(b,a.dataType)),i=f,f=k.shift())if("*"===f)f=i;else if("*"!==i&&i!==f){if(g=j[i+" "+f]||j["* "+f],!g)for(e in j)if(h=e.split(" "),h[1]===f&&(g=j[i+" "+h[0]]||j["* "+h[0]])){g===!0?g=j[e]:j[e]!==!0&&(f=h[0],k.unshift(h[1]));break}if(g!==!0)if(g&&a["throws"])b=g(b);else try{b=g(b)}catch(l){return{state:"parsererror",error:g?l:"No conversion from "+i+" to "+f}}}return{state:"success",data:b}}n.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Rb,type:"GET",isLocal:Kb.test(Sb[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Qb,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":n.parseJSON,"text xml":n.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(a,b){return b?Vb(Vb(a,n.ajaxSettings),b):Vb(n.ajaxSettings,a)},ajaxPrefilter:Tb(Ob),ajaxTransport:Tb(Pb),ajax:function(b,c){"object"==typeof b&&(c=b,b=void 0),c=c||{};var d,e,f,g,h,i,j,k,l=n.ajaxSetup({},c),m=l.context||l,o=l.context&&(m.nodeType||m.jquery)?n(m):n.event,p=n.Deferred(),q=n.Callbacks("once memory"),r=l.statusCode||{},s={},t={},u=0,v="canceled",w={readyState:0,getResponseHeader:function(a){var b;if(2===u){if(!k){k={};while(b=Jb.exec(g))k[b[1].toLowerCase()]=b[2]}b=k[a.toLowerCase()]}return null==b?null:b},getAllResponseHeaders:function(){return 2===u?g:null},setRequestHeader:function(a,b){var c=a.toLowerCase();return u||(a=t[c]=t[c]||a,s[a]=b),this},overrideMimeType:function(a){return u||(l.mimeType=a),this},statusCode:function(a){var b;if(a)if(2>u)for(b in a)r[b]=[r[b],a[b]];else w.always(a[w.status]);return this},abort:function(a){var b=a||v;return j&&j.abort(b),y(0,b),this}};if(p.promise(w).complete=q.add,w.success=w.done,w.error=w.fail,l.url=((b||l.url||Rb)+"").replace(Hb,"").replace(Mb,Sb[1]+"//"),l.type=c.method||c.type||l.method||l.type,l.dataTypes=n.trim(l.dataType||"*").toLowerCase().match(G)||[""],null==l.crossDomain&&(d=Nb.exec(l.url.toLowerCase()),l.crossDomain=!(!d||d[1]===Sb[1]&&d[2]===Sb[2]&&(d[3]||("http:"===d[1]?"80":"443"))===(Sb[3]||("http:"===Sb[1]?"80":"443")))),l.data&&l.processData&&"string"!=typeof l.data&&(l.data=n.param(l.data,l.traditional)),Ub(Ob,l,c,w),2===u)return w;i=n.event&&l.global,i&&0===n.active++&&n.event.trigger("ajaxStart"),l.type=l.type.toUpperCase(),l.hasContent=!Lb.test(l.type),f=l.url,l.hasContent||(l.data&&(f=l.url+=(Fb.test(f)?"&":"?")+l.data,delete l.data),l.cache===!1&&(l.url=Ib.test(f)?f.replace(Ib,"$1_="+Eb++):f+(Fb.test(f)?"&":"?")+"_="+Eb++)),l.ifModified&&(n.lastModified[f]&&w.setRequestHeader("If-Modified-Since",n.lastModified[f]),n.etag[f]&&w.setRequestHeader("If-None-Match",n.etag[f])),(l.data&&l.hasContent&&l.contentType!==!1||c.contentType)&&w.setRequestHeader("Content-Type",l.contentType),w.setRequestHeader("Accept",l.dataTypes[0]&&l.accepts[l.dataTypes[0]]?l.accepts[l.dataTypes[0]]+("*"!==l.dataTypes[0]?", "+Qb+"; q=0.01":""):l.accepts["*"]);for(e in l.headers)w.setRequestHeader(e,l.headers[e]);if(l.beforeSend&&(l.beforeSend.call(m,w,l)===!1||2===u))return w.abort();v="abort";for(e in{success:1,error:1,complete:1})w[e](l[e]);if(j=Ub(Pb,l,c,w)){if(w.readyState=1,i&&o.trigger("ajaxSend",[w,l]),2===u)return w;l.async&&l.timeout>0&&(h=a.setTimeout(function(){w.abort("timeout")},l.timeout));try{u=1,j.send(s,y)}catch(x){if(!(2>u))throw x;y(-1,x)}}else y(-1,"No Transport");function y(b,c,d,e){var k,s,t,v,x,y=c;2!==u&&(u=2,h&&a.clearTimeout(h),j=void 0,g=e||"",w.readyState=b>0?4:0,k=b>=200&&300>b||304===b,d&&(v=Wb(l,w,d)),v=Xb(l,v,w,k),k?(l.ifModified&&(x=w.getResponseHeader("Last-Modified"),x&&(n.lastModified[f]=x),x=w.getResponseHeader("etag"),x&&(n.etag[f]=x)),204===b||"HEAD"===l.type?y="nocontent":304===b?y="notmodified":(y=v.state,s=v.data,t=v.error,k=!t)):(t=y,!b&&y||(y="error",0>b&&(b=0))),w.status=b,w.statusText=(c||y)+"",k?p.resolveWith(m,[s,y,w]):p.rejectWith(m,[w,y,t]),w.statusCode(r),r=void 0,i&&o.trigger(k?"ajaxSuccess":"ajaxError",[w,l,k?s:t]),q.fireWith(m,[w,y]),i&&(o.trigger("ajaxComplete",[w,l]),--n.active||n.event.trigger("ajaxStop")))}return w},getJSON:function(a,b,c){return n.get(a,b,c,"json")},getScript:function(a,b){return n.get(a,void 0,b,"script")}}),n.each(["get","post"],function(a,b){n[b]=function(a,c,d,e){return n.isFunction(c)&&(e=e||d,d=c,c=void 0),n.ajax(n.extend({url:a,type:b,dataType:e,data:c,success:d},n.isPlainObject(a)&&a))}}),n._evalUrl=function(a){return n.ajax({url:a,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,"throws":!0})},n.fn.extend({wrapAll:function(a){if(n.isFunction(a))return this.each(function(b){n(this).wrapAll(a.call(this,b))});if(this[0]){var b=n(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&1===a.firstChild.nodeType)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){return n.isFunction(a)?this.each(function(b){n(this).wrapInner(a.call(this,b))}):this.each(function(){var b=n(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=n.isFunction(a);return this.each(function(c){n(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){n.nodeName(this,"body")||n(this).replaceWith(this.childNodes)}).end()}});function Yb(a){return a.style&&a.style.display||n.css(a,"display")}function Zb(a){if(!n.contains(a.ownerDocument||d,a))return!0;while(a&&1===a.nodeType){if("none"===Yb(a)||"hidden"===a.type)return!0;a=a.parentNode}return!1}n.expr.filters.hidden=function(a){return l.reliableHiddenOffsets()?a.offsetWidth<=0&&a.offsetHeight<=0&&!a.getClientRects().length:Zb(a)},n.expr.filters.visible=function(a){return!n.expr.filters.hidden(a)};var $b=/%20/g,_b=/\[\]$/,ac=/\r?\n/g,bc=/^(?:submit|button|image|reset|file)$/i,cc=/^(?:input|select|textarea|keygen)/i;function dc(a,b,c,d){var e;if(n.isArray(b))n.each(b,function(b,e){c||_b.test(a)?d(a,e):dc(a+"["+("object"==typeof e&&null!=e?b:"")+"]",e,c,d)});else if(c||"object"!==n.type(b))d(a,b);else for(e in b)dc(a+"["+e+"]",b[e],c,d)}n.param=function(a,b){var c,d=[],e=function(a,b){b=n.isFunction(b)?b():null==b?"":b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};if(void 0===b&&(b=n.ajaxSettings&&n.ajaxSettings.traditional),n.isArray(a)||a.jquery&&!n.isPlainObject(a))n.each(a,function(){e(this.name,this.value)});else for(c in a)dc(c,a[c],b,e);return d.join("&").replace($b,"+")},n.fn.extend({serialize:function(){return n.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var a=n.prop(this,"elements");return a?n.makeArray(a):this}).filter(function(){var a=this.type;return this.name&&!n(this).is(":disabled")&&cc.test(this.nodeName)&&!bc.test(a)&&(this.checked||!Z.test(a))}).map(function(a,b){var c=n(this).val();return null==c?null:n.isArray(c)?n.map(c,function(a){return{name:b.name,value:a.replace(ac,"\r\n")}}):{name:b.name,value:c.replace(ac,"\r\n")}}).get()}}),n.ajaxSettings.xhr=void 0!==a.ActiveXObject?function(){return this.isLocal?ic():d.documentMode>8?hc():/^(get|post|head|put|delete|options)$/i.test(this.type)&&hc()||ic()}:hc;var ec=0,fc={},gc=n.ajaxSettings.xhr();a.attachEvent&&a.attachEvent("onunload",function(){for(var a in fc)fc[a](void 0,!0)}),l.cors=!!gc&&"withCredentials"in gc,gc=l.ajax=!!gc,gc&&n.ajaxTransport(function(b){if(!b.crossDomain||l.cors){var c;return{send:function(d,e){var f,g=b.xhr(),h=++ec;if(g.open(b.type,b.url,b.async,b.username,b.password),b.xhrFields)for(f in b.xhrFields)g[f]=b.xhrFields[f];b.mimeType&&g.overrideMimeType&&g.overrideMimeType(b.mimeType),b.crossDomain||d["X-Requested-With"]||(d["X-Requested-With"]="XMLHttpRequest");for(f in d)void 0!==d[f]&&g.setRequestHeader(f,d[f]+"");g.send(b.hasContent&&b.data||null),c=function(a,d){var f,i,j;if(c&&(d||4===g.readyState))if(delete fc[h],c=void 0,g.onreadystatechange=n.noop,d)4!==g.readyState&&g.abort();else{j={},f=g.status,"string"==typeof g.responseText&&(j.text=g.responseText);try{i=g.statusText}catch(k){i=""}f||!b.isLocal||b.crossDomain?1223===f&&(f=204):f=j.text?200:404}j&&e(f,i,j,g.getAllResponseHeaders())},b.async?4===g.readyState?a.setTimeout(c):g.onreadystatechange=fc[h]=c:c()},abort:function(){c&&c(void 0,!0)}}}});function hc(){try{return new a.XMLHttpRequest}catch(b){}}function ic(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}n.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(a){return n.globalEval(a),a}}}),n.ajaxPrefilter("script",function(a){void 0===a.cache&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),n.ajaxTransport("script",function(a){if(a.crossDomain){var b,c=d.head||n("head")[0]||d.documentElement;return{send:function(e,f){b=d.createElement("script"),b.async=!0,a.scriptCharset&&(b.charset=a.scriptCharset),b.src=a.url,b.onload=b.onreadystatechange=function(a,c){(c||!b.readyState||/loaded|complete/.test(b.readyState))&&(b.onload=b.onreadystatechange=null,b.parentNode&&b.parentNode.removeChild(b),b=null,c||f(200,"success"))},c.insertBefore(b,c.firstChild)},abort:function(){b&&b.onload(void 0,!0)}}}});var jc=[],kc=/(=)\?(?=&|$)|\?\?/;n.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var a=jc.pop()||n.expando+"_"+Eb++;return this[a]=!0,a}}),n.ajaxPrefilter("json jsonp",function(b,c,d){var e,f,g,h=b.jsonp!==!1&&(kc.test(b.url)?"url":"string"==typeof b.data&&0===(b.contentType||"").indexOf("application/x-www-form-urlencoded")&&kc.test(b.data)&&"data");return h||"jsonp"===b.dataTypes[0]?(e=b.jsonpCallback=n.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,h?b[h]=b[h].replace(kc,"$1"+e):b.jsonp!==!1&&(b.url+=(Fb.test(b.url)?"&":"?")+b.jsonp+"="+e),b.converters["script json"]=function(){return g||n.error(e+" was not called"),g[0]},b.dataTypes[0]="json",f=a[e],a[e]=function(){g=arguments},d.always(function(){void 0===f?n(a).removeProp(e):a[e]=f,b[e]&&(b.jsonpCallback=c.jsonpCallback,jc.push(e)),g&&n.isFunction(f)&&f(g[0]),g=f=void 0}),"script"):void 0}),n.parseHTML=function(a,b,c){if(!a||"string"!=typeof a)return null;"boolean"==typeof b&&(c=b,b=!1),b=b||d;var e=x.exec(a),f=!c&&[];return e?[b.createElement(e[1])]:(e=ja([a],b,f),f&&f.length&&n(f).remove(),n.merge([],e.childNodes))};var lc=n.fn.load;n.fn.load=function(a,b,c){if("string"!=typeof a&&lc)return lc.apply(this,arguments);var d,e,f,g=this,h=a.indexOf(" ");return h>-1&&(d=n.trim(a.slice(h,a.length)),a=a.slice(0,h)),n.isFunction(b)?(c=b,b=void 0):b&&"object"==typeof b&&(e="POST"),g.length>0&&n.ajax({url:a,type:e||"GET",dataType:"html",data:b}).done(function(a){f=arguments,g.html(d?n("<div>").append(n.parseHTML(a)).find(d):a)}).always(c&&function(a,b){g.each(function(){c.apply(this,f||[a.responseText,b,a])})}),this},n.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(a,b){n.fn[b]=function(a){return this.on(b,a)}}),n.expr.filters.animated=function(a){return n.grep(n.timers,function(b){return a===b.elem}).length};function mc(a){return n.isWindow(a)?a:9===a.nodeType?a.defaultView||a.parentWindow:!1}n.offset={setOffset:function(a,b,c){var d,e,f,g,h,i,j,k=n.css(a,"position"),l=n(a),m={};"static"===k&&(a.style.position="relative"),h=l.offset(),f=n.css(a,"top"),i=n.css(a,"left"),j=("absolute"===k||"fixed"===k)&&n.inArray("auto",[f,i])>-1,j?(d=l.position(),g=d.top,e=d.left):(g=parseFloat(f)||0,e=parseFloat(i)||0),n.isFunction(b)&&(b=b.call(a,c,n.extend({},h))),null!=b.top&&(m.top=b.top-h.top+g),null!=b.left&&(m.left=b.left-h.left+e),"using"in b?b.using.call(a,m):l.css(m)}},n.fn.extend({offset:function(a){if(arguments.length)return void 0===a?this:this.each(function(b){n.offset.setOffset(this,a,b)});var b,c,d={top:0,left:0},e=this[0],f=e&&e.ownerDocument;if(f)return b=f.documentElement,n.contains(b,e)?("undefined"!=typeof e.getBoundingClientRect&&(d=e.getBoundingClientRect()),c=mc(f),{top:d.top+(c.pageYOffset||b.scrollTop)-(b.clientTop||0),left:d.left+(c.pageXOffset||b.scrollLeft)-(b.clientLeft||0)}):d},position:function(){if(this[0]){var a,b,c={top:0,left:0},d=this[0];return"fixed"===n.css(d,"position")?b=d.getBoundingClientRect():(a=this.offsetParent(),b=this.offset(),n.nodeName(a[0],"html")||(c=a.offset()),c.top+=n.css(a[0],"borderTopWidth",!0),c.left+=n.css(a[0],"borderLeftWidth",!0)),{top:b.top-c.top-n.css(d,"marginTop",!0),left:b.left-c.left-n.css(d,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var a=this.offsetParent;while(a&&!n.nodeName(a,"html")&&"static"===n.css(a,"position"))a=a.offsetParent;return a||Qa})}}),n.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,b){var c=/Y/.test(b);n.fn[a]=function(d){return Y(this,function(a,d,e){var f=mc(a);return void 0===e?f?b in f?f[b]:f.document.documentElement[d]:a[d]:void(f?f.scrollTo(c?n(f).scrollLeft():e,c?e:n(f).scrollTop()):a[d]=e)},a,d,arguments.length,null)}}),n.each(["top","left"],function(a,b){n.cssHooks[b]=Ua(l.pixelPosition,function(a,c){return c?(c=Sa(a,b),Oa.test(c)?n(a).position()[b]+"px":c):void 0})}),n.each({Height:"height",Width:"width"},function(a,b){n.each({
padding:"inner"+a,content:b,"":"outer"+a},function(c,d){n.fn[d]=function(d,e){var f=arguments.length&&(c||"boolean"!=typeof d),g=c||(d===!0||e===!0?"margin":"border");return Y(this,function(b,c,d){var e;return n.isWindow(b)?b.document.documentElement["client"+a]:9===b.nodeType?(e=b.documentElement,Math.max(b.body["scroll"+a],e["scroll"+a],b.body["offset"+a],e["offset"+a],e["client"+a])):void 0===d?n.css(b,c,g):n.style(b,c,d,g)},b,f?d:void 0,f,null)}})}),n.fn.extend({bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return 1===arguments.length?this.off(a,"**"):this.off(b,a||"**",c)}}),n.fn.size=function(){return this.length},n.fn.andSelf=n.fn.addBack,"function"==typeof define&&define.amd&&define("jquery",[],function(){return n});var nc=a.jQuery,oc=a.$;return n.noConflict=function(b){return a.$===n&&(a.$=oc),b&&a.jQuery===n&&(a.jQuery=nc),n},b||(a.jQuery=a.$=n),n});
</script>
<style type="text/css">.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;}.leaflet-safari .leaflet-tile {image-rendering: -webkit-optimize-contrast;}.leaflet-safari .leaflet-tile-container {width: 1600px;height: 1600px;-webkit-transform-origin: 0 0;}.leaflet-marker-icon,.leaflet-marker-shadow {display: block;}.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 {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;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;}.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;}.leaflet-control {position: relative;z-index: 800;pointer-events: visiblePainted; 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;}.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;-o-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);-o-transition: -o-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;-o-transition: none;transition: none;}.leaflet-zoom-anim .leaflet-zoom-hide {visibility: hidden;}.leaflet-interactive {cursor: pointer;}.leaflet-grab {cursor: -webkit-grab;cursor: -moz-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;}.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 {pointer-events: visiblePainted; pointer-events: auto;}.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);}.leaflet-container {font: 12px/1.5 "Helvetica Neue", Arial, Helvetica, sans-serif;}.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;}.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;}.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(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAQAAAADQ4RFAAACf0lEQVR4AY1UM3gkARTePdvdoTxXKc+qTl3aU5U6b2Kbkz3Gtq3Zw6ziLGNPzrYx7946Tr6/ee/XeCQ4D3ykPtL5tHno4n0d/h3+xfuWHGLX81cn7r0iTNzjr7LrlxCqPtkbTQEHeqOrTy4Yyt3VCi/IOB0v7rVC7q45Q3Gr5K6jt+3Gl5nCoDD4MtO+j96Wu8atmhGqcNGHObuf8OM/x3AMx38+4Z2sPqzCxRFK2aF2e5Jol56XTLyggAMTL56XOMoS1W4pOyjUcGGQdZxU6qRh7B9Zp+PfpOFlqt0zyDZckPi1ttmIp03jX8gyJ8a/PG2yutpS/Vol7peZIbZcKBAEEheEIAgFbDkz5H6Zrkm2hVWGiXKiF4Ycw0RWKdtC16Q7qe3X4iOMxruonzegJzWaXFrU9utOSsLUmrc0YjeWYjCW4PDMADElpJSSQ0vQvA1Tm6/JlKnqFs1EGyZiFCqnRZTEJJJiKRYzVYzJck2Rm6P4iH+cmSY0YzimYa8l0EtTODFWhcMIMVqdsI2uiTvKmTisIDHJ3od5GILVhBCarCfVRmo4uTjkhrhzkiBV7SsaqS+TzrzM1qpGGUFt28pIySQHR6h7F6KSwGWm97ay+Z+ZqMcEjEWebE7wxCSQwpkhJqoZA5ivCdZDjJepuJ9IQjGGUmuXJdBFUygxVqVsxFsLMbDe8ZbDYVCGKxs+W080max1hFCarCfV+C1KATwcnvE9gRRuMP2prdbWGowm1KB1y+zwMMENkM755cJ2yPDtqhTI6ED1M/82yIDtC/4j4BijjeObflpO9I9MwXTCsSX8jWAFeHr05WoLTJ5G8IQVS/7vwR6ohirYM7f6HzYpogfS3R2OAAAAAElFTkSuQmCC);width: 36px;height: 36px;}.leaflet-retina .leaflet-control-layers-toggle {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAQAAABvcdNgAAAEsklEQVR4AWL4TydIhpZK1kpWOlg0w3ZXP6D2soBtG42jeI6ZmQTHzAxiTbSJsYLjO9HhP+WOmcuhciVnmHVQcJnp7DFvScowZorad/+V/fVzMdMT2g9Cv9guXGv/7pYOrXh2U+RRR3dSd9JRx6bIFc/ekqHI29JC6pJ5ZEh1yWkhkbcFeSjxgx3L2m1cb1C7bceyxA+CNjT/Ifff+/kDk2u/w/33/IeCMOSaWZ4glosqT3DNnNZQ7Cs58/3Ce5HL78iZH/vKVIaYlqzfdLu8Vi7dnvUbEza5Idt36tquZFldl6N5Z/POLof0XLK61mZCmJSWjVF9tEjUluu74IUXvgttuVIHE7YxSkaYhJZam7yiM9Pv82JYfl9nptxZaxMJE4YSPty+vF0+Y2up9d3wwijfjZbabqm/3bZ9ecKHsiGmRflnn1MW4pjHf9oLufyn2z3y1D6n8g8TZhxyzipLNPnAUpsOiuWimg52psrTZYnOWYNDTMuWBWa0tJb4rgq1UvmutpaYEbZlwU3CLJm/ayYjHW5/h7xWLn9Hh1vepDkyf7dE7MtT5LR4e7yYpHrkhOUpEfssBLq2pPhAqoSWKUkk7EDqkmK6RrCEzqDjhNDWNE+XSMvkJRDWlZTmCW0l0PHQGRZY5t1L83kT0Y3l2SItk5JAWHl2dCOBm+fPu3fo5/3v61RMCO9Jx2EEYYhb0rmNQMX/vm7gqOEJLcXTGw3CAuRNeyaPWwjR8PRqKQ1PDA/dpv+on9Shox52WFnx0KY8onHayrJzm87i5h9xGw/tfkev0jGsQizqezUKjk12hBMKJ4kbCqGPVNXudyyrShovGw5CgxsRICxF6aRmSjlBnHRzg7Gx8fKqEubI2rahQYdR1YgDIRQO7JvQyD52hoIQx0mxa0ODtW2Iozn1le2iIRdzwWewedyZzewidueOGqlsn1MvcnQpuVwLGG3/IR1hIKxCjelIDZ8ldqWz25jWAsnldEnK0Zxro19TGVb2ffIZEsIO89EIEDvKMPrzmBOQcKQ+rroye6NgRRxqR4U8EAkz0CL6uSGOm6KQCdWjvjRiSP1BPalCRS5iQYiEIvxuBMJEWgzSoHADcVMuN7IuqqTeyUPq22qFimFtxDyBBJEwNyt6TM88blFHao/6tWWhuuOM4SAK4EI4QmFHA+SEyWlp4EQoJ13cYGzMu7yszEIBOm2rVmHUNqwAIQabISNMRstmdhNWcFLsSm+0tjJH1MdRxO5Nx0WDMhCtgD6OKgZeljJqJKc9po8juskR9XN0Y1lZ3mWjLR9JCO1jRDMd0fpYC2VnvjBSEFg7wBENc0R9HFlb0xvF1+TBEpF68d+DHR6IOWVv2BECtxo46hOFUBd/APU57WIoEwJhIi2CdpyZX0m93BZicktMj1AS9dClteUFAUNUIEygRZCtik5zSxI9MubTBH1GOiHsiLJ3OCoSZkILa9PxiN0EbvhsAo8tdAf9Seepd36lGWHmtNANTv5Jd0z4QYyeo/UEJqxKRpg5LZx6btLPsOaEmdMyxYdlc8LMaJnikDlhclqmPiQnTEpLUIZEwkRagjYkEibQErwhkTAKCLQEbUgkzJQWc/0PstHHcfEdQ+UAAAAASUVORK5CYII=);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;}.leaflet-default-icon-path {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=);}.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;}.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);-o-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;}.leaflet-div-icon {background: #fff;border: 1px solid #666;}.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: "";}.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;}</style>
<script>/* @preserve
* Leaflet 1.3.1+Detached: ba6f97fff8647e724e4dfe66d2ed7da11f908989.ba6f97f, a JS library for interactive maps. https://leafletjs.com
* (c) 2010-2017 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";function i(t){var i,e,n,o;for(e=1,n=arguments.length;e<n;e++){o=arguments[e];for(i in o)t[i]=o[i]}return t}function e(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)}}function n(t){return t._leaflet_id=t._leaflet_id||++ti,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 s(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 r(){return!1}function a(t,i){var e=Math.pow(10,void 0===i?6:i);return Math.round(t*e)/e}function h(t){return t.trim?t.trim():t.replace(/^\s+|\s+$/g,"")}function u(t){return h(t).split(/\s+/)}function l(t,i){t.hasOwnProperty("options")||(t.options=t.options?Qt(t.options):{});for(var e in i)t.options[e]=i[e];return t.options}function c(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("&")}function _(t,i){return t.replace(ii,function(t,e){var n=i[e];if(void 0===n)throw new Error("No value provided for variable "+t);return"function"==typeof n&&(n=n(i)),n})}function d(t,i){for(var e=0;e<t.length;e++)if(t[e]===i)return e;return-1}function p(t){return window["webkit"+t]||window["moz"+t]||window["ms"+t]}function m(t){var i=+new Date,e=Math.max(0,16-(i-oi));return oi=i+e,window.setTimeout(t,e)}function f(t,i,n){if(!n||si!==m)return si.call(window,e(t,i));t.call(i)}function g(t){t&&ri.call(window,t)}function v(){}function y(t){if("undefined"!=typeof L&&L&&L.Mixin){t=ei(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)}}function x(t,i,e){this.x=e?Math.round(t):t,this.y=e?Math.round(i):i}function w(t,i,e){return t instanceof x?t:ei(t)?new x(t[0],t[1]):void 0===t||null===t?t:"object"==typeof t&&"x"in t&&"y"in t?new x(t.x,t.y):new x(t,i,e)}function P(t,i){if(t)for(var e=i?[t,i]:t,n=0,o=e.length;n<o;n++)this.extend(e[n])}function b(t,i){return!t||t instanceof P?t:new P(t,i)}function T(t,i){if(t)for(var e=i?[t,i]:t,n=0,o=e.length;n<o;n++)this.extend(e[n])}function z(t,i){return t instanceof T?t:new T(t,i)}function M(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 C(t,i,e){return t instanceof M?t:ei(t)&&"object"!=typeof t[0]?3===t.length?new M(t[0],t[1],t[2]):2===t.length?new M(t[0],t[1]):null:void 0===t||null===t?t:"object"==typeof t&&"lat"in t?new M(t.lat,"lng"in t?t.lng:t.lon,t.alt):void 0===i?null:new M(t,i,e)}function Z(t,i,e,n){if(ei(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 S(t,i,e,n){return new Z(t,i,e,n)}function E(t){return document.createElementNS("http://www.w3.org/2000/svg",t)}function k(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++)a=r[n],h+=(n?"L":"M")+a.x+" "+a.y;h+=i?Xi?"z":"x":""}return h||"M0 0"}function A(t){return navigator.userAgent.toLowerCase().indexOf(t)>=0}function I(t,i,e,n){return"touchstart"===i?O(t,e,n):"touchmove"===i?W(t,e,n):"touchend"===i&&H(t,e,n),this}function B(t,i,e){var n=t["_leaflet_"+i+e];return"touchstart"===i?t.removeEventListener(Qi,n,!1):"touchmove"===i?t.removeEventListener(te,n,!1):"touchend"===i&&(t.removeEventListener(ie,n,!1),t.removeEventListener(ee,n,!1)),this}function O(t,i,n){var o=e(function(t){if("mouse"!==t.pointerType&&t.MSPOINTER_TYPE_MOUSE&&t.pointerType!==t.MSPOINTER_TYPE_MOUSE){if(!(ne.indexOf(t.target.tagName)<0))return;$(t)}j(t,i)});t["_leaflet_touchstart"+n]=o,t.addEventListener(Qi,o,!1),se||(document.documentElement.addEventListener(Qi,R,!0),document.documentElement.addEventListener(te,D,!0),document.documentElement.addEventListener(ie,N,!0),document.documentElement.addEventListener(ee,N,!0),se=!0)}function R(t){oe[t.pointerId]=t,re++}function D(t){oe[t.pointerId]&&(oe[t.pointerId]=t)}function N(t){delete oe[t.pointerId],re--}function j(t,i){t.touches=[];for(var e in oe)t.touches.push(oe[e]);t.changedTouches=[t],i(t)}function W(t,i,e){var n=function(t){(t.pointerType!==t.MSPOINTER_TYPE_MOUSE&&"mouse"!==t.pointerType||0!==t.buttons)&&j(t,i)};t["_leaflet_touchmove"+e]=n,t.addEventListener(te,n,!1)}function H(t,i,e){var n=function(t){j(t,i)};t["_leaflet_touchend"+e]=n,t.addEventListener(ie,n,!1),t.addEventListener(ee,n,!1)}function F(t,i,e){function n(t){var i;if(Ui){if(!Pi||"mouse"===t.pointerType)return;i=re}else i=t.touches.length;if(!(i>1)){var e=Date.now(),n=e-(s||e);r=t.touches?t.touches[0]:t,a=n>0&&n<=h,s=e}}function o(t){if(a&&!r.cancelBubble){if(Ui){if(!Pi||"mouse"===t.pointerType)return;var e,n,o={};for(n in r)e=r[n],o[n]=e&&e.bind?e.bind(r):e;r=o}r.type="dblclick",i(r),s=null}}var s,r,a=!1,h=250;return t[ue+ae+e]=n,t[ue+he+e]=o,t[ue+"dblclick"+e]=i,t.addEventListener(ae,n,!1),t.addEventListener(he,o,!1),t.addEventListener("dblclick",i,!1),this}function U(t,i){var e=t[ue+ae+i],n=t[ue+he+i],o=t[ue+"dblclick"+i];return t.removeEventListener(ae,e,!1),t.removeEventListener(he,n,!1),Pi||t.removeEventListener("dblclick",o,!1),this}function V(t,i,e,n){if("object"==typeof i)for(var o in i)G(t,o,i[o],e);else for(var s=0,r=(i=u(i)).length;s<r;s++)G(t,i[s],e,n);return this}function q(t,i,e,n){if("object"==typeof i)for(var o in i)K(t,o,i[o],e);else if(i)for(var s=0,r=(i=u(i)).length;s<r;s++)K(t,i[s],e,n);else{for(var a in t[le])K(t,a,t[le][a]);delete t[le]}return this}function G(t,i,e,o){var s=i+n(e)+(o?"_"+n(o):"");if(t[le]&&t[le][s])return this;var r=function(i){return e.call(o||t,i||window.event)},a=r;Ui&&0===i.indexOf("touch")?I(t,i,r,s):!Vi||"dblclick"!==i||!F||Ui&&Si?"addEventListener"in t?"mousewheel"===i?t.addEventListener("onwheel"in t?"wheel":"mousewheel",r,!1):"mouseenter"===i||"mouseleave"===i?(r=function(i){i=i||window.event,ot(t,i)&&a(i)},t.addEventListener("mouseenter"===i?"mouseover":"mouseout",r,!1)):("click"===i&&Ti&&(r=function(t){st(t,a)}),t.addEventListener(i,r,!1)):"attachEvent"in t&&t.attachEvent("on"+i,r):F(t,r,s),t[le]=t[le]||{},t[le][s]=r}function K(t,i,e,o){var s=i+n(e)+(o?"_"+n(o):""),r=t[le]&&t[le][s];if(!r)return this;Ui&&0===i.indexOf("touch")?B(t,i,s):!Vi||"dblclick"!==i||!U||Ui&&Si?"removeEventListener"in t?"mousewheel"===i?t.removeEventListener("onwheel"in t?"wheel":"mousewheel",r,!1):t.removeEventListener("mouseenter"===i?"mouseover":"mouseleave"===i?"mouseout":i,r,!1):"detachEvent"in t&&t.detachEvent("on"+i,r):U(t,s),t[le][s]=null}function Y(t){return t.stopPropagation?t.stopPropagation():t.originalEvent?t.originalEvent._stopped=!0:t.cancelBubble=!0,nt(t),this}function X(t){return G(t,"mousewheel",Y),this}function J(t){return V(t,"mousedown touchstart dblclick",Y),G(t,"click",et),this}function $(t){return t.preventDefault?t.preventDefault():t.returnValue=!1,this}function Q(t){return $(t),Y(t),this}function tt(t,i){if(!i)return new x(t.clientX,t.clientY);var e=i.getBoundingClientRect(),n=e.width/i.offsetWidth||1,o=e.height/i.offsetHeight||1;return new x(t.clientX/n-e.left-i.clientLeft,t.clientY/o-e.top-i.clientTop)}function it(t){return Pi?t.wheelDeltaY/2:t.deltaY&&0===t.deltaMode?-t.deltaY/ce: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}function et(t){_e[t.type]=!0}function nt(t){var i=_e[t.type];return _e[t.type]=!1,i}function ot(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}function st(t,i){var e=t.timeStamp||t.originalEvent&&t.originalEvent.timeStamp,n=pi&&e-pi;n&&n>100&&n<500||t.target._simulatedClick&&!t._simulated?Q(t):(pi=e,i(t))}function rt(t){return"string"==typeof t?document.getElementById(t):t}function at(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 ht(t,i,e){var n=document.createElement(t);return n.className=i||"",e&&e.appendChild(n),n}function ut(t){var i=t.parentNode;i&&i.removeChild(t)}function lt(t){for(;t.firstChild;)t.removeChild(t.firstChild)}function ct(t){var i=t.parentNode;i.lastChild!==t&&i.appendChild(t)}function _t(t){var i=t.parentNode;i.firstChild!==t&&i.insertBefore(t,i.firstChild)}function dt(t,i){if(void 0!==t.classList)return t.classList.contains(i);var e=gt(t);return e.length>0&&new RegExp("(^|\\s)"+i+"(\\s|$)").test(e)}function pt(t,i){if(void 0!==t.classList)for(var e=u(i),n=0,o=e.length;n<o;n++)t.classList.add(e[n]);else if(!dt(t,i)){var s=gt(t);ft(t,(s?s+" ":"")+i)}}function mt(t,i){void 0!==t.classList?t.classList.remove(i):ft(t,h((" "+gt(t)+" ").replace(" "+i+" "," ")))}function ft(t,i){void 0===t.className.baseVal?t.className=i:t.className.baseVal=i}function gt(t){return void 0===t.className.baseVal?t.className:t.className.baseVal}function vt(t,i){"opacity"in t.style?t.style.opacity=i:"filter"in t.style&&yt(t,i)}function yt(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+")"}function xt(t){for(var i=document.documentElement.style,e=0;e<t.length;e++)if(t[e]in i)return t[e];return!1}function wt(t,i,e){var n=i||new x(0,0);t.style[pe]=(Oi?"translate("+n.x+"px,"+n.y+"px)":"translate3d("+n.x+"px,"+n.y+"px,0)")+(e?" scale("+e+")":"")}function Lt(t,i){t._leaflet_pos=i,Ni?wt(t,i):(t.style.left=i.x+"px",t.style.top=i.y+"px")}function Pt(t){return t._leaflet_pos||new x(0,0)}function bt(){V(window,"dragstart",$)}function Tt(){q(window,"dragstart",$)}function zt(t){for(;-1===t.tabIndex;)t=t.parentNode;t.style&&(Mt(),ve=t,ye=t.style.outline,t.style.outline="none",V(window,"keydown",Mt))}function Mt(){ve&&(ve.style.outline=ye,ve=void 0,ye=void 0,q(window,"keydown",Mt))}function Ct(t,i){if(!i||!t.length)return t.slice();var e=i*i;return t=kt(t,e),t=St(t,e)}function Zt(t,i,e){return Math.sqrt(Rt(t,i,e,!0))}function St(t,i){var e=t.length,n=new(typeof Uint8Array!=void 0+""?Uint8Array:Array)(e);n[0]=n[e-1]=1,Et(t,n,i,0,e-1);var o,s=[];for(o=0;o<e;o++)n[o]&&s.push(t[o]);return s}function Et(t,i,e,n,o){var s,r,a,h=0;for(r=n+1;r<=o-1;r++)(a=Rt(t[r],t[n],t[o],!0))>h&&(s=r,h=a);h>e&&(i[s]=1,Et(t,i,e,n,s),Et(t,i,e,s,o))}function kt(t,i){for(var e=[t[0]],n=1,o=0,s=t.length;n<s;n++)Ot(t[n],t[o])>i&&(e.push(t[n]),o=n);return o<s-1&&e.push(t[s-1]),e}function At(t,i,e,n,o){var s,r,a,h=n?Se:Bt(t,e),u=Bt(i,e);for(Se=u;;){if(!(h|u))return[t,i];if(h&u)return!1;a=Bt(r=It(t,i,s=h||u,e,o),e),s===h?(t=r,h=a):(i=r,u=a)}}function It(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 x(s,r,o)}function Bt(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 Ot(t,i){var e=i.x-t.x,n=i.y-t.y;return e*e+n*n}function Rt(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 u>0&&((o=((t.x-s)*a+(t.y-r)*h)/u)>1?(s=e.x,r=e.y):o>0&&(s+=a*o,r+=h*o)),a=t.x-s,h=t.y-r,n?a*a+h*h:new x(s,r)}function Dt(t){return!ei(t[0])||"object"!=typeof t[0][0]&&void 0!==t[0][0]}function Nt(t){return console.warn("Deprecated use of _flat, please use L.LineUtil.isFlat instead."),Dt(t)}function jt(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=Bt(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=It(h,a,l,i,e))._code=Bt(c,i),n.push(c)):(h._code&l&&((c=It(h,a,l,i,e))._code=Bt(c,i),n.push(c)),n.push(a));t=n}return t}function Wt(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||Ht;if(!a&&!r)return null;switch(r.type){case"Point":return e=l(a),u?u(t,e):new Xe(e);case"MultiPoint":for(o=0,s=a.length;o<s;o++)e=l(a[o]),h.push(u?u(t,e):new Xe(e));return new qe(h);case"LineString":case"MultiLineString":return n=Ft(a,"LineString"===r.type?0:1,l),new tn(n,i);case"Polygon":case"MultiPolygon":return n=Ft(a,"Polygon"===r.type?1:2,l),new en(n,i);case"GeometryCollection":for(o=0,s=r.geometries.length;o<s;o++){var c=Wt({geometry:r.geometries[o],type:"Feature",properties:t.properties},i);c&&h.push(c)}return new qe(h);default:throw new Error("Invalid GeoJSON object.")}}function Ht(t){return new M(t[1],t[0],t[2])}function Ft(t,i,e){for(var n,o=[],s=0,r=t.length;s<r;s++)n=i?Ft(t[s],i-1,e):(e||Ht)(t[s]),o.push(n);return o}function Ut(t,i){return i="number"==typeof i?i:6,void 0!==t.alt?[a(t.lng,i),a(t.lat,i),a(t.alt,i)]:[a(t.lng,i),a(t.lat,i)]}function Vt(t,i,e,n){for(var o=[],s=0,r=t.length;s<r;s++)o.push(i?Vt(t[s],i-1,e,n):Ut(t[s],n));return!i&&e&&o.push(o[0]),o}function qt(t,e){return t.feature?i({},t.feature,{geometry:e}):Gt(e)}function Gt(t){return"Feature"===t.type||"FeatureCollection"===t.type?t:{type:"Feature",properties:{},geometry:t}}function Kt(t,i){return new nn(t,i)}function Yt(t,i){return new dn(t,i)}function Xt(t){return Yi?new fn(t):null}function Jt(t){return Xi||Ji?new xn(t):null}var $t=Object.freeze;Object.freeze=function(t){return t};var Qt=Object.create||function(){function t(){}return function(i){return t.prototype=i,new t}}(),ti=0,ii=/\{ *([\w_-]+) *\}/g,ei=Array.isArray||function(t){return"[object Array]"===Object.prototype.toString.call(t)},ni="data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=",oi=0,si=window.requestAnimationFrame||p("RequestAnimationFrame")||m,ri=window.cancelAnimationFrame||p("CancelAnimationFrame")||p("CancelRequestAnimationFrame")||function(t){window.clearTimeout(t)},ai=(Object.freeze||Object)({freeze:$t,extend:i,create:Qt,bind:e,lastId:ti,stamp:n,throttle:o,wrapNum:s,falseFn:r,formatNum:a,trim:h,splitWords:u,setOptions:l,getParamString:c,template:_,isArray:ei,indexOf:d,emptyImageUrl:ni,requestFn:si,cancelFn:ri,requestAnimFrame:f,cancelAnimFrame:g});v.extend=function(t){var e=function(){this.initialize&&this.initialize.apply(this,arguments),this.callInitHooks()},n=e.__super__=this.prototype,o=Qt(n);o.constructor=e,e.prototype=o;for(var s in this)this.hasOwnProperty(s)&&"prototype"!==s&&"__super__"!==s&&(e[s]=this[s]);return t.statics&&(i(e,t.statics),delete t.statics),t.includes&&(y(t.includes),i.apply(null,[o].concat(t.includes)),delete t.includes),o.options&&(t.options=i(Qt(o.options),t.options)),i(o,t),o._initHooks=[],o.callInitHooks=function(){if(!this._initHooksCalled){n.callInitHooks&&n.callInitHooks.call(this),this._initHooksCalled=!0;for(var t=0,i=o._initHooks.length;t<i;t++)o._initHooks[t].call(this)}},e},v.include=function(t){return i(this.prototype,t),this},v.mergeOptions=function(t){return i(this.prototype.options,t),this},v.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 hi={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=u(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=u(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 a=n[o];if(a.ctx===e&&a.fn===i)return a.fn=r,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=r;delete this._events[t]}},fire:function(t,e,n){if(!this.listens(t,n))return this;var o=i({},e,{type:t,target:this,sourceTarget:e&&e.sourceTarget||this});if(this._events){var s=this._events[t];if(s){this._firingCount=this._firingCount+1||1;for(var r=0,a=s.length;r<a;r++){var h=s[r];h.fn.call(h.ctx||this,o)}this._firingCount--}}return n&&this._propagateEvent(o),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,n){if("object"==typeof t){for(var o in t)this.once(o,t[o],i);return this}var s=e(function(){this.off(t,i,n).off(t,s,n)},this);return this.on(t,i,n).on(t,s,n)},addEventParent:function(t){return this._eventParents=this._eventParents||{},this._eventParents[n(t)]=t,this},removeEventParent:function(t){return this._eventParents&&delete this._eventParents[n(t)],this},_propagateEvent:function(t){for(var e in this._eventParents)this._eventParents[e].fire(t.type,i({layer:t.target,propagatedFrom:t.target},t),!0)}};hi.addEventListener=hi.on,hi.removeEventListener=hi.clearAllEventListeners=hi.off,hi.addOneTimeEventListener=hi.once,hi.fireEvent=hi.fire,hi.hasEventListeners=hi.listens;var ui=v.extend(hi),li=Math.trunc||function(t){return t>0?Math.floor(t):Math.ceil(t)};x.prototype={clone:function(){return new x(this.x,this.y)},add:function(t){return this.clone()._add(w(t))},_add:function(t){return this.x+=t.x,this.y+=t.y,this},subtract:function(t){return this.clone()._subtract(w(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 x(this.x*t.x,this.y*t.y)},unscaleBy:function(t){return new x(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=li(this.x),this.y=li(this.y),this},distanceTo:function(t){var i=(t=w(t)).x-this.x,e=t.y-this.y;return Math.sqrt(i*i+e*e)},equals:function(t){return(t=w(t)).x===this.x&&t.y===this.y},contains:function(t){return t=w(t),Math.abs(t.x)<=Math.abs(this.x)&&Math.abs(t.y)<=Math.abs(this.y)},toString:function(){return"Point("+a(this.x)+", "+a(this.y)+")"}},P.prototype={extend:function(t){return t=w(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 x((this.min.x+this.max.x)/2,(this.min.y+this.max.y)/2,t)},getBottomLeft:function(){return new x(this.min.x,this.max.y)},getTopRight:function(){return new x(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 x?w(t):b(t))instanceof P?(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=b(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=b(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)}},T.prototype={extend:function(t){var i,e,n=this._southWest,o=this._northEast;if(t instanceof M)i=t,e=t;else{if(!(t instanceof T))return t?this.extend(C(t)||z(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 M(i.lat,i.lng),this._northEast=new M(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 T(new M(i.lat-n,i.lng-o),new M(e.lat+n,e.lng+o))},getCenter:function(){return new M((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 M(this.getNorth(),this.getWest())},getSouthEast:function(){return new M(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 M||"lat"in t?C(t):z(t);var i,e,n=this._southWest,o=this._northEast;return t instanceof T?(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=z(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=z(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=z(t),this._southWest.equals(t.getSouthWest(),i)&&this._northEast.equals(t.getNorthEast(),i))},isValid:function(){return!(!this._southWest||!this._northEast)}},M.prototype={equals:function(t,i){return!!t&&(t=C(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("+a(this.lat,t)+", "+a(this.lng,t)+")"},distanceTo:function(t){return _i.distance(this,C(t))},wrap:function(){return _i.wrapLatLng(this)},toBounds:function(t){var i=180*t/40075017,e=i/Math.cos(Math.PI/180*this.lat);return z([this.lat-i,this.lng-e],[this.lat+i,this.lng+e])},clone:function(){return new M(this.lat,this.lng,this.alt)}};var ci={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 P(this.transformation.transform(i.min,e),this.transformation.transform(i.max,e))},infinite:!1,wrapLatLng:function(t){var i=this.wrapLng?s(t.lng,this.wrapLng,!0):t.lng;return new M(this.wrapLat?s(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 T(new M(s.lat-n,s.lng-o),new M(r.lat-n,r.lng-o))}},_i=i({},ci,{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}}),di={R:6378137,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 x(this.R*t.lng*i,this.R*Math.log((1+o)/(1-o))/2)},unproject:function(t){var i=180/Math.PI;return new M((2*Math.atan(Math.exp(t.y/this.R))-Math.PI/2)*i,t.x*i/this.R)},bounds:function(){var t=6378137*Math.PI;return new P([-t,-t],[t,t])}()};Z.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 x((t.x/i-this._b)/this._a,(t.y/i-this._d)/this._c)}};var pi,mi,fi,gi,vi=i({},_i,{code:"EPSG:3857",projection:di,transformation:function(){var t=.5/(Math.PI*di.R);return S(t,.5,-t,.5)}()}),yi=i({},vi,{code:"EPSG:900913"}),xi=document.documentElement.style,wi="ActiveXObject"in window,Li=wi&&!document.addEventListener,Pi="msLaunchUri"in navigator&&!("documentMode"in document),bi=A("webkit"),Ti=A("android"),zi=A("android 2")||A("android 3"),Mi=parseInt(/WebKit\/([0-9]+)|$/.exec(navigator.userAgent)[1],10),Ci=Ti&&A("Google")&&Mi<537&&!("AudioNode"in window),Zi=!!window.opera,Si=A("chrome"),Ei=A("gecko")&&!bi&&!Zi&&!wi,ki=!Si&&A("safari"),Ai=A("phantom"),Ii="OTransition"in xi,Bi=0===navigator.platform.indexOf("Win"),Oi=wi&&"transition"in xi,Ri="WebKitCSSMatrix"in window&&"m11"in new window.WebKitCSSMatrix&&!zi,Di="MozPerspective"in xi,Ni=!window.L_DISABLE_3D&&(Oi||Ri||Di)&&!Ii&&!Ai,ji="undefined"!=typeof orientation||A("mobile"),Wi=ji&&bi,Hi=ji&&Ri,Fi=!window.PointerEvent&&window.MSPointerEvent,Ui=!(!window.PointerEvent&&!Fi),Vi=!window.L_NO_TOUCH&&(Ui||"ontouchstart"in window||window.DocumentTouch&&document instanceof window.DocumentTouch),qi=ji&&Zi,Gi=ji&&Ei,Ki=(window.devicePixelRatio||window.screen.deviceXDPI/window.screen.logicalXDPI)>1,Yi=!!document.createElement("canvas").getContext,Xi=!(!document.createElementNS||!E("svg").createSVGRect),Ji=!Xi&&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}}(),$i=(Object.freeze||Object)({ie:wi,ielt9:Li,edge:Pi,webkit:bi,android:Ti,android23:zi,androidStock:Ci,opera:Zi,chrome:Si,gecko:Ei,safari:ki,phantom:Ai,opera12:Ii,win:Bi,ie3d:Oi,webkit3d:Ri,gecko3d:Di,any3d:Ni,mobile:ji,mobileWebkit:Wi,mobileWebkit3d:Hi,msPointer:Fi,pointer:Ui,touch:Vi,mobileOpera:qi,mobileGecko:Gi,retina:Ki,canvas:Yi,svg:Xi,vml:Ji}),Qi=Fi?"MSPointerDown":"pointerdown",te=Fi?"MSPointerMove":"pointermove",ie=Fi?"MSPointerUp":"pointerup",ee=Fi?"MSPointerCancel":"pointercancel",ne=["INPUT","SELECT","OPTION"],oe={},se=!1,re=0,ae=Fi?"MSPointerDown":Ui?"pointerdown":"touchstart",he=Fi?"MSPointerUp":Ui?"pointerup":"touchend",ue="_leaflet_",le="_leaflet_events",ce=Bi&&Si?2*window.devicePixelRatio:Ei?window.devicePixelRatio:1,_e={},de=(Object.freeze||Object)({on:V,off:q,stopPropagation:Y,disableScrollPropagation:X,disableClickPropagation:J,preventDefault:$,stop:Q,getMousePosition:tt,getWheelDelta:it,fakeStop:et,skipped:nt,isExternalTarget:ot,addListener:V,removeListener:q}),pe=xt(["transform","WebkitTransform","OTransform","MozTransform","msTransform"]),me=xt(["webkitTransition","transition","OTransition","MozTransition","msTransition"]),fe="webkitTransition"===me||"OTransition"===me?me+"End":"transitionend";if("onselectstart"in document)mi=function(){V(window,"selectstart",$)},fi=function(){q(window,"selectstart",$)};else{var ge=xt(["userSelect","WebkitUserSelect","OUserSelect","MozUserSelect","msUserSelect"]);mi=function(){if(ge){var t=document.documentElement.style;gi=t[ge],t[ge]="none"}},fi=function(){ge&&(document.documentElement.style[ge]=gi,gi=void 0)}}var ve,ye,xe=(Object.freeze||Object)({TRANSFORM:pe,TRANSITION:me,TRANSITION_END:fe,get:rt,getStyle:at,create:ht,remove:ut,empty:lt,toFront:ct,toBack:_t,hasClass:dt,addClass:pt,removeClass:mt,setClass:ft,getClass:gt,setOpacity:vt,testProp:xt,setTransform:wt,setPosition:Lt,getPosition:Pt,disableTextSelection:mi,enableTextSelection:fi,disableImageDrag:bt,enableImageDrag:Tt,preventOutline:zt,restoreOutline:Mt}),we=ui.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=Pt(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=f(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(),Lt(this._el,e),this.fire("step")},_complete:function(){g(this._animId),this._inProgress=!1,this.fire("end")},_easeOut:function(t){return 1-Math.pow(1-t,this._easeOutPower)}}),Le=ui.extend({options:{crs:vi,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=l(this,i),this._initContainer(t),this._initLayout(),this._onResize=e(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(C(i.center),i.zoom,{reset:!0}),this._handlers=[],this._layers={},this._zoomBoundLayers={},this._sizeChanged=!0,this.callInitHooks(),this._zoomAnimated=me&&Ni&&!qi&&this.options.zoomAnimation,this._zoomAnimated&&(this._createAnimProxy(),V(this._proxy,fe,this._catchTransitionEnd,this)),this._addLayers(this.options.layers)},setView:function(t,e,n){return e=void 0===e?this._zoom:this._limitZoom(e),t=this._limitCenter(C(t),e,this.options.maxBounds),n=n||{},this._stop(),this._loaded&&!n.reset&&!0!==n&&(void 0!==n.animate&&(n.zoom=i({animate:n.animate},n.zoom),n.pan=i({animate:n.animate,duration:n.duration},n.pan)),this._zoom!==e?this._tryAnimatedZoom&&this._tryAnimatedZoom(t,e,n.zoom):this._tryAnimatedPan(t,n.pan))?(clearTimeout(this._sizeTimer),this):(this._resetView(t,e),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||(Ni?this.options.zoomDelta:1),this.setZoom(this._zoom+t,i)},zoomOut:function(t,i){return t=t||(Ni?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 x?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():z(t);var e=w(i.paddingTopLeft||i.padding||[0,0]),n=w(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=z(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(t=w(t).round(),i=i||{},!t.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 we,this._panAnim.on({step:this._onPanTransitionStep,end:this._onPanTransitionEnd},this)),i.noMoveStart||this.fire("movestart"),!1!==i.animate){pt(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(t,i,e){function n(t){var i=(g*g-m*m+(t?-1:1)*x*x*v*v)/(2*(t?g:m)*x*v),e=Math.sqrt(i*i+1)-i;return e<1e-9?-18:Math.log(e)}function o(t){return(Math.exp(t)-Math.exp(-t))/2}function s(t){return(Math.exp(t)+Math.exp(-t))/2}function r(t){return o(t)/s(t)}function a(t){return m*(s(w)/s(w+y*t))}function h(t){return m*(s(w)*r(w+y*t)-o(w))/x}function u(t){return 1-Math.pow(1-t,1.5)}function l(){var e=(Date.now()-L)/b,n=u(e)*P;e<=1?(this._flyToFrame=f(l,this),this._move(this.unproject(c.add(_.subtract(c).multiplyBy(h(n)/v)),p),this.getScaleZoom(m/a(n),p),{flyTo:!0})):this._move(t,i)._moveEnd(!0)}if(!1===(e=e||{}).animate||!Ni)return this.setView(t,i,e);this._stop();var c=this.project(this.getCenter()),_=this.project(t),d=this.getSize(),p=this._zoom;t=C(t),i=void 0===i?p:i;var m=Math.max(d.x,d.y),g=m*this.getZoomScale(p,i),v=_.distanceTo(c)||1,y=1.42,x=y*y,w=n(0),L=Date.now(),P=(n(1)-w)/y,b=e.duration?1e3*e.duration:1e3*P*.8;return this._moveStart(!0,e.noMoveStart),l.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=z(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,z(t));return e.equals(n)||this.panTo(n,i),this._enforcingBounds=!1,this},invalidateSize:function(t){if(!this._loaded)return this;t=i({animate:!1,pan:!0},!0===t?{animate:!0}:t);var n=this.getSize();this._sizeChanged=!0,this._lastCenter=null;var o=this.getSize(),s=n.divideBy(2).round(),r=o.divideBy(2).round(),a=s.subtract(r);return a.x||a.y?(t.animate&&t.pan?this.panBy(a):(t.pan&&this._rawPanBy(a),this.fire("move"),t.debounceMoveend?(clearTimeout(this._sizeTimer),this._sizeTimer=setTimeout(e(this.fire,this,"moveend"),200)):this.fire("moveend")),this.fire("resize",{oldSize:n,newSize:o})):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=i({timeout:1e4,watch:!1},t),!("geolocation"in navigator))return this._handleGeolocationError({code:0,message:"Geolocation not supported."}),this;var n=e(this._handleGeolocationResponse,this),o=e(this._handleGeolocationError,this);return t.watch?this._locationWatchId=navigator.geolocation.watchPosition(n,o,t):navigator.geolocation.getCurrentPosition(n,o,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 M(t.coords.latitude,t.coords.longitude),e=i.toBounds(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}void 0!==this._locationWatchId&&this.stopLocate(),this._stop(),ut(this._mapPane),this._clearControlPos&&this._clearControlPos(),this._clearHandlers(),this._loaded&&this.fire("unload");var t;for(t in this._layers)this._layers[t].remove();for(t in this._panes)ut(this._panes[t]);return this._layers=[],this._panes=[],delete this._mapPane,delete this._renderer,this},createPane:function(t,i){var e=ht("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 T(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=z(t),e=w(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=b(this.project(a,n),this.project(r,n)).getSize(),l=Ni?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 x(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 P(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(C(t),i)},unproject:function(t,i){return i=void 0===i?this._zoom:i,this.options.crs.pointToLatLng(w(t),i)},layerPointToLatLng:function(t){var i=w(t).add(this.getPixelOrigin());return this.unproject(i)},latLngToLayerPoint:function(t){return this.project(C(t))._round()._subtract(this.getPixelOrigin())},wrapLatLng:function(t){return this.options.crs.wrapLatLng(C(t))},wrapLatLngBounds:function(t){return this.options.crs.wrapLatLngBounds(z(t))},distance:function(t,i){return this.options.crs.distance(C(t),C(i))},containerPointToLayerPoint:function(t){return w(t).subtract(this._getMapPanePos())},layerPointToContainerPoint:function(t){return w(t).add(this._getMapPanePos())},containerPointToLatLng:function(t){var i=this.containerPointToLayerPoint(w(t));return this.layerPointToLatLng(i)},latLngToContainerPoint:function(t){return this.layerPointToContainerPoint(this.latLngToLayerPoint(C(t)))},mouseEventToContainerPoint:function(t){return tt(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=rt(t);if(!i)throw new Error("Map container not found.");if(i._leaflet_id)throw new Error("Map container is already initialized.");V(i,"scroll",this._onScroll,this),this._containerId=n(i)},_initLayout:function(){var t=this._container;this._fadeAnimated=this.options.fadeAnimation&&Ni,pt(t,"leaflet-container"+(Vi?" leaflet-touch":"")+(Ki?" leaflet-retina":"")+(Li?" leaflet-oldie":"")+(ki?" leaflet-safari":"")+(this._fadeAnimated?" leaflet-fade-anim":""));var i=at(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),Lt(this._mapPane,new x(0,0)),this.createPane("tilePane"),this.createPane("shadowPane"),this.createPane("overlayPane"),this.createPane("markerPane"),this.createPane("tooltipPane"),this.createPane("popupPane"),this.options.markerZoomAnimation||(pt(t.markerPane,"leaflet-zoom-hide"),pt(t.shadowPane,"leaflet-zoom-hide"))},_resetView:function(t,i){Lt(this._mapPane,new x(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 g(this._flyToFrame),this._panAnim&&this._panAnim.stop(),this},_rawPanBy:function(t){Lt(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={},this._targets[n(this._container)]=this;var i=t?q:V;i(this._container,"click dblclick mousedown mouseup mouseover mouseout mousemove contextmenu keypress",this._handleDOMEvent,this),this.options.trackResize&&i(window,"resize",this._onResize,this),Ni&&this.options.transform3DLimit&&(t?this.off:this.on).call(this,"moveend",this._onMoveEnd)},_onResize:function(){g(this._resizeRequest),this._resizeRequest=f(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,o=[],s="mouseout"===i||"mouseover"===i,r=t.target||t.srcElement,a=!1;r;){if((e=this._targets[n(r)])&&("click"===i||"preclick"===i)&&!t._simulated&&this._draggableMoved(e)){a=!0;break}if(e&&e.listens(i,!0)){if(s&&!ot(r,t))break;if(o.push(e),s)break}if(r===this._container)break;r=r.parentNode}return o.length||a||s||!ot(r,t)||(o=[this]),o},_handleDOMEvent:function(t){if(this._loaded&&!nt(t)){var i=t.type;"mousedown"!==i&&"keypress"!==i||zt(t.target||t.srcElement),this._fireDOMEvent(t,i)}},_mouseEvents:["click","dblclick","mouseover","mouseout","contextmenu"],_fireDOMEvent:function(t,e,n){if("click"===t.type){var o=i({},t);o.type="preclick",this._fireDOMEvent(o,o.type,n)}if(!t._stopped&&(n=(n||[]).concat(this._findEventTargets(t,e))).length){var s=n[0];"contextmenu"===e&&s.listens(e,!0)&&$(t);var r={originalEvent:t};if("keypress"!==t.type){var a=s.getLatLng&&(!s._radius||s._radius<=10);r.containerPoint=a?this.latLngToContainerPoint(s.getLatLng()):this.mouseEventToContainerPoint(t),r.layerPoint=this.containerPointToLayerPoint(r.containerPoint),r.latlng=a?s.getLatLng():this.layerPointToLatLng(r.layerPoint)}for(var h=0;h<n.length;h++)if(n[h].fire(e,r,!0),r.originalEvent._stopped||!1===n[h].options.bubblingMouseEvents&&-1!==d(this._mouseEvents,e))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 Pt(this._mapPane)||new x(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 b([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 P(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 P(e.min.add(t),e.max.add(t));return t.add(this._getBoundsOffset(n,i))},_getBoundsOffset:function(t,i,e){var n=b(this.project(i.getNorthEast(),e),this.project(i.getSouthWest(),e)),o=n.min.subtract(t.min),s=n.max.subtract(t.max);return new x(this._rebound(o.x,-s.x),this._rebound(o.y,-s.y))},_rebound:function(t,i){return t+i>0?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=Ni?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(){mt(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=ht("div","leaflet-proxy leaflet-zoom-animated");this._panes.mapPane.appendChild(t),this.on("zoomanim",function(t){var i=pe,e=this._proxy.style[i];wt(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();wt(this._proxy,this.project(t,i),this.getZoomScale(i,1))},this),this._on("unload",this._destroyAnimProxy,this)},_destroyAnimProxy:function(){ut(this._proxy),delete this._proxy},_catchTransitionEnd:function(t){this._animatingZoom&&t.propertyName.indexOf("transform")>=0&&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))&&(f(function(){this._moveStart(!0,!1)._animateZoom(t,i,!0)},this),!0)},_animateZoom:function(t,i,n,o){this._mapPane&&(n&&(this._animatingZoom=!0,this._animateToCenter=t,this._animateToZoom=i,pt(this._mapPane,"leaflet-zoom-anim")),this.fire("zoomanim",{center:t,zoom:i,noUpdate:o}),setTimeout(e(this._onZoomTransitionEnd,this),250))},_onZoomTransitionEnd:function(){this._animatingZoom&&(this._mapPane&&mt(this._mapPane,"leaflet-zoom-anim"),this._animatingZoom=!1,this._move(this._animateToCenter,this._animateToZoom),f(function(){this._moveEnd(!0)},this))}}),Pe=v.extend({options:{position:"topright"},initialize:function(t){l(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 pt(i,"leaflet-control"),-1!==e.indexOf("bottom")?n.insertBefore(i,n.firstChild):n.appendChild(i),this},remove:function(){return this._map?(ut(this._container),this.onRemove&&this.onRemove(this._map),this._map=null,this):this},_refocusOnMap:function(t){this._map&&t&&t.screenX>0&&t.screenY>0&&this._map.getContainer().focus()}}),be=function(t){return new Pe(t)};Le.include({addControl:function(t){return t.addTo(this),this},removeControl:function(t){return t.remove(),this},_initControlPos:function(){function t(t,o){var s=e+t+" "+e+o;i[t+o]=ht("div",s,n)}var i=this._controlCorners={},e="leaflet-",n=this._controlContainer=ht("div",e+"control-container",this._container);t("top","left"),t("top","right"),t("bottom","left"),t("bottom","right")},_clearControlPos:function(){for(var t in this._controlCorners)ut(this._controlCorners[t]);ut(this._controlContainer),delete this._controlCorners,delete this._controlContainer}});var Te=Pe.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){l(this,e),this._layerControlInputs=[],this._layers=[],this._lastZIndex=0,this._handlingClick=!1;for(var n in 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,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 Pe.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(n(t));return i&&this._layers.splice(this._layers.indexOf(i),1),this._map?this._update():this},expand:function(){pt(this._container,"leaflet-control-layers-expanded"),this._form.style.height=null;var t=this._map.getSize().y-(this._container.offsetTop+50);return t<this._form.clientHeight?(pt(this._form,"leaflet-control-layers-scrollbar"),this._form.style.height=t+"px"):mt(this._form,"leaflet-control-layers-scrollbar"),this._checkDisabledLayers(),this},collapse:function(){return mt(this._container,"leaflet-control-layers-expanded"),this},_initLayout:function(){var t="leaflet-control-layers",i=this._container=ht("div",t),e=this.options.collapsed;i.setAttribute("aria-haspopup",!0),J(i),X(i);var n=this._form=ht("form",t+"-list");e&&(this._map.on("click",this.collapse,this),Ti||V(i,{mouseenter:this.expand,mouseleave:this.collapse},this));var o=this._layersLink=ht("a",t+"-toggle",i);o.href="#",o.title="Layers",Vi?(V(o,"click",Q),V(o,"click",this.expand,this)):V(o,"focus",this.expand,this),e||this.expand(),this._baseLayersList=ht("div",t+"-base",n),this._separator=ht("div",t+"-separator",n),this._overlaysList=ht("div",t+"-overlays",n),i.appendChild(n)},_getLayer:function(t){for(var i=0;i<this._layers.length;i++)if(this._layers[i]&&n(this._layers[i].layer)===t)return this._layers[i]},_addLayer:function(t,i,n){this._map&&t.on("add remove",this._onLayerChange,this),this._layers.push({layer:t,name:i,overlay:n}),this.options.sortLayers&&this._layers.sort(e(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;lt(this._baseLayersList),lt(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&&o>1,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(n(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"),o=this._map.hasLayer(t.layer);t.overlay?((i=document.createElement("input")).type="checkbox",i.className="leaflet-control-layers-selector",i.defaultChecked=o):i=this._createRadioElement("leaflet-base-layers",o),this._layerControlInputs.push(i),i.layerId=n(t.layer),V(i,"click",this._onInputClick,this);var s=document.createElement("span");s.innerHTML=" "+t.name;var r=document.createElement("div");return e.appendChild(r),r.appendChild(i),r.appendChild(s),(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;s>=0;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;o>=0;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()}}),ze=Pe.extend({options:{position:"topleft",zoomInText:"+",zoomInTitle:"Zoom in",zoomOutText:"&#x2212;",zoomOutTitle:"Zoom out"},onAdd:function(t){var i="leaflet-control-zoom",e=ht("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=ht("a",e,n);return s.innerHTML=t,s.href="#",s.title=i,s.setAttribute("role","button"),s.setAttribute("aria-label",i),J(s),V(s,"click",Q),V(s,"click",o,this),V(s,"click",this._refocusOnMap,this),s},_updateDisabled:function(){var t=this._map,i="leaflet-disabled";mt(this._zoomInButton,i),mt(this._zoomOutButton,i),(this._disabled||t._zoom===t.getMinZoom())&&pt(this._zoomOutButton,i),(this._disabled||t._zoom===t.getMaxZoom())&&pt(this._zoomInButton,i)}});Le.mergeOptions({zoomControl:!0}),Le.addInitHook(function(){this.options.zoomControl&&(this.zoomControl=new ze,this.addControl(this.zoomControl))});var Me=Pe.extend({options:{position:"bottomleft",maxWidth:100,metric:!0,imperial:!0},onAdd:function(t){var i=ht("div","leaflet-control-scale"),e=this.options;return this._addScales(e,"leaflet-control-scale-line",i),t.on(e.updateWhenIdle?"moveend":"move",this._update,this),t.whenReady(this._update,this),i},onRemove:function(t){t.off(this.options.updateWhenIdle?"moveend":"move",this._update,this)},_addScales:function(t,i,e){t.metric&&(this._mScale=ht("div",i,e)),t.imperial&&(this._iScale=ht("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;o>5280?(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 e=e>=10?10:e>=5?5:e>=3?3:e>=2?2:1,i*e}}),Ce=Pe.extend({options:{position:"bottomright",prefix:'<a href="https://leafletjs.com" title="A JS library for interactive maps">Leaflet</a>'},initialize:function(t){l(this,t),this._attributions={}},onAdd:function(t){t.attributionControl=this,this._container=ht("div","leaflet-control-attribution"),J(this._container);for(var i in 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):this},removeAttribution:function(t){return t?(this._attributions[t]&&(this._attributions[t]--,this._update()),this):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(" | ")}}});Le.mergeOptions({attributionControl:!0}),Le.addInitHook(function(){this.options.attributionControl&&(new Ce).addTo(this)});Pe.Layers=Te,Pe.Zoom=ze,Pe.Scale=Me,Pe.Attribution=Ce,be.layers=function(t,i,e){return new Te(t,i,e)},be.zoom=function(t){return new ze(t)},be.scale=function(t){return new Me(t)},be.attribution=function(t){return new Ce(t)};var Ze=v.extend({initialize:function(t){this._map=t},enable:function(){return this._enabled?this:(this._enabled=!0,this.addHooks(),this)},disable:function(){return this._enabled?(this._enabled=!1,this.removeHooks(),this):this},enabled:function(){return!!this._enabled}});Ze.addTo=function(t,i){return t.addHandler(i,this),this};var Se,Ee={Events:hi},ke=Vi?"touchstart mousedown":"mousedown",Ae={mousedown:"mouseup",touchstart:"touchend",pointerdown:"touchend",MSPointerDown:"touchend"},Ie={mousedown:"mousemove",touchstart:"touchmove",pointerdown:"touchmove",MSPointerDown:"touchmove"},Be=ui.extend({options:{clickTolerance:3},initialize:function(t,i,e,n){l(this,n),this._element=t,this._dragStartTarget=i||t,this._preventOutline=e},enable:function(){this._enabled||(V(this._dragStartTarget,ke,this._onDown,this),this._enabled=!0)},disable:function(){this._enabled&&(Be._dragging===this&&this.finishDrag(),q(this._dragStartTarget,ke,this._onDown,this),this._enabled=!1,this._moved=!1)},_onDown:function(t){if(!t._simulated&&this._enabled&&(this._moved=!1,!dt(this._element,"leaflet-zoom-anim")&&!(Be._dragging||t.shiftKey||1!==t.which&&1!==t.button&&!t.touches||(Be._dragging=this,this._preventOutline&&zt(this._element),bt(),mi(),this._moving)))){this.fire("down");var i=t.touches?t.touches[0]:t;this._startPoint=new x(i.clientX,i.clientY),V(document,Ie[t.type],this._onMove,this),V(document,Ae[t.type],this._onUp,this)}},_onMove:function(t){if(!t._simulated&&this._enabled)if(t.touches&&t.touches.length>1)this._moved=!0;else{var i=t.touches&&1===t.touches.length?t.touches[0]:t,e=new x(i.clientX,i.clientY).subtract(this._startPoint);(e.x||e.y)&&(Math.abs(e.x)+Math.abs(e.y)<this.options.clickTolerance||($(t),this._moved||(this.fire("dragstart"),this._moved=!0,this._startPos=Pt(this._element).subtract(e),pt(document.body,"leaflet-dragging"),this._lastTarget=t.target||t.srcElement,window.SVGElementInstance&&this._lastTarget instanceof SVGElementInstance&&(this._lastTarget=this._lastTarget.correspondingUseElement),pt(this._lastTarget,"leaflet-drag-target")),this._newPos=this._startPos.add(e),this._moving=!0,g(this._animRequest),this._lastEvent=t,this._animRequest=f(this._updatePosition,this,!0)))}},_updatePosition:function(){var t={originalEvent:this._lastEvent};this.fire("predrag",t),Lt(this._element,this._newPos),this.fire("drag",t)},_onUp:function(t){!t._simulated&&this._enabled&&this.finishDrag()},finishDrag:function(){mt(document.body,"leaflet-dragging"),this._lastTarget&&(mt(this._lastTarget,"leaflet-drag-target"),this._lastTarget=null);for(var t in Ie)q(document,Ie[t],this._onMove,this),q(document,Ae[t],this._onUp,this);Tt(),fi(),this._moved&&this._moving&&(g(this._animRequest),this.fire("dragend",{distance:this._newPos.distanceTo(this._startPos)})),this._moving=!1,Be._dragging=!1}}),Oe=(Object.freeze||Object)({simplify:Ct,pointToSegmentDistance:Zt,closestPointOnSegment:function(t,i,e){return Rt(t,i,e)},clipSegment:At,_getEdgeIntersection:It,_getBitCode:Bt,_sqClosestPointOnSegment:Rt,isFlat:Dt,_flat:Nt}),Re=(Object.freeze||Object)({clipPolygon:jt}),De={project:function(t){return new x(t.lng,t.lat)},unproject:function(t){return new M(t.y,t.x)},bounds:new P([-180,-90],[180,90])},Ne={R:6378137,R_MINOR:6356752.314245179,bounds:new P([-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 x(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&&Math.abs(u)>1e-7;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 M(a*e,t.x*e/n)}},je=(Object.freeze||Object)({LonLat:De,Mercator:Ne,SphericalMercator:di}),We=i({},_i,{code:"EPSG:3395",projection:Ne,transformation:function(){var t=.5/(Math.PI*Ne.R);return S(t,.5,-t,.5)}()}),He=i({},_i,{code:"EPSG:4326",projection:De,transformation:S(1/180,1,-1/180,.5)}),Fe=i({},ci,{projection:De,transformation:S(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});ci.Earth=_i,ci.EPSG3395=We,ci.EPSG3857=vi,ci.EPSG900913=yi,ci.EPSG4326=He,ci.Simple=Fe;var Ue=ui.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[n(t)]=this,this},removeInteractiveTarget:function(t){return delete this._map._targets[n(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})}}});Le.include({addLayer:function(t){if(!t._layerAdd)throw new Error("The provided object is not a Layer.");var i=n(t);return this._layers[i]?this:(this._layers[i]=t,t._mapToAdd=this,t.beforeAdd&&t.beforeAdd(this),this.whenReady(t._layerAdd,t),this)},removeLayer:function(t){var i=n(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):this},hasLayer:function(t){return!!t&&n(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?ei(t)?t:[t]:[]).length;i<e;i++)this.addLayer(t[i])},_addZoomLimit:function(t){!isNaN(t.options.maxZoom)&&isNaN(t.options.minZoom)||(this._zoomBoundLayers[n(t)]=t,this._updateZoomLevels())},_removeZoomLimit:function(t){var i=n(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 Ve=Ue.extend({initialize:function(t,i){l(this,i),this._layers={};var e,n;if(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 n(t)}}),qe=Ve.extend({addLayer:function(t){return this.hasLayer(t)?this:(t.addEventParent(this),Ve.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),Ve.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 T;for(var i in this._layers){var e=this._layers[i];t.extend(e.getBounds?e.getBounds():e.getLatLng())}return t}}),Ge=v.extend({options:{popupAnchor:[0,0],tooltipAnchor:[0,0]},initialize:function(t){l(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=w(n),s=w("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"),i.src=t,i},_getIconUrl:function(t){return Ki&&this.options[t+"RetinaUrl"]||this.options[t+"Url"]}}),Ke=Ge.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 Ke.imagePath||(Ke.imagePath=this._detectIconPath()),(this.options.imagePath||Ke.imagePath)+Ge.prototype._getIconUrl.call(this,t)},_detectIconPath:function(){var t=ht("div","leaflet-default-icon-path",document.body),i=at(t,"background-image")||at(t,"backgroundImage");return document.body.removeChild(t),i=null===i||0!==i.indexOf("url")?"":i.replace(/^url\(["']?/,"").replace(/marker-icon\.png["']?\)$/,"")}}),Ye=Ze.extend({initialize:function(t){this._marker=t},addHooks:function(){var t=this._marker._icon;this._draggable||(this._draggable=new Be(t,t,!0)),this._draggable.on({dragstart:this._onDragStart,predrag:this._onPreDrag,drag:this._onDrag,dragend:this._onDragEnd},this).enable(),pt(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&&mt(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=L.DomUtil.getPosition(i._icon),r=e.getPixelBounds(),a=e.getPixelOrigin(),h=b(r.min._subtract(a).add(o),r.max._subtract(a).subtract(o));if(!h.contains(s)){var u=w((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),L.DomUtil.setPosition(i._icon,this._draggable._newPos),this._onDrag(t),this._panRequest=f(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&&(g(this._panRequest),this._panRequest=f(this._adjustPan.bind(this,t)))},_onDrag:function(t){var i=this._marker,e=i._shadow,n=Pt(i._icon),o=i._map.layerPointToLatLng(n);e&&Lt(e,n),i._latlng=o,t.latlng=o,t.oldLatLng=this._oldLatLng,i.fire("move",t).fire("drag",t)},_onDragEnd:function(t){g(this._panRequest),delete this._oldLatLng,this._marker.fire("moveend").fire("dragend",t)}}),Xe=Ue.extend({options:{icon:new Ke,interactive:!0,draggable:!1,autoPan:!1,autoPanPadding:[50,50],autoPanSpeed:10,keyboard:!0,title:"",alt:"",zIndexOffset:0,opacity:1,riseOnHover:!1,riseOffset:250,pane:"markerPane",bubblingMouseEvents:!1},initialize:function(t,i){l(this,i),this._latlng=C(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=C(t),this.update(),this.fire("move",{oldLatLng:i,latlng:this._latlng})},setZIndexOffset:function(t){return this.options.zIndexOffset=t,this.update()},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||"")),pt(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&&(pt(o,i),o.alt=""),this._shadow=o,t.opacity<1&&this._updateOpacity(),n&&this.getPane().appendChild(this._icon),this._initInteraction(),o&&s&&this.getPane("shadowPane").appendChild(this._shadow)},_removeIcon:function(){this.options.riseOnHover&&this.off({mouseover:this._bringToFront,mouseout:this._resetZIndex}),ut(this._icon),this.removeInteractiveTarget(this._icon),this._icon=null},_removeShadow:function(){this._shadow&&ut(this._shadow),this._shadow=null},_setPos:function(t){Lt(this._icon,t),this._shadow&&Lt(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&&(pt(this._icon,"leaflet-interactive"),this.addInteractiveTarget(this._icon),Ye)){var t=this.options.draggable;this.dragging&&(t=this.dragging.enabled(),this.dragging.disable()),this.dragging=new Ye(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;vt(this._icon,t),this._shadow&&vt(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}}),Je=Ue.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 l(this,t),this._renderer&&this._renderer._updateStyle(this),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}}),$e=Je.extend({options:{fill:!0,radius:10},initialize:function(t,i){l(this,i),this._latlng=C(t),this._radius=this.options.radius},setLatLng:function(t){return this._latlng=C(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 Je.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 P(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()}}),Qe=$e.extend({initialize:function(t,e,n){if("number"==typeof e&&(e=i({},n,{radius:e})),l(this,e),this._latlng=C(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 T(this._map.layerPointToLatLng(this._point.subtract(t)),this._map.layerPointToLatLng(this._point.add(t)))},setStyle:Je.prototype.setStyle,_project:function(){var t=this._latlng.lng,i=this._latlng.lat,e=this._map,n=e.options.crs;if(n.distance===_i.distance){var o=Math.PI/180,s=this._mRadius/_i.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()}}),tn=Je.extend({options:{smoothFactor:1,noClip:!1},initialize:function(t,i){l(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=Rt,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(t=0,i=0;t<h-1;t++)i+=a[t].distanceTo(a[t+1])/2;if(0===i)return this._map.layerPointToLatLng(a[0]);for(t=0,n=0;t<h-1;t++)if(o=a[t],s=a[t+1],e=o.distanceTo(s),(n+=e)>i)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=C(t),i.push(t),this._bounds.extend(t),this.redraw()},_setLatLngs:function(t){this._bounds=new T,this._latlngs=this._convertLatLngs(t)},_defaultShape:function(){return Dt(this._latlngs)?this._latlngs:this._latlngs[0]},_convertLatLngs:function(t){for(var i=[],e=Dt(t),n=0,o=t.length;n<o;n++)e?(i[n]=C(t[n]),this._bounds.extend(i[n])):i[n]=this._convertLatLngs(t[n]);return i},_project:function(){var t=new P;this._rings=[],this._projectLatlngs(this._latlngs,this._rings,t);var i=this._clickTolerance(),e=new x(i,i);this._bounds.isValid()&&t.isValid()&&(t.min._subtract(e),t.max._add(e),this._pxBounds=t)},_projectLatlngs:function(t,i,e){var n,o,s=t[0]instanceof M,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(i=0,n=0,o=this._rings.length;i<o;i++)for(e=0,s=(a=this._rings[i]).length;e<s-1;e++)(r=At(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]=Ct(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)&&Zt(t,a[o],a[n])<=h)return!0;return!1}});tn._flat=Nt;var en=tn.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=tn.prototype._convertLatLngs.call(this,t),e=i.length;return e>=2&&i[0]instanceof M&&i[0].equals(i[e-1])&&i.pop(),i},_setLatLngs:function(t){tn.prototype._setLatLngs.call(this,t),Dt(this._latlngs)&&(this._latlngs=[this._latlngs])},_defaultShape:function(){return Dt(this._latlngs[0])?this._latlngs[0]:this._latlngs[0][0]},_clipPoints:function(){var t=this._renderer._bounds,i=this.options.weight,e=new x(i,i);if(t=new P(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=jt(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.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||tn.prototype._containsPoint.call(this,t,!0)}}),nn=qe.extend({initialize:function(t,i){l(this,i),this._layers={},t&&this.addData(t)},addData:function(t){var i,e,n,o=ei(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=Wt(t,s);return r?(r.feature=Gt(t),r.defaultOptions=r.options,this.resetStyle(r),s.onEachFeature&&s.onEachFeature(t,r),this.addLayer(r)):this},resetStyle:function(t){return t.options=i({},t.defaultOptions),this._setLayerStyle(t,this.options.style),this},setStyle:function(t){return this.eachLayer(function(i){this._setLayerStyle(i,t)},this)},_setLayerStyle:function(t,i){"function"==typeof i&&(i=i(t.feature)),t.setStyle&&t.setStyle(i)}}),on={toGeoJSON:function(t){return qt(this,{type:"Point",coordinates:Ut(this.getLatLng(),t)})}};Xe.include(on),Qe.include(on),$e.include(on),tn.include({toGeoJSON:function(t){var i=!Dt(this._latlngs),e=Vt(this._latlngs,i?1:0,!1,t);return qt(this,{type:(i?"Multi":"")+"LineString",coordinates:e})}}),en.include({toGeoJSON:function(t){var i=!Dt(this._latlngs),e=i&&!Dt(this._latlngs[0]),n=Vt(this._latlngs,e?2:i?1:0,!0,t);return i||(n=[n]),qt(this,{type:(e?"Multi":"")+"Polygon",coordinates:n})}}),Ve.include({toMultiPoint:function(t){var i=[];return this.eachLayer(function(e){i.push(e.toGeoJSON(t).geometry.coordinates)}),qt(this,{type:"MultiPoint",coordinates:i})},toGeoJSON:function(t){var i=this.feature&&this.feature.geometry&&this.feature.geometry.type;if("MultiPoint"===i)return this.toMultiPoint(t);var e="GeometryCollection"===i,n=[];return this.eachLayer(function(i){if(i.toGeoJSON){var o=i.toGeoJSON(t);if(e)n.push(o.geometry);else{var s=Gt(o);"FeatureCollection"===s.type?n.push.apply(n,s.features):n.push(s)}}}),e?qt(this,{geometries:n,type:"GeometryCollection"}):{type:"FeatureCollection",features:n}}});var sn=Kt,rn=Ue.extend({options:{opacity:1,alt:"",interactive:!1,crossOrigin:!1,errorOverlayUrl:"",zIndex:1,className:""},initialize:function(t,i,e){this._url=t,this._bounds=z(i),l(this,e)},onAdd:function(){this._image||(this._initImage(),this.options.opacity<1&&this._updateOpacity()),this.options.interactive&&(pt(this._image,"leaflet-interactive"),this.addInteractiveTarget(this._image)),this.getPane().appendChild(this._image),this._reset()},onRemove:function(){ut(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&&ct(this._image),this},bringToBack:function(){return this._map&&_t(this._image),this},setUrl:function(t){return this._url=t,this._image&&(this._image.src=t),this},setBounds:function(t){return this._bounds=z(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:ht("img");pt(i,"leaflet-image-layer"),this._zoomAnimated&&pt(i,"leaflet-zoom-animated"),this.options.className&&pt(i,this.options.className),i.onselectstart=r,i.onmousemove=r,i.onload=e(this.fire,this,"load"),i.onerror=e(this._overlayOnError,this,"error"),this.options.crossOrigin&&(i.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;wt(this._image,e,i)},_reset:function(){var t=this._image,i=new P(this._map.latLngToLayerPoint(this._bounds.getNorthWest()),this._map.latLngToLayerPoint(this._bounds.getSouthEast())),e=i.getSize();Lt(t,i.min),t.style.width=e.x+"px",t.style.height=e.y+"px"},_updateOpacity:function(){vt(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)}}),an=rn.extend({options:{autoplay:!0,loop:!0},_initImage:function(){var t="VIDEO"===this._url.tagName,i=this._image=t?this._url:ht("video");if(pt(i,"leaflet-image-layer"),this._zoomAnimated&&pt(i,"leaflet-zoom-animated"),i.onselectstart=r,i.onmousemove=r,i.onloadeddata=e(this.fire,this,"load"),t){for(var n=i.getElementsByTagName("source"),o=[],s=0;s<n.length;s++)o.push(n[s].src);this._url=n.length>0?o:[i.src]}else{ei(this._url)||(this._url=[this._url]),i.autoplay=!!this.options.autoplay,i.loop=!!this.options.loop;for(var a=0;a<this._url.length;a++){var h=ht("source");h.src=this._url[a],i.appendChild(h)}}}}),hn=Ue.extend({options:{offset:[0,7],className:"",pane:"popupPane"},initialize:function(t,i){l(this,t),this._source=i},onAdd:function(t){this._zoomAnimated=t._zoomAnimated,this._container||this._initLayout(),t._fadeAnimated&&vt(this._container,0),clearTimeout(this._removeTimeout),this.getPane().appendChild(this._container),this.update(),t._fadeAnimated&&vt(this._container,1),this.bringToFront()},onRemove:function(t){t._fadeAnimated?(vt(this._container,0),this._removeTimeout=setTimeout(e(ut,void 0,this._container),200)):ut(this._container)},getLatLng:function(){return this._latlng},setLatLng:function(t){return this._latlng=C(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&&ct(this._container),this},bringToBack:function(){return this._map&&_t(this._container),this},_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=w(this.options.offset),e=this._getAnchor();this._zoomAnimated?Lt(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]}}),un=hn.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){hn.prototype.onAdd.call(this,t),t.fire("popupopen",{popup:this}),this._source&&(this._source.fire("popupopen",{popup:this},!0),this._source instanceof Je||this._source.on("preclick",Y))},onRemove:function(t){hn.prototype.onRemove.call(this,t),t.fire("popupclose",{popup:this}),this._source&&(this._source.fire("popupclose",{popup:this},!0),this._source instanceof Je||this._source.off("preclick",Y))},getEvents:function(){var t=hn.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=ht("div",t+" "+(this.options.className||"")+" leaflet-zoom-animated"),e=this._wrapper=ht("div",t+"-content-wrapper",i);if(this._contentNode=ht("div",t+"-content",e),J(e),X(this._contentNode),V(e,"contextmenu",Y),this._tipContainer=ht("div",t+"-tip-container",i),this._tip=ht("div",t+"-tip",this._tipContainer),this.options.closeButton){var n=this._closeButton=ht("a",t+"-close-button",i);n.href="#close",n.innerHTML="&#215;",V(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;o&&n>o?(i.height=o+"px",pt(t,"leaflet-popup-scrolled")):mt(t,"leaflet-popup-scrolled"),this._containerWidth=this._container.offsetWidth},_animateZoom:function(t){var i=this._map._latLngToNewLayerPoint(this._latlng,t.zoom,t.center),e=this._getAnchor();Lt(this._container,i.add(e))},_adjustPan:function(){if(!(!this.options.autoPan||this._map._panAnim&&this._map._panAnim._inProgress)){var t=this._map,i=parseInt(at(this._container,"marginBottom"),10)||0,e=this._container.offsetHeight+i,n=this._containerWidth,o=new x(this._containerLeft,-e-this._containerBottom);o._add(Pt(this._container));var s=t.layerPointToContainerPoint(o),r=w(this.options.autoPanPadding),a=w(this.options.autoPanPaddingTopLeft||r),h=w(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(),Q(t)},_getAnchor:function(){return w(this._source&&this._source._getPopupAnchor?this._source._getPopupAnchor():[0,0])}});Le.mergeOptions({closePopupOnClick:!0}),Le.include({openPopup:function(t,i,e){return t instanceof un||(t=new un(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}}),Ue.include({bindPopup:function(t,i){return t instanceof un?(l(t,i),this._popup=t,t._source=this):(this._popup&&!i||(this._popup=new un(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){if(t instanceof Ue||(i=t,t=this),t instanceof qe)for(var e in this._layers){t=this._layers[e];break}return i||(i=t.getCenter?t.getCenter():t.getLatLng()),this._popup&&this._map&&(this._popup._source=t,this._popup.update(),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&&(Q(t),i instanceof Je?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 ln=hn.extend({options:{pane:"tooltipPane",offset:[0,0],direction:"auto",permanent:!1,sticky:!1,interactive:!1,opacity:.9},onAdd:function(t){hn.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){hn.prototype.onRemove.call(this,t),t.fire("tooltipclose",{tooltip:this}),this._source&&this._source.fire("tooltipclose",{tooltip:this},!0)},getEvents:function(){var t=hn.prototype.getEvents.call(this);return Vi&&!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=ht("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=w(this.options.offset),u=this._getAnchor();"top"===s?t=t.add(w(-r/2+h.x,-a+h.y+u.y,!0)):"bottom"===s?t=t.subtract(w(r/2-h.x,-h.y,!0)):"center"===s?t=t.subtract(w(r/2+h.x,a/2-u.y+h.y,!0)):"right"===s||"auto"===s&&o.x<n.x?(s="right",t=t.add(w(h.x+u.x,u.y-a/2+h.y,!0))):(s="left",t=t.subtract(w(r+u.x-h.x,a/2-u.y-h.y,!0))),mt(e,"leaflet-tooltip-right"),mt(e,"leaflet-tooltip-left"),mt(e,"leaflet-tooltip-top"),mt(e,"leaflet-tooltip-bottom"),pt(e,"leaflet-tooltip-"+s),Lt(e,t)},_updatePosition:function(){var t=this._map.latLngToLayerPoint(this._latlng);this._setPosition(t)},setOpacity:function(t){this.options.opacity=t,this._container&&vt(this._container,t)},_animateZoom:function(t){var i=this._map._latLngToNewLayerPoint(this._latlng,t.zoom,t.center);this._setPosition(i)},_getAnchor:function(){return w(this._source&&this._source._getTooltipAnchor&&!this.options.sticky?this._source._getTooltipAnchor():[0,0])}});Le.include({openTooltip:function(t,i,e){return t instanceof ln||(t=new ln(e).setContent(t)),i&&t.setLatLng(i),this.hasLayer(t)?this:this.addLayer(t)},closeTooltip:function(t){return t&&this.removeLayer(t),this}}),Ue.include({bindTooltip:function(t,i){return t instanceof ln?(l(t,i),this._tooltip=t,t._source=this):(this._tooltip&&!i||(this._tooltip=new ln(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),Vi&&(e.click=this._openTooltip)),this[i](e),this._tooltipHandlersAdded=!t}},openTooltip:function(t,i){if(t instanceof Ue||(i=t,t=this),t instanceof qe)for(var e in this._layers){t=this._layers[e];break}return i||(i=t.getCenter?t.getCenter():t.getLatLng()),this._tooltip&&this._map&&(this._tooltip._source=t,this._tooltip.update(),this._map.openTooltip(this._tooltip,i),this._tooltip.options.interactive&&this._tooltip._container&&(pt(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&&(mt(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 cn=Ge.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(i.innerHTML=!1!==e.html?e.html:"",e.bgPos){var n=w(e.bgPos);i.style.backgroundPosition=-n.x+"px "+-n.y+"px"}return this._setIconStyles(i,"icon"),i},createShadow:function(){return null}});Ge.Default=Ke;var _n=Ue.extend({options:{tileSize:256,opacity:1,updateWhenIdle:ji,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){l(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(),ut(this._container),t._removeZoomLimit(this),this._container=null,this._tileZoom=void 0},bringToFront:function(){return this._map&&(ct(this._container),this._setAutoZIndex(Math.max)),this},bringToBack:function(){return this._map&&(_t(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 x?t:new x(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&&!Li){vt(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);vt(o.el,s),s<1?i=!0:(o.active?e=!0:this._onOpaqueTile(o),o.active=!0)}}e&&!this._noPrune&&this._pruneTiles(),i&&(g(this._fadeFrame),this._fadeFrame=f(this._updateOpacity,this))}},_onOpaqueTile:r,_initContainer:function(){this._container||(this._container=ht("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)):(ut(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=ht("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,n}},_onUpdateLevel:r,_onRemoveLevel:r,_onCreateLevel:r,_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)ut(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 x(+o,+s);a.z=+r;var h=this._tileCoordsToKey(a),u=this._tiles[h];return u&&u.active?(u.retain=!0,!0):(u&&u.loaded&&(u.retain=!0),r>n&&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 x(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();Ni?wt(t.el,o,n):Lt(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 P(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 P(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 x(l.x,l.y))||(this._tiles[u].current=!1)}if(Math.abs(e-this._tileZoom)>1)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 x(_,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 z(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 T(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 x(+i[0],+i[1]);return e.z=+i[2],e},_removeTile:function(t){var i=this._tiles[t];i&&(Ci||i.el.setAttribute("src",ni),ut(i.el),delete this._tiles[t],this.fire("tileunload",{tile:i.el,coords:this._keyToTileCoords(t)}))},_initTile:function(t){pt(t,"leaflet-tile");var i=this.getTileSize();t.style.width=i.x+"px",t.style.height=i.y+"px",t.onselectstart=r,t.onmousemove=r,Li&&this.options.opacity<1&&vt(t,this.options.opacity),Ti&&!zi&&(t.style.WebkitBackfaceVisibility="hidden")},_addTile:function(t,i){var n=this._getTilePos(t),o=this._tileCoordsToKey(t),s=this.createTile(this._wrapCoords(t),e(this._tileReady,this,t));this._initTile(s),this.createTile.length<2&&f(e(this._tileReady,this,t,null,s)),Lt(s,n),this._tiles[o]={el:s,coords:t,current:!0},i.appendChild(s),this.fire("tileloadstart",{tile:s,coords:t})},_tileReady:function(t,i,n){if(this._map){i&&this.fire("tileerror",{error:i,tile:n,coords:t});var o=this._tileCoordsToKey(t);(n=this._tiles[o])&&(n.loaded=+new Date,this._map._fadeAnimated?(vt(n.el,0),g(this._fadeFrame),this._fadeFrame=f(this._updateOpacity,this)):(n.active=!0,this._pruneTiles()),i||(pt(n.el,"leaflet-tile-loaded"),this.fire("tileload",{tile:n.el,coords:t})),this._noTilesToLoad()&&(this._loading=!1,this.fire("load"),Li||!this._map._fadeAnimated?f(this._pruneTiles,this):setTimeout(e(this._pruneTiles,this),250)))}},_getTilePos:function(t){return t.scaleBy(this.getTileSize()).subtract(this._level.origin)},_wrapCoords:function(t){var i=new x(this._wrapX?s(t.x,this._wrapX):t.x,this._wrapY?s(t.y,this._wrapY):t.y);return i.z=t.z,i},_pxBoundsToTileRange:function(t){var i=this.getTileSize();return new P(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}}),dn=_n.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=l(this,i)).detectRetina&&Ki&&i.maxZoom>0&&(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("")),Ti||this.on("tileunload",this._onTileRemove)},setUrl:function(t,i){return this._url=t,i||this.redraw(),this},createTile:function(t,i){var n=document.createElement("img");return V(n,"load",e(this._tileOnLoad,this,i,n)),V(n,"error",e(this._tileOnError,this,i,n)),this.options.crossOrigin&&(n.crossOrigin=""),n.alt="",n.setAttribute("role","presentation"),n.src=this.getTileUrl(t),n},getTileUrl:function(t){var e={r:Ki?"@2x":"",s:this._getSubdomain(t),x:t.x,y:t.y,z:this._getZoomForUrl()};if(this._map&&!this._map.options.crs.infinite){var n=this._globalTileRange.max.y-t.y;this.options.tms&&(e.y=n),e["-y"]=n}return _(this._url,i(e,this.options))},_tileOnLoad:function(t,i){Li?setTimeout(e(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,e=this.options.zoomReverse,n=this.options.zoomOffset;return e&&(t=i-t),t+n},_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=r,i.onerror=r,i.complete||(i.src=ni,ut(i),delete this._tiles[t]))}}),pn=dn.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,e){this._url=t;var n=i({},this.defaultWmsParams);for(var o in e)o in this.options||(n[o]=e[o]);var s=(e=l(this,e)).detectRetina&&Ki?2:1,r=this.getTileSize();n.width=r.x*s,n.height=r.y*s,this.wmsParams=n},onAdd:function(t){this._crs=this.options.crs||t.options.crs,this._wmsVersion=parseFloat(this.wmsParams.version);var i=this._wmsVersion>=1.3?"crs":"srs";this.wmsParams[i]=this._crs.code,dn.prototype.onAdd.call(this,t)},getTileUrl:function(t){var i=this._tileCoordsToNwSe(t),e=this._crs,n=b(e.project(i[0]),e.project(i[1])),o=n.min,s=n.max,r=(this._wmsVersion>=1.3&&this._crs===He?[o.y,o.x,s.y,s.x]:[o.x,o.y,s.x,s.y]).join(","),a=L.TileLayer.prototype.getTileUrl.call(this,t);return a+c(this.wmsParams,a,this.options.uppercase)+(this.options.uppercase?"&BBOX=":"&bbox=")+r},setParams:function(t,e){return i(this.wmsParams,t),e||this.redraw(),this}});dn.WMS=pn,Yt.wms=function(t,i){return new pn(t,i)};var mn=Ue.extend({options:{padding:.1,tolerance:0},initialize:function(t){l(this,t),n(this),this._layers=this._layers||{}},onAdd:function(){this._container||(this._initContainer(),this._zoomAnimated&&pt(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=Pt(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);Ni?wt(this._container,a,e):Lt(this._container,a)},_reset:function(){this._update(),this._updateTransform(this._center,this._zoom);for(var t in 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 P(e,e.add(i.multiplyBy(1+2*t)).round()),this._center=this._map.getCenter(),this._zoom=this._map.getZoom()}}),fn=mn.extend({getEvents:function(){var t=mn.prototype.getEvents.call(this);return t.viewprereset=this._onViewPreReset,t},_onViewPreReset:function(){this._postponeUpdatePaths=!0},onAdd:function(){mn.prototype.onAdd.call(this),this._draw()},_initContainer:function(){var t=this._container=document.createElement("canvas");V(t,"mousemove",o(this._onMouseMove,32,this),this),V(t,"click dblclick mousedown mouseup contextmenu",this._onClick,this),V(t,"mouseout",this._handleMouseOut,this),this._ctx=t.getContext("2d")},_destroyContainer:function(){delete this._ctx,ut(this._container),q(this._container),delete this._container},_updatePaths:function(){if(!this._postponeUpdatePaths){this._redrawBounds=null;for(var t in this._layers)this._layers[t]._update();this._redraw()}},_update:function(){if(!this._map._animatingZoom||!this._bounds){this._drawnLayers={},mn.prototype._update.call(this);var t=this._bounds,i=this._container,e=t.getSize(),n=Ki?2:1;Lt(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",Ki&&this._ctx.scale(2,2),this._ctx.translate(-t.min.x,-t.min.y),this.fire("update")}},_reset:function(){mn.prototype._reset.call(this),this._postponeUpdatePaths&&(this._postponeUpdatePaths=!1,this._updatePaths())},_initPath:function(t){this._updateDashArray(t),this._layers[n(t)]=t;var i=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[L.stamp(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(t.options.dashArray){var i,e=t.options.dashArray.split(","),n=[];for(i=0;i<e.length;i++)n.push(Number(e[i]));t.options._dashArray=n}},_requestRedraw:function(t){this._map&&(this._extendRedrawBounds(t),this._redrawRequest=this._redrawRequest||f(this._redraw,this))},_extendRedrawBounds:function(t){if(t._pxBounds){var i=(t.options.weight||0)+1;this._redrawBounds=this._redrawBounds||new P,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(this._drawnLayers[t._leaflet_id]=t,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;this._drawnLayers[t._leaflet_id]=t,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&&(et(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&&(mt(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&&(pt(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,e=i.next,n=i.prev;e&&(e.prev=n,n?n.next=e:e&&(this._drawFirst=e),i.prev=this._drawLast,this._drawLast.next=i,i.next=null,this._drawLast=i,this._requestRedraw(t))},_bringToBack:function(t){var i=t._order,e=i.next,n=i.prev;n&&(n.next=e,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))}}),gn=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">')}}}(),vn={_initContainer:function(){this._container=ht("div","leaflet-vml-container")},_update:function(){this._map._animatingZoom||(mn.prototype._update.call(this),this.fire("update"))},_initPath:function(t){var i=t._container=gn("shape");pt(i,"leaflet-vml-shape "+(this.options.className||"")),i.coordsize="1 1",t._path=gn("path"),i.appendChild(t._path),this._updateStyle(t),this._layers[n(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;ut(i),t.removeInteractiveTarget(i),delete this._layers[n(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=gn("stroke")),o.appendChild(i),i.weight=n.weight+"px",i.color=n.color,i.opacity=n.opacity,n.dashArray?i.dashStyle=ei(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=gn("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){ct(t._container)},_bringToBack:function(t){_t(t._container)}},yn=Ji?gn:E,xn=mn.extend({getEvents:function(){var t=mn.prototype.getEvents.call(this);return t.zoomstart=this._onZoomStart,t},_initContainer:function(){this._container=yn("svg"),this._container.setAttribute("pointer-events","none"),this._rootGroup=yn("g"),this._container.appendChild(this._rootGroup)},_destroyContainer:function(){ut(this._container),q(this._container),delete this._container,delete this._rootGroup,delete this._svgSize},_onZoomStart:function(){this._update()},_update:function(){if(!this._map._animatingZoom||!this._bounds){mn.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)),Lt(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=yn("path");t.options.className&&pt(i,t.options.className),t.options.interactive&&pt(i,"leaflet-interactive"),this._updateStyle(t),this._layers[n(t)]=t},_addPath:function(t){this._rootGroup||this._initContainer(),this._rootGroup.appendChild(t._path),t.addInteractiveTarget(t._path)},_removePath:function(t){ut(t._path),t.removeInteractiveTarget(t._path),delete this._layers[n(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,k(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){ct(t._path)},_bringToBack:function(t){_t(t._path)}});Ji&&xn.include(vn),Le.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.options.preferCanvas&&Xt()||Jt()),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=xn&&Jt({pane:t})||fn&&Xt({pane:t}),this._paneRenderers[t]=i),i}});var wn=en.extend({initialize:function(t,i){en.prototype.initialize.call(this,this._boundsToLatLngs(t),i)},setBounds:function(t){return this.setLatLngs(this._boundsToLatLngs(t))},_boundsToLatLngs:function(t){return t=z(t),[t.getSouthWest(),t.getNorthWest(),t.getNorthEast(),t.getSouthEast()]}});xn.create=yn,xn.pointsToPath=k,nn.geometryToLayer=Wt,nn.coordsToLatLng=Ht,nn.coordsToLatLngs=Ft,nn.latLngToCoords=Ut,nn.latLngsToCoords=Vt,nn.getFeature=qt,nn.asFeature=Gt,Le.mergeOptions({boxZoom:!0});var Ln=Ze.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(){V(this._container,"mousedown",this._onMouseDown,this)},removeHooks:function(){q(this._container,"mousedown",this._onMouseDown,this)},moved:function(){return this._moved},_destroy:function(){ut(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(),mi(),bt(),this._startPoint=this._map.mouseEventToContainerPoint(t),V(document,{contextmenu:Q,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseMove:function(t){this._moved||(this._moved=!0,this._box=ht("div","leaflet-zoom-box",this._container),pt(this._container,"leaflet-crosshair"),this._map.fire("boxzoomstart")),this._point=this._map.mouseEventToContainerPoint(t);var i=new P(this._point,this._startPoint),e=i.getSize();Lt(this._box,i.min),this._box.style.width=e.x+"px",this._box.style.height=e.y+"px"},_finish:function(){this._moved&&(ut(this._box),mt(this._container,"leaflet-crosshair")),fi(),Tt(),q(document,{contextmenu:Q,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(e(this._resetState,this),0);var i=new T(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()}});Le.addInitHook("addHandler","boxZoom",Ln),Le.mergeOptions({doubleClickZoom:!0});var Pn=Ze.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)}});Le.addInitHook("addHandler","doubleClickZoom",Pn),Le.mergeOptions({dragging:!0,inertia:!zi,inertiaDeceleration:3400,inertiaMaxSpeed:1/0,easeLinearity:.2,worldCopyJump:!1,maxBoundsViscosity:0});var bn=Ze.extend({addHooks:function(){if(!this._draggable){var t=this._map;this._draggable=new Be(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))}pt(this._map._container,"leaflet-grab leaflet-touch-drag"),this._draggable.enable(),this._positions=[],this._times=[]},removeHooks:function(){mt(this._map._container,"leaflet-grab"),mt(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=z(this._map.options.maxBounds);this._offsetLimit=b(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(;this._positions.length>1&&t-this._times[0]>50;)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),f(function(){i.panBy(_,{duration:c,easeLinearity:r,noMoveStart:!0,animate:!0})})):i.fire("moveend")}}});Le.addInitHook("addHandler","dragging",bn),Le.mergeOptions({keyboard:!0,keyboardPanDelta:80});var Tn=Ze.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"),V(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(),q(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(){V(document,"keydown",this._onKeyDown,this)},_removeHooks:function(){q(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){if(n._panAnim&&n._panAnim._inProgress)return;i=this._panKeys[e],t.shiftKey&&(i=w(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()}Q(t)}}});Le.addInitHook("addHandler","keyboard",Tn),Le.mergeOptions({scrollWheelZoom:!0,wheelDebounceTime:40,wheelPxPerZoomLevel:60});var zn=Ze.extend({addHooks:function(){V(this._map._container,"mousewheel",this._onWheelScroll,this),this._delta=0},removeHooks:function(){q(this._map._container,"mousewheel",this._onWheelScroll,this)},_onWheelScroll:function(t){var i=it(t),n=this._map.options.wheelDebounceTime;this._delta+=i,this._lastMousePos=this._map.mouseEventToContainerPoint(t),this._startTime||(this._startTime=+new Date);var o=Math.max(n-(+new Date-this._startTime),0);clearTimeout(this._timer),this._timer=setTimeout(e(this._performZoom,this),o),Q(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+(this._delta>0?s:-s))-i;this._delta=0,this._startTime=null,r&&("center"===t.options.scrollWheelZoom?t.setZoom(i+r):t.setZoomAround(this._lastMousePos,i+r))}});Le.addInitHook("addHandler","scrollWheelZoom",zn),Le.mergeOptions({tap:!0,tapTolerance:15});var Mn=Ze.extend({addHooks:function(){V(this._map._container,"touchstart",this._onDown,this)},removeHooks:function(){q(this._map._container,"touchstart",this._onDown,this)},_onDown:function(t){if(t.touches){if($(t),this._fireClick=!0,t.touches.length>1)return this._fireClick=!1,void clearTimeout(this._holdTimeout);var i=t.touches[0],n=i.target;this._startPos=this._newPos=new x(i.clientX,i.clientY),n.tagName&&"a"===n.tagName.toLowerCase()&&pt(n,"leaflet-active"),this._holdTimeout=setTimeout(e(function(){this._isTapValid()&&(this._fireClick=!1,this._onUp(),this._simulateEvent("contextmenu",i))},this),1e3),this._simulateEvent("mousedown",i),V(document,{touchmove:this._onMove,touchend:this._onUp},this)}},_onUp:function(t){if(clearTimeout(this._holdTimeout),q(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()&&mt(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 x(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)}});Vi&&!Ui&&Le.addInitHook("addHandler","tap",Mn),Le.mergeOptions({touchZoom:Vi&&!zi,bounceAtZoomLimits:!0});var Cn=Ze.extend({addHooks:function(){pt(this._map._container,"leaflet-touch-zoom"),V(this._map._container,"touchstart",this._onTouchStart,this)},removeHooks:function(){mt(this._map._container,"leaflet-touch-zoom"),q(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(),V(document,"touchmove",this._onTouchMove,this),V(document,"touchend",this._onTouchEnd,this),$(t)}},_onTouchMove:function(t){if(t.touches&&2===t.touches.length&&this._zooming){var i=this._map,n=i.mouseEventToContainerPoint(t.touches[0]),o=i.mouseEventToContainerPoint(t.touches[1]),s=n.distanceTo(o)/this._startDist;if(this._zoom=i.getScaleZoom(s,this._startZoom),!i.options.bounceAtZoomLimits&&(this._zoom<i.getMinZoom()&&s<1||this._zoom>i.getMaxZoom()&&s>1)&&(this._zoom=i._limitZoom(this._zoom)),"center"===i.options.touchZoom){if(this._center=this._startLatLng,1===s)return}else{var r=n._add(o)._divideBy(2)._subtract(this._centerPoint);if(1===s&&0===r.x&&0===r.y)return;this._center=i.unproject(i.project(this._pinchStartLatLng,this._zoom).subtract(r),this._zoom)}this._moved||(i._moveStart(!0,!1),this._moved=!0),g(this._animRequest);var a=e(i._move,i,this._center,this._zoom,{pinch:!0,round:!1});this._animRequest=f(a,this,!0),$(t)}},_onTouchEnd:function(){this._moved&&this._zooming?(this._zooming=!1,g(this._animRequest),q(document,"touchmove",this._onTouchMove),q(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}});Le.addInitHook("addHandler","touchZoom",Cn),Le.BoxZoom=Ln,Le.DoubleClickZoom=Pn,Le.Drag=bn,Le.Keyboard=Tn,Le.ScrollWheelZoom=zn,Le.Tap=Mn,Le.TouchZoom=Cn;var Zn=window.L;window.L=t,Object.freeze=$t,t.version="1.3.1+HEAD.ba6f97f",t.noConflict=function(){return window.L=Zn,this},t.Control=Pe,t.control=be,t.Browser=$i,t.Evented=ui,t.Mixin=Ee,t.Util=ai,t.Class=v,t.Handler=Ze,t.extend=i,t.bind=e,t.stamp=n,t.setOptions=l,t.DomEvent=de,t.DomUtil=xe,t.PosAnimation=we,t.Draggable=Be,t.LineUtil=Oe,t.PolyUtil=Re,t.Point=x,t.point=w,t.Bounds=P,t.bounds=b,t.Transformation=Z,t.transformation=S,t.Projection=je,t.LatLng=M,t.latLng=C,t.LatLngBounds=T,t.latLngBounds=z,t.CRS=ci,t.GeoJSON=nn,t.geoJSON=Kt,t.geoJson=sn,t.Layer=Ue,t.LayerGroup=Ve,t.layerGroup=function(t,i){return new Ve(t,i)},t.FeatureGroup=qe,t.featureGroup=function(t){return new qe(t)},t.ImageOverlay=rn,t.imageOverlay=function(t,i,e){return new rn(t,i,e)},t.VideoOverlay=an,t.videoOverlay=function(t,i,e){return new an(t,i,e)},t.DivOverlay=hn,t.Popup=un,t.popup=function(t,i){return new un(t,i)},t.Tooltip=ln,t.tooltip=function(t,i){return new ln(t,i)},t.Icon=Ge,t.icon=function(t){return new Ge(t)},t.DivIcon=cn,t.divIcon=function(t){return new cn(t)},t.Marker=Xe,t.marker=function(t,i){return new Xe(t,i)},t.TileLayer=dn,t.tileLayer=Yt,t.GridLayer=_n,t.gridLayer=function(t){return new _n(t)},t.SVG=xn,t.svg=Jt,t.Renderer=mn,t.Canvas=fn,t.canvas=Xt,t.Path=Je,t.CircleMarker=$e,t.circleMarker=function(t,i){return new $e(t,i)},t.Circle=Qe,t.circle=function(t,i,e){return new Qe(t,i,e)},t.Polyline=tn,t.polyline=function(t,i){return new tn(t,i)},t.Polygon=en,t.polygon=function(t,i){return new en(t,i)},t.Rectangle=wn,t.rectangle=function(t,i){return new wn(t,i)},t.Map=Le,t.map=function(t,i){return new Le(t,i)}});</script>
<style type="text/css">
img.leaflet-tile {
padding: 0;
margin: 0;
border-radius: 0;
border: none;
}
.info {
padding: 6px 8px;
font: 14px/16px Arial, Helvetica, sans-serif;
background: white;
background: rgba(255,255,255,0.8);
box-shadow: 0 0 15px rgba(0,0,0,0.2);
border-radius: 5px;
}
.legend {
line-height: 18px;
color: #555;
}
.legend svg text {
fill: #555;
}
.legend svg line {
stroke: #555;
}
.legend i {
width: 18px;
height: 18px;
margin-right: 4px;
opacity: 0.7;
display: inline-block;
vertical-align: top;
zoom: 1;
*display: inline;
}
</style>
<script>!function(t,s){"object"==typeof exports&&"undefined"!=typeof module?module.exports=s():"function"==typeof define&&define.amd?define(s):t.proj4=s()}(this,function(){"use strict";function k(t,s){if(t[s])return t[s];for(var i,a=Object.keys(t),h=s.toLowerCase().replace(H,""),e=-1;++e<a.length;)if((i=a[e]).toLowerCase().replace(H,"")===h)return t[i]}function e(t){if("string"!=typeof t)throw new Error("not a string");this.text=t.trim(),this.level=0,this.place=0,this.root=null,this.stack=[],this.currentObject=null,this.state=K}function h(t,s,i){Array.isArray(s)&&(i.unshift(s),s=null);var a=s?{}:t,h=i.reduce(function(t,s){return n(s,t),t},a);s&&(t[s]=h)}function n(t,s){if(Array.isArray(t)){var i,a=t.shift();if("PARAMETER"===a&&(a=t.shift()),1===t.length)return Array.isArray(t[0])?(s[a]={},void n(t[0],s[a])):void(s[a]=t[0]);if(t.length)if("TOWGS84"!==a){if("AXIS"===a)return a in s||(s[a]=[]),void s[a].push(t);switch(Array.isArray(a)||(s[a]={}),a){case"UNIT":case"PRIMEM":case"VERT_DATUM":return s[a]={name:t[0].toLowerCase(),convert:t[1]},void(3===t.length&&n(t[2],s[a]));case"SPHEROID":case"ELLIPSOID":return s[a]={name:t[0],a:t[1],rf:t[2]},void(4===t.length&&n(t[3],s[a]));case"PROJECTEDCRS":case"PROJCRS":case"GEOGCS":case"GEOCCS":case"PROJCS":case"LOCAL_CS":case"GEODCRS":case"GEODETICCRS":case"GEODETICDATUM":case"EDATUM":case"ENGINEERINGDATUM":case"VERT_CS":case"VERTCRS":case"VERTICALCRS":case"COMPD_CS":case"COMPOUNDCRS":case"ENGINEERINGCRS":case"ENGCRS":case"FITTED_CS":case"LOCAL_DATUM":case"DATUM":return t[0]=["name",t[0]],void h(s,a,t);default:for(i=-1;++i<t.length;)if(!Array.isArray(t[i]))return n(t,s[a]);return h(s,a,t)}}else s[a]=t;else s[a]=!0}else s[t]=!0}function r(t){return t*it}function o(e){function t(t){return t*(e.to_meter||1)}if("GEOGCS"===e.type?e.projName="longlat":"LOCAL_CS"===e.type?(e.projName="identity",e.local=!0):"object"==typeof e.PROJECTION?e.projName=Object.keys(e.PROJECTION)[0]:e.projName=e.PROJECTION,e.AXIS){for(var s="",i=0,a=e.AXIS.length;i<a;++i){var h=e.AXIS[i][0].toLowerCase();-1!==h.indexOf("north")?s+="n":-1!==h.indexOf("south")?s+="s":-1!==h.indexOf("east")?s+="e":-1!==h.indexOf("west")&&(s+="w")}2===s.length&&(s+="u"),3===s.length&&(e.axis=s)}e.UNIT&&(e.units=e.UNIT.name.toLowerCase(),"metre"===e.units&&(e.units="meter"),e.UNIT.convert&&("GEOGCS"===e.type?e.DATUM&&e.DATUM.SPHEROID&&(e.to_meter=e.UNIT.convert*e.DATUM.SPHEROID.a):e.to_meter=e.UNIT.convert));var n=e.GEOGCS;"GEOGCS"===e.type&&(n=e),n&&(n.DATUM?e.datumCode=n.DATUM.name.toLowerCase():e.datumCode=n.name.toLowerCase(),"d_"===e.datumCode.slice(0,2)&&(e.datumCode=e.datumCode.slice(2)),"new_zealand_geodetic_datum_1949"!==e.datumCode&&"new_zealand_1949"!==e.datumCode||(e.datumCode="nzgd49"),"wgs_1984"!==e.datumCode&&"world_geodetic_system_1984"!==e.datumCode||("Mercator_Auxiliary_Sphere"===e.PROJECTION&&(e.sphere=!0),e.datumCode="wgs84"),"_ferro"===e.datumCode.slice(-6)&&(e.datumCode=e.datumCode.slice(0,-6)),"_jakarta"===e.datumCode.slice(-8)&&(e.datumCode=e.datumCode.slice(0,-8)),~e.datumCode.indexOf("belge")&&(e.datumCode="rnb72"),n.DATUM&&n.DATUM.SPHEROID&&(e.ellps=n.DATUM.SPHEROID.name.replace("_19","").replace(/[Cc]larke\_18/,"clrk"),"international"===e.ellps.toLowerCase().slice(0,13)&&(e.ellps="intl"),e.a=n.DATUM.SPHEROID.a,e.rf=parseFloat(n.DATUM.SPHEROID.rf,10)),n.DATUM&&n.DATUM.TOWGS84&&(e.datum_params=n.DATUM.TOWGS84),~e.datumCode.indexOf("osgb_1936")&&(e.datumCode="osgb36"),~e.datumCode.indexOf("osni_1952")&&(e.datumCode="osni52"),(~e.datumCode.indexOf("tm65")||~e.datumCode.indexOf("geodetic_datum_of_1965"))&&(e.datumCode="ire65"),"ch1903+"===e.datumCode&&(e.datumCode="ch1903"),~e.datumCode.indexOf("israel")&&(e.datumCode="isr93")),e.b&&!isFinite(e.b)&&(e.b=e.a),[["standard_parallel_1","Standard_Parallel_1"],["standard_parallel_2","Standard_Parallel_2"],["false_easting","False_Easting"],["false_northing","False_Northing"],["central_meridian","Central_Meridian"],["latitude_of_origin","Latitude_Of_Origin"],["latitude_of_origin","Central_Parallel"],["scale_factor","Scale_Factor"],["k0","scale_factor"],["latitude_of_center","Latitude_Of_Center"],["latitude_of_center","Latitude_of_center"],["lat0","latitude_of_center",r],["longitude_of_center","Longitude_Of_Center"],["longitude_of_center","Longitude_of_center"],["longc","longitude_of_center",r],["x0","false_easting",t],["y0","false_northing",t],["long0","central_meridian",r],["lat0","latitude_of_origin",r],["lat0","standard_parallel_1",r],["lat1","standard_parallel_1",r],["lat2","standard_parallel_2",r],["azimuth","Azimuth"],["alpha","azimuth",r],["srsCode","name"]].forEach(function(t){return s=e,a=(i=t)[0],h=i[1],void(!(a in s)&&h in s&&(s[a]=s[h],3===i.length&&(s[a]=i[2](s[a]))));var s,i,a,h}),e.long0||!e.longc||"Albers_Conic_Equal_Area"!==e.projName&&"Lambert_Azimuthal_Equal_Area"!==e.projName||(e.long0=e.longc),e.lat_ts||!e.lat1||"Stereographic_South_Pole"!==e.projName&&"Polar Stereographic (variant B)"!==e.projName||(e.lat0=r(0<e.lat1?90:-90),e.lat_ts=e.lat1)}function l(t){var s=this;if(2===arguments.length){var i=arguments[1];"string"==typeof i?"+"===i.charAt(0)?l[t]=J(arguments[1]):l[t]=at(arguments[1]):l[t]=i}else if(1===arguments.length){if(Array.isArray(t))return t.map(function(t){Array.isArray(t)?l.apply(s,t):l(t)});if("string"==typeof t){if(t in l)return l[t]}else"EPSG"in t?l["EPSG:"+t.EPSG]=t:"ESRI"in t?l["ESRI:"+t.ESRI]=t:"IAU2000"in t?l["IAU2000:"+t.IAU2000]=t:console.log(t);return}}function E(t){if("string"!=typeof t)return t;if(t in l)return l[t];if(a=t,lt.some(function(t){return-1<a.indexOf(t)})){var s=at(t);if(function(t){var s=k(t,"authority");if(s){var i=k(s,"epsg");return i&&-1<Mt.indexOf(i)}}(s))return l["EPSG:3857"];var i=function(t){var s=k(t,"extension");if(s)return k(s,"proj4")}(s);return i?J(i):s}var a;return"+"===t[0]?J(t):void 0}function t(t){return t}function s(t,s){var i=mt.length;return t.names?((mt[i]=t).names.forEach(function(t){ft[t.toLowerCase()]=i}),this):(console.log(s),!0)}function q(t,s){if(!(this instanceof q))return new q(t);s=s||function(t){if(t)throw t};var i,a,h,e,n,r,o,l,M,c,u,f,m,p,d,y,_,x,g,b,v,w,C,P,S,N=E(t);"object"==typeof N&&(i=q.projections.get(N.projName))?(!N.datumCode||"none"===N.datumCode||(a=k(_t,N.datumCode))&&(N.datum_params=a.towgs84?a.towgs84.split(","):null,N.ellps=a.ellipse,N.datumName=a.datumName?a.datumName:N.datumCode),N.k0=N.k0||1,N.axis=N.axis||"enu",N.ellps=N.ellps||"wgs84",b=N.a,v=N.b,w=N.rf,C=N.ellps,P=N.sphere,b||(b=(S=(S=k(dt,C))||yt).a,v=S.b,w=S.rf),w&&!v&&(v=(1-1/w)*b),(0===w||Math.abs(b-v)<D)&&(P=!0,v=b),m=(h={a:b,b:v,rf:w,sphere:P}).a,p=h.b,d=N.R_A,x=((y=m*m)-(_=p*p))/y,g=0,d?(y=(m*=1-x*(R+x*(L+x*T)))*m,x=0):g=Math.sqrt(x),e={es:x,e:g,ep2:(y-_)/_},n=N.datum||(r=N.datumCode,o=N.datum_params,l=h.a,M=h.b,c=e.es,u=e.ep2,(f={}).datum_type=void 0===r||"none"===r?G:A,o&&(f.datum_params=o.map(parseFloat),0===f.datum_params[0]&&0===f.datum_params[1]&&0===f.datum_params[2]||(f.datum_type=I),3<f.datum_params.length&&(0===f.datum_params[3]&&0===f.datum_params[4]&&0===f.datum_params[5]&&0===f.datum_params[6]||(f.datum_type=O,f.datum_params[3]*=j,f.datum_params[4]*=j,f.datum_params[5]*=j,f.datum_params[6]=f.datum_params[6]/1e6+1))),f.a=l,f.b=M,f.es=c,f.ep2=u,f),ct(this,N),ct(this,i),this.a=h.a,this.b=h.b,this.rf=h.rf,this.sphere=h.sphere,this.es=e.es,this.e=e.e,this.ep2=e.ep2,this.datum=n,this.init(),s(null,this)):s(t)}function M(t,s,i){var a,h,e,n,r=t.x,o=t.y,l=t.z?t.z:0;if(o<-z&&-1.001*z<o)o=-z;else if(z<o&&o<1.001*z)o=z;else{if(o<-z)return{x:-1/0,y:-1/0,z:t.z};if(z<o)return{x:1/0,y:1/0,z:t.z}}return r>Math.PI&&(r-=2*Math.PI),h=Math.sin(o),n=Math.cos(o),e=h*h,{x:((a=i/Math.sqrt(1-s*e))+l)*n*Math.cos(r),y:(a+l)*n*Math.sin(r),z:(a*(1-s)+l)*h}}function c(t,s,i,a){var h,e,n,r,o,l,M,c,u,f,m,p,d,y=t.x,_=t.y,x=t.z?t.z:0,g=Math.sqrt(y*y+_*_),b=Math.sqrt(y*y+_*_+x*x);if(g/i<1e-12){if(p=0,b/i<1e-12)return d=-a,{x:t.x,y:t.y,z:t.z}}else p=Math.atan2(_,y);for(h=x/b,l=(e=g/b)*(1-s)*(n=1/Math.sqrt(1-s*(2-s)*e*e)),M=h*n,m=0;m++,r=s*(o=i/Math.sqrt(1-s*M*M))/(o+(d=g*l+x*M-o*(1-s*M*M))),f=(u=h*(n=1/Math.sqrt(1-r*(2-r)*e*e)))*l-(c=e*(1-r)*n)*M,l=c,M=u,1e-24<f*f&&m<30;);return{x:p,y:Math.atan(u/Math.abs(c)),z:d}}function u(t){return t===I||t===O}function i(t){if("function"==typeof Number.isFinite){if(Number.isFinite(t))return;throw new TypeError("coordinates must be finite numbers")}if("number"!=typeof t||t!=t||!isFinite(t))throw new TypeError("coordinates must be finite numbers")}function f(t,s,i){var a,h,e;if(Array.isArray(i)&&(i=bt(i)),vt(i),t.datum&&s.datum&&(e=s,((h=t).datum.datum_type===I||h.datum.datum_type===O)&&"WGS84"!==e.datumCode||(e.datum.datum_type===I||e.datum.datum_type===O)&&"WGS84"!==h.datumCode)&&(i=f(t,a=new q("WGS84"),i),t=a),"enu"!==t.axis&&(i=gt(t,!1,i)),"longlat"===t.projName)i={x:i.x*N,y:i.y*N,z:i.z||0};else if(t.to_meter&&(i={x:i.x*t.to_meter,y:i.y*t.to_meter,z:i.z||0}),!(i=t.inverse(i)))return;return t.from_greenwich&&(i.x+=t.from_greenwich),i=xt(t.datum,s.datum,i),s.from_greenwich&&(i={x:i.x-s.from_greenwich,y:i.y,z:i.z||0}),"longlat"===s.projName?i={x:i.x*B,y:i.y*B,z:i.z||0}:(i=s.forward(i),s.to_meter&&(i={x:i.x/s.to_meter,y:i.y/s.to_meter,z:i.z||0})),"enu"!==s.axis?gt(s,!0,i):i}function m(s,i,a){var t,h,e;return Array.isArray(a)?(t=f(s,i,a)||{x:NaN,y:NaN},2<a.length?void 0!==s.name&&"geocent"===s.name||void 0!==i.name&&"geocent"===i.name?"number"==typeof t.z?[t.x,t.y,t.z].concat(a.splice(3)):[t.x,t.y,a[2]].concat(a.splice(3)):[t.x,t.y].concat(a.splice(2)):[t.x,t.y]):(h=f(s,i,a),2===(e=Object.keys(a)).length||e.forEach(function(t){if(void 0!==s.name&&"geocent"===s.name||void 0!==i.name&&"geocent"===i.name){if("x"===t||"y"===t||"z"===t)return}else if("x"===t||"y"===t)return;h[t]=a[t]}),h)}function p(t){return t instanceof q?t:t.oProj?t.oProj:q(t)}function a(s,i,t){s=p(s);var a,h=!1;return void 0===i?(i=s,s=wt,h=!0):void 0===i.x&&!Array.isArray(i)||(t=i,i=s,s=wt,h=!0),i=p(i),t?m(s,i,t):(a={forward:function(t){return m(s,i,t)},inverse:function(t){return m(i,s,t)}},h&&(a.oProj=i),a)}function d(t,s){return s=s||5,i=function(t){var s,i,a,h,e,n,r=t.lat,o=t.lon,l=_(r),M=_(o);n=Math.floor((o+180)/6)+1,180===o&&(n=60),56<=r&&r<64&&3<=o&&o<12&&(n=32),72<=r&&r<84&&(0<=o&&o<9?n=31:9<=o&&o<21?n=33:21<=o&&o<33?n=35:33<=o&&o<42&&(n=37)),e=_(6*(n-1)-180+3),s=6378137/Math.sqrt(1-.00669438*Math.sin(l)*Math.sin(l)),i=Math.tan(l)*Math.tan(l),a=.006739496752268451*Math.cos(l)*Math.cos(l);var c=.9996*s*((h=Math.cos(l)*(M-e))+(1-i+a)*h*h*h/6+(5-18*i+i*i+72*a-.39089081163157013)*h*h*h*h*h/120)+5e5,u=.9996*(6378137*(.9983242984503243*l-.002514607064228144*Math.sin(2*l)+2639046602129982e-21*Math.sin(4*l)-3.418046101696858e-9*Math.sin(6*l))+s*Math.tan(l)*(h*h/2+(5-i+9*a+4*a*a)*h*h*h*h/24+(61-58*i+i*i+600*a-2.2240339282485886)*h*h*h*h*h*h/720));return r<0&&(u+=1e7),{northing:Math.round(u),easting:Math.round(c),zoneNumber:n,zoneLetter:function(t){var s="Z";return t<=84&&72<=t?s="X":t<72&&64<=t?s="W":t<64&&56<=t?s="V":t<56&&48<=t?s="U":t<48&&40<=t?s="T":t<40&&32<=t?s="S":t<32&&24<=t?s="R":t<24&&16<=t?s="Q":t<16&&8<=t?s="P":t<8&&0<=t?s="N":t<0&&-8<=t?s="M":t<-8&&-16<=t?s="L":t<-16&&-24<=t?s="K":t<-24&&-32<=t?s="J":t<-32&&-40<=t?s="H":t<-40&&-48<=t?s="G":t<-48&&-56<=t?s="F":t<-56&&-64<=t?s="E":t<-64&&-72<=t?s="D":t<-72&&-80<=t&&(s="C"),s}(r)}}({lat:t[1],lon:t[0]}),a=s,h="00000"+i.easting,e="00000"+i.northing,i.zoneNumber+i.zoneLetter+function(t,s,i){var a=b(i);return function(t,s,i){var a=i-1,h=Pt.charCodeAt(a),e=St.charCodeAt(a),n=h+t-1,r=e+s,o=!1;return It<n&&(n=n-It+Nt-1,o=!0),(n===kt||h<kt&&kt<n||(kt<n||h<kt)&&o)&&n++,(n===Et||h<Et&&Et<n||(Et<n||h<Et)&&o)&&++n===kt&&n++,It<n&&(n=n-It+Nt-1),o=qt<r&&(r=r-qt+Nt-1,!0),(r===kt||e<kt&&kt<r||(kt<r||e<kt)&&o)&&r++,(r===Et||e<Et&&Et<r||(Et<r||e<Et)&&o)&&++r===kt&&r++,qt<r&&(r=r-qt+Nt-1),String.fromCharCode(n)+String.fromCharCode(r)}(Math.floor(t/1e5),Math.floor(s/1e5)%20,a)}(i.easting,i.northing,i.zoneNumber)+h.substr(h.length-5,a)+e.substr(e.length-5,a);var i,a,h,e}function y(t){var s=g(v(t.toUpperCase()));return s.lat&&s.lon?[s.lon,s.lat]:[(s.left+s.right)/2,(s.top+s.bottom)/2]}function _(t){return t*(Math.PI/180)}function x(t){return t/Math.PI*180}function g(t){var s=t.northing,i=t.easting,a=t.zoneLetter,h=t.zoneNumber;if(h<0||60<h)return null;var e,n,r,o,l,M,c,u,f=(1-Math.sqrt(.99330562))/(1+Math.sqrt(.99330562)),m=i-5e5,p=s;a<"N"&&(p-=1e7),M=6*(h-1)-180+3,u=(c=p/.9996/6367449.145945056)+(3*f/2-27*f*f*f/32)*Math.sin(2*c)+(21*f*f/16-55*f*f*f*f/32)*Math.sin(4*c)+151*f*f*f/96*Math.sin(6*c),e=6378137/Math.sqrt(1-.00669438*Math.sin(u)*Math.sin(u)),n=Math.tan(u)*Math.tan(u),r=.006739496752268451*Math.cos(u)*Math.cos(u),o=6335439.32722994/Math.pow(1-.00669438*Math.sin(u)*Math.sin(u),1.5),l=m/(.9996*e);var d,y=x(y=u-e*Math.tan(u)/o*(l*l/2-(5+3*n+10*r-4*r*r-.06065547077041606)*l*l*l*l/24+(61+90*n+298*r+45*n*n-1.6983531815716497-3*r*r)*l*l*l*l*l*l/720)),_=M+x(_=(l-(1+2*n+r)*l*l*l/6+(5-2*r+28*n-3*r*r+.05391597401814761+24*n*n)*l*l*l*l*l/120)/Math.cos(u));return t.accuracy?{top:(d=g({northing:t.northing+t.accuracy,easting:t.easting+t.accuracy,zoneLetter:t.zoneLetter,zoneNumber:t.zoneNumber})).lat,right:d.lon,bottom:y,left:_}:{lat:y,lon:_}}function b(t){var s=t%Ct;return 0===s&&(s=Ct),s}function v(t){if(t&&0===t.length)throw"MGRSPoint coverting from nothing";for(var s,i=t.length,a=null,h="",e=0;!/[A-Z]/.test(s=t.charAt(e));){if(2<=e)throw"MGRSPoint bad conversion from: "+t;h+=s,e++}var n=parseInt(h,10);if(0===e||i<e+3)throw"MGRSPoint bad conversion from: "+t;var r=t.charAt(e++);if(r<="A"||"B"===r||"Y"===r||"Z"<=r||"I"===r||"O"===r)throw"MGRSPoint zone letter "+r+" not handled: "+t;a=t.substring(e,e+=2);for(var o=b(n),l=function(t,s){for(var i=Pt.charCodeAt(s-1),a=1e5,h=!1;i!==t.charCodeAt(0);){if(++i===kt&&i++,i===Et&&i++,It<i){if(h)throw"Bad character: "+t;i=Nt,h=!0}a+=1e5}return a}(a.charAt(0),o),M=function(t,s){if("V"<t)throw"MGRSPoint given invalid Northing "+t;for(var i=St.charCodeAt(s-1),a=0,h=!1;i!==t.charCodeAt(0);){if(++i===kt&&i++,i===Et&&i++,qt<i){if(h)throw"Bad character: "+t;i=Nt,h=!0}a+=1e5}return a}(a.charAt(1),o);M<w(r);)M+=2e6;var c=i-e;if(c%2!=0)throw"MGRSPoint has to have an even number \nof digits after the zone letter and two 100km letters - front \nhalf for easting meters, second half for \nnorthing meters"+t;var u,f,m,p=c/2,d=0,y=0;return 0<p&&(u=1e5/Math.pow(10,p),f=t.substring(e,e+p),d=parseFloat(f)*u,m=t.substring(e+p),y=parseFloat(m)*u),{easting:d+l,northing:y+M,zoneLetter:r,zoneNumber:n,accuracy:u}}function w(t){var s;switch(t){case"C":s=11e5;break;case"D":s=2e6;break;case"E":s=28e5;break;case"F":s=37e5;break;case"G":s=46e5;break;case"H":s=55e5;break;case"J":s=64e5;break;case"K":s=73e5;break;case"L":s=82e5;break;case"M":s=91e5;break;case"N":s=0;break;case"P":s=8e5;break;case"Q":s=17e5;break;case"R":s=26e5;break;case"S":s=35e5;break;case"T":s=44e5;break;case"U":s=53e5;break;case"V":s=62e5;break;case"W":s=7e6;break;case"X":s=79e5;break;default:s=-1}if(0<=s)return s;throw"Invalid zone letter: "+t}function C(t,s,i){if(!(this instanceof C))return new C(t,s,i);var a;Array.isArray(t)?(this.x=t[0],this.y=t[1],this.z=t[2]||0):"object"==typeof t?(this.x=t.x,this.y=t.y,this.z=t.z||0):"string"==typeof t&&void 0===s?(a=t.split(","),this.x=parseFloat(a[0],10),this.y=parseFloat(a[1],10),this.z=parseFloat(a[2],10)||0):(this.x=t,this.y=s,this.z=i||0),console.warn("proj4.Point will be removed in version 3, use proj4.toPoint")}function P(t,s,i,a){var h;return t<D?(a.value=Os,h=0):(h=Math.atan2(s,i),Math.abs(h)<=U?a.value=Os:U<h&&h<=z+U?(a.value=As,h-=z):z+U<h||h<=-(z+U)?(a.value=Gs,h=0<=h?h-Q:h+Q):(a.value=js,h+=z)),h}function S(t,s){var i=t+s;return i<-Q?i+=F:+Q<i&&(i-=F),i}var I=1,O=2,A=4,G=5,j=484813681109536e-20,z=Math.PI/2,R=.16666666666666666,L=.04722222222222222,T=.022156084656084655,D=1e-10,N=.017453292519943295,B=57.29577951308232,U=Math.PI/4,F=2*Math.PI,Q=3.14159265359,W={greenwich:0,lisbon:-9.131906111111,paris:2.337229166667,bogota:-74.080916666667,madrid:-3.687938888889,rome:12.452333333333,bern:7.439583333333,jakarta:106.807719444444,ferro:-17.666666666667,brussels:4.367975,stockholm:18.058277777778,athens:23.7163375,oslo:10.722916666667},X={ft:{to_meter:.3048},"us-ft":{to_meter:1200/3937}},H=/[\s_\-\/\(\)]/g,J=function(t){var s,i,a,h={},e=t.split("+").map(function(t){return t.trim()}).filter(function(t){return t}).reduce(function(t,s){var i=s.split("=");return i.push(!0),t[i[0].toLowerCase()]=i[1],t},{}),n={proj:"projName",datum:"datumCode",rf:function(t){h.rf=parseFloat(t)},lat_0:function(t){h.lat0=t*N},lat_1:function(t){h.lat1=t*N},lat_2:function(t){h.lat2=t*N},lat_ts:function(t){h.lat_ts=t*N},lon_0:function(t){h.long0=t*N},lon_1:function(t){h.long1=t*N},lon_2:function(t){h.long2=t*N},alpha:function(t){h.alpha=parseFloat(t)*N},lonc:function(t){h.longc=t*N},x_0:function(t){h.x0=parseFloat(t)},y_0:function(t){h.y0=parseFloat(t)},k_0:function(t){h.k0=parseFloat(t)},k:function(t){h.k0=parseFloat(t)},a:function(t){h.a=parseFloat(t)},b:function(t){h.b=parseFloat(t)},r_a:function(){h.R_A=!0},zone:function(t){h.zone=parseInt(t,10)},south:function(){h.utmSouth=!0},towgs84:function(t){h.datum_params=t.split(",").map(function(t){return parseFloat(t)})},to_meter:function(t){h.to_meter=parseFloat(t)},units:function(t){h.units=t;var s=k(X,t);s&&(h.to_meter=s.to_meter)},from_greenwich:function(t){h.from_greenwich=t*N},pm:function(t){var s=k(W,t);h.from_greenwich=(s||parseFloat(t))*N},nadgrids:function(t){"@null"===t?h.datumCode="none":h.nadgrids=t},axis:function(t){3===t.length&&-1!=="ewnsud".indexOf(t.substr(0,1))&&-1!=="ewnsud".indexOf(t.substr(1,1))&&-1!=="ewnsud".indexOf(t.substr(2,1))&&(h.axis=t)}};for(s in e)i=e[s],s in n?"function"==typeof(a=n[s])?a(i):h[a]=i:h[s]=i;return"string"==typeof h.datumCode&&"WGS84"!==h.datumCode&&(h.datumCode=h.datumCode.toLowerCase()),h},K=1,V=/\s/,Z=/[A-Za-z]/,Y=/[A-Za-z84]/,$=/[,\]]/,tt=/[\d\.E\-\+]/;e.prototype.readCharicter=function(){var t=this.text[this.place++];if(4!==this.state)for(;V.test(t);){if(this.place>=this.text.length)return;t=this.text[this.place++]}switch(this.state){case K:return this.neutral(t);case 2:return this.keyword(t);case 4:return this.quoted(t);case 5:return this.afterquote(t);case 3:return this.number(t);case-1:return}},e.prototype.afterquote=function(t){if('"'===t)return this.word+='"',void(this.state=4);if($.test(t))return this.word=this.word.trim(),void this.afterItem(t);throw new Error("havn't handled \""+t+'" in afterquote yet, index '+this.place)},e.prototype.afterItem=function(t){return","===t?(null!==this.word&&this.currentObject.push(this.word),this.word=null,void(this.state=K)):"]"===t?(this.level--,null!==this.word&&(this.currentObject.push(this.word),this.word=null),this.state=K,this.currentObject=this.stack.pop(),void(this.currentObject||(this.state=-1))):void 0},e.prototype.number=function(t){if(!tt.test(t)){if($.test(t))return this.word=parseFloat(this.word),void this.afterItem(t);throw new Error("havn't handled \""+t+'" in number yet, index '+this.place)}this.word+=t},e.prototype.quoted=function(t){'"'!==t?this.word+=t:this.state=5},e.prototype.keyword=function(t){if(Y.test(t))this.word+=t;else{if("["===t){var s=[];return s.push(this.word),this.level++,null===this.root?this.root=s:this.currentObject.push(s),this.stack.push(this.currentObject),this.currentObject=s,void(this.state=K)}if(!$.test(t))throw new Error("havn't handled \""+t+'" in keyword yet, index '+this.place);this.afterItem(t)}},e.prototype.neutral=function(t){if(Z.test(t))return this.word=t,void(this.state=2);if('"'===t)return this.word="",void(this.state=4);if(tt.test(t))return this.word=t,void(this.state=3);if(!$.test(t))throw new Error("havn't handled \""+t+'" in neutral yet, index '+this.place);this.afterItem(t)},e.prototype.output=function(){for(;this.place<this.text.length;)this.readCharicter();if(-1===this.state)return this.root;throw new Error('unable to parse string "'+this.text+'". State is '+this.state)};var st,it=.017453292519943295,at=function(t){var s=new e(t).output(),i=s.shift(),a=s.shift();s.unshift(["name",a]),s.unshift(["type",i]);var h={};return n(s,h),o(h),h};(st=l)("EPSG:4326","+title=WGS 84 (long/lat) +proj=longlat +ellps=WGS84 +datum=WGS84 +units=degrees"),st("EPSG:4269","+title=NAD83 (long/lat) +proj=longlat +a=6378137.0 +b=6356752.31414036 +ellps=GRS80 +datum=NAD83 +units=degrees"),st("EPSG:3857","+title=WGS 84 / Pseudo-Mercator +proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +no_defs"),st.WGS84=st["EPSG:4326"],st["EPSG:3785"]=st["EPSG:3857"],st.GOOGLE=st["EPSG:3857"],st["EPSG:900913"]=st["EPSG:3857"],st["EPSG:102113"]=st["EPSG:3857"];function ht(t,s,i){var a=t*s;return i/Math.sqrt(1-a*a)}function et(t){return t<0?-1:1}function nt(t){return Math.abs(t)<=Q?t:t-et(t)*F}function rt(t,s,i){var a=t*i,h=.5*t,a=Math.pow((1-a)/(1+a),h);return Math.tan(.5*(z-s))/a}function ot(t,s){for(var i,a,h=.5*t,e=z-2*Math.atan(s),n=0;n<=15;n++)if(i=t*Math.sin(e),e+=a=z-2*Math.atan(s*Math.pow((1-i)/(1+i),h))-e,Math.abs(a)<=1e-10)return e;return-9999}var lt=["PROJECTEDCRS","PROJCRS","GEOGCS","GEOCCS","PROJCS","LOCAL_CS","GEODCRS","GEODETICCRS","GEODETICDATUM","ENGCRS","ENGINEERINGCRS"],Mt=["3857","900913","3785","102113"],ct=function(t,s){var i,a;if(t=t||{},!s)return t;for(a in s)void 0!==(i=s[a])&&(t[a]=i);return t},ut=[{init:function(){var t=this.b/this.a;this.es=1-t*t,"x0"in this||(this.x0=0),"y0"in this||(this.y0=0),this.e=Math.sqrt(this.es),this.lat_ts?this.sphere?this.k0=Math.cos(this.lat_ts):this.k0=ht(this.e,Math.sin(this.lat_ts),Math.cos(this.lat_ts)):this.k0||(this.k?this.k0=this.k:this.k0=1)},forward:function(t){var s,i,a,h,e=t.x,n=t.y;return 90<n*B&&n*B<-90&&180<e*B&&e*B<-180||Math.abs(Math.abs(n)-z)<=D?null:(h=this.sphere?(a=this.x0+this.a*this.k0*nt(e-this.long0),this.y0+this.a*this.k0*Math.log(Math.tan(U+.5*n))):(s=Math.sin(n),i=rt(this.e,n,s),a=this.x0+this.a*this.k0*nt(e-this.long0),this.y0-this.a*this.k0*Math.log(i)),t.x=a,t.y=h,t)},inverse:function(t){var s,i,a=t.x-this.x0,h=t.y-this.y0;if(this.sphere)i=z-2*Math.atan(Math.exp(-h/(this.a*this.k0)));else{var e=Math.exp(-h/(this.a*this.k0));if(-9999===(i=ot(this.e,e)))return null}return s=nt(this.long0+a/(this.a*this.k0)),t.x=s,t.y=i,t},names:["Mercator","Popular Visualisation Pseudo Mercator","Mercator_1SP","Mercator_Auxiliary_Sphere","merc"]},{init:function(){},forward:t,inverse:t,names:["longlat","identity"]}],ft={},mt=[],pt={start:function(){ut.forEach(s)},add:s,get:function(t){if(!t)return!1;var s=t.toLowerCase();return void 0!==ft[s]&&mt[ft[s]]?mt[ft[s]]:void 0}},dt={MERIT:{a:6378137,rf:298.257,ellipseName:"MERIT 1983"},SGS85:{a:6378136,rf:298.257,ellipseName:"Soviet Geodetic System 85"},GRS80:{a:6378137,rf:298.257222101,ellipseName:"GRS 1980(IUGG, 1980)"},IAU76:{a:6378140,rf:298.257,ellipseName:"IAU 1976"},airy:{a:6377563.396,b:6356256.91,ellipseName:"Airy 1830"},APL4:{a:6378137,rf:298.25,ellipseName:"Appl. Physics. 1965"},NWL9D:{a:6378145,rf:298.25,ellipseName:"Naval Weapons Lab., 1965"},mod_airy:{a:6377340.189,b:6356034.446,ellipseName:"Modified Airy"},andrae:{a:6377104.43,rf:300,ellipseName:"Andrae 1876 (Den., Iclnd.)"},aust_SA:{a:6378160,rf:298.25,ellipseName:"Australian Natl & S. Amer. 1969"},GRS67:{a:6378160,rf:298.247167427,ellipseName:"GRS 67(IUGG 1967)"},bessel:{a:6377397.155,rf:299.1528128,ellipseName:"Bessel 1841"},bess_nam:{a:6377483.865,rf:299.1528128,ellipseName:"Bessel 1841 (Namibia)"},clrk66:{a:6378206.4,b:6356583.8,ellipseName:"Clarke 1866"},clrk80:{a:6378249.145,rf:293.4663,ellipseName:"Clarke 1880 mod."},clrk58:{a:6378293.645208759,rf:294.2606763692654,ellipseName:"Clarke 1858"},CPM:{a:6375738.7,rf:334.29,ellipseName:"Comm. des Poids et Mesures 1799"},delmbr:{a:6376428,rf:311.5,ellipseName:"Delambre 1810 (Belgium)"},engelis:{a:6378136.05,rf:298.2566,ellipseName:"Engelis 1985"},evrst30:{a:6377276.345,rf:300.8017,ellipseName:"Everest 1830"},evrst48:{a:6377304.063,rf:300.8017,ellipseName:"Everest 1948"},evrst56:{a:6377301.243,rf:300.8017,ellipseName:"Everest 1956"},evrst69:{a:6377295.664,rf:300.8017,ellipseName:"Everest 1969"},evrstSS:{a:6377298.556,rf:300.8017,ellipseName:"Everest (Sabah & Sarawak)"},fschr60:{a:6378166,rf:298.3,ellipseName:"Fischer (Mercury Datum) 1960"},fschr60m:{a:6378155,rf:298.3,ellipseName:"Fischer 1960"},fschr68:{a:6378150,rf:298.3,ellipseName:"Fischer 1968"},helmert:{a:6378200,rf:298.3,ellipseName:"Helmert 1906"},hough:{a:6378270,rf:297,ellipseName:"Hough"},intl:{a:6378388,rf:297,ellipseName:"International 1909 (Hayford)"},kaula:{a:6378163,rf:298.24,ellipseName:"Kaula 1961"},lerch:{a:6378139,rf:298.257,ellipseName:"Lerch 1979"},mprts:{a:6397300,rf:191,ellipseName:"Maupertius 1738"},new_intl:{a:6378157.5,b:6356772.2,ellipseName:"New International 1967"},plessis:{a:6376523,rf:6355863,ellipseName:"Plessis 1817 (France)"},krass:{a:6378245,rf:298.3,ellipseName:"Krassovsky, 1942"},SEasia:{a:6378155,b:6356773.3205,ellipseName:"Southeast Asia"},walbeck:{a:6376896,b:6355834.8467,ellipseName:"Walbeck"},WGS60:{a:6378165,rf:298.3,ellipseName:"WGS 60"},WGS66:{a:6378145,rf:298.25,ellipseName:"WGS 66"},WGS7:{a:6378135,rf:298.26,ellipseName:"WGS 72"}},yt=dt.WGS84={a:6378137,rf:298.257223563,ellipseName:"WGS 84"};dt.sphere={a:6370997,b:6370997,ellipseName:"Normal Sphere (r=6370997)"};var _t={wgs84:{towgs84:"0,0,0",ellipse:"WGS84",datumName:"WGS84"},ch1903:{towgs84:"674.374,15.056,405.346",ellipse:"bessel",datumName:"swiss"},ggrs87:{towgs84:"-199.87,74.79,246.62",ellipse:"GRS80",datumName:"Greek_Geodetic_Reference_System_1987"},nad83:{towgs84:"0,0,0",ellipse:"GRS80",datumName:"North_American_Datum_1983"},nad27:{nadgrids:"@conus,@alaska,@ntv2_0.gsb,@ntv1_can.dat",ellipse:"clrk66",datumName:"North_American_Datum_1927"},potsdam:{towgs84:"606.0,23.0,413.0",ellipse:"bessel",datumName:"Potsdam Rauenberg 1950 DHDN"},carthage:{towgs84:"-263.0,6.0,431.0",ellipse:"clark80",datumName:"Carthage 1934 Tunisia"},hermannskogel:{towgs84:"653.0,-212.0,449.0",ellipse:"bessel",datumName:"Hermannskogel"},osni52:{towgs84:"482.530,-130.596,564.557,-1.042,-0.214,-0.631,8.15",ellipse:"airy",datumName:"Irish National"},ire65:{towgs84:"482.530,-130.596,564.557,-1.042,-0.214,-0.631,8.15",ellipse:"mod_airy",datumName:"Ireland 1965"},rassadiran:{towgs84:"-133.63,-157.5,-158.62",ellipse:"intl",datumName:"Rassadiran"},nzgd49:{towgs84:"59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993",ellipse:"intl",datumName:"New Zealand Geodetic Datum 1949"},osgb36:{towgs84:"446.448,-125.157,542.060,0.1502,0.2470,0.8421,-20.4894",ellipse:"airy",datumName:"Airy 1830"},s_jtsk:{towgs84:"589,76,480",ellipse:"bessel",datumName:"S-JTSK (Ferro)"},beduaram:{towgs84:"-106,-87,188",ellipse:"clrk80",datumName:"Beduaram"},gunung_segara:{towgs84:"-403,684,41",ellipse:"bessel",datumName:"Gunung Segara Jakarta"},rnb72:{towgs84:"106.869,-52.2978,103.724,-0.33657,0.456955,-1.84218,1",ellipse:"intl",datumName:"Reseau National Belge 1972"}};q.projections=pt,q.projections.start();var xt=function(t,s,i){return h=s,((a=t).datum_type!==h.datum_type||a.a!==h.a||5e-11<Math.abs(a.es-h.es)||(a.datum_type===I?a.datum_params[0]!==h.datum_params[0]||a.datum_params[1]!==h.datum_params[1]||a.datum_params[2]!==h.datum_params[2]:a.datum_type===O&&(a.datum_params[0]!==h.datum_params[0]||a.datum_params[1]!==h.datum_params[1]||a.datum_params[2]!==h.datum_params[2]||a.datum_params[3]!==h.datum_params[3]||a.datum_params[4]!==h.datum_params[4]||a.datum_params[5]!==h.datum_params[5]||a.datum_params[6]!==h.datum_params[6])))&&t.datum_type!==G&&s.datum_type!==G&&(t.es!==s.es||t.a!==s.a||u(t.datum_type)||u(s.datum_type))?(i=M(i,t.es,t.a),u(t.datum_type)&&(i=function(t,s,i){if(s===I)return{x:t.x+i[0],y:t.y+i[1],z:t.z+i[2]};if(s===O){var a=i[0],h=i[1],e=i[2],n=i[3],r=i[4],o=i[5],l=i[6];return{x:l*(t.x-o*t.y+r*t.z)+a,y:l*(o*t.x+t.y-n*t.z)+h,z:l*(-r*t.x+n*t.y+t.z)+e}}}(i,t.datum_type,t.datum_params)),u(s.datum_type)&&(i=function(t,s,i){if(s===I)return{x:t.x-i[0],y:t.y-i[1],z:t.z-i[2]};if(s===O){var a=i[0],h=i[1],e=i[2],n=i[3],r=i[4],o=i[5],l=i[6],M=(t.x-a)/l,c=(t.y-h)/l,u=(t.z-e)/l;return{x:M+o*c-r*u,y:-o*M+c+n*u,z:r*M-n*c+u}}}(i,s.datum_type,s.datum_params)),c(i,s.es,s.a,s.b)):i;var a,h},gt=function(t,s,i){for(var a,h,e=i.x,n=i.y,r=i.z||0,o={},l=0;l<3;l++)if(!s||2!==l||void 0!==i.z)switch(h=0===l?(a=e,-1!=="ew".indexOf(t.axis[l])?"x":"y"):1===l?(a=n,-1!=="ns".indexOf(t.axis[l])?"y":"x"):(a=r,"z"),t.axis[l]){case"e":case"w":case"n":case"s":o[h]=a;break;case"u":void 0!==i[h]&&(o.z=a);break;case"d":void 0!==i[h]&&(o.z=-a);break;default:return null}return o},bt=function(t){var s={x:t[0],y:t[1]};return 2<t.length&&(s.z=t[2]),3<t.length&&(s.m=t[3]),s},vt=function(t){i(t.x),i(t.y)},wt=q("WGS84"),Ct=6,Pt="AJSAJS",St="AFAFAF",Nt=65,kt=73,Et=79,qt=86,It=90,Ot={forward:d,inverse:function(t){var s=g(v(t.toUpperCase()));return s.lat&&s.lon?[s.lon,s.lat,s.lon,s.lat]:[s.left,s.bottom,s.right,s.top]},toPoint:y};C.fromMGRS=function(t){return new C(y(t))},C.prototype.toMGRS=function(t){return d([this.x,this.y],t)};function At(t){var s=[];s[0]=1-t*(.25+t*(.046875+t*(.01953125+t*ts))),s[1]=t*(.75-t*(.046875+t*(.01953125+t*ts)));var i=t*t;return s[2]=i*(.46875-t*(.013020833333333334+.007120768229166667*t)),i*=t,s[3]=i*(.3645833333333333-.005696614583333333*t),s[4]=i*t*.3076171875,s}function Gt(t,s,i,a){return i*=s,s*=s,a[0]*t-i*(a[1]+s*(a[2]+s*(a[3]+s*a[4])))}function jt(t,s,i){for(var a=1/(1-s),h=t,e=20;e;--e){var n=Math.sin(h),r=1-s*n*n;if(h-=r=(Gt(h,n,Math.cos(h),i)-t)*(r*Math.sqrt(r))*a,Math.abs(r)<D)return h}return h}function zt(t){var s=Math.exp(t);return(s-1/s)/2}function Rt(t,s){t=Math.abs(t),s=Math.abs(s);var i=Math.max(t,s),a=Math.min(t,s)/(i||1);return i*Math.sqrt(1+Math.pow(a,2))}function Lt(t){var s,i,a,h=Math.abs(t);return s=h*(1+h/(Rt(1,h)+1)),h=0==(a=(i=1+s)-1)?s:s*Math.log(i)/a,t<0?-h:h}function Tt(t,s){for(var i,a=2*Math.cos(2*s),h=t.length-1,e=t[h],n=0;0<=--h;)i=a*e-n+t[h],n=e,e=i;return s+i*Math.sin(2*s)}function Dt(t,s,i){for(var a,h,e,n,r=Math.sin(s),o=Math.cos(s),l=zt(i),M=(e=i,((n=Math.exp(e))+1/n)/2),c=2*o*M,u=-2*r*l,f=t.length-1,m=t[f],p=0,d=0,y=0;0<=--f;)a=d,h=p,m=c*(d=m)-a-u*(p=y)+t[f],y=u*d-h+c*p;return[(c=r*M)*m-(u=o*l)*y,c*y+u*m]}function Bt(t,s){return Math.pow((1-t)/(1+t),s)}function Ut(t,s,i,a,h){return t*h-s*Math.sin(2*h)+i*Math.sin(4*h)-a*Math.sin(6*h)}function Ft(t){return 1-.25*t*(1+t/16*(3+1.25*t))}function Qt(t){return.375*t*(1+.25*t*(1+.46875*t))}function Wt(t){return.05859375*t*t*(1+.75*t)}function Xt(t){return t*t*t*(35/3072)}function Ht(t,s,i){var a=s*i;return t/Math.sqrt(1-a*a)}function Jt(t){return Math.abs(t)<z?t:t-et(t)*Math.PI}function Kt(t,s,i,a,h){for(var e,n=t/s,r=0;r<15;r++)if(n+=e=(t-(s*n-i*Math.sin(2*n)+a*Math.sin(4*n)-h*Math.sin(6*n)))/(s-2*i*Math.cos(2*n)+4*a*Math.cos(4*n)-6*h*Math.cos(6*n)),Math.abs(e)<=1e-10)return n;return NaN}function Vt(t,s){var i;return 1e-7<t?(1-t*t)*(s/(1-(i=t*s)*i)-.5/t*Math.log((1-i)/(1+i))):2*s}function Zt(t){return 1<Math.abs(t)&&(t=1<t?1:-1),Math.asin(t)}function Yt(t,s){return t[0]+s*(t[1]+s*(t[2]+s*t[3]))}var $t,ts=.01068115234375,ss={init:function(){this.x0=void 0!==this.x0?this.x0:0,this.y0=void 0!==this.y0?this.y0:0,this.long0=void 0!==this.long0?this.long0:0,this.lat0=void 0!==this.lat0?this.lat0:0,this.es&&(this.en=At(this.es),this.ml0=Gt(this.lat0,Math.sin(this.lat0),Math.cos(this.lat0),this.en))},forward:function(t){var s=t.x,i=t.y,a=nt(s-this.long0),h=Math.sin(i),e=Math.cos(i);if(this.es){var n=e*a,r=Math.pow(n,2),o=this.ep2*Math.pow(e,2),l=Math.pow(o,2),M=Math.abs(e)>D?Math.tan(i):0,c=Math.pow(M,2),u=Math.pow(c,2),f=1-this.es*Math.pow(h,2);n/=Math.sqrt(f);var m=Gt(i,h,e,this.en),p=this.a*(this.k0*n*(1+r/6*(1-c+o+r/20*(5-18*c+u+14*o-58*c*o+r/42*(61+179*u-u*c-479*c)))))+this.x0,d=this.a*(this.k0*(m-this.ml0+h*a*n/2*(1+r/12*(5-c+9*o+4*l+r/30*(61+u-58*c+270*o-330*c*o+r/56*(1385+543*u-u*c-3111*c))))))+this.y0}else{var y=e*Math.sin(a);if(Math.abs(Math.abs(y)-1)<D)return 93;if(p=.5*this.a*this.k0*Math.log((1+y)/(1-y))+this.x0,d=e*Math.cos(a)/Math.sqrt(1-Math.pow(y,2)),1<=(y=Math.abs(d))){if(D<y-1)return 93;d=0}else d=Math.acos(d);i<0&&(d=-d),d=this.a*this.k0*(d-this.lat0)+this.y0}return t.x=p,t.y=d,t},inverse:function(t){var s,i,a,h,e,n,r,o,l,M,c,u,f,m,p,d,y,_=(t.x-this.x0)*(1/this.a),x=(t.y-this.y0)*(1/this.a);return f=this.es?(l=this.ml0+x/this.k0,s=jt(l,this.es,this.en),Math.abs(s)<z?(i=Math.sin(s),a=Math.cos(s),h=Math.abs(a)>D?Math.tan(s):0,e=this.ep2*Math.pow(a,2),n=Math.pow(e,2),r=Math.pow(h,2),o=Math.pow(r,2),l=1-this.es*Math.pow(i,2),M=_*Math.sqrt(l)/this.k0,u=s-(l*=h)*(c=Math.pow(M,2))/(1-this.es)*.5*(1-c/12*(5+3*r-9*e*r+e-4*n-c/30*(61+90*r-252*e*r+45*o+46*e-c/56*(1385+3633*r+4095*o+1574*o*r)))),nt(this.long0+M*(1-c/6*(1+2*r+e-c/20*(5+28*r+24*o+8*e*r+6*e-c/42*(61+662*r+1320*o+720*o*r))))/a)):(u=z*et(x),0)):(p=.5*((m=Math.exp(_/this.k0))-1/m),d=this.lat0+x/this.k0,y=Math.cos(d),l=Math.sqrt((1-Math.pow(y,2))/(1+Math.pow(p,2))),u=Math.asin(l),x<0&&(u=-u),0==p&&0===y?0:nt(Math.atan2(p,y)+this.long0)),t.x=f,t.y=u,t},names:["Transverse_Mercator","Transverse Mercator","tmerc"]},is={init:function(){if(void 0===this.es||this.es<=0)throw new Error("incorrect elliptical usage");this.x0=void 0!==this.x0?this.x0:0,this.y0=void 0!==this.y0?this.y0:0,this.long0=void 0!==this.long0?this.long0:0,this.lat0=void 0!==this.lat0?this.lat0:0,this.cgb=[],this.cbg=[],this.utg=[],this.gtu=[];var t=this.es/(1+Math.sqrt(1-this.es)),s=t/(2-t),i=s;this.cgb[0]=s*(2+s*(-2/3+s*(s*(116/45+s*(26/45+-2854/675*s))-2))),this.cbg[0]=s*(s*(2/3+s*(4/3+s*(-82/45+s*(32/45+4642/4725*s))))-2),i*=s,this.cgb[1]=i*(7/3+s*(s*(-227/45+s*(2704/315+2323/945*s))-1.6)),this.cbg[1]=i*(5/3+s*(-16/15+s*(-13/9+s*(904/315+-1522/945*s)))),i*=s,this.cgb[2]=i*(56/15+s*(-136/35+s*(-1262/105+73814/2835*s))),this.cbg[2]=i*(-26/15+s*(34/21+s*(1.6+-12686/2835*s))),i*=s,this.cgb[3]=i*(4279/630+s*(-332/35+-399572/14175*s)),this.cbg[3]=i*(1237/630+s*(-24832/14175*s-2.4)),i*=s,this.cgb[4]=i*(4174/315+-144838/6237*s),this.cbg[4]=i*(-734/315+109598/31185*s),i*=s,this.cgb[5]=i*(601676/22275),this.cbg[5]=i*(444337/155925),i=Math.pow(s,2),this.Qn=this.k0/(1+s)*(1+i*(.25+i*(1/64+i/256))),this.utg[0]=s*(s*(2/3+s*(-37/96+s*(1/360+s*(81/512+-96199/604800*s))))-.5),this.gtu[0]=s*(.5+s*(-2/3+s*(5/16+s*(41/180+s*(-127/288+7891/37800*s))))),this.utg[1]=i*(-1/48+s*(-1/15+s*(437/1440+s*(-46/105+1118711/3870720*s)))),this.gtu[1]=i*(13/48+s*(s*(557/1440+s*(281/630+-1983433/1935360*s))-.6)),i*=s,this.utg[2]=i*(-17/480+s*(37/840+s*(209/4480+-5569/90720*s))),this.gtu[2]=i*(61/240+s*(-103/140+s*(15061/26880+167603/181440*s))),i*=s,this.utg[3]=i*(-4397/161280+s*(11/504+830251/7257600*s)),this.gtu[3]=i*(49561/161280+s*(-179/168+6601661/7257600*s)),i*=s,this.utg[4]=i*(-4583/161280+108847/3991680*s),this.gtu[4]=i*(34729/80640+-3418889/1995840*s),i*=s,this.utg[5]=-.03233083094085698*i,this.gtu[5]=.6650675310896665*i;var a=Tt(this.cbg,this.lat0);this.Zb=-this.Qn*(a+function(t,s){for(var i,a=2*Math.cos(s),h=t.length-1,e=t[h],n=0;0<=--h;)i=a*e-n+t[h],n=e,e=i;return Math.sin(s)*i}(this.gtu,2*a))},forward:function(t){var s=nt(t.x-this.long0),i=t.y,i=Tt(this.cbg,i),a=Math.sin(i),h=Math.cos(i),e=Math.sin(s),n=Math.cos(s);i=Math.atan2(a,n*h),s=Math.atan2(e*h,Rt(a,h*n)),s=Lt(Math.tan(s));var r,o,l=Dt(this.gtu,2*i,2*s);return i+=l[0],s+=l[1],o=Math.abs(s)<=2.623395162778?(r=this.a*(this.Qn*s)+this.x0,this.a*(this.Qn*i+this.Zb)+this.y0):r=1/0,t.x=r,t.y=o,t},inverse:function(t){var s,i,a,h,e,n,r,o=(t.x-this.x0)*(1/this.a),l=(t.y-this.y0)*(1/this.a);return l=(l-this.Zb)/this.Qn,o/=this.Qn,r=Math.abs(o)<=2.623395162778?(l+=(s=Dt(this.utg,2*l,2*o))[0],o+=s[1],o=Math.atan(zt(o)),i=Math.sin(l),a=Math.cos(l),h=Math.sin(o),e=Math.cos(o),l=Math.atan2(i*e,Rt(h,e*a)),o=Math.atan2(h,e*a),n=nt(o+this.long0),Tt(this.cgb,l)):n=1/0,t.x=n,t.y=r,t},names:["Extended_Transverse_Mercator","Extended Transverse Mercator","etmerc"]},as={init:function(){var t=function(t,s){if(void 0===t){if((t=Math.floor(30*(nt(s)+Math.PI)/Math.PI)+1)<0)return 0;if(60<t)return 60}return t}(this.zone,this.long0);if(void 0===t)throw new Error("unknown utm zone");this.lat0=0,this.long0=(6*Math.abs(t)-183)*N,this.x0=5e5,this.y0=this.utmSouth?1e7:0,this.k0=.9996,is.init.apply(this),this.forward=is.forward,this.inverse=is.inverse},names:["Universal Transverse Mercator System","utm"],dependsOn:"etmerc"},hs={init:function(){var t=Math.sin(this.lat0),s=Math.cos(this.lat0);s*=s,this.rc=Math.sqrt(1-this.es)/(1-this.es*t*t),this.C=Math.sqrt(1+this.es*s*s/(1-this.es)),this.phic0=Math.asin(t/this.C),this.ratexp=.5*this.C*this.e,this.K=Math.tan(.5*this.phic0+U)/(Math.pow(Math.tan(.5*this.lat0+U),this.C)*Bt(this.e*t,this.ratexp))},forward:function(t){var s=t.x,i=t.y;return t.y=2*Math.atan(this.K*Math.pow(Math.tan(.5*i+U),this.C)*Bt(this.e*Math.sin(i),this.ratexp))-z,t.x=this.C*s,t},inverse:function(t){for(var s=t.x/this.C,i=t.y,a=Math.pow(Math.tan(.5*i+U)/this.K,1/this.C),h=20;0<h&&(i=2*Math.atan(a*Bt(this.e*Math.sin(t.y),-.5*this.e))-z,!(Math.abs(i-t.y)<1e-14));--h)t.y=i;return h?(t.x=s,t.y=i,t):null},names:["gauss"]},es={init:function(){hs.init.apply(this),this.rc&&(this.sinc0=Math.sin(this.phic0),this.cosc0=Math.cos(this.phic0),this.R2=2*this.rc,this.title||(this.title="Oblique Stereographic Alternative"))},forward:function(t){var s,i,a,h;return t.x=nt(t.x-this.long0),hs.forward.apply(this,[t]),s=Math.sin(t.y),i=Math.cos(t.y),a=Math.cos(t.x),h=this.k0*this.R2/(1+this.sinc0*s+this.cosc0*i*a),t.x=h*i*Math.sin(t.x),t.y=h*(this.cosc0*s-this.sinc0*i*a),t.x=this.a*t.x+this.x0,t.y=this.a*t.y+this.y0,t},inverse:function(t){var s,i,a,h,e,n;return t.x=(t.x-this.x0)/this.a,t.y=(t.y-this.y0)/this.a,t.x/=this.k0,t.y/=this.k0,n=(s=Math.sqrt(t.x*t.x+t.y*t.y))?(i=2*Math.atan2(s,this.R2),a=Math.sin(i),h=Math.cos(i),e=Math.asin(h*this.sinc0+t.y*a*this.cosc0/s),Math.atan2(t.x*a,s*this.cosc0*h-t.y*this.sinc0*a)):(e=this.phic0,0),t.x=n,t.y=e,hs.inverse.apply(this,[t]),t.x=nt(t.x+this.long0),t},names:["Stereographic_North_Pole","Oblique_Stereographic","Polar_Stereographic","sterea","Oblique Stereographic Alternative","Double_Stereographic"]},ns={init:function(){this.coslat0=Math.cos(this.lat0),this.sinlat0=Math.sin(this.lat0),this.sphere?1===this.k0&&!isNaN(this.lat_ts)&&Math.abs(this.coslat0)<=D&&(this.k0=.5*(1+et(this.lat0)*Math.sin(this.lat_ts))):(Math.abs(this.coslat0)<=D&&(0<this.lat0?this.con=1:this.con=-1),this.cons=Math.sqrt(Math.pow(1+this.e,1+this.e)*Math.pow(1-this.e,1-this.e)),1===this.k0&&!isNaN(this.lat_ts)&&Math.abs(this.coslat0)<=D&&(this.k0=.5*this.cons*ht(this.e,Math.sin(this.lat_ts),Math.cos(this.lat_ts))/rt(this.e,this.con*this.lat_ts,this.con*Math.sin(this.lat_ts))),this.ms1=ht(this.e,this.sinlat0,this.coslat0),this.X0=2*Math.atan(this.ssfn_(this.lat0,this.sinlat0,this.e))-z,this.cosX0=Math.cos(this.X0),this.sinX0=Math.sin(this.X0))},forward:function(t){var s,i,a,h,e,n,r=t.x,o=t.y,l=Math.sin(o),M=Math.cos(o),c=nt(r-this.long0);return Math.abs(Math.abs(r-this.long0)-Math.PI)<=D&&Math.abs(o+this.lat0)<=D?(t.x=NaN,t.y=NaN):this.sphere?(s=2*this.k0/(1+this.sinlat0*l+this.coslat0*M*Math.cos(c)),t.x=this.a*s*M*Math.sin(c)+this.x0,t.y=this.a*s*(this.coslat0*l-this.sinlat0*M*Math.cos(c))+this.y0):(i=2*Math.atan(this.ssfn_(o,l,this.e))-z,h=Math.cos(i),a=Math.sin(i),Math.abs(this.coslat0)<=D?(e=rt(this.e,o*this.con,this.con*l),n=2*this.a*this.k0*e/this.cons,t.x=this.x0+n*Math.sin(r-this.long0),t.y=this.y0-this.con*n*Math.cos(r-this.long0)):(Math.abs(this.sinlat0)<D?(s=2*this.a*this.k0/(1+h*Math.cos(c)),t.y=s*a):(s=2*this.a*this.k0*this.ms1/(this.cosX0*(1+this.sinX0*a+this.cosX0*h*Math.cos(c))),t.y=s*(this.cosX0*a-this.sinX0*h*Math.cos(c))+this.y0),t.x=s*h*Math.sin(c)+this.x0)),t},inverse:function(t){t.x-=this.x0,t.y-=this.y0;var s,i,a,h=Math.sqrt(t.x*t.x+t.y*t.y);if(this.sphere){var e=2*Math.atan(h/(2*this.a*this.k0)),n=this.long0,r=this.lat0;return h<=D||(r=Math.asin(Math.cos(e)*this.sinlat0+t.y*Math.sin(e)*this.coslat0/h),n=nt(Math.abs(this.coslat0)<D?0<this.lat0?this.long0+Math.atan2(t.x,-1*t.y):this.long0+Math.atan2(t.x,t.y):this.long0+Math.atan2(t.x*Math.sin(e),h*this.coslat0*Math.cos(e)-t.y*this.sinlat0*Math.sin(e)))),t.x=n,t.y=r,t}if(Math.abs(this.coslat0)<=D){if(h<=D)return r=this.lat0,n=this.long0,t.x=n,t.y=r,t;t.x*=this.con,t.y*=this.con,s=h*this.cons/(2*this.a*this.k0),r=this.con*ot(this.e,s),n=this.con*nt(this.con*this.long0+Math.atan2(t.x,-1*t.y))}else i=2*Math.atan(h*this.cosX0/(2*this.a*this.k0*this.ms1)),n=this.long0,h<=D?a=this.X0:(a=Math.asin(Math.cos(i)*this.sinX0+t.y*Math.sin(i)*this.cosX0/h),n=nt(this.long0+Math.atan2(t.x*Math.sin(i),h*this.cosX0*Math.cos(i)-t.y*this.sinX0*Math.sin(i)))),r=-1*ot(this.e,Math.tan(.5*(z+a)));return t.x=n,t.y=r,t},names:["stere","Stereographic_South_Pole","Polar Stereographic (variant B)"],ssfn_:function(t,s,i){return s*=i,Math.tan(.5*(z+t))*Math.pow((1-s)/(1+s),.5*i)}},rs={init:function(){var t=this.lat0;this.lambda0=this.long0;var s=Math.sin(t),i=this.a,a=1/this.rf,h=2*a-Math.pow(a,2),e=this.e=Math.sqrt(h);this.R=this.k0*i*Math.sqrt(1-h)/(1-h*Math.pow(s,2)),this.alpha=Math.sqrt(1+h/(1-h)*Math.pow(Math.cos(t),4)),this.b0=Math.asin(s/this.alpha);var n=Math.log(Math.tan(Math.PI/4+this.b0/2)),r=Math.log(Math.tan(Math.PI/4+t/2)),o=Math.log((1+e*s)/(1-e*s));this.K=n-this.alpha*r+this.alpha*e/2*o},forward:function(t){var s=Math.log(Math.tan(Math.PI/4-t.y/2)),i=this.e/2*Math.log((1+this.e*Math.sin(t.y))/(1-this.e*Math.sin(t.y))),a=-this.alpha*(s+i)+this.K,h=2*(Math.atan(Math.exp(a))-Math.PI/4),e=this.alpha*(t.x-this.lambda0),n=Math.atan(Math.sin(e)/(Math.sin(this.b0)*Math.tan(h)+Math.cos(this.b0)*Math.cos(e))),r=Math.asin(Math.cos(this.b0)*Math.sin(h)-Math.sin(this.b0)*Math.cos(h)*Math.cos(e));return t.y=this.R/2*Math.log((1+Math.sin(r))/(1-Math.sin(r)))+this.y0,t.x=this.R*n+this.x0,t},inverse:function(t){for(var s=t.x-this.x0,i=t.y-this.y0,a=s/this.R,h=2*(Math.atan(Math.exp(i/this.R))-Math.PI/4),e=Math.asin(Math.cos(this.b0)*Math.sin(h)+Math.sin(this.b0)*Math.cos(h)*Math.cos(a)),n=Math.atan(Math.sin(a)/(Math.cos(this.b0)*Math.cos(a)-Math.sin(this.b0)*Math.tan(h))),r=this.lambda0+n/this.alpha,o=0,l=e,M=-1e3,c=0;1e-7<Math.abs(l-M);){if(20<++c)return;o=1/this.alpha*(Math.log(Math.tan(Math.PI/4+e/2))-this.K)+this.e*Math.log(Math.tan(Math.PI/4+Math.asin(this.e*Math.sin(l))/2)),M=l,l=2*Math.atan(Math.exp(o))-Math.PI/2}return t.x=r,t.y=l,t},names:["somerc"]},os={init:function(){this.no_off=this.no_off||!1,this.no_rot=this.no_rot||!1,isNaN(this.k0)&&(this.k0=1);var t=Math.sin(this.lat0),s=Math.cos(this.lat0),i=this.e*t;this.bl=Math.sqrt(1+this.es/(1-this.es)*Math.pow(s,4)),this.al=this.a*this.bl*this.k0*Math.sqrt(1-this.es)/(1-i*i);var a,h,e,n,r,o,l,M,c,u,f=rt(this.e,this.lat0,t),m=this.bl/s*Math.sqrt((1-this.es)/(1-i*i));m*m<1&&(m=1),isNaN(this.longc)?(h=rt(this.e,this.lat1,Math.sin(this.lat1)),e=rt(this.e,this.lat2,Math.sin(this.lat2)),0<=this.lat0?this.el=(m+Math.sqrt(m*m-1))*Math.pow(f,this.bl):this.el=(m-Math.sqrt(m*m-1))*Math.pow(f,this.bl),n=Math.pow(h,this.bl),r=Math.pow(e,this.bl),o=.5*((a=this.el/n)-1/a),l=(this.el*this.el-r*n)/(this.el*this.el+r*n),M=(r-n)/(r+n),c=nt(this.long1-this.long2),this.long0=.5*(this.long1+this.long2)-Math.atan(l*Math.tan(.5*this.bl*c)/M)/this.bl,this.long0=nt(this.long0),u=nt(this.long1-this.long0),this.gamma0=Math.atan(Math.sin(this.bl*u)/o),this.alpha=Math.asin(m*Math.sin(this.gamma0))):(a=0<=this.lat0?m+Math.sqrt(m*m-1):m-Math.sqrt(m*m-1),this.el=a*Math.pow(f,this.bl),o=.5*(a-1/a),this.gamma0=Math.asin(Math.sin(this.alpha)/m),this.long0=this.longc-Math.asin(o*Math.tan(this.gamma0))/this.bl),this.no_off?this.uc=0:0<=this.lat0?this.uc=this.al/this.bl*Math.atan2(Math.sqrt(m*m-1),Math.cos(this.alpha)):this.uc=-1*this.al/this.bl*Math.atan2(Math.sqrt(m*m-1),Math.cos(this.alpha))},forward:function(t){var s,i,a,h,e,n,r,o,l,M=t.x,c=t.y,u=nt(M-this.long0);return l=Math.abs(Math.abs(c)-z)<=D?(s=0<c?-1:1,o=this.al/this.bl*Math.log(Math.tan(U+s*this.gamma0*.5)),-1*s*z*this.al/this.bl):(i=rt(this.e,c,Math.sin(c)),h=.5*((a=this.el/Math.pow(i,this.bl))-1/a),e=.5*(a+1/a),n=Math.sin(this.bl*u),r=(h*Math.sin(this.gamma0)-n*Math.cos(this.gamma0))/e,o=Math.abs(Math.abs(r)-1)<=D?Number.POSITIVE_INFINITY:.5*this.al*Math.log((1-r)/(1+r))/this.bl,Math.abs(Math.cos(this.bl*u))<=D?this.al*this.bl*u:this.al*Math.atan2(h*Math.cos(this.gamma0)+n*Math.sin(this.gamma0),Math.cos(this.bl*u))/this.bl),this.no_rot?(t.x=this.x0+l,t.y=this.y0+o):(l-=this.uc,t.x=this.x0+o*Math.cos(this.alpha)+l*Math.sin(this.alpha),t.y=this.y0+l*Math.cos(this.alpha)-o*Math.sin(this.alpha)),t},inverse:function(t){var s,i;this.no_rot?(i=t.y-this.y0,s=t.x-this.x0):(i=(t.x-this.x0)*Math.cos(this.alpha)-(t.y-this.y0)*Math.sin(this.alpha),s=(t.y-this.y0)*Math.cos(this.alpha)+(t.x-this.x0)*Math.sin(this.alpha),s+=this.uc);var a=Math.exp(-1*this.bl*i/this.al),h=.5*(a-1/a),e=.5*(a+1/a),n=Math.sin(this.bl*s/this.al),r=(n*Math.cos(this.gamma0)+h*Math.sin(this.gamma0))/e,o=Math.pow(this.el/Math.sqrt((1+r)/(1-r)),1/this.bl);return Math.abs(r-1)<D?(t.x=this.long0,t.y=z):Math.abs(1+r)<D?(t.x=this.long0,t.y=-1*z):(t.y=ot(this.e,o),t.x=nt(this.long0-Math.atan2(h*Math.cos(this.gamma0)-n*Math.sin(this.gamma0),Math.cos(this.bl*s/this.al))/this.bl)),t},names:["Hotine_Oblique_Mercator","Hotine Oblique Mercator","Hotine_Oblique_Mercator_Azimuth_Natural_Origin","Hotine_Oblique_Mercator_Azimuth_Center","omerc"]},ls={init:function(){var t,s,i,a,h,e,n,r,o,l;this.lat2||(this.lat2=this.lat1),this.k0||(this.k0=1),this.x0=this.x0||0,this.y0=this.y0||0,Math.abs(this.lat1+this.lat2)<D||(t=this.b/this.a,this.e=Math.sqrt(1-t*t),s=Math.sin(this.lat1),i=Math.cos(this.lat1),a=ht(this.e,s,i),h=rt(this.e,this.lat1,s),e=Math.sin(this.lat2),n=Math.cos(this.lat2),r=ht(this.e,e,n),o=rt(this.e,this.lat2,e),l=rt(this.e,this.lat0,Math.sin(this.lat0)),Math.abs(this.lat1-this.lat2)>D?this.ns=Math.log(a/r)/Math.log(h/o):this.ns=s,isNaN(this.ns)&&(this.ns=s),this.f0=a/(this.ns*Math.pow(h,this.ns)),this.rh=this.a*this.f0*Math.pow(l,this.ns),this.title||(this.title="Lambert Conformal Conic"))},forward:function(t){var s=t.x,i=t.y;Math.abs(2*Math.abs(i)-Math.PI)<=D&&(i=et(i)*(z-2*D));var a,h,e=Math.abs(Math.abs(i)-z);if(D<e)a=rt(this.e,i,Math.sin(i)),h=this.a*this.f0*Math.pow(a,this.ns);else{if((e=i*this.ns)<=0)return null;h=0}var n=this.ns*nt(s-this.long0);return t.x=this.k0*(h*Math.sin(n))+this.x0,t.y=this.k0*(this.rh-h*Math.cos(n))+this.y0,t},inverse:function(t){var s,i,a,h,e=(t.x-this.x0)/this.k0,n=this.rh-(t.y-this.y0)/this.k0,r=0<this.ns?(s=Math.sqrt(e*e+n*n),1):(s=-Math.sqrt(e*e+n*n),-1),o=0;if(0!==s&&(o=Math.atan2(r*e,r*n)),0!==s||0<this.ns){if(r=1/this.ns,i=Math.pow(s/(this.a*this.f0),r),-9999===(a=ot(this.e,i)))return null}else a=-z;return h=nt(o/this.ns+this.long0),t.x=h,t.y=a,t},names:["Lambert Tangential Conformal Conic Projection","Lambert_Conformal_Conic","Lambert_Conformal_Conic_2SP","lcc"]},Ms={init:function(){this.a=6377397.155,this.es=.006674372230614,this.e=Math.sqrt(this.es),this.lat0||(this.lat0=.863937979737193),this.long0||(this.long0=.4334234309119251),this.k0||(this.k0=.9999),this.s45=.785398163397448,this.s90=2*this.s45,this.fi0=this.lat0,this.e2=this.es,this.e=Math.sqrt(this.e2),this.alfa=Math.sqrt(1+this.e2*Math.pow(Math.cos(this.fi0),4)/(1-this.e2)),this.uq=1.04216856380474,this.u0=Math.asin(Math.sin(this.fi0)/this.alfa),this.g=Math.pow((1+this.e*Math.sin(this.fi0))/(1-this.e*Math.sin(this.fi0)),this.alfa*this.e/2),this.k=Math.tan(this.u0/2+this.s45)/Math.pow(Math.tan(this.fi0/2+this.s45),this.alfa)*this.g,this.k1=this.k0,this.n0=this.a*Math.sqrt(1-this.e2)/(1-this.e2*Math.pow(Math.sin(this.fi0),2)),this.s0=1.37008346281555,this.n=Math.sin(this.s0),this.ro0=this.k1*this.n0/Math.tan(this.s0),this.ad=this.s90-this.uq},forward:function(t){var s=t.x,i=t.y,a=nt(s-this.long0),h=Math.pow((1+this.e*Math.sin(i))/(1-this.e*Math.sin(i)),this.alfa*this.e/2),e=2*(Math.atan(this.k*Math.pow(Math.tan(i/2+this.s45),this.alfa)/h)-this.s45),n=-a*this.alfa,r=Math.asin(Math.cos(this.ad)*Math.sin(e)+Math.sin(this.ad)*Math.cos(e)*Math.cos(n)),o=Math.asin(Math.cos(e)*Math.sin(n)/Math.cos(r)),l=this.n*o,M=this.ro0*Math.pow(Math.tan(this.s0/2+this.s45),this.n)/Math.pow(Math.tan(r/2+this.s45),this.n);return t.y=M*Math.cos(l),t.x=M*Math.sin(l),this.czech||(t.y*=-1,t.x*=-1),t},inverse:function(t){var s,i,a,h,e,n,r,o=t.x;t.x=t.y,t.y=o,this.czech||(t.y*=-1,t.x*=-1),e=Math.sqrt(t.x*t.x+t.y*t.y),h=Math.atan2(t.y,t.x)/Math.sin(this.s0),a=2*(Math.atan(Math.pow(this.ro0/e,1/this.n)*Math.tan(this.s0/2+this.s45))-this.s45),s=Math.asin(Math.cos(this.ad)*Math.sin(a)-Math.sin(this.ad)*Math.cos(a)*Math.cos(h)),i=Math.asin(Math.cos(a)*Math.sin(h)/Math.cos(s)),t.x=this.long0-i/this.alfa,n=s;for(var l=r=0;t.y=2*(Math.atan(Math.pow(this.k,-1/this.alfa)*Math.pow(Math.tan(s/2+this.s45),1/this.alfa)*Math.pow((1+this.e*Math.sin(n))/(1-this.e*Math.sin(n)),this.e/2))-this.s45),Math.abs(n-t.y)<1e-10&&(r=1),n=t.y,l+=1,0===r&&l<15;);return 15<=l?null:t},names:["Krovak","krovak"]},cs={init:function(){this.sphere||(this.e0=Ft(this.es),this.e1=Qt(this.es),this.e2=Wt(this.es),this.e3=Xt(this.es),this.ml0=this.a*Ut(this.e0,this.e1,this.e2,this.e3,this.lat0))},forward:function(t){var s,i,a,h,e,n,r,o,l,M=t.x,c=t.y,M=nt(M-this.long0);return l=this.sphere?(o=this.a*Math.asin(Math.cos(c)*Math.sin(M)),this.a*(Math.atan2(Math.tan(c),Math.cos(M))-this.lat0)):(s=Math.sin(c),i=Math.cos(c),a=Ht(this.a,this.e,s),h=Math.tan(c)*Math.tan(c),o=a*(e=M*Math.cos(c))*(1-(n=e*e)*h*(1/6-(8-h+8*(r=this.es*i*i/(1-this.es)))*n/120)),this.a*Ut(this.e0,this.e1,this.e2,this.e3,c)-this.ml0+a*s/i*n*(.5+(5-h+6*r)*n/24)),t.x=o+this.x0,t.y=l+this.y0,t},inverse:function(t){t.x-=this.x0,t.y-=this.y0;var s=t.x/this.a,i=t.y/this.a;if(this.sphere)var a=i+this.lat0,h=Math.asin(Math.sin(a)*Math.cos(s)),e=Math.atan2(Math.tan(s),Math.cos(a));else{var n=this.ml0/this.a+i,r=Kt(n,this.e0,this.e1,this.e2,this.e3);if(Math.abs(Math.abs(r)-z)<=D)return t.x=this.long0,t.y=z,i<0&&(t.y*=-1),t;var o=Ht(this.a,this.e,Math.sin(r)),l=o*o*o/this.a/this.a*(1-this.es),M=Math.pow(Math.tan(r),2),c=s*this.a/o,u=c*c;h=r-o*Math.tan(r)/l*c*c*(.5-(1+3*M)*c*c/24),e=c*(1-u*(M/3+(1+3*M)*M*u/15))/Math.cos(r)}return t.x=nt(e+this.long0),t.y=Jt(h),t},names:["Cassini","Cassini_Soldner","cass"]},us={init:function(){var t,s,i,a,h=Math.abs(this.lat0);if(Math.abs(h-z)<D?this.mode=this.lat0<0?this.S_POLE:this.N_POLE:Math.abs(h)<D?this.mode=this.EQUIT:this.mode=this.OBLIQ,0<this.es)switch(this.qp=Vt(this.e,1),this.mmf=.5/(1-this.es),this.apa=(s=this.es,(a=[])[0]=.3333333333333333*s,i=s*s,a[0]+=.17222222222222222*i,a[1]=.06388888888888888*i,i*=s,a[0]+=.10257936507936508*i,a[1]+=.0664021164021164*i,a[2]=.016415012942191543*i,a),this.mode){case this.N_POLE:case this.S_POLE:this.dd=1;break;case this.EQUIT:this.rq=Math.sqrt(.5*this.qp),this.dd=1/this.rq,this.xmf=1,this.ymf=.5*this.qp;break;case this.OBLIQ:this.rq=Math.sqrt(.5*this.qp),t=Math.sin(this.lat0),this.sinb1=Vt(this.e,t)/this.qp,this.cosb1=Math.sqrt(1-this.sinb1*this.sinb1),this.dd=Math.cos(this.lat0)/(Math.sqrt(1-this.es*t*t)*this.rq*this.cosb1),this.ymf=(this.xmf=this.rq)/this.dd,this.xmf*=this.dd}else this.mode===this.OBLIQ&&(this.sinph0=Math.sin(this.lat0),this.cosph0=Math.cos(this.lat0))},forward:function(t){var s,i,a,h,e,n,r,o,l,M,c=t.x,u=t.y,c=nt(c-this.long0);if(this.sphere){if(e=Math.sin(u),M=Math.cos(u),a=Math.cos(c),this.mode===this.OBLIQ||this.mode===this.EQUIT){if((i=this.mode===this.EQUIT?1+M*a:1+this.sinph0*e+this.cosph0*M*a)<=D)return null;s=(i=Math.sqrt(2/i))*M*Math.sin(c),i*=this.mode===this.EQUIT?e:this.cosph0*e-this.sinph0*M*a}else if(this.mode===this.N_POLE||this.mode===this.S_POLE){if(this.mode===this.N_POLE&&(a=-a),Math.abs(u+this.lat0)<D)return null;i=U-.5*u,s=(i=2*(this.mode===this.S_POLE?Math.cos(i):Math.sin(i)))*Math.sin(c),i*=a}}else{switch(l=o=r=0,a=Math.cos(c),h=Math.sin(c),e=Math.sin(u),n=Vt(this.e,e),this.mode!==this.OBLIQ&&this.mode!==this.EQUIT||(r=n/this.qp,o=Math.sqrt(1-r*r)),this.mode){case this.OBLIQ:l=1+this.sinb1*r+this.cosb1*o*a;break;case this.EQUIT:l=1+o*a;break;case this.N_POLE:l=z+u,n=this.qp-n;break;case this.S_POLE:l=u-z,n=this.qp+n}if(Math.abs(l)<D)return null;switch(this.mode){case this.OBLIQ:case this.EQUIT:l=Math.sqrt(2/l),i=this.mode===this.OBLIQ?this.ymf*l*(this.cosb1*r-this.sinb1*o*a):(l=Math.sqrt(2/(1+o*a)))*r*this.ymf,s=this.xmf*l*o*h;break;case this.N_POLE:case this.S_POLE:0<=n?(s=(l=Math.sqrt(n))*h,i=a*(this.mode===this.S_POLE?l:-l)):s=i=0}}return t.x=this.a*s+this.x0,t.y=this.a*i+this.y0,t},inverse:function(t){t.x-=this.x0,t.y-=this.y0;var s,i,a,h,e,n,r,o,l,M,c=t.x/this.a,u=t.y/this.a;if(this.sphere){var f=0,m=0,p=Math.sqrt(c*c+u*u);if(1<(i=.5*p))return null;switch(i=2*Math.asin(i),this.mode!==this.OBLIQ&&this.mode!==this.EQUIT||(m=Math.sin(i),f=Math.cos(i)),this.mode){case this.EQUIT:i=Math.abs(p)<=D?0:Math.asin(u*m/p),c*=m,u=f*p;break;case this.OBLIQ:i=Math.abs(p)<=D?this.lat0:Math.asin(f*this.sinph0+u*m*this.cosph0/p),c*=m*this.cosph0,u=(f-Math.sin(i)*this.sinph0)*p;break;case this.N_POLE:u=-u,i=z-i;break;case this.S_POLE:i-=z}s=0!==u||this.mode!==this.EQUIT&&this.mode!==this.OBLIQ?Math.atan2(c,u):0}else{if(r=0,this.mode===this.OBLIQ||this.mode===this.EQUIT){if(c/=this.dd,u*=this.dd,(n=Math.sqrt(c*c+u*u))<D)return t.x=this.long0,t.y=this.lat0,t;h=2*Math.asin(.5*n/this.rq),a=Math.cos(h),c*=h=Math.sin(h),u=this.mode===this.OBLIQ?(r=a*this.sinb1+u*h*this.cosb1/n,e=this.qp*r,n*this.cosb1*a-u*this.sinb1*h):(r=u*h/n,e=this.qp*r,n*a)}else if(this.mode===this.N_POLE||this.mode===this.S_POLE){if(this.mode===this.N_POLE&&(u=-u),!(e=c*c+u*u))return t.x=this.long0,t.y=this.lat0,t;r=1-e/this.qp,this.mode===this.S_POLE&&(r=-r)}s=Math.atan2(c,u),o=Math.asin(r),l=this.apa,M=o+o,i=o+l[0]*Math.sin(M)+l[1]*Math.sin(M+M)+l[2]*Math.sin(M+M+M)}return t.x=nt(this.long0+s),t.y=i,t},names:["Lambert Azimuthal Equal Area","Lambert_Azimuthal_Equal_Area","laea"],S_POLE:1,N_POLE:2,EQUIT:3,OBLIQ:4},fs={init:function(){Math.abs(this.lat1+this.lat2)<D||(this.temp=this.b/this.a,this.es=1-Math.pow(this.temp,2),this.e3=Math.sqrt(this.es),this.sin_po=Math.sin(this.lat1),this.cos_po=Math.cos(this.lat1),this.t1=this.sin_po,this.con=this.sin_po,this.ms1=ht(this.e3,this.sin_po,this.cos_po),this.qs1=Vt(this.e3,this.sin_po,this.cos_po),this.sin_po=Math.sin(this.lat2),this.cos_po=Math.cos(this.lat2),this.t2=this.sin_po,this.ms2=ht(this.e3,this.sin_po,this.cos_po),this.qs2=Vt(this.e3,this.sin_po,this.cos_po),this.sin_po=Math.sin(this.lat0),this.cos_po=Math.cos(this.lat0),this.t3=this.sin_po,this.qs0=Vt(this.e3,this.sin_po,this.cos_po),Math.abs(this.lat1-this.lat2)>D?this.ns0=(this.ms1*this.ms1-this.ms2*this.ms2)/(this.qs2-this.qs1):this.ns0=this.con,this.c=this.ms1*this.ms1+this.ns0*this.qs1,this.rh=this.a*Math.sqrt(this.c-this.ns0*this.qs0)/this.ns0)},forward:function(t){var s=t.x,i=t.y;this.sin_phi=Math.sin(i),this.cos_phi=Math.cos(i);var a=Vt(this.e3,this.sin_phi,this.cos_phi),h=this.a*Math.sqrt(this.c-this.ns0*a)/this.ns0,e=this.ns0*nt(s-this.long0),n=h*Math.sin(e)+this.x0,r=this.rh-h*Math.cos(e)+this.y0;return t.x=n,t.y=r,t},inverse:function(t){var s,i,a,h,e,n;return t.x-=this.x0,t.y=this.rh-t.y+this.y0,a=0<=this.ns0?(s=Math.sqrt(t.x*t.x+t.y*t.y),1):(s=-Math.sqrt(t.x*t.x+t.y*t.y),-1),(h=0)!==s&&(h=Math.atan2(a*t.x,a*t.y)),a=s*this.ns0/this.a,n=this.sphere?Math.asin((this.c-a*a)/(2*this.ns0)):(i=(this.c-a*a)/this.ns0,this.phi1z(this.e3,i)),e=nt(h/this.ns0+this.long0),t.x=e,t.y=n,t},names:["Albers_Conic_Equal_Area","Albers","aea"],phi1z:function(t,s){var i,a,h,e,n=Zt(.5*s);if(t<D)return n;for(var r=t*t,o=1;o<=25;o++)if(n+=e=.5*(h=1-(a=t*(i=Math.sin(n)))*a)*h/Math.cos(n)*(s/(1-r)-i/h+.5/t*Math.log((1-a)/(1+a))),Math.abs(e)<=1e-7)return n;return null}},ms={init:function(){this.sin_p14=Math.sin(this.lat0),this.cos_p14=Math.cos(this.lat0),this.infinity_dist=1e3*this.a,this.rc=1},forward:function(t){var s,i,a=t.x,h=t.y,e=nt(a-this.long0),n=Math.sin(h),r=Math.cos(h),o=Math.cos(e),l=0<(s=this.sin_p14*n+this.cos_p14*r*o)||Math.abs(s)<=D?(i=this.x0+this.a*r*Math.sin(e)/s,this.y0+this.a*(this.cos_p14*n-this.sin_p14*r*o)/s):(i=this.x0+this.infinity_dist*r*Math.sin(e),this.y0+this.infinity_dist*(this.cos_p14*n-this.sin_p14*r*o));return t.x=i,t.y=l,t},inverse:function(t){var s,i,a,h,e,n;return t.x=(t.x-this.x0)/this.a,t.y=(t.y-this.y0)/this.a,t.x/=this.k0,t.y/=this.k0,e=(s=Math.sqrt(t.x*t.x+t.y*t.y))?(h=Math.atan2(s,this.rc),i=Math.sin(h),a=Math.cos(h),n=Zt(a*this.sin_p14+t.y*i*this.cos_p14/s),e=Math.atan2(t.x*i,s*this.cos_p14*a-t.y*this.sin_p14*i),nt(this.long0+e)):(n=this.phic0,0),t.x=e,t.y=n,t},names:["gnom"]},ps={init:function(){this.sphere||(this.k0=ht(this.e,Math.sin(this.lat_ts),Math.cos(this.lat_ts)))},forward:function(t){var s,i,a,h=t.x,e=t.y,n=nt(h-this.long0);return a=this.sphere?(i=this.x0+this.a*n*Math.cos(this.lat_ts),this.y0+this.a*Math.sin(e)/Math.cos(this.lat_ts)):(s=Vt(this.e,Math.sin(e)),i=this.x0+this.a*this.k0*n,this.y0+this.a*s*.5/this.k0),t.x=i,t.y=a,t},inverse:function(t){var s,i;return t.x-=this.x0,t.y-=this.y0,this.sphere?(s=nt(this.long0+t.x/this.a/Math.cos(this.lat_ts)),i=Math.asin(t.y/this.a*Math.cos(this.lat_ts))):(i=function(t,s){var i=1-(1-t*t)/(2*t)*Math.log((1-t)/(1+t));if(Math.abs(Math.abs(s)-i)<1e-6)return s<0?-1*z:z;for(var a,h,e,n,r=Math.asin(.5*s),o=0;o<30;o++)if(h=Math.sin(r),e=Math.cos(r),n=t*h,r+=a=Math.pow(1-n*n,2)/(2*e)*(s/(1-t*t)-h/(1-n*n)+.5/t*Math.log((1-n)/(1+n))),Math.abs(a)<=1e-10)return r;return NaN}(this.e,2*t.y*this.k0/this.a),s=nt(this.long0+t.x/(this.a*this.k0))),t.x=s,t.y=i,t},names:["cea"]},ds={init:function(){this.x0=this.x0||0,this.y0=this.y0||0,this.lat0=this.lat0||0,this.long0=this.long0||0,this.lat_ts=this.lat_ts||0,this.title=this.title||"Equidistant Cylindrical (Plate Carre)",this.rc=Math.cos(this.lat_ts)},forward:function(t){var s=t.x,i=t.y,a=nt(s-this.long0),h=Jt(i-this.lat0);return t.x=this.x0+this.a*a*this.rc,t.y=this.y0+this.a*h,t},inverse:function(t){var s=t.x,i=t.y;return t.x=nt(this.long0+(s-this.x0)/(this.a*this.rc)),t.y=Jt(this.lat0+(i-this.y0)/this.a),t},names:["Equirectangular","Equidistant_Cylindrical","eqc"]},ys={init:function(){this.temp=this.b/this.a,this.es=1-Math.pow(this.temp,2),this.e=Math.sqrt(this.es),this.e0=Ft(this.es),this.e1=Qt(this.es),this.e2=Wt(this.es),this.e3=Xt(this.es),this.ml0=this.a*Ut(this.e0,this.e1,this.e2,this.e3,this.lat0)},forward:function(t){var s,i,a,h=t.x,e=t.y,n=nt(h-this.long0),r=n*Math.sin(e);return a=this.sphere?Math.abs(e)<=D?(i=this.a*n,-1*this.a*this.lat0):(i=this.a*Math.sin(r)/Math.tan(e),this.a*(Jt(e-this.lat0)+(1-Math.cos(r))/Math.tan(e))):Math.abs(e)<=D?(i=this.a*n,-1*this.ml0):(i=(s=Ht(this.a,this.e,Math.sin(e))/Math.tan(e))*Math.sin(r),this.a*Ut(this.e0,this.e1,this.e2,this.e3,e)-this.ml0+s*(1-Math.cos(r))),t.x=i+this.x0,t.y=a+this.y0,t},inverse:function(t){var s,i,a,h,e,n,r,o,l=t.x-this.x0,M=t.y-this.y0;if(this.sphere)if(Math.abs(M+this.a*this.lat0)<=D)s=nt(l/this.a+this.long0),i=0;else{for(var c,u=this.lat0+M/this.a,f=l*l/this.a/this.a+u*u,m=u,p=20;p;--p)if(m+=a=-1*(u*(m*(c=Math.tan(m))+1)-m-.5*(m*m+f)*c)/((m-u)/c-1),Math.abs(a)<=D){i=m;break}s=nt(this.long0+Math.asin(l*Math.tan(m)/this.a)/Math.sin(i))}else if(Math.abs(M+this.ml0)<=D)i=0,s=nt(this.long0+l/this.a);else{for(u=(this.ml0+M)/this.a,f=l*l/this.a/this.a+u*u,m=u,p=20;p;--p)if(o=this.e*Math.sin(m),h=Math.sqrt(1-o*o)*Math.tan(m),e=this.a*Ut(this.e0,this.e1,this.e2,this.e3,m),n=this.e0-2*this.e1*Math.cos(2*m)+4*this.e2*Math.cos(4*m)-6*this.e3*Math.cos(6*m),m-=a=(u*(h*(r=e/this.a)+1)-r-.5*h*(r*r+f))/(this.es*Math.sin(2*m)*(r*r+f-2*u*r)/(4*h)+(u-r)*(h*n-2/Math.sin(2*m))-n),Math.abs(a)<=D){i=m;break}h=Math.sqrt(1-this.es*Math.pow(Math.sin(i),2))*Math.tan(i),s=nt(this.long0+Math.asin(l*h/this.a)/Math.sin(i))}return t.x=s,t.y=i,t},names:["Polyconic","poly"]},_s={init:function(){this.A=[],this.A[1]=.6399175073,this.A[2]=-.1358797613,this.A[3]=.063294409,this.A[4]=-.02526853,this.A[5]=.0117879,this.A[6]=-.0055161,this.A[7]=.0026906,this.A[8]=-.001333,this.A[9]=67e-5,this.A[10]=-34e-5,this.B_re=[],this.B_im=[],this.B_re[1]=.7557853228,this.B_im[1]=0,this.B_re[2]=.249204646,this.B_im[2]=.003371507,this.B_re[3]=-.001541739,this.B_im[3]=.04105856,this.B_re[4]=-.10162907,this.B_im[4]=.01727609,this.B_re[5]=-.26623489,this.B_im[5]=-.36249218,this.B_re[6]=-.6870983,this.B_im[6]=-1.1651967,this.C_re=[],this.C_im=[],this.C_re[1]=1.3231270439,this.C_im[1]=0,this.C_re[2]=-.577245789,this.C_im[2]=-.007809598,this.C_re[3]=.508307513,this.C_im[3]=-.112208952,this.C_re[4]=-.15094762,this.C_im[4]=.18200602,this.C_re[5]=1.01418179,this.C_im[5]=1.64497696,this.C_re[6]=1.9660549,this.C_im[6]=2.5127645,this.D=[],this.D[1]=1.5627014243,this.D[2]=.5185406398,this.D[3]=-.03333098,this.D[4]=-.1052906,this.D[5]=-.0368594,this.D[6]=.007317,this.D[7]=.0122,this.D[8]=.00394,this.D[9]=-.0013},forward:function(t){for(var s=t.x,i=t.y-this.lat0,a=s-this.long0,h=i/j*1e-5,e=a,n=1,r=0,o=1;o<=10;o++)n*=h,r+=this.A[o]*n;var l,M=r,c=e,u=1,f=0,m=0,p=0;for(o=1;o<=6;o++)l=f*M+u*c,u=u*M-f*c,f=l,m=m+this.B_re[o]*u-this.B_im[o]*f,p=p+this.B_im[o]*u+this.B_re[o]*f;return t.x=p*this.a+this.x0,t.y=m*this.a+this.y0,t},inverse:function(t){var s,i=t.x,a=t.y,h=i-this.x0,e=(a-this.y0)/this.a,n=h/this.a,r=1,o=0,l=0,M=0;for(y=1;y<=6;y++)s=o*e+r*n,r=r*e-o*n,o=s,l=l+this.C_re[y]*r-this.C_im[y]*o,M=M+this.C_im[y]*r+this.C_re[y]*o;for(var c=0;c<this.iterations;c++){for(var u,f=l,m=M,p=e,d=n,y=2;y<=6;y++)u=m*l+f*M,f=f*l-m*M,m=u,p+=(y-1)*(this.B_re[y]*f-this.B_im[y]*m),d+=(y-1)*(this.B_im[y]*f+this.B_re[y]*m);f=1,m=0;var _=this.B_re[1],x=this.B_im[1];for(y=2;y<=6;y++)u=m*l+f*M,f=f*l-m*M,m=u,_+=y*(this.B_re[y]*f-this.B_im[y]*m),x+=y*(this.B_im[y]*f+this.B_re[y]*m);var g=_*_+x*x,l=(p*_+d*x)/g,M=(d*_-p*x)/g}var b=l,v=M,w=1,C=0;for(y=1;y<=9;y++)w*=b,C+=this.D[y]*w;var P=this.lat0+C*j*1e5,S=this.long0+v;return t.x=S,t.y=P,t},names:["New_Zealand_Map_Grid","nzmg"]},xs={init:function(){},forward:function(t){var s=t.x,i=t.y,a=nt(s-this.long0),h=this.x0+this.a*a,e=this.y0+this.a*Math.log(Math.tan(Math.PI/4+i/2.5))*1.25;return t.x=h,t.y=e,t},inverse:function(t){t.x-=this.x0,t.y-=this.y0;var s=nt(this.long0+t.x/this.a),i=2.5*(Math.atan(Math.exp(.8*t.y/this.a))-Math.PI/4);return t.x=s,t.y=i,t},names:["Miller_Cylindrical","mill"]},gs={init:function(){this.sphere?(this.n=1,this.m=0,this.es=0,this.C_y=Math.sqrt((this.m+1)/this.n),this.C_x=this.C_y/(this.m+1)):this.en=At(this.es)},forward:function(t){var s=t.x,i=t.y,s=nt(s-this.long0);if(this.sphere){if(this.m)for(var a=this.n*Math.sin(i),h=20;h;--h){var e=(this.m*i+Math.sin(i)-a)/(this.m+Math.cos(i));if(i-=e,Math.abs(e)<D)break}else i=1!==this.n?Math.asin(this.n*Math.sin(i)):i;l=this.a*this.C_x*s*(this.m+Math.cos(i)),o=this.a*this.C_y*i}else var n=Math.sin(i),r=Math.cos(i),o=this.a*Gt(i,n,r,this.en),l=this.a*s*r/Math.sqrt(1-this.es*n*n);return t.x=l,t.y=o,t},inverse:function(t){var s,i,a,h;return t.x-=this.x0,a=t.x/this.a,t.y-=this.y0,s=t.y/this.a,this.sphere?(s/=this.C_y,a/=this.C_x*(this.m+Math.cos(s)),this.m?s=Zt((this.m*s+Math.sin(s))/this.n):1!==this.n&&(s=Zt(Math.sin(s)/this.n)),a=nt(a+this.long0),s=Jt(s)):(s=jt(t.y/this.a,this.es,this.en),(h=Math.abs(s))<z?(h=Math.sin(s),i=this.long0+t.x*Math.sqrt(1-this.es*h*h)/(this.a*Math.cos(s)),a=nt(i)):h-D<z&&(a=this.long0)),t.x=a,t.y=s,t},names:["Sinusoidal","sinu"]},bs={init:function(){},forward:function(t){for(var s=t.x,i=t.y,a=nt(s-this.long0),h=i,e=Math.PI*Math.sin(i);;){var n=-(h+Math.sin(h)-e)/(1+Math.cos(h));if(h+=n,Math.abs(n)<D)break}h/=2,Math.PI/2-Math.abs(i)<D&&(a=0);var r=.900316316158*this.a*a*Math.cos(h)+this.x0,o=1.4142135623731*this.a*Math.sin(h)+this.y0;return t.x=r,t.y=o,t},inverse:function(t){var s,i;t.x-=this.x0,t.y-=this.y0,i=t.y/(1.4142135623731*this.a),.999999999999<Math.abs(i)&&(i=.999999999999),s=Math.asin(i);var a=nt(this.long0+t.x/(.900316316158*this.a*Math.cos(s)));a<-Math.PI&&(a=-Math.PI),a>Math.PI&&(a=Math.PI),i=(2*s+Math.sin(2*s))/Math.PI,1<Math.abs(i)&&(i=1);var h=Math.asin(i);return t.x=a,t.y=h,t},names:["Mollweide","moll"]},vs={init:function(){Math.abs(this.lat1+this.lat2)<D||(this.lat2=this.lat2||this.lat1,this.temp=this.b/this.a,this.es=1-Math.pow(this.temp,2),this.e=Math.sqrt(this.es),this.e0=Ft(this.es),this.e1=Qt(this.es),this.e2=Wt(this.es),this.e3=Xt(this.es),this.sinphi=Math.sin(this.lat1),this.cosphi=Math.cos(this.lat1),this.ms1=ht(this.e,this.sinphi,this.cosphi),this.ml1=Ut(this.e0,this.e1,this.e2,this.e3,this.lat1),Math.abs(this.lat1-this.lat2)<D?this.ns=this.sinphi:(this.sinphi=Math.sin(this.lat2),this.cosphi=Math.cos(this.lat2),this.ms2=ht(this.e,this.sinphi,this.cosphi),this.ml2=Ut(this.e0,this.e1,this.e2,this.e3,this.lat2),this.ns=(this.ms1-this.ms2)/(this.ml2-this.ml1)),this.g=this.ml1+this.ms1/this.ns,this.ml0=Ut(this.e0,this.e1,this.e2,this.e3,this.lat0),this.rh=this.a*(this.g-this.ml0))},forward:function(t){var s,i,a=t.x,h=t.y;i=this.sphere?this.a*(this.g-h):(s=Ut(this.e0,this.e1,this.e2,this.e3,h),this.a*(this.g-s));var e=this.ns*nt(a-this.long0),n=this.x0+i*Math.sin(e),r=this.y0+this.rh-i*Math.cos(e);return t.x=n,t.y=r,t},inverse:function(t){var s,i;t.x-=this.x0,t.y=this.rh-t.y+this.y0,s=0<=this.ns?(i=Math.sqrt(t.x*t.x+t.y*t.y),1):(i=-Math.sqrt(t.x*t.x+t.y*t.y),-1);var a=0;if(0!==i&&(a=Math.atan2(s*t.x,s*t.y)),this.sphere)return n=nt(this.long0+a/this.ns),e=Jt(this.g-i/this.a),t.x=n,t.y=e,t;var h=this.g-i/this.a,e=Kt(h,this.e0,this.e1,this.e2,this.e3),n=nt(this.long0+a/this.ns);return t.x=n,t.y=e,t},names:["Equidistant_Conic","eqdc"]},ws={init:function(){this.R=this.a},forward:function(t){var s,i=t.x,a=t.y,h=nt(i-this.long0);Math.abs(a)<=D&&(s=this.x0+this.R*h,d=this.y0);var e=Zt(2*Math.abs(a/Math.PI));(Math.abs(h)<=D||Math.abs(Math.abs(a)-z)<=D)&&(s=this.x0,d=0<=a?this.y0+Math.PI*this.R*Math.tan(.5*e):this.y0+Math.PI*this.R*-Math.tan(.5*e));var n=.5*Math.abs(Math.PI/h-h/Math.PI),r=n*n,o=Math.sin(e),l=Math.cos(e),M=l/(o+l-1),c=M*M,u=M*(2/o-1),f=u*u,m=Math.PI*this.R*(n*(M-f)+Math.sqrt(r*(M-f)*(M-f)-(f+r)*(c-f)))/(f+r);h<0&&(m=-m),s=this.x0+m;var p=r+M,m=Math.PI*this.R*(u*p-n*Math.sqrt((f+r)*(1+r)-p*p))/(f+r),d=0<=a?this.y0+m:this.y0-m;return t.x=s,t.y=d,t},inverse:function(t){var s,i,a,h,e,n,r,o,l,M,c,u;return t.x-=this.x0,t.y-=this.y0,c=Math.PI*this.R,e=(a=t.x/c)*a+(h=t.y/c)*h,c=3*(h*h/(o=-2*(n=-Math.abs(h)*(1+e))+1+2*h*h+e*e)+(2*(r=n-2*h*h+a*a)*r*r/o/o/o-9*n*r/o/o)/27)/(l=(n-r*r/3/o)/o)/(M=2*Math.sqrt(-l/3)),1<Math.abs(c)&&(c=0<=c?1:-1),u=Math.acos(c)/3,i=0<=t.y?(-M*Math.cos(u+Math.PI/3)-r/3/o)*Math.PI:-(-M*Math.cos(u+Math.PI/3)-r/3/o)*Math.PI,s=Math.abs(a)<D?this.long0:nt(this.long0+Math.PI*(e-1+Math.sqrt(1+2*(a*a-h*h)+e*e))/2/a),t.x=s,t.y=i,t},names:["Van_der_Grinten_I","VanDerGrinten","vandg"]},Cs={init:function(){this.sin_p12=Math.sin(this.lat0),this.cos_p12=Math.cos(this.lat0)},forward:function(t){var s,i,a,h,e,n,r,o,l,M,c,u,f,m,p,d,y,_,x,g,b,v,w=t.x,C=t.y,P=Math.sin(t.y),S=Math.cos(t.y),N=nt(w-this.long0);return this.sphere?Math.abs(this.sin_p12-1)<=D?(t.x=this.x0+this.a*(z-C)*Math.sin(N),t.y=this.y0-this.a*(z-C)*Math.cos(N)):Math.abs(this.sin_p12+1)<=D?(t.x=this.x0+this.a*(z+C)*Math.sin(N),t.y=this.y0+this.a*(z+C)*Math.cos(N)):(_=this.sin_p12*P+this.cos_p12*S*Math.cos(N),y=(d=Math.acos(_))?d/Math.sin(d):1,t.x=this.x0+this.a*y*S*Math.sin(N),t.y=this.y0+this.a*y*(this.cos_p12*P-this.sin_p12*S*Math.cos(N))):(s=Ft(this.es),i=Qt(this.es),a=Wt(this.es),h=Xt(this.es),Math.abs(this.sin_p12-1)<=D?(e=this.a*Ut(s,i,a,h,z),n=this.a*Ut(s,i,a,h,C),t.x=this.x0+(e-n)*Math.sin(N),t.y=this.y0-(e-n)*Math.cos(N)):Math.abs(this.sin_p12+1)<=D?(e=this.a*Ut(s,i,a,h,z),n=this.a*Ut(s,i,a,h,C),t.x=this.x0+(e+n)*Math.sin(N),t.y=this.y0+(e+n)*Math.cos(N)):(r=P/S,o=Ht(this.a,this.e,this.sin_p12),l=Ht(this.a,this.e,P),M=Math.atan((1-this.es)*r+this.es*o*this.sin_p12/(l*S)),x=0===(c=Math.atan2(Math.sin(N),this.cos_p12*Math.tan(M)-this.sin_p12*Math.cos(N)))?Math.asin(this.cos_p12*Math.sin(M)-this.sin_p12*Math.cos(M)):Math.abs(Math.abs(c)-Math.PI)<=D?-Math.asin(this.cos_p12*Math.sin(M)-this.sin_p12*Math.cos(M)):Math.asin(Math.sin(N)*Math.cos(M)/Math.sin(c)),u=this.e*this.sin_p12/Math.sqrt(1-this.es),d=o*x*(1-(g=x*x)*(p=(f=this.e*this.cos_p12*Math.cos(c)/Math.sqrt(1-this.es))*f)*(1-p)/6+(b=g*x)/8*(m=u*f)*(1-2*p)+(v=b*x)/120*(p*(4-7*p)-3*u*u*(1-7*p))-v*x/48*m),t.x=this.x0+d*Math.sin(c),t.y=this.y0+d*Math.cos(c))),t},inverse:function(t){var s,i,a,h,e,n,r,o,l,M,c,u,f,m,p,d,y,_,x,g,b,v,w;if(t.x-=this.x0,t.y-=this.y0,this.sphere){if((s=Math.sqrt(t.x*t.x+t.y*t.y))>2*z*this.a)return;return i=s/this.a,a=Math.sin(i),h=Math.cos(i),e=this.long0,Math.abs(s)<=D?n=this.lat0:(n=Zt(h*this.sin_p12+t.y*a*this.cos_p12/s),r=Math.abs(this.lat0)-z,e=nt(Math.abs(r)<=D?0<=this.lat0?this.long0+Math.atan2(t.x,-t.y):this.long0-Math.atan2(-t.x,t.y):this.long0+Math.atan2(t.x*a,s*this.cos_p12*h-t.y*this.sin_p12*a))),t.x=e,t.y=n,t}return o=Ft(this.es),l=Qt(this.es),M=Wt(this.es),c=Xt(this.es),Math.abs(this.sin_p12-1)<=D?(u=this.a*Ut(o,l,M,c,z),s=Math.sqrt(t.x*t.x+t.y*t.y),n=Kt((u-s)/this.a,o,l,M,c),e=nt(this.long0+Math.atan2(t.x,-1*t.y))):Math.abs(this.sin_p12+1)<=D?(u=this.a*Ut(o,l,M,c,z),s=Math.sqrt(t.x*t.x+t.y*t.y),n=Kt((s-u)/this.a,o,l,M,c),e=nt(this.long0+Math.atan2(t.x,t.y))):(s=Math.sqrt(t.x*t.x+t.y*t.y),p=Math.atan2(t.x,t.y),f=Ht(this.a,this.e,this.sin_p12),d=Math.cos(p),_=-(y=this.e*this.cos_p12*d)*y/(1-this.es),x=3*this.es*(1-_)*this.sin_p12*this.cos_p12*d/(1-this.es),v=1-_*(b=(g=s/f)-_*(1+_)*Math.pow(g,3)/6-x*(1+3*_)*Math.pow(g,4)/24)*b/2-g*b*b*b/6,m=Math.asin(this.sin_p12*Math.cos(b)+this.cos_p12*Math.sin(b)*d),e=nt(this.long0+Math.asin(Math.sin(p)*Math.sin(b)/Math.cos(m))),w=Math.sin(m),n=Math.atan2((w-this.es*v*this.sin_p12)*Math.tan(m),w*(1-this.es))),t.x=e,t.y=n,t},names:["Azimuthal_Equidistant","aeqd"]},Ps={init:function(){this.sin_p14=Math.sin(this.lat0),this.cos_p14=Math.cos(this.lat0)},forward:function(t){var s,i,a,h=t.x,e=t.y,n=nt(h-this.long0),r=Math.sin(e),o=Math.cos(e),l=Math.cos(n);return(0<(s=this.sin_p14*r+this.cos_p14*o*l)||Math.abs(s)<=D)&&(i=this.a*o*Math.sin(n),a=this.y0+this.a*(this.cos_p14*r-this.sin_p14*o*l)),t.x=i,t.y=a,t},inverse:function(t){var s,i,a,h,e,n,r;return t.x-=this.x0,t.y-=this.y0,s=Math.sqrt(t.x*t.x+t.y*t.y),i=Zt(s/this.a),a=Math.sin(i),h=Math.cos(i),n=this.long0,Math.abs(s)<=D?r=this.lat0:(r=Zt(h*this.sin_p14+t.y*a*this.cos_p14/s),e=Math.abs(this.lat0)-z,n=Math.abs(e)<=D?nt(0<=this.lat0?this.long0+Math.atan2(t.x,-t.y):this.long0-Math.atan2(-t.x,t.y)):nt(this.long0+Math.atan2(t.x*a,s*this.cos_p14*h-t.y*this.sin_p14*a))),t.x=n,t.y=r,t},names:["ortho"]},Ss=1,Ns=2,ks=3,Es=4,qs=5,Is=6,Os=1,As=2,Gs=3,js=4,zs={init:function(){this.x0=this.x0||0,this.y0=this.y0||0,this.lat0=this.lat0||0,this.long0=this.long0||0,this.lat_ts=this.lat_ts||0,this.title=this.title||"Quadrilateralized Spherical Cube",this.lat0>=z-U/2?this.face=qs:this.lat0<=-(z-U/2)?this.face=Is:Math.abs(this.long0)<=U?this.face=Ss:Math.abs(this.long0)<=z+U?this.face=0<this.long0?Ns:Es:this.face=ks,0!==this.es&&(this.one_minus_f=1-(this.a-this.b)/this.a,this.one_minus_f_squared=this.one_minus_f*this.one_minus_f)},forward:function(t){var s,i,a,h,e,n,r,o,l,M,c,u,f={x:0,y:0},m={value:0};return t.x-=this.long0,s=0!==this.es?Math.atan(this.one_minus_f_squared*Math.tan(t.y)):t.y,i=t.x,this.face===qs?(h=z-s,a=U<=i&&i<=z+U?(m.value=Os,i-z):z+U<i||i<=-(z+U)?(m.value=As,0<i?i-Q:i+Q):-(z+U)<i&&i<=-U?(m.value=Gs,i+z):(m.value=js,i)):this.face===Is?(h=z+s,a=U<=i&&i<=z+U?(m.value=Os,z-i):i<U&&-U<=i?(m.value=As,-i):i<-U&&-(z+U)<=i?(m.value=Gs,-i-z):(m.value=js,0<i?Q-i:-i-Q)):(this.face===Ns?i=S(i,+z):this.face===ks?i=S(i,+Q):this.face===Es&&(i=S(i,-z)),M=Math.sin(s),c=Math.cos(s),u=Math.sin(i),r=c*Math.cos(i),o=c*u,l=M,this.face===Ss?a=P(h=Math.acos(r),l,o,m):this.face===Ns?a=P(h=Math.acos(o),l,-r,m):this.face===ks?a=P(h=Math.acos(-r),l,-o,m):this.face===Es?a=P(h=Math.acos(-o),l,r,m):(h=a=0,m.value=Os)),n=Math.atan(12/Q*(a+Math.acos(Math.sin(a)*Math.cos(U))-z)),e=Math.sqrt((1-Math.cos(h))/(Math.cos(n)*Math.cos(n))/(1-Math.cos(Math.atan(1/Math.cos(a))))),m.value===As?n+=z:m.value===Gs?n+=Q:m.value===js&&(n+=1.5*Q),f.x=e*Math.cos(n),f.y=e*Math.sin(n),f.x=f.x*this.a+this.x0,f.y=f.y*this.a+this.y0,t.x=f.x,t.y=f.y,t},inverse:function(t){var s,i,a,h,e,n,r,o,l,M,c,u,f,m,p,d={lam:0,phi:0},y={value:0};return t.x=(t.x-this.x0)/this.a,t.y=(t.y-this.y0)/this.a,i=Math.atan(Math.sqrt(t.x*t.x+t.y*t.y)),s=Math.atan2(t.y,t.x),0<=t.x&&t.x>=Math.abs(t.y)?y.value=Os:0<=t.y&&t.y>=Math.abs(t.x)?(y.value=As,s-=z):t.x<0&&-t.x>=Math.abs(t.y)?(y.value=Gs,s=s<0?s+Q:s-Q):(y.value=js,s+=z),c=Q/12*Math.tan(s),e=Math.sin(c)/(Math.cos(c)-1/Math.sqrt(2)),n=Math.atan(e),(r=1-(a=Math.cos(s))*a*(h=Math.tan(i))*h*(1-Math.cos(Math.atan(1/Math.cos(n)))))<-1?r=-1:1<r&&(r=1),this.face===qs?(o=Math.acos(r),d.phi=z-o,y.value===Os?d.lam=n+z:y.value===As?d.lam=n<0?n+Q:n-Q:y.value===Gs?d.lam=n-z:d.lam=n):this.face===Is?(o=Math.acos(r),d.phi=o-z,y.value===Os?d.lam=z-n:y.value===As?d.lam=-n:y.value===Gs?d.lam=-n-z:d.lam=n<0?-n-Q:Q-n):(c=(l=r)*l,u=1<=(c+=(M=1<=c?0:Math.sqrt(1-c)*Math.sin(n))*M)?0:Math.sqrt(1-c),y.value===As?(c=u,u=-M,M=c):y.value===Gs?(u=-u,M=-M):y.value===js&&(c=u,u=M,M=-c),this.face===Ns?(c=l,l=-u,u=c):this.face===ks?(l=-l,u=-u):this.face===Es&&(c=l,l=u,u=-c),d.phi=Math.acos(-M)-z,d.lam=Math.atan2(u,l),this.face===Ns?d.lam=S(d.lam,-z):this.face===ks?d.lam=S(d.lam,-Q):this.face===Es&&(d.lam=S(d.lam,+z))),0!==this.es&&(f=d.phi<0?1:0,m=Math.tan(d.phi),p=this.b/Math.sqrt(m*m+this.one_minus_f_squared),d.phi=Math.atan(Math.sqrt(this.a*this.a-p*p)/(this.one_minus_f*p)),f&&(d.phi=-d.phi)),d.lam+=this.long0,t.x=d.lam,t.y=d.phi,t},names:["Quadrilateralized Spherical Cube","Quadrilateralized_Spherical_Cube","qsc"]},Rs=[[1,22199e-21,-715515e-10,31103e-10],[.9986,-482243e-9,-24897e-9,-13309e-10],[.9954,-83103e-8,-448605e-10,-9.86701e-7],[.99,-.00135364,-59661e-9,36777e-10],[.9822,-.00167442,-449547e-11,-572411e-11],[.973,-.00214868,-903571e-10,1.8736e-8],[.96,-.00305085,-900761e-10,164917e-11],[.9427,-.00382792,-653386e-10,-26154e-10],[.9216,-.00467746,-10457e-8,481243e-11],[.8962,-.00536223,-323831e-10,-543432e-11],[.8679,-.00609363,-113898e-9,332484e-11],[.835,-.00698325,-640253e-10,9.34959e-7],[.7986,-.00755338,-500009e-10,9.35324e-7],[.7597,-.00798324,-35971e-9,-227626e-11],[.7186,-.00851367,-701149e-10,-86303e-10],[.6732,-.00986209,-199569e-9,191974e-10],[.6213,-.010418,883923e-10,624051e-11],[.5722,-.00906601,182e-6,624051e-11],[.5322,-.00677797,275608e-9,624051e-11]],Ls=[[-520417e-23,.0124,121431e-23,-845284e-16],[.062,.0124,-1.26793e-9,4.22642e-10],[.124,.0124,5.07171e-9,-1.60604e-9],[.186,.0123999,-1.90189e-8,6.00152e-9],[.248,.0124002,7.10039e-8,-2.24e-8],[.31,.0123992,-2.64997e-7,8.35986e-8],[.372,.0124029,9.88983e-7,-3.11994e-7],[.434,.0123893,-369093e-11,-4.35621e-7],[.4958,.0123198,-102252e-10,-3.45523e-7],[.5571,.0121916,-154081e-10,-5.82288e-7],[.6176,.0119938,-241424e-10,-5.25327e-7],[.6769,.011713,-320223e-10,-5.16405e-7],[.7346,.0113541,-397684e-10,-6.09052e-7],[.7903,.0109107,-489042e-10,-104739e-11],[.8435,.0103431,-64615e-9,-1.40374e-9],[.8936,.00969686,-64636e-9,-8547e-9],[.9394,.00840947,-192841e-9,-42106e-10],[.9761,.00616527,-256e-6,-42106e-10],[1,.00328947,-319159e-9,-42106e-10]],Ts=B/5,Ds=1/Ts,Bs={init:function(){this.x0=this.x0||0,this.y0=this.y0||0,this.long0=this.long0||0,this.es=0,this.title=this.title||"Robinson"},forward:function(t){var s=nt(t.x-this.long0),i=Math.abs(t.y),a=Math.floor(i*Ts);a<0?a=0:18<=a&&(a=17);var h={x:Yt(Rs[a],i=B*(i-Ds*a))*s,y:Yt(Ls[a],i)};return t.y<0&&(h.y=-h.y),h.x=h.x*this.a*.8487+this.x0,h.y=h.y*this.a*1.3523+this.y0,h},inverse:function(t){var a={x:(t.x-this.x0)/(.8487*this.a),y:Math.abs(t.y-this.y0)/(1.3523*this.a)};if(1<=a.y)a.x/=Rs[18][0],a.y=t.y<0?-z:z;else{var s=Math.floor(18*a.y);for(s<0?s=0:18<=s&&(s=17);;)if(Ls[s][0]>a.y)--s;else{if(!(Ls[s+1][0]<=a.y))break;++s}var h=Ls[s],i=function(t,s,i,a){for(var h=s;a;--a){var e=t(h);if(h-=e,Math.abs(e)<i)break}return h}(function(t){return(Yt(h,t)-a.y)/(i=t,(s=h)[1]+i*(2*s[2]+3*i*s[3]));var s,i},i=5*(a.y-h[0])/(Ls[s+1][0]-h[0]),D,100);a.x/=Yt(Rs[s],i),a.y=(5*s+i)*N,t.y<0&&(a.y=-a.y)}return a.x=nt(a.x+this.long0),a},names:["Robinson","robin"]},Us={init:function(){this.name="geocent"},forward:function(t){return M(t,this.es,this.a)},inverse:function(t){return c(t,this.es,this.a,this.b)},names:["Geocentric","geocentric","geocent","Geocent"]};return a.defaultDatum="WGS84",a.Proj=q,a.WGS84=new a.Proj("WGS84"),a.Point=C,a.toPoint=bt,a.defs=l,a.transform=f,a.mgrs=Ot,a.version="2.6.2",($t=a).Proj.projections.add(ss),$t.Proj.projections.add(is),$t.Proj.projections.add(as),$t.Proj.projections.add(es),$t.Proj.projections.add(ns),$t.Proj.projections.add(rs),$t.Proj.projections.add(os),$t.Proj.projections.add(ls),$t.Proj.projections.add(Ms),$t.Proj.projections.add(cs),$t.Proj.projections.add(us),$t.Proj.projections.add(fs),$t.Proj.projections.add(ms),$t.Proj.projections.add(ps),$t.Proj.projections.add(ds),$t.Proj.projections.add(ys),$t.Proj.projections.add(_s),$t.Proj.projections.add(xs),$t.Proj.projections.add(gs),$t.Proj.projections.add(bs),$t.Proj.projections.add(vs),$t.Proj.projections.add(ws),$t.Proj.projections.add(Cs),$t.Proj.projections.add(Ps),$t.Proj.projections.add(zs),$t.Proj.projections.add(Bs),$t.Proj.projections.add(Us),a});</script>
<script>(function (factory) {
var L, proj4;
if (typeof define === 'function' && define.amd) {
// AMD
define(['leaflet', 'proj4'], factory);
} else if (typeof module === 'object' && typeof module.exports === "object") {
// Node/CommonJS
L = require('leaflet');
proj4 = require('proj4');
module.exports = factory(L, proj4);
} else {
// Browser globals
if (typeof window.L === 'undefined' || typeof window.proj4 === 'undefined')
throw 'Leaflet and proj4 must be loaded first';
factory(window.L, window.proj4);
}
}(function (L, proj4) {
if (proj4.__esModule && proj4.default) {
// If proj4 was bundled as an ES6 module, unwrap it to get
// to the actual main proj4 object.
// See discussion in https://github.com/kartena/Proj4Leaflet/pull/147
proj4 = proj4.default;
}
L.Proj = {};
L.Proj._isProj4Obj = function(a) {
return (typeof a.inverse !== 'undefined' &&
typeof a.forward !== 'undefined');
};
L.Proj.Projection = L.Class.extend({
initialize: function(code, def, bounds) {
var isP4 = L.Proj._isProj4Obj(code);
this._proj = isP4 ? code : this._projFromCodeDef(code, def);
this.bounds = isP4 ? def : bounds;
},
project: function (latlng) {
var point = this._proj.forward([latlng.lng, latlng.lat]);
return new L.Point(point[0], point[1]);
},
unproject: function (point, unbounded) {
var point2 = this._proj.inverse([point.x, point.y]);
return new L.LatLng(point2[1], point2[0], unbounded);
},
_projFromCodeDef: function(code, def) {
if (def) {
proj4.defs(code, def);
} else if (proj4.defs[code] === undefined) {
var urn = code.split(':');
if (urn.length > 3) {
code = urn[urn.length - 3] + ':' + urn[urn.length - 1];
}
if (proj4.defs[code] === undefined) {
throw 'No projection definition for code ' + code;
}
}
return proj4(code);
}
});
L.Proj.CRS = L.Class.extend({
includes: L.CRS,
options: {
transformation: new L.Transformation(1, 0, -1, 0)
},
initialize: function(a, b, c) {
var code,
proj,
def,
options;
if (L.Proj._isProj4Obj(a)) {
proj = a;
code = proj.srsCode;
options = b || {};
this.projection = new L.Proj.Projection(proj, options.bounds);
} else {
code = a;
def = b;
options = c || {};
this.projection = new L.Proj.Projection(code, def, options.bounds);
}
L.Util.setOptions(this, options);
this.code = code;
this.transformation = this.options.transformation;
if (this.options.origin) {
this.transformation =
new L.Transformation(1, -this.options.origin[0],
-1, this.options.origin[1]);
}
if (this.options.scales) {
this._scales = this.options.scales;
} else if (this.options.resolutions) {
this._scales = [];
for (var i = this.options.resolutions.length - 1; i >= 0; i--) {
if (this.options.resolutions[i]) {
this._scales[i] = 1 / this.options.resolutions[i];
}
}
}
this.infinite = !this.options.bounds;
},
scale: function(zoom) {
var iZoom = Math.floor(zoom),
baseScale,
nextScale,
scaleDiff,
zDiff;
if (zoom === iZoom) {
return this._scales[zoom];
} else {
// Non-integer zoom, interpolate
baseScale = this._scales[iZoom];
nextScale = this._scales[iZoom + 1];
scaleDiff = nextScale - baseScale;
zDiff = (zoom - iZoom);
return baseScale + scaleDiff * zDiff;
}
},
zoom: function(scale) {
// Find closest number in this._scales, down
var downScale = this._closestElement(this._scales, scale),
downZoom = this._scales.indexOf(downScale),
nextScale,
nextZoom,
scaleDiff;
// Check if scale is downScale => return array index
if (scale === downScale) {
return downZoom;
}
if (downScale === undefined) {
return -Infinity;
}
// Interpolate
nextZoom = downZoom + 1;
nextScale = this._scales[nextZoom];
if (nextScale === undefined) {
return Infinity;
}
scaleDiff = nextScale - downScale;
return (scale - downScale) / scaleDiff + downZoom;
},
distance: L.CRS.Earth.distance,
R: L.CRS.Earth.R,
/* Get the closest lowest element in an array */
_closestElement: function(array, element) {
var low;
for (var i = array.length; i--;) {
if (array[i] <= element && (low === undefined || low < array[i])) {
low = array[i];
}
}
return low;
}
});
L.Proj.GeoJSON = L.GeoJSON.extend({
initialize: function(geojson, options) {
this._callLevel = 0;
L.GeoJSON.prototype.initialize.call(this, geojson, options);
},
addData: function(geojson) {
var crs;
if (geojson) {
if (geojson.crs && geojson.crs.type === 'name') {
crs = new L.Proj.CRS(geojson.crs.properties.name);
} else if (geojson.crs && geojson.crs.type) {
crs = new L.Proj.CRS(geojson.crs.type + ':' + geojson.crs.properties.code);
}
if (crs !== undefined) {
this.options.coordsToLatLng = function(coords) {
var point = L.point(coords[0], coords[1]);
return crs.projection.unproject(point);
};
}
}
// Base class' addData might call us recursively, but
// CRS shouldn't be cleared in that case, since CRS applies
// to the whole GeoJSON, inluding sub-features.
this._callLevel++;
try {
L.GeoJSON.prototype.addData.call(this, geojson);
} finally {
this._callLevel--;
if (this._callLevel === 0) {
delete this.options.coordsToLatLng;
}
}
}
});
L.Proj.geoJson = function(geojson, options) {
return new L.Proj.GeoJSON(geojson, options);
};
L.Proj.ImageOverlay = L.ImageOverlay.extend({
initialize: function (url, bounds, options) {
L.ImageOverlay.prototype.initialize.call(this, url, null, options);
this._projectedBounds = bounds;
},
// Danger ahead: Overriding internal methods in Leaflet.
// Decided to do this rather than making a copy of L.ImageOverlay
// and doing very tiny modifications to it.
// Future will tell if this was wise or not.
_animateZoom: function (event) {
var scale = this._map.getZoomScale(event.zoom);
var northWest = L.point(this._projectedBounds.min.x, this._projectedBounds.max.y);
var offset = this._projectedToNewLayerPoint(northWest, event.zoom, event.center);
L.DomUtil.setTransform(this._image, offset, scale);
},
_reset: function () {
var zoom = this._map.getZoom();
var pixelOrigin = this._map.getPixelOrigin();
var bounds = L.bounds(
this._transform(this._projectedBounds.min, zoom)._subtract(pixelOrigin),
this._transform(this._projectedBounds.max, zoom)._subtract(pixelOrigin)
);
var size = bounds.getSize();
L.DomUtil.setPosition(this._image, bounds.min);
this._image.style.width = size.x + 'px';
this._image.style.height = size.y + 'px';
},
_projectedToNewLayerPoint: function (point, zoom, center) {
var viewHalf = this._map.getSize()._divideBy(2);
var newTopLeft = this._map.project(center, zoom)._subtract(viewHalf)._round();
var topLeft = newTopLeft.add(this._map._getMapPanePos());
return this._transform(point, zoom)._subtract(topLeft);
},
_transform: function (point, zoom) {
var crs = this._map.options.crs;
var transformation = crs.transformation;
var scale = crs.scale(zoom);
return transformation.transform(point, scale);
}
});
L.Proj.imageOverlay = function (url, bounds, options) {
return new L.Proj.ImageOverlay(url, bounds, options);
};
return L.Proj;
}));
</script>
<style type="text/css">.leaflet-tooltip.leaflet-tooltip-text-only,
.leaflet-tooltip.leaflet-tooltip-text-only:before,
.leaflet-tooltip.leaflet-tooltip-text-only:after {
background: none;
border: none;
box-shadow: none;
}
.leaflet-tooltip.leaflet-tooltip-text-only.leaflet-tooltip-left {
margin-left: 5px;
}
.leaflet-tooltip.leaflet-tooltip-text-only.leaflet-tooltip-right {
margin-left: -5px;
}
.leaflet-tooltip:after {
border-right: 6px solid transparent;
}
.leaflet-popup-pane .leaflet-popup-tip-container {
pointer-events: all;
cursor: pointer;
}
.leaflet-map-pane {
z-index: auto;
}
.leaflet-container .leaflet-right-pane img,
.leaflet-container .leaflet-left-pane img {
max-width: none !important;
max-height: none !important;
}
</style>
<script>(function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i<t.length;i++)o(t[i]);return o}return r})()({1:[function(require,module,exports){
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = undefined;
var _util = require("./util");
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
var ClusterLayerStore = /*#__PURE__*/function () {
function ClusterLayerStore(group) {
_classCallCheck(this, ClusterLayerStore);
this._layers = {};
this._group = group;
}
_createClass(ClusterLayerStore, [{
key: "add",
value: function add(layer, id) {
if (typeof id !== "undefined" && id !== null) {
if (this._layers[id]) {
this._group.removeLayer(this._layers[id]);
}
this._layers[id] = layer;
}
this._group.addLayer(layer);
}
}, {
key: "remove",
value: function remove(id) {
if (typeof id === "undefined" || id === null) {
return;
}
id = (0, _util.asArray)(id);
for (var i = 0; i < id.length; i++) {
if (this._layers[id[i]]) {
this._group.removeLayer(this._layers[id[i]]);
delete this._layers[id[i]];
}
}
}
}, {
key: "clear",
value: function clear() {
this._layers = {};
this._group.clearLayers();
}
}]);
return ClusterLayerStore;
}();
exports["default"] = ClusterLayerStore;
},{"./util":17}],2:[function(require,module,exports){
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
var ControlStore = /*#__PURE__*/function () {
function ControlStore(map) {
_classCallCheck(this, ControlStore);
this._controlsNoId = [];
this._controlsById = {};
this._map = map;
}
_createClass(ControlStore, [{
key: "add",
value: function add(control, id, html) {
if (typeof id !== "undefined" && id !== null) {
if (this._controlsById[id]) {
this._map.removeControl(this._controlsById[id]);
}
this._controlsById[id] = control;
} else {
this._controlsNoId.push(control);
}
this._map.addControl(control);
}
}, {
key: "get",
value: function get(id) {
var control = null;
if (this._controlsById[id]) {
control = this._controlsById[id];
}
return control;
}
}, {
key: "remove",
value: function remove(id) {
if (this._controlsById[id]) {
var control = this._controlsById[id];
this._map.removeControl(control);
delete this._controlsById[id];
}
}
}, {
key: "clear",
value: function clear() {
for (var i = 0; i < this._controlsNoId.length; i++) {
var control = this._controlsNoId[i];
this._map.removeControl(control);
}
this._controlsNoId = [];
for (var key in this._controlsById) {
var _control = this._controlsById[key];
this._map.removeControl(_control);
}
this._controlsById = {};
}
}]);
return ControlStore;
}();
exports["default"] = ControlStore;
},{}],3:[function(require,module,exports){
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.getCRS = getCRS;
var _leaflet = require("./global/leaflet");
var _leaflet2 = _interopRequireDefault(_leaflet);
var _proj4leaflet = require("./global/proj4leaflet");
var _proj4leaflet2 = _interopRequireDefault(_proj4leaflet);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
// Helper function to instanciate a ICRS instance.
function getCRS(crsOptions) {
var crs = _leaflet2["default"].CRS.EPSG3857; // Default Spherical Mercator
switch (crsOptions.crsClass) {
case "L.CRS.EPSG3857":
crs = _leaflet2["default"].CRS.EPSG3857;
break;
case "L.CRS.EPSG4326":
crs = _leaflet2["default"].CRS.EPSG4326;
break;
case "L.CRS.EPSG3395":
crs = _leaflet2["default"].CRS.EPSG3395;
break;
case "L.CRS.Simple":
crs = _leaflet2["default"].CRS.Simple;
break;
case "L.Proj.CRS":
if (crsOptions.options && crsOptions.options.bounds) {
crsOptions.options.bounds = _leaflet2["default"].bounds(crsOptions.options.bounds);
}
if (crsOptions.options && crsOptions.options.transformation) {
crsOptions.options.transformation = new _leaflet2["default"].Transformation(crsOptions.options.transformation[0], crsOptions.options.transformation[1], crsOptions.options.transformation[2], crsOptions.options.transformation[3]);
}
crs = new _proj4leaflet2["default"].CRS(crsOptions.code, crsOptions.proj4def, crsOptions.options);
break;
case "L.Proj.CRS.TMS":
if (crsOptions.options && crsOptions.options.bounds) {
crsOptions.options.bounds = _leaflet2["default"].bounds(crsOptions.options.bounds);
}
if (crsOptions.options && crsOptions.options.transformation) {
crsOptions.options.transformation = _leaflet2["default"].Transformation(crsOptions.options.transformation[0], crsOptions.options.transformation[1], crsOptions.options.transformation[2], crsOptions.options.transformation[3]);
} // L.Proj.CRS.TMS is deprecated as of Leaflet 1.x, fall back to L.Proj.CRS
//crs = new Proj4Leaflet.CRS.TMS(crsOptions.code, crsOptions.proj4def, crsOptions.projectedBounds, crsOptions.options);
crs = new _proj4leaflet2["default"].CRS(crsOptions.code, crsOptions.proj4def, crsOptions.options);
break;
}
return crs;
}
},{"./global/leaflet":10,"./global/proj4leaflet":11}],4:[function(require,module,exports){
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = undefined;
var _util = require("./util");
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
var DataFrame = /*#__PURE__*/function () {
function DataFrame() {
_classCallCheck(this, DataFrame);
this.columns = [];
this.colnames = [];
this.colstrict = [];
this.effectiveLength = 0;
this.colindices = {};
}
_createClass(DataFrame, [{
key: "_updateCachedProperties",
value: function _updateCachedProperties() {
var _this = this;
this.effectiveLength = 0;
this.colindices = {};
this.columns.forEach(function (column, i) {
_this.effectiveLength = Math.max(_this.effectiveLength, column.length);
_this.colindices[_this.colnames[i]] = i;
});
}
}, {
key: "_colIndex",
value: function _colIndex(colname) {
var index = this.colindices[colname];
if (typeof index === "undefined") return -1;
return index;
}
}, {
key: "col",
value: function col(name, values, strict) {
if (typeof name !== "string") throw new Error("Invalid column name \"" + name + "\"");
var index = this._colIndex(name);
if (arguments.length === 1) {
if (index < 0) return null;else return (0, _util.recycle)(this.columns[index], this.effectiveLength);
}
if (index < 0) {
index = this.colnames.length;
this.colnames.push(name);
}
this.columns[index] = (0, _util.asArray)(values);
this.colstrict[index] = !!strict; // TODO: Validate strictness (ensure lengths match up with other stricts)
this._updateCachedProperties();
return this;
}
}, {
key: "cbind",
value: function cbind(obj, strict) {
var _this2 = this;
Object.keys(obj).forEach(function (name) {
var coldata = obj[name];
_this2.col(name, coldata);
});
return this;
}
}, {
key: "get",
value: function get(row, col, missingOK) {
var _this3 = this;
if (row > this.effectiveLength) throw new Error("Row argument was out of bounds: " + row + " > " + this.effectiveLength);
var colIndex = -1;
if (typeof col === "undefined") {
var rowData = {};
this.colnames.forEach(function (name, i) {
rowData[name] = _this3.columns[i][row % _this3.columns[i].length];
});
return rowData;
} else if (typeof col === "string") {
colIndex = this._colIndex(col);
} else if (typeof col === "number") {
colIndex = col;
}
if (colIndex < 0 || colIndex > this.columns.length) {
if (missingOK) return void 0;else throw new Error("Unknown column index: " + col);
}
return this.columns[colIndex][row % this.columns[colIndex].length];
}
}, {
key: "nrow",
value: function nrow() {
return this.effectiveLength;
}
}]);
return DataFrame;
}();
exports["default"] = DataFrame;
},{"./util":17}],5:[function(require,module,exports){
"use strict";
var _leaflet = require("./global/leaflet");
var _leaflet2 = _interopRequireDefault(_leaflet);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
// In RMarkdown's self-contained mode, we don't have a way to carry around the
// images that Leaflet needs but doesn't load into the page. Instead, we'll use
// the unpkg CDN.
if (typeof _leaflet2["default"].Icon.Default.imagePath === "undefined") {
_leaflet2["default"].Icon.Default.imagePath = "https://unpkg.com/leaflet@1.3.1/dist/images/";
}
},{"./global/leaflet":10}],6:[function(require,module,exports){
"use strict";
var _leaflet = require("./global/leaflet");
var _leaflet2 = _interopRequireDefault(_leaflet);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
// add texxtsize, textOnly, and style
_leaflet2["default"].Tooltip.prototype.options.textsize = "10px";
_leaflet2["default"].Tooltip.prototype.options.textOnly = false;
_leaflet2["default"].Tooltip.prototype.options.style = null; // copy original layout to not completely stomp it.
var initLayoutOriginal = _leaflet2["default"].Tooltip.prototype._initLayout;
_leaflet2["default"].Tooltip.prototype._initLayout = function () {
initLayoutOriginal.call(this);
this._container.style.fontSize = this.options.textsize;
if (this.options.textOnly) {
_leaflet2["default"].DomUtil.addClass(this._container, "leaflet-tooltip-text-only");
}
if (this.options.style) {
for (var property in this.options.style) {
this._container.style[property] = this.options.style[property];
}
}
};
},{"./global/leaflet":10}],7:[function(require,module,exports){
"use strict";
var _leaflet = require("./global/leaflet");
var _leaflet2 = _interopRequireDefault(_leaflet);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
var protocolRegex = /^\/\//;
var upgrade_protocol = function upgrade_protocol(urlTemplate) {
if (protocolRegex.test(urlTemplate)) {
if (window.location.protocol === "file:") {
// if in a local file, support http
// http should auto upgrade if necessary
urlTemplate = "http:" + urlTemplate;
}
}
return urlTemplate;
};
var originalLTileLayerInitialize = _leaflet2["default"].TileLayer.prototype.initialize;
_leaflet2["default"].TileLayer.prototype.initialize = function (urlTemplate, options) {
urlTemplate = upgrade_protocol(urlTemplate);
originalLTileLayerInitialize.call(this, urlTemplate, options);
};
var originalLTileLayerWMSInitialize = _leaflet2["default"].TileLayer.WMS.prototype.initialize;
_leaflet2["default"].TileLayer.WMS.prototype.initialize = function (urlTemplate, options) {
urlTemplate = upgrade_protocol(urlTemplate);
originalLTileLayerWMSInitialize.call(this, urlTemplate, options);
};
},{"./global/leaflet":10}],8:[function(require,module,exports){
(function (global){(function (){
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = global.HTMLWidgets;
}).call(this)}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
},{}],9:[function(require,module,exports){
(function (global){(function (){
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = global.jQuery;
}).call(this)}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
},{}],10:[function(require,module,exports){
(function (global){(function (){
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = global.L;
}).call(this)}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
},{}],11:[function(require,module,exports){
(function (global){(function (){
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = global.L.Proj;
}).call(this)}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
},{}],12:[function(require,module,exports){
(function (global){(function (){
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = global.Shiny;
}).call(this)}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
},{}],13:[function(require,module,exports){
"use strict";
var _jquery = require("./global/jquery");
var _jquery2 = _interopRequireDefault(_jquery);
var _leaflet = require("./global/leaflet");
var _leaflet2 = _interopRequireDefault(_leaflet);
var _shiny = require("./global/shiny");
var _shiny2 = _interopRequireDefault(_shiny);
var _htmlwidgets = require("./global/htmlwidgets");
var _htmlwidgets2 = _interopRequireDefault(_htmlwidgets);
var _util = require("./util");
var _crs_utils = require("./crs_utils");
var _controlStore = require("./control-store");
var _controlStore2 = _interopRequireDefault(_controlStore);
var _layerManager = require("./layer-manager");
var _layerManager2 = _interopRequireDefault(_layerManager);
var _methods = require("./methods");
var _methods2 = _interopRequireDefault(_methods);
require("./fixup-default-icon");
require("./fixup-default-tooltip");
require("./fixup-url-protocol");
var _dataframe = require("./dataframe");
var _dataframe2 = _interopRequireDefault(_dataframe);
var _clusterLayerStore = require("./cluster-layer-store");
var _clusterLayerStore2 = _interopRequireDefault(_clusterLayerStore);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
window.LeafletWidget = {};
window.LeafletWidget.utils = {};
var methods = window.LeafletWidget.methods = _jquery2["default"].extend({}, _methods2["default"]);
window.LeafletWidget.DataFrame = _dataframe2["default"];
window.LeafletWidget.ClusterLayerStore = _clusterLayerStore2["default"];
window.LeafletWidget.utils.getCRS = _crs_utils.getCRS; // Send updated bounds back to app. Takes a leaflet event object as input.
function updateBounds(map) {
var id = map.getContainer().id;
var bounds = map.getBounds();
_shiny2["default"].onInputChange(id + "_bounds", {
north: bounds.getNorthEast().lat,
east: bounds.getNorthEast().lng,
south: bounds.getSouthWest().lat,
west: bounds.getSouthWest().lng
});
_shiny2["default"].onInputChange(id + "_center", {
lng: map.getCenter().lng,
lat: map.getCenter().lat
});
_shiny2["default"].onInputChange(id + "_zoom", map.getZoom());
}
function preventUnintendedZoomOnScroll(map) {
// Prevent unwanted scroll capturing. Similar in purpose to
// https://github.com/CliffCloud/Leaflet.Sleep but with a
// different set of heuristics.
// The basic idea is that when a mousewheel/DOMMouseScroll
// event is seen, we disable scroll wheel zooming until the
// user moves their mouse cursor or clicks on the map. This
// is slightly trickier than just listening for mousemove,
// because mousemove is fired when the page is scrolled,
// even if the user did not physically move the mouse. We
// handle this by examining the mousemove event's screenX
// and screenY properties; if they change, we know it's a
// "true" move.
// lastScreen can never be null, but its x and y can.
var lastScreen = {
x: null,
y: null
};
(0, _jquery2["default"])(document).on("mousewheel DOMMouseScroll", "*", function (e) {
// Disable zooming (until the mouse moves or click)
map.scrollWheelZoom.disable(); // Any mousemove events at this screen position will be ignored.
lastScreen = {
x: e.originalEvent.screenX,
y: e.originalEvent.screenY
};
});
(0, _jquery2["default"])(document).on("mousemove", "*", function (e) {
// Did the mouse really move?
if (lastScreen.x !== null && e.screenX !== lastScreen.x || e.screenY !== lastScreen.y) {
// It really moved. Enable zooming.
map.scrollWheelZoom.enable();
lastScreen = {
x: null,
y: null
};
}
});
(0, _jquery2["default"])(document).on("mousedown", ".leaflet", function (e) {
// Clicking always enables zooming.
map.scrollWheelZoom.enable();
lastScreen = {
x: null,
y: null
};
});
}
_htmlwidgets2["default"].widget({
name: "leaflet",
type: "output",
factory: function factory(el, width, height) {
var map = null;
return {
// we need to store our map in our returned object.
getMap: function getMap() {
return map;
},
renderValue: function renderValue(data) {
// Create an appropriate CRS Object if specified
if (data && data.options && data.options.crs) {
data.options.crs = (0, _crs_utils.getCRS)(data.options.crs);
} // As per https://github.com/rstudio/leaflet/pull/294#discussion_r79584810
if (map) {
map.remove();
map = function () {
return;
}(); // undefine map
}
if (data.options.mapFactory && typeof data.options.mapFactory === "function") {
map = data.options.mapFactory(el, data.options);
} else {
map = _leaflet2["default"].map(el, data.options);
}
preventUnintendedZoomOnScroll(map); // Store some state in the map object
map.leafletr = {
// Has the map ever rendered successfully?
hasRendered: false,
// Data to be rendered when resize is called with area != 0
pendingRenderData: null
}; // Check if the map is rendered statically (no output binding)
if (_htmlwidgets2["default"].shinyMode && /\bshiny-bound-output\b/.test(el.className)) {
map.id = el.id; // Store the map on the element so we can find it later by ID
(0, _jquery2["default"])(el).data("leaflet-map", map); // When the map is clicked, send the coordinates back to the app
map.on("click", function (e) {
_shiny2["default"].onInputChange(map.id + "_click", {
lat: e.latlng.lat,
lng: e.latlng.lng,
".nonce": Math.random() // Force reactivity if lat/lng hasn't changed
});
});
var groupTimerId = null;
map.on("moveend", function (e) {
updateBounds(e.target);
}).on("layeradd layerremove", function (e) {
// If the layer that's coming or going is a group we created, tell
// the server.
if (map.layerManager.getGroupNameFromLayerGroup(e.layer)) {
// But to avoid chattiness, coalesce events
if (groupTimerId) {
clearTimeout(groupTimerId);
groupTimerId = null;
}
groupTimerId = setTimeout(function () {
groupTimerId = null;
_shiny2["default"].onInputChange(map.id + "_groups", map.layerManager.getVisibleGroups());
}, 100);
}
});
}
this.doRenderValue(data, map);
},
doRenderValue: function doRenderValue(data, map) {
// Leaflet does not behave well when you set up a bunch of layers when
// the map is not visible (width/height == 0). Popups get misaligned
// relative to their owning markers, and the fitBounds calculations
// are off. Therefore we wait until the map is actually showing to
// render the value (we rely on the resize() callback being invoked
// at the appropriate time).
if (el.offsetWidth === 0 || el.offsetHeight === 0) {
map.leafletr.pendingRenderData = data;
return;
}
map.leafletr.pendingRenderData = null; // Merge data options into defaults
var options = _jquery2["default"].extend({
zoomToLimits: "always"
}, data.options);
if (!map.layerManager) {
map.controls = new _controlStore2["default"](map);
map.layerManager = new _layerManager2["default"](map);
} else {
map.controls.clear();
map.layerManager.clear();
}
var explicitView = false;
if (data.setView) {
explicitView = true;
map.setView.apply(map, data.setView);
}
if (data.fitBounds) {
explicitView = true;
methods.fitBounds.apply(map, data.fitBounds);
}
if (data.flyTo) {
if (!explicitView && !map.leafletr.hasRendered) {
// must be done to give a initial starting point
map.fitWorld();
}
explicitView = true;
map.flyTo.apply(map, data.flyTo);
}
if (data.flyToBounds) {
if (!explicitView && !map.leafletr.hasRendered) {
// must be done to give a initial starting point
map.fitWorld();
}
explicitView = true;
methods.flyToBounds.apply(map, data.flyToBounds);
}
if (data.options.center) {
explicitView = true;
} // Returns true if the zoomToLimits option says that the map should be
// zoomed to map elements.
function needsZoom() {
return options.zoomToLimits === "always" || options.zoomToLimits === "first" && !map.leafletr.hasRendered;
}
if (!explicitView && needsZoom() && !map.getZoom()) {
if (data.limits && !_jquery2["default"].isEmptyObject(data.limits)) {
// Use the natural limits of what's being drawn on the map
// If the size of the bounding box is 0, leaflet gets all weird
var pad = 0.006;
if (data.limits.lat[0] === data.limits.lat[1]) {
data.limits.lat[0] = data.limits.lat[0] - pad;
data.limits.lat[1] = data.limits.lat[1] + pad;
}
if (data.limits.lng[0] === data.limits.lng[1]) {
data.limits.lng[0] = data.limits.lng[0] - pad;
data.limits.lng[1] = data.limits.lng[1] + pad;
}
map.fitBounds([[data.limits.lat[0], data.limits.lng[0]], [data.limits.lat[1], data.limits.lng[1]]]);
} else {
map.fitWorld();
}
}
for (var i = 0; data.calls && i < data.calls.length; i++) {
var call = data.calls[i];
if (methods[call.method]) methods[call.method].apply(map, call.args);else (0, _util.log)("Unknown method " + call.method);
}
map.leafletr.hasRendered = true;
if (_htmlwidgets2["default"].shinyMode) {
setTimeout(function () {
updateBounds(map);
}, 1);
}
},
resize: function resize(width, height) {
if (map) {
map.invalidateSize();
if (map.leafletr.pendingRenderData) {
this.doRenderValue(map.leafletr.pendingRenderData, map);
}
}
}
};
}
});
if (_htmlwidgets2["default"].shinyMode) {
_shiny2["default"].addCustomMessageHandler("leaflet-calls", function (data) {
var id = data.id;
var el = document.getElementById(id);
var map = el ? (0, _jquery2["default"])(el).data("leaflet-map") : null;
if (!map) {
(0, _util.log)("Couldn't find map with id " + id);
return;
} // If the map has not rendered, stash the proposed `leafletProxy()` calls
// in `pendingRenderData.calls` to be run on display via `doRenderValue()`.
// This is necessary if the map has not been rendered.
// If new pendingRenderData is set via a new `leaflet()`, the previous calls will be discarded.
if (!map.leafletr.hasRendered) {
map.leafletr.pendingRenderData.calls = map.leafletr.pendingRenderData.calls.concat(data.calls);
return;
}
for (var i = 0; i < data.calls.length; i++) {
var call = data.calls[i];
var args = call.args;
for (var _i = 0; _i < call.evals.length; _i++) {
window.HTMLWidgets.evaluateStringMember(args, call.evals[_i]);
}
if (call.dependencies) {
_shiny2["default"].renderDependencies(call.dependencies);
}
if (methods[call.method]) methods[call.method].apply(map, args);else (0, _util.log)("Unknown method " + call.method);
}
});
}
},{"./cluster-layer-store":1,"./control-store":2,"./crs_utils":3,"./dataframe":4,"./fixup-default-icon":5,"./fixup-default-tooltip":6,"./fixup-url-protocol":7,"./global/htmlwidgets":8,"./global/jquery":9,"./global/leaflet":10,"./global/shiny":12,"./layer-manager":14,"./methods":15,"./util":17}],14:[function(require,module,exports){
(function (global){(function (){
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = undefined;
var _jquery = require("./global/jquery");
var _jquery2 = _interopRequireDefault(_jquery);
var _leaflet = require("./global/leaflet");
var _leaflet2 = _interopRequireDefault(_leaflet);
var _util = require("./util");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
var LayerManager = /*#__PURE__*/function () {
function LayerManager(map) {
_classCallCheck(this, LayerManager);
this._map = map; // BEGIN layer indices
// {<groupname>: {<stamp>: layer}}
this._byGroup = {}; // {<categoryName>: {<stamp>: layer}}
this._byCategory = {}; // {<categoryName_layerId>: layer}
this._byLayerId = {}; // {<stamp>: {
// "group": <groupname>,
// "layerId": <layerId>,
// "category": <category>,
// "container": <container>
// }
// }
this._byStamp = {}; // {<crosstalkGroupName>: {<key>: [<stamp>, <stamp>, ...], ...}}
this._byCrosstalkGroup = {}; // END layer indices
// {<categoryName>: L.layerGroup}
this._categoryContainers = {}; // {<groupName>: L.layerGroup}
this._groupContainers = {};
}
_createClass(LayerManager, [{
key: "addLayer",
value: function addLayer(layer, category, layerId, group, ctGroup, ctKey) {
var _this = this;
// Was a group provided?
var hasId = typeof layerId === "string";
var grouped = typeof group === "string";
var stamp = _leaflet2["default"].Util.stamp(layer) + ""; // This will be the default layer group to add the layer to.
// We may overwrite this let before using it (i.e. if a group is assigned).
// This one liner creates the _categoryContainers[category] entry if it
// doesn't already exist.
var container = this._categoryContainers[category] = this._categoryContainers[category] || _leaflet2["default"].layerGroup().addTo(this._map);
var oldLayer = null;
if (hasId) {
// First, remove any layer with the same category and layerId
var prefixedLayerId = this._layerIdKey(category, layerId);
oldLayer = this._byLayerId[prefixedLayerId];
if (oldLayer) {
this._removeLayer(oldLayer);
} // Update layerId index
this._byLayerId[prefixedLayerId] = layer;
} // Update group index
if (grouped) {
this._byGroup[group] = this._byGroup[group] || {};
this._byGroup[group][stamp] = layer; // Since a group is assigned, don't add the layer to the category's layer
// group; instead, use the group's layer group.
// This one liner creates the _groupContainers[group] entry if it doesn't
// already exist.
container = this.getLayerGroup(group, true);
} // Update category index
this._byCategory[category] = this._byCategory[category] || {};
this._byCategory[category][stamp] = layer; // Update stamp index
var layerInfo = this._byStamp[stamp] = {
layer: layer,
group: group,
ctGroup: ctGroup,
ctKey: ctKey,
layerId: layerId,
category: category,
container: container,
hidden: false
}; // Update crosstalk group index
if (ctGroup) {
if (layer.setStyle) {
// Need to save this info so we know what to set opacity to later
layer.options.origOpacity = typeof layer.options.opacity !== "undefined" ? layer.options.opacity : 0.5;
layer.options.origFillOpacity = typeof layer.options.fillOpacity !== "undefined" ? layer.options.fillOpacity : 0.2;
}
var ctg = this._byCrosstalkGroup[ctGroup];
if (!ctg) {
ctg = this._byCrosstalkGroup[ctGroup] = {};
var crosstalk = global.crosstalk;
var handleFilter = function handleFilter(e) {
if (!e.value) {
var groupKeys = Object.keys(ctg);
for (var i = 0; i < groupKeys.length; i++) {
var key = groupKeys[i];
var _layerInfo = _this._byStamp[ctg[key]];
_this._setVisibility(_layerInfo, true);
}
} else {
var selectedKeys = {};
for (var _i = 0; _i < e.value.length; _i++) {
selectedKeys[e.value[_i]] = true;
}
var _groupKeys = Object.keys(ctg);
for (var _i2 = 0; _i2 < _groupKeys.length; _i2++) {
var _key = _groupKeys[_i2];
var _layerInfo2 = _this._byStamp[ctg[_key]];
_this._setVisibility(_layerInfo2, selectedKeys[_groupKeys[_i2]]);
}
}
};
var filterHandle = new crosstalk.FilterHandle(ctGroup);
filterHandle.on("change", handleFilter);
var handleSelection = function handleSelection(e) {
if (!e.value || !e.value.length) {
var groupKeys = Object.keys(ctg);
for (var i = 0; i < groupKeys.length; i++) {
var key = groupKeys[i];
var _layerInfo3 = _this._byStamp[ctg[key]];
_this._setOpacity(_layerInfo3, 1.0);
}
} else {
var selectedKeys = {};
for (var _i3 = 0; _i3 < e.value.length; _i3++) {
selectedKeys[e.value[_i3]] = true;
}
var _groupKeys2 = Object.keys(ctg);
for (var _i4 = 0; _i4 < _groupKeys2.length; _i4++) {
var _key2 = _groupKeys2[_i4];
var _layerInfo4 = _this._byStamp[ctg[_key2]];
_this._setOpacity(_layerInfo4, selectedKeys[_groupKeys2[_i4]] ? 1.0 : 0.2);
}
}
};
var selHandle = new crosstalk.SelectionHandle(ctGroup);
selHandle.on("change", handleSelection);
setTimeout(function () {
handleFilter({
value: filterHandle.filteredKeys
});
handleSelection({
value: selHandle.value
});
}, 100);
}
if (!ctg[ctKey]) ctg[ctKey] = [];
ctg[ctKey].push(stamp);
} // Add to container
if (!layerInfo.hidden) container.addLayer(layer);
return oldLayer;
}
}, {
key: "brush",
value: function brush(bounds, extraInfo) {
var _this2 = this;
/* eslint-disable no-console */
// For each Crosstalk group...
Object.keys(this._byCrosstalkGroup).forEach(function (ctGroupName) {
var ctg = _this2._byCrosstalkGroup[ctGroupName];
var selection = []; // ...iterate over each Crosstalk key (each of which may have multiple
// layers)...
Object.keys(ctg).forEach(function (ctKey) {
// ...and for each layer...
ctg[ctKey].forEach(function (stamp) {
var layerInfo = _this2._byStamp[stamp]; // ...if it's something with a point...
if (layerInfo.layer.getLatLng) {
// ... and it's inside the selection bounds...
// TODO: Use pixel containment, not lat/lng containment
if (bounds.contains(layerInfo.layer.getLatLng())) {
// ...add the key to the selection.
selection.push(ctKey);
}
}
});
});
new global.crosstalk.SelectionHandle(ctGroupName).set(selection, extraInfo);
});
}
}, {
key: "unbrush",
value: function unbrush(extraInfo) {
Object.keys(this._byCrosstalkGroup).forEach(function (ctGroupName) {
new global.crosstalk.SelectionHandle(ctGroupName).clear(extraInfo);
});
}
}, {
key: "_setVisibility",
value: function _setVisibility(layerInfo, visible) {
if (layerInfo.hidden ^ visible) {
return;
} else if (visible) {
layerInfo.container.addLayer(layerInfo.layer);
layerInfo.hidden = false;
} else {
layerInfo.container.removeLayer(layerInfo.layer);
layerInfo.hidden = true;
}
}
}, {
key: "_setOpacity",
value: function _setOpacity(layerInfo, opacity) {
if (layerInfo.layer.setOpacity) {
layerInfo.layer.setOpacity(opacity);
} else if (layerInfo.layer.setStyle) {
layerInfo.layer.setStyle({
opacity: opacity * layerInfo.layer.options.origOpacity,
fillOpacity: opacity * layerInfo.layer.options.origFillOpacity
});
}
}
}, {
key: "getLayer",
value: function getLayer(category, layerId) {
return this._byLayerId[this._layerIdKey(category, layerId)];
}
}, {
key: "removeLayer",
value: function removeLayer(category, layerIds) {
var _this3 = this;
// Find layer info
_jquery2["default"].each((0, _util.asArray)(layerIds), function (i, layerId) {
var layer = _this3._byLayerId[_this3._layerIdKey(category, layerId)];
if (layer) {
_this3._removeLayer(layer);
}
});
}
}, {
key: "clearLayers",
value: function clearLayers(category) {
var _this4 = this;
// Find all layers in _byCategory[category]
var catTable = this._byCategory[category];
if (!catTable) {
return false;
} // Remove all layers. Make copy of keys to avoid mutating the collection
// behind the iterator you're accessing.
var stamps = [];
_jquery2["default"].each(catTable, function (k, v) {
stamps.push(k);
});
_jquery2["default"].each(stamps, function (i, stamp) {
_this4._removeLayer(stamp);
});
}
}, {
key: "getLayerGroup",
value: function getLayerGroup(group, ensureExists) {
var g = this._groupContainers[group];
if (ensureExists && !g) {
this._byGroup[group] = this._byGroup[group] || {};
g = this._groupContainers[group] = _leaflet2["default"].featureGroup();
g.groupname = group;
g.addTo(this._map);
}
return g;
}
}, {
key: "getGroupNameFromLayerGroup",
value: function getGroupNameFromLayerGroup(layerGroup) {
return layerGroup.groupname;
}
}, {
key: "getVisibleGroups",
value: function getVisibleGroups() {
var _this5 = this;
var result = [];
_jquery2["default"].each(this._groupContainers, function (k, v) {
if (_this5._map.hasLayer(v)) {
result.push(k);
}
});
return result;
}
}, {
key: "getAllGroupNames",
value: function getAllGroupNames() {
var result = [];
_jquery2["default"].each(this._groupContainers, function (k, v) {
result.push(k);
});
return result;
}
}, {
key: "clearGroup",
value: function clearGroup(group) {
var _this6 = this;
// Find all layers in _byGroup[group]
var groupTable = this._byGroup[group];
if (!groupTable) {
return false;
} // Remove all layers. Make copy of keys to avoid mutating the collection
// behind the iterator you're accessing.
var stamps = [];
_jquery2["default"].each(groupTable, function (k, v) {
stamps.push(k);
});
_jquery2["default"].each(stamps, function (i, stamp) {
_this6._removeLayer(stamp);
});
}
}, {
key: "clear",
value: function clear() {
function clearLayerGroup(key, layerGroup) {
layerGroup.clearLayers();
} // Clear all indices and layerGroups
this._byGroup = {};
this._byCategory = {};
this._byLayerId = {};
this._byStamp = {};
this._byCrosstalkGroup = {};
_jquery2["default"].each(this._categoryContainers, clearLayerGroup);
this._categoryContainers = {};
_jquery2["default"].each(this._groupContainers, clearLayerGroup);
this._groupContainers = {};
}
}, {
key: "_removeLayer",
value: function _removeLayer(layer) {
var stamp;
if (typeof layer === "string") {
stamp = layer;
} else {
stamp = _leaflet2["default"].Util.stamp(layer);
}
var layerInfo = this._byStamp[stamp];
if (!layerInfo) {
return false;
}
layerInfo.container.removeLayer(stamp);
if (typeof layerInfo.group === "string") {
delete this._byGroup[layerInfo.group][stamp];
}
if (typeof layerInfo.layerId === "string") {
delete this._byLayerId[this._layerIdKey(layerInfo.category, layerInfo.layerId)];
}
delete this._byCategory[layerInfo.category][stamp];
delete this._byStamp[stamp];
if (layerInfo.ctGroup) {
var ctGroup = this._byCrosstalkGroup[layerInfo.ctGroup];
var layersForKey = ctGroup[layerInfo.ctKey];
var idx = layersForKey ? layersForKey.indexOf(stamp) : -1;
if (idx >= 0) {
if (layersForKey.length === 1) {
delete ctGroup[layerInfo.ctKey];
} else {
layersForKey.splice(idx, 1);
}
}
}
}
}, {
key: "_layerIdKey",
value: function _layerIdKey(category, layerId) {
return category + "\n" + layerId;
}
}]);
return LayerManager;
}();
exports["default"] = LayerManager;
}).call(this)}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
},{"./global/jquery":9,"./global/leaflet":10,"./util":17}],15:[function(require,module,exports){
(function (global){(function (){
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
var _jquery = require("./global/jquery");
var _jquery2 = _interopRequireDefault(_jquery);
var _leaflet = require("./global/leaflet");
var _leaflet2 = _interopRequireDefault(_leaflet);
var _shiny = require("./global/shiny");
var _shiny2 = _interopRequireDefault(_shiny);
var _htmlwidgets = require("./global/htmlwidgets");
var _htmlwidgets2 = _interopRequireDefault(_htmlwidgets);
var _util = require("./util");
var _crs_utils = require("./crs_utils");
var _dataframe = require("./dataframe");
var _dataframe2 = _interopRequireDefault(_dataframe);
var _clusterLayerStore = require("./cluster-layer-store");
var _clusterLayerStore2 = _interopRequireDefault(_clusterLayerStore);
var _mipmapper = require("./mipmapper");
var _mipmapper2 = _interopRequireDefault(_mipmapper);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
var methods = {};
exports["default"] = methods;
function mouseHandler(mapId, layerId, group, eventName, extraInfo) {
return function (e) {
if (!_htmlwidgets2["default"].shinyMode) return;
var latLng = e.target.getLatLng ? e.target.getLatLng() : e.latlng;
if (latLng) {
// retrieve only lat, lon values to remove prototype
// and extra parameters added by 3rd party modules
// these objects are for json serialization, not javascript
var latLngVal = _leaflet2["default"].latLng(latLng); // make sure it has consistent shape
latLng = {
lat: latLngVal.lat,
lng: latLngVal.lng
};
}
var eventInfo = _jquery2["default"].extend({
id: layerId,
".nonce": Math.random() // force reactivity
}, group !== null ? {
group: group
} : null, latLng, extraInfo);
_shiny2["default"].onInputChange(mapId + "_" + eventName, eventInfo);
};
}
methods.mouseHandler = mouseHandler;
methods.clearGroup = function (group) {
var _this = this;
_jquery2["default"].each((0, _util.asArray)(group), function (i, v) {
_this.layerManager.clearGroup(v);
});
};
methods.setView = function (center, zoom, options) {
this.setView(center, zoom, options);
};
methods.fitBounds = function (lat1, lng1, lat2, lng2, options) {
this.fitBounds([[lat1, lng1], [lat2, lng2]], options);
};
methods.flyTo = function (center, zoom, options) {
this.flyTo(center, zoom, options);
};
methods.flyToBounds = function (lat1, lng1, lat2, lng2, options) {
this.flyToBounds([[lat1, lng1], [lat2, lng2]], options);
};
methods.setMaxBounds = function (lat1, lng1, lat2, lng2) {
this.setMaxBounds([[lat1, lng1], [lat2, lng2]]);
};
methods.addPopups = function (lat, lng, popup, layerId, group, options) {
var _this2 = this;
var df = new _dataframe2["default"]().col("lat", lat).col("lng", lng).col("popup", popup).col("layerId", layerId).col("group", group).cbind(options);
var _loop = function _loop(i) {
if (_jquery2["default"].isNumeric(df.get(i, "lat")) && _jquery2["default"].isNumeric(df.get(i, "lng"))) {
(function () {
var popup = _leaflet2["default"].popup(df.get(i)).setLatLng([df.get(i, "lat"), df.get(i, "lng")]).setContent(df.get(i, "popup"));
var thisId = df.get(i, "layerId");
var thisGroup = df.get(i, "group");
this.layerManager.addLayer(popup, "popup", thisId, thisGroup);
}).call(_this2);
}
};
for (var i = 0; i < df.nrow(); i++) {
_loop(i);
}
};
methods.removePopup = function (layerId) {
this.layerManager.removeLayer("popup", layerId);
};
methods.clearPopups = function () {
this.layerManager.clearLayers("popup");
};
methods.addTiles = function (urlTemplate, layerId, group, options) {
this.layerManager.addLayer(_leaflet2["default"].tileLayer(urlTemplate, options), "tile", layerId, group);
};
methods.removeTiles = function (layerId) {
this.layerManager.removeLayer("tile", layerId);
};
methods.clearTiles = function () {
this.layerManager.clearLayers("tile");
};
methods.addWMSTiles = function (baseUrl, layerId, group, options) {
if (options && options.crs) {
options.crs = (0, _crs_utils.getCRS)(options.crs);
}
this.layerManager.addLayer(_leaflet2["default"].tileLayer.wms(baseUrl, options), "tile", layerId, group);
}; // Given:
// {data: ["a", "b", "c"], index: [0, 1, 0, 2]}
// returns:
// ["a", "b", "a", "c"]
function unpackStrings(iconset) {
if (!iconset) {
return iconset;
}
if (typeof iconset.index === "undefined") {
return iconset;
}
iconset.data = (0, _util.asArray)(iconset.data);
iconset.index = (0, _util.asArray)(iconset.index);
return _jquery2["default"].map(iconset.index, function (e, i) {
return iconset.data[e];
});
}
function addMarkers(map, df, group, clusterOptions, clusterId, markerFunc) {
(function () {
var _this3 = this;
var clusterGroup = this.layerManager.getLayer("cluster", clusterId),
cluster = clusterOptions !== null;
if (cluster && !clusterGroup) {
clusterGroup = _leaflet2["default"].markerClusterGroup.layerSupport(clusterOptions);
if (clusterOptions.freezeAtZoom) {
var freezeAtZoom = clusterOptions.freezeAtZoom;
delete clusterOptions.freezeAtZoom;
clusterGroup.freezeAtZoom(freezeAtZoom);
}
clusterGroup.clusterLayerStore = new _clusterLayerStore2["default"](clusterGroup);
}
var extraInfo = cluster ? {
clusterId: clusterId
} : {};
var _loop2 = function _loop2(i) {
if (_jquery2["default"].isNumeric(df.get(i, "lat")) && _jquery2["default"].isNumeric(df.get(i, "lng"))) {
(function () {
var marker = markerFunc(df, i);
var thisId = df.get(i, "layerId");
var thisGroup = cluster ? null : df.get(i, "group");
if (cluster) {
clusterGroup.clusterLayerStore.add(marker, thisId);
} else {
this.layerManager.addLayer(marker, "marker", thisId, thisGroup, df.get(i, "ctGroup", true), df.get(i, "ctKey", true));
}
var popup = df.get(i, "popup");
var popupOptions = df.get(i, "popupOptions");
if (popup !== null) {
if (popupOptions !== null) {
marker.bindPopup(popup, popupOptions);
} else {
marker.bindPopup(popup);
}
}
var label = df.get(i, "label");
var labelOptions = df.get(i, "labelOptions");
if (label !== null) {
if (labelOptions !== null) {
if (labelOptions.permanent) {
marker.bindTooltip(label, labelOptions).openTooltip();
} else {
marker.bindTooltip(label, labelOptions);
}
} else {
marker.bindTooltip(label);
}
}
marker.on("click", mouseHandler(this.id, thisId, thisGroup, "marker_click", extraInfo), this);
marker.on("mouseover", mouseHandler(this.id, thisId, thisGroup, "marker_mouseover", extraInfo), this);
marker.on("mouseout", mouseHandler(this.id, thisId, thisGroup, "marker_mouseout", extraInfo), this);
marker.on("dragend", mouseHandler(this.id, thisId, thisGroup, "marker_dragend", extraInfo), this);
}).call(_this3);
}
};
for (var i = 0; i < df.nrow(); i++) {
_loop2(i);
}
if (cluster) {
this.layerManager.addLayer(clusterGroup, "cluster", clusterId, group);
}
}).call(map);
}
methods.addGenericMarkers = addMarkers;
methods.addMarkers = function (lat, lng, icon, layerId, group, options, popup, popupOptions, clusterOptions, clusterId, label, labelOptions, crosstalkOptions) {
var icondf;
var getIcon;
if (icon) {
// Unpack icons
icon.iconUrl = unpackStrings(icon.iconUrl);
icon.iconRetinaUrl = unpackStrings(icon.iconRetinaUrl);
icon.shadowUrl = unpackStrings(icon.shadowUrl);
icon.shadowRetinaUrl = unpackStrings(icon.shadowRetinaUrl); // This cbinds the icon URLs and any other icon options; they're all
// present on the icon object.
icondf = new _dataframe2["default"]().cbind(icon); // Constructs an icon from a specified row of the icon dataframe.
getIcon = function getIcon(i) {
var opts = icondf.get(i);
if (!opts.iconUrl) {
return new _leaflet2["default"].Icon.Default();
} // Composite options (like points or sizes) are passed from R with each
// individual component as its own option. We need to combine them now
// into their composite form.
if (opts.iconWidth) {
opts.iconSize = [opts.iconWidth, opts.iconHeight];
}
if (opts.shadowWidth) {
opts.shadowSize = [opts.shadowWidth, opts.shadowHeight];
}
if (opts.iconAnchorX) {
opts.iconAnchor = [opts.iconAnchorX, opts.iconAnchorY];
}
if (opts.shadowAnchorX) {
opts.shadowAnchor = [opts.shadowAnchorX, opts.shadowAnchorY];
}
if (opts.popupAnchorX) {
opts.popupAnchor = [opts.popupAnchorX, opts.popupAnchorY];
}
return new _leaflet2["default"].Icon(opts);
};
}
if (!(_jquery2["default"].isEmptyObject(lat) || _jquery2["default"].isEmptyObject(lng)) || _jquery2["default"].isNumeric(lat) && _jquery2["default"].isNumeric(lng)) {
var df = new _dataframe2["default"]().col("lat", lat).col("lng", lng).col("layerId", layerId).col("group", group).col("popup", popup).col("popupOptions", popupOptions).col("label", label).col("labelOptions", labelOptions).cbind(options).cbind(crosstalkOptions || {});
if (icon) icondf.effectiveLength = df.nrow();
addMarkers(this, df, group, clusterOptions, clusterId, function (df, i) {
var options = df.get(i);
if (icon) options.icon = getIcon(i);
return _leaflet2["default"].marker([df.get(i, "lat"), df.get(i, "lng")], options);
});
}
};
methods.addAwesomeMarkers = function (lat, lng, icon, layerId, group, options, popup, popupOptions, clusterOptions, clusterId, label, labelOptions, crosstalkOptions) {
var icondf;
var getIcon;
if (icon) {
// This cbinds the icon URLs and any other icon options; they're all
// present on the icon object.
icondf = new _dataframe2["default"]().cbind(icon); // Constructs an icon from a specified row of the icon dataframe.
getIcon = function getIcon(i) {
var opts = icondf.get(i);
if (!opts) {
return new _leaflet2["default"].AwesomeMarkers.icon();
}
if (opts.squareMarker) {
opts.className = "awesome-marker awesome-marker-square";
}
return new _leaflet2["default"].AwesomeMarkers.icon(opts);
};
}
if (!(_jquery2["default"].isEmptyObject(lat) || _jquery2["default"].isEmptyObject(lng)) || _jquery2["default"].isNumeric(lat) && _jquery2["default"].isNumeric(lng)) {
var df = new _dataframe2["default"]().col("lat", lat).col("lng", lng).col("layerId", layerId).col("group", group).col("popup", popup).col("popupOptions", popupOptions).col("label", label).col("labelOptions", labelOptions).cbind(options).cbind(crosstalkOptions || {});
if (icon) icondf.effectiveLength = df.nrow();
addMarkers(this, df, group, clusterOptions, clusterId, function (df, i) {
var options = df.get(i);
if (icon) options.icon = getIcon(i);
return _leaflet2["default"].marker([df.get(i, "lat"), df.get(i, "lng")], options);
});
}
};
function addLayers(map, category, df, layerFunc) {
var _loop3 = function _loop3(i) {
(function () {
var layer = layerFunc(df, i);
if (!_jquery2["default"].isEmptyObject(layer)) {
var thisId = df.get(i, "layerId");
var thisGroup = df.get(i, "group");
this.layerManager.addLayer(layer, category, thisId, thisGroup, df.get(i, "ctGroup", true), df.get(i, "ctKey", true));
if (layer.bindPopup) {
var popup = df.get(i, "popup");
var popupOptions = df.get(i, "popupOptions");
if (popup !== null) {
if (popupOptions !== null) {
layer.bindPopup(popup, popupOptions);
} else {
layer.bindPopup(popup);
}
}
}
if (layer.bindTooltip) {
var label = df.get(i, "label");
var labelOptions = df.get(i, "labelOptions");
if (label !== null) {
if (labelOptions !== null) {
layer.bindTooltip(label, labelOptions);
} else {
layer.bindTooltip(label);
}
}
}
layer.on("click", mouseHandler(this.id, thisId, thisGroup, category + "_click"), this);
layer.on("mouseover", mouseHandler(this.id, thisId, thisGroup, category + "_mouseover"), this);
layer.on("mouseout", mouseHandler(this.id, thisId, thisGroup, category + "_mouseout"), this);
var highlightStyle = df.get(i, "highlightOptions");
if (!_jquery2["default"].isEmptyObject(highlightStyle)) {
var defaultStyle = {};
_jquery2["default"].each(highlightStyle, function (k, v) {
if (k != "bringToFront" && k != "sendToBack") {
if (df.get(i, k)) {
defaultStyle[k] = df.get(i, k);
}
}
});
layer.on("mouseover", function (e) {
this.setStyle(highlightStyle);
if (highlightStyle.bringToFront) {
this.bringToFront();
}
});
layer.on("mouseout", function (e) {
this.setStyle(defaultStyle);
if (highlightStyle.sendToBack) {
this.bringToBack();
}
});
}
}
}).call(map);
};
for (var i = 0; i < df.nrow(); i++) {
_loop3(i);
}
}
methods.addGenericLayers = addLayers;
methods.addCircles = function (lat, lng, radius, layerId, group, options, popup, popupOptions, label, labelOptions, highlightOptions, crosstalkOptions) {
if (!(_jquery2["default"].isEmptyObject(lat) || _jquery2["default"].isEmptyObject(lng)) || _jquery2["default"].isNumeric(lat) && _jquery2["default"].isNumeric(lng)) {
var df = new _dataframe2["default"]().col("lat", lat).col("lng", lng).col("radius", radius).col("layerId", layerId).col("group", group).col("popup", popup).col("popupOptions", popupOptions).col("label", label).col("labelOptions", labelOptions).col("highlightOptions", highlightOptions).cbind(options).cbind(crosstalkOptions || {});
addLayers(this, "shape", df, function (df, i) {
if (_jquery2["default"].isNumeric(df.get(i, "lat")) && _jquery2["default"].isNumeric(df.get(i, "lng")) && _jquery2["default"].isNumeric(df.get(i, "radius"))) {
return _leaflet2["default"].circle([df.get(i, "lat"), df.get(i, "lng")], df.get(i, "radius"), df.get(i));
} else {
return null;
}
});
}
};
methods.addCircleMarkers = function (lat, lng, radius, layerId, group, options, clusterOptions, clusterId, popup, popupOptions, label, labelOptions, crosstalkOptions) {
if (!(_jquery2["default"].isEmptyObject(lat) || _jquery2["default"].isEmptyObject(lng)) || _jquery2["default"].isNumeric(lat) && _jquery2["default"].isNumeric(lng)) {
var df = new _dataframe2["default"]().col("lat", lat).col("lng", lng).col("radius", radius).col("layerId", layerId).col("group", group).col("popup", popup).col("popupOptions", popupOptions).col("label", label).col("labelOptions", labelOptions).cbind(crosstalkOptions || {}).cbind(options);
addMarkers(this, df, group, clusterOptions, clusterId, function (df, i) {
return _leaflet2["default"].circleMarker([df.get(i, "lat"), df.get(i, "lng")], df.get(i));
});
}
};
/*
* @param lat Array of arrays of latitude coordinates for polylines
* @param lng Array of arrays of longitude coordinates for polylines
*/
methods.addPolylines = function (polygons, layerId, group, options, popup, popupOptions, label, labelOptions, highlightOptions) {
if (polygons.length > 0) {
var df = new _dataframe2["default"]().col("shapes", polygons).col("layerId", layerId).col("group", group).col("popup", popup).col("popupOptions", popupOptions).col("label", label).col("labelOptions", labelOptions).col("highlightOptions", highlightOptions).cbind(options);
addLayers(this, "shape", df, function (df, i) {
var shapes = df.get(i, "shapes");
shapes = shapes.map(function (shape) {
return _htmlwidgets2["default"].dataframeToD3(shape[0]);
});
if (shapes.length > 1) {
return _leaflet2["default"].polyline(shapes, df.get(i));
} else {
return _leaflet2["default"].polyline(shapes[0], df.get(i));
}
});
}
};
methods.removeMarker = function (layerId) {
this.layerManager.removeLayer("marker", layerId);
};
methods.clearMarkers = function () {
this.layerManager.clearLayers("marker");
};
methods.removeMarkerCluster = function (layerId) {
this.layerManager.removeLayer("cluster", layerId);
};
methods.removeMarkerFromCluster = function (layerId, clusterId) {
var cluster = this.layerManager.getLayer("cluster", clusterId);
if (!cluster) return;
cluster.clusterLayerStore.remove(layerId);
};
methods.clearMarkerClusters = function () {
this.layerManager.clearLayers("cluster");
};
methods.removeShape = function (layerId) {
this.layerManager.removeLayer("shape", layerId);
};
methods.clearShapes = function () {
this.layerManager.clearLayers("shape");
};
methods.addRectangles = function (lat1, lng1, lat2, lng2, layerId, group, options, popup, popupOptions, label, labelOptions, highlightOptions) {
var df = new _dataframe2["default"]().col("lat1", lat1).col("lng1", lng1).col("lat2", lat2).col("lng2", lng2).col("layerId", layerId).col("group", group).col("popup", popup).col("popupOptions", popupOptions).col("label", label).col("labelOptions", labelOptions).col("highlightOptions", highlightOptions).cbind(options);
addLayers(this, "shape", df, function (df, i) {
if (_jquery2["default"].isNumeric(df.get(i, "lat1")) && _jquery2["default"].isNumeric(df.get(i, "lng1")) && _jquery2["default"].isNumeric(df.get(i, "lat2")) && _jquery2["default"].isNumeric(df.get(i, "lng2"))) {
return _leaflet2["default"].rectangle([[df.get(i, "lat1"), df.get(i, "lng1")], [df.get(i, "lat2"), df.get(i, "lng2")]], df.get(i));
} else {
return null;
}
});
};
/*
* @param lat Array of arrays of latitude coordinates for polygons
* @param lng Array of arrays of longitude coordinates for polygons
*/
methods.addPolygons = function (polygons, layerId, group, options, popup, popupOptions, label, labelOptions, highlightOptions) {
if (polygons.length > 0) {
var df = new _dataframe2["default"]().col("shapes", polygons).col("layerId", layerId).col("group", group).col("popup", popup).col("popupOptions", popupOptions).col("label", label).col("labelOptions", labelOptions).col("highlightOptions", highlightOptions).cbind(options);
addLayers(this, "shape", df, function (df, i) {
// This code used to use L.multiPolygon, but that caused
// double-click on a multipolygon to fail to zoom in on the
// map. Surprisingly, putting all the rings in a single
// polygon seems to still work; complicated multipolygons
// are still rendered correctly.
var shapes = df.get(i, "shapes").map(function (polygon) {
return polygon.map(_htmlwidgets2["default"].dataframeToD3);
}).reduce(function (acc, val) {
return acc.concat(val);
}, []);
return _leaflet2["default"].polygon(shapes, df.get(i));
});
}
};
methods.addGeoJSON = function (data, layerId, group, style) {
// This time, self is actually needed because the callbacks below need
// to access both the inner and outer senses of "this"
var self = this;
if (typeof data === "string") {
data = JSON.parse(data);
}
var globalStyle = _jquery2["default"].extend({}, style, data.style || {});
var gjlayer = _leaflet2["default"].geoJson(data, {
style: function style(feature) {
if (feature.style || feature.properties.style) {
return _jquery2["default"].extend({}, globalStyle, feature.style, feature.properties.style);
} else {
return globalStyle;
}
},
onEachFeature: function onEachFeature(feature, layer) {
var extraInfo = {
featureId: feature.id,
properties: feature.properties
};
var popup = feature.properties ? feature.properties.popup : null;
if (typeof popup !== "undefined" && popup !== null) layer.bindPopup(popup);
layer.on("click", mouseHandler(self.id, layerId, group, "geojson_click", extraInfo), this);
layer.on("mouseover", mouseHandler(self.id, layerId, group, "geojson_mouseover", extraInfo), this);
layer.on("mouseout", mouseHandler(self.id, layerId, group, "geojson_mouseout", extraInfo), this);
}
});
this.layerManager.addLayer(gjlayer, "geojson", layerId, group);
};
methods.removeGeoJSON = function (layerId) {
this.layerManager.removeLayer("geojson", layerId);
};
methods.clearGeoJSON = function () {
this.layerManager.clearLayers("geojson");
};
methods.addTopoJSON = function (data, layerId, group, style) {
// This time, self is actually needed because the callbacks below need
// to access both the inner and outer senses of "this"
var self = this;
if (typeof data === "string") {
data = JSON.parse(data);
}
var globalStyle = _jquery2["default"].extend({}, style, data.style || {});
var gjlayer = _leaflet2["default"].geoJson(null, {
style: function style(feature) {
if (feature.style || feature.properties.style) {
return _jquery2["default"].extend({}, globalStyle, feature.style, feature.properties.style);
} else {
return globalStyle;
}
},
onEachFeature: function onEachFeature(feature, layer) {
var extraInfo = {
featureId: feature.id,
properties: feature.properties
};
var popup = feature.properties.popup;
if (typeof popup !== "undefined" && popup !== null) layer.bindPopup(popup);
layer.on("click", mouseHandler(self.id, layerId, group, "topojson_click", extraInfo), this);
layer.on("mouseover", mouseHandler(self.id, layerId, group, "topojson_mouseover", extraInfo), this);
layer.on("mouseout", mouseHandler(self.id, layerId, group, "topojson_mouseout", extraInfo), this);
}
});
global.omnivore.topojson.parse(data, null, gjlayer);
this.layerManager.addLayer(gjlayer, "topojson", layerId, group);
};
methods.removeTopoJSON = function (layerId) {
this.layerManager.removeLayer("topojson", layerId);
};
methods.clearTopoJSON = function () {
this.layerManager.clearLayers("topojson");
};
methods.addControl = function (html, position, layerId, classes) {
function onAdd(map) {
var div = _leaflet2["default"].DomUtil.create("div", classes);
if (typeof layerId !== "undefined" && layerId !== null) {
div.setAttribute("id", layerId);
}
this._div = div; // It's possible for window.Shiny to be true but Shiny.initializeInputs to
// not be, when a static leaflet widget is included as part of the shiny
// UI directly (not through leafletOutput or uiOutput). In this case we
// don't do the normal Shiny stuff as that will all happen when Shiny
// itself loads and binds the entire doc.
if (window.Shiny && _shiny2["default"].initializeInputs) {
_shiny2["default"].renderHtml(html, this._div);
_shiny2["default"].initializeInputs(this._div);
_shiny2["default"].bindAll(this._div);
} else {
this._div.innerHTML = html;
}
return this._div;
}
function onRemove(map) {
if (window.Shiny && _shiny2["default"].unbindAll) {
_shiny2["default"].unbindAll(this._div);
}
}
var Control = _leaflet2["default"].Control.extend({
options: {
position: position
},
onAdd: onAdd,
onRemove: onRemove
});
this.controls.add(new Control(), layerId, html);
};
methods.addCustomControl = function (control, layerId) {
this.controls.add(control, layerId);
};
methods.removeControl = function (layerId) {
this.controls.remove(layerId);
};
methods.getControl = function (layerId) {
this.controls.get(layerId);
};
methods.clearControls = function () {
this.controls.clear();
};
methods.addLegend = function (options) {
var legend = _leaflet2["default"].control({
position: options.position
});
var gradSpan;
legend.onAdd = function (map) {
var div = _leaflet2["default"].DomUtil.create("div", options.className),
colors = options.colors,
labels = options.labels,
legendHTML = "";
if (options.type === "numeric") {
// # Formatting constants.
var singleBinHeight = 20; // The distance between tick marks, in px
var vMargin = 8; // If 1st tick mark starts at top of gradient, how
// many extra px are needed for the top half of the
// 1st label? (ditto for last tick mark/label)
var tickWidth = 4; // How wide should tick marks be, in px?
var labelPadding = 6; // How much distance to reserve for tick mark?
// (Must be >= tickWidth)
// # Derived formatting parameters.
// What's the height of a single bin, in percentage (of gradient height)?
// It might not just be 1/(n-1), if the gradient extends past the tick
// marks (which can be the case for pretty cut points).
var singleBinPct = (options.extra.p_n - options.extra.p_1) / (labels.length - 1); // Each bin is `singleBinHeight` high. How tall is the gradient?
var totalHeight = 1 / singleBinPct * singleBinHeight + 1; // How far should the first tick be shifted down, relative to the top
// of the gradient?
var tickOffset = singleBinHeight / singleBinPct * options.extra.p_1;
gradSpan = (0, _jquery2["default"])("<span/>").css({
"background": "linear-gradient(" + colors + ")",
"opacity": options.opacity,
"height": totalHeight + "px",
"width": "18px",
"display": "block",
"margin-top": vMargin + "px"
});
var leftDiv = (0, _jquery2["default"])("<div/>").css("float", "left"),
rightDiv = (0, _jquery2["default"])("<div/>").css("float", "left");
leftDiv.append(gradSpan);
(0, _jquery2["default"])(div).append(leftDiv).append(rightDiv).append((0, _jquery2["default"])("<br>")); // Have to attach the div to the body at this early point, so that the
// svg text getComputedTextLength() actually works, below.
document.body.appendChild(div);
var ns = "http://www.w3.org/2000/svg";
var svg = document.createElementNS(ns, "svg");
rightDiv.append(svg);
var g = document.createElementNS(ns, "g");
(0, _jquery2["default"])(g).attr("transform", "translate(0, " + vMargin + ")");
svg.appendChild(g); // max label width needed to set width of svg, and right-justify text
var maxLblWidth = 0; // Create tick marks and labels
_jquery2["default"].each(labels, function (i, label) {
var y = tickOffset + i * singleBinHeight + 0.5;
var thisLabel = document.createElementNS(ns, "text");
(0, _jquery2["default"])(thisLabel).text(labels[i]).attr("y", y).attr("dx", labelPadding).attr("dy", "0.5ex");
g.appendChild(thisLabel);
maxLblWidth = Math.max(maxLblWidth, thisLabel.getComputedTextLength());
var thisTick = document.createElementNS(ns, "line");
(0, _jquery2["default"])(thisTick).attr("x1", 0).attr("x2", tickWidth).attr("y1", y).attr("y2", y).attr("stroke-width", 1);
g.appendChild(thisTick);
}); // Now that we know the max label width, we can right-justify
(0, _jquery2["default"])(svg).find("text").attr("dx", labelPadding + maxLblWidth).attr("text-anchor", "end"); // Final size for <svg>
(0, _jquery2["default"])(svg).css({
width: maxLblWidth + labelPadding + "px",
height: totalHeight + vMargin * 2 + "px"
});
if (options.na_color && _jquery2["default"].inArray(options.na_label, labels) < 0) {
(0, _jquery2["default"])(div).append("<div><i style=\"" + "background:" + options.na_color + ";opacity:" + options.opacity + ";margin-right:" + labelPadding + "px" + ";\"></i>" + options.na_label + "</div>");
}
} else {
if (options.na_color && _jquery2["default"].inArray(options.na_label, labels) < 0) {
colors.push(options.na_color);
labels.push(options.na_label);
}
for (var i = 0; i < colors.length; i++) {
legendHTML += "<i style=\"background:" + colors[i] + ";opacity:" + options.opacity + "\"></i> " + labels[i] + "<br>";
}
div.innerHTML = legendHTML;
}
if (options.title) (0, _jquery2["default"])(div).prepend("<div style=\"margin-bottom:3px\"><strong>" + options.title + "</strong></div>");
return div;
};
if (options.group) {
// Auto generate a layerID if not provided
if (!options.layerId) {
options.layerId = _leaflet2["default"].Util.stamp(legend);
}
var map = this;
map.on("overlayadd", function (e) {
if (e.name === options.group) {
map.controls.add(legend, options.layerId);
}
});
map.on("overlayremove", function (e) {
if (e.name === options.group) {
map.controls.remove(options.layerId);
}
});
map.on("groupadd", function (e) {
if (e.name === options.group) {
map.controls.add(legend, options.layerId);
}
});
map.on("groupremove", function (e) {
if (e.name === options.group) {
map.controls.remove(options.layerId);
}
});
}
this.controls.add(legend, options.layerId);
};
methods.addLayersControl = function (baseGroups, overlayGroups, options) {
var _this4 = this;
// Only allow one layers control at a time
methods.removeLayersControl.call(this);
var firstLayer = true;
var base = {};
_jquery2["default"].each((0, _util.asArray)(baseGroups), function (i, g) {
var layer = _this4.layerManager.getLayerGroup(g, true);
if (layer) {
base[g] = layer; // Check if >1 base layers are visible; if so, hide all but the first one
if (_this4.hasLayer(layer)) {
if (firstLayer) {
firstLayer = false;
} else {
_this4.removeLayer(layer);
}
}
}
});
var overlay = {};
_jquery2["default"].each((0, _util.asArray)(overlayGroups), function (i, g) {
var layer = _this4.layerManager.getLayerGroup(g, true);
if (layer) {
overlay[g] = layer;
}
});
this.currentLayersControl = _leaflet2["default"].control.layers(base, overlay, options);
this.addControl(this.currentLayersControl);
};
methods.removeLayersControl = function () {
if (this.currentLayersControl) {
this.removeControl(this.currentLayersControl);
this.currentLayersControl = null;
}
};
methods.addScaleBar = function (options) {
// Only allow one scale bar at a time
methods.removeScaleBar.call(this);
var scaleBar = _leaflet2["default"].control.scale(options).addTo(this);
this.currentScaleBar = scaleBar;
};
methods.removeScaleBar = function () {
if (this.currentScaleBar) {
this.currentScaleBar.remove();
this.currentScaleBar = null;
}
};
methods.hideGroup = function (group) {
var _this5 = this;
_jquery2["default"].each((0, _util.asArray)(group), function (i, g) {
var layer = _this5.layerManager.getLayerGroup(g, true);
if (layer) {
_this5.removeLayer(layer);
}
});
};
methods.showGroup = function (group) {
var _this6 = this;
_jquery2["default"].each((0, _util.asArray)(group), function (i, g) {
var layer = _this6.layerManager.getLayerGroup(g, true);
if (layer) {
_this6.addLayer(layer);
}
});
};
function setupShowHideGroupsOnZoom(map) {
if (map.leafletr._hasInitializedShowHideGroups) {
return;
}
map.leafletr._hasInitializedShowHideGroups = true;
function setVisibility(layer, visible, group) {
if (visible !== map.hasLayer(layer)) {
if (visible) {
map.addLayer(layer);
map.fire("groupadd", {
"name": group,
"layer": layer
});
} else {
map.removeLayer(layer);
map.fire("groupremove", {
"name": group,
"layer": layer
});
}
}
}
function showHideGroupsOnZoom() {
if (!map.layerManager) return;
var zoom = map.getZoom();
map.layerManager.getAllGroupNames().forEach(function (group) {
var layer = map.layerManager.getLayerGroup(group, false);
if (layer && typeof layer.zoomLevels !== "undefined") {
setVisibility(layer, layer.zoomLevels === true || layer.zoomLevels.indexOf(zoom) >= 0, group);
}
});
}
map.showHideGroupsOnZoom = showHideGroupsOnZoom;
map.on("zoomend", showHideGroupsOnZoom);
}
methods.setGroupOptions = function (group, options) {
var _this7 = this;
_jquery2["default"].each((0, _util.asArray)(group), function (i, g) {
var layer = _this7.layerManager.getLayerGroup(g, true); // This slightly tortured check is because 0 is a valid value for zoomLevels
if (typeof options.zoomLevels !== "undefined" && options.zoomLevels !== null) {
layer.zoomLevels = (0, _util.asArray)(options.zoomLevels);
}
});
setupShowHideGroupsOnZoom(this);
this.showHideGroupsOnZoom();
};
methods.addRasterImage = function (uri, bounds, opacity, attribution, layerId, group) {
// uri is a data URI containing an image. We want to paint this image as a
// layer at (top-left) bounds[0] to (bottom-right) bounds[1].
// We can't simply use ImageOverlay, as it uses bilinear scaling which looks
// awful as you zoom in (and sometimes shifts positions or disappears).
// Instead, we'll use a TileLayer.Canvas to draw pieces of the image.
// First, some helper functions.
// degree2tile converts latitude, longitude, and zoom to x and y tile
// numbers. The tile numbers returned can be non-integral, as there's no
// reason to expect that the lat/lng inputs are exactly on the border of two
// tiles.
//
// We'll use this to convert the bounds we got from the server, into coords
// in tile-space at a given zoom level. Note that once we do the conversion,
// we don't to do any more trigonometry to convert between pixel coordinates
// and tile coordinates; the source image pixel coords, destination canvas
// pixel coords, and tile coords all can be scaled linearly.
function degree2tile(lat, lng, zoom) {
// See http://wiki.openstreetmap.org/wiki/Slippy_map_tilenames
var latRad = lat * Math.PI / 180;
var n = Math.pow(2, zoom);
var x = (lng + 180) / 360 * n;
var y = (1 - Math.log(Math.tan(latRad) + 1 / Math.cos(latRad)) / Math.PI) / 2 * n;
return {
x: x,
y: y
};
} // Given a range [from,to) and either one or two numbers, returns true if
// there is any overlap between [x,x1) and the range--or if x1 is omitted,
// then returns true if x is within [from,to).
function overlap(from, to, x,
/* optional */
x1) {
if (arguments.length == 3) x1 = x;
return x < to && x1 >= from;
}
function getCanvasSmoothingProperty(ctx) {
var candidates = ["imageSmoothingEnabled", "mozImageSmoothingEnabled", "webkitImageSmoothingEnabled", "msImageSmoothingEnabled"];
for (var i = 0; i < candidates.length; i++) {
if (typeof ctx[candidates[i]] !== "undefined") {
return candidates[i];
}
}
return null;
} // Our general strategy is to:
// 1. Load the data URI in an Image() object, so we can get its pixel
// dimensions and the underlying image data. (We could have done this
// by not encoding as PNG at all but just send an array of RGBA values
// from the server, but that would inflate the JSON too much.)
// 2. Create a hidden canvas that we use just to extract the image data
// from the Image (using Context2D.getImageData()).
// 3. Create a TileLayer.Canvas and add it to the map.
// We want to synchronously create and attach the TileLayer.Canvas (so an
// immediate call to clearRasters() will be respected, for example), but
// Image loads its data asynchronously. Fortunately we can resolve this
// by putting TileLayer.Canvas into async mode, which will let us create
// and attach the layer but have it wait until the image is loaded before
// it actually draws anything.
// These are the variables that we will populate once the image is loaded.
var imgData = null; // 1d row-major array, four [0-255] integers per pixel
var imgDataMipMapper = null;
var w = null; // image width in pixels
var h = null; // image height in pixels
// We'll use this array to store callbacks that need to be invoked once
// imgData, w, and h have been resolved.
var imgDataCallbacks = []; // Consumers of imgData, w, and h can call this to be notified when data
// is available.
function getImageData(callback) {
if (imgData != null) {
// Must not invoke the callback immediately; it's too confusing and
// fragile to have a function invoke the callback *either* immediately
// or in the future. Better to be consistent here.
setTimeout(function () {
callback(imgData, w, h, imgDataMipMapper);
}, 0);
} else {
imgDataCallbacks.push(callback);
}
}
var img = new Image();
img.onload = function () {
// Save size
w = img.width;
h = img.height; // Create a dummy canvas to extract the image data
var imgDataCanvas = document.createElement("canvas");
imgDataCanvas.width = w;
imgDataCanvas.height = h;
imgDataCanvas.style.display = "none";
document.body.appendChild(imgDataCanvas);
var imgDataCtx = imgDataCanvas.getContext("2d");
imgDataCtx.drawImage(img, 0, 0); // Save the image data.
imgData = imgDataCtx.getImageData(0, 0, w, h).data;
imgDataMipMapper = new _mipmapper2["default"](img); // Done with the canvas, remove it from the page so it can be gc'd.
document.body.removeChild(imgDataCanvas); // Alert any getImageData callers who are waiting.
for (var i = 0; i < imgDataCallbacks.length; i++) {
imgDataCallbacks[i](imgData, w, h, imgDataMipMapper);
}
imgDataCallbacks = [];
};
img.src = uri;
var canvasTiles = _leaflet2["default"].gridLayer({
opacity: opacity,
attribution: attribution,
detectRetina: true,
async: true
}); // NOTE: The done() function MUST NOT be invoked until after the current
// tick; done() looks in Leaflet's tile cache for the current tile, and
// since it's still being constructed, it won't be found.
canvasTiles.createTile = function (tilePoint, done) {
var zoom = tilePoint.z;
var canvas = _leaflet2["default"].DomUtil.create("canvas");
var error; // setup tile width and height according to the options
var size = this.getTileSize();
canvas.width = size.x;
canvas.height = size.y;
getImageData(function (imgData, w, h, mipmapper) {
try {
// The Context2D we'll being drawing onto. It's always 256x256.
var ctx = canvas.getContext("2d"); // Convert our image data's top-left and bottom-right locations into
// x/y tile coordinates. This is essentially doing a spherical mercator
// projection, then multiplying by 2^zoom.
var topLeft = degree2tile(bounds[0][0], bounds[0][1], zoom);
var bottomRight = degree2tile(bounds[1][0], bounds[1][1], zoom); // The size of the image in x/y tile coordinates.
var extent = {
x: bottomRight.x - topLeft.x,
y: bottomRight.y - topLeft.y
}; // Short circuit if tile is totally disjoint from image.
if (!overlap(tilePoint.x, tilePoint.x + 1, topLeft.x, bottomRight.x)) return;
if (!overlap(tilePoint.y, tilePoint.y + 1, topLeft.y, bottomRight.y)) return; // The linear resolution of the tile we're drawing is always 256px per tile unit.
// If the linear resolution (in either direction) of the image is less than 256px
// per tile unit, then use nearest neighbor; otherwise, use the canvas's built-in
// scaling.
var imgRes = {
x: w / extent.x,
y: h / extent.y
}; // We can do the actual drawing in one of three ways:
// - Call drawImage(). This is easy and fast, and results in smooth
// interpolation (bilinear?). This is what we want when we are
// reducing the image from its native size.
// - Call drawImage() with imageSmoothingEnabled=false. This is easy
// and fast and gives us nearest-neighbor interpolation, which is what
// we want when enlarging the image. However, it's unsupported on many
// browsers (including QtWebkit).
// - Do a manual nearest-neighbor interpolation. This is what we'll fall
// back to when enlarging, and imageSmoothingEnabled isn't supported.
// In theory it's slower, but still pretty fast on my machine, and the
// results look the same AFAICT.
// Is imageSmoothingEnabled supported? If so, we can let canvas do
// nearest-neighbor interpolation for us.
var smoothingProperty = getCanvasSmoothingProperty(ctx);
if (smoothingProperty || imgRes.x >= 256 && imgRes.y >= 256) {
// Use built-in scaling
// Turn off anti-aliasing if necessary
if (smoothingProperty) {
ctx[smoothingProperty] = imgRes.x >= 256 && imgRes.y >= 256;
} // Don't necessarily draw with the full-size image; if we're
// downscaling, use the mipmapper to get a pre-downscaled image
// (see comments on Mipmapper class for why this matters).
mipmapper.getBySize(extent.x * 256, extent.y * 256, function (mip) {
// It's possible that the image will go off the edge of the canvas--
// that's OK, the canvas should clip appropriately.
ctx.drawImage(mip, // Convert abs tile coords to rel tile coords, then *256 to convert
// to rel pixel coords
(topLeft.x - tilePoint.x) * 256, (topLeft.y - tilePoint.y) * 256, // Always draw the whole thing and let canvas clip; so we can just
// convert from size in tile coords straight to pixels
extent.x * 256, extent.y * 256);
});
} else {
// Use manual nearest-neighbor interpolation
// Calculate the source image pixel coordinates that correspond with
// the top-left and bottom-right of this tile. (If the source image
// only partially overlaps the tile, we use max/min to limit the
// sourceStart/End to only reflect the overlapping portion.)
var sourceStart = {
x: Math.max(0, Math.floor((tilePoint.x - topLeft.x) * imgRes.x)),
y: Math.max(0, Math.floor((tilePoint.y - topLeft.y) * imgRes.y))
};
var sourceEnd = {
x: Math.min(w, Math.ceil((tilePoint.x + 1 - topLeft.x) * imgRes.x)),
y: Math.min(h, Math.ceil((tilePoint.y + 1 - topLeft.y) * imgRes.y))
}; // The size, in dest pixels, that each source pixel should occupy.
// This might be greater or less than 1 (e.g. if x and y resolution
// are very different).
var pixelSize = {
x: 256 / imgRes.x,
y: 256 / imgRes.y
}; // For each pixel in the source image that overlaps the tile...
for (var row = sourceStart.y; row < sourceEnd.y; row++) {
for (var col = sourceStart.x; col < sourceEnd.x; col++) {
// ...extract the pixel data...
var i = (row * w + col) * 4;
var r = imgData[i];
var g = imgData[i + 1];
var b = imgData[i + 2];
var a = imgData[i + 3];
ctx.fillStyle = "rgba(" + [r, g, b, a / 255].join(",") + ")"; // ...calculate the corresponding pixel coord in the dest image
// where it should be drawn...
var pixelPos = {
x: (col / imgRes.x + topLeft.x - tilePoint.x) * 256,
y: (row / imgRes.y + topLeft.y - tilePoint.y) * 256
}; // ...and draw a rectangle there.
ctx.fillRect(Math.round(pixelPos.x), Math.round(pixelPos.y), // Looks crazy, but this is necessary to prevent rounding from
// causing overlap between this rect and its neighbors. The
// minuend is the location of the next pixel, while the
// subtrahend is the position of the current pixel (to turn an
// absolute coordinate to a width/height). Yes, I had to look
// up minuend and subtrahend.
Math.round(pixelPos.x + pixelSize.x) - Math.round(pixelPos.x), Math.round(pixelPos.y + pixelSize.y) - Math.round(pixelPos.y));
}
}
}
} catch (e) {
error = e;
} finally {
done(error, canvas);
}
});
return canvas;
};
this.layerManager.addLayer(canvasTiles, "image", layerId, group);
};
methods.removeImage = function (layerId) {
this.layerManager.removeLayer("image", layerId);
};
methods.clearImages = function () {
this.layerManager.clearLayers("image");
};
methods.addMeasure = function (options) {
// if a measureControl already exists, then remove it and
// replace with a new one
methods.removeMeasure.call(this);
this.measureControl = _leaflet2["default"].control.measure(options);
this.addControl(this.measureControl);
};
methods.removeMeasure = function () {
if (this.measureControl) {
this.removeControl(this.measureControl);
this.measureControl = null;
}
};
methods.addSelect = function (ctGroup) {
var _this8 = this;
methods.removeSelect.call(this);
this._selectButton = _leaflet2["default"].easyButton({
states: [{
stateName: "select-inactive",
icon: "ion-qr-scanner",
title: "Make a selection",
onClick: function onClick(btn, map) {
btn.state("select-active");
_this8._locationFilter = new _leaflet2["default"].LocationFilter2();
if (ctGroup) {
var selectionHandle = new global.crosstalk.SelectionHandle(ctGroup);
selectionHandle.on("change", function (e) {
if (e.sender !== selectionHandle) {
if (_this8._locationFilter) {
_this8._locationFilter.disable();
btn.state("select-inactive");
}
}
});
var handler = function handler(e) {
_this8.layerManager.brush(_this8._locationFilter.getBounds(), {
sender: selectionHandle
});
};
_this8._locationFilter.on("enabled", handler);
_this8._locationFilter.on("change", handler);
_this8._locationFilter.on("disabled", function () {
selectionHandle.close();
_this8._locationFilter = null;
});
}
_this8._locationFilter.addTo(map);
}
}, {
stateName: "select-active",
icon: "ion-close-round",
title: "Dismiss selection",
onClick: function onClick(btn, map) {
btn.state("select-inactive");
_this8._locationFilter.disable(); // If explicitly dismissed, clear the crosstalk selections
_this8.layerManager.unbrush();
}
}]
});
this._selectButton.addTo(this);
};
methods.removeSelect = function () {
if (this._locationFilter) {
this._locationFilter.disable();
}
if (this._selectButton) {
this.removeControl(this._selectButton);
this._selectButton = null;
}
};
methods.createMapPane = function (name, zIndex) {
this.createPane(name);
this.getPane(name).style.zIndex = zIndex;
};
}).call(this)}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
},{"./cluster-layer-store":1,"./crs_utils":3,"./dataframe":4,"./global/htmlwidgets":8,"./global/jquery":9,"./global/leaflet":10,"./global/shiny":12,"./mipmapper":16,"./util":17}],16:[function(require,module,exports){
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
// This class simulates a mipmap, which shrinks images by powers of two. This
// stepwise reduction results in "pixel-perfect downscaling" (where every
// pixel of the original image has some contribution to the downscaled image)
// as opposed to a single-step downscaling which will discard a lot of data
// (and with sparse images at small scales can give very surprising results).
var Mipmapper = /*#__PURE__*/function () {
function Mipmapper(img) {
_classCallCheck(this, Mipmapper);
this._layers = [img];
} // The various functions on this class take a callback function BUT MAY OR MAY
// NOT actually behave asynchronously.
_createClass(Mipmapper, [{
key: "getBySize",
value: function getBySize(desiredWidth, desiredHeight, callback) {
var _this = this;
var i = 0;
var lastImg = this._layers[0];
var testNext = function testNext() {
_this.getByIndex(i, function (img) {
// If current image is invalid (i.e. too small to be rendered) or
// it's smaller than what we wanted, return the last known good image.
if (!img || img.width < desiredWidth || img.height < desiredHeight) {
callback(lastImg);
return;
} else {
lastImg = img;
i++;
testNext();
return;
}
});
};
testNext();
}
}, {
key: "getByIndex",
value: function getByIndex(i, callback) {
var _this2 = this;
if (this._layers[i]) {
callback(this._layers[i]);
return;
}
this.getByIndex(i - 1, function (prevImg) {
if (!prevImg) {
// prevImg could not be calculated (too small, possibly)
callback(null);
return;
}
if (prevImg.width < 2 || prevImg.height < 2) {
// Can't reduce this image any further
callback(null);
return;
} // If reduce ever becomes truly asynchronous, we should stuff a promise or
// something into this._layers[i] before calling this.reduce(), to prevent
// redundant reduce operations from happening.
_this2.reduce(prevImg, function (reducedImg) {
_this2._layers[i] = reducedImg;
callback(reducedImg);
return;
});
});
}
}, {
key: "reduce",
value: function reduce(img, callback) {
var imgDataCanvas = document.createElement("canvas");
imgDataCanvas.width = Math.ceil(img.width / 2);
imgDataCanvas.height = Math.ceil(img.height / 2);
imgDataCanvas.style.display = "none";
document.body.appendChild(imgDataCanvas);
try {
var imgDataCtx = imgDataCanvas.getContext("2d");
imgDataCtx.drawImage(img, 0, 0, img.width / 2, img.height / 2);
callback(imgDataCanvas);
} finally {
document.body.removeChild(imgDataCanvas);
}
}
}]);
return Mipmapper;
}();
exports["default"] = Mipmapper;
},{}],17:[function(require,module,exports){
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.log = log;
exports.recycle = recycle;
exports.asArray = asArray;
function log(message) {
/* eslint-disable no-console */
if (console && console.log) console.log(message);
/* eslint-enable no-console */
}
function recycle(values, length, inPlace) {
if (length === 0 && !inPlace) return [];
if (!(values instanceof Array)) {
if (inPlace) {
throw new Error("Can't do in-place recycling of a non-Array value");
}
values = [values];
}
if (typeof length === "undefined") length = values.length;
var dest = inPlace ? values : [];
var origLength = values.length;
while (dest.length < length) {
dest.push(values[dest.length % origLength]);
}
if (dest.length > length) {
dest.splice(length, dest.length - length);
}
return dest;
}
function asArray(value) {
if (value instanceof Array) return value;else return [value];
}
},{}]},{},[13]);
</script>
</head>
<body>
<div id="htmlwidget_container">
<div id="htmlwidget-99492fe0053c828e4a83" style="width:100%;height:400px;" class="leaflet html-widget"></div>
</div>
<script type="application/json" data-for="htmlwidget-99492fe0053c828e4a83">{"x":{"options":{"crs":{"crsClass":"L.CRS.EPSG3857","code":null,"proj4def":null,"projectedBounds":null,"options":{}}},"calls":[{"method":"addTiles","args":["https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png",null,null,{"minZoom":0,"maxZoom":18,"tileSize":256,"subdomains":"abc","errorTileUrl":"","tms":false,"noWrap":false,"zoomOffset":0,"zoomReverse":false,"opacity":1,"zIndex":1,"detectRetina":false,"attribution":"&copy; <a href=\"https://openstreetmap.org\">OpenStreetMap<\/a> contributors, <a href=\"https://creativecommons.org/licenses/by-sa/2.0/\">CC-BY-SA<\/a>"}]},{"method":"addCircles","args":[[47.507006,47.5068824,47.5356341,47.5565751,47.5531231,47.5111608,47.5763736,47.5104084,47.5091962,47.483001,47.5187954,47.5111456,47.4614296,47.4614296,47.5096131,47.5017888,47.5017888,47.5446849,47.5012217,47.52942915,47.5002124,47.5115935,47.5185813,47.5185813,47.54932365,47.5150279,47.5110294,47.5239005,47.5095458,47.4993694,47.4760764,47.5046342,47.5362952,47.5192173,47.4646023,47.5070955,47.5388248,47.49751565,47.5357411,47.5352384,47.5077001,47.5181214,47.473166,47.5229262,47.480402,47.4850094,47.5799738,47.492972,47.5479832,47.505096,47.5220975,47.45344605,47.480402,47.47164575,47.5118429,47.474601,47.4729967,47.5108193,47.4472303,47.4412685,47.504488,47.4775578,47.485455,47.5181081,47.5042328,47.50295325,47.507815,47.5362952,47.5074144,47.4337242,47.49555935,47.5225854,47.5188373,47.5038681,47.5293788,47.4698955,47.5000169,47.4850389,47.5158281,47.5031022,47.4636815,47.542479,47.5154445,47.4677239,47.5326717,47.4600642,47.4656201,47.485455,47.5352384,47.505884,47.5185959,47.571237,47.5491932,47.5178998,47.5496862,47.5663789,47.4636255,47.4466264,47.520241,47.5865231,47.5157591,47.5021796,47.5069912,47.542479,47.5109423,47.5176855,47.4956303,47.5271453,47.5226122,47.49833315,47.4840788,47.5865231,47.5352384,47.5136762,47.4719759,47.5245116,47.5507725,47.5587558,47.5121879,47.5047653,47.5504131,47.4472038,47.46493235,47.4962322,47.5308004,47.5869791,47.46939435,47.5053085,47.5000169,47.4798534,47.5236793,47.5225148,47.5593494,47.4881858,47.500807,47.571148,47.4368487,47.5177729,47.4857225,47.474601,47.4913969,47.4904842,47.4988878,47.473166,47.4856959,47.5025472,47.5121744,47.4960229,47.4857458,47.4473652,47.5059463,47.5017628,47.4946393,47.477092,47.5083718,47.5074519,47.4788541,47.4881858,47.4925236,47.5289147,47.5046693,47.4666251,47.51398685,47.49849165,47.5202705,47.5215568,47.53247815,47.4888776,47.4524941,47.510591,47.4954823,47.547743,47.4666565,47.4771665,47.52854405,47.5230936,47.5428902,47.4796949,47.5078997,47.4925162,47.492972,47.4942768,47.5091048,47.505096,47.5628588,47.5284168,47.5178998,47.5156648,47.5402956,47.5018302,47.4574271,47.5156648,47.57451225,47.4589746,47.4851008,47.48467215,47.55945,47.5498401,47.4706474,47.571237,47.4720809,47.4728517,47.4720659,47.4993694,47.4658165,47.4794773,47.507006,47.5178998,47.514844,47.5102619,47.4931035,47.4956073,47.490855,47.4921278,47.528687,47.5004395,47.5335467,47.5173623,47.4875212,47.5125816,47.5865231,47.4677291,47.4732708,47.5467204,47.4756524,47.5037429,47.476173,47.5071611,47.477092,47.4464558,47.5015557,47.4668132,47.5305487,47.5238822,47.4859878,47.4857987,47.4849395,47.5473341,47.4726686,47.5640482,47.5465285,47.4611429,47.4833489,47.4672436,47.4972232,47.5274926,47.5216891,47.5097767,47.5271453,47.53256135,47.4919703,47.5178998,47.49893095,47.5021796,47.5460524,47.4923803,47.4797868,47.5116513,47.4886965,47.5371427,47.5497461,47.5679441,47.5049,47.5081011,47.5473341,47.5478862,47.4788315,47.50715765,47.5113802,47.5018302,47.4807449,47.5253565,47.4655886,47.4679179,47.56149425,47.5463803,47.4791558,47.5247931,47.4927289,47.517898,47.5255863,47.5356593,47.5079393,47.5404008,47.5246735,47.4886457,47.4656201,47.4917258,47.4966067,47.5227552,47.5099213,47.5442015,47.5200388,47.5702306,47.475428,47.4862293,47.485455,47.473912,47.5101905,47.5168669,47.5651906,47.4793698,47.5479832,47.488821,47.48982415,47.500207,47.528687,47.5121807,47.5103864,47.5010749,47.4732076,47.505946,47.5064134,47.5157716,47.4985603,47.5166364,47.4370265,47.5009281,47.5173623,47.4945242,47.5496862,47.5166364,47.5078879,47.4510885,47.5074306,47.49534505,47.4667416,47.4721349,47.5461559,47.5010749,47.5049,47.5225961,47.5226122,47.5099776,47.4702472,47.4428357,47.488312,47.5204266,47.5127301,47.5019159,47.4693649,47.488821,47.4241903,47.5045603,47.5390517,47.4519546,47.5287745,47.5028532,47.555404,47.5426975,47.5207309,47.5207309,47.5030406,47.5292051,47.5226561,47.480402,47.4676599,47.459865,47.4730606,47.5081011,47.4789251,47.5187954,47.5563586,47.5082687,47.5148664,47.526675,47.5211332,47.477998,47.50379585,47.5314548,47.5462803,47.4965003,47.5049,47.4777109,47.4891292,47.4900774,47.5491932,47.5349321,47.5105508,47.518104,47.502398,47.5156648,47.52942915,47.5149586,47.5193341,47.5112736,47.5342359,47.5480864,47.4962322,47.5194208,47.5126541,47.5098625,47.5143382,47.5103,47.5490742,47.4908516,47.5150739,47.49050775,47.4632354,47.5025528,47.5791856,47.51194955,47.5271453,47.4980143,47.4947706,47.4836231,47.4891292,47.4791558,47.48825625,47.4817947,47.5178998,47.5154445,47.4948184,47.4906657,47.5153886,47.476668,47.5723168,47.4839639,47.5018924,47.5194791,47.5207309,47.4755839,47.5070955,47.502347,47.4666565,47.4666565,47.52873,47.5186171,47.5200184,47.5276347,47.510591,47.5062009,47.5097179,47.5585799,47.54757045,47.5467902,47.5046693,47.5060598,47.5074876,47.46493235,47.476173,47.5254841,47.5322514,47.5105508,47.5057922,47.48049225,47.5193945,47.4892647,47.4961229,47.5253514,47.4510885,47.5395047,47.4789098,47.4706474,47.4503717,47.4663477,47.5001887,47.53239145,47.4921272,47.5043119,47.5110294,47.5030393,47.4967031,47.4768323,47.57071785,47.5209999,47.5063031,47.50763,47.5292294,47.5179287,47.4941154,47.5017888,47.52646,47.5158281,47.4859783,47.5388248,47.5319152,47.53264415,47.5323855,47.5274926,47.4863772,47.4886781,47.5478999,47.4603573,47.5225934,47.4774843,47.5262504,47.4282315,47.5176753,47.4705045,47.5251776,47.4888529,47.5072302,47.49306,47.519069,47.4974087,47.4970841,47.515832,47.5022043,47.5071121,47.5002442,47.5222862,47.4776441,47.5251453,47.4735012,47.4903811,47.4791558,47.5350196,47.5426975,47.4776007,47.5426975,47.5426975,47.4736141,47.475347,47.5328817,47.5494076,47.5155233,47.551677025,47.4863341,47.4863341,47.50808005,47.4510885,47.5111357,47.4830555,47.551677025,47.5225826,47.5225826,47.4778391,47.5261904,47.5261904,47.4510885,47.4854608,47.5151356,47.5444373,47.5095494,47.5010036,47.4791558,47.4672088,47.5029561,47.4863341,47.4921289,47.5039242,47.5113835,47.5307237,47.4736141,47.5050814,47.5083007,47.539771,47.5054012,47.5467204,47.5041008,47.5050388,47.5070955,47.5115935,47.5239547,47.5269387,47.5025472,47.5025472,47.5292051,47.5292051,47.4859878,47.4760764,47.4730606,47.494359,47.5022677,47.494359,47.5187954,47.518863,47.5357411,47.4859878,47.5266716,47.4730606,47.5094842,47.5172297,47.4771505,47.5172297,47.5079913,47.5283885,47.5154445,47.4987469,47.4917784,47.4950741,47.5121309,47.4987469,47.4987469,47.5255091,47.475347,47.4943591,47.4867575,47.5297717,47.475347,47.5081011,47.475347,47.50541465,47.5029917,47.5005445,47.5252827,47.4859878,47.48920295,47.51768865,47.4859878,47.5089295,47.480402,47.5024612,47.5053784,47.5496862,47.5462803,47.485455,47.5344006,47.52930625,47.5311152,47.5070988,47.5256083,47.502016,47.4955298,47.5477045,47.4893591,47.5177729,47.5496862,47.5041997,47.5529877,47.4859878,47.4859878,47.4978508,47.5010146,47.5072644,47.5292994,47.5496862,47.5104878,47.5066058,47.5038029,47.4804347,47.5024289,47.502016,47.502016,47.5301259,47.4947734,47.5098818,47.5178998,47.5100794,47.4859878,47.5862734,47.502398,47.4611429,47.4520191,47.4859878,47.5046693,47.5145294,47.509476,47.476872,47.5323855,47.4893975,47.4767151,47.5046693,47.5044585,47.4754693,47.5174139,47.4893975,47.5045431,47.5300807,47.4893975,47.5265526,47.4893975,47.5271696,47.51293275,47.4893975,47.5045517,47.4760764,47.4885251,47.5098077,47.4593573,47.5069191,47.5112741,47.5069191,47.5012217,47.5220975,47.4856959,47.4859878,47.485455,47.4791558,47.4859878,47.5096131,47.528687,47.5127621,47.5058428,47.466826,47.528687,47.4804576,47.5137397,47.5127621,47.5022043,47.5137397,47.4881858,47.427704,47.5105508,47.5763736,47.5423897,47.4881858,47.5287137,47.5460524,47.4610379,47.5201797,47.5046693,47.4942762,47.5748383,47.5141652,47.4893975,47.4520191,47.4766565,47.5213074,47.4777605,47.5111165,47.475347,47.5032968,47.4758761,47.5111165,47.5141829,47.4962322,47.4747554,47.5118429,47.4817947,47.4845654,47.4511254,47.5118429,47.5106223,47.5710975,47.4730606,47.5098077,47.4962322,47.5017888,47.550658,47.530993,47.5445771,47.5177729,47.465171,47.4962322,47.514844,47.4950741,47.4981929,47.4917784,47.4976478,47.5050388,47.5103864,47.5079913,47.4474139,47.5051912,47.5229262,47.514844,47.5024289,47.4895251,47.5046693,47.4758761,47.5225826,47.5174837,47.5024289,47.5169438,47.5292051,47.5081011,47.52677355,47.5169438,47.514844,47.5402178,47.4705489,47.5158281,47.5169438,47.4791558,47.5357411,47.480402,47.5141652,47.4456118,47.5017213,47.512614,47.5415799,47.5070988,47.47164575,47.4764293,47.5127982,47.5059058,47.5357411,47.5297224,47.5127078,47.5447998,47.5392472,47.4943405,47.5066206,47.4903811,47.5115129,47.5082143,47.5105508,47.5362952,47.5059463,47.4847208,47.5066206,47.5111357,47.4917258,47.5352384,47.5061881,47.502562,47.510398,47.5352384,47.5081946,47.5978975,47.493568,47.517898,47.5209999,47.4955474,47.5685258,47.5022831,47.5117089,47.5347143,47.5253565,47.504982,47.4777914,47.4929225,47.47061795,47.5442015,47.48877855,47.5191743,47.5039242,47.4903384,47.5604513,47.5168048,47.4693649,47.4879562,47.4856631,47.4834118,47.5071136,47.5169438,47.5029917,47.4987469,47.5180411,47.5066206,47.4871075,47.5132394,47.5326717,47.5105508,47.5111456,47.520208,47.4917258,47.5300807,47.5426975,47.5120275,47.5362387,47.4363564,47.4168732,47.4669131,47.5077001,47.5072067,47.4958911,47.5176753,47.485417,47.5352384,47.5426975,47.5313806,47.5082687,47.5111165,47.4950741,47.5226412,47.4677382,47.5091962,47.5178998,47.5238822,47.4791558,47.5169438,47.5426975,47.5465285,47.5423897,47.5118429,47.5473341,47.4931174,47.4943405,47.53059275,47.5292051,47.4921278,47.5105985,47.5423897,47.4953121,47.5410564,47.4742388,47.4943405,47.5978975,47.5045517,47.4893975,47.5423897,47.4764293,47.5232847,47.4919178,47.4986472,47.5012217,47.4993292,47.485455,47.4936699,47.548579,47.4739892,47.5065903,47.5054888,47.5221573,47.5098077,47.4943405,47.5166364,47.4867575,47.5243288,47.5060433,47.4739892,47.5229262,47.5076556,47.5410564,47.5085518,47.5051199,47.4893464,47.4895251,47.5763736,47.4667129,47.5821084,47.4758059,47.5017888,47.4650342,47.5140327,47.4882932,47.4921289,47.4893464,47.49196125,47.5062187,47.5251357,47.501977,47.4859878,47.4739892,47.4871703,47.5001576,47.5166364,47.5426975,47.5748383,47.5207309,47.5140327,47.5283389,47.4804563,47.4951241,47.4882932,47.4803753,47.4881858,47.5185959,47.5174139,47.5121879,47.4972232,47.4919178,47.4881858,47.4610379,47.5081011,47.5140327,47.517898,47.4972232,47.5082687,47.4962116,47.5225854,47.4931817,47.4951241,47.5166364,47.4921289,47.5045431,47.4511254,47.5109423,47.4859878,47.4845654,47.4948134,47.5071136,47.5717886,47.4730606,47.5192003,47.520001,47.5010308,47.4973956,47.517898,47.5094194,47.5423265,47.595733,47.4985214,47.5236793,47.5158289,47.4803753,47.5163984,47.5405884,47.4807204,47.5465285,47.5049163,47.5098818,47.492972,47.4987469,47.5166364,47.4972232,47.4650342,47.497522,47.5020616,47.5091623,47.4803753,47.473166,47.503049,47.5271453,47.501972,47.4510885,47.5046693,47.473166,47.5185959,47.4905086,47.5335467,47.5326717,47.5229262,47.526675,47.4589746,47.4900162,47.52406855,47.5058118,47.5269332,47.4730606,47.5455552,47.5106223,47.4859382,47.47432275,47.5231241,47.5173286,47.4758761,47.4893903,47.5049,47.509374,47.5088362,47.49050775,47.5885795,47.5671555,47.47508,47.5352307,47.4968655,47.5111165,47.5245669,47.551978,47.5055247,47.5220975,47.5229262,47.479064,47.4940901,47.526675,47.5061556,47.5061556,47.5455552,47.4919178,47.4510885,47.4565732,47.4676736,47.5455552,47.4941596,47.5271453,47.5041008,47.49987155,47.5070988,47.4783331,47.5081011,47.4803753,47.5128429,47.5045431,47.5245116,47.5088411,47.4672088,47.5335467,47.4899227,47.4908406,47.5106223,47.5193738,47.4552408,47.473699,47.5496862,47.5335467,47.5180411,47.4794773,47.4929002,47.5045517,47.5463338,47.502016,47.4970862,47.5335467,47.5085518,47.5100112,47.5045517,47.5335467,47.5349321,47.4898815,47.5501321,47.550658,47.5158289,47.4762937,47.5082687,47.4929002,47.5156171,47.507815,47.5164639,47.4879562,47.5402932,47.465171,47.4758761,47.5158289,47.5717886,47.5050388,47.4794773,47.504133,47.5508449,47.5153236,47.5226412,47.5066846,47.4650342,47.4370265,47.5477821,47.5025472,47.4940901,47.5262504,47.4981929,47.5423897,47.5018924,47.4277182,47.4786233,47.5188782,47.4999044,47.5072067,47.5283885,47.526675,47.506734,47.5473341,47.5140327,47.5202876,47.5091962,47.4940901,47.5018796,47.5121905,47.528134,47.55012,47.5442015,47.5225854,47.4720809,47.4791558,47.4791558,47.4791558,47.48877855,47.5246172,47.5347798,47.489933,47.4985214,47.5191565,47.5335467,47.517584,47.5075499,47.543836,47.5015442,47.4730606,47.5043676,47.5362952,47.4882932,47.5328817,47.5323405,47.5081343,47.495688,47.5251778,47.4985214,47.5046671,47.4845654,47.5112757,47.5135501,47.54757045,47.4972232,47.470959,47.4919178,47.5229262,47.5328817,47.5014209,47.4936761,47.493568,47.49021795,47.4770557,47.51570885,47.5092302,47.5867523,47.5427581,47.4917859,47.5131425,47.5127621,47.4678787,47.4958911,47.5320887,47.4806738,47.4983792,47.5178998,47.550658,47.5143382,47.5861629,47.4968752,47.4742388,47.5207309,47.4797241,47.5025472,47.5024612,47.4917258,47.5166364,47.4510885,47.5053784,47.4850389,47.5267069,47.5307237,47.5300807,47.5192173,47.4919178,47.5078997,47.5071136,47.5024105,47.5442015,47.502398,47.4650342,47.4789251,47.4783496,47.4895251,47.5041718,47.5159028,47.4563642,47.4838977,47.5463282,47.5129597,47.5069912,47.5121681,47.4830253,47.5060433,47.4895251,47.5050623,47.5362952,47.4925396,47.5055274,47.5336215,47.4862767,47.4958911,47.5022677,47.5069191,47.4859878,47.5799738,47.5001576,47.4859878,47.535717,47.5347798,47.5308632,47.502016,47.5077001,47.5049,47.4963789,47.4892358,47.4927289,47.5045431,47.513153,47.4803753,47.48877855,47.5420438,47.5426975,47.5174837,47.4771665,47.4893975,47.4791558,47.5207309,47.4926877,47.4935033,47.4646023,47.4744946,47.5169438,47.4790659,47.4859878,47.4873546,47.4989717,47.5176753,47.5215767,47.5021689,47.5046671,47.5046765,47.4760992,47.4758059,47.5049163,47.4791558,47.4950741,47.5016194,47.4893766,47.4764293,47.508645,47.4882932,47.4903896,47.5024612,47.4965969,47.5302471,47.4730606,47.4674814,47.4919178,47.4616045,47.488821,47.4893975,47.4898134,47.4998912,47.5022043,47.5231709,47.50784975,47.5172297,47.5305487,47.4980143,47.5174139,47.5137397,47.4903384,47.4720554,47.5004497,47.5266377,47.4882932,47.4931817,47.5335467,47.5423897,47.505935,47.5002696,47.5187954,47.5030292,47.4510885,47.4908406,47.4895251,47.5045517,47.5164639,47.5078997,47.4921278,47.4510885,47.5138617,47.5155233,47.506881,47.4949754,47.5252827,47.4885251,47.5017888,47.5078997,47.5813813,47.504049,47.493568,47.4995112,47.4138296,47.5062009,47.4704866,47.4820315,47.5012398,47.564595,47.5043676,47.459865,47.5024612,47.5111456,47.5074466,47.5426975,47.5066389,47.5066389,47.5861629,47.5025472,47.5335359,47.5046693,47.5413944,47.5082687,47.486777,47.5059463,47.502398,47.571237,47.5151123,47.5046671,47.485455,47.4947384,47.4852249,47.4943724,47.4610379,47.4803753,47.5121879,47.4979628,47.5028532,47.5154445,47.5069625,47.4859878,47.4677239,47.5187954,47.4939802,47.51314625,47.5799738,47.47602035,47.5050814,47.4337242,47.4921278,47.4588919,47.5018796,47.5045431,47.5671397,47.5060433,47.5118429,47.5284168,47.5060723,47.4968655,47.4885251,47.4662792,47.5300807,47.5705489,47.5488307,47.4921289,47.5013849,47.5420438,47.5271696,47.5130143,47.5213074,47.4730606,47.4777964,47.4793698,47.5216378,47.5029526,47.5098077,47.5012398,47.5498401,47.5423897,47.5058118,47.465171,47.517898,47.5082687,47.4932243,47.5225826,47.5158289,47.5065903,47.5468599,47.528687,47.4962322,47.5718356,47.5068297,47.5116688,47.5288548,47.4760992,47.5106833,47.5488307,47.4962116,47.4717041,47.5028724,47.5383689,47.5225854,47.5085421,47.4764293,47.4930891,47.5180411,47.4764293,47.5430228,47.4947545,47.49513505,47.514844,47.5110294,47.47164575,47.4919178,47.5413944,47.5050314,47.5166364,47.5121309,47.472865,47.3969186,47.4706677,47.512614,47.5176955,47.5261904,47.4947734,47.5335359,47.5362952,47.5362952,47.5169438,47.5043676,47.5091832,47.5059922,47.5082687,47.5110294,47.5298094,47.5100112,47.5016194,47.4952758,47.5226122,47.5335467,47.5046693,47.4764303,47.4919178,47.4898815,47.4489191,47.4912499,47.5639336,47.5271453,47.5071611,47.4943405,47.543047,47.5045431,47.5239547,47.4985214,47.5137397,47.5096131,47.4875212,47.5182722,47.5008785,47.4611429,47.4857458,47.512965,47.5530334,47.5079914,47.4636815,47.4771665,47.5016765,47.5168129,47.502016,47.4862134,47.4728064,47.5213385,47.4921278,47.5251453,47.5308632,47.5169438,47.4953121,47.4962322,47.5180411,47.4789251,47.5038029,47.5712497,47.5310383,47.4963789,47.476872,47.5233957,47.5251453,47.5082687,47.48548505,47.5041718,47.5065903,47.4834414,47.4677382,47.5104878,47.4883913,47.5019956,47.5185959,47.4955298,47.5071427,47.50107605,47.4794773,47.4275301,47.5326717,47.5098625,47.5143382,47.512614,47.5143247,47.5185813,47.5188373,47.5017888,47.4892358,47.4933443,47.550658,47.5501321,47.5188282,47.5147904,47.4988308,47.498157,47.50121565,47.5402932,47.465171,47.4589903,47.5130382,47.4857225,47.5169438,47.5045938,47.5496862,47.4919178,47.480402,47.4614296,47.5292051,47.5164639,47.5413944,47.52685895,47.5261904,47.5111165,47.5225826,47.5069625,47.4892937,47.4893975,47.4921289,47.4717742,47.503049,47.5185959,47.4903811,47.5389841,47.5050272,47.4903896,47.5002815,47.4720554,47.5180411,47.5500929,47.5020241,47.5081011,47.5705489,47.5799738,47.4859878,47.4743416,47.485455,47.5357411,47.5383689,47.5469607,47.5238822,47.4985589,47.5197257,47.5052796,47.4294676,47.5059922,47.5348682,47.4816127,47.4855605,47.4981929,47.52521195,47.5060891,47.511913,47.4985606,47.5446849,47.5176753,47.5100794,47.4881858,47.5051079,47.5046133,47.5185959,47.4410148,47.5087552,47.5423897,47.4833489,47.5024612,47.5390517,47.5239802,47.5362952,47.5046801,47.4893903,47.4893903,47.5044585,47.4817947,47.5383689,47.5028532,47.5187954,47.5187954,47.5473341,47.5685048,47.4972232,47.4753369,47.5837258,47.5532693,47.5077001,47.4887014,47.5165275,47.5096131,47.4873585,47.5097931,47.5215767,47.5238094,47.5368816,47.5118429,47.5089884,47.5025294,47.51075995,47.5243288,47.5077001,47.4845654,47.5012217,47.5012436,47.5117475,47.5217116,47.5147904,47.4951241,47.5100794,47.4771697,47.5495882,47.5091962,47.5368816,47.4927289,47.4987469,47.4974976,47.5012217,47.4856685,47.5046801,47.5500929,47.4570493,47.5765768,47.5765768,47.5335467,47.4833489,47.4764293,47.494359,47.4903384,47.4892358,47.5285606,47.478186,47.5024289,47.4607052,47.5383689,47.5082687,47.530993,47.5202876,47.5041008,47.4921278,47.5498401,47.5200388,47.5154445,47.4702839,47.5041354,47.5357411,47.5685258,47.5111357,47.5071243,47.4650342,47.4893591,47.4826363,47.49236295,47.4816322,47.47164575,47.5075248,47.5102619,47.4903896,47.5092302,47.4794019,47.5209999,47.4764293,47.4908911,47.4881858,47.4847119,47.46916,47.506761,47.5024289,47.5468599,47.4720554,47.4871306,47.4790659,47.4310531,47.50934915,47.4789344,47.4905494,47.5056442,47.4952745,47.500403,47.5022677,47.4510885,47.5305487,47.5173623,47.481035,47.5082687,47.5045431,47.5166364,47.526675,47.5155233,47.502016,47.4730606,47.4816322,47.49275575,47.5352384,47.4948817,47.507006,47.51178775,47.4784893,47.5096426,47.4728064,47.5049,47.5243288,47.5806957,47.5030292,47.4760992,47.5315807,47.4889242,47.502398,47.5111456,47.5187954,47.4857458,47.4666511,47.5074306,47.465171,47.5069625,47.4924499,47.485526,47.5423897,47.5251183,47.5085421,47.5229262,47.5178998,47.4921278,47.571237,47.50379585,47.5213183,47.478098,47.5357411,47.5049,47.5049,47.4844343,47.5419466,47.512614,47.5009392,47.5932242,47.5135501,47.4720554,47.4742388,47.5357411,47.5043676,47.5008591,47.4282775,47.5452181,47.5176241,47.4171277,47.4472038,47.4903384,47.55564,47.4939298,47.4760992,47.5066206,47.528687,47.5115935,47.4972232,47.4916449,47.5362952,47.4962116,47.5758977,47.54654,47.492185,47.5111165,47.5000362,47.5178998,47.5372585,47.4993694,47.5476552,47.5164639,47.496738,47.4797241,47.49275575,47.526675,47.4304191,47.4678937,47.5272414,47.4786233,47.4834414,47.4834414,47.4895251,47.4720554,47.4859878,47.4908911,47.5082687,47.504982,47.4972232,47.5113387,47.4963789,47.5049,47.4405506,47.5186841,47.4895131,47.4996617,47.5298094,47.506761,47.4993694,47.4103719,47.5125331,47.5705489,47.5748383,47.5748383,47.5127301,47.5298094,47.5245669,47.4985214,47.5058118,47.5021796,47.4780215,47.5390517,47.4138296,47.5335467,47.5473341,47.5473341,47.4570493,47.5394144,47.513703,47.50582305,47.5061881,47.4833489,47.5245669,47.5081011,47.5164639,47.4476021,47.5082687,47.4933729,47.5335467,47.5039242,47.5166719,47.4968655,47.4658165,47.5189932,47.4919178,47.4662884,47.5220975,47.5633199,47.5110294,47.502016,47.4834414,47.5207309,47.5072067,47.4616045,47.5200388,47.5423897,47.5170844,47.489798,47.5335467,47.5189932,47.5041354,47.4993694,47.4919178,47.4948134,47.5180411,47.5164639,47.5515516,47.42471595,47.5226561,47.5646525,47.5221573,47.5179287,47.4782285,47.4574271,47.5154445,47.4993694,47.5039208,47.4857225,47.4803753,47.5042158,47.4931695,47.5605774,47.4969731,47.5118429,47.5045431,47.4591603,47.5402932,47.5233957,47.5121798,47.4742388,47.5108902,47.5251778,47.5251778,47.5261186,47.48660255,47.5018302,47.479667,47.4924729,47.4924729,47.5017888,47.5079914,47.543047,47.4534343,47.4929002,47.515171,47.4960229,47.4674809,47.4304298,47.5049,47.47846775,47.5315247,47.4929002,47.5121879,47.5164639,47.5000485,47.5016765,47.501977,47.4760992,47.5041997,47.4735573,47.4616045,47.4666565,47.5112757,47.47840985,47.48314045,47.5187954,47.5932242,47.5556512,47.4931817,47.5425949,47.4848682,47.4227343,47.4389728,47.4730606,47.5763736,47.517898,47.5530334,47.4591603,47.5096131,47.4563642,47.4726686,47.4588919,47.494359,47.4636056,47.5070955,47.5188782,47.5267069,47.48544245,47.5110252,47.5181753,47.4693674,47.5299747,47.4489191,47.503049,47.5335467,47.5147523,47.4976359,47.464986,47.5225148,47.4952745,47.5105508,47.5225148,47.5231241,47.5013479,47.5036821,47.4908406,47.4684772,47.5390517,47.5100112,47.5049,47.5180411,47.5202876,47.5045431,47.5423897,47.5123805,47.4917258,47.5178409,47.4927865,47.5017888,47.5047875,47.5185959,47.5121879,47.5025294,47.5089815,47.4927289,47.5082687,47.4887705,47.4764293,47.5143247,47.4940901,47.5336215,47.4840788,47.4962116,47.5174837,47.4893903,47.4829969,47.4882932,47.514361,47.5122201,47.5058743,47.50495895,47.4907426,47.5350196,47.511913,47.5045431,47.5154675,47.5045007,47.5121879,47.496064,47.5259441,47.4908406,47.4893766,47.5450196,47.5082687,47.5102989,47.4951241,47.5054012,47.5043665,47.5117089,47.5138617,47.4426293,47.5360783,47.4816322,47.4952745,47.4867575,47.5173286,47.5427581,47.5105508,47.5189975,47.5100112,47.5369144,47.5046595,47.4510885,47.5127301,47.4650342,47.550658,47.5079407,47.5043676,47.5082687,47.5066206,47.4995112,47.4943405,47.4923981,47.5326717,47.5352384,47.5306551,47.5358901,47.5042328,47.48174,47.4694918,47.5066206,47.5169438,47.5045517,47.5046671,47.5231241,47.5300807,47.5971429,47.4917258,47.503299,47.5082687,47.5206838,47.5413944,47.4732708,47.4511254,47.526512,47.4907426,47.5226561,47.447775,47.5229262,47.4968399,47.4965056,47.4840663,47.507006,47.5201898,47.4789251,47.4868205,47.5036903,47.5384042,47.5285606,47.5176867,47.5394144,47.4742388,47.4906094,47.511476,47.507006,47.5117089,47.489377,47.5285606,47.5498401,47.5043676,47.5220975,47.4886781,47.5008785,47.5532805,47.5149766,47.5481583,47.5213183,47.5025472,47.52719715,47.5046693,47.500403,47.4881001,47.476173,47.4940901,47.5300807,47.5465285,47.4948582,47.5298857,47.526927,47.5117089,47.5477045,47.4882932,47.4964395,47.4611429,47.4760992,47.4903811,47.5473341,47.5122201,47.5049051,47.5352384,47.48196675,47.5431145,47.4915962,47.5045431,47.5292994,47.5098077,47.5121879,47.4789251,47.5220975,47.5362952,47.5185959,47.501977,47.528687,47.52468755,47.5054662,47.5095518,47.4840788,47.5170863,47.5017927,47.4885251,47.5055274,47.5545274,47.512112,47.4919178,47.4919178,47.4663477,47.4912499,47.4785414,47.4790659,47.55276435,47.517898,47.46647195,47.4782285,47.4903896,47.5085421,47.5045517,47.4962116,47.5478862,47.5078997,47.4947384,47.4496853,47.4803753,47.4908406,47.4857225,47.50189425,47.4766565,47.5043134,47.4985606,47.5347798,47.5125315,47.5102619,47.5174837,47.4764293,47.5658487,47.5041008,47.5634468,47.550658,47.4847208,47.5046671,47.4747724,47.494359,47.5146045,47.5016765,47.5251183,47.5285606,47.4692577,47.4863341,47.5054662,47.4855281,47.507815,47.4973956,47.4790659,47.4951241,47.5463338,47.5155233,47.5071243,47.5305487,47.5105793,47.5150279,47.464986,47.5024489,47.5164639,47.4877518,47.5116365,47.4947734,47.50397405,47.4859878,47.49287185,47.4885251,47.5255280666667,47.4611429,47.4817947,47.5642685,47.5463282,47.5136527,47.4610379,47.46077315,47.5143382,47.5166719,47.5799738,47.5052884,47.5097088,47.504133,47.4906094,47.50600845,47.4947545,47.5315815,47.4658165,47.5685258,47.5225854,47.4940901,47.4952745,47.5085421,47.5402932,47.49815625,47.5017888,47.5024612,47.5255863,47.4908715,47.4881858,47.5028724,47.494359,47.5716537,47.5022677,47.5239802,47.4971467,47.4663477,47.494359,47.5066058,47.5104317,47.5140327,47.5102976,47.5016765,47.5187954,47.5233957,47.4903811,47.514844,47.4951241,47.4489191,47.4893903,47.4859878,47.5151356,47.5060433,47.5423897,47.4870223,47.4742388,47.4948691,47.5066206,47.5082687,47.5122201,47.4940901,47.4929002,47.5168048,47.51015205,47.51901955,47.50840925,47.5077001,47.5017888,47.4437618,47.4870527,47.4852093,47.4943087,47.5024983,47.45653365,47.4634507,47.5176241,47.5187954,47.5563348,47.5166364,47.4889242,47.4817947,47.4911564,47.5122201,47.4859878,47.5458391,47.4607758,47.5140327,47.5100794,47.5082687,47.5340989,47.4940901,47.5012217,47.4862645,47.5066206,47.5164639,47.52608325,47.4962116,47.5335467,47.5118429,47.4972232,47.4856959,47.5041008,47.4770845,47.4995112,47.5054662,47.4690108,47.5055247,47.48920295,47.5648844,47.490227,47.5164639,47.4802389,47.4788315,47.5367191,47.50211825,47.5426975,47.5028724,47.5076702,47.503299,47.4840663,47.4992653,47.4941154,47.5961416,47.5415799,47.5290523,47.4942639,47.5069778,47.5381507,47.4955456,47.471162,47.5041008,47.5352307,47.4651468,47.49513505,47.5186703,47.56301025,47.5016111,47.473037,47.5290101,47.5092302,47.4687647,47.521636,47.5046693,47.46493235,47.4768323,47.5233956,47.5271453,47.4945617,47.4850755,47.5155233,47.4732708,47.4565987,47.5143,47.5382423,47.5187954,47.5442015,47.5885795,47.501532,47.5060433,47.4859878,47.4938029,47.5201221,47.4197772,47.4859878,47.5038507,47.5255280666667,47.5469607,47.5019529,47.5013849,47.5057552,47.5202108,47.5086686,47.5225854,47.50296,47.5012398,47.4828691,47.5480556,47.4788315,47.5038029,47.5100794,47.4803753,47.5046693,47.5074519,47.4857987,47.5121744,47.43181065,47.4932243,47.4472038,47.49208045,47.4893766,47.5071611,47.493568,47.49236295,47.4160964,47.528687,47.4476488,47.4817947,47.4863341,47.4770845,47.4742388,47.4907426,47.5037723,47.5253559,47.4770845,47.5813641,47.4749116,47.5046595,47.4777109,47.5086715,47.5141652,47.4893975,47.4968258,47.5177729,47.5603284,47.5016194,47.4840844,47.4654451,47.5246278,47.4820315,47.515217,47.6026308,47.4885505,47.4863341,47.5077921,47.515164,47.4789251,47.5082687,47.5934621,47.5121879,47.45778285,47.499706,47.5231741,47.50495895,47.4993694,47.5007396,47.473158,47.4663477,47.502016,47.4583931,47.5007396,47.5007396,47.515852,47.5073004,47.5017888,47.5046693,47.4903811,47.5109423,47.56219525,47.478186,47.4859878,47.550658,47.4987469,47.5426975,47.5148538,47.4646023,47.4783708,47.5118429,47.5634468,47.50495895,47.5147904,47.4885251,47.5799738,47.5045431,47.4421216,47.50669915,47.5154445,47.4142889,47.503124,47.5119451,47.4893975,47.4903811,47.507006,47.48232,47.4953772,47.4937138,47.4893521,47.5473341,47.4743416,47.5017888,47.5236793,47.4877981,47.5045517,47.494062,47.5479832,47.50328725,47.4893591,47.4881765,47.51164725,47.5810019,47.4859878,47.5060433,47.5164639,47.5304163,47.5059922,47.4893975,47.4769953,47.4658165,47.502016,47.5359009,47.515171,47.5352384,47.4771665,47.4933805,47.5362952,47.4720554,47.4863341,47.4704866,47.5094194,47.5039242,47.4955564,47.4919178,47.5043676,47.4791558,47.5285606,47.52109785,47.518104,47.4658165,47.4855281,47.4908934,47.5204266,47.5101905,47.5043665,47.5169438,47.493028,47.4919178,47.4940901,47.5174998,47.5193212,47.5204314,47.5061881,47.5185813,47.5088099,47.4917258,47.4719343,47.4693987,47.49129955,47.5172297,47.50959435,47.4936358,47.4693987,47.5029917,47.5192276,47.4782285,47.5043676,47.5252317,47.543943,47.4704866,47.5010036,47.4310485,47.5473341,47.5018796,47.5018796,47.5488307,47.5028292,47.6039953,47.5025472,47.5086064,47.4958995,47.4936358,47.507363,47.50975405,47.4817947,47.4857834,47.5221573,47.50379585,47.4982635,47.5155233,47.4332325,47.5052617,47.5472355,47.6008024,47.5275708,47.476173,47.505096,47.4579819,47.5289147,47.40903245,47.4908406,47.5082687,47.4956675,47.4961734,47.4921289,47.4847208,47.5140327,47.4797756,47.5012998,47.5379079,47.4405506,47.5292051,47.5041008,47.480402,47.5305487,47.4510885,47.500443,47.486034,47.4449184,47.5315807,47.4783496,47.5129589,47.502398,47.4859878,47.4951241,47.5022043,47.5284356,47.50035,47.4769953,47.4839025,47.5501321,47.4778506,47.486034,47.516805,47.4932243,47.5059463,47.5069191,47.5064943,47.5111456,47.5741109,47.5016645,47.4881765,47.5469607,47.5015091,47.4882932,47.5046693,47.478098,47.5273486,47.5121309,47.5109282,47.4616045,47.5233957,47.5098625,47.4903896,47.5115935,47.503394,47.5059463,47.4859878,47.5180411,47.5671555,47.5072067,47.51103895,47.5166569,47.5037723,47.5239802,47.5274926,47.5285606,47.4952745,47.4952745,47.5435946,47.5017888,47.4927289,47.4750027,47.5639336,47.5402932,47.5426975,47.478186,47.5167072,47.5111357,47.5233957,47.4484411,47.550658,47.5429803,47.4972232,47.4778285,47.4971676,47.5107737,47.5287137,47.4791558,47.4791558,47.4863341,47.5111357,47.5017213,47.5496862,47.550658,47.5039405,47.49281295,47.5136612,47.496376,47.5188913,47.4783496,47.5053784,47.4913148,47.4611429,47.4903896,47.5491932,47.4730606,47.4192334,47.4945121,47.5201898,47.5174139,47.5402932,47.5111165,47.569666,47.5315807,47.4914847,47.5081946,47.50905395,47.509374,47.504982,47.4218645,47.5360783,47.5081011,47.4893903,47.4719343,47.5251453,47.4694918,47.5098625,47.5633801,47.5419466,47.5037495,47.4949219,47.510348,47.54922495,47.5082687,47.5091373,47.486034,47.4993292,47.5071136,47.5172297,47.4677003,47.5267963,47.5379416,47.4720554,47.4839341,47.4758761,47.5390556,47.4787886,47.5083174,47.5226412,47.5111165,47.4859878,47.5231241,47.4641998,47.4672013,47.4611429,47.5423897,47.5173286,47.5105508,47.4859878,47.5143695,47.5151727,47.5069191,47.571237,47.5317429,47.5026497,47.5122201,47.4870527,47.4987469,47.5350196,47.5127301,47.5071611,47.5051327,47.5462803,47.5384042,47.4410099,47.5012398,47.4650342,47.5140327,47.4636056,47.5041718,47.5206305,47.5081011,47.5050611,47.5413944,47.4883775,47.5039208,47.4971467,47.4806254,47.501314,47.4859878,47.5098077,47.5041008,47.5082687,47.571237,47.5605475,47.4788541,47.4903384,47.5472695,47.494359,47.4972971,47.5058659,47.5155233,47.5098077,47.473699,47.4686033,47.5121681,47.5028532,47.5018796,47.5089409,47.5028532,47.5532805,47.5045517,47.4993694,47.4878172,47.5238822,47.4732708,47.5081011,47.4735161,47.5154445,47.5326717,47.5369144,47.4438809,47.4821936,47.4857987,47.503299,47.4995112,47.5362952,47.4817947,47.493028,47.4882932,47.4943087,47.4952745,47.5127078,47.5082687,47.5058428,47.5012436,47.4694918,47.4247465,47.4863341,47.4875212,47.52873,47.5046693,47.5075289,47.530993,47.5046693,47.4591603,47.5137397,47.5024105,47.4646023,47.5242127,47.5000169,47.4780318,47.4833489,47.4896123,47.4955298,47.5545456,47.5423897,47.429974,47.5794099,47.5100794,47.4881858,47.4863341,47.5253565,47.5253565,47.5455552,47.4958911,47.5044585,47.4794773,47.4764293,47.5054012,47.5028532,47.5071243,47.5383689,47.5079393,47.4797241,47.4852249,47.4893975,47.5127078,47.5292051,47.5038681,47.507815,47.4716765,47.4837017,47.474702,47.4720554,47.5082687,47.4764293,47.4931399,47.5085518,47.4365103,47.4794773,47.4919178,47.5177729,47.503925,47.551978,47.5046671,47.5343092,47.5052796,47.492972,47.5094194,47.5122201,47.4993292,47.4893975,47.5117089,47.4898134,47.5013849,47.505096,47.5105508,47.5111165,47.4762937,47.5018796,47.4882932,47.4530395,47.4666511,47.4908934,47.4789251,47.5300807,47.5771896,47.5143247,47.5141652,47.4907426,47.5164639,47.5121118,47.5388248,47.5102619,47.5155233,47.5379542,47.5121879,47.503925,47.4879562,47.4886781,47.502398,47.5066206,47.4817947,47.4730606,47.5024289,47.4510885,47.4857225,47.5209999,47.5109146,47.506115,47.5155233,47.4875615,47.4803753,47.5018302,47.5481583,47.5271453,47.4833489,47.5187954,47.5426975,47.5467204,47.4875212,47.5045517,47.49564235,47.5100794,47.5496862,47.5861629,47.5221073,47.5712497,47.4881858,47.5079393,47.5140327,47.5405313,47.4742388,47.514844,47.4948755,47.4529331,47.4993292,47.4942762,47.4852249,47.4909498,47.5140327,47.5193212,47.4919178,47.5620074,47.4863341,47.5402932,47.5109423,47.5092566,47.5119826,47.4607758,47.5215399,47.5180411,47.4962938,47.4720554,47.5117089,47.4411015,47.5639336,47.5030292,47.5014431,47.5068458,47.3982722,47.4885505,47.4630295,47.5529877,47.5302084,47.5316462,47.473166,47.4962322,47.5394205,47.475347,47.5121744,47.4921289,47.47368105,47.5046671,47.4758444,47.5468599,47.5081011,47.5074725,47.5226412,47.5154064,47.4888776,47.5188621,47.5065353,47.526675,47.5352384,47.5487344,47.5435491,47.5403656,47.4943405,47.4661016,47.5091962,47.49306,47.4720554,47.507006,47.56374925,47.5368816,47.4943405,47.49436395,47.4859878,47.5113387,47.515107,47.5041736,47.5118429,47.5187954,47.5763736,47.4999289,47.5076893,47.4660794,47.4898134,47.5024384,47.5352384,47.4627846,47.5634377,47.4666565,47.4666565,47.5193898,47.503532,47.5068458,47.4965969,47.5022043,47.4610379,47.5059463,47.4666565,47.512112,47.5413944,47.502016,47.4730606,47.4161447,47.5017942,47.5725272,47.4370265,47.4879562,47.5292449,47.4728064,47.5187954,47.496738,47.5057995,47.517898,47.4899227,47.532156,47.4693674,47.5601078,47.5074466,47.431802,47.4848515,47.5022043,47.502398,47.5036019,47.5352384,47.5178998,47.5117089,47.5108193,47.467863,47.5219269,47.43181065,47.4366516,47.4917258,47.4623759,47.4840788,47.5435478,47.4650342,47.4602043,47.4782285,47.5266716,47.5292015666667,47.4844845,47.5066206,47.5253565,47.4510885,47.5127078,47.5460524,47.4666565,47.5017888,47.4867575,47.4913031,47.4724603,47.4859878,47.500207,47.5046595,47.4679179,47.526675,47.5078583,47.5078879,47.4577055,47.5079393,47.4889419,47.4574271,47.4064797,47.5435491,47.4919657,47.5018807,47.48010795,47.5022043,47.4839112,47.5086333,47.5634469,47.510591,47.5477852,47.5631697,47.5238822,47.5958727,47.5356305,47.5021796,47.4894278,47.4563642,47.4515033,47.5473341,47.5047647,47.5040789,47.4993055,47.4699242,47.406443,47.4064797,47.5426975,47.5178998,47.4893975,47.505928,47.4687895,47.495364,47.5488292,47.5142665,47.4484411,47.526927,47.530993,47.5045431,47.4809223,47.5385225,47.4840224,47.5253565,47.5037723,47.4310531,47.5164639,47.52084,47.4735354,47.5118429,47.5177428,47.5071136,47.5348915,47.526675,47.528687,47.5379149,47.4917361,47.4650342,47.4650342,47.4437618,47.5444373,47.5177729,47.5028532,47.51923185,47.5174837,47.4450835,47.50651025,47.4782285,47.480199,47.5410564,47.6026308,47.4736141,47.471162,47.6026308,47.5041354,47.478893,47.519492,47.5180411,47.4797756,47.5017888,47.5302396,47.5041008,47.5191565,47.5326717,47.5018302,47.4871781,47.4968655,47.4778391,47.5062009,47.571237,47.5052796,47.5117475,47.5685048,47.5383689,47.5225854,47.5180411,47.4760992,47.465171,47.4859878,47.4859878,47.5020419,47.4870236,47.5058428,47.4418659,47.5180411,47.5225826,47.5299082,47.5225854,47.4786233,47.5423897,47.4760992,47.4974976,47.5028292,47.5154445,47.4927289,47.473166,47.499522,47.4516758,47.4938029,47.4782285,47.6010956,47.5352384,47.5049,47.5207309,47.5024612,47.5091939,47.5473285,47.3971396,47.4365103,47.5080747,47.4892937,47.5423897,47.5327038,47.489428,47.4782831,47.4557868,47.5171264,47.5185959,47.514844,47.4940942,47.5069191,47.5218553,47.4776924,47.4940901,47.4747724,47.4834414,47.5426975,47.5121853,47.4776093,47.5488307,47.5368359,47.4943087,47.5685258,47.4827053,47.5362952,47.5972623,47.5383689,47.514723,47.5515516,47.496738,47.5218553,47.5178998,47.4919178,47.4919178,47.5045431,47.4332325,47.5021995,47.47912735,47.5034442,47.518661,47.4921289,47.45083665,47.528555,47.5036019,47.4903811,47.4791558,47.4817947,47.4870236,47.5039242,47.5275708,47.4884707,47.4325568,47.5194488,47.4859971,47.4454595,47.5069191,47.503043,47.530993,47.4343003,47.4962322,47.4610379,47.5036669,47.45205165,47.5253565,47.494149,47.5687703,47.4783496,47.5240893,47.5383689,47.4911953,47.4473652,47.5193898,47.5251337,47.5092566,47.5651906,47.4816472,47.4816472,47.4803122,47.4990236,47.4923083,47.4847527,47.49513505,47.5158289,47.5065743,47.5292994,47.461869,47.5202876,47.5016767,47.5605475,47.4636815,47.4863341,47.529942,47.5253565,47.5209999,47.4726592,47.5959627,47.50390365,47.4925162,47.5059209,47.4682416,47.5111357,47.4370759,47.5231741,47.4878172,47.5794099,47.5110294,47.5390517,47.48836905,47.48760875,47.4919178,47.5052979,47.52109785,47.4847527,47.3966664,47.4941154,47.518661,47.5821165,47.5760191,47.5233957,47.5545456,47.5069625,47.5111165,47.5271453,47.5508449,47.5298857,47.4876936,47.48293,47.526675,47.5983528,47.5233957,47.5042135,47.5112856,47.4764293,47.4719395,47.5012436,47.511913,47.4887014,47.5055274,47.5127301,47.5031022,47.52109785,47.4636255,47.4839112,47.4942762,47.5352384,47.5639336,47.5362952,47.5071427,47.5100794,47.5111357,47.5110107,47.51908895,47.5154064,47.4840663,47.5066206,47.4907426,47.5238822,47.5238822,47.4875693,47.4677382,47.5102619,47.5426975,47.4019511,47.5097265,47.5117089,47.5024612,47.5046892,47.5117089,47.5813813,47.5299166,47.5605774,47.4943533,47.498926,47.50871725,47.4650342,47.4698926,47.5071427,47.4699242,47.5046831,47.50651025,47.5029561,47.5193898,47.5018796,47.4720809,47.5246278,47.5081011,47.4784893,47.5187954,47.5620958,47.5012398,47.5221073,47.5369144,47.4934559,47.4881858,47.4666565,47.5326717,47.5116513,47.508315,47.5240138,47.4903811,47.543047,47.495622,47.5368816,47.4807399,47.5060433,47.5037229,47.476173,47.5221573,47.5458391,47.5230936,47.4710418,47.469061,47.4789251,47.49216865,47.4746986,47.4860894,47.4774843,47.5678032,47.4809929,47.517898,47.4782285,47.4993292,47.503299,47.4717742,47.4717742,47.4867575,47.4899227,47.4964134,47.5078879,47.5089884,47.5494671,47.5671555,47.550658,47.51046125,47.6008024,47.4337242,47.5149649,47.5188149,47.4947384,47.4647966,47.5039242,47.5069191,47.4808933,47.5383689,47.5186703,47.509377,47.5076893,47.529915,47.5813813,47.4220399,47.425486,47.4972232,47.5300807,47.4582504,47.4742398,47.5098077,47.51907235,47.4389728,47.5427716,47.4881858,47.5423897,47.4588919,47.5069625,47.4943087,47.4545533,47.4867575,47.407578,47.4100442,47.5541318,47.4993875,47.4786233,47.5102619,47.5202876,47.5024612,47.5097265,47.5100794,47.5423897,47.5303863,47.4919178,47.5137397,47.5263607,47.5070955,47.461869,47.466826,47.5070988,47.4992327,47.4893218,47.4959966,47.4859878,47.4859878,47.4859878,47.5226561,47.4428431,47.5487796,47.4899227,47.5202876,47.48201395,47.5136762,47.5098147,47.4645363,47.5323417,47.5213183,47.4942768,47.4607758,47.45083665,47.4545533,47.4962322,47.4987469,47.5117089,47.5423265,47.5002815,47.5427581,47.5141031,47.512614,47.4720554,47.5225148,47.4304298,47.4472941,47.564764,47.5064493,47.4327482,47.5799738,47.5663671,47.5253514,47.5799738,47.550658,47.4859878,47.4330782,47.5087552,47.5085518,47.5671555,47.4881858,47.5620958,47.5799738,47.5031022,47.5169514,47.5020975,47.5151727,47.4949754,47.4834414,47.5058659,47.5012217,47.477658,47.4887463,47.4931695,47.4905086,47.4855281,47.5068297,47.5272346,47.5079913,47.512614,47.548579,47.5322347,47.5144923,47.4611801,47.5085518,47.4678149,47.5239547,47.4895251,47.45328275,47.5072964,47.4797241,47.50429705,47.568939,47.4931695,47.5072067,47.5097265,47.4943822,47.4881858,47.4903811,47.5254962,47.5174998,47.518863,47.4325568,47.5008975,47.5046671,47.4881858,47.4355424,47.5079914,47.5444373,47.5045431,47.5302084,47.5104878,47.5150739,47.5965414,47.5249814,47.5097265,47.4025482,47.4908911,47.4728064,47.4919178,47.4342956,47.4859878,47.4859878,47.4990699,47.5246329,47.53691995,47.521198,47.505928,47.543047,47.543047,47.543047,47.5202108,47.5040483,47.5079913,47.4438809,47.5050814,47.5394144,47.502016,47.5045431,47.4511254,47.5137397,47.5041541,47.5074376,47.4850071,47.5252827,47.52772045,47.5128204,47.4916448,47.5265317,47.5362387,47.4894116,47.4872026,47.5292051,47.4899227,47.4852249,47.5038681,47.5241927,47.542479,47.4172201,47.5335467,47.4962322,47.5107737,47.5029917,47.4704866,47.5115935,47.4770557,47.4669131,47.4389384,47.4330623,47.4760992,47.4913431,47.4946924,47.5215399,47.505884,47.4968655,47.5071427,47.493028,47.5166364,47.5117089,47.4837017,47.5075289,47.5413944,47.5208778,47.4857026,47.5226412,47.4881001,47.4862293,47.4859878,47.5050814,47.4856631,47.497522,47.5034139,47.4993694,47.4919178,47.4855281,47.51632425,47.5302471,47.480402,47.4921278,47.4764293,47.5010485,47.4730606,47.502016,47.5166364,47.4908911,47.5107737,47.4960229,47.5169438,47.4834414,47.5529877,47.4919178,47.4968655,47.4379665,47.4138296,47.4373156,47.5252827,47.4598267,47.493028,47.4367067,47.4817947,47.4612447,47.4760992,47.4831289,47.5192173,47.5071427,47.4730606,47.5362387,47.4510885,47.5072833,47.4962322,47.4735354,47.4948424,47.5141815,47.5200184,47.5302471,47.4446611,47.5020616,47.5020616,47.512112,47.5222862,47.5240138,47.4323825,47.4720906,47.4990874,47.5236793,47.5118429,47.5091124,47.476173,47.4728064,47.5019209,47.4471995,47.5192604,47.5155233,47.5723863,47.5053085,47.4534343,47.5239547,47.49441955,47.4760992,47.4651468,47.5102619,47.4925236,47.4510885,47.5473341,47.4803319,47.4964921,47.5107737,47.4506247,47.5468625,47.54757045,47.4248669,47.5417854,47.4903811,47.5059463,47.4760992,47.5078997,47.4968655,47.4732708,47.5226561,47.5004809,47.4679346,47.48954095,47.54922495,47.5269797,47.4859878,47.4912919,47.5102619,47.5027645,47.4962322,47.526675,47.4962322,47.5107737,47.5172297,47.4344089,47.4730606,47.4863341,47.5741109,47.5089099,47.4538535,47.4760992,47.5304062,47.5163775,47.4803753,47.47982495,47.502016,47.555124,47.4935267,47.5154445,47.5481583,47.4713231,47.5114324,47.5188782,47.4681958,47.5213183,47.5245669,47.5541318,47.5269332,47.5634468,47.4782285,47.4875212,47.4896963,47.4979657,47.5417854,47.543472,47.4999507,47.4867575,47.4990699,47.4990699,47.4907426,47.5121681,47.4985214,47.5062009,47.4859878,47.5420438,47.4612447,47.5002906,47.5251778,47.4919178,47.5178998,47.4923623,47.4923623,47.4923623,47.4771665,47.4735012,47.5420438,47.5117089,47.4931695,47.5046671,47.4968546,47.5028532,47.4859878,47.5969644,47.5014478,47.495688,47.5005272,47.53316645,47.4964921,47.5326794,47.550687,47.5100112,47.5276347,47.4699747,47.4184932,47.5323417,47.4717041,47.5771896,47.5308632,47.4598267,47.5100529,47.5046595,47.5121879,47.5266716,47.476872,47.4890406,47.5226412,47.4902316,47.5210559,47.5028233,47.5078997,47.5535851,47.5220975,47.5220975,47.5226561,47.543472,47.4510885,47.50637,47.4825625,47.4787886,47.5040668,47.4373156,47.49133915,47.4893975,47.54757045,47.4894662,47.5063763,47.5022831,47.5182722,47.4905069,47.4251987,47.5243154,47.4658165,47.4775259,47.6007221,47.5107737,47.50144475,47.5187954,47.5105508,47.4923761,47.5045431,47.48864,47.5199698,47.5639336,47.4904793,47.4903811,47.4477777,47.4372827,47.4863341,47.4719759,47.4730606,47.4711907,47.50495895,47.5089608,47.51152185,47.5214327,47.5226412,47.5206426,47.4859878,47.543047,47.4663316,47.483001,47.5091962,47.4857225,47.5044585,47.4921854,47.5016765,47.5193898,47.5092566,47.5015557,47.5043676,47.5421593,47.5036532,47.4698955,47.4510885,47.5105945,47.5025472,47.4530395,47.4772787,47.5733501,47.4859878,47.514844,47.4865245,47.4867575,47.5717081,47.543472,47.4857834,47.5019128,47.4940901,47.4833489,47.4979088,47.4876449,47.5039242,47.5140327,47.5218792,47.5496862,47.5326717,47.499706,47.5362952,47.5010749,47.5620081,47.4988035,47.4734987,47.5000362,47.4726443,47.4711907,47.4932243,47.4844401,47.4834414,47.4887036,47.5044498,47.5071427,47.4989617,47.5083174,47.4953121,47.4859878,47.4859878,47.5771896,47.4797264,47.47120535,47.4859878,47.5009392,47.4998875,47.5110107,47.5394205,47.4961734,47.4906178,47.511476,47.5498401,47.5061628,47.4780587,47.4859878,47.4859878,47.4903896,47.4719395,47.5100112,47.5188913,47.5186841,47.5543968,47.4833489,47.512614,47.4767151,47.4294024,47.4730606,47.4771665,47.5020616,47.4704866,47.5082687,47.4859878,47.4833489,47.5024133,47.5326717,47.5059922,47.528134,47.5078997,47.5180411,47.4972232,47.5154564,47.5331369,47.5188913,47.4373156,47.5765768,47.5191392,47.5022043,47.4857225,47.4585033,47.5155233,47.5070128,47.4577991,47.5168129,47.5187253,47.5020479,47.4950741,47.4768721,47.5187954,47.4943405,47.5043676,47.5157937,47.4696951,47.5613503,47.4895131,47.5077001,47.5017888,47.5180411,47.5685258,47.525143,47.5615272,47.543836,47.4921289,47.4367963,47.5189736,47.4882316,47.5288556,47.4592542,47.503972,47.48933155,47.4833489,47.5315815,47.504133,47.4780318,47.4895251,47.5007647,47.485417,47.4903811,47.4900566,47.5147904,47.5189736,47.5028532,47.5078997,47.5350196,47.4859878,47.5045614,47.4151863,47.5143247,47.5582504,47.5582504,47.4940193,47.5105508,47.5143247,47.5178998,47.5164639,47.5461559,47.5978975,47.4611429,47.4855281,47.4416906,47.49945365,47.5061881,47.5108902,47.4228812,47.5383689,47.4993292,47.5094194,47.4919178,47.5166364,47.5147904,47.5107737,47.5029423,47.500207,47.4793089,47.4947545,47.4418659,47.4972971,47.4652929,47.4992327,47.496961,47.5500929,47.574878,47.5075289,47.5027202,47.4895251,47.495494,47.4431796,47.4908911,47.4510885,47.5089295,47.4893975,47.485455,47.557521,47.5057871,47.4986472,47.50642755,47.5148675,47.5105508,47.512112,47.4952745,47.4952745,47.4510885,47.5098077,47.5220975,47.5156648,47.4803753,47.4862767,47.4862767,47.5077001,47.4373156,47.52873,47.5141388,47.502387,47.4336899,47.4783999,47.5049,47.5222862,47.5058545,47.5614753,47.49275575,47.5187954,47.5317429,47.5066206,47.4780215,47.504982,47.4857225,47.5481583,47.5173623,47.5104878,47.5765768,47.5765768,47.4698481,47.5078997,47.5045517,47.5043119,47.4739892,47.5269332,47.5072583,47.4948691,47.4801401,47.5037495,47.5091124,47.5045431,47.53116685,47.5061881,47.5174998,47.4382843,47.5469607,47.4780215,47.5046693,47.4787826,47.4881858,47.5232847,47.4894662,47.5110294,47.48519105,47.5176241,47.4448905,47.5178998,47.5079393,47.519988,47.478186,47.5142665,47.496738,47.505096,47.4917258,47.5138336,47.54448775,47.5008975,47.500403,47.4524941,47.5037495,47.5109423,47.4754353,47.4918994,47.53059275,47.5246278,47.481035,47.5508449,47.5158289,47.4609582,47.4933805,47.4863341,47.5225854,47.519988,47.5252827,47.5169438,47.4903811,47.5226561,47.481035,47.4927289,47.5011428,47.39897895,47.5163984,47.4931817,47.5164639,47.519988,47.5110294,47.4958995,47.488821,47.4921289,47.485455,47.4367067,47.4655146,47.5111357,47.4995112,47.5046693,47.5017927,47.48130675,47.4902613,47.4921289,47.5011428,47.5066058,47.4873823,47.5305487,47.4048457,47.4902611,47.5352307,47.412886,47.5070988,47.5471281,47.5335467,47.485526,47.4903811,47.5186703,47.51583105,47.5309302,47.5143247,47.47389175,47.48217105,47.5331088,47.4717687,47.4947384,47.507786,47.5732129,47.5016765,47.596201,47.5188373,47.4932419,47.5732129,47.5166569,47.4947545,47.4992398,47.4903811,47.4666511,47.4944494,47.5045431,47.51398685,47.5024289,47.5069625,47.5077001,47.52854405,47.50876815,47.5046595,47.5357411,47.5696285,47.4981929,47.5178998,47.5350196,47.5366058,47.4327482,47.5112033,47.4828691,47.4764303,47.5232847,47.4678834,47.5121309,47.5018796,47.4758059,47.4717687,47.5131425,47.564595,47.5117475,47.477998,47.5023847,47.4817947,47.5024289,47.5224549,47.5175906,47.512614,47.4993497,47.5049525,47.4975842,47.5048008,47.4909428,47.4816906,47.5052884,47.5046595,47.5109282,47.509374,47.4582504,47.5790635,47.4783496,47.5434931,47.5220951,47.4678149,47.5037399,47.50379585,47.47486,47.472151,47.5468856,47.510332,47.4816906,47.4985052,47.5494671,47.5298737,47.5028768,47.5055274,47.44946745,47.5435707,47.5413944,47.4993694,47.4612864,47.5200388,47.5013479,47.5252628,47.5113387,47.5073843,47.4855659,47.5335467,47.4948933,47.507006,47.4938516,47.4698999,47.4676599,47.4592542,47.5121309,47.4801401,47.4720659,47.4728064,47.5107737,47.55328,47.4935267,47.4935267,47.5248728,47.4816472,47.5071136,47.4857026,47.4903811,47.5060433,47.5262554,47.5394,47.498125,47.53449166,47.4414017,47.5052979,47.5066206,47.5619641,47.5024612,47.5111357,47.5648844,47.5137397,47.4864485,47.4995399,47.499606,47.53059275,47.5028724,47.5546703,47.4780215,47.4694105,47.5125207,47.5601078,47.5172854,47.4294024,47.5164639,47.5116513,47.493436,47.51768865,47.4804563,47.51342775,47.513021,47.5104317,47.507006,47.5057532,47.4666511,47.4719343,47.5111013,47.4333384,47.51920915,47.5004999,47.5078997,47.48660255,47.4983148,47.4786233,47.4803319,47.5490164,47.5478862,47.4934726,47.4758761,47.4708842,47.4929002,47.4668592,47.4962938,47.5662102,47.4789373,47.4912412,47.4885513,47.4885513,47.4955298,47.4138296,47.4567796,47.5274926,47.5045603,47.5048434,47.4749116,47.4694105,47.4506947,47.5252782,47.5079393,47.5079393,47.5232847,47.5050814,47.5066206,47.4947545,47.5061881,47.4404264,47.5685048,47.4991489,47.4927865,47.4739849,47.5847122,47.5055274,47.5102619,47.5121879,47.4197552,47.504736,47.4574271,47.4943405,47.5081011,47.5079393,47.4313255,47.4560464,47.550658,47.5018796,47.49672,47.475347,47.5062009,47.5061881,47.5082687,47.5048607,47.5127621,47.4506947,47.4953121,47.5725272,47.5090818,47.5069625,47.5091347,47.4917859,47.5455552,47.5270151,47.4776924,47.5140327,47.4512018,47.4872954,47.54611],[19.0817217,19.2020899,19.0064561,19.0288995,19.1208028,18.9898017171375,19.0491314,19.0617657,19.0551914,19.1234708,19.0582497,19.0752727,19.0294016,19.0294016,19.0933025,19.0466834,19.0466834,18.9991149,19.0239316,19.0666819605488,19.0572379,19.1183973,19.0508529891665,19.0508529891665,19.1070198754237,19.1147634,19.0542948,19.0840528,19.0476346,19.0607643,19.0064431,19.1120002,19.0362771,18.9904493,19.1148204,19.0720366,19.0343351,19.0686944764795,19.0680913,19.0680801,19.0533111,19.1950525,19.0378122,19.0547086,19.0799519,19.0863478,19.0219045,19.0676142,19.0660088,19.0864496,19.0030829,19.0323152061048,19.0799519,19.081058575,19.0463185,19.0735317,19.1638317,19.1912903,19.0081081,19.103347,19.1067559,19.0559462,19.0644637,19.1084075,19.0468105,19.0471153345794,19.0336536,19.0362771,19.0984245,19.204622,19.0637757519942,19.1307039,19.0654574,19.0223968,19.0392892,19.0445256,19.0721242,19.0693796,19.0482928,19.1548989,19.0406915,19.0318703,19.0495356,19.0001065,19.0702355,19.0432591,19.0054349852289,19.0644637,19.0680801,18.9826881,19.0541933,19.0172872,19.0459106,19.0548668,19.0673704,19.0367461,19.0262513,18.9977408,19.0537582,19.0427144,19.0554012,19.0826495,19.0526504286923,19.0318703,19.1057329,19.1191618572782,19.0631308,19.0756452,19.0772053,19.0312610334784,19.026592,19.0427144,19.0680801,19.0548073,19.0524408,19.1092015,19.0233252,19.1193763,19.0567607,19.0841897,19.0271211,18.9995879,19.029790951206,19.0535274,19.0833461,19.0514408,19.0274932577662,19.0578152,19.0721242,19.0733256,18.9931892,19.0600541,19.0439518,19.0646119,19.0608128926923,19.0116688,19.1030996,19.1148941,19.0698425,19.0735317,19.0855175,19.0877909823791,19.0711341,19.0378122,19.066355,19.0506162,19.2008533,19.0315455,19.0746225,18.9981672,19.0566679,19.0277557,19.0721797264569,19.0760606,19.0215409,19.0340988,19.0846941,19.0646119,19.057638,19.0844512,19.0246327,19.2835451,19.0683750387036,19.0531049513003,19.1790933,19.1114757,19.0827524144459,19.0300094,19.1412757,19.0556296,19.0494742,19.0300099538306,19.0579793,19.0489076,19.0704423,19.0990391,19.09360058,19.0814358,19.0593274,19.0023576,19.0676142,19.0753617,19.0345571,19.0864496,19.1173892,19.0650727,19.0548668,19.0314608,19.0746773,19.1437047,19.1234867,19.0314608,19.0566162201777,19.147633,19.0925595264306,19.0870465578901,19.1056203,19.0427989,19.0174362,19.0172872,19.0474962,19.0399249,19.0799046,19.0607643,19.1139764,19.0747401,19.0817217,19.0548668,19.0150773,19.0564644,19.1054194,19.0620503,19.0566731,19.0551119,19.0266933,19.0390112,19.0835068,19.0937772,19.0704816,19.0763208,19.0427144,19.0404065,19.0398803,19.0829832,19.0163182517382,19.1322313,19.0532337,19.0554211,19.0760606,19.0340074,19.1092351,19.1207128,19.0778817,19.0838578,19.0780351,19.0123557,19.0969306,19.0454874,19.1632787,19.0817727,19.0751916541604,19.0172328,19.0050842,19.1195868,19.0275234,19.0596682,19.0925115,19.1923406,19.0756452,19.0840404543645,19.0579580852352,19.0548668,19.0722100408577,19.0826495,19.0645127,19.0707863,19.084814425667,19.0662445,19.0052101,19.061086,19.1341177,19.0511765,19.0253958,19.0270211,19.0454874,19.1402518,19.0316305,19.1486769051385,19.0482919,19.1437047,19.0686594,19.1067988,19.1135321,18.993317,19.0436336785475,19.076796,19.078332,19.0183071,19.0562401,19.1129385,19.0589397,19.0735709,19.0707402,19.1488452,19.0148545080144,19.0332098,19.0054349852289,19.0510607,18.9816341,19.083363,19.0527551,19.0792428,19.0591858,19.0530359,19.0993233,19.0703523,19.0644637,19.0460722,19.0303124,19.049485,18.9502551,19.0815976,19.0660088,19.0778766,19.0836044800605,19.108249,19.0266933,19.0386104790384,19.0308999,19.0742733,19.2264174,19.0839297,19.0272984,19.0531856,19.0614985,19.0243371,19.0981677,19.0395467,19.0937772,18.9892007,19.0673704,19.0243371,19.0279499,19.0382053,19.0573986,19.0309484210286,19.0572701,19.050269,19.0920288,19.0742733,19.0253958,19.0576424890314,19.0588349,19.0633447,19.0798568,19.1813368,19.0111962,19.1837923,19.1135727,19.0142146,19.0743221,19.0778766,19.04033935,19.1007295,19.0380875,19.1787818,19.0629043,19.0611973,19.1017212,19.0703482,18.9914869,18.9914869,19.0565053,19.0716802,19.0706763,19.0799519,19.1097128,19.0132123,19.0340694,19.0270211,19.0682716,19.0582497,19.0434143,19.0677681620801,19.0075294,18.9548082,19.0117952,19.0698066,19.0389500982902,19.0127639,19.0638878,19.0480878,19.0253958,19.0678655131272,19.0104912,19.0554442,19.0459106,19.0112477,19.0486011,19.0387452,19.076468,19.0314608,19.0666819605488,19.184758,19.003311,18.9666492670947,19.042221,19.0778226,19.0535274,19.051958,19.0073924,19.0293637,19.0291646,19.0214303,19.0665954,19.0673097183439,19.0506753,19.0557562498521,19.0463483,19.0746744,19.0623721,19.0182093612186,19.0756452,19.0406643,19.0764326,19.0177998297135,19.0104912,19.078332,19.036709875516,19.0723167,19.0548668,19.0495356,19.0006462,19.0311173,19.0481062,19.0720949,19.0160841,19.0771213,19.0551726,19.0616892,18.9914869,19.0733887,19.0720366,19.0535404,19.0579793,19.0579793,19.0225365,19.0038283890251,19.142201,18.9738856,19.0556296,19.0520175,19.0506095400022,19.0449749,19.0653195200815,18.9416224,19.0246327,19.1596474,19.0495898,19.029790951206,19.0532337,19.0982945,19.0627844,19.0486011,19.0827185,19.082667669,19.2415987,19.0901464,18.97619477362,18.9749728,19.0382053,19.0929839,19.0364434,19.0174362,19.0383149,18.9800471,19.0537401,18.9939779239049,19.0815966,19.0872767,19.0542948,19.0780394,19.0413066,19.0507401,19.0808979152836,19.0694652,19.1437841,19.0266768,19.0713987,19.07311,19.059951,19.0466834,19.075055,19.0482928,18.9916644,19.0343351,19.0405228,18.9888734629359,19.0883452,19.0596682,19.0610896095133,19.0904267,19.0658628,19.1449658,19.0540785,19.0458677,19.2070732,19.0039906,19.0535274,19.0309903,18.9661489,19.0702953,19.0061038,19.0082616,19.0345101432342,19.0731365,19.0339339,19.11371,19.086543,19.0341975,19.0545106,19.0151399,19.0553336,19.0278517,18.9963976,19.0709025,19.078332,19.0748885,19.0703482,19.0719973,19.0703482,19.0703482,18.9917069,19.0411228,19.0254457,19.0372718,19.0519708,19.075208525,19.0616873,19.0616873,19.0509783831516,19.0382053,19.0948301,19.0444583,19.075208525,19.0771513,19.0771513,19.0747833,19.0697268,19.0697268,19.0382053,19.027942,19.1395441,19.0862307663257,18.9886303434783,19.0645468,19.078332,19.0577275,19.0525993,19.0616873,19.0535283,19.0891594,19.007586929128,18.983438,18.9917069,19.0708907,19.1000943,19.0913147,19.1040818,19.0829832,19.0753208,19.0919837,19.0720366,19.1183973,19.0641017,19.0736576,19.0506162,19.0506162,19.0716802,19.0716802,19.0780351,19.0064431,19.0340694,19.051553,19.0125691,19.051553,19.0582497,19.0696972,19.0680913,19.0780351,19.0209563,19.0340694,19.0326925,19.0158434,19.0366918,19.0158434,19.032491,18.9953879,19.0495356,18.9948673,19.0575848,19.0810473,19.067052,18.9948673,18.9948673,19.1033725,19.0411228,19.0542595,19.079036,19.0228295462682,19.0411228,19.0270211,19.0411228,18.986378656537,19.0818578,19.0791799,19.0685286,19.0780351,19.0769460883246,19.01471305,19.0780351,19.0536547,19.0799519,19.0636997,19.2104693,19.0673704,19.0638878,19.0644637,19.0433305,19.0580694491008,19.0890204,19.055036,19.0118586,19.0490201,19.0736988,19.0317064,19.0248675,19.1148941,19.0673704,19.0546858,19.0789235,19.0780351,19.0780351,19.0120046,19.0510845,19.0701692665513,19.0031132,19.0673704,19.05533,19.0808016,19.0836123,19.0514705,19.0593723,19.0490201,19.0490201,19.1177353,19.0551796,19.0121111,19.0548668,19.0293475,19.0780351,19.0438969,19.076468,19.0172328,19.0466814,19.0780351,19.0246327,19.0520364,19.059327,19.059141,19.0883452,19.0911643,18.9821547,19.0246327,19.0197312,19.0371987478708,18.9975616,19.0911643,19.0503804,19.0282919,19.0911643,19.0318495977994,19.0911643,19.0329566,19.0472743618111,19.0911643,19.0587546,19.0064431,19.0602156,19.0479059,19.0302705,19.0340864,19.0502574,19.0340864,19.0239316,19.0030829,19.066355,19.0780351,19.0644637,19.078332,19.0780351,19.0933025,19.0266933,19.0663632,19.0815723,19.05724,19.0266933,19.070453,19.0477554054091,19.0663632,19.086543,19.0477554054091,19.0646119,19.0214838,19.0486011,19.0491314,19.0730591,19.0646119,18.9966742,19.0645127,19.0524118,19.0248571,19.0246327,19.0516183,19.0567061,19.0487463,19.0911643,19.0466814,19.0307215,19.0362188,19.0488838,19.0805714,19.0411228,19.0391809,19.0753475,19.0805714,19.0714874,19.0535274,19.0555001,19.0463185,19.0723167,19.038769,19.0360427,19.0463185,19.143702,19.0441414,19.0340694,19.0479059,19.0535274,19.0466834,19.0282536,19.0398608,19.0374024,19.1148941,19.0411082,19.0535274,19.0150773,19.0810473,19.0502017663245,19.0575848,19.0541902883069,19.0919837,19.0308999,19.032491,18.9988059,19.0368911,19.0547086,19.0150773,19.0593723,19.0178434,19.0246327,19.0753475,19.0771513,18.9936449,19.0593723,19.1131776,19.0716802,19.0270211,18.973737,19.1131776,19.0150773,19.0652302,19.0396858,19.0482928,19.1131776,19.078332,19.0680913,19.0799519,19.0487463,18.9876934992628,19.0000479,19.1005422,19.0916206,19.055036,19.081058575,19.0769118,19.0648011,19.0547293,19.0680913,19.0743812,19.0681806,19.0912732,19.038383,19.0600748,19.0758798,19.0709025,19.0652575,19.0673633,19.0486011,19.0362771,19.0566679,19.0773468,19.0758798,19.0948301,19.0510607,19.0680801,19.1391899,19.1170179,19.0670635,19.0680801,19.0053596,19.058136,19.0564388,19.1129385,19.0694652,19.0706423,19.0080643,19.0529878,19.0272866,19.0634736,19.1067988,19.0306511,19.1476721,19.053125,19.0178881774885,19.0792428,19.0312930255131,19.0232458656699,19.0891594,19.0318457,19.0899023,19.1017541,19.0743221,19.0561778,19.0764757,19.0241134,19.0548592,19.1131776,19.0818578,18.9948673,19.0543194,19.0758798,19.0629321,19.0544908,19.0702355,19.0486011,19.0752727,19.1254179,19.0510607,19.0282919,19.0703482,19.071252,19.0910601,19.0740275,19.1310583,18.9879789,19.0533111,19.0498149,19.0716107,19.0535274,19.0327059,19.0680801,19.0703482,19.0807511,19.0677681620801,19.0805714,19.0810473,19.0723658,18.9885881,19.0551914,19.0548668,19.0838578,19.078332,19.1131776,19.0703482,19.0751916541604,19.0730591,19.0463185,19.0454874,19.0539598,19.0600748,19.0820648757491,19.0716802,19.0551119,19.0471886,19.0730591,19.019867,19.0432958,19.0720788,19.0600748,19.058136,19.0587546,19.0911643,19.0730591,19.0769118,19.1103732,19.0546939,19.0658207,19.0239316,19.0786411,19.0644637,19.023552,19.0783795,19.0463284,19.0508921,19.0288393,19.0549923,19.0479059,19.0600748,19.0243371,19.079036,19.0281792,19.061924,19.0463284,19.0547086,19.0761536,19.0432958,19.0626902,19.0684884,19.0559427,19.0178434,19.0491314,19.0068729,19.049505,19.0175825,19.0466834,19.0308256,19.0565149,19.02939,19.0535283,19.0559427,19.0082327713315,19.0601621,18.996108,19.1159448,19.0780351,19.0463284,18.9905806,19.0503370641262,19.0243371,19.0703482,19.0567061,18.9914869,19.0565149,19.0667638,19.1453633,19.0531336,19.02939,19.0668287,19.0646119,19.0541933,18.9975616,19.0567607,19.0275234,19.0546939,19.0646119,19.0524118,19.0270211,19.0565149,19.1129385,19.0275234,19.0677681620801,19.0054865,19.1307039,19.0516151,19.0531336,19.0243371,19.0535283,19.0503804,19.0360427,19.1057329,19.0780351,19.038769,19.0510612,19.0548592,18.9376475,19.0340694,19.0517976,19.1113586,19.0470805,19.0650874,19.1129385,18.9907247,19.0004608,19.0613311,18.9987214,18.9931892,19.098133,19.0668287,19.0493267,18.9645168,19.0200262,19.0751916541604,19.0466617,19.0121111,19.0676142,18.9948673,19.0243371,19.0275234,19.0308256,19.0589434,19.0559048,19.0356889,19.0668287,19.0378122,19.0605104,19.0756452,19.0850137,19.0382053,19.0246327,19.0378122,19.0541933,19.0524445,19.0835068,19.0702355,19.0547086,19.08302,19.147633,19.0464505,19.0372128852396,19.0380889,19.0351381,19.0340694,19.0363897,19.143702,19.0832102,19.040918917417,18.9736967,19.0282878,19.0753475,19.0354206,19.0253958,19.0564277,19.0637452,19.0557562498521,19.0859613,19.0180214,18.9728904,19.0279256,19.0297756,19.0805714,19.0371937,19.0798567,18.983186,19.0030829,19.0547086,19.0387155,19.0562185,19.08302,19.0734778,19.0734778,19.0363897,19.0546939,19.0382053,19.0234588,19.0562273,19.0363897,19.1075492,19.0756452,19.0753208,19.0503837134209,19.055036,19.0535518,19.0270211,19.0668287,19.03803,19.0503804,19.1092015,19.0701011877326,19.0577275,19.0835068,19.0613334,19.0563202,19.143702,19.0032648,19.0358122,19.0477949,19.0673704,19.0835068,19.0543194,19.0747401,19.0670247,19.0587546,19.0420023,19.0490201,19.0534362,19.0835068,19.0626902,19.0117049,19.0587546,19.0835068,19.0112477,19.0803594,19.091255,19.0282536,19.098133,19.0435137,19.0677681620801,19.0670247,19.0694947,19.0336536,19.0366496,19.0561778,19.0410176,19.0411082,19.0753475,19.098133,18.9376475,19.0919837,19.0747401,19.0721384,19.1091304,19.0500396,19.0723658,19.0832156,19.0308256,19.0981677,19.0767232,19.0506162,19.0562185,19.2070732,19.0502017663245,19.0730591,19.0551726,19.1304219,19.0495868,19.1801683,19.0595401,19.0498149,18.9953879,18.9548082,19.0369707,19.0454874,19.0565149,18.9973722,19.0551914,19.0562185,19.0673926,19.0674288,19.2055175,19.08151,19.0792428,19.1307039,19.0474962,19.078332,19.078332,19.078332,19.0312930255131,19.1451535,19.0118783,19.0665444386648,18.9987214,19.0651017,19.0835068,19.0575317,19.0964801,19.0759228,19.0567613,19.0340694,19.1303473,19.0362771,19.02939,19.0254457,19.0112432,19.0683909,19.0488328490759,19.1282801,18.9987214,19.0728348,19.038769,19.1457302,18.9837604,19.0653195200815,19.0275234,19.0150944,19.0546939,19.0547086,19.0254457,19.0493516,19.0538774,19.0564388,19.059924046452,19.0446881,19.01794145,19.0315887,19.065203,19.0330303,19.0535529,19.0573946,19.0663632,19.1634858,19.0716107,19.1791582,19.097577,19.0756425,19.0548668,19.0282536,19.0291646,19.0507049,19.0704194,19.0720788,18.9914869,19.0757149,19.0506162,19.0636997,19.0510607,19.0243371,19.0382053,19.2104693,19.0693796,18.9947326,18.983438,19.0282919,18.9904493,19.0546939,19.0593274,19.0548592,19.0581749,19.0792428,19.076468,19.0308256,19.0682716,19.0796096,19.0178434,19.0596406,19.0139258,19.0358124,19.0530870617177,19.0316144,18.9946147,19.0526504286923,18.9900101,19.0630883763265,19.061924,19.0178434,19.0569243,19.0362771,19.0549489,18.9994456,19.0228064,19.0639631,19.0716107,19.0125691,19.0340864,19.0780351,19.0219045,19.0503370641262,19.0780351,18.9766924,19.0118783,19.1217042,19.0490201,19.0533111,19.0253958,19.0504555,19.0573266,19.0562401,19.0503804,18.9979366,19.0668287,19.0312930255131,19.0671433,19.0703482,18.9936449,19.0489076,19.0911643,19.078332,18.9914869,19.0739578,19.0821,19.1148204,19.0557661,19.1131776,19.0823695,19.0780351,19.0845675,19.1073994,19.0535274,19.0014922,18.9871328,19.0728348,19.0298681,19.0771979,19.0175825,19.0466617,19.078332,19.0810473,19.0729732,19.0913387,19.0769118,18.9885881,19.02939,19.0590774,19.0636997,19.0734492,19.0676861,19.0340694,19.0580229,19.0546939,19.0851313,19.0778766,19.0911643,19.0000548,19.0562901376616,19.086543,19.0614743,18.9889224537431,19.0158434,19.0778817,19.0406643,18.9975616,19.0477554054091,19.0318457,19.1079873,19.0708831,19.1171403,19.02939,19.0516151,19.0835068,19.0730591,19.062716,19.0625650775859,19.0582497,19.0694828,19.0382053,19.0563202,19.0178434,19.0587546,19.0366496,19.0593274,19.0551119,19.0382053,19.0321831,19.0519708,19.0576665715065,19.0228939,19.0685286,19.0602156,19.0466834,19.0593274,19.0195962,18.9933624,19.0564388,19.0548448,19.2036416,19.0520175,19.0533314,19.0778307,19.0030836,19.0805572,19.1303473,19.0132123,19.0636997,19.0752727,19.0613791,19.0703482,19.0710364,19.0710364,19.0507049,19.0506162,18.9587614,19.0246327,19.0451407,19.0677681620801,19.0610109,19.0566679,19.076468,19.0172872,19.0572569,19.0728348,19.0644637,19.0535569,19.0868994,19.0760421,19.0524118,19.0668287,19.0567607,19.108514,19.0611973,19.0495356,19.0608475,19.0780351,19.0001065,19.0582497,19.0676336,19.0532937345073,19.0219045,19.0745108788075,19.0708907,19.204622,19.0551119,19.0483244,19.0673926,19.0503804,19.0920734,19.061924,19.0463185,19.0650727,19.0291854,19.0297756,19.0602156,19.0101452,19.0282919,19.0633745,19.0682215,19.0535283,19.1130488,19.0671433,19.0329566,19.203644,19.0362188,19.0340694,19.0775013,19.0815976,18.989334,19.0840843,19.0479059,19.0030836,19.0427989,19.0730591,19.0380889,19.0411082,19.1129385,19.0677681620801,19.0129362,19.0771513,19.098133,19.0508921,19.0346525,19.0266933,19.0535274,19.0120013,19.1437212,19.0063473,19.0372981,19.0771979,19.0646972,19.0682215,19.0054865,19.0306411,19.0515829,19.082082,19.1307039,19.0234032,19.0769118,19.0752062901225,19.0543194,19.0769118,19.0360959,19.0581847,19.0812293075785,19.0150773,19.0542948,19.081058575,19.0546939,19.0451407,19.0859788795623,19.0243371,19.067052,19.079529,18.9929581,18.9983122,19.1005422,19.0633281,19.0697268,19.0551796,18.9587614,19.0362771,19.0362771,19.1131776,19.1303473,19.0812166,19.0843001,19.0677681620801,19.0542948,19.2116509,19.0117049,19.0729732,19.0631775,19.0772053,19.0835068,19.0246327,19.0464904,19.0546939,19.0803594,19.0122155,18.9842261,19.0135869,19.0756452,19.0554211,19.0600748,19.0646528769351,19.0503804,19.0641017,18.9987214,19.0477554054091,19.0933025,19.0704816,19.1337611,19.0373629,19.0172328,19.0746225,19.1246816,19.1408703,18.9955934,19.0406915,19.0489076,19.0358604,18.9998175,19.0490201,19.0197455478756,19.0461894,18.9685225,19.0551119,19.0278517,19.1217042,19.1131776,19.019867,19.0535274,19.0543194,19.0682716,19.0836123,19.0807478,19.0120025719204,19.0504555,19.059141,19.125679,19.0278517,19.0677681620801,19.0655770713245,19.0596406,19.0508921,18.9880851,18.9885881,19.05533,19.0562005784988,19.0396263,19.0541933,19.0736988,19.0345173,19.1388133953614,19.0747401,19.0260778,19.0702355,19.0293637,19.0291646,19.1005422,18.9896099,19.0508529891665,19.0654574,19.0466834,19.0573266,19.0222451,19.0282536,19.091255,19.1036048,19.054205,19.2822889,19.0756327,19.076131515759,19.0410176,19.0411082,19.0487356,19.0678774,19.0698425,19.1131776,19.0679823,19.0673704,19.0546939,19.0799519,19.0294016,19.0716802,19.0366496,19.0451407,19.067871,19.0697268,19.0805714,19.0771513,19.0608475,19.0161269,19.0911643,19.0535283,19.1093607,19.0605104,19.0541933,19.0709025,19.0646753,19.0244483,19.0590774,19.0672964,19.1079873,19.0543194,19.0211229,19.0237174454569,19.0270211,19.0633745,19.0219045,19.0780351,19.0230331,19.0644637,19.0680913,19.082082,19.0656618,19.0838578,19.0303998,19.147869,19.0584216,19.1749235,19.0843001,19.038544543187,19.2195257,19.0643337,19.0502017663245,18.9613064544089,19.0522192,18.9963817,19.0483994,18.9991149,19.0535274,19.0293475,19.0646119,19.0215583,19.0255298,19.0541933,19.036968,19.075016,19.0730591,19.0050842,19.0636997,19.0380875,19.0154929,19.0362771,19.0244081,19.0354206,19.0354206,19.0197312,19.0723167,19.082082,19.0611973,19.0582497,19.0582497,19.0454874,19.0553531,19.0275234,19.1225752,19.0990115,19.0438097,19.0533111,19.0637858,19.0509572,19.0933025,19.0250805,19.0312677,19.0014922,19.097893,19.1608027,19.0463185,19.0175005,19.0458784,19.0520044471173,19.0281792,19.0533111,19.038769,19.0239316,19.0699254,19.0473387,18.988599990884,19.054205,19.0531336,19.0293475,19.1584944,19.0674072,19.0551914,19.1608027,19.0562401,18.9948673,19.0571739,19.0239316,19.0769542,19.0244081,19.0211229,19.1444235,19.0657034,19.0657034,19.0835068,19.0050842,19.0769118,19.051553,19.0318457,19.0573266,18.9837791,19.0438529,19.0593723,19.1415866,19.082082,19.0677681620801,19.0398608,18.9973722,19.0753208,19.0551119,19.0427989,19.0591858,19.0495356,19.1514535,18.9998218,19.0680913,19.0080643,19.0948301,19.0392008,19.0308256,19.0248675,19.0651072,19.0652936762352,18.998717,19.081058575,19.0901534,19.0564644,19.0590774,19.0315887,19.0830656046944,19.0694652,19.0769118,19.0726344,19.0646119,19.0096336,18.9995134,19.085756,19.0593723,19.0346525,19.1079873,19.0903014,19.0823695,19.0940533,19.0493315659687,19.032113314611,19.0589213,19.1349479,19.0504817,19.0576332,19.0125691,19.0382053,19.0778817,19.0937772,19.0396371,19.0677681620801,19.0503804,19.0243371,18.9548082,19.0519708,19.0490201,19.0340694,18.998717,19.0514937431312,19.0680801,19.0518861,19.0817217,19.0476772819818,19.0764236,19.0700187809973,19.0461894,19.0253958,19.0281792,19.1006149,19.0694828,19.0771979,19.0293084,19.0757897,19.076468,19.0752727,19.0582497,19.0746225,19.1224579,19.0573986,19.0411082,19.0608475,19.0562944,19.02012661125,19.0730591,18.968088,19.0234032,19.0547086,19.0548668,19.0551119,19.0172872,19.0389500982902,19.0660874,19.0538299,19.0680913,19.0253958,19.0253958,19.0967325,18.9505625,19.1005422,19.032712,19.0560628,18.9837604,19.1079873,19.0720788,19.0680913,19.1303473,18.9890455,19.1371712,19.0370498,18.9923952,19.0106567,18.9995879,19.0318457,18.9571164,19.0055856,19.0771979,19.0758798,19.0266933,19.1183973,19.0275234,18.9854874,19.0362771,19.0054865,19.1072646,19.06877,19.0661028,19.0805714,19.0808131,19.0548668,19.0669423398514,19.0607643,19.0676713,19.0366496,19.0693641,19.0757149,19.0514937431312,19.08302,19.0423493,19.0761343,19.1703355,19.0495868,18.9880851,18.9880851,19.0178434,19.1079873,19.0780351,19.0726344,19.0677681620801,19.0306511,19.0275234,19.0623599,19.0504555,19.0253958,19.1021661,19.0997228,19.1363359,19.0637909496309,19.2116509,19.085756,19.0607643,19.0618403,19.0539984,19.0633745,19.0567061,19.0567061,19.1135727,19.2116509,19.0371937,18.9987214,19.0380889,19.0826495,19.0479923,19.0380875,19.2036416,19.0835068,19.0454874,19.0454874,19.1444235,19.0619432,19.0687532729076,19.0670659963739,19.1391899,19.0050842,19.0371937,19.0270211,19.0366496,19.1732368,19.0677681620801,19.0401486,19.0835068,19.0891594,19.0194603,19.0297756,19.1139764,19.0682206,19.0546939,18.9823521,19.0030829,19.1061077,19.0542948,19.0490201,18.9880851,18.9914869,19.0498149,19.0851313,19.0591858,19.0730591,19.1076489,19.0600913,19.0835068,19.0682206,18.9998218,19.0607643,19.0546939,19.0510612,19.0543194,19.0366496,19.1431376,19.0688792677385,19.0706763,19.1049339,19.0549923,19.07311,19.2402964,19.1234867,19.0495356,19.0607643,19.0864193,19.0698425,19.0668287,19.1426224,19.0422285,19.0863308,19.0742512,19.0463185,19.0503804,19.149102,19.0410176,19.125679,19.0673632,19.0720788,19.0911888,19.1282801,19.1282801,19.0640839,19.0835712529239,19.1437047,19.0684407,19.0784535,19.0784535,19.0466834,18.9955934,19.0646528769351,19.0351518,19.0670247,19.0739495157304,19.0315455,19.1577824,19.0389133,19.0253958,19.0509874198303,19.002578,19.0670247,19.0567607,19.0366496,19.0770515,19.0358604,19.1159448,19.0771979,19.0546858,19.0492433,19.0851313,19.0579793,19.1457302,19.0823032477426,19.0711333615138,19.0582497,19.0560628,19.0874558,19.0516151,19.1131881,19.0693123,19.2033206,19.0714796,19.0340694,19.0491314,19.1129385,19.1408703,19.149102,19.0933025,19.0358124,19.1632787,19.0483244,19.051553,19.033687,19.0720366,19.1801683,18.9947326,19.0855685765733,19.0627065,19.028483,19.0182877938193,19.1273632600085,19.0122155,19.0605104,19.0835068,19.0545761,19.0584589,19.0064076,19.0600541,19.0504817,19.0486011,19.0600541,18.9736967,19.0720884,19.0597809,19.0563202,19.0757225,19.0380875,19.0117049,19.0253958,19.0543194,18.9973722,19.0503804,19.0730591,19.056341,19.0510607,19.0319145,19.0715805396751,19.0466834,19.0388114,19.0541933,19.0567607,19.0458784,19.0619574,19.0562401,19.0677681620801,19.0395316,19.0769118,18.9896099,19.0562185,19.0228064,19.026592,19.0054865,18.9936449,19.0354206,19.0113478,19.02939,19.1451303,19.0392933,19.0055632,19.0617891622937,19.016113,19.0748885,18.9963817,19.0503804,19.1093787,19.0618841,19.0567607,19.1054012,19.076742,19.0563202,19.0913387,19.0419726,19.0677681620801,19.0239101,19.0531336,19.1040818,19.0882591,19.0272866,19.0321831,19.0183214,18.9762833,18.998717,19.0504817,19.079036,19.0282878,19.0330303,19.0486011,18.9925090248445,19.0117049,19.0643263,19.0660303,19.0382053,19.1135727,19.0308256,19.0282536,19.0341949,19.1303473,19.0677681620801,19.0758798,19.0548448,19.0600748,19.0443976,19.0702355,19.0680801,18.9818136,19.0847247,19.0468105,19.078577,19.0484253,19.0758798,19.1131776,19.0587546,19.0728348,18.9736967,19.0282919,19.0521354,19.0510607,19.0133543,19.0677681620801,19.027014,19.0451407,19.0398803,19.0360427,19.0270404751099,19.016113,19.0706763,18.999468,19.0547086,19.0148996,19.0520839,19.0747795,19.0817217,19.0226907,19.0682716,19.0714585,19.1220677,19.0644099,18.9837791,19.0513163,19.0619432,19.0720788,19.056333247858,19.022535,19.0817217,19.0272866,19.0804744,18.9837791,19.0427989,19.1303473,19.0030829,19.0904267,19.0373629,19.0174208,19.0156582972222,19.0286209,19.0660874,19.0506162,19.0702989,19.0246327,19.0576332,19.0608335,19.0532337,19.0562185,19.0282919,19.0751916541604,19.0147762,19.0575223,19.0610493,19.0272866,19.0317064,19.02939,19.0591269,19.0172328,19.0771979,19.0709025,19.0454874,19.0392933,19.0688411,19.0680801,19.0749158706231,18.9966362,19.0201081,19.0503804,19.0031132,19.0479059,19.0567607,19.0682716,19.0030829,19.0362771,19.0541933,19.1159448,19.0266933,19.0005533676427,19.0573794,19.0647688,19.026592,19.1013542,19.0479749,19.0602156,18.9994456,18.9426129,19.1480384,19.0546939,19.0546939,18.9800471,18.9842261,19.0086143,19.0823695,19.07949895,19.1129385,18.981102406245,19.2402964,19.0590774,19.0234032,19.0587546,19.0054865,19.1402518,19.0593274,19.0535569,19.1727466,19.0668287,19.0563202,19.0698425,19.0682487543382,19.0307215,19.035599,19.0483994,19.0118783,19.0683024,19.0564644,18.9936449,19.0769118,19.0623663,19.0753208,19.085609,19.0282536,19.0773468,19.0728348,19.0167971,19.051553,19.0539401,19.0358604,18.968088,18.9837791,19.0429472557105,19.0616873,19.0573794,19.0634184,19.0336536,19.0650874,19.0823695,19.0531336,19.0420023,19.0519708,19.0392008,19.0778817,19.0665418,19.1147634,19.0064076,19.0528777,19.0366496,19.0553173,19.0108447,19.0551796,19.1024465017893,19.0780351,19.0225006691706,19.0602156,19.0738395333333,19.0172328,19.0723167,19.1108134,19.0316144,18.9841440030628,19.0524118,19.03918705,19.0291646,19.0194603,19.0219045,19.0225903,19.0645608,19.0721384,19.056333247858,18.9856063474785,19.0581847,19.0582148,19.1139764,19.0080643,19.1307039,19.0562185,19.0504817,19.0234032,19.0410176,19.0337814423751,19.0466834,19.0636997,19.0589397,19.1388541,19.0646119,19.0515829,19.051553,18.9891695,19.0125691,19.0154929,19.0350153,18.9800471,19.051553,19.0808016,19.055563,19.0565149,19.0390589,19.0358604,19.0582497,19.125679,19.0709025,19.0150773,19.0531336,19.0122155,19.0354206,19.0780351,19.1395441,19.061924,19.0730591,19.0097189,19.0720788,19.0599507,19.0758798,19.0677681620801,19.0392933,19.0562185,19.0670247,19.1017541,19.0519655055867,18.9909618561879,19.0096484487465,19.0533111,19.0466834,19.0928817,19.0590364,19.0910742,19.0599418,19.0269152756804,19.0486340423012,19.015575,18.9923952,19.0582497,19.0132111,19.0243371,19.0757897,19.0723167,19.2755884,19.0392933,19.0780351,19.0403241,19.1166394,19.0565149,19.0293475,19.0677681620801,19.0249546,19.0562185,19.0239316,19.0601265533726,19.0758798,19.0366496,19.0654102927924,19.0054865,19.0835068,19.0463185,19.0275234,19.066355,19.0753208,19.0681188,19.0548448,19.0573794,19.1191412144612,18.983186,19.0769460883246,19.0612885,19.0803371,19.0366496,19.0764606,19.0316305,19.0837171,19.0611125024656,19.0703482,19.0515829,19.0533158,19.0133543,19.0747795,19.0341243,19.059951,19.1120681,19.0916206,19.0601838,18.9986558,19.0626606328082,19.0323164321231,19.049499,18.9811994,19.0753208,19.0279256,18.9992108,19.0812293075785,19.0676416,19.0796753968761,19.0087761,19.037681,18.9801694,19.0315887,19.0079880192678,19.0083743888362,19.0246327,19.029790951206,19.0507401,19.0604772,19.0756452,19.0661048772857,19.0788032,19.0519708,19.0398803,19.0350061,19.109556,19.0678829,19.0582497,19.0792428,19.0859613,19.1549107,19.061924,19.0780351,19.0315327,19.0522983,19.0265574,19.0780351,19.1248476,19.0738395333333,19.0656618,19.0890987,19.1130488,19.074373,19.1293043,19.0624415,19.1307039,19.0573637,19.0030836,19.1242622,19.1139456,19.0316305,19.0836123,19.0293475,19.0668287,19.0246327,19.0340988,19.0123557,19.2008533,19.041984953316,19.0129362,18.9995879,19.0595600783738,19.0913387,19.0554211,19.0564388,19.0652936762352,19.0046217448626,19.0266933,19.0333937,19.0723167,19.0616873,19.0681188,19.0720788,19.016113,19.0156233,19.0350269,19.0681188,19.0627387,19.046369,19.0660303,19.0678655131272,18.9965948,19.0487463,19.0911643,19.0572255,19.1148941,19.0449085,19.0729732,19.0085731,19.004314701258,19.0369037,19.0778307,18.9856221,19.06274,19.084633,19.0616873,19.0608269195308,19.0554688,19.0682716,19.0677681620801,19.0607497,19.0567607,19.0148115629618,19.0115648,19.0309788,19.0617891622937,19.0607643,19.0310688,18.9976503,18.9800471,19.0490201,19.1123342,19.0310688,19.0310688,19.0112262,19.055914,19.0466834,19.0246327,19.0709025,19.1057329,19.0893410401143,19.0438529,19.0780351,19.0282536,18.9948673,19.0703482,19.068707,19.1148204,19.1339591,19.0463185,19.085609,19.0617891622937,19.054205,19.0602156,19.0219045,19.0503804,19.041596,19.0311708,19.0495356,18.9593969,19.0574824,19.0328972,19.0911643,19.0709025,19.0817217,19.0537259,19.1746318,19.0513189,19.0609138,19.0454874,19.0230331,19.0466834,18.9931892,19.0896767,19.0587546,19.0512602,19.0660088,19.074955890135,19.0248675,19.0416064,19.0544347475671,19.1163126,19.0780351,19.061924,19.0366496,18.9977351,19.0843001,19.0911643,19.0378582,19.1139764,19.0490201,19.0749639,19.0739495157304,19.0680801,19.0489076,19.085199,19.0362771,19.1079873,19.0616873,19.0533314,18.9907247,19.0891594,19.0566188,19.0546939,19.1303473,19.078332,18.9837791,19.1318360545546,19.0387452,19.1139764,19.0634184,19.0426394,19.1837923,19.0303124,19.0882591,19.1131776,19.03274,19.0546939,19.0562185,19.0370392,19.016938,19.1144699,19.1391899,19.0508529891665,19.1423511352014,19.0510607,18.9959996,19.0093621,19.0333601,19.0158434,19.0354522607393,19.0682036,19.0093621,19.0818578,19.0644246,19.2402964,19.1303473,19.0757398,19.0229081,19.0533314,19.0645468,19.0096239,19.0454874,19.0673926,19.0673926,19.0682215,19.0570011,19.0601013,19.0506162,19.0203013,19.0327115,19.0682036,19.073012,18.9889370816667,19.0723167,19.0667758,19.0549923,19.0389500982902,18.9948539,19.0519708,19.1426017,19.0633975248376,19.1075446,19.0538597,19.076511886294,19.0532337,19.0864496,19.0150235,19.0844512,19.0039007517296,19.0563202,19.0677681620801,19.0524235,19.0536325,19.0535283,19.0773468,19.0565149,19.0733799,19.0507114,19.1348243,19.1021661,19.0716802,19.0753208,19.0799519,19.0778817,19.0382053,19.0766902,19.0776837,19.1146425,19.0293084,19.0796096,19.0709842,19.076468,19.0780351,19.0531336,19.086543,19.1009918,19.0319245,19.0378582,18.9945191,19.091255,19.0296289566,19.0776837,19.0375787,19.0129362,19.0566679,19.0340864,19.0552325,19.0752727,19.10387,19.0696877407182,19.0416064,19.0656618,19.0385104,19.02939,19.0246327,19.0538299,19.0594685,19.067052,19.112305,19.0851313,19.125679,19.0293637,19.0590774,19.1183973,19.0723233997236,19.0566679,19.0780351,19.0543194,19.0180214,19.0498149,19.0467601179601,19.0368696,19.0156233,19.0154929,19.0596682,18.9837791,19.0504817,19.0504817,19.0905763,19.0466834,19.0562401,19.1588589,19.0135869,19.0410176,19.0703482,19.0438529,19.0654365,19.0948301,19.125679,19.1465176,19.0282536,19.0427468,19.0275234,19.0502391,19.0493914,19.0647053,18.9966742,19.078332,19.078332,19.0616873,19.0948301,19.0000479,19.0673704,19.0282536,19.1624341,19.01332797007,19.049771,19.0351929506745,19.0623074,19.0796096,19.2104693,19.0543898,19.0172328,19.0590774,19.0459106,19.0340694,19.0695555,19.0113921,19.0226907,18.9975616,19.0410176,19.0805714,19.0472779,19.0293084,19.0612586,19.0053596,19.1482989462208,19.0564277,19.0306511,19.0114764,18.9762833,19.0270211,19.0354206,18.9959996,19.0278517,19.0484253,19.0293637,19.0061006,18.9505625,19.0505436562309,19.2490033,19.0503536,19.0471751939689,19.0677681620801,19.0169876575616,19.0776837,19.0786411,19.0548592,19.0158434,19.0571782,19.0593192,19.1104229,19.1079873,19.0636014,19.0753475,19.091133,19.108735,19.1932005,19.0723658,19.0805714,19.0780351,18.9736967,18.9827553,19.1573105,19.0172328,19.0730591,19.0282878,19.0486011,19.0780351,19.1232164,19.0555757,19.0340864,19.0172872,19.0422717,19.063824,19.0392933,19.0590364,18.9948673,19.0748885,19.1135727,19.0554211,19.0391511,19.0638878,19.0644099,19.1666846,19.0030836,19.0308256,19.0565149,19.033687,19.0596406,19.0691133,19.0270211,19.0242673,19.0451407,19.0557392,19.0864193,19.0350153,19.0842838,19.0181162616512,19.0780351,19.0479059,19.0753208,19.0677681620801,19.0172872,19.0964864,19.0846941,19.0318457,19.070285,19.051553,19.0570057505703,19.1440791489664,19.0519708,19.0479059,19.0477949,19.0289516,18.9900101,19.0611973,19.0673926,19.0293878,19.0611973,19.0174208,19.0587546,19.0607643,19.092478,19.0838578,19.0398803,19.0270211,19.0497178,19.0495356,19.0702355,19.0643263,19.1093939,19.1576717,19.0123557,19.0133543,19.0548448,19.0362771,19.0723167,19.03274,19.02939,19.0599418,19.0504817,19.0681806,19.0677681620801,19.0815723,19.0699254,19.0484253,19.1154437,19.0616873,19.0704816,19.0225365,19.0246327,19.0175851,19.0398608,19.0246327,19.149102,19.0477554054091,19.0581749,19.1148204,19.0608767,19.0721242,18.9905335,19.0050842,19.0630384,19.0736988,19.0937826,19.0730591,19.0696548,19.0971539,19.0293475,19.0646119,19.0616873,19.1067988,19.1067988,19.0363897,19.0716107,19.0197312,19.0747401,19.0769118,19.1040818,19.0611973,19.0392008,19.082082,19.0707402,19.0757149,19.0868994,19.0911643,19.0681806,19.0716802,19.0223968,19.0336536,19.1109962,19.0721057,19.0449738489726,19.1079873,19.0677681620801,19.0769118,19.0333132,19.0626902,19.168539,19.0747401,19.0546939,19.1148941,19.0648958,19.0798567,19.0728348,19.0015073,19.0584216,19.0676142,18.9907247,19.0392933,19.0786411,19.0911643,19.0272866,19.0000548,19.1130488,19.0864496,19.0486011,19.0805714,19.0435137,19.0673926,19.02939,19.1857401,19.1224579,19.0426394,19.0682716,19.0282919,19.0888723,18.9896099,19.0487463,19.016113,19.0366496,19.0321010569767,19.0343351,19.0564644,19.0519708,19.1297636,19.0567607,19.0648958,19.0561778,19.0904267,19.076468,19.0758798,19.0723167,19.0340694,19.0593723,19.0382053,19.0698425,19.0694652,19.1808253,19.2011857262855,19.0519708,19.0152395,19.0668287,19.1437047,19.0286209,19.0756452,19.0050842,19.0582497,19.0703482,19.0829832,19.0704816,19.0587546,19.0187644377659,19.0293475,19.0673704,19.0507049,19.0369219,19.0807478,19.0646119,19.0707402,19.0565149,19.0394208713575,19.0720788,19.0150773,19.0660438,19.1955917,19.0786411,19.0516183,19.0868994,19.060636347135,19.0565149,19.016938,19.0546939,19.1168525,19.0616873,19.0410176,19.1057329,19.0335513,19.0549861,19.1166394,19.12968,19.0543194,19.0638121,19.1079873,19.0272866,19.10112445,19.0135869,19.0694828,19.1421353336706,19.1508712,19.191371,19.084633,19.015613,19.0789235,19.0582143,19.1782107,19.0378122,19.0535274,19.1460283,19.0411228,19.2008533,19.0535283,19.0776886401752,19.0728348,19.0405741601774,19.0346525,19.0270211,19.1330361,19.0723658,19.0753416,19.0300094,19.0874355,19.0708044,19.08302,19.0680801,19.0292291,19.0434045,19.0339664,19.0600748,18.9973798,19.0551914,19.0082616,19.1079873,19.0817217,19.0805533205133,19.1608027,19.0600748,19.0835535727348,19.0780351,19.0623599,18.9842399,19.1395356,19.0463185,19.0582497,19.0491314,18.973300949264,19.2168745,19.0456144,19.0000548,19.0776451259231,19.0680801,18.9886936,19.0872224,19.0579793,19.0579793,19.100791,19.0814343,19.1508712,19.0734492,19.086543,19.0524118,19.0566679,19.0579793,19.1480384,19.0451407,19.0490201,19.0340694,19.0617722,19.0653838,19.0942151,19.0981677,19.0561778,19.0606672,19.0461894,19.0582497,19.0693641,19.0535458,19.1129385,19.0613334,19.1104872,19.0182877938193,19.0975823,19.0613791,19.1260226,19.0215370544269,19.086543,19.076468,19.1830353,19.0680801,19.0548668,19.0272866,19.1912903,19.002401,19.054861,19.041984953316,19.0214283,19.0510607,19.0421999,19.026592,19.0408733,19.0308256,19.1325395,19.2402964,19.0209563,19.0871780333333,19.1266594,19.0758798,19.1067988,19.0382053,19.0681806,19.0645127,19.0579793,19.0466834,19.079036,19.0606915,19.0451428278301,19.0780351,19.108249,19.0660303,18.993317,19.08302,19.0219317,19.0279499,19.0401219,19.0707402,19.0833496,19.1234867,19.1145015,19.0434045,19.1389559,19.0224908027651,19.0830880053127,19.086543,19.038991,19.1098366,19.0922835,19.0556296,19.1350287064337,19.0930855,19.0838578,19.0631093,19.1669237,19.0826495,19.0876236,19.0358124,19.1397934,19.0454874,19.0575567,19.0690523,19.0182713,19.1643344,19.0952284,19.1145015,19.0703482,19.0548668,19.0911643,19.1356112,19.0275284,19.0689525,19.0371272,19.0181715,19.1465176,19.0610493,19.0398608,19.0503804,19.0343198,19.0901566,19.0800839,19.1067988,19.0156233,19.0940533,19.0366496,19.051935,19.0448069,19.0463185,19.0528343,19.0548592,19.0641339,19.08302,19.0266933,19.0792958,19.0719339,19.0308256,19.0308256,19.0928817,19.0862307663257,19.1148941,19.0611973,19.0532410169986,18.9936449,19.1818704,19.0247068395047,19.2402964,18.9909373,19.0432958,19.06274,18.9917069,18.9811994,19.06274,18.9998218,19.086371,19.0584866,19.0543194,19.0733799,19.0466834,19.2141991,19.0753208,19.0651017,19.0702355,19.1437047,19.0601674,19.0297756,19.0747833,19.0520175,19.0172872,19.0584216,19.0473387,19.0553531,19.082082,19.1307039,19.0543194,19.0771979,19.0411082,19.0780351,19.0780351,19.0848512,19.0864329,19.0815723,19.1099563,19.0543194,19.0771513,19.2089322,19.1307039,19.0495868,19.0730591,19.0771979,19.0571739,19.0570011,19.0495356,19.0562401,19.0378122,19.0513842,19.0348385,19.0315327,19.2402964,19.0578657,19.0680801,19.0253958,18.9914869,19.0636997,19.1050567,19.0685107,19.115291,19.168539,19.0094447,19.0161269,19.0730591,19.0409759,19.0720431,19.0535477,19.1259098,18.9942164,19.0541933,19.0150773,19.0696366,19.0340864,19.1040463,19.0769327,19.0562185,19.0167971,18.9880851,19.0703482,19.0501168,19.142396,19.0682215,18.9686794,19.0599418,19.0080643,19.0921793,19.0362771,19.1211577,19.082082,19.036082,19.1431376,19.0693641,19.1040463,19.0548668,19.0546939,19.0546939,19.0503804,19.1426017,19.0603942,19.0746777011199,19.0539836,19.069701,19.0535283,19.0472014398877,19.024236575466,19.1830353,19.0709025,19.078332,19.0723167,19.0864329,19.0891594,19.076511886294,19.077061659271,19.0770243,19.0581734,19.0691909,19.1445436,19.0340864,19.0573578,19.0398608,19.0719714,19.0535274,19.0524118,19.0036795,19.0388848692626,19.1067988,19.0167324,19.0456687399141,19.0796096,19.058315,19.082082,19.0856208,18.9981672,19.100791,19.03911,19.0335513,18.9502551,19.0527136,19.0527136,19.129496,19.0333086,19.0843265113904,19.1503988,19.0812293075785,19.098133,19.078316,19.0031132,19.1138598,18.9973722,19.0530684564018,19.0964864,19.0406915,19.0616873,19.0291133,19.1067988,19.0694652,19.0790429,19.1192356,19.0632194831853,19.0023576,19.0289895,19.050067,19.0948301,19.1341105,19.0309788,19.092478,19.0971539,19.0542948,19.0380875,19.0638557038031,19.0594834906865,19.0546939,19.1981229,19.1318360545546,19.1503988,18.9856097,19.059951,19.069701,19.0876209,19.1055197,19.125679,19.0937826,19.0608475,19.0805714,19.0756452,19.1091304,19.0575223,19.037607,19.0469117,18.9548082,19.1219442,19.125679,19.1147843,19.0290699,19.0769118,19.0765786,19.0699254,18.9963817,19.0637858,18.9994456,19.1135727,19.1548989,19.1318360545546,19.0262513,19.038991,19.0516183,19.0680801,19.0135869,19.0362771,19.0345173,19.0293475,19.0948301,19.0618359,19.1049530797576,19.0753416,19.0747795,19.0758798,19.016113,19.0838578,19.0838578,19.0707659,18.9885881,19.0564644,19.0703482,18.9907362,19.0627563,19.0272866,19.0636997,19.0700785,19.0272866,19.0195962,19.2238638,19.0863308,19.2753054,19.059701,19.1500401037792,19.0308256,19.0507515,19.0345173,19.1643344,19.1331772,19.0247068395047,19.0525993,19.100791,19.0673926,19.0474962,19.0369037,19.0270211,19.0764236,19.0582497,19.0850509,19.0030836,19.0369219,19.0643263,19.0219179,19.0646119,19.0579793,19.0702355,19.0662445,19.0245494,19.1265984,19.0709025,19.0646528769351,19.057286686147,19.1608027,19.1478743,19.061924,19.1047461,19.0532337,19.0549923,19.0403241,19.0990391,19.1216999,19.1162703,19.0682716,19.1116135946782,19.0386399,19.1937174,19.0458677,19.0878753,19.0057083047579,19.1129385,19.2402964,19.0786411,19.0133543,19.1093607,19.1093607,19.079036,19.0613334,18.9886904355743,19.0279499,19.0175005,19.0154903,19.0180214,19.0282536,19.0217871003215,19.0538597,19.204622,19.0739885755211,19.0535541,19.0535569,19.0235992,19.0891594,19.0340864,19.2652348,19.082082,19.0676416,19.2034259,19.2168745,18.996626,19.0195962,19.0814974,19.0134826,19.0275234,19.0282919,19.1430966,19.1186614,19.0479059,19.0637529431761,19.0714796,19.0774296,19.0646119,19.0730591,19.0483244,19.0608475,19.0599418,19.0313793913649,19.079036,19.002894,19.0717193,19.0447163,19.082748,19.0495868,19.1227776,18.9973722,19.0636997,19.0627563,19.0293475,19.0730591,19.0103665163476,19.0546939,19.0477554054091,18.9916615,19.0720366,19.1138598,19.05724,19.055036,19.0699593,19.0549605,19.0621857378834,19.0780351,19.0780351,19.0780351,19.0706763,19.1175986,19.0681935,19.0613334,18.9973722,18.99519455,19.0548073,19.1776272,19.0379922,19.1032424,19.0660874,19.0753617,19.1166394,19.0472014398877,19.0313793913649,19.0535274,18.9948673,19.0272866,19.0004608,19.0672964,19.0330303,19.0536007,19.1005422,19.1079873,19.0600541,19.0389133,19.0342952,19.1030387,19.1423751,19.1280623,19.0219045,18.9674815,18.9749728,19.0219045,19.0282536,19.0780351,19.1688962,19.075016,19.0626902,19.0180214,19.0646119,19.0850509,19.0219045,19.1548989,19.1500991,19.065128,19.0555757,19.0228939,18.9880851,19.1440791489664,19.0239316,19.272349,19.0865290817999,19.0422285,19.0524445,19.0634184,19.1437212,19.0665968,19.032491,19.1005422,19.0783795,19.0697888,19.1403906,19.0414773,19.0626902,19.0849924,19.0641017,19.0178434,19.0399994075241,19.1894223,19.0757149,19.0196971030638,19.092451,19.0422285,19.0498149,19.0627563,19.0719608,19.0646119,19.0709025,19.0867417,19.0370392,19.0696972,19.0770243,19.0611237,19.0728348,19.0646119,19.0915546,18.9955934,19.0862307663257,19.0503804,19.0582143,19.05533,19.0506753,19.1148186,19.037194,19.0627563,19.1184601,19.0726344,19.0461894,19.0546939,19.0970794,19.0780351,19.0780351,19.0707969,19.1748681,19.0349735,19.1250098,19.1356112,19.0646528769351,19.0646528769351,19.0646528769351,19.1293043,19.0701863,19.032491,19.1093939,19.0708907,19.0619432,19.0490201,19.0503804,19.0360427,19.0477554054091,19.0857099,19.1115031,19.096745,19.0685286,19.07908465,19.1461120051386,19.0793208,19.0637639,19.0910601,19.0710694,19.0230041,19.0716802,19.0613334,19.0868994,19.0223968,19.0806026,19.0318703,19.2068443,19.0835068,19.0535274,19.0647053,19.0818578,19.0533314,19.1183973,19.0446881,18.9879789,19.188181,19.0692015,19.0771979,19.074453,19.0813691,19.12968,18.9826881,19.0297756,19.0345173,19.03274,19.0243371,19.0272866,19.0721057,19.0175851,19.0451407,19.0643763,19.0750427,19.0723658,19.0608335,19.0703523,19.0780351,19.0708907,19.0764757,19.0589434,19.0462697,19.0607643,19.0546939,19.0634184,19.10892255995,19.0676861,19.0799519,19.0551119,19.0769118,19.0478187,19.0340694,19.0490201,19.0243371,19.0726344,19.0647053,19.0315455,19.1131776,18.9880851,19.0789235,19.0546939,19.0297756,19.2079971,19.2036416,19.1637039,19.0685286,19.0449625,19.03274,19.1025021,19.0723167,18.9998328,19.0771979,19.0645551,18.9904493,19.0345173,19.0340694,19.0910601,19.0382053,19.0547707,19.0535274,19.0448069,19.0562901,19.0396524,19.142201,19.0676861,19.0355029466396,19.0559048,19.0559048,19.1480384,19.0151399,19.1265984,19.1718563,19.2744981,19.0514967,18.9931892,19.0463185,19.0524844,19.0532337,19.0461894,19.0545821,19.0137804,19.0051705,19.0519708,19.0838365,19.0578152,19.0351518,19.0641017,19.0576107692013,19.0771979,18.9992108,19.0564644,19.057638,19.0382053,19.0454874,19.0580507,19.0788493662186,19.0647053,19.0398359,19.0654081,19.0653195200815,19.0736366,19.0781544,19.0709025,19.0566679,19.0771979,19.0593274,19.0297756,19.0398803,19.0706763,19.0784664,19.0094392,19.0789247832891,19.0471751939689,19.0383354,19.0780351,19.0688901,19.0564644,19.0818817,19.0535274,18.9548082,19.0535274,19.0647053,19.0158434,19.0818543,19.0340694,19.0616873,19.10387,19.0181841,19.1155087,19.0771979,19.1916308,19.0366707,19.0668287,19.0204764935842,19.0490201,19.1016293,19.0538525,19.0495356,19.0286209,19.1096494,19.069701,19.1801683,19.0576326,19.0660874,19.0371937,19.0447163,19.0351381,19.085609,19.2402964,19.0704816,19.061837,19.2841082,19.0781544,19.0773333,19.1081457,19.079036,19.0707969,19.0707969,19.016113,18.9900101,18.9987214,19.0520175,19.0780351,19.0671433,18.9998328,19.0254839,19.1282801,19.0546939,19.0548668,19.0790311,19.0790311,19.0790311,19.0489076,18.9963976,19.0671433,19.0272866,19.0422285,19.0728348,19.0636237,19.0611973,19.0780351,19.0553802,19.1077992,19.0488328490759,19.0620973,19.0865605887869,19.0788493662186,19.0173659,19.0148355,19.0117049,18.9738856,18.9995992,19.1242691,19.1032424,19.0306411,19.0888723,19.1217042,19.0449625,19.0127695,19.0660303,19.0567607,19.0209563,19.059141,19.0322731,19.0723658,19.0800021,19.059011,19.0476452,19.0593274,19.0953525,19.0030829,19.0030829,19.0706763,19.0773333,19.0382053,19.08317,19.1279927,19.108735,19.0382247,19.1637039,19.0755453939351,19.0911643,19.0653195200815,19.0692738,19.0365248,19.0529878,19.1337611,19.0289905,19.0811322,19.1261741,19.1139764,19.0385253,19.0494463,19.0647053,19.1375288111282,19.0582497,19.0486011,19.0613018,19.0503804,19.0641928,19.0898181,19.0135869,19.0705442,19.0709025,19.0111929,19.108269,19.0616873,19.0524408,19.0340694,19.0816037,19.0617891622937,19.1280027,19.0497098857008,19.068036,19.0723658,19.1413628,19.0780351,19.0646528769351,19.1117153,19.1234708,19.0551914,19.0698425,19.0197312,19.0588357,19.0358604,19.100791,19.0335513,19.1092351,19.1303473,19.0825717,19.057902,19.0445256,19.0382053,19.0719608,19.0506162,19.1857401,19.0498711,19.0618855,19.0780351,19.0150773,19.0891129,19.079036,19.0498949,19.0773333,19.0667758,19.142014,19.0562185,19.0050842,19.0604451,19.073435,19.0891594,19.0565149,19.059325,19.0673704,19.0702355,19.0115648,19.0362771,19.0742733,19.1234703,19.0574457,19.0716395,19.0808131,19.0461584,19.0816037,19.0129362,19.2293344,18.9880851,19.0709027813047,19.0811918,19.0345173,19.1082126,19.1932005,19.019867,19.0780351,19.0780351,19.0888723,19.0682413,19.0326691026503,19.0780351,19.032712,19.0576782,19.0618359,19.1460283,19.0536325,19.1333308,19.022535,19.0427989,19.0753691,19.069256468415,19.0780351,19.0780351,19.0590774,19.0765786,19.0117049,19.0623074,19.0997228,19.1256581,19.0050842,19.1005422,18.9821547,19.0689055,19.0340694,19.0489076,19.0559048,19.0533314,19.0677681620801,19.0780351,19.0050842,19.1457229,19.0702355,19.0843001,19.2055175,19.0593274,19.0543194,19.0275234,19.0903433,19.1156836,19.0623074,19.1637039,19.0657034,19.0229972,19.086543,19.0698425,19.3084049,19.0519708,19.0645174,19.1491532,18.9998175,19.0333698,19.0865407,19.0810473,19.0806051,19.0582497,19.0600748,19.1303473,19.0591603,19.0431248,19.1184832,19.1363359,19.0533111,19.0466834,19.0543194,19.0080643,19.0602441,18.9685915,19.0759228,19.0535283,19.098448,19.1387885,19.0699198679045,19.0360016,19.0488074,19.059921,19.057711300846,19.0050842,19.0582148,19.0721384,18.9905335,19.0178434,19.0373309,19.0327059,19.0709025,19.0710465,19.054205,19.1387885,19.0611973,19.0593274,19.0748885,19.0780351,19.0599342,19.2069053,18.9896099,19.120513,19.120513,19.0707726,19.0486011,18.9896099,19.0548668,19.0366496,19.0920288,19.058136,19.0172328,19.0634184,19.1056604,19.0224999627371,19.1391899,19.0911888,19.0666865,19.082082,19.0786411,18.9907247,19.0546939,19.0243371,19.054205,19.0647053,19.0319284,19.108249,19.0704205,19.0581847,19.1099563,19.0570057505703,19.1163075,19.0699593,19.1137369,19.0211229,19.0643655,19.0175851,19.0652201704674,19.0178434,19.0800751828721,19.0162679,19.0726344,19.0382053,19.0536547,19.0911643,19.0644637,19.0702739,19.0516842,19.0658207,19.0260908507029,19.0843677,19.0486011,19.1480384,19.0504817,19.0504817,19.0382053,19.0479059,19.0030829,19.0314608,19.0668287,19.0639631,19.0639631,19.0533111,19.1637039,19.0225365,19.0553575,19.0488233,19.1395686,19.0523451,19.0253958,19.0151399,19.0169025448105,19.092284,19.0514937431312,19.0582497,19.0422717,19.0758798,19.0479923,19.0306511,19.0698425,19.0286209,19.0937772,19.05533,19.0657034,19.0657034,19.0291043689152,19.0593274,19.0587546,19.0872767,19.0463284,19.0351381,19.0589818,19.0599507,19.0477168,19.0505436562309,19.0524844,19.0503804,19.0797286147787,19.1391899,19.0370392,19.1797488,19.0656618,19.0479923,19.0246327,19.1318351,19.0646119,19.1103732,19.0692738,19.0542948,19.0286760653225,18.9923952,19.1487806,19.0548668,19.0707402,19.1810326,19.0438529,19.0181715,19.0693641,19.0864496,19.0510607,19.0346021,19.1076040345588,19.0611237,19.0576332,19.1412757,19.0505436562309,19.1057329,19.0111907,19.0534343,19.0820648757491,19.0369037,19.0396371,19.1091304,19.098133,19.2416271,19.085199,19.0616873,19.1307039,19.1810326,19.0685286,19.1131776,19.0709025,19.0706763,19.0396371,19.0562401,19.0479418,19.1139174948923,19.0493267,19.0516151,19.0366496,19.1810326,19.0542948,19.0327115,19.0778766,19.0535283,19.0644637,19.1025021,19.0077143,19.0948301,19.0548448,19.0246327,19.0479749,19.2563936178564,19.0016919,19.0535283,19.0479418,19.0808016,19.1305234,19.0778817,19.1765524,19.1184298,19.0279256,19.022418,19.055036,19.0658368,19.0835068,19.02012661125,19.0709025,19.0676416,19.093495511992,19.0392672,18.9896099,19.0357411135591,19.0676215882196,19.0086903,19.0135746,19.0535569,19.027871,19.0846781,19.0358604,19.0471498,19.0654574,19.0213565841151,19.0846781,19.0368696,19.0581847,19.0789808,19.0709025,19.1224579,19.0558921,19.0503804,19.0683750387036,19.0593723,19.0608475,19.0533111,19.0704423,19.0965520529214,19.0660303,19.0680913,19.1158077,19.0502017663245,19.0548668,19.0748885,19.068436,19.1280623,19.0323525,19.1242622,19.0464904,19.1103732,19.0013591,19.067052,19.0673926,19.0175825,19.0135746,19.0573946,19.0805572,19.0473387,19.0698066,19.0504736,19.0723167,19.0593723,19.11041543648,19.1695746,19.1005422,19.0480543,19.0592343,19.0569998,19.0796869956647,19.0848533,19.0814704,19.0225903,19.0660303,19.112305,19.0564277,19.1430966,19.1034503255637,19.0796096,19.0334457531181,19.1027216,19.0849924,19.0607465,19.0389500982902,19.0100005,19.0096543,19.0665941,19.0666725,19.0814704,19.0812491,19.0154903,18.976728,19.0271137,18.9994456,19.0108538416633,19.0857663,19.0451407,19.0607643,19.1475492,19.0591858,19.0720884,19.0844631,19.0623599,19.1268011,19.0839092,19.0835068,19.0631172,19.0817217,19.0526957,19.1247998,19.1097128,19.0488074,19.067052,19.0477168,19.0799046,19.0461894,19.0647053,19.0884687,19.0538525,19.0538525,19.0821031,19.0527136,19.0548592,19.0750427,19.0709025,19.061924,19.0301807736685,19.1271118,19.0506701,19.08231438,19.0217653,19.1981229,19.0758798,19.1167065,19.0636997,19.0948301,19.0612885,19.0477554054091,19.125375,19.0752791059058,19.0738752,19.0820648757491,19.0515829,19.1000647,19.0479923,19.0146205,19.0559541,19.0975823,19.1253739,19.0689055,19.0366496,19.0662445,19.071412,19.01471305,19.1453633,19.0322670558835,19.1046487,19.055563,19.0817217,19.0787281,19.1224579,18.9959996,19.0706012,19.2165445,19.0674392665138,19.0579225,19.0593274,19.0835712529239,19.0219252,19.0495868,19.0580507,19.0430926,19.1402518,19.0187473,19.0753475,19.0294501,19.0670247,19.0132293,19.0638121,19.0047665,19.0109399,19.0558616,19.0895532,19.0895532,19.0736988,19.2036416,19.0516849,19.0596682,19.1007295,19.1721748,19.046369,19.0146205,19.0400627,19.0596989,19.0707402,19.0707402,19.1103732,19.0708907,19.0758798,19.0581847,19.1391899,19.0987808,19.0553531,19.0236627,19.0715805396751,19.042203182676,19.0928887,18.9994456,19.1227776,19.0567607,19.1208077,19.0519571,19.1234867,19.0600748,19.0270211,19.0707402,19.0757031,19.0336905202926,19.0282536,19.0673926,19.0607286,19.0411228,19.0520175,19.1391899,19.0677681620801,19.0381436,19.0663632,19.0400627,19.019867,19.0942151,19.0668245,19.0608475,19.0922498,19.0535529,19.0363897,19.0232648,19.0769327,19.0565149,19.1694742,19.0581126,19.06502],80,null,null,{"interactive":true,"className":"","stroke":false,"color":"#03F","weight":5,"opacity":0.5,"fill":true,"fillColor":["#FE9941","#800026","#800026","#800026","#A50026","#A50026","#800026","#FFC763","#FFF4B1","#C60624","#FFF4B1","#FFF4B1","#FEAF4B","#FEAF4B","#FD7C36","#FEAF4B","#FEAF4B","#800026","#FFFFCC","#FEDC7D","#FFFFCC","#FC542B","#FE9941","#FE9941","#C60624","#C60624","#FFFFCC","#FE9941","#FEAF4B","#FEDC7D","#C60624","#FE9941","#A50026","#800026","#FEAF4B","#FFE896","#A50026","#FFFFCC","#FEDC7D","#FFE896","#FFC763","#800026","#FE9941","#FE9941","#FEDC7D","#FE9941","#800026","#FFE896","#FEAF4B","#FE9941","#A50026","#EF3622","#FEDC7D","#FD7C36","#FE9941","#FD7C36","#C60624","#800026","#A50026","#800026","#FEAF4B","#FEAF4B","#FEAF4B","#EF3622","#FFF4B1","#FEDC7D","#FFE896","#A50026","#FE9941","#800026","#FFF4B1","#A50026","#FEDC7D","#FEDC7D","#C60624","#FFC763","#FFC763","#FFF4B1","#FE9941","#DD171E","#FEAF4B","#800026","#FE9941","#DD171E","#FFE896","#FE9941","#FD7C36","#FEAF4B","#FFE896","#800026","#FEAF4B","#800026","#C60624","#FFC763","#FEAF4B","#800026","#FEAF4B","#A50026","#FEAF4B","#800026","#FEAF4B","#FFF4B1","#FEDC7D","#800026","#FC542B","#C60624","#FFFFCC","#FE9941","#FE9941","#FEAF4B","#C60624","#800026","#FFE896","#FFE896","#FEAF4B","#DD171E","#800026","#A50026","#FFFFCC","#FEAF4B","#800026","#A50026","#FFF4B1","#FFFFCC","#EF3622","#800026","#FE9941","#FFE896","#FFC763","#FEAF4B","#800026","#FEDC7D","#A50026","#FFE896","#FFF4B1","#800026","#800026","#C60624","#FFFFCC","#FD7C36","#FE9941","#FE9941","#FFE896","#FE9941","#FFC763","#FEDC7D","#800026","#FE9941","#FFF4B1","#A50026","#FFE896","#FFE896","#FFF4B1","#FE9941","#FEDC7D","#FFE896","#FEAF4B","#FFE896","#FFFFCC","#FC542B","#FEDC7D","#800026","#FFC763","#FFFFCC","#800026","#C60624","#FC542B","#DD171E","#EF3622","#FFFFCC","#FFFFCC","#800026","#FC542B","#FFFFCC","#FEAF4B","#FE9941","#C60624","#FEAF4B","#FFC763","#C60624","#FFE896","#FFF4B1","#FEDC7D","#FE9941","#C60624","#FFC763","#FFC763","#FE9941","#FFC763","#FE9941","#FE9941","#FE9941","#A50026","#FEAF4B","#FE9941","#FE9941","#FC542B","#A50026","#FE9941","#800026","#FFFFCC","#FEAF4B","#FD7C36","#FEDC7D","#FFC763","#FEAF4B","#FE9941","#FFC763","#FC542B","#FFFFCC","#FE9941","#FFFFCC","#FFF4B1","#FFFFCC","#A50026","#FE9941","#FC542B","#FFE896","#FFE896","#FFF4B1","#800026","#FE9941","#FEAF4B","#FE9941","#EF3622","#FFF4B1","#FEAF4B","#FEDC7D","#FE9941","#C60624","#FFE896","#FFE896","#FE9941","#FE9941","#FFE896","#C60624","#FE9941","#C60624","#DD171E","#FEAF4B","#FFE896","#FFC763","#A50026","#FFFFCC","#FEAF4B","#FFC763","#FFE896","#800026","#FE9941","#EF3622","#FFFFCC","#FFC763","#FFE896","#FFF4B1","#FE9941","#FFFFCC","#FEAF4B","#FEDC7D","#C60624","#FE9941","#800026","#A50026","#FFE896","#FFFFCC","#C60624","#800026","#FC542B","#FC542B","#FEAF4B","#FE9941","#FEAF4B","#EF3622","#FEAF4B","#C60624","#A50026","#FFC763","#FEAF4B","#C60624","#FFFFCC","#C60624","#FEDC7D","#FEAF4B","#FFF4B1","#800026","#C60624","#DD171E","#FD7C36","#FFC763","#800026","#FEAF4B","#FFE896","#FE9941","#FFF4B1","#A50026","#FFFFCC","#FFFFCC","#FEAF4B","#FFFFCC","#FFC763","#FE9941","#800026","#FEAF4B","#FEAF4B","#FEAF4B","#FE9941","#FFFFCC","#A50026","#FEAF4B","#FEAF4B","#FEAF4B","#800026","#FE9941","#FFFFCC","#FEAF4B","#FFC763","#FD7C36","#800026","#FE9941","#FFE896","#A50026","#FEAF4B","#FD7C36","#FFFFCC","#C60624","#FFC763","#FE9941","#FD7C36","#FFE896","#DD171E","#FEAF4B","#FFE896","#FEAF4B","#FFC763","#FEDC7D","#FC542B","#800026","#C60624","#800026","#EF3622","#FE9941","#C60624","#FEAF4B","#800026","#FE9941","#A50026","#A50026","#FFC763","#FFF4B1","#FD7C36","#FFC763","#800026","#800026","#FFF4B1","#FEAF4B","#FEAF4B","#FEDC7D","#FEDC7D","#FE9941","#FE9941","#FFFFCC","#FE9941","#FFF4B1","#A50026","#FFFFCC","#C60624","#800026","#C60624","#FE9941","#FEDC7D","#800026","#FE9941","#FFFFCC","#FFE896","#FE9941","#C60624","#FFE896","#C60624","#800026","#FEAF4B","#FC542B","#FEAF4B","#FE9941","#FEDC7D","#800026","#A50026","#800026","#C60624","#FEDC7D","#FFFFCC","#FE9941","#DD171E","#FFE896","#FE9941","#FEAF4B","#FEAF4B","#FFC763","#FEAF4B","#FFF4B1","#FD7C36","#FEAF4B","#A50026","#FE9941","#FE9941","#FE9941","#FFFFCC","#C60624","#C60624","#FEAF4B","#DD171E","#FFC763","#FFC763","#FE9941","#C60624","#FC542B","#FE9941","#FE9941","#800026","#FFFFCC","#FFF4B1","#FFFFCC","#800026","#FE9941","#FFE896","#FFF4B1","#FC542B","#FC542B","#A50026","#C60624","#C60624","#800026","#FFFFCC","#FFE896","#FEAF4B","#A50026","#FE9941","#800026","#FEDC7D","#C60624","#FFC763","#FFF4B1","#FEAF4B","#FE9941","#FFE896","#FEAF4B","#FE9941","#FEAF4B","#800026","#FC542B","#800026","#800026","#C60624","#C60624","#FE9941","#FE9941","#C60624","#800026","#FFFFCC","#800026","#FEAF4B","#FE9941","#FFFFCC","#FFC763","#FE9941","#FFE896","#EF3622","#FE9941","#FE9941","#FFFFCC","#FEAF4B","#FEAF4B","#FFFFCC","#FEAF4B","#FE9941","#FE9941","#800026","#A50026","#C60624","#800026","#DD171E","#FFC763","#FFF4B1","#FD7C36","#FEAF4B","#FEAF4B","#FE9941","#FFFFCC","#800026","#800026","#FEAF4B","#FE9941","#800026","#FFC763","#DD171E","#DD171E","#DD171E","#FFE896","#FE9941","#C60624","#FEAF4B","#FFE896","#FFFFCC","#C60624","#FEAF4B","#C60624","#C60624","#FFE896","#FEAF4B","#FEAF4B","#FFC763","#FE9941","#FFC763","#FFC763","#A50026","#FEAF4B","#A50026","#A50026","#FEAF4B","#FFE896","#FFE896","#FFE896","#FEAF4B","#C60624","#FD7C36","#FE9941","#FFE896","#FE9941","#FE9941","#FE9941","#FEAF4B","#FEAF4B","#C60624","#C60624","#DD171E","#FD7C36","#800026","#FEAF4B","#FEAF4B","#FD7C36","#FFF4B1","#FFE896","#FFF4B1","#FE9941","#DD171E","#800026","#A50026","#FFC763","#FD7C36","#C60624","#FEAF4B","#FE9941","#FE9941","#FE9941","#FFE896","#FC542B","#FFFFCC","#FE9941","#FEDC7D","#FEDC7D","#FEAF4B","#FEAF4B","#FFE896","#C60624","#FE9941","#FFE896","#FE9941","#FFE896","#FFF4B1","#FE9941","#FEDC7D","#FFE896","#A50026","#FE9941","#FEAF4B","#EF3622","#FE9941","#EF3622","#FFC763","#800026","#FE9941","#A50026","#FFFFCC","#FFE896","#FEDC7D","#A50026","#A50026","#FC542B","#FEAF4B","#FFE896","#FFC763","#A50026","#FEAF4B","#FFFFCC","#FEAF4B","#800026","#FFE896","#FFFFCC","#FFC763","#FFE896","#FEAF4B","#DD171E","#FFE896","#FFE896","#FEDC7D","#FFE896","#800026","#FEAF4B","#FE9941","#FEAF4B","#C60624","#FE9941","#EF3622","#FFE896","#A50026","#FEAF4B","#FFE896","#800026","#EF3622","#C60624","#FEAF4B","#FFFFCC","#FEAF4B","#FFE896","#FFE896","#FD7C36","#FEDC7D","#FFF4B1","#800026","#FEAF4B","#FFFFCC","#FE9941","#FEAF4B","#FEDC7D","#FFFFCC","#FEAF4B","#FEAF4B","#A50026","#FFE896","#FD7C36","#FFC763","#FEDC7D","#FFE896","#800026","#FEAF4B","#FFC763","#C60624","#FFE896","#FEDC7D","#FEAF4B","#FFE896","#FE9941","#DD171E","#FC542B","#800026","#FEDC7D","#FEAF4B","#FE9941","#A50026","#FC542B","#FFE896","#A50026","#FC542B","#A50026","#FC542B","#A50026","#FE9941","#FC542B","#FFE896","#C60624","#FFFFCC","#FEAF4B","#FE9941","#FFE896","#FEAF4B","#FFE896","#FFFFCC","#A50026","#FFC763","#FFE896","#FEAF4B","#FEAF4B","#FFE896","#FD7C36","#A50026","#FEAF4B","#FE9941","#FD7C36","#A50026","#FEAF4B","#FE9941","#FEAF4B","#FEAF4B","#FE9941","#FFE896","#800026","#FEAF4B","#800026","#FEAF4B","#FFE896","#800026","#FE9941","#DD171E","#DD171E","#FEDC7D","#FFE896","#A50026","#FE9941","#FC542B","#C60624","#FC542B","#C60624","#FFFFCC","#FEAF4B","#FEAF4B","#FFC763","#FE9941","#FEAF4B","#FFE896","#FFFFCC","#FE9941","#FE9941","#FFC763","#FD7C36","#DD171E","#FE9941","#FD7C36","#800026","#FE9941","#FEAF4B","#FFFFCC","#FEAF4B","#800026","#C60624","#A50026","#C60624","#FE9941","#FFFFCC","#FC542B","#FFE896","#FFFFCC","#FFFFCC","#FFFFCC","#FE9941","#FEAF4B","#FFC763","#A50026","#FFF4B1","#FE9941","#FC542B","#FFFFCC","#EF3622","#FEDC7D","#FE9941","#FE9941","#A50026","#FFFFCC","#C60624","#FEAF4B","#FFFFCC","#800026","#C60624","#FC542B","#FEDC7D","#FEAF4B","#FE9941","#C60624","#FEAF4B","#FEDC7D","#FEDC7D","#FE9941","#800026","#C60624","#FD7C36","#C60624","#FFE896","#FD7C36","#FE9941","#FEAF4B","#FFF4B1","#FEDC7D","#FE9941","#FEDC7D","#DD171E","#A50026","#FFFFCC","#FEAF4B","#FFE896","#FFC763","#FFFFCC","#FEAF4B","#A50026","#FFE896","#FFFFCC","#FEAF4B","#FD7C36","#FFC763","#FFE896","#FEAF4B","#FFE896","#FFF4B1","#FFE896","#C60624","#800026","#FFFFCC","#C60624","#FE9941","#FFFFCC","#800026","#FFF4B1","#FEAF4B","#FFE896","#EF3622","#FEAF4B","#C60624","#FFF4B1","#FE9941","#FE9941","#DD171E","#EF3622","#FE9941","#EF3622","#FFFFCC","#FE9941","#C60624","#FFF4B1","#FFE896","#C60624","#FFE896","#C60624","#FFE896","#A50026","#FEAF4B","#FEAF4B","#FFF4B1","#FFE896","#FFE896","#FEAF4B","#FFF4B1","#C60624","#FFC763","#A50026","#FFC763","#FFFFCC","#C60624","#800026","#800026","#A50026","#FFC763","#FFC763","#FFF4B1","#FEAF4B","#DD171E","#FFE896","#FFC763","#FD7C36","#FFFFCC","#FEAF4B","#FFE896","#FE9941","#A50026","#FFF4B1","#FFC763","#FE9941","#FEAF4B","#C60624","#FFC763","#FFE896","#FEAF4B","#FE9941","#C60624","#FFF4B1","#FFFFCC","#FC542B","#FEAF4B","#FFFFCC","#FEAF4B","#FEAF4B","#FE9941","#C60624","#FD7C36","#FFFFCC","#800026","#FFE896","#FC542B","#FEAF4B","#FE9941","#DD171E","#FFFFCC","#FEDC7D","#FFFFCC","#FFF4B1","#FEAF4B","#FE9941","#FEDC7D","#FFFFCC","#FFC763","#FFE896","#FEAF4B","#FEAF4B","#FFFFCC","#FD7C36","#FFC763","#C60624","#FFFFCC","#FFFFCC","#FE9941","#FEAF4B","#C60624","#FFE896","#FFE896","#FEDC7D","#EF3622","#800026","#FD7C36","#800026","#EF3622","#FEAF4B","#FFFFCC","#FFE896","#DD171E","#FFF4B1","#FEDC7D","#C60624","#FFE896","#800026","#FFE896","#FFE896","#FFFFCC","#800026","#FFE896","#FD7C36","#FFC763","#A50026","#800026","#FFE896","#FEAF4B","#C60624","#FFE896","#DD171E","#FE9941","#FFE896","#FEAF4B","#A50026","#FFFFCC","#FEAF4B","#FFFFCC","#FFE896","#DD171E","#FFFFCC","#FFE896","#C60624","#FEAF4B","#FFFFCC","#DD171E","#A50026","#FEDC7D","#FFE896","#FD7C36","#FFF4B1","#FFE896","#DD171E","#FC542B","#FFE896","#FD7C36","#FFF4B1","#FFE896","#800026","#FE9941","#FE9941","#DD171E","#FEAF4B","#FEDC7D","#C60624","#A50026","#800026","#800026","#C60624","#800026","#FE9941","#FE9941","#FE9941","#800026","#C60624","#FFE896","#FFFFCC","#FD7C36","#FFE896","#A50026","#FD7C36","#FEAF4B","#FFFFCC","#FEDC7D","#FFF4B1","#FFE896","#FE9941","#FE9941","#FFFFCC","#FE9941","#FFE896","#C60624","#FEDC7D","#FE9941","#FEAF4B","#FEDC7D","#FC542B","#FFE896","#FE9941","#FD7C36","#FEAF4B","#FE9941","#C60624","#FFFFCC","#A50026","#FE9941","#A50026","#FD7C36","#FEAF4B","#FFC763","#800026","#FD7C36","#FE9941","#DD171E","#FFE896","#FFF4B1","#FFE896","#FFF4B1","#800026","#800026","#800026","#800026","#FEAF4B","#FEAF4B","#C60624","#FEAF4B","#800026","#A50026","#FE9941","#FE9941","#FFF4B1","#FD7C36","#FEAF4B","#FEAF4B","#A50026","#FFFFCC","#C60624","#FE9941","#FE9941","#A50026","#FE9941","#FE9941","#FE9941","#FFE896","#FFE896","#FEAF4B","#FFFFCC","#FE9941","#FE9941","#FFE896","#DD171E","#FFFFCC","#FD7C36","#FC542B","#FFFFCC","#FFF4B1","#FD7C36","#A50026","#FD7C36","#FFFFCC","#FEAF4B","#FC542B","#FEAF4B","#FEAF4B","#FEDC7D","#FFE896","#A50026","#FEAF4B","#FFFFCC","#FC542B","#FFE896","#FC542B","#FFE896","#FC542B","#800026","#FE9941","#FC542B","#800026","#FE9941","#FFE896","#FFFFCC","#FEDC7D","#FEAF4B","#FFE896","#FD7C36","#FFF4B1","#A50026","#FE9941","#FE9941","#FE9941","#800026","#FE9941","#FEAF4B","#FEAF4B","#C60624","#FE9941","#FE9941","#FE9941","#FFFFCC","#800026","#FFE896","#FEDC7D","#FFF4B1","#800026","#FFFFCC","#FEAF4B","#FFF4B1","#800026","#FFF4B1","#800026","#FFE896","#FFC763","#800026","#800026","#FFFFCC","#C60624","#FFE896","#A50026","#FFF4B1","#FFF4B1","#FEAF4B","#FEDC7D","#800026","#FE9941","#FE9941","#A50026","#FFFFCC","#FEAF4B","#FEAF4B","#FEAF4B","#DD171E","#A50026","#800026","#FFC763","#C60624","#FEDC7D","#FC542B","#FFF4B1","#FD7C36","#FEAF4B","#FFF4B1","#FE9941","#FFC763","#A50026","#DD171E","#A50026","#800026","#FFFFCC","#FFFFCC","#A50026","#C60624","#FEAF4B","#FD7C36","#FC542B","#800026","#FE9941","#FEAF4B","#FE9941","#FFFFCC","#FE9941","#A50026","#FEAF4B","#FFF4B1","#FFFFCC","#FFFFCC","#FFF4B1","#FD7C36","#FFC763","#800026","#A50026","#FFF4B1","#FFF4B1","#FEAF4B","#FC542B","#FFF4B1","#800026","#FEAF4B","#FFE896","#FFC763","#800026","#FE9941","#800026","#FFFFCC","#FD7C36","#800026","#FFC763","#FEDC7D","#FFE896","#FFC763","#FD7C36","#C60624","#800026","#FFF4B1","#800026","#800026","#A50026","#800026","#FFFFCC","#FFC763","#FFE896","#FFFFCC","#FE9941","#FEAF4B","#FFFFCC","#FE9941","#FEAF4B","#EF3622","#FFF4B1","#EF3622","#FD7C36","#FFFFCC","#800026","#A50026","#FEDC7D","#A50026","#FEAF4B","#FFFFCC","#EF3622","#FFF4B1","#A50026","#FFFFCC","#C60624","#800026","#FEDC7D","#FFF4B1","#FE9941","#FFE896","#FFE896","#800026","#FFE896","#FFE896","#800026","#800026","#A50026","#FEAF4B","#FFC763","#FFE896","#FFFFCC","#FFE896","#FFFFCC","#FFE896","#A50026","#FE9941","#DD171E","#FEDC7D","#FFC763","#A50026","#FFFFCC","#FC542B","#FEAF4B","#800026","#FFFFCC","#FFC763","#FEAF4B","#FE9941","#C60624","#FEAF4B","#FFE896","#FE9941","#FFF4B1","#FEAF4B","#A50026","#800026","#FEAF4B","#FFC763","#FE9941","#EF3622","#FFFFCC","#FEAF4B","#FFE896","#FEAF4B","#FC542B","#FE9941","#800026","#DD171E","#FFF4B1","#FFE896","#FFE896","#FFE896","#FE9941","#FD7C36","#FFFFCC","#C60624","#FEAF4B","#FC542B","#A50026","#FFFFCC","#FEAF4B","#FFF4B1","#A50026","#EF3622","#FE9941","#FE9941","#A50026","#FE9941","#EF3622","#FFF4B1","#FFC763","#A50026","#DD171E","#FEDC7D","#FC542B","#FEAF4B","#FFFFCC","#FEDC7D","#FFF4B1","#FEAF4B","#C60624","#FFF4B1","#EF3622","#FFE896","#FD7C36","#FFC763","#FFFFCC","#C60624","#FE9941","#FEAF4B","#FFC763","#FE9941","#FFC763","#FFFFCC","#FEAF4B","#FFC763","#800026","#A50026","#FFFFCC","#FFFFCC","#800026","#FFE896","#FEAF4B","#FFFFCC","#C60624","#FEAF4B","#FFC763","#FE9941","#FFE896","#FFF4B1","#FFE896","#FFC763","#FFE896","#FFE896","#800026","#FEDC7D","#800026","#FEDC7D","#C60624","#FFFFCC","#FFF4B1","#FFE896","#FEAF4B","#800026","#FFC763","#FEAF4B","#FEAF4B","#FFE896","#FE9941","#FFF4B1","#DD171E","#FE9941","#FFFFCC","#FFE896","#FFF4B1","#FE9941","#FFE896","#FFE896","#DD171E","#FFF4B1","#FEDC7D","#FFE896","#800026","#FE9941","#FFC763","#800026","#FFFFCC","#EF3622","#FEAF4B","#FFE896","#FE9941","#FFFFCC","#FE9941","#FFC763","#FFE896","#FEAF4B","#FFFFCC","#FE9941","#A50026","#C60624","#FFC763","#FFF4B1","#FEAF4B","#FEDC7D","#A50026","#800026","#C60624","#FE9941","#FEAF4B","#FEAF4B","#800026","#FEDC7D","#FEAF4B","#C60624","#A50026","#FEAF4B","#FFFFCC","#FE9941","#C60624","#FFFFCC","#FC542B","#FE9941","#FE9941","#FFC763","#A50026","#A50026","#FFFFCC","#800026","#FE9941","#C60624","#C60624","#FE9941","#FEDC7D","#FFC763","#DD171E","#FE9941","#FFE896","#FE9941","#A50026","#FFF4B1","#FE9941","#FFF4B1","#FEAF4B","#FE9941","#A50026","#FFF4B1","#FFE896","#FC542B","#FFFFCC","#FD7C36","#FFFFCC","#C60624","#FE9941","#FD7C36","#FEDC7D","#FD7C36","#800026","#C60624","#FD7C36","#FFF4B1","#FEAF4B","#FFE896","#800026","#A50026","#A50026","#C60624","#FFC763","#FE9941","#FE9941","#FFFFCC","#FFFFCC","#800026","#FC542B","#FEAF4B","#FFFFCC","#FE9941","#FC542B","#FEDC7D","#FFFFCC","#FFFFCC","#FE9941","#C60624","#800026","#800026","#FE9941","#FEDC7D","#FFFFCC","#FEAF4B","#FFE896","#FFFFCC","#C60624","#FE9941","#FD7C36","#FFE896","#C60624","#FE9941","#FFC763","#FFF4B1","#EF3622","#800026","#A50026","#FEAF4B","#FFFFCC","#FEAF4B","#A50026","#FEAF4B","#C60624","#FFFFCC","#800026","#FFFFCC","#C60624","#A50026","#C60624","#FE9941","#FFFFCC","#FEAF4B","#FE9941","#FEAF4B","#EF3622","#A50026","#FFFFCC","#FE9941","#A50026","#C60624","#FFFFCC","#FEAF4B","#FFF4B1","#FFC763","#800026","#A50026","#FFFFCC","#FFE896","#FEAF4B","#FEAF4B","#FFE896","#FFF4B1","#FFE896","#FEAF4B","#800026","#FFE896","#FFE896","#FE9941","#FD7C36","#800026","#FE9941","#FEDC7D","#FEAF4B","#FFE896","#FE9941","#800026","#FC542B","#FE9941","#FFC763","#800026","#FFE896","#FFC763","#A50026","#FE9941","#DD171E","#FFC763","#FFFFCC","#C60624","#FFE896","#FEAF4B","#FFFFCC","#FEDC7D","#FEAF4B","#FEAF4B","#FD7C36","#C60624","#FFC763","#FEAF4B","#FEAF4B","#FE9941","#FFE896","#DD171E","#FC542B","#FFF4B1","#FFFFCC","#FFFFCC","#FEAF4B","#FFE896","#FEDC7D","#FFE896","#FFF4B1","#FFC763","#FFF4B1","#FEAF4B","#800026","#FFFFCC","#FFFFCC","#C60624","#800026","#FFE896","#FC542B","#FEAF4B","#FEDC7D","#FE9941","#FE9941","#FE9941","#FEAF4B","#A50026","#FFE896","#800026","#FE9941","#A50026","#800026","#FEAF4B","#FFFFCC","#800026","#FFE896","#A50026","#FFE896","#800026","#FEAF4B","#FEDC7D","#FFE896","#FEAF4B","#FEDC7D","#FEAF4B","#A50026","#FEDC7D","#FEAF4B","#A50026","#FFE896","#A50026","#C60624","#A50026","#FEDC7D","#DD171E","#DD171E","#FEAF4B","#FFC763","#FE9941","#FFF4B1","#FFF4B1","#FFF4B1","#C60624","#A50026","#FEAF4B","#FE9941","#A50026","#A50026","#FFC763","#FFF4B1","#FE9941","#FD7C36","#DD171E","#FEAF4B","#A50026","#FE9941","#800026","#FE9941","#FE9941","#FEDC7D","#FFE896","#C60624","#FFC763","#FD7C36","#FFFFCC","#FEAF4B","#FE9941","#800026","#FFC763","#FFE896","#FEDC7D","#C60624","#FEAF4B","#FFF4B1","#800026","#FFFFCC","#A50026","#FFF4B1","#FFFFCC","#FFE896","#FEDC7D","#800026","#FE9941","#A50026","#A50026","#FC542B","#A50026","#FE9941","#FFE896","#EF3622","#FFE896","#800026","#FFE896","#FFFFCC","#FEAF4B","#FE9941","#FFFFCC","#C60624","#A50026","#FE9941","#FFFFCC","#A50026","#FFF4B1","#FE9941","#FE9941","#C60624","#FEDC7D","#800026","#FD7C36","#FFFFCC","#FFFFCC","#EF3622","#FEAF4B","#FFC763","#A50026","#FD7C36","#FD7C36","#FFFFCC","#FFF4B1","#FFC763","#FEAF4B","#FE9941","#FE9941","#FFF4B1","#FFE896","#A50026","#C60624","#FE9941","#FFFFCC","#A50026","#FFF4B1","#FE9941","#FEAF4B","#800026","#FEAF4B","#FC542B","#FFF4B1","#FFE896","#FFFFCC","#FFF4B1","#FE9941","#C60624","#FE9941","#FFE896","#FE9941","#FFFFCC","#FFE896","#FD7C36","#800026","#FEAF4B","#FEAF4B","#FE9941","#A50026","#FEDC7D","#FFE896","#FFF4B1","#FE9941","#FE9941","#FEAF4B","#FFFFCC","#FFFFCC","#FFE896","#C60624","#A50026","#FEAF4B","#FE9941","#A50026","#FEAF4B","#FEAF4B","#FFF4B1","#FFF4B1","#FFF4B1","#FFE896","#FFC763","#FE9941","#FFE896","#FFFFCC","#C60624","#FEAF4B","#800026","#FFF4B1","#FE9941","#FFC763","#FFFFCC","#800026","#FEDC7D","#FEAF4B","#FEAF4B","#FEDC7D","#FFE896","#FFE896","#FE9941","#800026","#FD7C36","#FEAF4B","#800026","#800026","#FFF4B1","#FD7C36","#FEDC7D","#FFC763","#A50026","#800026","#A50026","#A50026","#800026","#A50026","#EF3622","#800026","#C60624","#FE9941","#FEAF4B","#A50026","#FC542B","#FEAF4B","#800026","#A50026","#DD171E","#A50026","#FEAF4B","#FEAF4B","#FEAF4B","#FFFFCC","#FFC763","#FFE896","#FEDC7D","#FEAF4B","#FD7C36","#FFFFCC","#FFC763","#FEDC7D","#FD7C36","#800026","#C60624","#800026","#FFF4B1","#800026","#800026","#EF3622","#FFF4B1","#FFE896","#FFF4B1","#FFFFCC","#FEAF4B","#FEAF4B","#FEAF4B","#FFFFCC","#FFE896","#800026","#FE9941","#DD171E","#FEAF4B","#800026","#FE9941","#FEDC7D","#800026","#FFF4B1","#C60624","#A50026","#A50026","#EF3622","#800026","#C60624","#C60624","#FFFFCC","#FFF4B1","#FFFFCC","#A50026","#800026","#FC542B","#C60624","#C60624","#FE9941","#FEAF4B","#FEDC7D","#FFFFCC","#FEAF4B","#A50026","#C60624","#FFFFCC","#FD7C36","#A50026","#FFFFCC","#FE9941","#FC542B","#FE9941","#FD7C36","#FEAF4B","#FFC763","#FEAF4B","#FFFFCC","#800026","#A50026","#FC542B","#FFFFCC","#FEAF4B","#800026","#800026","#FFC763","#C60624","#FFF4B1","#FEAF4B","#EF3622","#FFFFCC","#FC542B","#FEAF4B","#C60624","#FEDC7D","#FFFFCC","#FFF4B1","#FEAF4B","#FD7C36","#800026","#800026","#FEAF4B","#FC542B","#FEAF4B","#FEAF4B","#800026","#FE9941","#FE9941","#FEDC7D","#FEAF4B","#FFFFCC","#FE9941","#FEAF4B","#FE9941","#FFE896","#FFE896","#FE9941","#FFE896","#FEAF4B","#A50026","#A50026","#FEDC7D","#FD7C36","#FE9941","#A50026","#A50026","#FFFFCC","#FEAF4B","#FE9941","#FE9941","#FEDC7D","#FEDC7D","#FEAF4B","#A50026","#FEAF4B","#EF3622","#FEDC7D","#FFF4B1","#FE9941","#FE9941","#800026","#FFE896","#FFE896","#800026","#FEDC7D","#FFFFCC","#FD7C36","#FFE896","#FEAF4B","#FFE896","#FE9941","#FFFFCC","#FFF4B1","#C60624","#FC542B","#FC542B","#FE9941","#FFF4B1","#FFF4B1","#800026","#FEAF4B","#FEDC7D","#A50026","#FFF4B1","#800026","#800026","#FE9941","#800026","#C60624","#800026","#FEAF4B","#FD7C36","#FD7C36","#DD171E","#EF3622","#FFE896","#FFFFCC","#FFE896","#800026","#800026","#FE9941","#FEAF4B","#FC542B","#FEAF4B","#800026","#C60624","#FFFFCC","#FC542B","#FFC763","#FFE896","#FD7C36","#FEDC7D","#FFFFCC","#FEAF4B","#FEDC7D","#800026","#FEAF4B","#FFFFCC","#FFF4B1","#C60624","#A50026","#FC542B","#FFE896","#FEAF4B","#A50026","#FFE896","#FEAF4B","#FFFFCC","#FFC763","#FC542B","#FFFFCC","#FEAF4B","#FFF4B1","#FEAF4B","#FFFFCC","#FEDC7D","#FEDC7D","#FFFFCC","#FFFFCC","#FC542B","#FE9941","#800026","#FFF4B1","#800026","#C60624","#DD171E","#A50026","#DD171E","#A50026","#DD171E","#DD171E","#FEAF4B","#DD171E","#FFFFCC","#EF3622","#FEAF4B","#A50026","#FFE896","#DD171E","#FFFFCC","#FFFFCC","#FEAF4B","#FD7C36","#FFF4B1","#FC542B","#A50026","#FFFFCC","#FFE896","#FFE896","#FEAF4B","#FE9941","#FEAF4B","#FE9941","#A50026","#800026","#A50026","#FFFFCC","#FFC763","#FD7C36","#A50026","#FEAF4B","#800026","#FC542B","#FEAF4B","#FFF4B1","#C60624","#EF3622","#FFFFCC","#800026","#FFE896","#FFC763","#FFFFCC","#FEAF4B","#FFFFCC","#FFFFCC","#FE9941","#FFE896","#FFE896","#800026","#FC542B","#FFF4B1","#FFF4B1","#FEAF4B","#FEAF4B","#C60624","#FFE896","#FEAF4B","#800026","#A50026","#800026","#FFC763","#FE9941","#FFFFCC","#DD171E","#C60624","#FEAF4B","#DD171E","#C60624","#EF3622","#FEAF4B","#A50026","#FE9941","#FE9941","#FFFFCC","#FFE896","#FE9941","#DD171E","#FE9941","#FFF4B1","#FFE896","#FEDC7D","#800026","#FE9941","#FEAF4B","#FD7C36","#FFF4B1","#FEAF4B","#FE9941","#FEAF4B","#FE9941","#800026","#A50026","#FFC763","#A50026","#FD7C36","#FE9941","#800026","#FC542B","#800026","#FEAF4B","#FEDC7D","#FEAF4B","#FEDC7D","#FFF4B1","#FFFFCC","#FEAF4B","#FFF4B1","#A50026","#FFE896","#FD7C36","#FE9941","#FFE896","#FEAF4B","#800026","#DD171E","#FFE896","#FFC763","#FE9941","#FFE896","#C60624","#FEAF4B","#FFE896","#FFE896","#FFE896","#800026","#FD7C36","#FFE896","#800026","#FEAF4B","#FFFFCC","#FE9941","#A50026","#A50026","#FEAF4B","#FFE896","#A50026","#A50026","#FFE896","#FFE896","#C60624","#FE9941","#FEAF4B","#FFFFCC","#C60624","#800026","#DD171E","#FFFFCC","#FFFFCC","#800026","#800026","#C60624","#FEAF4B","#FE9941","#C60624","#800026","#800026","#FFF4B1","#FFF4B1","#FFE896","#DD171E","#800026","#FFC763","#FFE896","#A50026","#FE9941","#FFF4B1","#FFFFCC","#FEAF4B","#FC542B","#FFE896","#FFE896","#800026","#FEDC7D","#FFFFCC","#A50026","#FE9941","#DD171E","#FE9941","#FEAF4B","#800026","#FFFFCC","#FEAF4B","#FC542B","#FFE896","#FFC763","#FEAF4B","#800026","#800026","#FEAF4B","#FFE896","#FFE896","#FFC763","#FFE896","#FEDC7D","#FEAF4B","#FFE896","#A50026","#FEAF4B","#FFFFCC","#FE9941","#FFE896","#C60624","#FD7C36","#FFF4B1","#FD7C36","#FFE896","#FC542B","#FFE896","#FEAF4B","#FFE896","#FE9941","#FFFFCC","#FE9941","#FFC763","#FFC763","#C60624","#800026","#800026","#DD171E","#FE9941","#FE9941","#FD7C36","#800026","#FFC763","#FFE896","#FEAF4B","#FFF4B1","#800026","#FFF4B1","#FE9941","#FFC763","#800026","#A50026","#FFF4B1","#FFFFCC","#FFF4B1","#A50026","#FE9941","#FEAF4B","#FFE896","#FEDC7D","#EF3622","#FFE896","#FFE896","#FFE896","#800026","#FE9941","#C60624","#FE9941","#800026","#FFE896","#FE9941","#FFFFCC","#FFE896","#FFC763","#FEAF4B","#FFF4B1","#A50026","#FFE896","#FC542B","#FFE896","#C60624","#DD171E","#FFE896","#DD171E","#FFFFCC","#FEAF4B","#C60624","#FD7C36","#FFFFCC","#FEAF4B","#FFFFCC","#FEAF4B","#FFF4B1","#FEDC7D","#FE9941","#FEDC7D","#800026","#FC542B","#FFC763","#FEAF4B","#800026","#FFFFCC","#FE9941","#FFFFCC","#FFF4B1","#DD171E","#FEDC7D","#A50026","#FFF4B1","#800026","#FD7C36","#FEAF4B","#FFC763","#800026","#FEAF4B","#FFE896","#A50026","#FE9941","#FFE896","#FEDC7D","#FFFFCC","#800026","#FFF4B1","#FFFFCC","#FFF4B1","#FEAF4B","#FD7C36","#FFF4B1","#DD171E","#FC542B","#FE9941","#FEAF4B","#FFC763","#FE9941","#FE9941","#FFFFCC","#FFE896","#FFFFCC","#800026","#FEAF4B","#C60624","#FE9941","#FD7C36","#FEDC7D","#FC542B","#FD7C36","#FFFFCC","#FFC763","#FFE896","#FFC763","#FE9941","#FFE896","#FE9941","#FFFFCC","#800026","#C60624","#FEAF4B","#C60624","#FFF4B1","#A50026","#FFFFCC","#800026","#FE9941","#800026","#C60624","#FFE896","#FEAF4B","#FFC763","#FC542B","#FE9941","#800026","#FFC763","#FD7C36","#C60624","#FEDC7D","#FFF4B1","#FFE896","#FFE896","#FE9941","#FEDC7D","#FFF4B1","#FEAF4B","#FEAF4B","#FE9941","#DD171E","#FFFFCC","#FFF4B1","#FE9941","#800026","#DD171E","#FFFFCC","#FFE896","#FE9941","#FE9941","#800026","#FFE896","#FEAF4B","#FE9941","#FE9941","#FEAF4B","#FEAF4B","#FEAF4B","#C60624","#FFE896","#A50026","#FFFFCC","#C60624","#C60624","#A50026","#FC542B","#FEAF4B","#FEDC7D","#FE9941","#FEDC7D","#FFE896","#C60624","#800026","#800026","#FC542B","#A50026","#FFF4B1","#FC542B","#FEDC7D","#FFFFCC","#FFC763","#800026","#A50026","#C60624","#FFC763","#FFE896","#FE9941","#FD7C36","#EF3622","#FE9941","#C60624","#FE9941","#A50026","#FFF4B1","#FFF4B1","#FE9941","#A50026","#FE9941","#FC542B","#FFE896","#C60624","#A50026","#FEAF4B","#A50026","#FC542B","#C60624","#FFFFCC","#800026","#800026","#FE9941","#FFE896","#FEDC7D","#FEAF4B","#FE9941","#FFFFCC","#800026","#FFFFCC","#FE9941","#FD7C36","#C60624","#FFFFCC","#FEDC7D","#FEAF4B","#C60624","#800026","#FEAF4B","#FC542B","#FEAF4B","#FEAF4B","#DD171E","#FEDC7D","#FEAF4B","#FEDC7D","#FFE896","#FC542B","#FFF4B1","#FFE896","#FFE896","#800026","#A50026","#FFC763","#FEAF4B","#FEAF4B","#DD171E","#FE9941","#FEAF4B","#FFFFCC","#FFC763","#FFFFCC","#800026","#FFE896","#A50026","#FEDC7D","#FE9941","#800026","#FFFFCC","#FE9941","#FC542B","#FFE896","#FE9941","#FFFFCC","#800026","#FFE896","#FFFFCC","#C60624","#FC542B","#FEAF4B","#800026","#FD7C36","#FFE896","#FFE896","#FEAF4B","#FEAF4B","#EF3622","#FC542B","#FFFFCC","#800026","#FFE896","#FFFFCC","#FD7C36","#800026","#FE9941","#FC542B","#FE9941","#FFC763","#FEAF4B","#FEAF4B","#FFF4B1","#FFE896","#FFFFCC","#FE9941","#A50026","#FFF4B1","#FFE896","#FEAF4B","#A50026","#FE9941","#FFE896","#FFFFCC","#FFC763","#FEAF4B","#800026","#C60624","#FC542B","#FFC763","#FFC763","#FE9941","#800026","#FFC763","#FE9941","#C60624","#FD7C36","#FFFFCC","#FFF4B1","#FC542B","#DD171E","#C60624","#FEAF4B","#FE9941","#FE9941","#FFC763","#C60624","#FD7C36","#FC542B","#EF3622","#FEDC7D","#FFE896","#FD7C36","#FFE896","#FFE896","#800026","#FFC763","#FE9941","#800026","#FEAF4B","#FEAF4B","#800026","#C60624","#FEAF4B","#FEAF4B","#FFC763","#FFFFCC","#800026","#FEDC7D","#FEAF4B","#FE9941","#FFE896","#FEDC7D","#800026","#FFC763","#FEDC7D","#FEAF4B","#FEDC7D","#A50026","#FEAF4B","#800026","#FFFFCC","#C60624","#800026","#FE9941","#FEAF4B","#FE9941","#FE9941","#FC542B","#800026","#FFF4B1","#FFFFCC","#FFF4B1","#FFF4B1","#FFF4B1","#FFFFCC","#FFE896","#FEAF4B","#FEDC7D","#800026","#800026","#FEAF4B","#FE9941","#FEDC7D","#FE9941","#C60624","#FEDC7D","#FFE896","#A50026","#A50026","#FEAF4B","#FFF4B1","#FEAF4B","#FFE896","#FFE896","#FEAF4B","#FC542B","#FEAF4B","#FE9941","#800026","#FC542B","#EF3622","#FFE896","#FD7C36","#FC542B","#FFE896","#FFE896","#FFE896","#FFF4B1","#C60624","#FEAF4B","#FC542B","#FE9941","#FEAF4B","#DD171E","#FEDC7D","#FEAF4B","#FFC763","#FEDC7D","#FC542B","#C60624","#A50026","#FFE896","#FFF4B1","#FC542B","#FE9941","#FFE896","#FFE896","#FEAF4B","#800026","#FFC763","#FEAF4B","#FD7C36","#FE9941","#C60624","#FFC763","#800026","#FFFFCC","#FFFFCC","#DD171E","#FEAF4B","#FFFFCC","#DD171E","#800026","#A50026","#FFC763","#FFE896","#FFC763","#FD7C36","#A50026","#C60624","#800026","#C60624","#FEAF4B","#FFF4B1","#FFFFCC","#FFC763","#800026","#FEAF4B","#FEAF4B","#FFE896","#FD7C36","#C60624","#FEAF4B","#800026","#C60624","#FC542B","#FEAF4B","#FE9941","#FFFFCC","#FEAF4B","#800026","#FFF4B1","#FFC763","#FFF4B1","#C60624","#FE9941","#800026","#FC542B","#DD171E","#A50026","#A50026","#FEAF4B","#A50026","#A50026","#FFF4B1","#C60624","#FC542B","#FFF4B1","#FEAF4B","#800026","#800026","#FFFFCC","#DD171E","#C60624","#C60624","#FEAF4B","#FFE896","#800026","#800026","#FFE896","#800026","#FEAF4B","#C60624","#FFFFCC","#FE9941","#FFE896","#FFF4B1","#FFE896","#EF3622","#FD7C36","#FEDC7D","#A50026","#FFF4B1","#FEAF4B","#FE9941","#C60624","#FE9941","#800026","#FE9941","#FEAF4B","#FFE896","#800026","#A50026","#FE9941","#FFC763","#FEAF4B","#FD7C36","#FEAF4B","#FFE896","#DD171E","#FEAF4B","#FFE896","#800026","#C60624","#FFE896","#FEAF4B","#FFFFCC","#A50026","#FEAF4B","#EF3622","#FEDC7D","#FFF4B1","#FE9941","#FEDC7D","#800026","#C60624","#FFFFCC","#FFE896","#FFFFCC","#FFF4B1","#FE9941","#FFFFCC","#FFE896","#C60624","#FFE896","#FEAF4B","#FE9941","#FEAF4B","#FEAF4B","#FFE896","#FEAF4B","#FE9941","#FFFFCC","#800026","#FEAF4B","#FEAF4B","#EF3622","#FFE896","#FFE896","#FFF4B1","#FE9941","#FEAF4B","#FEAF4B","#FFFFCC","#FEAF4B","#A50026","#FFF4B1","#FEAF4B","#FFE896","#FFF4B1","#800026","#FFE896","#FEDC7D","#FD7C36","#FE9941","#FEAF4B","#FFFFCC","#FFE896","#FE9941","#FFE896","#FEAF4B","#A50026","#A50026","#C60624","#FE9941","#FFFFCC","#A50026","#FFC763","#FD7C36","#DD171E","#FFFFCC","#FFFFCC","#FEDC7D","#FFFFCC","#FE9941","#FEAF4B","#FEAF4B","#800026","#FFE896","#FFE896","#A50026","#FEDC7D","#FE9941","#C60624","#FEDC7D","#FEAF4B","#FE9941","#FFFFCC","#FEAF4B","#FFF4B1","#FFC763","#A50026","#A50026","#FFFFCC","#FFE896","#FE9941","#FEAF4B","#800026","#A50026","#FEDC7D","#FFE896","#FFE896","#EF3622","#EF3622","#A50026","#FFF4B1","#FEAF4B","#FEAF4B","#FE9941","#FEAF4B","#FFF4B1","#FFFFCC","#FE9941","#FFF4B1","#FFC763","#FE9941","#FC542B","#FEDC7D","#FEAF4B","#FEDC7D","#FFE896","#FFFFCC","#FFF4B1","#FFF4B1","#FFF4B1","#FFFFCC","#FE9941","#FD7C36","#FFE896","#800026","#FEAF4B","#FFFFCC","#C60624","#FFF4B1","#FEAF4B","#FEAF4B","#800026","#FFE896","#FFE896","#A50026","#FEAF4B","#FFF4B1","#FC542B","#FEAF4B","#A50026","#FEAF4B","#FE9941","#FEAF4B","#FEAF4B","#FFE896","#FEAF4B","#DD171E","#800026","#FFE896","#FE9941","#FE9941","#A50026","#C60624","#800026","#FE9941","#EF3622","#FD7C36","#FE9941","#A50026","#FFFFCC","#FEAF4B","#800026","#FFFFCC","#FFF4B1","#FFF4B1","#FD7C36","#FEAF4B","#FEAF4B","#FFC763","#FE9941","#FFFFCC","#C60624","#FFFFCC","#FE9941","#800026","#800026","#FEAF4B","#C60624","#FE9941","#FE9941","#800026","#FE9941","#A50026","#FFF4B1","#FFC763","#FE9941","#FFE896","#FFE896","#FE9941","#FEDC7D","#FEAF4B","#800026","#C60624","#EF3622","#FFE896","#FFF4B1","#FFE896","#A50026","#FD7C36","#FC542B","#FEDC7D","#800026","#FFF4B1","#FFE896","#FE9941","#FFFFCC","#FFE896","#DD171E","#FFFFCC","#C60624","#FFE896","#A50026","#FC542B","#FFC763","#FFFFCC","#FE9941","#A50026","#FEAF4B","#FFF4B1","#FFF4B1","#FEAF4B","#800026","#800026","#FEAF4B","#FEAF4B","#EF3622","#800026","#FE9941","#FEDC7D","#FEAF4B","#FE9941","#800026","#FE9941","#FFFFCC","#800026","#FEAF4B","#800026","#FFF4B1","#FD7C36","#FEAF4B","#FEAF4B","#A50026","#FFFFCC","#FEAF4B","#FE9941","#FFFFCC","#DD171E","#FFE896","#FFE896","#FD7C36","#FFE896","#800026","#C60624","#A50026","#FFFFCC","#C60624","#FFF4B1","#DD171E","#FFF4B1","#FE9941","#FEAF4B","#800026","#FFFFCC","#FEAF4B","#FFE896","#FEAF4B","#800026","#FEDC7D","#FE9941","#FFF4B1","#800026","#800026","#800026","#FE9941","#A50026","#FEDC7D","#FFE896","#A50026","#FFC763","#FC542B","#FC542B","#FE9941","#FEDC7D","#EF3622","#FFE896","#FEAF4B","#DD171E","#FFE896","#FC542B","#DD171E","#C60624","#FEAF4B","#FE9941","#800026","#FFC763","#DD171E","#800026","#FFF4B1","#FEAF4B","#FFFFCC","#FFF4B1","#FFFFCC","#FFF4B1","#C60624","#FFFFCC","#C60624","#FEAF4B","#FEAF4B","#FFE896","#800026","#C60624","#FEAF4B","#FEAF4B","#800026","#FFE896","#FFC763","#FEAF4B","#800026","#DD171E","#FEAF4B","#800026","#800026","#FFC763","#FE9941","#C60624","#A50026","#FFFFCC","#FE9941","#800026","#A50026","#FD7C36","#C60624","#FEAF4B","#EF3622","#C60624","#FEDC7D","#FE9941","#FC542B","#FEAF4B","#FFC763","#FFFFCC","#FFFFCC","#FFE896","#FFFFCC","#FFF4B1","#C60624","#FD7C36","#FFE896","#FFFFCC","#FD7C36","#FFF4B1","#FE9941","#FE9941","#800026","#C60624","#FC542B","#FFF4B1","#FEAF4B","#FEAF4B","#FD7C36","#FE9941","#FEDC7D","#FFFFCC","#800026","#FEDC7D","#FE9941","#800026","#800026","#FFF4B1","#FD7C36","#FD7C36","#DD171E","#C60624","#FFF4B1","#FFC763","#FEAF4B","#DD171E","#800026","#800026","#FFC763","#FFC763","#FC542B","#FEDC7D","#FEAF4B","#FFF4B1","#A50026","#FE9941","#C60624","#FFE896","#C60624","#FFE896","#FD7C36","#DD171E","#FFF4B1","#EF3622","#FE9941","#800026","#FD7C36","#FE9941","#FFFFCC","#FE9941","#FEAF4B","#FFE896","#FFE896","#FD7C36","#A50026","#FE9941","#FFFFCC","#FFFFCC","#FFFFCC","#800026","#FD7C36","#C60624","#FFF4B1","#FEAF4B","#A50026","#800026","#FFF4B1","#800026","#A50026","#C60624","#800026","#A50026","#800026","#800026","#C60624","#FFE896","#FFF4B1","#FEAF4B","#FEAF4B","#FEAF4B","#800026","#FE9941","#FEDC7D","#FFE896","#FE9941","#FFF4B1","#FEAF4B","#FE9941","#FFE896","#800026","#FFE896","#FE9941","#A50026","#FE9941","#A50026","#FEAF4B","#FE9941","#FE9941","#FFE896","#FFE896","#FFE896","#FE9941","#FE9941","#800026","#FEAF4B","#FE9941","#800026","#A50026","#FFF4B1","#FEAF4B","#FE9941","#FFF4B1","#FFFFCC","#FE9941","#FFFFCC","#FE9941","#FFF4B1","#DD171E","#FE9941","#800026","#800026","#FFE896","#FFE896","#800026","#FFE896","#FD7C36","#FFC763","#800026","#800026","#EF3622","#DD171E","#FEAF4B","#C60624","#FEDC7D","#FEAF4B","#FD7C36","#A50026","#FEAF4B","#FC542B","#FFF4B1","#FFE896","#FD7C36","#FE9941","#FFF4B1","#FC542B","#800026","#FFC763","#FEAF4B","#C60624","#FFC763","#800026","#FFFFCC","#800026","#FEAF4B","#A50026","#800026","#FE9941","#FE9941","#800026","#FFFFCC","#FD7C36","#FFC763","#FFFFCC","#FFFFCC","#FFE896","#800026","#FFFFCC","#FEAF4B","#FFFFCC","#FE9941","#FFF4B1","#C60624","#A50026","#800026","#FFE896","#FEAF4B","#FFC763","#FE9941","#FE9941","#FE9941","#FEAF4B","#800026","#FFF4B1","#FFF4B1","#C60624","#FFE896","#FFFFCC","#C60624","#800026","#FFFFCC","#DD171E","#C60624","#DD171E","#EF3622","#FE9941","#A50026","#FEAF4B","#FFC763","#FE9941","#FE9941","#A50026","#FE9941","#C60624","#FFC763","#800026","#FFF4B1","#FFF4B1","#C60624","#FE9941","#FE9941","#A50026","#FFE896","#FE9941","#FE9941","#800026","#FE9941","#A50026","#FFE896","#FEAF4B","#FEAF4B","#FFE896","#A50026","#EF3622","#FE9941","#FD7C36","#800026","#FFFFCC","#C60624","#FFE896","#FE9941","#FD7C36","#800026","#C60624","#FD7C36","#A50026","#FFFFCC","#A50026","#FFF4B1","#FFF4B1","#FFFFCC","#800026","#C60624","#A50026","#800026","#FFFFCC","#FE9941","#A50026","#C60624","#A50026","#FE9941","#FFE896","#FEAF4B","#FE9941","#C60624","#FE9941","#DD171E","#FEAF4B","#800026","#800026","#A50026","#FEAF4B","#FEAF4B","#FE9941","#FC542B","#FEAF4B","#A50026","#FFF4B1","#C60624","#EF3622","#DD171E","#C60624","#FEAF4B","#FD7C36","#FFE896","#FFE896","#800026","#A50026","#FFF4B1","#FEDC7D","#FD7C36","#FFC763","#FD7C36","#FFFFCC","#FFE896","#FEAF4B","#EF3622","#FE9941","#FE9941","#FFE896","#A50026","#FFFFCC","#FFC763","#800026","#FFC763","#FEAF4B","#FFE896","#FFC763","#FEAF4B","#800026","#800026","#FFE896","#800026","#FEDC7D","#EF3622","#FFFFCC","#FEAF4B","#FFF4B1","#DD171E","#FFE896","#FFF4B1","#FFF4B1","#FE9941","#FEAF4B","#FFFFCC","#C60624","#FFFFCC","#FEAF4B","#FFF4B1","#FEAF4B","#C60624","#C60624","#FEAF4B","#FE9941","#FFE896","#FC542B","#FFE896","#FEDC7D","#FFFFCC","#A50026","#FFE896","#FEAF4B","#FFE896","#800026","#C60624","#FFFFCC","#FFC763","#FEAF4B","#FEAF4B","#A50026","#FE9941","#FFC763","#FFFFCC","#FE9941","#FD7C36","#FEAF4B","#800026","#FFFFCC","#FE9941","#A50026","#C60624","#800026","#FFF4B1","#FE9941","#FFFFCC","#FFFFCC","#FFC763","#FFFFCC","#A50026","#FFFFCC","#FE9941","#800026","#800026","#800026","#FEAF4B","#800026","#800026","#FFF4B1","#FEAF4B","#FFE896","#FFE896","#FE9941","#FFE896","#800026","#FE9941","#FEAF4B","#800026","#800026","#800026","#800026","#800026","#800026","#FEAF4B","#A50026","#FE9941","#FE9941","#FEAF4B","#FFE896","#800026","#FE9941","#FFE896","#FEAF4B","#EF3622","#FFE896","#FFFFCC","#FC542B","#FFC763","#800026","#800026","#A50026","#FFFFCC","#FFF4B1","#FD7C36","#A50026","#FFE896","#FFC763","#FEDC7D","#FEAF4B","#A50026","#FFFFCC","#FE9941","#800026","#FFE896","#FE9941","#FD7C36","#FFE896","#FFE896","#FEDC7D","#FFFFCC","#FFE896","#FFE896","#FFE896","#FEAF4B","#A50026","#FFC763","#FFFFCC","#A50026","#A50026","#FFE896","#800026","#FFC763","#C60624","#FEAF4B","#FFF4B1","#FE9941","#C60624","#FC542B","#FFFFCC","#A50026","#FEAF4B","#800026","#FFC763","#A50026","#FFC763","#FD7C36","#FFF4B1","#FEDC7D","#800026","#C60624","#FD7C36","#FE9941","#800026","#800026","#800026","#800026","#800026","#800026","#FFE896","#800026","#FEDC7D","#FFE896","#800026","#FFE896","#FEAF4B","#800026","#DD171E","#C60624","#FEDC7D","#FEAF4B","#FE9941","#800026","#FE9941","#FFFFCC","#800026","#FE9941","#FE9941","#FEDC7D","#FFC763","#FE9941","#FEDC7D","#FFC763","#FD7C36","#FEDC7D","#FFF4B1","#EF3622","#FE9941","#FFE896","#EF3622","#FFFFCC","#EF3622","#DD171E","#800026","#FFC763","#FEAF4B","#FE9941","#FE9941","#FFC763","#FFC763","#FFF4B1","#FFE896","#FFE896","#FE9941","#FC542B","#FE9941","#800026","#FFF4B1","#FEAF4B","#FFE896","#800026","#A50026","#FD7C36","#FFE896","#FE9941","#FFFFCC","#FEAF4B","#800026","#C60624","#FFC763","#800026","#FFF4B1","#FFFFCC","#FFFFCC","#800026","#FFE896","#FFE896","#FFE896","#800026","#A50026","#A50026","#FEDC7D","#FEAF4B","#FEAF4B","#FEAF4B","#C60624","#FEAF4B","#FFC763","#A50026","#FFC763","#FEAF4B","#FEAF4B","#FFE896","#DD171E","#FE9941","#FEAF4B","#FE9941","#FE9941","#FFC763","#FD7C36","#DD171E","#FEAF4B","#FFF4B1","#C60624","#FEDC7D","#DD171E","#FEAF4B","#FFFFCC","#FE9941","#FEDC7D","#FE9941","#800026","#800026","#FC542B","#FFFFCC","#FFC763","#FFE896","#FEAF4B","#FC542B","#FFF4B1","#A50026","#800026","#800026","#FE9941","#FFF4B1","#FFE896","#A50026","#800026","#FEAF4B","#FFF4B1","#FD7C36","#FD7C36","#FEAF4B","#FFF4B1","#FE9941","#C60624","#FFC763","#FFE896","#FE9941","#FFFFCC","#FFFFCC","#FFE896","#FFC763","#FFE896","#FEDC7D","#FFE896","#FEDC7D","#FFFFCC","#FFC763","#DD171E","#FFE896","#FEDC7D","#FFFFCC","#FE9941","#FEAF4B","#FE9941","#FEAF4B","#FD7C36","#FFF4B1","#FFC763","#FE9941","#C60624","#800026","#FEAF4B","#FFFFCC","#FEAF4B","#800026","#800026","#800026","#FFC763","#FD7C36","#FD7C36","#800026","#FFC763","#C60624","#FE9941","#FEAF4B","#800026","#FFF4B1","#FE9941","#C60624","#C60624","#FEDC7D","#FFFFCC","#FFFFCC","#FFE896","#FE9941","#C60624","#FFE896","#A50026","#FFF4B1","#FFF4B1","#DD171E","#C60624","#A50026","#800026","#800026","#FFF4B1","#800026","#FE9941","#FEDC7D","#FEAF4B","#FFFFCC","#FFF4B1","#C60624","#C60624","#FEAF4B","#DD171E","#FFE896","#EF3622","#FFFFCC","#FFF4B1","#FE9941","#C60624","#FFFFCC","#FFFFCC","#C60624","#C60624","#FFC763","#FFFFCC","#FFC763","#C60624","#FE9941","#FE9941","#800026","#FE9941","#FFE896","#FFE896","#FE9941","#FFC763","#FEAF4B","#FEAF4B","#FEAF4B","#FFF4B1","#FE9941","#FE9941","#C60624","#C60624","#FFE896","#FFE896","#FFFFCC","#FFE896","#FFFFCC","#800026","#FFFFCC","#FFC763","#EF3622","#800026","#FE9941","#FFE896","#C60624","#FE9941","#DD171E","#FE9941","#800026","#FD7C36","#FE9941","#C60624","#FEAF4B","#FD7C36","#FFF4B1","#FE9941","#800026","#FFFFCC","#FFF4B1","#800026","#FD7C36","#FEAF4B","#C60624","#A50026","#A50026","#FEAF4B","#800026","#FFE896","#FFFFCC","#800026","#FE9941","#FE9941","#FFFFCC","#FFC763","#FFE896","#FFE896","#EF3622","#A50026","#C60624","#FFE896","#FFE896","#FEDC7D","#C60624","#FFFFCC","#A50026","#FFFFCC","#FFC763","#FFC763","#FFC763","#FFC763","#FFFFCC","#C60624","#FEDC7D","#FEAF4B","#FE9941","#FEAF4B","#FFE896","#FFF4B1","#FFE896","#800026","#FFF4B1","#FFFFCC","#FFE896","#DD171E","#FFFFCC","#800026","#800026","#FC542B","#800026","#C60624","#800026","#C60624","#FE9941","#C60624","#A50026","#FD7C36","#FD7C36","#FFF4B1","#FFFFCC","#A50026","#FE9941","#DD171E","#FE9941","#FE9941","#FFE896","#FEDC7D","#FFC763","#FE9941","#A50026","#A50026","#FEAF4B","#FE9941","#C60624","#FE9941","#C60624","#FE9941","#FFE896","#800026","#FFE896","#FC542B","#FE9941","#FFC763","#FFFFCC","#FFF4B1","#C60624","#FC542B","#800026","#A50026","#FFC763","#FE9941","#800026","#FFC763","#FFF4B1","#FFF4B1","#FEAF4B","#FFE896","#FFE896","#FFF4B1","#FFFFCC","#800026","#FFE896","#FFE896","#C60624","#800026","#FFE896","#FEAF4B","#FE9941","#FD7C36","#FFFFCC","#FE9941","#FEAF4B","#FEAF4B","#FE9941","#C60624","#FFE896","#FEAF4B","#FEAF4B","#C60624","#FFF4B1","#FFFFCC","#FEAF4B","#FFF4B1","#FEAF4B","#FE9941","#FFC763","#FFE896","#FFC763","#FD7C36","#FFFFCC","#FFC763","#C60624","#FFFFCC","#FEDC7D","#800026","#FFF4B1","#C60624","#FFE896","#FC542B","#FE9941","#FFC763","#A50026","#FE9941","#FEDC7D","#FEAF4B","#FFF4B1","#A50026","#FEDC7D","#FFE896","#FE9941","#FFE896","#FFC763","#FEAF4B","#FFE896","#FD7C36","#A50026","#FEAF4B","#A50026","#FFF4B1","#FC542B","#FFFFCC","#FFFFCC","#FD7C36","#FC542B","#800026","#800026","#FFC763","#FEAF4B","#FFF4B1","#FFF4B1","#800026","#FE9941","#FFE896","#FFE896","#C60624","#FE9941","#FE9941","#FFE896","#FEAF4B","#FFF4B1","#FFC763","#800026","#FFF4B1","#EF3622","#FEAF4B","#A50026","#FEAF4B","#FE9941","#FFE896","#FFE896","#FFF4B1","#FC542B","#FC542B","#FFFFCC","#FE9941","#A50026","#A50026","#FD7C36","#800026","#800026","#FE9941","#FFFFCC","#FFF4B1","#FEAF4B","#FFFFCC","#FFE896","#A50026","#FE9941","#FFE896","#FE9941","#800026","#FFC763","#FEAF4B","#FEAF4B","#FEAF4B","#A50026","#FFFFCC","#800026","#A50026","#EF3622","#FEAF4B","#FFFFCC","#800026","#FEAF4B","#FFFFCC","#FE9941","#A50026","#EF3622","#FFC763","#FFE896","#FE9941","#FFF4B1","#FFFFCC","#FFC763","#FFE896","#FEAF4B","#A50026","#DD171E","#FFC763","#FEAF4B","#FEAF4B","#800026","#FFF4B1","#800026","#FEAF4B","#FFF4B1","#800026","#C60624","#FEDC7D","#A50026","#EF3622","#FFF4B1","#FFE896","#A50026","#FE9941","#FEAF4B","#A50026","#EF3622","#FE9941","#DD171E","#FFE896","#FFE896","#FFC763","#C60624","#FFF4B1","#FFC763","#FEAF4B","#FFE896","#FFF4B1","#800026","#800026","#A50026","#A50026","#FFFFCC","#FEAF4B","#800026","#FFC763","#FD7C36","#DD171E","#800026","#FFC763","#FFC763","#800026","#FFF4B1","#FEAF4B","#FE9941","#800026","#FE9941","#FFF4B1","#A50026","#FFFFCC","#FD7C36","#FFC763","#FFC763","#FEAF4B","#FFFFCC","#FE9941","#FFF4B1","#800026","#FFF4B1","#FEDC7D","#FFE896","#FE9941","#800026","#A50026","#FE9941","#FFE896","#EF3622","#FFF4B1","#A50026","#FFF4B1","#C60624","#FFE896","#FC542B","#FEAF4B","#FE9941","#FFE896","#FEDC7D","#FFFFCC","#FEDC7D","#FEAF4B","#DD171E","#FFFFCC","#FFFFCC","#C60624","#FEAF4B","#A50026","#FE9941","#FE9941","#FEDC7D","#FEDC7D","#FFC763","#800026","#A50026","#FFE896","#FEAF4B","#800026","#FFC763","#FFE896","#C60624","#FE9941","#FFF4B1","#FEDC7D","#FFF4B1","#C60624","#FEAF4B","#FFFFCC","#FEAF4B","#FFFFCC","#800026","#FFE896","#FFFFCC","#A50026","#A50026","#FEAF4B","#FFC763","#FFE896","#FE9941","#FFFFCC","#A50026","#FFC763","#FFFFCC","#FEDC7D","#FFE896","#FEDC7D","#FFE896","#FD7C36","#FEAF4B","#FC542B","#800026","#FE9941","#FFFFCC","#FEDC7D","#DD171E","#FFE896","#DD171E","#FFC763","#FFFFCC","#C60624","#A50026","#A50026","#FFC763","#FFF4B1","#800026","#FFE896","#FE9941","#FFFFCC","#FE9941","#FFC763","#FE9941","#A50026","#FFF4B1","#FFF4B1","#EF3622","#FFE896","#FC542B","#DD171E","#FFF4B1","#FC542B","#C60624","#FE9941","#C60624","#FE9941","#800026","#FE9941","#FFE896","#A50026","#800026","#FFC763","#C60624","#FFE896","#FEAF4B","#FE9941","#FFFFCC","#FEAF4B","#800026","#FE9941","#FEDC7D","#FD7C36","#800026","#FFFFCC","#FE9941","#FEAF4B","#FFF4B1","#FEAF4B","#800026","#FE9941","#FD7C36","#FFFFCC","#FEDC7D","#FEAF4B","#800026","#C60624","#FFF4B1","#FEAF4B","#FE9941","#C60624","#FE9941","#800026","#FC542B","#800026","#800026","#FFE896","#FEAF4B","#FC542B","#C60624","#FFE896","#FEAF4B","#FEAF4B","#C60624","#800026","#FE9941","#FEAF4B","#800026","#FE9941","#FFE896","#FFFFCC","#DD171E","#FEAF4B","#800026","#FEDC7D","#FE9941","#DD171E","#FD7C36","#FFF4B1","#FFF4B1","#FFE896","#FFE896","#FFF4B1","#FFE896","#FFC763","#FFFFCC","#FFE896","#FFC763","#FEAF4B","#FC542B","#FFF4B1","#FEDC7D","#A50026","#FFFFCC","#FFC763","#FEAF4B","#FFE896","#800026","#FEAF4B","#C60624","#FFFFCC","#DD171E","#DD171E","#FEDC7D","#FEAF4B","#EF3622","#FE9941","#FFF4B1","#FEAF4B","#FE9941","#FE9941","#FEDC7D","#FFC763","#FFFFCC","#DD171E","#800026","#FD7C36","#FFE896","#FFE896","#FFF4B1","#FEAF4B","#FE9941","#FFE896","#FFC763","#FFF4B1","#FC542B","#FFF4B1","#FE9941","#A50026","#FEAF4B","#A50026","#FE9941","#EF3622","#FFF4B1","#FEDC7D","#DD171E","#FC542B","#FEAF4B","#FFF4B1","#FFE896","#FFFFCC","#800026","#800026","#FFE896","#C60624","#C60624","#FD7C36","#C60624","#FEDC7D","#FFE896","#FFF4B1","#FEAF4B","#FE9941","#FEAF4B","#FE9941","#FEAF4B","#FC542B","#FFFFCC","#FE9941","#FFE896","#FEAF4B","#FEDC7D","#EF3622","#FEDC7D","#FEDC7D","#FD7C36","#FFFFCC","#FFC763","#FE9941","#FFF4B1","#FFF4B1","#FE9941","#FFF4B1","#FFE896","#FFE896","#FFE896","#FFFFCC","#C60624","#800026","#FFFFCC","#FD7C36","#A50026","#800026","#FEAF4B","#C60624","#FFE896","#FD7C36","#C60624","#FE9941","#C60624","#FEAF4B","#FEAF4B","#FC542B","#FFE896","#FE9941","#FFFFCC","#FE9941","#FFFFCC","#FEAF4B","#C60624","#800026","#FD7C36","#FEDC7D","#FFFFCC","#DD171E","#C60624","#FE9941","#EF3622","#FFFFCC","#FE9941","#FE9941","#FFE896","#C60624","#FFFFCC","#800026","#FEAF4B","#FFF4B1","#FFC763","#FEAF4B","#FEDC7D","#FFF4B1","#FFC763","#A50026","#800026","#FE9941","#FE9941","#FE9941","#FEDC7D","#FEAF4B","#FFF4B1","#800026","#C60624","#FFFFCC","#FD7C36","#FD7C36","#FFE896","#800026","#C60624","#FFC763","#FE9941","#A50026","#FFF4B1","#FE9941","#C60624","#FFE896","#FFF4B1","#FFF4B1","#DD171E","#FFC763","#FEAF4B","#FFF4B1","#FEAF4B","#800026","#A50026","#FFF4B1","#FFFFCC","#FFE896","#A50026","#C60624","#FD7C36","#FFFFCC","#800026","#FFF4B1","#FE9941","#FFFFCC","#FFFFCC","#FFF4B1","#800026","#FD7C36","#800026","#FEAF4B","#FFF4B1","#FEAF4B","#FFE896","#FEAF4B","#FFFFCC","#FFF4B1","#FEAF4B","#C60624","#FE9941","#DD171E","#FFF4B1","#FFE896","#FC542B","#FFF4B1","#A50026","#A50026","#FE9941","#FFE896","#A50026","#FFFFCC","#FE9941"],"fillOpacity":0.8},["VII. kerület, Dembinszky utca<br>756.01 m","XVI. kerület, Koronafürt utca 44b<br>5069.2 m","II. kerület, Szalamandra út<br>3445.93 m","III. kerület, Gyógyszergyár utca<br>3448.82 m","XV. kerület, Bezerédj Pál utca<br>2406.72 m","XII. kerület, Kútvölgyi út 50.<br>2777.88 m","III. kerület, Emőd utca 44/a<br>3021.61 m","VI. kerület, Vörösmarty utca 64.<br>408.05 m","VI. kerület, Bajcsy-Zsilinszky út<br>246.93 m","X. kerület, Kőbányai út<br>1655.21 m","XIII. kerület, Visegrádi utca<br>184.02 m","VI. kerület, Benczúr utca<br>207.26 m","XI. kerület, Bikszádi utca<br>469.73 m","XI. kerület, Bikszádi utca<br>469.73 m","XIV. kerület, Stefánia út<br>1124.22 m","V. kerület, Arany János utca<br>455.5 m","V. kerület, Arany János utca<br>455.5 m","II. kerület, Selyemakác lakópark<br>4592.8 m","XII. kerület, Alkotás utca<br>62.62 m","XIII. kerület, Dunyov István utca 6.<br>361.39 m","VI. kerület, Paulay Ede utca 14.<br>144.13 m","XIV. kerület, Kövér Lajos utca<br>1162.86 m","XIII. kerület, Szent István park<br>731.4 m","XIII. kerület, Szent István park<br>731.4 m","XV. kerület, Pázmány Péter utca 140./a<br>1736.36 m","XIV. kerület, Kiszugló<br>1586.94 m","XIII. kerület, Szent István körút<br>166.82 m","XIII. kerület, Szent László út 5.<br>700.65 m","V. kerület, Falk Miksa utca 10.<br>470 m","VII. kerület, Kazinczy utca<br>352.72 m","XI. kerület, Sasad<br>1664.54 m","XIV. kerület, Várna utca 32.<br>664.03 m","III. kerület, Zápor utca<br>2331.42 m","II. kerület, Szépilona<br>2989.66 m","IX. kerület, József Attila-lakótelep<br>466.92 m","VII. kerület, Rottenbiller utca<br>314.47 m","III. kerület, San Marco utca<br>2536.43 m","VII. kerület, Akácfa utca 6.<br>110.84 m","XIII. kerület, Váci út<br>354.53 m","XIII. kerület, Petneházy utca<br>300.99 m","V. kerület, Alkotmány utca<br>414.12 m","XVI. kerület, Újmátyásföld<br>4828.54 m","XI. kerület, Benedikt Ottó utca<br>631.11 m","XIII. kerület, Bessenyei utca<br>682.03 m","IX. kerület, Tűzoltó utca<br>352.49 m","VIII. kerület, Dugonics utca 4.<br>664.14 m","III. kerület, Óarany utca<br>4964.58 m","VIII. kerület, Horánszky utca<br>328.41 m","XIII. kerület, Danubius utca<br>565.57 m","VII. kerület, Szinva utca<br>666.82 m","II. kerület, Törökvész<br>2371.04 m","XI. kerület, Csurgói út 22-32.<br>1284.72 m","IX. kerület, Tűzoltó utca<br>352.49 m","IX. kerület, Mester utca 83.<br>1056.31 m","V. kerület, Balaton utca<br>688.18 m","IX. kerület, Pápay István utca 7.<br>1017.85 m","X. kerület, Dombtető utca<br>1576.76 m","XVI. kerület, Veres Péter út 105.<br>4327.87 m","XI. kerület, Csenger utca<br>2106.29 m","XX. kerület, Török Flóris utca<br>3191.75 m","XIV. kerület, Hungária körút 43.<br>472.9 m","XI. kerület, Stoczek utca<br>603.34 m","IX. kerület, Ráday utca<br>463.45 m","XIV. kerület, Pétervárad utca<br>1333.82 m","V. kerület, Zoltán utca<br>215.26 m","V. kerület, Széchenyi utca 8.<br>347.1 m","II. kerület, Csalogány utca<br>328.15 m","III. kerület, Zápor utca<br>2331.42 m","XIV. kerület, Semsey Andor utca<br>977.93 m","XVIII. kerület, Üllői út 454.<br>5417.09 m","VII. kerület, Rákóczi út 16.<br>198.78 m","XIV. kerület, Egressy út<br>2223.9 m","XIII. kerület, Dévai utca<br>375.49 m","XII. kerület, Maros utca<br>370.78 m","III. kerület, Dereglye utca<br>1883.73 m","XI. kerület, Fehérvári út 45.<br>389.67 m","VII. kerület, Almássy utca<br>397.25 m","IX. kerület, Ferenc körút 42.<br>180.49 m","XIII. kerület, Újpesti rakpart<br>801.09 m","X. kerület, Halas utca<br>1494.08 m","XI. kerület, Petzvál József utca<br>617.28 m","III. kerület, Gyenes utca<br>2845.06 m","XIII. kerület, Pozsonyi út<br>702.29 m","XI. kerület, Törökugrató utca<br>1556.29 m","XIII. kerület, Teve utca<br>260.39 m","XI. kerület, Sztregova utca<br>964.46 m","XI. kerület, Rétköz utca 10.<br>1117.39 m","IX. kerület, Ráday utca<br>463.45 m","XIII. kerület, Petneházy utca<br>300.99 m","XII. kerület, Galgóczy utca<br>3206.01 m","XIII. kerület, Victor Hugo utca<br>480.47 m","III. kerület, Lestyán utca<br>4887.27 m","III. kerület, Folyamőr utca 9.<br>2065.77 m","XIII. kerület, Pannónia utca<br>429.76 m","XIII. kerület, Meder utca<br>455.78 m","III. kerület, Kunigunda útja<br>3361.58 m","XI. kerület, Hadak útja<br>467.88 m","XI. kerület, Kánai út 9.<br>2593.3 m","XIII. kerület, Ipoly utca 3.<br>557.91 m","III. kerület, Pusztakúti út<br>4145.42 m","XIII. kerület, Balzac utca 15.<br>475.88 m","VII. kerület, Garay utca<br>240.85 m","V. kerület, Kálmán Imre utca 14.<br>355.89 m","III. kerület, Gyenes utca<br>2845.06 m","XIV. kerület, Szugló utca<br>1187.11 m","XIV. kerület, Lőcsei út 16.<br>1835.55 m","VII. kerület, Dohány utca 22-24.<br>162.08 m","XIII. kerület, Csata utca<br>907.97 m","XIII. kerület, Hun utca<br>647.9 m","I. kerület, Pauler utca 15.<br>576.64 m","XI. kerület, Villányi út<br>1758.65 m","III. kerület, Pusztakúti út<br>4145.42 m","XIII. kerület, Petneházy utca<br>300.99 m","XIII. kerület, Visegrádi utca 18/b<br>299.4 m","XI. kerület, Budafoki út 81.<br>491.37 m","XIV. kerület, Kerékgyártó utca<br>1487.86 m","III. kerület, Zúzmara köz<br>3712.65 m","XV. kerület, Báthory utca<br>2169.12 m","XIII. kerület, Katona József utca<br>107.8 m","VII. kerület, Murányi utca 23.<br>550.71 m","III. kerület, Táborhegyi út<br>3431.85 m","XI. kerület, Kánai út<br>2454.72 m","XI. kerület, Vahot utca 10.<br>222.28 m","V. kerület, Fehér Hajó utca<br>166.19 m","XIII. kerület, Jász utca 36.<br>1264.96 m","III. kerület, Tompa Mihály utca 12-14.<br>3768.34 m","XI. kerület, Ballagi Mór utca 3.<br>628.69 m","VI. kerület, Nagymező utca 33.<br>276.23 m","VII. kerület, Almássy utca<br>397.25 m","IX. kerület, Bokréta utca 8.<br>513.2 m","II. kerület, Kelemen László utca<br>3062.62 m","XIII. kerület, Tutaj utca 8.<br>367.1 m","III. kerület, Boglya utca 5.<br>2491.38 m","IX. kerület, Erkel utca<br>259.51 m","VI. kerület, Király utca 40.<br>216.88 m","III. kerület, Fanyarka utca<br>5252.01 m","XX. kerület, Vörösmarty utca 3.<br>3657.8 m","XIV. kerület, Nagy Lajos király útja<br>1823.39 m","IX. kerület, Ferenc körút<br>151.76 m","IX. kerület, Pápay István utca 7.<br>1017.85 m","VIII. kerület, Magdolna utca 38.<br>777.73 m","VIII. kerület, Dobozi utca 41.<br>975.02 m","VII. kerület, Osvát utca 11.<br>251.79 m","XI. kerület, Benedikt Ottó utca<br>631.11 m","IX. kerület, Kinizsi utca<br>409.04 m","V. kerület, Október 6. utca<br>346.99 m","XVI. kerület, Mészáros József utca<br>5063.81 m","I. kerület, Naphegy utca<br>752.5 m","VIII. kerület, Futó utca<br>222.73 m","XI. kerület, Tóberek utca<br>2510.19 m","VI. kerület, Lovag utca<br>258.02 m","I. kerület, Attila út 109.<br>257.09 m","VIII. kerület, Bacsó Béla utca 16.<br>212.89 m","IX. kerület, Drégely utca<br>699.81 m","XII. kerület, Széll Kálmán tér 11.<br>367.75 m","I. kerület, Fazekas utca 4.<br>284.86 m","IX. kerület, Ernő utca<br>448.21 m","IX. kerület, Erkel utca<br>259.51 m","V. kerület, Reáltanoda utca<br>101.58 m","XIII. kerület, Ambrus utca<br>1143.18 m","I. kerület, Attila út<br>361.85 m","XVII. kerület, Függőcinege utca<br>10223.16 m","VI. kerület, Bajza utca 68.<br>426.82 m","V. kerület, Erzsébet tér<br>39.79 m","XVI. kerület, Budapesti út 121/A<br>3842.8 m","XIV. kerület, Telepes utca<br>1570.08 m","XIII. kerület, Petneházy utca 68.<br>1203.08 m","XII. kerület, Avar utca<br>1395.91 m","XIX. kerület, Templom tér 12-15.<br>1347.3 m","XIII. kerület, Nyugati tér<br>96.57 m","V. kerület, Apáczai Csere János utca<br>148.26 m","III. kerület, Ágoston utca 18.<br>3125.88 m","XI. kerület, Bíró László József körút<br>1149.96 m","XI. kerület, Siroki utca<br>116.12 m","XIII. kerület, Gidófalvy Lajos utca 4.<br>536.2 m","XIV. kerület, Dorozsmai utca<br>730.83 m","XIII. kerület, Dolmány utca 40.<br>1671.21 m","IX. kerület, Tűzoltó utca 78-80.<br>476.54 m","VI. kerület, Szondi utca<br>426.53 m","XII. kerület, Fodor utca<br>1916.82 m","VIII. kerület, Horánszky utca<br>328.41 m","VIII. kerület, Fecske utca<br>237.95 m","II. kerület, Vitéz utca<br>347.04 m","VII. kerület, Sajó utca<br>666.82 m","XV. kerület, Bocskai utca<br>2032.06 m","XIII. kerület, Apály utca 5B.<br>409.83 m","XIII. kerület, Pannónia utca<br>429.76 m","II. kerület, Rómer Flóris utca<br>964.8 m","XIII. kerület, Rozsnyay utca<br>420.66 m","X. kerület, Gyakorló utca<br>659.28 m","XIX. kerület, Corvin körút<br>957.54 m","II. kerület, Rómer Flóris utca<br>964.8 m","III. kerület, Rozgonyi Piroska utca 2/B<br>2460.65 m","XIX. kerület, Artúr utca<br>528.07 m","VIII. kerület, Orczy út 25.<br>738.72 m","VIII. kerület, Korányi Sándor utca 10.<br>705.37 m","IV. kerület, Istvántelki út<br>1131.02 m","III. kerület, Bogdáni út<br>2301.58 m","XI. kerület, Rahó utca<br>731.23 m","III. kerület, Lestyán utca<br>4887.27 m","XI. kerület, Bölcső utca<br>160.27 m","XI. kerület, Bukarest utca<br>473.55 m","IX. kerület, Nádasdy utca 14.<br>1085.79 m","VII. kerület, Kazinczy utca<br>352.72 m","IX. kerület, Dési Huber utca<br>404.1 m","IX. kerület, Viola utca<br>484.02 m","VII. kerület, Dembinszky utca<br>756.01 m","XIII. kerület, Pannónia utca<br>429.76 m","II. kerület, Balogvár utca<br>1160.23 m","VI. kerület, Teréz körút<br>108.32 m","VIII. kerület, Ciprus utca 8.<br>797.53 m","VII. kerület, Dohány utca 16-18.<br>107.8 m","V. kerület, Papnövelde utca<br>179.6 m","V. kerület, Veres Pálné utca<br>96.03 m","II. kerület, Pusztaszeri út<br>2331.84 m","I. kerület, Kapucinus utca<br>721.66 m","XIII. kerület, Frangepán utca<br>1217.13 m","XIV. kerület, Erzsébet királyné útja<br>332.06 m","VIII. kerület, Nap utca<br>266.74 m","VI. kerület, Délibáb utca<br>184.85 m","III. kerület, Pusztakúti út<br>4145.42 m","XI. kerület, Bártfai utca<br>653.07 m","XI. kerület, Kanizsai utca<br>475.22 m","XIII. kerület, József Attila tér<br>769.97 m","XI. kerület, Dayka Gábor utca 19/A<br>1291.28 m","XIV. kerület, Kerepesi út 78/f<br>238.2 m","XI. kerület, Karinthy Frigyes út<br>447.22 m","VI. kerület, Podmaniczky utca<br>347.39 m","IX. kerület, Drégely utca 2.<br>699.81 m","XI. kerület, Sáfrány utca 40.<br>2063.72 m","XIV. kerület, Tábornok utca 5.<br>283.49 m","IX. kerület, Csárdás köz 1.<br>253.79 m","XIII. kerület, Szegedi út<br>869.03 m","XIII. kerület, Szent László út<br>710.05 m","VIII. kerület, Corvin sétány<br>303.56 m","XII. kerület, Korompai utca<br>1914.31 m","VIII. kerület, Delej utca 51.<br>851.2 m","III. kerület, Folyamőr utca 7.<br>2030.42 m","X. kerület, Kővágó utca<br>1521.36 m","IV. kerület, Károlyi István utca 9.<br>534.44 m","XIII. kerület, Madarász Viktor utca 13.<br>313.18 m","XI. kerület, Menyecske utca<br>416.37 m","XII. kerület, Németvölgyi út<br>2399.62 m","IX. kerület, Üllői út 187.<br>157.8 m","I. kerület, Kuny Domokos utca<br>462.99 m","XIII. kerület, Párkány utca<br>402.99 m","XIV. kerület, Kacsóh Pongrác út<br>265.89 m","XVI. kerület, Mészáros József utca 4.<br>4383.38 m","XIII. kerület, Csata utca<br>907.97 m","XIII. kerület, Jász utca 46.<br>1299.92 m","V. kerület, Károlyi utca 14.<br>136.24 m","XIII. kerület, Pannónia utca<br>429.76 m","VII. kerület, Hársfa utca 8.<br>298.39 m","VII. kerület, Garay utca<br>240.85 m","XIII. kerület, Kelén utca<br>744.55 m","VIII. kerület, József körút 33.<br>96.48 m","IX. kerület, Telepy utca 29.<br>458.01 m","VI. kerület, Bajnok utca<br>354.1 m","XII. kerület, Kempelen Farkas utca<br>1992.7 m","XIII. kerület, Népfürdő utca 33.<br>655.69 m","XV. kerület, Sárfű utca<br>3476.82 m","III. kerület, Vízimolnár utca 2.<br>2399.32 m","I. kerület, Logodi utca<br>320.73 m","II. kerület, Margit körút<br>67.73 m","III. kerület, Folyamőr utca<br>2030.42 m","XV. kerület, Nyírpalota út<br>3981.48 m","XI. kerület, Karolina út<br>1207.77 m","XIV. kerület, Ond vezér park 2.<br>1133.51 m","V. kerület, Falk Miksa utca 24-26.<br>617.62 m","X. kerület, Gyakorló utca<br>659.28 m","IX. kerület, Angyal utca<br>555.43 m","XIV. kerület, Czobor utca<br>1362.91 m","IX. kerület, Börzsöny utca<br>446.02 m","XI. kerület, Hosszúréti utca<br>2060.7 m","III. kerület, Huszti út 37.<br>2629.83 m","XIII. kerület, Mosoly utca<br>394.49 m","IX. kerület, Balázs Béla utca<br>457.18 m","II. kerület, Muraközi utca<br>1992.48 m","V. kerület, Ferenciek tere<br>31.29 m","XIV. kerület, Bosnyák utca 14-18.<br>1675.46 m","XIII. kerület, Dráva utca<br>345.51 m","XIII. kerület, Frangepán utca 24.<br>480.06 m","VI. kerület, Szív utca<br>180.39 m","XV. kerület, Erdőkerülő utca<br>4306.93 m","II. kerület, Ali utca 6.<br>2073.99 m","I. kerület, Alsóhegy utca<br>1507.61 m","XI. kerület, Rétköz utca 10.<br>1117.39 m","V. kerület, Belgrád rakpart<br>402.52 m","XII. kerület, Agancs út<br>3271.94 m","XIII. kerület, Dévényi utca<br>607.41 m","V. kerület, Nagy Ignác utca<br>316.94 m","XIII. kerület, Fiastyúk utca<br>698.42 m","XIII. kerület, Gogol utca<br>224.96 m","III. kerület, Amfiteátrum utca<br>2389.99 m","X. kerület, Üllői út 134.<br>53.62 m","VIII. kerület, Corvin köz<br>148.93 m","IX. kerület, Ráday utca<br>463.45 m","XI. kerület, Fehérvári út 23.<br>77.94 m","II. kerület, Margit körút 58.<br>407.36 m","XIII. kerület, Szent István park 2.<br>818.66 m","II. kerület, Máriaremetei út<br>8581.28 m","IX. kerület, Tűzoltó utca 71-75.<br>513.46 m","XIII. kerület, Danubius utca<br>565.57 m","VIII. kerület, Leonardo da Vinci utca<br>606.84 m","VIII. kerület, Dankó utca 29.<br>809.42 m","XIV. kerület, Kerepesi út<br>170.42 m","II. kerület, Pusztaszeri út<br>2331.84 m","II. kerület, Bem József tér<br>592.96 m","II. kerület, Margit körút 56.<br>454.92 m","VII. kerület, Alsó erdősor<br>538.99 m","XVII. kerület, Takács Sándor utca 12.<br>6004.07 m","VII. kerület, István utca 32.<br>667.32 m","I. kerület, Batthyány utca 52/B.<br>162.22 m","XIII. kerület, Pannónia utca 34.<br>562.3 m","VII. kerület, Dob utca 24.<br>425.77 m","II. kerület, Bimbó út<br>1003.12 m","XX. kerület, Baross utca<br>3775.05 m","I. kerület, Pala utca<br>671.89 m","XIV. kerület, Erzsébet királyné útja<br>332.06 m","XII. kerület, Melinda út<br>2759.29 m","XIII. kerület, Meder utca<br>455.78 m","II. kerület, Bimbó út<br>1003.12 m","I. kerület, Hattyú utca 17/B.<br>123.87 m","XI. kerület, Fehérvári út<br>1600.45 m","VI. kerület, Weiner Leó utca<br>426.78 m","I. kerület, Tigris utca 5.<br>779.97 m","XI. kerület, Napkelte utca 4.<br>1102.94 m","XI. kerület, Baranyai utca 20.<br>330.53 m","XIII. kerület, Jász utca<br>1442.29 m","VII. kerület, Alsó erdősor<br>538.99 m","I. kerület, Logodi utca<br>320.73 m","XIII. kerület, Pannónia utca 77-79.<br>504.97 m","XIII. kerület, Hegedűs Gyula utca 83.<br>429.01 m","VI. kerület, Szondi utca 27.<br>378.63 m","IX. kerület, Nádasdy utca 15/b<br>1232.43 m","XVIII. kerület, Szent Lőrinc sétány 6.<br>3421.1 m","XII. kerület, Zólyomi lépcső<br>1724.55 m","XVI. kerület, Olga utca<br>4160.23 m","XIV. kerület, Róna utca<br>1369.12 m","XII. kerület, Csaba utca 29.<br>790.68 m","IX. kerület, Lechner Ödön fasor<br>1568.35 m","VIII. kerület, Leonardo da Vinci utca<br>606.84 m","XXII. kerület, Kossuth Lajos utca 47.<br>4573.04 m","XIV. kerület, Egressy út 31-33.<br>620.41 m","III. kerület, Szőlő utca<br>2273.36 m","XVIII. kerület, Mikszáth Kálmán utca<br>2663.13 m","XIII. kerület, Visegrádi utca 108.<br>431.88 m","VI. kerület, Nagymező utca<br>180.42 m","IV. kerület, Rózsa utca<br>997.04 m","XIII. kerület, Hajóépítő sétány<br>421.49 m","II. kerület, Tárogató út<br>2996.72 m","II. kerület, Tárogató út<br>2996.72 m","VI. kerület, Ó utca 11.<br>183.03 m","XIII. kerület, Gidófalvy Lajos utca<br>534.29 m","XIII. kerület, Angyalföld - Lőportárdűlő<br>601.23 m","IX. kerület, Tűzoltó utca<br>352.49 m","IX. kerület, Ifjúmunkás utca<br>364.39 m","XI. kerület, Igmándi utca<br>720.21 m","XI. kerület, Bartók Béla út<br>902.03 m","II. kerület, Margit körút<br>67.73 m","IX. kerület, Közraktár utca<br>753.64 m","XIII. kerület, Visegrádi utca<br>184.02 m","III. kerület, Kaszásdűlői lakótelep<br>2395.28 m","VI. kerület, Andrássy út<br>157.51 m","II. kerület, Karabély utca<br>1623.83 m","II. kerület, Budakeszi út<br>5784.39 m","II. kerület, Endrődi Sándor utca<br>1850.25 m","IX. kerület, Ipar utca<br>822.82 m","I. kerület, Szilágyi Dezső tér<br>353.64 m","II. kerület, Szikla utca<br>2830.14 m","XIII. kerület, Marina sétány<br>776.46 m","V. kerület, Vigadó tér 3.<br>170.45 m","I. kerület, Logodi utca<br>320.73 m","IX. kerület, Lechner Ödön fasor 1.<br>891.04 m","XII. kerület, Vas Gereben utca<br>1684.75 m","V. kerület, Váci utca 56-58.<br>271.44 m","III. kerület, Folyamőr utca 9.<br>2065.77 m","II. kerület, Vihorlát utca<br>3232.06 m","V. kerület, Stollár Béla utca<br>598.99 m","II. kerület, Árpád fejedelem útja<br>1250.34 m","VII. kerület, Dohány utca<br>438.54 m","II. kerület, Rómer Flóris utca<br>964.8 m","XIII. kerület, Dunyov István utca 6.<br>361.39 m","XVI. kerület, Margit utca<br>3979.37 m","II. kerület, Guyon köz<br>2161.94 m","XII. kerület, Szilassy út 12.<br>4512.79 m","III. kerület, Lajos utca 116.<br>1857.08 m","XIII. kerület, Tomori utca 14.<br>353.25 m","V. kerület, Fehér Hajó utca<br>166.19 m","XIII. kerület, Pozsonyi út 42.<br>660.38 m","II. kerület, Torockó utca<br>1528.27 m","II. kerület, Margit körút 62.<br>330.73 m","II. kerület, Ady Endre utca<br>766.79 m","II. kerület, Ezredes utca<br>467.52 m","XIII. kerület, Danubius utca 16.<br>508.7 m","VIII. kerület, Horánszky utca 23.<br>407.82 m","XIII. kerület, Hollán Ernő utca<br>611.39 m","V. kerület, Nyáry Pál utca 9.<br>219.7 m","XI. kerület, Nándorfejérvári út 22.<br>1044.72 m","VII. kerület, Hutyra Ferenc utca 11-15.<br>563.82 m","III. kerület, Berzsenyi Dániel utca<br>2591.39 m","II. kerület, Fillér utca 32.<br>771.64 m","XIII. kerület, Csata utca<br>907.97 m","I. kerület, Lánchíd utca<br>743.51 m","VIII. kerület, Népszínház utca 31.<br>144.11 m","XI. kerület, Meredek utca 28.<br>1986.44 m","XII. kerület, Vas Gereben utca<br>1684.75 m","IX. kerület, Balázs Béla utca<br>457.18 m","I. kerület, Mihály utca 3/B<br>1389.78 m","IX. kerület, Tompa utca<br>389.95 m","XIII. kerület, Pannónia utca<br>429.76 m","XIII. kerület, Pozsonyi út<br>702.29 m","XII. kerület, Tamási Áron utca 52.<br>1926.67 m","I. kerület, Zsolt utca 10/b.<br>1237.87 m","XIII. kerület, Újpesti rakpart 5.<br>782.17 m","IX. kerület, Vaskapu utca 17.<br>854.31 m","III. kerület, Bécsi út 314.<br>5026.31 m","VIII. kerület, Leonardo da Vinci utca 50.<br>98.99 m","VI. kerület, Bajcsy-Zsilinszky út 19.<br>220.17 m","XIII. kerület, Bulcsú utca 25/A<br>162.35 m","II. kerület, Tárogató út 71.<br>2996.72 m","IX. kerület, Vaskapu utca<br>919.15 m","VII. kerület, Rottenbiller utca<br>314.47 m","V. kerület, Arany János utca 29.<br>209.65 m","XI. kerület, Bíró László József körút<br>1149.96 m","XI. kerület, Bíró László József körút 15.<br>1149.96 m","II. kerület, Felső Zöldmáli út<br>2353.82 m","II. kerület, Guyon Richárd utca 12.<br>2083.46 m","XIV. kerület, Bonyhádi út<br>1987.92 m","II. kerület, Széher út<br>4528.22 m","XIII. kerület, Nyugati tér<br>96.57 m","V. kerület, Báthory utca<br>306.64 m","V. kerület, Honvéd tér<br>473.91 m","III. kerület, Búza utca 8.<br>2384.04 m","XIII. kerület, Danubius utca 8.<br>626.88 m","II. kerület, Homokóra utca<br>7717.48 m","I. kerület, Attila út<br>361.85 m","XVI. kerület, Egyenes utca<br>1886.48 m","V. kerület, Alkotmány utca 4.<br>398.98 m","XI. kerület, Vahot utca 10.<br>222.28 m","XI. kerület, Karinthy Frigyes út<br>447.22 m","XIV. kerület, Szikszó park<br>863.66 m","XIII. kerület, Esztergomi út 48.<br>304.4 m","V. kerület, Stollár Béla utca<br>598.99 m","VII. kerület, Murányi utca 32.<br>629.41 m","IX. kerület, Márton utca 35/c<br>471.68 m","XVI. kerület, Décsi József utca<br>8233.67 m","VIII. kerület, Baross utca 131.<br>1137.79 m","XII. kerület, Ordas út 13.<br>3685.25 m","II. kerület, Kuruclesi út<br>4336.51 m","XI. kerület, Fehérvári út<br>1600.45 m","XIII. kerület, Keszkenő utca<br>1772.7 m","XI. kerület, Dávid Ferenc utca<br>855.16 m","XI. kerület, Rahó utca 2/a<br>731.23 m","XI. kerület, Fehérvári út 168-178.<br>1679.63 m","XI. kerület, Felsőhatár utca<br>3030.53 m","V. kerület, Szent István tér 2.<br>126.85 m","II. kerület, Vöröstorony lejtő 20.<br>3669.11 m","VIII. kerület, Szerdahelyi utca 8.<br>513.05 m","VII. kerület, Alpár utca<br>640.07 m","XIII. kerület, Szent István körút<br>166.82 m","VII. kerület, István utca 7.<br>399.56 m","I. kerület, Lánchíd utca 17.<br>680.21 m","XI. kerület, Bercsényi utca<br>251.49 m","IV. kerület, Váci út 55.<br>1266.59 m","XIII. kerület, Lehel utca<br>629.35 m","XIV. kerület, Ond vezér park<br>763 m","I. kerület, Széna tér<br>28.1 m","XIII. kerület, Róbert Károly körút 47.<br>517.87 m","VI. kerület, Dózsa György út<br>496.67 m","V. kerület, Múzeum körút<br>131.29 m","V. kerület, Arany János utca<br>455.5 m","XIII. kerület, Csata utca 11.<br>893.35 m","XIII. kerület, Újpesti rakpart<br>801.09 m","XII. kerület, Öröm utca<br>2984.24 m","III. kerület, San Marco utca<br>2536.43 m","III. kerület, Lajos utca 91.<br>1891.92 m","II. kerület, Nagybányai út 74.<br>3954.52 m","XIII. kerület, Frangepán utca 84.<br>1435.42 m","XIII. kerület, Párkány utca<br>402.99 m","IX. kerület, Lónyay utca 13B<br>248.15 m","VIII. kerület, Csobánc utca<br>1118.52 m","XIII. kerület, Danubius utca 10.<br>578.3 m","XIX. kerület, Kosárfonó utca<br>438.64 m","XIII. kerület, Pozsonyi út 77-79.<br>687.01 m","XI. kerület, Bartók Béla út 51.<br>131.33 m","XVI. kerület, Vágás utca<br>6017.31 m","XXII. kerület, Móricz Zsigmond út<br>4193.99 m","XIII. kerület, Csanády utca<br>532.69 m","XI. kerület, Halmi utca<br>626.25 m","II. kerület, Hárshegyi út 23.<br>4930.82 m","VIII. kerület, József körút 59-61.<br>411.96 m","XII. kerület, Szamóca utca<br>1524.31 m","XII. kerület, Nárcisz utca<br>1507.39 m","II. kerület, Vérhalom utca 17.<br>1377.77 m","VIII. kerület, Rákóczi út 51.<br>262.91 m","I. kerület, Alagút utca<br>820.59 m","XIV. kerület, Szugló utca 66.<br>1693.86 m","VII. kerület, Murányi utca<br>434.05 m","I. kerület, Fazekas utca 1.<br>271.42 m","V. kerület, Bajcsy-Zsilinszky út 16.<br>74.62 m","II. kerület, Gábor Áron utca<br>1826.02 m","XI. kerület, Lágymányosi utca 22.<br>587.23 m","II. kerület, Szeréna út<br>1941.31 m","XI. kerület, Tűzkő utca<br>2059.51 m","VIII. kerület, József körút<br>273.03 m","IX. kerület, Balázs Béla utca<br>457.18 m","XIII. kerület, Röppentyű utca<br>599.18 m","XIII. kerület, Hajóépítő sétány<br>421.49 m","IX. kerület, Likőr utca 4.<br>771.46 m","XIII. kerület, Hajóépítő sétány<br>421.49 m","XIII. kerület, Hajóépítő sétány<br>421.49 m","XI. kerület, Rétköz utca<br>2378.64 m","XI. kerület, Bocskai út<br>449.15 m","III. kerület, Kolostor út<br>2798.83 m","III. kerület, Meggyfa utca<br>2686.85 m","XIII. kerület, Tátra utca<br>585.66 m","XIII. kerület, Szobor utca 4.<br>323.19 m","IX. kerület, Lónyay utca<br>292.63 m","IX. kerület, Lónyay utca<br>292.63 m","V. kerület, Szemere utca 9.<br>522.43 m","XI. kerület, Fehérvári út<br>1600.45 m","XIV. kerület, Ilka utca<br>986.5 m","XI. kerület, Kelenhegyi út 43.<br>716.3 m","XIII. kerület, Szobor utca 4.<br>323.19 m","XIII. kerület, Szabolcs utca<br>646.95 m","XIII. kerület, Szabolcs utca<br>646.95 m","IX. kerület, Dandár utca<br>647.33 m","XIII. kerület, Klapka utca 6-8.<br>496.23 m","XIII. kerület, Klapka utca 6-8.<br>496.23 m","XI. kerület, Fehérvári út<br>1600.45 m","XI. kerület, Schweidel utca<br>1733.33 m","XIV. kerület, Fischer István utca<br>1411.92 m","XIII. kerület, Gyermek tér<br>1096.95 m","XII. kerület, Galgóczy utca 19.<br>2846.94 m","VII. kerület, Akácfa utca<br>445.45 m","IX. kerület, Balázs Béla utca<br>457.18 m","XI. kerület, Budapart<br>1096.91 m","V. kerület, Hercegprímás utca<br>197.51 m","IX. kerület, Lónyay utca<br>292.63 m","V. kerület, Váci utca<br>211.47 m","XIV. kerület, Istvánmezei út<br>708.55 m","II. kerület, Szilágyi Erzsébet fasor 73.<br>1469.32 m","II. kerület, Széphalom utca<br>4120.39 m","XI. kerület, Rétköz utca<br>2378.64 m","VII. kerület, Jósika utca<br>418.89 m","XIV. kerület, Gizella út<br>997.55 m","XIII. kerület, Keszkenő utca 35.<br>1648.47 m","XIV. kerület, Szobránc utca<br>588.69 m","XIII. kerület, József Attila tér<br>769.97 m","VII. kerület, Wesselényi utca<br>625.1 m","XIV. kerület, Cházár András utca<br>950.4 m","VII. kerület, Rottenbiller utca<br>314.47 m","XIV. kerület, Kövér Lajos utca<br>1162.86 m","XIII. kerület, Dózsa György út<br>117.64 m","XIII. kerület, Tüzér utca<br>803.68 m","V. kerület, Október 6. utca<br>346.99 m","V. kerület, Október 6. utca<br>346.99 m","XIII. kerület, Gidófalvy Lajos utca<br>534.29 m","XIII. kerület, Gidófalvy Lajos utca<br>534.29 m","VIII. kerület, Corvin sétány<br>303.56 m","XI. kerület, Sasad<br>1664.54 m","XI. kerület, Bartók Béla út<br>902.03 m","V. kerület, Aranykéz utca<br>274.09 m","XII. kerület, Kissvábhegy<br>919.25 m","V. kerület, Aranykéz utca<br>274.09 m","XIII. kerület, Visegrádi utca<br>184.02 m","XIII. kerület, Szabolcs utca 26.<br>692.36 m","XIII. kerület, Váci út<br>354.53 m","VIII. kerület, Corvin sétány<br>303.56 m","II. kerület, Ferenchegyi út<br>2146.05 m","XI. kerület, Bartók Béla út<br>902.03 m","II. kerület, Szász Károly utca<br>480.76 m","II. kerület, Alvinci út<br>1320.02 m","XI. kerület, Vincellér utca<br>808.03 m","II. kerület, Alvinci út<br>1320.02 m","II. kerület, Víziváros<br>417.52 m","II. kerület, Nagybányai út<br>3273.02 m","XIII. kerület, Pozsonyi út<br>702.29 m","XII. kerület, Hableány utca<br>2252.65 m","V. kerület, Károlyi utca<br>122.59 m","VIII. kerület, Kun utca<br>277.76 m","VI. kerület, Szinyei Merse utca<br>363.06 m","XII. kerület, Hableány utca<br>2252.65 m","XII. kerület, Hableány utca<br>2252.65 m","XIV. kerület, Ráskay Lea utca<br>1151.36 m","XI. kerület, Bocskai út<br>449.15 m","V. kerület, Párizsi utca<br>261.86 m","VIII. kerület, Práter utca<br>397.97 m","II. kerület, Szépvölgyi út 100.<br>2466.37 m","XI. kerület, Bocskai út<br>449.15 m","II. kerület, Margit körút<br>67.73 m","XI. kerület, Bocskai út<br>449.15 m","XII. kerület, Városkúti út 14.<br>2923.15 m","VII. kerület, Nefelejcs utca<br>311.79 m","VII. kerület, Rottenbiller utca 3.<br>164.9 m","XIII. kerület, Kassák Lajos utca<br>387.27 m","VIII. kerület, Corvin sétány<br>303.56 m","VIII. kerület, Baross utca 75.<br>543.24 m","II. kerület, Alvinci út 52.<br>1412.34 m","VIII. kerület, Corvin sétány<br>303.56 m","V. kerület, Bihari János utca<br>333.65 m","IX. kerület, Tűzoltó utca<br>352.49 m","VI. kerület, Király utca<br>282.05 m","XVI. kerület, Csenkesz utca<br>5687.43 m","XIII. kerület, Meder utca<br>455.78 m","XIII. kerület, Marina sétány<br>776.46 m","IX. kerület, Ráday utca<br>463.45 m","III. kerület, Tímár utca<br>1775.79 m","XIII. kerület, Vizafogó - Riverside<br>633.65 m","XIII. kerület, Tatai utca 30.a<br>1289.15 m","V. kerület, Bajcsy-Zsilinszky út<br>336.68 m","II. kerület, Őzgida utca<br>2268.25 m","V. kerület, Nádor utca<br>480.8 m","VIII. kerület, Népszínház utca<br>290.9 m","III. kerület, Hévízi út 1.<br>3003.44 m","XII. kerület, Győri út<br>1281.67 m","XIV. kerület, Nagy Lajos király útja<br>1823.39 m","XIII. kerület, Meder utca<br>455.78 m","V. kerület, Bajcsy-Zsilinszky út 40.<br>13.71 m","XIII. kerület, Szekszárdi utca<br>605.74 m","VIII. kerület, Corvin sétány<br>303.56 m","VIII. kerület, Corvin sétány<br>303.56 m","XII. kerület, Nárcisz utca 5.<br>1007.08 m","V. kerület, Október 6. utca 13.<br>345.55 m","VI. kerület, Rózsa utca 55.<br>230.35 m","II. kerület, Törökvész út<br>2969.07 m","XIII. kerület, Meder utca<br>455.78 m","V. kerület, Szent István körút<br>120.55 m","VII. kerület, Hernád utca<br>711.93 m","VII. kerület, Péterfy Sándor utca<br>435.23 m","XI. kerület, Bartók Béla út 23.<br>356.74 m","VI. kerület, Hajós utca<br>35.23 m","V. kerület, Nádor utca<br>480.8 m","V. kerület, Nádor utca<br>480.8 m","XIV. kerület, Istvánffy utca<br>2340.5 m","V. kerület, Városház utca 16.<br>271.64 m","II. kerület, Szilágyi Erzsébet fasor<br>1097.55 m","XIII. kerület, Pannónia utca<br>429.76 m","II. kerület, Kis Rókus utca<br>347.74 m","VIII. kerület, Corvin sétány 7.<br>303.56 m","III. kerület, Valéria utca<br>4064.57 m","VII. kerület, Dohány utca<br>438.54 m","XI. kerület, Menyecske utca<br>416.37 m","XI. kerület, Szerenád utca<br>1785.39 m","VIII. kerület, Corvin sétány<br>303.56 m","I. kerület, Attila út<br>361.85 m","XIII. kerület, Raoul Wallenberg utca 2.<br>496.52 m","VI. kerület, Podmaniczky utca 29.<br>289.85 m","XI. kerület, Irinyi József utca<br>755.36 m","XIII. kerület, Frangepán utca 84.<br>1435.42 m","VIII. kerület, Baross utca<br>1202.62 m","XI. kerület, Kismákfa utca<br>3176.96 m","I. kerület, Attila út<br>361.85 m","XII. kerület, Városmajor utca<br>540.63 m","XI. kerület, Zsombolyai utca 12.<br>722.19 m","II. kerület, Lotz Károly utca<br>2420.16 m","VIII. kerület, Baross utca<br>1202.62 m","V. kerület, Lipótváros<br>323.87 m","II. kerület, Szépvölgyi út<br>2491.04 m","VIII. kerület, Baross utca<br>1202.62 m","II. kerület, Kilátás utca 10.<br>2135.3 m","VIII. kerület, Baross utca<br>1202.62 m","II. kerület, Daru utca<br>2219.88 m","V. kerület, Jászai Mari tér<br>719.23 m","VIII. kerület, Baross utca<br>1202.62 m","VI. kerület, Ó utca<br>251.46 m","XI. kerület, Sasad<br>1664.54 m","V. kerület, Vámház körút<br>110.6 m","V. kerület, Falk Miksa utca<br>505.09 m","XI. kerület, Pajkos utca<br>654.12 m","I. kerület, Batthyány utca<br>278.57 m","V. kerület, Honvéd utca 38.<br>469.38 m","I. kerület, Batthyány utca<br>278.57 m","XII. kerület, Alkotás utca<br>62.62 m","II. kerület, Törökvész<br>2371.04 m","IX. kerület, Kinizsi utca<br>409.04 m","VIII. kerület, Corvin sétány<br>303.56 m","IX. kerület, Ráday utca<br>463.45 m","IX. kerület, Balázs Béla utca<br>457.18 m","VIII. kerület, Corvin sétány<br>303.56 m","XIV. kerület, Stefánia út<br>1124.22 m","II. kerület, Pusztaszeri út<br>2331.84 m","VI. kerület, Szinyei Merse utca 25.<br>449.65 m","VII. kerület, Marek József utca<br>626.36 m","XI. kerület, Napkelte utca<br>1095.11 m","II. kerület, Pusztaszeri út<br>2331.84 m","IX. kerület, Mester utca 9.<br>545.05 m","XIII. kerület, Jászai Mari tér<br>714.28 m","VI. kerület, Szinyei Merse utca 25.<br>449.65 m","VII. kerület, Murányi utca<br>434.05 m","XIII. kerület, Jászai Mari tér<br>714.28 m","IX. kerület, Erkel utca<br>259.51 m","XXII. kerület, Ják utca<br>4073.31 m","V. kerület, Stollár Béla utca<br>598.99 m","III. kerület, Emőd utca<br>3021.61 m","XIII. kerület, Madarász Viktor utca<br>468.55 m","IX. kerület, Erkel utca<br>259.51 m","II. kerület, Csalán út<br>3230.79 m","XIII. kerület, Kelén utca<br>744.55 m","XI. kerület, Budafoki út<br>1432.96 m","II. kerület, Pajzs utca<br>1390.23 m","I. kerület, Attila út<br>361.85 m","V. kerület, Régi posta utca<br>284.41 m","III. kerület, Rómaifürdő<br>2480.79 m","XIII. kerület, Budai Nagy Antal utca<br>667.94 m","VIII. kerület, Baross utca<br>1202.62 m","XI. kerület, Szerenád utca<br>1785.39 m","XI. kerület, Ibrahim utca<br>1226.75 m","II. kerület, Kavics utca<br>1608.72 m","XI. kerület, Karinthy Frigyes út 4-6.<br>144.59 m","VII. kerület, Városligeti fasor<br>447.71 m","XI. kerület, Bocskai út<br>449.15 m","I. kerület, Szilágyi Dezső tér 7.<br>411.72 m","IX. kerület, Nádasdy utca<br>843.42 m","VII. kerület, Városligeti fasor<br>447.71 m","VI. kerület, Munkácsy Mihály utca 23.<br>320.87 m","V. kerület, Fehér Hajó utca<br>166.19 m","XI. kerület, Lágymányos<br>656.25 m","V. kerület, Balaton utca<br>688.18 m","IX. kerület, Tompa utca<br>389.95 m","XI. kerület, Gellérthegy<br>1069.75 m","XI. kerület, Kondorosi út<br>1562.34 m","V. kerület, Balaton utca<br>688.18 m","XIV. kerület, Csertő park<br>1085.54 m","III. kerület, Gladiátor utca<br>3026.6 m","XI. kerület, Bartók Béla út<br>902.03 m","V. kerület, Falk Miksa utca<br>505.09 m","V. kerület, Fehér Hajó utca<br>166.19 m","V. kerület, Arany János utca<br>455.5 m","III. kerület, Bécsi út<br>3363.27 m","III. kerület, Lajos utca<br>1898.55 m","III. kerület, Vihar utca 4.<br>2492.46 m","XIV. kerület, Nagy Lajos király útja<br>1823.39 m","XI. kerület, Kelenföld<br>631.38 m","V. kerület, Fehér Hajó utca<br>166.19 m","II. kerület, Balogvár utca<br>1160.23 m","VIII. kerület, Kun utca<br>277.76 m","V. kerület, József nádor tér<br>168.31 m","V. kerület, Károlyi utca<br>122.59 m","V. kerület, Deák Ferenc tér<br>33.51 m","XIV. kerület, Cházár András utca<br>950.4 m","II. kerület, Margit körút 56.<br>454.92 m","II. kerület, Víziváros<br>417.52 m","XI. kerület, Kőérberek - Tóváros<br>2474.55 m","I. kerület, Franklin utca<br>199.12 m","XIII. kerület, Bessenyei utca<br>682.03 m","II. kerület, Balogvár utca<br>1160.23 m","VI. kerület, Hajós utca<br>35.23 m","XII. kerület, Németvölgy<br>1361.76 m","I. kerület, Attila út<br>361.85 m","IX. kerület, Nádasdy utca<br>843.42 m","XIII. kerület, Szabolcs utca<br>646.95 m","XII. kerület, Zugligeti út<br>2690.62 m","VI. kerület, Hajós utca<br>35.23 m","XIV. kerület, Angol utca<br>1708.39 m","XIII. kerület, Gidófalvy Lajos utca<br>534.29 m","II. kerület, Margit körút<br>67.73 m","II. kerület, Kuruclesi út 57.<br>4492.07 m","XIV. kerület, Angol utca<br>1708.39 m","II. kerület, Balogvár utca<br>1160.23 m","XIII. kerület, Jakab József utca<br>347.46 m","XI. kerület, Ecsed utca<br>572.57 m","XIII. kerület, Újpesti rakpart<br>801.09 m","XIV. kerület, Angol utca<br>1708.39 m","IX. kerület, Balázs Béla utca<br>457.18 m","XIII. kerület, Váci út<br>354.53 m","IX. kerület, Tűzoltó utca<br>352.49 m","XIII. kerület, Budai Nagy Antal utca<br>667.94 m","XI. kerület, Löveg utca 2.<br>3211.66 m","XII. kerület, Óra út<br>1852.02 m","XIV. kerület, Thököly út 112.<br>1065.63 m","XIII. kerület, Rokolya utca<br>1606.8 m","V. kerület, Bajcsy-Zsilinszky út<br>336.68 m","IX. kerület, Mester utca 83.<br>1056.31 m","IX. kerület, Mester utca<br>763.09 m","VI. kerület, Podmaniczky utca 65.<br>521.66 m","V. kerület, Bajcsy-Zsilinszky út 58.<br>202.77 m","XIII. kerület, Váci út<br>354.53 m","XIII. kerület, Kartács utca<br>660.21 m","VI. kerület, Székely Bertalan utca<br>360.02 m","XIII. kerület, Kucsma utca<br>1429.51 m","III. kerület, Kiscelli utca<br>2259.16 m","VII. kerület, Károly körút<br>111.51 m","VII. kerület, Damjanich utca<br>572.79 m","VIII. kerület, József körút<br>273.03 m","VI. kerület, Szív utca 59.<br>397.19 m","VI. kerület, Andrássy út 74.<br>133.39 m","V. kerület, Stollár Béla utca<br>598.99 m","III. kerület, Zápor utca<br>2331.42 m","VI. kerület, Lovag utca<br>258.02 m","VIII. kerület, Tömő utca<br>168.27 m","VII. kerület, Damjanich utca<br>572.79 m","XIV. kerület, Ilka utca<br>986.5 m","V. kerület, Belgrád rakpart<br>402.52 m","XIII. kerület, Petneházy utca<br>300.99 m","XIV. kerület, Örs vezér tere<br>487.71 m","XIV. kerület, Bíbor utca<br>265.07 m","VI. kerület, Kmety György utca 2.<br>213.7 m","XIII. kerület, Petneházy utca<br>300.99 m","XII. kerület, Diós árok<br>1580.31 m","III. kerület, Füst Milán utca<br>4603.75 m","V. kerület, Városház utca<br>124.79 m","XIV. kerület, Bosnyák utca 14-18.<br>1675.46 m","XIII. kerület, Lehel utca<br>629.35 m","VIII. kerület, József körút 9.<br>156.98 m","III. kerület, Kapaszkodó utca<br>5369.34 m","V. kerület, Arany János utca 27.<br>235.13 m","II. kerület, Országút<br>449.9 m","XIII. kerület, Róbert Károly körút<br>336.29 m","XIV. kerület, Fűrész utca<br>1362.91 m","I. kerület, Ostrom utca<br>445.56 m","X. kerület, Száraz utca<br>1564.98 m","V. kerület, Kígyó utca<br>244.54 m","XI. kerület, Rahó utca 3-5.<br>719.31 m","XIII. kerület, Fiastyúk utca<br>698.42 m","I. kerület, Hegyalja út 23.<br>1437.47 m","II. kerület, Eszter utca 23.<br>1294.99 m","XIV. kerület, Istvánmezei út<br>708.55 m","I. kerület, Zsolt utca<br>1293.55 m","IV. kerület, Újpest-Központ<br>57.78 m","XIV. kerület, Gyarmat utca<br>878.74 m","IX. kerület, Lechner Ödön fasor<br>1568.35 m","V. kerület, Molnár utca<br>235.35 m","VIII. kerület, Corvin sétány 3.<br>288.73 m","XI. kerület, Radvány utca<br>1897.79 m","V. kerület, Kálmán Imre utca<br>337.36 m","XIV. kerület, Angol utca<br>1708.39 m","VII. kerület, Nefelejcs utca<br>311.79 m","XII. kerület, Hableány utca<br>2252.65 m","XIII. kerület, Újlipótváros<br>469.85 m","VII. kerület, Damjanich utca<br>572.79 m","IX. kerület, Erkel utca 14.<br>246.89 m","XIII. kerület, Visegrádi utca 14.<br>268.8 m","XIII. kerület, Teve utca<br>260.39 m","V. kerület, Stollár Béla utca<br>598.99 m","VI. kerület, Benczúr utca<br>207.26 m","XIV. kerület, Beckó utca<br>2067.25 m","V. kerület, Belgrád rakpart<br>402.52 m","II. kerület, Szépvölgyi út<br>2491.04 m","XIII. kerület, Hajóépítő sétány<br>421.49 m","VI. kerület, Lendvay utca<br>120.61 m","XIII. kerület, Tahi utca<br>1654.66 m","XXI. kerület, Jókai utca 30.<br>4453.77 m","XXIII. kerület, Soroksár-Újtelep<br>5362.85 m","XI. kerület, Medvetalp utca<br>2441.15 m","V. kerület, Alkotmány utca<br>414.12 m","V. kerület, Honvéd utca<br>399.93 m","VIII. kerület, Bacsó Béla utca<br>174.14 m","XIII. kerület, Csanády utca<br>532.69 m","XI. kerület, Gombocz Zoltán utca<br>1455.3 m","XIII. kerület, Petneházy utca 1.<br>300.99 m","XIII. kerület, Hajóépítő sétány<br>421.49 m","XIII. kerület, Országbíró utca 44-46.<br>1062.04 m","VI. kerület, Andrássy út<br>157.51 m","VII. kerület, Városligeti fasor<br>447.71 m","VIII. kerület, Kun utca<br>277.76 m","XIII. kerület, Csángó utca<br>719.46 m","XI. kerület, Madárhegy<br>2408.25 m","VI. kerület, Bajcsy-Zsilinszky út<br>246.93 m","XIII. kerület, Pannónia utca<br>429.76 m","XIII. kerület, Szent László út<br>710.05 m","IX. kerület, Balázs Béla utca<br>457.18 m","XIV. kerület, Angol utca<br>1708.39 m","XIII. kerület, Hajóépítő sétány<br>421.49 m","XIII. kerület, Madarász Viktor utca 13.<br>313.18 m","XIII. kerület, Madarász Viktor utca<br>468.55 m","V. kerület, Balaton utca<br>688.18 m","III. kerület, Folyamőr utca<br>2030.42 m","V. kerület, Kígyó utca 4.<br>190.93 m","VII. kerület, Károly körút<br>111.51 m","XIII. kerület, Béke tér<br>1174.26 m","XIII. kerület, Gidófalvy Lajos utca<br>534.29 m","V. kerület, Veres Pálné utca<br>96.03 m","V. kerület, Balassi Bálint utca 9-11.<br>567.33 m","XIII. kerület, Madarász Viktor utca<br>468.55 m","XII. kerület, Királyhágó utca<br>714.89 m","III. kerület, Polgár utca<br>1983.02 m","IX. kerület, Pápay István utca<br>1095.29 m","VII. kerület, Károly körút<br>111.51 m","III. kerület, Füst Milán utca<br>4603.75 m","VI. kerület, Ó utca<br>251.46 m","VIII. kerület, Baross utca<br>1202.62 m","XIII. kerület, Madarász Viktor utca<br>468.55 m","IX. kerület, Mester utca<br>763.09 m","XIV. kerület, Gyarmat utca 47.<br>1528.04 m","V. kerület, Belváros<br>134.33 m","VII. kerület, Klauzál utca<br>359.07 m","XII. kerület, Alkotás utca<br>62.62 m","VII. kerület, Rákóczi út<br>223.94 m","IX. kerület, Ráday utca<br>463.45 m","XII. kerület, Alkotás utca 39.<br>806.1 m","XIII. kerület, Gyöngyösi utca<br>382.02 m","XI. kerület, Október huszonharmadika utca<br>86.75 m","V. kerület, Szemere utca<br>395.96 m","I. kerület, Lovas út<br>311.66 m","XIII. kerület, Kárpát utca<br>604.18 m","V. kerület, Falk Miksa utca<br>505.09 m","VII. kerület, Károly körút<br>111.51 m","II. kerület, Bimbó út<br>1003.12 m","VIII. kerület, Práter utca 22.<br>397.97 m","II. kerület, Szemlőhegy<br>1852.4 m","VI. kerület, Aradi utca<br>144.06 m","XI. kerület, Október huszonharmadika utca<br>86.75 m","XIII. kerület, Bessenyei utca<br>682.03 m","VII. kerület, Bajza utca<br>496.03 m","III. kerület, Polgár utca<br>1983.02 m","VI. kerület, Csengery utca<br>310.77 m","VI. kerület, Király utca 86.<br>286.16 m","V. kerület, Váci utca 65.<br>346.06 m","XII. kerület, Németvölgy<br>1361.76 m","III. kerület, Emőd utca<br>3021.61 m","XI. kerület, Nagyszeben út<br>1034.24 m","III. kerület, Attila utca<br>3438.15 m","XI. kerület, Brassó út<br>1290.32 m","V. kerület, Arany János utca<br>455.5 m","XI. kerület, Vahot utca<br>144.21 m","XIII. kerület, Kresz Géza utca<br>310.95 m","XI. kerület, Hegyalja út<br>1445.82 m","V. kerület, Váci utca<br>211.47 m","V. kerület, Váci utca 65.<br>346.06 m","XII. kerület, Tamási Áron utca 9.<br>1582.75 m","VI. kerület, Jókai utca 8.<br>252.6 m","II. kerület, Hegyi utca<br>2988.55 m","XIV. kerület, Fogarasi út<br>309.93 m","VIII. kerület, Corvin sétány 6.<br>303.56 m","XI. kerület, Október huszonharmadika utca<br>86.75 m","XII. kerület, Hóvirág út<br>2982.59 m","V. kerület, Zrínyi utca 9.<br>316.92 m","II. kerület, Bimbó út<br>1003.12 m","XIII. kerület, Hajóépítő sétány<br>421.49 m","III. kerület, Rómaifürdő<br>2480.79 m","II. kerület, Tárogató út<br>2996.72 m","XIII. kerület, Kresz Géza utca<br>310.95 m","XIII. kerület, Angyalföldi út 24.<br>457.45 m","X. kerület, Kőbánya - Óhegy<br>1871.76 m","V. kerület, Szervita tér<br>272.92 m","XI. kerület, Hegyalja út<br>1445.82 m","IX. kerület, Boráros tér<br>659.47 m","IX. kerület, Erkel utca<br>259.51 m","XIII. kerület, Victor Hugo utca<br>480.47 m","II. kerület, Lotz Károly utca<br>2420.16 m","XIII. kerület, Katona József utca<br>107.8 m","I. kerület, Kuny Domokos utca<br>462.99 m","V. kerület, Belváros<br>134.33 m","IX. kerület, Erkel utca<br>259.51 m","XI. kerület, Budafoki út<br>1432.96 m","II. kerület, Margit körút<br>67.73 m","XIII. kerület, Kresz Géza utca<br>310.95 m","XIV. kerület, Bosnyák utca<br>1675.46 m","I. kerület, Kuny Domokos utca<br>462.99 m","VI. kerület, Andrássy út<br>157.51 m","XII. kerület, Orbánhegy<br>1530.9 m","XIV. kerület, Egressy út<br>2223.9 m","V. kerület, Galamb utca<br>361.87 m","V. kerület, Szervita tér<br>272.92 m","II. kerület, Bimbó út<br>1003.12 m","V. kerület, Váci utca<br>211.47 m","V. kerület, Lipótváros<br>323.87 m","XI. kerület, Kondorosi út<br>1562.34 m","XIV. kerület, Szugló utca<br>1187.11 m","VIII. kerület, Corvin sétány<br>303.56 m","XI. kerület, Gellérthegy<br>1069.75 m","V. kerület, Aranykéz utca 4-6.<br>214.82 m","V. kerület, Kálmán Imre utca<br>337.36 m","II. kerület, József Attila útja<br>9763.24 m","XI. kerület, Bartók Béla út<br>902.03 m","XIII. kerület, Pozsonyi út 38.<br>667.87 m","XIV. kerület, Jávorka Ádám utca<br>1546.6 m","V. kerület, Akadémia utca<br>542.13 m","VII. kerület, Nagy Diófa utca<br>357.39 m","XIV. kerület, Bosnyák utca<br>1675.46 m","XII. kerület, Kútvölgy<br>2688.54 m","II. kerület, Szépvölgy<br>4313.02 m","III. kerület, Boglár utca<br>4294.29 m","XII. kerület, Tündér lépcső<br>1967.32 m","II. kerület, Kelemen László utca<br>3062.62 m","XIV. kerület, Columbus utca<br>690.47 m","IX. kerület, Boráros tér<br>659.47 m","XIII. kerület, Radnóti Miklós utca<br>787.67 m","II. kerület, Hűvösvölgy<br>5918.19 m","XI. kerület, Sashegy<br>1822.33 m","XIII. kerület, Madarász Viktor utca 13.<br>313.18 m","V. kerület, Garibaldi utca<br>154.98 m","II. kerület, Szilágyi Erzsébet fasor<br>1097.55 m","VIII. kerület, Horánszky utca<br>328.41 m","XII. kerület, Hableány utca<br>2252.65 m","II. kerület, Bimbó út<br>1003.12 m","I. kerület, Kuny Domokos utca<br>462.99 m","XI. kerület, Vahot utca<br>144.21 m","VII. kerület, Rumbach Sebestyén utca<br>351.95 m","VI. kerület, Lázár utca<br>230.82 m","II. kerület, Medve utca<br>299.11 m","IX. kerület, Boráros tér<br>659.47 m","XI. kerület, Benedikt Ottó utca<br>631.11 m","VI. kerület, Andrássy út 33.<br>144.51 m","XIII. kerület, Csata utca<br>907.97 m","VII. kerület, Thököly út 1.<br>336.07 m","XI. kerület, Fehérvári út<br>1600.45 m","I. kerület, Attila út<br>361.85 m","XI. kerület, Benedikt Ottó utca<br>631.11 m","XIII. kerület, Victor Hugo utca<br>480.47 m","V. kerület, Belgrád rakpart 26.<br>361.59 m","XIII. kerület, Frangepán utca<br>1217.13 m","XIII. kerület, Teve utca<br>260.39 m","XIII. kerület, Bessenyei utca<br>682.03 m","XIII. kerület, Reitter Ferenc utca<br>983.63 m","XIX. kerület, Artúr utca<br>528.07 m","I. kerület, Döbrentei tér<br>789.61 m","II. kerület, Zsigmond tér<br>1873.34 m","I. kerület, Fő utca<br>120.63 m","II. kerület, Felhévízi utca<br>2141.43 m","XI. kerület, Bartók Béla út<br>902.03 m","III. kerület, Váradi utca<br>2594.95 m","XIV. kerület, Csertő park<br>1085.54 m","VIII. kerület, Jázmin utca<br>497.55 m","XI. kerület, Ulászló utca 31.<br>415.55 m","II. kerület, Kurucles<br>4318.44 m","II. kerület, Rózsadomb<br>1079.01 m","IX. kerület, Nádasdy utca<br>843.42 m","I. kerület, Hegyalja út<br>1385.66 m","I. kerület, Logodi utca<br>320.73 m","VI. kerület, Jókai utca<br>207.07 m","VI. kerület, Vörösmarty utca 46.<br>263.66 m","V. kerület, Nyáry Pál utca 9.<br>219.7 m","IV. kerület, Gyertyaláng utca<br>3160.97 m","III. kerület, Domoszló útja 52.<br>4625.06 m","XI. kerület, Ördögorom lejtő<br>3756.68 m","III. kerület, Remetehegyi út<br>2908.59 m","I. kerület, Krisztinaváros<br>593.22 m","VI. kerület, Városligeti fasor 3.<br>447.71 m","II. kerület, Újlak<br>1894.56 m","XIII. kerület, Berettyó utca<br>587.54 m","XII. kerület, Kikelet utca<br>3162.32 m","II. kerület, Törökvész<br>2371.04 m","XIII. kerület, Bessenyei utca<br>682.03 m","XI. kerület, Szentimreváros<br>696.72 m","V. kerület, Vármegye utca<br>182.45 m","XIII. kerület, Reitter Ferenc utca<br>983.63 m","VII. kerület, Rottenbiller utca 41.<br>464.6 m","VII. kerület, Rottenbiller utca 41.<br>464.6 m","III. kerület, Váradi utca<br>2594.95 m","V. kerület, Belváros<br>134.33 m","XI. kerület, Fehérvári út<br>1600.45 m","XI. kerület, Olajbogyó utca<br>898.09 m","XI. kerület, Völgycsillag utca 4.<br>976.12 m","III. kerület, Váradi utca<br>2594.95 m","VIII. kerület, Százados út 51-65.<br>689.06 m","XIII. kerület, Csata utca<br>907.97 m","VII. kerület, Wesselényi utca<br>625.1 m","V. kerület, Mérleg utca 12.<br>294.9 m","V. kerület, Bajcsy-Zsilinszky út<br>336.68 m","XI. kerület, Budafoki út 41/A<br>488.72 m","II. kerület, Margit körút<br>67.73 m","IX. kerület, Boráros tér<br>659.47 m","II. kerület, Frankel Leó út 3.<br>663.56 m","V. kerület, Lipótváros<br>323.87 m","XIV. kerület, Kerékgyártó utca<br>1487.86 m","VI. kerület, Andrássy út 83.<br>73.31 m","XI. kerület, Budapart<br>1096.91 m","XIII. kerület, Frangepán utca<br>1217.13 m","V. kerület, Kecskeméti utca<br>6.1 m","V. kerület, Nyáry Pál utca<br>178.93 m","XIV. kerület, Csertő park<br>1085.54 m","II. kerület, Guyon Richárd utca<br>2167.36 m","XI. kerület, Zsombor utca<br>1109.28 m","XI. kerület, Kőrösy József utca<br>132.82 m","XIII. kerület, Meder utca<br>455.78 m","XIII. kerület, Frangepán utca<br>1217.13 m","XIII. kerület, Újlipótváros<br>469.85 m","IX. kerület, Viola utca<br>484.02 m","VIII. kerület, Bródy Sándor utca<br>372.21 m","VI. kerület, Ó utca<br>251.46 m","III. kerület, Kerék utca<br>2223.36 m","V. kerület, Nádor utca<br>480.8 m","V. kerület, Deák Ferenc utca 21.<br>74.4 m","XIII. kerület, Frangepán utca<br>1217.13 m","VI. kerület, Csengery utca<br>310.77 m","II. kerület, Pasaréti út<br>1130.58 m","VI. kerület, Ó utca<br>251.46 m","XIII. kerület, Frangepán utca<br>1217.13 m","II. kerület, Vihorlát utca<br>3232.06 m","VIII. kerület, Koszorú utca<br>694.82 m","XIII. kerület, Béke utca<br>1134.33 m","III. kerület, Bécsi út<br>3363.27 m","XIV. kerület, Columbus utca<br>690.47 m","XI. kerület, Szabolcska Mihály utca<br>301.88 m","VI. kerület, Andrássy út<br>157.51 m","VIII. kerület, Bródy Sándor utca<br>372.21 m","VI. kerület, Munkácsy Mihály utca<br>523.39 m","I. kerület, Csalogány utca<br>328.15 m","II. kerület, Frankel Leó út<br>1069.31 m","V. kerület, Molnár utca<br>235.35 m","III. kerület, Pacsirtamező utca<br>2116.19 m","XI. kerület, Kelenföld<br>631.38 m","IX. kerület, Nádasdy utca<br>843.42 m","XIV. kerület, Columbus utca<br>690.47 m","II. kerület, József Attila útja<br>9763.24 m","XIV. kerület, Cházár András utca<br>950.4 m","IX. kerület, Viola utca<br>484.02 m","VII. kerület, Rejtő Jenő utca<br>557.29 m","XV. kerület, Bethlen Gábor utca<br>1745.39 m","XIII. kerület, Pozsonyi út 19.<br>665.2 m","XIII. kerület, Csángó utca<br>719.46 m","VII. kerület, Marek József utca 32.<br>733.79 m","XI. kerület, Vahot utca<br>144.21 m","XX. kerület, Baross utca<br>3775.05 m","XIII. kerület, Babér utca<br>290.5 m","V. kerület, Október 6. utca<br>346.99 m","V. kerület, Vármegye utca<br>182.45 m","XVI. kerület, Vágás utca<br>6017.31 m","V. kerület, József nádor tér<br>168.31 m","XIII. kerület, Madarász Viktor utca<br>468.55 m","VI. kerület, Bajcsy-Zsilinszky út 19.<br>220.17 m","XX. kerület, Ábrahám Géza utca<br>4216.58 m","XI. kerület, Lágymányosi utca<br>249.83 m","XVI. kerület, Futórózsa utca<br>3838.46 m","VI. kerület, Király utca 30-32.<br>269.36 m","V. kerület, Honvéd utca<br>399.93 m","II. kerület, Nagybányai út<br>3273.02 m","II. kerület, Budakeszi út<br>5784.39 m","I. kerület, Batthyány utca 4.<br>63.27 m","III. kerület, Folyamőr utca<br>2030.42 m","XIII. kerület, Kresz Géza utca<br>310.95 m","II. kerület, Pasarét<br>2590.38 m","VI. kerület, Bajcsy-Zsilinszky út<br>246.93 m","V. kerület, Vármegye utca<br>182.45 m","VII. kerület, Erzsébet körút<br>478.28 m","VI. kerület, Szondi utca 51.<br>356.46 m","XVI. kerület, Bányász utca<br>6007.12 m","XIII. kerület, Arasz utca 6.<br>625.27 m","XIII. kerület, Fiastyúk utca<br>698.42 m","XIV. kerület, Egressy út<br>2223.9 m","XI. kerület, Bölcső utca<br>160.27 m","IX. kerület, Balázs Béla utca<br>457.18 m","IX. kerület, Balázs Béla utca<br>457.18 m","IX. kerület, Balázs Béla utca<br>457.18 m","I. kerület, Hegyalja út 23.<br>1437.47 m","XIV. kerület, Vazul utca<br>2541.41 m","II. kerület, Pálvölgy<br>3199.76 m","VIII. kerület, Mikszáth Kálmán tér<br>392.88 m","XII. kerület, Tündér lépcső<br>1967.32 m","XIII. kerület, Dévai utca 19.<br>357.61 m","XIII. kerület, Frangepán utca<br>1217.13 m","XIII. kerület, Visegrádi utca 48.<br>238.77 m","XIV. kerület, Istvánmező<br>1081.17 m","XIII. kerület, Tomori köz<br>611.7 m","VI. kerület, Révay utca<br>184.72 m","XI. kerület, Bartók Béla út<br>902.03 m","XIV. kerület, Bolgárkertész utca<br>396.22 m","III. kerület, Zápor utca<br>2331.42 m","XI. kerület, Hegyalja út<br>1445.82 m","III. kerület, Kolostor út<br>2798.83 m","II. kerület, Zöldkő utca<br>2964.17 m","VI. kerület, Andrássy út 77.<br>144.59 m","V. kerület, Vigadó tér<br>158.12 m","XIV. kerület, Alsórákos<br>2539.72 m","XII. kerület, Tündér lépcső<br>1967.32 m","VII. kerület, Rózsa utca<br>567.22 m","XI. kerület, Gellérthegy<br>1069.75 m","XIV. kerület, Alsórákos - Füredi utcai lakótelep<br>1237.73 m","XII. kerület, Zirzen Janka utca<br>3271.33 m","XIII. kerület, Danubius utca 8.<br>626.88 m","I. kerület, Kuny Domokos utca<br>462.99 m","XI. kerület, Pannonhalmi út<br>829.17 m","V. kerület, Belváros<br>134.33 m","XIII. kerület, Bessenyei utca<br>682.03 m","III. kerület, Kolostor út<br>2798.83 m","V. kerület, Nádor utca 17.<br>467.45 m","V. kerület, Haris köz 4.<br>227.5 m","V. kerület, Városház utca<br>124.79 m","V. kerület, Kecskeméti utca 9.<br>113 m","XI. kerület, Bartók Béla út 57.<br>205.4 m","II. kerület, Alvinci út 13.<br>1090.29 m","II. kerület, Varsányi Irén utca<br>430.78 m","III. kerület, Királyok útja<br>3256.43 m","III. kerület, Óbudai lakótelep<br>2774.42 m","V. kerület, Duna utca 3.<br>219.38 m","XIII. kerület, Váci út 14.<br>222.69 m","VI. kerület, Szinyei Merse utca 25.<br>449.65 m","X. kerület, Tavas utca<br>1254.78 m","VIII. kerület, Bacsó Béla utca<br>174.14 m","XVI. kerület, Szent Imre utca<br>4650.5 m","VIII. kerület, Tisztviselőtelep<br>572.89 m","VIII. kerület, Rákóczi út 59.<br>317.2 m","XIII. kerület, Pannónia utca<br>429.76 m","III. kerület, Bécsi út<br>3363.27 m","II. kerület, Ady Endre utca<br>766.79 m","III. kerület, Csillaghegy<br>3727.63 m","VIII. kerület, József körút 1.<br>50.36 m","IX. kerület, Pápay István utca<br>1095.29 m","II. kerület, Tárogató út<br>2996.72 m","IX. kerület, Középső-Ferencváros - Rehabilitációs terület<br>426.74 m","V. kerület, Október 6. utca<br>346.99 m","VI. kerület, Király utca<br>282.05 m","V. kerület, Belgrád rakpart<br>402.52 m","II. kerület, Bimbó út<br>1003.12 m","XI. kerület, Fehérvári út<br>1600.45 m","XVI. kerület, Csenkesz utca<br>5687.43 m","IX. kerület, Ferenc körút 42.<br>180.49 m","II. kerület, Kapy utca<br>3181.32 m","II. kerület, Széphalom utca<br>4120.39 m","II. kerület, Szépvölgyi út<br>2491.04 m","II. kerület, Szépilona<br>2989.66 m","V. kerület, Belváros<br>134.33 m","VI. kerület, Szondi utca<br>426.53 m","V. kerület, Kálmán Imre utca<br>337.36 m","VI. kerület, Dalszínház utca<br>59.77 m","XIII. kerület, Fiastyúk utca<br>698.42 m","VII. kerület, Dohány utca<br>438.54 m","XI. kerület, Vahot utca<br>144.21 m","IX. kerület, Közraktár utca<br>753.64 m","IX. kerület, Márton utca<br>560.39 m","XII. kerület, Németvölgy<br>1361.76 m","VI. kerület, Mozsár utca<br>215.19 m","II. kerület, Lévay utca<br>1304.26 m","XI. kerület, Andor utca<br>987.48 m","XI. kerület, Szent Gellért tér<br>154.45 m","III. kerület, Ágoston utca<br>2964.12 m","XII. kerület, Szarvas Gábor út<br>2458.87 m","V. kerület, Kálmán Imre utca 14.<br>355.89 m","XII. kerület, György Aladár utca<br>2780.05 m","IX. kerület, Közraktár utca 20.<br>528.16 m","VI. kerület, Aradi utca<br>144.06 m","XII. kerület, Németvölgy<br>1361.76 m","VI. kerület, Dessewffy utca 25.<br>204.55 m","III. kerület, Zápor utca<br>2331.42 m","V. kerület, Ferenciek tere 2.<br>101.88 m","XII. kerület, Zsolna utca<br>1964.01 m","III. kerület, Mátyáshegy<br>2892.47 m","IX. kerület, Mátyás utca<br>365.57 m","VIII. kerület, Bacsó Béla utca<br>174.14 m","XII. kerület, Kissvábhegy<br>919.25 m","I. kerület, Batthyány utca<br>278.57 m","VIII. kerület, Corvin sétány<br>303.56 m","III. kerület, Óarany utca<br>4964.58 m","V. kerület, Zrínyi utca 9.<br>316.92 m","VIII. kerület, Corvin sétány<br>303.56 m","II. kerület, Nyéki út<br>4864.68 m","II. kerület, Pálvölgy<br>3199.76 m","XIV. kerület, Öv utca<br>2641.43 m","V. kerület, Nádor utca<br>480.8 m","V. kerület, Alkotmány utca<br>414.12 m","I. kerület, Logodi utca<br>320.73 m","V. kerület, Vörösmarty tér<br>34.89 m","V. kerület, Szerb utca<br>309.85 m","V. kerület, Ferenciek tere<br>31.29 m","V. kerület, Lipótváros<br>323.87 m","XII. kerület, Fészek utca<br>2222.32 m","IX. kerület, Boráros tér<br>659.47 m","I. kerület, Hegyalja út 23.<br>1437.47 m","XIII. kerület, Cserhalom utca<br>384.86 m","XIII. kerület, Hajóépítő sétány<br>421.49 m","XII. kerület, Zugligeti út<br>2690.62 m","XI. kerület, Siroki utca<br>116.12 m","VIII. kerület, Baross utca<br>1202.62 m","IX. kerület, Balázs Béla utca<br>457.18 m","II. kerület, Tárogató út<br>2996.72 m","VIII. kerület, Déri Miksa utca<br>150.78 m","VIII. kerület, Bauer Sándor utca<br>430.48 m","IX. kerület, József Attila-lakótelep<br>466.92 m","XI. kerület, Irinyi József utca 28.<br>685.85 m","XIV. kerület, Angol utca<br>1708.39 m","IX. kerület, Sobieski János utca<br>574.12 m","VIII. kerület, Corvin sétány<br>303.56 m","VIII. kerület, Losonci tér<br>676.89 m","VIII. kerület, Szörény utca<br>178.93 m","XIII. kerület, Csanády utca<br>532.69 m","II. kerület, Orsó utca<br>2423.62 m","XII. kerület, Városkúti út<br>2826.32 m","VII. kerület, Rózsa utca<br>567.22 m","I. kerület, Nándor utca<br>430.53 m","IX. kerület, Haller utca<br>797.84 m","XI. kerület, Brassó út<br>1290.32 m","V. kerület, Garibaldi utca<br>154.98 m","IX. kerület, Balázs Béla utca 24-28.<br>457.18 m","VIII. kerület, Kun utca<br>277.76 m","VII. kerület, Szövetség utca<br>585.61 m","VIII. kerület, Orczy tér<br>1200.81 m","IX. kerület, Mester utca<br>763.09 m","XII. kerület, Galgóczy köz<br>2844.71 m","XI. kerület, Hegyalja út<br>1445.82 m","V. kerület, Királyi Pál utca<br>179.52 m","VII. kerület, Király utca<br>282.05 m","VIII. kerület, Bezerédj utca<br>279.49 m","XIII. kerület, Angyalföldi út<br>278.91 m","XI. kerület, Bartók Béla út<br>902.03 m","XI. kerület, Bíró László József körút 1.<br>1096.77 m","V. kerület, Belváros<br>134.33 m","IX. kerület, Tagló utca<br>1870.81 m","VIII. kerület, Leonardo da Vinci utca<br>606.84 m","VIII. kerület, Baross utca<br>1202.62 m","XII. kerület, Mártonhegyi út<br>2221.61 m","VI. kerület, Paulay Ede utca 8.<br>68.99 m","VII. kerület, Murányi utca<br>434.05 m","XIII. kerület, Ronyva utca<br>242.04 m","XII. kerület, Galgóczy utca 45.<br>2797.04 m","II. kerület, Alvinci út<br>1320.02 m","XIII. kerület, Szegedi út<br>869.03 m","I. kerület, Lánchíd utca<br>743.51 m","II. kerület, Lotz Károly utca<br>2420.16 m","XIII. kerület, Jászai Mari tér<br>714.28 m","I. kerület, Zsolt utca<br>1293.55 m","IX. kerület, Üllői út<br>248.03 m","VII. kerület, Barcsay utca<br>411.87 m","XIV. kerület, Telepes utca 78.<br>2130.75 m","XI. kerület, Hegyalja út<br>1445.82 m","V. kerület, Galamb utca<br>361.87 m","XIII. kerület, Frangepán utca<br>1217.13 m","XIII. kerület, Madarász Viktor utca<br>468.55 m","VI. kerület, Teréz körút 21.<br>111.33 m","VII. kerület, Kis Diófa utca 3.<br>353.36 m","XIII. kerület, Visegrádi utca<br>184.02 m","VII. kerület, Csengery utca<br>524.78 m","XI. kerület, Fehérvári út<br>1600.45 m","V. kerület, Nyáry Pál utca<br>178.93 m","XII. kerület, Németvölgy<br>1361.76 m","VI. kerület, Ó utca<br>251.46 m","II. kerület, Frankel Leó út<br>1069.31 m","VI. kerület, Szondi utca<br>426.53 m","V. kerület, Veres Pálné utca<br>96.03 m","XI. kerület, Fehérvári út<br>1600.45 m","II. kerület, Buday László utca<br>813.45 m","XIII. kerület, Tátra utca<br>585.66 m","VI. kerület, Lovag utca 12.<br>386.31 m","XII. kerület, Márvány utca<br>669.52 m","XIII. kerület, Kassák Lajos utca<br>387.27 m","V. kerület, Vámház körút<br>110.6 m","V. kerület, Arany János utca<br>455.5 m","VI. kerület, Szondi utca<br>426.53 m","III. kerület, Ürömhegy<br>5191.22 m","XII. kerület, Gyöngyvirág út<br>2379.47 m","V. kerület, Városház utca<br>124.79 m","V. kerület, József Attila utca<br>60.27 m","XVIII. kerület, Csörgőfa utca<br>6954.81 m","V. kerület, Báthory utca<br>306.64 m","XI. kerület, Bogdánfy utca<br>618.33 m","IX. kerület, Thaly Kálmán utca 54.<br>136.59 m","XII. kerület, Szendrő utca<br>1621.46 m","IV. kerület, Wolfner utca<br>585.41 m","XIV. kerület, Bolgárkertész utca<br>396.22 m","XI. kerület, Igmándi utca<br>720.21 m","VI. kerület, Király utca<br>282.05 m","VI. kerület, Benczúr utca<br>207.26 m","VI. kerület, Teréz körút 31.<br>301.92 m","XIII. kerület, Hajóépítő sétány<br>421.49 m","VI. kerület, Király utca 104.<br>317.95 m","VI. kerület, Király utca 104.<br>317.95 m","III. kerület, Csillaghegy<br>3727.63 m","V. kerület, Október 6. utca<br>346.99 m","II. kerület, Hárshegy<br>5842.47 m","I. kerület, Attila út<br>361.85 m","III. kerület, Óbuda-Óváros<br>1850.29 m","VI. kerület, Andrássy út<br>157.51 m","IX. kerület, Erkel utca 6.<br>250.75 m","VI. kerület, Lovag utca<br>258.02 m","VII. kerület, Dohány utca<br>438.54 m","III. kerület, Lestyán utca<br>4887.27 m","XIII. kerület, Balzac utca<br>427.09 m","VII. kerület, Rózsa utca<br>567.22 m","IX. kerület, Ráday utca<br>463.45 m","V. kerület, Petőfi Sándor utca<br>325.04 m","VIII. kerület, Dugonics utca<br>710.99 m","VIII. kerület, Auróra utca<br>197.25 m","XI. kerület, Budafoki út<br>1432.96 m","IX. kerület, Boráros tér<br>659.47 m","XIII. kerület, Katona József utca<br>107.8 m","VIII. kerület, Stróbl Alajos utca<br>319.05 m","VI. kerület, Nagymező utca<br>180.42 m","XIII. kerület, Pozsonyi út<br>702.29 m","VI. kerület, Zichy Jenő utca<br>274.1 m","VIII. kerület, Corvin sétány<br>303.56 m","XI. kerület, Törökugrató utca<br>1556.29 m","XIII. kerület, Visegrádi utca<br>184.02 m","VIII. kerület, Gyulai Pál utca<br>354.23 m","XIII. kerület, Katona József utca 6.<br>320.95 m","III. kerület, Óarany utca<br>4964.58 m","IX. kerület, Haller utca 26.<br>844.83 m","VII. kerület, Jósika utca<br>418.89 m","XVIII. kerület, Üllői út<br>5417.09 m","V. kerület, Veres Pálné utca<br>96.03 m","XI. kerület, Alíz utca<br>1357.19 m","VII. kerület, Erzsébet körút<br>478.28 m","V. kerület, Lipótváros<br>323.87 m","IV. kerület, Újpest<br>765.09 m","VI. kerület, Aradi utca<br>144.06 m","V. kerület, Balaton utca<br>688.18 m","XIII. kerület, Apály utca 5A<br>409.83 m","I. kerület, Szabó Ilonka utca<br>282.45 m","I. kerület, Krisztinaváros<br>593.22 m","V. kerület, Vámház körút<br>110.6 m","XI. kerület, Menedékes utca<br>783.59 m","III. kerület, Szépvölgyi út<br>2491.04 m","III. kerület, Kadosa utca<br>1788.6 m","XIII. kerület, Sólyatér utca<br>387.1 m","V. kerület, Váci utca<br>211.47 m","XIV. kerület, Francia út<br>515.78 m","XIII. kerület, Cserhalom utca<br>384.86 m","II. kerület, Daru utca<br>2219.88 m","XVI. kerület, Bökényföldi út<br>5288.93 m","II. kerület, Kavics utca<br>1608.72 m","XI. kerület, Bartók Béla út<br>902.03 m","IX. kerület, Gát utca 17.<br>608.11 m","IX. kerület, Tűzoltó utca 71-75.<br>513.46 m","II. kerület, Bognár utca<br>3187.4 m","VII. kerület, Garay utca 44.<br>369.4 m","V. kerület, Falk Miksa utca<br>505.09 m","XII. kerület, Szendrő utca<br>1621.46 m","III. kerület, Bogdáni út<br>2301.58 m","XIII. kerület, Madarász Viktor utca<br>468.55 m","I. kerület, Fő utca<br>120.63 m","XI. kerület, Kelenföld<br>631.38 m","XIV. kerület, Bosnyák utca<br>1675.46 m","VI. kerület, Andrássy út<br>157.51 m","XII. kerület, Kiss János altábornagy utca<br>1223.8 m","XIII. kerület, Szabolcs utca<br>646.95 m","XIV. kerület, Columbus utca<br>690.47 m","V. kerület, Szemere utca<br>395.96 m","III. kerület, Hunor utca 24.<br>2763.27 m","II. kerület, Pusztaszeri út<br>2331.84 m","V. kerület, Fehér Hajó utca<br>166.19 m","III. kerület, Csengőbojt utca<br>5266.22 m","XIV. kerület, Rákosfalva park 4.<br>790.55 m","II. kerület, Gyergyó utca<br>1567.83 m","III. kerület, Újlak<br>2015.25 m","IX. kerület, Haller utca<br>797.84 m","VI. kerület, Rózsa utca 86.<br>384.56 m","XIII. kerület, Sólyatér utca<br>387.1 m","XII. kerület, Orbánhegy<br>1530.9 m","XI. kerület, Hídvég utca<br>762.17 m","V. kerület, Sas utca<br>265.84 m","XIII. kerület, Angyalföld<br>953.12 m","XIV. kerület, Egressy út<br>2223.9 m","II. kerület, Fillér utca<br>238.57 m","IX. kerület, Mester utca<br>763.09 m","VIII. kerület, Tolnai Lajos utca 28.<br>248.01 m","XIII. kerület, Újlipótváros<br>469.85 m","IX. kerület, Mester utca<br>763.09 m","III. kerület, Törzs utca<br>2551.61 m","V. kerület, Semmelweis utca<br>245.15 m","VIII. kerület, Kun utca 4.<br>288.98 m","II. kerület, Balogvár utca<br>1160.23 m","XIII. kerület, Szent István körút<br>166.82 m","IX. kerület, Mester utca 83.<br>1056.31 m","V. kerület, Belváros<br>134.33 m","III. kerület, Óbuda-Óváros<br>1850.29 m","VII. kerület, Sajó utca 4.<br>640.87 m","II. kerület, Bimbó út<br>1003.12 m","VI. kerület, Szinyei Merse utca<br>363.06 m","IX. kerület, Vágóhíd utca 5.<br>1050.98 m","XXII. kerület, Fácán utca<br>7770.07 m","XI. kerület, Torbágy utca<br>1789.64 m","XIV. kerület, Thököly út<br>1065.63 m","VI. kerület, Lehel utca<br>217.74 m","XIII. kerület, Klapka utca<br>496.23 m","V. kerület, Városház utca 16.<br>271.64 m","II. kerület, Hárshegy<br>5842.47 m","III. kerület, Zápor utca<br>2331.42 m","III. kerület, Zápor utca<br>2331.42 m","XIV. kerület, Angol utca<br>1708.39 m","XIV. kerület, Bolgárkertész utca<br>396.22 m","VII. kerület, Damjanich utca 52.<br>651.86 m","VII. kerület, István utca<br>680.94 m","VI. kerület, Andrássy út<br>157.51 m","XIII. kerület, Szent István körút<br>166.82 m","XVI. kerület, Cinkota - Honfoglalás lakópark<br>6502.64 m","II. kerület, Pasaréti út<br>1130.58 m","VII. kerület, Szövetség utca<br>585.61 m","VII. kerület, Rákóczi út 12.<br>144.4 m","XIII. kerület, Hun utca<br>647.9 m","XIII. kerület, Frangepán utca<br>1217.13 m","I. kerület, Attila út<br>361.85 m","XI. kerület, Vásárhelyi Pál utca<br>88.69 m","V. kerület, Belváros<br>134.33 m","VIII. kerület, Koszorú utca<br>694.82 m","XI. kerület, Éva utca<br>1814.4 m","XII. kerület, Széchenyihegy<br>3225.15 m","III. kerület, Testvérhegy<br>4792.7 m","XIII. kerület, Csata utca<br>907.97 m","VI. kerület, Podmaniczky utca<br>347.39 m","VII. kerület, Károly körút<br>111.51 m","XIII. kerület, Hajóépítő sétány 4.<br>580.94 m","V. kerület, Lipótváros<br>323.87 m","XIII. kerület, Dózsa György út<br>117.64 m","XII. kerület, Tündér lépcső<br>1967.32 m","XIII. kerület, Jászai Mari tér<br>714.28 m","XIV. kerület, Stefánia út<br>1124.22 m","VIII. kerület, Nap utca<br>266.74 m","XIV. kerület, Kalocsai utca<br>1722.71 m","I. kerület, Szalag utca<br>667.66 m","XI. kerület, Menyecske utca<br>416.37 m","VIII. kerület, Futó utca<br>222.73 m","XIV. kerület, Mogyoródi út 115.<br>1358.77 m","XV. kerület, Szentmihályi út 131.<br>3865.88 m","XII. kerület, Istenhegy - Diósárok<br>2315.32 m","XI. kerület, Petzvál József utca<br>617.28 m","XI. kerület, Siroki utca<br>116.12 m","I. kerület, Hunyadi János út<br>596.06 m","II. kerület, Házmán utca<br>2238.33 m","V. kerület, Nádor utca<br>480.8 m","XII. kerület, Somorjai utca 7.<br>1671.74 m","XI. kerület, Baranyai utca<br>45.44 m","XII. kerület, Árnyas út<br>4609.83 m","V. kerület, Veres Pálné utca<br>96.03 m","II. kerület, Szeréna út<br>1941.31 m","XIV. kerület, Öv utca<br>2641.43 m","XIV. kerület, Angol utca<br>1708.39 m","XII. kerület, Királyhágó utca<br>714.89 m","V. kerület, Fehér Hajó utca<br>166.19 m","XIII. kerület, Újlipótváros<br>469.85 m","IX. kerület, Közraktár utca<br>753.64 m","VII. kerület, Péterfy Sándor utca<br>435.23 m","IV. kerület, Váci út<br>1325.43 m","II. kerület, Szikla utca 28.<br>2808.53 m","V. kerület, Vörösmarty tér<br>34.89 m","XI. kerület, Irinyi József utca<br>755.36 m","XIV. kerület, Bartl János utca<br>2396.36 m","II. kerület, Szeréna út<br>1941.31 m","VI. kerület, Andrássy út<br>157.51 m","IX. kerület, Kinizsi utca 22.<br>465.61 m","VI. kerület, Mozsár utca<br>215.19 m","V. kerület, Szemere utca<br>395.96 m","XII. kerület, Farkasvölgy<br>3217.3 m","XI. kerület, Madárhegy<br>2408.25 m","V. kerület, Szent István körút<br>120.55 m","V. kerület, Havas utca 4.<br>276.96 m","I. kerület, Halász utca<br>560.18 m","XIII. kerület, Victor Hugo utca<br>480.47 m","VIII. kerület, Népszínház utca<br>290.9 m","I. kerület, Víziváros<br>247.84 m","X. kerület, Gyakorló utca 3.<br>341.03 m","IX. kerület, Viola utca<br>484.02 m","XXII. kerület, Budafok<br>4115.87 m","XIII. kerület, Teve utca<br>260.39 m","II. kerület, Margit körút 62.<br>330.73 m","II. kerület, Ady Endre utca<br>766.79 m","XIV. kerület, Thököly út<br>1065.63 m","XII. kerület, Virányos<br>2861.67 m","XIII. kerület, Szent István park<br>731.4 m","XIII. kerület, Dévai utca<br>375.49 m","V. kerület, Arany János utca<br>455.5 m","V. kerület, Szerb utca<br>309.85 m","XII. kerület, Kléh István utca<br>856.98 m","III. kerület, Bécsi út<br>3363.27 m","XIII. kerület, Béke utca<br>1134.33 m","XIV. kerület, Korong utca<br>965.61 m","XIII. kerület, Hegedűs Gyula utca<br>430.99 m","XVII. kerület, Rákoscsaba-Újtelep<br>10847.13 m","VIII. kerület, Luther utca 2.<br>295.7 m","VII. kerület, Rózsák tere<br>406.01 m","III. kerület, Pacsirtamező utca<br>2116.19 m","XI. kerület, Kelenföld<br>631.38 m","XI. kerület, Alíz utca 6.<br>1378.79 m","VI. kerület, Székely Bertalan utca 19.<br>396.59 m","IX. kerület, Ferenc körút<br>151.76 m","XIV. kerület, Angol utca<br>1708.39 m","VII. kerület, Király utca 77.<br>319.28 m","XIII. kerület, Meder utca 2-4.<br>455.78 m","V. kerület, Belváros<br>134.33 m","IX. kerület, Tűzoltó utca<br>352.49 m","XI. kerület, Bikszádi utca<br>469.73 m","XIII. kerület, Gidófalvy Lajos utca<br>534.29 m","II. kerület, Frankel Leó út<br>1069.31 m","III. kerület, Óbuda-Óváros<br>1850.29 m","XIII. kerület, Klapka utca 8.<br>399.64 m","XIII. kerület, Klapka utca<br>496.23 m","VII. kerület, Városligeti fasor<br>447.71 m","XIII. kerület, Szabolcs utca<br>646.95 m","VI. kerület, Zichy Jenő utca<br>274.1 m","XII. kerület, Gébics utca<br>1438.21 m","VIII. kerület, Baross utca<br>1202.62 m","V. kerület, Váci utca<br>211.47 m","X. kerület, Üllői út<br>146.8 m","VI. kerület, Andrássy út 33.<br>144.51 m","XIII. kerület, Victor Hugo utca<br>480.47 m","VIII. kerület, József körút<br>273.03 m","XIII. kerület, Dagálysétány utca<br>359.65 m","I. kerület, Vérmező út<br>330.61 m","V. kerület, Királyi Pál utca<br>179.52 m","VII. kerület, Kertész utca<br>426.63 m","IX. kerület, Üllői út<br>248.03 m","XIII. kerület, Újlipótváros<br>469.85 m","III. kerület, Táborhegy<br>3843.17 m","XII. kerület, Magyar jakobinusok tere<br>142.94 m","II. kerület, Margit körút<br>67.73 m","III. kerület, Kadosa utca<br>1788.6 m","III. kerület, Óarany utca<br>4964.58 m","VIII. kerület, Corvin sétány<br>303.56 m","XI. kerület, Nagyszőlős utca<br>1134.38 m","IX. kerület, Ráday utca<br>463.45 m","XIII. kerület, Váci út<br>354.53 m","XIII. kerület, Angyalföld<br>953.12 m","XIII. kerület, Úszódaru utca<br>624.07 m","XIII. kerület, Szent László út<br>710.05 m","I. kerület, Pauler utca<br>507.9 m","XVI. kerület, Körvasút sor<br>2114.03 m","VI. kerület, Zichy Jenő utca 32.<br>315.4 m","XVIII. kerület, Gloriett-lakótelep<br>4314.89 m","VII. kerület, Cserhát utca<br>680.94 m","III. kerület, Tímár utca 15.<br>2139.69 m","XVII. kerület, Akadémiaújtelep<br>5746.1 m","IX. kerület, Ráday utca 31.<br>448.42 m","V. kerület, József nádor tér<br>168.31 m","II. kerület, Budakeszi út 77.<br>5269.46 m","V. kerület, Hold utca<br>287.38 m","XII. kerület, Kútvölgyi út<br>2303.43 m","V. kerület, Dorottya utca<br>254.73 m","II. kerület, Selyemakác lakópark<br>4592.8 m","XIII. kerület, Csanády utca<br>532.69 m","II. kerület, Kis Rókus utca<br>347.74 m","IX. kerület, Erkel utca<br>259.51 m","XII. kerület, Maros utca 29.<br>461.52 m","I. kerület, Logodi utca 78.<br>350.03 m","XIII. kerület, Victor Hugo utca<br>480.47 m","XI. kerület, Mezőkövesd út<br>2685.44 m","VI. kerület, Bajza utca<br>346.83 m","XIII. kerület, Madarász Viktor utca<br>468.55 m","XII. kerület, Németvölgyi út<br>2399.62 m","VI. kerület, Király utca<br>282.05 m","III. kerület, Szőlő utca<br>2273.36 m","II. kerület, Vérhalom<br>1983.92 m","III. kerület, Zápor utca<br>2331.42 m","I. kerület, Krisztina körút<br>367.05 m","I. kerület, Hegyalja út<br>1385.66 m","I. kerület, Hegyalja út<br>1385.66 m","XII. kerület, Városmajor utca<br>540.63 m","IX. kerület, Páva utca<br>389.95 m","XIII. kerület, Angyalföld<br>953.12 m","VI. kerület, Nagymező utca<br>180.42 m","XIII. kerület, Visegrádi utca<br>184.02 m","XIII. kerület, Visegrádi utca<br>184.02 m","III. kerület, Folyamőr utca<br>2030.42 m","III. kerület, Vízimolnár utca<br>2143.81 m","I. kerület, Kuny Domokos utca<br>462.99 m","X. kerület, Gyárdűlő<br>864.93 m","IV. kerület, Megyer<br>2676.63 m","III. kerület, Búza utca<br>2272.58 m","V. kerület, Alkotmány utca<br>414.12 m","VIII. kerület, Üllői út<br>182.35 m","XIII. kerület, Gergely Győző utca<br>720.89 m","XIV. kerület, Stefánia út<br>1124.22 m","XI. kerület, Hegyalja út 64.<br>1504.38 m","II. kerület, Bajvívó utca<br>438.16 m","II. kerület, Orsó utca<br>2423.62 m","XIV. kerület, Kassai tér<br>709.43 m","XV. kerület, Szentmihályi út<br>4255.71 m","V. kerület, Balaton utca<br>688.18 m","II. kerület, Trombitás út<br>679.71 m","V. kerület, Széchenyi utca 1D<br>361.11 m","V. kerület, Balaton utca 23.<br>341.88 m","II. kerület, Szemlőhegy<br>1852.4 m","V. kerület, Alkotmány utca<br>414.12 m","XI. kerület, Gellérthegy<br>1069.75 m","XII. kerület, Alkotás utca<br>62.62 m","VII. kerület, Hársfa utca<br>491.44 m","V. kerület, Balassi Bálint utca<br>691.56 m","II. kerület, Tárogató út 12.<br>3239.78 m","XIII. kerület, Hegedűs Gyula utca<br>430.99 m","V. kerület, Szervita tér<br>272.92 m","II. kerület, Kis Rókus utca<br>347.74 m","X. kerület, Mádi utca 15/B<br>1691.46 m","XIII. kerület, Meder utca 8.<br>451.49 m","VI. kerület, Bajcsy-Zsilinszky út<br>246.93 m","XV. kerület, Szentmihályi út<br>4255.71 m","V. kerület, Ferenciek tere<br>31.29 m","XII. kerület, Hableány utca<br>2252.65 m","VII. kerület, Madách Imre út<br>222.79 m","XII. kerület, Alkotás utca<br>62.62 m","VIII. kerület, Corvin sétány 5.<br>277.71 m","I. kerület, Krisztina körút<br>367.05 m","III. kerület, Táborhegy<br>3843.17 m","XIX. kerület, Báthory utca<br>789.26 m","III. kerület, Losonc utca<br>2213.89 m","III. kerület, Losonc utca<br>2213.89 m","XIII. kerület, Frangepán utca<br>1217.13 m","XII. kerület, Németvölgyi út<br>2399.62 m","IX. kerület, Mester utca<br>763.09 m","V. kerület, Aranykéz utca<br>274.09 m","I. kerület, Zsolt utca<br>1293.55 m","V. kerület, Szerb utca<br>309.85 m","II. kerület, Zuhatag sor<br>3954.76 m","XI. kerület, Fadrusz utca<br>302.05 m","VI. kerület, Hajós utca<br>35.23 m","XIX. kerület, Lehel utca<br>589.14 m","XIII. kerület, Angyalföld<br>953.12 m","VI. kerület, Andrássy út<br>157.51 m","III. kerület, Lajos utca<br>1898.55 m","II. kerület, Pasarét<br>2590.38 m","VII. kerület, Wesselényi utca<br>625.1 m","V. kerület, Veres Pálné utca<br>96.03 m","III. kerület, Bogdáni út<br>2301.58 m","XIII. kerület, Gogol utca<br>224.96 m","XIII. kerület, Pozsonyi út<br>702.29 m","X. kerület, Gergely utca 76.<br>774.73 m","XII. kerület, Istenhegy<br>1901.32 m","XIII. kerület, Váci út<br>354.53 m","III. kerület, Kapaszkodó utca<br>5369.34 m","XIV. kerület, Ilka utca<br>986.5 m","I. kerület, Bem rakpart<br>110.24 m","XI. kerület, Vahot utca<br>144.21 m","XII. kerület, Győri út<br>1281.67 m","IX. kerület, Bakáts utca<br>580.45 m","VIII. kerület, Bródy Sándor utca 9.<br>392.09 m","XI. kerület, Sasadi út<br>2511.34 m","IX. kerület, Mester utca 83.<br>1056.31 m","XIV. kerület, Abonyi utca 15/a<br>1051.03 m","VI. kerület, Teréz körút<br>108.32 m","V. kerület, Királyi Pál utca<br>179.52 m","II. kerület, Varsányi Irén utca<br>430.78 m","IX. kerület, Sobieski János utca 27a<br>577.13 m","XIII. kerület, Lehel utca<br>629.35 m","IX. kerület, Mester utca<br>763.09 m","VIII. kerület, József utca 43-45.<br>210.75 m","IX. kerület, Erkel utca<br>259.51 m","XII. kerület, Lejtő út<br>2122.52 m","XI. kerület, Gazdagréti lakótelep<br>1644.69 m","VII. kerület, Dózsa György út<br>801.4 m","VI. kerület, Hajós utca<br>35.23 m","III. kerület, Hunor utca 24.<br>2763.27 m","IX. kerület, Üllői út<br>248.03 m","VIII. kerület, Kőris utca 27.<br>950.22 m","IX. kerület, Sobieski János utca<br>574.12 m","XX. kerület, Gubacs - Mediterrán lakópark<br>4507.85 m","V. kerület, Honvéd utca 22.<br>519.84 m","XI. kerület, Diószegi út 60/a<br>1174.08 m","V. kerület, Egyetem tér<br>196.82 m","XIV. kerület, Bánki Donát utca<br>316.03 m","V. kerület, Türr István utca<br>156.85 m","VI. kerület, Paulay Ede utca<br>178.5 m","XII. kerület, Kissvábhegy<br>919.25 m","XI. kerület, Fehérvári út<br>1600.45 m","XIII. kerület, Szegedi út<br>869.03 m","XIV. kerület, Erzsébet királyné útja<br>332.06 m","XI. kerület, Ménesi út<br>742.42 m","VI. kerület, Andrássy út<br>157.51 m","V. kerület, Lipótváros<br>323.87 m","II. kerület, Bimbó út<br>1003.12 m","II. kerület, Budakeszi út<br>5784.39 m","XIII. kerület, Tátra utca<br>585.66 m","V. kerület, Nádor utca<br>480.8 m","XI. kerület, Bartók Béla út<br>902.03 m","XI. kerület, Sasadi út<br>2511.34 m","V. kerület, Március 15. tér<br>363.34 m","XIII. kerület, Petneházy utca<br>300.99 m","V. kerület, Váci utca 11.<br>231.79 m","VII. kerület, Dembinszky utca<br>756.01 m","V. kerület, Balassi Bálint utca 25.<br>666.54 m","IX. kerület, Gát utca<br>542.15 m","VI. kerület, Kodály körönd<br>65.87 m","XI. kerület, Baranyai utca<br>45.44 m","I. kerület, Logodi utca<br>320.73 m","II. kerület, Szemlőhegy<br>1852.4 m","IV. kerület, Megyer - Izzó lakótelep<br>2385.66 m","VII. kerület, Csengery utca<br>524.78 m","IX. kerület, Haller utca<br>797.84 m","III. kerület, Folyondár utca<br>2662.89 m","VIII. kerület, Hock János utca<br>506.82 m","VII. kerület, Dohány utca<br>438.54 m","VI. kerület, Benczúr utca<br>207.26 m","XIII. kerület, Visegrádi utca<br>184.02 m","VIII. kerület, Futó utca<br>222.73 m","IX. kerület, Távíró utca<br>274.65 m","VI. kerület, Weiner Leó utca<br>426.78 m","XI. kerület, Kelenföld<br>631.38 m","VI. kerület, Zichy Jenő utca<br>274.1 m","V. kerület, Ferenciek tere 4.<br>0 m","XII. kerület, Kálló esperes utca 13.<br>1740.61 m","XIII. kerület, Madarász Viktor utca<br>468.55 m","II. kerület, Hárshegyi út<br>4794.25 m","II. kerület, Fillér utca<br>238.57 m","XIII. kerület, Bessenyei utca<br>682.03 m","XIII. kerület, Pannónia utca<br>429.76 m","V. kerület, Veres Pálné utca<br>96.03 m","III. kerület, Lestyán utca<br>4887.27 m","I. kerület, Szilágyi Dezső tér<br>353.64 m","XIII. kerület, Taksony utca<br>446.69 m","XI. kerület, Kruspér utca<br>501.24 m","XIII. kerület, Váci út<br>354.53 m","I. kerület, Logodi utca<br>320.73 m","I. kerület, Logodi utca<br>320.73 m","VIII. kerület, Vajda Péter utca<br>796.48 m","II. kerület, Szép Juhászné út<br>6858.45 m","XIV. kerület, Thököly út<br>1065.63 m","I. kerület, Úri utca<br>611.32 m","III. kerület, Szent István utca<br>4189.98 m","XII. kerület, Zirzen Janka utca<br>3271.33 m","IX. kerület, Üllői út<br>248.03 m","IX. kerület, Pápay István utca<br>1095.29 m","XIII. kerület, Váci út<br>354.53 m","XIV. kerület, Bolgárkertész utca<br>396.22 m","XII. kerület, Költő utca<br>2678.65 m","XX. kerület, Gubacsipuszta<br>4024.16 m","III. kerület, Hunor utca 3-7.<br>2536.78 m","II. kerület, Labanc út<br>2783.15 m","XXII. kerület, Budatétény<br>5296.36 m","XI. kerület, Kánai út<br>2454.72 m","I. kerület, Zsolt utca<br>1293.55 m","II. kerület, Dér utca<br>7453.13 m","XII. kerület, Dobsinai utca<br>1627.98 m","IX. kerület, Haller utca<br>797.84 m","VII. kerület, Damjanich utca<br>572.79 m","II. kerület, Pusztaszeri út<br>2331.84 m","XIV. kerület, Kövér Lajos utca<br>1162.86 m","I. kerület, Kuny Domokos utca<br>462.99 m","XII. kerület, Pinty utca<br>3120.93 m","III. kerület, Zápor utca<br>2331.42 m","XII. kerület, Orbánhegy<br>1530.9 m","IV. kerület, Pálya utca<br>2135.58 m","XIII. kerület, Úszódaru utca 14.<br>444.13 m","VIII. kerület, Józsefváros - Palotanegyed<br>442.3 m","VII. kerület, Városligeti fasor<br>447.71 m","VIII. kerület, Baross tér<br>42.41 m","XIII. kerület, Pannónia utca<br>429.76 m","XIII. kerület, Dagály utca 5.<br>267.02 m","VII. kerület, Kazinczy utca<br>352.72 m","XIII. kerület, Turóc utca<br>455.17 m","II. kerület, Frankel Leó út<br>1069.31 m","VIII. kerület, Rákóczi út<br>31.01 m","IX. kerület, Középső-Ferencváros - Rehabilitációs terület<br>426.74 m","V. kerület, Március 15. tér<br>363.34 m","XIII. kerület, Reitter Ferenc utca<br>983.63 m","XI. kerület, Törökverő út<br>3912.19 m","IX. kerület, Soroksári út 115.<br>1614.62 m","XVI. kerület, Rákosszentmihály<br>3799.65 m","XI. kerület, Lágymányosi utca<br>249.83 m","XII. kerület, Farkasvölgy<br>3217.3 m","XII. kerület, Farkasvölgy<br>3217.3 m","XII. kerület, Németvölgy<br>1361.76 m","IX. kerület, Üllői út<br>248.03 m","VIII. kerület, Corvin sétány<br>303.56 m","VIII. kerület, József utca<br>210.75 m","VI. kerület, Andrássy út<br>157.51 m","I. kerület, Ostrom utca<br>445.56 m","I. kerület, Kuny Domokos utca<br>462.99 m","VI. kerület, Izabella utca<br>442.44 m","V. kerület, Vörösmarty tér<br>34.89 m","I. kerület, Logodi utca<br>320.73 m","XX. kerület, Ady Endre utca<br>3297.97 m","XIV. kerület, Herminamező<br>677.02 m","X. kerület, Harmat utca<br>1480.64 m","VII. kerület, Klauzál tér<br>467.66 m","XVI. kerület, Cinkota - Honfoglalás lakópark<br>6502.64 m","VII. kerület, Dózsa György út<br>801.4 m","VII. kerület, Kazinczy utca<br>352.72 m","XXI. kerület, Szabadság utca<br>6457.86 m","XIII. kerület, Visegrádi utca 10.<br>236.59 m","III. kerület, Kadosa utca<br>1788.6 m","III. kerület, Rómaifürdő<br>2480.79 m","III. kerület, Rómaifürdő<br>2480.79 m","XIV. kerület, Róna utca<br>1369.12 m","XVI. kerület, Cinkota - Honfoglalás lakópark<br>6502.64 m","II. kerület, Újlak<br>1894.56 m","XII. kerület, Tündér lépcső<br>1967.32 m","I. kerület, Fő utca<br>120.63 m","VII. kerület, Garay utca<br>240.85 m","XI. kerület, Móricz Zsigmond körtér<br>129.06 m","III. kerület, Szőlő utca 25-29.<br>2273.36 m","XVIII. kerület, Csörgőfa utca<br>6954.81 m","XIII. kerület, Frangepán utca<br>1217.13 m","III. kerület, Folyamőr utca<br>2030.42 m","III. kerület, Folyamőr utca<br>2030.42 m","XIX. kerület, Báthory utca<br>789.26 m","XIII. kerület, Népfürdő utca<br>567.62 m","VI. kerület, Bajza utca 64.<br>384.51 m","VI. kerület, Hunyadi tér<br>166.84 m","XIV. kerület, Örs vezér tere<br>487.71 m","XII. kerület, Németvölgyi út<br>2399.62 m","II. kerület, Újlak<br>1894.56 m","II. kerület, Margit körút<br>67.73 m","II. kerület, Frankel Leó út<br>1069.31 m","XVIII. kerület, Építő utca<br>2612.9 m","VI. kerület, Andrássy út<br>157.51 m","I. kerület, Attila út 25.<br>851.1 m","XIII. kerület, Frangepán utca<br>1217.13 m","XIV. kerület, Istvánmezei út<br>708.55 m","II. kerület, Rézmál<br>1122.09 m","I. kerület, Krisztinaváros<br>593.22 m","IX. kerület, Dési Huber utca<br>404.1 m","XIII. kerület, Lőportár köz<br>583.72 m","V. kerület, Belváros<br>134.33 m","XI. kerület, Spanyolrét<br>2856.74 m","II. kerület, Törökvész<br>2371.04 m","IV. kerület, Laborfalvi Róza utca<br>1210.13 m","XIII. kerület, Szent István körút<br>166.82 m","V. kerület, Nádor utca<br>480.8 m","XII. kerület, Farkasvölgy<br>3217.3 m","II. kerület, Tárogató út<br>2996.72 m","V. kerület, Honvéd utca<br>399.93 m","IX. kerület, Tagló utca<br>1870.81 m","XIII. kerület, Gogol utca<br>224.96 m","XIII. kerület, Madarász Viktor utca<br>468.55 m","XIV. kerület, Varsó utca<br>1296.71 m","V. kerület, Képíró utca<br>93.8 m","XIII. kerület, Frangepán utca<br>1217.13 m","XIII. kerület, Lőportár köz<br>583.72 m","XII. kerület, Istenhegy<br>1901.32 m","VII. kerület, Kazinczy utca<br>352.72 m","V. kerület, Belváros<br>134.33 m","V. kerület, Aranykéz utca 4-6.<br>214.82 m","XIII. kerület, Újlipótváros<br>469.85 m","II. kerület, Frankel Leó út<br>1069.31 m","XV. kerület, Szilas park<br>4069.27 m","XXI. kerület, Kossuth Lajos utca 101.<br>5242.86 m","XIII. kerület, Angyalföld - Lőportárdűlő<br>601.23 m","IV. kerület, Závodszky Zoltán utca 39.<br>1177.8 m","XIII. kerület, Kárpát utca<br>604.18 m","VI. kerület, Dózsa György út 62.<br>496.67 m","XVII. kerület, Újlak utca<br>7141.25 m","XIX. kerület, Corvin körút<br>957.54 m","XIII. kerület, Pozsonyi út<br>702.29 m","VII. kerület, Kazinczy utca<br>352.72 m","VII. kerület, Garay tér<br>563.97 m","IX. kerület, Ferenc körút<br>151.76 m","IX. kerület, Boráros tér<br>659.47 m","XIV. kerület, Sarkantyú utca<br>590.09 m","I. kerület, Víziváros - Váralja<br>724.92 m","IV. kerület, Aradi utca<br>326.06 m","VIII. kerület, Kiss József utca 11.<br>278.07 m","V. kerület, Balaton utca<br>688.18 m","V. kerület, Lipótváros<br>323.87 m","XIX. kerület, Simonyi Zsigmond utca<br>513.22 m","III. kerület, Pacsirtamező utca<br>2116.19 m","XIV. kerület, Bartl János utca<br>2396.36 m","VI. kerület, Szinyei Merse utca 17.<br>357.42 m","IX. kerület, Pápay István utca<br>1095.29 m","XIV. kerület, Ajtósi Dürer sor<br>967.1 m","XIV. kerület, Alsórákos<br>2539.72 m","XIV. kerület, Alsórákos<br>2539.72 m","XIII. kerület, Váci út 170/b<br>143.94 m","VIII. kerület, Práter utca 71.<br>565.2 m","X. kerület, Gyakorló utca<br>659.28 m","IX. kerület, Liliom utca 2.<br>672.07 m","VIII. kerület, Nagy Fuvaros utca 27.<br>379.65 m","VIII. kerület, Nagy Fuvaros utca 27.<br>379.65 m","V. kerület, Arany János utca<br>455.5 m","XII. kerület, Istenhegy - Diósárok<br>2315.32 m","XIII. kerület, Hajóépítő sétány 4.<br>580.94 m","XI. kerület, Rátz László utca<br>1298.45 m","VIII. kerület, Bródy Sándor utca<br>372.21 m","VI. kerület, Rippl-Rónai utca 25.<br>237.93 m","I. kerület, Naphegy utca<br>752.5 m","X. kerület, Gőzmozdony utca<br>846.96 m","XXII. kerület, Játék utca<br>3871.38 m","I. kerület, Logodi utca<br>320.73 m","XI. kerület, Bercsényi utca 7.<br>319.44 m","II. kerület, Csatárka<br>3194.76 m","VIII. kerület, Bródy Sándor utca<br>372.21 m","XIII. kerület, Katona József utca<br>107.8 m","II. kerület, Frankel Leó út<br>1069.31 m","VII. kerület, Huszár utca<br>321.57 m","I. kerület, Hunyadi János út<br>596.06 m","XIV. kerület, Fogarasi út<br>309.93 m","IX. kerület, Haller utca<br>797.84 m","V. kerület, Bajcsy-Zsilinszky út 40.<br>13.71 m","XI. kerület, Október huszonharmadika utca 17.<br>233.73 m","IX. kerület, Tagló utca<br>1870.81 m","XI. kerület, Bíró László József körút 15.<br>1149.96 m","XIV. kerület, Alsórákos - Füredi utcai lakótelep<br>1237.73 m","IX. kerület, Telepy utca 12.<br>627.74 m","IX. kerület, Liliom utca 50.<br>242.43 m","XIII. kerület, Visegrádi utca<br>184.02 m","III. kerület, Szent István utca<br>4189.98 m","IV. kerület, Berda József utca<br>572.61 m","V. kerület, Galamb utca<br>361.87 m","XV. kerület, Alkotmány utca 4.<br>2600.96 m","IX. kerület, Ferenc körút 40.<br>189.2 m","XVIII. kerület, Királyhágó utca<br>6177.52 m","XXI. kerület, Corvin út<br>4111.92 m","XI. kerület, Bartók Béla út<br>902.03 m","III. kerület, Emőd utca<br>3021.61 m","XIV. kerület, Bosnyák utca<br>1675.46 m","XV. kerület, Szentmihályi út 131.<br>3865.88 m","XIX. kerület, Simonyi Zsigmond utca<br>513.22 m","XIV. kerület, Stefánia út<br>1124.22 m","XI. kerület, Andor utca<br>987.48 m","X. kerület, Kővágó utca<br>1521.36 m","XI. kerület, Alíz utca<br>1357.19 m","V. kerület, Aranykéz utca<br>274.09 m","XI. kerület, Tétényi út<br>170.53 m","VII. kerület, Rottenbiller utca<br>314.47 m","XVI. kerület, Futórózsa utca<br>3838.46 m","II. kerület, Kapy utca<br>3181.32 m","VIII. kerület, Illés utca 28-30.<br>625.31 m","VI. kerület, Izabella utca 96.<br>468.99 m","II. kerület, Bolyai utca<br>1174.27 m","XI. kerület, Rahó utca 2.<br>577.1 m","XIV. kerület, Öv utca 135.<br>2983.7 m","XI. kerület, Éva utca<br>1814.4 m","VI. kerület, Andrássy út 33.<br>144.51 m","XIII. kerület, Frangepán utca 28-32.<br>1217.13 m","XIII. kerület, Radnóti Miklós utca 17.<br>416.63 m","VII. kerület, Rumbach Sebestyén utca 12.<br>313.83 m","XI. kerület, Naprózsa utca<br>1037.39 m","XIII. kerület, Tutaj utca<br>367.1 m","V. kerület, Türr István utca<br>156.85 m","V. kerület, Stollár Béla utca<br>598.99 m","XIII. kerület, Tutaj utca<br>367.1 m","II. kerület, Kurucles<br>4318.44 m","VII. kerület, Almássy tér<br>532.71 m","VI. kerület, Nagymező utca 22.<br>166.58 m","V. kerület, Nyáry Pál utca<br>178.93 m","IX. kerület, Máriássy utca<br>1589.26 m","III. kerület, Szőlő utca<br>2273.36 m","II. kerület, Pasaréti út<br>1130.58 m","I. kerület, Logodi utca<br>320.73 m","XIII. kerület, Újlipótváros<br>469.85 m","II. kerület, Pasarét<br>2590.38 m","V. kerület, Lipótváros<br>323.87 m","XIII. kerület, Madarász Viktor utca<br>468.55 m","XIII. kerület, Katona József utca 3.<br>127.73 m","V. kerület, Belgrád rakpart<br>402.52 m","II. kerület, Borbolya utca<br>1201.94 m","VIII. kerület, Rákóczi tér<br>29.1 m","V. kerület, Arany János utca<br>455.5 m","I. kerület, Vám utca 1.<br>244.86 m","XIII. kerület, Victor Hugo utca<br>480.47 m","XIII. kerület, Katona József utca<br>107.8 m","V. kerület, Széchenyi utca 1D<br>361.11 m","VI. kerület, Csengery utca 76.<br>382.29 m","V. kerület, Ferenciek tere<br>31.29 m","VI. kerület, Andrássy út<br>157.51 m","I. kerület, Orom utca<br>1198.44 m","IX. kerület, Mester utca<br>763.09 m","XII. kerület, Virányos<br>2861.67 m","V. kerület, Vármegye utca<br>182.45 m","III. kerület, Mátyáshegy<br>2892.47 m","XI. kerület, Villányi út<br>1758.65 m","XII. kerület, Orbánhegy<br>1530.9 m","XII. kerület, Zugligeti út 32B<br>2690.62 m","I. kerület, Hegyalja út<br>1385.66 m","XI. kerület, Hegytető utca<br>2178.51 m","XI. kerület, Hegyalja út<br>1445.82 m","XIV. kerület, Újváros park<br>1491.76 m","II. kerület, Bem rakpart<br>604.85 m","XII. kerület, Sárospatak út<br>1537.62 m","VI. kerület, Jókai tér<br>86.62 m","XII. kerület, Böszörményi út<br>1296.34 m","XIII. kerület, Röppentyű utca<br>599.18 m","XII. kerület, Kútvölgyi út<br>2303.43 m","V. kerület, Lipótváros<br>323.87 m","XIV. kerület, Torontál utca<br>1469.96 m","VI. kerület, Andrássy út 44.<br>93.57 m","XIII. kerület, Katona József utca<br>107.8 m","VIII. kerület, Osztály utca<br>469.32 m","XIII. kerület, Tar utca<br>1001.25 m","V. kerület, Nyáry Pál utca<br>178.93 m","VIII. kerület, Orczy tér<br>1200.81 m","III. kerület, Szentendrei út 12.<br>2175.85 m","VI. kerület, Andrássy út<br>157.51 m","II. kerület, Lövőház utca 22.<br>340.04 m","V. kerület, Szervita tér<br>272.92 m","XIV. kerület, Szobránc utca<br>588.69 m","VII. kerület, Dózsa György út 32.<br>697.02 m","II. kerület, Országút<br>449.9 m","II. kerület, Buday László utca<br>813.45 m","XXII. kerület, Budafok - Rózsavölgy<br>2416.52 m","II. kerület, Völgy utca<br>4914.06 m","XI. kerület, Sasadi út<br>2511.34 m","V. kerület, Türr István utca<br>156.85 m","VIII. kerület, Práter utca<br>397.97 m","II. kerület, Rózsadomb<br>1079.01 m","III. kerület, Óbudai lakótelep<br>2774.42 m","V. kerület, Stollár Béla utca<br>598.99 m","II. kerület, Hűvösvölgyi út 14.<br>2839.32 m","II. kerület, Pasaréti út<br>1130.58 m","XIII. kerület, Vizafogó<br>447.69 m","VI. kerület, Eötvös utca<br>235.06 m","XI. kerület, Fehérvári út<br>1600.45 m","XIV. kerület, Róna utca<br>1369.12 m","XI. kerület, Vahot utca<br>144.21 m","III. kerület, Bécsi út<br>3363.27 m","II. kerület, Fazekas utca<br>295.09 m","XIV. kerület, Bolgárkertész utca<br>396.22 m","VI. kerület, Andrássy út<br>157.51 m","VII. kerület, Damjanich utca<br>572.79 m","V. kerület, József Attila utca<br>60.27 m","VII. kerület, Károly körút<br>111.51 m","I. kerület, Döbrentei utca<br>653.39 m","XIII. kerület, Teve utca<br>260.39 m","XIII. kerület, Petneházy utca<br>300.99 m","II. kerület, Alsó Völgy utca<br>4212.36 m","XIII. kerület, Forgách köz<br>1199.32 m","V. kerület, Zoltán utca<br>215.26 m","IX. kerület, Thaly Kálmán utca 41.<br>175.88 m","XI. kerület, Nádorliget utca<br>447.11 m","VII. kerület, Damjanich utca<br>572.79 m","XIV. kerület, Angol utca<br>1708.39 m","VI. kerület, Ó utca<br>251.46 m","VII. kerület, Rózsa utca<br>567.22 m","II. kerület, Kurucles<br>4318.44 m","II. kerület, Szépvölgyi út<br>2491.04 m","III. kerület, Szindbád utca<br>4711.57 m","V. kerület, Belgrád rakpart<br>402.52 m","XII. kerület, Gaál József út<br>888.63 m","VI. kerület, Andrássy út<br>157.51 m","II. kerület, Cserje utca<br>1442.8 m","III. kerület, Óbuda-Óváros<br>1850.29 m","XI. kerület, Kanizsai utca<br>475.22 m","XI. kerület, Kondorosi út<br>1562.34 m","II. kerület, Boróka utca 7.<br>2090.55 m","XII. kerület, Böszörményi út<br>1296.34 m","XIII. kerület, Angyalföld - Lőportárdűlő<br>601.23 m","XI. kerület, Tippan utca<br>2411.62 m","XIII. kerület, Bessenyei utca<br>682.03 m","XII. kerület, Szolyva utca<br>858.1 m","V. kerület, Bécsi utca 5.<br>133.29 m","IX. kerület, Berzenczey utca<br>253.35 m","VII. kerület, Dembinszky utca<br>756.01 m","II. kerület, Vérhalom utca<br>1413.71 m","IX. kerület, Közraktár utca<br>753.64 m","VIII. kerület, Práter utca 6-8.<br>172.57 m","XIV. kerület, Pillangó park 16/B.<br>323.51 m","XIII. kerület, Bodor utca<br>384.53 m","II. kerület, Zuhatag sor<br>3954.76 m","XIII. kerület, Pozsonyi út 43.<br>698.23 m","XIII. kerület, Népfürdő utca<br>567.62 m","IX. kerület, Pápay István utca<br>1095.29 m","V. kerület, Veres Pálné utca 9.<br>204.65 m","II. kerület, Lövőház utca<br>506.33 m","VII. kerület, Dembinszky utca<br>756.01 m","II. kerület, Országút<br>449.9 m","VIII. kerület, Baross utca 98.<br>706.92 m","II. kerület, Zuhatag sor<br>3954.76 m","III. kerület, Bogdáni út<br>2301.58 m","XIV. kerület, Bolgárkertész utca<br>396.22 m","II. kerület, Törökvész<br>2371.04 m","VIII. kerület, Csobánc utca<br>1118.52 m","I. kerület, Szalag utca<br>667.66 m","III. kerület, Viharhegyi út<br>4228.23 m","II. kerület, Balogvár utca 3.<br>1139.06 m","III. kerület, Farkastorki út<br>3239.65 m","XIII. kerület, Taksony utca<br>446.69 m","V. kerület, Október 6. utca<br>346.99 m","XIII. kerület, Gidófalvy Lajos utca 23.<br>577.54 m","I. kerület, Attila út<br>361.85 m","VI. kerület, Paulay Ede utca<br>178.5 m","IX. kerület, Gönczy Pál utca<br>118.09 m","XI. kerület, Karinthy Frigyes út<br>447.22 m","V. kerület, Vármegye utca<br>182.45 m","II. kerület, Szépvölgyi út<br>2491.04 m","XIII. kerület, Madarász Viktor utca 13.<br>313.18 m","XII. kerület, Németvölgyi út 41-45.<br>998.39 m","XIII. kerület, Viza utca<br>709.64 m","XIII. kerület, Révész utca<br>286.86 m","II. kerület, Országút<br>449.9 m","III. kerület, Hévízi út 1.<br>3003.44 m","XI. kerület, Hegyalja út<br>1445.82 m","VII. kerület, Károly körút 5.<br>257.69 m","XI. kerület, Menyecske utca<br>416.37 m","IX. kerület, Haller utca<br>797.84 m","VIII. kerület, József körút<br>273.03 m","III. kerület, Folyamőr utca<br>2030.42 m","II. kerület, Bem rakpart<br>604.85 m","VII. kerület, Vörösmarty utca 20.<br>321.01 m","XIII. kerület, Petneházy utca<br>300.99 m","IX. kerület, Bokréta utca 21.<br>268.3 m","II. kerület, Selyemakác utca 18.<br>4526.47 m","XII. kerület, Dolgos utca<br>1086.8 m","V. kerület, Lipótváros<br>323.87 m","II. kerület, Törökvész út<br>2969.07 m","V. kerület, Falk Miksa utca<br>505.09 m","XIII. kerület, Katona József utca<br>107.8 m","IX. kerület, Közraktár utca<br>753.64 m","II. kerület, Törökvész<br>2371.04 m","III. kerület, Zápor utca<br>2331.42 m","XIII. kerület, Victor Hugo utca<br>480.47 m","XIV. kerület, Fogarasi út<br>309.93 m","II. kerület, Pusztaszeri út<br>2331.84 m","II. kerület, Fenyves lejtő 18/b<br>2707.2 m","VI. kerület, Dessewffy utca<br>258.23 m","VI. kerület, Izabella utca 76.<br>282.84 m","XI. kerület, Villányi út<br>1758.65 m","XIV. kerület, Laky Adolf utca<br>839.74 m","V. kerület, Arany János utca 7.<br>491.45 m","V. kerület, Vámház körút<br>110.6 m","XII. kerület, Zsolna utca<br>1964.01 m","II. kerület, Gyulai Pál utca<br>8174.48 m","XIV. kerület, Füredi utca<br>1423.11 m","V. kerület, Belváros<br>134.33 m","V. kerület, Belváros<br>134.33 m","XI. kerület, Felsőhatár utca<br>3030.53 m","XII. kerület, Széchenyihegy<br>3225.15 m","XI. kerület, Vadon utca<br>1802.93 m","IX. kerület, Sobieski János utca<br>574.12 m","XIII. kerület, Szekszárdi utca 15.<br>619.69 m","XIV. kerület, Bosnyák utca<br>1675.46 m","XI. kerület, Virágkertész utca 4.<br>2952.27 m","XVII. kerület, Újlak utca<br>7141.25 m","V. kerület, Királyi Pál utca<br>179.52 m","II. kerület, Fillér utca<br>238.57 m","VI. kerület, Ó utca<br>251.46 m","XII. kerület, Orbánhegy<br>1530.9 m","XV. kerület, Nyírpalota út<br>3981.48 m","VI. kerület, Szondi utca<br>426.53 m","V. kerület, Petőfi Sándor utca<br>325.04 m","XVIII. kerület, Dolgozó út<br>2431.37 m","IX. kerület, Boráros tér<br>659.47 m","V. kerület, Nyáry Pál utca<br>178.93 m","IX. kerület, Ferenc körút<br>151.76 m","VII. kerület, Dob utca 69.<br>524.49 m","XI. kerület, Ibrahim utca<br>1226.75 m","I. kerület, Toldy Ferenc utca<br>329.12 m","V. kerület, Dorottya utca<br>254.73 m","II. kerület, Pálvölgy<br>3199.76 m","VI. kerület, Székely Bertalan utca 14.<br>343.94 m","VI. kerület, Teréz körút<br>108.32 m","XII. kerület, Zugligeti út<br>2690.62 m","IX. kerület, Mester utca<br>763.09 m","III. kerület, Nánási köz<br>1539.16 m","VII. kerület, Wesselényi utca<br>625.1 m","IV. kerület, Károlyi István utca<br>513.95 m","III. kerület, Bécsi út<br>3363.27 m","VIII. kerület, Tömő utca<br>168.27 m","VII. kerület, Rózsa utca<br>567.22 m","XI. kerület, Dayka Gábor utca<br>1187.93 m","V. kerület, Aranykéz utca<br>274.09 m","XIII. kerület, Hegedűs Gyula utca 20.<br>420.83 m","I. kerület, Hunyadi János út<br>596.06 m","II. kerület, Hárshegyi út<br>4794.25 m","II. kerület, Zuhatag sor<br>3954.76 m","XI. kerület, Petzvál József utca 12.<br>503.11 m","IX. kerület, Lónyay utca<br>292.63 m","VI. kerület, Dessewffy utca<br>258.23 m","IX. kerület, Belső-Ferencváros<br>422.5 m","I. kerület, Csalogány utca<br>328.15 m","VII. kerület, Nagy Diófa utca<br>357.39 m","IX. kerület, Sobieski János utca<br>574.12 m","V. kerület, Szervita tér<br>272.92 m","III. kerület, Kerék utca<br>2223.36 m","XIII. kerület, Tátra utca<br>585.66 m","I. kerület, Bem rakpart<br>110.24 m","XIII. kerület, Szegedi út<br>869.03 m","VI. kerület, Szív utca 45.<br>257.41 m","XIV. kerület, Kiszugló<br>1586.94 m","XI. kerület, Naprózsa utca<br>1037.39 m","V. kerület, Hercegprímás utca 17.<br>224.41 m","II. kerület, Frankel Leó út<br>1069.31 m","V. kerület, Havas utca<br>258.82 m","II. kerület, Rhédey utca<br>1245 m","V. kerület, Városház utca 16.<br>271.64 m","XIV. kerület, Stefánia út 29.<br>491.07 m","VIII. kerület, Corvin sétány 7.<br>303.56 m","XII. kerület, Kléh István utca 8.<br>904.87 m","V. kerület, Vámház körút<br>110.6 m","XIII. kerület, Csata utca 3.<br>787.99 m","XI. kerület, Menyecske utca<br>416.37 m","IX. kerület, Tompa utca<br>389.95 m","IV. kerület, Kossuth Lajos utca<br>1579.6 m","III. kerület, Ágoston utca<br>2964.12 m","XII. kerület, Zirzen Janka utca 57.<br>3245.31 m","XI. kerület, Budafoki út<br>1432.96 m","XI. kerület, Bikszádi utca 9.<br>676.07 m","II. kerület, Ady Endre utca<br>766.79 m","II. kerület, Rézmál<br>1122.09 m","III. kerület, Óarany utca 17/b<br>4964.58 m","XII. kerület, Hajnóczy József utca<br>389.84 m","VI. kerület, Izabella utca 78.<br>305.31 m","VII. kerület, Rejtő Jenő utca<br>557.29 m","V. kerület, Veres Pálné utca 9.<br>204.65 m","XII. kerület, Kikelet utca 16.<br>2992.32 m","V. kerület, Semmelweis utca<br>245.15 m","XIII. kerület, Népfürdő utca 3.<br>656.19 m","IX. kerület, Dési Huber utca<br>404.1 m","III. kerület, Kapaszkodó utca<br>5369.34 m","XIV. kerület, Egressy út<br>2223.9 m","V. kerület, Vármegye utca<br>182.45 m","V. kerület, Türr István utca<br>156.85 m","II. kerület, Fillér utca<br>238.57 m","III. kerület, Pacsirtamező utca<br>2116.19 m","I. kerület, Logodi utca 9.<br>755.5 m","V. kerület, Arany János utca<br>455.5 m","VI. kerület, Király utca<br>282.05 m","XIII. kerület, Dráva utca<br>345.51 m","X. kerület, Kőrösi Csoma Sándor út 53-55.<br>1356.81 m","IX. kerület, Erkel utca<br>259.51 m","V. kerület, Sas utca<br>265.84 m","V. kerület, Aranykéz utca<br>274.09 m","III. kerület, Menedékház utca<br>6815.46 m","XII. kerület, Kissvábhegy<br>919.25 m","II. kerület, Vérhalom<br>1983.92 m","I. kerület, Krisztinaváros - Váralja<br>888.14 m","XI. kerület, Felsőhatár utca<br>3030.53 m","V. kerület, Aranykéz utca<br>274.09 m","VII. kerület, Hernád utca<br>711.93 m","V. kerület, Nyugati tér<br>113.38 m","XIII. kerület, Kresz Géza utca<br>310.95 m","II. kerület, Kacsa utca<br>392.26 m","I. kerület, Hunyadi János út<br>596.06 m","XIII. kerület, Visegrádi utca<br>184.02 m","XIV. kerület, Bartl János utca<br>2396.36 m","VIII. kerület, József körút<br>273.03 m","II. kerület, Balogvár utca<br>1160.23 m","V. kerület, Szervita tér<br>272.92 m","XI. kerület, Éva utca<br>1814.4 m","I. kerület, Hegyalja út<br>1385.66 m","VIII. kerület, Corvin sétány<br>303.56 m","XIV. kerület, Fischer István utca<br>1411.92 m","VI. kerület, Aradi utca<br>144.06 m","XIII. kerület, Madarász Viktor utca<br>468.55 m","XII. kerület, Nagysalló utca<br>1905.98 m","IX. kerület, Pápay István utca<br>1095.29 m","VII. kerület, Károly körút 1.<br>113.11 m","VII. kerület, Damjanich utca<br>572.79 m","VI. kerület, Andrássy út<br>157.51 m","II. kerület, Bem rakpart<br>604.85 m","V. kerület, Vármegye utca<br>182.45 m","VIII. kerület, Bródy Sándor utca<br>372.21 m","XIV. kerület, Gyarmat utca<br>878.74 m","V. kerület, Stollár Béla utca 12B<br>361.38 m","II. kerület, Labanc út 9/a<br>2945.37 m","XII. kerület, Városmajor utca 88.<br>1258.68 m","V. kerület, Alkotmány utca<br>414.12 m","V. kerület, Arany János utca<br>455.5 m","IX. kerület, Soroksári út<br>3300.65 m","IX. kerület, Pipa utca<br>136.01 m","VIII. kerület, Sárkány utca<br>737.06 m","V. kerület, Kossuth Lajos utca<br>122.12 m","I. kerület, Attila út 117.<br>250.24 m","XI. kerület, Barázda utca 5.<br>1523.87 m","XI. kerület, Kérő utca 14.<br>357.29 m","II. kerület, Labanc út<br>2783.15 m","XIII. kerület, Visegrádi utca<br>184.02 m","III. kerület, Farkastorki lejtő<br>4598.58 m","II. kerület, Bimbó út<br>1003.12 m","VIII. kerület, Hock János utca<br>506.82 m","IX. kerület, Páva utca<br>389.95 m","XVII. kerület, Dallamos utca<br>10088.25 m","II. kerület, Bem rakpart<br>604.85 m","VIII. kerület, Corvin sétány<br>303.56 m","III. kerület, Raktár utca 56.<br>2322.56 m","IX. kerület, Toronyház utca<br>831.34 m","XIII. kerület, Kresz Géza utca<br>310.95 m","II. kerület, Kis Rókus utca<br>347.74 m","VI. kerület, Andrássy út<br>157.51 m","III. kerület, Toboz utca<br>2935.19 m","V. kerület, Vármegye utca<br>182.45 m","XII. kerület, Alkotás utca<br>62.62 m","IX. kerület, Csarnok tér<br>174.75 m","VII. kerület, Damjanich utca<br>572.79 m","II. kerület, Frankel Leó út<br>1069.31 m","XIII. kerület, Csángó utca 4b<br>199.24 m","XII. kerület, Orbánhegy<br>1530.9 m","XIII. kerület, Frangepán utca<br>1217.13 m","V. kerület, Balaton utca<br>688.18 m","I. kerület, Kuny Domokos utca<br>462.99 m","IX. kerület, Kinizsi utca<br>409.04 m","VII. kerület, Wesselényi utca<br>625.1 m","IX. kerület, Lechner Ödön fasor 2.<br>951.43 m","V. kerület, József Attila utca<br>60.27 m","VI. kerület, Dessewffy utca<br>258.23 m","X. kerület, Szárnyas utca 12.<br>123.52 m","XII. kerület, Kikelet utca<br>3162.32 m","VIII. kerület, Baross utca 75.<br>543.24 m","III. kerület, Nánási út<br>1565.89 m","VIII. kerület, Koszorú utca 24.<br>657.81 m","II. kerület, Frankel Leó út<br>1069.31 m","IX. kerület, Thaly Kálmán utca 32.<br>353.34 m","XI. kerület, Karolina út<br>1207.77 m","XIII. kerület, Zsinór utca<br>1102.41 m","VI. kerület, Nagymező utca 8.<br>164.14 m","XIII. kerület, Hajóépítő sétány<br>421.49 m","V. kerület, Sas utca<br>265.84 m","V. kerület, Vadász utca<br>410.81 m","XII. kerület, Gaál József út<br>888.63 m","IX. kerület, Berzenczey utca<br>253.35 m","I. kerület, Tóth Árpád sétány<br>739.97 m","V. kerület, Múzeum körút<br>131.29 m","IV. kerület, Csíksomlyó utca<br>4295.75 m","XIII. kerület, Rokolya utca<br>1606.8 m","XIII. kerület, Párkány utca 8.<br>521.36 m","XII. kerület, Thomán István utca<br>2088.74 m","VI. kerület, Eötvös utca 26.<br>226.97 m","III. kerület, Bécsi út 167.<br>2665.03 m","V. kerület, Deák Ferenc utca<br>141.12 m","XI. kerület, Rupphegyi út<br>3031.9 m","VII. kerület, Wesselényi utca<br>625.1 m","III. kerület, Remetehegyi út<br>2908.59 m","XI. kerület, Rétkerülő út<br>1580.03 m","VIII. kerület, Kun utca 4.<br>288.98 m","XIII. kerület, Lőportár utca 1.<br>536.21 m","IV. kerület, Wolfner utca 4.<br>412.83 m","XII. kerület, Tusnádi utca<br>1194.81 m","XI. kerület, Hamzsabégi út 38.<br>641.28 m","II. kerület, Hűvösvölgyi út 96.<br>4206.01 m","II. kerület, Varsányi Irén utca<br>430.78 m","XI. kerület, Pálinkás Antal utca 1.<br>1039.96 m","II. kerület, Endrődi Sándor utca 24.<br>2055.17 m","I. kerület, Attila út<br>361.85 m","XI. kerület, Vahot utca 10.<br>222.28 m","XI. kerület, Bercsényi utca<br>251.49 m","XIII. kerület, Vág utca<br>277.8 m","XIII. kerület, Csata utca<br>907.97 m","VIII. kerület, Vas utca 7.<br>352.17 m","VIII. kerület, Bókay János utca 52.<br>212.63 m","XIII. kerület, Tátra utca<br>585.66 m","XI. kerület, Kanizsai utca<br>475.22 m","XI. kerület, Bornemissza utca<br>949.35 m","XIV. kerület, Bölcsőde utca 2-4.<br>1527.75 m","XIII. kerület, Turbina utca 6.<br>142.28 m","XIII. kerület, Visegrádi utca<br>184.02 m","XIII. kerület, Fiastyúk utca<br>698.42 m","IV. kerület, Gyertyaláng utca<br>3160.97 m","X. kerület, Rákász utca 6.<br>1501.28 m","VI. kerület, Aradi utca<br>144.06 m","VIII. kerület, Corvin sétány 7.<br>303.56 m","I. kerület, Fenyő utca<br>945.01 m","XIII. kerület, Pozsonyi út 50.<br>655.86 m","XXII. kerület, Hajnal utca<br>4976.98 m","VIII. kerület, Corvin sétány 9.<br>303.56 m","XIV. kerület, Bolgárkertész utca 2.<br>477.04 m","XIII. kerület, Csata utca 3.<br>787.99 m","XIII. kerület, Úszódaru utca<br>624.07 m","VII. kerület, Verseny utca 18.<br>578.29 m","XIV. kerület, Francia út<br>515.78 m","VII. kerület, Rottenbiller utca 35.<br>543.19 m","XIV. kerület, Fischer István utca 142/A<br>1983.59 m","VI. kerület, Csengery utca 72.<br>333.42 m","XIV. kerület, Egressy út<br>2223.9 m","VI. kerület, Dalszínház utca 10.<br>140.56 m","XII. kerület, Szendrő utca 52/A<br>1621.46 m","X. kerület, Kőbányai út 43/B<br>1678.74 m","XV. kerület, Kinizsi utca<br>2221.76 m","XI. kerület, Karolina út<br>1207.77 m","VII. kerület, Péterfy Sándor utca<br>435.23 m","II. kerület, Kis Rókus utca<br>347.74 m","IX. kerület, Boráros tér<br>659.47 m","I. kerület, Attila út<br>361.85 m","I. kerület, Fazekas utca<br>284.86 m","XII. kerület, Korompai utca<br>1914.31 m","XVI. kerület, Mészáros József utca<br>5063.81 m","XI. kerület, Törökverő út 5.<br>3755.07 m","XII. kerület, Kiss János altábornagy utca<br>1223.8 m","XI. kerület, Kánai út<br>2454.72 m","V. kerület, Károlyi kert<br>249.49 m","VIII. kerület, Orczy tér<br>1200.81 m","VI. kerület, Podmaniczky utca<br>347.39 m","V. kerület, Városház utca<br>124.79 m","VIII. kerület, Bródy Sándor utca 9.<br>392.09 m","XXII. kerület, Budai Nagy Antal utca 2.<br>5488.71 m","II. kerület, Pusztaszeri út<br>2331.84 m","XI. kerület, Sáfrány utca<br>1929.49 m","IX. kerület, Páva utca<br>389.95 m","IX. kerület, Lónyay utca<br>292.63 m","IX. kerület, Lechner Ödön fasor 2.<br>951.43 m","IX. kerület, Pápay István utca<br>1095.29 m","XII. kerület, Böszörményi út<br>1296.34 m","XII. kerület, Ráth György utca<br>748.5 m","II. kerület, Diófa lejtő 3.<br>2064.98 m","IX. kerület, Lechner Ödön fasor 2.<br>951.43 m","III. kerület, Kolozsvári utca<br>2787.32 m","XI. kerület, Eszék utca<br>189.13 m","VI. kerület, Eötvös utca<br>235.06 m","IX. kerület, Lechner Ödön fasor 1.<br>891.04 m","XII. kerület, Rőzse utca<br>2242.19 m","XIII. kerület, Budai Nagy Antal utca<br>667.94 m","VIII. kerület, Baross utca<br>1202.62 m","VII. kerület, Károly körút 13-15.<br>258.15 m","XIV. kerület, Nagy Lajos király útja<br>1823.39 m","III. kerület, Apát utca<br>2480.8 m","VII. kerület, Szövetség utca<br>585.61 m","XI. kerület, Hermánd utca<br>2224.3 m","XI. kerület, Nagyszeben tér<br>1199.04 m","II. kerület, Bécsi út<br>1917.35 m","IX. kerület, Thaly Kálmán utca 54.<br>136.59 m","XII. kerület, Gím utca 6.<br>3177.49 m","III. kerület, Jós utca<br>4994.36 m","VIII. kerület, Illés utca<br>775.84 m","IX. kerület, Lónyay utca<br>292.63 m","VI. kerület, Teréz körút 37.<br>354.27 m","XIII. kerület, Gyöngyház utca 4.<br>443.42 m","IX. kerület, Közraktár utca<br>753.64 m","VI. kerület, Andrássy út<br>157.51 m","III. kerület, Naplemente utca<br>4072.9 m","XIII. kerület, Katona József utca<br>107.8 m","XI. kerület, Mikes Kelemen utca 30-38.<br>831.15 m","XII. kerület, Abos utca<br>990.72 m","II. kerület, Józsefhegyi utca 30.<br>1754.12 m","VI. kerület, Jókai tér<br>86.62 m","VII. kerület, Kazinczy utca<br>352.72 m","I. kerület, Lovas út 6a<br>487.76 m","XI. kerület, Rétköz utca 51.<br>1958.62 m","XI. kerület, Felsőhatár utca<br>3030.53 m","V. kerület, Nádor utca<br>480.8 m","IX. kerület, Epreserdő utca<br>1171.21 m","I. kerület, Lovas út 6a<br>487.76 m","I. kerület, Lovas út 6a<br>487.76 m","II. kerület, Hankóczy Jenő utca<br>1453.29 m","VI. kerület, Podmaniczky utca 5.<br>370.61 m","V. kerület, Arany János utca<br>455.5 m","I. kerület, Attila út<br>361.85 m","VIII. kerület, József körút<br>273.03 m","XIV. kerület, Szugló utca<br>1187.11 m","IV. kerület, Szent István tér<br>229.88 m","XI. kerület, Fadrusz utca<br>302.05 m","VIII. kerület, Corvin sétány<br>303.56 m","III. kerület, Bécsi út<br>3363.27 m","XII. kerület, Hableány utca<br>2252.65 m","XIII. kerület, Hajóépítő sétány<br>421.49 m","VI. kerület, Podmaniczky utca 87.<br>481.77 m","IX. kerület, József Attila-lakótelep<br>466.92 m","X. kerület, Cserkesz utca 30.<br>1515.21 m","V. kerület, Balaton utca<br>688.18 m","IV. kerület, Károlyi István utca<br>513.95 m","VI. kerület, Jókai tér<br>86.62 m","XIII. kerület, Hegedűs Gyula utca<br>430.99 m","V. kerület, Vámház körút<br>110.6 m","III. kerület, Óarany utca<br>4964.58 m","V. kerület, Lipótváros<br>323.87 m","XI. kerület, Karcag utca<br>2629.63 m","I. kerület, Toldy Ferenc utca 68.<br>382.09 m","XIII. kerület, Pozsonyi út<br>702.29 m","XXII. kerület, Diótörő út 145.<br>7207.05 m","VI. kerület, Lázár utca 18.<br>143.99 m","II. kerület, Mechwart tér<br>673.06 m","VIII. kerület, Baross utca<br>1202.62 m","VIII. kerület, József körút<br>273.03 m","VII. kerület, Dembinszky utca<br>756.01 m","XI. kerület, Budafoki út 9.<br>87 m","X. kerület, Felsőrákos<br>3092.82 m","V. kerület, Galamb utca 7.<br>338.21 m","V. kerület, Kálvin tér 3.<br>49.28 m","III. kerület, Folyamőr utca<br>2030.42 m","XI. kerület, Nagyszőlős utca<br>1134.38 m","V. kerület, Arany János utca<br>455.5 m","II. kerület, Kelemen László utca<br>3062.62 m","VIII. kerület, Visi Imre utca<br>1019.53 m","VI. kerület, Ó utca<br>251.46 m","V. kerület, Régi posta utca 5.<br>299.5 m","XIII. kerület, Danubius utca<br>565.57 m","VII. kerület, Rózsa utca 13.<br>588.47 m","XII. kerület, Győri út<br>1281.67 m","I. kerület, Bérc utca<br>1135.75 m","XIII. kerület, Kádár utca 10.<br>161.3 m","IV. kerület, Galopp utca<br>3002.24 m","VIII. kerület, Corvin sétány<br>303.56 m","VI. kerület, Aradi utca<br>144.06 m","II. kerület, Frankel Leó út<br>1069.31 m","II. kerület, Vöröstorony lépcső<br>3317.69 m","VII. kerület, István utca<br>680.94 m","VIII. kerület, Baross utca<br>1202.62 m","XI. kerület, Zsombolyai utca<br>719.78 m","IX. kerület, Dési Huber utca<br>404.1 m","V. kerület, Nádor utca<br>480.8 m","XIII. kerület, Röppentyű utca 32.<br>536.23 m","VI. kerület, Rippl-Rónai utca 25.<br>237.93 m","XIII. kerület, Petneházy utca<br>300.99 m","XI. kerület, Siroki utca<br>116.12 m","VIII. kerület, Dobozi utca<br>638.58 m","III. kerület, Zápor utca<br>2331.42 m","IX. kerület, Üllői út<br>248.03 m","IX. kerület, Lónyay utca<br>292.63 m","XI. kerület, Bogdánfy utca<br>618.33 m","XII. kerület, Kútvölgy<br>2688.54 m","XIV. kerület, Istvánmezei út<br>708.55 m","V. kerület, Semmelweis utca 14.<br>322.9 m","V. kerület, Belváros<br>134.33 m","XIV. kerület, Bolgárkertész utca<br>396.22 m","IX. kerület, Balázs Béla utca<br>457.18 m","II. kerület, Zuhatag sor<br>3954.76 m","XIV. kerület, Fischer István utca 121.<br>2048.59 m","II. kerület, Árpád fejedelem útja<br>1250.34 m","IX. kerület, Dési Huber utca<br>404.1 m","IX. kerület, Belső-Ferencváros<br>422.5 m","I. kerület, Tabán<br>866.22 m","XVI. kerület, Olga utca<br>4160.23 m","II. kerület, Margit körút 58.<br>407.36 m","VII. kerület, Dózsa György út 32.<br>697.02 m","XIV. kerület, Angol utca<br>1708.39 m","I. kerület, Krisztinaváros - Naphegy<br>1067.47 m","V. kerület, Belváros<br>134.33 m","V. kerület, Vármegye utca<br>182.45 m","II. kerület, Felhévíz<br>1182.39 m","II. kerület, Bogár utca<br>1471.42 m","XIV. kerület, Lőcsei út<br>1782.71 m","XIV. kerület, Örs vezér tere<br>487.71 m","XIII. kerület, Szent István park<br>731.4 m","XIV. kerület, Füredi utca 44.<br>864.12 m","V. kerület, Belgrád rakpart<br>402.52 m","XI. kerület, Csíkihegyek utca<br>2006.25 m","XI. kerület, Pálinkás Antal utca<br>988.43 m","I. kerület, Tigris utca 51.<br>1253.68 m","II. kerület, Alvinci út<br>1320.02 m","II. kerület, Medve utca 28.<br>349.47 m","VIII. kerület, Kőfaragó utca 8.<br>300.27 m","XI. kerület, Pálinkás Antal utca<br>988.43 m","VII. kerület, Nefelejcs utca<br>311.79 m","XIII. kerület, Dévai utca 20.<br>311.77 m","XVII. kerület, Újlak utca<br>7141.25 m","XIV. kerület, Bolgárkertész utca<br>396.22 m","XIII. kerület, Mohács utca<br>928.76 m","III. kerület, Perényi út<br>3532.32 m","XI. kerület, Bogdánfy utca<br>618.33 m","VII. kerület, Akácfa utca<br>445.45 m","XXII. kerület, Arany János utca<br>3784.14 m","III. kerület, Folyamőr utca 7.<br>2030.42 m","VII. kerület, Erzsébet körút<br>478.28 m","VII. kerület, Erzsébet körút<br>478.28 m","XIII. kerület, Sólyatér utca<br>387.1 m","VI. kerület, Lázár utca 14.<br>158.39 m","III. kerület, Hadrianus utca<br>5195.62 m","V. kerület, Október 6. utca<br>346.99 m","II. kerület, Szilágyi Erzsébet fasor 5.<br>464.51 m","I. kerület, Gellérthegy utca<br>825.21 m","VIII. kerület, Kőfaragó utca 8.<br>300.27 m","VII. kerület, Lövölde tér 2a<br>347.27 m","XII. kerület, Galgóczy utca 19/A<br>2825.62 m","IX. kerület, Tompa utca<br>389.95 m","IX. kerület, Kinizsi utca 35.<br>378.85 m","XIII. kerület, Kárpát utca<br>604.18 m","I. kerület, Szilágyi Dezső tér<br>353.64 m","XII. kerület, Hableány utca 6.<br>2259.96 m","XIII. kerület, Tátra utca<br>585.66 m","XX. kerület, Fiume utca<br>3413.78 m","VI. kerület, Oktogon<br>49.33 m","XV. kerület, Patyolat köz<br>1932.82 m","III. kerület, Margitliget utca<br>5024.95 m","XIII. kerület, Csata utca 17.<br>927.28 m","XI. kerület, Karinthy Frigyes út<br>447.22 m","VII. kerület, Sajó utca<br>666.82 m","XI. kerület, Mikes Kelemen utca 28-30.<br>804.06 m","XIII. kerület, Ambrus utca 3-5.<br>1143.18 m","XXII. kerület, Gyula vezér út 50 A<br>6268.68 m","V. kerület, Nyáry Pál utca<br>178.93 m","VI. kerület, Andrássy út<br>157.51 m","V. kerület, Bécsi utca<br>193.65 m","V. kerület, Fehér Hajó utca 5.<br>172.08 m","V. kerület, Váci utca<br>211.47 m","VIII. kerület, Tömő utca<br>168.27 m","XIII. kerület, Kresz Géza utca<br>310.95 m","IX. kerület, Bokréta utca<br>516.89 m","V. kerület, Október 6. utca 16.<br>383.56 m","XV. kerület, Apolló utca<br>3888.91 m","XX. kerület, Ady Endre utca<br>3297.97 m","XIII. kerület, Gidófalvy Lajos utca<br>534.29 m","VII. kerület, Wesselényi utca<br>625.1 m","IX. kerület, Tűzoltó utca<br>352.49 m","XIII. kerület, Szegedi út<br>869.03 m","XI. kerület, Fehérvári út<br>1600.45 m","VII. kerület, Huszár utca 10.<br>349.23 m","VIII. kerület, Corvin sétány 8.<br>309.11 m","XX. kerület, Nyáry Pál utca<br>2480.81 m","III. kerület, Folyondár utca<br>2662.89 m","IX. kerület, Márton utca<br>560.39 m","VI. kerület, Kmety György utca<br>210.59 m","VII. kerület, Dohány utca<br>438.54 m","VIII. kerület, Corvin sétány 9.<br>303.56 m","V. kerület, Szervita tér<br>272.92 m","VII. kerület, Százház utca<br>434.05 m","XIV. kerület, Balázs park<br>1246.42 m","I. kerület, Lovas út 4.<br>555.16 m","XI. kerület, Zsombolyai utca<br>719.78 m","XII. kerület, Hajnalka utca<br>2909.19 m","XIII. kerület, Béke utca<br>1134.33 m","XI. kerület, Rőf utca 2.<br>1343.92 m","VIII. kerület, Corvin sétány 8.<br>309.11 m","II. kerület, Árpád fejedelem útja 3-4.<br>1103.92 m","XII. kerület, Kiss János altábornagy utca<br>1223.8 m","VI. kerület, Lovag utca<br>258.02 m","I. kerület, Batthyány utca<br>278.57 m","VI. kerület, Bajcsy-Zsilinszky út 45.<br>271.92 m","VI. kerület, Benczúr utca<br>207.26 m","IV. kerület, Tungsram utca<br>1827.24 m","VII. kerület, Hársfa utca 39.<br>538.09 m","I. kerület, Bérc utca<br>1135.75 m","XIII. kerület, Úszódaru utca<br>624.07 m","I. kerület, Ponty utca<br>599.3 m","XI. kerület, Hegyalja út<br>1445.82 m","I. kerület, Attila út<br>361.85 m","XI. kerület, Kruspér utca<br>501.24 m","XIII. kerület, Révész utca 19.<br>402.7 m","VI. kerület, Szinyei Merse utca<br>363.06 m","XIV. kerület, Báróczy utca<br>1224.84 m","IX. kerület, Tagló utca<br>1870.81 m","XIV. kerület, Bartl János utca<br>2396.36 m","II. kerület, Margit körút 62.<br>330.73 m","V. kerület, Királyi Pál utca<br>179.52 m","XIV. kerület, Kövér Lajos utca<br>1162.86 m","VII. kerület, Rejtő Jenő utca 6.<br>621.66 m","VI. kerület, Lovag utca<br>258.02 m","VIII. kerület, Corvin sétány<br>303.56 m","XIII. kerület, Újlipótváros<br>469.85 m","III. kerület, Domoszló útja<br>4625.06 m","V. kerület, Honvéd utca<br>399.93 m","V. kerület, Olimpia park<br>606.38 m","II. kerület, Frankel Leó út 21-23.<br>1089.53 m","XII. kerület, Ráth György utca<br>748.5 m","II. kerület, Vérhalom<br>1983.92 m","XIII. kerület, Párkány utca<br>402.99 m","II. kerület, Zuhatag sor<br>3954.76 m","V. kerület, Türr István utca<br>156.85 m","V. kerület, Türr István utca<br>156.85 m","XIII. kerület, Dolmány utca 11.<br>1431.62 m","V. kerület, Arany János utca<br>455.5 m","V. kerület, Ferenciek tere<br>31.29 m","X. kerület, Harmat utca 152.<br>1497.53 m","III. kerület, Testvérhegy<br>4792.7 m","III. kerület, Pacsirtamező utca<br>2116.19 m","XIII. kerület, Hajóépítő sétány<br>421.49 m","XI. kerület, Fadrusz utca<br>302.05 m","XIII. kerület, Bulcsú utca 5-9.<br>405.49 m","XIV. kerület, Ilka utca<br>986.5 m","XIV. kerület, Bartl János utca<br>2396.36 m","XIX. kerület, Kispest<br>1702.14 m","III. kerület, Bécsi út<br>3363.27 m","III. kerület, Miklós utca 5.<br>2059.71 m","I. kerület, Kuny Domokos utca<br>462.99 m","XI. kerület, Bicskei utca 4.<br>235.67 m","V. kerület, Wekerle Sándor utca<br>89.24 m","VI. kerület, Rózsa utca<br>388.25 m","II. kerület, Csalán út<br>3230.79 m","IX. kerület, Balázs Béla utca 24-28.<br>457.18 m","IX. kerület, Balázs Béla utca 24-28.<br>457.18 m","IX. kerület, Lónyay utca<br>292.63 m","XIV. kerület, Ilka utca<br>986.5 m","XII. kerület, Óra út<br>1852.02 m","XIII. kerület, Meder utca<br>455.78 m","III. kerület, Bécsi út<br>3363.27 m","X. kerület, Juhász utca<br>2065.26 m","XII. kerület, Kiss János altábornagy utca 82.<br>1235.59 m","XIII. kerület, Hollán Ernő utca 5.<br>573.35 m","I. kerület, Attila út 45.<br>942.64 m","XIII. kerület, Bulcsú utca<br>150.87 m","IX. kerület, Márton utca 7-9.<br>560.39 m","XVI. kerület, Csenkesz utca<br>5687.43 m","V. kerület, Váci utca 40.<br>191.12 m","XI. kerület, Menyecske utca<br>416.37 m","V. kerület, Királyi Pál utca<br>179.52 m","III. kerület, Folyamőr utca 9.<br>2065.77 m","XI. kerület, Bartók Béla út<br>902.03 m","XXI. kerület, Béke tér<br>5796.58 m","XII. kerület, Stromfeld Aurél út 18.<br>1221.58 m","II. kerület, Vérhalom utca<br>1413.71 m","II. kerület, Lotz Károly utca<br>2420.16 m","III. kerület, Pacsirtamező utca<br>2116.19 m","VII. kerület, Városligeti fasor<br>447.71 m","III. kerület, Ádámföldi utca<br>2745.32 m","III. kerület, Folyondár utca<br>2662.89 m","V. kerület, Múzeum körút 29.<br>179.85 m","XII. kerület, Diós árok 22/B<br>1580.31 m","XIV. kerület, Szentmihályi út 20.<br>1214.84 m","VI. kerület, Jókai utca<br>207.07 m","I. kerület, Ostrom utca<br>445.56 m","XXII. kerület, Zentai út<br>4766.2 m","II. kerület, Völgy utca<br>4914.06 m","II. kerület, Margit körút<br>67.73 m","I. kerület, Hegyalja út<br>1385.66 m","XI. kerület, Csíkihegyek utca<br>2006.25 m","II. kerület, Szeréna út<br>1941.31 m","XI. kerület, Nádorliget utca<br>447.11 m","II. kerület, Margit körút 62.<br>330.73 m","III. kerület, Jablonka út<br>5306.3 m","II. kerület, Szép Juhászné út<br>6858.45 m","V. kerület, Szabadság tér<br>309.74 m","XVII. kerület, Forrásmajori utca 1.<br>8365.14 m","V. kerület, Honvéd tér 10/B<br>472.54 m","III. kerület, Bogdáni út 2.<br>1970.61 m","VI. kerület, Andrássy út<br>157.51 m","II. kerület, Szilágyi Erzsébet fasor 25.<br>720.99 m","VIII. kerület, Corvin sétány 8.<br>309.11 m","VII. kerület, Rákóczi út<br>223.94 m","V. kerület, Kálmán Imre utca<br>337.36 m","II. kerület, Alvinci út<br>1320.02 m","XI. kerület, Garda utca 3.<br>1030.95 m","XIII. kerület, Pannónia utca 116.<br>373.35 m","XV. kerület, Perczel Mór utca<br>2518.2 m","IX. kerület, Üllői út<br>248.03 m","IX. kerület, Lónyay utca 36.<br>501.13 m","IX. kerület, Nádasdy utca<br>843.42 m","XIII. kerület, Ördögmalom utca<br>1632.34 m","X. kerület, Népliget<br>780.99 m","XVI. kerület, Hunyadvár utca<br>4421.82 m","XIII. kerület, Csángó utca<br>719.46 m","VII. kerület, Városligeti fasor<br>447.71 m","VIII. kerület, Corvin sétány<br>303.56 m","II. kerület, Kurucles<br>4318.44 m","XI. kerület, Virágkertész utca<br>2818.12 m","X. kerület, Gergely utca<br>800.72 m","XI. kerület, Menyecske utca<br>416.37 m","XIII. kerület, Madarász Viktor utca<br>468.55 m","II. kerület, Rózsadomb<br>1079.01 m","V. kerület, Stollár Béla utca<br>598.99 m","VIII. kerület, Corvin sétány<br>303.56 m","XIV. kerület, Lengyel utca<br>1487.35 m","XIII. kerület, Gyöngyház utca<br>443.05 m","I. kerület, Batthyány utca<br>278.57 m","III. kerület, Lestyán utca<br>4887.27 m","III. kerület, Árpád fejedelem útja<br>1764.41 m","VI. kerület, Király utca 58.<br>263.77 m","II. kerület, Bem rakpart<br>604.85 m","IX. kerület, Pipa utca<br>136.01 m","XII. kerület, Hableány utca<br>2252.65 m","XIII. kerület, Röppentyű utca<br>599.18 m","XIV. kerület, Róna utca<br>1369.12 m","VI. kerület, Podmaniczky utca<br>347.39 m","I. kerület, Bem rakpart 26.<br>219.58 m","XIII. kerület, Marina sétány<br>776.46 m","XIII. kerület, Bodor utca<br>384.53 m","XVIII. kerület, Havanna utca 28.<br>2890.62 m","XII. kerület, Szendrő utca<br>1621.46 m","XI. kerület, Vahot utca<br>144.21 m","XIII. kerület, Kresz Géza utca<br>310.95 m","XI. kerület, Tétényi út<br>170.53 m","VI. kerület, Mozsár utca<br>215.19 m","XIII. kerület, Lehel utca 33.<br>640.3 m","II. kerület, Margit körút<br>67.73 m","XII. kerület, Krisztina körút<br>333.33 m","III. kerület, Óbuda-Óváros<br>1850.29 m","V. kerület, Havas utca 2.<br>292.59 m","VII. kerület, Garay tér<br>563.97 m","I. kerület, Krisztinaváros - Váralja<br>888.14 m","IX. kerület, Üllői út 109/C<br>529.14 m","XII. kerület, Ráth György utca 38.<br>490.7 m","VIII. kerület, Corvin sétány<br>303.56 m","V. kerület, Falk Miksa utca<br>505.09 m","VII. kerület, Wesselényi utca<br>625.1 m","VI. kerület, Andrássy út<br>157.51 m","III. kerület, Lestyán utca<br>4887.27 m","IV. kerület, Virág utca<br>440.11 m","IX. kerület, Ernő utca<br>448.21 m","I. kerület, Zsolt utca<br>1293.55 m","XIII. kerület, Mura utca<br>304.6 m","V. kerület, Aranykéz utca<br>274.09 m","VII. kerület, Madách Imre tér<br>218.65 m","XIV. kerület, Ond vezér útja 17.<br>759.19 m","XIII. kerület, Tátra utca<br>585.66 m","V. kerület, Falk Miksa utca<br>505.09 m","XI. kerület, Kőrösy József utca<br>132.82 m","XI. kerület, Fraknó utca<br>492.1 m","XII. kerület, György Aladár utca<br>2780.05 m","VI. kerület, Nagymező utca<br>180.42 m","VII. kerület, Erzsébet körút<br>478.28 m","II. kerület, Varsányi udvar<br>267.94 m","VI. kerület, Nagymező utca<br>180.42 m","III. kerület, Viharhegyi út<br>4228.23 m","VI. kerület, Ó utca<br>251.46 m","VII. kerület, Kazinczy utca<br>352.72 m","VIII. kerület, Orczy út<br>1035.67 m","XIII. kerület, Szent László út<br>710.05 m","XI. kerület, Kanizsai utca<br>475.22 m","II. kerület, Margit körút<br>67.73 m","XI. kerület, Baranyai tér<br>268.48 m","XIII. kerület, Pozsonyi út<br>702.29 m","XIII. kerület, Teve utca<br>260.39 m","XIII. kerület, Vizafogó<br>447.69 m","XX. kerület, Erzsébetfalva<br>2745.02 m","X. kerület, Kada utca<br>2179.37 m","XII. kerület, Korompai utca<br>1914.31 m","XII. kerület, Gaál József út<br>888.63 m","V. kerület, József Attila utca<br>60.27 m","III. kerület, Zápor utca<br>2331.42 m","IX. kerület, Páva utca<br>389.95 m","I. kerület, Krisztinaváros - Naphegy<br>1067.47 m","XI. kerület, Hegyalja út<br>1445.82 m","V. kerület, Kossuth Lajos utca<br>122.12 m","V. kerület, Türr István utca<br>156.85 m","VI. kerület, Székely Bertalan utca<br>360.02 m","VI. kerület, Andrássy út<br>157.51 m","VII. kerület, Marek József utca<br>626.36 m","VII. kerület, Hársfa utca<br>491.44 m","XI. kerület, Nádorliget utca<br>447.11 m","XX. kerület, Jósika utca<br>4640.97 m","IX. kerület, Lónyay utca<br>292.63 m","VIII. kerület, Nap utca<br>266.74 m","II. kerület, Felső Zöldmáli út<br>2353.82 m","I. kerület, Attila út<br>361.85 m","XII. kerület, Krisztinaváros - Városmajor<br>658.76 m","III. kerület, Lajos utca<br>1898.55 m","I. kerület, Attila út<br>361.85 m","XIX. kerület, Simonyi Zsigmond utca<br>513.22 m","XIII. kerület, Jászai Mari tér<br>714.28 m","VI. kerület, Dalszínház utca<br>59.77 m","IX. kerület, József Attila-lakótelep<br>466.92 m","XIII. kerület, Tisza utca<br>206.18 m","VII. kerület, Almássy utca<br>397.25 m","XI. kerület, Törökbálinti út<br>2701.79 m","XII. kerület, Németvölgyi út<br>2399.62 m","VIII. kerület, Baross utca 4.<br>131.71 m","VIII. kerület, Népszínház utca<br>290.9 m","IV. kerület, Erzsébet utca<br>684.65 m","XIII. kerület, Madarász Viktor utca<br>468.55 m","XXI. kerület, Csepel-Belváros<br>4786.93 m","IV. kerület, Izzó utca<br>2177.5 m","II. kerület, Kis Rókus utca<br>347.74 m","IX. kerület, Erkel utca<br>259.51 m","IX. kerület, Lónyay utca<br>292.63 m","XIV. kerület, Fűrész utca<br>1362.91 m","XIV. kerület, Fűrész utca<br>1362.91 m","III. kerület, Váradi utca<br>2594.95 m","VIII. kerület, Bacsó Béla utca<br>174.14 m","XII. kerület, Városmajor utca<br>540.63 m","IX. kerület, Viola utca<br>484.02 m","IX. kerület, Mester utca<br>763.09 m","XIV. kerület, Szobránc utca<br>588.69 m","VI. kerület, Nagymező utca<br>180.42 m","I. kerület, Bem rakpart<br>110.24 m","XIII. kerület, Angyalföld<br>953.12 m","VI. kerület, Szív utca<br>180.39 m","IX. kerület, Középső-Ferencváros - Rehabilitációs terület<br>426.74 m","VIII. kerület, Dugonics utca<br>710.99 m","VIII. kerület, Baross utca<br>1202.62 m","VI. kerület, Székely Bertalan utca<br>360.02 m","XIII. kerület, Gidófalvy Lajos utca<br>534.29 m","XII. kerület, Maros utca<br>370.78 m","I. kerület, Csalogány utca<br>328.15 m","X. kerület, Ceglédi út<br>92.57 m","IX. kerület, Liliom utca<br>177.62 m","XI. kerület, Bocskai út 9.<br>188.81 m","IX. kerület, Üllői út<br>248.03 m","VI. kerület, Andrássy út<br>157.51 m","IX. kerület, Mester utca<br>763.09 m","I. kerület, Fém utca<br>1082.94 m","VI. kerület, Csengery utca<br>310.77 m","XVIII. kerület, Csontváry Kosztka Tivadar utca<br>3397.85 m","IX. kerület, Viola utca<br>484.02 m","V. kerület, Belváros<br>134.33 m","XIV. kerület, Nagy Lajos király útja<br>1823.39 m","VI. kerület, Dohnányi Ernő utca<br>186.01 m","XIII. kerület, Tomori utca<br>587.54 m","VII. kerület, Rózsa utca<br>567.22 m","II. kerület, Verecke út<br>3498.02 m","VI. kerület, Zichy Jenő utca 32.<br>315.4 m","VIII. kerület, Horánszky utca<br>328.41 m","XII. kerület, Kútvölgy<br>2688.54 m","II. kerület, Bem rakpart<br>604.85 m","VII. kerület, Rákóczi út<br>223.94 m","VIII. kerület, Baross utca<br>1202.62 m","II. kerület, Országút<br>449.9 m","XII. kerület, Mártonhegyi út<br>2221.61 m","XIV. kerület, Francia út<br>515.78 m","VII. kerület, Sajó utca<br>666.82 m","V. kerület, Stollár Béla utca<br>598.99 m","VII. kerület, Városligeti fasor<br>447.71 m","XI. kerület, Szabolcska Mihály utca<br>301.88 m","VII. kerület, Erzsébet körút<br>478.28 m","XI. kerület, Hegyalja út<br>1445.82 m","XVIII. kerület, Akácfa utca<br>3082.35 m","IX. kerület, Távíró utca<br>274.65 m","I. kerület, Tabán<br>866.22 m","IX. kerület, Közraktár utca<br>753.64 m","III. kerület, Szépvölgyi út<br>2491.04 m","IV. kerület, Gárdi Jenő utca<br>1879.65 m","XII. kerület, Virányos<br>2861.67 m","XIII. kerület, Budai Nagy Antal utca<br>667.94 m","XII. kerület, Böszörményi út<br>1296.34 m","II. kerület, Frankel Leó út<br>1069.31 m","II. kerület, Mechwart liget<br>654.4 m","III. kerület, San Marco utca<br>2536.43 m","VI. kerület, Teréz körút<br>108.32 m","XIII. kerület, Tátra utca<br>585.66 m","XV. kerület, Pestújhely<br>3572.82 m","XIII. kerület, Katona József utca<br>107.8 m","VI. kerület, Dohnányi Ernő utca<br>186.01 m","V. kerület, Molnár utca<br>235.35 m","VIII. kerület, Csobánc utca<br>1118.52 m","VII. kerület, Dohány utca<br>438.54 m","VII. kerület, Damjanich utca<br>572.79 m","IX. kerület, Páva utca<br>389.95 m","XI. kerület, Bartók Béla út<br>902.03 m","VI. kerület, Hajós utca<br>35.23 m","XI. kerület, Fehérvári út<br>1600.45 m","IX. kerület, Ferenc körút<br>151.76 m","XIII. kerület, Lehel utca<br>629.35 m","XVI. kerület, Sasszem utca<br>3562.76 m","XVI. kerület, Újszász utca 94.<br>4994.38 m","XIII. kerület, Tátra utca<br>585.66 m","XII. kerület, Vércse utca<br>1640.67 m","IX. kerület, Boráros tér<br>659.47 m","X. kerület, Gyakorló utca<br>659.28 m","III. kerület, Farkastorki út<br>3239.65 m","XIII. kerület, Csata utca<br>907.97 m","XII. kerület, Németvölgyi út<br>2399.62 m","XIII. kerület, Visegrádi utca<br>184.02 m","XIII. kerület, Hajóépítő sétány<br>421.49 m","XIII. kerület, József Attila tér<br>769.97 m","VIII. kerület, Nap utca<br>266.74 m","VI. kerület, Ó utca<br>251.46 m","XII. kerület, Királyhágó tér<br>730.1 m","II. kerület, Kis Rókus utca<br>347.74 m","XIII. kerület, Meder utca<br>455.78 m","III. kerület, Csillaghegy<br>3727.63 m","II. kerület, Harcsa utca<br>1694.57 m","IV. kerület, Váci út<br>1325.43 m","IX. kerület, Erkel utca<br>259.51 m","VI. kerület, Szív utca<br>180.39 m","XIII. kerület, Kresz Géza utca<br>310.95 m","III. kerület, Flórián tér<br>2237.09 m","IX. kerület, Pápay István utca<br>1095.29 m","II. kerület, Balogvár utca<br>1160.23 m","VIII. kerület, Vas utca 5.<br>347.43 m","XVIII. kerület, Ráday Gedeon utca<br>3782.47 m","VII. kerület, Rákóczi út<br>223.94 m","V. kerület, Régi posta utca<br>284.41 m","VIII. kerület, Dugonics utca<br>710.99 m","V. kerület, Magyar utca 29.<br>131.22 m","XIII. kerület, Kresz Géza utca<br>310.95 m","II. kerület, Bogár utca<br>1471.42 m","V. kerület, Belváros<br>134.33 m","XV. kerület, Illyés Gyula utca<br>1980.92 m","IX. kerület, Lónyay utca<br>292.63 m","III. kerület, Pacsirtamező utca<br>2116.19 m","XIV. kerület, Szugló utca<br>1187.11 m","II. kerület, Kapás utca 21-25.<br>414.31 m","XIII. kerület, Kádár utca 9-11.<br>140.34 m","IX. kerület, Toronyház utca<br>831.34 m","XIV. kerület, Egressy út 113.<br>2122.42 m","XIII. kerület, Újlipótváros<br>469.85 m","VII. kerület, Kazinczy utca 6.<br>249.39 m","IX. kerület, Üllői út<br>248.03 m","II. kerület, Országút<br>449.9 m","XX. kerület, János utca 51-53.<br>3270.78 m","III. kerület, Testvérhegy<br>4792.7 m","VII. kerület, Csengery utca<br>524.78 m","X. kerület, Gyakorló utca 11.<br>553.18 m","XIV. kerület, Szentmihályi út<br>1272.27 m","XVIII. kerület, Kelme utca<br>7977.5 m","VIII. kerület, Illés utca<br>775.84 m","XI. kerület, Kérő utca 10.<br>370.19 m","XIII. kerület, Szekszárdi utca<br>605.74 m","XIII. kerület, Népfürdő utca 15d<br>700.86 m","XVI. kerület, Szénás utca<br>4565.13 m","XI. kerület, Benedikt Ottó utca<br>631.11 m","V. kerület, Fehér Hajó utca<br>166.19 m","XV. kerület, Zsókavár utca<br>4153.94 m","XI. kerület, Bocskai út<br>449.15 m","XVI. kerület, Mészáros József utca<br>5063.81 m","V. kerület, Váci utca<br>211.47 m","IX. kerület, Tóth Kálmán utca 33.<br>1064.97 m","VII. kerület, Rózsa utca<br>567.22 m","XI. kerület, Kosztolányi Dezső tér<br>514.08 m","III. kerület, Hunor utca 24-26.<br>2763.27 m","II. kerület, Margit körút<br>67.73 m","XIV. kerület, Nagy Lajos király útja 19.<br>541.35 m","XIII. kerület, Csángó utca<br>719.46 m","VI. kerület, Dózsa György út 102.<br>170.9 m","XII. kerület, Avar utca<br>1395.91 m","XIV. kerület, Kacsóh Pongrác út 139.<br>268.21 m","VI. kerület, Király utca 102.<br>322.19 m","XIII. kerület, Reitter Ferenc utca<br>983.63 m","XIII. kerület, Petneházy utca<br>300.99 m","III. kerület, Vörösvári út<br>3217.3 m","III. kerület, Miklós utca<br>2026.4 m","III. kerület, Föld utca<br>2614.03 m","VII. kerület, Károly körút<br>111.51 m","XI. kerület, Hosszúrét<br>1726.72 m","VI. kerület, Bajcsy-Zsilinszky út<br>246.93 m","XII. kerület, Nárcisz utca<br>1507.39 m","IX. kerület, Üllői út<br>248.03 m","VII. kerület, Dembinszky utca<br>756.01 m","IV. kerület, Wolfner utca 6.<br>491.39 m","XV. kerület, Szentmihályi út<br>4255.71 m","VII. kerület, Károly körút<br>111.51 m","VIII. kerület, Teleki László tér 19.<br>481.99 m","VIII. kerület, Corvin sétány 7.<br>303.56 m","VI. kerület, Izabella utca<br>442.44 m","XII. kerület, Dániel út 54-60.<br>3274.99 m","XIV. kerület, Kerepesi út 90.<br>369.16 m","V. kerület, Balaton utca<br>688.18 m","XIII. kerület, Visegrádi utca<br>184.02 m","III. kerület, Emőd utca<br>3021.61 m","XII. kerület, Eötvös út 43-45/13.<br>3866.37 m","XVI. kerület, Farkasbab utca<br>6186.54 m","XI. kerület, Sopron út 28.<br>794.51 m","XII. kerület, Mártonhegyi út<br>2221.61 m","VII. kerület, Rottenbiller utca 17.<br>371 m","XIII. kerület, Petneházy utca<br>300.99 m","XI. kerület, Madárhegyi út 37.<br>2376.62 m","IV. kerület, Templom utca 8.<br>431.4 m","XI. kerület, Bíró László József körút 15.<br>1149.96 m","XI. kerület, Bíró László József körút 15.<br>1149.96 m","XIV. kerület, Uzsoki utca<br>750.32 m","VII. kerület, Nefelejcs utca 23.<br>369.26 m","XIV. kerület, Szentmihályi út<br>1272.27 m","VIII. kerület, Bezerédj utca<br>279.49 m","VII. kerület, Murányi utca<br>434.05 m","XI. kerület, Budafoki út<br>1432.96 m","VI. kerület, Lovag utca<br>258.02 m","XI. kerület, Bíró László József körút 15.<br>1149.96 m","XIV. kerület, Füredi utca<br>1423.11 m","III. kerület, Óbuda-Óváros<br>1850.29 m","V. kerület, Nádor utca<br>480.8 m","XI. kerület, Bartók Béla út<br>902.03 m","XXI. kerület, Erdősor utca 8.<br>5856.37 m","VII. kerület, Kertész utca 42-44.<br>395.8 m","IV. kerület, Attila utca<br>1382.83 m","XX. kerület, Baross utca<br>3775.05 m","V. kerület, Molnár utca<br>235.35 m","XIII. kerület, Véső utca<br>525 m","XI. kerület, Baranyai utca<br>45.44 m","XIII. kerület, Visegrádi utca<br>184.02 m","VIII. kerület, Rákóczi út<br>31.01 m","V. kerület, Vadász utca 34.<br>207.41 m","XIV. kerület, Bosnyák utca 14-18.<br>1675.46 m","V. kerület, Kecskeméti utca<br>6.1 m","XIV. kerület, Erzsébet királyné útja 107.<br>2035.7 m","XI. kerület, Rahó utca 2-8.<br>577.1 m","IV. kerület, Petőfi utca<br>522.46 m","VI. kerület, Teréz körút 31.<br>301.92 m","XX. kerület, Wesselényi utca<br>3788.81 m","XII. kerület, Somorjai utca 23.<br>1797.53 m","VII. kerület, Murányi utca<br>434.05 m","VII. kerület, Dohány utca<br>438.54 m","XVI. kerület, Újszász utca<br>3614.56 m","XIII. kerület, Petneházy utca<br>300.99 m","XIII. kerület, Pannónia utca<br>429.76 m","II. kerület, Országút<br>449.9 m","XVI. kerület, Veres Péter út 105.<br>4327.87 m","XI. kerület, Regős köz<br>1393.38 m","XIII. kerület, Garam utca<br>593.08 m","XI. kerület, Törökverő út 5.<br>3755.07 m","XXII. kerület, Temesvári út<br>3078.8 m","V. kerület, Belgrád rakpart<br>402.52 m","XI. kerület, Etele út<br>770.67 m","XI. kerület, Villányi út<br>1758.65 m","III. kerület, Kerék utca 4.<br>2211.3 m","XI. kerület, Vahot utca<br>144.21 m","XIX. kerület, Ady Endre út 42-44.<br>804.6 m","XVII. kerület, Újlak utca<br>7141.25 m","II. kerület, Ferenchegyi út<br>2146.05 m","XIII. kerület, Szent László út 47.<br>1104.01 m","X. kerület, Állomás utca<br>1924.47 m","VII. kerület, Damjanich utca<br>572.79 m","XIV. kerület, Fűrész utca<br>1362.91 m","XI. kerület, Fehérvári út<br>1600.45 m","VI. kerület, Székely Bertalan utca<br>360.02 m","XIII. kerület, Kelén utca<br>744.55 m","XI. kerület, Bíró László József körút<br>1149.96 m","V. kerület, Arany János utca<br>455.5 m","VIII. kerület, Práter utca<br>397.97 m","V. kerület, Magyar utca<br>166.71 m","XI. kerület, Kanizsai utca 1.<br>114.9 m","VIII. kerület, Corvin sétány 5A<br>303.56 m","XIV. kerület, Kerepesi út<br>170.42 m","VI. kerület, Eötvös utca<br>235.06 m","XI. kerület, Hosszúréti utca<br>2060.7 m","XIII. kerület, Reitter Ferenc utca<br>983.63 m","XII. kerület, Széll Kálmán tér<br>331.38 m","I. kerület, Hattyú utca<br>123.87 m","XI. kerület, Fehérvári út 147.<br>983.52 m","VI. kerület, Szív utca<br>180.39 m","VIII. kerület, Baross utca 114.<br>752.69 m","XIX. kerület, Corvin körút<br>957.54 m","XXIII. kerület, Templom utca<br>6660.03 m","III. kerület, Miklós utca<br>2026.4 m","X. kerület, Kőrösi Csoma Sándor út<br>1239.92 m","XII. kerület, Városmajor utca 6.<br>193.54 m","IX. kerület, Sobieski János utca 38.<br>523.69 m","VII. kerület, Murányi utca<br>434.05 m","XI. kerület, Somlói út<br>1002.33 m","XIV. kerület, Egressy út 27.<br>974.36 m","IV. kerület, Kassai utca<br>368.15 m","XIII. kerület, Nyugati tér<br>96.57 m","XV. kerület, Páskomliget utca 51.<br>3619.74 m","IV. kerület, Lebstück Mária utca<br>365.52 m","XIII. kerület, Szent László út<br>710.05 m","III. kerület, Hatvany Lajos utca<br>4266.23 m","XVI. kerület, Gusztáv utca<br>4367.58 m","VII. kerület, Garay utca<br>240.85 m","VIII. kerület, Lujza utca<br>1002.48 m","XI. kerület, Andor utca<br>987.48 m","XIX. kerület, Esze Tamás utca<br>1492.77 m","III. kerület, Folyamőr utca<br>2030.42 m","VI. kerület, Zichy Jenő utca 22.<br>233.47 m","VII. kerület, Jósika utca 4.<br>406.73 m","XII. kerület, Tóth Lőrinc utca<br>508.05 m","X. kerület, Szőlővirág utca<br>1410.64 m","XXI. kerület, Páfrányos út<br>7002 m","XXIII. kerület, Templom utca<br>6660.03 m","XIII. kerület, Hajóépítő sétány<br>421.49 m","XIII. kerület, Pannónia utca<br>429.76 m","VIII. kerület, Baross utca<br>1202.62 m","XIV. kerület, Örs vezér tere 11.<br>349.8 m","XI. kerület, Ballagi Mór utca<br>576.15 m","VIII. kerület, Stáhly utca<br>173.32 m","III. kerület, Berend utca<br>2669.6 m","II. kerület, Rókushegyi lépcső<br>952.8 m","XIX. kerület, Kispest<br>1702.14 m","XIII. kerület, Révész utca<br>286.86 m","III. kerület, Lajos utca<br>1898.55 m","V. kerület, Lipótváros<br>323.87 m","XI. kerület, Villányi út 48/B<br>1081.65 m","XIII. kerület, Futár utca<br>1559.55 m","VIII. kerület, Szigony utca<br>183.7 m","XIV. kerület, Fűrész utca<br>1362.91 m","XII. kerület, Ráth György utca<br>748.5 m","XX. kerület, Gubacs - Mediterrán lakópark<br>4507.85 m","II. kerület, Frankel Leó út<br>1069.31 m","XIII. kerület, Ipoly utca<br>710.42 m","XI. kerület, Magyari István utca<br>109.75 m","V. kerület, Balaton utca<br>688.18 m","XIII. kerület, Szent István park 20.<br>583.8 m","V. kerület, Kálmán Imre utca<br>337.36 m","XIII. kerület, Esztergomi út 70.<br>316.43 m","XIII. kerület, Reitter Ferenc utca<br>983.63 m","II. kerület, Pusztaszeri út<br>2331.84 m","XIII. kerület, Forgách utca 32.<br>750.09 m","VIII. kerület, Salétrom utca<br>110.56 m","XI. kerület, Vahot utca<br>144.21 m","XI. kerület, Vahot utca<br>144.21 m","IX. kerület, Soroksári út<br>3300.65 m","XIII. kerület, Gyermek tér<br>1096.95 m","XIV. kerület, Nagy Lajos király útja<br>1823.39 m","VI. kerület, Nagymező utca<br>180.42 m","XIII. kerület, Kárpát utca 2.<br>561.5 m","XII. kerület, Zugligeti út<br>2690.62 m","XVIII. kerület, Thököly út<br>3287.79 m","II. kerület, Széll Kálmán tér<br>181.14 m","XVII. kerület, Újlak utca<br>7141.25 m","XII. kerület, Ördögszikla köz<br>2820.77 m","III. kerület, Polgár utca<br>1983.02 m","III. kerület, Jós utca<br>4994.36 m","XI. kerület, Rétköz utca<br>2378.64 m","XI. kerület, Rupphegyi út<br>3031.9 m","III. kerület, Jós utca<br>4994.36 m","XII. kerület, Istenhegy<br>1901.32 m","IX. kerület, Mihálkovics utca<br>322.63 m","XIII. kerület, Visegrádi utca 58/A<br>208.75 m","XIII. kerület, Újlipótváros<br>469.85 m","IX. kerület, Bokréta utca<br>516.89 m","V. kerület, Arany János utca<br>455.5 m","XVI. kerület, Levedi utca 6.<br>6695.1 m","VII. kerület, Wesselényi utca<br>625.1 m","XIII. kerület, Dévai utca 19.<br>357.61 m","XIII. kerület, Teve utca<br>260.39 m","X. kerület, Gyakorló utca<br>659.28 m","IX. kerület, Gönczy Pál utca 1.<br>210.85 m","I. kerület, Krisztinaváros<br>593.22 m","IX. kerület, Dandár utca<br>647.33 m","V. kerület, Báthory utca<br>306.64 m","III. kerület, Lestyán utca<br>4887.27 m","VI. kerület, Zichy Jenő utca 32.<br>315.4 m","V. kerület, Balassi Bálint utca<br>691.56 m","III. kerület, Vízimolnár utca<br>2143.81 m","XIII. kerület, Angyalföld<br>953.12 m","XIV. kerület, Egressy út<br>2223.9 m","XIII. kerület, Újlipótváros<br>469.85 m","IX. kerület, Haller utca<br>797.84 m","XI. kerület, Kelenföld<br>631.38 m","VIII. kerület, Corvin sétány 8B<br>303.56 m","VIII. kerület, Corvin sétány 9.<br>303.56 m","VII. kerület, Thököly út<br>334.92 m","VIII. kerület, Kőris utca 25.<br>765.89 m","VII. kerület, Marek József utca<br>626.36 m","XX. kerület, Kossuth Lajos utca 209.<br>2928.71 m","XIII. kerület, Újlipótváros<br>469.85 m","XIII. kerület, Szabolcs utca<br>646.95 m","XVI. kerület, Asztalos utca<br>6326.93 m","XIV. kerület, Egressy út<br>2223.9 m","XI. kerület, Lágymányosi utca<br>249.83 m","XIII. kerület, Madarász Viktor utca<br>468.55 m","IX. kerület, Haller utca<br>797.84 m","VII. kerület, Madách Imre út<br>222.79 m","VI. kerület, Lázár utca 14.<br>158.39 m","XIII. kerület, Pozsonyi út<br>702.29 m","V. kerület, Ferenciek tere<br>31.29 m","XI. kerület, Benedikt Ottó utca<br>631.11 m","V. kerület, Október 6. utca 3.<br>211.16 m","XI. kerület, Kondorosi út 17.<br>1489.58 m","I. kerület, Fenyő utca<br>945.01 m","XVII. kerület, Újlak utca<br>7141.25 m","III. kerület, Madzsar József utca<br>4943.55 m","XIII. kerület, Petneházy utca<br>300.99 m","I. kerület, Logodi utca<br>320.73 m","II. kerület, Tárogató út<br>2996.72 m","VII. kerület, Király utca<br>282.05 m","XIV. kerület, Újvilág utca<br>995.05 m","XIII. kerület, Turóc utca 9.<br>412.01 m","XXIII. kerület, Grassalkovich út<br>7684.47 m","XVIII. kerület, Csontváry Kosztka Tivadar utca<br>3397.85 m","XII. kerület, Pethényi köz<br>1272.3 m","XII. kerület, Gébics utca<br>1438.21 m","XIII. kerület, Madarász Viktor utca<br>468.55 m","III. kerület, Lajos utca 93-99.<br>1899.26 m","VIII. kerület, Kisfaludy utca<br>367.22 m","XI. kerület, Budafoki út 41.<br>486.68 m","XIX. kerület, Wekerletelep<br>1122.18 m","XII. kerület, Mese köz<br>2635.28 m","XIII. kerület, Victor Hugo utca<br>480.47 m","II. kerület, Balogvár utca<br>1160.23 m","VIII. kerület, Somogyi Béla utca 17.<br>231.48 m","I. kerület, Batthyány utca<br>278.57 m","XIV. kerület, Nagy Lajos király útja 156.<br>1026.66 m","IX. kerület, Lenhossék utca 3.<br>623.32 m","V. kerület, Vármegye utca<br>182.45 m","XI. kerület, Dayka Gábor utca<br>1187.93 m","XII. kerület, Farkasvölgy<br>3217.3 m","XIII. kerület, Hajóépítő sétány<br>421.49 m","V. kerület, Szent István körút 9.<br>491.41 m","X. kerület, Petrőczy utca<br>1601.56 m","XIII. kerület, Sólyatér utca<br>387.1 m","II. kerület, Hűvösvölgyi út<br>5415.77 m","V. kerület, Kossuth Lajos utca<br>122.12 m","III. kerület, Kapaszkodó utca<br>5369.34 m","VIII. kerület, Diószegi Sámuel utca 50.<br>472.6 m","III. kerület, Selmeci utca<br>2331.42 m","IV. kerület, Csíkszentiván utca<br>4704.55 m","XIII. kerület, Angyalföld<br>953.12 m","II. kerület, Margit körút 5.<br>881.7 m","XV. kerület, Szilas park<br>4069.27 m","VIII. kerület, Rákóczi út<br>31.01 m","XIV. kerület, Nagy Lajos király útja 187.<br>1026.66 m","XIII. kerület, Pannónia utca<br>429.76 m","V. kerület, Belváros<br>134.33 m","V. kerület, Belváros<br>134.33 m","V. kerület, Lipótváros<br>323.87 m","XX. kerület, Fiume utca<br>3413.78 m","VI. kerület, Paulay Ede utca 43.<br>109.36 m","IX. kerület, Viola utca 9-11.<br>520.36 m","V. kerület, Bank utca<br>85.96 m","XIII. kerület, Szabolcs utca 25.<br>690.76 m","V. kerület, Váci utca<br>211.47 m","XI. kerület, Szerenád utca 6.<br>1915.28 m","II. kerület, Felső Zöldmáli út 12.<br>2322.34 m","XVI. kerület, Újszász utca<br>3614.56 m","VIII. kerület, József körút<br>273.03 m","IX. kerület, Balázs Béla utca<br>457.18 m","IX. kerület, Páva utca<br>389.95 m","VIII. kerület, Kőris utca 25.<br>765.89 m","XIV. kerület, Istvánmezei út<br>708.55 m","XIII. kerület, Csata utca 17.<br>927.28 m","VIII. kerület, Leonardo da Vinci utca 7.<br>534.93 m","XXI. kerület, Árpád utca<br>4915.71 m","XIII. kerület, Ipoly utca 20.<br>223.94 m","IX. kerület, Hőgyes Endre utca<br>208.51 m","XIX. kerület, Áchim András utca<br>2046.7 m","I. kerület, Batthyány utca<br>278.57 m","VI. kerület, Lázár utca 16.<br>146 m","III. kerület, Lajos utca<br>1898.55 m","XXI. kerület, Kiss János altábornagy utca<br>4516.95 m","V. kerület, Fehér Hajó utca<br>166.19 m","XI. kerület, Budafoki út<br>1432.96 m","XII. kerület, Matyó utca<br>1606.1 m","XI. kerület, Fehérvári út 160.<br>1512.14 m","XIV. kerület, Fűrész utca<br>1362.91 m","XII. kerület, Hollósy Simon utca<br>955.11 m","III. kerület, Zsófia utca 11.<br>2817.16 m","IX. kerület, Márton utca 36-40.<br>560.39 m","XIII. kerület, Pannónia utca 85.<br>394.74 m","XIII. kerület, Angyalföld<br>953.12 m","VIII. kerület, Magdolna utca 43.<br>798.05 m","XI. kerület, Tóberek utca<br>2510.19 m","XIV. kerület, Uzsoki utca 30/C<br>750.32 m","II. kerület, Lukács utca 1.<br>1787.47 m","II. kerület, Kapás utca<br>414.31 m","II. kerület, Máriaremetei út<br>8581.28 m","XI. kerület, Bartók Béla út 16.<br>193.78 m","XI. kerület, Bartók Béla út 16.<br>193.78 m","X. kerület, Román utca<br>1600.7 m","I. kerület, Tábor utca<br>688.13 m","VIII. kerület, Lujza utca 1.<br>644.45 m","X. kerület, Sörgyár utca<br>2315.41 m","VIII. kerület, Kun utca 4.<br>288.98 m","XIV. kerület, Columbus utca<br>690.47 m","VII. kerület, Peterdy utca<br>689.46 m","II. kerület, Törökvész út<br>2969.07 m","IX. kerület, Lobogó utca<br>770.28 m","II. kerület, Pasarét<br>2590.38 m","V. kerület, Hercegprímás utca 11.<br>261.7 m","IV. kerület, Virág utca<br>440.11 m","XI. kerület, Petzvál József utca<br>617.28 m","IX. kerület, Lónyay utca<br>292.63 m","III. kerület, Szépvölgyi út 49-55.<br>2480.11 m","XIV. kerület, Czobor utca<br>1362.91 m","XIII. kerület, Lehel utca<br>629.35 m","IX. kerület, Nádasdy utca 10.<br>1094.01 m","IV. kerület, Székpatak utca<br>4508.23 m","VI. kerület, Liszt Ferenc tér<br>117.7 m","XII. kerület, Fodor utca<br>1916.82 m","I. kerület, Várfok utca<br>282.96 m","XI. kerület, Prielle Kornélia utca<br>625.65 m","XIV. kerület, Ilka utca<br>986.5 m","XX. kerület, Kulcsár utca<br>3142.11 m","II. kerület, Józsefhegyi utca<br>1754.12 m","VIII. kerület, Orczy út<br>1035.67 m","IV. kerület, Izzó utca<br>2177.5 m","XIII. kerület, Szent István körút<br>166.82 m","III. kerület, Szőlő utca<br>2273.36 m","IX. kerület, Üllői út 11-13.<br>199.09 m","IX. kerület, Vámház körút 7.<br>205.02 m","V. kerület, Belváros<br>134.33 m","XVI. kerület, Újszász utca 45 B<br>4758.17 m","XIV. kerület, Fischer István utca 121.<br>2048.59 m","X. kerület, Sörgyár utca<br>2315.41 m","XXII. kerület, Petőfi Sándor utca<br>7960.88 m","V. kerület, Múzeum körút<br>131.29 m","XIII. kerület, Szabolcs utca 25.<br>690.76 m","IV. kerület, Reviczky utca<br>2433.36 m","IV. kerület, Újpest-Kertváros<br>2072.8 m","XIV. kerület, Bartl János utca<br>2396.36 m","IV. kerület, Erzsébet utca<br>684.65 m","VI. kerület, Zichy Jenő utca<br>274.1 m","VI. kerület, Városligeti fasor<br>447.71 m","XIII. kerület, Csata utca<br>907.97 m","XV. kerület, Bethlen Gábor utca<br>1745.39 m","XIII. kerület, Viza utca<br>709.64 m","I. kerület, Szirtes út<br>1380.84 m","XI. kerület, Minerva utca<br>572.46 m","II. kerület, Budakeszi út<br>5784.39 m","IV. kerület, Külső Szilágyi út<br>4839.25 m","XIV. kerület, Bartl János utca<br>2396.36 m","XIV. kerület, Tábornok utca<br>511.24 m","II. kerület, Petrezselyem utca<br>447.58 m","IX. kerület, Mester utca<br>763.09 m","IX. kerület, Vágóhíd utca 3A<br>1262.52 m","VII. kerület, Hársfa utca<br>491.44 m","XII. kerület, Kútvölgyi út<br>2303.43 m","VIII. kerület, Üllői út<br>182.35 m","XII. kerület, Zsolna utca<br>1964.01 m","XIV. kerület, Róna utca<br>1369.12 m","X. kerület, Halas utca<br>1494.08 m","XIV. kerület, Fischer István utca 121.<br>2048.59 m","XI. kerület, Hadak útja<br>467.88 m","XI. kerület, Somlói út<br>1002.33 m","V. kerület, Régi posta utca<br>284.41 m","XIII. kerület, Petneházy utca<br>300.99 m","III. kerület, Testvérhegy<br>4792.7 m","III. kerület, Selmeci utca<br>2331.42 m","I. kerület, Víziváros<br>247.84 m","II. kerület, Kis Rókus utca<br>347.74 m","XIV. kerület, Ilka utca<br>986.5 m","VI. kerület, Podmaniczky utca 47.<br>403.6 m","XIV. kerület, Gyarmat utca 48.<br>1064.91 m","VI. kerület, Dózsa György út 102.<br>170.9 m","IX. kerület, Berzenczey utca<br>253.35 m","VII. kerület, Damjanich utca<br>572.79 m","XII. kerület, Böszörményi út<br>1296.34 m","XIII. kerület, Szent László út<br>710.05 m","XIII. kerület, Szent László út<br>710.05 m","VIII. kerület, József körút 68.<br>264.98 m","XI. kerület, Madárhegy<br>2408.25 m","VI. kerület, Teréz körút<br>108.32 m","XIII. kerület, Hajóépítő sétány<br>421.49 m","XXII. kerület, Bartók Béla út<br>7281.16 m","VI. kerület, Vörösmarty utca<br>386.08 m","II. kerület, Országút<br>449.9 m","VI. kerület, Király utca<br>282.05 m","VII. kerület, Jósika utca 10.<br>400.01 m","II. kerület, Országút<br>449.9 m","III. kerület, Ürömhegy<br>5191.22 m","XVI. kerület, Magtár utca<br>7335.78 m","IV. kerület, Aradi utca<br>326.06 m","XVII. kerület, Rácsos utca<br>10180.98 m","VII. kerület, Holló utca 12-14.<br>344.03 m","XIV. kerület, Szentmihályi út 21.<br>1305.31 m","XI. kerület, Vahot utca<br>144.21 m","XI. kerület, Szerémi út<br>504.98 m","I. kerület, Víziváros<br>247.84 m","X. kerület, Szőlővirág utca<br>1410.64 m","XIV. kerület, Bolgárkerék utca<br>253.15 m","II. kerület, Széll Kálmán tér<br>181.14 m","V. kerület, Hercegprímás utca<br>197.51 m","XIV. kerület, Uzsoki utca<br>750.32 m","VII. kerület, Erzsébet körút<br>478.28 m","XI. kerület, Bölcső utca<br>160.27 m","II. kerület, Bécsi út<br>1917.35 m","II. kerület, Margit körút<br>67.73 m","IX. kerület, Gát utca<br>542.15 m","XIII. kerület, Visegrádi utca<br>184.02 m","IV. kerület, Venetianer utca<br>464.86 m","XII. kerület, Szendrő utca<br>1621.46 m","II. kerület, Harcsa utca<br>1694.57 m","XIII. kerület, Vizafogó<br>447.69 m","XII. kerület, Kiss János altábornagy utca 26.<br>850.36 m","IX. kerület, Erkel utca<br>259.51 m","XI. kerület, Bíró László József körút<br>1149.96 m","XIII. kerület, Teve utca<br>260.39 m","VI. kerület, Bajnok utca<br>354.1 m","II. kerület, Retek utca<br>149.5 m","XIV. kerület, Bartl János utca 2.<br>2443.09 m","VIII. kerület, József körút<br>273.03 m","XIII. kerület, Hajóépítő sétány 4.<br>580.94 m","V. kerület, Semmelweis utca 23.<br>328.11 m","XV. kerület, Szentmihályi út<br>4255.71 m","X. kerület, Harmat utca 67.<br>1892.61 m","VI. kerület, Aradi utca<br>144.06 m","XIV. kerület, Szobránc köz<br>395.54 m","XI. kerület, Karinthy Frigyes út<br>447.22 m","XIII. kerület, Kárpát utca<br>604.18 m","III. kerület, Raktár utca 56.<br>2322.56 m","XIV. kerület, Dorozsmai utca<br>730.83 m","X. kerület, Fogadó utca<br>420.44 m","IX. kerület, Pöttyös utca<br>164.11 m","IX. kerület, Közraktár utca<br>753.64 m","X. kerület, Hungária körút 5-7.<br>995.08 m","XI. kerület, Ulászló utca<br>592.12 m","X. kerület, Jászberényi út 77/B<br>4249.11 m","XI. kerület, Bartók Béla út 51.<br>131.33 m","IV. kerület, Báthory utca<br>857.07 m","XI. kerület, Brassó út 4.<br>2148.15 m","XIV. kerület, Bosnyák utca 14-18.<br>1675.46 m","XVII. kerület, Újlak utca<br>7141.25 m","VII. kerület, Rákóczi út<br>223.94 m","XII. kerület, Gaál József út<br>888.63 m","X. kerület, Üllői út<br>146.8 m","X. kerület, Üllői út<br>146.8 m","VIII. kerület, Práter utca<br>397.97 m","V. kerület, Kecskeméti utca<br>6.1 m","XII. kerület, Karthauzi utca 4.<br>2750.82 m","I. kerület, Hattyú utca<br>123.87 m","II. kerület, Trombitás út<br>679.71 m","III. kerület, Királylaki út<br>4227.04 m","III. kerület, Domoszló útja<br>4625.06 m","III. kerület, Bécsi út<br>3363.27 m","II. kerület, Forint utca 12.<br>458.37 m","III. kerület, Margitliget utca<br>5024.95 m","XVIII. kerület, Üllői út<br>5417.09 m","VI. kerület, Rippl-Rónai utca 23.<br>225.88 m","XIII. kerület, Victor Hugo utca 41.<br>530.85 m","V. kerület, Petőfi Sándor utca<br>325.04 m","XI. kerület, Somogyi út<br>266.43 m","XIV. kerület, Istvánmezei út<br>708.55 m","I. kerület, Batthyány utca<br>278.57 m","XVII. kerület, Csabai út 25.<br>9040.37 m","XIII. kerület, Angyalföld<br>953.12 m","XIII. kerület, Lőportár utca<br>536.21 m","XVI. kerület, Erzsébetliget<br>5201.01 m","XVI. kerület, Farkasbab utca<br>6186.54 m","II. kerület, Vöröstorony utca<br>3331.01 m","III. kerület, Ürömhegy<br>5191.22 m","XXI. kerület, Csepel-Kertváros<br>5824.36 m","XXII. kerület, Gádor utca<br>4347.67 m","I. kerület, Kuny Domokos utca<br>462.99 m","III. kerület, Szépvölgyi út<br>2491.04 m","XIX. kerület, Üllői út<br>712.01 m","X. kerület, Makk utca<br>673.91 m","V. kerület, Falk Miksa utca<br>505.09 m","XIII. kerület, Tüzér utca 8.<br>258.36 m","XXI. kerület, Corvin út<br>4111.92 m","XIII. kerület, Tahi utca 34.<br>735.34 m","IX. kerület, Erkel utca<br>259.51 m","XIII. kerület, Madarász Viktor utca<br>468.55 m","XI. kerület, Alíz utca<br>1357.19 m","VI. kerület, Zichy Jenő utca<br>274.1 m","V. kerület, Kossuth Lajos utca<br>122.12 m","XI. kerület, Allende park<br>1165.72 m","VIII. kerület, Práter utca<br>397.97 m","XXII. kerület, Rózsakert utca<br>6442.25 m","XXI. kerület, Erdősor utca<br>6780.49 m","III. kerület, Szentendrei út<br>2228.17 m","VIII. kerület, Kerepesi út 1.<br>43.7 m","XI. kerület, Lágymányosi utca<br>249.83 m","XIV. kerület, Bagolyvár utca<br>1032.58 m","II. kerület, Pasarét<br>2590.38 m","VI. kerület, Király utca<br>282.05 m","VI. kerület, Vörösmarty utca<br>386.08 m","II. kerület, Kis Rókus utca<br>347.74 m","XIII. kerület, Madarász Viktor utca<br>468.55 m","II. kerület, Zöldkert út 6.<br>2792.52 m","V. kerület, Belváros<br>134.33 m","XIII. kerület, Jászai Mari tér<br>714.28 m","II. kerület, Krecsányi utca<br>3333.78 m","VII. kerület, Rottenbiller utca<br>314.47 m","IX. kerület, Lobogó utca<br>770.28 m","XI. kerület, Napkelte utca<br>1095.11 m","V. kerület, Bajcsy-Zsilinszky út<br>336.68 m","VII. kerület, Erzsébet körút 15.<br>268.14 m","V. kerület, Sörház utca<br>362.02 m","VII. kerület, Síp utca 6.<br>151.57 m","VIII. kerület, Corvin sétány<br>303.56 m","VIII. kerület, Corvin sétány<br>303.56 m","VIII. kerület, Corvin sétány 8/B<br>303.56 m","XIII. kerület, Angyalföld - Lőportárdűlő<br>601.23 m","XX. kerület, Sas utca<br>2636.99 m","XIII. kerület, Hajókovács utca<br>389.61 m","V. kerület, Kecskeméti utca<br>6.1 m","II. kerület, Pasarét<br>2590.38 m","XII. kerület, Zsigmondy Vilmos utca 9.<br>2720.24 m","XIII. kerület, Visegrádi utca 18.<br>299.4 m","XVI. kerület, Sashalom<br>3299.26 m","XI. kerület, Mérnök utca 37.<br>399.47 m","XIV. kerület, Sárköz utca<br>1698.48 m","XIII. kerület, Taksony utca<br>446.69 m","VIII. kerület, Fecske utca<br>237.95 m","IX. kerület, Toronyház utca<br>831.34 m","XI. kerület, Szerenád utca 6.<br>1915.28 m","XI. kerület, Allende park<br>1165.72 m","V. kerület, Fehér Hajó utca<br>166.19 m","XII. kerület, Hableány utca<br>2252.65 m","II. kerület, Országút<br>449.9 m","II. kerület, Szépvölgy<br>4313.02 m","VII. kerület, Kertész utca<br>426.63 m","III. kerület, Óbuda - Kísérleti lakótelep<br>2774.42 m","XIII. kerület, Hegedűs Gyula utca 14.<br>385.9 m","XIV. kerület, Thököly út<br>1065.63 m","IX. kerület, Üllői út<br>248.03 m","XIII. kerület, Tutaj utca<br>367.1 m","XXII. kerület, Játék utca<br>3871.38 m","XI. kerület, Albertfalva<br>1971.79 m","IV. kerület, Závodszky Zoltán utca<br>1054.97 m","XIV. kerület, Ond vezér útja<br>683.39 m","XX. kerület, Lázár utca<br>3687.15 m","III. kerület, Óarany utca<br>4964.58 m","II. kerület, Nóra utca<br>7883.65 m","II. kerület, Kuruclesi út<br>4336.51 m","III. kerület, Óarany utca<br>4964.58 m","III. kerület, Bécsi út<br>3363.27 m","VIII. kerület, Corvin sétány<br>303.56 m","XVIII. kerület, Vándor Sándor utca 3.<br>3752.83 m","VI. kerület, Bajza utca<br>346.83 m","VI. kerület, Csengery utca<br>310.77 m","III. kerület, Domoszló útja<br>4625.06 m","IX. kerület, Erkel utca<br>259.51 m","IV. kerület, Venetianer utca<br>464.86 m","III. kerület, Óarany utca<br>4964.58 m","X. kerület, Halas utca<br>1494.08 m","XVI. kerület, Szent Korona utca<br>1937.97 m","VII. kerület, Kertész utca 46.<br>356.98 m","XIII. kerület, Gyöngyház utca<br>443.05 m","XII. kerület, Márvány utca<br>669.52 m","XII. kerület, Farkasvölgy<br>3217.3 m","XIV. kerület, Ond vezér útja 17.<br>759.19 m","XII. kerület, Alkotás utca<br>62.62 m","XVII. kerület, Iharos utca<br>9500.24 m","VIII. kerület, Kálvária tér<br>890.48 m","I. kerület, Víziváros - Váralja<br>724.92 m","V. kerület, Belgrád rakpart 26.<br>361.59 m","IX. kerület, Belső-Ferencváros<br>422.5 m","XIV. kerület, Rákosfalva park 4.<br>790.55 m","XIII. kerület, Klapka utca 4.<br>352.73 m","II. kerület, Víziváros<br>417.52 m","XIV. kerület, Thököly út<br>1065.63 m","XIII. kerület, Gyöngyösi utca<br>382.02 m","XIII. kerület, Teve utca 1.<br>232.07 m","XIV. kerület, Tihany utca<br>1359.97 m","XI. kerület, Fehérvári út 103.<br>783.81 m","VI. kerület, Csengery utca<br>310.77 m","IX. kerület, Mester utca 85/A<br>1270.72 m","XIII. kerület, Dózsa György út<br>117.64 m","XII. kerület, Németvölgy<br>1361.76 m","XI. kerület, Temesvár utca 10.<br>1412.89 m","XVI. kerület, Borotvás utca 36.<br>4124.88 m","IX. kerület, Középső-Ferencváros - Rehabilitációs terület<br>426.74 m","XII. kerület, Városmajor utca 32.<br>529.37 m","IV. kerület, Pöltenberg Ernő utca<br>967.15 m","I. kerület, Víziváros - Váralja<br>724.92 m","V. kerület, Honvéd utca<br>399.93 m","VI. kerület, Vörösmarty utca<br>386.08 m","VIII. kerület, Bacsó Béla utca 17-23.<br>183.65 m","IX. kerület, Erkel utca<br>259.51 m","VIII. kerület, József körút<br>273.03 m","XIII. kerület, Diós utca 2.<br>725.82 m","II. kerület, Felhévíz<br>1182.39 m","XIII. kerület, Szabolcs utca 26.<br>692.36 m","XXI. kerület, Árpád utca<br>4915.71 m","VI. kerület, Vasvári Pál utca<br>225.69 m","VII. kerület, Rózsa utca<br>567.22 m","IX. kerület, Erkel utca<br>259.51 m","XX. kerület, Vízisport utca 9.<br>4143.02 m","XII. kerület, Istenhegy - Diósárok<br>2315.32 m","XIII. kerület, Gyermek tér<br>1096.95 m","V. kerület, Lipótváros<br>323.87 m","XIII. kerület, Népfürdő utca 15d<br>700.86 m","V. kerület, Szent István körút<br>120.55 m","XIII. kerület, Hollán Ernő utca<br>611.39 m","IV. kerület, Tófalva utca<br>4418.05 m","II. kerület, Bécsi út 3-5.<br>1912.13 m","VI. kerület, Vörösmarty utca<br>386.08 m","XXIII. kerület, Soroksár<br>7063.65 m","VIII. kerület, József utca<br>210.75 m","XI. kerület, Baranyai utca<br>45.44 m","V. kerület, Belváros<br>134.33 m","XX. kerület, Helsinki út<br>4086.57 m","VIII. kerület, Corvin sétány 5/A<br>303.56 m","VIII. kerület, Corvin sétány 9.<br>303.56 m","VII. kerület, Osvát utca<br>261.65 m","XVI. kerület, Hársfa utca<br>3856.95 m","III. kerület, San Marco utca 33.<br>2440.62 m","XIV. kerület, Vezér utca 149.<br>2181.12 m","XIV. kerület, Örs vezér tere 11.<br>349.8 m","XIII. kerület, Hajóépítő sétány 4.<br>580.94 m","XIII. kerület, Hajóépítő sétány 4.<br>580.94 m","XIII. kerület, Hajóépítő sétány 4.<br>580.94 m","XIV. kerület, Fischer István utca 142/A<br>1983.59 m","VII. kerület, Vörösmarty utca 11.<br>458.41 m","II. kerület, Víziváros<br>417.52 m","XX. kerület, Erzsébetfalva<br>2745.02 m","VII. kerület, Jósika utca<br>418.89 m","XIII. kerület, Népfürdő utca<br>567.62 m","V. kerület, Nádor utca<br>480.8 m","V. kerület, Lipótváros<br>323.87 m","XI. kerület, Kondorosi út<br>1562.34 m","XIII. kerület, Jászai Mari tér<br>714.28 m","VII. kerület, Garay tér 20.<br>549.42 m","XIV. kerület, Törökőr<br>899.04 m","VIII. kerület, Delej utca<br>849.77 m","XIII. kerület, Kassák Lajos utca<br>387.27 m","XIII. kerület, Lehel utca 60.<br>1078.32 m","XIV. kerület, Csertő utca 6-8.<br>1389.98 m","VIII. kerület, Mátyás tér<br>484.43 m","XIII. kerület, Váci út 86.<br>182.69 m","XIII. kerület, Tahi utca<br>1654.66 m","VIII. kerület, Harminckettesek tere<br>375.01 m","XII. kerület, Jagelló út<br>1526.01 m","XIII. kerület, Gidófalvy Lajos utca<br>534.29 m","V. kerület, Kecskeméti utca<br>6.1 m","VIII. kerület, Dugonics utca<br>710.99 m","XII. kerület, Maros utca<br>370.78 m","XIII. kerület, Róbert Károly körút 90.<br>748.24 m","III. kerület, Gyenes utca<br>2845.06 m","XVIII. kerület, Nemes utca<br>6812.81 m","XIII. kerület, Frangepán utca<br>1217.13 m","V. kerület, Fehér Hajó utca<br>166.19 m","VI. kerület, Rózsa utca<br>388.25 m","VII. kerület, Nefelejcs utca<br>311.79 m","XI. kerület, Bogdánfy utca<br>618.33 m","XIV. kerület, Kövér Lajos utca<br>1162.86 m","XI. kerület, Bartók Béla út 57.<br>205.4 m","XI. kerület, Medvetalp utca<br>2441.15 m","XVIII. kerület, Üllői út 543.<br>4094.44 m","XXI. kerület, Templom utca<br>4490.99 m","IX. kerület, Haller utca<br>797.84 m","VIII. kerület, Víg utca 41-43.<br>243.2 m","VIII. kerület, Alföldi utca<br>315.46 m","XIV. kerület, Egressy út 113.<br>2122.42 m","XII. kerület, Galgóczy utca<br>3206.01 m","I. kerület, Krisztinaváros<br>593.22 m","I. kerület, Víziváros<br>247.84 m","I. kerület, Krisztinaváros - Naphegy<br>1067.47 m","II. kerület, Bimbó út<br>1003.12 m","II. kerület, Országút<br>449.9 m","IX. kerület, Liliom utca<br>177.62 m","XII. kerület, Krisztinaváros - Városmajor<br>658.76 m","III. kerület, Óbuda-Óváros<br>1850.29 m","XIII. kerület, Kassák Lajos utca 67/A<br>411.19 m","VIII. kerület, Corvin sétány 1.<br>252.71 m","XIII. kerület, Csángó utca<br>719.46 m","IX. kerület, Gönczy Pál utca<br>118.09 m","VIII. kerület, Corvin köz<br>148.93 m","VIII. kerület, Corvin sétány 6/A<br>303.56 m","VII. kerület, Jósika utca<br>418.89 m","VIII. kerület, Corvin sétány 3.<br>288.73 m","VII. kerület, Rumbach Sebestyén utca<br>351.95 m","V. kerület, Steindl Imre utca<br>274.15 m","VII. kerület, Kazinczy utca<br>352.72 m","V. kerület, Belváros<br>134.33 m","IX. kerület, Belső-Ferencváros<br>422.5 m","XIV. kerület, Róna utca 143.<br>1409.9 m","XIII. kerület, Angyalföldi út<br>278.91 m","IX. kerület, Tűzoltó utca<br>352.49 m","V. kerület, Veres Pálné utca<br>96.03 m","IX. kerület, Mester utca<br>763.09 m","V. kerület, Vigyázó Ferenc utca<br>521.18 m","XI. kerület, Bartók Béla út<br>902.03 m","V. kerület, Nádor utca<br>480.8 m","II. kerület, Bimbó út<br>1003.12 m","VIII. kerület, József utca<br>210.75 m","VI. kerület, Rózsa utca<br>388.25 m","I. kerület, Naphegy utca<br>752.5 m","XIV. kerület, Angol utca<br>1708.39 m","XII. kerület, Farkasvölgy<br>3217.3 m","XIII. kerület, Szekszárdi utca<br>605.74 m","V. kerület, Belváros<br>134.33 m","I. kerület, Krisztinaváros<br>593.22 m","XVIII. kerület, Szitnya utca<br>5353.33 m","XVIII. kerület, Csörgőfa utca<br>6954.81 m","XVIII. kerület, Havanna utca<br>3164.8 m","XIII. kerület, Kassák Lajos utca<br>387.27 m","XI. kerület, Nándorfejérvári út<br>1086.33 m","I. kerület, Krisztinaváros - Naphegy<br>1067.47 m","XX. kerület, Nagy Győry István köz<br>3691.37 m","IX. kerület, Páva utca<br>389.95 m","XI. kerület, Budaörsi út<br>1568.54 m","IX. kerület, Haller utca<br>797.84 m","IX. kerület, Lónyay utca 42.<br>592.53 m","II. kerület, Szépilona<br>2989.66 m","I. kerület, Víziváros<br>247.84 m","XI. kerület, Bartók Béla út<br>902.03 m","XIII. kerület, Tahi utca<br>1654.66 m","XI. kerület, Fehérvári út<br>1600.45 m","V. kerület, Bajcsy-Zsilinszky út 66.<br>355.94 m","V. kerület, Fehér Hajó utca<br>166.19 m","XI. kerület, Magyari István utca<br>109.75 m","V. kerület, Vitkovics Mihály utca<br>266 m","II. kerület, Bem rakpart 38-39.<br>824.24 m","XIV. kerület, Bonyhádi út<br>1987.92 m","XIII. kerület, Angyalföldi út<br>278.91 m","XI. kerület, Bükköny utca 28.<br>2270.62 m","VI. kerület, Lázár utca<br>230.82 m","VI. kerület, Lázár utca<br>230.82 m","XIV. kerület, Füredi utca<br>1423.11 m","II. kerület, Gábor Áron utca<br>1826.02 m","XIV. kerület, Bartl János utca 2.<br>2443.09 m","XVIII. kerület, Hosszúház utca<br>3920.41 m","XVII. kerület, Köröstói utca<br>9580.81 m","V. kerület, József Attila utca 16.<br>177.75 m","II. kerület, Kelemen László utca<br>3062.62 m","V. kerület, Balaton utca<br>688.18 m","V. kerület, Markó utca<br>383.03 m","XI. kerület, Karinthy Frigyes út<br>447.22 m","XI. kerület, Baranyai utca<br>45.44 m","V. kerület, Bajcsy-Zsilinszky út 20.<br>230.68 m","XI. kerület, Péterhegyi út 65.<br>1963.86 m","II. kerület, Orló utca<br>2046.18 m","XIII. kerület, Tátra utca<br>585.66 m","IV. kerület, Kisfaludy utca<br>1435.47 m","VI. kerület, Nagymező utca 33.<br>276.23 m","XI. kerület, Rátz László utca<br>1298.45 m","XIII. kerület, Dózsa György út<br>117.64 m","V. kerület, Vármegye utca 15.<br>240.4 m","IX. kerület, Haller utca<br>797.84 m","XI. kerület, Rétkerülő út<br>1580.03 m","VI. kerület, Teréz körút<br>108.32 m","V. kerület, Reáltanoda utca<br>101.58 m","XI. kerület, Fehérvári út<br>1600.45 m","III. kerület, Folyamőr utca 7.<br>2030.42 m","XI. kerület, Bertalan Lajos utca<br>390.66 m","VIII. kerület, II. János Pál pápa tér<br>123.44 m","VI. kerület, Rózsa utca<br>388.25 m","XI. kerület, Kondorosi út 10B<br>1685.25 m","XIII. kerület, Úszódaru utca 3.<br>645.87 m","XIII. kerület, Danubius utca 8.<br>626.88 m","XXI. kerület, József Attila utca 26.<br>5424.24 m","XIII. kerület, Göncöl utca<br>726.8 m","VIII. kerület, József körút<br>273.03 m","VI. kerület, Lovag utca<br>258.02 m","IX. kerület, Haller utca<br>797.84 m","VI. kerület, Szondi utca<br>426.53 m","I. kerület, Krisztinaváros<br>593.22 m","XI. kerület, Kanizsai utca<br>475.22 m","XIII. kerület, Angyalföld - Lőportárdűlő<br>601.23 m","VII. kerület, Rottenbiller utca 6.<br>216.53 m","XI. kerület, Maléter Pál utca<br>900.36 m","VIII. kerület, Baross utca 88.<br>633.54 m","III. kerület, Bogdáni út 2B<br>1970.61 m","II. kerület, Lajos utca<br>1902.78 m","VIII. kerület, Corvin sétány 6.<br>303.56 m","VIII. kerület, Mária utca<br>281.1 m","VI. kerület, Teréz körút<br>108.32 m","VII. kerület, Nefelejcs utca 18.<br>287.03 m","V. kerület, Fehér Hajó utca<br>166.19 m","II. kerület, Budakeszi út<br>5784.39 m","V. kerület, Fehér Hajó utca<br>166.19 m","VI. kerület, Rózsa utca<br>388.25 m","II. kerület, Alvinci út<br>1320.02 m","XXI. kerület, Duna utca<br>4601.71 m","XI. kerület, Bartók Béla út<br>902.03 m","IX. kerület, Lónyay utca<br>292.63 m","IV. kerület, Tungsram utca<br>1827.24 m","II. kerület, Nyúl utca<br>627.53 m","XX. kerület, Nagykőrösi út<br>1550.5 m","IX. kerület, Haller utca<br>797.84 m","XVI. kerület, Aranyfa utca<br>5250.31 m","II. kerület, Török utca<br>1059.61 m","IX. kerület, Boráros tér<br>659.47 m","XI. kerület, Bod Péter utca 13.<br>1722.95 m","V. kerület, Nádor utca<br>480.8 m","IV. kerület, Tél utca<br>1008.79 m","V. kerület, Haris köz<br>219.52 m","XIII. kerület, Pozsonyi út<br>702.29 m","III. kerület, Farkastorki út<br>3239.65 m","IX. kerület, Ecseri út<br>98.63 m","VI. kerület, Székely Bertalan utca 3.<br>214.25 m","XVI. kerület, Futórózsa utca<br>3838.46 m","XI. kerület, Garda utca<br>1027.76 m","XIII. kerület, Taksony utca<br>446.69 m","II. kerület, Újlak<br>1894.56 m","III. kerület, Szentendrei út<br>2228.17 m","II. kerület, Felhévízi utca<br>2141.43 m","IV. kerület, Károlyi István utca<br>513.95 m","XVII. kerület, Újlak utca<br>7141.25 m","VIII. kerület, Nap utca<br>266.74 m","VIII. kerület, Kálvin tér<br>42.58 m","XVII. kerület, Újszilvás utca<br>10941.4 m","XIII. kerület, Göncöl utca<br>726.8 m","XIII. kerület, Máglya köz<br>689.3 m","VIII. kerület, Hungária körút 32-34.<br>166.26 m","VIII. kerület, Práter utca 26.<br>397.97 m","VII. kerület, Osvát utca<br>261.65 m","VII. kerület, Osvát utca<br>261.65 m","XII. kerület, Böszörményi út<br>1296.34 m","XII. kerület, György Aladár utca<br>2780.05 m","XII. kerület, Tündér lépcső<br>1967.32 m","V. kerület, Báthory utca<br>306.64 m","VIII. kerület, Corvin sétány 8B<br>303.56 m","XIII. kerület, Cserhalom utca 5.<br>384.86 m","XI. kerület, Budaörsi út<br>1568.54 m","I. kerület, Kosciuszkó Tádé utca<br>93.94 m","XIV. kerület, Alsórákos<br>2539.72 m","V. kerület, Belváros<br>134.33 m","XIII. kerület, Pannónia utca<br>429.76 m","VIII. kerület, Mátyás tér 18.<br>401.74 m","VIII. kerület, Mátyás tér 18.<br>401.74 m","VIII. kerület, Mátyás tér 18.<br>401.74 m","XI. kerület, Siroki utca<br>116.12 m","XI. kerület, Tűzkő utca<br>2059.51 m","XIII. kerület, Cserhalom utca 5.<br>384.86 m","II. kerület, Országút<br>449.9 m","I. kerület, Víziváros - Váralja<br>724.92 m","VII. kerület, Rózsa utca<br>567.22 m","VII. kerület, Kazinczy utca 9.<br>287.87 m","VI. kerület, Nagymező utca<br>180.42 m","VIII. kerület, Corvin sétány 5/A<br>303.56 m","III. kerület, Kabar utca<br>4588.41 m","XIV. kerület, Hungária körút<br>189.36 m","V. kerület, Vigadó tér<br>158.12 m","VII. kerület, Kis Diófa utca<br>307.94 m","XIII. kerület, Frangepán utca 76.<br>1439.98 m","VIII. kerület, II. János Pál pápa tér<br>123.44 m","III. kerület, Virág Benedek utca<br>2856.4 m","III. kerület, Erdőalja út 20.<br>4313.44 m","II. kerület, Pasaréti út<br>1130.58 m","II. kerület, Széher út<br>4528.22 m","XI. kerület, Frankhegy utca<br>1670.44 m","XXIII. kerület, Nyír utca<br>5269.93 m","XIV. kerület, Sárköz utca<br>1698.48 m","XI. kerület, Hídvég utca<br>762.17 m","IV. kerület, Gárdi Jenő utca<br>1879.65 m","XIV. kerület, Öv utca 100.<br>2641.43 m","XI. kerület, Nándorfejérvári út<br>1086.33 m","II. kerület, Lorántffy Zsuzsanna lépcső<br>1053.74 m","VI. kerület, Eötvös utca<br>235.06 m","XIII. kerület, Katona József utca<br>107.8 m","II. kerület, Ferenchegyi út<br>2146.05 m","XI. kerület, Irinyi József utca<br>755.36 m","I. kerület, Csap utca<br>1438.3 m","XIII. kerület, Csángó utca<br>719.46 m","VIII. kerület, Koszorú utca 23.<br>649.66 m","XIII. kerület, Garam utca 34.<br>333.96 m","V. kerület, Széchenyi utca<br>379.48 m","VI. kerület, Szondi utca<br>426.53 m","IV. kerület, Chinoin utca<br>828.94 m","II. kerület, Törökvész<br>2371.04 m","II. kerület, Törökvész<br>2371.04 m","XIII. kerület, Angyalföld - Lőportárdűlő<br>601.23 m","XIII. kerület, Máglya köz<br>689.3 m","XI. kerület, Fehérvári út<br>1600.45 m","VII. kerület, Marek József utca 29.<br>698.82 m","X. kerület, Vaspálya utca<br>1765.22 m","X. kerület, Népliget<br>780.99 m","I. kerület, Székely utca 2.<br>314.19 m","XVIII. kerület, Havanna utca<br>3164.8 m","VIII. kerület, József utca 33.<br>311.47 m","VIII. kerület, Baross utca<br>1202.62 m","XIII. kerület, Danubius utca 8.<br>626.88 m","VIII. kerület, Baross utca 48.<br>415.47 m","I. kerület, Iskola utca<br>109.96 m","V. kerület, Arany János utca 27.<br>235.13 m","XIV. kerület, Kalocsai utca<br>1722.71 m","XII. kerület, Táltos utca<br>1200.42 m","XXI. kerület, Temesvári utca<br>5531.22 m","XIV. kerület, Bartl János utca 1.<br>2483.91 m","IX. kerület, Dési Huber utca<br>404.1 m","XI. kerület, Diószegi út<br>672.72 m","III. kerület, Zsirai Miklós utca<br>5157.95 m","VI. kerület, Rózsa utca<br>388.25 m","X. kerület, Gyakorló utca 2.<br>238.85 m","XIII. kerület, Visegrádi utca<br>184.02 m","V. kerület, Stollár Béla utca<br>598.99 m","VIII. kerület, Múzeum körút 10.<br>262.02 m","V. kerület, Lipótváros<br>323.87 m","VIII. kerület, Üllői út 14.<br>213.77 m","XIV. kerület, Mexikói út<br>87.57 m","III. kerület, Testvérhegy<br>4792.7 m","VIII. kerület, Krúdy utca<br>272 m","VIII. kerület, József körút<br>273.03 m","XI. kerület, Kápolna köz<br>1959.85 m","XX. kerület, Emlékezés tere 2.<br>3446.82 m","IX. kerület, Lónyay utca<br>292.63 m","XI. kerület, Budafoki út 81.<br>491.37 m","XI. kerület, Bartók Béla út<br>902.03 m","IX. kerület, Mester utca 85.<br>1067.17 m","VI. kerület, Jókai tér<br>86.62 m","XIV. kerület, Fogarasi út 86.<br>867.4 m","V. kerület, Balaton utca 12.<br>511.59 m","XIII. kerület, Dózsa György út 140.<br>519.73 m","XIII. kerület, Csángó utca<br>719.46 m","XIV. kerület, Cinkotai út<br>2039.23 m","VIII. kerület, Corvin sétány<br>303.56 m","XIII. kerület, Hajóépítő sétány 4.<br>580.94 m","IX. kerület, Aranyvirág sétány<br>508.43 m","X. kerület, Kőbányai út<br>1655.21 m","VI. kerület, Bajcsy-Zsilinszky út<br>246.93 m","IX. kerület, Ferenc körút<br>151.76 m","XII. kerület, Városmajor utca<br>540.63 m","V. kerület, Ferenczy István utca<br>193.74 m","I. kerület, Hunyadi János út 25-27.<br>596.06 m","XIV. kerület, Uzsoki utca<br>750.32 m","II. kerület, Kapás utca<br>414.31 m","XIV. kerület, Tábornok utca 5.<br>283.49 m","XIV. kerület, Bolgárkertész utca<br>396.22 m","XIII. kerület, Fiastyúk utca 51.<br>1034.13 m","VI. kerület, Hajós utca 21.<br>170.5 m","XI. kerület, Fehérvári út 45.<br>389.67 m","XI. kerület, Fehérvári út<br>1600.45 m","VI. kerület, Andrássy út 97.<br>98.49 m","V. kerület, Október 6. utca<br>346.99 m","XVIII. kerület, Akácfa utca<br>3082.35 m","XI. kerület, Karinthy Frigyes út 10.<br>189.74 m","III. kerület, Nánási út 34.<br>2091.11 m","VIII. kerület, Corvin sétány 6.<br>303.56 m","II. kerület, Balogvár utca<br>1160.23 m","VIII. kerület, Diószegi Sámuel utca<br>889.87 m","VIII. kerület, Práter utca 30-32.<br>397.97 m","III. kerület, Ányos utca<br>2677.07 m","XIII. kerület, Máglya köz<br>689.3 m","IX. kerület, Kinizsi utca 35.<br>378.85 m","X. kerület, Gyakorló utcai lakótelep<br>532.26 m","V. kerület, Vármegye utca<br>182.45 m","XII. kerület, Németvölgyi út<br>2399.62 m","VII. kerület, Dob utca 16.<br>361.14 m","VIII. kerület, Nap utca 24.<br>291.98 m","XIV. kerület, Istvánmezei út<br>708.55 m","XIII. kerület, Kresz Géza utca<br>310.95 m","XIII. kerület, Bessenyei utca 16.<br>415.11 m","XIII. kerület, Meder utca 8/c<br>455.78 m","XIII. kerület, Teve utca<br>260.39 m","XII. kerület, Abos utca<br>990.72 m","III. kerület, Zápor utca<br>2331.42 m","VII. kerület, Alsó erdősor<br>538.99 m","XV. kerület, Cserba Elemér út<br>2477.18 m","VI. kerület, Király utca 14.<br>199.14 m","IX. kerület, Soroksári út 42.<br>1183.94 m","VIII. kerület, Baross tér<br>42.41 m","XI. kerület, Fehérvári út 32.<br>63.49 m","IX. kerület, Mester utca 85.<br>1067.17 m","XII. kerület, Kiss János altábornagy utca 57/b<br>1223.8 m","XVII. kerület, Pesti út<br>6548.57 m","XII. kerület, Farkasvölgy<br>3217.3 m","VIII. kerület, József körút 58.<br>385.84 m","VII. kerület, István utca 21.<br>471.27 m","I. kerület, Víziváros<br>247.84 m","VIII. kerület, Szörény utca 5-7.<br>221.62 m","XVI. kerület, Hunyadvár utca<br>4421.82 m","XII. kerület, Királyhágó utca<br>714.89 m","VIII. kerület, Corvin sétány 6/A<br>303.56 m","VIII. kerület, Corvin sétány 6.<br>303.56 m","IV. kerület, Gárdi Jenő utca<br>1879.65 m","IX. kerület, Soroksári út 8-10.<br>671.71 m","XI. kerület, Tétényi út 5/A<br>690.17 m","VIII. kerület, Corvin sétány 7.<br>303.56 m","I. kerület, Úri utca<br>611.32 m","VI. kerület, Káldy Gyula utca 5.<br>173.54 m","VI. kerület, Podmaniczky utca 47.<br>403.6 m","XV. kerület, Zsókavár utca<br>4153.94 m","V. kerület, Fehér Hajó utca 5.<br>172.08 m","X. kerület, Ónodi utca<br>1361.1 m","II. kerület, Lövőház utca<br>506.33 m","III. kerület, Bogdáni út<br>2301.58 m","VII. kerület, Damjanich utca 7.<br>569.38 m","IX. kerület, Ipar utca 2.<br>824.62 m","VIII. kerület, Corvin sétány 9.<br>303.56 m","VIII. kerület, Corvin sétány 9.<br>303.56 m","V. kerület, Királyi Pál utca<br>179.52 m","IX. kerület, Vágóhíd utca<br>1262.52 m","II. kerület, Pasaréti út<br>1130.58 m","XIII. kerület, Bulcsú utca<br>150.87 m","XIV. kerület, Herminamező<br>677.02 m","XV. kerület, Klapka György utca<br>2716.17 m","XII. kerület, Németvölgyi út<br>2399.62 m","XIV. kerület, Thököly út<br>1065.63 m","XI. kerület, Kismákfa utca<br>3176.96 m","XXI. kerület, Petz Ferenc utca<br>4806.48 m","XI. kerület, Bartók Béla út<br>902.03 m","XI. kerület, Siroki utca<br>116.12 m","VI. kerület, Lázár utca<br>230.82 m","XI. kerület, Bogdánfy utca<br>618.33 m","VI. kerület, Andrássy út<br>157.51 m","VIII. kerület, Corvin sétány 5/A<br>303.56 m","XII. kerület, Németvölgyi út<br>2399.62 m","X. kerület, Gyakorló utca 28.<br>803.57 m","XIII. kerület, Teve utca 18-22.<br>260.39 m","VII. kerület, István utca<br>680.94 m","XVI. kerület, Bányász utca<br>6007.12 m","VI. kerület, Szondi utca<br>426.53 m","XIII. kerület, Újlipótváros<br>469.85 m","I. kerület, Kuny Domokos utca<br>462.99 m","XIV. kerület, Hermina út<br>460.53 m","XIV. kerület, Ilosvai Selymes utca<br>2402.55 m","XIII. kerület, Bulcsú utca<br>150.87 m","XVIII. kerület, Havanna utca<br>3164.8 m","III. kerület, Losonc utca<br>2213.89 m","II. kerület, Eszter utca<br>1294.65 m","VII. kerület, Murányi utca 36.<br>434.05 m","IX. kerület, Ferenc körút<br>151.76 m","XVII. kerület, Rákoskerti utca<br>12107.13 m","XIII. kerület, Tátra utca<br>585.66 m","VI. kerület, Csengery utca 56.<br>139.01 m","XIX. kerület, Csokonai utca<br>663.54 m","II. kerület, Házmán utca<br>2238.33 m","II. kerület, Apostol utca<br>1334.18 m","VII. kerület, Murányi utca 2.<br>422.5 m","VIII. kerület, Kun utca<br>277.76 m","IX. kerület, Telepy utca<br>738.26 m","XIII. kerület, Visegrádi utca<br>184.02 m","VII. kerület, Károly körút<br>111.51 m","XIV. kerület, Bolgárkertész utca<br>396.22 m","XIII. kerület, Váci út 34.<br>291.36 m","XI. kerület, Újházy utca 12.<br>454.25 m","XV. kerület, Beller Imre utca<br>2097.91 m","X. kerület, Harmat utca<br>1480.64 m","V. kerület, Alkotmány utca<br>414.12 m","V. kerület, Arany János utca<br>455.5 m","XIII. kerület, Újlipótváros<br>469.85 m","III. kerület, Kapaszkodó utca<br>5369.34 m","XIII. kerület, Dráva utca 10.<br>240.35 m","II. kerület, Honvéd utca<br>7395.38 m","XIII. kerület, Tomori köz<br>611.7 m","V. kerület, Váci utca<br>211.47 m","XX. kerület, Baross utca 62.<br>3790.27 m","XIV. kerület, Gvadányi utca<br>1819.52 m","VIII. kerület, József körút 65.<br>355.82 m","III. kerület, Seregély utca<br>2110.66 m","XI. kerület, Alíz utca 6/A.<br>1369.6 m","VI. kerület, Nagymező utca 19.<br>200.43 m","V. kerület, Veres Pálné utca 34.<br>279.27 m","XII. kerület, Németvölgyi út<br>2399.62 m","XIII. kerület, Népfürdő utca 3.<br>656.19 m","VII. kerület, Rejtő Jenő utca<br>557.29 m","XII. kerület, Törökbálinti út<br>2701.79 m","XII. kerület, Németvölgy<br>1361.76 m","I. kerület, Szőnyeg utca<br>680.41 m","XI. kerület, Gombocz Zoltán utca<br>1455.3 m","VIII. kerület, József körút<br>273.03 m","VIII. kerület, József körút 48.<br>305.1 m","XIII. kerület, Hegedűs Gyula utca<br>430.99 m","XIV. kerület, Gvadányi utca<br>1819.52 m","VI. kerület, Nagymező utca<br>180.42 m","VI. kerület, Szondi utca<br>426.53 m","XIII. kerület, Röppentyű utca<br>599.18 m","VIII. kerület, Corvin sétány 7.<br>303.56 m","VI. kerület, Mozsár utca 6.<br>230.34 m","XVIII. kerület, Tölgy utca<br>6988.92 m","XII. kerület, Virányos<br>2861.67 m","XV. kerület, Palotás utca<br>2259.46 m","XV. kerület, Palotás utca<br>2259.46 m","VIII. kerület, József körút 23.<br>168.85 m","V. kerület, Stollár Béla utca<br>598.99 m","XII. kerület, Virányos<br>2861.67 m","XIII. kerület, Pannónia utca<br>429.76 m","II. kerület, Frankel Leó út<br>1069.31 m","XIII. kerület, Jász utca<br>1442.29 m","III. kerület, Füst Milán utca<br>4603.75 m","XI. kerület, Menyecske utca<br>416.37 m","IX. kerület, Belső-Ferencváros<br>422.5 m","XX. kerület, Gólya utca<br>3090.72 m","XII. kerület, Ráth György utca 8.<br>224.37 m","XIV. kerület, Örs vezér tere<br>487.71 m","XIV. kerület, Ajtósi Dürer sor<br>967.1 m","XXI. kerület, II. Rákóczi Ferenc út<br>5336.88 m","XIII. kerület, Angyalföld<br>953.12 m","VII. kerület, Rákóczi út<br>223.94 m","XII. kerület, Kútvölgy<br>2688.54 m","V. kerület, Belváros<br>134.33 m","II. kerület, Bimbó út<br>1003.12 m","XIII. kerület, Hegedűs Gyula utca<br>430.99 m","VI. kerület, Rózsa utca<br>388.25 m","I. kerület, Fortuna köz<br>597.71 m","XIV. kerület, Kerepesi út<br>170.42 m","IX. kerület, Tinódi utca<br>671.45 m","V. kerület, Semmelweis utca<br>245.15 m","XX. kerület, Kossuth Lajos utca<br>2928.71 m","VII. kerület, Madách Imre tér<br>218.65 m","IX. kerület, Dési Huber utca 22.<br>347.69 m","VII. kerület, Erzsébet körút 15.<br>268.14 m","X. kerület, Hős utca 15/B<br>659.67 m","III. kerület, Táborhegy<br>3843.17 m","III. kerület, Rómaifürdő - Rómaipart<br>2108.48 m","XII. kerület, Krisztinaváros - Városmajor<br>658.76 m","VII. kerület, Kertész utca 43.<br>301.22 m","XII. kerület, Németvölgy<br>1361.76 m","VIII. kerület, II. János Pál pápa tér 16.<br>195.1 m","XXII. kerület, Honfoglalás út<br>2369.47 m","VIII. kerület, József utca<br>210.75 m","XI. kerület, Fehérvári út<br>1600.45 m","V. kerület, Bihari János utca<br>333.65 m","VIII. kerület, Baross utca<br>1202.62 m","IX. kerület, Ráday utca<br>463.45 m","XIII. kerület, Népsziget út<br>788.95 m","V. kerület, Aulich utca<br>291.51 m","VII. kerület, Klauzál utca<br>359.07 m","I. kerület, Batthyány utca 65.<br>144.24 m","XIV. kerület, Városliget<br>372.16 m","V. kerület, Stollár Béla utca<br>598.99 m","XIV. kerület, Füredi utca<br>1423.11 m","V. kerület, Türr István utca<br>156.85 m","V. kerület, Türr István utca<br>156.85 m","XI. kerület, Fehérvári út<br>1600.45 m","V. kerület, Falk Miksa utca<br>505.09 m","II. kerület, Törökvész<br>2371.04 m","II. kerület, Rómer Flóris utca<br>964.8 m","IX. kerület, Boráros tér<br>659.47 m","IX. kerület, Mátyás utca<br>365.57 m","IX. kerület, Mátyás utca<br>365.57 m","V. kerület, Alkotmány utca<br>414.12 m","XVIII. kerület, Havanna utca<br>3164.8 m","II. kerület, Felső Zöldmáli út<br>2353.82 m","XIII. kerület, Visegrádi utca 17.<br>333.79 m","V. kerület, Nádor utca 20.<br>470.23 m","XX. kerület, Vaskapu utca<br>3398.66 m","XI. kerület, Kende utca<br>406.49 m","I. kerület, Logodi utca<br>320.73 m","II. kerület, Gábor Áron utca<br>1826.02 m","XII. kerület, Városmajor utca 50B<br>739.39 m","IV. kerület, Jókai utca<br>177.45 m","V. kerület, Március 15. tér<br>363.34 m","XIII. kerület, Visegrádi utca<br>184.02 m","III. kerület, Árpád fejedelem útja<br>1764.41 m","VII. kerület, Damjanich utca<br>572.79 m","XI. kerület, Móricz Zsigmond körtér<br>129.06 m","I. kerület, Ostrom utca<br>445.56 m","IX. kerület, Ferenc körút<br>151.76 m","III. kerület, Farkastorki út<br>3239.65 m","XIV. kerület, Erzsébet királyné útja<br>332.06 m","V. kerület, Szent István körút<br>120.55 m","III. kerület, Losonc utca 13.<br>2213.89 m","III. kerület, Losonc utca 13.<br>2213.89 m","XI. kerület, Bánk bán utca 7.<br>604.83 m","VI. kerület, Szondi utca<br>426.53 m","VI. kerület, Ó utca<br>251.46 m","VII. kerület, Alpár utca<br>640.07 m","XI. kerület, Október huszonharmadika utca<br>86.75 m","II. kerület, Felhévízi utca<br>2141.43 m","VI. kerület, Jókai utca 20.<br>393.71 m","VII. kerület, Károly körút 1.<br>113.11 m","XI. kerület, Kelenhegyi lépcső<br>357.59 m","V. kerület, Szabadság tér<br>309.74 m","V. kerület, Markó utca<br>383.03 m","V. kerület, Lipótváros<br>323.87 m","XIII. kerület, Béke tér 6.<br>989.58 m","XIV. kerület, Örs vezér tere<br>487.71 m","II. kerület, Felhévíz<br>1182.39 m","XVIII. kerület, Bókay Árpád utca<br>3704.4 m","XIII. kerület, Úszódaru utca<br>624.07 m","XI. kerület, Móricz Zsigmond körtér<br>129.06 m","I. kerület, Attila út<br>361.85 m","X. kerület, Mongol utca<br>1502.22 m","IX. kerület, Erkel utca<br>259.51 m","XIV. kerület, Gyarmat utca 47.<br>1528.04 m","VIII. kerület, Baross utca 48.<br>415.47 m","XIII. kerület, Szent István körút<br>166.82 m","XI. kerület, Schweidel utca 14.<br>1684.18 m","II. kerület, Labanc út<br>2783.15 m","XIX. kerület, Iskola köz 22.<br>2093.94 m","XIII. kerület, Pannónia utca<br>429.76 m","VI. kerület, Szív utca<br>180.39 m","XVI. kerület, Orsika tér<br>3954.28 m","XI. kerület, Fadrusz utca<br>302.05 m","II. kerület, Rókushegyi lépcső<br>952.8 m","VIII. kerület, Rákóczi út<br>31.01 m","VII. kerület, Sajó utca<br>666.82 m","V. kerület, Belgrád rakpart<br>402.52 m","II. kerület, Mecset utca<br>809.73 m","XV. kerület, Huba utca 34.<br>2174.83 m","VI. kerület, Vasvári Pál utca<br>225.69 m","VI. kerület, Paulay Ede utca<br>178.5 m","XIX. kerület, Templom tér<br>1347.3 m","V. kerület, Szabadság tér<br>309.74 m","XIV. kerület, Szugló utca<br>1187.11 m","XI. kerület, Őrség utca<br>1406.76 m","V. kerület, Duna utca<br>224.04 m","XIII. kerület, Béke tér<br>1174.26 m","II. kerület, Bécsi út<br>1917.35 m","XI. kerület, Ménesi út<br>742.42 m","XV. kerület, Bethlen Gábor utca<br>1745.39 m","XIV. kerület, Columbus utca 32.<br>690.47 m","XVII. kerület, Rákoshegy<br>7064.75 m","VIII. kerület, Dobozi utca<br>638.58 m","IX. kerület, Lónyay utca<br>292.63 m","XIV. kerület, Egressy út<br>2223.9 m","XVI. kerület, Orsika tér<br>3954.28 m","XIII. kerület, Kassák Lajos utca<br>387.27 m","XIV. kerület, Angol utca<br>1708.39 m","VIII. kerület, József körút<br>273.03 m","XIII. kerület, Angyalföld - Lőportárdűlő<br>601.23 m","XI. kerület, Ménesi út<br>742.42 m","V. kerület, Ferenciek tere<br>31.29 m","V. kerület, Vigyázó Ferenc utca 4.<br>526.77 m","XXIII. kerület, Hősök tere<br>7492.93 m","XIII. kerület, Radnóti Miklós utca<br>787.67 m","V. kerület, Galamb utca<br>361.87 m","II. kerület, Frankel Leó út<br>1069.31 m","XVI. kerület, Orsika tér<br>3954.28 m","XIII. kerület, Szent István körút<br>166.82 m","I. kerület, Gellérthegy<br>825.21 m","VIII. kerület, Leonardo da Vinci utca<br>606.84 m","V. kerület, Váci utca<br>211.47 m","IX. kerület, Ráday utca<br>463.45 m","XX. kerület, Nagy Győry István köz<br>3691.37 m","XI. kerület, Szurdok utca<br>945.52 m","XIV. kerület, Ilka utca<br>986.5 m","V. kerület, József Attila utca<br>60.27 m","I. kerület, Attila út<br>361.85 m","V. kerület, Arany János utca 7.<br>491.45 m","XVII. kerület, Kaszáló utca 45.<br>8400.66 m","XII. kerület, Mártonhegy<br>2091.5 m","V. kerület, Váci utca<br>211.47 m","V. kerület, Vigyázó Ferenc utca 4.<br>526.77 m","VII. kerület, Hernád utca<br>711.93 m","X. kerület, Halom utca<br>1731.06 m","XIII. kerület, Szegedi út<br>869.03 m","XVIII. kerület, Kossuth Ferenc-telep<br>6890.23 m","X. kerület, Csilla utca<br>1219.29 m","III. kerület, Remetehegyi út<br>2908.59 m","XXII. kerület, Vörösmarty utca<br>5722.09 m","V. kerület, Bajcsy-Zsilinszky út<br>336.68 m","XIII. kerület, Danubius utca 5.<br>605.03 m","XIII. kerület, Frangepán utca 6.<br>1217.13 m","XII. kerület, Kálló esperes utca 13.<br>1740.61 m","VIII. kerület, József körút<br>273.03 m","XIII. kerület, Lőportár utca<br>536.21 m","XIV. kerület, Hungária körút 163.<br>463.08 m","III. kerület, Lajos utca 70-72.<br>1937.96 m","XII. kerület, Virányos<br>2861.67 m","XI. kerület, Bartók Béla út 95.<br>790.79 m","IX. kerület, Ráday utca 56.<br>465.02 m","II. kerület, Zöldkert út 17.<br>3120.11 m","XI. kerület, Előpatak utca<br>963.58 m","V. kerület, Petőfi Sándor utca<br>325.04 m","I. kerület, Hattyú utca 16.<br>116.69 m","IV. kerület, Labdarúgó utca<br>1501.52 m","I. kerület, Hunyadi János út<br>596.06 m","III. kerület, Sramli utca<br>4802.69 m","XIII. kerület, Dévai utca<br>375.49 m","XII. kerület, Kiss János altábornagy utca 28/B.<br>884.23 m","IV. kerület, Labdarúgó utca<br>1501.52 m","II. kerület, Frankel Leó út 21-23.<br>1089.53 m","V. kerület, Semmelweis utca<br>245.15 m","VIII. kerület, Rákóczi út 75.<br>206.28 m","VIII. kerület, József körút<br>273.03 m","IX. kerület, Távíró utca<br>274.65 m","V. kerület, Városház utca 10.<br>224.36 m","V. kerület, Lipótváros<br>323.87 m","VI. kerület, Bajza utca 68.<br>426.82 m","VI. kerület, Hajós utca<br>35.23 m","VI. kerület, Zichy Jenő utca<br>274.1 m","V. kerület, Alkotmány utca<br>414.12 m","XIII. kerület, Gidófalvy Lajos utca 4.<br>536.2 m","XIV. kerület, Ilka utca 36.<br>1182.75 m","VI. kerület, Eötvös utca<br>235.06 m","XIII. kerület, Váci út<br>354.53 m","XV. kerület, Pozsony utca<br>2157.38 m","V. kerület, József nádor tér<br>168.31 m","XIII. kerület, Pannónia utca<br>429.76 m","XIII. kerület, Röppentyű utca<br>599.18 m","XIII. kerület, Dagály utca<br>272.2 m","XX. kerület, Lázár utca<br>3687.15 m","II. kerület, Keleti Károly utca<br>597.1 m","X. kerület, Kőbányai út 45.<br>1678.74 m","XI. kerület, Vásárhelyi Pál utca<br>88.69 m","XIV. kerület, Gyarmat utca 47/a<br>1528.04 m","XI. kerület, Regős utca 10.<br>1469.52 m","VI. kerület, Szinyei Merse utca<br>363.06 m","VII. kerület, Erzsébet körút<br>478.28 m","XI. kerület, Brassó út<br>1290.32 m","XI. kerület, Előpatak utca<br>963.58 m","XIII. kerület, Váci út 14.<br>222.69 m","IV. kerület, Wolfner utca<br>585.41 m","V. kerület, Balassi Bálint utca<br>691.56 m","IX. kerület, Ipar utca<br>822.82 m","V. kerület, Október 6. utca 24.<br>365.39 m","IX. kerület, Páva utca<br>389.95 m","VI. kerület, Hajós utca<br>35.23 m","XIV. kerület, Lőcsei út 61/A<br>1508.95 m","XVI. kerület, Róbert utca<br>3075.37 m","XIV. kerület, Thököly út<br>1065.63 m","V. kerület, Mérleg utca<br>342.78 m","VI. kerület, Ó utca 36.<br>279.09 m","VII. kerület, Asbóth utca<br>207.5 m","VII. kerület, Nefelejcs utca 42.<br>524.71 m","VIII. kerület, Karácsony Sándor utca<br>774.26 m","IX. kerület, Lenhossék utca<br>319.19 m","XII. kerület, Hajnóczy József utca<br>389.84 m","VI. kerület, Eötvös utca<br>235.06 m","XIV. kerület, Báróczy utca<br>1224.84 m","VI. kerület, Jókai utca<br>207.07 m","XIX. kerület, Üllői út<br>712.01 m","IV. kerület, Erdősor út 20.<br>2295.19 m","IX. kerület, Márton utca 14/A<br>560.39 m","III. kerület, Váradi utca 26.<br>2757.27 m","XIV. kerület, Nagy Lajos király útja 210.<br>937.86 m","IX. kerület, Mester utca 85/B<br>1270.72 m","VI. kerület, Andrássy út 32.<br>210.2 m","I. kerület, Szilágyi Dezső tér<br>353.64 m","XI. kerület, Apahida utca<br>1397.91 m","XI. kerület, Homoród utca<br>1174.83 m","XIII. kerület, Úszódaru utca 6.<br>563.1 m","VI. kerület, Szív utca 44.<br>234.27 m","IX. kerület, Lenhossék utca<br>319.19 m","VIII. kerület, Fiumei út<br>143.07 m","III. kerület, Királylaki út<br>4227.04 m","II. kerület, Lipótmezei út<br>4474.76 m","I. kerület, Logodi utca 60.<br>291.42 m","XII. kerület, Zsolna utca<br>1964.01 m","XI. kerület, Éva utca 32.<br>1794.43 m","XIII. kerület, Gyermek tér 6.<br>1115.79 m","III. kerület, Óbuda-Óváros<br>1850.29 m","VII. kerület, Kazinczy utca<br>352.72 m","XIX. kerület, Bethlen Gábor utca<br>272.53 m","XIII. kerület, Gogol utca<br>224.96 m","VII. kerület, Almássy tér<br>532.71 m","XIII. kerület, Szent László út 14.<br>792.83 m","VI. kerület, Izabella utca<br>442.44 m","XIV. kerület, Fogarasi park<br>804.82 m","VIII. kerület, Tömő utca 58.<br>519.01 m","XIII. kerület, Frangepán utca 28-32.<br>1217.13 m","VIII. kerület, Rákóczi út 11.<br>127.82 m","VII. kerület, Dembinszky utca<br>756.01 m","V. kerület, Váci utca 24.<br>312.77 m","X. kerület, Száva utca<br>454.8 m","IX. kerület, Ifjúmunkás utca<br>364.39 m","XI. kerület, Alíz utca 6/a<br>1369.6 m","VI. kerület, Szinyei Merse utca<br>363.06 m","XI. kerület, Kelenhegyi lépcső<br>357.59 m","IX. kerület, Nádasdy utca 14.<br>1085.79 m","XI. kerület, Baranyai utca<br>45.44 m","VI. kerület, Rózsa utca<br>388.25 m","IV. kerület, Dugonics utca<br>800.4 m","V. kerület, Haris köz<br>219.52 m","V. kerület, Haris köz<br>219.52 m","XIII. kerület, Mór utca<br>824.5 m","XI. kerület, Bartók Béla út 16.<br>193.78 m","V. kerület, Kálmán Imre utca<br>337.36 m","VIII. kerület, Corvin sétány 1.<br>252.71 m","VIII. kerület, József körút<br>273.03 m","VI. kerület, Aradi utca<br>144.06 m","II. kerület, Pusztaszeri út 16.<br>2081.68 m","XV. kerület, Neptun utca<br>3509.47 m","V. kerület, József nádor tér 10.<br>162.45 m","XIII. kerület, Béke utca 26.<br>1088.17 m","XXII. kerület, Ady Endre út<br>2552.11 m","XVI. kerület, Újszász utca 45/B<br>4758.17 m","VII. kerület, Damjanich utca<br>572.79 m","XV. kerület, Illyés Gyula utca 6-10.<br>1969.53 m","VII. kerület, Király utca<br>282.05 m","XIV. kerület, Ilka utca<br>986.5 m","III. kerület, Nánási út<br>1565.89 m","XIII. kerület, Jászai Mari tér<br>714.28 m","X. kerület, Liget utca<br>1689.58 m","VII. kerület, Alsó erdősor 10.<br>446.06 m","VII. kerület, Barát utca<br>438.15 m","XIII. kerület, Béke tér<br>1174.26 m","V. kerület, Sas utca<br>265.84 m","IV. kerület, Anonymus utca<br>947.51 m","XI. kerület, Móricz Zsigmond körtér<br>129.06 m","XI. kerület, Haraszt utca<br>701.29 m","XIII. kerület, Katona József utca 5.<br>148.39 m","IV. kerület, Petőfi utca<br>522.46 m","XIV. kerület, Adria sétány<br>1768.16 m","XXI. kerület, Petz Ferenc utca<br>4806.48 m","II. kerület, Frankel Leó út<br>1069.31 m","VI. kerület, Bajnok utca<br>354.1 m","VIII. kerület, József körút 30.<br>88.58 m","II. kerület, Alvinci út 52.<br>1412.34 m","X. kerület, Kőbánya - Óhegy<br>1871.76 m","II. kerület, Buday László utca 5/C<br>776.99 m","XIV. kerület, Amerikai út<br>1271.03 m","V. kerület, Nyugati tér<br>113.38 m","VII. kerület, Dembinszky utca<br>756.01 m","VII. kerület, Dembinszky utca 22.<br>646.14 m","IX. kerület, Távíró utca<br>274.65 m","XI. kerület, Csíkihegyek utca<br>2006.25 m","VI. kerület, Aradi utca 63.<br>149.8 m","XVIII. kerület, Beregszász utca 7.<br>6174.03 m","XIII. kerület, Lőportár utca 9-13.<br>529.91 m","VI. kerület, Paulay Ede utca 21.<br>202.56 m","VI. kerület, Szondi utca<br>426.53 m","VIII. kerület, Práter utca 71.<br>565.2 m","XII. kerület, Nagyenyed utca<br>349.65 m","XI. kerület, Lágymányosi utca<br>249.83 m","XI. kerület, Bertalan Lajos utca<br>390.66 m","III. kerület, Szentendrei út 36.<br>2277.84 m","XV. kerület, Nyírpalota út<br>3981.48 m","XII. kerület, Beethoven utca<br>934.68 m","IX. kerület, Nádasdy utca<br>843.42 m","XI. kerület, Bánk bán utca<br>699.81 m","VIII. kerület, Bródy Sándor utca<br>372.21 m","XI. kerület, Ugron Gábor utca<br>591.61 m","VII. kerület, Kazinczy utca 6.<br>249.39 m","III. kerület, Kisdomb utca<br>5503.02 m","XI. kerület, Rákó utca<br>1765.75 m","V. kerület, Veres Pálné utca 5.<br>138.28 m","VIII. kerület, Szeszgyár utca<br>1055.73 m","VIII. kerület, Szeszgyár utca<br>1055.73 m","VIII. kerület, Népszínház utca<br>290.9 m","XVIII. kerület, Csörgőfa utca<br>6954.81 m","XI. kerület, Barázda utca<br>1695.82 m","XIII. kerület, Párkány utca<br>402.99 m","XIV. kerület, Egressy út 117.<br>620.41 m","XVI. kerület, Kövirózsa utca 8.<br>2804.41 m","XI. kerület, Eszék utca<br>189.13 m","XI. kerület, Haraszt utca<br>701.29 m","XI. kerület, Kondorosi út 10a<br>1683.41 m","XIII. kerület, Dráva utca 12.<br>283 m","VI. kerület, Szív utca<br>180.39 m","VI. kerület, Szív utca<br>180.39 m","XIV. kerület, Gyarmat utca 47.<br>1528.04 m","VII. kerület, Jósika utca<br>418.89 m","VII. kerület, Damjanich utca<br>572.79 m","V. kerület, Semmelweis utca<br>245.15 m","XIV. kerület, Örs vezér tere<br>487.71 m","XX. kerület, Pázsitos sétány<br>3411.41 m","III. kerület, Vízimolnár utca<br>2143.81 m","XII. kerület, Alkotás utca 11.<br>205.55 m","VIII. kerület, Rákóczi tér<br>29.1 m","XI. kerület, Ulászló utca 17.<br>312.05 m","IV. kerület, Vas Gereben utca<br>2716.51 m","XII. kerület, Zsolna utca<br>1964.01 m","XIV. kerület, Bagolyvár utca<br>1032.58 m","XIII. kerület, Katona József utca<br>107.8 m","XXIII. kerület, Külső Vörösmarty utca<br>5142.62 m","V. kerület, Perczel Mór utca<br>213.72 m","XIX. kerület, Corvin körút<br>957.54 m","VII. kerület, Károly körút<br>111.51 m","II. kerület, Margit körút<br>67.73 m","VI. kerület, Szív utca<br>180.39 m","XXI. kerület, Deák Ferenc utca<br>4951.26 m","XI. kerület, Tétényi út 100.<br>997.81 m","III. kerület, Bécsi út<br>3363.27 m","VII. kerület, Erzsébet körút<br>478.28 m","VII. kerület, Wesselényi utca 6.<br>227.5 m","XI. kerület, Bocskai út<br>449.15 m","V. kerület, Báthory utca<br>306.64 m","XIV. kerület, Örs vezér tere<br>487.71 m","VI. kerület, Andrássy út<br>157.51 m","I. kerület, Fő utca 40.<br>225.8 m","VI. kerület, Szinyei Merse utca 25.<br>449.65 m","XI. kerület, Kondorosi út 10.<br>1683.41 m","XII. kerület, Királyhágó utca<br>714.89 m","IV. kerület, Attila utca<br>1382.83 m","VI. kerület, Aradi utca 40.<br>191.31 m","VI. kerület, Zichy Jenő utca<br>274.1 m","XIV. kerület, Zichy Géza utca<br>1166.8 m","V. kerület, Duna utca 3.<br>219.38 m","III. kerület, Váradi utca<br>2594.95 m","II. kerület, Barlang utca<br>2158.14 m","IX. kerület, Lenhossék utca 3.<br>623.32 m","XIII. kerület, Kresz Géza utca<br>310.95 m","XVIII. kerület, Kézműves utca<br>2134.1 m","IX. kerület, Vámház körút<br>129 m","XIII. kerület, Kelén utca 2.<br>707.64 m"],null,null,{"interactive":false,"permanent":false,"direction":"auto","opacity":1,"offset":[0,0],"textsize":"10px","textOnly":false,"className":"","sticky":true},null,null]},{"method":"addLegend","args":[{"colors":["#FFFFCC","#FFF4B1","#FFE896","#FEDC7D","#FFC763","#FEAF4B","#FE9941","#FD7C36","#FC542B","#EF3622","#DD171E","#C60624","#A50026","#800026"],"labels":["0.000 &ndash; 171.939","171.939 &ndash; 250.759","250.759 &ndash; 343.076","343.076 &ndash; 385.816","385.816 &ndash; 432.170","432.170 &ndash; 618.422","618.422 &ndash; 983.403","983.403 &ndash; 1,128.554","1,128.554 &ndash; 1,263.633","1,263.633 &ndash; 1,373.028","1,373.028 &ndash; 1,563.156","1,563.156 &ndash; 2,092.171","2,092.171 &ndash; 2,824.803","2,824.803 &ndash; Inf"],"na_color":null,"na_label":"NA","opacity":0.5,"position":"bottomright","type":"bin","title":"Távolság a metrótól","extra":null,"layerId":null,"className":"info legend","group":null}]},{"method":"addMarkers","args":[[47.5195853,47.5174782,47.5142154,47.5113872,47.5092606,47.5072389,47.5049451,47.4637172,47.4658802,47.4681934,47.4708589,47.4751336,47.4785868,47.4832585,47.4852808,47.4924499,47.4966817,47.4999169,47.5022938,47.5040834,47.511236,47.5182391,47.4643298,47.4649978,47.4732151,47.4769307,47.4828961,47.4898678,47.4927304,47.4958303,47.502803,47.5011832,47.5002664,47.499596,47.494731,47.4983508,47.5057199,47.5068769,47.5077151,47.5008855,47.5490555,47.532679,47.5249055,47.5389554,47.5593306,47.5603263,47.486153,47.4968249,47.4890817,47.5002118,47.4980848,47.4977188],[19.0908328,19.0812753,19.0767759,19.0725445,19.0693504,19.0663322,19.0629388,19.1480153,19.1259189,19.1180315,19.1107643,19.0998868,19.0906275,19.0779227,19.0717478,19.0562944,19.0503341,19.0553753,19.0589493,19.0546254,19.0564883,19.0605508,19.0201331,19.0327376,19.046184,19.0474068,19.054507,19.0613318,19.0719578,19.0775339,19.1350725,19.1198882,19.1059888,19.0822564,19.0614379,19.0535905,19.0449808,19.0377837,19.0263255,19.0245985,19.0733534,19.0667774,19.0634163,19.0694521,19.0804103,19.0906475,19.0578136,19.0697552,19.061432,19.0813128,19.0543468,19.0537581],null,null,null,{"interactive":true,"draggable":false,"keyboard":true,"title":"","alt":"","zIndexOffset":0,"opacity":1,"riseOnHover":false,"riseOffset":250},["Mexikói út","Széchenyi fürdő","Hősök tere","Bajza utca","Kodály körönd","Vörösmarty utca","Oktogon","Kőbánya-Kispest","Határ út","Pöttyös utca","Ecseri út","Népliget","Nagyvárad tér","Semmelweis Klinikák","Corvin-negyed","Ferenciek tere","Vörösmarty tér","Bajcsy-Zsilinszky út","Opera","Arany János utca","Nyugati pályaudvar","Lehel tér","Kelenföld vasútállomás","Bikás park","Újbuda-központ","Móricz Zsigmond körtér","Szent Gellért tér Műegyetem","Kálvin tér","Rákóczi tér","II. János Pál pápa tér","Örs vezér tere","Pillangó utca","Puskás Ferenc Stadion","Keleti pályaudvar","Astoria","Deák Ferenc tér","Kossuth Lajos tér","Batthyány tér","Széll Kálmán tér","Déli pályaudvar","Gyöngyösi utca","Göncz Árpád városközpont","Dózsa György út","Forgách utca","Újpest-városkapu","Újpest-központ","Fővám tér","Blaha Lujza tér","Kálvin tér","Keleti pályaudvar","Deák Ferenc tér","Deák Ferenc tér"],null,null,null,null,{"interactive":false,"permanent":false,"direction":"auto","opacity":1,"offset":[0,0],"textsize":"10px","textOnly":false,"className":"","sticky":true},null]}],"limits":{"lat":[47.3966664,47.6039953],"lng":[18.9376475,19.3084049]}},"evals":[],"jsHooks":[]}</script>
<script type="application/htmlwidget-sizing" data-for="htmlwidget-99492fe0053c828e4a83">{"viewer":{"width":"100%","height":400,"padding":0,"fill":true},"browser":{"width":"100%","height":400,"padding":0,"fill":true}}</script>
</body>
</html>